All functions:
  Elements:
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/ostree/tests/libostreetest.c:32,1
    - Dst: g_assert
      Src: /src/ostree/tests/libostreetest.c:33,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/tests/libostreetest.c:37,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/tests/libostreetest.c:36,1
    - Dst: g_assert
      Src: /src/ostree/tests/libostreetest.c:34,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/tests/libostreetest.c:38,1
    - Dst: g_string_new
      Src: /src/ostree/tests/libostreetest.c:40,1
    - Dst: g_string_append
      Src: /src/ostree/tests/libostreetest.c:41,1
    - Dst: g_string_append
      Src: /src/ostree/tests/libostreetest.c:42,1
    - Dst: g_string_append
      Src: /src/ostree/tests/libostreetest.c:43,1
    - Dst: g_string_append
      Src: /src/ostree/tests/libostreetest.c:44,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/tests/libostreetest.c:46,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/tests/libostreetest.c:47,1
    - Dst: g_spawn_sync
      Src: /src/ostree/tests/libostreetest.c:50,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/tests/libostreetest.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - cmd
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 57
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 57
    functionName: ot_test_run_libtest
    functionSourceFile: /src/ostree/tests/libostreetest.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_assert
    - g_spawn_sync
    - g_getenv
    - g_ptr_array_new
    - g_spawn_check_exit_status
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_test_run_libtest (const char *cmd, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/tests/libostreetest.c:122,1
    - Dst: strlen
      Src: /src/ostree/tests/libostreetest.c:125,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/tests/libostreetest.c:132,1
    - Dst: fsetxattr
      Src: /src/ostree/tests/libostreetest.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - has_user_xattrs
    - error
    argTypes:
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: ot_check_user_xattrs
    functionSourceFile: /src/ostree/tests/libostreetest.c
    functionUses: []
    functionsReached:
    - strlen
    - fsetxattr
    - glnx_open_tmpfile_linkable_at
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_check_user_xattrs (gboolean *has_user_xattrs, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ot_test_run_libtest
      Src: /src/ostree/tests/libostreetest.c:62,1
    - Dst: ostree_repo_new
      Src: /src/ostree/tests/libostreetest.c:66,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/libostreetest.c:70,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/libostreetest.c:65,1
    - Dst: ostree_repo_open
      Src: /src/ostree/tests/libostreetest.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - cancellable
    - error
    argTypes:
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: ot_test_setup_repo
    functionSourceFile: /src/ostree/tests/libostreetest.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_steal_pointer
    - ot_test_run_libtest
    - ostree_repo_new
    - ostree_repo_open
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'OstreeRepo *ot_test_setup_repo (GCancellable *cancellable, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ot_test_run_libtest
      Src: /src/ostree/tests/libostreetest.c:142,1
    - Dst: g_string_new
      Src: /src/ostree/tests/libostreetest.c:145,1
    - Dst: ot_check_relabeling
      Src: /src/ostree/tests/libostreetest.c:148,1
    - Dst: g_print
      Src: /src/ostree/tests/libostreetest.c:152,1
    - Dst: g_string_append
      Src: /src/ostree/tests/libostreetest.c:153,1
    - Dst: g_setenv
      Src: /src/ostree/tests/libostreetest.c:157,1
    - Dst: glnx_null_throw
      Src: /src/ostree/tests/libostreetest.c:158,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/libostreetest.c:160,1
    - Dst: ostree_sysroot_new
      Src: /src/ostree/tests/libostreetest.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - cancellable
    - error
    argTypes:
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: ot_test_setup_sysroot
    functionSourceFile: /src/ostree/tests/libostreetest.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_file_new_for_path
    - glnx_null_throw
    - ostree_sysroot_new
    - ot_test_run_libtest
    - g_setenv
    - g_print
    - ot_check_relabeling
    linkageType: ''
    returnType: OstreeSysroot*
    signature: 'OstreeSysroot *ot_test_setup_sysroot (GCancellable *cancellable, GError
      **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/tests/libostreetest.c:80,1
    - Dst: glnx_fgetxattr_bytes
      Src: /src/ostree/tests/libostreetest.c:84,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/libostreetest.c:95,1
    - Dst: g_propagate_error
      Src: /src/ostree/tests/libostreetest.c:95,1
    - Dst: G_IN_SET
      Src: /src/ostree/tests/libostreetest.c:90,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/tests/libostreetest.c:100,1
    - Dst: fsetxattr
      Src: /src/ostree/tests/libostreetest.c:101,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/tests/libostreetest.c:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - can_relabel
    - error
    argTypes:
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 113
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 113
    functionName: ot_check_relabeling
    functionSourceFile: /src/ostree/tests/libostreetest.c
    functionUses: []
    functionsReached:
    - glnx_fgetxattr_bytes
    - g_bytes_get_data
    - fsetxattr
    - g_steal_pointer
    - G_IN_SET
    - glnx_open_tmpfile_linkable_at
    - glnx_throw_errno_prefix
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_check_relabeling (gboolean *can_relabel, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-rollsum.c:36,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:47,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:45,1
    - Dst: _ostree_compute_rollsum_matches
      Src: /src/ostree/tests/test-rollsum.c:42,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-rollsum.c:37,1
    - Dst: g_variant_get
      Src: /src/ostree/tests/test-rollsum.c:54,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:56,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:57,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:62,1
    - Dst: _ostree_rollsum_matches_free
      Src: /src/ostree/tests/test-rollsum.c:67,1
    - Dst: memcmp
      Src: /src/ostree/tests/test-rollsum.c:62,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - a
    - size_a
    - b
    - size_b
    - expected_match
    argTypes:
    - unsigned char*
    - gsize
    - unsigned char*
    - gsize
    - gboolean
    constantsTouched: []
    func_position:
      end: 68
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 68
    functionName: test_rollsum_helper
    functionSourceFile: /src/ostree/tests/test-rollsum.c
    functionUses: []
    functionsReached:
    - _ostree_compute_rollsum_matches
    - g_assert_cmpint
    - g_bytes_new_static
    - g_variant_get
    - _ostree_rollsum_matches_free
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void test_rollsum_helper (const unsigned char *a, gsize size_a,
      const unsigned char *b, gsize size_b, gboolean expected_match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/ostree/tests/test-rollsum.c:162,1
    - Dst: bupsplit_sum
      Src: /src/ostree/tests/test-rollsum.c:169,1
    - Dst: g_random_int_range
      Src: /src/ostree/tests/test-rollsum.c:167,1
    - Dst: bupsplit_sum
      Src: /src/ostree/tests/test-rollsum.c:171,1
    - Dst: bupsplit_sum
      Src: /src/ostree/tests/test-rollsum.c:170,1
    - Dst: bupsplit_sum
      Src: /src/ostree/tests/test-rollsum.c:173,1
    - Dst: bupsplit_sum
      Src: /src/ostree/tests/test-rollsum.c:174,1
    - Dst: bupsplit_sum
      Src: /src/ostree/tests/test-rollsum.c:175,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:178,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-rollsum.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: test_bupsplit_sum
    functionSourceFile: /src/ostree/tests/test-rollsum.c
    functionUses: []
    functionsReached:
    - bupsplit_sum
    - g_assert_cmpint
    - g_random_int_range
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_bupsplit_sum (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-rollsum.c:185,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-rollsum.c:186,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-rollsum.c:188,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-rollsum.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/ostree/tests/test-rollsum.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/ostree/tests/test-rollsum.c:76,1
    - Dst: test_rollsum_helper
      Src: /src/ostree/tests/test-rollsum.c:102,1
    - Dst: g_rand_new
      Src: /src/ostree/tests/test-rollsum.c:78,1
    - Dst: g_rand_int
      Src: /src/ostree/tests/test-rollsum.c:107,1
    - Dst: g_malloc
      Src: /src/ostree/tests/test-rollsum.c:77,1
    - Dst: test_rollsum_helper
      Src: /src/ostree/tests/test-rollsum.c:110,1
    - Dst: bupsplit_find_ofs
      Src: /src/ostree/tests/test-rollsum.c:113,1
    - Dst: bupsplit_find_ofs
      Src: /src/ostree/tests/test-rollsum.c:120,1
    - Dst: test_rollsum_helper
      Src: /src/ostree/tests/test-rollsum.c:128,1
    - Dst: bupsplit_find_ofs
      Src: /src/ostree/tests/test-rollsum.c:131,1
    - Dst: memcpy
      Src: /src/ostree/tests/test-rollsum.c:134,1
    - Dst: g_rand_int
      Src: /src/ostree/tests/test-rollsum.c:147,1
    - Dst: test_rollsum_helper
      Src: /src/ostree/tests/test-rollsum.c:144,1
    - Dst: g_rand_int
      Src: /src/ostree/tests/test-rollsum.c:141,1
    - Dst: g_rand_int
      Src: /src/ostree/tests/test-rollsum.c:152,1
    - Dst: test_rollsum_helper
      Src: /src/ostree/tests/test-rollsum.c:154,1
    - Dst: test_rollsum_helper
      Src: /src/ostree/tests/test-rollsum.c:136,1
    - Dst: g_rand_int
      Src: /src/ostree/tests/test-rollsum.c:151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 155
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 155
    functionName: test_rollsum
    functionSourceFile: /src/ostree/tests/test-rollsum.c
    functionUses: []
    functionsReached:
    - bupsplit_find_ofs
    - memcpy
    - g_rand_int
    - g_rand_new
    - test_rollsum_helper
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_rollsum (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-mutable-tree.c:39,1
    - Dst: ostree_mutable_tree_get_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:55,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-mutable-tree.c:51,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-mutable-tree.c:35,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:37,1
    - Dst: ostree_mutable_tree_get_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:51,1
    - Dst: ostree_mutable_tree_set_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:49,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:53,1
    - Dst: ostree_mutable_tree_get_metadata_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:35,1
    - Dst: ostree_mutable_tree_get_metadata_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:39,1
    - Dst: ostree_mutable_tree_ensure_dir
      Src: /src/ostree/tests/test-mutable-tree.c:44,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-mutable-tree.c:45,1
    - Dst: ostree_mutable_tree_set_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:47,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-mutable-tree.c:54,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-mutable-tree.c:33,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:44,1
    - Dst: ostree_mutable_tree_get_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:54,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:48,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-mutable-tree.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: test_metadata_checksum
    functionSourceFile: /src/ostree/tests/test-mutable-tree.c
    functionUses: []
    functionsReached:
    - ostree_mutable_tree_set_contents_checksum
    - g_assert
    - g_assert_nonnull
    - ostree_mutable_tree_set_metadata_checksum
    - g_assert_cmpstr
    - ostree_mutable_tree_get_metadata_checksum
    - ostree_mutable_tree_new
    - g_assert_null
    - ostree_mutable_tree_get_contents_checksum
    - ostree_mutable_tree_ensure_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_metadata_checksum (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-mutable-tree.c:145,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:151,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:155,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/tests/test-mutable-tree.c:151,1
    - Dst: ostree_mutable_tree_lookup
      Src: /src/ostree/tests/test-mutable-tree.c:155,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-mutable-tree.c:156,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:159,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/tests/test-mutable-tree.c:159,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:163,1
    - Dst: ostree_mutable_tree_lookup
      Src: /src/ostree/tests/test-mutable-tree.c:163,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-mutable-tree.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 166
    functionName: test_replace_file
    functionSourceFile: /src/ostree/tests/test-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpstr
    - ostree_mutable_tree_lookup
    - ostree_mutable_tree_new
    - ostree_mutable_tree_replace_file
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-mutable-tree.c:100,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:113,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:111,1
    - Dst: ot_util_path_split_validate
      Src: /src/ostree/tests/test-mutable-tree.c:111,1
    - Dst: ostree_mutable_tree_ensure_parent_dirs
      Src: /src/ostree/tests/test-mutable-tree.c:113,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:115,1
    - Dst: ostree_mutable_tree_lookup
      Src: /src/ostree/tests/test-mutable-tree.c:115,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-mutable-tree.c:117,1
    - Dst: ostree_mutable_tree_lookup
      Src: /src/ostree/tests/test-mutable-tree.c:118,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-mutable-tree.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: test_ensure_parent_dirs
    functionSourceFile: /src/ostree/tests/test-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert
    - ostree_mutable_tree_lookup
    - g_clear_error
    - ostree_mutable_tree_new
    - ot_util_path_split_validate
    - ostree_mutable_tree_ensure_parent_dirs
    linkageType: ''
    returnType: void
    signature: 'static void test_ensure_parent_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-mutable-tree.c:125,1
    - Dst: ostree_mutable_tree_lookup
      Src: /src/ostree/tests/test-mutable-tree.c:135,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:135,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:134,1
    - Dst: ostree_mutable_tree_ensure_dir
      Src: /src/ostree/tests/test-mutable-tree.c:134,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:137,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/tests/test-mutable-tree.c:137,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-mutable-tree.c:138,1
    - Dst: ostree_mutable_tree_ensure_dir
      Src: /src/ostree/tests/test-mutable-tree.c:138,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-mutable-tree.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: test_ensure_dir
    functionSourceFile: /src/ostree/tests/test-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert
    - ostree_mutable_tree_lookup
    - g_clear_error
    - ostree_mutable_tree_new
    - ostree_mutable_tree_replace_file
    - ostree_mutable_tree_ensure_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_ensure_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:74,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-mutable-tree.c:75,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:91,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-mutable-tree.c:82,1
    - Dst: ostree_mutable_tree_ensure_parent_dirs
      Src: /src/ostree/tests/test-mutable-tree.c:71,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-mutable-tree.c:80,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-mutable-tree.c:81,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:93,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:71,1
    - Dst: ostree_mutable_tree_walk
      Src: /src/ostree/tests/test-mutable-tree.c:74,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:89,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-mutable-tree.c:90,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-mutable-tree.c:92,1
    - Dst: ostree_mutable_tree_walk
      Src: /src/ostree/tests/test-mutable-tree.c:91,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-mutable-tree.c:62,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:69,1
    - Dst: ot_util_path_split_validate
      Src: /src/ostree/tests/test-mutable-tree.c:69,1
    - Dst: ostree_mutable_tree_walk
      Src: /src/ostree/tests/test-mutable-tree.c:80,1
    - Dst: ostree_mutable_tree_lookup
      Src: /src/ostree/tests/test-mutable-tree.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 95
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 95
    functionName: test_mutable_tree_walk
    functionSourceFile: /src/ostree/tests/test-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert
    - g_assert_nonnull
    - ostree_mutable_tree_walk
    - g_assert_no_error
    - ostree_mutable_tree_lookup
    - g_clear_error
    - ostree_mutable_tree_new
    - ot_util_path_split_validate
    - g_assert_null
    - ostree_mutable_tree_ensure_parent_dirs
    linkageType: ''
    returnType: void
    signature: 'static void test_mutable_tree_walk (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-mutable-tree.c:173,1
    - Dst: ostree_mutable_tree_get_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:175,1
    - Dst: ostree_mutable_tree_set_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:177,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-mutable-tree.c:178,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-mutable-tree.c:175,1
    - Dst: ostree_mutable_tree_get_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:178,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-mutable-tree.c:180,1
    - Dst: ostree_mutable_tree_ensure_dir
      Src: /src/ostree/tests/test-mutable-tree.c:180,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-mutable-tree.c:181,1
    - Dst: ostree_mutable_tree_set_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:183,1
    - Dst: ostree_mutable_tree_get_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:184,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-mutable-tree.c:185,1
    - Dst: ostree_mutable_tree_get_contents_checksum
      Src: /src/ostree/tests/test-mutable-tree.c:185,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-mutable-tree.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 186
    functionName: test_contents_checksum
    functionSourceFile: /src/ostree/tests/test-mutable-tree.c
    functionUses: []
    functionsReached:
    - ostree_mutable_tree_set_contents_checksum
    - g_assert
    - g_assert_nonnull
    - g_assert_cmpstr
    - ostree_mutable_tree_new
    - g_assert_null
    - ostree_mutable_tree_get_contents_checksum
    - ostree_mutable_tree_ensure_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_contents_checksum (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-mutable-tree.c:191,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-mutable-tree.c:194,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-mutable-tree.c:193,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-mutable-tree.c:195,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-mutable-tree.c:192,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-mutable-tree.c:196,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-mutable-tree.c:197,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-mutable-tree.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/ostree/tests/test-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_mkdtemp
      Src: /src/ostree/tests/test-repo.c:44,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:45,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: setup
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_no_error
    - glnx_mkdtemp
    linkageType: ''
    returnType: void
    signature: 'static void setup (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_create_at
      Src: /src/ostree/tests/test-repo.c:84,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:89,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo.c:91,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:88,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:86,1
    - Dst: ostree_repo_hash
      Src: /src/ostree/tests/test-repo.c:91,1
    - Dst: ostree_repo_hash
      Src: /src/ostree/tests/test-repo.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: test_repo_hash
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_assert_no_error
    - ostree_repo_create_at
    - ostree_repo_hash
    - ostree_repo_open_at
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_hash (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:123,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:131,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:135,1
    - Dst: ostree_repo_new
      Src: /src/ostree/tests/test-repo.c:138,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo.c:143,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:146,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:148,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:150,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:153,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:155,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:147,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo.c:145,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:141,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:142,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/test-repo.c:137,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:144,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:147,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:149,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:151,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:152,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:154,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:156,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:149,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:152,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/tests/test-repo.c:120,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:121,1
    - Dst: ostree_repo_create_at
      Src: /src/ostree/tests/test-repo.c:125,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/tests/test-repo.c:122,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:127,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:130,1
    - Dst: ostree_repo_create_at
      Src: /src/ostree/tests/test-repo.c:133,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo.c:142,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo.c:144,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo.c:141,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:151,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:156,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-repo.c:154,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:143,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:145,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:146,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:148,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:150,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:153,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/tests/test-repo.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 157
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 157
    functionName: test_repo_equal
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_file_new_for_path
    - g_assert_no_error
    - ostree_repo_create_at
    - ostree_repo_equal
    - ostree_repo_open_at
    - ostree_repo_new
    - g_assert_true
    - glnx_ensure_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_equal (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_create_at
      Src: /src/ostree/tests/test-repo.c:171,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:173,1
    - Dst: ostree_repo_copy_config
      Src: /src/ostree/tests/test-repo.c:181,1
    - Dst: g_key_file_remove_key
      Src: /src/ostree/tests/test-repo.c:185,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/tests/test-repo.c:186,1
    - Dst: ostree_repo_write_config
      Src: /src/ostree/tests/test-repo.c:188,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:189,1
    - Dst: ostree_repo_reload_config
      Src: /src/ostree/tests/test-repo.c:190,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:191,1
    - Dst: ostree_repo_get_min_free_space_bytes
      Src: /src/ostree/tests/test-repo.c:193,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 199
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 199
    functionName: test_repo_get_min_free_space
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_reload_config
    - g_key_file_remove_key
    - ostree_repo_write_config
    - g_assert_no_error
    - ostree_repo_copy_config
    - ostree_repo_create_at
    - g_key_file_set_string
    - ostree_repo_get_min_free_space_bytes
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_get_min_free_space (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_create_at
      Src: /src/ostree/tests/test-repo.c:265,1
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/tests/test-repo.c:271,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:267,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:272,1
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/tests/test-repo.c:276,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:277,1
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/tests/test-repo.c:280,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 282
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 282
    functionName: test_repo_autolock
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - ostree_repo_auto_lock_push
    - ostree_repo_create_at
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_autolock (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/ostree/tests/test-repo.c:331,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:338,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:334,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:337,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:335,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:339,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:340,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:341,1
    - Dst: g_test_trap_subprocess
      Src: /src/ostree/tests/test-repo.c:346,1
    - Dst: g_test_trap_assert_failed
      Src: /src/ostree/tests/test-repo.c:347,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/ostree/tests/test-repo.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 349
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 349
    functionName: test_repo_lock_double_unlock
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_lock_pop
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_assert_no_error
    - g_test_trap_subprocess
    - ostree_repo_lock_push
    - ostree_repo_open_at
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_lock_double_unlock (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/ostree/tests/test-repo.c:355,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:361,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:359,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:358,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:362,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:363,1
    - Dst: g_test_trap_subprocess
      Src: /src/ostree/tests/test-repo.c:368,1
    - Dst: g_test_trap_assert_failed
      Src: /src/ostree/tests/test-repo.c:369,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/ostree/tests/test-repo.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 372
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 372
    functionName: test_repo_lock_unlock_wrong_type
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_lock_pop
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_assert_no_error
    - g_test_trap_subprocess
    - ostree_repo_lock_push
    - ostree_repo_open_at
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_lock_unlock_wrong_type (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_yield
      Src: /src/ostree/tests/test-repo.c:468,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:471,1
    - Dst: g_thread_yield
      Src: /src/ostree/tests/test-repo.c:476,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:469,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:470,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:477,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:478,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 483
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 483
    functionName: lock_thread2
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_test_message
    - ostree_repo_lock_pop
    - g_assert_no_error
    - ostree_repo_lock_push
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer lock_thread2 (gpointer thread_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_create_at
      Src: /src/ostree/tests/test-repo.c:207,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/tests/test-repo.c:215,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/tests/test-repo.c:212,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-repo.c:213,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/tests/test-repo.c:215,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-repo.c:226,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-repo.c:244,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/tests/test-repo.c:251,1
    - Dst: ostree_repo_write_symlink
      Src: /src/ostree/tests/test-repo.c:254,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-repo.c:232,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-repo.c:234,1
    - Dst: ostree_repo_write_regfile_inline
      Src: /src/ostree/tests/test-repo.c:229,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/tests/test-repo.c:248,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo.c:256,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:209,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:223,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo.c:224,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-repo.c:247,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-repo.c:249,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/tests/test-repo.c:251,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-repo.c:253,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:255,1
    - Dst: ostree_repo_write_regfile_inline
      Src: /src/ostree/tests/test-repo.c:220,1
    - Dst: ostree_repo_write_regfile_inline
      Src: /src/ostree/tests/test-repo.c:238,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:241,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-repo.c:237,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo.c:242,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-repo.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 258
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 258
    functionName: test_write_regfile_api
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_clear_pointer
    - g_assert
    - g_assert_no_error
    - g_assert_cmpstr
    - g_variant_builder_add
    - ostree_repo_create_at
    - g_clear_error
    - ostree_repo_write_symlink
    - g_variant_builder_init
    - g_variant_ref_sink
    - ostree_repo_write_regfile_inline
    linkageType: ''
    returnType: void
    signature: 'static void test_write_regfile_api (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo.c:430,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:432,1
    - Dst: g_thread_yield
      Src: /src/ostree/tests/test-repo.c:438,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:433,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:431,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:439,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:440,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:441,1
    - Dst: g_thread_yield
      Src: /src/ostree/tests/test-repo.c:446,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:447,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:448,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:452,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:451,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:450,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 456
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 456
    functionName: lock_thread1
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_test_message
    - ostree_repo_lock_pop
    - g_assert_cmpuint
    - g_assert_no_error
    - ostree_repo_lock_push
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer lock_thread1 (gpointer thread_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:490,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:504,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:516,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-repo.c:520,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:533,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:535,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:518,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-repo.c:519,1
    - Dst: g_thread_yield
      Src: /src/ostree/tests/test-repo.c:513,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:515,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:517,1
    - Dst: g_thread_yield
      Src: /src/ostree/tests/test-repo.c:527,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:534,1
    - Dst: g_thread_new
      Src: /src/ostree/tests/test-repo.c:495,1
    - Dst: g_thread_yield
      Src: /src/ostree/tests/test-repo.c:502,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-repo.c:506,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:528,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:529,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:530,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:532,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:536,1
    - Dst: g_thread_join
      Src: /src/ostree/tests/test-repo.c:539,1
    - Dst: g_thread_join
      Src: /src/ostree/tests/test-repo.c:540,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:489,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:492,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:491,1
    - Dst: g_thread_new
      Src: /src/ostree/tests/test-repo.c:496,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:503,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-repo.c:505,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:514,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo.c:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 541
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 541
    functionName: test_repo_lock_multi_thread
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_test_message
    - ostree_repo_lock_pop
    - g_assert_no_error
    - g_clear_error
    - ostree_repo_lock_push
    - g_thread_new
    - g_thread_join
    - ostree_repo_open_at
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_lock_multi_thread (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/ostree/tests/test-repo.c:546,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:550,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:551,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:549,1
    - Dst: g_test_init
      Src: /src/ostree/tests/test-repo.c:547,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:552,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:554,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:555,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:556,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:557,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:561,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:563,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:559,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo.c:565,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-repo.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 569
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 569
    functionName: main
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_add
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_tmpdir_delete
      Src: /src/ostree/tests/test-repo.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: teardown
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - glnx_tmpdir_delete
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/ostree/tests/test-repo.c:56,1
    - Dst: ostree_repo_create_at
      Src: /src/ostree/tests/test-repo.c:59,1
    - Dst: g_key_file_set_integer
      Src: /src/ostree/tests/test-repo.c:65,1
    - Dst: ostree_repo_copy_config
      Src: /src/ostree/tests/test-repo.c:64,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:61,1
    - Dst: ostree_repo_write_config
      Src: /src/ostree/tests/test-repo.c:66,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: lock_setup
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_key_file_set_integer
    - ostree_repo_write_config
    - setup
    - g_assert_no_error
    - ostree_repo_copy_config
    - ostree_repo_create_at
    linkageType: ''
    returnType: void
    signature: 'static void lock_setup (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/ostree/tests/test-repo.c:98,1
    - Dst: ostree_repo_new
      Src: /src/ostree/tests/test-repo.c:101,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/test-repo.c:100,1
    - Dst: g_test_trap_subprocess
      Src: /src/ostree/tests/test-repo.c:108,1
    - Dst: ostree_repo_hash
      Src: /src/ostree/tests/test-repo.c:103,1
    - Dst: g_test_trap_assert_failed
      Src: /src/ostree/tests/test-repo.c:109,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/ostree/tests/test-repo.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: test_repo_hash_closed
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - ostree_repo_hash
    - ostree_repo_new
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_hash_closed (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:289,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:293,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:295,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:290,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:294,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:296,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:297,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:298,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:299,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:300,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:304,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:302,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:303,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 305
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 305
    functionName: test_repo_lock_single
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_lock_push
    - g_assert_no_error
    - ostree_repo_lock_pop
    - ostree_repo_open_at
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_lock_single (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/ostree/tests/test-repo.c:311,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:315,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:317,1
    - Dst: g_test_trap_subprocess
      Src: /src/ostree/tests/test-repo.c:322,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:314,1
    - Dst: g_test_trap_assert_failed
      Src: /src/ostree/tests/test-repo.c:323,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/ostree/tests/test-repo.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: test_repo_lock_unlock_never_locked
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_lock_pop
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_assert_no_error
    - ostree_repo_open_at
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_lock_unlock_never_locked (Fixture *fixture,
      gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-repo.c:406,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:402,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:407,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-repo.c:409,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-repo.c:408,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:383,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:390,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:391,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:400,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-repo.c:393,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:403,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:394,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:397,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:404,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-repo.c:405,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:413,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:412,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-repo.c:381,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:387,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:384,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:382,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:388,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/tests/test-repo.c:389,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-repo.c:392,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:395,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:396,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:401,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/tests/test-repo.c:410,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 414
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 414
    functionName: test_repo_lock_multi_repo
    functionSourceFile: /src/ostree/tests/test-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_lock_pop
    - g_assert_no_error
    - g_clear_error
    - ostree_repo_lock_push
    - ostree_repo_open_at
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_lock_multi_repo (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_command_line_sync
      Src: /src/ostree/tests/test-sysroot-c.c:32,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/tests/test-sysroot-c.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - cmdline
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: run_sync
    functionSourceFile: /src/ostree/tests/test-sysroot-c.c
    functionUses: []
    functionsReached:
    - g_spawn_check_exit_status
    - g_spawn_command_line_sync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean run_sync (const char *cmdline, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-sysroot-c.c:82,1
    - Dst: ot_test_setup_sysroot
      Src: /src/ostree/tests/test-sysroot-c.c:84,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-sysroot-c.c:88,1
    - Dst: g_error
      Src: /src/ostree/tests/test-sysroot-c.c:93,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-sysroot-c.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/ostree/tests/test-sysroot-c.c
    functionUses: []
    functionsReached:
    - g_test_add_data_func
    - g_error
    - g_test_run
    - g_test_init
    - ot_test_setup_sysroot
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_load
      Src: /src/ostree/tests/test-sysroot-c.c:46,1
    - Dst: ostree_sysroot_load_if_changed
      Src: /src/ostree/tests/test-sysroot-c.c:49,1
    - Dst: run_sync
      Src: /src/ostree/tests/test-sysroot-c.c:53,1
    - Dst: run_sync
      Src: /src/ostree/tests/test-sysroot-c.c:58,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-sysroot-c.c:51,1
    - Dst: ostree_sysroot_load_if_changed
      Src: /src/ostree/tests/test-sysroot-c.c:63,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-sysroot-c.c:65,1
    - Dst: ostree_sysroot_load_if_changed
      Src: /src/ostree/tests/test-sysroot-c.c:67,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-sysroot-c.c:69,1
    - Dst: g_error
      Src: /src/ostree/tests/test-sysroot-c.c:73,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: test_sysroot_reload
    functionSourceFile: /src/ostree/tests/test-sysroot-c.c
    functionUses: []
    functionsReached:
    - run_sync
    - g_assert
    - g_error
    - ostree_sysroot_load
    - ostree_sysroot_load_if_changed
    linkageType: ''
    returnType: void
    signature: 'static void test_sysroot_reload (gconstpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/ostree/tests/test-rollsum-cli.c:37,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-rollsum-cli.c:38,1
    - Dst: g_mapped_file_new
      Src: /src/ostree/tests/test-rollsum-cli.c:46,1
    - Dst: g_mapped_file_unref
      Src: /src/ostree/tests/test-rollsum-cli.c:50,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/ostree/tests/test-rollsum-cli.c:49,1
    - Dst: g_mapped_file_new
      Src: /src/ostree/tests/test-rollsum-cli.c:51,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/ostree/tests/test-rollsum-cli.c:54,1
    - Dst: g_mapped_file_unref
      Src: /src/ostree/tests/test-rollsum-cli.c:55,1
    - Dst: _ostree_compute_rollsum_matches
      Src: /src/ostree/tests/test-rollsum-cli.c:57,1
    - Dst: g_printerr
      Src: /src/ostree/tests/test-rollsum-cli.c:59,1
    - Dst: g_printerr
      Src: /src/ostree/tests/test-rollsum-cli.c:65,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/ostree/tests/test-rollsum-cli.c
    functionUses: []
    functionsReached:
    - _ostree_compute_rollsum_matches
    - g_mapped_file_get_bytes
    - g_assert
    - g_mapped_file_unref
    - g_mapped_file_new
    - g_setenv
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_to_strv
      Src: /src/ostree/tests/test-kargs.c:26,1
    - Dst: g_strv_contains
      Src: /src/ostree/tests/test-kargs.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - karg
    - string_to_find
    argTypes:
    - OstreeKernelArgs*
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: check_string_existance
    functionSourceFile: /src/ostree/tests/test-kargs.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_to_strv
    - g_strv_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_string_existance (OstreeKernelArgs *karg, const
      char *string_to_find) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-kargs.c:169,1
    - Dst: ostree_kernel_args_new_replace
      Src: /src/ostree/tests/test-kargs.c:178,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-kargs.c:181,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-kargs.c:174,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:173,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:188,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:189,1
    - Dst: ostree_kernel_args_new_replace
      Src: /src/ostree/tests/test-kargs.c:195,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:199,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:199,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:202,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:161,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:163,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:187,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-kargs.c:175,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:197,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:198,1
    - Dst: ostree_kernel_args_new_replace
      Src: /src/ostree/tests/test-kargs.c:203,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:205,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:206,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:208,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:208,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:198,1
    - Dst: cleanup
      Src: /src/ostree/tests/test-kargs.c:158,1
    - Dst: ostree_kernel_args_new_replace
      Src: /src/ostree/tests/test-kargs.c:166,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:189,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:196,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:204,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:209,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:209,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:207,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:206,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:162,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/tests/test-kargs.c:159,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:167,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-kargs.c:168,1
    - Dst: ostree_kernel_args_new_replace
      Src: /src/ostree/tests/test-kargs.c:172,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:179,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-kargs.c:180,1
    - Dst: ostree_kernel_args_new_replace
      Src: /src/ostree/tests/test-kargs.c:186,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:190,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:190,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 210
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 210
    functionName: test_kargs_replace
    functionSourceFile: /src/ostree/tests/test-kargs.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_new
    - g_assert
    - g_assert_no_error
    - ostree_kernel_args_append
    - check_string_existance
    - g_clear_error
    - cleanup
    - ostree_kernel_args_new_replace
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_kargs_replace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-kargs.c:41,1
    - Dst: _ostree_kernel_args_entry_get_key
      Src: /src/ostree/tests/test-kargs.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: kernel_args_entry_key_equal
    functionSourceFile: /src/ostree/tests/test-kargs.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - _ostree_kernel_args_entry_get_key
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean kernel_args_entry_key_equal (gconstpointer data, gconstpointer
      key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:73,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:124,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:136,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:146,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:150,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:111,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:136,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:59,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:120,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:118,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:138,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-kargs.c:74,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:68,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:84,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:103,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:91,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:97,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:133,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:125,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:134,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:53,1
    - Dst: _ostree_kernel_arg_get_key_array
      Src: /src/ostree/tests/test-kargs.c:94,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:95,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:131,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:147,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-kargs.c:62,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-kargs.c:87,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:109,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:112,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:119,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:121,1
    - Dst: cleanup
      Src: /src/ostree/tests/test-kargs.c:49,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:78,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:106,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:132,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:140,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:127,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:56,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:72,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:67,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:97,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:108,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:123,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/tests/test-kargs.c:50,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:69,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-kargs.c:86,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:114,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:144,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:60,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:103,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:123,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:66,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-kargs.c:81,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:100,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:149,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-kargs.c:61,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-kargs.c:80,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:90,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:102,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:107,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:140,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:143,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-kargs.c:75,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:85,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:127,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:150,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:117,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:139,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:52,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:69,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:92,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:114,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:149,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:126,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:135,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:54,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:109,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:130,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:148,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/tests/test-kargs.c:137,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:122,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:55,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:79,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:95,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-kargs.c:101,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:113,1
    - Dst: check_string_existance
      Src: /src/ostree/tests/test-kargs.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 116
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 151
    functionName: test_kargs_delete
    functionSourceFile: /src/ostree/tests/test-kargs.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_new
    - ot_ptr_array_find_with_equal_func
    - g_assert
    - g_assert_no_error
    - ostree_kernel_args_append
    - check_string_existance
    - g_clear_error
    - _ostree_kernel_arg_get_key_array
    - cleanup
    - g_assert_error
    - ostree_kernel_args_delete
    linkageType: ''
    returnType: void
    signature: 'static void test_kargs_delete (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-kargs.c:34,1
    - Dst: _ostree_kernel_args_entry_get_value
      Src: /src/ostree/tests/test-kargs.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - value
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: kernel_args_entry_value_equal
    functionSourceFile: /src/ostree/tests/test-kargs.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - _ostree_kernel_args_entry_get_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean kernel_args_entry_value_equal (gconstpointer data,
      gconstpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-kargs.c:283,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-kargs.c:287,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-kargs.c:286,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-kargs.c:288,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-kargs.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: main
    functionSourceFile: /src/ostree/tests/test-kargs.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:223,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:225,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:242,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:244,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:250,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:262,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:263,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:270,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:271,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:272,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:276,1
    - Dst: cleanup
      Src: /src/ostree/tests/test-kargs.c:219,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:227,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:240,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:250,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:252,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:254,1
    - Dst: ostree_kernel_args_to_strv
      Src: /src/ostree/tests/test-kargs.c:269,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:254,1
    - Dst: g_strv_contains
      Src: /src/ostree/tests/test-kargs.c:275,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:273,1
    - Dst: g_strv_contains
      Src: /src/ostree/tests/test-kargs.c:272,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:274,1
    - Dst: g_strv_contains
      Src: /src/ostree/tests/test-kargs.c:270,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:224,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/tests/test-kargs.c:220,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:226,1
    - Dst: _ostree_kernel_arg_get_kargs_table
      Src: /src/ostree/tests/test-kargs.c:233,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:238,1
    - Dst: g_str_equal
      Src: /src/ostree/tests/test-kargs.c:236,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:240,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:242,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-kargs.c:249,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:252,1
    - Dst: _ostree_kernel_arg_get_key_array
      Src: /src/ostree/tests/test-kargs.c:260,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/tests/test-kargs.c:222,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/tests/test-kargs.c:234,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:244,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/tests/test-kargs.c:238,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:261,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:263,1
    - Dst: g_strv_contains
      Src: /src/ostree/tests/test-kargs.c:274,1
    - Dst: g_strv_contains
      Src: /src/ostree/tests/test-kargs.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-kargs.c:277,1
    - Dst: g_strv_length
      Src: /src/ostree/tests/test-kargs.c:277,1
    - Dst: g_strv_contains
      Src: /src/ostree/tests/test-kargs.c:273,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-kargs.c:275,1
    - Dst: g_strv_contains
      Src: /src/ostree/tests/test-kargs.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 278
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 278
    functionName: test_kargs_append
    functionSourceFile: /src/ostree/tests/test-kargs.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_assert_cmpint
    - ostree_kernel_args_new
    - GLNX_HASH_TABLE_FOREACH_KV
    - ot_ptr_array_find_with_equal_func
    - g_assert
    - ostree_kernel_args_append
    - g_assert_cmpstr
    - _ostree_kernel_arg_get_key_array
    - ostree_kernel_args_to_strv
    - cleanup
    - g_strv_contains
    - _ostree_kernel_arg_get_kargs_table
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void test_kargs_append (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_path_split_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:36,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-ot-unix-utils.c:42,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-ot-unix-utils.c:39,1
    - Dst: strcmp
      Src: /src/ostree/tests/test-ot-unix-utils.c:42,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-ot-unix-utils.c:43,1
    - Dst: strchr
      Src: /src/ostree/tests/test-ot-unix-utils.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 47
    functionName: test_ot_util_path_split_validate
    functionSourceFile: /src/ostree/tests/test-ot-unix-utils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert
    - g_assert_null
    - ot_util_path_split_validate
    - strcmp
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void test_ot_util_path_split_validate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-ot-unix-utils.c:90,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-ot-unix-utils.c:94,1
    - Dst: ot_format_human_duration
      Src: /src/ostree/tests/test-ot-unix-utils.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: test_ot_human_duration
    functionSourceFile: /src/ostree/tests/test-ot-unix-utils.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - ot_format_human_duration
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_ot_human_duration (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-ot-unix-utils.c:103,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-ot-unix-utils.c:105,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-ot-unix-utils.c:107,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-ot-unix-utils.c:104,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-ot-unix-utils.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/ostree/tests/test-ot-unix-utils.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-ot-unix-utils.c:56,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-ot-unix-utils.c:57,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-ot-unix-utils.c:60,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-ot-unix-utils.c:61,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-ot-unix-utils.c:64,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-ot-unix-utils.c:65,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-ot-unix-utils.c:74,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:55,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:59,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:63,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:69,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:71,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-ot-unix-utils.c:73,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-ot-unix-utils.c:58,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-ot-unix-utils.c:59,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-ot-unix-utils.c:62,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-ot-unix-utils.c:69,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-ot-unix-utils.c:63,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-ot-unix-utils.c:66,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-ot-unix-utils.c:70,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-ot-unix-utils.c:72,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-ot-unix-utils.c:55,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:57,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:61,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:65,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-ot-unix-utils.c:71,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/tests/test-ot-unix-utils.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: test_ot_util_filename_validate
    functionSourceFile: /src/ostree/tests/test-ot-unix-utils.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert
    - g_assert_no_error
    - g_clear_error
    - ot_util_filename_validate
    linkageType: ''
    returnType: void
    signature: 'static void test_ot_util_filename_validate (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ot_test_setup_repo
      Src: /src/ostree/tests/test-pull-c.c:41,1
    - Dst: ot_test_run_libtest
      Src: /src/ostree/tests/test-pull-c.c:45,1
    - Dst: g_strstrip
      Src: /src/ostree/tests/test-pull-c.c:51,1
    - Dst: g_file_get_contents
      Src: /src/ostree/tests/test-pull-c.c:48,1
    - Dst: g_strconcat
      Src: /src/ostree/tests/test-pull-c.c:53,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/tests/test-pull-c.c:56,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/tests/test-pull-c.c:56,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-pull-c.c:59,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/tests/test-pull-c.c:60,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/tests/test-pull-c.c:60,1
    - Dst: ostree_repo_remote_change
      Src: /src/ostree/tests/test-pull-c.c:63,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/tests/test-pull-c.c:61,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-pull-c.c:69,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/tests/test-pull-c.c:61,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 1
    argNames:
    - td
    argTypes:
    - TestData*
    constantsTouched: []
    func_position:
      end: 70
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 70
    functionName: test_data_init
    functionSourceFile: /src/ostree/tests/test-pull-c.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - ot_test_setup_repo
    - g_variant_new_variant
    - g_assert_no_error
    - g_variant_builder_new
    - g_variant_new_boolean
    - g_variant_builder_add
    - ot_test_run_libtest
    - g_variant_ref_sink
    - g_strconcat
    - g_file_get_contents
    - g_strstrip
    - ostree_repo_remote_change
    linkageType: ''
    returnType: void
    signature: 'static void test_data_init (TestData *td) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_pull
      Src: /src/ostree/tests/test-pull-c.c:80,1
    - Dst: ostree_repo_pull
      Src: /src/ostree/tests/test-pull-c.c:84,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-pull-c.c:88,1
    - Dst: ostree_repo_pull
      Src: /src/ostree/tests/test-pull-c.c:82,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: test_pull_multi_nochange
    functionSourceFile: /src/ostree/tests/test-pull-c.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - ostree_repo_pull
    linkageType: ''
    returnType: void
    signature: 'static void test_pull_multi_nochange (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_data_init
      Src: /src/ostree/tests/test-pull-c.c:128,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-pull-c.c:133,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-pull-c.c:132,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-pull-c.c:135,1
    - Dst: g_test_init
      Src: /src/ostree/tests/test-pull-c.c:130,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-pull-c.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/ostree/tests/test-pull-c.c
    functionUses: []
    functionsReached:
    - g_test_add_data_func
    - g_clear_object
    - g_test_run
    - g_test_init
    - test_data_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_pull
      Src: /src/ostree/tests/test-pull-c.c:104,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/tests/test-pull-c.c:107,1
    - Dst: ostree_repo_pull
      Src: /src/ostree/tests/test-pull-c.c:109,1
    - Dst: ostree_repo_pull
      Src: /src/ostree/tests/test-pull-c.c:106,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-pull-c.c:108,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/tests/test-pull-c.c:110,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-pull-c.c:111,1
    - Dst: ostree_repo_pull
      Src: /src/ostree/tests/test-pull-c.c:112,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-pull-c.c:117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 118
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 118
    functionName: test_pull_multi_error_then_ok
    functionSourceFile: /src/ostree/tests/test-pull-c.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_no_error
    - g_assert_not_reached
    - ostree_repo_pull
    linkageType: ''
    returnType: void
    signature: 'static void test_pull_multi_error_then_ok (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/tests/repo-finder-mount.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: result_cb
    functionSourceFile: /src/ostree/tests/repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void result_cb (GObject *source_object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/repo-finder-mount.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: collection_ref_free0
    functionSourceFile: /src/ostree/tests/repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static void collection_ref_free0 (OstreeCollectionRef *ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/ostree/tests/repo-finder-mount.c:60,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/ostree/tests/repo-finder-mount.c:72,1
    - Dst: g_list_prepend
      Src: /src/ostree/tests/repo-finder-mount.c:75,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/tests/repo-finder-mount.c:82,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/tests/repo-finder-mount.c:92,1
    - Dst: g_print
      Src: /src/ostree/tests/repo-finder-mount.c:118,1
    - Dst: setlocale
      Src: /src/ostree/tests/repo-finder-mount.c:56,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/tests/repo-finder-mount.c:66,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/repo-finder-mount.c:68,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/repo-finder-mount.c:69,1
    - Dst: ostree_mock_mount_new
      Src: /src/ostree/tests/repo-finder-mount.c:73,1
    - Dst: ostree_repo_finder_mount_new
      Src: /src/ostree/tests/repo-finder-mount.c:78,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/tests/repo-finder-mount.c:89,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/repo-finder-mount.c:95,1
    - Dst: ostree_mock_volume_monitor_new
      Src: /src/ostree/tests/repo-finder-mount.c:77,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/repo-finder-mount.c:103,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/tests/repo-finder-mount.c:110,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/tests/repo-finder-mount.c:89,1
    - Dst: ostree_repo_finder_resolve_async
      Src: /src/ostree/tests/repo-finder-mount.c:95,1
    - Dst: ostree_repo_finder_resolve_finish
      Src: /src/ostree/tests/repo-finder-mount.c:103,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/repo-finder-mount.c:104,1
    - Dst: g_main_context_new
      Src: /src/ostree/tests/repo-finder-mount.c:65,1
    - Dst: G_MOUNT
      Src: /src/ostree/tests/repo-finder-mount.c:73,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/tests/repo-finder-mount.c:100,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/tests/repo-finder-mount.c:115,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/tests/repo-finder-mount.c:117,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/tests/repo-finder-mount.c:122,1
    - Dst: ostree_remote_get_name
      Src: /src/ostree/tests/repo-finder-mount.c:118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 125
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/ostree/tests/repo-finder-mount.c
    functionUses: []
    functionsReached:
    - ostree_remote_get_name
    - g_ptr_array_new_with_free_func
    - ostree_mock_volume_monitor_new
    - g_hash_table_iter_next
    - ostree_repo_open_at
    - g_main_context_new
    - g_file_new_for_commandline_arg
    - g_print
    - g_main_context_push_thread_default
    - ostree_mock_mount_new
    - g_ptr_array_index
    - g_assert_no_error
    - OSTREE_REPO_FINDER
    - g_list_prepend
    - ostree_collection_ref_new
    - g_hash_table_iter_init
    - g_main_context_iteration
    - g_ptr_array_add
    - ostree_repo_finder_resolve_async
    - ostree_repo_finder_mount_new
    - g_printerr
    - setlocale
    - ostree_repo_finder_resolve_finish
    - G_MOUNT
    - g_main_context_pop_thread_default
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/tests/test-checksum.c:34,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-checksum.c:47,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-checksum.c:55,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-checksum.c:63,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-checksum.c:83,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-checksum.c:34,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-checksum.c:36,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-checksum.c:48,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-checksum.c:56,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/tests/test-checksum.c:70,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-checksum.c:64,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-checksum.c:73,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-checksum.c:74,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-checksum.c:84,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/tests/test-checksum.c:43,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-checksum.c:54,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/tests/test-checksum.c:54,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-checksum.c:62,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/tests/test-checksum.c:62,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-checksum.c:80,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-checksum.c:43,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-checksum.c:37,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-checksum.c:70,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/tests/test-checksum.c:80,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 86
    functionName: test_ostree_parse_delta_name
    functionSourceFile: /src/ostree/tests/test-checksum.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_null
    - _ostree_parse_delta_name
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_ostree_parse_delta_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-checksum.c:91,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-checksum.c:92,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-checksum.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/ostree/tests/test-checksum.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read
      Src: /src/ostree/tests/test-bsdiff.c:33,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - buffer
    - length
    argTypes:
    - struct bspatch_stream*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: bzpatch_read
    functionSourceFile: /src/ostree/tests/test-bsdiff.c
    functionUses: []
    functionsReached:
    - g_input_stream_read
    linkageType: ''
    returnType: int
    signature: 'static int bzpatch_read (const struct bspatch_stream *stream, void
      *buffer, int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-bsdiff.c:97,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-bsdiff.c:99,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-bsdiff.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/ostree/tests/test-bsdiff.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/ostree/tests/test-bsdiff.c:58,1
    - Dst: g_new0
      Src: /src/ostree/tests/test-bsdiff.c:60,1
    - Dst: g_new
      Src: /src/ostree/tests/test-bsdiff.c:59,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-bsdiff.c:77,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/ostree/tests/test-bsdiff.c:61,1
    - Dst: bsdiff
      Src: /src/ostree/tests/test-bsdiff.c:77,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-bsdiff.c:79,1
    - Dst: g_output_stream_close
      Src: /src/ostree/tests/test-bsdiff.c:79,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/ostree/tests/test-bsdiff.c:83,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/ostree/tests/test-bsdiff.c:83,1
    - Dst: memcmp
      Src: /src/ostree/tests/test-bsdiff.c:91,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/tests/test-bsdiff.c:84,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-bsdiff.c:91,1
    - Dst: bspatch
      Src: /src/ostree/tests/test-bsdiff.c:89,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-bsdiff.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 92
    functionName: test_bsdiff
    functionSourceFile: /src/ostree/tests/test-bsdiff.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - bsdiff
    - bspatch
    - g_new0
    - g_assert
    - g_new
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_steal_as_bytes
    - g_memory_input_stream_new_from_bytes
    - g_output_stream_close
    - memcmp
    - g_memory_output_stream_new_resizable
    linkageType: ''
    returnType: void
    signature: 'static void test_bsdiff (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write
      Src: /src/ostree/tests/test-bsdiff.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - buffer
    - size
    argTypes:
    - struct bsdiff_stream*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: bzdiff_write
    functionSourceFile: /src/ostree/tests/test-bsdiff.c
    functionUses: []
    functionsReached:
    - g_output_stream_write
    linkageType: ''
    returnType: int
    signature: 'static int bzdiff_write (struct bsdiff_stream *stream, const void
      *buffer, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:35,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-keyfile-utils.c:37,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:39,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:35,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:39,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:41,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:43,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:43,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-keyfile-utils.c:45,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-keyfile-utils.c:47,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:48,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: test_get_boolean_with_default
    functionSourceFile: /src/ostree/tests/test-keyfile-utils.c
    functionUses: []
    functionsReached:
    - ot_keyfile_get_boolean_with_default
    - g_assert_false
    - g_assert
    - g_clear_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_get_boolean_with_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/tests/test-keyfile-utils.c:168,1
    - Dst: g_key_file_set_value
      Src: /src/ostree/tests/test-keyfile-utils.c:172,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/tests/test-keyfile-utils.c:169,1
    - Dst: g_key_file_set_value
      Src: /src/ostree/tests/test-keyfile-utils.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: fill_keyfile
    functionSourceFile: /src/ostree/tests/test-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_key_file_set_value
    - g_key_file_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void fill_keyfile (GKeyFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/ostree/tests/test-keyfile-utils.c:101,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:108,1
    - Dst: ot_keyfile_get_value_with_default_group_optional
      Src: /src/ostree/tests/test-keyfile-utils.c:109,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:121,1
    - Dst: ot_keyfile_get_value_with_default_group_optional
      Src: /src/ostree/tests/test-keyfile-utils.c:121,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:129,1
    - Dst: ot_keyfile_get_value_with_default_group_optional
      Src: /src/ostree/tests/test-keyfile-utils.c:103,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:106,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:111,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:119,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:116,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:109,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:126,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-keyfile-utils.c:128,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:105,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:103,1
    - Dst: ot_keyfile_get_value_with_default_group_optional
      Src: /src/ostree/tests/test-keyfile-utils.c:106,1
    - Dst: ot_keyfile_get_value_with_default_group_optional
      Src: /src/ostree/tests/test-keyfile-utils.c:116,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-keyfile-utils.c:118,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-keyfile-utils.c:123,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:124,1
    - Dst: g_log_set_always_fatal
      Src: /src/ostree/tests/test-keyfile-utils.c:114,1
    - Dst: ot_keyfile_get_value_with_default_group_optional
      Src: /src/ostree/tests/test-keyfile-utils.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 130
    functionName: test_get_value_with_default_group_optional
    functionSourceFile: /src/ostree/tests/test-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_log_set_always_fatal
    - g_clear_pointer
    - g_assert
    - ot_keyfile_get_value_with_default_group_optional
    - g_assert_cmpstr
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: 'static void test_get_value_with_default_group_optional (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/ostree/tests/test-keyfile-utils.c:140,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:144,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:145,1
    - Dst: g_key_file_new
      Src: /src/ostree/tests/test-keyfile-utils.c:142,1
    - Dst: ot_keyfile_copy_group
      Src: /src/ostree/tests/test-keyfile-utils.c:144,1
    - Dst: ot_keyfile_copy_group
      Src: /src/ostree/tests/test-keyfile-utils.c:145,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:146,1
    - Dst: ot_keyfile_copy_group
      Src: /src/ostree/tests/test-keyfile-utils.c:146,1
    - Dst: g_log_set_always_fatal
      Src: /src/ostree/tests/test-keyfile-utils.c:149,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-keyfile-utils.c:151,1
    - Dst: ot_keyfile_copy_group
      Src: /src/ostree/tests/test-keyfile-utils.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-keyfile-utils.c:155,1
    - Dst: g_key_file_get_value
      Src: /src/ostree/tests/test-keyfile-utils.c:160,1
    - Dst: g_strfreev
      Src: /src/ostree/tests/test-keyfile-utils.c:154,1
    - Dst: g_key_file_get_value
      Src: /src/ostree/tests/test-keyfile-utils.c:159,1
    - Dst: g_key_file_get_keys
      Src: /src/ostree/tests/test-keyfile-utils.c:154,1
    - Dst: g_key_file_get_keys
      Src: /src/ostree/tests/test-keyfile-utils.c:153,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-keyfile-utils.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: test_copy_group
    functionSourceFile: /src/ostree/tests/test-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_key_file_new
    - g_assert_cmpint
    - g_log_set_always_fatal
    - g_assert_cmpstr
    - g_key_file_get_value
    - g_strfreev
    - ot_keyfile_copy_group
    - g_assert_true
    - g_key_file_get_keys
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_group (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:69,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:86,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-keyfile-utils.c:88,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:65,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:66,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-keyfile-utils.c:83,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:84,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:77,1
    - Dst: g_log_set_always_fatal
      Src: /src/ostree/tests/test-keyfile-utils.c:74,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-keyfile-utils.c:78,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:86,1
    - Dst: g_log_set_always_fatal
      Src: /src/ostree/tests/test-keyfile-utils.c:61,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-keyfile-utils.c:63,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:64,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:68,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:70,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:81,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:81,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:89,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/tests/test-keyfile-utils.c:67,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:71,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:76,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-keyfile-utils.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 90
    functionName: test_get_value_with_default
    functionSourceFile: /src/ostree/tests/test-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_log_set_always_fatal
    - g_clear_pointer
    - g_assert
    - g_assert_cmpstr
    - ot_keyfile_get_value_with_default
    linkageType: ''
    returnType: void
    signature: 'static void test_get_value_with_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-keyfile-utils.c:192,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/tests/test-keyfile-utils.c:199,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/tests/test-keyfile-utils.c:207,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-keyfile-utils.c:184,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-keyfile-utils.c:183,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/tests/test-keyfile-utils.c:190,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-keyfile-utils.c:191,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-keyfile-utils.c:208,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-keyfile-utils.c:197,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-keyfile-utils.c:201,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-keyfile-utils.c:194,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/tests/test-keyfile-utils.c:196,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-keyfile-utils.c:203,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/tests/test-keyfile-utils.c:182,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/tests/test-keyfile-utils.c:187,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-keyfile-utils.c:188,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-keyfile-utils.c:189,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/tests/test-keyfile-utils.c:193,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-keyfile-utils.c:198,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/tests/test-keyfile-utils.c:202,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-keyfile-utils.c:200,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-keyfile-utils.c:195,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-keyfile-utils.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 209
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 209
    functionName: test_parse_tristate
    functionSourceFile: /src/ostree/tests/test-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpint
    - g_assert_no_error
    - _ostree_parse_tristate
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_tristate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-keyfile-utils.c:215,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-keyfile-utils.c:220,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-keyfile-utils.c:219,1
    - Dst: fill_keyfile
      Src: /src/ostree/tests/test-keyfile-utils.c:217,1
    - Dst: g_key_file_new
      Src: /src/ostree/tests/test-keyfile-utils.c:216,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-keyfile-utils.c:221,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-keyfile-utils.c:223,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-keyfile-utils.c:224,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-keyfile-utils.c:226,1
    - Dst: g_key_file_free
      Src: /src/ostree/tests/test-keyfile-utils.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: main
    functionSourceFile: /src/ostree/tests/test-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_test_add_func
    - g_test_run
    - g_test_init
    - fill_keyfile
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_lzma_compressor_new
      Src: /src/ostree/tests/test-lzma.c:43,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-lzma.c:49,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/ostree/tests/test-lzma.c:52,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/tests/test-lzma.c:63,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/ostree/tests/test-lzma.c:70,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/tests/test-lzma.c:61,1
    - Dst: memcmp
      Src: /src/ostree/tests/test-lzma.c:74,1
    - Dst: g_converter_input_stream_new
      Src: /src/ostree/tests/test-lzma.c:44,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-lzma.c:48,1
    - Dst: _ostree_lzma_decompressor_new
      Src: /src/ostree/tests/test-lzma.c:57,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/ostree/tests/test-lzma.c:59,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/ostree/tests/test-lzma.c:73,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/tests/test-lzma.c:45,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/ostree/tests/test-lzma.c:59,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-lzma.c:70,1
    - Dst: g_converter_input_stream_new
      Src: /src/ostree/tests/test-lzma.c:62,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/ostree/tests/test-lzma.c:70,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-lzma.c:74,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/ostree/tests/test-lzma.c:34,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/ostree/tests/test-lzma.c:37,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-lzma.c:66,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-lzma.c:67,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/ostree/tests/test-lzma.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 2
    argNames:
    - data
    - data_size
    argTypes:
    - guint8*
    - gssize
    constantsTouched: []
    func_position:
      end: 76
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 76
    functionName: helper_test_compress_decompress
    functionSourceFile: /src/ostree/tests/test-lzma.c
    functionUses: []
    functionsReached:
    - g_output_stream_splice
    - g_assert_cmpint
    - g_converter_input_stream_new
    - g_memory_output_stream_get_data_size
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - G_MEMORY_OUTPUT_STREAM
    - _ostree_lzma_compressor_new
    - g_memory_output_stream_get_data
    - _ostree_lzma_decompressor_new
    - g_memory_output_stream_steal_as_bytes
    - g_memory_input_stream_new_from_bytes
    - memcmp
    - g_memory_output_stream_new_resizable
    linkageType: ''
    returnType: void
    signature: 'static void helper_test_compress_decompress (const guint8 *data, gssize
      data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/ostree/tests/test-lzma.c:99,1
    - Dst: helper_test_compress_decompress
      Src: /src/ostree/tests/test-lzma.c:103,1
    - Dst: memset
      Src: /src/ostree/tests/test-lzma.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: test_lzma_big_buffer
    functionSourceFile: /src/ostree/tests/test-lzma.c
    functionUses: []
    functionsReached:
    - memset
    - helper_test_compress_decompress
    - g_new
    linkageType: ''
    returnType: void
    signature: 'static void test_lzma_big_buffer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-lzma.c:109,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-lzma.c:110,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-lzma.c:113,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-lzma.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/ostree/tests/test-lzma.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new
      Src: /src/ostree/tests/test-lzma.c:83,1
    - Dst: helper_test_compress_decompress
      Src: /src/ostree/tests/test-lzma.c:89,1
    - Dst: helper_test_compress_decompress
      Src: /src/ostree/tests/test-lzma.c:90,1
    - Dst: helper_test_compress_decompress
      Src: /src/ostree/tests/test-lzma.c:91,1
    - Dst: g_rand_int
      Src: /src/ostree/tests/test-lzma.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: test_lzma_random
    functionSourceFile: /src/ostree/tests/test-lzma.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - helper_test_compress_decompress
    - g_rand_new
    linkageType: ''
    returnType: void
    signature: 'static void test_lzma_random (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avahi_string_list_new
      Src: /src/ostree/tests/test-repo-finder-avahi.c:135,1
    - Dst: avahi_string_list_reverse
      Src: /src/ostree/tests/test-repo-finder-avahi.c:136,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-avahi.c:139,1
    - Dst: _ostree_txt_records_parse
      Src: /src/ostree/tests/test-repo-finder-avahi.c:137,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-avahi.c:139,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-avahi.c:140,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-avahi.c:141,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-repo-finder-avahi.c:143,1
    - Dst: strlen
      Src: /src/ostree/tests/test-repo-finder-avahi.c:143,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-avahi.c:144,1
    - Dst: g_bytes_equal
      Src: /src/ostree/tests/test-repo-finder-avahi.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 145
    functionName: test_repo_finder_avahi_txt_records_duplicates
    functionSourceFile: /src/ostree/tests/test-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_equal
    - g_assert_true
    - avahi_string_list_reverse
    - g_bytes_new_static
    - g_assert_cmpuint
    - g_hash_table_size
    - g_assert_nonnull
    - _ostree_txt_records_parse
    - avahi_string_list_new
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_avahi_txt_records_duplicates (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/tests/test-repo-finder-avahi.c:167,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-repo-finder-avahi.c:177,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-avahi.c:170,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-avahi.c:165,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-repo-finder-avahi.c:167,1
    - Dst: g_bytes_equal
      Src: /src/ostree/tests/test-repo-finder-avahi.c:168,1
    - Dst: g_bytes_equal
      Src: /src/ostree/tests/test-repo-finder-avahi.c:175,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-avahi.c:163,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-avahi.c:163,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-avahi.c:166,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-avahi.c:168,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-avahi.c:177,1
    - Dst: avahi_string_list_new
      Src: /src/ostree/tests/test-repo-finder-avahi.c:159,1
    - Dst: _ostree_txt_records_parse
      Src: /src/ostree/tests/test-repo-finder-avahi.c:161,1
    - Dst: avahi_string_list_reverse
      Src: /src/ostree/tests/test-repo-finder-avahi.c:160,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-repo-finder-avahi.c:170,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-avahi.c:172,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-avahi.c:173,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-repo-finder-avahi.c:174,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-avahi.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 178
    functionName: test_repo_finder_avahi_txt_records_case_sensitivity
    functionSourceFile: /src/ostree/tests/test-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_equal
    - g_assert_true
    - avahi_string_list_reverse
    - g_bytes_new_static
    - g_assert_cmpuint
    - g_hash_table_size
    - g_assert_nonnull
    - _ostree_txt_records_parse
    - avahi_string_list_new
    - g_assert_null
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_avahi_txt_records_case_sensitivity (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_avahi_new
      Src: /src/ostree/tests/test-repo-finder-avahi.c:46,1
    - Dst: ostree_repo_finder_avahi_new
      Src: /src/ostree/tests/test-repo-finder-avahi.c:51,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-repo-finder-avahi.c:52,1
    - Dst: g_main_context_new
      Src: /src/ostree/tests/test-repo-finder-avahi.c:50,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-repo-finder-avahi.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: test_repo_finder_avahi_init
    functionSourceFile: /src/ostree/tests/test-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_main_context_new
    - ostree_repo_finder_avahi_new
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_avahi_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/ostree/tests/test-repo-finder-avahi.c:207,1
    - Dst: g_test_init
      Src: /src/ostree/tests/test-repo-finder-avahi.c:208,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-repo-finder-avahi.c:210,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-repo-finder-avahi.c:211,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-repo-finder-avahi.c:213,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-repo-finder-avahi.c:215,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-repo-finder-avahi.c:217,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-repo-finder-avahi.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: main
    functionSourceFile: /src/ostree/tests/test-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-repo-finder-avahi.c:84,1
    - Dst: _ostree_txt_records_parse
      Src: /src/ostree/tests/test-repo-finder-avahi.c:93,1
    - Dst: avahi_string_list_add_arbitrary
      Src: /src/ostree/tests/test-repo-finder-avahi.c:91,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-avahi.c:100,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo-finder-avahi.c:89,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/tests/test-repo-finder-avahi.c:100,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-avahi.c:102,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-avahi.c:102,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-avahi.c:106,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-repo-finder-avahi.c:108,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-repo-finder-avahi.c:113,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-avahi.c:109,1
    - Dst: g_bytes_equal
      Src: /src/ostree/tests/test-repo-finder-avahi.c:109,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-avahi.c:118,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-avahi.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 121
    functionName: test_repo_finder_avahi_txt_records_parse
    functionSourceFile: /src/ostree/tests/test-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_bytes_equal
    - g_bytes_new_static
    - avahi_string_list_add_arbitrary
    - g_assert_cmpuint
    - g_hash_table_size
    - g_assert_nonnull
    - _ostree_txt_records_parse
    - g_assert_null
    - G_N_ELEMENTS
    - g_assert_true
    - g_hash_table_lookup_extended
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_avahi_txt_records_parse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avahi_string_list_new
      Src: /src/ostree/tests/test-repo-finder-avahi.c:190,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-avahi.c:193,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-avahi.c:195,1
    - Dst: _ostree_txt_records_parse
      Src: /src/ostree/tests/test-repo-finder-avahi.c:191,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-avahi.c:193,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-avahi.c:196,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-repo-finder-avahi.c:197,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-avahi.c:198,1
    - Dst: g_bytes_equal
      Src: /src/ostree/tests/test-repo-finder-avahi.c:198,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-avahi.c:200,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-repo-finder-avahi.c:201,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/tests/test-repo-finder-avahi.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: test_repo_finder_avahi_txt_records_empty_and_missing
    functionSourceFile: /src/ostree/tests/test-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_bytes_equal
    - g_assert_true
    - g_bytes_new_static
    - g_assert_cmpuint
    - g_hash_table_size
    - g_assert_nonnull
    - _ostree_txt_records_parse
    - avahi_string_list_new
    - g_assert_null
    - g_hash_table_lookup
    - g_hash_table_lookup_extended
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_avahi_txt_records_empty_and_missing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: test_include_ostree_h_compiled
    functionSourceFile: /src/ostree/tests/test-include-ostree-h.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_include_ostree_h_compiled (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/ostree/tests/test-include-ostree-h.c:37,1
    - Dst: g_test_init
      Src: /src/ostree/tests/test-include-ostree-h.c:38,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-include-ostree-h.c:42,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-include-ostree-h.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/ostree/tests/test-include-ostree-h.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/tests/test-ot-opt-utils.c:34,1
    - Dst: g_string_append
      Src: /src/ostree/tests/test-ot-opt-utils.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: util_usage_error_printerr
    functionSourceFile: /src/ostree/tests/test-ot-opt-utils.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void util_usage_error_printerr (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-ot-opt-utils.c:59,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-ot-opt-utils.c:60,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-ot-opt-utils.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/ostree/tests/test-ot-opt-utils.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/tests/test-ot-opt-utils.c:42,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-ot-opt-utils.c:47,1
    - Dst: g_set_printerr_handler
      Src: /src/ostree/tests/test-ot-opt-utils.c:43,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/tests/test-ot-opt-utils.c:45,1
    - Dst: strstr
      Src: /src/ostree/tests/test-ot-opt-utils.c:47,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-ot-opt-utils.c:48,1
    - Dst: strstr
      Src: /src/ostree/tests/test-ot-opt-utils.c:48,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-ot-opt-utils.c:49,1
    - Dst: g_set_printerr_handler
      Src: /src/ostree/tests/test-ot-opt-utils.c:51,1
    - Dst: g_string_free
      Src: /src/ostree/tests/test-ot-opt-utils.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: test_ot_util_usage_error
    functionSourceFile: /src/ostree/tests/test-ot-opt-utils.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_assert_nonnull
    - g_clear_error
    - strstr
    - g_string_free
    - ot_util_usage_error
    - g_set_printerr_handler
    linkageType: ''
    returnType: void
    signature: 'static void test_ot_util_usage_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_VOLUME
      Src: /src/ostree/tests/test-mock-gio.c:167,1
    - Dst: g_object_ref
      Src: /src/ostree/tests/test-mock-gio.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: ostree_mock_volume_get_drive
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - OSTREE_MOCK_VOLUME
    linkageType: ''
    returnType: GDrive*
    signature: 'static GDrive *ostree_mock_volume_get_drive (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/tests/test-mock-gio.c:303,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-mock-gio.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - is_removable
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: ostree_mock_drive_new
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_new
    linkageType: ''
    returnType: OstreeMockDrive*
    signature: 'OstreeMockDrive *ostree_mock_drive_new (gboolean is_removable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_MOUNT
      Src: /src/ostree/tests/test-mock-gio.c:327,1
    - Dst: g_strdup
      Src: /src/ostree/tests/test-mock-gio.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: ostree_mock_mount_get_name
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_strdup
    - OSTREE_MOCK_MOUNT
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *ostree_mock_mount_get_name (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_VOLUME
      Src: /src/ostree/tests/test-mock-gio.c:174,1
    - Dst: g_object_ref
      Src: /src/ostree/tests/test-mock-gio.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: ostree_mock_volume_get_mount
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - OSTREE_MOCK_VOLUME
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *ostree_mock_volume_get_mount (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_MOUNT
      Src: /src/ostree/tests/test-mock-gio.c:334,1
    - Dst: g_object_ref
      Src: /src/ostree/tests/test-mock-gio.c:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: ostree_mock_mount_get_root
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - OSTREE_MOCK_MOUNT
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *ostree_mock_mount_get_root (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_DRIVE
      Src: /src/ostree/tests/test-mock-gio.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: ostree_mock_drive_is_removable
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - OSTREE_MOCK_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_mock_drive_is_removable (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMockVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: ostree_mock_volume_monitor_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_volume_monitor_init (OstreeMockVolumeMonitor
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/tests/test-mock-gio.c:134,1
    - Dst: g_list_copy_deep
      Src: /src/ostree/tests/test-mock-gio.c:135,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-mock-gio.c:138,1
    - Dst: g_list_copy_deep
      Src: /src/ostree/tests/test-mock-gio.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - mounts
    - volumes
    argTypes:
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: ostree_mock_volume_monitor_new
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_list_copy_deep
    - g_object_new
    linkageType: ''
    returnType: GVolumeMonitor*
    signature: 'GVolumeMonitor *ostree_mock_volume_monitor_new (GList *mounts, GList
      *volumes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMockMount*
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: ostree_mock_mount_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_mount_init (OstreeMockMount *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_VOLUME_MONITOR
      Src: /src/ostree/tests/test-mock-gio.c:90,1
    - Dst: g_list_free_full
      Src: /src/ostree/tests/test-mock-gio.c:92,1
    - Dst: g_list_free_full
      Src: /src/ostree/tests/test-mock-gio.c:95,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/tests/test-mock-gio.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: ostree_mock_volume_monitor_dispose
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - OSTREE_MOCK_VOLUME_MONITOR
    - g_list_free_full
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_volume_monitor_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_VOLUME
      Src: /src/ostree/tests/test-mock-gio.c:160,1
    - Dst: g_strdup
      Src: /src/ostree/tests/test-mock-gio.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: ostree_mock_volume_get_name
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_strdup
    - OSTREE_MOCK_VOLUME
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *ostree_mock_volume_get_name (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMockDrive*
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: ostree_mock_drive_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_drive_init (OstreeMockDrive *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_MOUNT
      Src: /src/ostree/tests/test-mock-gio.c:347,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/tests/test-mock-gio.c:352,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-mock-gio.c:350,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-mock-gio.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: ostree_mock_mount_dispose
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - G_OBJECT_CLASS
    - OSTREE_MOCK_MOUNT
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_mount_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/tests/test-mock-gio.c:104,1
    - Dst: G_VOLUME_MONITOR_CLASS
      Src: /src/ostree/tests/test-mock-gio.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeMockVolumeMonitorClass*
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: ostree_mock_volume_monitor_class_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - G_VOLUME_MONITOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_volume_monitor_class_init (OstreeMockVolumeMonitorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMockVolume*
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: ostree_mock_volume_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_volume_init (OstreeMockVolume *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/tests/test-mock-gio.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeMockVolumeClass*
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: ostree_mock_volume_class_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_volume_class_init (OstreeMockVolumeClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeMockDriveClass*
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: ostree_mock_drive_class_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_drive_class_init (OstreeMockDriveClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/tests/test-mock-gio.c:390,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-mock-gio.c:394,1
    - Dst: g_strdup
      Src: /src/ostree/tests/test-mock-gio.c:391,1
    - Dst: g_object_ref
      Src: /src/ostree/tests/test-mock-gio.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - name
    - root
    argTypes:
    - gchar*
    - GFile*
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: ostree_mock_mount_new
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_steal_pointer
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: OstreeMockMount*
    signature: 'OstreeMockMount *ostree_mock_mount_new (const gchar *name, GFile *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_VOLUME
      Src: /src/ostree/tests/test-mock-gio.c:187,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-mock-gio.c:191,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-mock-gio.c:190,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-mock-gio.c:189,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/tests/test-mock-gio.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: ostree_mock_volume_dispose
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - OSTREE_MOCK_VOLUME
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_volume_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GVolumeIface*
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: ostree_mock_volume_iface_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_volume_iface_init (GVolumeIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/tests/test-mock-gio.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDriveIface*
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: ostree_mock_drive_iface_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - GLIB_CHECK_VERSION
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_drive_iface_init (GDriveIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_VOLUME_MONITOR
      Src: /src/ostree/tests/test-mock-gio.c:70,1
    - Dst: g_list_copy_deep
      Src: /src/ostree/tests/test-mock-gio.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: ostree_mock_volume_monitor_get_mounts
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - OSTREE_MOCK_VOLUME_MONITOR
    - g_list_copy_deep
    linkageType: ''
    returnType: GList*
    signature: 'static GList *ostree_mock_volume_monitor_get_mounts (GVolumeMonitor
      *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/tests/test-mock-gio.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeMockMountClass*
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: ostree_mock_mount_class_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_mount_class_init (OstreeMockMountClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MOCK_VOLUME_MONITOR
      Src: /src/ostree/tests/test-mock-gio.c:77,1
    - Dst: g_list_copy_deep
      Src: /src/ostree/tests/test-mock-gio.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: ostree_mock_volume_monitor_get_volumes
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - OSTREE_MOCK_VOLUME_MONITOR
    - g_list_copy_deep
    linkageType: ''
    returnType: GList*
    signature: 'static GList *ostree_mock_volume_monitor_get_volumes (GVolumeMonitor
      *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GMountIface*
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: ostree_mock_mount_iface_init
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mock_mount_iface_init (GMountIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/tests/test-mock-gio.c:236,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-mock-gio.c:241,1
    - Dst: g_object_ref
      Src: /src/ostree/tests/test-mock-gio.c:239,1
    - Dst: g_object_ref
      Src: /src/ostree/tests/test-mock-gio.c:238,1
    - Dst: g_strdup
      Src: /src/ostree/tests/test-mock-gio.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - name
    - drive
    - mount
    argTypes:
    - gchar*
    - GDrive*
    - GMount*
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: ostree_mock_volume_new
    functionSourceFile: /src/ostree/tests/test-mock-gio.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_steal_pointer
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: OstreeMockVolume*
    signature: 'OstreeMockVolume *ostree_mock_volume_new (const gchar *name, GDrive
      *drive, GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/ostree/tests/test-libarchive-import.c:53,1
    - Dst: archive_entry_set_uid
      Src: /src/ostree/tests/test-libarchive-import.c:73,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:76,1
    - Dst: archive_write_header
      Src: /src/ostree/tests/test-libarchive-import.c:76,1
    - Dst: archive_entry_xattr_add_entry
      Src: /src/ostree/tests/test-libarchive-import.c:96,1
    - Dst: archive_entry_set_uid
      Src: /src/ostree/tests/test-libarchive-import.c:114,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:121,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:131,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:60,1
    - Dst: archive_entry_new
      Src: /src/ostree/tests/test-libarchive-import.c:62,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:67,1
    - Dst: archive_entry_set_uid
      Src: /src/ostree/tests/test-libarchive-import.c:83,1
    - Dst: archive_entry_set_size
      Src: /src/ostree/tests/test-libarchive-import.c:95,1
    - Dst: archive_entry_free
      Src: /src/ostree/tests/test-libarchive-import.c:119,1
    - Dst: archive_entry_new
      Src: /src/ostree/tests/test-libarchive-import.c:90,1
    - Dst: archive_write_header
      Src: /src/ostree/tests/test-libarchive-import.c:117,1
    - Dst: archive_entry_set_mode
      Src: /src/ostree/tests/test-libarchive-import.c:82,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:87,1
    - Dst: archive_entry_free
      Src: /src/ostree/tests/test-libarchive-import.c:101,1
    - Dst: archive_entry_set_uid
      Src: /src/ostree/tests/test-libarchive-import.c:106,1
    - Dst: archive_write_open_fd
      Src: /src/ostree/tests/test-libarchive-import.c:133,1
    - Dst: archive_entry_set_pathname
      Src: /src/ostree/tests/test-libarchive-import.c:91,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:117,1
    - Dst: archive_entry_free
      Src: /src/ostree/tests/test-libarchive-import.c:78,1
    - Dst: archive_entry_set_devminor
      Src: /src/ostree/tests/test-libarchive-import.c:86,1
    - Dst: archive_entry_set_uid
      Src: /src/ostree/tests/test-libarchive-import.c:93,1
    - Dst: getuid
      Src: /src/ostree/tests/test-libarchive-import.c:46,1
    - Dst: archive_entry_free
      Src: /src/ostree/tests/test-libarchive-import.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:133,1
    - Dst: g_propagate_prefixed_error
      Src: /src/ostree/tests/test-libarchive-import.c:146,1
    - Dst: archive_write_set_format_pax
      Src: /src/ostree/tests/test-libarchive-import.c:58,1
    - Dst: archive_entry_xattr_add_entry
      Src: /src/ostree/tests/test-libarchive-import.c:97,1
    - Dst: archive_entry_set_pathname
      Src: /src/ostree/tests/test-libarchive-import.c:104,1
    - Dst: archive_entry_set_size
      Src: /src/ostree/tests/test-libarchive-import.c:116,1
    - Dst: getgid
      Src: /src/ostree/tests/test-libarchive-import.c:47,1
    - Dst: archive_entry_set_devmajor
      Src: /src/ostree/tests/test-libarchive-import.c:85,1
    - Dst: archive_write_set_format_pax
      Src: /src/ostree/tests/test-libarchive-import.c:131,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:134,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:140,1
    - Dst: ostree_repo_create
      Src: /src/ostree/tests/test-libarchive-import.c:142,1
    - Dst: archive_write_header
      Src: /src/ostree/tests/test-libarchive-import.c:108,1
    - Dst: openat
      Src: /src/ostree/tests/test-libarchive-import.c:52,1
    - Dst: archive_entry_new
      Src: /src/ostree/tests/test-libarchive-import.c:70,1
    - Dst: archive_entry_set_size
      Src: /src/ostree/tests/test-libarchive-import.c:75,1
    - Dst: archive_entry_free
      Src: /src/ostree/tests/test-libarchive-import.c:109,1
    - Dst: archive_entry_xattr_add_entry
      Src: /src/ostree/tests/test-libarchive-import.c:98,1
    - Dst: archive_entry_free
      Src: /src/ostree/tests/test-libarchive-import.c:88,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:58,1
    - Dst: archive_entry_set_pathname
      Src: /src/ostree/tests/test-libarchive-import.c:63,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:56,1
    - Dst: archive_write_header
      Src: /src/ostree/tests/test-libarchive-import.c:87,1
    - Dst: archive_write_new
      Src: /src/ostree/tests/test-libarchive-import.c:128,1
    - Dst: archive_write_data
      Src: /src/ostree/tests/test-libarchive-import.c:77,1
    - Dst: archive_entry_new
      Src: /src/ostree/tests/test-libarchive-import.c:80,1
    - Dst: archive_entry_set_gid
      Src: /src/ostree/tests/test-libarchive-import.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:99,1
    - Dst: archive_write_data
      Src: /src/ostree/tests/test-libarchive-import.c:118,1
    - Dst: archive_write_header
      Src: /src/ostree/tests/test-libarchive-import.c:99,1
    - Dst: archive_entry_set_mode
      Src: /src/ostree/tests/test-libarchive-import.c:105,1
    - Dst: archive_write_close
      Src: /src/ostree/tests/test-libarchive-import.c:121,1
    - Dst: openat
      Src: /src/ostree/tests/test-libarchive-import.c:123,1
    - Dst: unlink
      Src: /src/ostree/tests/test-libarchive-import.c:125,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:129,1
    - Dst: ostree_repo_new
      Src: /src/ostree/tests/test-libarchive-import.c:138,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-libarchive-import.c:146,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:100,1
    - Dst: archive_entry_set_pathname
      Src: /src/ostree/tests/test-libarchive-import.c:112,1
    - Dst: archive_entry_set_pathname
      Src: /src/ostree/tests/test-libarchive-import.c:71,1
    - Dst: archive_entry_set_gid
      Src: /src/ostree/tests/test-libarchive-import.c:94,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:77,1
    - Dst: archive_entry_set_mode
      Src: /src/ostree/tests/test-libarchive-import.c:92,1
    - Dst: archive_entry_set_pathname
      Src: /src/ostree/tests/test-libarchive-import.c:81,1
    - Dst: g_mkdtemp
      Src: /src/ostree/tests/test-libarchive-import.c:49,1
    - Dst: archive_entry_set_gid
      Src: /src/ostree/tests/test-libarchive-import.c:66,1
    - Dst: archive_write_data
      Src: /src/ostree/tests/test-libarchive-import.c:100,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:124,1
    - Dst: archive_write_free
      Src: /src/ostree/tests/test-libarchive-import.c:127,1
    - Dst: mkdir
      Src: /src/ostree/tests/test-libarchive-import.c:140,1
    - Dst: archive_write_new
      Src: /src/ostree/tests/test-libarchive-import.c:44,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:50,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:55,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:132,1
    - Dst: archive_entry_set_mode
      Src: /src/ostree/tests/test-libarchive-import.c:113,1
    - Dst: g_strdup
      Src: /src/ostree/tests/test-libarchive-import.c:49,1
    - Dst: archive_entry_set_uid
      Src: /src/ostree/tests/test-libarchive-import.c:65,1
    - Dst: archive_entry_set_mode
      Src: /src/ostree/tests/test-libarchive-import.c:72,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:108,1
    - Dst: archive_write_close
      Src: /src/ostree/tests/test-libarchive-import.c:134,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:59,1
    - Dst: archive_entry_set_mode
      Src: /src/ostree/tests/test-libarchive-import.c:64,1
    - Dst: archive_entry_set_gid
      Src: /src/ostree/tests/test-libarchive-import.c:74,1
    - Dst: archive_entry_set_gid
      Src: /src/ostree/tests/test-libarchive-import.c:115,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:127,1
    - Dst: archive_write_add_filter_gzip
      Src: /src/ostree/tests/test-libarchive-import.c:132,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/test-libarchive-import.c:137,1
    - Dst: archive_entry_new
      Src: /src/ostree/tests/test-libarchive-import.c:111,1
    - Dst: archive_entry_set_gid
      Src: /src/ostree/tests/test-libarchive-import.c:84,1
    - Dst: archive_entry_new
      Src: /src/ostree/tests/test-libarchive-import.c:103,1
    - Dst: chdir
      Src: /src/ostree/tests/test-libarchive-import.c:50,1
    - Dst: archive_write_add_filter_gzip
      Src: /src/ostree/tests/test-libarchive-import.c:59,1
    - Dst: archive_write_open_fd
      Src: /src/ostree/tests/test-libarchive-import.c:60,1
    - Dst: archive_write_header
      Src: /src/ostree/tests/test-libarchive-import.c:67,1
    - Dst: g_error_matches
      Src: /src/ostree/tests/test-libarchive-import.c:145,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 132
    argCount: 1
    argNames:
    - td
    argTypes:
    - TestData*
    constantsTouched: []
    func_position:
      end: 151
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 151
    functionName: test_data_init
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - archive_entry_set_pathname
    - archive_write_new
    - archive_write_free
    - g_steal_pointer
    - archive_write_data
    - archive_entry_set_mode
    - mkdir
    - archive_entry_new
    - getgid
    - g_assert_cmpint
    - g_error_matches
    - getuid
    - archive_write_set_format_pax
    - archive_write_header
    - ostree_repo_create
    - archive_entry_free
    - archive_entry_set_uid
    - archive_entry_xattr_add_entry
    - unlink
    - g_file_new_for_path
    - archive_entry_set_devmajor
    - g_assert_no_error
    - archive_write_open_fd
    - archive_write_add_filter_gzip
    - ostree_repo_new
    - archive_entry_set_size
    - archive_write_close
    - g_propagate_prefixed_error
    - openat
    - g_strdup
    - g_assert
    - g_mkdtemp
    - archive_entry_set_devminor
    - chdir
    - archive_entry_set_gid
    linkageType: ''
    returnType: void
    signature: 'static void test_data_init (TestData *td) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:167,1
    - Dst: archive_read_support_format_all
      Src: /src/ostree/tests/test-libarchive-import.c:168,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:169,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:168,1
    - Dst: lseek
      Src: /src/ostree/tests/test-libarchive-import.c:167,1
    - Dst: archive_read_support_filter_all
      Src: /src/ostree/tests/test-libarchive-import.c:169,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:170,1
    - Dst: archive_read_open_fd
      Src: /src/ostree/tests/test-libarchive-import.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - a
    argTypes:
    - int
    - struct archive*
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: test_archive_setup
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - archive_read_support_format_all
    - g_assert_cmpint
    - lseek
    - archive_read_open_fd
    - archive_read_support_filter_all
    linkageType: ''
    returnType: void
    signature: 'static void test_archive_setup (int fd, struct archive *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:202,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:216,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-libarchive-import.c:206,1
    - Dst: ostree_repo_import_archive_to_mtree
      Src: /src/ostree/tests/test-libarchive-import.c:218,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:210,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:219,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:220,1
    - Dst: ostree_mutable_tree_get_metadata_checksum
      Src: /src/ostree/tests/test-libarchive-import.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 221
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 221
    functionName: test_libarchive_autocreate_empty
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_test_skip
    - test_archive_setup
    - ostree_mutable_tree_get_metadata_checksum
    - ostree_mutable_tree_new
    - archive_read_new
    - ostree_repo_import_archive_to_mtree
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_autocreate_empty (gconstpointer data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:297,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:311,1
    - Dst: skip_if_no_xattr
      Src: /src/ostree/tests/test-libarchive-import.c:302,1
    - Dst: import_write_and_ref
      Src: /src/ostree/tests/test-libarchive-import.c:315,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:307,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:319,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:322,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:325,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:328,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/tests/test-libarchive-import.c:329,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-libarchive-import.c:331,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:334,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:330,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 335
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 335
    functionName: test_libarchive_ignore_device_file
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - spawn_cmdline
    - g_assert
    - g_assert_no_error
    - g_assert_not_reached
    - g_test_skip
    - import_write_and_ref
    - g_clear_error
    - test_archive_setup
    - skip_if_no_xattr
    - archive_read_new
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_ignore_device_file (gconstpointer data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:413,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:423,1
    - Dst: ostree_repo_commit_modifier_set_xattr_callback
      Src: /src/ostree/tests/test-libarchive-import.c:428,1
    - Dst: ostree_repo_commit_modifier_new
      Src: /src/ostree/tests/test-libarchive-import.c:427,1
    - Dst: skip_if_no_xattr
      Src: /src/ostree/tests/test-libarchive-import.c:418,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:430,1
    - Dst: import_write_and_ref
      Src: /src/ostree/tests/test-libarchive-import.c:434,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:438,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:441,1
    - Dst: getxattr
      Src: /src/ostree/tests/test-libarchive-import.c:441,1
    - Dst: getxattr
      Src: /src/ostree/tests/test-libarchive-import.c:444,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-libarchive-import.c:450,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:453,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:442,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/tests/test-libarchive-import.c:446,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 454
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 454
    functionName: test_libarchive_xattr_callback
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - spawn_cmdline
    - ostree_repo_commit_modifier_set_xattr_callback
    - g_assert_cmpint
    - getxattr
    - g_assert_no_error
    - g_assert_cmpstr
    - g_test_skip
    - import_write_and_ref
    - test_archive_setup
    - skip_if_no_xattr
    - archive_read_new
    - ostree_repo_commit_modifier_new
    - glnx_set_prefix_error_from_errno
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_xattr_callback (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entry_pathname_test_helper
      Src: /src/ostree/tests/test-libarchive-import.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: test_libarchive_use_entry_pathname
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - entry_pathname_test_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_use_entry_pathname (gconstpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_command_line_sync
      Src: /src/ostree/tests/test-libarchive-import.c:157,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/tests/test-libarchive-import.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - cmd
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: spawn_cmdline
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - g_spawn_check_exit_status
    - g_spawn_command_line_sync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean spawn_cmdline (const char *cmd, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:178,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-libarchive-import.c:182,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:186,1
    - Dst: ostree_repo_import_archive_to_mtree
      Src: /src/ostree/tests/test-libarchive-import.c:192,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:190,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:193,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:194,1
    - Dst: ostree_mutable_tree_get_metadata_checksum
      Src: /src/ostree/tests/test-libarchive-import.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: test_libarchive_noautocreate_empty
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_test_skip
    - test_archive_setup
    - ostree_mutable_tree_get_metadata_checksum
    - ostree_mutable_tree_new
    - archive_read_new
    - ostree_repo_import_archive_to_mtree
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_noautocreate_empty (gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:228,1
    - Dst: ostree_repo_import_archive_to_mtree
      Src: /src/ostree/tests/test-libarchive-import.c:242,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:236,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-libarchive-import.c:232,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:240,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:243,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-libarchive-import.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: test_libarchive_error_device_file
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_skip
    - g_clear_error
    - test_archive_setup
    - ostree_mutable_tree_new
    - archive_read_new
    - ostree_repo_import_archive_to_mtree
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_error_device_file (gconstpointer data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:340,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:343,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/tests/test-libarchive-import.c:350,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:349,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:346,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:351,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-libarchive-import.c:352,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:354,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/tests/test-libarchive-import.c:355,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:356,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-libarchive-import.c:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 360
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 360
    functionName: check_ostree_convention
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - g_assert
    - spawn_cmdline
    - g_assert_not_reached
    - g_clear_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_ostree_convention (GError *error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:461,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:470,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:474,1
    - Dst: skip_if_no_xattr
      Src: /src/ostree/tests/test-libarchive-import.c:465,1
    - Dst: import_write_and_ref
      Src: /src/ostree/tests/test-libarchive-import.c:478,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:482,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:485,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:486,1
    - Dst: getxattr
      Src: /src/ostree/tests/test-libarchive-import.c:488,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:489,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-libarchive-import.c:497,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:493,1
    - Dst: getxattr
      Src: /src/ostree/tests/test-libarchive-import.c:495,1
    - Dst: memcmp
      Src: /src/ostree/tests/test-libarchive-import.c:497,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:496,1
    - Dst: getxattr
      Src: /src/ostree/tests/test-libarchive-import.c:492,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-libarchive-import.c:490,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:500,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 501
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 501
    functionName: test_libarchive_xattr_import
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - spawn_cmdline
    - g_assert_cmpint
    - getxattr
    - g_assert
    - g_assert_no_error
    - g_assert_cmpstr
    - g_test_skip
    - import_write_and_ref
    - test_archive_setup
    - skip_if_no_xattr
    - archive_read_new
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_xattr_import (gconstpointer data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/ostree/tests/test-libarchive-import.c:633,1
    - Dst: skip_if_no_xattr
      Src: /src/ostree/tests/test-libarchive-import.c:629,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:642,1
    - Dst: ostree_sepolicy_new
      Src: /src/ostree/tests/test-libarchive-import.c:649,1
    - Dst: ostree_sepolicy_get_name
      Src: /src/ostree/tests/test-libarchive-import.c:652,1
    - Dst: ostree_repo_commit_modifier_set_sepolicy
      Src: /src/ostree/tests/test-libarchive-import.c:659,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:661,1
    - Dst: g_file_test
      Src: /src/ostree/tests/test-libarchive-import.c:632,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:682,1
    - Dst: getenv
      Src: /src/ostree/tests/test-libarchive-import.c:632,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/test-libarchive-import.c:647,1
    - Dst: import_write_and_ref
      Src: /src/ostree/tests/test-libarchive-import.c:665,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-libarchive-import.c:679,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:654,1
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:623,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:636,1
    - Dst: getxattr
      Src: /src/ostree/tests/test-libarchive-import.c:672,1
    - Dst: ostree_repo_commit_modifier_new
      Src: /src/ostree/tests/test-libarchive-import.c:658,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/tests/test-libarchive-import.c:674,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:669,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 683
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 683
    functionName: test_libarchive_selinux
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - spawn_cmdline
    - g_file_new_for_path
    - getxattr
    - ostree_repo_commit_modifier_set_sepolicy
    - g_assert_no_error
    - ostree_sepolicy_get_name
    - g_assert_cmpstr
    - g_test_skip
    - import_write_and_ref
    - test_archive_setup
    - g_file_test
    - skip_if_no_xattr
    - ostree_sepolicy_new
    - ostree_repo_commit_modifier_new
    - archive_read_new
    - getenv
    - glnx_set_prefix_error_from_errno
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_selinux (gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_data_init
      Src: /src/ostree/tests/test-libarchive-import.c:693,1
    - Dst: g_test_init
      Src: /src/ostree/tests/test-libarchive-import.c:695,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:699,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:698,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:697,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:700,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:701,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:702,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:703,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:705,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:706,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-libarchive-import.c:711,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-libarchive-import.c:713,1
    - Dst: g_getenv
      Src: /src/ostree/tests/test-libarchive-import.c:714,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/tests/test-libarchive-import.c:715,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:709,1
    - Dst: g_free
      Src: /src/ostree/tests/test-libarchive-import.c:716,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-libarchive-import.c:708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 718
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 718
    functionName: main
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_add_data_func
    - g_clear_object
    - g_test_run
    - g_test_init
    - g_getenv
    - glnx_shutil_rm_rf_at
    - test_data_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:367,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:381,1
    - Dst: import_write_and_ref
      Src: /src/ostree/tests/test-libarchive-import.c:387,1
    - Dst: skip_if_no_xattr
      Src: /src/ostree/tests/test-libarchive-import.c:372,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:377,1
    - Dst: check_ostree_convention
      Src: /src/ostree/tests/test-libarchive-import.c:390,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 395
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 395
    functionName: test_libarchive_ostree_convention
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_test_skip
    - import_write_and_ref
    - test_archive_setup
    - skip_if_no_xattr
    - archive_read_new
    - check_ostree_convention
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_ostree_convention (gconstpointer data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:554,1
    - Dst: ostree_repo_commit_modifier_new
      Src: /src/ostree/tests/test-libarchive-import.c:570,1
    - Dst: skip_if_no_xattr
      Src: /src/ostree/tests/test-libarchive-import.c:561,1
    - Dst: ostree_repo_commit_modifier_set_xattr_callback
      Src: /src/ostree/tests/test-libarchive-import.c:571,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:566,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:573,1
    - Dst: import_write_and_ref
      Src: /src/ostree/tests/test-libarchive-import.c:580,1
    - Dst: check_ostree_convention
      Src: /src/ostree/tests/test-libarchive-import.c:584,1
    - Dst: g_set_error_literal
      Src: /src/ostree/tests/test-libarchive-import.c:589,1
    - Dst: g_set_error_literal
      Src: /src/ostree/tests/test-libarchive-import.c:596,1
    - Dst: ostree_repo_commit_modifier_unref
      Src: /src/ostree/tests/test-libarchive-import.c:601,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:603,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 2
    argNames:
    - data
    - 'on'
    argTypes:
    - gconstpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 604
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 604
    functionName: entry_pathname_test_helper
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - ostree_repo_commit_modifier_set_xattr_callback
    - ostree_repo_commit_modifier_unref
    - g_assert_no_error
    - g_test_skip
    - import_write_and_ref
    - test_archive_setup
    - skip_if_no_xattr
    - archive_read_new
    - ostree_repo_commit_modifier_new
    - g_set_error_literal
    - check_ostree_convention
    linkageType: ''
    returnType: void
    signature: 'static void entry_pathname_test_helper (gconstpointer data, gboolean
      on) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/ostree/tests/test-libarchive-import.c:401,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-libarchive-import.c:403,1
    - Dst: strcmp
      Src: /src/ostree/tests/test-libarchive-import.c:402,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/tests/test-libarchive-import.c:404,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/tests/test-libarchive-import.c:403,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/tests/test-libarchive-import.c:405,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/tests/test-libarchive-import.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - repo
    - path
    - file_info
    - user_data
    argTypes:
    - OstreeRepo*
    - char*
    - GFileInfo*
    - gpointer
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: xattr_cb
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_builder_add
    - g_variant_new_bytestring
    - g_variant_builder_init
    - strcmp
    - g_variant_ref_sink
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *xattr_cb (OstreeRepo *repo, const char *path, GFileInfo
      *file_info, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entry_pathname_test_helper
      Src: /src/ostree/tests/test-libarchive-import.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: test_libarchive_no_use_entry_pathname
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - entry_pathname_test_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_no_use_entry_pathname (gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setxattr
      Src: /src/ostree/tests/test-libarchive-import.c:251,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:256,1
    - Dst: g_strerror
      Src: /src/ostree/tests/test-libarchive-import.c:255,1
    - Dst: g_strdup_printf
      Src: /src/ostree/tests/test-libarchive-import.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - td
    argTypes:
    - TestData*
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: skip_if_no_xattr
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strerror
    - setxattr
    - g_test_skip
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean skip_if_no_xattr (TestData *td) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-libarchive-import.c:267,1
    - Dst: ostree_repo_prepare_transaction
      Src: /src/ostree/tests/test-libarchive-import.c:269,1
    - Dst: ostree_repo_write_commit
      Src: /src/ostree/tests/test-libarchive-import.c:280,1
    - Dst: ostree_repo_import_archive_to_mtree
      Src: /src/ostree/tests/test-libarchive-import.c:272,1
    - Dst: ostree_repo_write_mtree
      Src: /src/ostree/tests/test-libarchive-import.c:276,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/tests/test-libarchive-import.c:280,1
    - Dst: ostree_repo_transaction_set_ref
      Src: /src/ostree/tests/test-libarchive-import.c:284,1
    - Dst: ostree_repo_commit_transaction
      Src: /src/ostree/tests/test-libarchive-import.c:286,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    argCount: 6
    argNames:
    - repo
    - opts
    - a
    - ref
    - modifier
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoImportArchiveOptions*
    - struct archive*
    - char*
    - OstreeRepoCommitModifier*
    - GError**
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: import_write_and_ref
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - ostree_repo_transaction_set_ref
    - ostree_repo_write_commit
    - OSTREE_REPO_FILE
    - ostree_repo_commit_transaction
    - ostree_repo_write_mtree
    - ostree_mutable_tree_new
    - ostree_repo_import_archive_to_mtree
    - ostree_repo_prepare_transaction
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean import_write_and_ref (OstreeRepo *repo, OstreeRepoImportArchiveOptions
      *opts, struct archive *a, const char *ref, OstreeRepoCommitModifier *modifier,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/tests/test-libarchive-import.c:508,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-libarchive-import.c:517,1
    - Dst: test_archive_setup
      Src: /src/ostree/tests/test-libarchive-import.c:521,1
    - Dst: ostree_repo_commit_modifier_new
      Src: /src/ostree/tests/test-libarchive-import.c:525,1
    - Dst: skip_if_no_xattr
      Src: /src/ostree/tests/test-libarchive-import.c:512,1
    - Dst: import_write_and_ref
      Src: /src/ostree/tests/test-libarchive-import.c:527,1
    - Dst: spawn_cmdline
      Src: /src/ostree/tests/test-libarchive-import.c:531,1
    - Dst: listxattr
      Src: /src/ostree/tests/test-libarchive-import.c:534,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-libarchive-import.c:535,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-libarchive-import.c:538,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 539
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 539
    functionName: test_libarchive_xattr_import_skip_xattr
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - spawn_cmdline
    - g_assert_cmpint
    - g_assert_no_error
    - g_test_skip
    - import_write_and_ref
    - test_archive_setup
    - skip_if_no_xattr
    - archive_read_new
    - ostree_repo_commit_modifier_new
    - listxattr
    linkageType: ''
    returnType: void
    signature: 'static void test_libarchive_xattr_import_skip_xattr (gconstpointer
      data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/tests/test-libarchive-import.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - repo
    - path
    - file_info
    - user_data
    argTypes:
    - OstreeRepo*
    - char*
    - GFileInfo*
    - gpointer
    constantsTouched: []
    func_position:
      end: 547
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 547
    functionName: path_cb
    functionSourceFile: /src/ostree/tests/test-libarchive-import.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *path_cb (OstreeRepo *repo, const char *path, GFileInfo
      *file_info, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_mkdtemp
      Src: /src/ostree/tests/test-repo-finder-config.c:49,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/tests/test-repo-finder-config.c:54,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo-finder-config.c:52,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:55,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:50,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/test-repo-finder-config.c:57,1
    - Dst: ot_test_setup_repo
      Src: /src/ostree/tests/test-repo-finder-config.c:59,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: setup
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - g_test_message
    - ot_test_setup_repo
    - g_file_new_for_path
    - g_assert_no_error
    - glnx_shutil_mkdir_p_at
    - glnx_mkdtemp
    linkageType: ''
    returnType: void
    signature: 'static void setup (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_config_new
      Src: /src/ostree/tests/test-repo-finder-config.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: test_repo_finder_config_init
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - ostree_repo_finder_config_new
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_config_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/ostree/tests/test-repo-finder-config.c:110,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-config.c:115,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/tests/test-repo-finder-config.c:111,1
    - Dst: ostree_repo_finder_resolve_async
      Src: /src/ostree/tests/test-repo-finder-config.c:115,1
    - Dst: ostree_repo_finder_config_new
      Src: /src/ostree/tests/test-repo-finder-config.c:113,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/tests/test-repo-finder-config.c:119,1
    - Dst: ostree_repo_finder_resolve_finish
      Src: /src/ostree/tests/test-repo-finder-config.c:121,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-config.c:121,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:122,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-config.c:123,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:124,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/tests/test-repo-finder-config.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: test_repo_finder_config_no_configs
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - ostree_repo_finder_resolve_async
    - g_assert_cmpuint
    - g_assert_nonnull
    - OSTREE_REPO_FINDER
    - g_assert_no_error
    - ostree_repo_finder_resolve_finish
    - g_main_context_pop_thread_default
    - g_main_context_iteration
    - ostree_repo_finder_config_new
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_config_no_configs (Fixture *fixture,
      gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/tests/test-repo-finder-config.c:158,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/tests/test-repo-finder-config.c:161,1
    - Dst: g_file_get_child
      Src: /src/ostree/tests/test-repo-finder-config.c:164,1
    - Dst: ostree_repo_set_collection_id
      Src: /src/ostree/tests/test-repo-finder-config.c:166,1
    - Dst: ostree_repo_write_mtree
      Src: /src/ostree/tests/test-repo-finder-config.c:185,1
    - Dst: ostree_repo_write_commit
      Src: /src/ostree/tests/test-repo-finder-config.c:188,1
    - Dst: va_arg
      Src: /src/ostree/tests/test-repo-finder-config.c:175,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:196,1
    - Dst: ostree_repo_regenerate_summary
      Src: /src/ostree/tests/test-repo-finder-config.c:202,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:184,1
    - Dst: va_start
      Src: /src/ostree/tests/test-repo-finder-config.c:172,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:186,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:159,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:162,1
    - Dst: ostree_repo_new
      Src: /src/ostree/tests/test-repo-finder-config.c:165,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:167,1
    - Dst: ostree_repo_create
      Src: /src/ostree/tests/test-repo-finder-config.c:168,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:169,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-repo-finder-config.c:182,1
    - Dst: va_arg
      Src: /src/ostree/tests/test-repo-finder-config.c:174,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:190,1
    - Dst: ostree_repo_set_collection_ref_immediate
      Src: /src/ostree/tests/test-repo-finder-config.c:193,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:203,1
    - Dst: va_end
      Src: /src/ostree/tests/test-repo-finder-config.c:199,1
    - Dst: ostree_repo_write_dfd_to_mtree
      Src: /src/ostree/tests/test-repo-finder-config.c:183,1
    - Dst: g_file_get_uri
      Src: /src/ostree/tests/test-repo-finder-config.c:205,1
    - Dst: ostree_repo_set_ref_immediate
      Src: /src/ostree/tests/test-repo-finder-config.c:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - fixture
    - collection_id
    - '...'
    argTypes:
    - Fixture*
    - gchar*
    constantsTouched: []
    func_position:
      end: 206
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 206
    functionName: assert_create_remote
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - va_end
    - ostree_repo_regenerate_summary
    - ostree_repo_set_ref_immediate
    - g_file_get_uri
    - ostree_repo_write_dfd_to_mtree
    - ostree_repo_write_commit
    - g_assert_no_error
    - glnx_shutil_mkdir_p_at
    - va_start
    - ostree_repo_write_mtree
    - ostree_mutable_tree_new
    - ostree_repo_new
    - ostree_repo_create
    - va_arg
    - g_file_get_child
    - ostree_repo_set_collection_ref_immediate
    - ostree_repo_set_collection_id
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *assert_create_remote (Fixture *fixture, const gchar
      *collection_id, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/ostree/tests/test-repo-finder-config.c:226,1
    - Dst: assert_create_remote
      Src: /src/ostree/tests/test-repo-finder-config.c:230,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:237,1
    - Dst: ostree_repo_finder_resolve_finish
      Src: /src/ostree/tests/test-repo-finder-config.c:256,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:259,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:257,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/tests/test-repo-finder-config.c:265,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-config.c:268,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-config.c:272,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/tests/test-repo-finder-config.c:272,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/tests/test-repo-finder-config.c:283,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-config.c:278,1
    - Dst: assert_create_remote
      Src: /src/ostree/tests/test-repo-finder-config.c:233,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/tests/test-repo-finder-config.c:227,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-config.c:258,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-config.c:250,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-config.c:256,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-config.c:270,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/tests/test-repo-finder-config.c:271,1
    - Dst: ostree_remote_get_url
      Src: /src/ostree/tests/test-repo-finder-config.c:273,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-config.c:275,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:277,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:239,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:241,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:243,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:245,1
    - Dst: ostree_repo_finder_resolve_async
      Src: /src/ostree/tests/test-repo-finder-config.c:250,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/tests/test-repo-finder-config.c:254,1
    - Dst: ostree_remote_get_name
      Src: /src/ostree/tests/test-repo-finder-config.c:268,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:270,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-config.c:273,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-config.c:277,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/tests/test-repo-finder-config.c:278,1
    - Dst: assert_create_remote
      Src: /src/ostree/tests/test-repo-finder-config.c:235,1
    - Dst: ostree_repo_finder_config_new
      Src: /src/ostree/tests/test-repo-finder-config.c:247,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-config.c:267,1
    - Dst: ostree_remote_get_name
      Src: /src/ostree/tests/test-repo-finder-config.c:267,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-config.c:271,1
    - Dst: ostree_remote_get_name
      Src: /src/ostree/tests/test-repo-finder-config.c:275,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-config.c:279,1
    - Dst: ostree_remote_get_url
      Src: /src/ostree/tests/test-repo-finder-config.c:279,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/tests/test-repo-finder-config.c:287,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 288
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 288
    functionName: test_repo_finder_config_mixed_configs
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - assert_create_remote_config
    - ostree_remote_get_name
    - ostree_repo_finder_config_new
    - g_main_context_new
    - g_strcmp0
    - g_assert_nonnull
    - g_assert_not_reached
    - assert_create_remote
    - g_main_context_push_thread_default
    - ostree_remote_get_url
    - g_assert_cmpuint
    - g_ptr_array_index
    - OSTREE_REPO_FINDER
    - g_assert_no_error
    - g_main_context_iteration
    - ostree_repo_finder_resolve_async
    - g_hash_table_size
    - g_assert_cmpstr
    - ostree_repo_finder_resolve_finish
    - g_assert_true
    - g_main_context_pop_thread_default
    - g_hash_table_contains
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_config_mixed_configs (Fixture *fixture,
      gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/tests/test-repo-finder-config.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: result_cb
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void result_cb (GObject *source_object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_tmpdir_delete
      Src: /src/ostree/tests/test-repo-finder-config.c:67,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-repo-finder-config.c:75,1
    - Dst: ostree_repo_get_dfd
      Src: /src/ostree/tests/test-repo-finder-config.c:71,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/tests/test-repo-finder-config.c:73,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/tests/test-repo-finder-config.c:72,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-repo-finder-config.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: teardown
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - glnx_tmpdir_delete
    - glnx_shutil_rm_rf_at
    - ostree_repo_get_dfd
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/ostree/tests/test-repo-finder-config.c:415,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-repo-finder-config.c:418,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo-finder-config.c:421,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo-finder-config.c:419,1
    - Dst: g_test_init
      Src: /src/ostree/tests/test-repo-finder-config.c:416,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo-finder-config.c:423,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-repo-finder-config.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 427
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 427
    functionName: main
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_test_add
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/ostree/tests/test-repo-finder-config.c:139,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:142,1
    - Dst: ostree_repo_remote_add
      Src: /src/ostree/tests/test-repo-finder-config.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - repo
    - remote_name
    - remote_uri
    - collection_id
    argTypes:
    - OstreeRepo*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: assert_create_remote_config
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - ostree_repo_remote_add
    - g_variant_new_parsed
    linkageType: ''
    returnType: void
    signature: 'static void assert_create_remote_config (OstreeRepo *repo, const gchar
      *remote_name, const gchar *remote_uri, const gchar *collection_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/ostree/tests/test-repo-finder-config.c:309,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:328,1
    - Dst: ostree_repo_find_remotes_async
      Src: /src/ostree/tests/test-repo-finder-config.c:333,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/tests/test-repo-finder-config.c:337,1
    - Dst: ostree_repo_find_remotes_finish
      Src: /src/ostree/tests/test-repo-finder-config.c:339,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-config.c:330,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-config.c:351,1
    - Dst: ostree_remote_get_name
      Src: /src/ostree/tests/test-repo-finder-config.c:351,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-config.c:352,1
    - Dst: ostree_remote_get_name
      Src: /src/ostree/tests/test-repo-finder-config.c:352,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:365,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:367,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/tests/test-repo-finder-config.c:372,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:391,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-config.c:401,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-config.c:391,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:399,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:377,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:395,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/tests/test-repo-finder-config.c:310,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:322,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:324,1
    - Dst: g_strv_length
      Src: /src/ostree/tests/test-repo-finder-config.c:342,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/tests/test-repo-finder-config.c:357,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:359,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-config.c:360,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-repo-finder-config.c:363,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-config.c:365,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/tests/test-repo-finder-config.c:368,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:383,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-repo-finder-config.c:389,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:388,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:397,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/tests/test-repo-finder-config.c:398,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:393,1
    - Dst: assert_create_remote
      Src: /src/ostree/tests/test-repo-finder-config.c:316,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:320,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-config.c:326,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-config.c:340,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:342,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:354,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:356,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:362,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:369,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:375,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/tests/test-repo-finder-config.c:409,1
    - Dst: ostree_remote_get_url
      Src: /src/ostree/tests/test-repo-finder-config.c:401,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:371,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/tests/test-repo-finder-config.c:360,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/tests/test-repo-finder-config.c:394,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-config.c:373,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-config.c:381,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-config.c:385,1
    - Dst: assert_create_remote
      Src: /src/ostree/tests/test-repo-finder-config.c:313,1
    - Dst: assert_create_remote
      Src: /src/ostree/tests/test-repo-finder-config.c:318,1
    - Dst: ostree_repo_finder_config_new
      Src: /src/ostree/tests/test-repo-finder-config.c:330,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-config.c:341,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-config.c:354,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-config.c:357,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/tests/test-repo-finder-config.c:376,1
    - Dst: ostree_remote_get_url
      Src: /src/ostree/tests/test-repo-finder-config.c:379,1
    - Dst: ostree_remote_get_name
      Src: /src/ostree/tests/test-repo-finder-config.c:381,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-config.c:383,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-config.c:379,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/tests/test-repo-finder-config.c:405,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/tests/test-repo-finder-config.c:386,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-repo-finder-config.c:386,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 99
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 410
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 410
    functionName: test_repo_finder_config_find_remotes
    functionSourceFile: /src/ostree/tests/test-repo-finder-config.c
    functionUses: []
    functionsReached:
    - assert_create_remote_config
    - ostree_remote_get_name
    - ostree_validate_checksum_string
    - g_hash_table_lookup
    - ostree_repo_finder_config_new
    - g_main_context_new
    - g_strcmp0
    - g_assert_nonnull
    - ostree_repo_find_remotes_async
    - g_assert_not_reached
    - assert_create_remote
    - g_main_context_push_thread_default
    - ostree_remote_get_url
    - g_assert_cmpuint
    - OSTREE_REPO_FINDER
    - g_assert_no_error
    - g_main_context_iteration
    - GUINT64_FROM_BE
    - g_strv_length
    - ostree_repo_find_remotes_finish
    - g_assert
    - g_hash_table_size
    - g_assert_cmpstr
    - g_assert_true
    - g_main_context_pop_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_config_find_remotes (Fixture *fixture,
      gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/tests/test-varint.c:28,1
    - Dst: g_test_verbose
      Src: /src/ostree/tests/test-varint.c:33,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/tests/test-varint.c:36,1
    - Dst: g_variant_new_from_data
      Src: /src/ostree/tests/test-varint.c:36,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/tests/test-varint.c:32,1
    - Dst: g_variant_print
      Src: /src/ostree/tests/test-varint.c:37,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-varint.c:38,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-varint.c:40,1
    - Dst: _ostree_read_varuint64
      Src: /src/ostree/tests/test-varint.c:40,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-varint.c:41,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-varint.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - val
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: check_one_roundtrip
    functionSourceFile: /src/ostree/tests/test-varint.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_string_new
    - g_test_message
    - _ostree_read_varuint64
    - g_assert_cmpint
    - g_variant_print
    - g_assert
    - g_test_verbose
    - g_variant_new_from_data
    - _ostree_write_varuint64
    linkageType: ''
    returnType: void
    signature: 'static void check_one_roundtrip (guint64 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/ostree/tests/test-varint.c:69,1
    - Dst: g_test_init
      Src: /src/ostree/tests/test-varint.c:72,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-varint.c:76,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-varint.c:74,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-varint.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/ostree/tests/test-varint.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-varint.c:61,1
    - Dst: check_one_roundtrip
      Src: /src/ostree/tests/test-varint.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: test_roundtrips
    functionSourceFile: /src/ostree/tests/test-varint.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - check_one_roundtrip
    linkageType: ''
    returnType: void
    signature: 'static void test_roundtrips (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/ostree/tests/get-byte-order.c:9,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 11
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 11
    functionName: main
    functionSourceFile: /src/ostree/tests/get-byte-order.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-pem.c:68,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/ostree/tests/test-pem.c:71,1
    - Dst: g_data_input_stream_new
      Src: /src/ostree/tests/test-pem.c:72,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-pem.c:78,1
    - Dst: _ostree_read_pem_block
      Src: /src/ostree/tests/test-pem.c:77,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-pem.c:79,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-pem.c:82,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-pem.c:83,1
    - Dst: g_bytes_equal
      Src: /src/ostree/tests/test-pem.c:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: test_ostree_read_pem_block_valid
    functionSourceFile: /src/ostree/tests/test-pem.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_new
    - g_bytes_equal
    - g_bytes_new_static
    - _ostree_read_pem_block
    - g_assert
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - g_assert_cmpstr
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_ostree_read_pem_block_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-pem.c:119,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-pem.c:122,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-pem.c:121,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-pem.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/ostree/tests/test-pem.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-pem.c:100,1
    - Dst: _ostree_read_pem_block
      Src: /src/ostree/tests/test-pem.c:109,1
    - Dst: g_data_input_stream_new
      Src: /src/ostree/tests/test-pem.c:104,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-pem.c:110,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/ostree/tests/test-pem.c:103,1
    - Dst: g_assert_null
      Src: /src/ostree/tests/test-pem.c:111,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-pem.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: test_ostree_read_pem_block_invalid
    functionSourceFile: /src/ostree/tests/test-pem.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_new
    - _ostree_read_pem_block
    - g_assert_nonnull
    - g_memory_input_stream_new_from_data
    - g_assert_null
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_ostree_read_pem_block_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-ot-tool-util.c:62,1
    - Dst: ot_parse_boolean
      Src: /src/ostree/tests/test-ot-tool-util.c:61,1
    - Dst: ot_parse_boolean
      Src: /src/ostree/tests/test-ot-tool-util.c:65,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-ot-tool-util.c:58,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-ot-tool-util.c:66,1
    - Dst: ot_parse_boolean
      Src: /src/ostree/tests/test-ot-tool-util.c:69,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-ot-tool-util.c:70,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-ot-tool-util.c:73,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-ot-tool-util.c:74,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:46,1
    - Dst: ot_parse_boolean
      Src: /src/ostree/tests/test-ot-tool-util.c:50,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-ot-tool-util.c:71,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-ot-tool-util.c:75,1
    - Dst: ot_parse_boolean
      Src: /src/ostree/tests/test-ot-tool-util.c:46,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:47,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:55,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:57,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:61,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:65,1
    - Dst: ot_parse_boolean
      Src: /src/ostree/tests/test-ot-tool-util.c:57,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:69,1
    - Dst: ot_parse_boolean
      Src: /src/ostree/tests/test-ot-tool-util.c:73,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:50,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:51,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:54,1
    - Dst: ot_parse_boolean
      Src: /src/ostree/tests/test-ot-tool-util.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 76
    functionName: test_ot_parse_boolean
    functionSourceFile: /src/ostree/tests/test-ot-tool-util.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_clear_error
    - ot_parse_boolean
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_ot_parse_boolean (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-ot-tool-util.c:108,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-ot-tool-util.c:110,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-ot-tool-util.c:109,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-ot-tool-util.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/ostree/tests/test-ot-tool-util.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-ot-tool-util.c:87,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-ot-tool-util.c:91,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-ot-tool-util.c:92,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-ot-tool-util.c:93,1
    - Dst: ot_parse_keyvalue
      Src: /src/ostree/tests/test-ot-tool-util.c:91,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-ot-tool-util.c:99,1
    - Dst: ot_parse_keyvalue
      Src: /src/ostree/tests/test-ot-tool-util.c:99,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-ot-tool-util.c:100,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-ot-tool-util.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: test_ot_parse_keyvalue
    functionSourceFile: /src/ostree/tests/test-ot-tool-util.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - ot_parse_keyvalue
    - g_assert_cmpstr
    - g_clear_error
    - g_assert_error
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_ot_parse_keyvalue (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:27,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:29,1
    - Dst: strstr
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:30,1
    - Dst: g_error
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:31,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - error
    - msg
    argTypes:
    - GError**
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: assert_error_contains
    functionSourceFile: /src/ostree/tests/test-commit-sign-sh-ext.c
    functionUses: []
    functionsReached:
    - g_assert
    - strstr
    - g_error
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: 'static void assert_error_contains (GError **error, const char *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:112,1
    - Dst: g_printerr
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:114,1
    - Dst: exit
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/ostree/tests/test-commit-sign-sh-ext.c
    functionUses: []
    functionsReached:
    - exit
    - run
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:40,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:41,1
    - Dst: g_memdup2
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:43,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:42,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:44,1
    - Dst: g_random_int_range
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:45,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:48,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: corrupt
    functionSourceFile: /src/ostree/tests/test-commit-sign-sh-ext.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_bytes_get_data
    - g_assert
    - g_random_int_range
    - g_memdup2
    - g_steal_pointer
    - g_bytes_new_take
    linkageType: ''
    returnType: GBytes*
    signature: 'static GBytes *corrupt (GBytes *input) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:61,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:68,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:70,1
    - Dst: ostree_repo_signature_verify_commit_data
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:75,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:87,1
    - Dst: ostree_repo_signature_verify_commit_data
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:88,1
    - Dst: glnx_throw
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:95,1
    - Dst: corrupt
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:99,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:72,1
    - Dst: assert_error_contains
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:91,1
    - Dst: ostree_repo_signature_verify_commit_data
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:100,1
    - Dst: assert_error_contains
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:103,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:65,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:63,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:73,1
    - Dst: ostree_repo_signature_verify_commit_data
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:79,1
    - Dst: glnx_throw
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:90,1
    - Dst: ostree_repo_signature_verify_commit_data
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:93,1
    - Dst: assert_error_contains
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:96,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:54,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:59,1
    - Dst: glnx_throw
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:83,1
    - Dst: assert_error_contains
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:84,1
    - Dst: glnx_throw
      Src: /src/ostree/tests/test-commit-sign-sh-ext.c:102,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 106
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 106
    functionName: run
    functionSourceFile: /src/ostree/tests/test-commit-sign-sh-ext.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit_detached_metadata
    - g_bytes_new_static
    - g_assert
    - ostree_repo_resolve_rev
    - assert_error_contains
    - ostree_repo_open_at
    - glnx_throw
    - ostree_repo_load_variant
    - corrupt
    - g_variant_get_data_as_bytes
    - ostree_repo_signature_verify_commit_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean run (GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/ostree/tests/test-basic-c.c:44,1
    - Dst: g_memory_output_stream_new
      Src: /src/ostree/tests/test-basic-c.c:46,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/tests/test-basic-c.c:47,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/ostree/tests/test-basic-c.c:50,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:48,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/ostree/tests/test-basic-c.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: input_stream_to_bytes
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - g_output_stream_splice
    - g_bytes_new
    - g_assert_no_error
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_steal_as_bytes
    - g_memory_output_stream_new
    linkageType: ''
    returnType: GBytes*
    signature: 'static GBytes *input_stream_to_bytes (GInputStream *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/tests/test-basic-c.c:135,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/ostree/tests/test-basic-c.c:137,1
    - Dst: g_file_info_new
      Src: /src/ostree/tests/test-basic-c.c:138,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/tests/test-basic-c.c:139,1
    - Dst: g_file_info_set_attribute_boolean
      Src: /src/ostree/tests/test-basic-c.c:140,1
    - Dst: g_file_info_set_size
      Src: /src/ostree/tests/test-basic-c.c:141,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/tests/test-basic-c.c:142,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/tests/test-basic-c.c:143,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/tests/test-basic-c.c:144,1
    - Dst: ostree_raw_file_to_content_stream
      Src: /src/ostree/tests/test-basic-c.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - contents
    - xattr
    - out_stream
    - out_length
    - error
    argTypes:
    - char*
    - GVariant*
    - GInputStream**
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: basic_regfile_content_stream_new
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - strlen
    - g_memory_input_stream_new_from_data
    - g_file_info_set_attribute_uint32
    - ostree_raw_file_to_content_stream
    - g_file_info_new
    - g_file_info_set_attribute_boolean
    - g_file_info_set_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean basic_regfile_content_stream_new (const char *contents,
      GVariant *xattr, GInputStream **out_stream, guint64 *out_length, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-basic-c.c:160,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:163,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:164,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/tests/test-basic-c.c:163,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-basic-c.c:166,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:169,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/tests/test-basic-c.c:169,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: test_validate_remotename
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_N_ELEMENTS
    - g_assert_no_error
    - ostree_validate_remote_name
    linkageType: ''
    returnType: void
    signature: 'static void test_validate_remotename (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/tests/test-basic-c.c:271,1
    - Dst: glnx_fstatat
      Src: /src/ostree/tests/test-basic-c.c:273,1
    - Dst: ostree_break_hardlink
      Src: /src/ostree/tests/test-basic-c.c:278,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:283,1
    - Dst: glnx_fstatat
      Src: /src/ostree/tests/test-basic-c.c:280,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:284,1
    - Dst: linkat
      Src: /src/ostree/tests/test-basic-c.c:286,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/tests/test-basic-c.c:287,1
    - Dst: ostree_break_hardlink
      Src: /src/ostree/tests/test-basic-c.c:289,1
    - Dst: glnx_fstatat
      Src: /src/ostree/tests/test-basic-c.c:291,1
    - Dst: glnx_fstatat
      Src: /src/ostree/tests/test-basic-c.c:297,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:300,1
    - Dst: unlinkat
      Src: /src/ostree/tests/test-basic-c.c:303,1
    - Dst: unlinkat
      Src: /src/ostree/tests/test-basic-c.c:302,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:295,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:299,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - tmp_dfd
    - path
    - error
    argTypes:
    - int
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 306
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 306
    functionName: impl_test_break_hardlink
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - ostree_break_hardlink
    - glnx_fstatat
    - linkat
    - glnx_strjoina
    - glnx_throw_errno_prefix
    - unlinkat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean impl_test_break_hardlink (int tmp_dfd, const char
      *path, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ot_check_relabeling
      Src: /src/ostree/tests/test-basic-c.c:354,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:350,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:355,1
    - Dst: ot_check_user_xattrs
      Src: /src/ostree/tests/test-basic-c.c:359,1
    - Dst: ostree_repo_new
      Src: /src/ostree/tests/test-basic-c.c:370,1
    - Dst: ostree_repo_open
      Src: /src/ostree/tests/test-basic-c.c:371,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:372,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:389,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-basic-c.c:391,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/tests/test-basic-c.c:400,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:422,1
    - Dst: ostree_repo_commit_transaction
      Src: /src/ostree/tests/test-basic-c.c:444,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/tests/test-basic-c.c:421,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:409,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:423,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:351,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:356,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/tests/test-basic-c.c:376,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:373,1
    - Dst: ostree_repo_checkout_at
      Src: /src/ostree/tests/test-basic-c.c:387,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:388,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/tests/test-basic-c.c:399,1
    - Dst: ostree_repo_prepare_transaction
      Src: /src/ostree/tests/test-basic-c.c:402,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:404,1
    - Dst: ostree_repo_write_dfd_to_mtree
      Src: /src/ostree/tests/test-basic-c.c:407,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:445,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:441,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/test-basic-c.c:346,1
    - Dst: ot_test_run_libtest
      Src: /src/ostree/tests/test-basic-c.c:349,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:360,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-basic-c.c:366,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:378,1
    - Dst: ostree_repo_devino_cache_new
      Src: /src/ostree/tests/test-basic-c.c:380,1
    - Dst: ostree_repo_commit_modifier_new
      Src: /src/ostree/tests/test-basic-c.c:393,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/tests/test-basic-c.c:400,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:408,1
    - Dst: ostree_repo_write_mtree
      Src: /src/ostree/tests/test-basic-c.c:412,1
    - Dst: g_file_get_child
      Src: /src/ostree/tests/test-basic-c.c:418,1
    - Dst: ostree_repo_file_get_xattrs
      Src: /src/ostree/tests/test-basic-c.c:421,1
    - Dst: g_str_equal
      Src: /src/ostree/tests/test-basic-c.c:433,1
    - Dst: g_variant_get_child
      Src: /src/ostree/tests/test-basic-c.c:431,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:446,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:361,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:377,1
    - Dst: ostree_repo_commit_modifier_set_devino_cache
      Src: /src/ostree/tests/test-basic-c.c:394,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/tests/test-basic-c.c:397,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-basic-c.c:398,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/tests/test-basic-c.c:398,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:403,1
    - Dst: ostree_repo_commit_modifier_set_xattr_callback
      Src: /src/ostree/tests/test-basic-c.c:406,1
    - Dst: g_file_get_child
      Src: /src/ostree/tests/test-basic-c.c:417,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:413,1
    - Dst: g_variant_n_children
      Src: /src/ostree/tests/test-basic-c.c:426,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:449,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-basic-c.c:435,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 450
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 450
    functionName: test_devino_cache_xattrs
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - ostree_repo_resolve_rev
    - ostree_mutable_tree_new
    - g_variant_new_bytestring
    - g_variant_get_child
    - ot_check_user_xattrs
    - g_assert_cmpint
    - ostree_repo_write_dfd_to_mtree
    - g_test_skip
    - g_variant_builder_add
    - ostree_repo_commit_transaction
    - ostree_repo_devino_cache_new
    - ostree_repo_commit_modifier_new
    - ostree_repo_commit_modifier_set_devino_cache
    - ostree_repo_commit_modifier_set_xattr_callback
    - ostree_repo_prepare_transaction
    - ostree_repo_file_get_xattrs
    - ostree_repo_checkout_at
    - g_file_new_for_path
    - g_assert_no_error
    - OSTREE_REPO_FILE
    - ot_test_run_libtest
    - g_variant_builder_init
    - ostree_repo_new
    - g_variant_ref_sink
    - ostree_repo_open
    - ot_check_relabeling
    - g_variant_builder_end
    - g_str_equal
    - g_assert
    - g_variant_n_children
    - g_assert_cmpstr
    - ostree_repo_write_mtree
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_devino_cache_xattrs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:466,1
    - Dst: ostree_repo_new
      Src: /src/ostree/tests/test-basic-c.c:468,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:476,1
    - Dst: memset
      Src: /src/ostree/tests/test-basic-c.c:486,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-basic-c.c:478,1
    - Dst: g_variant_new_fixed_array
      Src: /src/ostree/tests/test-basic-c.c:491,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/tests/test-basic-c.c:493,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:495,1
    - Dst: ot_test_run_libtest
      Src: /src/ostree/tests/test-basic-c.c:464,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:480,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-basic-c.c:489,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:496,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/test-basic-c.c:461,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:484,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:481,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/tests/test-basic-c.c:487,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/tests/test-basic-c.c:492,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:465,1
    - Dst: ostree_repo_open
      Src: /src/ostree/tests/test-basic-c.c:469,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:470,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:471,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/tests/test-basic-c.c:474,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:475,1
    - Dst: g_malloc
      Src: /src/ostree/tests/test-basic-c.c:485,1
    - Dst: ostree_repo_write_directory_to_mtree
      Src: /src/ostree/tests/test-basic-c.c:479,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/tests/test-basic-c.c:487,1
    - Dst: ostree_repo_write_commit
      Src: /src/ostree/tests/test-basic-c.c:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 497
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 497
    functionName: test_big_metadata
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit
    - ostree_mutable_tree_new
    - g_assert_cmpint
    - ostree_repo_write_commit
    - g_variant_builder_add
    - memset
    - g_file_new_for_path
    - g_assert_no_error
    - OSTREE_REPO_FILE
    - ot_test_run_libtest
    - ostree_repo_write_directory_to_mtree
    - ostree_repo_new
    - ostree_repo_open
    - g_malloc
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_assert
    - g_variant_builder_new
    - g_variant_new_fixed_array
    linkageType: ''
    returnType: void
    signature: 'static void test_big_metadata (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_mkdtempat
      Src: /src/ostree/tests/test-basic-c.c:528,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:535,1
    - Dst: ostree_fs_get_all_xattrs
      Src: /src/ostree/tests/test-basic-c.c:534,1
    - Dst: fsetxattr
      Src: /src/ostree/tests/test-basic-c.c:537,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:529,1
    - Dst: g_strdup_printf
      Src: /src/ostree/tests/test-basic-c.c:541,1
    - Dst: g_strerror
      Src: /src/ostree/tests/test-basic-c.c:542,1
    - Dst: g_test_skip
      Src: /src/ostree/tests/test-basic-c.c:543,1
    - Dst: ostree_fs_get_all_xattrs
      Src: /src/ostree/tests/test-basic-c.c:547,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:548,1
    - Dst: symlinkat
      Src: /src/ostree/tests/test-basic-c.c:554,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:556,1
    - Dst: ostree_fs_get_all_xattrs_at
      Src: /src/ostree/tests/test-basic-c.c:559,1
    - Dst: compare_xattrs
      Src: /src/ostree/tests/test-basic-c.c:550,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:560,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/tests/test-basic-c.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 577
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 577
    functionName: test_read_xattrs
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - fsetxattr
    - ostree_fs_get_all_xattrs_at
    - symlinkat
    - g_strerror
    - g_assert_no_error
    - g_test_skip
    - compare_xattrs
    - glnx_mkdtempat
    - g_strdup_printf
    - ostree_fs_get_all_xattrs
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: void
    signature: 'static void test_read_xattrs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:34,1
    - Dst: ostree_repo_is_system
      Src: /src/ostree/tests/test-basic-c.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: test_repo_is_not_system
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_repo_is_system
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_is_not_system (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_regfile_content_stream_new
      Src: /src/ostree/tests/test-basic-c.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - out_stream
    - out_length
    - error
    argTypes:
    - GInputStream**
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: hi_content_stream_new
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - basic_regfile_content_stream_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hi_content_stream_new (GInputStream **out_stream,
      guint64 *out_length, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO
      Src: /src/ostree/tests/test-basic-c.c:56,1
    - Dst: ostree_raw_file_to_archive_z2_stream
      Src: /src/ostree/tests/test-basic-c.c:104,1
    - Dst: ostree_content_stream_parse
      Src: /src/ostree/tests/test-basic-c.c:109,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-basic-c.c:111,1
    - Dst: input_stream_to_bytes
      Src: /src/ostree/tests/test-basic-c.c:107,1
    - Dst: g_seekable_seek
      Src: /src/ostree/tests/test-basic-c.c:114,1
    - Dst: g_bytes_equal
      Src: /src/ostree/tests/test-basic-c.c:122,1
    - Dst: ostree_repo_traverse_commit
      Src: /src/ostree/tests/test-basic-c.c:68,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/tests/test-basic-c.c:66,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/tests/test-basic-c.c:70,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/tests/test-basic-c.c:71,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/tests/test-basic-c.c:103,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/tests/test-basic-c.c:108,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-basic-c.c:112,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:119,1
    - Dst: g_variant_equal
      Src: /src/ostree/tests/test-basic-c.c:123,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/tests/test-basic-c.c:88,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:93,1
    - Dst: input_stream_to_bytes
      Src: /src/ostree/tests/test-basic-c.c:95,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:105,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:115,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:128,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:67,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:69,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/tests/test-basic-c.c:92,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/tests/test-basic-c.c:109,1
    - Dst: G_SEEKABLE
      Src: /src/ostree/tests/test-basic-c.c:114,1
    - Dst: ostree_content_stream_parse
      Src: /src/ostree/tests/test-basic-c.c:117,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/tests/test-basic-c.c:117,1
    - Dst: input_stream_to_bytes
      Src: /src/ostree/tests/test-basic-c.c:121,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-basic-c.c:122,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-basic-c.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 129
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 129
    functionName: test_raw_file_to_archive_stream
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - g_bytes_equal
    - ostree_content_stream_parse
    - input_stream_to_bytes
    - OSTREE_REPO
    - ostree_object_name_deserialize
    - g_hash_table_iter_next
    - g_clear_error
    - ostree_raw_file_to_archive_z2_stream
    - ostree_repo_resolve_rev
    - g_memory_input_stream_new_from_bytes
    - g_bytes_get_size
    - g_assert_cmpint
    - g_assert_no_error
    - g_hash_table_iter_init
    - ostree_repo_traverse_commit
    - g_seekable_seek
    - g_assert_error
    - ostree_repo_load_file
    - g_variant_equal
    - G_SEEKABLE
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_raw_file_to_archive_stream (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_write_content
      Src: /src/ostree/tests/test-basic-c.c:192,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:205,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-basic-c.c:207,1
    - Dst: strstr
      Src: /src/ostree/tests/test-basic-c.c:206,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/tests/test-basic-c.c:225,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-basic-c.c:226,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-basic-c.c:227,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/tests/test-basic-c.c:229,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-basic-c.c:230,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-basic-c.c:231,1
    - Dst: ostree_create_directory_metadata
      Src: /src/ostree/tests/test-basic-c.c:254,1
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/tests/test-basic-c.c:262,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:241,1
    - Dst: hi_content_stream_new
      Src: /src/ostree/tests/test-basic-c.c:200,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:206,1
    - Dst: ostree_repo_write_regfile_inline
      Src: /src/ostree/tests/test-basic-c.c:216,1
    - Dst: ostree_repo_write_regfile_inline
      Src: /src/ostree/tests/test-basic-c.c:211,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:216,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/tests/test-basic-c.c:225,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/tests/test-basic-c.c:228,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/tests/test-basic-c.c:229,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/tests/test-basic-c.c:232,1
    - Dst: ostree_repo_write_regfile_inline
      Src: /src/ostree/tests/test-basic-c.c:235,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:264,1
    - Dst: ostree_create_directory_metadata
      Src: /src/ostree/tests/test-basic-c.c:261,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/tests/test-basic-c.c:252,1
    - Dst: OSTREE_REPO
      Src: /src/ostree/tests/test-basic-c.c:177,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:193,1
    - Dst: hi_content_stream_new
      Src: /src/ostree/tests/test-basic-c.c:189,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:201,1
    - Dst: ostree_repo_write_content
      Src: /src/ostree/tests/test-basic-c.c:203,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:211,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:218,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:213,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:235,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:244,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:190,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:203,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-basic-c.c:219,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/tests/test-basic-c.c:228,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/tests/test-basic-c.c:232,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:238,1
    - Dst: ostree_repo_write_regfile_inline
      Src: /src/ostree/tests/test-basic-c.c:241,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/tests/test-basic-c.c:250,1
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/tests/test-basic-c.c:255,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/tests/test-basic-c.c:251,1
    - Dst: g_file_info_new
      Src: /src/ostree/tests/test-basic-c.c:249,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 61
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 266
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 266
    functionName: test_object_writes
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - hi_content_stream_new
    - g_file_info_new
    - g_assert
    - OSTREE_REPO
    - ostree_create_directory_metadata
    - g_assert_no_error
    - g_variant_builder_add
    - g_clear_error
    - strstr
    - g_file_info_set_attribute_uint32
    - g_variant_builder_init
    - g_variant_ref_sink
    - ostree_repo_write_content
    - ostree_repo_write_regfile_inline
    - ostree_repo_write_metadata
    linkageType: ''
    returnType: void
    signature: 'static void test_object_writes (gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/tests/test-basic-c.c:316,1
    - Dst: impl_test_break_hardlink
      Src: /src/ostree/tests/test-basic-c.c:320,1
    - Dst: strlen
      Src: /src/ostree/tests/test-basic-c.c:317,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:319,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:321,1
    - Dst: symlinkat
      Src: /src/ostree/tests/test-basic-c.c:324,1
    - Dst: err
      Src: /src/ostree/tests/test-basic-c.c:325,1
    - Dst: impl_test_break_hardlink
      Src: /src/ostree/tests/test-basic-c.c:326,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-basic-c.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: test_break_hardlink
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - strlen
    - glnx_file_replace_contents_at
    - symlinkat
    - impl_test_break_hardlink
    - err
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void test_break_hardlink (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:502,1
    - Dst: g_variant_n_children
      Src: /src/ostree/tests/test-basic-c.c:502,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/tests/test-basic-c.c:505,1
    - Dst: g_variant_n_children
      Src: /src/ostree/tests/test-basic-c.c:502,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/tests/test-basic-c.c:507,1
    - Dst: g_variant_get_bytestring
      Src: /src/ostree/tests/test-basic-c.c:509,1
    - Dst: g_str_equal
      Src: /src/ostree/tests/test-basic-c.c:510,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-basic-c.c:512,1
    - Dst: g_variant_get_size
      Src: /src/ostree/tests/test-basic-c.c:512,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - orig
    - new
    argTypes:
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 516
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 516
    functionName: compare_xattrs
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_assert_cmpint
    - g_variant_iter_loop
    - g_assert
    - g_variant_n_children
    - g_variant_iter_init
    - g_variant_get_bytestring
    - g_variant_get_size
    linkageType: ''
    returnType: void
    signature: 'static void compare_xattrs (GVariant *orig, GVariant *new) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/tests/test-basic-c.c:584,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/tests/test-basic-c.c:585,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/tests/test-basic-c.c:586,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/tests/test-basic-c.c:588,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/tests/test-basic-c.c:586,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/tests/test-basic-c.c:588,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/tests/test-basic-c.c:589,1
    - Dst: g_variant_new
      Src: /src/ostree/tests/test-basic-c.c:590,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/tests/test-basic-c.c:591,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-basic-c.c:592,1
    - Dst: ostree_validate_structureof_dirmeta
      Src: /src/ostree/tests/test-basic-c.c:592,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-basic-c.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: test_dirmeta_xattrs
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_assert
    - g_variant_builder_new
    - g_variant_builder_add
    - GUINT32_TO_BE
    - g_variant_new_bytestring
    - g_variant_new
    - g_assert_error
    - ostree_validate_structureof_dirmeta
    linkageType: ''
    returnType: void
    signature: 'static void test_dirmeta_xattrs (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-basic-c.c:602,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-basic-c.c:608,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-basic-c.c:610,1
    - Dst: ot_test_setup_repo
      Src: /src/ostree/tests/test-basic-c.c:604,1
    - Dst: g_test_add_data_func
      Src: /src/ostree/tests/test-basic-c.c:609,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-basic-c.c:611,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-basic-c.c:612,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-basic-c.c:613,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-basic-c.c:614,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-basic-c.c:615,1
    - Dst: g_error
      Src: /src/ostree/tests/test-basic-c.c:621,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-basic-c.c:618,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-basic-c.c:616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 623
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 623
    functionName: main
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - ot_test_setup_repo
    - g_test_add_data_func
    - g_error
    - g_test_add_func
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/tests/test-basic-c.c:334,1
    - Dst: g_variant_ref
      Src: /src/ostree/tests/test-basic-c.c:335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - repo
    - path
    - file_info
    - user_data
    argTypes:
    - OstreeRepo*
    - char*
    - GFileInfo*
    - gpointer
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 337
    functionName: xattr_cb
    functionSourceFile: /src/ostree/tests/test-basic-c.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *xattr_cb (OstreeRepo *repo, const char *path, GFileInfo
      *file_info, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/ostree/tests/test-gpg-verify-result.c:97,1
    - Dst: gpgme_data_new_from_file
      Src: /src/ostree/tests/test-gpg-verify-result.c:98,1
    - Dst: gpgme_data_release
      Src: /src/ostree/tests/test-gpg-verify-result.c:139,1
    - Dst: gpgme_op_verify
      Src: /src/ostree/tests/test-gpg-verify-result.c:132,1
    - Dst: g_test_build_filename
      Src: /src/ostree/tests/test-gpg-verify-result.c:83,1
    - Dst: g_setenv
      Src: /src/ostree/tests/test-gpg-verify-result.c:84,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:88,1
    - Dst: g_initable_new
      Src: /src/ostree/tests/test-gpg-verify-result.c:87,1
    - Dst: assert_no_gpg_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:105,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:116,1
    - Dst: assert_no_gpg_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:99,1
    - Dst: gpgme_data_seek
      Src: /src/ostree/tests/test-gpg-verify-result.c:129,1
    - Dst: assert_no_gpg_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:133,1
    - Dst: gpgme_result_ref
      Src: /src/ostree/tests/test-gpg-verify-result.c:136,1
    - Dst: g_build_filename
      Src: /src/ostree/tests/test-gpg-verify-result.c:90,1
    - Dst: gpgme_data_new_from_file
      Src: /src/ostree/tests/test-gpg-verify-result.c:91,1
    - Dst: assert_no_gpg_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:92,1
    - Dst: g_build_filename
      Src: /src/ostree/tests/test-gpg-verify-result.c:109,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/test-gpg-verify-result.c:110,1
    - Dst: gpgme_data_write
      Src: /src/ostree/tests/test-gpg-verify-result.c:121,1
    - Dst: g_file_load_contents
      Src: /src/ostree/tests/test-gpg-verify-result.c:115,1
    - Dst: gpgme_data_new
      Src: /src/ostree/tests/test-gpg-verify-result.c:104,1
    - Dst: assert_no_gpg_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:123,1
    - Dst: gpgme_error_from_syserror
      Src: /src/ostree/tests/test-gpg-verify-result.c:123,1
    - Dst: gpgme_op_verify_result
      Src: /src/ostree/tests/test-gpg-verify-result.c:135,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-gpg-verify-result.c:85,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-gpg-verify-result.c:114,1
    - Dst: gpgme_data_release
      Src: /src/ostree/tests/test-gpg-verify-result.c:138,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 142
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 142
    functionName: test_fixture_setup
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - assert_no_gpg_error
    - gpgme_result_ref
    - gpgme_data_write
    - g_file_load_contents
    - g_file_new_for_path
    - g_assert_no_error
    - g_build_filename
    - gpgme_data_new_from_file
    - gpgme_op_verify_result
    - g_initable_new
    - g_setenv
    - gpgme_op_verify
    - g_test_build_filename
    - g_assert
    - gpgme_data_new
    - gpgme_error_from_syserror
    - gpgme_data_release
    - g_assert_true
    - gpgme_data_seek
    linkageType: ''
    returnType: void
    signature: 'static void test_fixture_setup (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_count_all
      Src: /src/ostree/tests/test-gpg-verify-result.c:156,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:160,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:159,1
    - Dst: ostree_gpg_verify_result_count_valid
      Src: /src/ostree/tests/test-gpg-verify-result.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: test_check_counts
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - ostree_gpg_verify_result_count_valid
    - ostree_gpg_verify_result_count_all
    linkageType: ''
    returnType: void
    signature: 'static void test_check_counts (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_count_valid
      Src: /src/ostree/tests/test-gpg-verify-result.c:203,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-gpg-verify-result.c:214,1
    - Dst: g_variant_get_type_string
      Src: /src/ostree/tests/test-gpg-verify-result.c:216,1
    - Dst: ostree_gpg_verify_result_get_all
      Src: /src/ostree/tests/test-gpg-verify-result.c:212,1
    - Dst: g_variant_print
      Src: /src/ostree/tests/test-gpg-verify-result.c:213,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-gpg-verify-result.c:217,1
    - Dst: g_variant_get_child
      Src: /src/ostree/tests/test-gpg-verify-result.c:221,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-gpg-verify-result.c:222,1
    - Dst: g_variant_get_child
      Src: /src/ostree/tests/test-gpg-verify-result.c:224,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-gpg-verify-result.c:225,1
    - Dst: g_variant_get_child
      Src: /src/ostree/tests/test-gpg-verify-result.c:227,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-gpg-verify-result.c:233,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-gpg-verify-result.c:239,1
    - Dst: g_variant_get_child
      Src: /src/ostree/tests/test-gpg-verify-result.c:235,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-gpg-verify-result.c:231,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-gpg-verify-result.c:237,1
    - Dst: g_variant_get_child
      Src: /src/ostree/tests/test-gpg-verify-result.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 241
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 241
    functionName: test_attribute_basics
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_variant_get_type_string
    - g_variant_print
    - g_assert_cmpstr
    - g_variant_get_child
    - ostree_gpg_verify_result_get_all
    - ostree_gpg_verify_result_count_valid
    linkageType: ''
    returnType: void
    signature: 'static void test_attribute_basics (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:287,1
    - Dst: g_variant_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:290,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-gpg-verify-result.c:293,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-gpg-verify-result.c:288,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:299,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:300,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-gpg-verify-result.c:301,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:302,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:303,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 305
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 305
    functionName: test_expired_key
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_false
    - g_assert_cmpint
    - g_variant_get
    - ostree_gpg_verify_result_get
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_expired_key (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:351,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-gpg-verify-result.c:357,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:363,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-gpg-verify-result.c:352,1
    - Dst: g_variant_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:354,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:364,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:365,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:366,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-gpg-verify-result.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 369
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 369
    functionName: test_missing_key
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_false
    - g_assert_cmpint
    - g_variant_get
    - ostree_gpg_verify_result_get
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_missing_key (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/tests/test-gpg-verify-result.c:407,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:409,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-gpg-verify-result.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: test_require_valid_signature
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_assert_true
    - ostree_gpg_verify_result_require_valid_signature
    linkageType: ''
    returnType: void
    signature: 'static void test_require_valid_signature (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/tests/test-gpg-verify-result.c:428,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:432,1
    - Dst: g_quark_to_string
      Src: /src/ostree/tests/test-gpg-verify-result.c:430,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:429,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-gpg-verify-result.c:430,1
    - Dst: assert_str_contains
      Src: /src/ostree/tests/test-gpg-verify-result.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 434
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 434
    functionName: test_require_valid_signature_revoked_key
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_false
    - ostree_gpg_verify_result_require_valid_signature
    - g_quark_to_string
    - assert_str_contains
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_require_valid_signature_revoked_key (TestFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/tests/test-gpg-verify-result.c:450,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:452,1
    - Dst: assert_str_contains
      Src: /src/ostree/tests/test-gpg-verify-result.c:453,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: test_require_valid_signature_expired_signature
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - assert_str_contains
    - g_assert_error
    - g_assert_false
    - ostree_gpg_verify_result_require_valid_signature
    linkageType: ''
    returnType: void
    signature: 'static void test_require_valid_signature_expired_signature (TestFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-gpg-verify-result.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: test_fixture_teardown
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void test_fixture_teardown (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_lookup
      Src: /src/ostree/tests/test-gpg-verify-result.c:178,1
    - Dst: ostree_gpg_verify_result_lookup
      Src: /src/ostree/tests/test-gpg-verify-result.c:185,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-gpg-verify-result.c:186,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-gpg-verify-result.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:187,1
    - Dst: ostree_gpg_verify_result_lookup
      Src: /src/ostree/tests/test-gpg-verify-result.c:193,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:194,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 196
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 196
    functionName: test_signature_lookup
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_true
    - ostree_gpg_verify_result_lookup
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_signature_lookup (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:255,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-gpg-verify-result.c:267,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-gpg-verify-result.c:256,1
    - Dst: g_variant_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:258,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-gpg-verify-result.c:261,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:268,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:269,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:270,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:271,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 273
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 273
    functionName: test_valid_signature
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_false
    - g_assert_cmpint
    - g_variant_get
    - ostree_gpg_verify_result_get
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_valid_signature (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:319,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:331,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-gpg-verify-result.c:320,1
    - Dst: g_variant_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:322,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-gpg-verify-result.c:325,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:332,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:333,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-gpg-verify-result.c:334,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:335,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 337
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 337
    functionName: test_revoked_key
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_false
    - g_assert_cmpint
    - g_variant_get
    - ostree_gpg_verify_result_get
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_revoked_key (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:383,1
    - Dst: g_variant_get
      Src: /src/ostree/tests/test-gpg-verify-result.c:386,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-gpg-verify-result.c:384,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-gpg-verify-result.c:389,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:395,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-gpg-verify-result.c:396,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:397,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:398,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:399,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/tests/test-gpg-verify-result.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 401
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 401
    functionName: test_expired_signature
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_false
    - g_assert_cmpint
    - g_variant_get
    - ostree_gpg_verify_result_get
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_expired_signature (TestFixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/tests/test-gpg-verify-result.c:416,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:420,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-gpg-verify-result.c:418,1
    - Dst: g_quark_to_string
      Src: /src/ostree/tests/test-gpg-verify-result.c:418,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:417,1
    - Dst: assert_str_contains
      Src: /src/ostree/tests/test-gpg-verify-result.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: test_require_valid_signature_expired_key
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_false
    - ostree_gpg_verify_result_require_valid_signature
    - g_quark_to_string
    - assert_str_contains
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_require_valid_signature_expired_key (TestFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/tests/test-gpg-verify-result.c:440,1
    - Dst: assert_str_contains
      Src: /src/ostree/tests/test-gpg-verify-result.c:443,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:441,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 444
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 444
    functionName: test_require_valid_signature_missing_key
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - assert_str_contains
    - g_assert_error
    - g_assert_false
    - ostree_gpg_verify_result_require_valid_signature
    linkageType: ''
    returnType: void
    signature: 'static void test_require_valid_signature_missing_key (TestFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/tests/test-gpg-verify-result.c:460,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-gpg-verify-result.c:462,1
    - Dst: g_quark_to_string
      Src: /src/ostree/tests/test-gpg-verify-result.c:463,1
    - Dst: g_assert_error
      Src: /src/ostree/tests/test-gpg-verify-result.c:469,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-gpg-verify-result.c:461,1
    - Dst: assert_str_contains
      Src: /src/ostree/tests/test-gpg-verify-result.c:470,1
    - Dst: assert_str_contains
      Src: /src/ostree/tests/test-gpg-verify-result.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 472
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 472
    functionName: test_require_valid_signature_expired_missing_key
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_false
    - ostree_gpg_verify_result_require_valid_signature
    - g_quark_to_string
    - assert_str_contains
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_require_valid_signature_expired_missing_key (TestFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-gpg-verify-result.c:477,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:487,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:484,1
    - Dst: gpgme_check_version
      Src: /src/ostree/tests/test-gpg-verify-result.c:479,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:481,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:490,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:493,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:496,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:499,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:502,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:514,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:519,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:509,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-gpg-verify-result.c:533,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:529,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:524,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-gpg-verify-result.c:505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 534
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 534
    functionName: main
    functionSourceFile: /src/ostree/tests/test-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - gpgme_check_version
    - g_test_add
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bloom_new
      Src: /src/ostree/tests/test-bloom.c:36,1
    - Dst: ostree_bloom_get_k
      Src: /src/ostree/tests/test-bloom.c:38,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-bloom.c:37,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-bloom.c:38,1
    - Dst: ostree_bloom_get_size
      Src: /src/ostree/tests/test-bloom.c:37,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-bloom.c:39,1
    - Dst: ostree_bloom_get_hash_func
      Src: /src/ostree/tests/test-bloom.c:39,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-bloom.c:40,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/tests/test-bloom.c:42,1
    - Dst: g_malloc0
      Src: /src/ostree/tests/test-bloom.c:42,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-bloom.c:44,1
    - Dst: ostree_bloom_get_k
      Src: /src/ostree/tests/test-bloom.c:45,1
    - Dst: ostree_bloom_get_hash_func
      Src: /src/ostree/tests/test-bloom.c:46,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-bloom.c:46,1
    - Dst: ostree_bloom_new_from_bytes
      Src: /src/ostree/tests/test-bloom.c:43,1
    - Dst: g_clear_pointer
      Src: /src/ostree/tests/test-bloom.c:47,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-bloom.c:45,1
    - Dst: ostree_bloom_get_size
      Src: /src/ostree/tests/test-bloom.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: test_bloom_init
    functionSourceFile: /src/ostree/tests/test-bloom.c
    functionUses: []
    functionsReached:
    - ostree_bloom_get_k
    - ostree_bloom_new
    - ostree_bloom_new_from_bytes
    - g_assert_cmpuint
    - g_assert
    - g_clear_pointer
    - g_malloc0
    - ostree_bloom_get_size
    - ostree_bloom_get_hash_func
    - g_bytes_new_take
    linkageType: ''
    returnType: void
    signature: 'static void test_bloom_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bloom_new
      Src: /src/ostree/tests/test-bloom.c:117,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-bloom.c:123,1
    - Dst: ostree_bloom_add_element
      Src: /src/ostree/tests/test-bloom.c:121,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-bloom.c:126,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-bloom.c:119,1
    - Dst: ostree_bloom_maybe_contains
      Src: /src/ostree/tests/test-bloom.c:126,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-bloom.c:128,1
    - Dst: ostree_bloom_maybe_contains
      Src: /src/ostree/tests/test-bloom.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: test_bloom_membership_during_construction
    functionSourceFile: /src/ostree/tests/test-bloom.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - ostree_bloom_new
    - ostree_bloom_maybe_contains
    - ostree_bloom_add_element
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_bloom_membership_during_construction (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-bloom.c:136,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-bloom.c:141,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-bloom.c:140,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-bloom.c:138,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-bloom.c:139,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-bloom.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/ostree/tests/test-bloom.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bloom_new
      Src: /src/ostree/tests/test-bloom.c:96,1
    - Dst: ostree_bloom_maybe_contains
      Src: /src/ostree/tests/test-bloom.c:98,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-bloom.c:98,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-bloom.c:99,1
    - Dst: ostree_bloom_maybe_contains
      Src: /src/ostree/tests/test-bloom.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: test_bloom_empty
    functionSourceFile: /src/ostree/tests/test-bloom.c
    functionUses: []
    functionsReached:
    - ostree_bloom_maybe_contains
    - g_assert_false
    - ostree_bloom_new
    linkageType: ''
    returnType: void
    signature: 'static void test_bloom_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bloom_new
      Src: /src/ostree/tests/test-bloom.c:66,1
    - Dst: ostree_bloom_new_from_bytes
      Src: /src/ostree/tests/test-bloom.c:74,1
    - Dst: ostree_bloom_seal
      Src: /src/ostree/tests/test-bloom.c:71,1
    - Dst: ostree_bloom_add_element
      Src: /src/ostree/tests/test-bloom.c:69,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-bloom.c:68,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-bloom.c:76,1
    - Dst: g_assert_true
      Src: /src/ostree/tests/test-bloom.c:77,1
    - Dst: ostree_bloom_maybe_contains
      Src: /src/ostree/tests/test-bloom.c:77,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/tests/test-bloom.c:82,1
    - Dst: g_assert_false
      Src: /src/ostree/tests/test-bloom.c:83,1
    - Dst: ostree_bloom_maybe_contains
      Src: /src/ostree/tests/test-bloom.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: test_bloom_construction
    functionSourceFile: /src/ostree/tests/test-bloom.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - ostree_bloom_new
    - ostree_bloom_new_from_bytes
    - ostree_bloom_maybe_contains
    - ostree_bloom_seal
    - ostree_bloom_add_element
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_bloom_construction (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: struct
    functionSourceFile: /src/ostree/tests/test-rfc2616-dates.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS const struct '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-rfc2616-dates.c:116,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-rfc2616-dates.c:118,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-rfc2616-dates.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/ostree/tests/test-rfc2616-dates.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:126,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/tests/test-repo-finder-mount.c:127,1
    - Dst: ostree_mock_volume_monitor_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:129,1
    - Dst: ostree_repo_finder_resolve_async
      Src: /src/ostree/tests/test-repo-finder-mount.c:132,1
    - Dst: ostree_repo_finder_mount_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:130,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-mount.c:132,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/tests/test-repo-finder-mount.c:136,1
    - Dst: ostree_repo_finder_resolve_finish
      Src: /src/ostree/tests/test-repo-finder-mount.c:138,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-mount.c:138,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:139,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/tests/test-repo-finder-mount.c:143,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-mount.c:141,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-mount.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: test_repo_finder_mount_no_mounts
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - g_assert_cmpuint
    - g_assert_nonnull
    - OSTREE_REPO_FINDER
    - g_assert_no_error
    - ostree_mock_volume_monitor_new
    - ostree_repo_finder_resolve_finish
    - g_main_context_pop_thread_default
    - g_main_context_iteration
    - ostree_repo_finder_resolve_async
    - ostree_repo_finder_mount_new
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_mount_no_mounts (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_mount_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:93,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-repo-finder-mount.c:94,1
    - Dst: ostree_mock_volume_monitor_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:97,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-repo-finder-mount.c:99,1
    - Dst: ostree_repo_finder_mount_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: test_repo_finder_mount_init
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - ostree_repo_finder_mount_new
    - ostree_mock_volume_monitor_new
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_mount_init (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:176,1
    - Dst: ostree_repo_create
      Src: /src/ostree/tests/test-repo-finder-mount.c:177,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:181,1
    - Dst: va_arg
      Src: /src/ostree/tests/test-repo-finder-mount.c:185,1
    - Dst: va_arg
      Src: /src/ostree/tests/test-repo-finder-mount.c:190,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:194,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-repo-finder-mount.c:216,1
    - Dst: va_arg
      Src: /src/ostree/tests/test-repo-finder-mount.c:184,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:200,1
    - Dst: ostree_repo_regenerate_summary
      Src: /src/ostree/tests/test-repo-finder-mount.c:213,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/tests/test-repo-finder-mount.c:180,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:178,1
    - Dst: ostree_repo_write_mtree
      Src: /src/ostree/tests/test-repo-finder-mount.c:195,1
    - Dst: ostree_repo_set_collection_ref_immediate
      Src: /src/ostree/tests/test-repo-finder-mount.c:203,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:214,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:192,1
    - Dst: ostree_repo_write_dfd_to_mtree
      Src: /src/ostree/tests/test-repo-finder-mount.c:193,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:196,1
    - Dst: ostree_repo_set_ref_immediate
      Src: /src/ostree/tests/test-repo-finder-mount.c:205,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-repo-finder-mount.c:209,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:206,1
    - Dst: ostree_repo_write_commit
      Src: /src/ostree/tests/test-repo-finder-mount.c:198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - fixture
    - repo_dir
    - args
    argTypes:
    - Fixture*
    - GFile*
    - va_list
    constantsTouched: []
    func_position:
      end: 217
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 217
    functionName: assert_create_remote_va
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - ostree_repo_regenerate_summary
    - ostree_repo_set_ref_immediate
    - ostree_repo_write_dfd_to_mtree
    - ostree_repo_write_commit
    - g_assert_no_error
    - glnx_shutil_mkdir_p_at
    - g_steal_pointer
    - ostree_repo_write_mtree
    - ostree_mutable_tree_new
    - ostree_repo_create
    - ostree_repo_new
    - va_arg
    - ostree_repo_set_collection_ref_immediate
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'static OstreeRepo *assert_create_remote_va (Fixture *fixture, GFile
      *repo_dir, va_list args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_shutil_mkdir_p_at_open
      Src: /src/ostree/tests/test-repo-finder-mount.c:235,1
    - Dst: g_mount_get_root
      Src: /src/ostree/tests/test-repo-finder-mount.c:240,1
    - Dst: g_error_matches
      Src: /src/ostree/tests/test-repo-finder-mount.c:236,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:238,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:237,1
    - Dst: g_file_get_child
      Src: /src/ostree/tests/test-repo-finder-mount.c:241,1
    - Dst: g_file_get_child
      Src: /src/ostree/tests/test-repo-finder-mount.c:242,1
    - Dst: va_start
      Src: /src/ostree/tests/test-repo-finder-mount.c:244,1
    - Dst: assert_create_remote_va
      Src: /src/ostree/tests/test-repo-finder-mount.c:245,1
    - Dst: va_end
      Src: /src/ostree/tests/test-repo-finder-mount.c:246,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-repo-finder-mount.c:250,1
    - Dst: g_file_get_uri
      Src: /src/ostree/tests/test-repo-finder-mount.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - fixture
    - repos_dfd
    - repos_mount
    - repo_name
    - out_uri
    - '...'
    argTypes:
    - Fixture*
    - int
    - GMount*
    - char*
    - gchar**
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: assert_create_repo_dir
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - va_end
    - g_file_get_uri
    - glnx_shutil_mkdir_p_at_open
    - g_assert_no_error
    - g_error_matches
    - va_start
    - g_clear_error
    - g_steal_pointer
    - g_mount_get_root
    - assert_create_remote_va
    - g_file_get_child
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'static OstreeRepo *assert_create_repo_dir (Fixture *fixture, int repos_dfd,
      GMount *repos_mount, const char *repo_name, gchar **out_uri, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/ostree/tests/test-repo-finder-mount.c:276,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:279,1
    - Dst: ostree_repo_remote_add
      Src: /src/ostree/tests/test-repo-finder-mount.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - repo
    - remote_name
    - remote_uri
    - collection_id
    argTypes:
    - OstreeRepo*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: assert_create_remote_config
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - ostree_repo_remote_add
    - g_variant_new_parsed
    linkageType: ''
    returnType: void
    signature: 'static void assert_create_remote_config (OstreeRepo *repo, const gchar
      *remote_name, const gchar *remote_uri, const gchar *collection_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/tests/test-repo-finder-mount.c:323,1
    - Dst: ostree_mock_mount_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:330,1
    - Dst: G_MOUNT
      Src: /src/ostree/tests/test-repo-finder-mount.c:330,1
    - Dst: assert_create_repos_dir
      Src: /src/ostree/tests/test-repo-finder-mount.c:334,1
    - Dst: assert_create_repo_dir
      Src: /src/ostree/tests/test-repo-finder-mount.c:335,1
    - Dst: assert_create_repo_dir
      Src: /src/ostree/tests/test-repo-finder-mount.c:338,1
    - Dst: assert_create_repo_symlink
      Src: /src/ostree/tests/test-repo-finder-mount.c:347,1
    - Dst: assert_create_repo_dir
      Src: /src/ostree/tests/test-repo-finder-mount.c:343,1
    - Dst: g_list_prepend
      Src: /src/ostree/tests/test-repo-finder-mount.c:354,1
    - Dst: assert_create_repo_symlink
      Src: /src/ostree/tests/test-repo-finder-mount.c:349,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/tests/test-repo-finder-mount.c:385,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:404,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:424,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:388,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:422,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-mount.c:394,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-mount.c:417,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:418,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-mount.c:410,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:420,1
    - Dst: assert_create_repos_dir
      Src: /src/ostree/tests/test-repo-finder-mount.c:342,1
    - Dst: ostree_repo_finder_resolve_finish
      Src: /src/ostree/tests/test-repo-finder-mount.c:374,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:397,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-mount.c:376,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:397,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:407,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:415,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/tests/test-repo-finder-mount.c:434,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:395,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:414,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:395,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:408,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-mount.c:368,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-mount.c:403,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:404,1
    - Dst: g_file_get_child
      Src: /src/ostree/tests/test-repo-finder-mount.c:329,1
    - Dst: assert_create_repos_dir
      Src: /src/ostree/tests/test-repo-finder-mount.c:332,1
    - Dst: assert_create_repo_symlink
      Src: /src/ostree/tests/test-repo-finder-mount.c:340,1
    - Dst: assert_create_repo_symlink
      Src: /src/ostree/tests/test-repo-finder-mount.c:348,1
    - Dst: g_list_prepend
      Src: /src/ostree/tests/test-repo-finder-mount.c:352,1
    - Dst: g_list_prepend
      Src: /src/ostree/tests/test-repo-finder-mount.c:351,1
    - Dst: g_list_prepend
      Src: /src/ostree/tests/test-repo-finder-mount.c:353,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-mount.c:361,1
    - Dst: ostree_repo_finder_resolve_async
      Src: /src/ostree/tests/test-repo-finder-mount.c:368,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/tests/test-repo-finder-mount.c:372,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-mount.c:377,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:391,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:401,1
    - Dst: g_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:429,1
    - Dst: g_main_context_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:322,1
    - Dst: ostree_mock_volume_monitor_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:356,1
    - Dst: ostree_repo_finder_mount_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:357,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-mount.c:359,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-mount.c:364,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-mount.c:374,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:375,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:392,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-mount.c:394,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-mount.c:410,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:418,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:424,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:411,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-mount.c:417,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-mount.c:403,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:400,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:420,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:422,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:411,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/tests/test-repo-finder-mount.c:387,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 106
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 435
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 435
    functionName: test_repo_finder_mount_mixed_mounts
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - assert_create_remote_config
    - g_key_file_get_string
    - assert_create_repo_symlink
    - ostree_mock_volume_monitor_new
    - g_main_context_new
    - g_strcmp0
    - g_assert_nonnull
    - assert_create_repos_dir
    - g_error
    - g_main_context_push_thread_default
    - g_assert_cmpuint
    - ostree_mock_mount_new
    - g_ptr_array_index
    - OSTREE_REPO_FINDER
    - g_assert_no_error
    - g_list_prepend
    - g_main_context_pop_thread_default
    - g_main_context_iteration
    - ostree_repo_finder_resolve_async
    - ostree_repo_finder_mount_new
    - g_hash_table_size
    - g_assert_cmpstr
    - ostree_repo_finder_resolve_finish
    - G_MOUNT
    - g_hash_table_lookup
    - assert_create_repo_dir
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_mount_mixed_mounts (Fixture *fixture,
      gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_mkdtemp
      Src: /src/ostree/tests/test-repo-finder-mount.c:51,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:52,1
    - Dst: g_error_matches
      Src: /src/ostree/tests/test-repo-finder-mount.c:57,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo-finder-mount.c:54,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/tests/test-repo-finder-mount.c:56,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:58,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:59,1
    - Dst: realpath
      Src: /src/ostree/tests/test-repo-finder-mount.c:62,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/tests/test-repo-finder-mount.c:63,1
    - Dst: ot_test_setup_repo
      Src: /src/ostree/tests/test-repo-finder-mount.c:65,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: setup
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_test_message
    - ot_test_setup_repo
    - realpath
    - g_file_new_for_path
    - g_error_matches
    - g_assert_no_error
    - glnx_shutil_mkdir_p_at
    - glnx_mkdtemp
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: 'static void setup (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/ostree/tests/test-repo-finder-mount.c:535,1
    - Dst: g_test_init
      Src: /src/ostree/tests/test-repo-finder-mount.c:536,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo-finder-mount.c:544,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-repo-finder-mount.c:538,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo-finder-mount.c:539,1
    - Dst: g_test_add
      Src: /src/ostree/tests/test-repo-finder-mount.c:546,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-repo-finder-mount.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 551
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 551
    functionName: main
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_test_add
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/tests/test-repo-finder-mount.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: result_cb
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void result_cb (GObject *source_object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_tmpdir_delete
      Src: /src/ostree/tests/test-repo-finder-mount.c:73,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-repo-finder-mount.c:81,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/tests/test-repo-finder-mount.c:79,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/tests/test-repo-finder-mount.c:78,1
    - Dst: ostree_repo_get_dfd
      Src: /src/ostree/tests/test-repo-finder-mount.c:77,1
    - Dst: g_clear_object
      Src: /src/ostree/tests/test-repo-finder-mount.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: teardown
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - glnx_tmpdir_delete
    - glnx_shutil_rm_rf_at
    - ostree_repo_get_dfd
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/ostree/tests/test-repo-finder-mount.c:154,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:158,1
    - Dst: glnx_shutil_mkdir_p_at_open
      Src: /src/ostree/tests/test-repo-finder-mount.c:155,1
    - Dst: g_error_matches
      Src: /src/ostree/tests/test-repo-finder-mount.c:156,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:157,1
    - Dst: g_steal_fd
      Src: /src/ostree/tests/test-repo-finder-mount.c:160,1
    - Dst: g_file_get_child
      Src: /src/ostree/tests/test-repo-finder-mount.c:161,1
    - Dst: G_MOUNT
      Src: /src/ostree/tests/test-repo-finder-mount.c:162,1
    - Dst: ostree_mock_mount_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - fixture
    - mount_root_name
    - out_repos_dfd
    - out_mount
    argTypes:
    - Fixture*
    - gchar*
    - int*
    - GMount**
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: assert_create_repos_dir
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - glnx_shutil_mkdir_p_at_open
    - g_steal_fd
    - ostree_mock_mount_new
    - g_assert_no_error
    - g_error_matches
    - g_build_filename
    - g_clear_error
    - G_MOUNT
    - g_file_get_child
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean assert_create_repos_dir (Fixture *fixture, const gchar
      *mount_root_name, int *out_repos_dfd, GMount **out_mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/tests/test-repo-finder-mount.c:258,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:262,1
    - Dst: symlinkat
      Src: /src/ostree/tests/test-repo-finder-mount.c:258,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/tests/test-repo-finder-mount.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - repos_dfd
    - repo_name
    - symlink_target_path
    argTypes:
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: assert_create_repo_symlink
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - TEMP_FAILURE_RETRY
    - symlinkat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: void
    signature: 'static void assert_create_repo_symlink (int repos_dfd, const char
      *repo_name, const char *symlink_target_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_resolve_finish
      Src: /src/ostree/tests/test-repo-finder-mount.c:491,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:492,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:511,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:515,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-mount.c:517,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:518,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/tests/test-repo-finder-mount.c:518,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/tests/test-repo-finder-mount.c:525,1
    - Dst: g_test_message
      Src: /src/ostree/tests/test-repo-finder-mount.c:523,1
    - Dst: assert_create_repo_dir
      Src: /src/ostree/tests/test-repo-finder-mount.c:468,1
    - Dst: assert_create_repo_dir
      Src: /src/ostree/tests/test-repo-finder-mount.c:470,1
    - Dst: g_list_prepend
      Src: /src/ostree/tests/test-repo-finder-mount.c:474,1
    - Dst: ostree_mock_volume_monitor_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:476,1
    - Dst: ostree_repo_finder_mount_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:477,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-mount.c:479,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/tests/test-repo-finder-mount.c:504,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:508,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-mount.c:510,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-repo-finder-mount.c:511,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:514,1
    - Dst: g_main_context_new
      Src: /src/ostree/tests/test-repo-finder-mount.c:460,1
    - Dst: ostree_repo_finder_resolve_async
      Src: /src/ostree/tests/test-repo-finder-mount.c:485,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/tests/test-repo-finder-mount.c:489,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-mount.c:485,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/tests/test-repo-finder-mount.c:502,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-mount.c:510,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/tests/test-repo-finder-mount.c:529,1
    - Dst: assert_create_repos_dir
      Src: /src/ostree/tests/test-repo-finder-mount.c:467,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/tests/test-repo-finder-mount.c:461,1
    - Dst: assert_create_repo_symlink
      Src: /src/ostree/tests/test-repo-finder-mount.c:472,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/tests/test-repo-finder-mount.c:491,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/tests/test-repo-finder-mount.c:494,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/tests/test-repo-finder-mount.c:493,1
    - Dst: assert_create_remote_config
      Src: /src/ostree/tests/test-repo-finder-mount.c:481,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-repo-finder-mount.c:505,1
    - Dst: g_strcmp0
      Src: /src/ostree/tests/test-repo-finder-mount.c:508,1
    - Dst: g_hash_table_size
      Src: /src/ostree/tests/test-repo-finder-mount.c:517,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 530
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 530
    functionName: test_repo_finder_mount_well_known
    functionSourceFile: /src/ostree/tests/test-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - assert_create_remote_config
    - g_key_file_get_string
    - assert_create_repo_symlink
    - ostree_mock_volume_monitor_new
    - g_main_context_new
    - g_strcmp0
    - g_assert_nonnull
    - assert_create_repos_dir
    - g_assert_not_reached
    - g_main_context_push_thread_default
    - g_assert_cmpuint
    - g_ptr_array_index
    - OSTREE_REPO_FINDER
    - g_assert_no_error
    - g_list_prepend
    - g_main_context_pop_thread_default
    - g_main_context_iteration
    - ostree_repo_finder_resolve_async
    - ostree_repo_finder_mount_new
    - g_test_message
    - g_hash_table_size
    - g_assert_cmpstr
    - ostree_repo_finder_resolve_finish
    - g_hash_table_lookup
    - assert_create_repo_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_repo_finder_mount_well_known (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/ostree/tests/test-otcore.c:24,1
    - Dst: otcore_validate_ed25519_signature
      Src: /src/ostree/tests/test-otcore.c:27,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:29,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-otcore.c:30,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/tests/test-otcore.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: test_ed25519
    functionSourceFile: /src/ostree/tests/test-otcore.c
    functionUses: []
    functionsReached:
    - g_bytes_new_static
    - otcore_validate_ed25519_signature
    - g_assert
    - g_assert_not_reached
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: 'static void test_ed25519 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/tests/test-otcore.c:134,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-otcore.c:137,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-otcore.c:136,1
    - Dst: g_test_add_func
      Src: /src/ostree/tests/test-otcore.c:138,1
    - Dst: otcore_ed25519_init
      Src: /src/ostree/tests/test-otcore.c:135,1
    - Dst: g_test_run
      Src: /src/ostree/tests/test-otcore.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/ostree/tests/test-otcore.c
    functionUses: []
    functionsReached:
    - otcore_ed25519_init
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-otcore.c:44,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:49,1
    - Dst: free
      Src: /src/ostree/tests/test-otcore.c:53,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:56,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-otcore.c:59,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-otcore.c:65,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:71,1
    - Dst: g_clear_error
      Src: /src/ostree/tests/test-otcore.c:73,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:76,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-otcore.c:79,1
    - Dst: otcore_get_ostree_target
      Src: /src/ostree/tests/test-otcore.c:43,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:45,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-otcore.c:58,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:62,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-otcore.c:78,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-otcore.c:51,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-otcore.c:60,1
    - Dst: otcore_get_ostree_target
      Src: /src/ostree/tests/test-otcore.c:56,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-otcore.c:66,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:72,1
    - Dst: otcore_get_ostree_target
      Src: /src/ostree/tests/test-otcore.c:76,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-otcore.c:80,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:43,1
    - Dst: otcore_get_ostree_target
      Src: /src/ostree/tests/test-otcore.c:50,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-otcore.c:52,1
    - Dst: g_steal_pointer
      Src: /src/ostree/tests/test-otcore.c:53,1
    - Dst: free
      Src: /src/ostree/tests/test-otcore.c:60,1
    - Dst: otcore_get_ostree_target
      Src: /src/ostree/tests/test-otcore.c:62,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-otcore.c:64,1
    - Dst: free
      Src: /src/ostree/tests/test-otcore.c:66,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:69,1
    - Dst: otcore_get_ostree_target
      Src: /src/ostree/tests/test-otcore.c:69,1
    - Dst: free
      Src: /src/ostree/tests/test-otcore.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 81
    functionName: test_prepare_root_cmdline
    functionSourceFile: /src/ostree/tests/test-otcore.c
    functionUses: []
    functionsReached:
    - free
    - g_assert
    - otcore_get_ostree_target
    - g_assert_no_error
    - g_assert_cmpstr
    - g_clear_error
    - g_steal_pointer
    linkageType: ''
    returnType: void
    signature: 'static void test_prepare_root_cmdline (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_groups
      Src: /src/ostree/tests/test-otcore.c:98,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:99,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/tests/test-otcore.c:103,1
    - Dst: g_key_file_get_groups
      Src: /src/ostree/tests/test-otcore.c:111,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:112,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/tests/test-otcore.c:116,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:117,1
    - Dst: g_key_file_get_groups
      Src: /src/ostree/tests/test-otcore.c:125,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:90,1
    - Dst: glnx_mkdtempat
      Src: /src/ostree/tests/test-otcore.c:90,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/tests/test-otcore.c:102,1
    - Dst: otcore_load_config
      Src: /src/ostree/tests/test-otcore.c:109,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-otcore.c:113,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:116,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:97,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:103,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:110,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/tests/test-otcore.c:117,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:124,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:126,1
    - Dst: otcore_load_config
      Src: /src/ostree/tests/test-otcore.c:96,1
    - Dst: g_assert_no_error
      Src: /src/ostree/tests/test-otcore.c:91,1
    - Dst: g_assert
      Src: /src/ostree/tests/test-otcore.c:102,1
    - Dst: otcore_load_config
      Src: /src/ostree/tests/test-otcore.c:123,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/tests/test-otcore.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 129
    functionName: test_prepare_root_config
    functionSourceFile: /src/ostree/tests/test-otcore.c
    functionUses: []
    functionsReached:
    - glnx_file_replace_contents_at
    - g_assert
    - otcore_load_config
    - g_assert_no_error
    - glnx_shutil_mkdir_p_at
    - g_assert_cmpstr
    - glnx_mkdtempat
    - g_key_file_get_groups
    linkageType: ''
    returnType: void
    signature: 'static void test_prepare_root_config (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: offtin
    functionSourceFile: /src/ostree/bsdiff/bspatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t offtin(uint8_t *buf) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: offtin
      Src: /src/ostree/bsdiff/bspatch.c:156,1
    - Dst: err
      Src: /src/ostree/bsdiff/bspatch.c:167,1
    - Dst: BZ2_bzReadOpen
      Src: /src/ostree/bsdiff/bspatch.c:170,1
    - Dst: fclose
      Src: /src/ostree/bsdiff/bspatch.c:180,1
    - Dst: open
      Src: /src/ostree/bsdiff/bspatch.c:183,1
    - Dst: close
      Src: /src/ostree/bsdiff/bspatch.c:184,1
    - Dst: free
      Src: /src/ostree/bsdiff/bspatch.c:187,1
    - Dst: fread
      Src: /src/ostree/bsdiff/bspatch.c:145,1
    - Dst: fopen
      Src: /src/ostree/bsdiff/bspatch.c:141,1
    - Dst: memcmp
      Src: /src/ostree/bsdiff/bspatch.c:152,1
    - Dst: lseek
      Src: /src/ostree/bsdiff/bspatch.c:164,1
    - Dst: open
      Src: /src/ostree/bsdiff/bspatch.c:161,1
    - Dst: fstat
      Src: /src/ostree/bsdiff/bspatch.c:166,1
    - Dst: malloc
      Src: /src/ostree/bsdiff/bspatch.c:168,1
    - Dst: err
      Src: /src/ostree/bsdiff/bspatch.c:168,1
    - Dst: errx
      Src: /src/ostree/bsdiff/bspatch.c:171,1
    - Dst: errx
      Src: /src/ostree/bsdiff/bspatch.c:176,1
    - Dst: errx
      Src: /src/ostree/bsdiff/bspatch.c:138,1
    - Dst: err
      Src: /src/ostree/bsdiff/bspatch.c:142,1
    - Dst: err
      Src: /src/ostree/bsdiff/bspatch.c:148,1
    - Dst: errx
      Src: /src/ostree/bsdiff/bspatch.c:158,1
    - Dst: close
      Src: /src/ostree/bsdiff/bspatch.c:167,1
    - Dst: bspatch
      Src: /src/ostree/bsdiff/bspatch.c:175,1
    - Dst: err
      Src: /src/ostree/bsdiff/bspatch.c:185,1
    - Dst: BZ2_bzReadClose
      Src: /src/ostree/bsdiff/bspatch.c:179,1
    - Dst: feof
      Src: /src/ostree/bsdiff/bspatch.c:146,1
    - Dst: errx
      Src: /src/ostree/bsdiff/bspatch.c:147,1
    - Dst: errx
      Src: /src/ostree/bsdiff/bspatch.c:153,1
    - Dst: malloc
      Src: /src/ostree/bsdiff/bspatch.c:163,1
    - Dst: read
      Src: /src/ostree/bsdiff/bspatch.c:165,1
    - Dst: lseek
      Src: /src/ostree/bsdiff/bspatch.c:162,1
    - Dst: write
      Src: /src/ostree/bsdiff/bspatch.c:184,1
    - Dst: free
      Src: /src/ostree/bsdiff/bspatch.c:188,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 191
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 191
    functionName: main
    functionSourceFile: /src/ostree/bsdiff/bspatch.c
    functionUses: []
    functionsReached:
    - lseek
    - free
    - malloc
    - read
    - offtin
    - errx
    - BZ2_bzReadOpen
    - BZ2_bzReadClose
    - close
    - fclose
    - memcmp
    - open
    - fstat
    - err
    - feof
    - write
    - bspatch
    - fopen
    - fread
    linkageType: ''
    returnType: int
    signature: 'int main(int argc,char * argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BZ2_bzRead
      Src: /src/ostree/bsdiff/bspatch.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - buffer
    - length
    argTypes:
    - struct bspatch_stream*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: bz2_read
    functionSourceFile: /src/ostree/bsdiff/bspatch.c
    functionUses: []
    functionsReached:
    - BZ2_bzRead
    linkageType: ''
    returnType: int
    signature: 'static int bz2_read(const struct bspatch_stream* stream, void* buffer,
      int length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: offtin
      Src: /src/ostree/bsdiff/bspatch.c:61,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 5
    argNames:
    - old
    - oldsize
    - new
    - newsize
    - stream
    argTypes:
    - uint8_t*
    - int64_t
    - uint8_t*
    - int64_t
    - struct bspatch_stream*
    constantsTouched: []
    func_position:
      end: 97
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 97
    functionName: bspatch
    functionSourceFile: /src/ostree/bsdiff/bspatch.c
    functionUses: []
    functionsReached:
    - offtin
    linkageType: ''
    returnType: int
    signature: 'int bspatch(const uint8_t* old, int64_t oldsize, uint8_t* new, int64_t
      newsize, struct bspatch_stream* stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: matchlen
      Src: /src/ostree/bsdiff/bsdiff.c:149,1
    - Dst: matchlen
      Src: /src/ostree/bsdiff/bsdiff.c:150,1
    - Dst: MIN
      Src: /src/ostree/bsdiff/bsdiff.c:162,1
    - Dst: memcmp
      Src: /src/ostree/bsdiff/bsdiff.c:162,1
    - Dst: search
      Src: /src/ostree/bsdiff/bsdiff.c:163,1
    - Dst: search
      Src: /src/ostree/bsdiff/bsdiff.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 8
    argNames:
    - I
    - old
    - oldsize
    - new
    - newsize
    - st
    - en
    - pos
    argTypes:
    - int64_t*
    - uint8_t*
    - int64_t
    - uint8_t*
    - int64_t
    - int64_t
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 167
    functionName: search
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached:
    - search
    - memcmp
    - MIN
    - matchlen
    linkageType: ''
    returnType: int64_t
    signature: "static int64_t search(const int64_t *I,const uint8_t *old,int64_t
      oldsize,\t\tconst uint8_t *new,int64_t newsize,int64_t st,int64_t en,int64_t
      *pos) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/ostree/bsdiff/bsdiff.c:122,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 4
    argNames:
    - I
    - V
    - old
    - oldsize
    argTypes:
    - int64_t*
    - int64_t*
    - uint8_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 131
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 131
    functionName: qsufsort
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached:
    - split
    linkageType: ''
    returnType: void
    signature: 'static void qsufsort(int64_t *I,int64_t *V,const uint8_t *old,int64_t
      oldsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/ostree/bsdiff/bsdiff.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - buffer
    - length
    argTypes:
    - struct bsdiff_stream*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: writedata
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached:
    - MIN
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t writedata(struct bsdiff_stream* stream, const void*
      buffer, int64_t length) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: qsufsort
      Src: /src/ostree/bsdiff/bsdiff.c:234,1
    - Dst: offtout
      Src: /src/ostree/bsdiff/bsdiff.c:294,1
    - Dst: search
      Src: /src/ostree/bsdiff/bsdiff.c:246,1
    - Dst: offtout
      Src: /src/ostree/bsdiff/bsdiff.c:295,1
    - Dst: offtout
      Src: /src/ostree/bsdiff/bsdiff.c:296,1
    - Dst: writedata
      Src: /src/ostree/bsdiff/bsdiff.c:299,1
    - Dst: writedata
      Src: /src/ostree/bsdiff/bsdiff.c:305,1
    - Dst: writedata
      Src: /src/ostree/bsdiff/bsdiff.c:311,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 164
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct bsdiff_request
    constantsTouched: []
    func_position:
      end: 321
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 321
    functionName: bsdiff_internal
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached:
    - search
    - writedata
    - offtout
    - qsufsort
    linkageType: ''
    returnType: int
    signature: 'static int bsdiff_internal(const struct bsdiff_request req) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/ostree/bsdiff/bsdiff.c:87,1
    - Dst: split
      Src: /src/ostree/bsdiff/bsdiff.c:92,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 113
    argCount: 5
    argNames:
    - I
    - V
    - start
    - len
    - h
    argTypes:
    - int64_t*
    - int64_t*
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 93
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 93
    functionName: split
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached:
    - split
    linkageType: ''
    returnType: void
    signature: 'static void split(int64_t *I,int64_t *V,int64_t start,int64_t len,int64_t
      h) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - old
    - oldsize
    - new
    - newsize
    argTypes:
    - uint8_t*
    - int64_t
    - uint8_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: matchlen
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t matchlen(const uint8_t *old,int64_t oldsize,const uint8_t
      *new,int64_t newsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 2
    argNames:
    - x
    - buf
    argTypes:
    - int64_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: offtout
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void offtout(int64_t x,uint8_t *buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsdiff_internal
      Src: /src/ostree/bsdiff/bsdiff.c:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - old
    - oldsize
    - new
    - newsize
    - stream
    argTypes:
    - uint8_t*
    - int64_t
    - uint8_t*
    - int64_t
    - struct bsdiff_stream*
    constantsTouched: []
    func_position:
      end: 349
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 349
    functionName: bsdiff
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached:
    - bsdiff_internal
    linkageType: ''
    returnType: int
    signature: 'int bsdiff(const uint8_t* old, int64_t oldsize, const uint8_t* new,
      int64_t newsize, struct bsdiff_stream* stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BZ2_bzWrite
      Src: /src/ostree/bsdiff/bsdiff.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - buffer
    - size
    argTypes:
    - struct bsdiff_stream*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: bz2_write
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached:
    - BZ2_bzWrite
    linkageType: ''
    returnType: int
    signature: 'static int bz2_write(struct bsdiff_stream* stream, const void* buffer,
      int size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: errx
      Src: /src/ostree/bsdiff/bsdiff.c:391,1
    - Dst: close
      Src: /src/ostree/bsdiff/bsdiff.c:400,1
    - Dst: open
      Src: /src/ostree/bsdiff/bsdiff.c:405,1
    - Dst: lseek
      Src: /src/ostree/bsdiff/bsdiff.c:408,1
    - Dst: lseek
      Src: /src/ostree/bsdiff/bsdiff.c:406,1
    - Dst: malloc
      Src: /src/ostree/bsdiff/bsdiff.c:407,1
    - Dst: BZ2_bzWriteOpen
      Src: /src/ostree/bsdiff/bsdiff.c:423,1
    - Dst: BZ2_bzWriteClose
      Src: /src/ostree/bsdiff/bsdiff.c:430,1
    - Dst: err
      Src: /src/ostree/bsdiff/bsdiff.c:432,1
    - Dst: fclose
      Src: /src/ostree/bsdiff/bsdiff.c:434,1
    - Dst: free
      Src: /src/ostree/bsdiff/bsdiff.c:439,1
    - Dst: open
      Src: /src/ostree/bsdiff/bsdiff.c:395,1
    - Dst: read
      Src: /src/ostree/bsdiff/bsdiff.c:399,1
    - Dst: close
      Src: /src/ostree/bsdiff/bsdiff.c:410,1
    - Dst: fwrite
      Src: /src/ostree/bsdiff/bsdiff.c:419,1
    - Dst: errx
      Src: /src/ostree/bsdiff/bsdiff.c:424,1
    - Dst: err
      Src: /src/ostree/bsdiff/bsdiff.c:435,1
    - Dst: memset
      Src: /src/ostree/bsdiff/bsdiff.c:386,1
    - Dst: err
      Src: /src/ostree/bsdiff/bsdiff.c:400,1
    - Dst: err
      Src: /src/ostree/bsdiff/bsdiff.c:414,1
    - Dst: read
      Src: /src/ostree/bsdiff/bsdiff.c:409,1
    - Dst: fwrite
      Src: /src/ostree/bsdiff/bsdiff.c:418,1
    - Dst: bsdiff
      Src: /src/ostree/bsdiff/bsdiff.c:427,1
    - Dst: free
      Src: /src/ostree/bsdiff/bsdiff.c:438,1
    - Dst: lseek
      Src: /src/ostree/bsdiff/bsdiff.c:396,1
    - Dst: malloc
      Src: /src/ostree/bsdiff/bsdiff.c:397,1
    - Dst: lseek
      Src: /src/ostree/bsdiff/bsdiff.c:398,1
    - Dst: offtout
      Src: /src/ostree/bsdiff/bsdiff.c:417,1
    - Dst: fopen
      Src: /src/ostree/bsdiff/bsdiff.c:413,1
    - Dst: err
      Src: /src/ostree/bsdiff/bsdiff.c:410,1
    - Dst: err
      Src: /src/ostree/bsdiff/bsdiff.c:420,1
    - Dst: err
      Src: /src/ostree/bsdiff/bsdiff.c:428,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 442
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 442
    functionName: main
    functionSourceFile: /src/ostree/bsdiff/bsdiff.c
    functionUses: []
    functionsReached:
    - bsdiff
    - lseek
    - free
    - err
    - malloc
    - BZ2_bzWriteClose
    - fwrite
    - close
    - memset
    - read
    - offtout
    - fclose
    - fopen
    - BZ2_bzWriteOpen
    - errx
    - open
    linkageType: ''
    returnType: int
    signature: 'int main(int argc,char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:52,1
    - Dst: strdup
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:62,1
    - Dst: strncmp
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:56,1
    - Dst: strchr
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:55,1
    - Dst: strndup
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:60,1
    - Dst: strspn
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:66,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - cmdline
    - key
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: otcore_find_proc_cmdline_key
    functionSourceFile: /src/ostree/src/libotcore/otcore-prepare-root.c
    functionUses: []
    functionsReached:
    - strlen
    - strdup
    - strspn
    - strchr
    - strndup
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'char *otcore_find_proc_cmdline_key (const char *cmdline, const char
      *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:133,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:139,1
    - Dst: glnx_fd_readall_utf8
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:145,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:135,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:138,1
    - Dst: g_key_file_load_from_data
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:148,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 3
    argNames:
    - rootfs_fd
    - filename
    - error
    argTypes:
    - int
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: otcore_load_config
    functionSourceFile: /src/ostree/src/libotcore/otcore-prepare-root.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_key_file_new
    - glnx_fd_readall_utf8
    - g_build_filename
    - g_steal_pointer
    - ot_openat_ignore_enoent
    - G_N_ELEMENTS
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *otcore_load_config (int rootfs_fd, const char *filename,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:34,1
    - Dst: strspn
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:41,1
    - Dst: strchr
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - cmdline
    - key
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: proc_cmdline_has_key_starting_with
    functionSourceFile: /src/ostree/src/libotcore/otcore-prepare-root.c
    functionUses: []
    functionsReached:
    - strchr
    - g_str_has_prefix
    - strspn
    linkageType: ''
    returnType: bool
    signature: 'static bool proc_cmdline_has_key_starting_with (const char *cmdline,
      const char *key) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:82,1
    - Dst: strcmp
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:97,1
    - Dst: otcore_find_proc_cmdline_key
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:88,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:83,1
    - Dst: g_strdup
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:99,1
    - Dst: strcmp
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:102,1
    - Dst: g_strdup
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:104,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:107,1
    - Dst: proc_cmdline_has_key_starting_with
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:113,1
    - Dst: g_strdup
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:117,1
    - Dst: otcore_find_proc_cmdline_key
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:122,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 4
    argNames:
    - cmdline
    - is_aboot
    - out_target
    - error
    argTypes:
    - char*
    - gboolean*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 124
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 124
    functionName: otcore_get_ostree_target
    functionSourceFile: /src/ostree/src/libotcore/otcore-prepare-root.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert
    - glnx_throw
    - strcmp
    - proc_cmdline_has_key_starting_with
    - otcore_find_proc_cmdline_key
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean otcore_get_ostree_target (const char *cmdline, gboolean *is_aboot,
      char **out_target, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:158,1
    - Dst: g_free
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:159,1
    - Dst: g_free
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - config
    argTypes:
    - ComposefsConfig*
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: otcore_free_composefs_config
    functionSourceFile: /src/ostree/src/libotcore/otcore-prepare-root.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void otcore_free_composefs_config (ComposefsConfig *config) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:177,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:243,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:168,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:169,1
    - Dst: g_key_file_get_value
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:175,1
    - Dst: g_file_get_contents
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:209,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:222,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:213,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:232,1
    - Dst: g_new0
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:173,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:171,1
    - Dst: ot_keyfile_get_tristate_with_default
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:189,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:195,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:202,1
    - Dst: g_base64_decode
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:221,1
    - Dst: otcore_find_proc_cmdline_key
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:229,1
    - Dst: glnx_null_throw
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:226,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:242,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:247,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:183,1
    - Dst: glnx_prefix_error_null
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:210,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:222,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotcore/otcore-prepare-root.c:222,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 4
    argNames:
    - cmdline
    - config
    - load_keys
    - error
    argTypes:
    - char*
    - GKeyFile*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 248
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 248
    functionName: otcore_load_composefs_config
    functionSourceFile: /src/ostree/src/libotcore/otcore-prepare-root.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_key_file_get_value
    - g_steal_pointer
    - _ostree_parse_tristate
    - ot_keyfile_get_value_with_default
    - g_bytes_new_take
    - ot_keyfile_get_tristate_with_default
    - GLNX_AUTO_PREFIX_ERROR
    - g_strcmp0
    - glnx_prefix_error_null
    - g_strsplit
    - glnx_prefix_error
    - otcore_find_proc_cmdline_key
    - g_ptr_array_add
    - g_new0
    - g_assert
    - glnx_null_throw
    - g_file_get_contents
    - g_base64_decode
    linkageType: ''
    returnType: ComposefsConfig*
    signature: 'ComposefsConfig *otcore_load_composefs_config (const char *cmdline,
      GKeyFile *config, gboolean load_keys, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: otcore_spki_init
    functionSourceFile: /src/ostree/src/libotcore/otcore-spki-verify.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool otcore_spki_init (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:41,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:44,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:60,1
    - Dst: EVP_MD_CTX_new
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:64,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:77,1
    - Dst: EVP_DigestVerify
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:76,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:75,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:76,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:49,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:42,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:73,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:43,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:52,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:55,1
    - Dst: EVP_MD_CTX_free
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:83,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:66,1
    - Dst: d2i_PUBKEY
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:69,1
    - Dst: EVP_PKEY_free
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:82,1
    - Dst: EVP_MD_CTX_free
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:72,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-spki-verify.c:86,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 5
    argNames:
    - data
    - public_key
    - signature
    - out_valid
    - error
    argTypes:
    - GBytes*
    - GBytes*
    - GBytes*
    - bool*
    - GError**
    constantsTouched: []
    func_position:
      end: 88
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 88
    functionName: otcore_validate_spki_signature
    functionSourceFile: /src/ostree/src/libotcore/otcore-spki-verify.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - d2i_PUBKEY
    - g_assert
    - EVP_DigestVerifyInit
    - EVP_DigestVerify
    - EVP_MD_CTX_new
    - EVP_PKEY_free
    - glnx_throw
    - EVP_MD_CTX_free
    - g_bytes_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean otcore_validate_spki_signature (GBytes *data, GBytes *public_key,
      GBytes *signature, bool *out_valid, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:27,1
    - Dst: sodium_init
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:29,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:30,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 44
    functionName: otcore_ed25519_init
    functionSourceFile: /src/ostree/src/libotcore/otcore-ed25519-verify.c
    functionUses: []
    functionsReached:
    - sodium_init
    - g_assert_not_reached
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: bool
    signature: 'bool otcore_ed25519_init (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:67,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:62,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:60,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:69,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:71,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:93,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:84,1
    - Dst: EVP_DigestVerify
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:102,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:103,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:61,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:83,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:94,1
    - Dst: EVP_MD_CTX_free
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:98,1
    - Dst: crypto_sign_verify_detached
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:83,1
    - Dst: EVP_PKEY_free
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:108,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:112,1
    - Dst: g_assert
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:59,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:75,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:101,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:103,1
    - Dst: EVP_MD_CTX_free
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:109,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:68,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:72,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:73,1
    - Dst: EVP_MD_CTX_new
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:91,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:76,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotcore/otcore-ed25519-verify.c:99,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 5
    argNames:
    - data
    - public_key
    - signature
    - out_valid
    - error
    argTypes:
    - GBytes*
    - GBytes*
    - GBytes*
    - bool*
    - GError**
    constantsTouched: []
    func_position:
      end: 114
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 114
    functionName: otcore_validate_ed25519_signature
    functionSourceFile: /src/ostree/src/libotcore/otcore-ed25519-verify.c
    functionUses: []
    functionsReached:
    - crypto_sign_verify_detached
    - EVP_PKEY_new_raw_public_key
    - g_bytes_get_data
    - EVP_DigestVerifyInit
    - g_assert
    - EVP_DigestVerify
    - EVP_MD_CTX_new
    - EVP_PKEY_free
    - glnx_throw
    - EVP_MD_CTX_free
    - g_bytes_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean otcore_validate_ed25519_signature (GBytes *data, GBytes *public_key,
      GBytes *signature, bool *out_valid, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/ostree/src/rofiles-fuse/main.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: ENSURE_RELPATH
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - strspn
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *ENSURE_RELPATH (const char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:171,1
    - Dst: unlinkat
      Src: /src/ostree/src/rofiles-fuse/main.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: callback_unlink
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - ENSURE_RELPATH
    - unlinkat
    linkageType: ''
    returnType: int
    signature: 'static int callback_unlink (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_open
      Src: /src/ostree/src/rofiles-fuse/main.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - path
    - mode
    - finfo
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: callback_create
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - do_open
    linkageType: ''
    returnType: int
    signature: 'static int callback_create (const char *path, mode_t mode, struct
      fuse_file_info *finfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/ostree/src/rofiles-fuse/main.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - path
    - finfo
    argTypes:
    - char*
    - struct fuse_file_info*
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: callback_release
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: 'static int callback_release (const char *path, struct fuse_file_info
      *finfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:634,1
    - Dst: snprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:637,1
    - Dst: lremovexattr
      Src: /src/ostree/src/rofiles-fuse/main.c:639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - path
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 642
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 642
    functionName: callback_removexattr
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - ENSURE_RELPATH
    - lremovexattr
    - snprintf
    linkageType: ''
    returnType: int
    signature: 'static int callback_removexattr (const char *path, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:180,1
    - Dst: unlinkat
      Src: /src/ostree/src/rofiles-fuse/main.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: callback_rmdir
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - ENSURE_RELPATH
    - unlinkat
    linkageType: ''
    returnType: int
    signature: 'static int callback_rmdir (const char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/ostree/src/rofiles-fuse/main.c:499,1
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/ostree/src/rofiles-fuse/main.c:503,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 5
    argNames:
    - path
    - bufp
    - size
    - offset
    - finfo
    argTypes:
    - char*
    - struct fuse_bufvec**
    - size_t
    - off_t
    - struct fuse_file_info*
    constantsTouched: []
    func_position:
      end: 511
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 511
    functionName: callback_read_buf
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - FUSE_BUFVEC_INIT
    - malloc
    linkageType: ''
    returnType: int
    signature: 'static int callback_read_buf (const char *path, struct fuse_bufvec
      **bufp, size_t size, off_t offset, struct fuse_file_info *finfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fsync
      Src: /src/ostree/src/rofiles-fuse/main.c:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - path
    - crap
    - finfo
    argTypes:
    - char*
    - int
    - struct fuse_file_info*
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: callback_fsync
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - fsync
    linkageType: ''
    returnType: int
    signature: 'static int callback_fsync (const char *path, int crap, struct fuse_file_info
      *finfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 696
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 696
    functionName: usage
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage (const char *progname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/ostree/src/rofiles-fuse/main.c:517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - finfo
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    constantsTouched: []
    func_position:
      end: 521
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 521
    functionName: callback_read
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - pread
    linkageType: ''
    returnType: int
    signature: 'static int callback_read (const char *path, char *buf, size_t size,
      off_t offset, struct fuse_file_info *finfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:617,1
    - Dst: snprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:620,1
    - Dst: llistxattr
      Src: /src/ostree/src/rofiles-fuse/main.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - path
    - list
    - size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 626
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 626
    functionName: callback_listxattr
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - llistxattr
    - ENSURE_RELPATH
    - snprintf
    linkageType: ''
    returnType: int
    signature: 'static int callback_listxattr (const char *path, char *list, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/ostree/src/rofiles-fuse/main.c:527,1
    - Dst: fuse_buf_copy
      Src: /src/ostree/src/rofiles-fuse/main.c:533,1
    - Dst: fuse_buf_size
      Src: /src/ostree/src/rofiles-fuse/main.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - path
    - buf
    - offset
    - finfo
    argTypes:
    - char*
    - struct fuse_bufvec*
    - off_t
    - struct fuse_file_info*
    constantsTouched: []
    func_position:
      end: 534
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 534
    functionName: callback_write_buf
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - fuse_buf_copy
    - FUSE_BUFVEC_INIT
    - fuse_buf_size
    linkageType: ''
    returnType: int
    signature: 'static int callback_write_buf (const char *path, struct fuse_bufvec
      *buf, off_t offset, struct fuse_file_info *finfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/ostree/src/rofiles-fuse/main.c:741,1
    - Dst: fprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:747,1
    - Dst: exit
      Src: /src/ostree/src/rofiles-fuse/main.c:749,1
    - Dst: fuse_opt_parse
      Src: /src/ostree/src/rofiles-fuse/main.c:744,1
    - Dst: fprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:748,1
    - Dst: fprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:753,1
    - Dst: fprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:754,1
    - Dst: exit
      Src: /src/ostree/src/rofiles-fuse/main.c:755,1
    - Dst: fuse_main
      Src: /src/ostree/src/rofiles-fuse/main.c:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 760
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 760
    functionName: main
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - FUSE_ARGS_INIT
    - fprintf
    - exit
    - fuse_opt_parse
    - fuse_main
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:600,1
    - Dst: snprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:603,1
    - Dst: getxattr
      Src: /src/ostree/src/rofiles-fuse/main.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - path
    - name
    - value
    - size
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 609
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 609
    functionName: callback_getxattr
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - ENSURE_RELPATH
    - snprintf
    - getxattr
    linkageType: ''
    returnType: int
    signature: 'static int callback_getxattr (const char *path, const char *name,
      char *value, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - path
    - mode
    - rdev
    argTypes:
    - char*
    - mode_t
    - dev_t
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: callback_mknod
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int callback_mknod (const char *path, mode_t mode, dev_t rdev) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: statx
      Src: /src/ostree/src/rofiles-fuse/main.c:329,1
    - Dst: gioerror_to_errno
      Src: /src/ostree/src/rofiles-fuse/main.c:348,1
    - Dst: copyup
      Src: /src/ostree/src/rofiles-fuse/main.c:347,1
    - Dst: can_write_stbuf
      Src: /src/ostree/src/rofiles-fuse/main.c:342,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - path
    - stbuf
    argTypes:
    - char*
    - struct statx*
    constantsTouched: []
    func_position:
      end: 355
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 355
    functionName: verify_write_or_copyup
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - can_write_stbuf
    - copyup
    - gioerror_to_errno
    - statx
    linkageType: ''
    returnType: int
    signature: 'static int verify_write_or_copyup (const char *path, const struct
      statx *stbuf) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:446,1
    - Dst: verify_write_or_copyup
      Src: /src/ostree/src/rofiles-fuse/main.c:466,1
    - Dst: openat
      Src: /src/ostree/src/rofiles-fuse/main.c:451,1
    - Dst: openat
      Src: /src/ostree/src/rofiles-fuse/main.c:471,1
    - Dst: statx
      Src: /src/ostree/src/rofiles-fuse/main.c:458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - path
    - mode
    - finfo
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    constantsTouched: []
    func_position:
      end: 479
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 479
    functionName: do_open
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - ENSURE_RELPATH
    - statx
    - openat
    - verify_write_or_copyup
    linkageType: ''
    returnType: int
    signature: 'static int do_open (const char *path, mode_t mode, struct fuse_file_info
      *finfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pwrite
      Src: /src/ostree/src/rofiles-fuse/main.c:541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - finfo
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    constantsTouched: []
    func_position:
      end: 545
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 545
    functionName: callback_write
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - pwrite
    linkageType: ''
    returnType: int
    signature: 'static int callback_write (const char *path, const char *buf, size_t
      size, off_t offset, struct fuse_file_info *finfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: openat
      Src: /src/ostree/src/rofiles-fuse/main.c:709,1
    - Dst: fprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:727,1
    - Dst: err
      Src: /src/ostree/src/rofiles-fuse/main.c:711,1
    - Dst: exit
      Src: /src/ostree/src/rofiles-fuse/main.c:722,1
    - Dst: usage
      Src: /src/ostree/src/rofiles-fuse/main.c:721,1
    - Dst: exit
      Src: /src/ostree/src/rofiles-fuse/main.c:728,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - data
    - arg
    - key
    - outargs
    argTypes:
    - void*
    - char*
    - int
    - struct fuse_args*
    constantsTouched: []
    func_position:
      end: 731
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 731
    functionName: rofs_parse_opt
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - usage
    - err
    - fprintf
    - exit
    - openat
    linkageType: ''
    returnType: int
    signature: 'static int rofs_parse_opt (void *data, const char *arg, int key, struct
      fuse_args *outargs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:87,1
    - Dst: readlinkat
      Src: /src/ostree/src/rofiles-fuse/main.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - path
    - buf
    - size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: callback_readlink
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - ENSURE_RELPATH
    - readlinkat
    linkageType: ''
    returnType: int
    signature: 'static int callback_readlink (const char *path, char *buf, size_t
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:162,1
    - Dst: mkdirat
      Src: /src/ostree/src/rofiles-fuse/main.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: callback_mkdir
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - ENSURE_RELPATH
    - mkdirat
    linkageType: ''
    returnType: int
    signature: 'static int callback_mkdir (const char *path, mode_t mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:227,1
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:228,1
    - Dst: linkat
      Src: /src/ostree/src/rofiles-fuse/main.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: callback_link
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - ENSURE_RELPATH
    - linkat
    linkageType: ''
    returnType: int
    signature: 'static int callback_link (const char *from, const char *to) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_open
      Src: /src/ostree/src/rofiles-fuse/main.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - path
    - finfo
    argTypes:
    - char*
    - struct fuse_file_info*
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: callback_open
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - do_open
    linkageType: ''
    returnType: int
    signature: 'static int callback_open (const char *path, struct fuse_file_info
      *finfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstatvfs
      Src: /src/ostree/src/rofiles-fuse/main.c:550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - path
    - st_buf
    argTypes:
    - char*
    - struct statvfs*
    constantsTouched: []
    func_position:
      end: 553
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 553
    functionName: callback_statfs
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - fstatvfs
    linkageType: ''
    returnType: int
    signature: 'static int callback_statfs (const char *path, struct statvfs *st_buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:191,1
    - Dst: fprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:198,1
    - Dst: g_strerror
      Src: /src/ostree/src/rofiles-fuse/main.c:198,1
    - Dst: symlinkat
      Src: /src/ostree/src/rofiles-fuse/main.c:193,1
    - Dst: fstatat
      Src: /src/ostree/src/rofiles-fuse/main.c:196,1
    - Dst: exit
      Src: /src/ostree/src/rofiles-fuse/main.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: callback_symlink
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - symlinkat
    - g_strerror
    - ENSURE_RELPATH
    - fprintf
    - exit
    - fstatat
    linkageType: ''
    returnType: int
    signature: 'static int callback_symlink (const char *from, const char *to) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/ostree/src/rofiles-fuse/main.c:244,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/rofiles-fuse/main.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - stbuf
    argTypes:
    - struct statx*
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: can_write_stbuf
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - S_ISLNK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean can_write_stbuf (const struct statx *stbuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENSURE_RELPATH
      Src: /src/ostree/src/rofiles-fuse/main.c:573,1
    - Dst: faccessat
      Src: /src/ostree/src/rofiles-fuse/main.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 582
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 582
    functionName: callback_access
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - faccessat
    - ENSURE_RELPATH
    linkageType: ''
    returnType: int
    signature: 'static int callback_access (const char *path, int mode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - GIOErrorEnum
    constantsTouched: []
    func_position:
      end: 281
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 281
    functionName: gioerror_to_errno
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int gioerror_to_errno (GIOErrorEnum e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/ostree/src/rofiles-fuse/main.c:304,1
    - Dst: ostree_break_hardlink
      Src: /src/ostree/src/rofiles-fuse/main.c:317,1
    - Dst: statx_to_stat
      Src: /src/ostree/src/rofiles-fuse/main.c:307,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/src/rofiles-fuse/main.c:309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - dfd
    - path
    - stxbuf
    - error
    argTypes:
    - int
    - char*
    - struct statx*
    - GError**
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: copyup
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - glnx_file_copy_at
    - S_ISREG
    - statx_to_stat
    - ostree_break_hardlink
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copyup (int dfd, const char *path, const struct statx
      *stxbuf, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PATH_WRITE_ENTRYPOINT
      Src: /src/ostree/src/rofiles-fuse/main.c:587,1
    - Dst: setxattr
      Src: /src/ostree/src/rofiles-fuse/main.c:592,1
    - Dst: snprintf
      Src: /src/ostree/src/rofiles-fuse/main.c:590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - path
    - name
    - value
    - size
    - flags
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 595
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 595
    functionName: callback_setxattr
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - snprintf
    - setxattr
    - PATH_WRITE_ENTRYPOINT
    linkageType: ''
    returnType: int
    signature: 'static int callback_setxattr (const char *path, const char *name,
      const char *value, size_t size, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makedev
      Src: /src/ostree/src/rofiles-fuse/main.c:288,1
    - Dst: makedev
      Src: /src/ostree/src/rofiles-fuse/main.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - stxbuf
    - stbuf
    argTypes:
    - struct statx*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: statx_to_stat
    functionSourceFile: /src/ostree/src/rofiles-fuse/main.c
    functionUses: []
    functionsReached:
    - makedev
    linkageType: ''
    returnType: void
    signature: 'static inline void statx_to_stat (const struct statx *stxbuf, struct
      stat *stbuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: ot_booltostr
    functionSourceFile: /src/ostree/src/libotutil/otutil.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *ot_booltostr (int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/src/libotutil/otutil.h:90,1
    - Dst: g_main_context_unref
      Src: /src/ostree/src/libotutil/otutil.h:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: _ostree_main_context_pop_default_destroy
    functionSourceFile: /src/ostree/src/libotutil/otutil.h
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_main_context_pop_thread_default
    linkageType: ''
    returnType: void
    signature: 'static inline void _ostree_main_context_pop_default_destroy (void
      *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/ostree/src/libotutil/otutil.h:98,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/src/libotutil/otutil.h:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: _ostree_main_context_new_default
    functionSourceFile: /src/ostree/src/libotutil/otutil.h
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: GMainContextPopDefault*
    signature: 'static inline GMainContextPopDefault *_ostree_main_context_new_default
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotutil/ot-checksum-utils.h:56,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libotutil/ot-checksum-utils.h:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - checksum
    - buf
    argTypes:
    - OtChecksum*
    - GBytes*
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ot_checksum_update_bytes
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.h
    functionUses: []
    functionsReached:
    - ot_checksum_update
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static inline void ot_checksum_update_bytes (OtChecksum *checksum,
      GBytes *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:35,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:35,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: ot_gvariant_new_empty_string_dict
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-utils.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_variant_builder_init
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ot_gvariant_new_empty_string_dict (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_fd_readall_or_mmap
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:69,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:73,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 6
    argNames:
    - fd
    - start
    - type
    - trusted
    - out_variant
    - error
    argTypes:
    - int
    - goffset
    - GVariantType*
    - gboolean
    - GVariant**
    - GError**
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: ot_variant_read_fd
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-utils.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_new_from_bytes
    - ot_fd_readall_or_mmap
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_variant_read_fd (int fd, goffset start, const GVariantType
      *type, gboolean trusted, GVariant **out_variant, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:83,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:87,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:90,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - variant
    - type
    argTypes:
    - GVariant*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: ot_util_variant_builder_from_variant
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-utils.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_builder_new
    - g_variant_builder_add_value
    linkageType: ''
    returnType: GVariantBuilder*
    signature: 'GVariantBuilder *ot_util_variant_builder_from_variant (GVariant *variant,
      const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:161,1
    - Dst: glnx_null_throw
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - variant
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: ot_variant_get_data
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-utils.c
    functionUses: []
    functionsReached:
    - glnx_null_throw
    - g_variant_get_data
    linkageType: ''
    returnType: guint8*
    signature: 'const guint8 *ot_variant_get_data (GVariant *variant, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:43,1
    - Dst: g_variant_new_from_data
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:45,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: ot_gvariant_new_bytearray
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-utils.c
    functionUses: []
    functionsReached:
    - g_memdup2
    - g_variant_new_from_data
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ot_gvariant_new_bytearray (const guchar *data, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:54,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:56,1
    - Dst: g_variant_new_from_data
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:56,1
    - Dst: g_bytes_ref
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: ot_gvariant_new_ay_bytes
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-utils.c
    functionUses: []
    functionsReached:
    - g_bytes_ref
    - g_variant_new_from_data
    - g_bytes_get_data
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ot_gvariant_new_ay_bytes (GBytes *bytes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:113,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:127,1
    - Dst: strcmp
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:129,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libotutil/ot-variant-utils.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - array
    - str
    - out_pos
    argTypes:
    - GVariant*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 147
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 147
    functionName: ot_variant_bsearch_str
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-utils.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_get_child
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_variant_bsearch_str (GVariant *array, const char *str,
      int *out_pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:42,1
    - Dst: va_end
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:44,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:46,1
    - Dst: g_strdup_vprintf
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - path
    - format
    - '...'
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: ot_gfile_resolve_path_printf
    functionSourceFile: /src/ostree/src/libotutil/ot-gio-utils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_file_resolve_relative_path
    - g_strdup_vprintf
    - va_start
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *ot_gfile_resolve_path_printf (GFile *path, const char *format,
      ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:74,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:80,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:76,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:75,1
    - Dst: unlink
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - path
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: ot_gfile_ensure_unlinked
    functionSourceFile: /src/ostree/src/libotutil/ot-gio-utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - unlink
    - glnx_throw_errno_prefix
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_gfile_ensure_unlinked (GFile *path, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:59,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:61,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - path
    - contents
    - cancellable
    - error
    argTypes:
    - GFile*
    - GBytes*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: ot_gfile_replace_contents_fsync
    functionSourceFile: /src/ostree/src/libotutil/ot-gio-utils.c
    functionUses: []
    functionsReached:
    - glnx_file_replace_contents_at
    - g_bytes_get_data
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_gfile_replace_contents_fsync (GFile *path, GBytes *contents,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:150,1
    - Dst: G_LOCK
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:153,1
    - Dst: g_file_get_path
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:158,1
    - Dst: g_quark_from_static_string
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:151,1
    - Dst: g_object_get_qdata
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:155,1
    - Dst: G_UNLOCK
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:161,1
    - Dst: g_object_set_qdata_full
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:164,1
    - Dst: G_UNLOCK
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 171
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 171
    functionName: ot_file_get_path_cached
    functionSourceFile: /src/ostree/src/libotutil/ot-gio-utils.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - g_object_get_qdata
    - G_UNLIKELY
    - G_LOCK
    - g_file_get_path
    - g_object_set_qdata_full
    - G_UNLOCK
    linkageType: ''
    returnType: char*
    signature: 'const char *ot_file_get_path_cached (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:181,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:183,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: ot_format_human_duration
    functionSourceFile: /src/ostree/src/libotutil/ot-gio-utils.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    linkageType: ''
    returnType: char*
    signature: 'char *ot_format_human_duration (guint64 nanos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:98,1
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:101,1
    - Dst: g_quark_from_static_string
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:104,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:99,1
    - Dst: g_quark_from_static_string
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:103,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:105,1
    - Dst: g_file_enumerator_next_file
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:108,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:113,1
    - Dst: g_object_set_qdata_full
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:118,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:122,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:123,1
    - Dst: g_object_set_qdata_full
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:124,1
    - Dst: g_file_enumerator_get_container
      Src: /src/ostree/src/libotutil/ot-gio-utils.c:123,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 5
    argNames:
    - direnum
    - out_info
    - out_child
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GFileInfo**
    - GFile**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 132
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 132
    functionName: ot_file_enumerator_iterate
    functionSourceFile: /src/ostree/src/libotutil/ot-gio-utils.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - g_file_info_get_name
    - g_once_init_enter
    - g_object_set_qdata_full
    - g_file_enumerator_next_file
    - g_file_enumerator_get_container
    - g_once_init_leave
    - g_propagate_error
    - g_return_val_if_fail
    - g_file_get_child
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_file_enumerator_iterate (GFileEnumerator *direnum, GFileInfo
      **out_info, GFile **out_child, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:45,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:49,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:47,1
    - Dst: strcmp
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:48,1
    - Dst: strcmp
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:46,1
    - Dst: strchr
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:50,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:51,1
    - Dst: g_utf8_validate
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:52,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - name
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: ot_util_filename_validate
    functionSourceFile: /src/ostree/src/libotutil/ot-unix-utils.c
    functionUses: []
    functionsReached:
    - strchr
    - g_utf8_validate
    - glnx_throw
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_util_filename_validate (const char *name, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:111,1
    - Dst: prctl
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: ot_util_process_privileged
    functionSourceFile: /src/ostree/src/libotutil/ot-unix-utils.c
    functionUses: []
    functionsReached:
    - prctl
    - geteuid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_util_process_privileged (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:60,1
    - Dst: g_strdup
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:68,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:68,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:73,1
    - Dst: strchr
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:65,1
    - Dst: g_strndup
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - str
    - c
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: ot_split_string_ptrarray
    functionSourceFile: /src/ostree/src/libotutil/ot-unix-utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_new_with_free_func
    - g_strndup
    - strchr
    - g_ptr_array_add
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *ot_split_string_ptrarray (const char *str, char
      c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:88,1
    - Dst: strcmp
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:97,1
    - Dst: ot_split_string_ptrarray
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:91,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:98,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:89,1
    - Dst: strcmp
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:99,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:100,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libotutil/ot-unix-utils.c:103,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - path
    - out_components
    - error
    argTypes:
    - char*
    - GPtrArray**
    - GError**
    constantsTouched: []
    func_position:
      end: 105
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 105
    functionName: ot_util_path_split_validate
    functionSourceFile: /src/ostree/src/libotutil/ot-unix-utils.c
    functionUses: []
    functionsReached:
    - strlen
    - ot_split_string_ptrarray
    - ot_transfer_out_value
    - glnx_throw
    - strcmp
    - g_ptr_array_remove_index
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_util_path_split_validate (const char *path, GPtrArray
      **out_components, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/libotutil/ot-opt-utils.c:32,1
    - Dst: g_free
      Src: /src/ostree/src/libotutil/ot-opt-utils.c:34,1
    - Dst: g_printerr
      Src: /src/ostree/src/libotutil/ot-opt-utils.c:33,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libotutil/ot-opt-utils.c:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - context
    - message
    - error
    argTypes:
    - GOptionContext*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ot_util_usage_error
    functionSourceFile: /src/ostree/src/libotutil/ot-opt-utils.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_option_context_get_help
    - g_free
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'void ot_util_usage_error (GOptionContext *context, const char *message,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:87,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:104,1
    - Dst: _ostree_parse_boolean
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - s
    - out_tri
    - error
    argTypes:
    - char*
    - OtTristate*
    - GError**
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: _ostree_parse_tristate
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - glnx_throw
    - _ostree_parse_boolean
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_parse_tristate (const char *s, OtTristate *out_tri,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:38,1
    - Dst: g_key_file_get_boolean
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:43,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:40,1
    - Dst: is_notfound
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:46,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:39,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:48,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:53,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 6
    argNames:
    - keyfile
    - section
    - value
    - default_value
    - out_bool
    - error
    argTypes:
    - GKeyFile*
    - char*
    - char*
    - gboolean
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: ot_keyfile_get_boolean_with_default
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_key_file_get_boolean
    - g_clear_error
    - g_propagate_error
    - g_return_val_if_fail
    - is_notfound
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_keyfile_get_boolean_with_default (GKeyFile *keyfile, const
      char *section, const char *value, gboolean default_value, gboolean *out_bool,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:68,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:69,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:71,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:71,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:71,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:76,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:76,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:76,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - s
    - out_val
    - error
    argTypes:
    - char*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: _ostree_parse_boolean
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_str_equal
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_parse_boolean (const char *s, gboolean *out_val,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:139,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:140,1
    - Dst: g_key_file_get_value
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:144,1
    - Dst: is_notfound
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:147,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:141,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:149,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:150,1
    - Dst: g_strdup
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:151,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:155,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:160,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 6
    argNames:
    - keyfile
    - section
    - value
    - default_value
    - out_value
    - error
    argTypes:
    - GKeyFile*
    - char*
    - char*
    - char*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: ot_keyfile_get_value_with_default
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert
    - g_key_file_get_value
    - g_clear_error
    - ot_transfer_out_value
    - g_propagate_error
    - g_return_val_if_fail
    - is_notfound
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_keyfile_get_value_with_default (GKeyFile *keyfile, const
      char *section, const char *value, const char *default_value, char **out_value,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:205,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:209,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:207,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:208,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:206,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:212,1
    - Dst: strlen
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:220,1
    - Dst: strchr
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:222,1
    - Dst: g_new
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:231,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:232,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:243,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:247,1
    - Dst: ot_keyfile_get_string_list_with_default
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:237,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 6
    argNames:
    - keyfile
    - section
    - key
    - separators
    - out_value
    - error
    argTypes:
    - GKeyFile*
    - char*
    - char*
    - char*
    - char***
    - GError**
    constantsTouched: []
    func_position:
      end: 249
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 249
    functionName: ot_keyfile_get_string_list_with_separator_choice
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert
    - ot_keyfile_get_string_list_with_default
    - g_new
    - g_steal_pointer
    - glnx_throw
    - ot_keyfile_get_value_with_default
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_keyfile_get_string_list_with_separator_choice (GKeyFile
      *keyfile, const char *section, const char *key, const char *separators, char
      ***out_value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_matches
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:30,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: is_notfound
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_error_matches
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_notfound (GError *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:111,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:113,1
    - Dst: g_key_file_get_value
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:116,1
    - Dst: is_notfound
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:119,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:112,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:121,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:122,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:127,1
    - Dst: g_strstrip
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:131,1
    - Dst: _ostree_parse_tristate
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 6
    argNames:
    - keyfile
    - section
    - value
    - default_value
    - out_tri
    - error
    argTypes:
    - GKeyFile*
    - char*
    - char*
    - OtTristate
    - OtTristate*
    - GError**
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: ot_keyfile_get_tristate_with_default
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_key_file_get_value
    - g_clear_error
    - _ostree_parse_tristate
    - g_propagate_error
    - g_return_val_if_fail
    - g_strstrip
    - is_notfound
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_keyfile_get_tristate_with_default (GKeyFile *keyfile,
      const char *section, const char *value, OtTristate default_value, OtTristate
      *out_tri, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:169,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:175,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:171,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:170,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:178,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:180,1
    - Dst: g_strdup
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:181,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:185,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:190,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 6
    argNames:
    - keyfile
    - section
    - value
    - default_value
    - out_value
    - error
    argTypes:
    - GKeyFile*
    - char*
    - char*
    - char*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 192
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 192
    functionName: ot_keyfile_get_value_with_default_group_optional
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_error_matches
    - g_clear_error
    - ot_transfer_out_value
    - ot_keyfile_get_value_with_default
    - g_propagate_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_keyfile_get_value_with_default_group_optional (GKeyFile
      *keyfile, const char *section, const char *value, const char *default_value,
      char **out_value, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:258,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:259,1
    - Dst: g_key_file_set_list_separator
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:262,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:260,1
    - Dst: g_key_file_get_string_list
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:264,1
    - Dst: is_notfound
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:268,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:270,1
    - Dst: g_strdupv
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:271,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:275,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:275,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:280,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 7
    argNames:
    - keyfile
    - section
    - key
    - separator
    - default_value
    - out_value
    - error
    argTypes:
    - GKeyFile*
    - char*
    - char*
    - char
    - char**
    - char***
    - GError**
    constantsTouched: []
    func_position:
      end: 282
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 282
    functionName: ot_keyfile_get_string_list_with_default
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string_list
    - g_strdupv
    - g_clear_error
    - g_steal_pointer
    - ot_transfer_out_value
    - g_propagate_error
    - g_key_file_set_list_separator
    - g_return_val_if_fail
    - is_notfound
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_keyfile_get_string_list_with_default (GKeyFile *keyfile,
      const char *section, const char *key, char separator, char **default_value,
      char ***out_value, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:291,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:293,1
    - Dst: g_key_file_get_value
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:304,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:292,1
    - Dst: g_key_file_get_keys
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:295,1
    - Dst: g_key_file_set_value
      Src: /src/ostree/src/libotutil/ot-keyfile-utils.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - source_keyfile
    - target_keyfile
    - group_name
    argTypes:
    - GKeyFile*
    - GKeyFile*
    - char*
    constantsTouched: []
    func_position:
      end: 312
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 312
    functionName: ot_keyfile_copy_group
    functionSourceFile: /src/ostree/src/libotutil/ot-keyfile-utils.c
    functionUses: []
    functionsReached:
    - g_key_file_set_value
    - g_return_val_if_fail
    - g_key_file_get_keys
    - g_key_file_get_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_keyfile_copy_group (GKeyFile *source_keyfile, GKeyFile
      *target_keyfile, const char *group_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_get_digest_internal
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - checksum
    - buf
    - buflen
    argTypes:
    - OtChecksum*
    - guint8*
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: ot_checksum_get_digest
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - ot_checksum_get_digest_internal
    linkageType: ''
    returnType: void
    signature: 'void ot_checksum_get_digest (OtChecksum *checksum, guint8 *buf, size_t
      buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:95,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:99,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:96,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:97,1
    - Dst: EVP_DigestUpdate
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:99,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:101,1
    - Dst: gnutls_hash
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:101,1
    - Dst: g_checksum_update
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - checksum
    - buf
    - len
    argTypes:
    - OtChecksum*
    - guint8*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: ot_checksum_update
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - gnutls_hash
    - g_assert
    - g_checksum_update
    - EVP_DigestUpdate
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ot_checksum_update (OtChecksum *checksum, const guint8 *buf,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_destroy
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:151,1
    - Dst: gnutls_hash_deinit
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:153,1
    - Dst: g_checksum_free
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - OtChecksum*
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: ot_checksum_clear
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - g_checksum_free
    - gnutls_hash_deinit
    - EVP_MD_CTX_destroy
    linkageType: ''
    returnType: void
    signature: 'void ot_checksum_clear (OtChecksum *checksum) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:178,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 7
    argNames:
    - out
    - data
    - len
    - out_bytes_written
    - checksum
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - gconstpointer
    - gsize
    - gsize*
    - OtChecksum*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 189
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 189
    functionName: ot_gio_write_update_checksum
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - ot_checksum_update
    - g_output_stream_write_all
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_gio_write_update_checksum (GOutputStream *out, gconstpointer
      data, gsize len, gsize *out_bytes_written, OtChecksum *checksum, GCancellable
      *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:230,1
    - Dst: ot_checksum_get_digest
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:236,1
    - Dst: ot_gio_splice_update_checksum
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:232,1
    - Dst: g_memdup2
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 5
    argNames:
    - out
    - in
    - out_csum
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GInputStream*
    - guchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: ot_gio_splice_get_checksum
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - g_memdup2
    - ot_checksum_get_digest
    - ot_gio_splice_update_checksum
    - ot_checksum_init
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_gio_splice_get_checksum (GOutputStream *out, GInputStream
      *in, guchar **out_csum, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:73,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:77,1
    - Dst: EVP_MD_CTX_create
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:75,1
    - Dst: EVP_DigestInit_ex
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:77,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:76,1
    - Dst: EVP_sha256
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:77,1
    - Dst: EVP_MD_CTX_size
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:78,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:80,1
    - Dst: gnutls_hash_init
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:80,1
    - Dst: gnutls_hash_get_len
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:81,1
    - Dst: g_checksum_new
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:83,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:86,1
    - Dst: g_checksum_type_get_length
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - OtChecksum*
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: ot_checksum_init
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert
    - EVP_sha256
    - EVP_DigestInit_ex
    - g_checksum_type_get_length
    - EVP_MD_CTX_size
    - g_checksum_new
    - gnutls_hash_init
    - EVP_MD_CTX_create
    - gnutls_hash_get_len
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ot_checksum_init (OtChecksum *checksum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:110,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:115,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:112,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:111,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:115,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:116,1
    - Dst: gnutls_hash_output
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:118,1
    - Dst: g_checksum_get_digest
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:121,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - real
    - buf
    - buflen
    argTypes:
    - OtRealChecksum*
    - guint8*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: ot_checksum_get_digest_internal
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert
    - EVP_DigestFinal_ex
    - g_checksum_get_digest
    - gnutls_hash_output
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void ot_checksum_get_digest_internal (OtRealChecksum *real,
      guint8 *buf, size_t buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_get_digest
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:140,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - checksum
    - buf
    - buflen
    argTypes:
    - OtChecksum*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: ot_checksum_get_hexdigest
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - ot_bin2hex
    - ot_checksum_get_digest
    linkageType: ''
    returnType: void
    signature: 'void ot_checksum_get_hexdigest (OtChecksum *checksum, char *buf, size_t
      buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:163,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:167,1
    - Dst: g_checksum_get_digest
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - GChecksum*
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: ot_csum_from_gchecksum
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_malloc
    - g_checksum_get_digest
    linkageType: ''
    returnType: guchar*
    signature: 'guchar *ot_csum_from_gchecksum (GChecksum *checksum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:195,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:213,1
    - Dst: g_input_stream_read_all
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:203,1
    - Dst: ot_gio_write_update_checksum
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:205,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 5
    argNames:
    - out
    - in
    - checksum
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GInputStream*
    - OtChecksum*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 218
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 218
    functionName: ot_gio_splice_update_checksum
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - g_input_stream_read_all
    - ot_gio_write_update_checksum
    - g_output_stream_splice
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_gio_splice_update_checksum (GOutputStream *out, GInputStream
      *in, OtChecksum *checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ot_openat_read_stream
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:247,1
    - Dst: ot_gio_splice_update_checksum
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:254,1
    - Dst: ot_checksum_get_hexdigest
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:258,1
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:253,1
    - Dst: g_strdup
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - dfd
    - path
    - checksum_type
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GChecksumType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: ot_checksum_file_at
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ot_gio_splice_update_checksum
    - ot_checksum_get_hexdigest
    - ot_checksum_init
    - ot_openat_read_stream
    linkageType: ''
    returnType: char*
    signature: 'char *ot_checksum_file_at (int dfd, const char *path, GChecksumType
      checksum_type, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:268,1
    - Dst: ot_checksum_get_digest
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:270,1
    - Dst: ot_checksum_update_bytes
      Src: /src/ostree/src/libotutil/ot-checksum-utils.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - out_digest
    argTypes:
    - GBytes*
    - guint8
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ot_checksum_bytes
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached:
    - ot_checksum_update_bytes
    - ot_checksum_get_digest
    - ot_checksum_init
    linkageType: ''
    returnType: void
    signature: 'void ot_checksum_bytes (GBytes *data, guint8 out_digest[_OSTREE_SHA256_DIGEST_LEN]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - out_buf
    - inbuf
    - len
    argTypes:
    - char*
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: ot_bin2hex
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ot_bin2hex (char *out_buf, const guint8 *inbuf, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fdrel_abspath
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:34,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - dfd
    - path
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ot_fdrel_to_gfile
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - glnx_fdrel_abspath
    - g_file_new_for_path
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *ot_fdrel_to_gfile (int dfd, const char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:48,1
    - Dst: g_file_info_set_symlink_target
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:51,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:49,1
    - Dst: readlinkat
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - dfd
    - path
    - target_info
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: ot_readlinkat_gfile_info
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - g_file_info_set_symlink_target
    - TEMP_FAILURE_RETRY
    - readlinkat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_readlinkat_gfile_info (int dfd, const char *path, GFileInfo
      *target_info, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlinkat
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:85,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:88,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - dfd
    - path
    - error
    argTypes:
    - int
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: ot_ensure_unlinked_at
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - unlinkat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_ensure_unlinked_at (int dfd, const char *path, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat_with_errno
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:114,1
    - Dst: glnx_dirfd_iterator_init_take_fd
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:122,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - dfd
    - path
    - dfd_iter
    - out_exists
    - error
    argTypes:
    - int
    - char*
    - GLnxDirFdIterator*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: ot_dfd_iter_init_allow_noent
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - glnx_opendirat_with_errno
    - glnx_dirfd_iterator_init_take_fd
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_dfd_iter_init_allow_noent (int dfd, const char *path,
      GLnxDirFdIterator *dfd_iter, gboolean *out_exists, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:138,1
    - Dst: g_free
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: map_data_destroy
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - munmap
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void map_data_destroy (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_open_anonymous_tmpfile
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:190,1
    - Dst: g_mapped_file_new_from_fd
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:200,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:194,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:203,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - instream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 204
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 204
    functionName: ot_map_anonymous_tmpfile_from_content
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - g_output_stream_splice
    - glnx_open_anonymous_tmpfile
    - g_mapped_file_get_bytes
    - g_mapped_file_new_from_fd
    - g_unix_output_stream_new
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *ot_map_anonymous_tmpfile_from_content (GInputStream *instream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:239,1
    - Dst: ot_get_dir_size
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:269,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:246,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:255,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 6
    argNames:
    - dfd
    - path
    - blocksize
    - out_size
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - guint64
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 278
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 278
    functionName: ot_get_dir_size
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - ot_get_dir_size
    - glnx_fstatat
    - glnx_dirfd_iterator_init_at
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_get_dir_size (int dfd, const char *path, guint64 blocksize,
      guint64 *out_size, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: openat
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:96,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - dfd
    - path
    - out_fd
    - error
    argTypes:
    - int
    - char*
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: ot_openat_ignore_enoent
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - openat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_openat_ignore_enoent (int dfd, const char *path, int *out_fd,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:211,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:215,1
    - Dst: cb
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:222,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 9
    argCount: 5
    argNames:
    - path
    - (*cb)
    - cbdata
    - cancellable
    - error
    argTypes:
    - char*
    - gboolean
    - void*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: ot_parse_file_by_line
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - g_strsplit
    - glnx_file_get_contents_utf8_at
    - cb
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_parse_file_by_line (const char *path, gboolean (*cb) (const
      char *, void *, GError **), void *cbdata, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:75,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:77,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 6
    argNames:
    - dfd
    - path
    - follow
    - out_istream
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - gboolean
    - GInputStream**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: ot_openat_read_stream
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - g_steal_fd
    - g_unix_input_stream_new
    - glnx_openat_rdonly
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_openat_read_stream (int dfd, const char *path, gboolean
      follow, GInputStream **out_istream, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fstat
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:149,1
    - Dst: g_new
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:166,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:154,1
    - Dst: mmap
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:162,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:164,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:170,1
    - Dst: lseek
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:174,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:175,1
    - Dst: glnx_fd_readall_bytes
      Src: /src/ostree/src/libotutil/ot-fs-utils.c:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - fd
    - start
    - error
    argTypes:
    - int
    - goffset
    - GError**
    constantsTouched: []
    func_position:
      end: 178
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 178
    functionName: ot_fd_readall_or_mmap
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    - mmap
    - glnx_null_throw_errno_prefix
    - g_bytes_new_static
    - lseek
    - g_new
    - glnx_fd_readall_bytes
    - glnx_fstat
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *ot_fd_readall_or_mmap (int fd, goffset start, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARG_EQ
      Src: /src/ostree/src/libotutil/ot-tool-util.c:28,1
    - Dst: ARG_EQ
      Src: /src/ostree/src/libotutil/ot-tool-util.c:30,1
    - Dst: ARG_EQ
      Src: /src/ostree/src/libotutil/ot-tool-util.c:28,1
    - Dst: ARG_EQ
      Src: /src/ostree/src/libotutil/ot-tool-util.c:30,1
    - Dst: ARG_EQ
      Src: /src/ostree/src/libotutil/ot-tool-util.c:28,1
    - Dst: ARG_EQ
      Src: /src/ostree/src/libotutil/ot-tool-util.c:30,1
    - Dst: ARG_EQ
      Src: /src/ostree/src/libotutil/ot-tool-util.c:31,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-tool-util.c:35,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - value
    - out_parsed
    - error
    argTypes:
    - char*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: ot_parse_boolean
    functionSourceFile: /src/ostree/src/libotutil/ot-tool-util.c
    functionUses: []
    functionsReached:
    - glnx_throw
    - ARG_EQ
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_parse_boolean (const char *value, gboolean *out_parsed,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/libotutil/ot-tool-util.c:44,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-tool-util.c:47,1
    - Dst: g_strndup
      Src: /src/ostree/src/libotutil/ot-tool-util.c:49,1
    - Dst: g_strdup
      Src: /src/ostree/src/libotutil/ot-tool-util.c:50,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - keyvalue
    - out_key
    - out_value
    - error
    argTypes:
    - char*
    - char**
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: ot_parse_keyvalue
    functionSourceFile: /src/ostree/src/libotutil/ot-tool-util.c
    functionUses: []
    functionsReached:
    - strchr
    - g_strndup
    - g_strdup
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_parse_keyvalue (const char *keyvalue, char **out_key,
      char **out_value, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-tool-util.c:88,1
    - Dst: equal_func
      Src: /src/ostree/src/libotutil/ot-tool-util.c:95,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libotutil/ot-tool-util.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - haystack
    - needle
    - equal_func
    - index_
    argTypes:
    - GPtrArray*
    - gconstpointer
    - GEqualFunc
    - guint*
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: ot_ptr_array_find_with_equal_func
    functionSourceFile: /src/ostree/src/libotutil/ot-tool-util.c
    functionUses: []
    functionsReached:
    - g_ptr_array_index
    - g_return_val_if_fail
    - equal_func
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_ptr_array_find_with_equal_func (GPtrArray *haystack, gconstpointer
      needle, GEqualFunc equal_func, guint *index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 5
    argNames:
    - direnum
    - out_info
    - out_child
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GFileInfo**
    - GFile**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: ot_file_enumerator_iterate
    functionSourceFile: /src/ostree/src/libotutil/ot-gio-utils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean ot_file_enumerator_iterate (GFileEnumerator
      *direnum, GFileInfo **out_info, GFile **out_child, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_file_get_path_cached
      Src: /src/ostree/src/libotutil/ot-gio-utils.h:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: gs_file_get_path_cached
    functionSourceFile: /src/ostree/src/libotutil/ot-gio-utils.h
    functionUses: []
    functionsReached:
    - ot_file_get_path_cached
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *gs_file_get_path_cached (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/ostree/src/libotutil/zbase32.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: new_z
    functionSourceFile: /src/ostree/src/libotutil/zbase32.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: zstr
    signature: 'static zstr new_z (const size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: divceil
    functionSourceFile: /src/ostree/src/libotutil/zbase32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t divceil (size_t n, size_t d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2a_l_extra_Duffy
      Src: /src/ostree/src/libotutil/zbase32.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - os
    - lengthinbits
    argTypes:
    - czstr
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: b2a_l
    functionSourceFile: /src/ostree/src/libotutil/zbase32.c
    functionUses: []
    functionsReached:
    - b2a_l_extra_Duffy
    linkageType: ''
    returnType: zstr
    signature: 'static zstr b2a_l (const czstr os, const size_t lengthinbits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2a_l
      Src: /src/ostree/src/libotutil/zbase32.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - os
    argTypes:
    - czstr
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: b2a
    functionSourceFile: /src/ostree/src/libotutil/zbase32.c
    functionUses: []
    functionsReached:
    - b2a_l
    linkageType: ''
    returnType: zstr
    signature: 'static zstr b2a (const czstr os) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: new_z
      Src: /src/ostree/src/libotutil/zbase32.c:62,1
    - Dst: divceil
      Src: /src/ostree/src/libotutil/zbase32.c:63,1
    - Dst: divceil
      Src: /src/ostree/src/libotutil/zbase32.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - os
    - lengthinbits
    argTypes:
    - czstr
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 116
    functionName: b2a_l_extra_Duffy
    functionSourceFile: /src/ostree/src/libotutil/zbase32.c
    functionUses: []
    functionsReached:
    - divceil
    - new_z
    linkageType: ''
    returnType: zstr
    signature: 'static zstr b2a_l_extra_Duffy (const czstr os, const size_t lengthinbits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2a
      Src: /src/ostree/src/libotutil/zbase32.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: zbase32_encode
    functionSourceFile: /src/ostree/src/libotutil/zbase32.c
    functionUses: []
    functionsReached:
    - b2a
    linkageType: ''
    returnType: char*
    signature: 'char *zbase32_encode (const unsigned char *data, size_t length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:82,1
    - Dst: g_get_tmp_dir
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:90,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:94,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:90,1
    - Dst: mkdtemp
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:92,1
    - Dst: gpgme_ctx_set_engine_info
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:100,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:103,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:113,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:114,1
    - Dst: g_file_create
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:116,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:121,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:133,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:125,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 5
    argNames:
    - gpgme_ctx
    - out_tmp_home_dir
    - out_pubring_stream
    - cancellable
    - error
    argTypes:
    - gpgme_ctx_t
    - char**
    - GOutputStream**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 137
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 137
    functionName: ot_gpgme_ctx_tmp_home_dir
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - g_get_tmp_dir
    - g_file_new_for_path
    - mkdtemp
    - g_build_filename
    - g_steal_pointer
    - glnx_shutil_rm_rf_at
    - ot_gpgme_throw
    - gpgme_ctx_set_engine_info
    - g_file_create
    - g_return_val_if_fail
    - glnx_set_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_gpgme_ctx_tmp_home_dir (gpgme_ctx_t gpgme_ctx, char **out_tmp_home_dir,
      GOutputStream **out_pubring_stream, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:252,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:252,1
    - Dst: set_errno_from_gio_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:256,1
    - Dst: g_input_stream_read_all
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:254,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - handle
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 262
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 262
    functionName: data_read_cb
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - set_errno_from_gio_error
    - g_return_val_if_fail
    - g_clear_error
    - g_input_stream_read_all
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: ssize_t
    signature: 'static ssize_t data_read_cb (void *handle, void *buffer, size_t size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:297,1
    - Dst: G_IS_SEEKABLE
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:299,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:297,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:317,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:297,1
    - Dst: G_SEEKABLE
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:320,1
    - Dst: g_seekable_seek
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:322,1
    - Dst: set_errno_from_gio_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:324,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:325,1
    - Dst: g_seekable_tell
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:329,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - handle
    - offset
    - whence
    argTypes:
    - void*
    - off_t
    - int
    constantsTouched: []
    func_position:
      end: 333
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 333
    functionName: data_seek_cb
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - set_errno_from_gio_error
    - G_IS_SEEKABLE
    - G_IS_OUTPUT_STREAM
    - g_assert_not_reached
    - g_return_val_if_fail
    - g_clear_error
    - g_seekable_seek
    - G_SEEKABLE
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: off_t
    signature: 'static off_t data_seek_cb (void *handle, off_t offset, int whence) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:356,1
    - Dst: gpgme_err_code
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:363,1
    - Dst: gpgme_data_new_from_cbs
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:358,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:356,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:363,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:364,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - input_stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 370
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 370
    functionName: ot_gpgme_data_input
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_assert
    - g_assert_not_reached
    - gpgme_err_code
    - g_return_val_if_fail
    - gpgme_data_new_from_cbs
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: gpgme_data_t
    signature: 'gpgme_data_t ot_gpgme_data_input (GInputStream *input_stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpgme_new
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:400,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:401,1
    - Dst: gpgme_ctx_get_engine_info
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:407,1
    - Dst: gpgme_ctx_set_engine_info
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:409,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:411,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:414,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - homedir
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 415
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 415
    functionName: ot_gpgme_new_ctx
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - gpgme_ctx_get_engine_info
    - gpgme_ctx_set_engine_info
    - g_steal_pointer
    - ot_gpgme_throw
    - gpgme_new
    linkageType: ''
    returnType: gpgme_ctx_t
    signature: 'gpgme_ctx_t ot_gpgme_new_ctx (const char *homedir, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:519,1
    - Dst: zbase32_encode
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:527,1
    - Dst: g_checksum_update
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:524,1
    - Dst: g_checksum_new
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:523,1
    - Dst: g_checksum_get_digest
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:525,1
    - Dst: g_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:533,1
    - Dst: g_strerror
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - local
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 536
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 536
    functionName: encode_wkd_local
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_error
    - g_checksum_update
    - g_checksum_get_digest
    - zbase32_encode
    - g_return_val_if_fail
    - g_checksum_new
    linkageType: ''
    returnType: char*
    signature: 'static char *encode_wkd_local (const char *local) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:544,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:547,1
    - Dst: g_set_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:549,1
    - Dst: g_ascii_strdown
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:554,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:546,1
    - Dst: g_ascii_strdown
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:555,1
    - Dst: encode_wkd_local
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:556,1
    - Dst: g_uri_escape_string
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:557,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:560,1
    - Dst: g_debug
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:564,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:566,1
    - Dst: g_debug
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:570,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:575,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:573,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 4
    argNames:
    - email
    - out_advanced_url
    - out_direct_url
    - error
    argTypes:
    - char*
    - char**
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 578
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 578
    functionName: ot_gpg_wkd_urls
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_uri_escape_string
    - g_ascii_strdown
    - encode_wkd_local
    - g_strsplit
    - g_strdup_printf
    - g_debug
    - g_steal_pointer
    - g_return_val_if_fail
    - g_strv_length
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_gpg_wkd_urls (const char *email, char **out_advanced_url,
      char **out_direct_url, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:271,1
    - Dst: g_output_stream_flush
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:275,1
    - Dst: set_errno_from_gio_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:280,1
    - Dst: g_output_stream_write_all
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:273,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:271,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - handle
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: data_write_cb
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - set_errno_from_gio_error
    - G_IS_OUTPUT_STREAM
    - g_output_stream_flush
    - g_clear_error
    - g_output_stream_write_all
    - g_return_val_if_fail
    linkageType: ''
    returnType: ssize_t
    signature: 'static ssize_t data_write_cb (void *handle, const void *buffer, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:340,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:340,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:340,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: data_release_cb
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - G_IS_OUTPUT_STREAM
    - G_IS_INPUT_STREAM
    - g_object_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void data_release_cb (void *handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:378,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:378,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:385,1
    - Dst: gpgme_data_new_from_cbs
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:380,1
    - Dst: gpgme_err_code
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:385,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:386,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - output_stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 392
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 392
    functionName: ot_gpgme_data_output
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_OUTPUT_STREAM
    - g_assert
    - g_assert_not_reached
    - gpgme_err_code
    - gpgme_data_new_from_cbs
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpgme_data_t
    signature: 'gpgme_data_t ot_gpgme_data_output (GOutputStream *output_stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:420,1
    - Dst: g_debug
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:428,1
    - Dst: gpgme_get_engine_info
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:425,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:422,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:421,1
    - Dst: gpgme_strsource
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:428,1
    - Dst: gpgme_strerror
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:429,1
    - Dst: g_debug
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:445,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:449,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:450,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:456,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:457,1
    - Dst: g_debug
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:452,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:458,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - major
    - minor
    - patch
    argTypes:
    - guint*
    - guint*
    - guint*
    constantsTouched: []
    func_position:
      end: 461
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 461
    functionName: get_gnupg_version
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - gpgme_strsource
    - gpgme_strerror
    - gpgme_get_engine_info
    - g_debug
    - g_strsplit
    - g_ascii_strtoull
    - g_return_val_if_fail
    - g_strv_length
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_gnupg_version (guint *major, guint *minor, guint
      *patch) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpgme_err_code
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:41,1
    - Dst: gpg_strerror_r
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:49,1
    - Dst: gpgme_strsource
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:51,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:45,1
    - Dst: g_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:51,1
    - Dst: gpg_strerror_r
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:62,1
    - Dst: g_set_error
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:64,1
    - Dst: gpgme_strsource
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:64,1
    - Dst: va_start
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:66,1
    - Dst: glnx_real_set_prefix_error_va
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:67,1
    - Dst: va_end
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - gpg_error
    - error
    - fmt
    - '...'
    argTypes:
    - gpgme_error_t
    - GError**
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 71
    functionName: ot_gpgme_throw
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - va_end
    - gpgme_strsource
    - g_error
    - g_assert_not_reached
    - gpgme_err_code
    - glnx_real_set_prefix_error_va
    - va_start
    - gpg_strerror_r
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_gpgme_throw (gpgme_error_t gpg_error, GError **error,
      const char *fmt, ...) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:146,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 34
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 243
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 243
    functionName: set_errno_from_gio_error
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void set_errno_from_gio_error (GError *error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:466,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:484,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:485,1
    - Dst: get_gnupg_version
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:472,1
    - Dst: g_debug
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:478,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:486,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:487,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:488,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:489,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:490,1
    - Dst: g_debug
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:496,1
    - Dst: g_spawn_sync
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:497,1
    - Dst: g_debug
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:500,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:503,1
    - Dst: g_debug
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:508,1
    - Dst: g_printerr
      Src: /src/ostree/src/libotutil/ot-gpg-utils.c:506,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - homedir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 511
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 511
    functionName: ot_gpgme_kill_agent
    functionSourceFile: /src/ostree/src/libotutil/ot-gpg-utils.c
    functionUses: []
    functionsReached:
    - get_gnupg_version
    - g_spawn_sync
    - g_debug
    - g_printerr
    - g_ptr_array_new
    - g_spawn_check_exit_status
    - g_ptr_array_add
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ot_gpgme_kill_agent (const char *homedir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:192,1
    - Dst: g_slice_free1
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:198,1
    - Dst: g_slice_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:199,1
    - Dst: g_variant_type_info_unref
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: tuple_info_free
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_free
    - g_variant_type_info_unref
    - g_slice_free1
    linkageType: ''
    returnType: void
    signature: 'static void tuple_info_free (GVariantTypeInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_peek_string
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:582,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:597,1
    - Dst: g_rec_mutex_lock
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:593,1
    - Dst: g_variant_type_dup_string
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:591,1
    - Dst: g_hash_table_new
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:596,1
    - Dst: array_info_new
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:606,1
    - Dst: tuple_info_new
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:610,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:617,1
    - Dst: g_variant_type_info_ref
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:621,1
    - Dst: g_rec_mutex_unlock
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:623,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:634,1
    - Dst: g_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:624,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:636,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:634,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:635,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 642
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 642
    functionName: g_variant_type_info_get
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_variant_type_dup_string
    - g_assert_cmpint
    - g_variant_type_peek_string
    - g_free
    - g_assert
    - g_hash_table_insert
    - g_rec_mutex_unlock
    - array_info_new
    - tuple_info_new
    - g_hash_table_new
    - g_variant_type_info_ref
    - g_rec_mutex_lock
    - G_N_ELEMENTS
    - g_hash_table_lookup
    linkageType: ''
    returnType: GVariantTypeInfo*
    signature: 'static GVariantTypeInfo *g_variant_type_info_get (const GVariantType
      *type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 673
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 673
    functionName: gvs_get_offset_size
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint gvs_get_offset_size (gsize size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_variant_builder_info_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:806,1
    - Dst: g_variant_type_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:808,1
    - Dst: g_slice_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:812,1
    - Dst: g_array_unref
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:809,1
    - Dst: g_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - OtVariantBuilderInfo*
    constantsTouched: []
    func_position:
      end: 813
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 813
    functionName: ot_variant_builder_info_free
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_free
    - ot_variant_builder_info_free
    - g_array_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void ot_variant_builder_info_free (OtVariantBuilderInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_variant_builder_info_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:835,1
    - Dst: g_slice_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - builder
    argTypes:
    - OtVariantBuilder*
    constantsTouched: []
    func_position:
      end: 838
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 838
    functionName: ot_variant_builder_unref
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - ot_variant_builder_info_free
    linkageType: ''
    returnType: void
    signature: 'void ot_variant_builder_unref (OtVariantBuilder *builder) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_tuple
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:918,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:918,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:923,1
    - Dst: g_variant_type_info_member_info
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:922,1
    - Dst: ot_variant_builder_add_child_end
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:925,1
    - Dst: g_variant_type_is_array
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:927,1
    - Dst: g_variant_type_info_element
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:929,1
    - Dst: ot_variant_builder_add_child_end
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:932,1
    - Dst: g_variant_type_is_variant
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:934,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:937,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:941,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:938,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:946,1
    - Dst: strlen
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:940,1
    - Dst: strlen
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:943,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:940,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - info
    - type
    - bytes_added
    - error
    argTypes:
    - OtVariantBuilderInfo*
    - GVariantType*
    - guint64
    - GError**
    constantsTouched: []
    func_position:
      end: 951
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 951
    functionName: ot_variant_builder_post_add
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_type_info_member_info
    - g_variant_type_is_array
    - g_variant_type_is_dict_entry
    - g_variant_type_info_element
    - g_variant_type_is_tuple
    - g_assert
    - g_variant_type_is_variant
    - ot_variant_builder_add_child_end
    - glnx_loop_write
    - glnx_throw
    - glnx_throw_errno
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_variant_builder_post_add (OtVariantBuilderInfo
      *info, const GVariantType *type, guint64 bytes_added, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1028,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1030,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1029,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1029,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1030,1
    - Dst: ot_variant_builder_pre_add
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1032,1
    - Dst: ot_variant_builder_info_new
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1035,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1036,1
    - Dst: g_variant_type_first
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1045,1
    - Dst: g_variant_type_is_variant
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1047,1
    - Dst: g_variant_type_element
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1049,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - builder
    - type
    - error
    argTypes:
    - OtVariantBuilder*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1054
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1054
    functionName: ot_variant_builder_open
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - ot_variant_builder_pre_add
    - g_assert
    - g_variant_type_is_variant
    - g_variant_type_first
    - g_variant_type_element
    - g_variant_type_is_subtype_of
    - ot_variant_builder_info_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_variant_builder_open (OtVariantBuilder *builder, const
      GVariantType *type, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: GV_ARRAY_INFO
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ArrayInfo*
    signature: 'static ArrayInfo *GV_ARRAY_INFO (GVariantTypeInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_n_items
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:208,1
    - Dst: g_slice_alloc
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:209,1
    - Dst: g_variant_type_info_get
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:216,1
    - Dst: g_variant_type_next
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:217,1
    - Dst: g_variant_type_first
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:211,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - type
    - members
    - n_members
    argTypes:
    - GVariantType*
    - GVariantMemberInfo**
    - gsize*
    constantsTouched: []
    func_position:
      end: 228
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 228
    functionName: tuple_allocate_members
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_variant_type_n_items
    - g_assert
    - g_variant_type_first
    - g_slice_alloc
    - g_variant_type_next
    - g_variant_type_info_get
    linkageType: ''
    returnType: void
    signature: 'static void tuple_allocate_members (const GVariantType *type, GVariantMemberInfo
      **members, gsize *n_members) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GSIZE_TO_LE
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:653,1
    - Dst: memcpy
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - bytes
    - value
    - size
    argTypes:
    - guchar*
    - gsize
    - guint
    constantsTouched: []
    func_position:
      end: 655
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 655
    functionName: gvs_write_unaligned_le
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - body_size
    - offsets
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 688
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 688
    functionName: gvs_calculate_total_size
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_calculate_total_size (gsize body_size, gsize offsets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:818,1
    - Dst: g_slice_new0
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:820,1
    - Dst: ot_variant_builder_info_new
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:822,1
    - Dst: g_variant_type_is_container
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:818,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - type
    - fd
    argTypes:
    - GVariantType*
    - int
    constantsTouched: []
    func_position:
      end: 827
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 827
    functionName: ot_variant_builder_new
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_assert
    - ot_variant_builder_info_new
    - g_variant_type_is_container
    - g_slice_new0
    linkageType: ''
    returnType: OtVariantBuilder*
    signature: 'OtVariantBuilder *ot_variant_builder_new (const GVariantType *type,
      int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - builder
    argTypes:
    - OtVariantBuilder*
    constantsTouched: []
    func_position:
      end: 845
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 845
    functionName: ot_variant_builder_ref
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OtVariantBuilder*
    signature: 'OtVariantBuilder *ot_variant_builder_ref (OtVariantBuilder *builder) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:959,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:963,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:962,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:961,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:960,1
    - Dst: ot_variant_builder_pre_add
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:965,1
    - Dst: glnx_regfile_copy_bytes
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:968,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:969,1
    - Dst: ot_variant_builder_post_add
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:971,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - builder
    - type
    - fd
    - size
    - error
    argTypes:
    - OtVariantBuilder*
    - GVariantType*
    - int
    - guint64
    - GError**
    constantsTouched: []
    func_position:
      end: 975
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 975
    functionName: ot_variant_builder_add_from_fd
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - glnx_regfile_copy_bytes
    - ot_variant_builder_post_add
    - g_variant_type_is_subtype_of
    - g_return_val_if_fail
    - glnx_throw_errno
    - ot_variant_builder_pre_add
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_variant_builder_add_from_fd (OtVariantBuilder *builder,
      const GVariantType *type, int fd, guint64 size, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1062,1
    - Dst: ot_variant_builder_end
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1064,1
    - Dst: ot_variant_builder_info_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1075,1
    - Dst: ot_variant_builder_post_add
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1069,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - builder
    - error
    argTypes:
    - OtVariantBuilder*
    - GError**
    constantsTouched: []
    func_position:
      end: 1078
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1078
    functionName: ot_variant_builder_close
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - ot_variant_builder_info_free
    - g_return_val_if_fail
    - ot_variant_builder_post_add
    - ot_variant_builder_end
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_variant_builder_close (OtVariantBuilder *builder, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tuple_get_item
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:403,1
    - Dst: tuple_align
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:409,1
    - Dst: tuple_table_append
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:414,1
    - Dst: tuple_align
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - info
    argTypes:
    - TupleInfo*
    constantsTouched: []
    func_position:
      end: 429
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 429
    functionName: tuple_generate_table
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - tuple_table_append
    - tuple_align
    - tuple_get_item
    linkageType: ''
    returnType: void
    signature: 'static void tuple_generate_table (TupleInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:156,1
    - Dst: g_slice_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:160,1
    - Dst: g_variant_type_info_unref
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: array_info_free
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - alignment
    argTypes:
    - gsize
    - guint
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: tuple_align
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize tuple_align (gsize offset, guint alignment) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tuple_align
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - info
    argTypes:
    - TupleInfo*
    constantsTouched: []
    func_position:
      end: 495
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 495
    functionName: tuple_set_base_info
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - tuple_align
    linkageType: ''
    returnType: void
    signature: 'static void tuple_set_base_info (TupleInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:536,1
    - Dst: g_atomic_int_inc
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: g_variant_type_info_ref
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_atomic_int_inc
    linkageType: ''
    returnType: GVariantTypeInfo*
    signature: 'static GVariantTypeInfo *g_variant_type_info_ref (GVariantTypeInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:168,1
    - Dst: g_variant_type_element
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:171,1
    - Dst: g_variant_type_info_get
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: array_info_new
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_get
    - g_variant_type_element
    - g_slice_new
    linkageType: ''
    returnType: ContainerInfo*
    signature: 'static ContainerInfo *array_info_new (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:502,1
    - Dst: tuple_allocate_members
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:505,1
    - Dst: tuple_set_base_info
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:507,1
    - Dst: tuple_generate_table
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 510
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 510
    functionName: tuple_info_new
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - tuple_allocate_members
    - tuple_generate_table
    - tuple_set_base_info
    - g_slice_new
    linkageType: ''
    returnType: ContainerInfo*
    signature: 'static ContainerInfo *tuple_info_new (const GVariantType *type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:550,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:556,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:553,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:551,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:554,1
    - Dst: g_rec_mutex_unlock
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:559,1
    - Dst: g_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:561,1
    - Dst: array_info_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:564,1
    - Dst: tuple_info_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:567,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:570,1
    - Dst: g_rec_mutex_unlock
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 575
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 575
    functionName: g_variant_type_info_unref
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_hash_table_unref
    - g_free
    - g_hash_table_size
    - g_assert_not_reached
    - g_hash_table_remove
    - array_info_free
    - tuple_info_free
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_type_info_unref (GVariantTypeInfo *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:740,1
    - Dst: g_variant_type_is_container
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:740,1
    - Dst: g_variant_type_info_get
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:746,1
    - Dst: g_variant_type_copy
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:745,1
    - Dst: g_slice_new0
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:742,1
    - Dst: g_array_new
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:749,1
    - Dst: g_variant_type_element
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:762,1
    - Dst: g_variant_type_element
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:769,1
    - Dst: g_variant_type_key
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:776,1
    - Dst: g_variant_type_first
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:789,1
    - Dst: g_variant_type_n_items
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:790,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:796,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - builder
    - type
    argTypes:
    - OtVariantBuilder*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 800
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 800
    functionName: ot_variant_builder_info_new
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_variant_type_n_items
    - g_slice_new0
    - g_assert
    - g_variant_type_first
    - g_assert_not_reached
    - g_array_new
    - g_variant_type_element
    - g_variant_type_key
    - g_variant_type_info_get
    - g_variant_type_is_container
    - g_variant_type_copy
    linkageType: ''
    returnType: OtVariantBuilderInfo*
    signature: 'static OtVariantBuilderInfo *ot_variant_builder_info_new (OtVariantBuilder
      *builder, const GVariantType *type) '
  - 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: 349
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 349
    functionName: tuple_table_append
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tuple_table_append (GVariantMemberInfo **items, gsize
      i, gsize a, gsize b, gsize c) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_next
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:858,1
    - Dst: g_free
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:865,1
    - Dst: g_variant_type_next
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:861,1
    - Dst: g_strdup
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:866,1
    - Dst: g_variant_type_is_tuple
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:870,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:870,1
    - Dst: g_variant_type_info_member_info
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:874,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:875,1
    - Dst: g_variant_type_is_array
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:878,1
    - Dst: g_variant_type_info_element
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:880,1
    - Dst: g_variant_type_is_variant
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:884,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:889,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:893,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:894,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 3
    argNames:
    - info
    - type
    - error
    argTypes:
    - OtVariantBuilderInfo*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 899
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 899
    functionName: ot_variant_builder_pre_add
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_type_info_member_info
    - g_free
    - g_variant_type_is_dict_entry
    - g_variant_type_is_array
    - g_variant_type_is_tuple
    - g_assert
    - g_variant_type_info_element
    - g_variant_type_is_variant
    - glnx_loop_write
    - g_variant_type_next
    - glnx_throw
    - glnx_throw_errno
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_variant_builder_pre_add (OtVariantBuilderInfo *info,
      const GVariantType *type, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_append_val
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OtVariantBuilderInfo*
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: ot_variant_builder_add_child_end
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_array_append_val
    linkageType: ''
    returnType: void
    signature: 'static void ot_variant_builder_add_child_end (OtVariantBuilderInfo
      *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_array
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1097,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1087,1
    - Dst: g_variant_type_is_tuple
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1092,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1088,1
    - Dst: g_variant_type_info_element
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1099,1
    - Dst: gvs_write_unaligned_le
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1130,1
    - Dst: g_array_index
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1130,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1141,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1092,1
    - Dst: g_variant_type_is_definite
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1089,1
    - Dst: g_variant_type_is_variant
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1104,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1109,1
    - Dst: gvs_calculate_total_size
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1113,1
    - Dst: gvs_get_offset_size
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1114,1
    - Dst: g_malloc
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1116,1
    - Dst: gvs_write_unaligned_le
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1122,1
    - Dst: g_array_index
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1122,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1135,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1136,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - builder
    - error
    argTypes:
    - OtVariantBuilder*
    - GError**
    constantsTouched: []
    func_position:
      end: 1144
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1144
    functionName: ot_variant_builder_end
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - gvs_get_offset_size
    - g_variant_type_is_array
    - g_variant_type_is_dict_entry
    - g_variant_type_info_element
    - g_variant_type_is_tuple
    - g_assert
    - g_variant_type_is_variant
    - g_array_index
    - glnx_loop_write
    - glnx_throw_errno
    - gvs_calculate_total_size
    - g_variant_type_is_definite
    - glnx_throw
    - g_return_val_if_fail
    - g_malloc
    - gvs_write_unaligned_le
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_variant_builder_end (OtVariantBuilder *builder, GError
      **error) '
  - 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: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: tuple_get_item
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean tuple_get_item (TupleInfo *info, GVariantMemberInfo
      *item, gsize *d, gsize *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GV_TUPLE_INFO
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - info
    - index
    argTypes:
    - GVariantTypeInfo*
    - gsize
    constantsTouched: []
    func_position:
      end: 521
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 521
    functionName: g_variant_type_info_member_info
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - GV_TUPLE_INFO
    linkageType: ''
    returnType: GVariantMemberInfo*
    signature: 'static const GVariantMemberInfo *g_variant_type_info_member_info (GVariantTypeInfo
      *info, gsize index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:984,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:986,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:987,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:987,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:989,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:989,1
    - Dst: ot_variant_builder_pre_add
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:992,1
    - Dst: g_variant_get_type
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:992,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:995,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:996,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1001,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1000,1
    - Dst: ot_variant_builder_post_add
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1004,1
    - Dst: g_variant_get_type
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1004,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - builder
    - value
    - error
    argTypes:
    - OtVariantBuilder*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 1008
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1008
    functionName: ot_variant_builder_add_value
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - g_variant_get_data
    - glnx_loop_write
    - g_variant_get_type
    - g_variant_get_size
    - ot_variant_builder_post_add
    - g_variant_ref_sink
    - g_return_val_if_fail
    - glnx_throw_errno
    - ot_variant_builder_pre_add
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_variant_builder_add_value (OtVariantBuilder *builder,
      GVariant *value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: GV_TUPLE_INFO
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TupleInfo*
    signature: 'static TupleInfo *GV_TUPLE_INFO (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GV_ARRAY_INFO
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: g_variant_type_info_element
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - GV_ARRAY_INFO
    linkageType: ''
    returnType: GVariantTypeInfo*
    signature: 'static GVariantTypeInfo *g_variant_type_info_element (GVariantTypeInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1016,1
    - Dst: g_variant_new_va
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1017,1
    - Dst: ot_variant_builder_add_value
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1020,1
    - Dst: va_end
      Src: /src/ostree/src/libotutil/ot-variant-builder.c:1018,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - builder
    - error
    - format_string
    - '...'
    argTypes:
    - OtVariantBuilder*
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1021
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1021
    functionName: ot_variant_builder_add
    functionSourceFile: /src/ostree/src/libotutil/ot-variant-builder.c
    functionUses: []
    functionsReached:
    - va_end
    - ot_variant_builder_add_value
    - g_variant_new_va
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_variant_builder_add (OtVariantBuilder *builder, GError
      **error, const gchar *format_string, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_clear
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:40,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: ot_checksum_instream_finalize
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-instream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - ot_checksum_clear
    linkageType: ''
    returnType: void
    signature: 'static void ot_checksum_instream_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:74,1
    - Dst: g_assert
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:79,1
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:80,1
    - Dst: g_object_new
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:76,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:74,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - base
    - checksum_type
    - buf
    - len
    argTypes:
    - GInputStream*
    - GChecksumType
    - guint8*
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: ot_checksum_instream_new_with_start
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-instream.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_assert
    - g_return_val_if_fail
    - ot_checksum_init
    - ot_checksum_update
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: OtChecksumInstream*
    signature: 'OtChecksumInstream *ot_checksum_instream_new_with_start (GInputStream
      *base, GChecksumType checksum_type, const guint8 *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_instream_get_instance_private
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OtChecksumInstream*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ot_checksum_instream_init
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-instream.c
    functionUses: []
    functionsReached:
    - ot_checksum_instream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void ot_checksum_instream_init (OtChecksumInstream *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:48,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OtChecksumInstreamClass*
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: ot_checksum_instream_class_init
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-instream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_INPUT_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ot_checksum_instream_class_init (OtChecksumInstreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_instream_new_with_start
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - base
    - checksum_type
    argTypes:
    - GInputStream*
    - GChecksumType
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: ot_checksum_instream_new
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-instream.c
    functionUses: []
    functionsReached:
    - ot_checksum_instream_new_with_start
    linkageType: ''
    returnType: OtChecksumInstream*
    signature: 'OtChecksumInstream *ot_checksum_instream_new (GInputStream *base,
      GChecksumType checksum_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:95,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:97,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: ot_checksum_instream_read
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-instream.c
    functionUses: []
    functionsReached:
    - ot_checksum_update
    - g_input_stream_read
    linkageType: ''
    returnType: gssize
    signature: 'static gssize ot_checksum_instream_read (GInputStream *stream, void
      *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_get_hexdigest
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:106,1
    - Dst: g_strndup
      Src: /src/ostree/src/libotutil/ot-checksum-instream.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - OtChecksumInstream*
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: ot_checksum_instream_get_string
    functionSourceFile: /src/ostree/src/libotutil/ot-checksum-instream.c
    functionUses: []
    functionsReached:
    - g_strndup
    - ot_checksum_get_hexdigest
    linkageType: ''
    returnType: char*
    signature: 'char *ot_checksum_instream_get_string (OtChecksumInstream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: typedef
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS /* A little helper to call unlinkat() as a cleanup *
      function. Mostly only necessary to handle * deletion of temporary symlinks.
      */ typedef struct '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlinkat
      Src: /src/ostree/src/libotutil/ot-fs-utils.h:47,1
    - Dst: ot_cleanup_unlinkat_clear
      Src: /src/ostree/src/libotutil/ot-fs-utils.h:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - OtCleanupUnlinkat*
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: ot_cleanup_unlinkat
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.h
    functionUses: []
    functionsReached:
    - unlinkat
    - ot_cleanup_unlinkat_clear
    linkageType: ''
    returnType: void
    signature: 'static inline void ot_cleanup_unlinkat (OtCleanupUnlinkat *cleanup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libotutil/ot-fs-utils.h:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - OtCleanupUnlinkat*
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: ot_cleanup_unlinkat_clear
    functionSourceFile: /src/ostree/src/libotutil/ot-fs-utils.h
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static inline void ot_cleanup_unlinkat_clear (OtCleanupUnlinkat *cleanup) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-export.c:56,1
    - Dst: archive_write_set_format_gnutar
      Src: /src/ostree/src/ostree/ot-builtin-export.c:79,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-export.c:82,1
    - Dst: archive_error_string
      Src: /src/ostree/src/ostree/ot-builtin-export.c:82,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/ostree/ot-builtin-export.c:102,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/ostree/ot-builtin-export.c:113,1
    - Dst: ostree_repo_export_tree_to_archive
      Src: /src/ostree/src/ostree/ot-builtin-export.c:119,1
    - Dst: archive_write_close
      Src: /src/ostree/src/ostree/ot-builtin-export.c:123,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-export.c:124,1
    - Dst: archive_error_string
      Src: /src/ostree/src/ostree/ot-builtin-export.c:124,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-export.c:67,1
    - Dst: archive_write_new
      Src: /src/ostree/src/ostree/ot-builtin-export.c:72,1
    - Dst: archive_write_add_filter_none
      Src: /src/ostree/src/ostree/ot-builtin-export.c:81,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-export.c:86,1
    - Dst: archive_error_string
      Src: /src/ostree/src/ostree/ot-builtin-export.c:86,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-export.c:59,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/ostree/ot-builtin-export.c:106,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/ostree/ot-builtin-export.c:109,1
    - Dst: archive_write_open_FILE
      Src: /src/ostree/src/ostree/ot-builtin-export.c:90,1
    - Dst: archive_write_open_filename
      Src: /src/ostree/src/ostree/ot-builtin-export.c:85,1
    - Dst: g_object_ref
      Src: /src/ostree/src/ostree/ot-builtin-export.c:115,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-export.c:128,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-export.c:80,1
    - Dst: archive_error_string
      Src: /src/ostree/src/ostree/ot-builtin-export.c:80,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-export.c:91,1
    - Dst: archive_error_string
      Src: /src/ostree/src/ostree/ot-builtin-export.c:91,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 132
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 132
    functionName: ostree_builtin_export
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-export.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit
    - g_set_error
    - ostree_option_context_parse
    - g_option_context_new
    - g_object_ref
    - archive_error_string
    - archive_write_add_filter_none
    - ostree_commit_get_timestamp
    - archive_write_close
    - archive_write_new
    - ostree_repo_load_variant
    - archive_write_open_FILE
    - glnx_throw
    - archive_write_open_filename
    - archive_write_set_format_gnutar
    - g_file_resolve_relative_path
    - ostree_repo_export_tree_to_archive
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_export (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/ostree/src/ostree/ot-editor.c:39,1
    - Dst: g_getenv
      Src: /src/ostree/src/ostree/ot-editor.c:46,1
    - Dst: g_getenv
      Src: /src/ostree/src/ostree/ot-editor.c:40,1
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-editor.c:41,1
    - Dst: g_getenv
      Src: /src/ostree/src/ostree/ot-editor.c:44,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: get_editor
    functionSourceFile: /src/ostree/src/ostree/ot-editor.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_getenv
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_editor (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_editor
      Src: /src/ostree/src/ostree/ot-editor.c:68,1
    - Dst: G_IO_STREAM
      Src: /src/ostree/src/ostree/ot-editor.c:80,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-editor.c:71,1
    - Dst: g_file_new_tmp
      Src: /src/ostree/src/ostree/ot-editor.c:76,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/ostree/src/ostree/ot-editor.c:80,1
    - Dst: g_output_stream_write_all
      Src: /src/ostree/src/ostree/ot-editor.c:81,1
    - Dst: strlen
      Src: /src/ostree/src/ostree/ot-editor.c:81,1
    - Dst: g_io_stream_close
      Src: /src/ostree/src/ostree/ot-editor.c:82,1
    - Dst: G_IO_STREAM
      Src: /src/ostree/src/ostree/ot-editor.c:82,1
    - Dst: g_shell_quote
      Src: /src/ostree/src/ostree/ot-editor.c:86,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/ostree/ot-editor.c:98,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/ostree/ot-editor.c:86,1
    - Dst: g_subprocess_wait_check
      Src: /src/ostree/src/ostree/ot-editor.c:92,1
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/ostree/ot-editor.c:98,1
    - Dst: g_file_delete
      Src: /src/ostree/src/ostree/ot-editor.c:103,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/ostree/ot-editor.c:94,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-editor.c:87,1
    - Dst: g_subprocess_new
      Src: /src/ostree/src/ostree/ot-editor.c:90,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 4
    argNames:
    - repo
    - input
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 105
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 105
    functionName: ot_editor_prompt
    functionSourceFile: /src/ostree/src/ostree/ot-editor.c
    functionUses: []
    functionsReached:
    - strlen
    - g_output_stream_write_all
    - gs_file_get_path_cached
    - G_IO_STREAM
    - g_subprocess_wait_check
    - g_io_stream_get_output_stream
    - g_shell_quote
    - g_file_delete
    - g_subprocess_new
    - g_file_new_tmp
    - g_prefix_error
    - g_io_stream_close
    - get_editor
    - g_strconcat
    - g_set_error_literal
    - glnx_file_get_contents_utf8_at
    linkageType: ''
    returnType: char*
    signature: 'char *ot_editor_prompt (OstreeRepo *repo, const char *input, GCancellable
      *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-list-cookies.c:40,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-remote-builtin-list-cookies.c:53,1
    - Dst: ot_list_cookies_at
      Src: /src/ostree/src/ostree/ot-remote-builtin-list-cookies.c:54,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-list-cookies.c:42,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-list-cookies.c:48,1
    - Dst: ostree_repo_get_dfd
      Src: /src/ostree/src/ostree/ot-remote-builtin-list-cookies.c:54,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: ot_remote_builtin_list_cookies
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-list-cookies.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_get_dfd
    - g_strdup_printf
    - ot_list_cookies_at
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_list_cookies (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_parse_boolean
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - char*
    - char*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: parse_fsync_cb
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-checkout.c
    functionUses: []
    functionsReached:
    - ot_parse_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_fsync_cb (const char *option_name, const char
      *value, gpointer data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_add
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:121,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - line
    - data
    - error
    argTypes:
    - char*
    - void*
    - GError**
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: handle_skiplist_line
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-checkout.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_skiplist_line (const char *line, void *data,
      GError **error) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:155,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:185,1
    - Dst: ostree_repo_checkout_at
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:234,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:210,1
    - Dst: ot_parse_file_by_line
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:222,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:242,1
    - Dst: g_object_ref
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:251,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:260,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:160,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:244,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:273,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:179,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:181,1
    - Dst: ostree_sepolicy_new_at
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:211,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:209,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:219,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:249,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:254,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:266,1
    - Dst: ostree_repo_checkout_tree
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:271,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:153,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:157,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:158,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:160,1
    - Dst: ostree_repo_checkout_composefs
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:161,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:183,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:195,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:187,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:258,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 85
    argCount: 6
    argNames:
    - repo
    - resolved_commit
    - subpath
    - destination
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 279
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 279
    functionName: process_one_checkout
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-checkout.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit
    - G_VARIANT_BUILDER_INIT
    - ostree_repo_checkout_composefs
    - g_clear_error
    - ot_parse_file_by_line
    - glnx_throw
    - g_propagate_error
    - ostree_repo_checkout_tree
    - g_error_matches
    - g_variant_builder_add
    - ostree_repo_checkout_at
    - ostree_sepolicy_new_at
    - g_object_ref
    - g_file_new_for_path
    - glnx_opendirat
    - OSTREE_REPO_FILE
    - glnx_prefix_error
    - g_variant_ref_sink
    - g_file_resolve_relative_path
    - g_hash_table_new_full
    - g_file_query_info
    - g_variant_builder_end
    - g_variant_new_uint32
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean process_one_checkout (OstreeRepo *repo, const char
      *resolved_commit, const char *subpath, const char *destination, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - self
    - path
    - st_buf
    - user_data
    argTypes:
    - OstreeRepo*
    - char*
    - struct stat*
    - gpointer
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: checkout_filter
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-checkout.c
    functionUses: []
    functionsReached:
    - g_hash_table_contains
    linkageType: ''
    returnType: OstreeRepoCheckoutFilterResult
    signature: 'static OstreeRepoCheckoutFilterResult checkout_filter (OstreeRepo
      *self, const char *path, struct stat *st_buf, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:290,1
    - Dst: g_data_input_stream_read_upto
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:307,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:294,1
    - Dst: g_data_input_stream_new
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:301,1
    - Dst: g_file_read
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:296,1
    - Dst: g_data_input_stream_read_byte
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:314,1
    - Dst: g_data_input_stream_read_upto
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:316,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:319,1
    - Dst: g_data_input_stream_read_byte
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:324,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:326,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:331,1
    - Dst: process_one_checkout
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:329,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:337,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 4
    argNames:
    - repo
    - target
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 342
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 342
    functionName: process_many_checkouts
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-checkout.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_new
    - g_file_new_for_path
    - process_one_checkout
    - g_unix_input_stream_new
    - ostree_repo_resolve_rev
    - g_data_input_stream_read_upto
    - g_file_read
    - g_prefix_error
    - g_propagate_error
    - g_data_input_stream_read_byte
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean process_many_checkouts (OstreeRepo *repo, const char
      *target, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:348,1
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:359,1
    - Dst: ostree_repo_set_disable_fsync
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:355,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:360,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:350,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:361,1
    - Dst: process_many_checkouts
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:368,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:381,1
    - Dst: process_one_checkout
      Src: /src/ostree/src/ostree/ot-builtin-checkout.c:384,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 22
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 390
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 390
    functionName: ostree_builtin_checkout
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-checkout.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - process_one_checkout
    - process_many_checkouts
    - g_option_context_get_help
    - ostree_repo_set_disable_fsync
    - ostree_repo_resolve_rev
    - glnx_throw
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_checkout (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:169,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:173,1
    - Dst: prune_upperdir_recurse
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - sysroot_fd
    - mountpath
    - overlay_dfd
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: prune_upperdir
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c
    functionUses: []
    functionsReached:
    - glnx_opendirat
    - prune_upperdir_recurse
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean prune_upperdir (int sysroot_fd, const char *mountpath,
      int overlay_dfd, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_lgetxattrat
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:70,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:73,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:75,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - dfd
    - path
    - attribute
    - out_bytes
    - error
    argTypes:
    - int
    - char*
    - char*
    - GBytes**
    - GError**
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: lgetxattrat_allow_noent
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_steal_pointer
    - g_error_matches
    - glnx_lgetxattrat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean lgetxattrat_allow_noent (int dfd, const char *path,
      const char *attribute, GBytes **out_bytes, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lgetxattrat_allow_noent
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:85,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - dfd
    - dname
    - out_is_opaque
    - error
    argTypes:
    - int
    - char*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: is_opaque_dir
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - lgetxattrat_allow_noent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_opaque_dir (int dfd, const char *dname, gboolean
      *out_is_opaque, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lgetxattrat_allow_noent
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:205,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:212,1
    - Dst: g_strndup
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - overlay_dfd
    - out_checksum
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 219
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 219
    functionName: get_overlay_deployment_checksum
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_bytes_get_data
    - lgetxattrat_allow_noent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_overlay_deployment_checksum (int overlay_dfd,
      char **out_checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:103,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:122,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:116,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:109,1
    - Dst: is_opaque_dir
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:126,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:133,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:136,1
    - Dst: prune_upperdir_recurse
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:138,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:139,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:150,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:156,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 32
    argCount: 4
    argNames:
    - lower_dfd
    - upper_dfd
    - cancellable
    - error
    argTypes:
    - int
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 162
    functionName: prune_upperdir_recurse
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - glnx_fstatat_allow_noent
    - prune_upperdir_recurse
    - glnx_opendirat
    - is_opaque_dir
    - glnx_dirfd_iterator_init_at
    - glnx_prefix_error
    - glnx_shutil_rm_rf_at
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean prune_upperdir_recurse (int lower_dfd, int upper_dfd,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:189,1
    - Dst: g_build_filename
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:191,1
    - Dst: mount
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:194,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:193,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - mountpath
    - name
    - error
    argTypes:
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: mount_overlay
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - g_strdup_printf
    - mount
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mount_overlay (const char *mountpath, const char *name,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:225,1
    - Dst: strlen
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:225,1
    - Dst: glnx_lsetxattrat
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - overlay_dfd
    - checksum
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: set_overlay_deployment_checksum
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c
    functionUses: []
    functionsReached:
    - strlen
    - glnx_lsetxattrat
    - g_assert_cmpuint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_overlay_deployment_checksum (int overlay_dfd,
      const char *checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_shutil_mkdir_p_at_open
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:51,1
    - Dst: glnx_steal_fd
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:60,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:54,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:56,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - overlay_dir
    - out_overlay_dfd
    - cancellable
    - error
    argTypes:
    - char*
    - int*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: ensure_overlay_dirs
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c
    functionUses: []
    functionsReached:
    - glnx_steal_fd
    - glnx_shutil_mkdir_p_at
    - glnx_shutil_mkdir_p_at_open
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_overlay_dirs (const char *overlay_dir, int
      *out_overlay_dfd, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:239,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:251,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:244,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:256,1
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:254,1
    - Dst: g_build_filename
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:262,1
    - Dst: ensure_overlay_dirs
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:263,1
    - Dst: get_overlay_deployment_checksum
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:267,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:271,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:272,1
    - Dst: ostree_sysroot_get_fd
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:275,1
    - Dst: set_overlay_deployment_checksum
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:279,1
    - Dst: mount_overlay
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:283,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:277,1
    - Dst: prune_upperdir
      Src: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c:275,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 26
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 284
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 284
    functionName: ot_admin_builtin_state_overlay
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-state-overlay.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_booted_deployment
    - set_overlay_deployment_checksum
    - g_option_context_new
    - mount_overlay
    - get_overlay_deployment_checksum
    - ostree_deployment_get_csum
    - g_strcmp0
    - g_build_filename
    - glnx_prefix_error
    - glnx_throw
    - prune_upperdir
    - ostree_admin_option_context_parse
    - ensure_overlay_dirs
    - ostree_sysroot_get_fd
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_state_overlay (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:45,1
    - Dst: g_option_context_set_summary
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:61,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:55,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:53,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ostree_admin_instutil_option_context_new_with_commands
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-instutil.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_option_context_new
    - g_option_context_set_summary
    - g_string_append_printf
    linkageType: ''
    returnType: GOptionContext*
    signature: 'static GOptionContext *ostree_admin_instutil_option_context_new_with_commands
      (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:86,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:116,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:99,1
    - Dst: ostree_admin_instutil_option_context_new_with_commands
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:107,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:110,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:121,1
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:126,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:127,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:131,1
    - Dst: g_get_prgname
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:131,1
    - Dst: g_set_prgname
      Src: /src/ostree/src/ostree/ot-admin-builtin-instutil.c:132,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 139
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 139
    functionName: ot_admin_builtin_instutil
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-instutil.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_set_error
    - g_set_prgname
    - g_get_prgname
    - g_strcmp0
    - g_option_context_get_help
    - g_strdup_printf
    - ostree_admin_instutil_option_context_new_with_commands
    - ostree_admin_option_context_parse
    - g_set_error_literal
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_instutil (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete.c:48,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete.c:50,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete.c:62,1
    - Dst: ostree_repo_remote_change
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete.c:68,1
    - Dst: ostree_parse_sysroot_or_repo_option
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete.c:56,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: ot_remote_builtin_delete
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-delete.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_parse_sysroot_or_repo_option
    - ot_util_usage_error
    - ostree_repo_remote_change
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_delete (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-builtin-config.c:40,1
    - Dst: g_strndup
      Src: /src/ostree/src/ostree/ot-builtin-config.c:47,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-config.c:44,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-config.c:48,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - k
    - out_section
    - out_value
    - error
    argTypes:
    - char*
    - char**
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: split_key_string
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-config.c
    functionUses: []
    functionsReached:
    - strchr
    - g_strndup
    - g_strdup
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean split_key_string (const char *k, char **out_section,
      char **out_value, GError **error) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:67,1
    - Dst: split_key_string
      Src: /src/ostree/src/ostree/ot-builtin-config.c:144,1
    - Dst: ostree_repo_get_config
      Src: /src/ostree/src/ostree/ot-builtin-config.c:148,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/ostree/ot-builtin-config.c:149,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-config.c:155,1
    - Dst: g_key_file_remove_key
      Src: /src/ostree/src/ostree/ot-builtin-config.c:182,1
    - Dst: ostree_repo_write_config
      Src: /src/ostree/src/ostree/ot-builtin-config.c:192,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-config.c:58,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-config.c:88,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-config.c:98,1
    - Dst: split_key_string
      Src: /src/ostree/src/ostree/ot-builtin-config.c:111,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-config.c:121,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:129,1
    - Dst: ostree_repo_copy_config
      Src: /src/ostree/src/ostree/ot-builtin-config.c:115,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/ostree/ot-builtin-config.c:116,1
    - Dst: ostree_repo_write_config
      Src: /src/ostree/src/ostree/ot-builtin-config.c:118,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:162,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:187,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:197,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-config.c:74,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-config.c:153,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-config.c:166,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-config.c:167,1
    - Dst: ostree_repo_copy_config
      Src: /src/ostree/src/ostree/ot-builtin-config.c:181,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-builtin-config.c:184,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-config.c:187,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:173,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-config.c:61,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:79,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:94,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-config.c:99,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:106,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-config.c:134,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-config.c:140,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-config.c:133,1
    - Dst: split_key_string
      Src: /src/ostree/src/ostree/ot-builtin-config.c:177,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-builtin-config.c:185,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 99
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 202
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 202
    functionName: ostree_builtin_config
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-config.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - ostree_option_context_parse
    - g_option_context_new
    - g_key_file_get_string
    - g_key_file_remove_key
    - ostree_repo_write_config
    - ostree_repo_copy_config
    - g_error_matches
    - ostree_repo_get_config
    - split_key_string
    - g_steal_pointer
    - strcmp
    - g_propagate_error
    - g_print
    - ot_util_usage_error
    - g_key_file_set_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_config (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_now_local
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:124,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:127,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:126,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:125,1
    - Dst: g_date_time_get_microsecond
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:127,1
    - Dst: va_start
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:130,1
    - Dst: g_string_append_vprintf
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:131,1
    - Dst: va_end
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:132,1
    - Dst: g_output_stream_write_all
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - httpd
    - format
    - '...'
    argTypes:
    - OtTrivialHttpd*
    - gchar*
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: httpd_log
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - va_end
    - g_string_new
    - g_date_time_format
    - g_date_time_new_now_local
    - g_string_append_printf
    - va_start
    - g_string_append_vprintf
    - g_date_time_get_microsecond
    - g_output_stream_write_all
    linkageType: ''
    returnType: void
    signature: 'static void httpd_log (OtTrivialHttpd *httpd, const gchar *format,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_fd
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:222,1
    - Dst: shutdown
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:226,1
    - Dst: shutdown
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - user_data
    argTypes:
    - SoupServerMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: close_socket
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - shutdown
    - g_socket_get_fd
    linkageType: ''
    returnType: void
    signature: 'static void close_socket (SoupServerMessage *msg, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:149,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:168,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:161,1
    - Dst: g_markup_escape_text
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:174,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:159,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:175,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:178,1
    - Dst: g_markup_escape_text
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:180,1
    - Dst: strchr
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:180,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:181,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:182,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:186,1
    - Dst: g_free
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:188,1
    - Dst: g_string_append
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:190,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:193,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:188,1
    - Dst: g_free
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:183,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 2
    argNames:
    - dfd
    - path
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 195
    functionName: get_directory_listing
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - g_markup_escape_text
    - g_string_new
    - g_string_append
    - g_free
    - g_ptr_array_new_with_free_func
    - g_string_append_printf
    - g_ptr_array_sort
    - g_steal_pointer
    - glnx_dirfd_iterator_init_at
    - glnx_dirfd_iterator_next_dent
    - strchr
    - g_ptr_array_add
    - g_printerr
    linkageType: ''
    returnType: GString*
    signature: 'static GString *get_directory_listing (int dfd, const char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: httpd_log
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:659,1
    - Dst: g_main_context_wakeup
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - mon
    - file
    - other
    - event
    - user_data
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 663
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 663
    functionName: on_dir_changed
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - httpd_log
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void on_dir_changed (GFileMonitor *mon, GFile *file, GFile
      *other, GFileMonitorEvent event, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: compare_strings
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int compare_strings (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:648,1
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - auth_domain
    - msg
    - username
    - password
    - data
    argTypes:
    - SoupAuthDomain*
    - SoupServerMessage*
    - char*
    - char*
    - gpointer
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: basic_auth_callback
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean basic_auth_callback (SoupAuthDomain *auth_domain,
      SoupServerMessage *msg, const char *username, const char *password, gpointer
      data) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:709,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:732,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:790,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:873,1
    - Dst: g_debug
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:872,1
    - Dst: g_debug
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:944,1
    - Dst: g_clear_object
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:950,1
    - Dst: soup_server_get_port
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:853,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:725,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:893,1
    - Dst: g_assert_false
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:936,1
    - Dst: SOUP_CHECK_VERSION
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:807,1
    - Dst: fputs
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:858,1
    - Dst: read
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:740,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:840,1
    - Dst: httpd_log
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:927,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:937,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:853,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:788,1
    - Dst: freopen
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:891,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:945,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:697,1
    - Dst: soup_server_new
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:812,1
    - Dst: close
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:949,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:848,1
    - Dst: soup_server_new
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:808,1
    - Dst: g_file_set_contents
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:861,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:851,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:856,1
    - Dst: write
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:945,1
    - Dst: SOUP_CHECK_VERSION
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:818,1
    - Dst: g_assert_false
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:942,1
    - Dst: g_file_monitor_file
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:919,1
    - Dst: soup_auth_domain_basic_new
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:824,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:848,1
    - Dst: soup_auth_domain_basic_set_auth_callback
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:826,1
    - Dst: setsid
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:880,1
    - Dst: soup_server_add_auth_domain
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:828,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:692,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:704,1
    - Dst: g_debug
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:753,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:748,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:801,1
    - Dst: soup_auth_domain_add_path
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:825,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:878,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:911,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:756,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:740,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:875,1
    - Dst: write
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:873,1
    - Dst: freopen
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:896,1
    - Dst: g_file_info_get_is_symlink
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:916,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:882,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:946,1
    - Dst: SOUP_CHECK_VERSION
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:835,1
    - Dst: g_socket_get_local_address
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:844,1
    - Dst: strlen
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:861,1
    - Dst: g_option_context_add_main_entries
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:680,1
    - Dst: pipe
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:723,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:767,1
    - Dst: soup_server_listen_all
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:809,1
    - Dst: G_CALLBACK
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:925,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:851,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:898,1
    - Dst: g_object_ref
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:841,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:888,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:738,1
    - Dst: g_file_monitor_directory
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:921,1
    - Dst: SOUP_CHECK_VERSION
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:864,1
    - Dst: soup_server_add_handler
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:831,1
    - Dst: soup_server_get_listeners
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:836,1
    - Dst: g_slist_free
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:842,1
    - Dst: freopen
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:886,1
    - Dst: g_option_context_parse
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:684,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:743,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:760,1
    - Dst: prctl
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:774,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:778,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:797,1
    - Dst: g_file_create
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:798,1
    - Dst: fflush
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:859,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:910,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:679,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:711,1
    - Dst: fork
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:729,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:790,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:929,1
    - Dst: g_signal_connect
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:925,1
    - Dst: soup_auth_domain_basic_new
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:819,1
    - Dst: soup_server_run_async
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:865,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 184
    argCount: 4
    argNames:
    - argc
    - argv
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 952
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 952
    functionName: run
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - soup_server_get_listeners
    - soup_server_run_async
    - soup_auth_domain_basic_new
    - soup_server_new
    - soup_auth_domain_add_path
    - read
    - fork
    - prctl
    - glnx_set_error_from_errno
    - glnx_set_prefix_error_from_errno
    - strlen
    - g_file_info_get_is_symlink
    - G_IS_INET_SOCKET_ADDRESS
    - fflush
    - g_strcmp0
    - soup_server_add_auth_domain
    - TEMP_FAILURE_RETRY
    - g_unix_output_stream_new
    - g_inet_socket_address_get_port
    - close
    - soup_auth_domain_basic_set_auth_callback
    - ot_util_usage_error
    - g_signal_connect
    - g_option_context_new
    - g_object_ref
    - g_file_new_for_path
    - g_socket_get_local_address
    - soup_server_get_port
    - glnx_opendirat
    - g_file_set_contents
    - httpd_log
    - freopen
    - g_file_monitor_file
    - g_strdup_printf
    - G_CALLBACK
    - fputs
    - g_main_context_iteration
    - g_file_monitor_directory
    - g_slist_free
    - glnx_close_fd
    - g_file_query_info
    - write
    - g_set_error
    - pipe
    - SOUP_CHECK_VERSION
    - g_assert_false
    - setsid
    - g_assert
    - g_clear_object
    - g_option_context_parse
    - g_option_context_add_main_entries
    - soup_server_listen_all
    - g_debug
    - soup_server_add_handler
    - g_file_create
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean run (int argc, char **argv, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:960,1
    - Dst: run
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:964,1
    - Dst: g_set_prgname
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:962,1
    - Dst: ot_get_red_start
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:966,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:966,1
    - Dst: ot_get_bold_start
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:966,1
    - Dst: ot_get_bold_end
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:967,1
    - Dst: ot_get_red_end
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 972
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 972
    functionName: main
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - setlocale
    - ot_get_bold_end
    - run
    - g_set_prgname
    - ot_get_red_start
    - ot_get_red_end
    - ot_get_bold_start
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:205,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:211,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - stbuf
    argTypes:
    - struct stat*
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: is_safe_to_access
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_safe_to_access (struct stat *stbuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_get_bytes
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:234,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:236,1
    - Dst: g_compute_checksum_for_bytes
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - mapping
    argTypes:
    - GMappedFile*
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: calculate_etag
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_compute_checksum_for_bytes
    - g_mapped_file_get_bytes
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *calculate_etag (GMappedFile *mapping) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: soup_message_headers_get_one
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:250,1
    - Dst: soup_message_get_uri
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:255,1
    - Dst: soup_server_message_get_request_headers
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:250,1
    - Dst: soup_uri_get_host
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:255,1
    - Dst: g_uri_get_host
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:257,1
    - Dst: soup_server_message_get_uri
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:257,1
    - Dst: soup_header_parse_semi_param_list
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:259,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:260,1
    - Dst: SOUP_CHECK_VERSION
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:254,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:262,1
    - Dst: soup_header_free_param_list
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:270,1
    - Dst: g_slist_reverse
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:272,1
    - Dst: soup_cookie_new
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:266,1
    - Dst: g_slist_prepend
      Src: /src/ostree/src/ostree/ostree-trivial-httpd.c:267,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SoupServerMessage*
    constantsTouched: []
    func_position:
      end: 273
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 273
    functionName: _server_cookies_from_request
    functionSourceFile: /src/ostree/src/ostree/ostree-trivial-httpd.c
    functionUses: []
    functionsReached:
    - soup_cookie_new
    - SOUP_CHECK_VERSION
    - soup_server_message_get_uri
    - soup_message_get_uri
    - soup_header_free_param_list
    - g_slist_reverse
    - soup_server_message_get_request_headers
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_slist_prepend
    - soup_message_headers_get_one
    - soup_uri_get_host
    - g_uri_get_host
    - soup_header_parse_semi_param_list
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *_server_cookies_from_request (SoupServerMessage *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-main.c:140,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-main.c:142,1
    - Dst: g_get_prgname
      Src: /src/ostree/src/ostree/ot-main.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - message
    - user_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: message_handler
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - g_get_prgname
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void message_handler (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *message, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_process_privileged
      Src: /src/ostree/src/ostree/ot-main.c:118,1
    - Dst: unshare
      Src: /src/ostree/src/ostree/ot-main.c:127,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/ostree/ot-main.c:122,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-main.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - out_ns
    - error
    argTypes:
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: maybe_setup_mount_namespace
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - ot_util_process_privileged
    - unshare
    - glnx_fstatat_allow_noent
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean maybe_setup_mount_namespace (gboolean *out_ns, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execvp
      Src: /src/ostree/src/ostree/ot-main.c:228,1
    - Dst: setlocale
      Src: /src/ostree/src/ostree/ot-main.c:231,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-main.c:232,1
    - Dst: ot_get_red_start
      Src: /src/ostree/src/ostree/ot-main.c:232,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-main.c:229,1
    - Dst: ot_get_bold_start
      Src: /src/ostree/src/ostree/ot-main.c:232,1
    - Dst: ot_get_bold_end
      Src: /src/ostree/src/ostree/ot-main.c:233,1
    - Dst: ot_get_red_end
      Src: /src/ostree/src/ostree/ot-main.c:233,1
    - Dst: g_strerror
      Src: /src/ostree/src/ostree/ot-main.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: ostree_command_exec_external
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - setlocale
    - ot_get_bold_end
    - execvp
    - ot_get_red_start
    - g_assert
    - g_strerror
    - ot_get_red_end
    - ot_get_bold_start
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int ostree_command_exec_external (char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/ostree/src/ostree/ot-main.c:250,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-main.c:252,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-main.c:285,1
    - Dst: g_log_set_handler
      Src: /src/ostree/src/ostree/ot-main.c:256,1
    - Dst: ostree_option_context_new_with_commands
      Src: /src/ostree/src/ostree/ot-main.c:292,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-main.c:295,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-main.c:300,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-main.c:304,1
    - Dst: ostree_usage
      Src: /src/ostree/src/ostree/ot-main.c:309,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-main.c:314,1
    - Dst: g_get_prgname
      Src: /src/ostree/src/ostree/ot-main.c:314,1
    - Dst: g_set_prgname
      Src: /src/ostree/src/ostree/ot-main.c:315,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-main.c:323,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-main.c:327,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 4
    argNames:
    - argc
    - argv
    - commands
    - res_error
    argTypes:
    - int
    - char**
    - OstreeCommand*
    - GError**
    constantsTouched: []
    func_position:
      end: 331
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 331
    functionName: ostree_run
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_log_set_handler
    - ostree_option_context_parse
    - ostree_option_context_new_with_commands
    - g_set_prgname
    - g_get_prgname
    - g_strcmp0
    - g_assert
    - g_strdup_printf
    - glnx_throw
    - g_propagate_error
    - g_set_error_literal
    - ostree_usage
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int ostree_run (int argc, char **argv, OstreeCommand *commands, GError
      **res_error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parse_repo_option
      Src: /src/ostree/src/ostree/ot-main.c:387,1
    - Dst: ostree_repo_is_writable
      Src: /src/ostree/src/ostree/ot-main.c:395,1
    - Dst: ostree_repo_is_system
      Src: /src/ostree/src/ostree/ot-main.c:395,1
    - Dst: mount
      Src: /src/ostree/src/ostree/ot-main.c:402,1
    - Dst: maybe_setup_mount_namespace
      Src: /src/ostree/src/ostree/ot-main.c:398,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-main.c:403,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-main.c:406,1
    - Dst: parse_repo_option
      Src: /src/ostree/src/ostree/ot-main.c:407,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-main.c:413,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 5
    argNames:
    - context
    - repo_path
    - skip_repo_open
    - cancellable
    - error
    argTypes:
    - GOptionContext*
    - char*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 414
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 414
    functionName: parse_repo_option_and_maybe_remount
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - glnx_null_throw_errno_prefix
    - parse_repo_option
    - g_clear_pointer
    - mount
    - g_steal_pointer
    - maybe_setup_mount_namespace
    - ostree_repo_is_system
    - ostree_repo_is_writable
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'static OstreeRepo *parse_repo_option_and_maybe_remount (GOptionContext
      *context, const char *repo_path, gboolean skip_repo_open, GCancellable *cancellable,
      GError **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-main.c:473,1
    - Dst: g_option_context_add_main_entries
      Src: /src/ostree/src/ostree/ot-main.c:485,1
    - Dst: g_strsplit
      Src: /src/ostree/src/ostree/ot-main.c:520,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:521,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:524,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:530,1
    - Dst: parse_repo_option_and_maybe_remount
      Src: /src/ostree/src/ostree/ot-main.c:539,1
    - Dst: g_string_prepend
      Src: /src/ostree/src/ostree/ot-main.c:476,1
    - Dst: g_option_context_set_summary
      Src: /src/ostree/src/ostree/ot-main.c:478,1
    - Dst: g_option_context_add_main_entries
      Src: /src/ostree/src/ostree/ot-main.c:488,1
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-main.c:500,1
    - Dst: exit
      Src: /src/ostree/src/ostree/ot-main.c:531,1
    - Dst: g_string_prepend
      Src: /src/ostree/src/ostree/ot-main.c:475,1
    - Dst: g_option_context_parse
      Src: /src/ostree/src/ostree/ot-main.c:492,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:526,1
    - Dst: strlen
      Src: /src/ostree/src/ostree/ot-main.c:523,1
    - Dst: signal
      Src: /src/ostree/src/ostree/ot-main.c:515,1
    - Dst: g_log_set_handler
      Src: /src/ostree/src/ostree/ot-main.c:535,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-main.c:546,1
    - Dst: g_option_context_get_summary
      Src: /src/ostree/src/ostree/ot-main.c:458,1
    - Dst: g_option_context_set_summary
      Src: /src/ostree/src/ostree/ot-main.c:465,1
    - Dst: g_option_context_add_main_entries
      Src: /src/ostree/src/ostree/ot-main.c:490,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:522,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-main.c:516,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:528,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 57
    argCount: 8
    argNames:
    - context
    - main_entries
    - argc
    - argv
    - invocation
    - out_repo
    - cancellable
    - error
    argTypes:
    - GOptionContext*
    - GOptionEntry*
    - int*
    - char***
    - OstreeCommandInvocation*
    - OstreeRepo**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 549
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 549
    functionName: ostree_option_context_parse
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - strlen
    - g_string_new
    - g_log_set_handler
    - signal
    - g_option_context_set_summary
    - parse_repo_option_and_maybe_remount
    - g_string_prepend
    - g_option_context_get_summary
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_strsplit
    - exit
    - g_steal_pointer
    - glnx_throw_errno_prefix
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_option_context_parse (GOptionContext *context, const
      GOptionEntry *main_entries, int *argc, char ***argv, OstreeCommandInvocation
      *invocation, OstreeRepo **out_repo, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_initialize_with_mount_namespace
      Src: /src/ostree/src/ostree/ot-main.c:564,1
    - Dst: ot_admin_sysroot_lock
      Src: /src/ostree/src/ostree/ot-main.c:568,1
    - Dst: ostree_sysroot_load
      Src: /src/ostree/src/ostree/ot-main.c:572,1
    - Dst: ot_util_process_privileged
      Src: /src/ostree/src/ostree/ot-main.c:582,1
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/ostree/ot-main.c:577,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-main.c:584,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - sysroot
    - flags
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeAdminBuiltinFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 591
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 591
    functionName: ostree_admin_sysroot_load
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_booted_deployment
    - g_set_error
    - ot_admin_sysroot_lock
    - ostree_sysroot_initialize_with_mount_namespace
    - ostree_sysroot_load
    - ot_util_process_privileged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_admin_sysroot_load (OstreeSysroot *sysroot, OstreeAdminBuiltinFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_is_writable
      Src: /src/ostree/src/ostree/ot-main.c:668,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-main.c:669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - repo
    - error
    argTypes:
    - OstreeRepo*
    - GError**
    constantsTouched: []
    func_position:
      end: 671
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 671
    functionName: ostree_ensure_repo_writable
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - glnx_prefix_error
    - ostree_repo_is_writable
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_ensure_repo_writable (OstreeRepo *repo, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-main.c:71,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-main.c:82,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-main.c:73,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-main.c:79,1
    - Dst: g_option_context_set_summary
      Src: /src/ostree/src/ostree/ot-main.c:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - commands
    argTypes:
    - OstreeCommand*
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: ostree_option_context_new_with_commands
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_option_context_new
    - g_option_context_set_summary
    - g_string_append_printf
    linkageType: ''
    returnType: GOptionContext*
    signature: 'static GOptionContext *ostree_option_context_new_with_commands (OstreeCommand
      *commands) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/ostree/src/ostree/ot-main.c:150,1
    - Dst: ot_get_red_start
      Src: /src/ostree/src/ostree/ot-main.c:158,1
    - Dst: g_set_prgname
      Src: /src/ostree/src/ostree/ot-main.c:152,1
    - Dst: ostree_run
      Src: /src/ostree/src/ostree/ot-main.c:154,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-main.c:158,1
    - Dst: ot_get_bold_start
      Src: /src/ostree/src/ostree/ot-main.c:158,1
    - Dst: ot_get_bold_end
      Src: /src/ostree/src/ostree/ot-main.c:159,1
    - Dst: ot_get_red_end
      Src: /src/ostree/src/ostree/ot-main.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - commands
    argTypes:
    - int
    - char**
    - OstreeCommand*
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: ostree_main
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - setlocale
    - ot_get_bold_end
    - g_set_prgname
    - ot_get_red_start
    - ostree_run
    - ot_get_red_end
    - ot_get_bold_start
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int ostree_main (int argc, char **argv, OstreeCommand *commands) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - sysroot
    - msg
    - dummy
    argTypes:
    - OstreeSysroot*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: on_sysroot_journal_msg
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_sysroot_journal_msg (OstreeSysroot *sysroot, const
      char *msg, void *dummy) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-main.c:604,1
    - Dst: ostree_sepolicy_set_null_log
      Src: /src/ostree/src/ostree/ot-main.c:616,1
    - Dst: ostree_sysroot_initialize
      Src: /src/ostree/src/ostree/ot-main.c:623,1
    - Dst: ostree_sysroot_get_deployment_directory
      Src: /src/ostree/src/ostree/ot-main.c:644,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:647,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-main.c:654,1
    - Dst: g_file_get_path
      Src: /src/ostree/src/ostree/ot-main.c:645,1
    - Dst: exit
      Src: /src/ostree/src/ostree/ot-main.c:656,1
    - Dst: g_assert_null
      Src: /src/ostree/src/ostree/ot-main.c:610,1
    - Dst: ostree_admin_sysroot_load
      Src: /src/ostree/src/ostree/ot-main.c:629,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-main.c:642,1
    - Dst: g_clear_object
      Src: /src/ostree/src/ostree/ot-main.c:651,1
    - Dst: g_clear_object
      Src: /src/ostree/src/ostree/ot-main.c:652,1
    - Dst: g_clear_object
      Src: /src/ostree/src/ostree/ot-main.c:653,1
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/ostree/ot-main.c:640,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-main.c:655,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-main.c:660,1
    - Dst: g_option_context_add_main_entries
      Src: /src/ostree/src/ostree/ot-main.c:602,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-main.c:620,1
    - Dst: ostree_sysroot_new
      Src: /src/ostree/src/ostree/ot-main.c:622,1
    - Dst: g_signal_connect
      Src: /src/ostree/src/ostree/ot-main.c:625,1
    - Dst: G_CALLBACK
      Src: /src/ostree/src/ostree/ot-main.c:625,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 43
    argCount: 9
    argNames:
    - context
    - main_entries
    - argc
    - argv
    - flags
    - invocation
    - out_sysroot
    - cancellable
    - error
    argTypes:
    - GOptionContext*
    - GOptionEntry*
    - int*
    - char***
    - OstreeAdminBuiltinFlags
    - OstreeCommandInvocation*
    - OstreeSysroot**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 663
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 663
    functionName: ostree_admin_option_context_parse
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_steal_pointer
    - glnx_throw
    - exit
    - g_print
    - ostree_sepolicy_set_null_log
    - ostree_option_context_parse
    - g_signal_connect
    - g_file_new_for_path
    - ostree_admin_sysroot_load
    - ostree_sysroot_new
    - G_CALLBACK
    - g_assert_null
    - ostree_sysroot_initialize
    - ostree_sysroot_get_deployment_directory
    - g_file_get_path
    - g_clear_object
    - g_option_context_add_main_entries
    - ostree_sysroot_get_deployments
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_admin_option_context_parse (GOptionContext *context,
      const GOptionEntry *main_entries, int *argc, char ***argv, OstreeAdminBuiltinFlags
      flags, OstreeCommandInvocation *invocation, OstreeSysroot **out_sysroot, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_option_context_new_with_commands
      Src: /src/ostree/src/ostree/ot-main.c:96,1
    - Dst: g_option_context_add_main_entries
      Src: /src/ostree/src/ostree/ot-main.c:97,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:103,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-main.c:101,1
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-main.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - commands
    - is_error
    argTypes:
    - OstreeCommand*
    - gboolean
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: ostree_usage
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - ostree_option_context_new_with_commands
    - g_option_context_get_help
    - g_option_context_add_main_entries
    - g_print
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int ostree_usage (OstreeCommand *commands, gboolean is_error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-main.c:181,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-main.c:200,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/ostree/ot-main.c:190,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-main.c:191,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-main.c:196,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-main.c:203,1
    - Dst: stat
      Src: /src/ostree/src/ostree/ot-main.c:205,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-main.c:206,1
    - Dst: g_find_program_in_path
      Src: /src/ostree/src/ostree/ot-main.c:209,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-main.c:211,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 3
    argNames:
    - argc
    - argv
    - commands
    argTypes:
    - int
    - char**
    - OstreeCommand*
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: ostree_command_lookup_external
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - stat
    - g_assert
    - g_strcmp0
    - g_find_program_in_path
    - g_strdup_printf
    - g_steal_pointer
    - g_str_has_prefix
    - g_strconcat
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *ostree_command_lookup_external (int argc, char **argv, OstreeCommand
      *commands) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_new_default
      Src: /src/ostree/src/ostree/ot-main.c:344,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-main.c:347,1
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-main.c:354,1
    - Dst: ostree_repo_open
      Src: /src/ostree/src/ostree/ot-main.c:345,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-main.c:351,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-main.c:355,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-main.c:359,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-main.c:359,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-main.c:366,1
    - Dst: ostree_repo_new
      Src: /src/ostree/src/ostree/ot-main.c:368,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-main.c:376,1
    - Dst: ostree_repo_open
      Src: /src/ostree/src/ostree/ot-main.c:371,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 5
    argNames:
    - context
    - repo_path
    - skip_repo_open
    - cancellable
    - error
    argTypes:
    - GOptionContext*
    - char*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 377
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 377
    functionName: parse_repo_option
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_option_context_get_help
    - g_error_matches
    - ostree_repo_new_default
    - g_steal_pointer
    - ostree_repo_new
    - g_propagate_error
    - g_set_error_literal
    - ostree_repo_open
    - g_printerr
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'static OstreeRepo *parse_repo_option (GOptionContext *context, const
      char *repo_path, gboolean skip_repo_open, GCancellable *cancellable, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-main.c:427,1
    - Dst: ostree_sysroot_load
      Src: /src/ostree/src/ostree/ot-main.c:429,1
    - Dst: parse_repo_option_and_maybe_remount
      Src: /src/ostree/src/ostree/ot-main.c:436,1
    - Dst: ostree_sysroot_new
      Src: /src/ostree/src/ostree/ot-main.c:428,1
    - Dst: ostree_sysroot_get_repo
      Src: /src/ostree/src/ostree/ot-main.c:431,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/ostree/ot-main.c:441,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/ostree/ot-main.c:442,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 7
    argNames:
    - context
    - sysroot_path
    - repo_path
    - out_sysroot
    - out_repo
    - cancellable
    - error
    argTypes:
    - GOptionContext*
    - char*
    - char*
    - OstreeSysroot**
    - OstreeRepo**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 444
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 444
    functionName: ostree_parse_sysroot_or_repo_option
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - parse_repo_option_and_maybe_remount
    - g_file_new_for_path
    - ostree_sysroot_new
    - ostree_sysroot_load
    - ot_transfer_out_value
    - ostree_sysroot_get_repo
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_parse_sysroot_or_repo_option (GOptionContext *context,
      const char *sysroot_path, const char *repo_path, OstreeSysroot **out_sysroot,
      OstreeRepo **out_repo, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_get_config
      Src: /src/ostree/src/ostree/ot-main.c:699,1
    - Dst: g_key_file_get_boolean
      Src: /src/ostree/src/ostree/ot-main.c:701,1
    - Dst: ostree_repo_write_config
      Src: /src/ostree/src/ostree/ot-main.c:707,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/ostree/ot-main.c:706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - repo
    - error
    argTypes:
    - OstreeRepo*
    - GError**
    constantsTouched: []
    func_position:
      end: 712
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 712
    functionName: ot_enable_tombstone_commits
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - g_key_file_set_boolean
    - g_key_file_get_boolean
    - ostree_repo_get_config
    - ostree_repo_write_config
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_enable_tombstone_commits (OstreeRepo *repo, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_count_all
      Src: /src/ostree/src/ostree/ot-main.c:677,1
    - Dst: ostree_gpg_verify_result_describe
      Src: /src/ostree/src/ostree/ot-main.c:687,1
    - Dst: g_string_sized_new
      Src: /src/ostree/src/ostree/ot-main.c:682,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:680,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/ostree/ot-main.c:686,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-main.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeGpgVerifyResult*
    constantsTouched: []
    func_position:
      end: 692
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 692
    functionName: ostree_print_gpg_verify_result
    functionSourceFile: /src/ostree/src/ostree/ot-main.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - ostree_gpg_verify_result_describe
    - g_string_append_c
    - ostree_gpg_verify_result_count_all
    - g_print
    linkageType: ''
    returnType: void
    signature: 'void ostree_print_gpg_verify_result (OstreeGpgVerifyResult *result) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/ostree/ot-builtin-log.c:45,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-builtin-log.c:47,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-builtin-log.c:55,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-builtin-log.c:50,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-log.c:49,1
    - Dst: ot_dump_object
      Src: /src/ostree/src/ostree/ot-builtin-log.c:60,1
    - Dst: ostree_commit_get_parent
      Src: /src/ostree/src/ostree/ot-builtin-log.c:63,1
    - Dst: log_commit
      Src: /src/ostree/src/ostree/ot-builtin-log.c:64,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 5
    argNames:
    - repo
    - checksum
    - is_recurse
    - flags
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - gboolean
    - OstreeDumpFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 68
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 68
    functionName: log_commit
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-log.c
    functionUses: []
    functionsReached:
    - ostree_commit_get_parent
    - g_error_matches
    - log_commit
    - g_clear_error
    - ostree_repo_load_variant
    - g_propagate_error
    - g_print
    - ot_dump_object
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean log_commit (OstreeRepo *repo, const gchar *checksum,
      gboolean is_recurse, OstreeDumpFlags flags, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-log.c:75,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-log.c:93,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-log.c:84,1
    - Dst: log_commit
      Src: /src/ostree/src/ostree/ot-builtin-log.c:96,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-log.c:78,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 100
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 100
    functionName: ostree_builtin_log
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-log.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - log_commit
    - ostree_repo_resolve_rev
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_log (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:53,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:55,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:56,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:54,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:57,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - parser
    argTypes:
    - OtCookieParser*
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: ot_cookie_parser_clear
    functionSourceFile: /src/ostree/src/ostree/ot-remote-cookie-util.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static void ot_cookie_parser_clear (OtCookieParser *parser) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: openat
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:77,1
    - Dst: glnx_fd_readall_utf8
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:88,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:94,1
    - Dst: g_new0
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:93,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:82,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - dfd
    - path
    - out_parser
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - OtCookieParser**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: ot_parse_cookies_at
    functionSourceFile: /src/ostree/src/ostree/ot-remote-cookie-util.c
    functionUses: []
    functionsReached:
    - g_new0
    - glnx_fd_readall_utf8
    - g_steal_pointer
    - glnx_set_error_from_errno
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_parse_cookies_at (int dfd, const char *path, OtCookieParser
      **out_parser, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: openat
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:133,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:135,1
    - Dst: g_date_time_new_now_utc
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:137,1
    - Dst: g_date_time_add_years
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:138,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:141,1
    - Dst: g_date_time_to_unix
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:143,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:144,1
    - Dst: strlen
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:144,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 7
    argNames:
    - dfd
    - jar_path
    - domain
    - path
    - name
    - value
    - error
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: ot_add_cookie_at
    functionSourceFile: /src/ostree/src/ostree/ot-remote-cookie-util.c
    functionUses: []
    functionsReached:
    - strlen
    - g_date_time_add_years
    - g_date_time_new_now_utc
    - g_date_time_to_unix
    - glnx_loop_write
    - g_strdup_printf
    - glnx_throw_errno_prefix
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_add_cookie_at (int dfd, const char *jar_path, const char
      *domain, const char *path, const char *name, const char *value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_cookie_parser_clear
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:64,1
    - Dst: g_free
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:65,1
    - Dst: g_free
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - OtCookieParser*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: ot_cookie_parser_free
    functionSourceFile: /src/ostree/src/ostree/ot-remote-cookie-util.c
    functionUses: []
    functionsReached:
    - ot_cookie_parser_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void ot_cookie_parser_free (OtCookieParser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:105,1
    - Dst: ot_cookie_parser_clear
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:115,1
    - Dst: sscanf
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - parser
    argTypes:
    - OtCookieParser*
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: ot_parse_cookies_next
    functionSourceFile: /src/ostree/src/ostree/ot-remote-cookie-util.c
    functionUses: []
    functionsReached:
    - strchr
    - ot_cookie_parser_clear
    - sscanf
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_parse_cookies_next (OtCookieParser *parser) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ot_parse_cookies_at
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:159,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:162,1
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:162,1
    - Dst: ot_parse_cookies_next
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:166,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:163,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:168,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:168,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:169,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:176,1
    - Dst: strlen
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:176,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:177,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:178,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:181,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:185,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 6
    argNames:
    - dfd
    - jar_path
    - domain
    - path
    - name
    - error
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 188
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 188
    functionName: ot_delete_cookie_at
    functionSourceFile: /src/ostree/src/ostree/ot-remote-cookie-util.c
    functionUses: []
    functionsReached:
    - strlen
    - glnx_throw_errno_prefix
    - g_assert
    - ot_parse_cookies_at
    - glnx_loop_write
    - ot_parse_cookies_next
    - glnx_link_tmpfile_at
    - glnx_open_tmpfile_linkable_at
    - strcmp
    - strchr
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_delete_cookie_at (int dfd, const char *jar_path, const
      char *domain, const char *path, const char *name, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ot_parse_cookies_at
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:195,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:204,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:206,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:200,1
    - Dst: ot_parse_cookies_next
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:198,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:207,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:208,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:209,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:210,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:212,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-cookie-util.c:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - dfd
    - jar_path
    - error
    argTypes:
    - int
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 217
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 217
    functionName: ot_list_cookies_at
    functionSourceFile: /src/ostree/src/ostree/ot-remote-cookie-util.c
    functionUses: []
    functionsReached:
    - g_date_time_format
    - g_date_time_new_from_unix_utc
    - ot_parse_cookies_at
    - ot_parse_cookies_next
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_list_cookies_at (int dfd, const char *jar_path, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/ostree/ot-dump.c:57,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-dump.c:60,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/ostree/ot-dump.c:71,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/ostree/ot-dump.c:75,1
    - Dst: g_date_time_to_local
      Src: /src/ostree/src/ostree/ot-dump.c:70,1
    - Dst: g_date_time_unref
      Src: /src/ostree/src/ostree/ot-dump.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - timestamp
    - local_tz
    - error
    argTypes:
    - guint64
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: format_timestamp
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_date_time_format
    - g_date_time_new_from_unix_utc
    - g_date_time_unref
    - g_date_time_to_local
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *format_timestamp (guint64 timestamp, gboolean local_tz,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-dump.c:103,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:106,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: dump_indented_lines
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - strchr
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dump_indented_lines (const gchar *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:177,1
    - Dst: g_variant_print
      Src: /src/ostree/src/ostree/ot-dump.c:181,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/ostree/ot-dump.c:177,1
    - Dst: ot_dump_variant
      Src: /src/ostree/src/ostree/ot-dump.c:186,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:182,1
    - Dst: dump_commit
      Src: /src/ostree/src/ostree/ot-dump.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - objtype
    - checksum
    - variant
    - flags
    argTypes:
    - OstreeObjectType
    - char*
    - GVariant*
    - OstreeDumpFlags
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: ot_dump_object
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - g_variant_print
    - ot_dump_variant
    - g_print
    - dump_commit
    linkageType: ''
    returnType: void
    signature: 'void ot_dump_object (OstreeObjectType objtype, const char *checksum,
      GVariant *variant, OstreeDumpFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/ostree/ot-dump.c:267,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/ostree/ot-dump.c:281,1
    - Dst: dump_summary_ref
      Src: /src/ostree/src/ostree/ot-dump.c:283,1
    - Dst: g_variant_iter_next_value
      Src: /src/ostree/src/ostree/ot-dump.c:269,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/ostree/ot-dump.c:273,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:285,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/ostree/ot-dump.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - collection_id
    - refs
    argTypes:
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 290
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 290
    functionName: dump_summary_refs
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - dump_summary_ref
    - g_variant_iter_init
    - g_variant_unref
    - g_variant_get_child
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dump_summary_refs (const gchar *collection_id, GVariant
      *refs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: strptr_cmp
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gint
    signature: 'static gint strptr_cmp (gconstpointer a, gconstpointer b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/ostree/ot-dump.c:438,1
    - Dst: ot_dump_variant
      Src: /src/ostree/src/ostree/ot-dump.c:447,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-dump.c:439,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-dump.c:443,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/ostree/ot-dump.c:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - summary_bytes
    - key
    - error
    argTypes:
    - GBytes*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 450
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 450
    functionName: ot_dump_summary_metadata_key
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_new_from_bytes
    - g_variant_get_child_value
    - g_variant_lookup_value
    - ot_dump_variant
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_dump_summary_metadata_key (GBytes *summary_bytes, const
      char *key, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_byteswap
      Src: /src/ostree/src/ostree/ot-dump.c:41,1
    - Dst: g_variant_print
      Src: /src/ostree/src/ostree/ot-dump.c:46,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:48,1
    - Dst: g_variant_print
      Src: /src/ostree/src/ostree/ot-dump.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: ot_dump_variant
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_variant_print
    - g_print
    - g_variant_byteswap
    linkageType: ''
    returnType: void
    signature: 'void ot_dump_variant (GVariant *variant) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/ostree/ot-dump.c:130,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-dump.c:137,1
    - Dst: errx
      Src: /src/ostree/src/ostree/ot-dump.c:138,1
    - Dst: format_timestamp
      Src: /src/ostree/src/ostree/ot-dump.c:134,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/ostree/ot-dump.c:133,1
    - Dst: ostree_commit_get_parent
      Src: /src/ostree/src/ostree/ot-dump.c:141,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:143,1
    - Dst: ostree_commit_get_content_checksum
      Src: /src/ostree/src/ostree/ot-dump.c:146,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:147,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:148,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:157,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:162,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:167,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:152,1
    - Dst: dump_indented_lines
      Src: /src/ostree/src/ostree/ot-dump.c:158,1
    - Dst: ot_admin_checksum_version
      Src: /src/ostree/src/ostree/ot-dump.c:150,1
    - Dst: dump_indented_lines
      Src: /src/ostree/src/ostree/ot-dump.c:168,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:170,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - variant
    - flags
    argTypes:
    - GVariant*
    - OstreeDumpFlags
    constantsTouched: []
    func_position:
      end: 171
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 171
    functionName: dump_commit
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_commit_get_parent
    - format_timestamp
    - ot_admin_checksum_version
    - g_variant_get
    - dump_indented_lines
    - GUINT64_FROM_BE
    - g_print
    - errx
    - ostree_commit_get_content_checksum
    linkageType: ''
    returnType: void
    signature: 'static void dump_commit (GVariant *variant, OstreeDumpFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/ostree/ot-dump.c:86,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-dump.c:92,1
    - Dst: g_date_time_to_local
      Src: /src/ostree/src/ostree/ot-dump.c:87,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/ostree/ot-dump.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - secs
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: uint64_secs_to_iso8601
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_strdup
    - g_date_time_format
    - g_date_time_to_local
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *uint64_secs_to_iso8601 (guint64 secs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/ostree/ot-dump.c:224,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:243,1
    - Dst: g_format_size
      Src: /src/ostree/src/ostree/ot-dump.c:216,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/ostree/ot-dump.c:219,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:225,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/ostree/ot-dump.c:233,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/ostree/ot-dump.c:246,1
    - Dst: g_variant_print
      Src: /src/ostree/src/ostree/ot-dump.c:250,1
    - Dst: uint64_secs_to_iso8601
      Src: /src/ostree/src/ostree/ot-dump.c:241,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:257,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:212,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:214,1
    - Dst: g_variant_get_uint64
      Src: /src/ostree/src/ostree/ot-dump.c:241,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-dump.c:246,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:238,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:217,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:229,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-dump.c:230,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:255,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/ostree/ot-dump.c:241,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 5
    argNames:
    - collection_id
    - ref_name
    - commit_size
    - csum_v
    - metadata
    argTypes:
    - char*
    - char*
    - guint64
    - GVariant*
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 259
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 259
    functionName: dump_summary_ref
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_iter_loop
    - GUINT64_FROM_BE
    - g_strcmp0
    - g_variant_print
    - g_format_size
    - g_clear_error
    - g_variant_get_string
    - ostree_checksum_inplace_from_bytes
    - uint64_secs_to_iso8601
    - ostree_checksum_bytes_peek_validate
    - g_print
    - g_variant_get_uint64
    linkageType: ''
    returnType: void
    signature: 'static void dump_summary_ref (const char *collection_id, const char
      *ref_name, guint64 commit_size, GVariant *csum_v, GVariantIter *metadata) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-dump.c:313,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/ostree/ot-dump.c:304,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/ostree/ot-dump.c:330,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/ostree/ot-dump.c:339,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:349,1
    - Dst: g_variant_print
      Src: /src/ostree/src/ostree/ot-dump.c:347,1
    - Dst: dump_summary_refs
      Src: /src/ostree/src/ostree/ot-dump.c:333,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:354,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:359,1
    - Dst: g_variant_dup_string
      Src: /src/ostree/src/ostree/ot-dump.c:362,1
    - Dst: ostree_repo_mode_from_string
      Src: /src/ostree/src/ostree/ot-dump.c:375,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-dump.c:378,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/ostree/ot-dump.c:325,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-dump.c:326,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/ostree/ot-dump.c:337,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-dump.c:376,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:380,1
    - Dst: g_variant_print
      Src: /src/ostree/src/ostree/ot-dump.c:387,1
    - Dst: ot_dump_variant
      Src: /src/ostree/src/ostree/ot-dump.c:308,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:320,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:344,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/ostree/ot-dump.c:332,1
    - Dst: uint64_secs_to_iso8601
      Src: /src/ostree/src/ostree/ot-dump.c:352,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/ostree/ot-dump.c:352,1
    - Dst: g_variant_get_uint64
      Src: /src/ostree/src/ostree/ot-dump.c:352,1
    - Dst: uint64_secs_to_iso8601
      Src: /src/ostree/src/ostree/ot-dump.c:357,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/ostree/ot-dump.c:357,1
    - Dst: g_variant_get_uint64
      Src: /src/ostree/src/ostree/ot-dump.c:357,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:392,1
    - Dst: g_variant_get_boolean
      Src: /src/ostree/src/ostree/ot-dump.c:383,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/ostree/ot-dump.c:302,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-dump.c:312,1
    - Dst: dump_summary_refs
      Src: /src/ostree/src/ostree/ot-dump.c:323,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:369,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-dump.c:367,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-dump.c:364,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-dump.c:383,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/ostree/ot-dump.c:372,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:394,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 2
    argNames:
    - summary_bytes
    - flags
    argTypes:
    - GBytes*
    - OstreeDumpFlags
    constantsTouched: []
    func_position:
      end: 396
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 396
    functionName: ot_dump_summary_bytes
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_variant_get_boolean
    - g_variant_get_child_value
    - ot_dump_variant
    - g_variant_get_uint64
    - g_strcmp0
    - g_variant_print
    - uint64_secs_to_iso8601
    - g_variant_get_string
    - g_print
    - g_variant_lookup
    - g_variant_dup_string
    - g_variant_iter_loop
    - g_variant_iter_init
    - g_strdup_printf
    - g_variant_lookup_value
    - ostree_repo_mode_from_string
    - GUINT64_FROM_BE
    - dump_summary_refs
    - G_VARIANT_TYPE
    - g_strdup
    - g_variant_new_from_bytes
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ot_dump_summary_bytes (GBytes *summary_bytes, OstreeDumpFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/ostree/ot-dump.c:413,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/ostree/ot-dump.c:419,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/ostree/ot-dump.c:420,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/ostree/ot-dump.c:418,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-dump.c:414,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-dump.c:421,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/ostree/ot-dump.c:423,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - summary_bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 429
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 429
    functionName: ot_dump_summary_metadata_keys
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - g_variant_iter_init
    - g_variant_new_from_bytes
    - g_variant_get_child_value
    - g_ptr_array_sort
    - g_print
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'void ot_dump_summary_metadata_keys (GBytes *summary_bytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:461,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:463,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:465,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:462,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:464,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:466,1
    - Dst: GINT64_FROM_BE
      Src: /src/ostree/src/ostree/ot-dump.c:469,1
    - Dst: GINT64_FROM_BE
      Src: /src/ostree/src/ostree/ot-dump.c:470,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:472,1
    - Dst: format_timestamp
      Src: /src/ostree/src/ostree/ot-dump.c:475,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:478,1
    - Dst: format_timestamp
      Src: /src/ostree/src/ostree/ot-dump.c:482,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:485,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - subkey
    - primary
    - error
    argTypes:
    - GVariant*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 489
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 489
    functionName: dump_gpg_subkey
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_print
    - GINT64_FROM_BE
    - format_timestamp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dump_gpg_subkey (GVariant *subkey, gboolean primary,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:516,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/ostree/ot-dump.c:530,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-dump.c:495,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/ostree/ot-dump.c:500,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/ostree/ot-dump.c:509,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-dump.c:498,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-dump.c:507,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:517,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:525,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:518,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/ostree/ot-dump.c:494,1
    - Dst: g_variant_iter_next
      Src: /src/ostree/src/ostree/ot-dump.c:503,1
    - Dst: dump_gpg_subkey
      Src: /src/ostree/src/ostree/ot-dump.c:504,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/ostree/ot-dump.c:511,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:519,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:523,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-dump.c:526,1
    - Dst: dump_gpg_subkey
      Src: /src/ostree/src/ostree/ot-dump.c:532,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-dump.c:524,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 2
    argNames:
    - key
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 537
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 537
    functionName: ot_dump_gpg_key
    functionSourceFile: /src/ostree/src/ostree/ot-dump.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_variant_iter_loop
    - g_variant_iter_init
    - g_variant_get_child_value
    - glnx_throw
    - dump_gpg_subkey
    - g_print
    - g_variant_iter_next
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_dump_gpg_key (GVariant *key, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:40,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:58,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:43,1
    - Dst: ostree_sysroot_get_merge_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:55,1
    - Dst: ot_admin_require_booted_deployment_or_osname
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:49,1
    - Dst: g_object_ref
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:64,1
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:64,1
    - Dst: ostree_sysroot_get_deployment_directory
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:66,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:67,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:68,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:70,1
    - Dst: ostree_diff_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:77,1
    - Dst: ostree_diff_dirs
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:73,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:72,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-admin-builtin-diff.c:71,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 80
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 80
    functionName: ot_admin_builtin_diff
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-diff.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_sysroot_get_booted_deployment
    - g_option_context_new
    - ot_admin_require_booted_deployment_or_osname
    - g_object_ref
    - ostree_sysroot_get_deployment_directory
    - g_ptr_array_new_with_free_func
    - ostree_diff_print
    - ostree_sysroot_get_merge_deployment
    - ostree_admin_option_context_parse
    - g_file_resolve_relative_path
    - ostree_diff_dirs
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_diff (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:42,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:63,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:52,1
    - Dst: ostree_sysroot_require_booted_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:56,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:45,1
    - Dst: ostree_sysroot_deployment_unlock
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:72,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:79,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:82,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:87,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-unlock.c:91,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 22
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 97
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 97
    functionName: ot_admin_builtin_unlock
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-unlock.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - ostree_sysroot_deployment_unlock
    - g_assert_not_reached
    - ostree_sysroot_require_booted_deployment
    - glnx_throw
    - ostree_admin_option_context_parse
    - g_print
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_unlock (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:34,1
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:48,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:37,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:44,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:55,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:57,1
    - Dst: ot_admin_get_indexed_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:61,1
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:65,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:67,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:72,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:78,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:81,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:77,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:77,1
    - Dst: ostree_sysroot_cleanup
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:80,1
    - Dst: ostree_sysroot_write_deployments
      Src: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c:74,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 84
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 84
    functionName: ot_admin_builtin_undeploy
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-undeploy.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_booted_deployment
    - g_set_error
    - ostree_sysroot_write_deployments
    - g_option_context_new
    - ostree_deployment_get_csum
    - ot_admin_get_indexed_deployment
    - ostree_deployment_get_deployserial
    - ostree_sysroot_get_deployments
    - g_ascii_strtoull
    - glnx_throw
    - ostree_admin_option_context_parse
    - ostree_sysroot_cleanup
    - g_print
    - glnx_prefix_error
    - ot_util_usage_error
    - g_ptr_array_remove_index
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_undeploy (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_fsck_object
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:59,1
    - Dst: ostree_repo_traverse_parents_get_commits
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:67,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:71,1
    - Dst: g_strjoinv
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:68,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:73,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:75,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:76,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:78,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:79,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:85,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:89,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:118,1
    - Dst: ostree_repo_mark_commit_partial_reason
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:123,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:122,1
    - Dst: ostree_repo_delete_object
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:90,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:96,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:100,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:100,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 8
    argNames:
    - repo
    - checksum
    - objtype
    - object_parents
    - key
    - out_found_corruption
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - OstreeObjectType
    - GHashTable*
    - GVariant*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 134
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 134
    functionName: fsck_one_object
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-fsck.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - ostree_repo_traverse_parents_get_commits
    - g_error_matches
    - ostree_repo_mark_commit_partial_reason
    - g_clear_error
    - ostree_repo_fsck_object
    - g_steal_pointer
    - ostree_repo_delete_object
    - ostree_repo_load_commit
    - g_prefix_error
    - g_strjoinv
    - g_propagate_error
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fsck_one_object (OstreeRepo *repo, const char *checksum,
      OstreeObjectType objtype, GHashTable *object_parents, GVariant *key, gboolean
      *out_found_corruption, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fsck_one_object
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:196,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:205,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:208,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:202,1
    - Dst: ostree_cmd__private__
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:214,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 7
    argNames:
    - repo
    - checksum
    - collection_id
    - ref_name
    - found_corruption
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 220
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 220
    functionName: fsck_commit_for_ref
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-fsck.c
    functionUses: []
    functionsReached:
    - fsck_one_object
    - ostree_cmd__private__
    - glnx_prefix_error
    - ostree_repo_load_variant
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fsck_commit_for_ref (OstreeRepo *repo, const char
      *checksum, const char *collection_id, const char *ref_name, gboolean *found_corruption,
      GCancellable *cancellable, GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:230,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:236,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:252,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:232,1
    - Dst: ostree_repo_resolve_collection_ref
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:245,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:258,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:262,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:265,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:268,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:273,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:291,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:291,1
    - Dst: ostree_commit_get_parent
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:283,1
    - Dst: ostree_repo_load_variant_if_exists
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:287,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 36
    argCount: 6
    argNames:
    - repo
    - checksum
    - commit
    - tombstones
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GVariant*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 296
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 296
    functionName: fsck_one_commit
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-fsck.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_strdup
    - g_strcmp0
    - ostree_commit_get_parent
    - g_variant_get_child_value
    - ostree_repo_load_variant_if_exists
    - ostree_repo_resolve_rev
    - glnx_throw
    - ostree_repo_resolve_collection_ref
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fsck_one_commit (OstreeRepo *repo, const char *checksum,
      GVariant *commit, GPtrArray *tombstones, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_traverse_new_reachable
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:141,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:153,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:146,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:147,1
    - Dst: ostree_repo_traverse_new_parents
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:142,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:155,1
    - Dst: ostree_repo_traverse_commit_union_with_parents
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:157,1
    - Dst: glnx_console_lock
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:165,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:167,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:169,1
    - Dst: fsck_one_object
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:178,1
    - Dst: glnx_console_progress_n_items
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:183,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:170,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:176,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 5
    argNames:
    - repo
    - commits
    - out_found_corruption
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GHashTable*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 187
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 187
    functionName: fsck_reachable_objects_from_commits
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-fsck.c
    functionUses: []
    functionsReached:
    - ostree_repo_traverse_commit_union_with_parents
    - glnx_console_lock
    - ostree_repo_traverse_new_parents
    - g_assert
    - g_hash_table_size
    - ostree_object_name_deserialize
    - fsck_one_object
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - glnx_console_progress_n_items
    - ostree_repo_traverse_new_reachable
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fsck_reachable_objects_from_commits (OstreeRepo *repo,
      GHashTable *commits, gboolean *out_found_corruption, GCancellable *cancellable,
      GError **error) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:334,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:342,1
    - Dst: fsck_commit_for_ref
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:346,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:343,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:382,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:412,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:421,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:404,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:306,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:320,1
    - Dst: ostree_repo_list_refs
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:315,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:321,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:364,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:372,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:384,1
    - Dst: fsck_one_commit
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:387,1
    - Dst: ot_enable_tombstone_commits
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:415,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:436,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:305,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:326,1
    - Dst: fsck_commit_for_ref
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:328,1
    - Dst: ostree_repo_list_collection_refs
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:337,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:352,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:371,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:380,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:397,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:400,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:403,1
    - Dst: ostree_repo_delete_object
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:422,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:311,1
    - Dst: ostree_repo_list_commit_objects_starting_with
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:356,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:359,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:397,1
    - Dst: fsck_reachable_objects_from_commits
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:406,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:429,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:438,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:439,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-fsck.c:433,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 72
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 442
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 442
    functionName: ostree_builtin_fsck
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-fsck.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - ostree_object_name_deserialize
    - g_hash_table_iter_next
    - g_variant_ref
    - glnx_throw
    - ostree_repo_list_refs
    - ostree_parse_refspec
    - g_hash_table_add
    - ostree_repo_list_collection_refs
    - ostree_repo_load_commit
    - g_print
    - ostree_option_context_parse
    - g_option_context_new
    - g_hash_table_iter_init
    - fsck_reachable_objects_from_commits
    - ot_enable_tombstone_commits
    - g_hash_table_new_full
    - fsck_commit_for_ref
    - g_assert
    - g_hash_table_size
    - ostree_repo_list_commit_objects_starting_with
    - ostree_repo_delete_object
    - fsck_one_commit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-init.c:47,1
    - Dst: ostree_repo_create
      Src: /src/ostree/src/ostree/ot-builtin-init.c:60,1
    - Dst: ostree_repo_set_collection_id
      Src: /src/ostree/src/ostree/ot-builtin-init.c:57,1
    - Dst: ostree_repo_mode_from_string
      Src: /src/ostree/src/ostree/ot-builtin-init.c:55,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-init.c:50,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: ostree_builtin_init
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-init.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_mode_from_string
    - ostree_repo_create
    - ostree_repo_set_collection_id
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_init (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:32,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:35,1
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:46,1
    - Dst: atoi
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:49,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:42,1
    - Dst: ot_admin_get_indexed_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:52,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:56,1
    - Dst: g_ptr_array_insert
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:57,1
    - Dst: g_object_ref
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:57,1
    - Dst: ostree_sysroot_write_deployments
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:59,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:63,1
    - Dst: ostree_sysroot_cleanup
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-default.c:62,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: ot_admin_builtin_set_default
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-set-default.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_write_deployments
    - g_option_context_new
    - g_object_ref
    - ot_admin_get_indexed_deployment
    - atoi
    - ostree_sysroot_get_deployments
    - ostree_sysroot_cleanup
    - glnx_prefix_error
    - ostree_admin_option_context_parse
    - g_ptr_array_insert
    - ot_util_usage_error
    - g_ptr_array_remove_index
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_set_default (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:55,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:65,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:55,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:61,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 5
    argNames:
    - repo
    - arg
    - out_file
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GFile**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: parse_file_or_commit
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-diff.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit
    - g_str_has_prefix
    - ot_transfer_out_value
    - g_file_new_for_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_file_or_commit (OstreeRepo *repo, const char
      *arg, GFile **out_file, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:96,1
    - Dst: ostree_repo_query_object_storage_size
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:105,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:104,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:97,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 5
    argNames:
    - repo
    - reachable
    - out_total
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GHashTable*
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: object_set_total_size
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-diff.c
    functionUses: []
    functionsReached:
    - ostree_repo_query_object_storage_size
    - g_hash_table_iter_init
    - ostree_object_name_deserialize
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean object_set_total_size (OstreeRepo *repo, GHashTable
      *reachable, guint64 *out_total, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_traverse_new_reachable
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:72,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:81,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:80,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:77,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:76,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GHashTable*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: reachable_set_intersect
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-diff.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_variant_ref
    - ostree_repo_traverse_new_reachable
    - g_hash_table_contains
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *reachable_set_intersect (GHashTable *a, GHashTable
      *b) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ostree_diff_print
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:178,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:215,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:117,1
    - Dst: g_free
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:128,1
    - Dst: parse_file_or_commit
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:166,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:169,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:193,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:203,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:204,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:205,1
    - Dst: reachable_set_intersect
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:208,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:210,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:206,1
    - Dst: object_set_total_size
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:212,1
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:126,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:129,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:210,1
    - Dst: g_format_size_full
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:214,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:120,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:127,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:138,1
    - Dst: parse_file_or_commit
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:164,1
    - Dst: ostree_diff_dirs_with_options
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:174,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:195,1
    - Dst: ostree_repo_traverse_commit
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:198,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:171,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:170,1
    - Dst: ostree_repo_traverse_commit
      Src: /src/ostree/src/ostree/ot-builtin-diff.c:200,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 62
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 219
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 219
    functionName: ostree_builtin_diff
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-diff.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - g_free
    - ostree_diff_print
    - reachable_set_intersect
    - g_ptr_array_new_with_free_func
    - g_hash_table_size
    - g_option_context_get_help
    - ostree_diff_dirs_with_options
    - object_set_total_size
    - ostree_repo_resolve_rev
    - g_print
    - ostree_repo_traverse_commit
    - g_format_size_full
    - g_strconcat
    - g_set_error_literal
    - parse_file_or_commit
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_diff (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-add-cookie.c:39,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-add-cookie.c:41,1
    - Dst: ot_add_cookie_at
      Src: /src/ostree/src/ostree/ot-remote-builtin-add-cookie.c:58,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-remote-builtin-add-cookie.c:57,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-add-cookie.c:47,1
    - Dst: ostree_repo_get_dfd
      Src: /src/ostree/src/ostree/ot-remote-builtin-add-cookie.c:58,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 63
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 63
    functionName: ot_remote_builtin_add_cookie
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-add-cookie.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - ot_add_cookie_at
    - ostree_repo_get_dfd
    - g_strdup_printf
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_add_cookie (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:96,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:100,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - set
    - keys_input
    argTypes:
    - GHashTable*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: add_keys_to_set_if_non_null
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-find-remotes.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_hash_table_add
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void add_keys_to_set_if_non_null (GHashTable *set, GHashTable
      *keys_input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:67,1
    - Dst: g_string_free
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:74,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:68,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:70,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:71,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ref_to_checksum
    - /* (element-type OstreeCollectionRef utf8) */
    - line_prefix
    argTypes:
    - GHashTable*
    - gchar*
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: format_ref_to_checksum
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-find-remotes.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append_printf
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_steal_pointer
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *format_ref_to_checksum (GHashTable *ref_to_checksum
      /* (element-type OstreeCollectionRef utf8) */, const gchar *line_prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_collection_ref_free
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ref
    argTypes:
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: collection_ref_free0
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-find-remotes.c
    functionUses: []
    functionsReached:
    - ostree_collection_ref_free
    linkageType: ''
    returnType: void
    signature: 'static void collection_ref_free0 (OstreeCollectionRef *ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:50,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:53,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - secs
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: uint64_secs_to_iso8601
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-find-remotes.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_strdup
    - g_date_time_format
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *uint64_secs_to_iso8601 (guint64 secs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - obj
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: get_result_cb
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-find-remotes.c
    functionUses: []
    functionsReached:
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void get_result_cb (GObject *obj, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:83,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:86,1
    - Dst: g_assert_no_error
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - remote
    argTypes:
    - OstreeRemote*
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: remote_get_uri
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-find-remotes.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_assert_no_error
    - g_key_file_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *remote_get_uri (OstreeRemote *remote) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:132,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:154,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:152,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:143,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:139,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 3
    argNames:
    - finders
    - context
    - error
    argTypes:
    - char**
    - GOptionContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 160
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 160
    functionName: validate_finders_list
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-find-remotes.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - G_N_ELEMENTS
    - ot_util_usage_error
    - g_strdup_printf
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_finders_list (const char **finders, GOptionContext
      *context, GError **error) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:192,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:244,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:230,1
    - Dst: ostree_repo_finder_config_new
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:249,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:252,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:254,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:263,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:273,1
    - Dst: remote_get_uri
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:320,1
    - Dst: format_ref_to_checksum
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:321,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:327,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:342,1
    - Dst: ostree_repo_pull_from_remotes_async
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:382,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:355,1
    - Dst: ostree_async_progress_finish
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:393,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:351,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:188,1
    - Dst: ostree_repo_set_disable_fsync
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:215,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:230,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:255,1
    - Dst: ostree_repo_finder_avahi_start
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:264,1
    - Dst: OSTREE_REPO_FINDER_AVAHI
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:264,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:275,1
    - Dst: glnx_console_lock
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:288,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:291,1
    - Dst: ostree_repo_find_remotes_async
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:294,1
    - Dst: ostree_repo_find_remotes_finish
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:302,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:329,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:356,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:379,1
    - Dst: g_warning
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:269,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:396,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:282,1
    - Dst: ostree_repo_pull_from_remotes_finish
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:389,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:185,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:210,1
    - Dst: ostree_repo_set_cache_dir
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:218,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:226,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:249,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:233,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:227,1
    - Dst: ostree_repo_finder_mount_new
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:254,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:257,1
    - Dst: ostree_repo_finder_avahi_new
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:263,1
    - Dst: ostree_async_progress_finish
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:308,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:312,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:349,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:357,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:367,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:374,1
    - Dst: uint64_secs_to_iso8601
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:325,1
    - Dst: g_clear_object
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:270,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:336,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:203,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:197,1
    - Dst: g_ptr_array_new_full
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:222,1
    - Dst: validate_finders_list
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:241,1
    - Dst: g_strsplit
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:240,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:247,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:250,1
    - Dst: g_main_context_get_thread_default
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:260,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:284,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:300,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:346,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:346,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:374,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:367,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:387,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:372,1
    - Dst: add_keys_to_set_if_non_null
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:322,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:370,1
    - Dst: g_variant_new_int32
      Src: /src/ostree/src/ostree/ot-builtin-find-remotes.c:372,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 148
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 399
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 399
    functionName: ostree_builtin_find_remotes
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-find-remotes.c
    functionUses: []
    functionsReached:
    - add_keys_to_set_if_non_null
    - g_ptr_array_new_with_free_func
    - g_variant_new_int32
    - ostree_repo_finder_avahi_start
    - ostree_async_progress_finish
    - g_main_context_get_thread_default
    - ostree_repo_finder_config_new
    - g_strcmp0
    - OSTREE_REPO_FINDER_AVAHI
    - ostree_repo_find_remotes_async
    - g_assert_not_reached
    - g_ptr_array_new_full
    - ostree_repo_set_disable_fsync
    - g_variant_builder_add
    - g_strsplit
    - validate_finders_list
    - remote_get_uri
    - uint64_secs_to_iso8601
    - g_print
    - ot_util_usage_error
    - ostree_repo_pull_from_remotes_async
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_pull_from_remotes_finish
    - glnx_console_lock
    - ostree_validate_collection_id
    - g_ptr_array_index
    - OSTREE_REPO_FINDER
    - ostree_collection_ref_new
    - ostree_repo_finder_avahi_new
    - g_warning
    - g_main_context_iteration
    - G_OBJECT_TYPE_NAME
    - g_variant_builder_init
    - g_variant_ref_sink
    - g_hash_table_new_full
    - g_ptr_array_add
    - ostree_repo_find_remotes_finish
    - ostree_repo_finder_mount_new
    - format_ref_to_checksum
    - ostree_async_progress_new_and_connect
    - g_strdup
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - ostree_validate_rev
    - g_hash_table_size
    - g_clear_object
    - g_variant_new_variant
    - ostree_ensure_repo_writable
    - ostree_repo_set_cache_dir
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_find_remotes (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/ostree/main.c:84,1
    - Dst: ostree_main
      Src: /src/ostree/src/ostree/main.c:94,1
    - Dst: ostree_command_lookup_external
      Src: /src/ostree/src/ostree/main.c:86,1
    - Dst: ostree_command_exec_external
      Src: /src/ostree/src/ostree/main.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/ostree/src/ostree/main.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_main
    - ostree_command_exec_external
    - ostree_command_lookup_external
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:61,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:69,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:63,1
    - Dst: ostree_repo_set_cache_dir
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:77,1
    - Dst: ostree_repo_remote_fetch_summary
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:84,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:90,1
    - Dst: ot_dump_summary_metadata_keys
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:96,1
    - Dst: ot_dump_summary_metadata_key
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:100,1
    - Dst: ot_dump_summary_bytes
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:105,1
    - Dst: ostree_repo_remote_get_gpg_verify_summary
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:108,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:132,1
    - Dst: ostree_repo_verify_summary
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:127,1
    - Dst: ostree_print_gpg_verify_result
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:133,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-remote-builtin-summary.c:113,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 39
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 141
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 141
    functionName: ot_remote_builtin_summary
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-summary.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ot_dump_summary_metadata_keys
    - ostree_option_context_parse
    - g_option_context_new
    - g_clear_pointer
    - ot_dump_summary_bytes
    - ostree_print_gpg_verify_result
    - ot_dump_summary_metadata_key
    - ostree_repo_verify_summary
    - ostree_repo_set_cache_dir
    - ostree_repo_remote_fetch_summary
    - g_print
    - ot_util_usage_error
    - ostree_repo_remote_get_gpg_verify_summary
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_summary (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:45,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:55,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:64,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:47,1
    - Dst: ostree_repo_list_commit_objects_starting_with
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:60,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:67,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:71,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:74,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:75,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:77,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:84,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:94,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-rev-parse.c:92,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 98
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 98
    functionName: ostree_builtin_rev_parse
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-rev-parse.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - GLNX_HASH_TABLE_FOREACH
    - g_assert
    - ostree_object_name_deserialize
    - ostree_repo_list_commit_objects_starting_with
    - ostree_repo_resolve_rev
    - glnx_throw
    - g_print
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_rev_parse (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstatat
      Src: /src/ostree/src/ostree/ot-admin-builtin-boot-complete.c:39,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-boot-complete.c:46,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-boot-complete.c:44,1
    - Dst: getenv
      Src: /src/ostree/src/ostree/ot-admin-builtin-boot-complete.c:42,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-admin-builtin-boot-complete.c:42,1
    - Dst: ostree_cmd__private__
      Src: /src/ostree/src/ostree/ot-admin-builtin-boot-complete.c:51,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 55
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 55
    functionName: ot_admin_builtin_boot_complete
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-boot-complete.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - ostree_admin_option_context_parse
    - ostree_cmd__private__
    - g_assert
    - fstatat
    - getenv
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_boot_complete (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:40,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:42,1
    - Dst: g_option_context_set_summary
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:56,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:50,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: ostree_admin_kargs_option_context_new_with_commands
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-kargs.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_option_context_new
    - g_option_context_set_summary
    - g_string_append_printf
    linkageType: ''
    returnType: GOptionContext*
    signature: 'static GOptionContext *ostree_admin_kargs_option_context_new_with_commands
      (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:80,1
    - Dst: ostree_admin_kargs_option_context_new_with_commands
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:100,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:103,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:93,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:109,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:114,1
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:119,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:120,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:124,1
    - Dst: g_get_prgname
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:124,1
    - Dst: g_set_prgname
      Src: /src/ostree/src/ostree/ot-admin-builtin-kargs.c:125,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 132
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 132
    functionName: ot_admin_builtin_kargs
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-kargs.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_set_error
    - g_set_prgname
    - g_get_prgname
    - g_strcmp0
    - g_option_context_get_help
    - g_strdup_printf
    - ostree_admin_option_context_parse
    - g_set_error_literal
    - ostree_admin_kargs_option_context_new_with_commands
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_kargs (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:193,1
    - Dst: g_ascii_strtod
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:200,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:201,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:195,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:198,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:201,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:202,1
    - Dst: g_ascii_strtod
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:206,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:207,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:207,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - line
    - data
    - error
    argTypes:
    - char*
    - void*
    - GError**
    constantsTouched: []
    func_position:
      end: 210
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 210
    functionName: handle_statoverride_line
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - g_ascii_strtod
    - g_strdup
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - g_str_has_prefix
    - glnx_throw
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_statoverride_line (const char *line, void *data,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_replace
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:278,1
    - Dst: g_assert_no_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:279,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - repo
    - stbuf
    - path
    - user_data
    argTypes:
    - OstreeRepo*
    - struct stat*
    - char*
    - gpointer
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: handle_translate_pathname
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - g_regex_replace
    - g_assert_no_error
    - g_assert
    linkageType: ''
    returnType: char*
    signature: 'static char *handle_translate_pathname (OstreeRepo *repo, const struct
      stat *stbuf, const char *path, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:230,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:232,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:238,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:233,1
    - Dst: S_ISREG
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:235,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:241,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:243,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:244,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:245,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:247,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:249,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:251,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:255,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:252,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:250,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:257,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 4
    argNames:
    - self
    - path
    - file_info
    - user_data
    argTypes:
    - OstreeRepo*
    - char*
    - GFileInfo*
    - gpointer
    constantsTouched: []
    func_position:
      end: 262
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 262
    functionName: commit_filter
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - g_hash_table_contains
    - GPOINTER_TO_UINT
    - g_file_info_get_attribute_uint32
    - g_hash_table_remove
    - g_file_info_set_attribute_uint32
    - g_hash_table_lookup_extended
    linkageType: ''
    returnType: OstreeRepoCommitFilterResult
    signature: 'static OstreeRepoCommitFilterResult commit_filter (OstreeRepo *self,
      const char *path, GFileInfo *file_info, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:289,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:324,1
    - Dst: g_strsplit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:305,1
    - Dst: ot_editor_prompt
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:301,1
    - Dst: g_strchomp
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:309,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:328,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:332,1
    - Dst: g_string_append
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:333,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:338,1
    - Dst: g_string_free
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:342,1
    - Dst: g_strchomp
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:343,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:342,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 6
    argNames:
    - repo
    - branch
    - subject
    - body
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char**
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 347
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 347
    functionName: commit_editor
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_new
    - g_string_append
    - ot_editor_prompt
    - g_string_append_c
    - g_strchomp
    - g_strdup_printf
    - g_strsplit
    - g_steal_pointer
    - glnx_throw
    - g_string_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean commit_editor (OstreeRepo *repo, const char *branch,
      char **subject, char **body, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_get_collection_id
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:379,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:384,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:385,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - repo
    - metadata_builder
    argTypes:
    - OstreeRepo*
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 386
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 386
    functionName: add_collection_binding
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - g_variant_new_variant
    - ostree_repo_get_collection_id
    - g_variant_new_string
    - g_variant_builder_add
    linkageType: ''
    returnType: void
    signature: 'static void add_collection_binding (OstreeRepo *repo, GVariantBuilder
      *metadata_builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:400,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:402,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:407,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:406,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:404,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:408,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:409,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:410,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - metadata_builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: add_ref_binding
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_assert
    - g_variant_new_variant
    - g_ptr_array_sort
    - g_variant_builder_add
    - g_steal_pointer
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void add_ref_binding (GVariantBuilder *metadata_builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_parse_boolean
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - char*
    - char*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: parse_fsync_cb
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - ot_parse_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_fsync_cb (const char *option_name, const char
      *value, gpointer data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_add
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:216,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - line
    - data
    - error
    argTypes:
    - char*
    - void*
    - GError**
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: handle_skiplist_line
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_skiplist_line (const char *line, void *data,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:356,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:358,1
    - Dst: g_strndup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:359,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:365,1
    - Dst: g_variant_parse
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:363,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:367,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:370,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:370,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 4
    argNames:
    - builder
    - strings
    - is_gvariant_print
    - error
    argTypes:
    - GVariantBuilder*
    - char**
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 374
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 374
    functionName: parse_keyvalue_strings
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_strndup
    - g_variant_builder_add
    - glnx_prefix_error
    - glnx_throw
    - strchr
    - g_variant_parse
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_keyvalue_strings (GVariantBuilder *builder,
      char **strings, gboolean is_gvariant_print, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: compare_strings
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int compare_strings (gconstpointer a, gconstpointer b) '
  - BBCount: 108
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:472,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:483,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:572,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:846,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:872,1
    - Dst: fill_bindings
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:884,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1047,1
    - Dst: parse_keyvalue_strings
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:535,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:524,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:544,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:699,1
    - Dst: ostree_repo_write_dfd_to_mtree
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:735,1
    - Dst: ostree_repo_write_archive_to_mtree_from_fd
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:750,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:861,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:883,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:891,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:902,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1041,1
    - Dst: G_INPUT_STREAM
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:980,1
    - Dst: ostree_repo_commit_modifier_set_sepolicy_from_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:676,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:577,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:474,1
    - Dst: ot_parse_file_by_line
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:484,1
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:498,1
    - Dst: ostree_repo_commit_modifier_set_sepolicy_from_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:816,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:954,1
    - Dst: ostree_blob_reader_read_blob
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:984,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:987,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1038,1
    - Dst: ostree_sepolicy_new_at
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:639,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:659,1
    - Dst: ostree_repo_write_archive_to_mtree
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:759,1
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:768,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:705,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:504,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:551,1
    - Dst: ostree_repo_commit_modifier_new
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:632,1
    - Dst: commit_editor
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:648,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:739,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1032,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:502,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:551,1
    - Dst: g_variant_dict_lookup_value
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:555,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:675,1
    - Dst: ostree_sign_set_sk
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:956,1
    - Dst: ostree_repo_transaction_set_ref
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1023,1
    - Dst: ostree_repo_abort_transaction
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1053,1
    - Dst: ostree_sign_set_sk
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1000,1
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:711,1
    - Dst: ostree_mutable_tree_new_from_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:669,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:889,1
    - Dst: ostree_sign_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:959,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1025,1
    - Dst: ostree_repo_commit_modifier_set_sepolicy
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:642,1
    - Dst: ot_parse_file_by_line
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:475,1
    - Dst: ot_open_archive_read
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:797,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:805,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:857,1
    - Dst: ostree_commit_metadata_for_bootable
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:892,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1037,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1039,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:929,1
    - Dst: ostree_repo_prepare_transaction
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:661,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:728,1
    - Dst: ostree_sepolicy_new_at
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:730,1
    - Dst: g_strndup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:719,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:460,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:532,1
    - Dst: parse_keyvalue_strings
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:539,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:567,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:583,1
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:654,1
    - Dst: ostree_repo_commit_add_composefs_metadata
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:903,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1042,1
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:466,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:511,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:577,1
    - Dst: g_regex_new
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:784,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:811,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:913,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:955,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:563,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:567,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:588,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:723,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:757,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:850,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:907,1
    - Dst: ostree_repo_write_commit_detached_metadata
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:936,1
    - Dst: ostree_sign_read_sk
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:980,1
    - Dst: ostree_repo_sign_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1015,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1043,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:462,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:572,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:685,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:612,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:714,1
    - Dst: ostree_repo_commit_modifier_set_sepolicy
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:733,1
    - Dst: ostree_repo_import_archive_to_mtree
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:801,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:844,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:895,1
    - Dst: parse_datetime
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:920,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1040,1
    - Dst: ostree_repo_commit_transaction
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1027,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:815,1
    - Dst: g_free
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:718,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:748,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:532,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:547,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:842,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:900,1
    - Dst: ostree_repo_write_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:912,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:944,1
    - Dst: ostree_repo_set_disable_fsync
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:624,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:794,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:743,1
    - Dst: ot_open_archive_read_fd
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:795,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:820,1
    - Dst: ostree_repo_write_directory_to_mtree
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:823,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:840,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:895,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:922,1
    - Dst: ostree_repo_write_commit_with_time
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:928,1
    - Dst: ostree_repo_scan_hardlinks
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:664,1
    - Dst: g_new0
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:698,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:788,1
    - Dst: g_strndup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:777,1
    - Dst: g_clear_object
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:722,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:855,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:979,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:994,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:999,1
    - Dst: ostree_sign_commit
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:1003,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:771,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:593,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:491,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:509,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:515,1
    - Dst: parse_keyvalue_strings
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:574,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:829,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:835,1
    - Dst: ostree_repo_write_mtree
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:865,1
    - Dst: g_file_equal
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:875,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:904,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:907,1
    - Dst: g_propagate_prefixed_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:987,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:637,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:558,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:859,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:974,1
    - Dst: g_file_read
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:975,1
    CyclomaticComplexity: 245
    EdgeCount: 245
    ICount: 389
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1055
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 1055
    functionName: ostree_builtin_commit
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_next
    - ot_parse_file_by_line
    - ot_open_archive_read
    - ostree_repo_commit_transaction
    - fill_bindings
    - g_strconcat
    - g_print
    - ostree_repo_prepare_transaction
    - g_regex_new
    - g_option_context_new
    - ostree_repo_write_commit_with_time
    - ostree_repo_write_archive_to_mtree_from_fd
    - ostree_sign_set_sk
    - g_hash_table_iter_init
    - ostree_repo_scan_hardlinks
    - ostree_repo_commit_modifier_set_sepolicy
    - g_clear_object
    - g_variant_builder_new
    - ostree_repo_write_mtree
    - ostree_blob_reader_read_blob
    - ostree_mutable_tree_new
    - G_INPUT_STREAM
    - ostree_mutable_tree_new_from_commit
    - ostree_repo_write_commit
    - g_variant_dict_init
    - ostree_sign_read_sk
    - g_variant_builder_add
    - ostree_repo_load_commit
    - strchr
    - g_set_error_literal
    - ostree_option_context_parse
    - g_variant_dict_lookup_value
    - OSTREE_REPO_FILE
    - ostree_repo_write_directory_to_mtree
    - ostree_sign_commit
    - ostree_sign_get_by_name
    - g_printerr
    - g_strdup
    - ostree_repo_transaction_set_ref
    - g_assert
    - g_file_read
    - ostree_repo_abort_transaction
    - ot_open_archive_read_fd
    - ostree_repo_write_archive_to_mtree
    - ostree_repo_read_commit
    - parse_datetime
    - g_strndup
    - g_variant_get_child_value
    - parse_keyvalue_strings
    - ostree_repo_import_archive_to_mtree
    - g_variant_new_string
    - g_error_matches
    - strcmp
    - ostree_commit_metadata_for_bootable
    - commit_editor
    - glnx_opendirat
    - ostree_repo_sign_commit
    - g_file_equal
    - g_prefix_error
    - g_variant_ref_sink
    - g_hash_table_new_full
    - G_VARIANT_TYPE
    - g_variant_dict_end
    - g_variant_new_from_bytes
    - glnx_file_get_contents_utf8_at
    - ostree_repo_commit_add_composefs_metadata
    - ostree_validate_checksum_string
    - g_clear_error
    - g_steal_pointer
    - ostree_repo_resolve_rev
    - ostree_repo_write_commit_detached_metadata
    - glnx_throw
    - ostree_repo_commit_modifier_set_sepolicy_from_commit
    - ostree_repo_write_dfd_to_mtree
    - ostree_repo_set_disable_fsync
    - ostree_repo_commit_modifier_new
    - ostree_sepolicy_new_at
    - g_file_new_for_path
    - g_propagate_prefixed_error
    - g_str_equal
    - g_set_error
    - g_variant_builder_end
    - g_free
    - g_new0
    - g_hash_table_size
    - ostree_ensure_repo_writable
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_variant_builder_from_variant
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:418,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:428,1
    - Dst: add_ref_binding
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:420,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:425,1
    - Dst: add_collection_binding
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:426,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-commit.c:428,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - repo
    - metadata
    - out_metadata
    argTypes:
    - OstreeRepo*
    - GVariant*
    - GVariant**
    constantsTouched: []
    func_position:
      end: 429
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 429
    functionName: fill_bindings
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-commit.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_variant_builder_end
    - add_collection_binding
    - ot_util_variant_builder_from_variant
    - add_ref_binding
    - g_variant_ref_sink
    linkageType: ''
    returnType: void
    signature: 'static void fill_bindings (OstreeRepo *repo, GVariant *metadata, GVariant
      **out_metadata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-post-copy.c:36,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-post-copy.c:39,1
    - Dst: ostree_sysroot_update_post_copy
      Src: /src/ostree/src/ostree/ot-admin-builtin-post-copy.c:44,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: ot_admin_builtin_post_copy
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-post-copy.c
    functionUses: []
    functionsReached:
    - ostree_admin_option_context_parse
    - g_option_context_new
    - ostree_sysroot_update_post_copy
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_post_copy (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:57,1
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:65,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:73,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:68,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:59,1
    - Dst: ostree_kernel_args_append_proc_cmdline
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:80,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:85,1
    - Dst: g_strsplit
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:87,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:87,1
    - Dst: ostree_kernel_args_append_argv
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:89,1
    - Dst: ostree_sysroot_deployment_set_kargs
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:108,1
    - Dst: ostree_kernel_args_to_strv
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:106,1
    - Dst: ostree_kernel_args_replace_argv
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:94,1
    - Dst: ostree_kernel_args_append_argv
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:99,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c:103,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 116
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 116
    functionName: ot_admin_instutil_builtin_set_kargs
    functionSourceFile: /src/ostree/src/ostree/ot-admin-instutil-builtin-set-kargs.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_kernel_args_new
    - g_option_context_new
    - ostree_bootconfig_parser_get
    - ostree_kernel_args_append
    - ostree_sysroot_deployment_set_kargs
    - ostree_kernel_args_replace_argv
    - g_strsplit
    - ostree_kernel_args_to_strv
    - ostree_sysroot_get_deployments
    - ostree_kernel_args_append_proc_cmdline
    - ostree_kernel_args_append_argv
    - ostree_admin_option_context_parse
    - ostree_deployment_get_bootconfig
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_instutil_builtin_set_kargs (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/ostree/ot-builtin-show.c:98,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/ostree/ot-builtin-show.c:107,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/ostree/ot-builtin-show.c:109,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-builtin-show.c:102,1
    - Dst: g_variant_iter_new
      Src: /src/ostree/src/ostree/ot-builtin-show.c:103,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 4
    argNames:
    - repo
    - rev
    - resolved_rev
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: do_print_related
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - g_variant_iter_new
    - g_variant_iter_loop
    - g_variant_get_child_value
    - ostree_repo_load_variant
    - ostree_checksum_from_bytes_v
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_print_related (OstreeRepo *repo, const char *rev,
      const char *resolved_rev, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-show.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: strptr_cmp
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gint
    signature: 'static gint strptr_cmp (gconstpointer a, gconstpointer b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata
      Src: /src/ostree/src/ostree/ot-builtin-show.c:187,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-show.c:193,1
    - Dst: g_malloc
      Src: /src/ostree/src/ostree/ot-builtin-show.c:199,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/ostree/ot-builtin-show.c:197,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/ostree/ot-builtin-show.c:190,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/ostree/ot-builtin-show.c:199,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/ostree/ot-builtin-show.c:200,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/ostree/ot-builtin-show.c:200,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/ostree/ot-builtin-show.c:200,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:201,1
    - Dst: g_variant_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:207,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:208,1
    - Dst: ot_dump_variant
      Src: /src/ostree/src/ostree/ot-builtin-show.c:211,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 5
    argNames:
    - repo
    - resolved_rev
    - detached
    - key
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 213
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 213
    functionName: do_print_metadata_key
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ot_bin2hex
    - get_metadata
    - g_variant_print
    - g_variant_get_size
    - g_variant_lookup_value
    - ot_dump_variant
    - g_print
    - g_malloc
    - g_variant_get_data
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_print_metadata_key (OstreeRepo *repo, const char
      *resolved_rev, gboolean detached, const char *key, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/ostree/ot-builtin-show.c:274,1
    - Dst: ostree_repo_verify_commit_for_remote
      Src: /src/ostree/src/ostree/ot-builtin-show.c:292,1
    - Dst: ot_dump_object
      Src: /src/ostree/src/ostree/ot-builtin-show.c:280,1
    - Dst: ostree_repo_verify_commit_ext
      Src: /src/ostree/src/ostree/ot-builtin-show.c:297,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-show.c:288,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-builtin-show.c:301,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-builtin-show.c:307,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-show.c:307,1
    - Dst: ostree_gpg_verify_result_count_all
      Src: /src/ostree/src/ostree/ot-builtin-show.c:312,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:313,1
    - Dst: g_string_sized_new
      Src: /src/ostree/src/ostree/ot-builtin-show.c:315,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/ostree/ot-builtin-show.c:318,1
    - Dst: ostree_gpg_verify_result_describe
      Src: /src/ostree/src/ostree/ot-builtin-show.c:319,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:323,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - repo
    - objtype
    - checksum
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 329
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 329
    functionName: print_object
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_file_new_for_path
    - ostree_repo_verify_commit_ext
    - g_error_matches
    - ostree_gpg_verify_result_describe
    - g_string_append_c
    - ostree_gpg_verify_result_count_all
    - g_steal_pointer
    - g_print
    - ostree_repo_load_variant
    - g_propagate_error
    - ot_dump_object
    - ostree_repo_verify_commit_for_remote
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean print_object (OstreeRepo *repo, OstreeObjectType objtype,
      const char *checksum, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/ostree/ot-builtin-show.c:85,1
    - Dst: ot_dump_variant
      Src: /src/ostree/src/ostree/ot-builtin-show.c:90,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/ostree/ot-builtin-show.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - type
    - filename
    - error
    argTypes:
    - GVariantType*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: do_print_variant_generic
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - ot_dump_variant
    - ot_variant_read_fd
    - glnx_openat_rdonly
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_print_variant_generic (const GVariantType *type,
      const char *filename, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-show.c:119,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-show.c:137,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-builtin-show.c:129,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/ostree/ot-builtin-show.c:133,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/ostree/ot-builtin-show.c:126,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-show.c:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 5
    argNames:
    - repo
    - resolved_rev
    - detached
    - out_metadata
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - GVariant**
    - GError**
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: get_metadata
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_repo_read_commit_detached_metadata
    - g_assert
    - g_variant_get_child_value
    - g_steal_pointer
    - ostree_repo_load_variant
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_metadata (OstreeRepo *repo, const char *resolved_rev,
      gboolean detached, GVariant **out_metadata, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata
      Src: /src/ostree/src/ostree/ot-builtin-show.c:162,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/ostree/ot-builtin-show.c:169,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-show.c:170,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/ostree/ot-builtin-show.c:167,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-show.c:168,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/ostree/ot-builtin-show.c:172,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - repo
    - resolved_rev
    - detached
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: do_list_metadata_keys
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - get_metadata
    - g_variant_iter_init
    - g_ptr_array_sort
    - g_print
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_list_metadata_keys (OstreeRepo *repo, const char
      *resolved_rev, gboolean detached, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/ostree/ot-builtin-show.c:219,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/ostree/ot-builtin-show.c:244,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-show.c:221,1
    - Dst: g_format_size
      Src: /src/ostree/src/ostree/ot-builtin-show.c:256,1
    - Dst: ostree_commit_get_object_sizes
      Src: /src/ostree/src/ostree/ot-builtin-show.c:226,1
    - Dst: g_format_size
      Src: /src/ostree/src/ostree/ot-builtin-show.c:257,1
    - Dst: g_format_size
      Src: /src/ostree/src/ostree/ot-builtin-show.c:258,1
    - Dst: g_format_size
      Src: /src/ostree/src/ostree/ot-builtin-show.c:259,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:260,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - repo
    - rev
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 266
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 266
    functionName: do_print_sizes
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - ostree_commit_get_object_sizes
    - g_format_size
    - ostree_repo_has_object
    - g_prefix_error
    - ostree_repo_load_variant
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_print_sizes (OstreeRepo *repo, const char *rev,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/ostree/ot-builtin-show.c:340,1
    - Dst: print_object
      Src: /src/ostree/src/ostree/ot-builtin-show.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 6
    argNames:
    - repo
    - objtype
    - checksum
    - inout_was_found
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: print_if_found
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - print_object
    - ostree_repo_has_object
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean print_if_found (OstreeRepo *repo, OstreeObjectType
      objtype, const char *checksum, gboolean *inout_was_found, GCancellable *cancellable,
      GError **error) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-show.c:413,1
    - Dst: print_object
      Src: /src/ostree/src/ostree/ot-builtin-show.c:415,1
    - Dst: print_if_found
      Src: /src/ostree/src/ostree/ot-builtin-show.c:420,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:434,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/ostree/ot-builtin-show.c:435,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:437,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/ostree/ot-builtin-show.c:446,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-show.c:449,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-show.c:452,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:453,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:454,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-show.c:382,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-show.c:389,1
    - Dst: do_print_related
      Src: /src/ostree/src/ostree/ot-builtin-show.c:392,1
    - Dst: do_print_variant_generic
      Src: /src/ostree/src/ostree/ot-builtin-show.c:397,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:441,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:445,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:446,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:452,1
    - Dst: g_variant_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:459,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:456,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-show.c:356,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-show.c:359,1
    - Dst: print_if_found
      Src: /src/ostree/src/ostree/ot-builtin-show.c:422,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/ostree/ot-builtin-show.c:411,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/ostree/ot-builtin-show.c:431,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/ostree/ot-builtin-show.c:436,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/ostree/ot-builtin-show.c:442,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-show.c:454,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:460,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-show.c:365,1
    - Dst: do_print_metadata_key
      Src: /src/ostree/src/ostree/ot-builtin-show.c:377,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-show.c:375,1
    - Dst: do_list_metadata_keys
      Src: /src/ostree/src/ostree/ot-builtin-show.c:384,1
    - Dst: do_print_sizes
      Src: /src/ostree/src/ostree/ot-builtin-show.c:405,1
    - Dst: print_if_found
      Src: /src/ostree/src/ostree/ot-builtin-show.c:424,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-show.c:397,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-show.c:402,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:442,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-show.c:453,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-show.c:464,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 77
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 471
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 471
    functionName: ostree_builtin_show
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-show.c
    functionUses: []
    functionsReached:
    - ostree_validate_checksum_string
    - do_print_variant_generic
    - print_object
    - ostree_repo_resolve_rev
    - g_file_info_get_symlink_target
    - do_print_sizes
    - ostree_object_type_to_string
    - do_print_related
    - do_print_metadata_key
    - g_variant_print
    - g_file_info_get_attribute_uint32
    - do_list_metadata_keys
    - g_file_info_get_file_type
    - g_print
    - ot_util_usage_error
    - ostree_option_context_parse
    - g_option_context_new
    - g_printerr
    - G_VARIANT_TYPE
    - ostree_repo_load_file
    - print_if_found
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_show (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-show-url.c:36,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-builtin-show-url.c:54,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-show-url.c:38,1
    - Dst: ostree_repo_remote_get_url
      Src: /src/ostree/src/ostree/ot-remote-builtin-show-url.c:51,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-show-url.c:44,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: ot_remote_builtin_show_url
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-show-url.c
    functionUses: []
    functionsReached:
    - ostree_repo_remote_get_url
    - ostree_option_context_parse
    - g_option_context_new
    - g_print
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_show_url (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:53,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:64,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:71,1
    - Dst: g_file_read
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:72,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:57,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:78,1
    - Dst: ostree_chain_input_stream_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:82,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - out_source_stream
    - cancellable
    - error
    argTypes:
    - GInputStream**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 91
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 91
    functionName: open_source_stream
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_ptr_array_new_with_free_func
    - g_unix_input_stream_new
    - ostree_chain_input_stream_new
    - g_steal_pointer
    - g_file_read
    - g_ptr_array_add
    - g_strv_length
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean open_source_stream (GInputStream **out_source_stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:105,1
    - Dst: open_source_stream
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:126,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:113,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:107,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:119,1
    - Dst: ostree_repo_remote_gpg_import
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:129,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c:134,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 23
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 141
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 141
    functionName: ot_remote_builtin_gpg_import
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-gpg-import.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_remote_gpg_import
    - open_source_stream
    - g_print
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_gpg_import (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_console_unlock
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:129,1
    - Dst: ostree_print_gpg_verify_result
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:132,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:131,1
    - Dst: glnx_console_lock
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - repo
    - checksum
    - result
    - console
    argTypes:
    - OstreeRepo*
    - char*
    - OstreeGpgVerifyResult*
    - GLnxConsoleRef*
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: gpg_verify_result_cb
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-pull.c
    functionUses: []
    functionsReached:
    - glnx_console_lock
    - g_print
    - glnx_console_unlock
    - ostree_print_gpg_verify_result
    linkageType: ''
    returnType: void
    signature: 'static void gpg_verify_result_cb (OstreeRepo *repo, const char *checksum,
      OstreeGpgVerifyResult *result, GLnxConsoleRef *console) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:323,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:341,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:349,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:374,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:394,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:411,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:414,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:419,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:459,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:274,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:284,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:288,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:314,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:321,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:331,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:333,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:368,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:378,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:387,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:427,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:371,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:200,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:337,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:340,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:391,1
    - Dst: g_strndup
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:410,1
    - Dst: g_signal_handler_disconnect
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:465,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:330,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:366,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:383,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:298,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:308,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:325,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:364,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:351,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:413,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:418,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:334,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:254,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:265,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:282,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:356,1
    - Dst: g_variant_new_int32
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:328,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:398,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:360,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:250,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:341,1
    - Dst: G_CALLBACK
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:439,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:331,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:354,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:327,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:346,1
    - Dst: ostree_repo_set_cache_dir
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:220,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:277,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:294,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:368,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:277,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:278,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:284,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:359,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:362,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:407,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:453,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:274,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:295,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:344,1
    - Dst: g_signal_connect
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:438,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:387,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:270,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:374,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:394,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:424,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:432,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:443,1
    - Dst: ostree_repo_pull_with_options
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:445,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:450,1
    - Dst: ostree_async_progress_get_status
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:451,1
    - Dst: ostree_async_progress_finish
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:456,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:308,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:356,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:328,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:202,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:211,1
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:248,1
    - Dst: strrchr
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:258,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:314,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:321,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:378,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:443,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:282,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:337,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:373,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:364,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:371,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:360,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:391,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:392,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:398,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:414,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:346,1
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:206,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:313,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:320,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:376,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:383,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:386,1
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:403,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:351,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:370,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:325,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:336,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:390,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:299,1
    - Dst: glnx_console_lock
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:310,1
    - Dst: ostree_repo_set_disable_fsync
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:216,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:243,1
    - Dst: g_strndup
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:278,1
    - Dst: g_variant_new_int32
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:334,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:381,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:419,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 194
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 467
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 467
    functionName: ostree_builtin_pull
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-pull.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_ptr_array_new_with_free_func
    - g_strndup
    - ostree_validate_checksum_string
    - g_variant_new_int32
    - ostree_repo_pull_with_options
    - ostree_async_progress_finish
    - ostree_async_progress_get_status
    - ostree_parse_refspec
    - g_variant_new_string
    - ostree_repo_set_disable_fsync
    - g_variant_builder_add
    - strchr
    - g_print
    - ot_util_usage_error
    - ostree_option_context_parse
    - g_option_context_new
    - g_signal_connect
    - glnx_console_lock
    - g_variant_new_boolean
    - G_CALLBACK
    - g_variant_builder_init
    - g_variant_ref_sink
    - g_ptr_array_add
    - g_set_error
    - g_strdup
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - ostree_async_progress_new_and_connect
    - strrchr
    - g_variant_new_variant
    - g_variant_new_uint32
    - g_assert
    - ostree_ensure_repo_writable
    - ostree_repo_set_cache_dir
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_pull (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:147,1
    - Dst: g_format_size
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:169,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:166,1
    - Dst: ostree_async_progress_get
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:150,1
    - Dst: g_format_size
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:170,1
    - Dst: g_format_size
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:171,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:173,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-pull.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - progress
    - user_data
    argTypes:
    - OstreeAsyncProgress*
    - gpointer
    constantsTouched: []
    func_position:
      end: 178
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 178
    functionName: dry_run_console_progress_changed
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-pull.c
    functionUses: []
    functionsReached:
    - g_string_new
    - ostree_async_progress_get
    - g_assert
    - g_format_size
    - g_string_append_printf
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dry_run_console_progress_changed (OstreeAsyncProgress
      *progress, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - progress
    - user_data
    argTypes:
    - OstreeAsyncProgress*
    - gpointer
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: noninteractive_console_progress_changed
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-pull.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void noninteractive_console_progress_changed (OstreeAsyncProgress
      *progress, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete-cookie.c:41,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete-cookie.c:49,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete-cookie.c:57,1
    - Dst: ot_delete_cookie_at
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete-cookie.c:58,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete-cookie.c:43,1
    - Dst: ostree_repo_get_dfd
      Src: /src/ostree/src/ostree/ot-remote-builtin-delete-cookie.c:58,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: ot_remote_builtin_delete_cookie
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-delete-cookie.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - ot_delete_cookie_at
    - ostree_repo_get_dfd
    - g_strdup_printf
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_delete_cookie (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:45,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:46,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - context
    - message
    - error
    argTypes:
    - GOptionContext*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: usage_error
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-gpg-sign.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_option_context_get_help
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void usage_error (GOptionContext *context, const char *message,
      GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_dict_clear
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:90,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:143,1
    - Dst: g_queue_is_empty
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:158,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:76,1
    - Dst: g_variant_dict_lookup_value
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:82,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:80,1
    - Dst: ostree_repo_verify_commit_ext
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:100,1
    - Dst: g_variant_dict_clear
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:104,1
    - Dst: g_queue_push_tail
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:113,1
    - Dst: ostree_gpg_verify_result_lookup
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:127,1
    - Dst: g_queue_is_empty
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:140,1
    - Dst: g_queue_push_tail
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:133,1
    - Dst: g_queue_is_empty
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:148,1
    - Dst: g_variant_dict_remove
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:150,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:83,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:109,1
    - Dst: g_variant_iter_next_value
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:110,1
    - Dst: ostree_gpg_verify_result_count_all
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:120,1
    - Dst: g_queue_peek_nth_link
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:129,1
    - Dst: g_queue_pop_head
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:142,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:156,1
    - Dst: g_queue_pop_head
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:160,1
    - Dst: ostree_repo_write_commit_detached_metadata
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:170,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:120,1
    - Dst: g_queue_find
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:132,1
    - Dst: g_queue_delete_link
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:144,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:156,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:161,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:164,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:165,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:169,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 7
    argNames:
    - repo
    - commit_checksum
    - key_ids
    - n_key_ids
    - out_n_deleted
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char**
    - guint
    - guint*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 183
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 183
    functionName: delete_signatures
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-gpg-sign.c
    functionUses: []
    functionsReached:
    - g_variant_dict_clear
    - g_variant_iter_next_value
    - ostree_repo_write_commit_detached_metadata
    - ostree_repo_read_commit_detached_metadata
    - g_variant_dict_init
    - g_variant_dict_remove
    - g_variant_builder_add_value
    - g_queue_peek_nth_link
    - g_queue_delete_link
    - g_queue_push_tail
    - g_variant_dict_lookup_value
    - g_queue_pop_head
    - g_assert_cmpuint
    - g_variant_iter_init
    - ostree_repo_verify_commit_ext
    - g_variant_unref
    - ostree_gpg_verify_result_count_all
    - g_variant_builder_init
    - g_variant_dict_insert_value
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_queue_find
    - g_variant_dict_end
    - ostree_gpg_verify_result_lookup
    - g_queue_is_empty
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean delete_signatures (OstreeRepo *repo, const char *commit_checksum,
      const char *const *key_ids, guint n_key_ids, guint *out_n_deleted, GCancellable
      *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:190,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:214,1
    - Dst: usage_error
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:199,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:193,1
    - Dst: usage_error
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:205,1
    - Dst: delete_signatures
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:221,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:225,1
    - Dst: ostree_repo_sign_commit
      Src: /src/ostree/src/ostree/ot-builtin-gpg-sign.c:231,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 237
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 237
    functionName: ostree_builtin_gpg_sign
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-gpg-sign.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_sign_commit
    - ostree_repo_resolve_rev
    - delete_signatures
    - usage_error
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_gpg_sign (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:36,1
    - Dst: ostree_sysroot_query_deployments_for
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:44,1
    - Dst: ostree_deployment_get_index
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:47,1
    - Dst: ostree_deployment_get_index
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:39,1
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:37,1
    - Dst: ostree_deployment_get_index
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:49,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - sysroot
    - deploy_index_str
    argTypes:
    - OstreeSysroot*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: get_deployment_index_for_type
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-pin.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_booted_deployment
    - ostree_sysroot_query_deployments_for
    - ostree_deployment_get_index
    - ostree_sysroot_get_deployments
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 get_deployment_index_for_type (OstreeSysroot *sysroot,
      const char *deploy_index_str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ot_admin_get_indexed_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:58,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:66,1
    - Dst: ostree_deployment_is_pinned
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:62,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:72,1
    - Dst: ostree_sysroot_deployment_set_pinned
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - sysroot
    - deploy_index
    - error
    argTypes:
    - OstreeSysroot*
    - gint64
    - GError**
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: do_pinning
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-pin.c
    functionUses: []
    functionsReached:
    - ot_admin_get_indexed_deployment
    - g_print
    - ostree_deployment_is_pinned
    - ostree_sysroot_deployment_set_pinned
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_pinning (OstreeSysroot *sysroot, const gint64 deploy_index,
      GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:84,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:93,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:86,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:104,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:104,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:105,1
    - Dst: get_deployment_index_for_type
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:107,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:109,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:113,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:115,1
    - Dst: do_pinning
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:120,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-pin.c:117,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 125
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 125
    functionName: ot_admin_builtin_pin
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-pin.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - get_deployment_index_for_type
    - g_strcmp0
    - do_pinning
    - g_ascii_strtoull
    - glnx_throw
    - ostree_admin_option_context_parse
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_pin (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-os-init.c:35,1
    - Dst: ostree_sysroot_init_osname
      Src: /src/ostree/src/ostree/ot-admin-builtin-os-init.c:54,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-os-init.c:48,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-os-init.c:38,1
    - Dst: ostree_sysroot_ensure_initialized
      Src: /src/ostree/src/ostree/ot-admin-builtin-os-init.c:43,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-os-init.c:57,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 60
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 60
    functionName: ot_admin_builtin_os_init
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-os-init.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - ostree_sysroot_ensure_initialized
    - ostree_admin_option_context_parse
    - ostree_sysroot_init_osname
    - g_print
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_os_init (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:53,1
    - Dst: g_object_ref
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:74,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:84,1
    - Dst: ostree_sysroot_write_origin_file
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:129,1
    - Dst: ot_parse_keyvalue
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:93,1
    - Dst: ostree_repo_remote_change
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:102,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:115,1
    - Dst: ostree_sysroot_origin_new_from_refspec
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:127,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:44,1
    - Dst: ostree_sysroot_get_repo
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:64,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:84,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:108,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:119,1
    - Dst: ostree_sysroot_require_booted_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:70,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:46,1
    - Dst: ot_admin_get_indexed_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:78,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:97,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:100,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:97,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:109,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:100,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:96,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:122,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c:124,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 53
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 136
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 136
    functionName: ot_admin_builtin_set_origin
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-set-origin.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    - ostree_deployment_get_origin
    - glnx_throw
    - ostree_sysroot_write_origin_file
    - ostree_parse_refspec
    - g_variant_new_string
    - ot_admin_get_indexed_deployment
    - g_variant_builder_add
    - g_strconcat
    - ot_util_usage_error
    - ostree_sysroot_origin_new_from_refspec
    - g_option_context_new
    - g_object_ref
    - ot_parse_keyvalue
    - ostree_sysroot_require_booted_deployment
    - ostree_sysroot_get_repo
    - g_variant_ref_sink
    - ostree_admin_option_context_parse
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_assert
    - g_variant_new_variant
    - g_variant_builder_new
    - ostree_repo_remote_change
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_set_origin (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:62,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:65,1
    - Dst: ostree_sysroot_upgrader_new_for_os_with_flags
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:89,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:78,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:72,1
    - Dst: ostree_sysroot_upgrader_dup_origin
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:94,1
    - Dst: ostree_deployment_origin_remove_transient_state
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:98,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:102,1
    - Dst: ostree_sysroot_upgrader_set_origin
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:105,1
    - Dst: glnx_console_lock
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:118,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:122,1
    - Dst: ostree_sysroot_upgrader_deploy
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:156,1
    - Dst: ostree_sysroot_upgrader_pull
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:128,1
    - Dst: ostree_async_progress_finish
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:145,1
    - Dst: ot_admin_execve_reboot
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:162,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:150,1
    - Dst: ostree_sysroot_cleanup
      Src: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c:140,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 46
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 168
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 168
    functionName: ot_admin_builtin_upgrade
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-upgrade.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_sysroot_upgrader_new_for_os_with_flags
    - ostree_async_progress_new_and_connect
    - g_option_context_new
    - glnx_console_lock
    - ostree_sysroot_upgrader_deploy
    - ot_admin_execve_reboot
    - ostree_sysroot_upgrader_set_origin
    - ostree_sysroot_upgrader_dup_origin
    - g_print
    - ostree_sysroot_upgrader_pull
    - ostree_sysroot_cleanup
    - ostree_async_progress_finish
    - ostree_admin_option_context_parse
    - ostree_deployment_origin_remove_transient_state
    - g_key_file_set_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_upgrade (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:172,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:173,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:182,1
    - Dst: ostree_repo_list_static_delta_names
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:178,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:186,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: ot_static_delta_builtin_list
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - g_print
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_list_static_delta_names
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_static_delta_builtin_list (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:221,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:224,1
    - Dst: ostree_repo_static_delta_reindex
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: ot_static_delta_builtin_reindex
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - ostree_repo_static_delta_reindex
    - ostree_option_context_parse
    - g_option_context_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_static_delta_builtin_reindex (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:264,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:267,1
    - Dst: ostree_cmd__private__
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:279,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 283
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 283
    functionName: ot_static_delta_builtin_delete
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_cmd__private__
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_static_delta_builtin_delete (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:500,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:510,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:529,1
    - Dst: ostree_repo_commit_transaction
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:573,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:535,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:541,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:541,1
    - Dst: g_clear_object
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:555,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:521,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:501,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:523,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:545,1
    - Dst: ostree_sign_load_pk
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:548,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:554,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:544,1
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:505,1
    - Dst: ostree_sign_add_pk
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:530,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:535,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:546,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:564,1
    - Dst: ostree_repo_prepare_transaction
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:566,1
    - Dst: ostree_repo_static_delta_execute_offline_with_signature
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:569,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 577
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 577
    functionName: ot_static_delta_builtin_apply_offline
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - ostree_repo_static_delta_execute_offline_with_signature
    - g_clear_error
    - glnx_throw
    - g_variant_new_string
    - g_variant_builder_add
    - ostree_repo_commit_transaction
    - ostree_sign_add_pk
    - g_set_error_literal
    - ostree_repo_prepare_transaction
    - ostree_option_context_parse
    - g_option_context_new
    - g_file_new_for_path
    - ostree_sign_load_pk
    - ostree_sign_get_by_name
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_clear_object
    - g_variant_builder_new
    - ostree_ensure_repo_writable
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_static_delta_builtin_apply_offline (int argc, char
      **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_func
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:153,1
    - Dst: print_func
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:155,1
    - Dst: print_func
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:154,1
    - Dst: print_func
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:160,1
    - Dst: print_func
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - argv
    - is_error
    argTypes:
    - char**
    - gboolean
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: static_delta_usage
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - print_func
    linkageType: ''
    returnType: void
    signature: 'static void static_delta_usage (char **argv, gboolean is_error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:197,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:198,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:207,1
    - Dst: ostree_repo_list_static_delta_indexes
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:203,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:211,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: ot_static_delta_builtin_indexes
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - g_print
    - ostree_repo_list_static_delta_indexes
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_static_delta_builtin_indexes (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:239,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:242,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:248,1
    - Dst: ostree_cmd__private__
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 258
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 258
    functionName: ot_static_delta_builtin_show
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_cmd__private__
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_static_delta_builtin_show (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:289,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:365,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:396,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:396,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:402,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:409,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:409,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:414,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:414,1
    - Dst: g_data_input_stream_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:444,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:467,1
    - Dst: g_data_input_stream_read_line
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:452,1
    - Dst: g_warning
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:434,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:468,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:329,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:339,1
    - Dst: ostree_cmd__private__
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:351,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:388,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:356,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:394,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:398,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:404,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:404,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:416,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:439,1
    - Dst: G_INPUT_STREAM
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:444,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:462,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:473,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:435,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:445,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:479,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:475,1
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:295,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:291,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:349,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:350,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:392,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:363,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:369,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:392,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:400,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:406,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:412,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:472,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:462,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:417,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:477,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:476,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:411,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:315,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:303,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:321,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:342,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:400,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:407,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:421,1
    - Dst: g_file_test
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:432,1
    - Dst: g_file_read
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:440,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:424,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:469,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:479,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:469,1
    - Dst: ostree_repo_static_delta_generate
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:480,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 123
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 488
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 488
    functionName: ot_static_delta_builtin_generate
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - ostree_cmd__private__
    - g_data_input_stream_read_line
    - g_steal_pointer
    - ostree_repo_resolve_rev
    - g_variant_new_bytestring
    - glnx_throw
    - G_INPUT_STREAM
    - g_ptr_array_new
    - g_assert_not_reached
    - g_variant_builder_add
    - ostree_repo_static_delta_generate
    - strcmp
    - g_strconcat
    - g_print
    - g_set_error_literal
    - ostree_option_context_parse
    - g_option_context_new
    - g_data_input_stream_new
    - g_file_new_for_path
    - g_variant_new_boolean
    - g_warning
    - g_ascii_strtoull
    - g_variant_ref_sink
    - g_ptr_array_add
    - g_set_error
    - g_strdup
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - g_assert
    - g_variant_new_uint32
    - g_variant_new_variant
    - g_variant_builder_new
    - ostree_ensure_repo_writable
    - g_file_test
    - g_file_read
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_static_delta_builtin_generate (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:583,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:603,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:606,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:589,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:595,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:614,1
    - Dst: ostree_sign_add_pk
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:615,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:623,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:623,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:626,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:629,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:631,1
    - Dst: ostree_sign_load_pk
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:633,1
    - Dst: ostree_repo_static_delta_verify_signature
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:637,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:638,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:630,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:626,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 641
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 641
    functionName: ot_static_delta_builtin_verify
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_static_delta_verify_signature
    - g_variant_new_string
    - g_variant_builder_new
    - g_variant_builder_add
    - ostree_sign_load_pk
    - ostree_sign_add_pk
    - g_print
    - g_set_error_literal
    - ostree_sign_get_by_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ot_static_delta_builtin_verify (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:656,1
    - Dst: static_delta_usage
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:665,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:675,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:666,1
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:656,1
    - Dst: static_delta_usage
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:683,1
    - Dst: static_delta_usage
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:689,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:690,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:693,1
    - Dst: g_get_prgname
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:693,1
    - Dst: g_set_prgname
      Src: /src/ostree/src/ostree/ot-builtin-static-delta.c:694,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 698
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 698
    functionName: ostree_builtin_static_delta
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-static-delta.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - static_delta_usage
    - g_set_prgname
    - g_get_prgname
    - g_strcmp0
    - g_strdup_printf
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_static_delta (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:42,1
    - Dst: ostree_repo_set_cache_dir
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:57,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:45,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:51,1
    - Dst: ostree_repo_remote_list_refs
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:64,1
    - Dst: g_hash_table_get_keys
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:71,1
    - Dst: g_list_sort
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:72,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:80,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:81,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-builtin-refs.c:85,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 91
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 91
    functionName: ot_remote_builtin_refs
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-refs.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - g_hash_table_get_keys
    - g_list_sort
    - ostree_repo_remote_list_refs
    - ostree_repo_set_cache_dir
    - g_print
    - g_hash_table_lookup
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_refs (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:47,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:49,1
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:53,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:58,1
    - Dst: ostree_repo_list_refs
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:64,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:67,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:69,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:73,1
    - Dst: ostree_repo_prepare_transaction
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:76,1
    - Dst: ostree_repo_transaction_set_ref
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:79,1
    - Dst: ostree_repo_commit_transaction
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:81,1
    - Dst: ostree_repo_abort_transaction
      Src: /src/ostree/src/ostree/ot-builtin-reset.c:87,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 27
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 89
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 89
    functionName: ostree_builtin_reset
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-reset.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_transaction_set_ref
    - ostree_repo_prepare_transaction
    - ostree_ensure_repo_writable
    - ostree_repo_commit_transaction
    - ostree_repo_resolve_rev
    - ostree_repo_abort_transaction
    - ot_util_usage_error
    - g_hash_table_contains
    - ostree_repo_list_refs
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_reset (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - progress
    - user_data
    argTypes:
    - OstreeAsyncProgress*
    - gpointer
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: noninteractive_console_progress_changed
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-pull-local.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void noninteractive_console_progress_changed (OstreeAsyncProgress
      *progress, gpointer user_data) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:95,1
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:101,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:139,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:153,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:154,1
    - Dst: ostree_repo_new
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:136,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:155,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:157,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:166,1
    - Dst: g_variant_new_int32
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:183,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:192,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:205,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:204,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:198,1
    - Dst: ostree_repo_abort_transaction
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:242,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:186,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:231,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:189,1
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:106,1
    - Dst: g_free
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:108,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:109,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:161,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:168,1
    - Dst: glnx_console_lock
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:178,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:180,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:184,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:193,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:195,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:210,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:219,1
    - Dst: g_variant_new_int32
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:206,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:211,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:213,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:97,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:107,1
    - Dst: ostree_repo_list_refs
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:146,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:155,1
    - Dst: ostree_repo_open
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:141,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:183,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:186,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:188,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:189,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:192,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:200,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:202,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:204,1
    - Dst: ostree_async_progress_get_status
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:232,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:215,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:216,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:216,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:201,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:225,1
    - Dst: ostree_repo_pull_with_options
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:226,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:116,1
    - Dst: g_get_current_dir
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:119,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:120,1
    - Dst: ostree_repo_set_disable_fsync
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:131,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:135,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:180,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:182,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:195,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:197,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:198,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:201,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:206,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:212,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:213,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:225,1
    - Dst: ostree_async_progress_finish
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:236,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:222,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:234,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:211,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-pull-local.c:190,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 106
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 244
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 244
    functionName: ostree_builtin_pull_local
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-pull-local.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_ptr_array_new_with_free_func
    - g_variant_new_int32
    - g_hash_table_iter_next
    - ostree_repo_pull_with_options
    - g_get_current_dir
    - ostree_async_progress_finish
    - g_ptr_array_new
    - ostree_async_progress_get_status
    - ostree_repo_list_refs
    - g_variant_new_string
    - ostree_repo_set_disable_fsync
    - g_variant_builder_add
    - g_strconcat
    - g_set_error_literal
    - g_print
    - ostree_option_context_parse
    - g_option_context_new
    - g_file_new_for_path
    - glnx_console_lock
    - g_option_context_get_help
    - g_variant_new_boolean
    - g_hash_table_iter_init
    - g_variant_builder_init
    - ostree_repo_new
    - g_variant_ref_sink
    - g_ptr_array_add
    - ostree_repo_open
    - g_printerr
    - ostree_async_progress_new_and_connect
    - g_strdup
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - g_free
    - g_assert
    - g_variant_new_variant
    - ostree_ensure_repo_writable
    - ostree_repo_abort_transaction
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_pull_local (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:43,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:45,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:65,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:61,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:54,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:69,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:83,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:85,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:90,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:93,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:106,1
    - Dst: ostree_sysroot_ensure_initialized
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:112,1
    - Dst: fchmodat
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:95,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:110,1
    - Dst: ostree_sysroot_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:111,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c:97,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 116
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 116
    functionName: ot_admin_builtin_init_fs
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-init-fs.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_file_new_for_path
    - glnx_opendirat
    - glnx_shutil_mkdir_p_at
    - ostree_sysroot_ensure_initialized
    - ostree_sysroot_new
    - glnx_throw
    - ostree_admin_option_context_parse
    - G_N_ELEMENTS
    - ot_util_usage_error
    - fchmodat
    - glnx_set_prefix_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_init_fs (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-cleanup.c:35,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-cleanup.c:38,1
    - Dst: ostree_sysroot_cleanup
      Src: /src/ostree/src/ostree/ot-admin-builtin-cleanup.c:43,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: ot_admin_builtin_cleanup
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-cleanup.c
    functionUses: []
    functionsReached:
    - ostree_admin_option_context_parse
    - g_option_context_new
    - ostree_sysroot_cleanup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_cleanup (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:79,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:87,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:89,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:81,1
    - Dst: g_option_context_set_summary
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: ostree_admin_option_context_new_with_commands
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-admin.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_option_context_new
    - g_option_context_set_summary
    - g_string_append_printf
    linkageType: ''
    returnType: GOptionContext*
    signature: 'static GOptionContext *ostree_admin_option_context_new_with_commands
      (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:123,1
    - Dst: ostree_admin_option_context_new_with_commands
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:146,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:136,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:149,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:155,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:160,1
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:165,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:166,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:172,1
    - Dst: g_get_prgname
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:172,1
    - Dst: g_set_prgname
      Src: /src/ostree/src/ostree/ot-builtin-admin.c:173,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: ostree_builtin_admin
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-admin.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_set_error
    - g_set_prgname
    - g_get_prgname
    - g_strcmp0
    - g_option_context_get_help
    - ostree_admin_option_context_new_with_commands
    - g_strdup_printf
    - ostree_admin_option_context_parse
    - g_set_error_literal
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_admin (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c:35,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c:48,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c:46,1
    - Dst: g_getenv
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c:52,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c:37,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c:54,1
    - Dst: ostree_sysroot_get_bootversion
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c:56,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c:57,1
    - Dst: ostree_cmd__private__
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c:60,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 62
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 62
    functionName: ot_admin_instutil_builtin_grub2_generate
    functionSourceFile: /src/ostree/src/ostree/ot-admin-instutil-builtin-grub2-generate.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - ostree_cmd__private__
    - g_assert
    - g_getenv
    - g_ascii_strtoull
    - glnx_throw
    - ostree_sysroot_get_bootversion
    - ostree_admin_option_context_parse
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_instutil_builtin_grub2_generate (int argc, char
      **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError
      **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:166,1
    - Dst: g_file_enumerator_next_file
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:173,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:176,1
    - Dst: g_clear_object
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:175,1
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:168,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:176,1
    - Dst: print_one_file
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:178,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:181,1
    - Dst: print_directory_recurse
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:183,1
    - Dst: g_clear_object
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:187,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:191,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - f
    - depth
    - cancellable
    - error
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 196
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 196
    functionName: print_directory_recurse
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-ls.c
    functionUses: []
    functionsReached:
    - g_file_info_get_name
    - g_assert
    - g_file_enumerator_next_file
    - g_file_enumerate_children
    - g_clear_object
    - print_one_file
    - g_file_info_get_file_type
    - g_propagate_error
    - g_file_get_child
    - print_directory_recurse
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean print_directory_recurse (GFile *f, int depth, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:133,1
    - Dst: fwrite
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:138,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:136,1
    - Dst: fwrite
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:139,1
    - Dst: strlen
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - f
    - file_info
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: print_one_file_binary
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-ls.c
    functionUses: []
    functionsReached:
    - strlen
    - ostree_repo_file_ensure_resolved
    - fwrite
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean print_one_file_binary (GFile *f, GFileInfo *file_info,
      GCancellable *cancellable, GError **error) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:87,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:90,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:97,1
    - Dst: g_string_append
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:110,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:116,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:123,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:95,1
    - Dst: ostree_repo_file_tree_get_contents_checksum
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:96,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:113,1
    - Dst: g_string_append
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:116,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:62,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:63,1
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:58,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:88,1
    - Dst: g_variant_print
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:108,1
    - Dst: ostree_repo_file_get_checksum
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:97,1
    - Dst: ostree_repo_file_get_xattrs
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:105,1
    - Dst: g_string_append
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:111,1
    - Dst: g_free
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:112,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:53,1
    - Dst: S_ISCHR
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:76,1
    - Dst: S_ISBLK
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:78,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:84,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:86,1
    - Dst: g_string_append
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:109,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:89,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:119,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:121,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 4
    argNames:
    - f
    - file_info
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 126
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 126
    functionName: print_one_file_text
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-ls.c
    functionUses: []
    functionsReached:
    - g_string_append
    - S_ISCHR
    - g_string_append_c
    - glnx_throw
    - gs_file_get_path_cached
    - g_file_info_get_attribute_byte_string
    - g_variant_print
    - g_file_info_get_attribute_uint32
    - g_file_info_get_file_type
    - ostree_repo_file_tree_get_contents_checksum
    - g_file_info_get_attribute_uint64
    - ostree_repo_file_ensure_resolved
    - g_print
    - ostree_repo_file_get_xattrs
    - g_variant_unref
    - ostree_repo_file_get_checksum
    - g_string_new
    - g_free
    - g_string_append_printf
    - S_ISBLK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean print_one_file_text (GFile *f, GFileInfo *file_info,
      GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:202,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:203,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:207,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:210,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:205,1
    - Dst: print_one_file
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:215,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:218,1
    - Dst: print_directory_recurse
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:222,1
    - Dst: print_directory_recurse
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:227,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 5
    argNames:
    - repo
    - root
    - arg
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 233
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 233
    functionName: print_one_argument
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-ls.c
    functionUses: []
    functionsReached:
    - g_assert
    - print_one_file
    - g_file_info_get_file_type
    - glnx_throw
    - g_file_resolve_relative_path
    - g_file_query_info
    - print_directory_recurse
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean print_one_argument (OstreeRepo *repo, GFile *root,
      const char *arg, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_one_file_binary
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:148,1
    - Dst: print_one_file_text
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - f
    - file_info
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: print_one_file
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-ls.c
    functionUses: []
    functionsReached:
    - print_one_file_binary
    - print_one_file_text
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean print_one_file (GFile *f, GFileInfo *file_info, GCancellable
      *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:245,1
    - Dst: print_one_argument
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:265,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:258,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:253,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:247,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:266,1
    - Dst: print_one_argument
      Src: /src/ostree/src/ostree/ot-builtin-ls.c:271,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 276
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 276
    functionName: ostree_builtin_ls
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-ls.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit
    - ostree_option_context_parse
    - g_option_context_new
    - print_one_argument
    - glnx_prefix_error
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_ls (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:57,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OstreeCollectionRef*
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: collection_ref_cmp
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-refs.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: int
    signature: 'static int collection_ref_cmp (OstreeCollectionRef *a, OstreeCollectionRef
      *b) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:319,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:342,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:329,1
    - Dst: do_ref
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:334,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:321,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:348,1
    - Dst: do_ref
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:353,1
    - Dst: ostree_repo_abort_transaction
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:360,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 362
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 362
    functionName: ostree_builtin_refs
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-refs.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_option_context_parse
    - g_option_context_new
    - do_ref
    - ostree_repo_abort_transaction
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_refs (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_list_collection_refs
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:72,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:88,1
    - Dst: g_hash_table_get_keys
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:78,1
    - Dst: g_list_sort
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:79,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:87,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:92,1
    - Dst: ostree_repo_resolve_rev_ext
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:101,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:104,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:108,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:116,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:142,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:121,1
    - Dst: g_strsplit
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:126,1
    - Dst: ostree_repo_set_collection_ref_immediate
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:135,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:131,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:129,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:141,1
    - Dst: ostree_repo_set_collection_ref_immediate
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:146,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 47
    argCount: 4
    argNames:
    - repo
    - refspec_prefix
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 153
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 153
    functionName: do_ref_with_collections
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-refs.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_hash_table_get_keys
    - ostree_repo_resolve_rev_ext
    - ostree_validate_collection_id
    - g_list_sort
    - ostree_repo_list_collection_refs
    - g_error_matches
    - ostree_validate_rev
    - g_hash_table_iter_next
    - g_clear_error
    - g_strsplit
    - g_hash_table_iter_init
    - ostree_repo_resolve_rev
    - g_print
    - g_hash_table_lookup
    - ostree_repo_set_collection_ref_immediate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_ref_with_collections (OstreeRepo *repo, const char
      *refspec_prefix, GCancellable *cancellable, GError **error) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_list_refs_ext
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:175,1
    - Dst: g_hash_table_get_keys
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:201,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:250,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:238,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:255,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:234,1
    - Dst: ostree_repo_set_alias_ref_immediate
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:265,1
    - Dst: ostree_repo_set_ref_immediate
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:274,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:294,1
    - Dst: ostree_repo_list_refs
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:196,1
    - Dst: g_list_sort
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:202,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:216,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:220,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:271,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:288,1
    - Dst: ostree_repo_set_ref_immediate
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:301,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:210,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:215,1
    - Dst: ostree_repo_resolve_rev_ext
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:231,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:247,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:261,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:262,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:263,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:282,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:292,1
    - Dst: do_ref_with_collections
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:166,1
    - Dst: ostree_repo_list_refs_ext
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:187,1
    - Dst: ostree_repo_list_refs_ext
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:192,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:211,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:281,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-refs.c:296,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 82
    argCount: 4
    argNames:
    - repo
    - refspec_prefix
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 308
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 308
    functionName: do_ref
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-refs.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH_KV
    - do_ref_with_collections
    - g_hash_table_iter_next
    - g_clear_error
    - ostree_repo_resolve_rev
    - glnx_throw
    - ostree_repo_list_refs
    - ostree_parse_refspec
    - ostree_repo_resolve_rev_ext
    - g_error_matches
    - strcmp
    - g_print
    - ostree_repo_set_alias_ref_immediate
    - g_hash_table_get_keys
    - g_hash_table_iter_init
    - ostree_repo_list_refs_ext
    - g_set_error
    - ostree_repo_set_ref_immediate
    - g_list_sort
    - g_hash_table_lookup
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_ref (OstreeRepo *repo, const char *refspec_prefix,
      GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:40,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:50,1
    - Dst: ostree_deployment_is_finalization_locked
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:52,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:43,1
    - Dst: ostree_sysroot_get_staged_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:48,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:55,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:60,1
    - Dst: ostree_sysroot_change_finalization
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:64,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:69,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c:73,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 76
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 76
    functionName: ot_admin_builtin_lock_finalization
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-lock-finalization.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - ostree_deployment_is_finalization_locked
    - ostree_sysroot_change_finalization
    - glnx_throw
    - ostree_admin_option_context_parse
    - g_print
    - ostree_sysroot_get_staged_deployment
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_lock_finalization (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_file_async_finish
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:53,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:58,1
    - Dst: g_main_loop_quit
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:61,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - obj
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: on_checksum_received
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-checksum.c
    functionUses: []
    functionsReached:
    - ostree_checksum_file_async_finish
    - g_print
    - g_main_loop_quit
    - ostree_checksum_inplace_from_bytes
    linkageType: ''
    returnType: void
    signature: 'static void on_checksum_received (GObject *obj, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:68,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:69,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:74,1
    - Dst: g_main_loop_new
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:81,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:80,1
    - Dst: ostree_checksum_file_async
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:89,1
    - Dst: g_main_loop_run
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:91,1
    - Dst: ostree_checksum_file_at
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:96,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-checksum.c:100,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 102
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 102
    functionName: ostree_builtin_checksum
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-checksum.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - g_file_new_for_path
    - ostree_checksum_file_async
    - ostree_checksum_file_at
    - g_main_loop_new
    - glnx_throw
    - g_main_loop_run
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_checksum (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fstatat
      Src: /src/ostree/src/ostree/ot-admin-builtin-finalize-staged.c:51,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-finalize-staged.c:59,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-finalize-staged.c:54,1
    - Dst: pause
      Src: /src/ostree/src/ostree/ot-admin-builtin-finalize-staged.c:78,1
    - Dst: ostree_admin_sysroot_load
      Src: /src/ostree/src/ostree/ot-admin-builtin-finalize-staged.c:68,1
    - Dst: ostree_admin_sysroot_load
      Src: /src/ostree/src/ostree/ot-admin-builtin-finalize-staged.c:84,1
    - Dst: ostree_cmd__private__
      Src: /src/ostree/src/ostree/ot-admin-builtin-finalize-staged.c:88,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 93
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 93
    functionName: ot_admin_builtin_finalize_staged
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-finalize-staged.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - ostree_cmd__private__
    - pause
    - ostree_admin_sysroot_load
    - fstatat
    - ostree_admin_option_context_parse
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_finalize_staged (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:54,1
    - Dst: ostree_sysroot_upgrader_set_origin
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:106,1
    - Dst: glnx_console_lock
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:113,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:100,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:117,1
    - Dst: ostree_async_progress_finish
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:129,1
    - Dst: ot_admin_execve_reboot
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:147,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:47,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:73,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:79,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:81,1
    - Dst: strlen
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:82,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:96,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:87,1
    - Dst: strcmp
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:98,1
    - Dst: ostree_repo_prepare_transaction
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:136,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:139,1
    - Dst: ostree_repo_commit_transaction
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:142,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:45,1
    - Dst: ostree_sysroot_upgrader_get_origin
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:69,1
    - Dst: ostree_sysroot_upgrader_new_for_os_with_flags
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:64,1
    - Dst: ostree_sysroot_upgrader_pull
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:124,1
    - Dst: ostree_sysroot_upgrader_deploy
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:132,1
    - Dst: ostree_repo_transaction_set_ref
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:140,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:70,1
    - Dst: ostree_sysroot_origin_new_from_refspec
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:105,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:83,1
    - Dst: g_strconcat
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:94,1
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/ostree/ot-admin-builtin-switch.c:135,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 56
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 152
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 152
    functionName: ot_admin_builtin_switch
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-switch.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    - ostree_async_progress_finish
    - ostree_sysroot_upgrader_get_origin
    - strlen
    - ostree_parse_refspec
    - ostree_sysroot_upgrader_deploy
    - ostree_repo_commit_transaction
    - strcmp
    - g_strconcat
    - g_print
    - ot_util_usage_error
    - ostree_repo_prepare_transaction
    - ostree_sysroot_origin_new_from_refspec
    - g_option_context_new
    - glnx_console_lock
    - ot_admin_execve_reboot
    - g_str_has_suffix
    - ostree_sysroot_repo
    - ostree_admin_option_context_parse
    - ostree_sysroot_upgrader_new_for_os_with_flags
    - g_strdup
    - g_set_error
    - ostree_async_progress_new_and_connect
    - ostree_repo_transaction_set_ref
    - ostree_sysroot_upgrader_set_origin
    - ostree_sysroot_upgrader_pull
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_switch (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:101,1
    - Dst: ostree_sysroot_prepare_cleanup
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:165,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:196,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:203,1
    - Dst: ostree_kernel_args_delete_if_present
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:210,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:255,1
    - Dst: ostree_sysroot_prepare_cleanup
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:325,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:220,1
    - Dst: ostree_sysroot_stage_tree
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:269,1
    - Dst: ostree_kernel_args_replace_argv
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:197,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:280,1
    - Dst: open
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:260,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:94,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:107,1
    - Dst: ot_admin_require_booted_deployment_or_osname
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:135,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:141,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:178,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:247,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:249,1
    - Dst: g_debug
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:254,1
    - Dst: dirname
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:256,1
    - Dst: strdupa
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:256,1
    - Dst: ostree_kernel_args_to_strv
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:235,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:233,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:229,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:91,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:114,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:136,1
    - Dst: ostree_sysroot_get_merge_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:156,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:152,1
    - Dst: ostree_kernel_args_append_proc_cmdline
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:179,1
    - Dst: g_key_file_load_from_file
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:143,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:166,1
    - Dst: ostree_kernel_args_from_string
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:186,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:186,1
    - Dst: ostree_sysroot_stage_tree_with_options
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:275,1
    - Dst: ostree_sysroot_simple_write_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:315,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:298,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:120,1
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:130,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:174,1
    - Dst: ostree_sysroot_origin_new_from_refspec
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:148,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:185,1
    - Dst: ostree_kernel_args_append_argv
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:204,1
    - Dst: ostree_sysroot_stage_overlay_initrd
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:224,1
    - Dst: g_ptr_array_new_full
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:228,1
    - Dst: g_strv_length
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:228,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:229,1
    - Dst: ostree_sysroot_deploy_tree
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:287,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:263,1
    - Dst: ostree_sysroot_deploy_tree_with_options
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:293,1
    - Dst: ostree_sysroot_cleanup
      Src: /src/ostree/src/ostree/ot-admin-builtin-deploy.c:330,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 127
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 335
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 335
    functionName: ot_admin_builtin_deploy
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-deploy.c
    functionUses: []
    functionsReached:
    - glnx_shutil_mkdir_p_at
    - g_steal_pointer
    - g_key_file_load_from_file
    - ostree_repo_resolve_rev
    - ostree_kernel_args_append_proc_cmdline
    - glnx_throw
    - ostree_kernel_args_append_argv
    - dirname
    - glnx_throw_errno_prefix
    - ostree_sysroot_deploy_tree
    - ostree_sysroot_stage_overlay_initrd
    - g_key_file_new
    - ostree_bootconfig_parser_get
    - ostree_kernel_args_from_string
    - g_ptr_array_new_full
    - ostree_kernel_args_to_strv
    - ostree_sysroot_prepare_cleanup
    - ostree_sysroot_stage_tree
    - ot_util_usage_error
    - ostree_sysroot_origin_new_from_refspec
    - ostree_deployment_get_bootconfig
    - open
    - g_option_context_new
    - ostree_sysroot_get_merge_deployment
    - ostree_sysroot_repo
    - glnx_prefix_error
    - glnx_openat_rdonly
    - ostree_sysroot_cleanup
    - ostree_admin_option_context_parse
    - g_ptr_array_add
    - g_strv_length
    - ostree_kernel_args_delete_if_present
    - ostree_kernel_args_new
    - ot_admin_require_booted_deployment_or_osname
    - ostree_sysroot_deploy_tree_with_options
    - g_assert
    - ostree_sysroot_stage_tree_with_options
    - ostree_kernel_args_replace_argv
    - g_debug
    - strdupa
    - ostree_sysroot_simple_write_deployment
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_deploy (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:60,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:62,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - context
    - message
    - error
    argTypes:
    - GOptionContext*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: usage_error
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-sign.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_option_context_get_help
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void usage_error (GOptionContext *context, const char *message,
      GError **error) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:103,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:131,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:165,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:132,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:165,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:170,1
    - Dst: g_file_read
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:201,1
    - Dst: ostree_sign_read_sk
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:205,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:195,1
    - Dst: ostree_sign_commit_verify
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:128,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:161,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:206,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:222,1
    - Dst: ostree_sign_set_sk
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:223,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:237,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:242,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:200,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:79,1
    - Dst: usage_error
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:96,1
    - Dst: usage_error
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:87,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:81,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:109,1
    - Dst: ostree_sign_commit
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:147,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:161,1
    - Dst: ostree_sign_commit_verify
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:175,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:178,1
    - Dst: g_warning
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:194,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:123,1
    - Dst: ostree_sign_set_pk
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:125,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:140,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:168,1
    - Dst: ostree_sign_set_sk
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:141,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:169,1
    - Dst: ostree_sign_load_pk
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:172,1
    - Dst: g_file_test
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:192,1
    - Dst: G_INPUT_STREAM
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:205,1
    - Dst: ostree_blob_reader_read_blob
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:212,1
    - Dst: ostree_sign_commit
      Src: /src/ostree/src/ostree/ot-builtin-sign.c:229,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 105
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 244
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 244
    functionName: ostree_builtin_sign
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-sign.c
    functionUses: []
    functionsReached:
    - ostree_blob_reader_read_blob
    - g_clear_error
    - ostree_repo_resolve_rev
    - usage_error
    - G_INPUT_STREAM
    - g_variant_new_string
    - ostree_sign_read_sk
    - g_variant_builder_add
    - g_print
    - g_set_error_literal
    - ostree_option_context_parse
    - g_option_context_new
    - g_file_new_for_path
    - ostree_sign_set_pk
    - ostree_sign_set_sk
    - ostree_sign_load_pk
    - g_warning
    - ostree_sign_commit
    - ostree_sign_get_by_name
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_set_error
    - g_assert
    - g_variant_new_from_bytes
    - g_variant_builder_new
    - g_file_test
    - ostree_sign_commit_verify
    - g_file_read
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_sign (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-list-keys.c:37,1
    - Dst: ostree_repo_remote_get_gpg_keys
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-list-keys.c:46,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-list-keys.c:39,1
    - Dst: ot_dump_gpg_key
      Src: /src/ostree/src/ostree/ot-remote-builtin-gpg-list-keys.c:51,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: ot_remote_builtin_list_gpg_keys
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-gpg-list-keys.c
    functionUses: []
    functionsReached:
    - ostree_option_context_parse
    - g_option_context_new
    - ot_dump_gpg_key
    - ostree_repo_remote_get_gpg_keys
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_list_gpg_keys (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_list_refs
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:74,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:79,1
    - Dst: ostree_repo_list_collection_refs
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:84,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:77,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:80,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:89,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:92,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:93,1
    - Dst: ot_enable_tombstone_commits
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:97,1
    - Dst: ostree_repo_delete_object
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - repo
    - commit_to_delete
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 105
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 105
    functionName: delete_commit
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-prune.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH_KV
    - g_strcmp0
    - ostree_repo_list_collection_refs
    - ostree_repo_delete_object
    - glnx_throw
    - ot_enable_tombstone_commits
    - ostree_repo_list_refs
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean delete_commit (OstreeRepo *repo, const char *commit_to_delete,
      GCancellable *cancellable, GError **error) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: parse_datetime
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:245,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:246,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:256,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:269,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:233,1
    - Dst: g_strndup
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:269,1
    - Dst: GINT_TO_POINTER
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:270,1
    - Dst: g_hash_table_new
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:290,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:304,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:309,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:309,1
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:165,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:161,1
    - Dst: ostree_repo_prune_static_deltas
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:181,1
    - Dst: delete_commit
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:184,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:194,1
    - Dst: ostree_repo_traverse_new_reachable
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:231,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:267,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:265,1
    - Dst: ostree_repo_list_refs
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:275,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:322,1
    - Dst: GPOINTER_TO_INT
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:334,1
    - Dst: ostree_repo_prune
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:215,1
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:254,1
    - Dst: g_ascii_strtoll
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:261,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:306,1
    - Dst: g_debug
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:350,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:367,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:369,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:371,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:373,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:375,1
    - Dst: ostree_repo_prune_from_reachable
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:359,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:159,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:175,1
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:226,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:295,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:297,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:307,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:323,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:326,1
    - Dst: ostree_repo_traverse_commit_with_flags
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:351,1
    - Dst: g_format_size_full
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:365,1
    - Dst: GINT_TO_POINTER
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:310,1
    - Dst: traverse_keep_younger_than
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:337,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 100
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 378
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 378
    functionName: ostree_builtin_prune
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-prune.c
    functionUses: []
    functionsReached:
    - parse_datetime
    - ostree_repo_traverse_commit_with_flags
    - g_strndup
    - g_hash_table_insert
    - g_hash_table_iter_next
    - ostree_repo_resolve_rev
    - glnx_throw
    - ostree_repo_prune_static_deltas
    - ostree_repo_list_refs
    - GINT_TO_POINTER
    - g_hash_table_add
    - g_ascii_strtoll
    - GLNX_HASH_TABLE_FOREACH
    - traverse_keep_younger_than
    - ostree_repo_prune_from_reachable
    - ostree_repo_traverse_new_reachable
    - strchr
    - g_print
    - ot_util_usage_error
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_auto_lock_push
    - g_hash_table_new
    - g_hash_table_iter_init
    - g_hash_table_new_full
    - ostree_repo_prune
    - GPOINTER_TO_INT
    - g_strdup
    - delete_commit
    - ostree_ensure_repo_writable
    - g_debug
    - g_format_size_full
    - g_hash_table_lookup
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_prune (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:111,1
    - Dst: ostree_repo_traverse_commit_with_flags
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:137,1
    - Dst: ostree_repo_load_variant_if_exists
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:126,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:132,1
    - Dst: ostree_repo_traverse_commit_with_flags
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:119,1
    - Dst: g_free
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:141,1
    - Dst: ostree_commit_get_parent
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:142,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/ostree/ot-builtin-prune.c:144,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 18
    argCount: 6
    argNames:
    - repo
    - checksum
    - ts
    - reachable
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - struct timespec*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 153
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 153
    functionName: traverse_keep_younger_than
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-prune.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - ostree_repo_traverse_commit_with_flags
    - ostree_commit_get_parent
    - g_clear_pointer
    - ostree_repo_load_variant_if_exists
    - ostree_commit_get_timestamp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean traverse_keep_younger_than (OstreeRepo *repo, const
      char *checksum, struct timespec *ts, GHashTable *reachable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:77,1
    - Dst: ot_get_bold_start
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:100,1
    - Dst: ot_get_bold_end
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:101,1
    - Dst: ot_get_red_end
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:102,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:144,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:144,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:145,1
    - Dst: ostree_deployment_get_index
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:146,1
    - Dst: ostree_gpg_verify_result_count_all
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:149,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:164,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:178,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:166,1
    - Dst: ostree_gpg_verify_result_describe
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:152,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:75,1
    - Dst: ostree_deployment_is_finalization_locked
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:80,1
    - Dst: ostree_deployment_get_unlocked
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:94,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:88,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:100,1
    - Dst: ostree_deployment_unlocked_state_to_string
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:101,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:113,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:115,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:120,1
    - Dst: ostree_repo_remote_get_gpg_verify
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:125,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:128,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:70,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:61,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:54,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:71,1
    - Dst: ot_get_red_start
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:100,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:107,1
    - Dst: ostree_repo_verify_commit_for_remote
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:134,1
    - Dst: g_error_matches
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:137,1
    - Dst: g_clear_error
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:139,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:170,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:172,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:48,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:57,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:82,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:92,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:89,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:88,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:89,1
    - Dst: ostree_deployment_is_pinned
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:104,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:105,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:111,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:156,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:168,1
    - Dst: ostree_repo_signature_verify_commit_data
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:175,1
    - Dst: g_string_sized_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:129,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 79
    argCount: 8
    argNames:
    - sysroot
    - repo
    - deployment
    - is_booted
    - is_pending
    - is_rollback
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeRepo*
    - OstreeDeployment*
    - gboolean
    - gboolean
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 182
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 182
    functionName: deployment_print_status
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-status.c
    functionUses: []
    functionsReached:
    - ot_get_bold_end
    - g_key_file_get_string
    - ostree_deployment_get_csum
    - ostree_deployment_get_origin
    - g_variant_get_child_value
    - g_clear_error
    - g_steal_pointer
    - ostree_deployment_get_unlocked
    - ostree_deployment_is_staged
    - glnx_throw
    - ot_get_red_end
    - ostree_deployment_is_finalization_locked
    - g_propagate_error
    - ostree_repo_signature_verify_commit_data
    - ostree_repo_verify_commit_for_remote
    - ostree_repo_read_commit_detached_metadata
    - ostree_parse_refspec
    - ostree_deployment_unlocked_state_to_string
    - g_error_matches
    - ostree_gpg_verify_result_describe
    - ostree_deployment_get_deployserial
    - g_print
    - g_variant_get_data_as_bytes
    - g_variant_lookup
    - ostree_deployment_is_pinned
    - ot_get_red_start
    - ostree_gpg_verify_result_count_all
    - glnx_prefix_error
    - ostree_repo_load_variant
    - ot_get_bold_start
    - ostree_deployment_get_osname
    - g_string_sized_new
    - g_assert
    - ostree_deployment_get_index
    - ostree_repo_remote_get_gpg_verify
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean deployment_print_status (OstreeSysroot *sysroot, OstreeRepo
      *repo, OstreeDeployment *deployment, gboolean is_booted, gboolean is_pending,
      gboolean is_rollback, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:188,1
    - Dst: ostree_sysroot_get_repo
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:197,1
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:201,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:191,1
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:200,1
    - Dst: ostree_sysroot_query_deployments_for
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:206,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:211,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:214,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:218,1
    - Dst: deployment_print_status
      Src: /src/ostree/src/ostree/ot-admin-builtin-status.c:225,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: ot_admin_builtin_status
    functionSourceFile: /src/ostree/src/ostree/ot-admin-builtin-status.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_booted_deployment
    - ostree_sysroot_query_deployments_for
    - ostree_sysroot_get_repo
    - g_option_context_new
    - deployment_print_status
    - ostree_sysroot_get_deployments
    - glnx_throw
    - ostree_admin_option_context_parse
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_builtin_status (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:83,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:97,1
    - Dst: g_ptr_array_new_full
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:102,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:107,1
    - Dst: ostree_repo_create_at
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:131,1
    - Dst: g_debug
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:128,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:110,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:149,1
    - Dst: ostree_repo_set_disable_fsync
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:157,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:182,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:189,1
    - Dst: ostree_repo_abort_transaction
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:197,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:265,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:188,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:262,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:190,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:233,1
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:153,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:182,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:186,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:187,1
    - Dst: g_build_filename
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:254,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:185,1
    - Dst: ostree_repo_get_path
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:277,1
    - Dst: ostree_async_progress_finish
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:202,1
    - Dst: g_file_get_path
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:277,1
    - Dst: glnx_console_lock
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:176,1
    - Dst: ostree_repo_regenerate_summary
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:209,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:279,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:70,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:58,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:106,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:119,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:110,1
    - Dst: ostree_repo_equal
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:147,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:161,1
    - Dst: ostree_async_progress_new_and_connect
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:179,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:184,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:185,1
    - Dst: ostree_repo_get_path
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:192,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:217,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:225,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:260,1
    - Dst: g_variant_new_int32
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:187,1
    - Dst: g_variant_new_int32
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:189,1
    - Dst: ostree_repo_pull_with_options
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:194,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:53,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:76,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:64,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:95,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:138,1
    - Dst: ostree_repo_get_dfd
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:138,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:143,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:161,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:165,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:167,1
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:215,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:272,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:190,1
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:215,1
    - Dst: g_file_get_uri
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:192,1
    - Dst: symlinkat
      Src: /src/ostree/src/ostree/ot-builtin-create-usb.c:263,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 123
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 283
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 283
    functionName: ostree_builtin_create_usb
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-create-usb.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_variant_new_int32
    - glnx_shutil_mkdir_p_at
    - ostree_repo_pull_with_options
    - ostree_repo_equal
    - glnx_throw
    - glnx_throw_errno_prefix
    - ostree_async_progress_finish
    - ostree_repo_get_path
    - TEMP_FAILURE_RETRY
    - g_ptr_array_new_full
    - ostree_repo_create_at
    - ostree_repo_set_disable_fsync
    - g_variant_builder_add
    - g_print
    - ot_util_usage_error
    - ostree_repo_regenerate_summary
    - ostree_option_context_parse
    - g_option_context_new
    - glnx_console_lock
    - glnx_opendirat
    - ostree_validate_collection_id
    - ostree_repo_get_dfd
    - g_ptr_array_index
    - ostree_collection_ref_new
    - g_build_filename
    - g_strdup_printf
    - g_variant_builder_init
    - glnx_dirfd_iterator_next_dent
    - g_variant_ref_sink
    - g_ptr_array_add
    - ostree_async_progress_new_and_connect
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - g_str_equal
    - symlinkat
    - ostree_validate_rev
    - g_variant_new_variant
    - g_file_get_path
    - ostree_ensure_repo_writable
    - g_debug
    - ostree_repo_abort_transaction
    - glnx_dirfd_iterator_init_at
    - glnx_fstat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_create_usb (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:54,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:64,1
    - Dst: g_option_context_set_summary
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:69,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:62,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: remote_option_context_new_with_commands
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-remote.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_option_context_new
    - g_option_context_set_summary
    - g_string_append_printf
    linkageType: ''
    returnType: GOptionContext*
    signature: 'static GOptionContext *remote_option_context_new_with_commands (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:93,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:106,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:119,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:124,1
    - Dst: remote_option_context_new_with_commands
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:116,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:129,1
    - Dst: g_option_context_get_help
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:134,1
    - Dst: g_printerr
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:135,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:140,1
    - Dst: g_get_prgname
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:140,1
    - Dst: g_set_prgname
      Src: /src/ostree/src/ostree/ot-builtin-remote.c:141,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 148
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 148
    functionName: ostree_builtin_remote
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-remote.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_set_error
    - ostree_option_context_parse
    - g_set_prgname
    - g_get_prgname
    - g_strcmp0
    - g_option_context_get_help
    - g_strdup_printf
    - remote_option_context_new_with_commands
    - g_set_error_literal
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_remote (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-list.c:38,1
    - Dst: strlen
      Src: /src/ostree/src/ostree/ot-remote-builtin-list.c:53,1
    - Dst: MAX
      Src: /src/ostree/src/ostree/ot-remote-builtin-list.c:53,1
    - Dst: ostree_repo_remote_list
      Src: /src/ostree/src/ostree/ot-remote-builtin-list.c:46,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-list.c:41,1
    - Dst: ostree_repo_remote_get_url
      Src: /src/ostree/src/ostree/ot-remote-builtin-list.c:59,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-builtin-list.c:62,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-builtin-list.c:68,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: ot_remote_builtin_list
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-list.c
    functionUses: []
    functionsReached:
    - strlen
    - ostree_repo_remote_get_url
    - ostree_option_context_parse
    - g_option_context_new
    - ostree_repo_remote_list
    - MAX
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_list (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/ostree/src/ostree/ot-admin-functions.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - sysroot
    - result
    - state
    argTypes:
    - OstreeSysroot*
    - GAsyncResult*
    - struct ContextState*
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: on_sysroot_lock_acquired
    functionSourceFile: /src/ostree/src/ostree/ot-admin-functions.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void on_sysroot_lock_acquired (OstreeSysroot *sysroot, GAsyncResult
      *result, struct ContextState *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/ostree/ot-admin-functions.c:54,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/ostree/ot-admin-functions.c:56,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-admin-functions.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: ot_admin_checksum_version
    functionSourceFile: /src/ostree/src/ostree/ot-admin-functions.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_strdup
    - g_variant_get_child_value
    linkageType: ''
    returnType: char*
    signature: 'char *ot_admin_checksum_version (GVariant *checksum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/ostree/ot-admin-functions.c:32,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-admin-functions.c:34,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - sysroot
    - osname
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: ot_admin_require_booted_deployment_or_osname
    functionSourceFile: /src/ostree/src/ostree/ot-admin-functions.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_booted_deployment
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_require_booted_deployment_or_osname (OstreeSysroot
      *sysroot, const char *osname, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/ostree/ot-admin-functions.c:66,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-functions.c:70,1
    - Dst: g_object_ref
      Src: /src/ostree/src/ostree/ot-admin-functions.c:81,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-functions.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - sysroot
    - index
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: ot_admin_get_indexed_deployment
    functionSourceFile: /src/ostree/src/ostree/ot-admin-functions.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_object_ref
    - ostree_sysroot_get_deployments
    linkageType: ''
    returnType: OstreeDeployment*
    signature: 'OstreeDeployment *ot_admin_get_indexed_deployment (OstreeSysroot *sysroot,
      int index, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-functions.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: on_sysroot_lock_timeout
    functionSourceFile: /src/ostree/src/ostree/ot-admin-functions.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_sysroot_lock_timeout (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/ostree/src/ostree/ot-admin-functions.c:110,1
    - Dst: g_source_set_callback
      Src: /src/ostree/src/ostree/ot-admin-functions.c:122,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/ostree/src/ostree/ot-admin-functions.c:121,1
    - Dst: ostree_sysroot_try_lock
      Src: /src/ostree/src/ostree/ot-admin-functions.c:116,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/src/ostree/ot-admin-functions.c:114,1
    - Dst: g_source_attach
      Src: /src/ostree/src/ostree/ot-admin-functions.c:123,1
    - Dst: g_source_unref
      Src: /src/ostree/src/ostree/ot-admin-functions.c:124,1
    - Dst: on_sysroot_lock_timeout
      Src: /src/ostree/src/ostree/ot-admin-functions.c:126,1
    - Dst: ostree_sysroot_lock_async
      Src: /src/ostree/src/ostree/ot-admin-functions.c:128,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/src/ostree/ot-admin-functions.c:132,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/src/ostree/ot-admin-functions.c:137,1
    - Dst: g_main_context_unref
      Src: /src/ostree/src/ostree/ot-admin-functions.c:138,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - sysroot
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: ot_admin_sysroot_lock
    functionSourceFile: /src/ostree/src/ostree/ot-admin-functions.c
    functionUses: []
    functionsReached:
    - on_sysroot_lock_timeout
    - g_source_set_callback
    - g_main_context_push_thread_default
    - g_source_attach
    - ostree_sysroot_lock_async
    - g_main_context_unref
    - g_main_context_pop_thread_default
    - g_source_unref
    - g_main_context_iteration
    - ostree_sysroot_try_lock
    - g_main_context_new
    - g_timeout_source_new_seconds
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_sysroot_lock (OstreeSysroot *sysroot, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/ostree/ot-admin-functions.c:145,1
    - Dst: execlp
      Src: /src/ostree/src/ostree/ot-admin-functions.c:153,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/ostree/ot-admin-functions.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - sysroot
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: ot_admin_execve_reboot
    functionSourceFile: /src/ostree/src/ostree/ot-admin-functions.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_booted_deployment
    - execlp
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_execve_reboot (OstreeSysroot *sysroot, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:87,1
    - Dst: g_strsplit
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:76,1
    - Dst: glnx_null_throw
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:80,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:82,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:77,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:94,1
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:95,1
    - Dst: g_strsplit
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:88,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:102,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:89,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:91,1
    - Dst: g_str_equal
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:93,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:96,1
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:100,1
    - Dst: ostree_sign_get_name
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:103,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:102,1
    - Dst: glnx_null_throw
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:98,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:101,1
    - Dst: g_strdup
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:103,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - builder
    - keyspec
    - error
    argTypes:
    - GVariantBuilder*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 104
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 104
    functionName: add_verify_opt
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-add.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_strdup
    - g_variant_new_string
    - g_assert
    - g_variant_new_variant
    - glnx_null_throw
    - ostree_sign_get_name
    - g_variant_builder_add
    - g_strsplit
    - g_strdup_printf
    - ostree_sign_get_by_name
    linkageType: ''
    returnType: char*
    signature: 'static char *add_verify_opt (GVariantBuilder *builder, const char
      *keyspec, GError **error) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ostree_parse_sysroot_or_repo_option
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:118,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:150,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:150,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:154,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:170,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:169,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:161,1
    - Dst: ot_parse_keyvalue
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:181,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:184,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:185,1
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:212,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:216,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:199,1
    - Dst: add_verify_opt
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:207,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:137,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:112,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:173,1
    - Dst: glnx_throw
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:198,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:221,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:229,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:255,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:200,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:111,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:146,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:157,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:170,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:159,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:161,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:185,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:191,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:192,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:192,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:200,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:266,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:222,1
    - Dst: g_string_append
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:217,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:127,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:156,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:172,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:173,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:225,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:227,1
    - Dst: g_variant_new_take_string
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:227,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:227,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:229,1
    - Dst: ostree_repo_remote_change
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:238,1
    - Dst: g_file_read
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:256,1
    - Dst: ostree_repo_remote_gpg_import
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:261,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/ostree/ot-remote-builtin-add.c:222,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 93
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 272
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 272
    functionName: ot_remote_builtin_add
    functionSourceFile: /src/ostree/src/ostree/ot-remote-builtin-add.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_string_append
    - g_string_append_c
    - g_steal_pointer
    - ostree_parse_sysroot_or_repo_option
    - ostree_repo_remote_gpg_import
    - glnx_throw
    - g_ptr_array_new
    - g_variant_new_string
    - g_variant_new_take_string
    - g_variant_builder_add
    - add_verify_opt
    - g_print
    - ot_util_usage_error
    - ostree_option_context_parse
    - g_option_context_new
    - ot_parse_keyvalue
    - g_file_new_for_path
    - g_variant_new_boolean
    - g_variant_ref_sink
    - g_ptr_array_add
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_string_new
    - g_variant_new_variant
    - g_variant_builder_new
    - g_file_read
    - ostree_repo_remote_change
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_remote_builtin_add (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:70,1
    - Dst: strchr
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:74,1
    - Dst: g_variant_parse
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:85,1
    - Dst: glnx_null_throw
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:80,1
    - Dst: g_strndup
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:82,1
    - Dst: glnx_prefix_error_null
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:87,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:89,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:92,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - args
    - error
    argTypes:
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 93
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 93
    functionName: build_additional_metadata
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-summary.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_strndup
    - glnx_null_throw
    - g_variant_builder_new
    - g_variant_builder_add
    - glnx_prefix_error_null
    - g_variant_ref_sink
    - strchr
    - g_variant_parse
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *build_additional_metadata (const char *const *args,
      GError **error) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:122,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:124,1
    - Dst: ostree_ensure_repo_writable
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:142,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:133,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:161,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:162,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:173,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:177,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:176,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:173,1
    - Dst: get_summary_data
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:213,1
    - Dst: ostree_repo_regenerate_metadata
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:184,1
    - Dst: ot_dump_summary_bytes
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:198,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:181,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:165,1
    - Dst: build_additional_metadata
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:148,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:155,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:158,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:159,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:183,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:183,1
    - Dst: get_summary_data
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:195,1
    - Dst: get_summary_data
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:204,1
    - Dst: ot_dump_summary_metadata_keys
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:207,1
    - Dst: ot_dump_summary_metadata_key
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:216,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:221,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:180,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 61
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 227
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 227
    functionName: ostree_builtin_summary
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-summary.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - G_VARIANT_BUILDER_INIT
    - ostree_option_context_parse
    - g_option_context_new
    - g_variant_builder_end
    - ot_dump_summary_metadata_keys
    - g_variant_new_string
    - g_set_error
    - ot_dump_summary_bytes
    - ot_dump_summary_metadata_key
    - ostree_ensure_repo_writable
    - g_variant_builder_add
    - get_summary_data
    - build_additional_metadata
    - g_variant_ref_sink
    - ostree_repo_regenerate_metadata
    - ostree_sign_get_by_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_summary (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:98,1
    - Dst: ot_fd_readall_or_mmap
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:104,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:102,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/ostree/ot-builtin-summary.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - repo
    - out_summary_data
    - error
    argTypes:
    - OstreeRepo*
    - GBytes**
    - GError**
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: get_summary_data
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-summary.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_steal_pointer
    - ot_fd_readall_or_mmap
    - glnx_openat_rdonly
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_summary_data (OstreeRepo *repo, GBytes **out_summary_data,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptrarray_path_join
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:58,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:64,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:69,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:64,1
    - Dst: ostree_sepolicy_restorecon
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:59,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:69,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 6
    argNames:
    - sepolicy
    - path
    - info
    - path_parts
    - cancellable
    - error
    argTypes:
    - OstreeSePolicy*
    - GFile*
    - GFileInfo*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: relabel_one_path
    functionSourceFile: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c
    functionUses: []
    functionsReached:
    - ptrarray_path_join
    - ostree_sepolicy_restorecon
    - g_prefix_error
    - gs_file_get_path_cached
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean relabel_one_path (OstreeSePolicy *sepolicy, GFile
      *path, GFileInfo *info, GPtrArray *path_parts, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:130,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:141,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:138,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:133,1
    - Dst: relabel_recursively
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:139,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 5
    argNames:
    - sepolicy
    - dir
    - prefix
    - cancellable
    - error
    argTypes:
    - OstreeSePolicy*
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 148
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 148
    functionName: selinux_relabel_dir
    functionSourceFile: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c
    functionUses: []
    functionsReached:
    - relabel_recursively
    - g_prefix_error
    - g_ptr_array_new
    - g_file_query_info
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean selinux_relabel_dir (OstreeSePolicy *sepolicy, GFile
      *dir, const char *prefix, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:31,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:34,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:42,1
    - Dst: g_string_append
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:43,1
    - Dst: g_string_free
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - path
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: ptrarray_path_join
    functionSourceFile: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - g_string_append
    - g_string_append_c
    linkageType: ''
    returnType: char*
    signature: 'static char *ptrarray_path_join (GPtrArray *path) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:168,1
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:176,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:170,1
    - Dst: ostree_sysroot_get_deployment_directory
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:183,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:179,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:187,1
    - Dst: g_object_ref
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:192,1
    - Dst: ostree_sepolicy_new
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:196,1
    - Dst: ostree_sepolicy_get_name
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:200,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:203,1
    - Dst: selinux_relabel_dir
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:204,1
    - Dst: g_print
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:208,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:209,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 214
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 214
    functionName: ot_admin_instutil_builtin_selinux_ensure_labeled
    functionSourceFile: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_option_context_new
    - ostree_sysroot_get_deployment_directory
    - g_file_new_for_path
    - g_object_ref
    - selinux_relabel_dir
    - ostree_sepolicy_get_name
    - ostree_sepolicy_new
    - ostree_sysroot_get_deployments
    - gs_file_get_path_cached
    - ostree_admin_option_context_parse
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_instutil_builtin_selinux_ensure_labeled (int argc,
      char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable,
      GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: relabel_one_path
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:84,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:103,1
    - Dst: g_file_enumerator_iterate
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:98,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:103,1
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:87,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:105,1
    - Dst: relabel_recursively
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:108,1
    - Dst: relabel_one_path
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:113,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c:117,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 6
    argNames:
    - sepolicy
    - dir
    - dir_info
    - path_parts
    - cancellable
    - error
    argTypes:
    - OstreeSePolicy*
    - GFile*
    - GFileInfo*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 123
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 123
    functionName: relabel_recursively
    functionSourceFile: /src/ostree/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c
    functionUses: []
    functionsReached:
    - g_file_info_get_name
    - g_file_enumerate_children
    - g_file_info_get_file_type
    - g_file_enumerator_iterate
    - relabel_one_path
    - g_ptr_array_add
    - relabel_recursively
    - g_ptr_array_remove_index
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean relabel_recursively (OstreeSePolicy *sepolicy, GFile
      *dir, GFileInfo *dir_info, GPtrArray *path_parts, GCancellable *cancellable,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:36,1
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:43,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:54,1
    - Dst: ostree_admin_option_context_parse
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:38,1
    - Dst: g_set_error
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:46,1
    - Dst: ostree_kernel_args_from_string
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:56,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:56,1
    - Dst: ostree_kernel_args_append_if_missing
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:63,1
    - Dst: ostree_kernel_args_to_string
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:67,1
    - Dst: ostree_sysroot_deployment_set_kargs_in_place
      Src: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c:69,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 20
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 75
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 75
    functionName: ot_admin_kargs_builtin_edit_in_place
    functionSourceFile: /src/ostree/src/ostree/ot-admin-kargs-builtin-edit-in-place.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_option_context_new
    - ostree_bootconfig_parser_get
    - ostree_kernel_args_to_string
    - ostree_kernel_args_from_string
    - ostree_kernel_args_append_if_missing
    - ostree_sysroot_get_deployments
    - ostree_admin_option_context_parse
    - ostree_sysroot_deployment_set_kargs_in_place
    - ostree_deployment_get_bootconfig
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ot_admin_kargs_builtin_edit_in_place (int argc, char **argv,
      OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read
      Src: /src/ostree/src/ostree/ot-builtin-cat.c:41,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/src/ostree/ot-builtin-cat.c:45,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - f
    - stdout_stream
    - cancellable
    - error
    argTypes:
    - GFile*
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: cat_one_file
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-cat.c
    functionUses: []
    functionsReached:
    - g_output_stream_splice
    - g_file_read
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cat_one_file (GFile *f, GOutputStream *stdout_stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/ostree/src/ostree/ot-builtin-cat.c:57,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/ostree/ot-builtin-cat.c:71,1
    - Dst: ostree_option_context_parse
      Src: /src/ostree/src/ostree/ot-builtin-cat.c:59,1
    - Dst: ot_util_usage_error
      Src: /src/ostree/src/ostree/ot-builtin-cat.c:65,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/ostree/ot-builtin-cat.c:74,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/ostree/ot-builtin-cat.c:78,1
    - Dst: cat_one_file
      Src: /src/ostree/src/ostree/ot-builtin-cat.c:80,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 5
    argNames:
    - argc
    - argv
    - invocation
    - cancellable
    - error
    argTypes:
    - int
    - char**
    - OstreeCommandInvocation*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 85
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 85
    functionName: ostree_builtin_cat
    functionSourceFile: /src/ostree/src/ostree/ot-builtin-cat.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit
    - ostree_option_context_parse
    - g_option_context_new
    - cat_one_file
    - g_unix_output_stream_new
    - g_file_resolve_relative_path
    - ot_util_usage_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_builtin_cat (int argc, char **argv, OstreeCommandInvocation
      *invocation, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: typedef
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS typedef struct '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: _ostree_fetcher_get_dfd
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _ostree_fetcher_get_dfd (OstreeFetcher *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:376,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:376,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:380,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - extra_user_agent
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 381
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 381
    functionName: _ostree_fetcher_set_extra_user_agent
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_strdup_printf
    - OSTREE_IS_FETCHER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_extra_user_agent (OstreeFetcher *self, const
      char *extra_user_agent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 11
    argNames:
    - self
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - max_size
    - priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - guint64
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 801
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 801
    functionName: _ostree_fetcher_request_to_tmpfile
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_request_async
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_request_to_tmpfile (OstreeFetcher *self, GPtrArray
      *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, const char
      *if_none_match, guint64 if_modified_since, guint64 max_size, int priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:100,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:104,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:102,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:103,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:101,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:105,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:106,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:107,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:108,1
    - Dst: glnx_tmpfile_clear
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:109,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:111,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:110,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - request
    argTypes:
    - FetcherRequest*
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: fetcher_request_free
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_free
    - g_clear_pointer
    - g_clear_object
    - g_debug
    - glnx_tmpfile_clear
    linkageType: ''
    returnType: void
    signature: 'static void fetcher_request_free (FetcherRequest *request) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:312,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:313,1
    - Dst: g_warning
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:320,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:312,1
    - Dst: g_uri_parse
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:317,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:324,1
    - Dst: g_simple_proxy_resolver_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - self
    - http_proxy
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 326
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 326
    functionName: _ostree_fetcher_set_proxy
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_uri_parse
    - g_clear_object
    - OSTREE_IS_FETCHER
    - g_warning
    - g_simple_proxy_resolver_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_proxy (OstreeFetcher *self, const char *http_proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - self
    - opt_low_speed_time
    argTypes:
    - OstreeFetcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: _ostree_fetcher_set_low_speed_time
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_low_speed_time (OstreeFetcher *self, guint32
      opt_low_speed_time) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:809,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:810,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:813,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:809,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:810,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:817,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:818,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:825,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 7
    argNames:
    - self
    - result
    - out_tmpf
    - out_not_modified
    - out_etag
    - out_last_modified
    - error
    argTypes:
    - OstreeFetcher*
    - GAsyncResult*
    - GLnxTmpfile*
    - gboolean*
    - char**
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 830
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 830
    functionName: _ostree_fetcher_request_to_tmpfile_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert
    - g_task_propagate_pointer
    - g_steal_pointer
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_request_to_tmpfile_finish (OstreeFetcher
      *self, GAsyncResult *result, GLnxTmpfile *out_tmpf, gboolean *out_not_modified,
      char **out_etag, guint64 *out_last_modified, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:238,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:241,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:242,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:243,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:240,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:244,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:245,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:246,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:247,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: _ostree_fetcher_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - OSTREE_FETCHER
    - G_OBJECT_CLASS
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:350,1
    - Dst: g_tls_file_database_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:353,1
    - Dst: g_warning
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:356,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:350,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - self
    - tlsdb_path
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: _ostree_fetcher_set_tls_database
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - OSTREE_IS_FETCHER
    - g_warning
    - g_tls_file_database_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_tls_database (OstreeFetcher *self, const
      char *tlsdb_path) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: soup_session_new_with_options
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:693,1
    - Dst: soup_session_remove_feature_by_type
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:701,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:703,1
    - Dst: soup_logger_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:705,1
    - Dst: soup_session_add_feature
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:706,1
    - Dst: SOUP_SESSION_FEATURE
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:706,1
    - Dst: soup_session_set_proxy_resolver
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:710,1
    - Dst: soup_session_add_feature
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:712,1
    - Dst: SOUP_SESSION_FEATURE
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:712,1
    - Dst: soup_session_set_tls_interaction
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:714,1
    - Dst: soup_session_set_tls_database
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:716,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 719
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 719
    functionName: create_soup_session
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - soup_logger_new
    - soup_session_new_with_options
    - soup_session_set_tls_database
    - g_getenv
    - soup_session_remove_feature_by_type
    - SOUP_SESSION_FEATURE
    - soup_session_add_feature
    - soup_session_set_proxy_resolver
    - soup_session_set_tls_interaction
    linkageType: ''
    returnType: SoupSession*
    signature: 'static SoupSession *create_soup_session (OstreeFetcher *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:255,1
    - Dst: _ostree_fetcher_set_proxy
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:259,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:257,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: _ostree_fetcher_constructed
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_set_proxy
    - OSTREE_FETCHER
    - g_getenv
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:367,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:370,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:369,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - self
    - extra_headers
    argTypes:
    - OstreeFetcher*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: _ostree_fetcher_set_extra_headers
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_variant_ref
    - OSTREE_IS_FETCHER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_extra_headers (OstreeFetcher *self, GVariant
      *extra_headers) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 725
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 725
    functionName: match_value
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean match_value (gpointer key, gpointer value, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:206,1
    - Dst: g_value_get_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:211,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: _ostree_fetcher_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - OSTREE_FETCHER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:135,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:130,1
    - Dst: g_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:146,1
    - Dst: soup_message_get_request_headers
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:154,1
    - Dst: soup_message_headers_append
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:161,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:160,1
    - Dst: soup_message_headers_append
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:176,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:128,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:137,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:139,1
    - Dst: g_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:144,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:159,1
    - Dst: g_variant_iter_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:171,1
    - Dst: soup_message_get_request_headers
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:176,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:127,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:144,1
    - Dst: g_file_new_for_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:147,1
    - Dst: soup_message_new_from_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:151,1
    - Dst: soup_message_headers_append
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:154,1
    - Dst: G_CALLBACK
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:167,1
    - Dst: _ostree_fetcher_uri_new_subpath
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:133,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:138,1
    - Dst: soup_message_get_request_headers
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:161,1
    - Dst: g_signal_connect
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:166,1
    - Dst: g_variant_iter_next
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:175,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - request
    argTypes:
    - FetcherRequest*
    constantsTouched: []
    func_position:
      end: 179
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 179
    functionName: create_request_message
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_uri_new_subpath
    - g_signal_connect
    - g_variant_iter_new
    - g_date_time_format
    - g_assert
    - g_file_new_for_uri
    - g_ptr_array_index
    - g_clear_object
    - soup_message_headers_append
    - g_date_time_new_from_unix_utc
    - soup_message_get_request_headers
    - G_CALLBACK
    - soup_message_new_from_uri
    - g_uri_ref
    - strcmp
    - g_uri_to_string
    - g_uri_get_scheme
    - g_variant_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void create_request_message (FetcherRequest *request) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:267,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:274,1
    - Dst: g_param_spec_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeFetcherClass*
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: _ostree_fetcher_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_class_init (OstreeFetcherClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:290,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - tmpdir_dfd
    - remote_name
    - flags
    argTypes:
    - int
    - char*
    - OstreeFetcherConfigFlags
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: _ostree_fetcher_new
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    linkageType: ''
    returnType: OstreeFetcher*
    signature: 'OstreeFetcher *_ostree_fetcher_new (int tmpdir_dfd, const char *remote_name,
      OstreeFetcherConfigFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - self
    - opt_low_speed_limit
    argTypes:
    - OstreeFetcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: _ostree_fetcher_set_low_speed_limit
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_low_speed_limit (OstreeFetcher *self, guint32
      opt_low_speed_limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - opt_max_outstanding_fetcher_requests
    argTypes:
    - OstreeFetcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: _ostree_fetcher_set_max_outstanding_fetcher_requests
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_max_outstanding_fetcher_requests (OstreeFetcher
      *self, guint32 opt_max_outstanding_fetcher_requests) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:184,1
    - Dst: g_task_get_priority
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:188,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:187,1
    - Dst: g_file_read_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:190,1
    - Dst: create_request_message
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:185,1
    - Dst: g_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:193,1
    - Dst: soup_message_get_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:193,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:195,1
    - Dst: soup_session_send_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 200
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 200
    functionName: initiate_task_request
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - soup_message_get_uri
    - create_request_message
    - soup_session_send_async
    - g_debug
    - g_file_read_async
    - g_uri_to_string
    - g_task_get_priority
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void initiate_task_request (GTask *task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:222,1
    - Dst: g_value_set_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:227,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: _ostree_fetcher_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_FETCHER
    - g_value_set_flags
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: _ostree_fetcher_init
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_init (OstreeFetcher *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: _ostree_fetcher_set_force_anonymous_tmpfiles
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_force_anonymous_tmpfiles (OstreeFetcher *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - self
    - opt_retry_all
    argTypes:
    - OstreeFetcher*
    - gboolean
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: _ostree_fetcher_set_retry_all
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_retry_all (OstreeFetcher *self, gboolean
      opt_retry_all) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:420,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:438,1
    - Dst: g_output_stream_close
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:425,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:433,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - request
    - cancellable
    - error
    argTypes:
    - FetcherRequest*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 444
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 444
    functionName: finish_stream
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_output_stream_write_all
    - glnx_fstat
    - g_output_stream_close
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean finish_stream (FetcherRequest *request, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:451,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:462,1
    - Dst: g_output_stream_splice_finish
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:455,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:458,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:465,1
    - Dst: g_input_stream_read_bytes_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:466,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 468
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 468
    functionName: on_out_splice_complete
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_TASK
    - g_output_stream_splice_finish
    - g_input_stream_read_bytes_async
    - g_task_return_error
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void on_out_splice_complete (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 877
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 877
    functionName: _ostree_fetcher_bytes_transferred
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'guint64 _ostree_fetcher_bytes_transferred (OstreeFetcher *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:331,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:331,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:334,1
    - Dst: soup_cookie_jar_text_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:335,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - self
    - jar_path
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: _ostree_fetcher_set_cookie_jar
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - soup_cookie_jar_text_new
    - g_clear_object
    - OSTREE_IS_FETCHER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_cookie_jar (OstreeFetcher *self, const char
      *jar_path) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_bytes_finish
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:508,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:522,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:488,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:495,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:498,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:517,1
    - Dst: lseek
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:533,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:528,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:535,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:516,1
    - Dst: g_output_stream_splice_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:574,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:576,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:473,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:474,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:536,1
    - Dst: finish_stream
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:520,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:529,1
    - Dst: g_task_return_boolean
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:540,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:562,1
    - Dst: _ostree_fetcher_tmpf
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:492,1
    - Dst: glnx_open_anonymous_tmpfile
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:486,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:502,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:511,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:536,1
    - Dst: g_file_get_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:554,1
    - Dst: g_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:556,1
    - Dst: soup_message_get_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:556,1
    - Dst: g_error_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:559,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:573,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 579
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 579
    functionName: on_stream_read
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - lseek
    - g_input_stream_read_bytes_finish
    - g_steal_pointer
    - g_memory_input_stream_new_from_bytes
    - _ostree_fetcher_tmpf
    - g_uri_to_string
    - glnx_set_error_from_errno
    - g_bytes_get_size
    - g_task_get_cancellable
    - glnx_open_anonymous_tmpfile
    - g_unix_output_stream_new
    - finish_stream
    - g_memory_output_stream_new_resizable
    - g_object_ref
    - G_TASK
    - soup_message_get_uri
    - g_error_new
    - g_task_return_pointer
    - g_memory_output_stream_steal_as_bytes
    - g_output_stream_splice_async
    - g_task_return_boolean
    - g_task_return_error
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void on_stream_read (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:731,1
    - Dst: g_hash_table_foreach_remove
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - data
    - object
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 733
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 733
    functionName: on_session_finalized
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_hash_table_foreach_remove
    linkageType: ''
    returnType: void
    signature: 'static void on_session_finalized (gpointer data, GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 11
    argNames:
    - self
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - max_size
    - priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - guint64
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 842
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 842
    functionName: _ostree_fetcher_request_to_membuf
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_request_async
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_request_to_membuf (OstreeFetcher *self, GPtrArray
      *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, const char
      *if_none_match, guint64 if_modified_since, guint64 max_size, int priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - msg
    - tls_peer_certificate
    - tls_peer_errors
    - data
    argTypes:
    - SoupMessage*
    - GTlsCertificate*
    - GTlsCertificateFlags
    - gpointer
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: _message_accept_cert_loose
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _message_accept_cert_loose (SoupMessage *msg, GTlsCertificate
      *tls_peer_certificate, GTlsCertificateFlags tls_peer_errors, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:341,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:341,1
    - Dst: _ostree_tls_cert_interaction_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:344,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - self
    - cert_path
    - key_path
    argTypes:
    - OstreeFetcher*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: _ostree_fetcher_set_client_cert
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - OSTREE_IS_FETCHER
    - _ostree_tls_cert_interaction_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_client_cert (OstreeFetcher *self, const char
      *cert_path, const char *key_path) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:596,1
    - Dst: initiate_task_request
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:616,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:639,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:625,1
    - Dst: g_date_time_to_unix
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:656,1
    - Dst: soup_message_headers_get_list
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:678,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:684,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:686,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:584,1
    - Dst: g_file_read_finish
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:590,1
    - Dst: SOUP_STATUS_IS_SUCCESSFUL
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:610,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:616,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:645,1
    - Dst: _ostree_fetcher_journal_failure
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:636,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:631,1
    - Dst: _ostree_fetcher_http_status_code_to_io_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:623,1
    - Dst: soup_status_get_phrase
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:626,1
    - Dst: soup_message_headers_get_one
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:645,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:670,1
    - Dst: soup_message_headers_get_content_length
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:679,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:585,1
    - Dst: soup_date_time_new_from_http_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:653,1
    - Dst: g_date_time_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:657,1
    - Dst: soup_session_send_finish
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:592,1
    - Dst: soup_message_get_status
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:602,1
    - Dst: g_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:622,1
    - Dst: g_error_new_literal
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:627,1
    - Dst: soup_message_get_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:622,1
    - Dst: soup_message_get_response_headers
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:646,1
    - Dst: soup_message_headers_get_one
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:649,1
    - Dst: soup_message_get_response_headers
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:650,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:664,1
    - Dst: soup_message_get_response_headers
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:677,1
    - Dst: g_input_stream_read_bytes_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:685,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:669,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 687
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 687
    functionName: on_request_sent
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_date_time_to_unix
    - SOUP_STATUS_IS_SUCCESSFUL
    - g_input_stream_read_bytes_async
    - initiate_task_request
    - g_uri_to_string
    - g_task_get_cancellable
    - soup_message_headers_get_content_length
    - soup_date_time_new_from_http_string
    - g_object_unref
    - soup_message_headers_get_list
    - g_file_read_finish
    - _ostree_fetcher_http_status_code_to_io_error
    - g_object_ref
    - G_TASK
    - soup_message_get_uri
    - soup_status_get_phrase
    - soup_message_get_response_headers
    - g_error_new_literal
    - g_strdup_printf
    - g_prefix_error
    - _ostree_fetcher_journal_failure
    - g_file_query_info
    - g_strdup
    - g_date_time_unref
    - soup_session_send_finish
    - g_task_return_error
    - soup_message_headers_get_one
    - soup_message_get_status
    - g_task_get_task_data
    - g_file_info_get_size
    linkageType: ''
    returnType: void
    signature: 'static void on_request_sent (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:747,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:755,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:762,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:767,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:772,1
    - Dst: g_object_weak_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:778,1
    - Dst: initiate_task_request
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:788,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:742,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:743,1
    - Dst: create_soup_session
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:771,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:766,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:788,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:746,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:742,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:748,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:782,1
    - Dst: g_task_set_priority
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:786,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:744,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:750,1
    - Dst: G_OBJECT
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:778,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:781,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:763,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:773,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:783,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 12
    argNames:
    - self
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - is_membuf
    - max_size
    - priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - gboolean
    - guint64
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 789
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 789
    functionName: _ostree_fetcher_request_async
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_ptr_array_ref
    - g_strdup
    - G_OBJECT
    - g_object_ref
    - g_task_set_priority
    - g_new0
    - create_soup_session
    - g_task_set_task_data
    - g_object_weak_ref
    - g_hash_table_insert
    - OSTREE_IS_FETCHER
    - g_task_new
    - g_task_set_source_tag
    - g_main_context_ref_thread_default
    - g_debug
    - initiate_task_request
    - g_hash_table_lookup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_request_async (OstreeFetcher *self, GPtrArray
      *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, const char
      *if_none_match, guint64 if_modified_since, gboolean is_membuf, guint64 max_size,
      int priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:850,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:851,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:851,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:854,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:850,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:858,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:859,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:860,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup3.c:866,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 18
    argCount: 7
    argNames:
    - self
    - result
    - out_buf
    - out_not_modified
    - out_etag
    - out_last_modified
    - error
    argTypes:
    - OstreeFetcher*
    - GAsyncResult*
    - GBytes**
    - gboolean*
    - char**
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 871
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 871
    functionName: _ostree_fetcher_request_to_membuf_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup3.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert
    - g_task_propagate_pointer
    - g_steal_pointer
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_request_to_membuf_finish (OstreeFetcher *self,
      GAsyncResult *result, GBytes **out_buf, gboolean *out_not_modified, char **out_etag,
      guint64 *out_last_modified, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBlobReaderInterface*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ostree_blob_reader_base64_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-base64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_blob_reader_base64_iface_init (OstreeBlobReaderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBlobReaderBase64*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: _ostree_blob_reader_base64_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-base64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_blob_reader_base64_init (OstreeBlobReaderBase64
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeBlobReaderBase64Class*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: _ostree_blob_reader_base64_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-base64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_blob_reader_base64_class_init (OstreeBlobReaderBase64Class
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-blob-reader-base64.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: _ostree_blob_reader_base64_new
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-base64.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeBlobReaderBase64*
    signature: 'OstreeBlobReaderBase64 *_ostree_blob_reader_base64_new (GInputStream
      *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_read_line
      Src: /src/ostree/src/libostree/ostree-blob-reader-base64.c:64,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-blob-reader-base64.c:67,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-blob-reader-base64.c:64,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-blob-reader-base64.c:67,1
    - Dst: g_base64_decode_inplace
      Src: /src/ostree/src/libostree/ostree-blob-reader-base64.c:75,1
    - Dst: explicit_bzero
      Src: /src/ostree/src/libostree/ostree-blob-reader-base64.c:76,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/src/libostree/ostree-blob-reader-base64.c:78,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-blob-reader-base64.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeBlobReader*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: ostree_blob_reader_base64_read_blob
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-base64.c
    functionUses: []
    functionsReached:
    - G_DATA_INPUT_STREAM
    - g_data_input_stream_read_line
    - explicit_bzero
    - g_bytes_new_take
    - g_base64_decode_inplace
    - g_steal_pointer
    - g_propagate_error
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *ostree_blob_reader_base64_read_blob (OstreeBlobReader *self,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:167,1
    - Dst: lremovexattr
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - dfd
    - name
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: ot_security_smack_reset_dfd_name
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - snprintf
    - lremovexattr
    linkageType: ''
    returnType: void
    signature: 'static void ot_security_smack_reset_dfd_name (int dfd, const char
      *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4268,1
    - Dst: import_is_bareuser_only_conversion
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - src_repo
    - dest_repo
    - objtype
    - trusted
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    - OstreeObjectType
    - gboolean
    constantsTouched: []
    func_position:
      end: 4276
      start: 4258
    functionDepth: 0
    functionLinenumber: 4258
    functionLinenumberEnd: 4276
    functionName: import_via_reflink_is_possible
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - import_is_bareuser_only_conversion
    - OSTREE_OBJECT_TYPE_IS_META
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean import_via_reflink_is_possible (OstreeRepo *src_repo,
      OstreeRepo *dest_repo, OstreeObjectType objtype, gboolean trusted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fremovexattr
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: ot_security_smack_reset_fd
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - fremovexattr
    linkageType: ''
    returnType: void
    signature: 'static void ot_security_smack_reset_fd (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - self
    - type
    - checksum
    - variant
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2475
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2475
    functionName: ostree_repo_write_metadata_trusted
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_repo_write_metadata
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_metadata_trusted (OstreeRepo *self, OstreeObjectType
      type, const char *checksum, GVariant *variant, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - src_repo
    - dest_repo
    - objtype
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    - OstreeObjectType
    constantsTouched: []
    func_position:
      end: 4253
      start: 4246
    functionDepth: 0
    functionLinenumber: 4246
    functionLinenumberEnd: 4253
    functionName: import_is_bareuser_only_conversion
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean import_is_bareuser_only_conversion (OstreeRepo *src_repo,
      OstreeRepo *dest_repo, OstreeObjectType objtype) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1859,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1879,1
    - Dst: g_get_real_time
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1860,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1871,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1865,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1883,1
    - Dst: _ostree_repo_has_staging_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1889,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1889,1
    - Dst: cleanup_txn_dir
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1891,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1913,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1914,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1919
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1919
    functionName: cleanup_tmpdir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_fstatat_allow_noent
    - cleanup_txn_dir
    - glnx_dirfd_iterator_init_at
    - _ostree_repo_has_staging_prefix
    - glnx_dirfd_iterator_next_dent
    - strcmp
    - glnx_shutil_rm_rf_at
    - g_get_real_time
    - glnx_prefix_error
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cleanup_tmpdir (OstreeRepo *self, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2860,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2862,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2860,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2861,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2861,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2863,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2863,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2864,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2864,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2866,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2870,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2866,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - self
    - result
    - out_csum
    - error
    argTypes:
    - OstreeRepo*
    - GAsyncResult*
    - guchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 2872
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2872
    functionName: ostree_repo_write_content_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - ot_transfer_out_value
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_content_finish (OstreeRepo *self, GAsyncResult
      *result, guchar **out_csum, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1819,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1820,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1838,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1844,1
    - Dst: _ostree_repo_try_lock_tmpdir
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1828,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1845,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 5
    argNames:
    - self
    - dfd
    - path
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1848
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1848
    functionName: cleanup_txn_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - _ostree_repo_try_lock_tmpdir
    - g_str_has_prefix
    - glnx_strjoina
    - glnx_shutil_rm_rf_at
    - glnx_prefix_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cleanup_txn_dir (OstreeRepo *self, int dfd, const
      char *path, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2831,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2836,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2833,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2834,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2832,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2838,1
    - Dst: G_OBJECT
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2838,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2839,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2840,1
    - Dst: g_task_run_in_thread
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2841,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - self
    - expected_checksum
    - object
    - length
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepo*
    - char*
    - GInputStream*
    - guint64
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2842
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2842
    functionName: ostree_repo_write_content_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_object_ref
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_write_content_async (OstreeRepo *self, const char
      *expected_checksum, GInputStream *object, guint64 length, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1305,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1307,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1326,1
    - Dst: ot_checksum_get_hexdigest
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1337,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1351,1
    - Dst: repo_store_size_entry
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1349,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1386,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1402,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1403,1
    - Dst: repo_store_size_entry
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1374,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1413,1
    - Dst: commit_tmp_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1380,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1406,1
    - Dst: glnx_fchmod
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1387,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1385,1
    - Dst: ostree_repo_delete_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1399,1
    - Dst: repo_has_size_entry
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1373,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1309,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1325,1
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1333,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1335,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1336,1
    - Dst: _ostree_repo_has_loose_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1339,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1353,1
    - Dst: repo_has_size_entry
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1348,1
    - Dst: ostree_checksum_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1356,1
    - Dst: _ostree_compare_object_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1363,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1380,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1416,1
    - Dst: glnx_try_fallocate
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1383,1
    - Dst: _ostree_repo_commit_tmpf_final
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1391,1
    - Dst: ostree_checksum_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1419,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1370,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 63
    argCount: 7
    argNames:
    - self
    - objtype
    - expected_checksum
    - buf
    - out_csum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GBytes*
    - guchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1421
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1421
    functionName: write_metadata_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - glnx_throw_errno_prefix
    - g_propagate_error
    - _ostree_repo_commit_tmpf_final
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_fchmod
    - repo_has_size_entry
    - g_error_matches
    - glnx_open_tmpfile_linkable_at
    - ot_checksum_init
    - memcpy
    - g_bytes_get_data
    - glnx_loop_write
    - ostree_checksum_to_bytes
    - ot_checksum_update
    - glnx_try_fallocate
    - commit_tmp_dfd
    - _ostree_repo_has_loose_object
    - g_assert
    - _ostree_compare_object_checksum
    - repo_store_size_entry
    - g_cancellable_set_error_if_cancelled
    - g_mutex_unlock
    - ostree_repo_delete_object
    - ot_checksum_get_hexdigest
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_metadata_object (OstreeRepo *self, OstreeObjectType
      objtype, const char *expected_checksum, GBytes *buf, guchar **out_csum, GCancellable
      *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1549,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - self
    - modifier
    - device
    - inode
    argTypes:
    - OstreeRepo*
    - OstreeRepoCommitModifier*
    - guint32
    - guint64
    constantsTouched: []
    func_position:
      end: 1553
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1553
    functionName: devino_cache_lookup
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    linkageType: ''
    returnType: char*
    signature: 'static const char *devino_cache_lookup (OstreeRepo *self, OstreeRepoCommitModifier
      *modifier, guint32 device, guint64 inode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_has_loose_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2646,1
    - Dst: write_content_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2665,1
    - Dst: ostree_checksum_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2652,1
    - Dst: ostree_content_stream_parse
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2661,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 12
    argCount: 7
    argNames:
    - self
    - expected_checksum
    - object_input
    - length
    - out_csum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GInputStream*
    - guint64
    - guchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2667
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2667
    functionName: ostree_repo_write_content
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - write_content_object
    - _ostree_repo_has_loose_object
    - ostree_checksum_to_bytes
    - ostree_content_stream_parse
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_content (OstreeRepo *self, const char *expected_checksum,
      GInputStream *object_input, guint64 length, guchar **out_csum, GCancellable
      *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2900,1
    - Dst: g_date_time_to_unix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2904,1
    - Dst: g_ascii_strtoll
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2910,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2912,1
    - Dst: g_date_time_new_now_utc
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2903,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2914,1
    - Dst: ostree_repo_write_commit_with_time
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2917,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 16
    argCount: 9
    argNames:
    - self
    - parent
    - subject
    - body
    - metadata
    - root
    - out_commit
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char*
    - GVariant*
    - OstreeRepoFile*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2919
      start: 2894
    functionDepth: 0
    functionLinenumber: 2894
    functionLinenumberEnd: 2919
    functionName: ostree_repo_write_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_ascii_strtoll
    - ostree_repo_write_commit_with_time
    - g_date_time_new_now_utc
    - g_date_time_to_unix
    - g_getenv
    - glnx_throw
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_commit (OstreeRepo *self, const char *parent,
      const char *subject, const char *body, GVariant *metadata, OstreeRepoFile *root,
      char **out_commit, GCancellable *cancellable, GError **error) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4310,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4311,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4313,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4310,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4357,1
    - Dst: _import_payload_link
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4461,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4362,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4399,1
    - Dst: ostree_fs_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4404,1
    - Dst: fchown
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4389,1
    - Dst: glnx_fd_set_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4407,1
    - Dst: glnx_regfile_copy_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4383,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4380,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4427,1
    - Dst: fsetxattr
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4427,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4428,1
    - Dst: _ostree_repo_ensure_loose_objdir_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4326,1
    - Dst: linkat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4332,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4344,1
    - Dst: futimens
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4446,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4373,1
    - Dst: G_IN_SET
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4398,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4384,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4390,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4419,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4420,1
    - Dst: glnx_fgetxattr_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4423,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4429,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4431,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4436,1
    - Dst: copy_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4456,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4435,1
    - Dst: _ostree_repo_mode_is_bare
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4441,1
    - Dst: _ostree_repo_commit_tmpf_final
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4449,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 96
    argCount: 7
    argNames:
    - dest_repo
    - src_repo
    - checksum
    - objtype
    - out_was_supported
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    - char*
    - OstreeObjectType
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4466
      start: 4304
    functionDepth: 0
    functionLinenumber: 4304
    functionLinenumberEnd: 4466
    functionName: import_one_object_direct
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - glnx_throw_errno_prefix
    - _ostree_repo_ensure_loose_objdir_at
    - _ostree_repo_mode_is_bare
    - _ostree_repo_commit_tmpf_final
    - g_bytes_get_size
    - copy_detached_metadata
    - ostree_object_type_to_string
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_fd_set_all_xattrs
    - OSTREE_OBJECT_TYPE_IS_META
    - TEMP_FAILURE_RETRY
    - glnx_fstatat
    - G_IN_SET
    - glnx_open_tmpfile_linkable_at
    - glnx_regfile_copy_bytes
    - fsetxattr
    - g_bytes_get_data
    - _import_payload_link
    - glnx_strjoina
    - linkat
    - glnx_openat_rdonly
    - glnx_fgetxattr_bytes
    - futimens
    - g_assert
    - _ostree_loose_path
    - fchmod
    - ostree_fs_get_all_xattrs
    - fchown
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean import_one_object_direct (OstreeRepo *dest_repo, OstreeRepo
      *src_repo, const char *checksum, OstreeObjectType objtype, gboolean *out_was_supported,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_variant_builder_from_variant
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2928,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2928,1
    - Dst: add_size_index_to_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2930,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2932,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - self
    - original_metadata
    - repo_root
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - OstreeRepoFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2933
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2933
    functionName: add_auto_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - ot_util_variant_builder_from_variant
    - g_variant_ref_sink
    - add_size_index_to_metadata
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *add_auto_metadata (OstreeRepo *self, GVariant *original_metadata,
      OstreeRepoFile *repo_root, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scan_loose_devino
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1513,1
    - Dst: scan_one_loose_devino
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1524,1
    - Dst: scan_one_loose_devino
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1519,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 4
    argNames:
    - self
    - devino_cache
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1528
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1528
    functionName: scan_loose_devino
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - scan_loose_devino
    - scan_one_loose_devino
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean scan_loose_devino (OstreeRepo *self, GHashTable *devino_cache,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_write_content
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - self
    - checksum
    - object_input
    - length
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GInputStream*
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2616
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2616
    functionName: ostree_repo_write_content_trusted
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_repo_write_content
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_content_trusted (OstreeRepo *self, const
      char *checksum, GInputStream *object_input, guint64 length, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4286,1
    - Dst: ostree_repo_write_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 5
    argNames:
    - self
    - source
    - checksum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4298
      start: 4281
    functionDepth: 0
    functionLinenumber: 4281
    functionLinenumberEnd: 4298
    functionName: copy_detached_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit_detached_metadata
    - ostree_repo_write_commit_detached_metadata
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copy_detached_metadata (OstreeRepo *self, OstreeRepo
      *source, const char *checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2446,1
    - Dst: ostree_metadata_variant_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2454,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2454,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2447,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2451,1
    - Dst: ostree_repo_write_metadata_trusted
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 7
    argNames:
    - self
    - objtype
    - checksum
    - object_input
    - length
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GInputStream*
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2456
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2456
    functionName: ostree_repo_write_metadata_stream_trusted
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_output_stream_splice
    - ostree_repo_write_metadata_trusted
    - g_variant_new_from_bytes
    - g_memory_output_stream_steal_as_bytes
    - ostree_metadata_variant_type
    - g_memory_output_stream_new_resizable
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_metadata_stream_trusted (OstreeRepo *self,
      OstreeObjectType objtype, const char *checksum, GInputStream *object_input,
      guint64 length, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2731,1
    - Dst: _ostree_mode_uidgid_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2733,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2739,1
    - Dst: write_content_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2736,1
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2734,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 8
    argNames:
    - self
    - expected_checksum
    - uid
    - gid
    - xattrs
    - symlink_target
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - guint32
    - guint32
    - GVariant*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2740
      start: 2726
    functionDepth: 0
    functionLinenumber: 2726
    functionLinenumberEnd: 2740
    functionName: ostree_repo_write_symlink
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_checksum_from_bytes
    - g_assert
    - g_file_info_set_attribute_byte_string
    - _ostree_mode_uidgid_to_gfileinfo
    - write_content_object
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_repo_write_symlink (OstreeRepo *self, const char *expected_checksum,
      guint32 uid, guint32 gid, GVariant *xattrs, const char *symlink_target, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2492,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2496,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2493,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2494,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2495,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2498
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2498
    functionName: write_metadata_async_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_variant_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void write_metadata_async_data_free (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:141,1
    - Dst: fsetxattr
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:148,1
    - Dst: create_file_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:146,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:148,1
    - Dst: _ostree_canonicalize_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:145,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:148,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:149,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 6
    argNames:
    - fd
    - uid
    - gid
    - mode
    - xattrs
    - error
    argTypes:
    - int
    - guint32
    - guint32
    - guint32
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: _ostree_write_bareuser_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - fsetxattr
    - create_file_metadata
    - _ostree_canonicalize_xattrs
    - TEMP_FAILURE_RETRY
    - glnx_throw_errno_prefix
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_write_bareuser_metadata (int fd, guint32 uid, guint32
      gid, guint32 mode, GVariant *xattrs, GError **error) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1433,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1449,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1443,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1459,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1452,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1473,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1476,1
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1481,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1482,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1489,1
    - Dst: g_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1493,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1497,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1499,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1496,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 35
    argCount: 5
    argNames:
    - self
    - object_dir_fd
    - devino_cache
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1504
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1504
    functionName: scan_one_loose_devino
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_hash_table_add
    - strrchr
    - g_assert
    - g_assert_not_reached
    - g_new
    - glnx_fstatat
    - g_str_has_suffix
    - glnx_dirfd_iterator_init_at
    - glnx_dirfd_iterator_next_dent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean scan_one_loose_devino (OstreeRepo *self, int object_dir_fd,
      GHashTable *devino_cache, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2697,1
    - Dst: _ostree_mode_uidgid_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2698,1
    - Dst: write_content_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2701,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2704,1
    - Dst: g_file_info_set_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2699,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 10
    argNames:
    - self
    - expected_checksum
    - uid
    - gid
    - mode
    - xattrs
    - buf
    - len
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - guint32
    - guint32
    - guint32
    - GVariant*
    - guint8*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2705
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2705
    functionName: ostree_repo_write_regfile_inline
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_checksum_from_bytes
    - g_memory_input_stream_new_from_data
    - _ostree_mode_uidgid_to_gfileinfo
    - write_content_object
    - g_file_info_set_size
    linkageType: ''
    returnType: _OSTREE_PUBLIC*
    signature: '_OSTREE_PUBLIC char *ostree_repo_write_regfile_inline (OstreeRepo
      *self, const char *expected_checksum, guint32 uid, guint32 gid, guint32 mode,
      GVariant *xattrs, const guint8 *buf, gsize len, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:527,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:528,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:530,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 6
    argNames:
    - repo
    - barewrite
    - buf
    - len
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoBareContent*
    - guint8*
    - size_t
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 532
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 532
    functionName: _ostree_repo_bare_content_write
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_assert
    - glnx_throw_errno_prefix
    - glnx_loop_write
    - ot_checksum_update
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_bare_content_write (OstreeRepo *repo, OstreeRepoBareContent
      *barewrite, const guint8 *buf, size_t len, GCancellable *cancellable, GError
      **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:604,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:612,1
    - Dst: commit_tmp_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:604,1
    - Dst: ioctl
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:613,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:610,1
    - Dst: glnx_try_fallocate
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:620,1
    - Dst: MIN
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:629,1
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:630,1
    - Dst: g_input_stream_read
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:635,1
    - Dst: MIN
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:635,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:644,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:639,1
    - Dst: glnx_fchmod
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:648,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:643,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 7
    argNames:
    - self
    - length
    - original_input
    - input
    - out_tmpf
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - guint64
    - GInputStream*
    - GInputStream*
    - GLnxTmpfile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 654
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 654
    functionName: create_regular_tmpfile_linkable_with_content
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - commit_tmp_dfd
    - glnx_fchmod
    - glnx_throw_errno_prefix
    - ioctl
    - MIN
    - glnx_loop_write
    - G_IS_FILE_DESCRIPTOR_BASED
    - g_input_stream_read
    - glnx_open_tmpfile_linkable_at
    - g_file_descriptor_based_get_fd
    - glnx_throw
    - g_malloc
    - glnx_try_fallocate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean create_regular_tmpfile_linkable_with_content (OstreeRepo
      *self, guint64 length, GInputStream *original_input, GInputStream *input, GLnxTmpfile
      *out_tmpf, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2563,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2565,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2564,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2564,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2563,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2566,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2566,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2567,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2567,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2569,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2569,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - self
    - result
    - out_csum
    - error
    argTypes:
    - OstreeRepo*
    - GAsyncResult*
    - guchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 2577
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2577
    functionName: ostree_repo_write_metadata_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_metadata_finish (OstreeRepo *self, GAsyncResult
      *result, guchar **out_csum, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:540,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:555,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:549,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:548,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:545,1
    - Dst: throw_min_free_space_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:556,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:560,1
    - Dst: ot_checksum_get_hexdigest
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:563,1
    - Dst: _ostree_compare_object_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:566,1
    - Dst: commit_loose_regfile_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:570,1
    - Dst: _ostree_repo_bare_content_cleanup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:575,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 6
    argNames:
    - self
    - barewrite
    - checksum_buf
    - buflen
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoBareContent*
    - char*
    - size_t
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 577
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 577
    functionName: _ostree_repo_bare_content_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert
    - throw_min_free_space_error
    - _ostree_compare_object_checksum
    - g_mutex_unlock
    - commit_loose_regfile_object
    - ot_checksum_get_hexdigest
    - glnx_fstat
    - g_mutex_lock
    - _ostree_repo_bare_content_cleanup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_bare_content_commit (OstreeRepo *self, OstreeRepoBareContent
      *barewrite, char *checksum_buf, size_t buflen, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_tmpfile_clear
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:585,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:587,1
    - Dst: ot_checksum_clear
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:586,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - regwrite
    argTypes:
    - OstreeRepoBareContent*
    constantsTouched: []
    func_position:
      end: 590
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 590
    functionName: _ostree_repo_bare_content_cleanup
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - glnx_tmpfile_clear
    - ot_checksum_clear
    linkageType: ''
    returnType: void
    signature: 'void _ostree_repo_bare_content_cleanup (OstreeRepoBareContent *regwrite) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3466,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3469,1
    - Dst: devino_cache_lookup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3493,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3504,1
    - Dst: ptrarray_path_join
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3516,1
    - Dst: g_file_enumerator_get_child
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3564,1
    - Dst: get_final_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3586,1
    - Dst: adopt_and_commit_regfile
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3645,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3492,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3507,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3546,1
    - Dst: _ostree_gfileinfo_equal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3538,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3634,1
    - Dst: g_file_read
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3661,1
    - Dst: write_content_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3673,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3679,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3692,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3509,1
    - Dst: get_final_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3597,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3637,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3639,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3648,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3660,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3668,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3678,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3688,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3468,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3491,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3500,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3515,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3528,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3545,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3542,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3559,1
    - Dst: _ostree_repo_commit_modifier_apply
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3536,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3578,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 125
    argCount: 11
    argNames:
    - self
    - repo_dir
    - dir_enum
    - dfd_iter
    - writeflags
    - child_info
    - mtree
    - modifier
    - path
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoFile*
    - GFileEnumerator*
    - GLnxDirFdIterator*
    - WriteDirContentFlags
    - GFileInfo*
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3695
      start: 3459
    functionDepth: 0
    functionLinenumber: 3459
    functionLinenumberEnd: 3695
    functionName: write_content_to_mtree_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - _ostree_gfileinfo_equal
    - glnx_unlinkat
    - ptrarray_path_join
    - glnx_throw
    - write_content_object
    - _ostree_repo_commit_modifier_apply
    - get_final_xattrs
    - g_unix_input_stream_new
    - g_file_info_get_attribute_uint32
    - g_file_enumerator_get_child
    - g_file_info_get_file_type
    - g_file_info_get_attribute_uint64
    - g_ptr_array_remove_index
    - devino_cache_lookup
    - adopt_and_commit_regfile
    - glnx_openat_rdonly
    - ostree_mutable_tree_replace_file
    - g_ptr_array_add
    - g_file_info_get_name
    - ostree_repo_load_file
    - g_assert
    - g_mutex_unlock
    - g_file_read
    - glnx_shutil_rm_rf_at
    - ostree_checksum_inplace_from_bytes
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_content_to_mtree_internal (OstreeRepo *self,
      OstreeRepoFile *repo_dir, GFileEnumerator *dir_enum, GLnxDirFdIterator *dfd_iter,
      WriteDirContentFlags writeflags, GFileInfo *child_info, OstreeMutableTree *mtree,
      OstreeRepoCommitModifier *modifier, GPtrArray *path, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3090,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3092,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3114,1
    - Dst: g_slist_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3111,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3126,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3133,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3135,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3098,1
    - Dst: g_slist_sort
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3102,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3109,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3133,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3090,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3092,1
    - Dst: g_slist_prepend
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3100,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3108,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3109,1
    - Dst: g_slist_prepend
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3115,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3124,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3121,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3134,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3095,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3098,1
    - Dst: g_slist_sort
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3116,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3122,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3125,1
    - Dst: g_slist_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3129,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - file_checksums
    - dir_contents_checksums
    - dir_metadata_checksums
    argTypes:
    - GHashTable*
    - GHashTable*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 3136
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3136
    functionName: create_tree_variant_from_hashes
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - GLNX_HASH_TABLE_FOREACH
    - g_assert
    - ostree_checksum_to_bytes_v
    - g_variant_builder_add
    - g_slist_sort
    - g_slist_prepend
    - g_variant_builder_init
    - ot_util_filename_validate
    - g_variant_new
    - g_variant_ref_sink
    - g_slist_free
    - g_hash_table_lookup
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *create_tree_variant_from_hashes (GHashTable *file_checksums,
      GHashTable *dir_contents_checksums, GHashTable *dir_metadata_checksums) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:186,1
    - Dst: _ostree_repo_ensure_loose_objdir_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:189,1
    - Dst: commit_dest_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:188,1
    - Dst: _ostree_tmpf_fsverity
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:192,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:195,1
    - Dst: glnx_tmpfile_clear
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - self
    - checksum
    - objtype
    - tmpf
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - OstreeObjectType
    - GLnxTmpfile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: _ostree_repo_commit_tmpf_final
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - _ostree_tmpf_fsverity
    - _ostree_loose_path
    - commit_dest_dfd
    - glnx_link_tmpfile_at
    - _ostree_repo_ensure_loose_objdir_at
    - glnx_tmpfile_clear
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_commit_tmpf_final (OstreeRepo *self, const char
      *checksum, OstreeObjectType objtype, GLnxTmpfile *tmpf, GCancellable *cancellable,
      GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_IN_SET
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1213,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1226,1
    - Dst: posix_fadvise
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1229,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1245,1
    - Dst: ot_checksum_get_hexdigest
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1248,1
    - Dst: commit_dest_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1258,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1274,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1286,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1291,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1293,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1215,1
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1222,1
    - Dst: renameat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1288,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1213,1
    - Dst: ot_checksum_update_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1223,1
    - Dst: read
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1239,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1255,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1256,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1253,1
    - Dst: _ostree_repo_ensure_loose_objdir_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1259,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1263,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1284,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1285,1
    - Dst: _ostree_file_header_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1217,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1241,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 8
    argNames:
    - self
    - dfd
    - name
    - finfo
    - xattrs
    - out_checksum_buf
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - char*
    - GFileInfo*
    - GVariant*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1298
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1298
    functionName: adopt_and_commit_regfile
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - glnx_fstatat_allow_noent
    - commit_dest_dfd
    - renameat
    - posix_fadvise
    - read
    - glnx_throw_errno_prefix
    - _ostree_repo_ensure_loose_objdir_at
    - GLNX_AUTO_PREFIX_ERROR
    - g_file_info_get_attribute_uint32
    - g_file_info_get_attribute_uint64
    - G_IN_SET
    - ot_checksum_init
    - _ostree_file_header_new
    - ot_checksum_update_bytes
    - glnx_openat_rdonly
    - ot_checksum_update
    - g_assert
    - _ostree_loose_path
    - fchmod
    - ot_checksum_get_hexdigest
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean adopt_and_commit_regfile (OstreeRepo *self, int dfd,
      const char *name, GFileInfo *finfo, GVariant *xattrs, char *out_checksum_buf,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_write_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - self
    - remote
    - ref
    - target
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2162
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2162
    functionName: ostree_repo_set_alias_ref_immediate
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - _ostree_repo_write_ref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_set_alias_ref_immediate (OstreeRepo *self, const
      char *remote, const char *ref, const char *target, GCancellable *cancellable,
      GError **error) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:868,1
    - Dst: G_IN_SET
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:910,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:952,1
    - Dst: _ostree_zlib_file_header_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1023,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1120,1
    - Dst: _ostree_file_header_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:894,1
    - Dst: _ostree_make_temporary_symlink_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:999,1
    - Dst: g_filter_output_stream_set_close_base_stream
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1040,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1140,1
    - Dst: fchownat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1138,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:901,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1105,1
    - Dst: ostree_checksum_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1114,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1121,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1051,1
    - Dst: g_file_info_has_attribute
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1182,1
    - Dst: ot_checksum_instream_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:920,1
    - Dst: commit_tmp_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:999,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:896,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:939,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:955,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1183,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:965,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:997,1
    - Dst: _create_payload_link
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1109,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:877,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:948,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1189,1
    - Dst: g_output_stream_write_all
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1029,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1025,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:878,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:971,1
    - Dst: repo_has_size_entry
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1084,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1137,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1046,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1185,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:951,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:964,1
    - Dst: ot_checksum_instream_get_string
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1078,1
    - Dst: ot_security_smack_reset_dfd_name
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1144,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1081,1
    - Dst: glnx_dfd_name_set_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1145,1
    - Dst: create_regular_tmpfile_linkable_with_content
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1006,1
    - Dst: repo_store_size_entry
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1091,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1180,1
    - Dst: _create_payload_link
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1174,1
    - Dst: commit_loose_regfile_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1170,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:872,1
    - Dst: _check_support_reflink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:906,1
    - Dst: _try_clone_from_payload_link
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1165,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1021,1
    - Dst: _ostree_repo_has_loose_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1099,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1043,1
    - Dst: commit_path_final
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1156,1
    - Dst: g_converter_output_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1038,1
    - Dst: ostree_repo_get_mode
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:875,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:976,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1000,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1018,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:884,1
    - Dst: ot_checksum_instream_new_with_start
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:904,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1107,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1088,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:947,1
    - Dst: glnx_fchmod
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1057,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1153,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1119,1
    - Dst: ostree_checksum_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1190,1
    - Dst: g_bytes_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:948,1
    - Dst: ot_checksum_instream_get_string
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1068,1
    - Dst: g_output_stream_flush
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1054,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1016,1
    - Dst: g_zlib_compressor_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1036,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1051,1
    - Dst: _ostree_compare_object_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1071,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1034,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:870,1
    - Dst: throw_min_free_space_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:972,1
    - Dst: commit_tmp_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:988,1
    - Dst: commit_tmp_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1018,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 197
    argCount: 8
    argNames:
    - self
    - expected_checksum
    - input
    - file_info
    - xattrs
    - out_csum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GInputStream*
    - GFileInfo*
    - GVariant*
    - guchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1194
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 1194
    functionName: write_content_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_file_info_has_attribute
    - g_filter_output_stream_set_close_base_stream
    - g_file_info_get_symlink_target
    - g_memory_input_stream_new_from_bytes
    - glnx_throw
    - glnx_throw_errno_prefix
    - ot_checksum_instream_new
    - commit_loose_regfile_object
    - g_bytes_get_size
    - strlen
    - GLNX_AUTO_PREFIX_ERROR
    - g_assert_cmpint
    - create_regular_tmpfile_linkable_with_content
    - glnx_fchmod
    - glnx_dfd_name_set_all_xattrs
    - throw_min_free_space_error
    - repo_has_size_entry
    - g_output_stream_flush
    - g_memory_input_stream_new_from_data
    - g_file_info_get_attribute_uint32
    - g_unix_output_stream_new
    - g_assert_not_reached
    - commit_path_final
    - g_file_info_get_file_type
    - _try_clone_from_payload_link
    - G_IN_SET
    - glnx_open_tmpfile_linkable_at
    - g_zlib_compressor_new
    - _ostree_file_header_new
    - _ostree_make_temporary_symlink_at
    - g_output_stream_splice
    - g_bytes_get_data
    - _create_payload_link
    - G_UNLIKELY
    - ot_checksum_instream_get_string
    - _check_support_reflink
    - ostree_checksum_to_bytes
    - g_output_stream_write_all
    - commit_tmp_dfd
    - _ostree_repo_has_loose_object
    - ot_checksum_instream_new_with_start
    - g_assert
    - g_bytes_new
    - g_converter_output_stream_new
    - _ostree_compare_object_checksum
    - fchownat
    - repo_store_size_entry
    - g_cancellable_set_error_if_cancelled
    - g_mutex_unlock
    - g_getenv
    - _ostree_zlib_file_header_new
    - glnx_fstat
    - ostree_repo_get_mode
    - ot_security_smack_reset_dfd_name
    - g_mutex_lock
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_content_object (OstreeRepo *self, const char
      *expected_checksum, GInputStream *input, GFileInfo *file_info, GVariant *xattrs,
      guchar **out_csum, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_write_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - self
    - remote
    - ref
    - checksum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2141
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2141
    functionName: ostree_repo_set_ref_immediate
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - _ostree_repo_write_ref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_set_ref_immediate (OstreeRepo *self, const char
      *remote, const char *ref, const char *checksum, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2587,1
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2591,1
    - Dst: ostree_create_directory_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2590,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 6
    argNames:
    - self
    - file_info
    - xattrs
    - out_csum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFileInfo*
    - GVariant*
    - guchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2593
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2593
    functionName: _ostree_repo_write_directory_meta
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - ostree_create_directory_metadata
    - ostree_repo_write_metadata
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_write_directory_meta (OstreeRepo *self, GFileInfo
      *file_info, GVariant *xattrs, guchar **out_csum, GCancellable *cancellable,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_ensure_loose_objdir_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3054,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3063,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3071,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3064,1
    - Dst: g_variant_get_normal_form
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3062,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3072,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3075,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 5
    argNames:
    - self
    - checksum
    - metadata
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3080
      start: 3043
    functionDepth: 0
    functionLinenumber: 3043
    functionLinenumberEnd: 3080
    functionName: ostree_repo_write_commit_detached_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - glnx_file_replace_contents_at
    - _ostree_loose_path
    - g_prefix_error
    - g_variant_get_normal_form
    - _ostree_repo_ensure_loose_objdir_at
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_commit_detached_metadata (OstreeRepo *self,
      const char *checksum, GVariant *metadata, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stats
    argTypes:
    - OstreeRepoTransactionStats*
    constantsTouched: []
    func_position:
      end: 4615
      start: 4611
    functionDepth: 0
    functionLinenumber: 4611
    functionLinenumberEnd: 4615
    functionName: ostree_repo_transaction_stats_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_transaction_stats_free (OstreeRepoTransactionStats
      *stats) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1625,1
    - Dst: ot_util_process_privileged
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1663,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1631,1
    - Dst: ostree_repo_get_min_free_space_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1655,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1681,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1657,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1652,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1629,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1626,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1626,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1637,1
    - Dst: memset
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1639,1
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1641,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1649,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1650,1
    - Dst: _ostree_repo_auto_transaction_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1636,1
    - Dst: fstatvfs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1649,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1690,1
    - Dst: _ostree_repo_allocate_tmpdir
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1684,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - self
    - out_transaction_resume
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1696
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1696
    functionName: ostree_repo_prepare_transaction
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - glnx_throw_errno_prefix
    - _ostree_repo_allocate_tmpdir
    - g_assert
    - fstatvfs
    - g_clear_object
    - TEMP_FAILURE_RETRY
    - _ostree_repo_auto_transaction_new
    - g_debug
    - memset
    - ostree_repo_lock_push
    - g_mutex_unlock
    - glnx_throw
    - OSTREE_IS_REPO
    - ot_util_process_privileged
    - g_mutex_lock
    - ostree_repo_get_min_free_space_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_prepare_transaction (OstreeRepo *self, gboolean
      *out_transaction_resume, GCancellable *cancellable, GError **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3374,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3396,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3400,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3425,1
    - Dst: g_file_enumerator_get_child
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3409,1
    - Dst: ostree_mutable_tree_ensure_dir
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3412,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3451,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3374,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3437,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3386,1
    - Dst: _ostree_repo_commit_modifier_apply
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3391,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3399,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3426,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3424,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3432,1
    - Dst: write_directory_to_mtree_internal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3418,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3425,1
    - Dst: write_dfd_iter_to_mtree_internal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3440,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3373,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3376,1
    - Dst: ptrarray_path_join
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3387,1
    - Dst: ostree_repo_file_get_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3427,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3446,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 52
    argCount: 11
    argNames:
    - self
    - repo_dir
    - dir_enum
    - dfd_iter
    - writeflags
    - child_info
    - mtree
    - modifier
    - path
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoFile*
    - GFileEnumerator*
    - GLnxDirFdIterator*
    - WriteDirContentFlags
    - GFileInfo*
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3454
      start: 3366
    functionDepth: 0
    functionLinenumber: 3366
    functionLinenumberEnd: 3454
    functionName: write_dir_entry_to_mtree_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - g_file_info_get_name
    - write_directory_to_mtree_internal
    - g_assert
    - write_dfd_iter_to_mtree_internal
    - _ostree_repo_commit_modifier_apply
    - ostree_repo_file_get_checksum
    - ptrarray_path_join
    - g_file_info_get_file_type
    - g_file_enumerator_get_child
    - g_debug
    - glnx_dirfd_iterator_init_at
    - glnx_shutil_rm_rf_at
    - gs_file_get_path_cached
    - ostree_mutable_tree_replace_file
    - g_ptr_array_add
    - g_ptr_array_remove_index
    - ostree_mutable_tree_ensure_dir
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_dir_entry_to_mtree_internal (OstreeRepo *self,
      OstreeRepoFile *repo_dir, GFileEnumerator *dir_enum, GLnxDirFdIterator *dfd_iter,
      WriteDirContentFlags writeflags, GFileInfo *child_info, OstreeMutableTree *mtree,
      OstreeRepoCommitModifier *modifier, GPtrArray *path, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:498,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:501,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:500,1
    - Dst: commit_tmp_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:501,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:500,1
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:504,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:505,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:511,1
    - Dst: _ostree_mode_uidgid_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:514,1
    - Dst: _ostree_file_header_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:515,1
    - Dst: ot_checksum_update_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:516,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 10
    argNames:
    - self
    - expected_checksum
    - content_len
    - uid
    - gid
    - mode
    - xattrs
    - out_regwrite
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - guint64
    - guint
    - guint
    - guint
    - GVariant*
    - OstreeRepoBareContent*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 519
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 519
    functionName: _ostree_repo_bare_content_open
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - commit_tmp_dfd
    - S_ISREG
    - g_strdup
    - g_assert
    - ot_checksum_update_bytes
    - g_variant_ref
    - _ostree_mode_uidgid_to_gfileinfo
    - glnx_open_tmpfile_linkable_at
    - ot_checksum_init
    - _ostree_file_header_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_bare_content_open (OstreeRepo *self, const char
      *expected_checksum, guint64 content_len, guint uid, guint gid, guint mode, GVariant
      *xattrs, OstreeRepoBareContent *out_regwrite, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1582,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1586,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1583,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1583,1
    - Dst: ostree_repo_devino_cache_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1589,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1590,1
    - Dst: scan_loose_devino
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1592
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1592
    functionName: ostree_repo_scan_hardlinks
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_remove_all
    - scan_loose_devino
    - ostree_repo_devino_cache_new
    - glnx_throw
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_scan_hardlinks (OstreeRepo *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: commit_tmp_dfd
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int commit_tmp_dfd (OstreeRepo *self) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_get_commitpartial_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1954,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1962,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1968,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1957,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1967,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1973,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - self
    - checksum
    - is_partial
    - in_state
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - OstreeRepoCommitState
    - GError**
    constantsTouched: []
    func_position:
      end: 1978
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1978
    functionName: ostree_repo_mark_commit_partial_reason
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - glnx_loop_write
    - _ostree_get_commitpartial_path
    - ot_ensure_unlinked_at
    - glnx_throw_errno_prefix
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_mark_commit_partial_reason (OstreeRepo *self,
      const char *checksum, gboolean is_partial, OstreeRepoCommitState in_state, GError
      **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3002,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3013,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3005,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3010,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3013,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3017,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3020,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3020,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3023,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 5
    argNames:
    - self
    - checksum
    - out_metadata
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3028
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3028
    functionName: ostree_repo_read_commit_detached_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - ostree_repo_read_commit_detached_metadata
    - ot_variant_read_fd
    - g_assert
    - _ostree_loose_path
    - ot_openat_ignore_enoent
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_read_commit_detached_metadata (OstreeRepo *self,
      const char *checksum, GVariant **out_metadata, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2788,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2789,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2791,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2792,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2790,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2794
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2794
    functionName: write_content_async_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void write_content_async_data_free (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_write_content
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2802,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2807,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - datap
    - cancellable
    argTypes:
    - GTask*
    - GObject*
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 2808
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2808
    functionName: write_content_thread
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - ostree_repo_write_content
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void write_content_thread (GTask *task, GObject *object, gpointer
      datap, GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: commit_dest_dfd
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int commit_dest_dfd (OstreeRepo *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1925,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 1930
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1930
    functionName: ensure_txn_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void ensure_txn_refs (OstreeRepo *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2958,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2968,1
    - Dst: ot_gvariant_new_bytearray
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2968,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2966,1
    - Dst: add_auto_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2962,1
    - Dst: g_variant_new_array
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2969,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2969,1
    - Dst: GUINT64_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2970,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2971,1
    - Dst: ostree_repo_file_tree_get_contents_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2971,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2972,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2980,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2979,1
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2975,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2973,1
    - Dst: ostree_repo_file_tree_get_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2972,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 10
    argNames:
    - self
    - parent
    - subject
    - body
    - metadata
    - root
    - time
    - out_commit
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char*
    - GVariant*
    - OstreeRepoFile*
    - guint64
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2982
      start: 2952
    functionDepth: 0
    functionLinenumber: 2952
    functionLinenumberEnd: 2982
    functionName: ostree_repo_write_commit_with_time
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - ostree_repo_file_tree_get_metadata_checksum
    - ostree_checksum_from_bytes
    - GUINT64_TO_BE
    - ot_gvariant_new_bytearray
    - add_auto_metadata
    - OSTREE_REPO_FILE
    - ostree_checksum_to_bytes_v
    - ostree_repo_file_tree_get_contents_checksum
    - ot_transfer_out_value
    - g_variant_new
    - g_variant_ref_sink
    - g_variant_new_array
    - ostree_repo_write_metadata
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_commit_with_time (OstreeRepo *self, const
      char *parent, const char *subject, const char *body, GVariant *metadata, OstreeRepoFile
      *root, guint64 time, char **out_commit, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:417,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:434,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:432,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:409,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:416,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:418,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:419,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:425,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:431,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:444,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:433,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:413,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:428,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:440,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:436,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:441,1
    - Dst: ot_gvariant_new_bytearray
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:437,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:412,1
    - Dst: ostree_checksum_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:427,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - self
    - builder
    argTypes:
    - OstreeRepo*
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 446
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 446
    functionName: add_size_index_to_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_string_new
    - GLNX_HASH_TABLE_FOREACH
    - g_hash_table_size
    - ostree_checksum_inplace_to_bytes
    - ot_gvariant_new_bytearray
    - g_ptr_array_sort
    - g_string_append_c
    - g_hash_table_remove_all
    - g_hash_table_lookup
    - g_variant_builder_add
    - g_variant_builder_init
    - g_string_append_len
    - g_ptr_array_new
    - g_ptr_array_add
    - _ostree_write_varuint64
    linkageType: ''
    returnType: void
    signature: 'static void add_size_index_to_metadata (OstreeRepo *self, GVariantBuilder
      *builder) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:660,1
    - Dst: commit_tmp_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:669,1
    - Dst: ioctl
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:673,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:667,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:669,1
    - Dst: g_atomic_int_set
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:674,1
    - Dst: g_atomic_int_set
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:677,1
    - Dst: g_atomic_int_get
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:679,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - dest
    - supported
    - error
    argTypes:
    - OstreeRepo*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 681
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 681
    functionName: _check_support_reflink
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - commit_tmp_dfd
    - ioctl
    - g_atomic_int_get
    - glnx_openat_rdonly
    - glnx_open_tmpfile_linkable_at
    - g_atomic_int_set
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _check_support_reflink (OstreeRepo *dest, gboolean
      *supported, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2104,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2107,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2105,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2105,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2106,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2111,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2111,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2113,1
    - Dst: ensure_txn_refs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2114,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2115,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2117,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2115,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - self
    - ref
    - checksum
    argTypes:
    - OstreeRepo*
    - OstreeCollectionRef*
    - char*
    constantsTouched: []
    func_position:
      end: 2118
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2118
    functionName: ostree_repo_transaction_set_collection_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert
    - ostree_validate_checksum_string
    - g_mutex_unlock
    - g_hash_table_replace
    - ensure_txn_refs
    - OSTREE_IS_REPO
    - ostree_collection_ref_dup
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_transaction_set_collection_ref (OstreeRepo *self,
      const OstreeCollectionRef *ref, const char *checksum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_is_native
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3928,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3938,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3930,1
    - Dst: ostree_repo_write_dfd_to_mtree
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3930,1
    - Dst: _ostree_repo_setup_generate_sizes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3936,1
    - Dst: write_directory_to_mtree_internal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3939,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 6
    argNames:
    - self
    - dir
    - mtree
    - modifier
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3944
      start: 3921
    functionDepth: 0
    functionLinenumber: 3921
    functionLinenumberEnd: 3944
    functionName: ostree_repo_write_directory_to_mtree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_repo_write_dfd_to_mtree
    - write_directory_to_mtree_internal
    - _ostree_repo_setup_generate_sizes
    - gs_file_get_path_cached
    - g_file_is_native
    - g_ptr_array_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_directory_to_mtree (OstreeRepo *self, GFile
      *dir, OstreeMutableTree *mtree, OstreeRepoCommitModifier *modifier, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_add
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4100,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - modifier
    argTypes:
    - OstreeRepoCommitModifier*
    constantsTouched: []
    func_position:
      end: 4103
      start: 4097
    functionDepth: 0
    functionLinenumber: 4097
    functionLinenumberEnd: 4103
    functionName: ostree_repo_commit_modifier_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_add
    linkageType: ''
    returnType: OstreeRepoCommitModifier*
    signature: 'OstreeRepoCommitModifier *ostree_repo_commit_modifier_ref (OstreeRepoCommitModifier
      *modifier) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: import_is_bareuser_only_conversion
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4483,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4504,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4490,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4493,1
    - Dst: _ostree_validate_bareuseronly_mode_finfo
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4498,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4516,1
    - Dst: import_via_reflink_is_possible
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4523,1
    - Dst: ostree_repo_fsck_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4531,1
    - Dst: import_one_object_direct
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4536,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4552,1
    - Dst: _import_payload_link
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4559,1
    - Dst: copy_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4573,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4577,1
    - Dst: ostree_repo_write_content
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4597,1
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4582,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4565,1
    - Dst: ostree_repo_load_object_stream
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4592,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 52
    argCount: 7
    argNames:
    - self
    - source
    - objtype
    - checksum
    - flags
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - OstreeRepoImportFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4603
      start: 4471
    functionDepth: 0
    functionLinenumber: 4471
    functionLinenumberEnd: 4603
    functionName: _ostree_repo_import_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_repo_load_object_stream
    - import_is_bareuser_only_conversion
    - import_one_object_direct
    - ostree_repo_load_file
    - _ostree_validate_bareuseronly_mode_finfo
    - OSTREE_OBJECT_TYPE_IS_META
    - g_assert_not_reached
    - _import_payload_link
    - import_via_reflink_is_possible
    - g_file_info_get_file_type
    - ostree_repo_fsck_object
    - ostree_repo_has_object
    - ostree_repo_load_variant
    - ostree_repo_write_content
    - ostree_repo_write_metadata
    - copy_detached_metadata
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_import_object (OstreeRepo *self, OstreeRepo
      *source, OstreeObjectType objtype, const char *checksum, OstreeRepoImportFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _check_support_reflink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:689,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:700,1
    - Dst: strcpy
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:704,1
    - Dst: G_IN_SET
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:696,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:695,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:705,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:708,1
    - Dst: commit_tmp_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:708,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:711,1
    - Dst: commit_tmp_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:716,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:716,1
    - Dst: commit_path_final
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:717,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 6
    argNames:
    - self
    - checksum
    - payload_checksum
    - file_info
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 723
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 723
    functionName: _create_payload_link
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - commit_tmp_dfd
    - g_strdup
    - symlinkat
    - strcpy
    - _ostree_loose_path
    - _check_support_reflink
    - commit_path_final
    - g_file_info_get_file_type
    - G_IN_SET
    - glnx_throw_errno_prefix
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _create_payload_link (OstreeRepo *self, const char
      *checksum, const char *payload_checksum, GFileInfo *file_info, GCancellable
      *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4110,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4119,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4121,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - modifier
    argTypes:
    - OstreeRepoCommitModifier*
    constantsTouched: []
    func_position:
      end: 4125
      start: 4105
    functionDepth: 0
    functionLinenumber: 4105
    functionLinenumberEnd: 4125
    functionName: ostree_repo_commit_modifier_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_atomic_int_dec_and_test
    - g_free
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_commit_modifier_unref (OstreeRepoCommitModifier *modifier) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - stats
    argTypes:
    - OstreeRepoTransactionStats*
    constantsTouched: []
    func_position:
      end: 4609
      start: 4605
    functionDepth: 0
    functionLinenumber: 4605
    functionLinenumberEnd: 4609
    functionName: ostree_repo_transaction_stats_copy
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_memdup2
    linkageType: ''
    returnType: OstreeRepoTransactionStats*
    signature: 'static OstreeRepoTransactionStats *ostree_repo_transaction_stats_copy
      (OstreeRepoTransactionStats *stats) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4636,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4641,1
    - Dst: g_file_info_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4651,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4654,1
    - Dst: ostree_repo_write_commit
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4671,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4678,1
    - Dst: ostree_repo_get_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4629,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4626,1
    - Dst: g_variant_dict_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4640,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4643,1
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4659,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4663,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4664,1
    - Dst: ostree_repo_write_mtree
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4667,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4625,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4626,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4645,1
    - Dst: ostree_create_directory_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4656,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4653,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4649,1
    - Dst: ostree_repo_transaction_set_collection_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4675,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4627,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4631,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4646,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4652,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 5
    argNames:
    - self
    - additional_metadata
    - out_checksum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4681
      start: 4620
    functionDepth: 0
    functionLinenumber: 4620
    functionLinenumberEnd: 4681
    functionName: _ostree_repo_transaction_write_repo_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_variant_dict_insert
    - g_steal_pointer
    - ostree_repo_resolve_rev
    - ostree_mutable_tree_new
    - glnx_throw
    - ostree_repo_write_metadata
    - ostree_repo_write_commit
    - ostree_repo_transaction_set_collection_ref
    - g_file_info_set_attribute_uint32
    - g_variant_dict_new
    - ostree_mutable_tree_set_metadata_checksum
    - g_variant_dict_insert_value
    - ostree_checksum_from_bytes
    - g_assert
    - g_variant_dict_end
    - ostree_repo_write_mtree
    - OSTREE_IS_REPO
    - ostree_create_directory_metadata
    - g_file_info_new
    - ostree_repo_get_collection_id
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_transaction_write_repo_metadata (OstreeRepo
      *self, GVariant *additional_metadata, char **out_checksum, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a_pp
    - b_pp
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: compare_ascii_checksums_for_sorting
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int compare_ascii_checksums_for_sorting (gconstpointer a_pp,
      gconstpointer b_pp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2063,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2064,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2069,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2064,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2065,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2071,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2073,1
    - Dst: ensure_txn_refs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2074,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2075,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2075,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2076,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - self
    - remote
    - ref
    - checksum
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2077
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2077
    functionName: ostree_repo_transaction_set_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert
    - g_strdup_printf
    - g_hash_table_replace
    - g_mutex_unlock
    - ensure_txn_refs
    - OSTREE_IS_REPO
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_transaction_set_ref (OstreeRepo *self, const char
      *remote, const char *ref, const char *checksum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:127,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:129,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:129,1
    - Dst: g_variant_new_array
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:127,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:127,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:129,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:130,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - uid
    - gid
    - mode
    - xattrs
    argTypes:
    - guint32
    - guint32
    - guint32
    - GVariant*
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: create_file_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - GUINT32_TO_BE
    - g_variant_new
    - g_variant_ref_sink
    - g_variant_new_array
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *create_file_metadata (guint32 uid, guint32 gid, guint32
      mode, GVariant *xattrs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2306,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2321,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2324,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2307,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2307,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2326,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2327,1
    - Dst: glnx_tmpdir_unset
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2329,1
    - Dst: glnx_release_lock_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2330,1
    - Dst: cleanup_tmpdir
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2334,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2340,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2348,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2353
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2353
    functionName: ostree_repo_abort_transaction
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_repo_lock_pop
    - glnx_tmpdir_unset
    - g_assert
    - g_hash_table_remove_all
    - g_clear_pointer
    - cleanup_tmpdir
    - g_debug
    - g_steal_pointer
    - OSTREE_IS_REPO
    - g_propagate_error
    - glnx_release_lock_file
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_abort_transaction (OstreeRepo *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_null_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2765,1
    - Dst: _ostree_content_writer_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2768,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 8
    argNames:
    - self
    - expected_checksum
    - uid
    - gid
    - mode
    - content_len
    - xattrs
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - guint32
    - guint32
    - guint32
    - guint64
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2770
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2770
    functionName: ostree_repo_write_regfile
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - glnx_null_throw
    - _ostree_content_writer_new
    linkageType: ''
    returnType: OstreeContentWriter*
    signature: 'OstreeContentWriter *ostree_repo_write_regfile (OstreeRepo *self,
      const char *expected_checksum, guint32 uid, guint32 gid, guint32 mode, guint64
      content_len, GVariant *xattrs, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:108,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:110,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - dfd
    - loose_path
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: _ostree_repo_ensure_loose_objdir_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - glnx_set_error_from_errno
    - G_UNLIKELY
    - mkdirat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_ensure_loose_objdir_at (int dfd, const char
      *loose_path, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:212,1
    - Dst: renameat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:218,1
    - Dst: commit_dest_dfd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:214,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:221,1
    - Dst: _ostree_repo_ensure_loose_objdir_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:215,1
    - Dst: ot_cleanup_unlinkat_clear
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 6
    argNames:
    - self
    - checksum
    - objtype
    - tmp_path
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - OstreeObjectType
    - OtCleanupUnlinkat*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 231
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 231
    functionName: commit_path_final
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - _ostree_loose_path
    - commit_dest_dfd
    - renameat
    - glnx_throw_errno_prefix
    - _ostree_repo_ensure_loose_objdir_at
    - ot_cleanup_unlinkat_clear
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean commit_path_final (OstreeRepo *self, const char *checksum,
      OstreeObjectType objtype, OtCleanupUnlinkat *tmp_path, GCancellable *cancellable,
      GError **error) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3250,1
    - Dst: ostree_repo_file_get_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3250,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3269,1
    - Dst: ostree_fs_get_all_xattrs_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3270,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3324,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3338,1
    - Dst: glnx_dfd_name_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3256,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3262,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3286,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3305,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3299,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3275,1
    - Dst: ot_util_variant_builder_from_variant
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3321,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3321,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3324,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3325,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3247,1
    - Dst: OSTREE_IS_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3248,1
    - Dst: ostree_fs_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3263,1
    - Dst: _ostree_filter_selinux_xattr
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3315,1
    - Dst: g_variant_equal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3334,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3256,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3294,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3296,1
    - Dst: ostree_sepolicy_get_label
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3298,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3294,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3316,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3323,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3327,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3329,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3330,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 87
    argCount: 12
    argNames:
    - self
    - modifier
    - relpath
    - file_info
    - path
    - dfd
    - dfd_subpath
    - source_xattrs
    - out_xattrs
    - out_modified
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCommitModifier*
    - char*
    - GFileInfo*
    - GFile*
    - int
    - char*
    - GVariant*
    - GVariant**
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3342
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3342
    functionName: get_final_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - glnx_dfd_name_get_all_xattrs
    - g_steal_pointer
    - g_variant_ref
    - g_variant_new_bytestring
    - glnx_throw
    - gs_file_get_path_cached
    - ostree_sepolicy_get_label
    - strlen
    - g_file_info_get_attribute_uint32
    - g_variant_builder_add_value
    - g_str_has_prefix
    - g_variant_new
    - ostree_repo_file_get_xattrs
    - _ostree_filter_selinux_xattr
    - ot_util_variant_builder_from_variant
    - g_variant_unref
    - OSTREE_REPO_FILE
    - g_variant_ref_sink
    - g_str_equal
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - OSTREE_IS_REPO_FILE
    - ostree_fs_get_all_xattrs_at
    - g_assert
    - ostree_fs_get_all_xattrs
    - g_variant_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_final_xattrs (OstreeRepo *self, OstreeRepoCommitModifier
      *modifier, const char *relpath, GFileInfo *file_info, GFile *path, int dfd,
      const char *dfd_subpath, GVariant *source_xattrs, GVariant **out_xattrs, gboolean
      *out_modified, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_get_mode
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:349,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:358,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - self
    - modifier
    argTypes:
    - OstreeRepo*
    - OstreeRepoCommitModifier*
    constantsTouched: []
    func_position:
      end: 360
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 360
    functionName: _ostree_repo_setup_generate_sizes
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_all
    - ostree_repo_get_mode
    - g_debug
    linkageType: ''
    returnType: void
    signature: 'void _ostree_repo_setup_generate_sizes (OstreeRepo *self, OstreeRepoCommitModifier
      *modifier) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _check_support_reflink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:739,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:753,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:749,1
    - Dst: G_IN_SET
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:745,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:752,1
    - Dst: ot_checksum_instream_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:756,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:758,1
    - Dst: g_input_stream_read
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:762,1
    - Dst: MIN
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:763,1
    - Dst: ot_checksum_instream_get_string
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:768,1
    - Dst: _create_payload_link
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:770,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 5
    argNames:
    - dest_repo
    - src_repo
    - checksum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 772
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 772
    functionName: _import_payload_link
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - _create_payload_link
    - ostree_repo_load_file
    - ot_checksum_instream_get_string
    - MIN
    - _check_support_reflink
    - g_file_info_get_file_type
    - G_IN_SET
    - ot_checksum_instream_new
    - g_input_stream_read
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _import_payload_link (OstreeRepo *dest_repo, OstreeRepo
      *src_repo, const char *checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1752,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1773,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1764,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1779,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1757,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1792,1
    - Dst: g_strlcpy
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1797,1
    - Dst: _ostree_repo_ensure_loose_objdir_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1799,1
    - Dst: glnx_renameat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1803,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1810
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1810
    functionName: rename_pending_loose_objects
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - strlen
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - glnx_renameat
    - glnx_dirfd_iterator_init_at
    - glnx_dirfd_iterator_next_dent
    - _ostree_repo_ensure_loose_objdir_at
    - g_strlcpy
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean rename_pending_loose_objects (OstreeRepo *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3209,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3224,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3220,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3219,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 3225
      start: 3206
    functionDepth: 0
    functionLinenumber: 3206
    functionLinenumberEnd: 3225
    functionName: ptrarray_path_join
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - g_string_append
    - g_string_append_c
    linkageType: ''
    returnType: char*
    signature: 'static char *ptrarray_path_join (GPtrArray *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:365,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: repo_ensure_size_entries
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'static void repo_ensure_size_entries (OstreeRepo *self) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _check_support_reflink
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:788,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:794,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:809,1
    - Dst: readlinkat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:810,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:806,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:815,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:821,1
    - Dst: snprintf
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:825,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:829,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:831,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:838,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:845,1
    - Dst: _try_clone_from_payload_link
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:851,1
    - Dst: ioctl
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:844,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 7
    argNames:
    - self
    - dest_repo
    - payload_checksum
    - file_info
    - tmpf
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    - char*
    - GFileInfo*
    - GLnxTmpfile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 855
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 855
    functionName: _try_clone_from_payload_link
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - _ostree_loose_path
    - snprintf
    - TEMP_FAILURE_RETRY
    - _check_support_reflink
    - readlinkat
    - ioctl
    - _try_clone_from_payload_link
    - glnx_throw
    - glnx_throw_errno_prefix
    - ot_openat_ignore_enoent
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _try_clone_from_payload_link (OstreeRepo *self, OstreeRepo
      *dest_repo, const char *payload_checksum, GFileInfo *file_info, GLnxTmpfile
      *tmpf, GCancellable *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1702,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1710,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1715,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1726,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1722,1
    - Dst: fsync
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1732,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1733,1
    - Dst: fsync
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1737,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:1738,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1741
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1741
    functionName: fsync_object_dirs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - strlen
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - glnx_opendirat
    - glnx_dirfd_iterator_init_at
    - glnx_throw_errno_prefix
    - fsync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fsync_object_dirs (OstreeRepo *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_has_loose_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2383,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2393,1
    - Dst: repo_has_size_entry
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2389,1
    - Dst: repo_store_size_entry
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2394,1
    - Dst: g_variant_get_normal_form
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2392,1
    - Dst: ostree_checksum_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2398,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2405,1
    - Dst: g_variant_get_normal_form
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2409,1
    - Dst: _ostree_validate_structureof_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2412,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2415,1
    - Dst: write_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2416,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 7
    argNames:
    - self
    - objtype
    - expected_checksum
    - object
    - out_csum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GVariant*
    - guchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2421
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2421
    functionName: ostree_repo_write_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - _ostree_repo_has_loose_object
    - write_metadata_object
    - _ostree_validate_structureof_metadata
    - repo_has_size_entry
    - repo_store_size_entry
    - g_variant_ref
    - g_variant_get_normal_form
    - ostree_checksum_to_bytes
    - g_variant_get_data_as_bytes
    - g_variant_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_metadata (OstreeRepo *self, OstreeObjectType
      objtype, const char *expected_checksum, GVariant *object, guchar **out_csum,
      GCancellable *cancellable, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3166,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3177,1
    - Dst: g_file_info_dup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3170,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3178,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3185,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3189,1
    - Dst: g_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3194,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3196,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3197,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 5
    argNames:
    - self
    - modifier
    - path
    - file_info
    - out_modified_info
    argTypes:
    - OstreeRepo*
    - OstreeRepoCommitModifier*
    - char*
    - GFileInfo*
    - GFileInfo**
    constantsTouched: []
    func_position:
      end: 3203
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3203
    functionName: _ostree_repo_commit_modifier_apply
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_file_info_dup
    - g_error
    - g_file_info_get_attribute_uint32
    - g_file_info_get_file_type
    - g_file_info_set_attribute_uint32
    linkageType: ''
    returnType: OstreeRepoCommitFilterResult
    signature: 'OstreeRepoCommitFilterResult _ostree_repo_commit_modifier_apply (OstreeRepo
      *self, OstreeRepoCommitModifier *modifier, const char *path, GFileInfo *file_info,
      GFileInfo **out_modified_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - objtype
    - unpacked
    - archived
    argTypes:
    - OstreeObjectType
    - goffset
    - goffset
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: content_size_cache_entry_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    linkageType: ''
    returnType: OstreeContentSizeCacheEntry*
    signature: 'static OstreeContentSizeCacheEntry *content_size_cache_entry_new (OstreeObjectType
      objtype, goffset unpacked, goffset archived) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: repo_ensure_size_entries
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:377,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - self
    - objtype
    - checksum
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - gchar*
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: repo_has_size_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - repo_ensure_size_entries
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean repo_has_size_entry (OstreeRepo *self, OstreeObjectType
      objtype, const gchar *checksum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_mark_commit_partial_reason
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - self
    - checksum
    - is_partial
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 2003
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2003
    functionName: ostree_repo_mark_commit_partial
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_repo_mark_commit_partial_reason
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_mark_commit_partial (OstreeRepo *self, const
      char *checksum, gboolean is_partial, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2535,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2539,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2536,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2538,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2540,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2542,1
    - Dst: G_OBJECT
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2542,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2543,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2544,1
    - Dst: g_task_run_in_thread
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2545,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - self
    - objtype
    - expected_checksum
    - object
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GVariant*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2546
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2546
    functionName: ostree_repo_write_metadata_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_object_ref
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_write_metadata_async (OstreeRepo *self, OstreeObjectType
      objtype, const char *expected_checksum, GVariant *object, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_file_tree_get_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3729,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3761,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3785,1
    - Dst: write_dir_entry_to_mtree_internal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3787,1
    - Dst: ostree_mutable_tree_fill_empty_from_dirtree
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3722,1
    - Dst: OSTREE_IS_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3712,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3708,1
    - Dst: ostree_repo_file_tree_get_contents_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3724,1
    - Dst: ostree_repo_file_get_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3725,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3728,1
    - Dst: get_final_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3752,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3762,1
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3771,1
    - Dst: ptrarray_path_join
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3744,1
    - Dst: g_file_enumerator_iterate
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3780,1
    - Dst: write_content_to_mtree_internal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3794,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3708,1
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3717,1
    - Dst: ostree_repo_file_get_repo
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3723,1
    - Dst: _ostree_repo_write_directory_meta
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3757,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3737,1
    - Dst: _ostree_repo_commit_modifier_apply
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3747,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 51
    argCount: 7
    argNames:
    - self
    - dir
    - mtree
    - modifier
    - path
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3803
      start: 3699
    functionDepth: 0
    functionLinenumber: 3699
    functionLinenumberEnd: 3803
    functionName: write_directory_to_mtree_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_repo_file_tree_get_metadata_checksum
    - ptrarray_path_join
    - ostree_mutable_tree_fill_empty_from_dirtree
    - gs_file_get_path_cached
    - _ostree_repo_write_directory_meta
    - ostree_repo_file_get_repo
    - _ostree_repo_commit_modifier_apply
    - write_content_to_mtree_internal
    - get_final_xattrs
    - g_file_info_get_file_type
    - ostree_repo_file_tree_get_contents_checksum
    - g_file_enumerator_iterate
    - ostree_repo_file_ensure_resolved
    - write_dir_entry_to_mtree_internal
    - ostree_mutable_tree_set_metadata_checksum
    - g_file_enumerate_children
    - ostree_repo_file_get_checksum
    - g_file_query_info
    - ostree_checksum_from_bytes
    - OSTREE_IS_REPO_FILE
    - g_debug
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_directory_to_mtree_internal (OstreeRepo *self,
      GFile *dir, OstreeMutableTree *mtree, OstreeRepoCommitModifier *modifier, GPtrArray
      *path, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4167,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - modifier
    - sepolicy
    argTypes:
    - OstreeRepoCommitModifier*
    - OstreeSePolicy*
    constantsTouched: []
    func_position:
      end: 4169
      start: 4163
    functionDepth: 0
    functionLinenumber: 4163
    functionLinenumberEnd: 4169
    functionName: ostree_repo_commit_modifier_set_sepolicy
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_commit_modifier_set_sepolicy (OstreeRepoCommitModifier
      *modifier, OstreeSePolicy *sepolicy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: content_size_cache_entry_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void content_size_cache_entry_free (gpointer entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: repo_ensure_size_entries
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:389,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:390,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:390,1
    - Dst: content_size_cache_entry_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - self
    - objtype
    - checksum
    - unpacked
    - archived
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - gchar*
    - goffset
    - goffset
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: repo_store_size_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_replace
    - repo_ensure_size_entries
    - content_size_cache_entry_new
    linkageType: ''
    returnType: void
    signature: 'static void repo_store_size_entry (OstreeRepo *self, OstreeObjectType
      objtype, const gchar *checksum, goffset unpacked, goffset archived) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2506,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2510,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - datap
    - cancellable
    argTypes:
    - GTask*
    - GObject*
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 2511
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2511
    functionName: write_metadata_thread
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - ostree_repo_write_metadata
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void write_metadata_thread (GTask *task, GObject *object, gpointer
      datap, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - flags
    - commit_filter
    - user_data
    - destroy_notify
    argTypes:
    - OstreeRepoCommitModifierFlags
    - OstreeRepoCommitFilter
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 4095
      start: 4081
    functionDepth: 0
    functionLinenumber: 4081
    functionLinenumberEnd: 4095
    functionName: ostree_repo_commit_modifier_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: OstreeRepoCommitModifier*
    signature: 'OstreeRepoCommitModifier *ostree_repo_commit_modifier_new (OstreeRepoCommitModifierFlags
      flags, OstreeRepoCommitFilter commit_filter, gpointer user_data, GDestroyNotify
      destroy_notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - modifier
    - callback
    - destroy
    - user_data
    argTypes:
    - OstreeRepoCommitModifier*
    - OstreeRepoCommitModifierXattrCallback
    - GDestroyNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 4147
      start: 4139
    functionDepth: 0
    functionLinenumber: 4139
    functionLinenumberEnd: 4147
    functionName: ostree_repo_commit_modifier_set_xattr_callback
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_commit_modifier_set_xattr_callback (OstreeRepoCommitModifier
      *modifier, OstreeRepoCommitModifierXattrCallback callback, GDestroyNotify destroy,
      gpointer user_data) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2224,1
    - Dst: syncfs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2234,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2235,1
    - Dst: fsync_object_dirs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2241,1
    - Dst: _ostree_repo_update_refs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2257,1
    - Dst: _ostree_repo_update_collection_refs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2261,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2244,1
    - Dst: glnx_release_lock_file
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2247,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2272,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2276,1
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2281,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2222,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2219,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2227,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2232,1
    - Dst: rename_pending_loose_objects
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2238,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2244,1
    - Dst: cleanup_tmpdir
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2250,1
    - Dst: glnx_tmpdir_delete
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2245,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2254,1
    - Dst: _ostree_repo_maybe_regenerate_summary
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2268,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2271,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2218,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2219,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 4
    argNames:
    - self
    - out_stats
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoTransactionStats*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2290
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2290
    functionName: ostree_repo_commit_transaction
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - _ostree_repo_update_refs
    - glnx_throw
    - glnx_throw_errno_prefix
    - rename_pending_loose_objects
    - glnx_tmpdir_delete
    - _ostree_repo_update_collection_refs
    - glnx_release_lock_file
    - fsync_object_dirs
    - g_hash_table_remove_all
    - syncfs
    - glnx_basename
    - _ostree_repo_maybe_regenerate_summary
    - ostree_repo_lock_pop
    - g_assert
    - cleanup_tmpdir
    - g_debug
    - ot_ensure_unlinked_at
    - g_getenv
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_commit_transaction (OstreeRepo *self, OstreeRepoTransactionStats
      *out_stats, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2020,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2022,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2021,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2021,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2024,1
    - Dst: ensure_txn_refs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2025,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2026,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2026,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2026,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - self
    - refspec
    - checksum
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2028
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2028
    functionName: ostree_repo_transaction_set_refspec
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert
    - g_mutex_unlock
    - g_hash_table_replace
    - ensure_txn_refs
    - OSTREE_IS_REPO
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_transaction_set_refspec (OstreeRepo *self, const
      char *refspec, const char *checksum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2184,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2185,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2189,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2186,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2185,1
    - Dst: _ostree_repo_write_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:2192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - self
    - ref
    - checksum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeCollectionRef*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2193
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2193
    functionName: ostree_repo_set_collection_ref_immediate
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_validate_checksum_string
    - _ostree_repo_write_ref
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_set_collection_ref_immediate (OstreeRepo *self,
      const OstreeCollectionRef *ref, const char *checksum, GCancellable *cancellable,
      GError **error) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3819,1
    - Dst: ot_readlinkat_gfile_info
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3891,1
    - Dst: _ostree_stbuf_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3823,1
    - Dst: _ostree_repo_commit_modifier_apply
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3827,1
    - Dst: get_final_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3839,1
    - Dst: write_dir_entry_to_mtree_internal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3879,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3847,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3848,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3865,1
    - Dst: _ostree_stbuf_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3874,1
    - Dst: g_file_info_set_name
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3875,1
    - Dst: write_content_to_mtree_internal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3901,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3833,1
    - Dst: ptrarray_path_join
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3826,1
    - Dst: _ostree_repo_write_directory_meta
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3843,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3871,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3877,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3889,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3887,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3897,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 7
    argNames:
    - self
    - src_dfd_iter
    - mtree
    - modifier
    - path
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GLnxDirFdIterator*
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3907
      start: 3807
    functionDepth: 0
    functionLinenumber: 3807
    functionLinenumberEnd: 3907
    functionName: write_dfd_iter_to_mtree_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - g_file_info_set_name
    - S_ISLNK
    - ptrarray_path_join
    - ot_readlinkat_gfile_info
    - glnx_throw
    - _ostree_repo_write_directory_meta
    - _ostree_repo_commit_modifier_apply
    - S_ISDIR
    - write_content_to_mtree_internal
    - get_final_xattrs
    - glnx_fstatat
    - _ostree_stbuf_to_gfileinfo
    - write_dir_entry_to_mtree_internal
    - g_object_ref
    - ostree_mutable_tree_set_metadata_checksum
    - glnx_dirfd_iterator_next_dent
    - ostree_checksum_from_bytes
    - glnx_fstat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_dfd_iter_to_mtree_internal (OstreeRepo *self,
      GLnxDirFdIterator *src_dfd_iter, OstreeMutableTree *mtree, OstreeRepoCommitModifier
      *modifier, GPtrArray *path, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - modifier
    - cache
    argTypes:
    - OstreeRepoCommitModifier*
    - OstreeRepoDevInoCache*
    constantsTouched: []
    func_position:
      end: 4221
      start: 4216
    functionDepth: 0
    functionLinenumber: 4216
    functionLinenumberEnd: 4221
    functionName: ostree_repo_commit_modifier_set_devino_cache
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_commit_modifier_set_devino_cache (OstreeRepoCommitModifier
      *modifier, OstreeRepoDevInoCache *cache) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:244,1
    - Dst: glnx_fd_set_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:253,1
    - Dst: glnx_fchmod
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:285,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:298,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:247,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:278,1
    - Dst: futimens
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:297,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:307,1
    - Dst: fchown
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:244,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:248,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:271,1
    - Dst: fsync
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:306,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:245,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:247,1
    - Dst: ot_security_smack_reset_fd
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:252,1
    - Dst: _ostree_write_bareuser_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:259,1
    - Dst: glnx_fchmod
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:274,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:278,1
    - Dst: _ostree_validate_bareuseronly_mode
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:282,1
    - Dst: _ostree_repo_mode_is_bare
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:289,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:297,1
    - Dst: _ostree_repo_commit_tmpf_final
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:310,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 48
    argCount: 9
    argNames:
    - self
    - checksum
    - tmpf
    - uid
    - gid
    - mode
    - xattrs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GLnxTmpfile*
    - guint32
    - guint32
    - guint32
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 315
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 315
    functionName: commit_loose_regfile_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - futimens
    - glnx_fchmod
    - _ostree_validate_bareuseronly_mode
    - g_assert
    - glnx_fd_set_all_xattrs
    - TEMP_FAILURE_RETRY
    - S_ISLNK
    - _ostree_repo_commit_tmpf_final
    - ot_security_smack_reset_fd
    - fchmod
    - _ostree_write_bareuser_metadata
    - glnx_throw_errno_prefix
    - _ostree_repo_mode_is_bare
    - fsync
    - fchown
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean commit_loose_regfile_object (OstreeRepo *self, const
      char *checksum, GLnxTmpfile *tmpf, guint32 uid, guint32 gid, guint32 mode, GVariant
      *xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_setup_generate_sizes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3965,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3985,1
    - Dst: write_dfd_iter_to_mtree_internal
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3974,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3973,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3970,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:3987,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 7
    argNames:
    - self
    - dfd
    - path
    - mtree
    - modifier
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - char*
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3992
      start: 3960
    functionDepth: 0
    functionLinenumber: 3960
    functionLinenumberEnd: 3992
    functionName: ostree_repo_write_dfd_to_mtree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - glnx_unlinkat
    - _ostree_repo_setup_generate_sizes
    - write_dfd_iter_to_mtree_internal
    - glnx_dirfd_iterator_init_at
    - g_ptr_array_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_dfd_to_mtree (OstreeRepo *self, int dfd,
      const char *path, OstreeMutableTree *mtree, OstreeRepoCommitModifier *modifier,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sepolicy_new_from_commit
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4191,1
    - Dst: ostree_repo_commit_modifier_set_sepolicy
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - modifier
    - repo
    - rev
    - cancellable
    - error
    argTypes:
    - OstreeRepoCommitModifier*
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4196
      start: 4185
    functionDepth: 0
    functionLinenumber: 4185
    functionLinenumberEnd: 4196
    functionName: ostree_repo_commit_modifier_set_sepolicy_from_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_sepolicy_new_from_commit
    - ostree_repo_commit_modifier_set_sepolicy
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_commit_modifier_set_sepolicy_from_commit (OstreeRepoCommitModifier
      *modifier, OstreeRepo *repo, const char *rev, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:456,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:468,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:458,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - self
    - bytes_required
    - error
    argTypes:
    - OstreeRepo*
    - guint64
    - GError**
    constantsTouched: []
    func_position:
      end: 470
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 470
    functionName: throw_min_free_space_error
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_format_size
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean throw_min_free_space_error (OstreeRepo *self, guint64
      bytes_required, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ostree_mutable_tree_check_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4013,1
    - Dst: ostree_mutable_tree_get_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4016,1
    - Dst: _ostree_repo_file_new_root
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4023,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4047,1
    - Dst: ostree_mutable_tree_set_contents_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4061,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4045,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4048,1
    - Dst: ostree_repo_write_mtree
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4042,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4046,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4049,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4050,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4060,1
    - Dst: _ostree_repo_file_new_root
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4064,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4018,1
    - Dst: G_FILE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4023,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4038,1
    - Dst: ostree_mutable_tree_get_subdirs
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4038,1
    - Dst: ostree_repo_file_tree_get_contents_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4046,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4045,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4048,1
    - Dst: ostree_mutable_tree_get_files
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4054,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4068,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4014,1
    - Dst: ostree_mutable_tree_get_contents_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4020,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4033,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4035,1
    - Dst: ostree_repo_file_tree_get_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4049,1
    - Dst: create_tree_variant_from_hashes
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4053,1
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4056,1
    - Dst: G_FILE
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4064,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 5
    argNames:
    - self
    - mtree
    - out_file
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeMutableTree*
    - GFile**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4070
      start: 4006
    functionDepth: 0
    functionLinenumber: 4006
    functionLinenumberEnd: 4070
    functionName: ostree_repo_write_mtree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - ostree_repo_file_tree_get_metadata_checksum
    - GLNX_HASH_TABLE_FOREACH_KV
    - G_FILE
    - ostree_mutable_tree_check_error
    - ostree_mutable_tree_get_files
    - g_steal_pointer
    - ostree_mutable_tree_get_metadata_checksum
    - glnx_throw
    - ostree_mutable_tree_get_contents_checksum
    - _ostree_repo_file_new_root
    - ostree_repo_write_metadata
    - ostree_mutable_tree_set_contents_checksum
    - ostree_repo_file_tree_get_contents_checksum
    - OSTREE_REPO_FILE
    - create_tree_variant_from_hashes
    - g_hash_table_replace
    - glnx_prefix_error
    - g_hash_table_new_full
    - g_strdup
    - ostree_repo_write_mtree
    - ostree_checksum_inplace_from_bytes
    - ostree_mutable_tree_get_subdirs
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_mtree (OstreeRepo *self, OstreeMutableTree
      *mtree, GFile **out_file, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_ref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - OstreeRepoDevInoCache*
    constantsTouched: []
    func_position:
      end: 4228
      start: 4223
    functionDepth: 0
    functionLinenumber: 4223
    functionLinenumberEnd: 4228
    functionName: ostree_repo_devino_cache_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    linkageType: ''
    returnType: OstreeRepoDevInoCache*
    signature: 'OstreeRepoDevInoCache *ostree_repo_devino_cache_ref (OstreeRepoDevInoCache
      *cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-repo-commit.c:4233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - OstreeRepoDevInoCache*
    constantsTouched: []
    func_position:
      end: 4234
      start: 4230
    functionDepth: 0
    functionLinenumber: 4230
    functionLinenumberEnd: 4234
    functionName: ostree_repo_devino_cache_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-commit.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_devino_cache_unref (OstreeRepoDevInoCache *cache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:57,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:66,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:65,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:60,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:59,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:69,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:72,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:73,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:76,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 5
    argNames:
    - iter
    - repo
    - commit
    - flags
    - error
    argTypes:
    - OstreeRepoCommitTraverseIter*
    - OstreeRepo*
    - GVariant*
    - OstreeRepoCommitTraverseFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 79
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 79
    functionName: ostree_repo_commit_traverse_iter_init_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - memset
    - g_variant_ref
    - g_variant_get_child
    - ostree_checksum_inplace_from_bytes
    - ostree_checksum_bytes_peek_validate
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_commit_traverse_iter_init_commit (OstreeRepoCommitTraverseIter
      *iter, OstreeRepo *repo, GVariant *commit, OstreeRepoCommitTraverseFlags flags,
      GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:135,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:151,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:155,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:154,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:152,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:159,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:161,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:164,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:174,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:177,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:185,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:180,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:182,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 3
    argNames:
    - iter
    - cancellable
    - error
    argTypes:
    - OstreeRepoCommitTraverseIter*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 198
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 198
    functionName: ostree_repo_commit_traverse_iter_next
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_get_child
    - ostree_checksum_inplace_from_bytes
    - ostree_repo_load_variant
    - ostree_checksum_bytes_peek_validate
    linkageType: ''
    returnType: OstreeRepoCommitIterResult
    signature: 'OstreeRepoCommitIterResult ostree_repo_commit_traverse_iter_next (OstreeRepoCommitTraverseIter
      *iter, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 4
    argNames:
    - iter
    - out_name
    - out_content_checksum
    - out_meta_checksum
    argTypes:
    - OstreeRepoCommitTraverseIter*
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: ostree_repo_commit_traverse_iter_get_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_commit_traverse_iter_get_dir (OstreeRepoCommitTraverseIter
      *iter, char **out_name, char **out_content_checksum, char **out_meta_checksum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_commit_traverse_iter_clear
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: ostree_repo_commit_traverse_iter_cleanup
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - ostree_repo_commit_traverse_iter_clear
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_commit_traverse_iter_cleanup (void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: ostree_repo_traverse_new_parents
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *ostree_repo_traverse_new_parents (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:341,1
    - Dst: parents_get_commits
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:343,1
    - Dst: g_strdupv
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:347,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:346,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - parents
    - object
    argTypes:
    - GHashTable*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: ostree_repo_traverse_parents_get_commits
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_strdupv
    - g_hash_table_get_keys_as_array
    - parents_get_commits
    linkageType: ''
    returnType: char**
    signature: 'char **ostree_repo_traverse_parents_get_commits (GHashTable *parents,
      GVariant *object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:367,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:374,1
    - Dst: g_new
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:377,1
    - Dst: g_variant_new_array
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:394,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:394,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:392,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:363,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:382,1
    - Dst: g_variant_equal
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:388,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:389,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:391,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:380,1
    - Dst: g_new
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:387,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:394,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:396,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:367,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:367,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:376,1
    - Dst: g_variant_equal
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:381,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:393,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - inout_parents
    - key
    - parent_key
    argTypes:
    - GHashTable*
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 398
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 398
    functionName: add_parent_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_n_children
    - g_variant_get_child_value
    - g_hash_table_insert
    - g_variant_unref
    - g_new
    - g_steal_pointer
    - g_variant_ref
    - g_variant_equal
    - g_variant_ref_sink
    - g_variant_new_array
    - g_hash_table_lookup
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void add_parent_ref (GHashTable *inout_parents, GVariant *key,
      GVariant *parent_key) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:543,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:544,1
    - Dst: ostree_repo_load_variant_if_exists
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:550,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:546,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:562,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:569,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:569,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:574,1
    - Dst: ostree_repo_commit_traverse_iter_init_commit
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:578,1
    - Dst: traverse_iter
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:582,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:590,1
    - Dst: ostree_commit_get_parent
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:591,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 8
    argNames:
    - repo
    - flags
    - commit_checksum
    - maxdepth
    - inout_reachable
    - inout_parents
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCommitTraverseFlags
    - char*
    - int
    - GHashTable*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 605
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 605
    functionName: ostree_repo_traverse_commit_with_flags
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_add
    - ostree_object_name_serialize
    - ostree_repo_commit_traverse_iter_init_commit
    - ostree_commit_get_parent
    - ostree_repo_load_variant_if_exists
    - traverse_iter
    - g_debug
    - ostree_repo_load_commit
    - g_variant_ref
    - g_variant_ref_sink
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_traverse_commit_with_flags (OstreeRepo *repo,
      OstreeRepoCommitTraverseFlags flags, const char *commit_checksum, int maxdepth,
      GHashTable *inout_reachable, GHashTable *inout_parents, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:244,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:246,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - OstreeRepoCommitTraverseIter*
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: ostree_repo_commit_traverse_iter_clear
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_commit_traverse_iter_clear (OstreeRepoCommitTraverseIter
      *iter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:303,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:308,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:311,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:305,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:305,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:312,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:314,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:318,1
    - Dst: parents_get_commits
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:319,1
    - Dst: parents_get_commits
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:323,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - parents_ht
    - object
    - res
    argTypes:
    - GHashTable*
    - GVariant*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 325
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 325
    functionName: parents_get_commits
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_add
    - parents_get_commits
    - g_variant_n_children
    - ostree_object_name_deserialize
    - g_variant_get_child_value
    - g_debug
    - g_hash_table_lookup
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void parents_get_commits (GHashTable *parents_ht, GVariant
      *object, GHashTable *res) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:424,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:440,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:450,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:453,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:466,1
    - Dst: ostree_repo_commit_traverse_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:410,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:418,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:420,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:436,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:437,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:440,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:455,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:457,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:460,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:424,1
    - Dst: add_parent_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:439,1
    - Dst: ostree_repo_commit_traverse_iter_get_dir
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:448,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:452,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:451,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:455,1
    - Dst: add_parent_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:459,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:470,1
    - Dst: ostree_repo_commit_traverse_iter_get_file
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:434,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:438,1
    - Dst: add_parent_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:454,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:458,1
    - Dst: traverse_dirtree
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:462,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:466,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 8
    argNames:
    - repo
    - iter
    - parent_key
    - inout_reachable
    - inout_parents
    - ignore_missing_dirs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCommitTraverseIter*
    - GVariant*
    - GHashTable*
    - GHashTable*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 474
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 474
    functionName: traverse_iter
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - ostree_repo_commit_traverse_iter_next
    - g_hash_table_add
    - ostree_object_name_serialize
    - ostree_repo_commit_traverse_iter_get_dir
    - g_error_matches
    - traverse_dirtree
    - g_assert_not_reached
    - ostree_repo_commit_traverse_iter_get_file
    - g_debug
    - g_steal_pointer
    - g_variant_ref_sink
    - g_propagate_error
    - g_hash_table_lookup
    - add_parent_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean traverse_iter (OstreeRepo *repo, OstreeRepoCommitTraverseIter
      *iter, GVariant *parent_key, GHashTable *inout_reachable, GHashTable *inout_parents,
      gboolean ignore_missing_dirs, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_traverse_commit_union_with_parents
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - repo
    - commit_checksum
    - maxdepth
    - inout_reachable
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - int
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 656
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 656
    functionName: ostree_repo_traverse_commit_union
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - ostree_repo_traverse_commit_union_with_parents
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_traverse_commit_union (OstreeRepo *repo, const
      char *commit_checksum, int maxdepth, GHashTable *inout_reachable, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:98,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:100,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - iter
    - repo
    - dirtree
    - flags
    - error
    argTypes:
    - OstreeRepoCommitTraverseIter*
    - OstreeRepo*
    - GVariant*
    - OstreeRepoCommitTraverseFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: ostree_repo_commit_traverse_iter_init_dirtree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - memset
    - g_object_ref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_commit_traverse_iter_init_dirtree (OstreeRepoCommitTraverseIter
      *iter, OstreeRepo *repo, GVariant *dirtree, OstreeRepoCommitTraverseFlags flags,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 3
    argNames:
    - iter
    - out_name
    - out_checksum
    argTypes:
    - OstreeRepoCommitTraverseIter*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: ostree_repo_commit_traverse_iter_get_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_commit_traverse_iter_get_file (OstreeRepoCommitTraverseIter
      *iter, char **out_name, char **out_checksum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: ostree_repo_traverse_new_reachable
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *ostree_repo_traverse_new_reachable (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:484,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:489,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:493,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:487,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:493,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:497,1
    - Dst: ostree_repo_commit_traverse_iter_init_dirtree
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:501,1
    - Dst: traverse_iter
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:505,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 8
    argNames:
    - repo
    - checksum
    - parent_key
    - inout_reachable
    - inout_parents
    - ignore_missing_dirs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GVariant*
    - GHashTable*
    - GHashTable*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 510
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 510
    functionName: traverse_dirtree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - ostree_repo_commit_traverse_iter_init_dirtree
    - g_error_matches
    - traverse_iter
    - g_debug
    - g_steal_pointer
    - ostree_repo_load_variant
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean traverse_dirtree (OstreeRepo *repo, const char *checksum,
      GVariant *parent_key, GHashTable *inout_reachable, GHashTable *inout_parents,
      gboolean ignore_missing_dirs, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_traverse_commit_with_flags
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 7
    argNames:
    - repo
    - commit_checksum
    - maxdepth
    - inout_reachable
    - inout_parents
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - int
    - GHashTable*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 635
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 635
    functionName: ostree_repo_traverse_commit_union_with_parents
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - ostree_repo_traverse_commit_with_flags
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_traverse_commit_union_with_parents (OstreeRepo
      *repo, const char *commit_checksum, int maxdepth, GHashTable *inout_reachable,
      GHashTable *inout_parents, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_traverse_new_reachable
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:675,1
    - Dst: ostree_repo_traverse_commit_union
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:676,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-traverse.c:681,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 6
    argNames:
    - repo
    - commit_checksum
    - maxdepth
    - out_reachable
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - int
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 683
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 683
    functionName: ostree_repo_traverse_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-traverse.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - ostree_repo_traverse_new_reachable
    - ostree_repo_traverse_commit_union
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_traverse_commit (OstreeRepo *repo, const char
      *commit_checksum, int maxdepth, GHashTable **out_reachable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dfd_name_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:195,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:205,1
    - Dst: fchown
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:204,1
    - Dst: glnx_fd_set_all_xattrs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:197,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:202,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:206,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 7
    argNames:
    - src_parent_dfd
    - src_name
    - src_dfd
    - dest_dfd
    - flags
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - int
    - int
    - GLnxFileCopyFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 210
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 210
    functionName: dirfd_copy_attributes_and_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - glnx_dfd_name_get_all_xattrs
    - glnx_fd_set_all_xattrs
    - fchmod
    - glnx_throw_errno_prefix
    - glnx_fstat
    - fchown
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dirfd_copy_attributes_and_xattrs (int src_parent_dfd,
      const char *src_name, int src_dfd, int dest_dfd, GLnxFileCopyFlags flags, GCancellable
      *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:228,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:243,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:230,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:243,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:237,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:249,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:253,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:256,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:259,1
    - Dst: checksum_dir_recurse
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:261,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:272,1
    - Dst: ot_gio_splice_update_checksum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:273,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:268,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:272,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 29
    argCount: 5
    argNames:
    - dfd
    - path
    - checksum
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - OtChecksum*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 280
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 280
    functionName: checksum_dir_recurse
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ot_gio_splice_update_checksum
    - g_ptr_array_new_with_free_func
    - g_steal_fd
    - g_ptr_array_index
    - g_unix_input_stream_new
    - g_ptr_array_sort
    - checksum_dir_recurse
    - glnx_fstatat
    - glnx_dirfd_iterator_init_at
    - glnx_dirfd_iterator_next_dent
    - ot_openat_ignore_enoent
    - g_ptr_array_add
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checksum_dir_recurse (int dfd, const char *path, OtChecksum
      *checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ensure_directory_from_template
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:424,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:432,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:435,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:440,1
    - Dst: sysroot_flags_to_copy_flags
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:467,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:442,1
    - Dst: copy_dir_recurse
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:468,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:417,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:471,1
    - Dst: sysroot_flags_to_copy_flags
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:474,1
    - Dst: g_path_get_dirname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:422,1
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:420,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:446,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:461,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:465,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:444,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:480,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:416,1
    - Dst: dup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:430,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:437,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:471,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:473,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:476,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 7
    argNames:
    - orig_etc_fd
    - modified_etc_fd
    - new_etc_fd
    - path
    - flags
    - cancellable
    - error
    argTypes:
    - int
    - int
    - int
    - char*
    - OstreeSysrootDebugFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 485
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 485
    functionName: copy_modified_config_file
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_set_error
    - S_ISREG
    - copy_dir_recurse
    - ensure_directory_from_template
    - dup
    - glnx_unlinkat
    - sysroot_flags_to_copy_flags
    - glnx_file_copy_at
    - g_assert
    - ot_journal_print
    - S_ISLNK
    - g_path_get_dirname
    - glnx_fstatat
    - fstatat
    - glnx_prefix_error
    - glnx_throw_errno_prefix
    - strchr
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copy_modified_config_file (int orig_etc_fd, int modified_etc_fd,
      int new_etc_fd, const char *path, OstreeSysrootDebugFlags flags, GCancellable
      *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1743,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1759,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1745,1
    - Dst: _ostree_sysroot_read_current_subbootversion
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1751,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1761,1
    - Dst: symlink_at_replace
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1762,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1766,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 6
    argNames:
    - self
    - bootversion
    - new_deployments
    - out_subbootdir
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - GPtrArray*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1768
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1768
    functionName: swap_bootlinks
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - _ostree_sysroot_read_current_subbootversion
    - glnx_opendirat
    - symlink_at_replace
    - g_strdup_printf
    - g_steal_pointer
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean swap_bootlinks (OstreeSysroot *self, int bootversion,
      GPtrArray *new_deployments, char **out_subbootdir, GCancellable *cancellable,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2563,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2571,1
    - Dst: G_IN_SET
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2573,1
    - Dst: fallocate
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2571,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2576,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - dfd
    - len
    - out_passed
    - error
    argTypes:
    - int
    - off_t
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 2580
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2580
    functionName: dfd_fallocate_check
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - TEMP_FAILURE_RETRY
    - G_IN_SET
    - glnx_open_tmpfile_linkable_at
    - glnx_throw_errno_prefix
    - fallocate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dfd_fallocate_check (int dfd, off_t len, gboolean
      *out_passed, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3082,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3096,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3102,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3092,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3103,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3105,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3106,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3114,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3119,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3126,1
    - Dst: ostree_repo_checkout_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3138,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3139,1
    - Dst: _ostree_sysroot_stateroot_legacy_var_init
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3149,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3142,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3146,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3131,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3143,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 5
    argNames:
    - self
    - deployment
    - deployment_dfd
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3154
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3154
    functionName: prepare_deployment_var
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_deployment_get_csum
    - glnx_fstatat_allow_noent
    - glnx_opendirat
    - _ostree_sysroot_stateroot_legacy_var_init
    - g_build_filename
    - g_debug
    - ostree_repo_checkout_at
    - glnx_dirfd_iterator_init_at
    - glnx_prefix_error
    - glnx_dirfd_iterator_next_dent
    - ot_dfd_iter_init_allow_noent
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean prepare_deployment_var (OstreeSysroot *self, OstreeDeployment
      *deployment, int deployment_dfd, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_stage_tree_with_options
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3751,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 9
    argNames:
    - self
    - osname
    - revision
    - origin
    - merge_deployment
    - override_kernel_argv
    - out_new_deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - char*
    - GKeyFile*
    - OstreeDeployment*
    - char**
    - OstreeDeployment**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3753
      start: 3744
    functionDepth: 0
    functionLinenumber: 3744
    functionLinenumberEnd: 3753
    functionName: ostree_sysroot_stage_tree
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_stage_tree_with_options
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_stage_tree (OstreeSysroot *self, const char
      *osname, const char *revision, GKeyFile *origin, OstreeDeployment *merge_deployment,
      char **override_kernel_argv, OstreeDeployment **out_new_deployment, GCancellable
      *cancellable, GError **error) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_require_booted_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3785,1
    - Dst: g_spawn_sync
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3792,1
    - Dst: write_origin_file_internal
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3816,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3817,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3841,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3843,1
    - Dst: strdupa
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3846,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3850,1
    - Dst: ostree_sysroot_prepare_cleanup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3876,1
    - Dst: _ostree_sysroot_rmrf_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3859,1
    - Dst: ostree_sysroot_load
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3869,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3795,1
    - Dst: ostree_sepolicy_new_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3813,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3828,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3851,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3852,1
    - Dst: _ostree_sysroot_bump_mtime
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3867,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3852,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3827,1
    - Dst: serialize_deployment_to_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3828,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3844,1
    - Dst: dirname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3846,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3847,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3850,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3862,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3879,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3780,1
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3782,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3787,1
    - Dst: sysroot_initialize_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3799,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3808,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3810,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3831,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3832,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3835,1
    - Dst: serialize_deployment_to_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3836,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3839,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 57
    argCount: 9
    argNames:
    - self
    - osname
    - revision
    - origin
    - merge_deployment
    - opts
    - out_new_deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - char*
    - GKeyFile*
    - OstreeDeployment*
    - OstreeSysrootDeployTreeOpts*
    - OstreeDeployment**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3881
      start: 3772
    functionDepth: 0
    functionLinenumber: 3772
    functionLinenumberEnd: 3881
    functionName: ostree_sysroot_stage_tree_with_options
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - glnx_file_replace_contents_at
    - ostree_deployment_get_origin
    - glnx_shutil_mkdir_p_at
    - ostree_sysroot_load
    - write_origin_file_internal
    - dirname
    - g_spawn_check_exit_status
    - GLNX_AUTO_PREFIX_ERROR
    - _ostree_sysroot_bump_mtime
    - ostree_sysroot_get_deployment_dirpath
    - g_variant_builder_add
    - _ostree_sysroot_ensure_writable
    - ostree_sysroot_prepare_cleanup
    - ot_transfer_out_value
    - g_variant_get_data
    - ostree_sepolicy_new_at
    - glnx_opendirat
    - _ostree_sysroot_rmrf_deployment
    - g_variant_new_boolean
    - ostree_sysroot_require_booted_deployment
    - glnx_prefix_error
    - g_variant_ref_sink
    - serialize_deployment_to_variant
    - g_variant_get_size
    - g_variant_builder_end
    - g_spawn_sync
    - sysroot_initialize_deployment
    - g_variant_builder_new
    - ot_ensure_unlinked_at
    - strdupa
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_stage_tree_with_options (OstreeSysroot *self,
      const char *osname, const char *revision, GKeyFile *origin, OstreeDeployment
      *merge_deployment, OstreeSysrootDeployTreeOpts *opts, OstreeDeployment **out_new_deployment,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - name_ptr_a
    - name_ptr_b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: str_sort_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gint
    signature: 'static gint str_sort_cb (gconstpointer name_ptr_a, gconstpointer name_ptr_b) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:292,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:296,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:304,1
    - Dst: dirfd_copy_attributes_and_xattrs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:302,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:299,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:310,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:315,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:318,1
    - Dst: copy_dir_recurse
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:320,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:326,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:328,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:326,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:331,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:335,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 6
    argNames:
    - src_parent_dfd
    - dest_parent_dfd
    - name
    - copy_flags
    - cancellable
    - error
    argTypes:
    - int
    - int
    - char*
    - GLnxFileCopyFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 343
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 343
    functionName: copy_dir_recurse
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - copy_dir_recurse
    - glnx_file_copy_at
    - glnx_opendirat
    - dirfd_copy_attributes_and_xattrs
    - ot_journal_print
    - S_ISLNK
    - glnx_fstatat
    - glnx_dirfd_iterator_init_at
    - glnx_prefix_error
    - glnx_dirfd_iterator_next_dent
    - glnx_ensure_dir
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copy_dir_recurse (int src_parent_dfd, int dest_parent_dfd,
      const char *name, GLnxFileCopyFlags copy_flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3159,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3160,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - self
    - stateroot
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3165
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3165
    functionName: require_stateroot
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - glnx_throw
    - glnx_strjoina
    - glnx_fstatat_allow_noent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean require_stateroot (OstreeSysroot *self, const char
      *stateroot, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:356,1
    - Dst: g_path_get_dirname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:372,1
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:364,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:357,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:359,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:374,1
    - Dst: ensure_directory_from_template
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:376,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:390,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:393,1
    - Dst: dirfd_copy_attributes_and_xattrs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:396,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:401,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 8
    argNames:
    - orig_etc_fd
    - modified_etc_fd
    - new_etc_fd
    - path
    - out_dfd
    - flags
    - cancellable
    - error
    argTypes:
    - int
    - int
    - int
    - char*
    - int*
    - OstreeSysrootDebugFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 403
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 403
    functionName: ensure_directory_from_template
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ensure_directory_from_template
    - glnx_throw_errno_prefix
    - g_assert
    - glnx_opendirat
    - dirfd_copy_attributes_and_xattrs
    - g_steal_fd
    - mkdirat
    - g_path_get_dirname
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_directory_from_template (int orig_etc_fd, int
      modified_etc_fd, int new_etc_fd, const char *path, int *out_dfd, OstreeSysrootDebugFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1028,1
    - Dst: write_origin_file_internal
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1033,1
    - Dst: ostree_sepolicy_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1029,1
    - Dst: _ostree_sysroot_bump_mtime
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1037,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 5
    argNames:
    - sysroot
    - deployment
    - new_origin
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - GKeyFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1041
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1041
    functionName: ostree_sysroot_write_origin_file
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_bump_mtime
    - ostree_sepolicy_new
    - g_file_new_for_path
    - write_origin_file_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_write_origin_file (OstreeSysroot *sysroot,
      OstreeDeployment *deployment, GKeyFile *new_origin, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1645,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1647,1
    - Dst: syncfs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1648,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1649,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1646,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1650,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1651,1
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1656,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1659,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1660,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1661,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1664,1
    - Dst: fsfreeze_thaw_cycle
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1662,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1665,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - self
    - out_stats
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - SyncStats*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1670
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1670
    functionName: full_system_sync
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - g_assert_cmpint
    - _ostree_sysroot_ensure_boot_fd
    - ot_journal_print
    - fsfreeze_thaw_cycle
    - syncfs
    - g_get_monotonic_time
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean full_system_sync (OstreeSysroot *self, SyncStats *out_stats,
      GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1682,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1704,1
    - Dst: _ostree_sysroot_read_current_subbootversion
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1690,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1684,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1703,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1706,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1710,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1717,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1717,1
    - Dst: ostree_deployment_get_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1718,1
    - Dst: ostree_deployment_get_bootserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1720,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1723,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1723,1
    - Dst: symlink_at_replace
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1729,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1722,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1719,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1721,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1725,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 5
    argNames:
    - self
    - bootversion
    - new_deployments
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1735
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1735
    functionName: create_new_bootlinks
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_deployment_get_bootserial
    - _ostree_sysroot_read_current_subbootversion
    - glnx_opendirat
    - ostree_deployment_get_csum
    - symlink_at_replace
    - glnx_shutil_mkdir_p_at
    - g_strdup_printf
    - ostree_deployment_get_deployserial
    - glnx_shutil_rm_rf_at
    - g_strconcat
    - ostree_deployment_get_bootcsum
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean create_new_bootlinks (OstreeSysroot *self, int bootversion,
      GPtrArray *new_deployments, GCancellable *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2502,1
    - Dst: add_file_size_if_nonnull
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2515,1
    - Dst: add_file_size_if_nonnull
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2512,1
    - Dst: get_kernel_from_tree
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2508,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2504,1
    - Dst: add_file_size_if_nonnull
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2523,1
    - Dst: ot_get_dir_size
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2530,1
    - Dst: add_file_size_if_nonnull
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2536,1
    - Dst: add_file_size_if_nonnull
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2539,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 6
    argNames:
    - self
    - deployment
    - blocksize
    - out_size
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - guint64
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2545
      start: 2498
    functionDepth: 0
    functionLinenumber: 2498
    functionLinenumberEnd: 2545
    functionName: get_kernel_layout_size
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_deployment_dirpath
    - glnx_opendirat
    - add_file_size_if_nonnull
    - get_kernel_from_tree
    - ot_get_dir_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_kernel_layout_size (OstreeSysroot *self, OstreeDeployment
      *deployment, guint64 blocksize, guint64 *out_size, GCancellable *cancellable,
      GError **error) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: auto_early_prune_old_deployments
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2827,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2847,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2857,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2858,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2869,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2905,1
    - Dst: _ostree_sysroot_rmrf_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2872,1
    - Dst: deployment_bootconfigs_equal
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2908,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2942,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2950,1
    - Dst: write_deployments_bootswap
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2986,1
    - Dst: ot_journal_send
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2998,1
    - Dst: write_deployments_finish
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3010,1
    - Dst: write_deployments_finish
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2931,1
    - Dst: g_file_query_exists
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2949,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2951,1
    - Dst: ostree_sysroot_cleanup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3017,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2847,1
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2901,1
    - Dst: ostree_deployment_equal
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2944,1
    - Dst: ostree_sysroot_get_deployment_directory
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2948,1
    - Dst: _ostree_bootloader_is_atomic
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2984,1
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2997,1
    - Dst: _ostree_sysroot_emit_journal_msg
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3007,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2993,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2818,1
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2822,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2838,1
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2820,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2844,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2867,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2876,1
    - Dst: assign_bootserials
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2887,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2881,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2924,1
    - Dst: ostree_repo_get_bootloader
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2997,1
    - Dst: create_new_bootlinks
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2967,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2957,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2942,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2866,1
    - Dst: ostree_deployment_set_index
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2953,1
    - Dst: swap_bootlinks
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2973,1
    - Dst: _ostree_sysroot_query_bootloader
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2981,1
    - Dst: SD_ID128_FORMAT_VAL
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2999,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3018,1
    - Dst: _ostree_bootloader_get_name
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3001,1
    - Dst: full_system_sync
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2970,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 114
    argCount: 5
    argNames:
    - self
    - new_deployments
    - opts
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GPtrArray*
    - OstreeSysrootWriteDeploymentsOpts*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3022
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 3022
    functionName: ostree_sysroot_write_deployments_with_options
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ot_journal_send
    - glnx_unlinkat
    - create_new_bootlinks
    - _ostree_sysroot_emit_journal_msg
    - g_file_query_exists
    - ostree_deployment_is_staged
    - write_deployments_finish
    - glnx_throw
    - gs_file_get_path_cached
    - _ostree_bootloader_is_atomic
    - g_ptr_array_new
    - swap_bootlinks
    - _ostree_sysroot_ensure_writable
    - full_system_sync
    - ostree_deployment_equal
    - g_ptr_array_remove_index
    - _ostree_sysroot_query_bootloader
    - ostree_deployment_set_index
    - _ostree_sysroot_ensure_boot_fd
    - auto_early_prune_old_deployments
    - _ostree_sysroot_rmrf_deployment
    - g_strdup_printf
    - ostree_sysroot_repo
    - glnx_prefix_error
    - ostree_sysroot_cleanup
    - assign_bootserials
    - g_ptr_array_add
    - ostree_sysroot_get_deployment_directory
    - g_assert
    - deployment_bootconfigs_equal
    - ostree_repo_get_bootloader
    - _ostree_bootloader_get_name
    - SD_ID128_FORMAT_VAL
    - ot_ensure_unlinked_at
    - write_deployments_bootswap
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_write_deployments_with_options (OstreeSysroot
      *self, GPtrArray *new_deployments, OstreeSysrootWriteDeploymentsOpts *opts,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3347,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3350,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3352,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3355,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3358,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3360,1
    - Dst: g_spawn_sync
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3362,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 11
    argCount: 6
    argNames:
    - deployment_dfd
    - bwrap_argv
    - child_argv
    - exit_status
    - stdout
    - error
    argTypes:
    - int
    - char**
    - gchar**
    - gint*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 3364
      start: 3285
    functionDepth: 0
    functionLinenumber: 3285
    functionLinenumberEnd: 3364
    functionName: _ostree_sysroot_run_in_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_spawn_sync
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_run_in_deployment (int deployment_dfd, const
      char *const *bwrap_argv, const gchar *const *child_argv, gint *exit_status,
      gchar **stdout, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3628,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3629,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3629,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3631,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3630,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3631,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3632,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3633,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3633,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3634,1
    - Dst: ostree_deployment_get_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3635,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3635,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - deployment
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 3638
      start: 3624
    functionDepth: 0
    functionLinenumber: 3624
    functionLinenumberEnd: 3638
    functionName: serialize_deployment_to_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - ostree_deployment_get_csum
    - g_variant_new_string
    - g_variant_builder_add
    - g_strdup_printf
    - ostree_deployment_get_deployserial
    - g_variant_builder_init
    - ostree_deployment_get_bootcsum
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *serialize_deployment_to_variant (OstreeDeployment
      *deployment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_deploy_tree_with_options
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3616,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 9
    argNames:
    - self
    - osname
    - revision
    - origin
    - provided_merge_deployment
    - override_kernel_argv
    - out_new_deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - char*
    - GKeyFile*
    - OstreeDeployment*
    - char**
    - OstreeDeployment**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3619
      start: 3609
    functionDepth: 0
    functionLinenumber: 3609
    functionLinenumberEnd: 3619
    functionName: ostree_sysroot_deploy_tree
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_deploy_tree_with_options
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_deploy_tree (OstreeSysroot *self, const char
      *osname, const char *revision, GKeyFile *origin, OstreeDeployment *provided_merge_deployment,
      char **override_kernel_argv, OstreeDeployment **out_new_deployment, GCancellable
      *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3690,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3698,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3693,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3705,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3691,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3711,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3712,1
    - Dst: ot_gio_splice_get_checksum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3714,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3716,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3719,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3723,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 5
    argNames:
    - self
    - fd
    - out_checksum
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3725
      start: 3686
    functionDepth: 0
    functionLinenumber: 3686
    functionLinenumberEnd: 3725
    functionName: ostree_sysroot_stage_overlay_initrd
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ot_bin2hex
    - g_assert
    - glnx_opendirat
    - g_unix_input_stream_new
    - glnx_shutil_mkdir_p_at
    - g_unix_output_stream_new
    - ot_gio_splice_get_checksum
    - glnx_link_tmpfile_at
    - glnx_open_tmpfile_linkable_at
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_stage_overlay_initrd (OstreeSysroot *self,
      int fd, char **out_checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4255,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4258,1
    - Dst: _ostree_linuxfs_fd_alter_immutable_flag
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4266,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4263,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4261,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 5
    argNames:
    - self
    - deployment
    - is_mutable
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4270
      start: 4250
    functionDepth: 0
    functionLinenumber: 4250
    functionLinenumberEnd: 4270
    functionName: ostree_sysroot_deployment_set_mutable
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_deployment_dirpath
    - glnx_opendirat
    - g_cancellable_set_error_if_cancelled
    - _ostree_sysroot_ensure_writable
    - _ostree_linuxfs_fd_alter_immutable_flag
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_deployment_set_mutable (OstreeSysroot *self,
      OstreeDeployment *deployment, gboolean is_mutable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:682,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:692,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:609,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:623,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:623,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:634,1
    - Dst: otcore_load_composefs_config
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:656,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:658,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:661,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:683,1
    - Dst: ostree_repo_checkout_composefs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:686,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:689,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:617,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:612,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:637,1
    - Dst: otcore_load_config
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:648,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:668,1
    - Dst: ostree_repo_checkout_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:631,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:681,1
    - Dst: glnx_steal_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:698,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:613,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:612,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:621,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:624,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:630,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:650,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:677,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:685,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:685,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 9
    argNames:
    - sysroot
    - repo
    - deployment
    - revision
    - out_deployment_dfd
    - checkout_elapsed
    - composefs_elapsed
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeRepo*
    - OstreeDeployment*
    - char*
    - int*
    - guint64*
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 700
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 700
    functionName: checkout_deployment_tree
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - G_VARIANT_BUILDER_INIT
    - ostree_repo_checkout_composefs
    - ostree_deployment_get_csum
    - glnx_shutil_mkdir_p_at
    - glnx_throw
    - GLNX_AUTO_PREFIX_ERROR
    - otcore_load_composefs_config
    - otcore_load_config
    - g_variant_builder_add
    - ostree_deployment_get_deployserial
    - g_get_monotonic_time
    - g_strconcat
    - ostree_repo_checkout_at
    - glnx_opendirat
    - glnx_steal_fd
    - g_strdup_printf
    - glnx_prefix_error
    - g_variant_ref_sink
    - ostree_deployment_get_osname
    - g_variant_builder_end
    - g_variant_new_uint32
    - g_debug
    - glnx_shutil_rm_rf_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checkout_deployment_tree (OstreeSysroot *sysroot,
      OstreeRepo *repo, OstreeDeployment *deployment, const char *revision, int *out_deployment_dfd,
      guint64 *checkout_elapsed, guint64 *composefs_elapsed, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2257,1
    - Dst: ostree_deployment_get_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2262,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2264,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2265,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2264,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2265,1
    - Dst: ostree_deployment_set_bootserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - deployments
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 2269
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2269
    functionName: assign_bootserials
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - GUINT_TO_POINTER
    - g_hash_table_replace
    - ostree_deployment_set_bootserial
    - g_hash_table_new_full
    - g_hash_table_lookup
    - ostree_deployment_get_bootcsum
    linkageType: ''
    returnType: void
    signature: 'static void assign_bootserials (GPtrArray *deployments) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3190,1
    - Dst: checkout_deployment_tree
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3204,1
    - Dst: ostree_deployment_set_origin
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3198,1
    - Dst: prepare_deployment_etc
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3218,1
    - Dst: get_kernel_from_tree
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3209,1
    - Dst: prepare_deployment_var
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3222,1
    - Dst: ot_format_human_duration
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3226,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3231,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3186,1
    - Dst: require_stateroot
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3183,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3188,1
    - Dst: allocate_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3193,1
    - Dst: ostree_deployment_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3197,1
    - Dst: _ostree_deployment_set_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3212,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3176,1
    - Dst: _ostree_deployment_set_overlay_initrds
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3215,1
    - Dst: _ostree_deployment_set_bootconfig_from_kargs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3213,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3228,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3178,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3181,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3187,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3217,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3220,1
    - Dst: ot_format_human_duration
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3225,1
    - Dst: ot_format_human_duration
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3227,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 8
    argNames:
    - self
    - osname
    - revision
    - origin
    - opts
    - out_new_deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - char*
    - GKeyFile*
    - OstreeSysrootDeployTreeOpts*
    - OstreeDeployment**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3233
      start: 3170
    functionDepth: 0
    functionLinenumber: 3170
    functionLinenumberEnd: 3233
    functionName: sysroot_initialize_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - allocate_deployserial
    - ot_journal_print
    - ot_format_human_duration
    - glnx_shutil_mkdir_p_at
    - _ostree_deployment_set_overlay_initrds
    - GLNX_AUTO_PREFIX_ERROR
    - require_stateroot
    - ot_transfer_out_value
    - g_get_monotonic_time
    - prepare_deployment_etc
    - g_strdup_printf
    - ostree_sysroot_repo
    - checkout_deployment_tree
    - glnx_prefix_error
    - get_kernel_from_tree
    - _ostree_deployment_set_bootcsum
    - prepare_deployment_var
    - ostree_deployment_get_osname
    - ostree_deployment_new
    - g_assert
    - ostree_deployment_set_origin
    - _ostree_deployment_set_bootconfig_from_kargs
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean sysroot_initialize_deployment (OstreeSysroot *self,
      const char *osname, const char *revision, GKeyFile *origin, OstreeSysrootDeployTreeOpts
      *opts, OstreeDeployment **out_new_deployment, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3643,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3644,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - dict
    - name
    - ret
    - error
    argTypes:
    - GVariantDict*
    - char*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 3646
      start: 3640
    functionDepth: 0
    functionLinenumber: 3640
    functionLinenumberEnd: 3646
    functionName: require_str_key
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - glnx_throw
    - g_variant_dict_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean require_str_key (GVariantDict *dict, const char *name,
      const char **ret, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:80,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:86,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:87,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:86,1
    - Dst: unlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:83,1
    - Dst: glnx_renameat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - oldpath
    - parent_dfd
    - newpath
    - cancellable
    - error
    argTypes:
    - char*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: symlink_at_replace
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - symlinkat
    - TEMP_FAILURE_RETRY
    - glnx_renameat
    - glnx_throw_errno_prefix
    - g_strconcat
    - unlinkat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean symlink_at_replace (const char *oldpath, int parent_dfd,
      const char *newpath, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:518,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:512,1
    - Dst: ot_fdrel_to_gfile
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:524,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:529,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:544,1
    - Dst: ostree_diff_dirs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:538,1
    - Dst: g_file_get_relative_path
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:588,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:516,1
    - Dst: ot_fdrel_to_gfile
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:523,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:556,1
    - Dst: ot_journal_send
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:546,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:553,1
    - Dst: copy_modified_config_file
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:581,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:590,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:509,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:527,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:528,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:540,1
    - Dst: _ostree_sysroot_emit_journal_msg
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:549,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:559,1
    - Dst: g_file_get_relative_path
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:567,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:568,1
    - Dst: g_file_get_relative_path
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:577,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:579,1
    - Dst: copy_modified_config_file
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:592,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:513,1
    - Dst: SD_ID128_FORMAT_VAL
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:546,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:570,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 49
    argCount: 6
    argNames:
    - sysroot
    - merge_deployment
    - new_deployment
    - new_deployment_dfd
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - OstreeDeployment*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 598
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 598
    functionName: merge_configuration_from
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ot_journal_send
    - ostree_sysroot_get_deployment_dirpath
    - g_ptr_array_new_with_free_func
    - g_assert
    - glnx_opendirat
    - _ostree_sysroot_emit_journal_msg
    - copy_modified_config_file
    - SD_ID128_FORMAT_VAL
    - g_strdup_printf
    - g_file_get_relative_path
    - ot_fdrel_to_gfile
    - glnx_prefix_error
    - glnx_shutil_rm_rf_at
    - ostree_diff_dirs
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean merge_configuration_from (OstreeSysroot *sysroot,
      OstreeDeployment *merge_deployment, OstreeDeployment *new_deployment, int new_deployment_dfd,
      GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2204,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2206,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2211,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2213,1
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2209,1
    - Dst: glnx_renameat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2219,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2231,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2232,1
    - Dst: fsfreeze_thaw_cycle
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2233,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2235,1
    - Dst: _ostree_bootloader_post_bls_sync
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2244,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2236,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 6
    argNames:
    - sysroot
    - bootloader
    - current_bootversion
    - new_bootversion
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeBootloader*
    - int
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2249
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2249
    functionName: swap_bootloader
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - g_assert_cmpint
    - _ostree_sysroot_ensure_boot_fd
    - g_assert
    - ot_journal_print
    - fsfreeze_thaw_cycle
    - glnx_renameat
    - g_get_monotonic_time
    - _ostree_bootloader_post_bls_sync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean swap_bootloader (OstreeSysroot *sysroot, OstreeBootloader
      *bootloader, int current_bootversion, int new_bootversion, GCancellable *cancellable,
      GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3901,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3901,1
    - Dst: ostree_deployment_is_finalization_locked
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3903,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3907,1
    - Dst: ot_fd_readall_or_mmap
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3910,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3914,1
    - Dst: g_variant_dict_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3915,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3917,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3919,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3921,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3922,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3930,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3936,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3923,1
    - Dst: strdupa
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3937,1
    - Dst: open
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3941,1
    - Dst: dirname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3937,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3944,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - self
    - deployment
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - GError**
    constantsTouched: []
    func_position:
      end: 3948
      start: 3895
    functionDepth: 0
    functionLinenumber: 3895
    functionLinenumberEnd: 3948
    functionName: ostree_sysroot_change_finalization
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_variant_dict_insert
    - glnx_file_replace_contents_at
    - open
    - glnx_throw_errno_prefix
    - g_assert
    - g_variant_dict_end
    - g_variant_new_from_bytes
    - glnx_shutil_mkdir_p_at
    - ot_ensure_unlinked_at
    - strdupa
    - ot_fd_readall_or_mmap
    - glnx_openat_rdonly
    - ostree_deployment_is_staged
    - dirname
    - ostree_deployment_is_finalization_locked
    - g_variant_dict_new
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: _OSTREE_PUBLIC
    signature: '_OSTREE_PUBLIC gboolean ostree_sysroot_change_finalization (OstreeSysroot
      *self, OstreeDeployment *deployment, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4138,1
    - Dst: ostree_deployment_clone
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4144,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4145,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4142,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4142,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4147,1
    - Dst: ostree_kernel_args_append_argv
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4148,1
    - Dst: ostree_kernel_args_to_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4149,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4150,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4152,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4157,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4159,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4159,1
    - Dst: ostree_sysroot_write_deployments
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4162,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4157,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 5
    argNames:
    - self
    - deployment
    - new_kargs
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4166
      start: 4134
    functionDepth: 0
    functionLinenumber: 4134
    functionLinenumberEnd: 4166
    functionName: ostree_sysroot_deployment_set_kargs
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_write_deployments
    - ostree_kernel_args_new
    - g_object_ref
    - ostree_kernel_args_to_string
    - g_ptr_array_new_with_free_func
    - g_assert
    - _ostree_sysroot_ensure_writable
    - ostree_deployment_clone
    - ostree_bootconfig_parser_set
    - ostree_deployment_is_staged
    - ostree_kernel_args_append_argv
    - g_ptr_array_add
    - ostree_deployment_get_bootconfig
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_deployment_set_kargs (OstreeSysroot *self,
      OstreeDeployment *deployment, char **new_kargs, GCancellable *cancellable, GError
      **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:140,1
    - Dst: glnx_regfile_copy_bytes
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:151,1
    - Dst: fchown
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:155,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:156,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:158,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:162,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:175,1
    - Dst: _ostree_tmpf_fsverity_core
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:172,1
    - Dst: linkat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:113,1
    - Dst: G_IN_SET
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:115,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:124,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:116,1
    - Dst: _ostree_sepolicy_preparefscreatecon
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:141,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:120,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:140,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:148,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:159,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:152,1
    - Dst: fdatasync
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:161,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 8
    argNames:
    - repo
    - sepolicy
    - src_dfd
    - src_subpath
    - dest_dfd
    - dest_subpath
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeSePolicy*
    - int
    - char*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 179
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 179
    functionName: install_into_boot
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - glnx_regfile_copy_bytes
    - fchown
    - _ostree_tmpf_fsverity_core
    - glnx_fstatat
    - fchmod
    - glnx_link_tmpfile_at
    - G_IN_SET
    - glnx_openat_rdonly
    - linkat
    - glnx_throw_errno_prefix
    - glnx_strjoina
    - _ostree_sepolicy_preparefscreatecon
    - glnx_open_tmpfile_linkable_at
    - fdatasync
    - glnx_basename
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean install_into_boot (OstreeRepo *repo, OstreeSePolicy
      *sepolicy, int src_dfd, const char *src_subpath, int dest_dfd, const char *dest_subpath,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:707,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:718,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:723,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:719,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - path
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 724
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 724
    functionName: ptrarray_path_join
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - g_string_append
    - g_string_append_c
    linkageType: ''
    returnType: char*
    signature: 'static char *ptrarray_path_join (GPtrArray *path) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: relabel_one_path
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:752,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:771,1
    - Dst: g_file_enumerator_iterate
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:766,1
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:755,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:771,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:773,1
    - Dst: relabel_recursively
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:776,1
    - Dst: relabel_one_path
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:782,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:787,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 24
    argCount: 7
    argNames:
    - sysroot
    - sepolicy
    - dir
    - dir_info
    - path_parts
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeSePolicy*
    - GFile*
    - GFileInfo*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 793
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 793
    functionName: relabel_recursively
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_file_info_get_name
    - g_file_enumerate_children
    - g_file_info_get_file_type
    - g_file_enumerator_iterate
    - relabel_one_path
    - g_ptr_array_add
    - relabel_recursively
    - g_ptr_array_remove_index
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean relabel_recursively (OstreeSysroot *sysroot, OstreeSePolicy
      *sepolicy, GFile *dir, GFileInfo *dir_info, GPtrArray *path_parts, GCancellable
      *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:820,1
    - Dst: ot_journal_send
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:834,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:827,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:833,1
    - Dst: SD_ID128_FORMAT_VAL
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:835,1
    - Dst: _ostree_sysroot_emit_journal_msg
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:836,1
    - Dst: ot_fdrel_to_gfile
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:839,1
    - Dst: selinux_relabel_dir
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:840,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:842,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:850,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:855,1
    - Dst: _ostree_sepolicy_preparefscreatecon
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:852,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 5
    argNames:
    - sysroot
    - sepolicy
    - os_deploy_dfd
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeSePolicy*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 862
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 862
    functionName: selinux_relabel_var_if_needed
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ot_journal_send
    - glnx_file_replace_contents_at
    - glnx_fstatat_allow_noent
    - _ostree_sysroot_emit_journal_msg
    - selinux_relabel_dir
    - SD_ID128_FORMAT_VAL
    - g_strdup_printf
    - _ostree_sepolicy_preparefscreatecon
    - ot_fdrel_to_gfile
    - g_prefix_error
    - glnx_strjoina
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean selinux_relabel_var_if_needed (OstreeSysroot *sysroot,
      OstreeSePolicy *sepolicy, int os_deploy_dfd, GCancellable *cancellable, GError
      **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2398,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2409,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2410,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2399,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2401,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2411,1
    - Dst: install_deployment_kernel
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2421,1
    - Dst: create_new_bootlinks
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2427,1
    - Dst: swap_bootlinks
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2430,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2433,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2434,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2440,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2453,1
    - Dst: prepare_new_bootloader_link
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2443,1
    - Dst: swap_bootloader
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2449,1
    - Dst: full_system_sync
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2446,1
    - Dst: g_type_name
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2434,1
    - Dst: _ostree_bootloader_write_config
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2438,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 37
    argCount: 8
    argNames:
    - self
    - new_deployments
    - opts
    - bootloader
    - out_syncstats
    - out_subbootdir
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GPtrArray*
    - OstreeSysrootWriteDeploymentsOpts*
    - OstreeBootloader*
    - SyncStats*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2455
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2455
    functionName: write_deployments_bootswap
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - install_deployment_kernel
    - swap_bootlinks
    - create_new_bootlinks
    - swap_bootloader
    - _ostree_bootloader_write_config
    - glnx_shutil_mkdir_p_at
    - g_strdup_printf
    - g_debug
    - g_type_name
    - G_TYPE_FROM_INSTANCE
    - glnx_shutil_rm_rf_at
    - glnx_prefix_error
    - prepare_new_bootloader_link
    - g_steal_pointer
    - full_system_sync
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_deployments_bootswap (OstreeSysroot *self, GPtrArray
      *new_deployments, OstreeSysrootWriteDeploymentsOpts *opts, OstreeBootloader
      *bootloader, SyncStats *out_syncstats, char **out_subbootdir, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3029,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3043,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3043,1
    - Dst: _ostree_sysroot_list_deployment_dirs_for_os
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3035,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3032,1
    - Dst: MAX
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3047,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3047,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 6
    argNames:
    - self
    - osname
    - revision
    - out_deployserial
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - char*
    - int*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3052
      start: 3024
    functionDepth: 0
    functionLinenumber: 3024
    functionLinenumberEnd: 3052
    functionName: allocate_deployserial
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ostree_deployment_get_csum
    - g_ptr_array_new_with_free_func
    - glnx_opendirat
    - _ostree_sysroot_list_deployment_dirs_for_os
    - ostree_deployment_get_deployserial
    - strcmp
    - MAX
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean allocate_deployserial (OstreeSysroot *self, const
      char *osname, const char *revision, int *out_deployserial, GCancellable *cancellable,
      GError **error) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3471,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3479,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3483,1
    - Dst: sysroot_finalize_selinux_policy
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3495,1
    - Dst: selinux_relabel_var_if_needed
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3522,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3501,1
    - Dst: sysroot_initialize_deployment_backing
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3525,1
    - Dst: write_origin_file_internal
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3531,1
    - Dst: ostree_sysroot_deployment_set_mutable
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3539,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3465,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3466,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3482,1
    - Dst: get_var_dfd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3506,1
    - Dst: ostree_sepolicy_new_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3518,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3476,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3468,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3501,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3513,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3532,1
    - Dst: merge_configuration_from
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3490,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3503,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3515,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 43
    argCount: 5
    argNames:
    - self
    - deployment
    - merge_deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - OstreeDeployment*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3544
      start: 3460
    functionDepth: 0
    functionLinenumber: 3460
    functionLinenumberEnd: 3544
    functionName: sysroot_finalize_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_sepolicy_new_at
    - ostree_sysroot_get_deployment_dirpath
    - sysroot_initialize_deployment_backing
    - ostree_bootconfig_parser_get
    - ostree_sysroot_deployment_set_mutable
    - glnx_opendirat
    - ostree_deployment_get_origin
    - ostree_deployment_get_osname
    - sysroot_finalize_selinux_policy
    - ot_ensure_unlinked_at
    - ostree_bootconfig_parser_set
    - glnx_strjoina
    - get_var_dfd
    - selinux_relabel_var_if_needed
    - merge_configuration_from
    - write_origin_file_internal
    - ostree_deployment_get_bootconfig
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean sysroot_finalize_deployment (OstreeSysroot *self,
      OstreeDeployment *deployment, OstreeDeployment *merge_deployment, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptrarray_path_join
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:733,1
    - Dst: ostree_sepolicy_restorecon
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:734,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 7
    argNames:
    - sysroot
    - sepolicy
    - path
    - info
    - path_parts
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeSePolicy*
    - GFile*
    - GFileInfo*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 742
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 742
    functionName: relabel_one_path
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ptrarray_path_join
    - ostree_sepolicy_restorecon
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean relabel_one_path (OstreeSysroot *sysroot, OstreeSePolicy
      *sepolicy, GFile *path, GFileInfo *info, GPtrArray *path_parts, GCancellable
      *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:800,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:805,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:808,1
    - Dst: relabel_recursively
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:807,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:806,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 6
    argNames:
    - sysroot
    - sepolicy
    - dir
    - prefix
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeSePolicy*
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 811
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 811
    functionName: selinux_relabel_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - relabel_recursively
    - glnx_prefix_error
    - g_ptr_array_new
    - g_file_query_info
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean selinux_relabel_dir (OstreeSysroot *sysroot, OstreeSePolicy
      *sepolicy, GFile *dir, const char *prefix, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bootconfig_parser_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3061,1
    - Dst: ostree_kernel_args_to_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3071,1
    - Dst: ostree_kernel_args_append_argv
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3070,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3069,1
    - Dst: ostree_deployment_set_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3062,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - deployment
    - override_kernel_argv
    argTypes:
    - OstreeDeployment*
    - char**
    constantsTouched: []
    func_position:
      end: 3074
      start: 3054
    functionDepth: 0
    functionLinenumber: 3054
    functionLinenumberEnd: 3074
    functionName: _ostree_deployment_set_bootconfig_from_kargs
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_new
    - ostree_bootconfig_parser_new
    - ostree_kernel_args_to_string
    - ostree_deployment_set_bootconfig
    - ostree_bootconfig_parser_set
    - ostree_kernel_args_append_argv
    linkageType: ''
    returnType: void
    signature: 'void _ostree_deployment_set_bootconfig_from_kargs (OstreeDeployment
      *deployment, char **override_kernel_argv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3961,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3970,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3973,1
    - Dst: ot_journal_send
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3987,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3990,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3992,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4016,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4017,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4024,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4018,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3994,1
    - Dst: _ostree_sysroot_deserialize_deployment_from_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4002,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4030,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4037,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4047,1
    - Dst: ostree_sysroot_simple_write_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4047,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3967,1
    - Dst: SD_ID128_FORMAT_VAL
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3988,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3991,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3998,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4010,1
    - Dst: ostree_deployment_equal
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4008,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4035,1
    - Dst: ostree_sysroot_prepare_cleanup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4053,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4055,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3981,1
    - Dst: sysroot_finalize_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4027,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4050,1
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4058,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4062
      start: 3951
    functionDepth: 0
    functionLinenumber: 3951
    functionLinenumberEnd: 4062
    functionName: _ostree_sysroot_finalize_staged_inner
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ot_journal_send
    - glnx_unlinkat
    - sysroot_finalize_deployment
    - glnx_fstatat_allow_noent
    - ostree_deployment_get_csum
    - ot_journal_print
    - g_steal_pointer
    - glnx_throw
    - _ostree_sysroot_deserialize_deployment_from_variant
    - _ostree_sysroot_ensure_writable
    - ostree_deployment_get_deployserial
    - ostree_sysroot_prepare_cleanup
    - ostree_deployment_equal
    - g_ptr_array_remove_index
    - g_variant_lookup
    - g_object_ref
    - ostree_deployment_get_osname
    - g_assert
    - SD_ID128_FORMAT_VAL
    - g_debug
    - ostree_sysroot_simple_write_deployment
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_sysroot_finalize_staged_inner (OstreeSysroot
      *self, GCancellable *cancellable, GError **error) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2596,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2616,1
    - Dst: fstatvfs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2624,1
    - Dst: _ostree_sysroot_list_all_boot_directories
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2628,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2663,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2637,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2662,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2678,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2708,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2727,1
    - Dst: ostree_sysroot_write_deployments_with_options
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2785,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2760,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2601,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2625,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2640,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2661,1
    - Dst: get_kernel_layout_size
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2683,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2693,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2714,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2720,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2750,1
    - Dst: dfd_fallocate_check
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2741,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2728,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2765,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2620,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2624,1
    - Dst: ot_get_dir_size
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2641,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2655,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2697,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2702,1
    - Dst: dfd_fallocate_check
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2706,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2725,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2732,1
    - Dst: ostree_deployment_get_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2764,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2756,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2777,1
    - Dst: _ostree_sysroot_cleanup_bootfs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2611,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2629,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2662,1
    - Dst: _ostree_sysroot_parse_bootdir_name
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2636,1
    - Dst: ostree_deployment_get_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2674,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2675,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2678,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2690,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2697,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2697,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2744,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2772,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2733,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2767,1
    - Dst: _ostree_sysroot_cleanup_bootfs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2790,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 94
    argCount: 4
    argNames:
    - self
    - new_deployments
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2794
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2794
    functionName: auto_early_prune_old_deployments
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH_KV
    - GPOINTER_TO_UINT
    - ostree_deployment_get_csum
    - _ostree_sysroot_cleanup_bootfs
    - ot_journal_print
    - g_hash_table_insert
    - g_format_size
    - GUINT_TO_POINTER
    - g_steal_pointer
    - dfd_fallocate_check
    - glnx_throw_errno_prefix
    - g_ptr_array_new
    - fstatvfs
    - TEMP_FAILURE_RETRY
    - g_assert_not_reached
    - glnx_fstatat
    - ot_get_dir_size
    - ostree_deployment_get_bootcsum
    - ostree_sysroot_write_deployments_with_options
    - _ostree_sysroot_ensure_boot_fd
    - g_assert_cmpuint
    - g_build_filename
    - glnx_prefix_error
    - g_hash_table_new_full
    - g_ptr_array_add
    - _ostree_sysroot_parse_bootdir_name
    - g_strdup
    - _ostree_sysroot_list_all_boot_directories
    - g_assert
    - get_kernel_layout_size
    - g_hash_table_lookup
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean auto_early_prune_old_deployments (OstreeSysroot *self,
      GPtrArray *new_deployments, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - defaults
    - sysrootflags
    argTypes:
    - GLnxFileCopyFlags
    - OstreeSysrootDebugFlags
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: sysroot_flags_to_copy_flags
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLnxFileCopyFlags
    signature: 'static GLnxFileCopyFlags sysroot_flags_to_copy_flags (GLnxFileCopyFlags
      defaults, OstreeSysrootDebugFlags sysrootflags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_write_deployments_with_options
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - self
    - new_deployments
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2383
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2383
    functionName: ostree_sysroot_write_deployments
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_write_deployments_with_options
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_write_deployments (OstreeSysroot *self, GPtrArray
      *new_deployments, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3249,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3259,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3270,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - self
    - osdeploy_dfd
    - deployment
    - ret_fd
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - OstreeDeployment*
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 3271
      start: 3244
    functionDepth: 0
    functionLinenumber: 3244
    functionLinenumberEnd: 3271
    functionName: get_var_dfd
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - glnx_opendirat
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_var_dfd (OstreeSysroot *self, int osdeploy_dfd,
      OstreeDeployment *deployment, int *ret_fd, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_dict_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3655,1
    - Dst: require_str_key
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3660,1
    - Dst: require_str_key
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3657,1
    - Dst: _ostree_sysroot_parse_deploy_path_name
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3667,1
    - Dst: require_str_key
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3663,1
    - Dst: ostree_deployment_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3669,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 2
    argNames:
    - v
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 3670
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3670
    functionName: _ostree_sysroot_deserialize_deployment_from_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_variant_dict_new
    - require_str_key
    - _ostree_sysroot_parse_deploy_path_name
    - ostree_deployment_new
    linkageType: ''
    returnType: OstreeDeployment*
    signature: 'OstreeDeployment *_ostree_sysroot_deserialize_deployment_from_variant
      (GVariant *v, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4102,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4106,1
    - Dst: glnx_fd_readall_utf8
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4114,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4107,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4116,1
    - Dst: unlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4118,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4121
      start: 4099
    functionDepth: 0
    functionLinenumber: 4099
    functionLinenumberEnd: 4121
    functionName: _ostree_sysroot_boot_complete
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - _ostree_sysroot_ensure_boot_fd
    - glnx_fd_readall_utf8
    - glnx_prefix_error
    - ot_openat_ignore_enoent
    - glnx_throw
    - unlinkat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_boot_complete (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4288,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4289,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4290,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4293,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4291,1
    - Dst: get_kernel_from_tree
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4298,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4305,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4312,1
    - Dst: syscall
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4323,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4323,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4324,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4328,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 4
    argNames:
    - self
    - deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4332
      start: 4283
    functionDepth: 0
    functionLinenumber: 4283
    functionLinenumberEnd: 4332
    functionName: ostree_sysroot_deployment_kexec_load
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - strlen
    - GLNX_AUTO_PREFIX_ERROR
    - g_set_error
    - ostree_sysroot_get_deployment_dirpath
    - ostree_bootconfig_parser_get
    - glnx_opendirat
    - get_kernel_from_tree
    - glnx_openat_rdonly
    - glnx_throw_errno_prefix
    - syscall
    - ostree_deployment_get_bootconfig
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_deployment_kexec_load (OstreeSysroot *self,
      OstreeDeployment *deployment, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3374,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3395,1
    - Dst: _ostree_sysroot_run_in_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3392,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3379,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3396,1
    - Dst: strstr
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3397,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3399,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3405,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3406,1
    - Dst: _ostree_sysroot_run_in_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3407,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3411,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3413,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3410,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - deployment_dfd
    - error
    argTypes:
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 3414
      start: 3371
    functionDepth: 0
    functionLinenumber: 3371
    functionLinenumberEnd: 3414
    functionName: sysroot_finalize_selinux_policy
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_run_in_deployment
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_fstatat_allow_noent
    - ot_journal_print
    - strstr
    - glnx_prefix_error
    - g_get_monotonic_time
    - g_spawn_check_exit_status
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean sysroot_finalize_selinux_policy (int deployment_dfd,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:980,1
    - Dst: _ostree_sepolicy_preparefscreatecon
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:991,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:995,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:984,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:983,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:996,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:997,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:997,1
    - Dst: g_key_file_to_data
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1000,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1004,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 7
    argNames:
    - sysroot
    - sepolicy
    - deployment
    - new_origin
    - flags
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeSePolicy*
    - OstreeDeployment*
    - GKeyFile*
    - GLnxFileReplaceFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1010
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 1010
    functionName: write_origin_file_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_file_replace_contents_at
    - ostree_deployment_get_csum
    - ostree_deployment_get_origin
    - g_key_file_to_data
    - _ostree_sysroot_ensure_writable
    - g_strdup_printf
    - ostree_deployment_get_deployserial
    - _ostree_sepolicy_preparefscreatecon
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_origin_file_internal (OstreeSysroot *sysroot,
      OstreeSePolicy *sepolicy, OstreeDeployment *deployment, GKeyFile *new_origin,
      GLnxFileReplaceFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1284,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1317,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1324,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1327,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1335,1
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1341,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1339,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1334,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1380,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1381,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1390,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1359,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1400,1
    - Dst: _ostree_kernel_layout_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1282,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1310,1
    - Dst: glnx_opendirat_with_errno
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1287,1
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1326,1
    - Dst: ostree_validate_structureof_checksum_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1331,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1345,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1346,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1347,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1351,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1354,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1389,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1358,1
    - Dst: ostree_validate_structureof_checksum_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1355,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1392,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1291,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1342,1
    - Dst: ostree_validate_structureof_checksum_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1343,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1333,1
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1353,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1357,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1379,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1382,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1388,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1398,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 102
    argCount: 4
    argNames:
    - deployment_dfd
    - out_layout
    - cancellable
    - error
    argTypes:
    - int
    - OstreeKernelLayout**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1402
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1402
    functionName: get_kernel_from_tree_legacy_layouts
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_set_error
    - glnx_opendirat_with_errno
    - g_strdup
    - strrchr
    - g_assert
    - g_strndup
    - g_steal_pointer
    - g_str_has_prefix
    - glnx_dirfd_iterator_init_at
    - _ostree_kernel_layout_new
    - glnx_dirfd_iterator_next_dent
    - glnx_throw_errno_prefix
    - ostree_validate_structureof_checksum_string
    - G_N_ELEMENTS
    - glnx_throw
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_kernel_from_tree_legacy_layouts (int deployment_dfd,
      OstreeKernelLayout **out_layout, GCancellable *cancellable, GError **error) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1503,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1509,1
    - Dst: err
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1528,1
    - Dst: err
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1524,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1577,1
    - Dst: waitpid
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1588,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1591,1
    - Dst: _ostree_linuxfs_filesystem_freeze
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1595,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1607,1
    - Dst: write
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1609,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1626,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1621,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1493,1
    - Dst: write
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1527,1
    - Dst: poll
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1544,1
    - Dst: err
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1532,1
    - Dst: read
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1530,1
    - Dst: err
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1558,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1561,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1571,1
    - Dst: read
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1575,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1589,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1606,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1614,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1588,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1497,1
    - Dst: daemon
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1517,1
    - Dst: err
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1518,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1521,1
    - Dst: signal
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1523,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1544,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1530,1
    - Dst: _exit
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1567,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1575,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1582,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1592,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1623,1
    - Dst: fork
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1501,1
    - Dst: socketpair
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1496,1
    - Dst: errx
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1534,1
    - Dst: _ostree_linuxfs_filesystem_thaw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1554,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1579,1
    - Dst: write
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1581,1
    - Dst: G_IN_SET
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1601,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1605,1
    - Dst: syncfs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1606,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1610,1
    - Dst: write
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1625,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1590,1
    - Dst: _ostree_linuxfs_filesystem_thaw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1617,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 4
    argNames:
    - self
    - rootfs_dfd
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1629
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1629
    functionName: fsfreeze_thaw_cycle
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - _exit
    - socketpair
    - daemon
    - read
    - fork
    - _ostree_linuxfs_filesystem_thaw
    - glnx_throw
    - glnx_throw_errno_prefix
    - errx
    - g_spawn_check_exit_status
    - poll
    - GLNX_AUTO_PREFIX_ERROR
    - signal
    - TEMP_FAILURE_RETRY
    - _ostree_linuxfs_filesystem_freeze
    - G_IN_SET
    - err
    - glnx_prefix_error
    - syncfs
    - glnx_close_fd
    - g_printerr
    - write
    - g_debug
    - G_N_ELEMENTS
    - waitpid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fsfreeze_thaw_cycle (OstreeSysroot *self, int rootfs_dfd,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_get_index
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1807,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1815,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1814,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - sysroot
    - n_deployments
    - deployment
    argTypes:
    - OstreeSysroot*
    - guint
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 1821
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1821
    functionName: bootloader_entry_filename
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - ostree_deployment_get_index
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: char*
    signature: 'static char *bootloader_entry_filename (OstreeSysroot *sysroot, guint
      n_deployments, OstreeDeployment *deployment) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2179,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2185,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2180,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2187,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2185,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2189,1
    - Dst: symlink_at_replace
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 5
    argNames:
    - sysroot
    - current_bootversion
    - new_bootversion
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2197
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2197
    functionName: prepare_new_bootloader_link
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - symlinkat
    - g_assert
    - TEMP_FAILURE_RETRY
    - symlink_at_replace
    - g_strdup_printf
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean prepare_new_bootloader_link (OstreeSysroot *sysroot,
      int current_bootversion, int new_bootversion, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2275,1
    - Dst: ostree_kernel_args_to_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2279,1
    - Dst: ostree_kernel_args_from_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2277,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2276,1
    - Dst: ostree_kernel_args_replace
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - deployment
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 2280
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2280
    functionName: get_deployment_nonostree_kargs
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - ostree_bootconfig_parser_get
    - ostree_kernel_args_to_string
    - ostree_kernel_args_from_string
    - ostree_kernel_args_replace
    - ostree_deployment_get_bootconfig
    linkageType: ''
    returnType: char*
    signature: 'static char *get_deployment_nonostree_kargs (OstreeDeployment *deployment) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2349,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2359,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2354,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2357,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2356,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2364
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2364
    functionName: cleanup_legacy_current_symlinks
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append_printf
    - ot_ensure_unlinked_at
    - g_string_truncate
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cleanup_legacy_current_symlinks (OstreeSysroot *self,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_bump_mtime
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2461,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2466,1
    - Dst: cleanup_legacy_current_symlinks
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2468,1
    - Dst: ostree_sysroot_load
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2472
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2472
    functionName: write_deployments_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_bump_mtime
    - ostree_sysroot_load
    - glnx_prefix_error
    - cleanup_legacy_current_symlinks
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_deployments_finish (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1061,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1064,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1063,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1062,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1065,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1066,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1067,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1068,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1069,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1070,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1072,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1073,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - layout
    argTypes:
    - OstreeKernelLayout*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1074
    functionName: _ostree_kernel_layout_free
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - glnx_close_fd
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_kernel_layout_free (OstreeKernelLayout *layout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1083
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1083
    functionName: _ostree_kernel_layout_new
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: OstreeKernelLayout*
    signature: 'static OstreeKernelLayout *_ostree_kernel_layout_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2285,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2292,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2291,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2295,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - repo
    - deployment
    argTypes:
    - OstreeRepo*
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 2296
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2296
    functionName: get_deployment_ostree_version
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - ostree_deployment_get_csum
    - g_variant_get_child_value
    - g_steal_pointer
    - ostree_repo_load_variant
    linkageType: ''
    returnType: char*
    signature: 'static char *get_deployment_ostree_version (OstreeRepo *repo, OstreeDeployment
      *deployment) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 5
    argNames:
    - dfd
    - path
    - blocksize
    - inout_size
    - error
    argTypes:
    - int
    - char*
    - guint64
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 2494
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2494
    functionName: add_file_size_if_nonnull
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - glnx_fstatat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_file_size_if_nonnull (int dfd, const char *path,
      guint64 blocksize, guint64 *inout_size, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fchdir
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3280
      start: 3273
    functionDepth: 0
    functionLinenumber: 3273
    functionLinenumberEnd: 3280
    functionName: child_setup_fchdir
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - fchdir
    linkageType: ''
    returnType: void
    signature: 'static void child_setup_fchdir (gpointer data) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:871,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:904,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:895,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:887,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:886,1
    - Dst: unlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:919,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:920,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:930,1
    - Dst: glnx_renameat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:935,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:946,1
    - Dst: ostree_repo_checkout_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:964,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:965,1
    - Dst: ostree_sepolicy_new_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:957,1
    - Dst: ostree_sepolicy_get_name
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:960,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 43
    argCount: 6
    argNames:
    - sysroot
    - repo
    - deployment
    - deployment_dfd
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeRepo*
    - OstreeDeployment*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 970
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 970
    functionName: prepare_deployment_etc
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_sepolicy_new_at
    - glnx_fstatat_allow_noent
    - ostree_deployment_get_csum
    - g_assert
    - ostree_sepolicy_get_name
    - glnx_renameat
    - glnx_prefix_error
    - glnx_dirfd_iterator_next_dent
    - glnx_throw_errno_prefix
    - glnx_throw
    - ot_dfd_iter_init_allow_noent
    - unlinkat
    - ostree_repo_checkout_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean prepare_deployment_etc (OstreeSysroot *sysroot, OstreeRepo
      *repo, OstreeDeployment *deployment, int deployment_dfd, GCancellable *cancellable,
      GError **error) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1097,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1127,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1130,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1221,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1241,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1262,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1235,1
    - Dst: checksum_dir_recurse
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1244,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1142,1
    - Dst: ot_gio_splice_update_checksum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1166,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1169,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1165,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1168,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1180,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1189,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1196,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1206,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1211,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1269,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1254,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1225,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1226,1
    - Dst: ot_checksum_get_hexdigest
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1266,1
    - Dst: _ostree_kernel_layout_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1107,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1125,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1117,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1126,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1137,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1146,1
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1160,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1145,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1144,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1191,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1258,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1250,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1110,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1163,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1177,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1190,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1192,1
    - Dst: ot_gio_splice_update_checksum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1193,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1197,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1200,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1205,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1208,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1267,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1251,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1227,1
    - Dst: ot_gio_splice_update_checksum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1228,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1238,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 119
    argCount: 5
    argNames:
    - sysroot
    - deployment_dfd
    - out_layout
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - OstreeKernelLayout**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1271
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1271
    functionName: get_kernel_from_tree_usrlib_modules
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - glnx_fstatat_allow_noent
    - g_steal_pointer
    - glnx_throw_errno_prefix
    - S_ISDIR
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - ot_gio_splice_update_checksum
    - g_unix_input_stream_new
    - fstatat
    - ot_checksum_init
    - glnx_opendirat
    - checksum_dir_recurse
    - g_strdup_printf
    - g_string_truncate
    - _ostree_kernel_layout_new
    - glnx_openat_rdonly
    - glnx_close_fd
    - ot_dfd_iter_init_allow_noent
    - g_strdup
    - g_string_new
    - g_assert
    - g_clear_object
    - g_string_append_printf
    - ot_openat_ignore_enoent
    - ot_checksum_get_hexdigest
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_kernel_from_tree_usrlib_modules (OstreeSysroot
      *sysroot, int deployment_dfd, OstreeKernelLayout **out_layout, GCancellable
      *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_kernel_from_tree_usrlib_modules
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1426,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1446,1
    - Dst: get_kernel_from_tree_legacy_layouts
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1431,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1453,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1463,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1469,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1477,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1478,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 5
    argNames:
    - sysroot
    - deployment_dfd
    - out_layout
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - OstreeKernelLayout**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1481
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1481
    functionName: get_kernel_from_tree
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_assert
    - get_kernel_from_tree_usrlib_modules
    - g_steal_pointer
    - get_kernel_from_tree_legacy_layouts
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_kernel_from_tree (OstreeSysroot *sysroot, int
      deployment_dfd, OstreeKernelLayout **out_layout, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1773,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1780,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1774,1
    - Dst: g_shell_unquote
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1789,1
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1783,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1793,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1793,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 13
    argCount: 2
    argNames:
    - contents
    - split
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1797
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1797
    functionName: parse_os_release
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_shell_unquote
    - g_strsplit
    - g_steal_pointer
    - g_str_has_prefix
    - strchr
    - g_hash_table_new_full
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *parse_os_release (const char *contents, const char
      *split) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1833,1
    - Dst: ostree_sepolicy_new_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1841,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1893,1
    - Dst: ostree_deployment_get_bootserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2098,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2099,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2134,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2140,1
    - Dst: ostree_kernel_args_replace_take
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2142,1
    - Dst: ostree_bootconfig_parser_write_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2164,1
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1869,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2024,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2065,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2088,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2115,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2157,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1856,1
    - Dst: copy_dir_recurse
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1925,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1934,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1975,1
    - Dst: install_into_boot
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1995,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2026,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2028,1
    - Dst: install_into_boot
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1898,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2114,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2135,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1989,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2074,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2062,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2061,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2077,1
    - Dst: install_into_boot
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1881,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1866,1
    - Dst: install_into_boot
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1954,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1837,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2034,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2124,1
    - Dst: ostree_deployment_get_index
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2071,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2001,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2083,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2075,1
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1850,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1853,1
    - Dst: ostree_kernel_args_from_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2078,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2156,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1855,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2043,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2055,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2096,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2125,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2161,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2019,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1834,1
    - Dst: install_into_boot
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1939,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1949,1
    - Dst: ostree_kernel_args_replace_take
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2099,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2052,1
    - Dst: ostree_deployment_get_index
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2065,1
    - Dst: ostree_kernel_args_to_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2144,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2056,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2058,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2067,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2068,1
    - Dst: ostree_deployment_get_bootserial
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2141,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2145,1
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2016,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2084,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2041,1
    - Dst: ostree_deployment_get_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1854,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1877,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1910,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1994,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2001,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2164,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1835,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1892,1
    - Dst: bootloader_entry_filename
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1857,1
    - Dst: _ostree_deployment_get_overlay_initrds
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1964,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1982,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2044,1
    - Dst: ostree_bootconfig_parser_set_overlay_initrds
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2089,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2142,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2005,1
    - Dst: parse_os_release
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2022,1
    - Dst: install_into_boot
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1915,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1948,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2012,1
    - Dst: strstr
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2053,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2072,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1859,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1984,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2071,1
    - Dst: ostree_deployment_get_index
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2151,1
    - Dst: get_kernel_from_tree
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1847,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:1863,1
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2009,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2117,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2118,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 180
    argCount: 7
    argNames:
    - sysroot
    - new_bootversion
    - deployment
    - n_deployments
    - show_osname
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - OstreeDeployment*
    - guint
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2169
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 2169
    functionName: install_deployment_kernel
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_string_append
    - GLNX_HASH_TABLE_FOREACH_KV
    - glnx_fstatat_allow_noent
    - g_ptr_array_new_with_free_func
    - ostree_deployment_get_csum
    - ostree_deployment_get_bootserial
    - ostree_kernel_args_to_string
    - g_variant_get_child_value
    - ostree_bootconfig_parser_write_at
    - glnx_shutil_mkdir_p_at
    - g_string_append_c
    - g_hash_table_lookup
    - g_steal_pointer
    - install_into_boot
    - glnx_throw
    - bootloader_entry_filename
    - parse_os_release
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_sysroot_get_deployment_dirpath
    - ostree_bootconfig_parser_get
    - ostree_bootconfig_parser_set_overlay_initrds
    - ostree_kernel_args_from_string
    - g_strconcat
    - _ostree_deployment_get_overlay_initrds
    - ostree_deployment_get_bootcsum
    - ostree_deployment_get_bootconfig
    - g_variant_lookup
    - ostree_sepolicy_new_at
    - copy_dir_recurse
    - _ostree_sysroot_ensure_boot_fd
    - glnx_opendirat
    - g_strdup_printf
    - strstr
    - ostree_sysroot_repo
    - get_kernel_from_tree
    - glnx_prefix_error
    - ostree_repo_load_variant
    - ostree_kernel_args_replace_take
    - g_ptr_array_add
    - ostree_deployment_get_osname
    - g_string_new
    - g_assert
    - g_string_append_printf
    - ostree_deployment_get_index
    - ostree_bootconfig_parser_set
    - glnx_file_get_contents_utf8_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean install_deployment_kernel (OstreeSysroot *sysroot,
      int new_bootversion, OstreeDeployment *deployment, guint n_deployments, gboolean
      show_osname, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_get_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2311,1
    - Dst: get_deployment_nonostree_kargs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2321,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2317,1
    - Dst: ostree_deployment_get_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2312,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2313,1
    - Dst: get_deployment_nonostree_kargs
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2322,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2323,1
    - Dst: get_deployment_ostree_version
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2327,1
    - Dst: get_deployment_ostree_version
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2328,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2329,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2333,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2335,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:2334,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 3
    argNames:
    - repo
    - a
    - b
    argTypes:
    - OstreeRepo*
    - OstreeDeployment*
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 2339
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2339
    functionName: deployment_bootconfigs_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - get_deployment_nonostree_kargs
    - strcmp
    - get_deployment_ostree_version
    - ostree_deployment_get_bootcsum
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean deployment_bootconfigs_equal (OstreeRepo *repo, OstreeDeployment
      *a, OstreeDeployment *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3421,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3430,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3422,1
    - Dst: _ostree_sysroot_get_deployment_backing_relpath
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3423,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3426,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3431,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3435,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3436,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3437,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3440,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3442,1
    - Dst: _ostree_sepolicy_preparefscreatecon
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3450,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3441,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3451,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3453,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3452,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3454,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 4
    argNames:
    - self
    - deployment
    - sepolicy
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - OstreeSePolicy*
    - GError**
    constantsTouched: []
    func_position:
      end: 3458
      start: 3417
    functionDepth: 0
    functionLinenumber: 3417
    functionLinenumberEnd: 3458
    functionName: sysroot_initialize_deployment_backing
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - _ostree_sysroot_get_deployment_backing_relpath
    - ostree_sysroot_get_deployment_dirpath
    - g_build_filename
    - glnx_fstatat
    - _ostree_sepolicy_preparefscreatecon
    - glnx_prefix_error
    - glnx_ensure_dir
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean sysroot_initialize_deployment_backing (OstreeSysroot
      *self, OstreeDeployment *deployment, OstreeSePolicy *sepolicy, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3574,1
    - Dst: sysroot_finalize_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3584,1
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3576,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3588,1
    - Dst: sysroot_initialize_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:3580,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 10
    argCount: 9
    argNames:
    - self
    - osname
    - revision
    - origin
    - provided_merge_deployment
    - opts
    - out_new_deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - char*
    - GKeyFile*
    - OstreeDeployment*
    - OstreeSysrootDeployTreeOpts*
    - OstreeDeployment**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3590
      start: 3566
    functionDepth: 0
    functionLinenumber: 3566
    functionLinenumberEnd: 3590
    functionName: ostree_sysroot_deploy_tree_with_options
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - sysroot_finalize_deployment
    - sysroot_initialize_deployment
    - g_steal_pointer
    - _ostree_sysroot_ensure_writable
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_deploy_tree_with_options (OstreeSysroot *self,
      const char *osname, const char *revision, GKeyFile *origin, OstreeDeployment
      *provided_merge_deployment, OstreeSysrootDeployTreeOpts *opts, OstreeDeployment
      **out_new_deployment, GCancellable *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ot_fd_readall_or_mmap
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4198,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4202,1
    - Dst: ostree_bootconfig_parser_set
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4220,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4211,1
    - Dst: ostree_sysroot_initialize
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4183,1
    - Dst: g_variant_dict_new
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4203,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4209,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4195,1
    - Dst: ostree_kernel_args_to_strv
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4206,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4208,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4212,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4213,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4225,1
    - Dst: ostree_bootconfig_parser_write_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4230,1
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4187,1
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4185,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4191,1
    - Dst: ostree_kernel_args_from_string
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4205,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4219,1
    - Dst: bootloader_entry_filename
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4223,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4227,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 5
    argNames:
    - self
    - deployment
    - kargs_str
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4236
      start: 4178
    functionDepth: 0
    functionLinenumber: 4178
    functionLinenumberEnd: 4236
    functionName: ostree_sysroot_deployment_set_kargs_in_place
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - g_variant_dict_insert
    - glnx_file_replace_contents_at
    - ostree_bootconfig_parser_write_at
    - ostree_deployment_is_staged
    - bootloader_entry_filename
    - ostree_kernel_args_from_string
    - _ostree_sysroot_ensure_writable
    - ostree_kernel_args_to_strv
    - g_variant_dict_new
    - g_variant_get_data
    - ostree_deployment_get_bootconfig
    - _ostree_sysroot_ensure_boot_fd
    - glnx_opendirat
    - g_strdup_printf
    - glnx_openat_rdonly
    - g_variant_get_size
    - ostree_sysroot_initialize
    - g_variant_dict_end
    - g_variant_new_from_bytes
    - ot_fd_readall_or_mmap
    - ostree_bootconfig_parser_set
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_deployment_set_kargs_in_place (OstreeSysroot
      *self, OstreeDeployment *deployment, char *kargs_str, GCancellable *cancellable,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4069,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4075,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4081,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4074,1
    - Dst: _ostree_sysroot_finalize_staged_inner
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4071,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4084,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4084,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-deploy.c:4091,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4096
      start: 4065
    functionDepth: 0
    functionLinenumber: 4065
    functionLinenumberEnd: 4096
    functionName: _ostree_sysroot_finalize_staged
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-deploy.c
    functionUses: []
    functionsReached:
    - glnx_file_replace_contents_at
    - g_assert_cmpint
    - _ostree_sysroot_ensure_boot_fd
    - _ostree_sysroot_finalize_staged_inner
    - g_steal_pointer
    - glnx_shutil_rm_rf_at
    - g_propagate_error
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_finalize_staged (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gboolean
      Src: /src/ostree/src/libostree/ostree-sign.h:61,1
    - Dst: gboolean
      Src: /src/ostree/src/libostree/ostree-sign.h:63,1
    - Dst: gboolean
      Src: /src/ostree/src/libostree/ostree-sign.h:67,1
    - Dst: gboolean
      Src: /src/ostree/src/libostree/ostree-sign.h:68,1
    - Dst: gboolean
      Src: /src/ostree/src/libostree/ostree-sign.h:69,1
    - Dst: gboolean
      Src: /src/ostree/src/libostree/ostree-sign.h:71,1
    - Dst: gboolean
      Src: /src/ostree/src/libostree/ostree-sign.h:70,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - OstreeSign
    - ostree_sign
    - OSTREE
    - SIGN
    - GObject
    argTypes:
    - OstreeSign
    - ostree_sign
    - OSTREE
    - SIGN
    - GObject
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: G_DECLARE_INTERFACE
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.h
    functionUses: []
    functionsReached:
    - gboolean
    linkageType: ''
    returnType: _OSTREE_PUBLIC
    signature: '_OSTREE_PUBLIC G_DECLARE_INTERFACE (OstreeSign, ostree_sign, OSTREE,
      SIGN, GObject)struct _OstreeSignInterface '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-core.c:788,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:796,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/src/libostree/ostree-core.c:801,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-core.c:803,1
    - Dst: break_symhardlink
      Src: /src/ostree/src/libostree/ostree-core.c:804,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:806,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - dfd
    - path
    - skip_xattrs
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 809
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 809
    functionName: ostree_break_hardlink
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - glnx_file_copy_at
    - S_ISLNK
    - glnx_fstatat
    - glnx_throw
    - break_symhardlink
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_break_hardlink (int dfd, const char *path, gboolean
      skip_xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-core.c:1317,1
    - Dst: g_int_hash
      Src: /src/ostree/src/libostree/ostree-core.c:1319,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-core.c:1319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1320
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1320
    functionName: ostree_hash_object_name
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_object_name_deserialize
    - g_int_hash
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'guint ostree_hash_object_name (gconstpointer a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1413,1
    - Dst: g_ascii_xdigit_value
      Src: /src/ostree/src/libostree/ostree-core.c:1417,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1414,1
    - Dst: g_ascii_xdigit_value
      Src: /src/ostree/src/libostree/ostree-core.c:1416,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1419,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - checksum
    - buf
    argTypes:
    - char*
    - guchar*
    constantsTouched: []
    func_position:
      end: 1424
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1424
    functionName: ostree_checksum_inplace_to_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ascii_xdigit_value
    linkageType: ''
    returnType: void
    signature: 'void ostree_checksum_inplace_to_bytes (const char *checksum, guchar
      *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1693,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1694,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/ostree/src/libostree/ostree-core.c:1697,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:1696,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - file_info
    - out_stbuf
    argTypes:
    - GFileInfo*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 1699
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1699
    functionName: _ostree_gfileinfo_to_stbuf
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - g_file_info_get_attribute_uint64
    - g_file_info_get_attribute_uint32
    linkageType: ''
    returnType: void
    signature: 'void _ostree_gfileinfo_to_stbuf (GFileInfo *file_info, struct stat
      *out_stbuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-core.c:1867,1
    - Dst: _ostree_get_relative_static_delta_path
      Src: /src/ostree/src/libostree/ostree-core.c:1868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - from
    - to
    - i
    argTypes:
    - char*
    - char*
    - guint
    constantsTouched: []
    func_position:
      end: 1869
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1869
    functionName: _ostree_get_relative_static_delta_part_path
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - _ostree_get_relative_static_delta_path
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_get_relative_static_delta_part_path (const char *from,
      const char *to, guint i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-core.c:2048,1
    - Dst: quash_string_for_error_message
      Src: /src/ostree/src/libostree/ostree-core.c:2057,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2058,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-core.c:2067,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - checksum
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 2073
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2073
    functionName: ostree_validate_structureof_checksum_string
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - strlen
    - quash_string_for_error_message
    - glnx_throw
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_structureof_checksum_string (const char *checksum,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_delta_path_base
      Src: /src/ostree/src/libostree/ostree-core.c:1874,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-core.c:1878,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-core.c:1876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - to
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1879
    functionName: _ostree_get_relative_static_delta_index_path
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_append
    - static_delta_path_base
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_get_relative_static_delta_index_path (const char *to) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-core.c:725,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/src/libostree/ostree-core.c:733,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-core.c:737,1
    - Dst: glnx_gen_temp_name
      Src: /src/ostree/src/libostree/ostree-core.c:731,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-core.c:735,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:737,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-core.c:747,1
    - Dst: glnx_renameat
      Src: /src/ostree/src/libostree/ostree-core.c:752,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 6
    argNames:
    - dfd
    - path
    - stbuf
    - copyflags
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - struct stat*
    - GLnxFileCopyFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 756
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 756
    functionName: break_symhardlink
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_set_error
    - glnx_file_copy_at
    - g_error_matches
    - glnx_renameat
    - g_steal_pointer
    - glnx_gen_temp_name
    - glnx_strjoina
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean break_symhardlink (int dfd, const char *path, struct
      stat *stbuf, GLnxFileCopyFlags copyflags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-core.c:1297,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-core.c:1299,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1298,1
    - Dst: ostree_object_type_from_string
      Src: /src/ostree/src/libostree/ostree-core.c:1300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - str
    - out_checksum
    - out_objtype
    argTypes:
    - char*
    - gchar**
    - OstreeObjectType*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1301
    functionName: ostree_object_from_string
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_strndup
    - g_assert
    - ostree_object_type_from_string
    linkageType: ''
    returnType: void
    signature: 'void ostree_object_from_string (const char *str, gchar **out_checksum,
      OstreeObjectType *out_objtype) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_new
      Src: /src/ostree/src/libostree/ostree-core.c:1649,1
    - Dst: S_ISBLK
      Src: /src/ostree/src/libostree/ostree-core.c:1658,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-core.c:1652,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-core.c:1656,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:1654,1
    - Dst: S_ISCHR
      Src: /src/ostree/src/libostree/ostree-core.c:1658,1
    - Dst: S_ISFIFO
      Src: /src/ostree/src/libostree/ostree-core.c:1658,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1662,1
    - Dst: g_file_info_set_attribute_boolean
      Src: /src/ostree/src/libostree/ostree-core.c:1663,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-core.c:1663,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1666,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/ostree/src/libostree/ostree-core.c:1675,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1669,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/ostree/src/libostree/ostree-core.c:1673,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:1672,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/ostree/src/libostree/ostree-core.c:1670,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1664,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1665,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - stbuf
    argTypes:
    - struct stat*
    constantsTouched: []
    func_position:
      end: 1678
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1678
    functionName: _ostree_stbuf_to_gfileinfo
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - S_ISCHR
    - g_file_info_set_attribute_boolean
    - S_ISLNK
    - S_ISFIFO
    - g_file_info_set_attribute_uint64
    - g_file_info_new
    - g_file_info_set_attribute_uint32
    - S_ISBLK
    - S_ISDIR
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *_ostree_stbuf_to_gfileinfo (const struct stat *stbuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-core.c:2034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - checksum
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2035
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2035
    functionName: ostree_validate_structureof_csum_v
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_checksum_bytes_peek_validate
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_structureof_csum_v (GVariant *checksum, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_CHECK_VERSION
      Src: /src/ostree/src/libostree/ostree-core.c:2732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - required_year
    - required_release
    argTypes:
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 2733
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2733
    functionName: ostree_check_version
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - OSTREE_CHECK_VERSION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_check_version (guint required_year, guint required_release) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libostree/ostree-core.c:877,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-core.c:879,1
    - Dst: ot_gio_splice_update_checksum
      Src: /src/ostree/src/libostree/ostree-core.c:881,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-core.c:884,1
    - Dst: ostree_create_directory_metadata
      Src: /src/ostree/src/libostree/ostree-core.c:886,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libostree/ostree-core.c:887,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-core.c:887,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-core.c:887,1
    - Dst: _ostree_file_header_new
      Src: /src/ostree/src/libostree/ostree-core.c:891,1
    - Dst: ot_checksum_update_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:893,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-core.c:895,1
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-core.c:902,1
    - Dst: ot_checksum_get_digest
      Src: /src/ostree/src/libostree/ostree-core.c:903,1
    - Dst: ot_gio_splice_update_checksum
      Src: /src/ostree/src/libostree/ostree-core.c:897,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 7
    argNames:
    - file_info
    - xattrs
    - in
    - objtype
    - out_csum
    - cancellable
    - error
    argTypes:
    - GFileInfo*
    - GVariant*
    - GInputStream*
    - OstreeObjectType
    - guchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 905
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 905
    functionName: ostree_checksum_file_from_input
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - _ostree_file_header_new
    - ot_gio_splice_update_checksum
    - OSTREE_OBJECT_TYPE_IS_META
    - ot_checksum_get_digest
    - ot_checksum_update
    - ot_checksum_update_bytes
    - g_file_info_get_file_type
    - ot_checksum_init
    - ostree_create_directory_metadata
    - g_malloc
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_checksum_file_from_input (GFileInfo *file_info, GVariant
      *xattrs, GInputStream *in, OstreeObjectType objtype, guchar **out_csum, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_canonicalize_xattrs
      Src: /src/ostree/src/libostree/ostree-core.c:1154,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1157,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1157,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-core.c:1156,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1158,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1158,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1159,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1159,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-core.c:1160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - dir_info
    - xattrs
    argTypes:
    - GFileInfo*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1163
    functionName: ostree_create_directory_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - _ostree_canonicalize_xattrs
    - g_file_info_get_attribute_uint32
    - GUINT32_TO_BE
    - g_variant_new
    - g_variant_ref_sink
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_create_directory_metadata (GFileInfo *dir_info, GVariant
      *xattrs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-core.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - objtype
    argTypes:
    - OstreeObjectType
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: ostree_metadata_variant_type
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *ostree_metadata_variant_type (OstreeObjectType
      objtype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-core.c:1135,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-core.c:1137,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:1136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - objtype
    - expected
    - actual
    - error
    argTypes:
    - OstreeObjectType
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 1139
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1139
    functionName: _ostree_compare_object_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - ostree_object_type_to_string
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_compare_object_checksum (OstreeObjectType objtype,
      const char *expected, const char *actual, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-core.c:1436,1
    - Dst: ostree_checksum_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1439
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1439
    functionName: ostree_checksum_to_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_checksum_inplace_to_bytes
    - g_malloc
    linkageType: ''
    returnType: guchar*
    signature: 'guchar *ostree_checksum_to_bytes (const char *checksum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER
      Src: /src/ostree/src/libostree/ostree-core.c:473,1
    - Dst: _ostree_zlib_file_header_new
      Src: /src/ostree/src/libostree/ostree-core.c:476,1
    - Dst: header_and_input_to_stream
      Src: /src/ostree/src/libostree/ostree-core.c:477,1
    - Dst: g_converter_input_stream_new
      Src: /src/ostree/src/libostree/ostree-core.c:474,1
    - Dst: g_zlib_compressor_new
      Src: /src/ostree/src/libostree/ostree-core.c:473,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 7
    argNames:
    - input
    - file_info
    - xattrs
    - compression_level
    - out_input
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GFileInfo*
    - GVariant*
    - guint
    - GInputStream**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 479
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 479
    functionName: _ostree_raw_file_to_archive_stream
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_converter_input_stream_new
    - G_CONVERTER
    - _ostree_zlib_file_header_new
    - g_zlib_compressor_new
    - header_and_input_to_stream
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_raw_file_to_archive_stream (GInputStream *input,
      GFileInfo *file_info, GVariant *xattrs, guint compression_level, GInputStream
      **out_input, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_normal_form
      Src: /src/ostree/src/libostree/ostree-core.c:2078,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2084,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2080,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-core.c:2082,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - variant
    - variant_type
    - error
    argTypes:
    - GVariant*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 2087
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2087
    functionName: validate_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_variant_is_of_type
    - g_variant_is_normal_form
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_variant (GVariant *variant, const GVariantType
      *variant_type, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2413,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:2414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - commit_variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2415
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2415
    functionName: ostree_commit_get_timestamp
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - GUINT64_FROM_BE
    - g_variant_get_child
    linkageType: ''
    returnType: guint64
    signature: 'guint64 ostree_commit_get_timestamp (GVariant *commit_variant) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-core.c:448,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-core.c:453,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-core.c:457,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:451,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-core.c:453,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-core.c:457,1
    - Dst: ostree_chain_input_stream_new
      Src: /src/ostree/src/libostree/ostree-core.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - file_header
    - input
    argTypes:
    - GBytes*
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 461
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: header_and_input_to_stream
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_ptr_array_new_with_free_func
    - ostree_chain_input_stream_new
    - g_memory_input_stream_new_from_bytes
    - g_ptr_array_add
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *header_and_input_to_stream (GBytes *file_header,
      GInputStream *input) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:1111,1
    - Dst: G_IS_FILE
      Src: /src/ostree/src/libostree/ostree-core.c:1111,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/ostree/src/libostree/ostree-core.c:1112,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:1113,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:1112,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:1114,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-core.c:1114,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:1115,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-core.c:1115,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:1117,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-core.c:1117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - f
    - result
    - out_csum
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - guchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 1126
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1126
    functionName: ostree_checksum_file_async_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_checksum_file_async_finish (GFile *f, GAsyncResult
      *result, guchar **out_csum, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-core.c:2396,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-core.c:2399,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-core.c:2397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - commit_variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2400
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2400
    functionName: ostree_commit_get_parent
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child_value
    - ostree_checksum_from_bytes_v
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *ostree_commit_get_parent (GVariant *commit_variant) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:2644,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-core.c:2649,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/libostree/ostree-core.c:2657,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2652,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-core.c:2648,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/libostree/ostree-core.c:2658,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2660,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 5
    argNames:
    - current_rev
    - current_ts
    - new_rev
    - new_ts
    - error
    argTypes:
    - char*
    - guint64
    - char*
    - guint64
    - GError**
    constantsTouched: []
    func_position:
      end: 2665
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2665
    functionName: _ostree_compare_timestamps
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_date_time_format
    - glnx_throw
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_compare_timestamps (const char *current_rev, guint64
      current_ts, const char *new_rev, guint64 new_ts, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-core.c:413,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-core.c:419,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:417,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:416,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-core.c:415,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-core.c:430,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-core.c:433,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-core.c:433,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-core.c:433,1
    - Dst: g_string_free_to_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:434,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 435
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 435
    functionName: variant_to_lenprefixed_buffer
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_free_to_bytes
    - g_assert
    - g_steal_pointer
    - GUINT32_TO_BE
    - g_string_append_len
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: GBytes*
    signature: 'static GBytes *variant_to_lenprefixed_buffer (GVariant *variant) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-core.c:1806,1
    - Dst: ostree_checksum_b64_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1810,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1812,1
    - Dst: ostree_checksum_b64_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1809,1
    - Dst: ostree_checksum_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1808,1
    - Dst: memcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1812,1
    - Dst: ostree_checksum_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1819,1
    - Dst: ostree_checksum_b64_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1820,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1822,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1823,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1826,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-core.c:1833,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1824,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1830,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1829,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-core.c:1825,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1832,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - dir
    - from
    - to
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1836
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1836
    functionName: static_delta_path_base
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_assert
    - ostree_checksum_inplace_to_bytes
    - g_string_append_c
    - memcmp
    - ostree_checksum_b64_inplace_from_bytes
    - ostree_checksum_b64_inplace_to_bytes
    linkageType: ''
    returnType: GString*
    signature: 'static GString *static_delta_path_base (const char *dir, const char
      *from, const char *to) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libostree/ostree-core.c:2443,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-core.c:2452,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2448,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2449,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libostree/ostree-core.c:2455,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-core.c:2456,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libostree/ostree-core.c:2459,1
    - Dst: ot_checksum_get_hexdigest
      Src: /src/ostree/src/libostree/ostree-core.c:2461,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-core.c:2462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - commit_variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2463
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2463
    functionName: ostree_commit_get_content_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ot_checksum_update
    - g_variant_get_child
    - ot_checksum_get_hexdigest
    - ot_checksum_init
    - ostree_checksum_bytes_peek_validate
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *ostree_commit_get_content_checksum (GVariant *commit_variant) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_delta_path_base
      Src: /src/ostree/src/libostree/ostree-core.c:1841,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-core.c:1846,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-core.c:1849,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - from
    - to
    - target
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1850
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1850
    functionName: _ostree_get_relative_static_delta_path
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_append
    - static_delta_path_base
    - g_string_append_c
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_get_relative_static_delta_path (const char *from, const
      char *to, const char *target) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:383,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:385,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-core.c:389,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:384,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-core.c:388,1
    - Dst: g_file_info_has_attribute
      Src: /src/ostree/src/libostree/ostree-core.c:393,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-core.c:394,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-core.c:398,1
    - Dst: g_variant_new_array
      Src: /src/ostree/src/libostree/ostree-core.c:398,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-core.c:398,1
    - Dst: variant_to_lenprefixed_buffer
      Src: /src/ostree/src/libostree/ostree-core.c:403,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-core.c:400,1
    - Dst: GUINT64_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:401,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:401,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-core.c:403,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:402,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - file_info
    - xattrs
    argTypes:
    - GFileInfo*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 404
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 404
    functionName: _ostree_zlib_file_header_new
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_file_info_has_attribute
    - GUINT64_TO_BE
    - variant_to_lenprefixed_buffer
    - g_file_info_get_attribute_uint32
    - g_file_info_get_file_type
    - GUINT32_TO_BE
    - g_file_info_get_symlink_target
    - g_variant_new
    - g_variant_ref_sink
    - g_variant_new_array
    - g_file_info_get_size
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *_ostree_zlib_file_header_new (GFileInfo *file_info, GVariant
      *xattrs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:2095,1
    - Dst: ostree_validate_structureof_dirtree
      Src: /src/ostree/src/libostree/ostree-core.c:2104,1
    - Dst: ostree_validate_structureof_commit
      Src: /src/ostree/src/libostree/ostree-core.c:2100,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-core.c:2095,1
    - Dst: ostree_validate_structureof_dirmeta
      Src: /src/ostree/src/libostree/ostree-core.c:2108,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-core.c:2119,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 11
    argCount: 3
    argNames:
    - objtype
    - metadata
    - error
    argTypes:
    - OstreeObjectType
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2124
      start: 2092
    functionDepth: 0
    functionLinenumber: 2092
    functionLinenumberEnd: 2124
    functionName: _ostree_validate_structureof_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_validate_structureof_dirtree
    - g_assert
    - OSTREE_OBJECT_TYPE_IS_META
    - g_assert_not_reached
    - ostree_validate_structureof_dirmeta
    - ostree_validate_structureof_commit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_validate_structureof_metadata (OstreeObjectType objtype,
      GVariant *metadata, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_validate_structureof_checksum_string
      Src: /src/ostree/src/libostree/ostree-core.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sha256
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ostree_validate_checksum_string
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_validate_structureof_checksum_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_checksum_string (const char *sha256, GError
      **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1249,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1257,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1255,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1251,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1253,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1259,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1261,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1263,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1265,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-core.c:1267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1269
    functionName: ostree_object_type_from_string
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - strcmp
    linkageType: ''
    returnType: OstreeObjectType
    signature: 'OstreeObjectType ostree_object_type_from_string (const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-core.c:1084,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-core.c:1089,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-core.c:1088,1
    - Dst: G_OBJECT
      Src: /src/ostree/src/libostree/ostree-core.c:1088,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-core.c:1085,1
    - Dst: g_task_set_priority
      Src: /src/ostree/src/libostree/ostree-core.c:1090,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-core.c:1091,1
    - Dst: g_task_run_in_thread
      Src: /src/ostree/src/libostree/ostree-core.c:1092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - f
    - objtype
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - OstreeObjectType
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1093
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1093
    functionName: ostree_checksum_file_async
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'void ostree_checksum_file_async (GFile *f, OstreeObjectType objtype,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-core.c:1235,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 3
    argCount: 1
    argNames:
    - objtype
    argTypes:
    - OstreeObjectType
    constantsTouched: []
    func_position:
      end: 1238
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1238
    functionName: ostree_object_type_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_object_type_to_string (OstreeObjectType objtype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:2603,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-core.c:2607,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-core.c:2605,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-core.c:2610,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-core.c:2606,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-core.c:2616,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-core.c:2619,1
    - Dst: g_variant_iter_next_value
      Src: /src/ostree/src/libostree/ostree-core.c:2620,1
    - Dst: read_sizes_entry
      Src: /src/ostree/src/libostree/ostree-core.c:2623,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:2625,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:2630,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-core.c:2626,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - commit_variant
    - out_sizes_entries
    - error
    argTypes:
    - GVariant*
    - GPtrArray**
    - GError**
    constantsTouched: []
    func_position:
      end: 2633
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2633
    functionName: ostree_commit_get_object_sizes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_VARIANT_TYPE
    - g_variant_iter_next_value
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - g_variant_iter_init
    - g_variant_get_child_value
    - g_steal_pointer
    - g_variant_lookup_value
    - read_sizes_entry
    - g_return_val_if_fail
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_commit_get_object_sizes (GVariant *commit_variant,
      GPtrArray **out_sizes_entries, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-core.c:1180,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-core.c:1187,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:1198,1
    - Dst: glnx_gen_temp_name
      Src: /src/ostree/src/libostree/ostree-core.c:1186,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-core.c:1192,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:1201,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 5
    argNames:
    - tmp_dirfd
    - target
    - out_name
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1203
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1203
    functionName: _ostree_make_temporary_symlink_at
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_strdup
    - symlinkat
    - g_steal_pointer
    - glnx_gen_temp_name
    - glnx_throw
    - glnx_throw_errno
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_make_temporary_symlink_at (int tmp_dirfd, const char
      *target, char **out_name, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-core.c:1281,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-core.c:1281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - checksum
    - objtype
    argTypes:
    - char*
    - OstreeObjectType
    constantsTouched: []
    func_position:
      end: 1282
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1282
    functionName: ostree_object_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - ostree_object_type_to_string
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_object_to_string (const char *checksum, OstreeObjectType
      objtype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dfd_name_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-core.c:851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 4
    argNames:
    - dfd
    - path
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 854
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 854
    functionName: ostree_fs_get_all_xattrs_at
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - glnx_dfd_name_get_all_xattrs
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_fs_get_all_xattrs_at (int dfd, const char *path,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_base64_encode_step
      Src: /src/ostree/src/libostree/ostree-core.c:1506,1
    - Dst: g_base64_encode_close
      Src: /src/ostree/src/libostree/ostree-core.c:1507,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1515,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - csum
    - buf
    argTypes:
    - guchar*
    - char*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1523
    functionName: ostree_checksum_b64_inplace_from_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_base64_encode_close
    - g_base64_encode_step
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'void ostree_checksum_b64_inplace_from_bytes (const guchar *csum, char
      *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fd_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-core.c:826,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - cancellable
    - error
    argTypes:
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 829
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 829
    functionName: ostree_fs_get_all_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - glnx_fd_get_all_xattrs
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_fs_get_all_xattrs (int fd, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-core.c:1481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - csum
    - buf
    argTypes:
    - guchar*
    - char*
    constantsTouched: []
    func_position:
      end: 1482
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1482
    functionName: ostree_checksum_inplace_from_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ot_bin2hex
    linkageType: ''
    returnType: void
    signature: 'void ostree_checksum_inplace_from_bytes (const guchar *csum, char
      *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_get_relative_static_delta_path
      Src: /src/ostree/src/libostree/ostree-core.c:1855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1856
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1856
    functionName: _ostree_get_relative_static_delta_superblock_path
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - _ostree_get_relative_static_delta_path
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_get_relative_static_delta_superblock_path (const char
      *from, const char *to) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:1748,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 2
    argNames:
    - stbuf_a
    - stbuf_b
    argTypes:
    - struct stat*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 1755
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1755
    functionName: _ostree_stbuf_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - S_ISREG
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_stbuf_equal (struct stat *stbuf_a, struct stat *stbuf_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_get_relative_static_delta_path
      Src: /src/ostree/src/libostree/ostree-core.c:1861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1862
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1862
    functionName: _ostree_get_relative_static_delta_detachedmeta_path
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - _ostree_get_relative_static_delta_path
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_get_relative_static_delta_detachedmeta_path (const char
      *from, const char *to) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_ONE_ATTR
      Src: /src/ostree/src/libostree/ostree-core.c:1728,1
    - Dst: CHECK_ONE_ATTR
      Src: /src/ostree/src/libostree/ostree-core.c:1732,1
    - Dst: CHECK_ONE_ATTR
      Src: /src/ostree/src/libostree/ostree-core.c:1731,1
    - Dst: CHECK_ONE_ATTR
      Src: /src/ostree/src/libostree/ostree-core.c:1730,1
    - Dst: CHECK_ONE_ATTR
      Src: /src/ostree/src/libostree/ostree-core.c:1729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GFileInfo*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1737
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1737
    functionName: _ostree_gfileinfo_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - CHECK_ONE_ATTR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_gfileinfo_equal (GFileInfo *a, GFileInfo *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-core.c:323,1
    - Dst: g_variant_new_array
      Src: /src/ostree/src/libostree/ostree-core.c:323,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-core.c:326,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-core.c:323,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-core.c:328,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-core.c:331,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-core.c:332,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-core.c:335,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-core.c:338,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-core.c:338,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-core.c:340,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-core.c:342,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-core.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - xattrs
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 343
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 343
    functionName: _ostree_canonicalize_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_ptr_array_new_with_free_func
    - g_variant_n_children
    - g_variant_get_child_value
    - g_ptr_array_sort
    - g_variant_builder_add_value
    - g_variant_builder_init
    - g_variant_ref_sink
    - g_variant_new_array
    - g_ptr_array_add
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *_ostree_canonicalize_xattrs (GVariant *xattrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ostree/src/libostree/ostree-core.c:1628,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-core.c:1630,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-core.c:1629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - checksum
    - objtype
    - mode
    argTypes:
    - char*
    - char*
    - OstreeObjectType
    - OstreeRepoMode
    constantsTouched: []
    func_position:
      end: 1631
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1631
    functionName: _ostree_loose_path
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - snprintf
    - OSTREE_OBJECT_TYPE_IS_META
    linkageType: ''
    returnType: void
    signature: 'void _ostree_loose_path (char *buf, const char *checksum, OstreeObjectType
      objtype, OstreeRepoMode mode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validate_variant
      Src: /src/ostree/src/libostree/ostree-core.c:2177,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:2184,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2181,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:2182,1
    - Dst: g_variant_iter_new
      Src: /src/ostree/src/libostree/ostree-core.c:2183,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-core.c:2187,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-core.c:2189,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2190,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2194,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-core.c:2196,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-core.c:2200,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-core.c:2206,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-core.c:2199,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-core.c:2205,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-core.c:2211,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2204,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2209,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-core.c:2210,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - commit
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2214
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2214
    functionName: ostree_validate_structureof_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_iter_new
    - g_variant_iter_loop
    - ostree_validate_structureof_csum_v
    - g_variant_get_fixed_array
    - g_assert
    - validate_variant
    - g_variant_get_child
    - glnx_prefix_error
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_structureof_commit (GVariant *commit, GError
      **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-core.c:167,1
    - Dst: g_regex_new
      Src: /src/ostree/src/libostree/ostree-core.c:170,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-core.c:172,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:171,1
    - Dst: g_regex_match
      Src: /src/ostree/src/libostree/ostree-core.c:176,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:177,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-core.c:179,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:182,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-core.c:187,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:191,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-core.c:193,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 4
    argNames:
    - refspec
    - out_remote
    - out_ref
    - error
    argTypes:
    - char*
    - char**
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 195
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 195
    functionName: ostree_parse_refspec
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - strlen
    - g_once_init_enter
    - g_assert
    - g_clear_pointer
    - g_steal_pointer
    - g_once_init_leave
    - glnx_throw
    - g_match_info_fetch
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_parse_refspec (const char *refspec, char **out_remote,
      char **out_ref, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:2312,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-core.c:2312,1
    - Dst: validate_stat_mode_perms
      Src: /src/ostree/src/libostree/ostree-core.c:2315,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - mode
    - error
    argTypes:
    - guint32
    - GError**
    constantsTouched: []
    func_position:
      end: 2319
      start: 2309
    functionDepth: 0
    functionLinenumber: 2309
    functionLinenumberEnd: 2319
    functionName: ostree_validate_structureof_file_mode
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - validate_stat_mode_perms
    - S_ISLNK
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_structureof_file_mode (guint32 mode, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:2508,1
    - Dst: ostree_commit_sizes_entry_new
      Src: /src/ostree/src/libostree/ostree-core.c:2510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - OstreeCommitSizesEntry*
    constantsTouched: []
    func_position:
      end: 2512
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2512
    functionName: ostree_commit_sizes_entry_copy
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - ostree_commit_sizes_entry_new
    linkageType: ''
    returnType: OstreeCommitSizesEntry*
    signature: 'OstreeCommitSizesEntry *ostree_commit_sizes_entry_copy (const OstreeCommitSizesEntry
      *entry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-core.c:202,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:205,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-core.c:206,1
    - Dst: g_regex_match
      Src: /src/ostree/src/libostree/ostree-core.c:210,1
    - Dst: g_regex_new
      Src: /src/ostree/src/libostree/ostree-core.c:204,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - fragment
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: _ostree_validate_ref_fragment
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_assert
    - g_once_init_leave
    - glnx_throw
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_validate_ref_fragment (const char *fragment, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:354,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-core.c:360,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-core.c:359,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:355,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:356,1
    - Dst: _ostree_canonicalize_xattrs
      Src: /src/ostree/src/libostree/ostree-core.c:365,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-core.c:368,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:368,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:368,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-core.c:369,1
    - Dst: variant_to_lenprefixed_buffer
      Src: /src/ostree/src/libostree/ostree-core.c:370,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-core.c:370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - file_info
    - xattrs
    argTypes:
    - GFileInfo*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 371
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 371
    functionName: _ostree_file_header_new
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - _ostree_canonicalize_xattrs
    - variant_to_lenprefixed_buffer
    - g_file_info_get_attribute_uint32
    - g_file_info_get_file_type
    - GUINT32_TO_BE
    - g_file_info_get_symlink_target
    - g_variant_new
    - g_variant_ref_sink
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *_ostree_file_header_new (GFileInfo *file_info, GVariant *xattrs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - mode
    - error
    argTypes:
    - guint32
    - GError**
    constantsTouched: []
    func_position:
      end: 2300
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2300
    functionName: validate_stat_mode_perms
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_stat_mode_perms (guint32 mode, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:2485,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-core.c:2488,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:2493,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-core.c:2487,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-core.c:2485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - checksum
    - objtype
    - unpacked
    - archived
    argTypes:
    - gchar*
    - OstreeObjectType
    - guint64
    - guint64
    constantsTouched: []
    func_position:
      end: 2494
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2494
    functionName: ostree_commit_sizes_entry_new
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - ostree_validate_checksum_string
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeCommitSizesEntry*
    signature: 'OstreeCommitSizesEntry *ostree_commit_sizes_entry_new (const gchar
      *checksum, OstreeObjectType objtype, guint64 unpacked, guint64 archived) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1785,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-core.c:1787,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-core.c:1785,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1790,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-core.c:1789,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-core.c:1791,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-core.c:1792,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-core.c:1793,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-core.c:1793,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-core.c:1794,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-core.c:1795,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-core.c:1797,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - checksum
    - type
    - compressed
    argTypes:
    - char*
    - OstreeObjectType
    - gboolean
    constantsTouched: []
    func_position:
      end: 1798
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1798
    functionName: _ostree_get_relative_object_path
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - strlen
    - ostree_object_type_to_string
    - g_string_new
    - g_string_append
    - g_assert
    - OSTREE_OBJECT_TYPE_IS_META
    - g_string_append_c
    - g_string_append_len
    - g_string_free
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_get_relative_object_path (const char *checksum, OstreeObjectType
      type, gboolean compressed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-core.c:258,1
    - Dst: g_regex_match
      Src: /src/ostree/src/libostree/ostree-core.c:265,1
    - Dst: g_regex_new
      Src: /src/ostree/src/libostree/ostree-core.c:260,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:261,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-core.c:262,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - remote_name
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 269
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 269
    functionName: ostree_validate_remote_name
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_assert
    - g_once_init_leave
    - glnx_throw
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_remote_name (const char *remote_name, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_is_interface_name
      Src: /src/ostree/src/libostree/ostree-core.c:298,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - collection_id
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: ostree_validate_collection_id
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - glnx_throw
    - g_dbus_is_interface_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_collection_id (const char *collection_id,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-core.c:1582,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-core.c:1583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1586
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1586
    functionName: ostree_checksum_bytes_peek
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_variant_get_fixed_array
    linkageType: ''
    returnType: guchar*
    signature: 'const guchar *ostree_checksum_bytes_peek (GVariant *bytes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-core.c:2328,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2336,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2341,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:2339,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2334,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2343,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - xattrs
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2350
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2350
    functionName: _ostree_validate_structureof_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child
    - glnx_throw
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_validate_structureof_xattrs (GVariant *xattrs, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-core.c:311,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-core.c:314,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-core.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - a_pp
    - b_pp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 315
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 315
    functionName: compare_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_variant_get
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int compare_xattrs (const void *a_pp, const void *b_pp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - objtype
    - error
    argTypes:
    - guchar
    - GError**
    constantsTouched: []
    func_position:
      end: 2022
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2022
    functionName: ostree_validate_structureof_objtype
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_structureof_objtype (guchar objtype, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-core.c:230,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-core.c:234,1
    - Dst: g_regex_new
      Src: /src/ostree/src/libostree/ostree-core.c:232,1
    - Dst: g_regex_match
      Src: /src/ostree/src/libostree/ostree-core.c:237,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:233,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - rev
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 241
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 241
    functionName: ostree_validate_rev
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_assert
    - g_once_init_leave
    - glnx_throw
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_rev (const char *rev, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1548,1
    - Dst: ostree_checksum_bytes_peek
      Src: /src/ostree/src/libostree/ostree-core.c:1548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - csum_v
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1549
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1549
    functionName: ostree_checksum_from_bytes_v
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_checksum_from_bytes
    - ostree_checksum_bytes_peek
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_checksum_from_bytes_v (GVariant *csum_v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-core.c:1565,1
    - Dst: ostree_checksum_b64_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - csum
    argTypes:
    - guchar*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1568
    functionName: ostree_checksum_b64_from_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_malloc
    - ostree_checksum_b64_inplace_from_bytes
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_checksum_b64_from_bytes (const guchar *csum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_stbuf_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-core.c:1769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mode
    - uid
    - gid
    argTypes:
    - mode_t
    - uid_t
    - gid_t
    constantsTouched: []
    func_position:
      end: 1770
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1770
    functionName: _ostree_mode_uidgid_to_gfileinfo
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - _ostree_stbuf_to_gfileinfo
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *_ostree_mode_uidgid_to_gfileinfo (mode_t mode, uid_t uid,
      gid_t gid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-core.c:1930,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1936,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1933,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:1933,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1935,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1937,1
    - Dst: _ostree_mode_uidgid_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-core.c:1938,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:1940,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-core.c:1944,1
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/ostree/src/libostree/ostree-core.c:1946,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:1954,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:1955,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:1951,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - metadata
    - out_file_info
    - out_xattrs
    - error
    argTypes:
    - GVariant*
    - GFileInfo**
    - GVariant**
    - GError**
    constantsTouched: []
    func_position:
      end: 1957
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1957
    functionName: file_header_parse
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - GUINT32_FROM_BE
    - S_ISLNK
    - g_variant_get
    - ot_transfer_out_value
    - _ostree_mode_uidgid_to_gfileinfo
    - glnx_throw
    - g_file_info_set_attribute_byte_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean file_header_parse (GVariant *metadata, GFileInfo **out_file_info,
      GVariant **out_xattrs, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-core.c:2708,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-core.c:2710,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-core.c:2714,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-core.c:2713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2718
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2718
    functionName: _ostree_get_default_sysroot_path
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_file_new_for_path
    - g_once_init_enter
    - g_once_init_leave
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *_ostree_get_default_sysroot_path (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:2135,1
    - Dst: ot_checksum_init
      Src: /src/ostree/src/libostree/ostree-core.c:2144,1
    - Dst: ot_variant_get_data
      Src: /src/ostree/src/libostree/ostree-core.c:2137,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-core.c:2145,1
    - Dst: ot_checksum_update
      Src: /src/ostree/src/libostree/ostree-core.c:2145,1
    - Dst: ot_checksum_get_hexdigest
      Src: /src/ostree/src/libostree/ostree-core.c:2148,1
    - Dst: _ostree_compare_object_checksum
      Src: /src/ostree/src/libostree/ostree-core.c:2149,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-core.c:2155,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-core.c:2155,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-core.c:2156,1
    - Dst: _ostree_validate_structureof_metadata
      Src: /src/ostree/src/libostree/ostree-core.c:2157,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - objtype
    - expected_checksum
    - metadata
    - error
    argTypes:
    - OstreeObjectType
    - char*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2162
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2162
    functionName: _ostree_verify_metadata_object
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - GLNX_AUTO_PREFIX_ERROR
    - ot_variant_get_data
    - g_assert
    - _ostree_compare_object_checksum
    - _ostree_validate_structureof_metadata
    - glnx_strjoina
    - ot_checksum_get_hexdigest
    - ot_checksum_init
    - ot_checksum_update
    - g_variant_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_verify_metadata_object (OstreeObjectType objtype,
      const char *expected_checksum, GVariant *metadata, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:977,1
    - Dst: _ostree_stbuf_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-core.c:990,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-core.c:979,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:995,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-core.c:986,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-core.c:998,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-core.c:1000,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-core.c:1000,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1003,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core.c:1004,1
    - Dst: ot_readlinkat_gfile_info
      Src: /src/ostree/src/libostree/ostree-core.c:1009,1
    - Dst: glnx_dfd_name_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-core.c:1018,1
    - Dst: ostree_checksum_file_from_input
      Src: /src/ostree/src/libostree/ostree-core.c:1023,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-core.c:1007,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1027,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 8
    argNames:
    - dfd
    - path
    - stbuf
    - objtype
    - flags
    - out_checksum
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - struct stat*
    - OstreeObjectType
    - OstreeChecksumFlags
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1029
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1029
    functionName: ostree_checksum_file_at
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - ostree_checksum_from_bytes
    - glnx_dfd_name_get_all_xattrs
    - g_steal_fd
    - g_unix_input_stream_new
    - S_ISLNK
    - g_cancellable_set_error_if_cancelled
    - glnx_fstatat
    - ot_readlinkat_gfile_info
    - glnx_openat_rdonly
    - g_return_val_if_fail
    - g_file_info_set_attribute_uint32
    - _ostree_stbuf_to_gfileinfo
    - ostree_checksum_file_from_input
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_checksum_file_at (int dfd, const char *path, struct
      stat *stbuf, OstreeObjectType objtype, OstreeChecksumFlags flags, char **out_checksum,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_bytes_peek
      Src: /src/ostree/src/libostree/ostree-core.c:1600,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-core.c:1605,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-core.c:1603,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-core.c:1601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - bytes
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 1609
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1609
    functionName: ostree_checksum_bytes_peek_validate
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_n_children
    - ostree_checksum_bytes_peek
    - G_UNLIKELY
    linkageType: ''
    returnType: guchar*
    signature: 'const guchar *ostree_checksum_bytes_peek_validate (GVariant *bytes,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: validate_variant
      Src: /src/ostree/src/libostree/ostree-core.c:2366,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-core.c:2372,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2369,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:2370,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2373,1
    - Dst: validate_stat_mode_perms
      Src: /src/ostree/src/libostree/ostree-core.c:2375,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-core.c:2378,1
    - Dst: _ostree_validate_structureof_xattrs
      Src: /src/ostree/src/libostree/ostree-core.c:2379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - dirmeta
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2383
      start: 2361
    functionDepth: 0
    functionLinenumber: 2361
    functionLinenumberEnd: 2383
    functionName: ostree_validate_structureof_dirmeta
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - validate_stat_mode_perms
    - GUINT32_FROM_BE
    - g_variant_get_child_value
    - validate_variant
    - _ostree_validate_structureof_xattrs
    - g_variant_get_child
    - glnx_throw
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_structureof_dirmeta (GVariant *dirmeta, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-core.c:58,1
    - Dst: g_utf8_make_valid
      Src: /src/ostree/src/libostree/ostree-core.c:63,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-core.c:66,1
    - Dst: g_ascii_isprint
      Src: /src/ostree/src/libostree/ostree-core.c:75,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/src/libostree/ostree-core.c:73,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/src/libostree/ostree-core.c:61,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - input
    - len
    - maxlen
    argTypes:
    - char*
    - ssize_t
    - ssize_t
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: quash_string_for_error_message
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - strlen
    - GLIB_CHECK_VERSION
    - g_strndup
    - g_utf8_make_valid
    - g_ascii_isprint
    linkageType: ''
    returnType: char*
    signature: 'static char *quash_string_for_error_message (const char *input, ssize_t
      len, ssize_t maxlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_content_file_parse_at
      Src: /src/ostree/src/libostree/ostree-core.c:714,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-core.c:714,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 8
    argNames:
    - compressed
    - content_path
    - trusted
    - out_input
    - out_file_info
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - gboolean
    - GFile*
    - gboolean
    - GInputStream**
    - GFileInfo**
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 717
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 717
    functionName: ostree_content_file_parse
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_content_file_parse_at
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_content_file_parse (gboolean compressed, GFile *content_path,
      gboolean trusted, GInputStream **out_input, GFileInfo **out_file_info, GVariant
      **out_xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core.c:1345,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-core.c:1346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - checksum
    - objtype
    argTypes:
    - char*
    - OstreeObjectType
    constantsTouched: []
    func_position:
      end: 1347
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1347
    functionName: ostree_object_name_serialize
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_object_name_serialize (const char *checksum, OstreeObjectType
      objtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-core.c:2675,1
    - Dst: g_variant_dict_lookup_value
      Src: /src/ostree/src/libostree/ostree-core.c:2677,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-core.c:2684,1
    - Dst: ot_gvariant_new_ay_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:2684,1
    - Dst: ot_util_variant_builder_from_variant
      Src: /src/ostree/src/libostree/ostree-core.c:2682,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-core.c:2686,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-core.c:2687,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-core.c:2689,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-core.c:2689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - existing_metadata
    - signature_bytes
    argTypes:
    - GVariant*
    - GBytes*
    constantsTouched: []
    func_position:
      end: 2690
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2690
    functionName: _ostree_detached_metadata_append_gpg_sig
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_dict_lookup_value
    - ot_util_variant_builder_from_variant
    - g_variant_dict_end
    - g_variant_dict_init
    - g_variant_builder_add
    - g_variant_ref_sink
    - ot_gvariant_new_ay_bytes
    - g_variant_dict_insert_value
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *_ostree_detached_metadata_append_gpg_sig (GVariant *existing_metadata,
      GBytes *signature_bytes) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:595,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-core.c:629,1
    - Dst: g_zlib_decompressor_new
      Src: /src/ostree/src/libostree/ostree-core.c:638,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-core.c:642,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:647,1
    - Dst: file_header_parse
      Src: /src/ostree/src/libostree/ostree-core.c:623,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:645,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:597,1
    - Dst: g_input_stream_read_all
      Src: /src/ostree/src/libostree/ostree-core.c:603,1
    - Dst: g_input_stream_read_all
      Src: /src/ostree/src/libostree/ostree-core.c:593,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:600,1
    - Dst: g_input_stream_read_all
      Src: /src/ostree/src/libostree/ostree-core.c:607,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-core.c:609,1
    - Dst: g_variant_new_from_data
      Src: /src/ostree/src/libostree/ostree-core.c:609,1
    - Dst: zlib_file_header_parse
      Src: /src/ostree/src/libostree/ostree-core.c:617,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:646,1
    - Dst: g_file_info_set_size
      Src: /src/ostree/src/libostree/ostree-core.c:625,1
    - Dst: g_converter_input_stream_new
      Src: /src/ostree/src/libostree/ostree-core.c:639,1
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-core.c:606,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 9
    argNames:
    - compressed
    - input
    - input_length
    - trusted
    - out_input
    - out_file_info
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - gboolean
    - GInputStream*
    - guint64
    - gboolean
    - GInputStream**
    - GFileInfo**
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 649
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 649
    functionName: ostree_content_stream_parse
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - file_header_parse
    - g_converter_input_stream_new
    - GUINT32_FROM_BE
    - zlib_file_header_parse
    - g_zlib_decompressor_new
    - g_variant_new_from_data
    - g_file_info_get_file_type
    - g_input_stream_read_all
    - ot_transfer_out_value
    - glnx_throw
    - g_variant_ref_sink
    - g_malloc
    - g_file_info_set_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_content_stream_parse (gboolean compressed, GInputStream
      *input, guint64 input_length, gboolean trusted, GInputStream **out_input, GFileInfo
      **out_file_info, GVariant **out_xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-core.c:1534,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - csum
    argTypes:
    - guchar*
    constantsTouched: []
    func_position:
      end: 1537
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1537
    functionName: ostree_checksum_from_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_malloc
    - ostree_checksum_inplace_from_bytes
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_checksum_from_bytes (const guchar *csum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:1885,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libostree/ostree-core.c:1887,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-core.c:1892,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-core.c:1895,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:1901,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:1902,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:1906,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 4
    argNames:
    - delta_name
    - out_from
    - out_to
    - error
    argTypes:
    - char*
    - char**
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 1910
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1910
    functionName: _ostree_parse_delta_name
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_strsplit
    - ostree_validate_checksum_string
    - g_return_val_if_fail
    - ot_transfer_out_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_parse_delta_name (const char *delta_name, char **out_from,
      char **out_to, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-core.c:1978,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1981,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1983,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1984,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:1981,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1985,1
    - Dst: _ostree_mode_uidgid_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-core.c:1986,1
    - Dst: g_file_info_set_size
      Src: /src/ostree/src/libostree/ostree-core.c:1987,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/libostree/ostree-core.c:1987,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:1989,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-core.c:1993,1
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/ostree/src/libostree/ostree-core.c:1995,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2000,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:2003,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:2004,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - metadata
    - out_file_info
    - out_xattrs
    - error
    argTypes:
    - GVariant*
    - GFileInfo**
    - GVariant**
    - GError**
    constantsTouched: []
    func_position:
      end: 2006
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 2006
    functionName: zlib_file_header_parse
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - GUINT32_FROM_BE
    - S_ISLNK
    - g_variant_get
    - ot_transfer_out_value
    - _ostree_mode_uidgid_to_gfileinfo
    - glnx_throw
    - g_file_info_set_attribute_byte_string
    - GUINT64_FROM_BE
    - g_file_info_set_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean zlib_file_header_parse (GVariant *metadata, GFileInfo
      **out_file_info, GVariant **out_xattrs, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_file_header_new
      Src: /src/ostree/src/libostree/ostree-core.c:560,1
    - Dst: g_file_info_has_attribute
      Src: /src/ostree/src/libostree/ostree-core.c:564,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-core.c:563,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-core.c:565,1
    - Dst: header_and_input_to_stream
      Src: /src/ostree/src/libostree/ostree-core.c:561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 7
    argNames:
    - input
    - file_info
    - xattrs
    - out_input
    - out_length
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GFileInfo*
    - GVariant*
    - GInputStream**
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 567
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 567
    functionName: ostree_raw_file_to_content_stream
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_file_info_has_attribute
    - g_bytes_get_size
    - header_and_input_to_stream
    - _ostree_file_header_new
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_raw_file_to_content_stream (GInputStream *input, GFileInfo
      *file_info, GVariant *xattrs, GInputStream **out_input, guint64 *out_length,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-core.c:532,1
    - Dst: _ostree_raw_file_to_archive_stream
      Src: /src/ostree/src/libostree/ostree-core.c:537,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 7
    argNames:
    - input
    - file_info
    - xattrs
    - options
    - out_input
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GFileInfo*
    - GVariant*
    - GVariant*
    - GInputStream**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 539
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 539
    functionName: ostree_raw_file_to_archive_z2_stream_with_options
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - _ostree_raw_file_to_archive_stream
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_raw_file_to_archive_z2_stream_with_options (GInputStream
      *input, GFileInfo *file_info, GVariant *xattrs, GVariant *options, GInputStream
      **out_input, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_file
      Src: /src/ostree/src/libostree/ostree-core.c:1045,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:1050,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-core.c:1046,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - datap
    - cancellable
    argTypes:
    - GTask*
    - GObject*
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1052
    functionName: checksum_file_async_thread
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_task_return_error
    - ostree_checksum_file
    linkageType: ''
    returnType: void
    signature: 'static void checksum_file_async_thread (GTask *task, GObject *object,
      gpointer datap, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:2525,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-core.c:2528,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-core.c:2527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - OstreeCommitSizesEntry*
    constantsTouched: []
    func_position:
      end: 2529
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2529
    functionName: ostree_commit_sizes_entry_free
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_commit_sizes_entry_free (OstreeCommitSizesEntry *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-core.c:1059,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-core.c:1060,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-core.c:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datap
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1062
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1062
    functionName: checksum_file_async_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void checksum_file_async_data_free (gpointer datap) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-core.c:2534,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-core.c:2537,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:2542,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-core.c:2535,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2539,1
    - Dst: _ostree_read_varuint64
      Src: /src/ostree/src/libostree/ostree-core.c:2548,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2549,1
    - Dst: _ostree_read_varuint64
      Src: /src/ostree/src/libostree/ostree-core.c:2554,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2555,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2565,1
    - Dst: ostree_commit_sizes_entry_new
      Src: /src/ostree/src/libostree/ostree-core.c:2576,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-core.c:2579,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - entry
    - out_sizes
    - error
    argTypes:
    - GVariant*
    - OstreeCommitSizesEntry**
    - GError**
    constantsTouched: []
    func_position:
      end: 2582
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2582
    functionName: read_sizes_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - _ostree_read_varuint64
    - ostree_commit_sizes_entry_new
    - g_steal_pointer
    - glnx_throw
    - ostree_checksum_inplace_from_bytes
    - g_return_val_if_fail
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_sizes_entry (GVariant *entry, OstreeCommitSizesEntry
      **out_sizes, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_raw_file_to_archive_stream
      Src: /src/ostree/src/libostree/ostree-core.c:500,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 6
    argNames:
    - input
    - file_info
    - xattrs
    - out_input
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GFileInfo*
    - GVariant*
    - GInputStream**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: ostree_raw_file_to_archive_z2_stream
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - _ostree_raw_file_to_archive_stream
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_raw_file_to_archive_z2_stream (GInputStream *input,
      GFileInfo *file_info, GVariant *xattrs, GInputStream **out_input, GCancellable
      *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-core.c:921,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-core.c:924,1
    - Dst: g_file_read
      Src: /src/ostree/src/libostree/ostree-core.c:932,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-core.c:930,1
    - Dst: ostree_fs_get_all_xattrs_at
      Src: /src/ostree/src/libostree/ostree-core.c:941,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-core.c:941,1
    - Dst: ostree_checksum_file_from_input
      Src: /src/ostree/src/libostree/ostree-core.c:947,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:951,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 5
    argNames:
    - f
    - objtype
    - out_csum
    - cancellable
    - error
    argTypes:
    - GFile*
    - OstreeObjectType
    - guchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 953
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 953
    functionName: ostree_checksum_file
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_fs_get_all_xattrs_at
    - g_cancellable_set_error_if_cancelled
    - g_file_info_get_file_type
    - g_file_read
    - ot_transfer_out_value
    - gs_file_get_path_cached
    - g_file_query_info
    - ostree_checksum_file_from_input
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_checksum_file (GFile *f, OstreeObjectType objtype,
      guchar **out_csum, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-core.c:672,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-core.c:676,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-core.c:679,1
    - Dst: ostree_content_stream_parse
      Src: /src/ostree/src/libostree/ostree-core.c:684,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-core.c:679,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:689,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:690,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-core.c:691,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 12
    argCount: 9
    argNames:
    - compressed
    - parent_dfd
    - path
    - trusted
    - out_input
    - out_file_info
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - gboolean
    - int
    - char*
    - gboolean
    - GInputStream**
    - GFileInfo**
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 693
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 693
    functionName: ostree_content_file_parse_at
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_content_stream_parse
    - g_steal_fd
    - g_unix_input_stream_new
    - ot_transfer_out_value
    - glnx_openat_rdonly
    - glnx_fstat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_content_file_parse_at (gboolean compressed, int parent_dfd,
      const char *path, gboolean trusted, GInputStream **out_input, GFileInfo **out_file_info,
      GVariant **out_xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ostree/src/libostree/ostree-core.c:1332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - guchar*
    - guchar*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    functionName: ostree_cmp_checksum_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int ostree_cmp_checksum_bytes (const guchar *a, const guchar *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_base64_decode_step
      Src: /src/ostree/src/libostree/ostree-core.c:1392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - checksum
    - buf
    argTypes:
    - char*
    - guchar*
    constantsTouched: []
    func_position:
      end: 1393
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1393
    functionName: ostree_checksum_b64_inplace_to_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_base64_decode_step
    linkageType: ''
    returnType: void
    signature: 'void ostree_checksum_b64_inplace_to_bytes (const char *checksum, guchar
      *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-core.c:1466,1
    - Dst: ostree_checksum_b64_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1469
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1469
    functionName: ostree_checksum_b64_to_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_malloc
    - ostree_checksum_b64_inplace_to_bytes
    linkageType: ''
    returnType: guchar*
    signature: 'guchar *ostree_checksum_b64_to_bytes (const char *checksum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-core.c:2276,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-core.c:2283,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-core.c:2286,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-core.c:2280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - content_mode
    - checksum
    - error
    argTypes:
    - guint32
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 2289
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2289
    functionName: _ostree_validate_bareuseronly_mode
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - g_assert_not_reached
    - S_ISLNK
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_validate_bareuseronly_mode (guint32 content_mode,
      const char *checksum, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-core.c:1363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - variant
    - out_checksum
    - out_objtype
    argTypes:
    - GVariant*
    - char**
    - OstreeObjectType*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1365
    functionName: ostree_object_name_deserialize
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'void ostree_object_name_deserialize (GVariant *variant, const char
      **out_checksum, OstreeObjectType *out_objtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-core.c:1451,1
    - Dst: ot_gvariant_new_bytearray
      Src: /src/ostree/src/libostree/ostree-core.c:1452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1453
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1453
    functionName: ostree_checksum_to_bytes_v
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - ostree_checksum_inplace_to_bytes
    - ot_gvariant_new_bytearray
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_checksum_to_bytes_v (const char *checksum) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validate_variant
      Src: /src/ostree/src/libostree/ostree-core.c:2234,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-core.c:2243,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2237,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-core.c:2241,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-core.c:2239,1
    - Dst: g_variant_iter_free
      Src: /src/ostree/src/libostree/ostree-core.c:2251,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-core.c:2252,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-core.c:2255,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-core.c:2257,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-core.c:2259,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-core.c:2261,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - dirtree
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2268
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2268
    functionName: ostree_validate_structureof_dirtree
    functionSourceFile: /src/ostree/src/libostree/ostree-core.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - ostree_validate_structureof_csum_v
    - validate_variant
    - g_variant_iter_free
    - g_variant_get_child
    - ot_util_filename_validate
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_validate_structureof_dirtree (GVariant *dirtree, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - OstreeKernelArgsEntry*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: _ostree_kernel_args_entry_get_value
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_kernel_args_entry_get_value (const OstreeKernelArgsEntry
      *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:116,1
    - Dst: _ostree_kernel_args_entry_set_value
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:118,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:118,1
    - Dst: _ostree_kernel_args_entry_value_free
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - e
    - value
    argTypes:
    - OstreeKernelArgsEntry*
    - char*
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: kernel_args_entry_replace_value
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_assert
    - _ostree_kernel_args_entry_value_free
    - _ostree_kernel_args_entry_set_value
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void kernel_args_entry_replace_value (OstreeKernelArgsEntry
      *e, const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: split_kernel_args
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:556,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:563,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:566,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:569,1
    - Dst: split_keyeq
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:564,1
    - Dst: _ostree_kernel_args_entry_new
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:573,1
    - Dst: _ostree_kernel_args_entry_set_key
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:574,1
    - Dst: _ostree_kernel_args_entry_set_value
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:575,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:575,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:577,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:581,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:578,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - kargs
    - arg
    argTypes:
    - OstreeKernelArgs*
    - char*
    constantsTouched: []
    func_position:
      end: 583
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 583
    functionName: ostree_kernel_args_append
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _ostree_kernel_args_entry_set_key
    - split_kernel_args
    - g_ptr_array_new_with_free_func
    - _ostree_kernel_args_entry_set_value
    - _ostree_kernel_args_entry_new
    - g_hash_table_replace
    - g_hash_table_lookup
    - g_ptr_array_add
    - split_keyeq
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_append (OstreeKernelArgs *kargs, const char
      *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - e
    - key
    argTypes:
    - OstreeKernelArgsEntry*
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: _ostree_kernel_args_entry_set_key
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_kernel_args_entry_set_key (OstreeKernelArgsEntry *e,
      char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:124,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:126,1
    - Dst: g_ptr_array_remove
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - order
    - entries
    argTypes:
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: kernel_args_remove_entries_from_order
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ptr_array_remove
    linkageType: ''
    returnType: void
    signature: 'static void kernel_args_remove_entries_from_order (GPtrArray *order,
      GPtrArray *entries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - kargs
    - i
    argTypes:
    - OstreeKernelArgs*
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: _ostree_kernel_args_get_value_index
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_kernel_args_get_value_index (const OstreeKernelArgs
      *kargs, int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:103,1
    - Dst: _ostree_kernel_args_entry_get_value
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - value
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: kernel_args_entry_value_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - _ostree_kernel_args_entry_get_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean kernel_args_entry_value_equal (gconstpointer data,
      gconstpointer value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: split_keyeq
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char*
    signature: 'static char *split_keyeq (char *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - kargs
    argTypes:
    - OstreeKernelArgs*
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: _ostree_kernel_arg_get_kargs_table
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *_ostree_kernel_arg_get_kargs_table (OstreeKernelArgs *kargs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_replace_take
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:538,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - kargs
    - arg
    argTypes:
    - OstreeKernelArgs*
    - char*
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: ostree_kernel_args_replace
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_replace_take
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_replace (OstreeKernelArgs *kargs, const char
      *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: split_kernel_args
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:707,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:711,1
    - Dst: g_strfreev
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:713,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - kargs
    - options
    argTypes:
    - OstreeKernelArgs*
    - char*
    constantsTouched: []
    func_position:
      end: 714
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 714
    functionName: ostree_kernel_args_parse_append
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - split_kernel_args
    - ostree_kernel_args_append
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_parse_append (OstreeKernelArgs *kargs, const
      char *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:833,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:838,1
    - Dst: _ostree_kernel_args_entry_get_value
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:840,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - kargs
    - key
    argTypes:
    - OstreeKernelArgs*
    - char*
    constantsTouched: []
    func_position:
      end: 841
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 841
    functionName: ostree_kernel_args_get_last_value
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_lookup
    - _ostree_kernel_args_entry_get_value
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_kernel_args_get_last_value (OstreeKernelArgs *kargs,
      const char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: _ostree_kernel_args_entry_new
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: OstreeKernelArgsEntry*
    signature: 'OstreeKernelArgsEntry *_ostree_kernel_args_entry_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:110,1
    - Dst: _ostree_kernel_args_entry_get_key
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: kernel_args_entry_key_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - _ostree_kernel_args_entry_get_key
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean kernel_args_entry_key_equal (gconstpointer data, gconstpointer
      key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:152,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - prefixes
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: _arg_has_prefix
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _arg_has_prefix (const char *arg, char **prefixes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:95,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:96,1
    - Dst: _ostree_kernel_args_entry_get_value
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: kernel_args_entry_free_from_table
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_free
    - _ostree_kernel_args_entry_get_value
    linkageType: ''
    returnType: void
    signature: 'static void kernel_args_entry_free_from_table (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_free
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - loc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: ostree_kernel_args_cleanup
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_free
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_cleanup (void *loc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: split_kernel_args
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:326,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:336,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:330,1
    - Dst: split_keyeq
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:332,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:334,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:337,1
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:340,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:342,1
    - Dst: split_keyeq
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:343,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:344,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:357,1
    - Dst: kernel_args_entry_replace_value
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:359,1
    - Dst: kernel_args_entry_replace_value
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:351,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:347,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:349,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 23
    argCount: 3
    argNames:
    - kargs
    - arg
    - error
    argTypes:
    - OstreeKernelArgs*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 362
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 362
    functionName: ostree_kernel_args_new_replace
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_strdup
    - kernel_args_entry_replace_value
    - split_kernel_args
    - g_assert_cmpuint
    - g_assert
    - glnx_throw
    - strchr
    - ot_ptr_array_find_with_equal_func
    - g_hash_table_lookup
    - split_keyeq
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_kernel_args_new_replace (OstreeKernelArgs *kargs,
      const char *arg, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:493,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:502,1
    - Dst: _ostree_kernel_args_entry_set_key
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:511,1
    - Dst: split_keyeq
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:489,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:514,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:494,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:497,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:506,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:506,1
    - Dst: _ostree_kernel_args_entry_set_key
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:518,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:488,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:492,1
    - Dst: _ostree_kernel_args_entry_set_value
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:493,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:503,1
    - Dst: kernel_args_remove_entries_from_order
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:508,1
    - Dst: g_ptr_array_insert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:512,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:519,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:510,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:520,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - kargs
    - arg
    argTypes:
    - OstreeKernelArgs*
    - char*
    constantsTouched: []
    func_position:
      end: 522
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 522
    functionName: ostree_kernel_args_replace_take
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _ostree_kernel_args_entry_set_key
    - g_new0
    - g_ptr_array_new_with_free_func
    - g_assert
    - g_assert_cmpuint
    - _ostree_kernel_args_entry_set_value
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_hash_table_replace
    - kernel_args_remove_entries_from_order
    - ot_ptr_array_find_with_equal_func
    - g_ptr_array_add
    - g_ptr_array_insert
    - g_hash_table_lookup_extended
    - split_keyeq
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_replace_take (OstreeKernelArgs *kargs, char
      *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:665,1
    - Dst: ostree_kernel_args_append_argv_filtered
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:684,1
    - Dst: g_strchomp
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:681,1
    - Dst: g_file_load_contents
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:677,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:683,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - kargs
    - cancellable
    - error
    argTypes:
    - OstreeKernelArgs*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 687
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 687
    functionName: ostree_kernel_args_append_proc_cmdline
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_strchomp
    - g_strsplit
    - g_file_load_contents
    - ostree_kernel_args_append_argv_filtered
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_kernel_args_append_proc_cmdline (OstreeKernelArgs
      *kargs, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:791,1
    - Dst: _ostree_kernel_args_get_value_index
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:798,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:805,1
    - Dst: _ostree_kernel_args_get_key_index
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:797,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:803,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:808,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:809,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - kargs
    argTypes:
    - OstreeKernelArgs*
    constantsTouched: []
    func_position:
      end: 814
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 814
    functionName: ostree_kernel_args_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_string_append_c
    - g_string_free
    - _ostree_kernel_args_get_key_index
    - _ostree_kernel_args_get_value_index
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_kernel_args_to_string (OstreeKernelArgs *kargs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:879,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:882,1
    - Dst: split_keyeq
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - kargs
    - arg
    argTypes:
    - OstreeKernelArgs*
    - char*
    constantsTouched: []
    func_position:
      end: 883
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 883
    functionName: ostree_kernel_args_contains
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_contains
    - split_keyeq
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_kernel_args_contains (OstreeKernelArgs *kargs, const
      char *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - OstreeKernelArgsEntry*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: _ostree_kernel_args_entry_value_free
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'void _ostree_kernel_args_entry_value_free (OstreeKernelArgsEntry *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - kargs
    argTypes:
    - OstreeKernelArgs*
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: _ostree_kernel_arg_get_key_array
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *_ostree_kernel_arg_get_key_array (OstreeKernelArgs *kargs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_contains
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:858,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - kargs
    - arg
    argTypes:
    - OstreeKernelArgs*
    - char*
    constantsTouched: []
    func_position:
      end: 862
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 862
    functionName: ostree_kernel_args_append_if_missing
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_contains
    - ostree_kernel_args_append
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_append_if_missing (OstreeKernelArgs *kargs,
      const char *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - OstreeKernelArgsEntry*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: _ostree_kernel_args_entry_get_key
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_kernel_args_entry_get_key (const OstreeKernelArgsEntry
      *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_append_argv_filtered
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - kargs
    - argv
    argTypes:
    - OstreeKernelArgs*
    - char**
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: ostree_kernel_args_append_argv
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_append_argv_filtered
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_append_argv (OstreeKernelArgs *kargs, char
      **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - e
    - value
    argTypes:
    - OstreeKernelArgsEntry*
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: _ostree_kernel_args_entry_set_value
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_kernel_args_entry_set_value (OstreeKernelArgsEntry *e,
      char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:172,1
    - Dst: strspn
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:178,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:185,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:174,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:176,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:185,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:192,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:192,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:195,1
    - Dst: g_assert_false
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:196,1
    - Dst: g_ptr_array_free
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:200,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:199,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 201
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 201
    functionName: split_kernel_args
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_false
    - strspn
    - g_strndup
    - g_ptr_array_free
    - g_return_val_if_fail
    - g_debug
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: char**
    signature: 'static char **split_kernel_args (const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:238,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:239,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - kargs
    argTypes:
    - OstreeKernelArgs*
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: ostree_kernel_args_free
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_hash_table_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_free (OstreeKernelArgs *kargs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: split_kernel_args
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:429,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:433,1
    - Dst: split_keyeq
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:436,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:440,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:438,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:441,1
    - Dst: strcmp0_equal
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:448,1
    - Dst: _ostree_kernel_args_entry_get_value
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:448,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:449,1
    - Dst: ostree_kernel_args_delete_key_entry
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:450,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:468,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:451,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:464,1
    - Dst: g_ptr_array_remove_index
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:468,1
    - Dst: ot_ptr_array_find_with_equal_func
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:458,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:467,1
    - Dst: g_ptr_array_remove
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:467,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:463,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 3
    argNames:
    - kargs
    - arg
    - error
    argTypes:
    - OstreeKernelArgs*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 471
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 471
    functionName: ostree_kernel_args_delete
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_strdup
    - split_kernel_args
    - g_assert_cmpuint
    - g_assert
    - g_ptr_array_remove
    - glnx_throw
    - _ostree_kernel_args_entry_get_value
    - ot_ptr_array_find_with_equal_func
    - strcmp0_equal
    - g_hash_table_lookup
    - g_ptr_array_remove_index
    - ostree_kernel_args_delete_key_entry
    - split_keyeq
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_kernel_args_delete (OstreeKernelArgs *kargs, const
      char *arg, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _arg_has_prefix
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:627,1
    - Dst: ostree_kernel_args_append
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:628,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 3
    argNames:
    - kargs
    - argv
    - prefixes
    argTypes:
    - OstreeKernelArgs*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 630
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 630
    functionName: ostree_kernel_args_append_argv_filtered
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - _arg_has_prefix
    - ostree_kernel_args_append
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_append_argv_filtered (OstreeKernelArgs *kargs,
      char **argv, char **prefixes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:753,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:762,1
    - Dst: _ostree_kernel_args_get_key_index
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:758,1
    - Dst: _ostree_kernel_args_get_value_index
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:759,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:762,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:764,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:764,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:766,1
    - Dst: g_ptr_array_free
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - kargs
    argTypes:
    - OstreeKernelArgs*
    constantsTouched: []
    func_position:
      end: 769
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 769
    functionName: ostree_kernel_args_to_strv
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - g_strconcat
    - g_ptr_array_add
    - _ostree_kernel_args_get_key_index
    - _ostree_kernel_args_get_value_index
    linkageType: ''
    returnType: char**
    signature: 'char **ostree_kernel_args_to_strv (OstreeKernelArgs *kargs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - kargs
    - i
    argTypes:
    - OstreeKernelArgs*
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: _ostree_kernel_args_get_key_index
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_kernel_args_get_key_index (const OstreeKernelArgs *kargs,
      int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: strcmp0_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strcmp0_equal (gconstpointer v1, gconstpointer v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:216,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:221,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: ostree_kernel_args_new
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_new0
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: OstreeKernelArgs*
    signature: 'OstreeKernelArgs *ostree_kernel_args_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:384,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:386,1
    - Dst: kernel_args_remove_entries_from_order
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:389,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:387,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:391,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:393,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - kargs
    - key
    - error
    argTypes:
    - OstreeKernelArgs*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 399
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 399
    functionName: ostree_kernel_args_delete_key_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_assert_cmpuint
    - g_hash_table_remove
    - glnx_throw
    - kernel_args_remove_entries_from_order
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_kernel_args_delete_key_entry (OstreeKernelArgs *kargs,
      const char *key, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_replace
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:604,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 2
    argNames:
    - kargs
    - argv
    argTypes:
    - OstreeKernelArgs*
    - char**
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: ostree_kernel_args_replace_argv
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_replace
    linkageType: ''
    returnType: void
    signature: 'void ostree_kernel_args_replace_argv (OstreeKernelArgs *kargs, char
      **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:732,1
    - Dst: ostree_kernel_args_parse_append
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 736
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 736
    functionName: ostree_kernel_args_from_string
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_parse_append
    - ostree_kernel_args_new
    linkageType: ''
    returnType: OstreeKernelArgs*
    signature: 'OstreeKernelArgs *ostree_kernel_args_from_string (const char *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_contains
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:900,1
    - Dst: ostree_kernel_args_delete
      Src: /src/ostree/src/libostree/ostree-kernel-args.c:901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - kargs
    - arg
    - error
    argTypes:
    - OstreeKernelArgs*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 903
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 903
    functionName: ostree_kernel_args_delete_if_present
    functionSourceFile: /src/ostree/src/libostree/ostree-kernel-args.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_delete
    - ostree_kernel_args_contains
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_kernel_args_delete_if_present (OstreeKernelArgs *kargs,
      const char *arg, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:37,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:39,1
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: _ostree_delta_content_sizenames_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _ostree_delta_content_sizenames_free (gpointer v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:186,1
    - Dst: strncmp
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:194,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:199,1
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:190,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 3
    argNames:
    - a
    - b
    - fuzzy
    argTypes:
    - GPtrArray*
    - GPtrArray*
    - gboolean
    constantsTouched: []
    func_position:
      end: 205
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 205
    functionName: string_array_nonempty_intersection
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c
    functionUses: []
    functionsReached:
    - strchr
    - strncmp
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean string_array_nonempty_intersection (GPtrArray *a,
      GPtrArray *b, gboolean fuzzy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:142,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:161,1
    - Dst: ostree_repo_commit_traverse_iter_init_commit
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:149,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:144,1
    - Dst: build_content_sizenames_recurse
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:153,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:162,1
    - Dst: g_hash_table_iter_steal
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:164,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:165,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:169,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:173,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 6
    argNames:
    - repo
    - commit
    - include_only_objects
    - out_sizenames
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - GHashTable*
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 176
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 176
    functionName: build_content_sizenames_filtered
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - ostree_repo_commit_traverse_iter_init_commit
    - g_ptr_array_sort
    - build_content_sizenames_recurse
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_steal_pointer
    - g_hash_table_new_full
    - g_hash_table_iter_steal
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean build_content_sizenames_filtered (OstreeRepo *repo,
      GVariant *commit, GHashTable *include_only_objects, GPtrArray **out_sizenames,
      GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:260,1
    - Dst: build_content_sizenames_filtered
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:267,1
    - Dst: sizename_is_delta_candidate
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:292,1
    - Dst: build_content_sizenames_filtered
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:270,1
    - Dst: sizename_is_delta_candidate
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:300,1
    - Dst: string_array_nonempty_intersection
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:312,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:319,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:319,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:320,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:329,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 43
    argCount: 8
    argNames:
    - repo
    - from_commit
    - to_commit
    - new_reachable_regfile_content
    - similarity_percent_threshold
    - out_modified_regfile_content
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - GVariant*
    - GHashTable*
    - guint
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 332
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 332
    functionName: _ostree_delta_compute_similar_objects
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c
    functionUses: []
    functionsReached:
    - g_strdup
    - build_content_sizenames_filtered
    - g_hash_table_insert
    - g_steal_pointer
    - string_array_nonempty_intersection
    - sizename_is_delta_candidate
    - g_hash_table_new_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_delta_compute_similar_objects (OstreeRepo *repo,
      GVariant *from_commit, GVariant *to_commit, GHashTable *new_reachable_regfile_content,
      guint similarity_percent_threshold, GHashTable **out_modified_regfile_content,
      GCancellable *cancellable, GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_commit_traverse_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:52,1
    - Dst: ostree_repo_commit_traverse_iter_get_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:64,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:69,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:66,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:74,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:77,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:80,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:81,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:82,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:83,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:102,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:88,1
    - Dst: build_content_sizenames_recurse
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:110,1
    - Dst: ostree_repo_commit_traverse_iter_get_dir
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:100,1
    - Dst: ostree_repo_commit_traverse_iter_init_dirtree
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:106,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:87,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:115,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:88,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 42
    argCount: 6
    argNames:
    - repo
    - iter
    - sizenames_map
    - include_only_objects
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCommitTraverseIter*
    - GHashTable*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 120
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 120
    functionName: build_content_sizenames_recurse
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ostree_repo_commit_traverse_iter_next
    - g_new0
    - ostree_repo_load_file
    - g_ptr_array_new_with_free_func
    - ostree_repo_commit_traverse_iter_get_dir
    - ostree_repo_commit_traverse_iter_init_dirtree
    - g_assert_not_reached
    - build_content_sizenames_recurse
    - ostree_repo_commit_traverse_iter_get_file
    - g_file_info_get_file_type
    - g_hash_table_replace
    - ostree_repo_load_variant
    - g_hash_table_lookup
    - g_hash_table_contains
    - g_ptr_array_add
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean build_content_sizenames_recurse (OstreeRepo *repo,
      OstreeRepoCommitTraverseIter *iter, GHashTable *sizenames_map, GHashTable *include_only_objects,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:225,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:230,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c:230,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - sizename
    argTypes:
    - OstreeDeltaContentSizeNames*
    constantsTouched: []
    func_position:
      end: 236
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 236
    functionName: sizename_is_delta_candidate
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean sizename_is_delta_candidate (OstreeDeltaContentSizeNames
      *sizename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: compare_sizenames
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation-analysis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int compare_sizenames (const void *a, const void *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:423,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:426,1
    - Dst: soup_request_send_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:427,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:424,1
    - Dst: pending_uri_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:426,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - thread_closure
    - task
    argTypes:
    - ThreadClosure*
    - GTask*
    constantsTouched: []
    func_position:
      end: 428
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 428
    functionName: start_pending_request
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - pending_uri_ref
    - g_object_ref
    - g_hash_table_add
    - soup_request_send_async
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void start_pending_request (ThreadClosure *thread_closure,
      GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - fetcher
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 730
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 730
    functionName: _ostree_fetcher_get_dfd
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _ostree_fetcher_get_dfd (OstreeFetcher *fetcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 11
    argNames:
    - self
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - max_size
    - priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - guint64
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1258
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1258
    functionName: _ostree_fetcher_request_to_membuf
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_request_async
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_request_to_membuf (OstreeFetcher *self, GPtrArray
      *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, const char
      *if_none_match, guint64 if_modified_since, guint64 max_size, int priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:436,1
    - Dst: g_uri_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:443,1
    - Dst: _ostree_fetcher_uri_new_subpath
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:441,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:437,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:439,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:445,1
    - Dst: g_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:448,1
    - Dst: soup_session_request
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:449,1
    - Dst: SOUP_IS_REQUEST_HTTP
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:453,1
    - Dst: soup_request_http_get_message
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:456,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:466,1
    - Dst: soup_message_headers_append
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:457,1
    - Dst: SOUP_IS_REQUEST_HTTP
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:460,1
    - Dst: soup_message_headers_append
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:467,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:465,1
    - Dst: soup_request_http_get_message
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:463,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - pending
    - error
    argTypes:
    - OstreeFetcherPendingURI*
    - GError**
    constantsTouched: []
    func_position:
      end: 469
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 469
    functionName: create_pending_soup_request
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - SOUP_IS_REQUEST_HTTP
    - _ostree_fetcher_uri_new_subpath
    - g_date_time_format
    - g_assert
    - soup_message_headers_append
    - g_ptr_array_index
    - g_clear_object
    - g_date_time_new_from_unix_utc
    - soup_session_request
    - g_uri_ref
    - g_uri_to_string
    - soup_request_http_get_message
    linkageType: ''
    returnType: void
    signature: 'static void create_pending_soup_request (OstreeFetcherPendingURI *pending,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:737,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:738,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:737,1
    - Dst: g_warning
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:744,1
    - Dst: soup_uri_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:740,1
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - self
    - http_proxy
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 752
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 752
    functionName: _ostree_fetcher_set_proxy
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - session_thread_idle_add
    - OSTREE_IS_FETCHER
    - g_warning
    - soup_uri_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_proxy (OstreeFetcher *self, const char *http_proxy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1270,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1270,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1271,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1274,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1271,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1276,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1280,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1281,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1287,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 7
    argNames:
    - self
    - result
    - out_buf
    - out_not_modified
    - out_etag
    - out_last_modified
    - error
    argTypes:
    - OstreeFetcher*
    - GAsyncResult*
    - GBytes**
    - gboolean*
    - char**
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 1292
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1292
    functionName: _ostree_fetcher_request_to_membuf_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert
    - g_task_propagate_pointer
    - g_steal_pointer
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_request_to_membuf_finish (OstreeFetcher *self,
      GAsyncResult *result, GBytes **out_buf, gboolean *out_not_modified, char **out_etag,
      guint64 *out_last_modified, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 11
    argNames:
    - self
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - max_size
    - priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - guint64
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1212
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1212
    functionName: _ostree_fetcher_request_to_tmpfile
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_request_async
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_request_to_tmpfile (OstreeFetcher *self, GPtrArray
      *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, const char
      *if_none_match, guint64 if_modified_since, guint64 max_size, int priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:262,1
    - Dst: g_object_set
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: session_thread_config_flags
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_config_flags (ThreadClosure *thread_closure,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:322,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: session_thread_set_headers_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_set_headers_cb (ThreadClosure *thread_closure,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:332,1
    - Dst: g_object_set
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:339,1
    - Dst: _ostree_tls_cert_interaction_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: session_thread_set_tls_interaction_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - strlen
    - g_object_set
    - _ostree_tls_cert_interaction_new
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_set_tls_interaction_cb (ThreadClosure *thread_closure,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:409,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - self
    - opt_max_outstanding_fetcher_requests
    argTypes:
    - OstreeFetcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: _ostree_fetcher_set_max_outstanding_fetcher_requests
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - session_thread_idle_add
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_max_outstanding_fetcher_requests (OstreeFetcher
      *self, guint32 opt_max_outstanding_fetcher_requests) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:622,1
    - Dst: g_atomic_int_set
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:625,1
    - Dst: g_thread_join
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:631,1
    - Dst: g_thread_self
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:630,1
    - Dst: g_main_context_wakeup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:626,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:633,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:635,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 638
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 638
    functionName: _ostree_fetcher_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_thread_self
    - g_thread_join
    - OSTREE_FETCHER
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:713,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - tmpdir_dfd
    - remote_name
    - flags
    argTypes:
    - int
    - char*
    - OstreeFetcherConfigFlags
    constantsTouched: []
    func_position:
      end: 718
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 718
    functionName: _ostree_fetcher_new
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    linkageType: ''
    returnType: OstreeFetcher*
    signature: 'OstreeFetcher *_ostree_fetcher_new (int tmpdir_dfd, const char *remote_name,
      OstreeFetcherConfigFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:759,1
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:764,1
    - Dst: soup_cookie_jar_text_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:762,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:759,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - self
    - jar_path
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 767
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 767
    functionName: _ostree_fetcher_set_cookie_jar
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - soup_cookie_jar_text_new
    - session_thread_idle_add
    - OSTREE_IS_FETCHER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_cookie_jar (OstreeFetcher *self, const char
      *jar_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:279,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:283,1
    - Dst: soup_auth_authenticate
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:287,1
    - Dst: soup_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:282,1
    - Dst: soup_uri_get_user
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:287,1
    - Dst: soup_uri_get_password
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - session
    - msg
    - auth
    - retrying
    - user_data
    argTypes:
    - SoupSession*
    - SoupMessage*
    - SoupAuth*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 289
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 289
    functionName: on_authenticate
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_set_error
    - soup_uri_to_string
    - soup_uri_get_user
    - soup_auth_authenticate
    - soup_uri_get_password
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void on_authenticate (SoupSession *session, SoupMessage *msg,
      SoupAuth *auth, gboolean retrying, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:643,1
    - Dst: g_main_context_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:647,1
    - Dst: g_main_context_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:651,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:657,1
    - Dst: g_slice_new0
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:649,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:659,1
    - Dst: g_mutex_init
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:660,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:662,1
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:664,1
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:670,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:671,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:683,1
    - Dst: g_thread_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:680,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:674,1
    - Dst: _ostree_fetcher_set_proxy
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:676,1
    - Dst: thread_closure_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:681,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 684
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 684
    functionName: _ostree_fetcher_constructed
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - session_thread_idle_add
    - g_slice_new0
    - g_main_context_ref
    - _ostree_fetcher_set_proxy
    - thread_closure_ref
    - GUINT_TO_POINTER
    - g_thread_new
    - g_getenv
    - g_mutex_init
    - g_hash_table_new_full
    - OSTREE_FETCHER
    - G_OBJECT_CLASS
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: _ostree_fetcher_set_force_anonymous_tmpfiles
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_force_anonymous_tmpfiles (OstreeFetcher *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:773,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:778,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:779,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:773,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:777,1
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:783,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:784,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:784,1
    - Dst: g_warning
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - self
    - cert_path
    - key_path
    argTypes:
    - OstreeFetcher*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 788
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 788
    functionName: _ostree_fetcher_set_client_cert
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - session_thread_idle_add
    - OSTREE_IS_FETCHER
    - g_string_append_c
    - g_warning
    - g_steal_pointer
    - g_string_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_client_cert (OstreeFetcher *self, const char
      *cert_path, const char *key_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1297,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1299,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1305,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1303,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1297,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1307,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1310,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1318
    functionName: _ostree_fetcher_bytes_transferred
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH
    - OSTREE_IS_FETCHER
    - g_mutex_unlock
    - G_IS_FILE_DESCRIPTOR_BASED
    - g_file_descriptor_based_get_fd
    - glnx_fstat
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: guint64
    signature: 'guint64 _ostree_fetcher_bytes_transferred (OstreeFetcher *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:147,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:149,1
    - Dst: g_atomic_int_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - thread_closure
    argTypes:
    - ThreadClosure*
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: thread_closure_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_add
    - g_return_val_if_fail
    linkageType: ''
    returnType: ThreadClosure*
    signature: 'static ThreadClosure *thread_closure_ref (ThreadClosure *thread_closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:202,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:209,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:205,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:208,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:207,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:210,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:211,1
    - Dst: glnx_tmpfile_clear
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:212,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:213,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:214,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pending
    argTypes:
    - OstreeFetcherPendingURI*
    constantsTouched: []
    func_position:
      end: 216
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 216
    functionName: pending_uri_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_clear_pointer
    - g_clear_object
    - glnx_tmpfile_clear
    linkageType: ''
    returnType: void
    signature: 'static void pending_uri_unref (OstreeFetcherPendingURI *pending) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:181,1
    - Dst: g_slice_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - idle_closure
    argTypes:
    - IdleClosure*
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: idle_closure_free
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void idle_closure_free (IdleClosure *idle_closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:234,1
    - Dst: g_slice_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:237,1
    - Dst: g_main_context_invoke_full
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:243,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:235,1
    - Dst: thread_closure_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - thread_closure
    - function
    - data
    - notify
    argTypes:
    - ThreadClosure*
    - SessionThreadFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: session_thread_idle_add
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_slice_new
    - thread_closure_ref
    - g_main_context_invoke_full
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_idle_add (ThreadClosure *thread_closure,
      SessionThreadFunc function, gpointer data, GDestroyNotify notify) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:352,1
    - Dst: g_object_set
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:356,1
    - Dst: g_object_set
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:360,1
    - Dst: g_tls_file_database_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 362
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 362
    functionName: session_thread_set_tls_database_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_object_set
    - g_tls_file_database_new
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_set_tls_database_cb (ThreadClosure *thread_closure,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:689,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:696,1
    - Dst: g_param_spec_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeFetcherClass*
    constantsTouched: []
    func_position:
      end: 701
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 701
    functionName: _ostree_fetcher_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_class_init (OstreeFetcherClass *klass) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: soup_request_http_get_message
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1049,1
    - Dst: start_pending_request
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1069,1
    - Dst: create_pending_soup_request
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1063,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1102,1
    - Dst: _ostree_fetcher_http_status_code_to_io_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1096,1
    - Dst: soup_date_new_from_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1136,1
    - Dst: pending_uri_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1161,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1162,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1028,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1032,1
    - Dst: pending_uri_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1031,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1039,1
    - Dst: SOUP_IS_REQUEST_HTTP
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1047,1
    - Dst: soup_request_get_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1074,1
    - Dst: soup_date_to_time_t
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1139,1
    - Dst: g_input_stream_read_bytes_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1149,1
    - Dst: g_input_stream_close
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1156,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1157,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1031,1
    - Dst: SOUP_STATUS_IS_SUCCESSFUL
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1057,1
    - Dst: soup_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1074,1
    - Dst: g_input_stream_close
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1067,1
    - Dst: g_error_copy
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1109,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1110,1
    - Dst: g_error_new_literal
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1113,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1117,1
    - Dst: _ostree_fetcher_journal_failure
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1122,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1129,1
    - Dst: remove_pending
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1158,1
    - Dst: soup_request_send_finish
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1037,1
    - Dst: g_assert_no_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1045,1
    - Dst: soup_status_get_phrase
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1103,1
    - Dst: soup_message_headers_get_one
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1129,1
    - Dst: soup_message_headers_get_one
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1133,1
    - Dst: soup_date_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1140,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1150,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1089,1
    - Dst: soup_request_get_content_length
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1147,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 88
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1163
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1163
    functionName: on_request_sent
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - SOUP_STATUS_IS_SUCCESSFUL
    - g_input_stream_close
    - g_input_stream_read_bytes_async
    - remove_pending
    - start_pending_request
    - pending_uri_unref
    - g_task_get_cancellable
    - pending_uri_ref
    - GLIB_CHECK_VERSION
    - soup_date_free
    - g_object_unref
    - SOUP_IS_REQUEST_HTTP
    - _ostree_fetcher_http_status_code_to_io_error
    - soup_date_new_from_string
    - g_object_ref
    - G_TASK
    - soup_status_get_phrase
    - g_error_copy
    - soup_date_to_time_t
    - g_assert_no_error
    - g_error_new_literal
    - g_strdup_printf
    - g_prefix_error
    - _ostree_fetcher_journal_failure
    - g_strdup
    - soup_uri_to_string
    - soup_request_get_content_length
    - soup_request_get_uri
    - g_debug
    - create_pending_soup_request
    - g_task_return_error
    - soup_message_headers_get_one
    - soup_request_send_finish
    - soup_request_http_get_message
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void on_request_sent (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:193,1
    - Dst: g_atomic_int_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:194,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pending
    argTypes:
    - OstreeFetcherPendingURI*
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: pending_uri_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_add
    linkageType: ''
    returnType: OstreeFetcherPendingURI*
    signature: 'static OstreeFetcherPendingURI *pending_uri_ref (OstreeFetcherPendingURI
      *pending) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:156,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:165,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:158,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:163,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:161,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:167,1
    - Dst: g_mutex_clear
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:168,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:170,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:172,1
    - Dst: g_slice_free
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - thread_closure
    argTypes:
    - ThreadClosure*
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: thread_closure_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_assert
    - g_clear_pointer
    - g_slice_free
    - g_mutex_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void thread_closure_unref (ThreadClosure *thread_closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: session_thread_idle_dispatch
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean session_thread_idle_dispatch (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soup_logger_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:253,1
    - Dst: soup_session_add_feature
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:254,1
    - Dst: SOUP_SESSION_FEATURE
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: session_thread_add_logger
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - soup_logger_new
    - SOUP_SESSION_FEATURE
    - soup_session_add_feature
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_add_logger (ThreadClosure *thread_closure,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: session_thread_set_max_outstanding_fetcher_requests
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_set_max_outstanding_fetcher_requests (ThreadClosure
      *thread_closure, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: _ostree_fetcher_init
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_init (OstreeFetcher *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1175,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1180,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1176,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1177,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1175,1
    - Dst: thread_closure_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1182,1
    - Dst: g_ptr_array_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1183,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1184,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1186,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1191,1
    - Dst: g_task_set_priority
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1196,1
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1198,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1192,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1198,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 12
    argNames:
    - self
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - is_membuf
    - max_size
    - priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - gboolean
    - guint64
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1200
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1200
    functionName: _ostree_fetcher_request_async
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_ptr_array_ref
    - g_strdup
    - session_thread_idle_add
    - g_object_ref
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - thread_closure_ref
    - OSTREE_IS_FETCHER
    - g_task_new
    - g_task_set_source_tag
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_request_async (OstreeFetcher *self, GPtrArray
      *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, const char
      *if_none_match, guint64 if_modified_since, gboolean is_membuf, guint64 max_size,
      int priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_set
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:296,1
    - Dst: soup_uri_get_user
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:302,1
    - Dst: soup_uri_get_password
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:302,1
    - Dst: g_signal_connect
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:304,1
    - Dst: G_CALLBACK
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: session_thread_set_proxy_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - soup_uri_get_user
    - g_object_set
    - soup_uri_get_password
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_set_proxy_cb (ThreadClosure *thread_closure,
      gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:377,1
    - Dst: g_object_set
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:378,1
    - Dst: g_object_set
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: session_thread_set_extra_user_agent_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_object_set
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_set_extra_user_agent_cb (ThreadClosure
      *thread_closure, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - self
    - opt_low_speed_limit
    argTypes:
    - OstreeFetcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: _ostree_fetcher_set_low_speed_limit
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_low_speed_limit (OstreeFetcher *self, guint32
      opt_low_speed_limit) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:474,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:480,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:485,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:479,1
    - Dst: g_error_copy
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:485,1
    - Dst: create_pending_soup_request
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:489,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:492,1
    - Dst: soup_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:497,1
    - Dst: soup_request_get_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:497,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:498,1
    - Dst: soup_request_send_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:516,1
    - Dst: start_pending_request
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:520,1
    - Dst: SOUP_IS_REQUEST_HTTP
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:502,1
    - Dst: soup_request_http_get_message
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:505,1
    - Dst: soup_message_headers_append
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:511,1
    - Dst: g_variant_iter_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:506,1
    - Dst: g_variant_iter_next
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:510,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:516,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 522
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 522
    functionName: session_thread_request_uri
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - SOUP_IS_REQUEST_HTTP
    - g_variant_iter_new
    - soup_uri_to_string
    - g_object_ref
    - G_TASK
    - g_error_copy
    - soup_request_get_uri
    - soup_message_headers_append
    - soup_request_http_get_message
    - g_debug
    - create_pending_soup_request
    - soup_request_send_async
    - g_task_return_error
    - start_pending_request
    - g_task_get_cancellable
    - g_task_get_task_data
    - g_variant_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_request_uri (ThreadClosure *thread_closure,
      gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:590,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:598,1
    - Dst: g_value_get_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 601
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 601
    functionName: _ostree_fetcher_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - OSTREE_FETCHER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:793,1
    - Dst: OSTREE_IS_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:793,1
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:795,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - self
    - tlsdb_path
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 797
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 797
    functionName: _ostree_fetcher_set_tls_database
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_strdup
    - session_thread_idle_add
    - OSTREE_IS_FETCHER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_tls_database (OstreeFetcher *self, const
      char *tlsdb_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:809,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - self
    - extra_user_agent
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 811
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 811
    functionName: _ostree_fetcher_set_extra_user_agent
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_strdup
    - session_thread_idle_add
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_extra_user_agent (OstreeFetcher *self, const
      char *extra_user_agent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:887,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:894,1
    - Dst: g_input_stream_read_bytes_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:900,1
    - Dst: g_output_stream_splice_finish
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:896,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:893,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:901,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:906,1
    - Dst: remove_pending
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:907,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:910,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 911
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 911
    functionName: on_out_splice_complete
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_TASK
    - g_object_unref
    - g_output_stream_splice_finish
    - g_input_stream_read_bytes_async
    - remove_pending
    - g_task_return_error
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void on_out_splice_complete (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soup_session_add_feature
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:314,1
    - Dst: SOUP_SESSION_FEATURE
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - thread_closure
    - data
    argTypes:
    - ThreadClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: session_thread_set_cookie_jar_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - SOUP_SESSION_FEATURE
    - soup_session_add_feature
    linkageType: ''
    returnType: void
    signature: 'static void session_thread_set_cookie_jar_cb (ThreadClosure *thread_closure,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - self
    - opt_low_speed_time
    argTypes:
    - OstreeFetcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: _ostree_fetcher_set_low_speed_time
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_low_speed_time (OstreeFetcher *self, guint32
      opt_low_speed_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - self
    - opt_retry_all
    argTypes:
    - OstreeFetcher*
    - gboolean
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: _ostree_fetcher_set_retry_all
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_retry_all (OstreeFetcher *self, gboolean
      opt_retry_all) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:528,1
    - Dst: g_object_get
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:547,1
    - Dst: soup_session_async_new_with_options
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:536,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:533,1
    - Dst: soup_session_add_feature_by_type
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:542,1
    - Dst: g_object_set
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:560,1
    - Dst: g_atomic_int_get
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:567,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:568,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:573,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:574,1
    - Dst: thread_closure_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:576,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 584
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 584
    functionName: ostree_fetcher_session_thread
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - thread_closure_unref
    - g_main_context_ref
    - g_clear_pointer
    - soup_session_add_feature_by_type
    - g_object_set
    - soup_session_async_new_with_options
    - g_atomic_int_get
    - g_main_context_iteration
    - g_main_context_pop_thread_default
    - g_object_get
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer ostree_fetcher_session_thread (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:606,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:614,1
    - Dst: g_value_set_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:611,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 617
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 617
    functionName: _ostree_fetcher_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_FETCHER
    - g_value_set_flags
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_thread_idle_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:802,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - self
    - extra_headers
    argTypes:
    - OstreeFetcher*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 804
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 804
    functionName: _ostree_fetcher_set_extra_headers
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - session_thread_idle_add
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_extra_headers (OstreeFetcher *self, GVariant
      *extra_headers) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:829,1
    - Dst: g_output_stream_close
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:834,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:839,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:837,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:838,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:844,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:854,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:859,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:861,1
    - Dst: g_input_stream_close
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:867,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 3
    argNames:
    - pending
    - cancellable
    - error
    argTypes:
    - OstreeFetcherPendingURI*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 869
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 869
    functionName: finish_stream
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_hash_table_remove
    - g_input_stream_close
    - g_mutex_unlock
    - g_output_stream_close
    - glnx_fstat
    - g_output_stream_write_all
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean finish_stream (OstreeFetcherPendingURI *pending, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pending_uri_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:879,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:880,1
    - Dst: pending_uri_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pending
    argTypes:
    - OstreeFetcherPendingURI*
    constantsTouched: []
    func_position:
      end: 882
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 882
    functionName: remove_pending
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - pending_uri_ref
    - pending_uri_unref
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void remove_pending (OstreeFetcherPendingURI *pending) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: glnx_open_anonymous_tmpfile
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:935,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:941,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:945,1
    - Dst: lseek
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:974,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:969,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:951,1
    - Dst: soup_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:993,1
    - Dst: g_error_new
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:995,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:916,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:924,1
    - Dst: g_input_stream_read_bytes_finish
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:955,1
    - Dst: remove_pending
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:982,1
    - Dst: soup_request_get_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:993,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1022,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:923,1
    - Dst: finish_stream
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:963,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:977,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:976,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:958,1
    - Dst: g_task_return_boolean
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:980,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1008,1
    - Dst: g_output_stream_splice_async
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1009,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1011,1
    - Dst: remove_pending
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1019,1
    - Dst: _ostree_fetcher_tmpf
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:938,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:948,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:949,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:950,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:967,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:977,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1018,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1023
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 1023
    functionName: on_stream_read
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - lseek
    - g_input_stream_read_bytes_finish
    - g_steal_pointer
    - remove_pending
    - g_memory_input_stream_new_from_bytes
    - _ostree_fetcher_tmpf
    - glnx_set_error_from_errno
    - g_bytes_get_size
    - g_task_get_cancellable
    - glnx_open_anonymous_tmpfile
    - g_hash_table_add
    - g_unix_output_stream_new
    - g_object_unref
    - finish_stream
    - g_memory_output_stream_new_resizable
    - g_object_ref
    - G_TASK
    - g_error_new
    - g_task_return_pointer
    - g_memory_output_stream_steal_as_bytes
    - g_output_stream_splice_async
    - soup_uri_to_string
    - soup_request_get_uri
    - g_mutex_unlock
    - g_task_return_boolean
    - g_task_return_error
    - g_task_get_task_data
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void on_stream_read (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1224,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1228,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1225,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1225,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1224,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1230,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1234,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-soup.c:1241,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 7
    argNames:
    - self
    - result
    - out_tmpf
    - out_not_modified
    - out_etag
    - out_last_modified
    - error
    argTypes:
    - OstreeFetcher*
    - GAsyncResult*
    - GLnxTmpfile*
    - gboolean*
    - char**
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 1246
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1246
    functionName: _ostree_fetcher_request_to_tmpfile_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-soup.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert
    - g_task_propagate_pointer
    - g_steal_pointer
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_request_to_tmpfile_finish (OstreeFetcher
      *self, GAsyncResult *result, GLnxTmpfile *out_tmpf, gboolean *out_not_modified,
      char **out_etag, guint64 *out_last_modified, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-fetcher-util.h:36,1
    - Dst: glnx_fchmod
      Src: /src/ostree/src/libostree/ostree-fetcher-util.h:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - dfd
    - tmpf
    - error
    argTypes:
    - int
    - GLnxTmpfile*
    - GError**
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: _ostree_fetcher_tmpf
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-util.h
    functionUses: []
    functionsReached:
    - glnx_fchmod
    - glnx_open_tmpfile_linkable_at
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _ostree_fetcher_tmpf (int dfd, GLnxTmpfile
      *tmpf, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: typedef
    functionSourceFile: /src/ostree/src/libostree/ostree-ref.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS /** * OstreeCollectionRef: * @collection_id: (nullable):
      collection ID which provided the ref, or %NULL if there * is no associated collection
      * @ref_name: ref name * * A structure which globally uniquely identifies a ref
      as the tuple * (@collection_id, @ref_name). For backwards compatibility, @collection_id
      may be %NULL, * indicating a ref name which is not globally unique. * * Since:
      2018.6 */ typedef struct '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-common.c:37,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-common.c:50,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-common.c:47,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-common.c:40,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-common.c:44,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-common.c:53,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-common.c:56,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-common.c:59,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-common.c:62,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - lzma_ret
    - GError**
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: _ostree_lzma_return
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-common.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: GConverterResult
    signature: 'GConverterResult _ostree_lzma_return (lzma_ret res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: ostree_sysroot_new
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeSysroot*
    signature: 'OstreeSysroot *ostree_sysroot_new (GFile *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-sysroot.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: ostree_sysroot_set_mount_namespace_in_use
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_sysroot_set_mount_namespace_in_use (OstreeSysroot *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-sysroot.c:345,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:348,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:351,1
    - Dst: fstatfs
      Src: /src/ostree/src/libostree/ostree-sysroot.c:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - self
    - fd
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: validate_boot_fd
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - fstatfs
    - glnx_throw
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_boot_fd (OstreeSysroot *self, int fd, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:389,1
    - Dst: validate_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:396,1
    - Dst: glnx_steal_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:398,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: _ostree_sysroot_ensure_boot_fd
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - glnx_opendirat
    - validate_boot_fd
    - glnx_steal_fd
    - ensure_sysroot_fd
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_ensure_boot_fd (OstreeSysroot *self, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-sysroot.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: ostree_sysroot_is_booted
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_is_booted (OstreeSysroot *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_load_if_changed
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1037
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1037
    functionName: ostree_sysroot_load
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_load_if_changed
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_load (OstreeSysroot *self, GCancellable *cancellable,
      GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1866,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1875,1
    - Dst: fchmodat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1874,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1871,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1877,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1884,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1887,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1889,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1890,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1892,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1895,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1894,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - dfd
    - error
    argTypes:
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 1898
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1898
    functionName: _ostree_sysroot_stateroot_legacy_var_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_fstatat_allow_noent
    - symlinkat
    - glnx_throw_errno_prefix
    - glnx_ensure_dir
    - fchmodat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_stateroot_legacy_var_init (int dfd, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: statvfs
      Src: /src/ostree/src/libostree/ostree-sysroot.c:408,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:411,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:420,1
    - Dst: mount
      Src: /src/ostree/src/libostree/ostree-sysroot.c:419,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot.c:422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - path
    - did_remount
    - error
    argTypes:
    - char*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 426
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 426
    functionName: remount_writable
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_debug
    - mount
    - glnx_throw_errno_prefix
    - statvfs
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean remount_writable (const char *path, gboolean *did_remount,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utimensat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:503,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/src/libostree/ostree-sysroot.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: _ostree_sysroot_bump_mtime
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - glnx_set_prefix_error_from_errno
    - utimensat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_bump_mtime (OstreeSysroot *self, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1042,1
    - Dst: ostree_repo_reload_config
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1061,1
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1046,1
    - Dst: ostree_repo_open_at
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1048,1
    - Dst: g_weak_ref_init
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1055,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 1065
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1065
    functionName: ensure_repo
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_repo_reload_config
    - g_weak_ref_init
    - ensure_sysroot_fd
    - ostree_repo_open_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_repo (OstreeSysroot *self, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1309,1
    - Dst: ostree_sysroot_initialize
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1311,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1322,1
    - Dst: ensure_repo
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1318,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1334,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1335,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1336,1
    - Dst: sysroot_load_from_bootloader_configs
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1340,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 4
    argNames:
    - self
    - out_changed
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1349
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1349
    functionName: ostree_sysroot_load_if_changed
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - g_clear_pointer
    - g_clear_object
    - sysroot_load_from_bootloader_configs
    - ensure_repo
    - glnx_fstatat
    - ostree_sysroot_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_load_if_changed (OstreeSysroot *self, gboolean
      *out_changed, GCancellable *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1987,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1990,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2042,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2037,1
    - Dst: ostree_sysroot_get_deployments
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1986,1
    - Dst: ostree_sysroot_write_deployments_with_options
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2052,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1993,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1996,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2013,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2013,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2049,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1996,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2008,1
    - Dst: ostree_deployment_equal
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2014,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2042,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2049,1
    - Dst: ostree_deployment_is_pinned
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2034,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2037,1
    - Dst: ostree_deployment_equal
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2015,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 66
    argCount: 7
    argNames:
    - sysroot
    - osname
    - new_deployment
    - merge_deployment
    - flags
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - OstreeDeployment*
    - OstreeDeployment*
    - OstreeSysrootSimpleWriteDeploymentFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2057
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 2057
    functionName: ostree_sysroot_simple_write_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_booted_deployment
    - g_str_equal
    - ostree_sysroot_write_deployments_with_options
    - g_object_ref
    - ostree_deployment_is_pinned
    - g_ptr_array_new_with_free_func
    - g_assert
    - ostree_deployment_equal
    - ostree_sysroot_get_deployments
    - g_ptr_array_add
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_simple_write_deployment (OstreeSysroot *sysroot,
      const char *osname, OstreeDeployment *new_deployment, OstreeDeployment *merge_deployment,
      OstreeSysrootSimpleWriteDeploymentFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1739,1
    - Dst: glnx_make_lock_file
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1745,1
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 1747
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1747
    functionName: ostree_sysroot_lock
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_ensure_writable
    - glnx_make_lock_file
    - ensure_sysroot_fd
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_lock (OstreeSysroot *self, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_prepare_cleanup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2076,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2080,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2082,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2077,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2082,1
    - Dst: ostree_kernel_args_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2083,1
    - Dst: ostree_kernel_args_append_argv
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2084,1
    - Dst: ostree_kernel_args_to_strv
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2088,1
    - Dst: ostree_sysroot_deploy_tree
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2089,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2089,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2090,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2091,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2100,1
    - Dst: ostree_sysroot_simple_write_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2099,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - sysroot
    - target_deployment
    - merge_deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - OstreeDeployment*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2106
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2106
    functionName: clone_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_deploy_tree
    - ostree_kernel_args_new
    - ostree_bootconfig_parser_get
    - ostree_deployment_get_csum
    - ostree_deployment_get_origin
    - ostree_deployment_get_osname
    - g_strsplit
    - ostree_sysroot_prepare_cleanup
    - ostree_kernel_args_to_strv
    - glnx_prefix_error
    - ostree_kernel_args_append_argv
    - ostree_sysroot_simple_write_deployment
    - ostree_deployment_get_bootconfig
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean clone_deployment (OstreeSysroot *sysroot, OstreeDeployment
      *target_deployment, OstreeDeployment *merge_deployment, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SYSROOT
      Src: /src/ostree/src/libostree/ostree-sysroot.c:119,1
    - Dst: g_value_set_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:124,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-sysroot.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: ostree_sysroot_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_SYSROOT
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-sysroot.c:147,1
    - Dst: g_param_spec_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:156,1
    - Dst: g_signal_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:174,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-sysroot.c:154,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/ostree/src/libostree/ostree-sysroot.c:174,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/ostree/src/libostree/ostree-sysroot.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeSysrootClass*
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: ostree_sysroot_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS_TYPE
    - g_param_spec_object
    - g_signal_new
    - G_STRUCT_OFFSET
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_class_init (OstreeSysrootClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: ostree_sysroot_get_path
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *ostree_sysroot_get_path (OstreeSysroot *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:541,1
    - Dst: ostree_repo_create_at
      Src: /src/ostree/src/libostree/ostree-sysroot.c:550,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot.c:544,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot.c:547,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 555
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 555
    functionName: ostree_sysroot_ensure_initialized
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - ostree_repo_create_at
    - glnx_shutil_mkdir_p_at
    - ensure_sysroot_fd
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_ensure_initialized (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/ostree/src/libostree/ostree-sysroot.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - self
    - msg
    argTypes:
    - OstreeSysroot*
    - char*
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: _ostree_sysroot_emit_journal_msg
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'void _ostree_sysroot_emit_journal_msg (OstreeSysroot *self, const
      char *msg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot.c:593,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot.c:605,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:600,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot.c:598,1
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:595,1
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/src/libostree/ostree-sysroot.c:612,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:614,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:616,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:618,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:621,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 5
    argNames:
    - self
    - bootversion
    - out_subbootversion
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - int*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 626
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 626
    functionName: _ostree_sysroot_read_current_subbootversion
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_readlinkat_malloc
    - glnx_fstatat_allow_noent
    - ensure_sysroot_fd
    - g_debug
    - g_strdup_printf
    - g_str_has_suffix
    - glnx_prefix_error
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_read_current_subbootversion (OstreeSysroot
      *self, int bootversion, int *out_subbootversion, GCancellable *cancellable,
      GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot.c:662,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot.c:677,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:673,1
    - Dst: ostree_bootconfig_parser_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:708,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot.c:714,1
    - Dst: ostree_bootconfig_parser_parse_at
      Src: /src/ostree/src/libostree/ostree-sysroot.c:710,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot.c:672,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:682,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:697,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-sysroot.c:720,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:688,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:702,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:705,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-sysroot.c:706,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:712,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-sysroot.c:719,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:705,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:714,1
    - Dst: _ostree_sysroot_maybe_load_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:668,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 5
    argNames:
    - self
    - bootversion
    - out_loader_configs
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 722
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 722
    functionName: _ostree_sysroot_read_boot_loader_configs
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - g_object_ref
    - ostree_bootconfig_parser_new
    - g_ptr_array_new_with_free_func
    - g_ptr_array_sort
    - g_debug
    - _ostree_sysroot_maybe_load_boot_fd
    - g_steal_pointer
    - g_strdup_printf
    - glnx_fstatat
    - glnx_dirfd_iterator_next_dent
    - g_str_has_prefix
    - g_str_has_suffix
    - ostree_bootconfig_parser_parse_at
    - glnx_prefix_error
    - g_ptr_array_add
    - ot_dfd_iter_init_allow_noent
    - ot_transfer_out_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_read_boot_loader_configs (OstreeSysroot *self,
      int bootversion, GPtrArray **out_loader_configs, GCancellable *cancellable,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_ostree_kernel_arg_from_config
      Src: /src/ostree/src/libostree/ostree-sysroot.c:972,1
    - Dst: ostree_deployment_set_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot.c:980,1
    - Dst: ostree_bootconfig_parser_get_overlay_initrds
      Src: /src/ostree/src/libostree/ostree-sysroot.c:981,1
    - Dst: parse_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot.c:977,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:974,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-sysroot.c:985,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sysroot.c:986,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sysroot.c:986,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:987,1
    - Dst: g_ptr_array_new_full
      Src: /src/ostree/src/libostree/ostree-sysroot.c:990,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot.c:991,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot.c:996,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-sysroot.c:990,1
    - Dst: _ostree_deployment_set_overlay_initrds
      Src: /src/ostree/src/libostree/ostree-sysroot.c:997,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1000,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:991,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1000,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 27
    argCount: 5
    argNames:
    - self
    - config
    - inout_deployments
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeBootconfigParser*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1002
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1002
    functionName: list_deployments_process_one_boot_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - strlen
    - g_object_ref
    - g_strndup
    - g_ptr_array_new_full
    - ostree_deployment_set_bootconfig
    - _ostree_deployment_set_overlay_initrds
    - get_ostree_kernel_arg_from_config
    - glnx_throw
    - parse_deployment
    - g_ptr_array_add
    - g_strv_length
    - glnx_basename
    - ostree_bootconfig_parser_get_overlay_initrds
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean list_deployments_process_one_boot_entry (OstreeSysroot
      *self, OstreeBootconfigParser *config, GPtrArray *inout_deployments, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SYSROOT
      Src: /src/ostree/src/libostree/ostree-sysroot.c:135,1
    - Dst: _ostree_get_default_sysroot_path
      Src: /src/ostree/src/libostree/ostree-sysroot.c:139,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:139,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-sysroot.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: ostree_sysroot_constructed
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - OSTREE_SYSROOT
    - G_OBJECT_CLASS
    - _ostree_get_default_sysroot_path
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_parse_debug_string
      Src: /src/ostree/src/libostree/ostree-sysroot.c:194,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-sysroot.c:195,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-sysroot.c:197,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-sysroot.c:194,1
    - Dst: g_parse_debug_string
      Src: /src/ostree/src/libostree/ostree-sysroot.c:197,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-sysroot.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: ostree_sysroot_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_parse_debug_string
    - G_N_ELEMENTS
    - g_getenv
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_init (OstreeSysroot *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-sysroot.c:570,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:573,1
    - Dst: g_regex_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:572,1
    - Dst: g_regex_match
      Src: /src/ostree/src/libostree/ostree-sysroot.c:578,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-sysroot.c:574,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:579,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-sysroot.c:581,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-sysroot.c:582,1
    - Dst: g_ascii_strtoll
      Src: /src/ostree/src/libostree/ostree-sysroot.c:583,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - name
    - out_csum
    - out_serial
    - error
    argTypes:
    - char*
    - char**
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 585
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 585
    functionName: _ostree_sysroot_parse_deploy_path_name
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_ascii_strtoll
    - g_assert
    - g_once_init_leave
    - glnx_throw
    - g_match_info_fetch
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_parse_deploy_path_name (const char *name,
      char **out_csum, int *out_serial, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-sysroot.c:631,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-sysroot.c:632,1
    - Dst: strverscmp
      Src: /src/ostree/src/libostree/ostree-sysroot.c:636,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OstreeBootconfigParser*
    - OstreeBootconfigParser*
    constantsTouched: []
    func_position:
      end: 644
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 644
    functionName: compare_boot_loader_configs
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - strverscmp
    - ostree_bootconfig_parser_get
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_boot_loader_configs (OstreeBootconfigParser *a,
      OstreeBootconfigParser *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1009,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1013,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1015,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1015,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1010,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1018,1
    - Dst: compare_boot_loader_configs
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1021,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - a_pp
    - b_pp
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1022
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1022
    functionName: compare_deployments_by_boot_loader_version_reversed
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_assert
    - compare_boot_loader_configs
    - ostree_deployment_is_staged
    - ostree_deployment_get_bootconfig
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_deployments_by_boot_loader_version_reversed (gconstpointer
      a_pp, gconstpointer b_pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 1361
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1361
    functionName: ostree_sysroot_get_subbootversion
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ostree_sysroot_get_subbootversion (OstreeSysroot *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_lock
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1815,1
    - Dst: g_task_return_boolean
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1825,1
    - Dst: ostree_sysroot_unlock
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1819,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1818,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - task
    - source
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1826
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1826
    functionName: lock_in_thread
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_unlock
    - ostree_sysroot_lock
    - g_cancellable_set_error_if_cancelled
    - g_task_return_boolean
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void lock_in_thread (GTask *task, gpointer source, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: ostree_sysroot_new_default
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_new
    linkageType: ''
    returnType: OstreeSysroot*
    signature: 'OstreeSysroot *ostree_sysroot_new_default (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot.c:280,1
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/src/libostree/ostree-sysroot.c:297,1
    - Dst: ot_util_process_privileged
      Src: /src/ostree/src/libostree/ostree-sysroot.c:289,1
    - Dst: ostree_sysroot_initialize
      Src: /src/ostree/src/libostree/ostree-sysroot.c:285,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:283,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:299,1
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/src/libostree/ostree-sysroot.c:301,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:303,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sysroot.c:306,1
    - Dst: unshare
      Src: /src/ostree/src/libostree/ostree-sysroot.c:308,1
    - Dst: ostree_sysroot_set_mount_namespace_in_use
      Src: /src/ostree/src/libostree/ostree-sysroot.c:312,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:309,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 314
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 314
    functionName: ostree_sysroot_initialize_with_mount_namespace
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_throw_errno_prefix
    - glnx_readlinkat_malloc
    - g_assert
    - unshare
    - ostree_sysroot_set_mount_namespace_in_use
    - glnx_prefix_error
    - strcmp
    - ot_util_process_privileged
    - ostree_sysroot_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_initialize_with_mount_namespace (OstreeSysroot
      *self, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:365,1
    - Dst: glnx_steal_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:379,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:373,1
    - Dst: glnx_opendirat_with_errno
      Src: /src/ostree/src/libostree/ostree-sysroot.c:369,1
    - Dst: validate_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 383
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 383
    functionName: _ostree_sysroot_maybe_load_boot_fd
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - glnx_opendirat_with_errno
    - glnx_steal_fd
    - validate_boot_fd
    - ensure_sysroot_fd
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_sysroot_maybe_load_boot_fd (OstreeSysroot
      *self, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:525,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: ostree_sysroot_unload
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - glnx_close_fd
    linkageType: ''
    returnType: void
    signature: 'void ostree_sysroot_unload (OstreeSysroot *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_boot_loader_configs
      Src: /src/ostree/src/libostree/ostree-sysroot.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a_pp
    - b_pp
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: compare_loader_configs_for_sorting
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - compare_boot_loader_configs
    linkageType: ''
    returnType: int
    signature: 'static int compare_loader_configs_for_sorting (gconstpointer a_pp,
      gconstpointer b_pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1719,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - self
    - refspec
    argTypes:
    - OstreeSysroot*
    - char*
    constantsTouched: []
    func_position:
      end: 1722
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1722
    functionName: ostree_sysroot_origin_new_from_refspec
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_set_string
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *ostree_sysroot_origin_new_from_refspec (OstreeSysroot *self,
      const char *refspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1766,1
    - Dst: glnx_make_lock_file
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1774,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1777,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1783,1
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1769,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - self
    - out_acquired
    - error
    argTypes:
    - OstreeSysroot*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 1793
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1793
    functionName: ostree_sysroot_try_lock
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - glnx_make_lock_file
    - g_error_matches
    - ensure_sysroot_fd
    - _ostree_sysroot_ensure_writable
    - g_steal_pointer
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_try_lock (OstreeSysroot *self, gboolean *out_acquired,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SYSROOT
      Src: /src/ostree/src/libostree/ostree-sysroot.c:83,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:87,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:85,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:88,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:86,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:89,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:90,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:91,1
    - Dst: glnx_release_lock_file
      Src: /src/ostree/src/libostree/ostree-sysroot.c:93,1
    - Dst: ostree_sysroot_unload
      Src: /src/ostree/src/libostree/ostree-sysroot.c:95,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-sysroot.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: ostree_sysroot_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_clear_object
    - OSTREE_SYSROOT
    - glnx_release_lock_file
    - ostree_sysroot_unload
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_finalize (GObject *object) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_initialize
      Src: /src/ostree/src/libostree/ostree-sysroot.c:432,1
    - Dst: remount_writable
      Src: /src/ostree/src/libostree/ostree-sysroot.c:450,1
    - Dst: remount_writable
      Src: /src/ostree/src/libostree/ostree-sysroot.c:453,1
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:446,1
    - Dst: ostree_sysroot_unload
      Src: /src/ostree/src/libostree/ostree-sysroot.c:457,1
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:458,1
    - Dst: _ostree_sysroot_ensure_boot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:460,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: _ostree_sysroot_ensure_writable
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_ensure_boot_fd
    - ensure_sysroot_fd
    - remount_writable
    - ostree_sysroot_unload
    - ostree_sysroot_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_ensure_writable (OstreeSysroot *self, GError
      **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1082,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1103,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1101,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1094,1
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1084,1
    - Dst: g_variant_dict_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1104,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1110,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1117,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1117,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1124,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 1129
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1129
    functionName: ostree_sysroot_initialize
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ot_variant_read_fd
    - ensure_sysroot_fd
    - glnx_fstatat
    - g_debug
    - glnx_prefix_error
    - ot_openat_ignore_enoent
    - gs_file_get_path_cached
    - g_variant_dict_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_initialize (OstreeSysroot *self, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1392,1
    - Dst: glnx_null_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 1397
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1397
    functionName: ostree_sysroot_require_booted_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_assert
    - glnx_null_throw
    linkageType: ''
    returnType: OstreeDeployment*
    signature: 'OstreeDeployment *ostree_sysroot_require_booted_deployment (OstreeSysroot
      *self, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1424,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1428,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1428,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 1430
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1430
    functionName: ostree_sysroot_get_deployments
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_ref
    - g_ptr_array_add
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *ostree_sysroot_get_deployments (OstreeSysroot *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_parent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1474,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1476,1
    - Dst: ot_gfile_resolve_path_printf
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - deployment_path
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1477
    functionName: ostree_sysroot_get_deployment_origin_path
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_file_get_parent
    - ot_gfile_resolve_path_printf
    - gs_file_get_path_cached
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *ostree_sysroot_get_deployment_origin_path (GFile *deployment_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1517,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1518,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1521
    functionName: ostree_sysroot_repo
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'OstreeRepo *ostree_sysroot_repo (OstreeSysroot *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1689,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1699,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1692,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1700,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1699,1
    - Dst: ostree_sysroot_query_deployments_for
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1704,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - self
    - osname
    argTypes:
    - OstreeSysroot*
    - char*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1707
    functionName: ostree_sysroot_get_merge_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_query_deployments_for
    - g_object_ref
    - g_strcmp0
    - g_steal_pointer
    - g_return_val_if_fail
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: OstreeDeployment*
    signature: 'OstreeDeployment *ostree_sysroot_get_merge_deployment (OstreeSysroot
      *self, const char *osname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SYSROOT
      Src: /src/ostree/src/libostree/ostree-sysroot.c:103,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-sysroot.c:111,1
    - Dst: g_value_dup_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: ostree_sysroot_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_SYSROOT
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_bootloader_grub2_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1533,1
    - Dst: _ostree_bootloader_zipl_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1543,1
    - Dst: _ostree_bootloader_syslinux_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1535,1
    - Dst: _ostree_bootloader_aboot_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1537,1
    - Dst: _ostree_bootloader_uboot_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1539,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1548,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 2
    argNames:
    - sysroot
    - bl_type
    argTypes:
    - OstreeSysroot*
    - OstreeCfgSysrootBootloaderOpt
    constantsTouched: []
    func_position:
      end: 1550
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1550
    functionName: _ostree_sysroot_new_bootloader_by_type
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - _ostree_bootloader_uboot_new
    - g_assert_not_reached
    - _ostree_bootloader_grub2_new
    - _ostree_bootloader_aboot_new
    - _ostree_bootloader_syslinux_new
    - _ostree_bootloader_zipl_new
    linkageType: ''
    returnType: OstreeBootloader*
    signature: 'static OstreeBootloader *_ostree_sysroot_new_bootloader_by_type (OstreeSysroot
      *sysroot, OstreeCfgSysrootBootloaderOpt bl_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1446,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1448,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1448,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - self
    - deployment
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1449
    functionName: ostree_sysroot_get_deployment_dirpath
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - ostree_deployment_get_deployserial
    - ostree_deployment_get_csum
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_sysroot_get_deployment_dirpath (OstreeSysroot *self,
      OstreeDeployment *deployment) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2144,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2152,1
    - Dst: mkdir_unmasked
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2202,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2220,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2239,1
    - Dst: mkdir_unmasked
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2243,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2255,1
    - Dst: fchdir
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2278,1
    - Dst: err
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2281,1
    - Dst: exit
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2282,1
    - Dst: ostree_deployment_unlocked_state_to_string
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2307,1
    - Dst: g_file_set_contents
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2326,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2306,1
    - Dst: ostree_sysroot_get_merge_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2152,1
    - Dst: clone_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2159,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2194,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2217,1
    - Dst: ostree_sepolicy_new_at
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2174,1
    - Dst: fork
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2265,1
    - Dst: waitpid
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2289,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2290,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2297,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2303,1
    - Dst: dirname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2321,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2320,1
    - Dst: ostree_deployment_unlocked_state_to_string
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2149,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2148,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2154,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2169,1
    - Dst: mkdir_unmasked
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2204,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2206,1
    - Dst: _ostree_sepolicy_preparefscreatecon
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2229,1
    - Dst: mkdir_unmasked
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2233,1
    - Dst: mkdir_unmasked
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2245,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2249,1
    - Dst: _ostree_sysroot_get_runstate_path
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2318,1
    - Dst: ostree_sysroot_write_origin_file
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2308,1
    - Dst: mount
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2280,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2323,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2292,1
    - Dst: _ostree_sysroot_get_runstate_path
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2316,1
    - Dst: ostree_deployment_get_unlocked
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2146,1
    - Dst: ostree_sysroot_deployment_set_mutable
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2164,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2167,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2182,1
    - Dst: _ostree_sysroot_get_deployment_backing_relpath
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2172,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2267,1
    - Dst: err
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2279,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2289,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2291,1
    - Dst: ostree_deployment_clone
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2296,1
    - Dst: _ostree_sysroot_bump_mtime
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2336,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 98
    argCount: 5
    argNames:
    - self
    - deployment
    - unlocked_state
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - OstreeDeploymentUnlockedState
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2340
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2340
    functionName: ostree_sysroot_deployment_unlock
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_deployment_set_mutable
    - ostree_deployment_get_origin
    - clone_deployment
    - glnx_shutil_mkdir_p_at
    - fchdir
    - ostree_deployment_get_unlocked
    - fork
    - _ostree_sepolicy_preparefscreatecon
    - ostree_deployment_clone
    - glnx_throw
    - glnx_throw_errno_prefix
    - ostree_sysroot_write_origin_file
    - dirname
    - g_return_val_if_fail
    - g_spawn_check_exit_status
    - _ostree_sysroot_get_deployment_backing_relpath
    - _ostree_sysroot_bump_mtime
    - ostree_sysroot_get_deployment_dirpath
    - ostree_deployment_unlocked_state_to_string
    - g_assert_not_reached
    - TEMP_FAILURE_RETRY
    - glnx_fstatat
    - exit
    - ostree_sepolicy_new_at
    - g_file_set_contents
    - glnx_opendirat
    - err
    - ostree_sysroot_get_merge_deployment
    - mkdir_unmasked
    - g_build_filename
    - g_strdup_printf
    - mount
    - _ostree_sysroot_get_runstate_path
    - glnx_prefix_error
    - g_key_file_set_string
    - ostree_deployment_get_osname
    - g_strdup
    - g_assert
    - glnx_shutil_rm_rf_at
    - waitpid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_deployment_unlock (OstreeSysroot *self, OstreeDeployment
      *deployment, OstreeDeploymentUnlockedState unlocked_state, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:334,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-sysroot.c:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: ensure_sysroot_fd
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - glnx_opendirat
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_sysroot_fd (OstreeSysroot *self, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1374,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 1378
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1378
    functionName: ostree_sysroot_get_booted_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: OstreeDeployment*
    signature: 'OstreeDeployment *ostree_sysroot_get_booted_deployment (OstreeSysroot
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1413
    functionName: ostree_sysroot_get_staged_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: OstreeDeployment*
    signature: 'OstreeDeployment *ostree_sysroot_get_staged_deployment (OstreeSysroot
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1461,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - self
    - deployment
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 1463
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1463
    functionName: ostree_sysroot_get_deployment_directory
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_file_resolve_relative_path
    - ostree_sysroot_get_deployment_dirpath
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *ostree_sysroot_get_deployment_directory (OstreeSysroot *self,
      OstreeDeployment *deployment) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1641,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1654,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1646,1
    - Dst: ostree_deployment_equal
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1659,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1654,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1666,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1668,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1671,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1673,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 4
    argNames:
    - self
    - osname
    - out_pending
    - out_rollback
    argTypes:
    - OstreeSysroot*
    - char*
    - OstreeDeployment**
    - OstreeDeployment**
    constantsTouched: []
    func_position:
      end: 1674
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1674
    functionName: ostree_sysroot_query_deployments_for
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_assert
    - g_steal_pointer
    - strcmp
    - ostree_deployment_equal
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: void
    signature: 'void ostree_sysroot_query_deployments_for (OstreeSysroot *self, const
      char *osname, OstreeDeployment **out_pending, OstreeDeployment **out_rollback) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2114,1
    - Dst: fchmodat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2116,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - dfd
    - path
    - mode
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2119
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2119
    functionName: mkdir_unmasked
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - fchmodat
    - glnx_shutil_mkdir_p_at
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mkdir_unmasked (int dfd, const char *path, int mode,
      GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:732,1
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/src/libostree/ostree-sysroot.c:746,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:743,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-sysroot.c:742,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot.c:737,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot.c:749,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot.c:751,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:754,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - self
    - out_bootversion
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 759
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 759
    functionName: read_current_bootversion
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - glnx_readlinkat_malloc
    - glnx_fstatat_allow_noent
    - g_strcmp0
    - S_ISLNK
    - g_debug
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_current_bootversion (OstreeSysroot *self, int
      *out_bootversion, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-sysroot.c:793,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-sysroot.c:797,1
    - Dst: g_regex_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:795,1
    - Dst: g_regex_match
      Src: /src/ostree/src/libostree/ostree-sysroot.c:801,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:796,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:802,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-sysroot.c:807,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-sysroot.c:808,1
    - Dst: g_ascii_strtoll
      Src: /src/ostree/src/libostree/ostree-sysroot.c:810,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-sysroot.c:812,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-sysroot.c:814,1
    - Dst: g_ascii_strtoll
      Src: /src/ostree/src/libostree/ostree-sysroot.c:816,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 6
    argNames:
    - bootlink
    - out_entry_bootversion
    - out_osname
    - out_bootcsum
    - out_treebootserial
    - error
    argTypes:
    - char*
    - int*
    - char**
    - char**
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 818
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 818
    functionName: _ostree_sysroot_parse_bootlink
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_ascii_strtoll
    - g_assert
    - g_once_init_leave
    - glnx_throw
    - g_match_info_fetch
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_parse_bootlink (const char *bootlink, int
      *out_entry_bootversion, char **out_osname, char **out_bootcsum, int *out_treebootserial,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-sysroot.c:950,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:958,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sysroot.c:959,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libostree/ostree-sysroot.c:954,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:959,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 1
    argNames:
    - config
    argTypes:
    - OstreeBootconfigParser*
    constantsTouched: []
    func_position:
      end: 963
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 963
    functionName: get_ostree_kernel_arg_from_config
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - ostree_bootconfig_parser_get
    - g_strsplit
    - g_str_has_prefix
    linkageType: ''
    returnType: char*
    signature: 'static char *get_ostree_kernel_arg_from_config (OstreeBootconfigParser
      *config) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: read_current_bootversion
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1202,1
    - Dst: _ostree_sysroot_read_boot_loader_configs
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1211,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1218,1
    - Dst: _ostree_sysroot_read_current_subbootversion
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1206,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1216,1
    - Dst: list_deployments_process_one_boot_entry
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1224,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1226,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1233,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1238,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1243,1
    - Dst: _ostree_sysroot_reload_staged
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1249,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1253,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1291,1
    - Dst: ostree_deployment_set_index
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1263,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1257,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1279,1
    - Dst: g_ptr_array_insert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1257,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1294
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1294
    functionName: sysroot_load_from_bootloader_configs
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - ostree_deployment_set_index
    - g_object_ref
    - glnx_fstatat_allow_noent
    - g_ptr_array_new_with_free_func
    - g_assert
    - _ostree_sysroot_read_current_subbootversion
    - g_clear_object
    - _ostree_sysroot_reload_staged
    - g_ptr_array_sort
    - g_steal_pointer
    - read_current_bootversion
    - _ostree_sysroot_read_boot_loader_configs
    - glnx_throw
    - g_ptr_array_insert
    - list_deployments_process_one_boot_entry
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean sysroot_load_from_bootloader_configs (OstreeSysroot
      *self, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1564,1
    - Dst: _ostree_sysroot_new_bootloader_by_type
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1581,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1567,1
    - Dst: _ostree_bootloader_query
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1583,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1578,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1587,1
    - Dst: _ostree_sysroot_new_bootloader_by_type
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1593,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1595,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - sysroot
    - out_bootloader
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeBootloader**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1596
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1596
    functionName: _ostree_sysroot_query_bootloader
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_new_bootloader_by_type
    - g_debug
    - g_steal_pointer
    - ostree_sysroot_repo
    - ot_transfer_out_value
    - G_N_ELEMENTS
    - _ostree_bootloader_query
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_query_bootloader (OstreeSysroot *sysroot,
      OstreeBootloader **out_bootloader, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_release_lock_file
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 1807
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1807
    functionName: ostree_sysroot_unlock
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - glnx_release_lock_file
    linkageType: ''
    returnType: void
    signature: 'void ostree_sysroot_unlock (OstreeSysroot *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1856,1
    - Dst: g_task_propagate_boolean
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1857,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - OstreeSysroot*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1858
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1858
    functionName: ostree_sysroot_lock_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_lock_finish (OstreeSysroot *self, GAsyncResult
      *result, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1917,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1920,1
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1921,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1922,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1925,1
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1928,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1929,1
    - Dst: _ostree_sysroot_bump_mtime
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1931,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - self
    - osname
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1935
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1935
    functionName: ostree_sysroot_init_osname
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_bump_mtime
    - glnx_opendirat
    - mkdirat
    - _ostree_sysroot_ensure_writable
    - glnx_strjoina
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_init_osname (OstreeSysroot *self, const char
      *osname, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_get_origin_relpath
      Src: /src/ostree/src/libostree/ostree-sysroot.c:765,1
    - Dst: glnx_fd_readall_utf8
      Src: /src/ostree/src/libostree/ostree-sysroot.c:772,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:776,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:768,1
    - Dst: g_key_file_load_from_data
      Src: /src/ostree/src/libostree/ostree-sysroot.c:777,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot.c:778,1
    - Dst: ostree_deployment_set_origin
      Src: /src/ostree/src/libostree/ostree-sysroot.c:780,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - self
    - deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 784
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 784
    functionName: load_origin
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_key_file_new
    - glnx_fd_readall_utf8
    - ostree_deployment_set_origin
    - ostree_deployment_get_origin_relpath
    - glnx_prefix_error
    - ot_openat_ignore_enoent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean load_origin (OstreeSysroot *self, OstreeDeployment
      *deployment, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot.c:823,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot.c:824,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - deployment
    - key
    argTypes:
    - OstreeDeployment*
    - char*
    constantsTouched: []
    func_position:
      end: 826
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionName: _ostree_sysroot_get_runstate_path
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - ostree_deployment_get_deployserial
    - ostree_deployment_get_csum
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_sysroot_get_runstate_path (OstreeDeployment *deployment,
      const char *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1601,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1615,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1618,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1616,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - lines
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1619
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1619
    functionName: _ostree_sysroot_join_lines
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - g_string_append
    - g_string_append_c
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_sysroot_join_lines (GPtrArray *lines) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_is_pinned
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2365,1
    - Dst: ostree_deployment_clone
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2372,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2373,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2370,1
    - Dst: ostree_deployment_is_staged
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2369,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2376,1
    - Dst: g_key_file_remove_key
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2378,1
    - Dst: ostree_sysroot_write_origin_file
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2380,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - self
    - deployment
    - is_pinned
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 2384
      start: 2361
    functionDepth: 0
    functionLinenumber: 2361
    functionLinenumberEnd: 2384
    functionName: ostree_sysroot_deployment_set_pinned
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_key_file_set_boolean
    - ostree_deployment_is_pinned
    - g_key_file_remove_key
    - ostree_deployment_get_origin
    - ostree_deployment_clone
    - glnx_throw
    - ostree_deployment_is_staged
    - ostree_sysroot_write_origin_file
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_deployment_set_pinned (OstreeSysroot *self,
      OstreeDeployment *deployment, gboolean is_pinned, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-sysroot.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: ostree_sysroot_get_fd
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: 'int ostree_sysroot_get_fd (OstreeSysroot *self) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot.c:847,1
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/src/libostree/ostree-sysroot.c:855,1
    - Dst: _ostree_sysroot_parse_bootlink
      Src: /src/ostree/src/libostree/ostree-sysroot.c:842,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-sysroot.c:859,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:866,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:885,1
    - Dst: ostree_deployment_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:908,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/libostree/ostree-sysroot.c:924,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/libostree/ostree-sysroot.c:926,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot.c:848,1
    - Dst: lstat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:920,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot.c:935,1
    - Dst: ensure_sysroot_fd
      Src: /src/ostree/src/libostree/ostree-sysroot.c:832,1
    - Dst: _ostree_sysroot_parse_deploy_path_name
      Src: /src/ostree/src/libostree/ostree-sysroot.c:862,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot.c:892,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sysroot.c:897,1
    - Dst: load_origin
      Src: /src/ostree/src/libostree/ostree-sysroot.c:909,1
    - Dst: _ostree_sysroot_get_runstate_path
      Src: /src/ostree/src/libostree/ostree-sysroot.c:915,1
    - Dst: _ostree_sysroot_get_runstate_path
      Src: /src/ostree/src/libostree/ostree-sysroot.c:913,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:876,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:888,1
    - Dst: lstat
      Src: /src/ostree/src/libostree/ostree-sysroot.c:918,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot.c:928,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:938,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:940,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 56
    argCount: 5
    argNames:
    - self
    - boot_link
    - out_deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - OstreeDeployment**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 942
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 942
    functionName: parse_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    - ostree_deployment_get_origin
    - lstat
    - g_steal_pointer
    - GLNX_AUTO_PREFIX_ERROR
    - _ostree_sysroot_parse_bootlink
    - g_strcmp0
    - g_variant_dict_lookup
    - g_object_ref
    - glnx_opendirat
    - g_strdup_printf
    - _ostree_sysroot_get_runstate_path
    - glnx_basename
    - _ostree_sysroot_parse_deploy_path_name
    - ostree_deployment_new
    - glnx_readlinkat_malloc
    - g_assert
    - ensure_sysroot_fd
    - g_debug
    - glnx_fstat
    - load_origin
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_deployment (OstreeSysroot *self, const char
      *boot_link, OstreeDeployment **out_deployment, GCancellable *cancellable, GError
      **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1135,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1142,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1141,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1139,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1146,1
    - Dst: ot_fd_readall_or_mmap
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1150,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1154,1
    - Dst: g_variant_dict_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1155,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1161,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1162,1
    - Dst: _ostree_sysroot_deserialize_deployment_from_variant
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1167,1
    - Dst: _ostree_deployment_set_bootconfig_from_kargs
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1171,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1177,1
    - Dst: _ostree_deployment_set_overlay_initrds
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1175,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1178,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1163,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1184,1
    - Dst: load_origin
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSysroot*
    - GError**
    constantsTouched: []
    func_position:
      end: 1190
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1190
    functionName: _ostree_sysroot_reload_staged
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - _ostree_sysroot_deserialize_deployment_from_variant
    - g_assert
    - g_clear_pointer
    - g_clear_object
    - g_variant_new_from_bytes
    - g_steal_pointer
    - _ostree_deployment_set_bootconfig_from_kargs
    - _ostree_deployment_set_overlay_initrds
    - ot_fd_readall_or_mmap
    - ot_openat_ignore_enoent
    - load_origin
    - g_variant_dict_new
    - g_variant_dict_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_reload_staged (OstreeSysroot *self, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure_repo
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1495,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1498,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - self
    - out_repo
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeRepo**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1500
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1500
    functionName: ostree_sysroot_get_repo
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - ensure_repo
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_get_repo (OstreeSysroot *self, OstreeRepo
      **out_repo, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1841,1
    - Dst: g_task_run_in_thread
      Src: /src/ostree/src/libostree/ostree-sysroot.c:1842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - self
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1843
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1843
    functionName: ostree_sysroot_lock_async
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_task_run_in_thread
    - g_task_new
    linkageType: ''
    returnType: void
    signature: 'void ostree_sysroot_lock_async (OstreeSysroot *self, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2065,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2066,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2067,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot.c:2067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - deployment
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 2068
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2068
    functionName: _ostree_sysroot_get_deployment_backing_relpath
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - ostree_deployment_get_deployserial
    - ostree_deployment_get_csum
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_sysroot_get_deployment_backing_relpath (OstreeDeployment
      *deployment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1355
    functionName: ostree_sysroot_get_bootversion
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ostree_sysroot_get_bootversion (OstreeSysroot *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-file.c:150,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-file.c:152,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-file.c:151,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-file.c:152,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-file.c:154,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:158,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-file.c:159,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-file.c:159,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:162,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-file.c:163,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-file.c:163,1
    - Dst: _ostree_repo_file_new_root
      Src: /src/ostree/src/libostree/ostree-repo-file.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - repo
    - commit
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 167
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 167
    functionName: _ostree_repo_file_new_for_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_get_child
    - ostree_checksum_inplace_from_bytes
    - ostree_repo_load_variant
    - _ostree_repo_file_new_root
    - g_return_val_if_fail
    - g_variant_get_data
    linkageType: ''
    returnType: OstreeRepoFile*
    signature: 'OstreeRepoFile *_ostree_repo_file_new_for_commit (OstreeRepo *repo,
      const char *commit, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFile*
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: ostree_repo_file_tree_get_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_repo_file_tree_get_metadata (OstreeRepoFile *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:55,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:60,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:59,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:57,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:58,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:61,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:62,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-file.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: ostree_repo_file_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - G_OBJECT_CLASS
    - g_free
    - OSTREE_REPO_FILE
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_file_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-file.c:175,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-file.c:177,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-file.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeRepoFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 191
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 191
    functionName: do_resolve
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_repo_load_variant
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_resolve (OstreeRepoFile *self, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileIface*
    constantsTouched: []
    func_position:
      end: 1011
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1011
    functionName: ostree_repo_file_file_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_file_file_iface_init (GFileIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFile*
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ostree_repo_file_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_file_init (OstreeRepoFile *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-file.c:110,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-file.c:113,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-file.c:111,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-file.c:112,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-file.c:112,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-file.c:114,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-file.c:114,1
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo-file.c:116,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-file.c:117,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-file.c:118,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-file.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - repo
    - contents_checksum
    - metadata_checksum
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: _ostree_repo_file_new_root
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_object_ref
    - g_object_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeRepoFile*
    signature: 'OstreeRepoFile *_ostree_repo_file_new_root (OstreeRepo *repo, const
      char *contents_checksum, const char *metadata_checksum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_file_tree_find_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:437,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:440,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-file.c:438,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:445,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:441,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:449,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:451,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:452,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-file.c:454,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-file.c:456,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFile*
    constantsTouched: []
    func_position:
      end: 459
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 459
    functionName: ostree_repo_file_get_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - ostree_repo_file_tree_find_child
    - g_clear_pointer
    - g_assert
    - g_variant_get_child_value
    - g_variant_unref
    - g_variant_get_child
    - ostree_checksum_from_bytes_v
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_repo_file_get_checksum (OstreeRepoFile *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:522,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-file.c:530,1
    - Dst: g_filename_to_uri
      Src: /src/ostree/src/libostree/ostree-repo-file.c:529,1
    - Dst: ostree_repo_file_get_root
      Src: /src/ostree/src/libostree/ostree-repo-file.c:526,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-file.c:528,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-file.c:530,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-file.c:531,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-file.c:532,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 536
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 536
    functionName: ostree_repo_file_get_uri
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - g_assert
    - g_filename_to_uri
    - OSTREE_REPO_FILE
    - g_str_has_prefix
    - gs_file_get_path_cached
    - g_strconcat
    - ostree_repo_file_get_root
    linkageType: ''
    returnType: char*
    signature: 'static char *ostree_repo_file_get_uri (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:547,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-file.c:549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: ostree_repo_file_get_parent
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - OSTREE_REPO_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *ostree_repo_file_get_parent (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:567,1
    - Dst: g_file_hash
      Src: /src/ostree/src/libostree/ostree-repo-file.c:570,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-repo-file.c:570,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-repo-file.c:572,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-repo-file.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: ostree_repo_file_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_file_hash
    - OSTREE_REPO_FILE
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint ostree_repo_file_hash (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:692,1
    - Dst: _ostree_repo_file_enumerator_new
      Src: /src/ostree/src/libostree/ostree-repo-file.c:693,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 694
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 694
    functionName: ostree_repo_file_enumerate_children
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - _ostree_repo_file_enumerator_new
    - OSTREE_REPO_FILE
    linkageType: ''
    returnType: GFileEnumerator*
    signature: 'static GFileEnumerator *ostree_repo_file_enumerate_children (GFile
      *file, const char *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_info_list_new
      Src: /src/ostree/src/libostree/ostree-repo-file.c:926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 927
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 927
    functionName: ostree_repo_file_query_writable_namespaces
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_new
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'static GFileAttributeInfoList *ostree_repo_file_query_writable_namespaces
      (GFile *file, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-file.c:99,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-file.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - GFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: set_error_noent
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_set_error
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_error_noent (GFile *self, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo-file.c:130,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-file.c:133,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-file.c:134,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-file.c:131,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-file.c:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - parent
    - name
    argTypes:
    - OstreeRepoFile*
    - char*
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: ostree_repo_file_new_child
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: OstreeRepoFile*
    signature: 'static OstreeRepoFile *ostree_repo_file_new_child (OstreeRepoFile
      *parent, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: ostree_repo_file_is_native
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_repo_file_is_native (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_file_get_uri
      Src: /src/ostree/src/libostree/ostree-repo-file.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: ostree_repo_file_get_parse_name
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - ostree_repo_file_get_uri
    linkageType: ''
    returnType: char*
    signature: 'static char *ostree_repo_file_get_parse_name (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:555,1
    - Dst: _ostree_repo_file_new_root
      Src: /src/ostree/src/libostree/ostree-repo-file.c:560,1
    - Dst: G_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:560,1
    - Dst: G_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:558,1
    - Dst: ostree_repo_file_new_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: ostree_repo_file_dup
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - _ostree_repo_file_new_root
    - ostree_repo_file_new_child
    - OSTREE_REPO_FILE
    - G_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *ostree_repo_file_dup (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:578,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-file.c:583,1
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:579,1
    - Dst: g_file_equal
      Src: /src/ostree/src/libostree/ostree-repo-file.c:584,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-file.c:588,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-file.c:589,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - file1
    - file2
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 593
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 593
    functionName: ostree_repo_file_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_file_equal
    - OSTREE_REPO_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_repo_file_equal (GFile *file1, GFile *file2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - file
    - display_name
    - error
    argTypes:
    - GFile*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: ostree_repo_file_get_child_for_display_name
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *ostree_repo_file_get_child_for_display_name (GFile *file,
      const char *display_name, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:932,1
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/libostree/ostree-repo-file.c:936,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-repo-file.c:941,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-file.c:948,1
    - Dst: ostree_repo_file_get_checksum
      Src: /src/ostree/src/libostree/ostree-repo-file.c:945,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-file.c:950,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-file.c:952,1
    - Dst: g_file_get_parent
      Src: /src/ostree/src/libostree/ostree-repo-file.c:958,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo-file.c:959,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-repo-file.c:960,1
    - Dst: g_file_read
      Src: /src/ostree/src/libostree/ostree-repo-file.c:961,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:964,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 965
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 965
    functionName: ostree_repo_file_read
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - ostree_repo_load_file
    - g_file_resolve_relative_path
    - OSTREE_REPO_FILE
    - g_file_get_parent
    - g_file_info_get_file_type
    - g_steal_pointer
    - g_file_info_get_symlink_target
    - g_file_read
    - ostree_repo_file_ensure_resolved
    - g_set_error_literal
    - ostree_repo_file_get_checksum
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'static GFileInputStream *ostree_repo_file_read (GFile *file, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFile*
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: ostree_repo_file_tree_get_contents
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_repo_file_tree_get_contents (OstreeRepoFile *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFile*
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: ostree_repo_file_tree_get_metadata_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_repo_file_tree_get_metadata_checksum (OstreeRepoFile
      *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: do_resolve
      Src: /src/ostree/src/libostree/ostree-repo-file.c:273,1
    - Dst: do_resolve_nonroot
      Src: /src/ostree/src/libostree/ostree-repo-file.c:280,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeRepoFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 286
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 286
    functionName: ostree_repo_file_ensure_resolved
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - do_resolve
    - do_resolve_nonroot
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_file_ensure_resolved (OstreeRepoFile *self, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/libostree/ostree-repo-file.c:299,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:304,1
    - Dst: ostree_repo_file_get_checksum
      Src: /src/ostree/src/libostree/ostree-repo-file.c:307,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:312,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-file.c:307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - self
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - OstreeRepoFile*
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: ostree_repo_file_get_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - ostree_repo_load_file
    - g_variant_get_child_value
    - ot_transfer_out_value
    - ostree_repo_file_ensure_resolved
    - ostree_repo_file_get_checksum
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_file_get_xattrs (OstreeRepoFile *self, GVariant
      **out_xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFile*
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ostree_repo_file_tree_get_contents_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_repo_file_tree_get_contents_checksum (OstreeRepoFile
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:482,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-file.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 484
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 484
    functionName: ostree_repo_file_get_basename
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_strdup
    - OSTREE_REPO_FILE
    linkageType: ''
    returnType: char*
    signature: 'static char *ostree_repo_file_get_basename (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-file.c:634,1
    - Dst: match_prefix
      Src: /src/ostree/src/libostree/ostree-repo-file.c:636,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-file.c:639,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-file.c:635,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/ostree/src/libostree/ostree-repo-file.c:638,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 641
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 641
    functionName: ostree_repo_file_get_relative_path
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - g_strdup
    - match_prefix
    - gs_file_get_path_cached
    linkageType: ''
    returnType: char*
    signature: 'static char *ostree_repo_file_get_relative_path (GFile *parent, GFile
      *descendant) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:895,1
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/libostree/ostree-repo-file.c:898,1
    - Dst: set_info_from_dirmeta
      Src: /src/ostree/src/libostree/ostree-repo-file.c:904,1
    - Dst: g_file_info_new
      Src: /src/ostree/src/libostree/ostree-repo-file.c:903,1
    - Dst: ostree_repo_file_tree_query_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:908,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-file.c:911,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:914,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 915
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 915
    functionName: ostree_repo_file_query_info
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_assert
    - set_info_from_dirmeta
    - OSTREE_REPO_FILE
    - g_steal_pointer
    - ostree_repo_file_tree_query_child
    - ostree_repo_file_ensure_resolved
    - g_file_info_new
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *ostree_repo_file_query_info (GFile *file, const
      char *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:489,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-file.c:507,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-file.c:495,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-file.c:506,1
    - Dst: g_slist_prepend
      Src: /src/ostree/src/libostree/ostree-repo-file.c:499,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-file.c:510,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-file.c:512,1
    - Dst: g_slist_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:514,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:516,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 517
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 517
    functionName: ostree_repo_file_get_path
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - OSTREE_REPO_FILE
    - g_string_append_c
    - g_slist_prepend
    - g_string_free
    - g_slist_free
    linkageType: ''
    returnType: char*
    signature: 'static char *ostree_repo_file_get_path (GFile *file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:646,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-file.c:657,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-file.c:654,1
    - Dst: g_path_is_absolute
      Src: /src/ostree/src/libostree/ostree-repo-file.c:652,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-file.c:656,1
    - Dst: ostree_repo_file_get_root
      Src: /src/ostree/src/libostree/ostree-repo-file.c:657,1
    - Dst: ostree_repo_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-repo-file.c:660,1
    - Dst: ostree_repo_file_get_root
      Src: /src/ostree/src/libostree/ostree-repo-file.c:660,1
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-repo-file.c:666,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-repo-file.c:670,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:676,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-file.c:673,1
    - Dst: ostree_repo_file_new_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:675,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-file.c:683,1
    - Dst: ostree_repo_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-repo-file.c:682,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - file
    - relative_path
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 686
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 686
    functionName: ostree_repo_file_resolve_relative_path
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_free
    - g_assert
    - g_strndup
    - g_clear_object
    - OSTREE_REPO_FILE
    - ostree_repo_file_resolve_relative_path
    - ostree_repo_file_new_child
    - strcmp
    - strchr
    - ostree_repo_file_get_root
    - g_path_is_absolute
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *ostree_repo_file_resolve_relative_path (GFile *file,
      const char *relative_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_info_list_new
      Src: /src/ostree/src/libostree/ostree-repo-file.c:920,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: ostree_repo_file_query_settable_attributes
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_new
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'static GFileAttributeInfoList *ostree_repo_file_query_settable_attributes
      (GFile *file, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/libostree/ostree-repo-file.c:205,1
    - Dst: ostree_repo_file_tree_find_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:214,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:227,1
    - Dst: set_error_noent
      Src: /src/ostree/src/libostree/ostree-repo-file.c:218,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-file.c:210,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-file.c:228,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:229,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:231,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:233,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-file.c:234,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-file.c:241,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-file.c:250,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-file.c:249,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-file.c:235,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:239,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-file.c:240,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeRepoFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 256
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 256
    functionName: do_resolve_nonroot
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_free
    - ostree_repo_file_tree_find_child
    - g_variant_n_children
    - g_clear_pointer
    - g_variant_get_child_value
    - ostree_repo_load_variant
    - set_error_noent
    - g_variant_get_child
    - ostree_checksum_from_bytes_v
    - ostree_repo_file_ensure_resolved
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_resolve_nonroot (OstreeRepoFile *self, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFile*
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: ostree_repo_file_get_root
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OstreeRepoFile*
    signature: 'OstreeRepoFile *ostree_repo_file_get_root (OstreeRepoFile *self) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:830,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-file.c:832,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-file.c:844,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:829,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:837,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-file.c:842,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-file.c:858,1
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/ostree/src/libostree/ostree-repo-file.c:873,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-file.c:863,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/ostree/src/libostree/ostree-repo-file.c:874,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:884,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/ostree/src/libostree/ostree-repo-file.c:887,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/ostree/src/libostree/ostree-repo-file.c:825,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-file.c:838,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-file.c:859,1
    - Dst: query_child_info_dir
      Src: /src/ostree/src/libostree/ostree-repo-file.c:865,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-file.c:852,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-file.c:880,1
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/libostree/ostree-repo-file.c:822,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-file.c:827,1
    - Dst: g_file_info_set_is_hidden
      Src: /src/ostree/src/libostree/ostree-repo-file.c:876,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 45
    argCount: 7
    argNames:
    - self
    - n
    - attributes
    - flags
    - out_info
    - cancellable
    - error
    argTypes:
    - OstreeRepoFile*
    - int
    - char*
    - GFileQueryInfoFlags
    - GFileInfo**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 889
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 889
    functionName: ostree_repo_file_tree_query_child
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - query_child_info_dir
    - ostree_repo_load_file
    - g_assert
    - g_variant_n_children
    - g_clear_object
    - g_variant_get_child_value
    - g_file_attribute_matcher_new
    - g_variant_get_child
    - g_file_info_set_attribute_byte_string
    - ostree_checksum_inplace_from_bytes
    - ot_transfer_out_value
    - ostree_checksum_bytes_peek_validate
    - ostree_repo_file_ensure_resolved
    - g_file_info_set_is_hidden
    - g_file_info_set_attribute_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_file_tree_query_child (OstreeRepoFile *self,
      int n, const char *attributes, GFileQueryInfoFlags flags, GFileInfo **out_info,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:72,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-file.c:77,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-file.c:75,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-file.c:74,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-file.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: ostree_repo_file_dispose
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_OBJECT_CLASS
    - OSTREE_REPO_FILE
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_file_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFile*
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: ostree_repo_file_get_repo
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'OstreeRepo *ostree_repo_file_get_repo (OstreeRepoFile *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/ostree/src/libostree/ostree-repo-file.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - file
    - uri_scheme
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: ostree_repo_file_has_uri_scheme
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_repo_file_has_uri_scheme (GFile *file, const
      char *uri_scheme) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-file.c:600,1
    - Dst: strncmp
      Src: /src/ostree/src/libostree/ostree-repo-file.c:601,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/ostree/src/libostree/ostree-repo-file.c:606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - path
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 610
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 610
    functionName: match_prefix
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - strlen
    - G_IS_DIR_SEPARATOR
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *match_prefix (const char *path, const char *prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-file.c:707,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:713,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-file.c:710,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:712,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-file.c:711,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-file.c:715,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-file.c:716,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-file.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - info
    - metadata
    argTypes:
    - GFileInfo*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 718
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 718
    functionName: set_info_from_dirmeta
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - GUINT32_FROM_BE
    - g_file_info_set_attribute_uint32
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void set_info_from_dirmeta (GFileInfo *info, GVariant *metadata) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:760,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:761,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:788,1
    - Dst: ot_variant_bsearch_str
      Src: /src/ostree/src/libostree/ostree-repo-file.c:764,1
    - Dst: ot_variant_bsearch_str
      Src: /src/ostree/src/libostree/ostree-repo-file.c:772,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:789,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:790,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - self
    - name
    - is_dir
    - out_container
    argTypes:
    - OstreeRepoFile*
    - char*
    - gboolean*
    - GVariant**
    constantsTouched: []
    func_position:
      end: 792
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 792
    functionName: ostree_repo_file_tree_find_child
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_variant_get_child_value
    - ot_variant_bsearch_str
    linkageType: ''
    returnType: int
    signature: 'int ostree_repo_file_tree_find_child (OstreeRepoFile *self, const
      char *name, gboolean *is_dir, GVariant **out_container) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-file.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeRepoFileClass*
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: ostree_repo_file_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_file_class_init (OstreeRepoFileClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-file.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: ostree_repo_file_get_uri_scheme
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *ostree_repo_file_get_uri_scheme (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-file.c:619,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/ostree/src/libostree/ostree-repo-file.c:622,1
    - Dst: match_prefix
      Src: /src/ostree/src/libostree/ostree-repo-file.c:621,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-file.c:620,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 625
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 625
    functionName: ostree_repo_file_prefix_matches
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - match_prefix
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_repo_file_prefix_matches (GFile *parent, GFile
      *descendant) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_new
      Src: /src/ostree/src/libostree/ostree-repo-file.c:726,1
    - Dst: set_info_from_dirmeta
      Src: /src/ostree/src/libostree/ostree-repo-file.c:737,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/ostree/src/libostree/ostree-repo-file.c:730,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-file.c:728,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-file.c:733,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-file.c:740,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 7
    argNames:
    - repo
    - metadata_checksum
    - matcher
    - flags
    - out_info
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GFileAttributeMatcher*
    - GFileQueryInfoFlags
    - GFileInfo**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 742
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 742
    functionName: query_child_info_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_matches
    - ot_transfer_out_value
    - ostree_repo_load_variant
    - set_info_from_dirmeta
    - g_file_info_new
    - g_file_info_set_attribute_uint32
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean query_child_info_dir (OstreeRepo *repo, const char
      *metadata_checksum, GFileAttributeMatcher *matcher, GFileQueryInfoFlags flags,
      GFileInfo **out_info, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-file.c:355,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file.c:357,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-file.c:358,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-file.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - self
    - checksum
    - metadata
    argTypes:
    - OstreeRepoFile*
    - char*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: ostree_repo_file_tree_set_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_strdup
    - g_variant_ref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_file_tree_set_metadata (OstreeRepoFile *self, const
      char *checksum, GVariant *metadata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_init
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:240,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:243,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:245,1
    - Dst: curl_multi_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:244,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:242,1
    - Dst: curl_multi_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:246,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:247,1
    - Dst: curl_multi_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:248,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:249,1
    - Dst: curl_multi_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:251,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:252,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:260,1
    - Dst: curl_multi_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:254,1
    - Dst: curl_multi_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:261,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:255,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 264
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 264
    functionName: _ostree_fetcher_init
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - curl_multi_init
    - curl_multi_setopt
    - CURL_AT_LEAST_VERSION
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_init (OstreeFetcher *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: _ostree_fetcher_set_force_anonymous_tmpfiles
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_force_anonymous_tmpfiles (OstreeFetcher *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:269,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - tmpdir_dfd
    - remote_name
    - flags
    argTypes:
    - int
    - char*
    - OstreeFetcherConfigFlags
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: _ostree_fetcher_new
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    linkageType: ''
    returnType: OstreeFetcher*
    signature: 'OstreeFetcher *_ostree_fetcher_new (int tmpdir_dfd, const char *remote_name,
      OstreeFetcherConfigFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:284,1
    - Dst: g_source_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: destroy_and_unref_source
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void destroy_and_unref_source (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:527,1
    - Dst: g_unix_fd_source_new
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:531,1
    - Dst: g_source_attach
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:533,1
    - Dst: g_source_set_callback
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - f
    - s
    - act
    - fetcher
    argTypes:
    - SockInfo*
    - curl_socket_t
    - int
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 534
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 534
    functionName: setsock
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_source_set_callback
    - g_source_attach
    - g_unix_fd_source_new
    linkageType: ''
    returnType: void
    signature: 'static void setsock (SockInfo *f, curl_socket_t s, int act, OstreeFetcher
      *fetcher) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:563,1
    - Dst: addsock
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:570,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:564,1
    - Dst: setsock
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - easy
    - s
    - what
    - cbp
    - sockp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 578
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 578
    functionName: sock_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_hash_table_remove
    - setsock
    - addsock
    linkageType: ''
    returnType: int
    signature: 'static int sock_cb (CURL *easy, curl_socket_t s, int what, void *cbp,
      void *sockp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_async
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 11
    argNames:
    - self
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - max_size
    - priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - guint64
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1105
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1105
    functionName: _ostree_fetcher_request_to_membuf
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_request_async
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_request_to_membuf (OstreeFetcher *self, GPtrArray
      *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, const char
      *if_none_match, guint64 if_modified_since, guint64 max_size, int priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_to_string_partial
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:292,1
    - Dst: g_uri_to_string_partial
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:294,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - req
    - baseuri
    argTypes:
    - FetcherRequest*
    - GUri*
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: request_get_uri
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - g_uri_to_string_partial
    linkageType: ''
    returnType: char*
    signature: 'static char *request_get_uri (FetcherRequest *req, GUri *baseuri) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:515,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - SockInfo*
    constantsTouched: []
    func_position:
      end: 517
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 517
    functionName: sock_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void sock_unref (SockInfo *f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:540,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:547,1
    - Dst: setsock
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:544,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:546,1
    - Dst: curl_multi_assign
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - s
    - easy
    - action
    - fetcher
    argTypes:
    - curl_socket_t
    - CURL*
    - int
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 548
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 548
    functionName: addsock
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - curl_multi_assign
    - g_hash_table_add
    - g_new0
    - setsock
    linkageType: ''
    returnType: void
    signature: 'static void addsock (curl_socket_t s, CURL *easy, int action, OstreeFetcher
      *fetcher) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:634,1
    - Dst: g_strstrip
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:655,1
    - Dst: strncasecmp
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:647,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:641,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:639,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:647,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:649,1
    - Dst: g_strstrip
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:650,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:650,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:652,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:655,1
    - Dst: _ostree_parse_rfc2616_date_time
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:656,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:656,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:655,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:646,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:650,1
    - Dst: strncasecmp
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:653,1
    - Dst: g_date_time_to_unix
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:657,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:653,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - buffer
    - size
    - n_items
    - user_data
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 661
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 661
    functionName: response_header_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - G_TASK
    - g_assert
    - g_clear_pointer
    - g_date_time_to_unix
    - g_strstrip
    - _ostree_parse_rfc2616_date_time
    - strncasecmp
    - g_task_get_task_data
    linkageType: ''
    returnType: size_t
    signature: 'static size_t response_header_cb (const char *buffer, size_t size,
      size_t n_items, void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:671,1
    - Dst: curl_easy_getinfo
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:672,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:673,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ult
    - uln
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 676
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 676
    functionName: prog_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - curl_easy_getinfo
    - g_task_get_task_data
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'static int prog_cb (void *p, double dltotal, double dlnow, double
      ult, double uln) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - opt_low_speed_time
    argTypes:
    - OstreeFetcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: _ostree_fetcher_set_low_speed_time
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_low_speed_time (OstreeFetcher *self, guint32
      opt_low_speed_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - opt_retry_all
    argTypes:
    - OstreeFetcher*
    - gboolean
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: _ostree_fetcher_set_retry_all
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_retry_all (OstreeFetcher *self, gboolean
      opt_retry_all) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:756,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - dbpath
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: _ostree_fetcher_set_tls_database
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_tls_database (OstreeFetcher *self, const
      char *dbpath) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_open_anonymous_tmpfile
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:305,1
    - Dst: _ostree_fetcher_tmpf
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - req
    - error
    argTypes:
    - FetcherRequest*
    - GError**
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: ensure_tmpfile
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_tmpf
    - glnx_open_anonymous_tmpfile
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_tmpfile (FetcherRequest *req, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:684,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:686,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:689,1
    - Dst: glnx_tmpfile_clear
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:687,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:685,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:690,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:691,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:692,1
    - Dst: curl_easy_cleanup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:693,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - req
    argTypes:
    - FetcherRequest*
    constantsTouched: []
    func_position:
      end: 696
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 696
    functionName: request_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_free
    - g_clear_pointer
    - g_clear_error
    - g_string_free
    - curl_easy_cleanup
    - g_ptr_array_unref
    - glnx_tmpfile_clear
    linkageType: ''
    returnType: void
    signature: 'static void request_unref (FetcherRequest *req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - opt_low_speed_limit
    argTypes:
    - OstreeFetcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 721
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 721
    functionName: _ostree_fetcher_set_low_speed_limit
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_low_speed_limit (OstreeFetcher *self, guint32
      opt_low_speed_limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - opt_max_outstanding_fetcher_requests
    argTypes:
    - OstreeFetcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: _ostree_fetcher_set_max_outstanding_fetcher_requests
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_max_outstanding_fetcher_requests (OstreeFetcher
      *self, guint32 opt_max_outstanding_fetcher_requests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:767,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:770,1
    - Dst: curl_slist_append
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:773,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:772,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - self
    - extra_headers
    argTypes:
    - OstreeFetcher*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 775
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 775
    functionName: _ostree_fetcher_set_extra_headers
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - curl_slist_append
    - g_clear_pointer
    - g_variant_iter_init
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_extra_headers (OstreeFetcher *self, GVariant
      *extra_headers) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1072,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1073,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1076,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1072,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1073,1
    - Dst: g_task_propagate_boolean
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1078,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1081,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1088,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 7
    argNames:
    - self
    - result
    - out_tmpf
    - out_not_modified
    - out_etag
    - out_last_modified
    - error
    argTypes:
    - OstreeFetcher*
    - GAsyncResult*
    - GLnxTmpfile*
    - gboolean*
    - char**
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 1093
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1093
    functionName: _ostree_fetcher_request_to_tmpfile_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert
    - g_task_propagate_boolean
    - g_steal_pointer
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_request_to_tmpfile_finish (OstreeFetcher
      *self, GAsyncResult *result, GLnxTmpfile *out_tmpf, gboolean *out_not_modified,
      char **out_etag, guint64 *out_last_modified, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1117,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1121,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1118,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1118,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1117,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1123,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1127,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1128,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1134,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 7
    argNames:
    - self
    - result
    - out_buf
    - out_not_modified
    - out_etag
    - out_last_modified
    - error
    argTypes:
    - OstreeFetcher*
    - GAsyncResult*
    - GBytes**
    - gboolean*
    - char**
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 1139
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1139
    functionName: _ostree_fetcher_request_to_membuf_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert
    - g_task_propagate_pointer
    - g_steal_pointer
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_request_to_membuf_finish (OstreeFetcher *self,
      GAsyncResult *result, GBytes **out_buf, gboolean *out_not_modified, char **out_etag,
      guint64 *out_last_modified, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:589,1
    - Dst: curl_easy_getinfo
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:599,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:610,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:600,1
    - Dst: g_error_new
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:602,1
    - Dst: ensure_tmpfile
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:613,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:615,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:616,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:618,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 627
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 627
    functionName: write_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_error_new
    - g_assert
    - curl_easy_getinfo
    - glnx_loop_write
    - g_string_append_len
    - glnx_set_error_from_errno
    - g_task_get_task_data
    - ensure_tmpfile
    linkageType: ''
    returnType: size_t
    signature: 'static size_t write_cb (void *ptr, size_t size, size_t nmemb, void
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1145
    functionName: _ostree_fetcher_bytes_transferred
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'guint64 _ostree_fetcher_bytes_transferred (OstreeFetcher *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_async
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1061,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 11
    argNames:
    - self
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - max_size
    - priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - guint64
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1064
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1064
    functionName: _ostree_fetcher_request_to_tmpfile
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_request_async
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_request_to_tmpfile (OstreeFetcher *self, GPtrArray
      *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, const char
      *if_none_match, guint64 if_modified_since, guint64 max_size, int priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:458,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:460,1
    - Dst: check_multi_info
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:461,1
    - Dst: curl_multi_socket_action
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: timer_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_assert_cmpint
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timer_cb (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:494,1
    - Dst: check_multi_info
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:496,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - condition
    - data
    argTypes:
    - int
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 505
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 505
    functionName: event_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean event_cb (int fd, GIOCondition condition, gpointer
      data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:792,1
    - Dst: g_source_get_time
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:798,1
    - Dst: update_timeout_cb
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:802,1
    - Dst: g_source_get_ready_time
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:797,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:805,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - self
    - mainctx
    argTypes:
    - OstreeFetcher*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 807
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 807
    functionName: adopt_steal_mainctx
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH
    - g_assert
    - g_source_get_ready_time
    - update_timeout_cb
    - g_source_get_time
    linkageType: ''
    returnType: void
    signature: 'static void adopt_steal_mainctx (OstreeFetcher *self, GMainContext
      *mainctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: _ostree_fetcher_constructed
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_constructed (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:165,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:173,1
    - Dst: g_value_set_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: _ostree_fetcher_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_FETCHER
    - g_value_set_flags
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:333,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:340,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:340,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:342,1
    - Dst: curl_easy_strerror
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:363,1
    - Dst: curl_easy_strerror
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:365,1
    - Dst: g_task_return_new_error
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:361,1
    - Dst: _ostree_fetcher_journal_failure
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:364,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:347,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:424,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:435,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:335,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:389,1
    - Dst: ensure_tmpfile
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:417,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:419,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:419,1
    - Dst: initiate_next_curl_request
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:439,1
    - Dst: curl_multi_info_read
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:318,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:339,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:347,1
    - Dst: g_task_return_new_error
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:353,1
    - Dst: curl_easy_getinfo
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:371,1
    - Dst: curl_easy_strerror
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:354,1
    - Dst: _ostree_fetcher_http_status_code_to_io_error
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:385,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:423,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:424,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:446,1
    - Dst: curl_easy_getinfo
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:332,1
    - Dst: curl_easy_getinfo
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:334,1
    - Dst: g_task_return_new_error
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:391,1
    - Dst: _ostree_fetcher_journal_failure
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:395,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:407,1
    - Dst: g_string_free_to_bytes
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:408,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:410,1
    - Dst: lseek
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:421,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:443,1
    - Dst: curl_multi_remove_handle
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:434,1
    - Dst: g_task_return_boolean
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:429,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:444,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 105
    argCount: 1
    argNames:
    - fetcher
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 450
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 450
    functionName: check_multi_info
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - lseek
    - g_clear_pointer
    - g_string_append_c
    - curl_multi_info_read
    - g_steal_pointer
    - glnx_set_error_from_errno
    - ensure_tmpfile
    - curl_multi_remove_handle
    - g_assert_cmpint
    - g_string_free_to_bytes
    - initiate_next_curl_request
    - curl_easy_strerror
    - g_str_has_prefix
    - _ostree_fetcher_http_status_code_to_io_error
    - g_hash_table_remove
    - g_strdup_printf
    - g_task_return_pointer
    - _ostree_fetcher_journal_failure
    - g_task_return_new_error
    - g_assert
    - g_hash_table_size
    - curl_easy_getinfo
    - g_task_return_boolean
    - g_task_return_error
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void check_multi_info (OstreeFetcher *fetcher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:472,1
    - Dst: g_source_attach
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:478,1
    - Dst: g_source_set_callback
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:477,1
    - Dst: g_timeout_source_new
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 482
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 482
    functionName: update_timeout_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_source_set_callback
    - g_source_attach
    - g_timeout_source_new
    linkageType: ''
    returnType: int
    signature: 'static int update_timeout_cb (CURLM *multi, long timeout_ms, void
      *userp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - fetcher
    argTypes:
    - OstreeFetcher*
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: _ostree_fetcher_get_dfd
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _ostree_fetcher_get_dfd (OstreeFetcher *fetcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:739,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - jar_path
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 741
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 741
    functionName: _ostree_fetcher_set_cookie_jar
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_cookie_jar (OstreeFetcher *self, const char
      *jar_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:780,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - self
    - extra_user_agent
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 786
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 786
    functionName: _ostree_fetcher_set_extra_user_agent
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_extra_user_agent (OstreeFetcher *self, const
      char *extra_user_agent) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:825,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:829,1
    - Dst: curl_slist_append
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:846,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:947,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:865,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:900,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:899,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:991,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:994,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:902,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:986,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:987,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:989,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:961,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:927,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:946,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:973,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:863,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:901,1
    - Dst: curl_multi_add_handle
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:998,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:980,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:983,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:831,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:930,1
    - Dst: curl_easy_cleanup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:816,1
    - Dst: curl_easy_init
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:817,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:862,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:922,1
    - Dst: g_uri_get_user
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:926,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:906,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:993,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:996,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:943,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:818,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:903,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:965,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:928,1
    - Dst: request_get_uri
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:824,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:842,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:908,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:971,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:966,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:953,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:982,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:984,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:968,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:826,1
    - Dst: curl_slist_append
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:837,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:921,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:936,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:985,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:820,1
    - Dst: curl_slist_append
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:852,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:856,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:844,1
    - Dst: curl_version_info
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:944,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:970,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:904,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:995,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:931,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:836,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:877,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:960,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:857,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:883,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:913,1
    - Dst: g_uri_get_password
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:929,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:934,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:976,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:967,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:882,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:916,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:864,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:915,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:999,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:964,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:870,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:871,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:909,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:979,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:990,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:912,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:876,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:897,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:992,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:977,1
    - Dst: curl_easy_setopt
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:978,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:954,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:974,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:981,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 163
    argCount: 2
    argNames:
    - req
    - task
    argTypes:
    - FetcherRequest*
    - GTask*
    constantsTouched: []
    func_position:
      end: 1000
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 1000
    functionName: initiate_next_curl_request
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_uri_get_password
    - g_assert_cmpint
    - curl_slist_append
    - g_date_time_format
    - curl_multi_add_handle
    - g_assert
    - g_date_time_new_from_unix_utc
    - curl_easy_cleanup
    - g_str_has_prefix
    - curl_version_info
    - g_getenv
    - g_uri_get_user
    - CURL_AT_LEAST_VERSION
    - g_strconcat
    - request_get_uri
    - curl_easy_setopt
    - curl_easy_init
    linkageType: ''
    returnType: void
    signature: 'static void initiate_next_curl_request (FetcherRequest *req, GTask
      *task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:149,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:157,1
    - Dst: g_value_get_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:154,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: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: _ostree_fetcher_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - OSTREE_FETCHER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:222,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:229,1
    - Dst: g_param_spec_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeFetcherClass*
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: _ostree_fetcher_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_class_init (OstreeFetcherClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_FETCHER
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:181,1
    - Dst: curl_multi_cleanup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:192,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:195,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:193,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:194,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:196,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:197,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:199,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:199,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:200,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:201,1
    - Dst: g_main_context_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:205,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:202,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:208,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:203,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 209
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 209
    functionName: _ostree_fetcher_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - curl_multi_cleanup
    - g_assert_cmpint
    - g_free
    - g_hash_table_unref
    - g_clear_pointer
    - g_hash_table_size
    - g_main_context_unref
    - OSTREE_FETCHER
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:707,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - http_proxy
    argTypes:
    - OstreeFetcher*
    - char*
    constantsTouched: []
    func_position:
      end: 709
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 709
    functionName: _ostree_fetcher_set_proxy
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_proxy (OstreeFetcher *self, const char *http_proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:746,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:749,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:750,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:747,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:748,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - self
    - cert_path
    - key_path
    argTypes:
    - OstreeFetcher*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 751
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 751
    functionName: _ostree_fetcher_set_client_cert
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_set_client_cert (OstreeFetcher *self, const char
      *cert_path, const char *key_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref_thread_default
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1011,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1017,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1023,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1019,1
    - Dst: adopt_steal_mainctx
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1019,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1026,1
    - Dst: g_ptr_array_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1030,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1031,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1034,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1041,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1046,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1051,1
    - Dst: g_task_set_priority
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1045,1
    - Dst: initiate_next_curl_request
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1049,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1051,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1047,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-fetcher-curl.c:1043,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 12
    argNames:
    - self
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - is_membuf
    - max_size
    - priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - gboolean
    - guint64
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1052
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1052
    functionName: _ostree_fetcher_request_async
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-curl.c
    functionUses: []
    functionsReached:
    - g_ptr_array_ref
    - g_strdup
    - g_string_new
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - initiate_next_curl_request
    - g_assert
    - g_hash_table_size
    - adopt_steal_mainctx
    - g_hash_table_add
    - g_task_new
    - g_task_set_source_tag
    - g_main_context_ref_thread_default
    - g_steal_pointer
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_fetcher_request_async (OstreeFetcher *self, GPtrArray
      *mirrorlist, const char *filename, OstreeFetcherRequestFlags flags, const char
      *if_none_match, guint64 if_modified_since, gboolean is_membuf, guint64 max_size,
      int priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeRepoFinderInterface*
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ostree_repo_finder_default_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_default_init (OstreeRepoFinderInterface
      *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_collection_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - refs
    argTypes:
    - OstreeCollectionRef**
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: is_valid_collection_ref_array
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - is_valid_collection_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_collection_ref_array (const OstreeCollectionRef
      *const *refs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:221,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:223,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ResolveAllData*
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: resolve_all_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void resolve_all_data_free (ResolveAllData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:401,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:402,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:404,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:404,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: ostree_repo_finder_resolve_all_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *ostree_repo_finder_resolve_all_finish (GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:466,1
    - Dst: ostree_repo_finder_result_new
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeRepoFinderResult*
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: ostree_repo_finder_result_dup
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - ostree_repo_finder_result_new
    linkageType: ''
    returnType: OstreeRepoFinderResult*
    signature: 'OstreeRepoFinderResult *ostree_repo_finder_result_dup (OstreeRepoFinderResult
      *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:534,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:538,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:539,1
    - Dst: ostree_remote_unref
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:541,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:540,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeRepoFinderResult*
    constantsTouched: []
    func_position:
      end: 543
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 543
    functionName: ostree_repo_finder_result_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_free
    - ostree_remote_unref
    - g_clear_pointer
    - g_object_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_finder_result_free (OstreeRepoFinderResult *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:439,1
    - Dst: is_valid_collection_ref_map
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:441,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:440,1
    - Dst: OSTREE_IS_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:440,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:441,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:443,1
    - Dst: ostree_remote_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:444,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:445,1
    - Dst: g_hash_table_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:447,1
    - Dst: g_hash_table_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:448,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - remote
    - finder
    - priority
    - ref_to_checksum
    - ref_to_timestamp
    - summary_last_modified
    argTypes:
    - OstreeRemote*
    - OstreeRepoFinder*
    - gint
    - GHashTable*
    - GHashTable*
    - guint64
    constantsTouched: []
    func_position:
      end: 452
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 452
    functionName: ostree_repo_finder_result_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_object_ref
    - g_new0
    - g_steal_pointer
    - is_valid_collection_ref_map
    - ostree_remote_ref
    - g_return_val_if_fail
    - OSTREE_IS_REPO_FINDER
    linkageType: ''
    returnType: OstreeRepoFinderResult*
    signature: 'OstreeRepoFinderResult *ostree_repo_finder_result_new (OstreeRemote
      *remote, OstreeRepoFinder *finder, gint priority, GHashTable *ref_to_checksum,
      GHashTable *ref_to_timestamp, guint64 summary_last_modified) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:490,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:491,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:507,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:512,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:508,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:513,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:520,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OstreeRepoFinderResult*
    - OstreeRepoFinderResult*
    constantsTouched: []
    func_position:
      end: 521
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 521
    functionName: ostree_repo_finder_result_compare
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_hash_table_iter_init
    - g_return_val_if_fail
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gint
    signature: 'gint ostree_repo_finder_result_compare (const OstreeRepoFinderResult
      *a, const OstreeRepoFinderResult *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:335,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:337,1
    - Dst: OSTREE_REPO_FINDER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:336,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:338,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:341,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:344,1
    - Dst: g_type_name
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:345,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:345,1
    - Dst: array_concatenate_steal
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:347,1
    - Dst: resolve_all_finished_one
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:349,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - obj
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 350
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 350
    functionName: resolve_all_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_assert
    - OSTREE_REPO_FINDER
    - g_debug
    - g_type_name
    - g_steal_pointer
    - OSTREE_REPO_FINDER_GET_IFACE
    - G_TYPE_FROM_INSTANCE
    - resolve_all_finished_one
    - array_concatenate_steal
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void resolve_all_cb (GObject *obj, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:357,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:366,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:371,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:374,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:368,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:375,1
    - Dst: ostree_remote_get_name
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:375,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:378,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:380,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:382,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 385
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 385
    functionName: resolve_all_finished_one
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - ostree_remote_get_name
    - g_ptr_array_index
    - g_ptr_array_sort
    - g_debug
    - g_task_return_pointer
    - g_steal_pointer
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void resolve_all_finished_one (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:196,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:197,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:197,1
    - Dst: OSTREE_IS_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:196,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:198,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:200,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - OstreeRepoFinder*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: ostree_repo_finder_resolve_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_pointer
    - g_return_val_if_fail
    - OSTREE_IS_REPO_FINDER
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *ostree_repo_finder_resolve_finish (OstreeRepoFinder *self,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_result_free
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:559,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - results
    argTypes:
    - OstreeRepoFinderResult**
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: ostree_repo_finder_result_freev
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_free
    - ostree_repo_finder_result_free
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_finder_result_freev (OstreeRepoFinderResult **results) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:169,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:176,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:176,1
    - Dst: ostree_repo_finder_resolve_all_finish
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:171,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:173,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:178,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: resolve_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_assert
    - ostree_repo_finder_resolve_all_finish
    - g_steal_pointer
    - g_task_return_pointer
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void resolve_cb (GObject *obj, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_result_compare
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: sort_results_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - ostree_repo_finder_result_compare
    linkageType: ''
    returnType: gint
    signature: 'static gint sort_results_cb (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:317,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:318,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:318,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:317,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:318,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:321,1
    - Dst: g_ptr_array_set_size
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - array
    - to_concatenate
    argTypes:
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: array_concatenate_steal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_ptr_array_set_free_func
    - g_assert
    - g_ptr_array_index
    - g_steal_pointer
    - g_ptr_array_set_size
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void array_concatenate_steal (GPtrArray *array, GPtrArray *to_concatenate)
      /* (transfer full) */ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:50,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ref
    argTypes:
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: is_valid_collection_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - ostree_validate_rev
    - ostree_validate_collection_id
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_collection_ref (const OstreeCollectionRef
      *ref) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:82,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:87,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:89,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:85,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:90,1
    - Dst: is_valid_collection_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:92,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - ref_to_checksum
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 99
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 99
    functionName: is_valid_collection_ref_map
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - is_valid_collection_ref
    - g_assert
    - g_hash_table_size
    - ostree_validate_checksum_string
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_collection_ref_map (GHashTable *ref_to_checksum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:148,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:150,1
    - Dst: OSTREE_IS_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:148,1
    - Dst: is_valid_collection_ref_array
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:149,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:149,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:150,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:151,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:151,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:153,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:154,1
    - Dst: ostree_repo_finder_resolve_all_async
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:158,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - self
    - refs
    - parent_repo
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepoFinder*
    - OstreeCollectionRef**
    - OstreeRepo*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 160
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 160
    functionName: ostree_repo_finder_resolve_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - is_valid_collection_ref_array
    - g_task_new
    - g_task_set_source_tag
    - g_steal_pointer
    - G_IS_CANCELLABLE
    - ostree_repo_finder_resolve_all_async
    - OSTREE_IS_REPO
    - OSTREE_IS_REPO_FINDER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_finder_resolve_async (OstreeRepoFinder *self, const
      OstreeCollectionRef *const *refs, OstreeRepo *parent_repo, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:260,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:260,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:268,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:284,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:271,1
    - Dst: OSTREE_REPO_FINDER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:295,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:296,1
    - Dst: resolve_all_finished_one
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:302,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:258,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:261,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:263,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:275,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:282,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:276,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:281,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:287,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:292,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:259,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:267,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:276,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:286,1
    - Dst: is_valid_collection_ref_array
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:259,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:261,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:279,1
    - Dst: g_type_name
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:276,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder.c:298,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 6
    argNames:
    - finders
    - refs
    - parent_repo
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepoFinder**
    - OstreeCollectionRef**
    - OstreeRepo*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 304
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 304
    functionName: ostree_repo_finder_resolve_all_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_ptr_array_new_with_free_func
    - g_task_set_source_tag
    - g_type_name
    - G_IS_CANCELLABLE
    - g_object_ref
    - is_valid_collection_ref_array
    - OSTREE_REPO_FINDER
    - G_TYPE_FROM_INSTANCE
    - resolve_all_finished_one
    - g_string_new
    - g_new0
    - g_task_set_task_data
    - g_assert
    - g_string_append_printf
    - g_task_new
    - g_debug
    - OSTREE_REPO_FINDER_GET_IFACE
    - OSTREE_IS_REPO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_finder_resolve_all_async (OstreeRepoFinder *const
      *finders, const OstreeCollectionRef *const *refs, OstreeRepo *parent_repo, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DECLARE_INTERFACE
      Src: /src/ostree/src/libostree/ostree-repo-finder.h:37,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - ()
    argTypes:
    - ostree_repo_finder_get_type
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: OSTREE_TYPE_REPO_FINDER
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder.h
    functionUses: []
    functionsReached:
    - G_DECLARE_INTERFACE
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS #define OSTREE_TYPE_REPO_FINDER (ostree_repo_finder_get_type
      ())_OSTREE_PUBLICG_DECLARE_INTERFACE (OstreeRepoFinder, ostree_repo_finder,
      OSTREE, REPO_FINDER, GObject)struct _OstreeRepoFinderInterface '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:194,1
    - Dst: va_start
      Src: /src/ostree/src/libostree/ostree-async-progress.c:195,1
    - Dst: va_arg
      Src: /src/ostree/src/libostree/ostree-async-progress.c:198,1
    - Dst: va_arg
      Src: /src/ostree/src/libostree/ostree-async-progress.c:197,1
    - Dst: va_arg
      Src: /src/ostree/src/libostree/ostree-async-progress.c:197,1
    - Dst: va_arg
      Src: /src/ostree/src/libostree/ostree-async-progress.c:198,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-async-progress.c:202,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-async-progress.c:204,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-async-progress.c:204,1
    - Dst: g_quark_from_string
      Src: /src/ostree/src/libostree/ostree-async-progress.c:204,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:212,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-async-progress.c:205,1
    - Dst: g_variant_check_format_string
      Src: /src/ostree/src/libostree/ostree-async-progress.c:206,1
    - Dst: va_end
      Src: /src/ostree/src/libostree/ostree-async-progress.c:211,1
    - Dst: g_variant_get_va
      Src: /src/ostree/src/libostree/ostree-async-progress.c:208,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-async-progress.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - self
    - '...'
    argTypes:
    - OstreeAsyncProgress*
    constantsTouched: []
    func_position:
      end: 213
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 213
    functionName: ostree_async_progress_get
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - va_end
    - g_assert
    - GUINT_TO_POINTER
    - va_start
    - g_variant_get_va
    - g_mutex_unlock
    - g_variant_check_format_string
    - g_quark_from_string
    - va_arg
    - g_hash_table_lookup
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void ostree_async_progress_get (OstreeAsyncProgress *self, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_async_progress_get_variant
      Src: /src/ostree/src/libostree/ostree-async-progress.c:274,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-async-progress.c:278,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-async-progress.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeAsyncProgress*
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: ostree_async_progress_get_status
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_get_string
    - ostree_async_progress_get_variant
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_async_progress_get_status (OstreeAsyncProgress *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_async_progress_new
      Src: /src/ostree/src/libostree/ostree-async-progress.c:464,1
    - Dst: g_signal_connect
      Src: /src/ostree/src/libostree/ostree-async-progress.c:465,1
    - Dst: G_CALLBACK
      Src: /src/ostree/src/libostree/ostree-async-progress.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - (*changed)
    - user_data
    argTypes:
    - void
    - gpointer
    constantsTouched: []
    func_position:
      end: 467
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 467
    functionName: ostree_async_progress_new_and_connect
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - G_CALLBACK
    - g_signal_connect
    - ostree_async_progress_new
    linkageType: ''
    returnType: OstreeAsyncProgress*
    signature: 'OstreeAsyncProgress *ostree_async_progress_new_and_connect (void (*changed)
      (OstreeAsyncProgress *self, gpointer user_data), gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:220,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-async-progress.c:221,1
    - Dst: g_signal_emit
      Src: /src/ostree/src/libostree/ostree-async-progress.c:224,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: idle_invoke_async_progress
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_mutex_unlock
    - g_signal_emit
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean idle_invoke_async_progress (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-async-progress.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: ostree_async_progress_new
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeAsyncProgress*
    signature: 'OstreeAsyncProgress *ostree_async_progress_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-async-progress.c:125,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:132,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-async-progress.c:133,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-async-progress.c:133,1
    - Dst: OSTREE_IS_ASYNC_PROGRESS
      Src: /src/ostree/src/libostree/ostree-async-progress.c:125,1
    - Dst: g_quark_from_string
      Src: /src/ostree/src/libostree/ostree-async-progress.c:133,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-async-progress.c:135,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - OstreeAsyncProgress*
    - char*
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: ostree_async_progress_get_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_assert
    - GUINT_TO_POINTER
    - OSTREE_IS_ASYNC_PROGRESS
    - g_mutex_unlock
    - g_variant_ref
    - g_quark_from_string
    - g_hash_table_lookup
    - g_mutex_lock
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_async_progress_get_variant (OstreeAsyncProgress *self,
      const char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/ostree/src/libostree/ostree-async-progress.c:105,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/ostree/src/libostree/ostree-async-progress.c:106,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-async-progress.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeAsyncProgress*
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: ostree_async_progress_init
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_main_context_ref_thread_default
    - g_hash_table_new_full
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void ostree_async_progress_init (OstreeAsyncProgress *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_ASYNC_PROGRESS
      Src: /src/ostree/src/libostree/ostree-async-progress.c:74,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-async-progress.c:79,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-async-progress.c:77,1
    - Dst: g_mutex_clear
      Src: /src/ostree/src/libostree/ostree-async-progress.c:76,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-async-progress.c:78,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-async-progress.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: ostree_async_progress_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - OSTREE_ASYNC_PROGRESS
    - g_hash_table_unref
    - g_clear_pointer
    - g_mutex_clear
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_async_progress_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_async_progress_set_variant
      Src: /src/ostree/src/libostree/ostree-async-progress.c:254,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-async-progress.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - status
    argTypes:
    - OstreeAsyncProgress*
    - char*
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: ostree_async_progress_set_status
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - ostree_async_progress_set_variant
    linkageType: ''
    returnType: void
    signature: 'void ostree_async_progress_set_status (OstreeAsyncProgress *self,
      const char *status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-async-progress.c:372,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-async-progress.c:373,1
    - Dst: g_quark_from_string
      Src: /src/ostree/src/libostree/ostree-async-progress.c:373,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-async-progress.c:375,1
    - Dst: OSTREE_IS_ASYNC_PROGRESS
      Src: /src/ostree/src/libostree/ostree-async-progress.c:375,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-async-progress.c:376,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-async-progress.c:377,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:379,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-async-progress.c:384,1
    - Dst: g_variant_equal
      Src: /src/ostree/src/libostree/ostree-async-progress.c:386,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-async-progress.c:389,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:393,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-async-progress.c:389,1
    - Dst: ensure_callback_locked
      Src: /src/ostree/src/libostree/ostree-async-progress.c:390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - OstreeAsyncProgress*
    - char*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 394
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 394
    functionName: ostree_async_progress_set_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - OSTREE_IS_ASYNC_PROGRESS
    - GUINT_TO_POINTER
    - g_steal_pointer
    - g_hash_table_replace
    - g_mutex_unlock
    - g_quark_from_string
    - g_variant_equal
    - g_variant_ref_sink
    - ensure_callback_locked
    - g_hash_table_lookup_extended
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_async_progress_set_variant (OstreeAsyncProgress *self,
      const char *key, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-async-progress.c:87,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/ostree/src/libostree/ostree-async-progress.c:98,1
    - Dst: g_signal_new
      Src: /src/ostree/src/libostree/ostree-async-progress.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeAsyncProgressClass*
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: ostree_async_progress_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_signal_new
    - G_OBJECT_CLASS
    - G_STRUCT_OFFSET
    linkageType: ''
    returnType: void
    signature: 'static void ostree_async_progress_class_init (OstreeAsyncProgressClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_async_progress_set_variant
      Src: /src/ostree/src/libostree/ostree-async-progress.c:399,1
    - Dst: g_variant_new_uint32
      Src: /src/ostree/src/libostree/ostree-async-progress.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - OstreeAsyncProgress*
    - char*
    - guint
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: ostree_async_progress_set_uint
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_variant_new_uint32
    - ostree_async_progress_set_variant
    linkageType: ''
    returnType: void
    signature: 'void ostree_async_progress_set_uint (OstreeAsyncProgress *self, const
      char *key, guint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/ostree/src/libostree/ostree-async-progress.c:234,1
    - Dst: g_source_attach
      Src: /src/ostree/src/libostree/ostree-async-progress.c:236,1
    - Dst: g_source_set_callback
      Src: /src/ostree/src/libostree/ostree-async-progress.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeAsyncProgress*
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: ensure_callback_locked
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_idle_source_new
    - g_source_set_callback
    - g_source_attach
    linkageType: ''
    returnType: void
    signature: 'static void ensure_callback_locked (OstreeAsyncProgress *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-async-progress.c:422,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-async-progress.c:423,1
    - Dst: OSTREE_IS_ASYNC_PROGRESS
      Src: /src/ostree/src/libostree/ostree-async-progress.c:423,1
    - Dst: OSTREE_IS_ASYNC_PROGRESS
      Src: /src/ostree/src/libostree/ostree-async-progress.c:422,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:425,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-async-progress.c:430,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-async-progress.c:433,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-async-progress.c:434,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - self
    - dest
    argTypes:
    - OstreeAsyncProgress*
    - OstreeAsyncProgress*
    constantsTouched: []
    func_position:
      end: 439
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: ostree_async_progress_copy_state
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH_KV
    - g_assert
    - OSTREE_IS_ASYNC_PROGRESS
    - g_mutex_unlock
    - g_hash_table_replace
    - g_variant_ref
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void ostree_async_progress_copy_state (OstreeAsyncProgress *self,
      OstreeAsyncProgress *dest) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:482,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-async-progress.c:489,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:493,1
    - Dst: g_source_destroy
      Src: /src/ostree/src/libostree/ostree-async-progress.c:488,1
    - Dst: g_signal_emit
      Src: /src/ostree/src/libostree/ostree-async-progress.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeAsyncProgress*
    constantsTouched: []
    func_position:
      end: 497
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 497
    functionName: ostree_async_progress_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_mutex_unlock
    - g_signal_emit
    - g_source_destroy
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void ostree_async_progress_finish (OstreeAsyncProgress *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_async_progress_get_variant
      Src: /src/ostree/src/libostree/ostree-async-progress.c:144,1
    - Dst: g_variant_get_uint32
      Src: /src/ostree/src/libostree/ostree-async-progress.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - OstreeAsyncProgress*
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: ostree_async_progress_get_uint
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_variant_get_uint32
    - ostree_async_progress_get_variant
    linkageType: ''
    returnType: guint
    signature: 'guint ostree_async_progress_get_uint (OstreeAsyncProgress *self, const
      char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_async_progress_set_variant
      Src: /src/ostree/src/libostree/ostree-async-progress.c:405,1
    - Dst: g_variant_new_uint64
      Src: /src/ostree/src/libostree/ostree-async-progress.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - OstreeAsyncProgress*
    - char*
    - guint64
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: ostree_async_progress_set_uint64
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_variant_new_uint64
    - ostree_async_progress_set_variant
    linkageType: ''
    returnType: void
    signature: 'void ostree_async_progress_set_uint64 (OstreeAsyncProgress *self,
      const char *key, guint64 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_async_progress_get_variant
      Src: /src/ostree/src/libostree/ostree-async-progress.c:151,1
    - Dst: g_variant_get_uint64
      Src: /src/ostree/src/libostree/ostree-async-progress.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - OstreeAsyncProgress*
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: ostree_async_progress_get_uint64
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - g_variant_get_uint64
    - ostree_async_progress_get_variant
    linkageType: ''
    returnType: guint64
    signature: 'guint64 ostree_async_progress_get_uint64 (OstreeAsyncProgress *self,
      const char *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:318,1
    - Dst: va_arg
      Src: /src/ostree/src/libostree/ostree-async-progress.c:327,1
    - Dst: va_arg
      Src: /src/ostree/src/libostree/ostree-async-progress.c:327,1
    - Dst: va_start
      Src: /src/ostree/src/libostree/ostree-async-progress.c:325,1
    - Dst: va_arg
      Src: /src/ostree/src/libostree/ostree-async-progress.c:328,1
    - Dst: va_arg
      Src: /src/ostree/src/libostree/ostree-async-progress.c:328,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-async-progress.c:332,1
    - Dst: g_quark_from_string
      Src: /src/ostree/src/libostree/ostree-async-progress.c:332,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-async-progress.c:334,1
    - Dst: g_variant_new_va
      Src: /src/ostree/src/libostree/ostree-async-progress.c:334,1
    - Dst: g_variant_equal
      Src: /src/ostree/src/libostree/ostree-async-progress.c:337,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-async-progress.c:340,1
    - Dst: va_end
      Src: /src/ostree/src/libostree/ostree-async-progress.c:344,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-async-progress.c:350,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-async-progress.c:336,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-async-progress.c:340,1
    - Dst: ensure_callback_locked
      Src: /src/ostree/src/libostree/ostree-async-progress.c:347,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - self
    - '...'
    argTypes:
    - OstreeAsyncProgress*
    constantsTouched: []
    func_position:
      end: 351
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 351
    functionName: ostree_async_progress_set
    functionSourceFile: /src/ostree/src/libostree/ostree-async-progress.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_new_va
    - GUINT_TO_POINTER
    - va_start
    - g_steal_pointer
    - g_hash_table_replace
    - g_variant_ref_sink
    - g_mutex_unlock
    - g_quark_from_string
    - g_variant_equal
    - va_arg
    - ensure_callback_locked
    - g_hash_table_lookup_extended
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void ostree_async_progress_set (OstreeAsyncProgress *self, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_SYSLINUX
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:46,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:49,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - bootloader
    - out_is_active
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: _ostree_bootloader_syslinux_query
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-syslinux.c
    functionUses: []
    functionsReached:
    - OSTREE_BOOTLOADER_SYSLINUX
    - glnx_fstatat_allow_noent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_syslinux_query (OstreeBootloader
      *bootloader, gboolean *out_is_active, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_SYSLINUX
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:220,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:224,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: _ostree_bootloader_syslinux_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-syslinux.c
    functionUses: []
    functionsReached:
    - OSTREE_BOOTLOADER_SYSLINUX
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_syslinux_finalize (GObject *object) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:80,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:75,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:82,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:98,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:94,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:90,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:88,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:100,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:84,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:86,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:88,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:92,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:96,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:100,1
    - Dst: _ostree_sysroot_read_boot_loader_configs
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:68,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:80,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:82,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:92,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:96,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 6
    argNames:
    - self
    - regenerate_default
    - bootversion
    - new_lines
    - cancellable
    - error
    argTypes:
    - OstreeBootloaderSyslinux*
    - gboolean
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    functionName: append_config_from_loader_entries
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-syslinux.c
    functionUses: []
    functionsReached:
    - ostree_bootconfig_parser_get
    - g_strdup_printf
    - glnx_throw
    - _ostree_sysroot_read_boot_loader_configs
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean append_config_from_loader_entries (OstreeBootloaderSyslinux
      *self, gboolean regenerate_default, int bootversion, GPtrArray *new_lines, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBootloaderInterface*
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: _ostree_bootloader_syslinux_bootloader_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-syslinux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_syslinux_bootloader_iface_init (OstreeBootloaderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bootloader
    argTypes:
    - OstreeBootloader*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: _ostree_bootloader_syslinux_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-syslinux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_ostree_bootloader_syslinux_get_name (OstreeBootloader
      *bootloader) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:122,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:138,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:142,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:149,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:170,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:178,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:186,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:195,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:197,1
    - Dst: append_config_from_loader_entries
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:204,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:209,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:123,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:178,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:180,1
    - Dst: strstr
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:187,1
    - Dst: _ostree_sysroot_join_lines
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:208,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:210,1
    - Dst: OSTREE_BOOTLOADER_SYSLINUX
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:111,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:121,1
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:116,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:150,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:154,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:177,1
    - Dst: g_ptr_array_set_size
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:173,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:195,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:197,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:113,1
    - Dst: g_ptr_array_set_size
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:163,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:175,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 70
    argCount: 5
    argNames:
    - bootloader
    - bootversion
    - new_deployments
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 215
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 215
    functionName: _ostree_bootloader_syslinux_write_config
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-syslinux.c
    functionUses: []
    functionsReached:
    - OSTREE_BOOTLOADER_SYSLINUX
    - g_strdup
    - strlen
    - glnx_file_replace_contents_at
    - g_free
    - _ostree_sysroot_join_lines
    - g_ptr_array_new_with_free_func
    - g_strdup_printf
    - g_strsplit
    - g_str_has_prefix
    - strstr
    - glnx_throw
    - g_ptr_array_set_size
    - append_config_from_loader_entries
    - glnx_file_get_contents_utf8_at
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_syslinux_write_config (OstreeBootloader
      *bootloader, int bootversion, GPtrArray *new_deployments, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootloaderSyslinux*
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: _ostree_bootloader_syslinux_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-syslinux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_syslinux_init (OstreeBootloaderSyslinux *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - OstreeBootloaderSyslinuxClass*
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: _ostree_bootloader_syslinux_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-syslinux.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_syslinux_class_init (OstreeBootloaderSyslinuxClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:251,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-bootloader-syslinux.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - sysroot
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: _ostree_bootloader_syslinux_new
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-syslinux.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: OstreeBootloaderSyslinux*
    signature: 'OstreeBootloaderSyslinux *_ostree_bootloader_syslinux_new (OstreeSysroot
      *sysroot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBlobReaderInterface*
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ostree_blob_reader_raw_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-raw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_blob_reader_raw_iface_init (OstreeBlobReaderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBlobReaderRaw*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: _ostree_blob_reader_raw_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-raw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_blob_reader_raw_init (OstreeBlobReaderRaw *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_read_line
      Src: /src/ostree/src/libostree/ostree-blob-reader-raw.c:62,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-blob-reader-raw.c:62,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-blob-reader-raw.c:65,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/src/libostree/ostree-blob-reader-raw.c:72,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-blob-reader-raw.c:65,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-blob-reader-raw.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeBlobReader*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: ostree_blob_reader_raw_read_blob
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-raw.c
    functionUses: []
    functionsReached:
    - G_DATA_INPUT_STREAM
    - g_data_input_stream_read_line
    - g_bytes_new_take
    - g_steal_pointer
    - g_propagate_error
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *ostree_blob_reader_raw_read_blob (OstreeBlobReader *self,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeBlobReaderRawClass*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: _ostree_blob_reader_raw_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-raw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_blob_reader_raw_class_init (OstreeBlobReaderRawClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-blob-reader-raw.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: _ostree_blob_reader_raw_new
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-raw.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeBlobReaderRaw*
    signature: 'OstreeBlobReaderRaw *_ostree_blob_reader_raw_new (GInputStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_files
      Src: /src/ostree/src/libostree/ostree-tls-cert-interaction.c:49,1
    - Dst: g_tls_connection_set_certificate
      Src: /src/ostree/src/libostree/ostree-tls-cert-interaction.c:54,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 5
    argNames:
    - interaction
    - connection
    - flags
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsConnection*
    - GTlsCertificateRequestFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: request_certificate
    functionSourceFile: /src/ostree/src/libostree/ostree-tls-cert-interaction.c
    functionUses: []
    functionsReached:
    - g_tls_connection_set_certificate
    - g_tls_certificate_new_from_files
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult request_certificate (GTlsInteraction
      *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_INTERACTION_CLASS
      Src: /src/ostree/src/libostree/ostree-tls-cert-interaction.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeTlsCertInteractionClass*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: _ostree_tls_cert_interaction_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-tls-cert-interaction.c
    functionUses: []
    functionsReached:
    - G_TLS_INTERACTION_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_tls_cert_interaction_class_init (OstreeTlsCertInteractionClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-tls-cert-interaction.c:73,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-tls-cert-interaction.c:75,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-tls-cert-interaction.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: _ostree_tls_cert_interaction_new
    functionSourceFile: /src/ostree/src/libostree/ostree-tls-cert-interaction.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    linkageType: ''
    returnType: OstreeTlsCertInteraction*
    signature: 'OstreeTlsCertInteraction *_ostree_tls_cert_interaction_new (const
      char *cert_path, const char *key_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - interaction
    argTypes:
    - OstreeTlsCertInteraction*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: _ostree_tls_cert_interaction_init
    functionSourceFile: /src/ostree/src/libostree/ostree-tls-cert-interaction.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_tls_cert_interaction_init (OstreeTlsCertInteraction
      *interaction) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-private.h:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - swap
    - v
    argTypes:
    - gboolean
    - guint32
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: maybe_swap_endian_u32
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-private.h
    functionUses: []
    functionsReached:
    - GUINT32_SWAP_LE_BE
    linkageType: ''
    returnType: guint32
    signature: 'static inline guint32 maybe_swap_endian_u32 (gboolean swap, guint32
      v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-private.h:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - swap
    - v
    argTypes:
    - gboolean
    - guint64
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: maybe_swap_endian_u64
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-private.h
    functionUses: []
    functionsReached:
    - GUINT64_SWAP_LE_BE
    linkageType: ''
    returnType: guint64
    signature: 'static inline guint64 maybe_swap_endian_u64 (gboolean swap, guint64
      v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - buflen
    - out_value
    - bytes_read
    argTypes:
    - guint8*
    - gsize
    - guint64*
    - gsize*
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: _ostree_read_varuint64
    functionSourceFile: /src/ostree/src/libostree/ostree-varint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_read_varuint64 (const guint8 *buf, gsize buflen,
      guint64 *out_value, gsize *bytes_read) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-varint.c:201,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-varint.c:227,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 92
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - GString*
    - guint64
    constantsTouched: []
    func_position:
      end: 228
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 228
    functionName: _ostree_write_varuint64
    functionSourceFile: /src/ostree/src/libostree/ostree-varint.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_string_append_c
    linkageType: ''
    returnType: void
    signature: 'void _ostree_write_varuint64 (GString *buf, guint64 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LZMA_COMPRESSOR
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:66,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:71,1
    - Dst: lzma_end
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:68,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: _ostree_lzma_compressor_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-compressor.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - G_OBJECT_CLASS
    - OSTREE_LZMA_COMPRESSOR
    - lzma_end
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_compressor_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LZMA_COMPRESSOR
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:96,1
    - Dst: g_value_set_variant
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:101,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: _ostree_lzma_compressor_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-compressor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_LZMA_COMPRESSOR
    - g_value_set_variant
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_compressor_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:120,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:126,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:128,1
    - Dst: g_param_spec_variant
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeLzmaCompressorClass*
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: _ostree_lzma_compressor_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-compressor.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_VARIANT_TYPE
    - G_OBJECT_CLASS
    - g_param_spec_variant
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_compressor_class_init (OstreeLzmaCompressorClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LZMA_COMPRESSOR
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:141,1
    - Dst: lzma_end
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: _ostree_lzma_compressor_reset
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-compressor.c
    functionUses: []
    functionsReached:
    - OSTREE_LZMA_COMPRESSOR
    - lzma_end
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_compressor_reset (GConverter *converter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LZMA_COMPRESSOR
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:78,1
    - Dst: g_value_get_variant
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:83,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: _ostree_lzma_compressor_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-compressor.c
    functionUses: []
    functionsReached:
    - g_value_get_variant
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_LZMA_COMPRESSOR
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_compressor_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:
    - self
    argTypes:
    - OstreeLzmaCompressor*
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: _ostree_lzma_compressor_init
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-compressor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_compressor_init (OstreeLzmaCompressor *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: _ostree_lzma_compressor_new
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-compressor.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeLzmaCompressor*
    signature: 'OstreeLzmaCompressor *_ostree_lzma_compressor_new (GVariant *params) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LZMA_COMPRESSOR
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:157,1
    - Dst: lzma_code
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:187,1
    - Dst: _ostree_lzma_return
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:171,1
    - Dst: lzma_easy_encoder
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:169,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:163,1
    - Dst: _ostree_lzma_return
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:189,1
    - Dst: _ostree_lzma_return
      Src: /src/ostree/src/libostree/ostree-lzma-compressor.c:194,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    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: 195
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 195
    functionName: _ostree_lzma_compressor_convert
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-compressor.c
    functionUses: []
    functionsReached:
    - lzma_easy_encoder
    - OSTREE_LZMA_COMPRESSOR
    - g_set_error_literal
    - _ostree_lzma_return
    - lzma_code
    linkageType: ''
    returnType: GConverterResult
    signature: 'static GConverterResult _ostree_lzma_compressor_convert (GConverter
      *converter, const void *inbuf, gsize inbuf_size, void *outbuf, gsize outbuf_size,
      GConverterFlags flags, gsize *bytes_read, gsize *bytes_written, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterIface*
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: _ostree_lzma_compressor_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-compressor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_compressor_iface_init (GConverterIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: ostree_deployment_get_osname
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_deployment_get_osname (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: ostree_deployment_get_origin
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *ostree_deployment_get_origin (OstreeDeployment *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-deployment.c:176,1
    - Dst: g_key_file_ref
      Src: /src/ostree/src/libostree/ostree-deployment.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - self
    - origin
    argTypes:
    - OstreeDeployment*
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: ostree_deployment_set_origin
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_key_file_ref
    linkageType: ''
    returnType: void
    signature: 'void ostree_deployment_set_origin (OstreeDeployment *self, GKeyFile
      *origin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_remove_group
      Src: /src/ostree/src/libostree/ostree-deployment.c:205,1
    - Dst: g_key_file_remove_key
      Src: /src/ostree/src/libostree/ostree-deployment.c:207,1
    - Dst: g_key_file_remove_key
      Src: /src/ostree/src/libostree/ostree-deployment.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - origin
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: ostree_deployment_origin_remove_transient_state
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_key_file_remove_key
    - g_key_file_remove_group
    linkageType: ''
    returnType: void
    signature: 'void ostree_deployment_origin_remove_transient_state (GKeyFile *origin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-deployment.c:213,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-deployment.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - bootcsum
    argTypes:
    - OstreeDeployment*
    - char*
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: _ostree_deployment_set_bootcsum
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _ostree_deployment_set_bootcsum (OstreeDeployment *self, const
      char *bootcsum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_object
      Src: /src/ostree/src/libostree/ostree-deployment.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - self
    - bootconfig
    argTypes:
    - OstreeDeployment*
    - OstreeBootconfigParser*
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: ostree_deployment_set_bootconfig
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_set_object
    linkageType: ''
    returnType: void
    signature: 'void ostree_deployment_set_bootconfig (OstreeDeployment *self, OstreeBootconfigParser
      *bootconfig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-deployment.c:311,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-deployment.c:311,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-deployment.c:312,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-deployment.c:311,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-deployment.c:312,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-deployment.c:312,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-deployment.c:313,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-deployment.c:313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: ostree_deployment_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - ostree_deployment_get_deployserial
    - ostree_deployment_get_csum
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_deployment_equal (gconstpointer ap, gconstpointer
      bp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: ostree_deployment_init
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ostree_deployment_init (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-deployment.c:395,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-deployment.c:397,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-deployment.c:396,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-deployment.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: ostree_deployment_get_origin_relpath
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - ostree_deployment_get_deployserial
    - ostree_deployment_get_csum
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_deployment_get_origin_relpath (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_DEPLOYMENT
      Src: /src/ostree/src/libostree/ostree-deployment.c:321,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-deployment.c:325,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-deployment.c:323,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-deployment.c:324,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-deployment.c:326,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-deployment.c:327,1
    - Dst: g_strfreev
      Src: /src/ostree/src/libostree/ostree-deployment.c:328,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-deployment.c:329,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-deployment.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: ostree_deployment_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_free
    - g_clear_pointer
    - g_clear_object
    - g_strfreev
    - G_OBJECT_CLASS
    - OSTREE_DEPLOYMENT
    linkageType: ''
    returnType: void
    signature: 'static void ostree_deployment_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-deployment.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - OstreeDeploymentClass*
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: ostree_deployment_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'void ostree_deployment_class_init (OstreeDeploymentClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: ostree_deployment_get_bootcsum
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_deployment_get_bootcsum (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: ostree_deployment_get_bootconfig
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OstreeBootconfigParser*
    signature: 'OstreeBootconfigParser *ostree_deployment_get_bootconfig (OstreeDeployment
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - index
    argTypes:
    - OstreeDeployment*
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: ostree_deployment_set_bootserial
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ostree_deployment_set_bootserial (OstreeDeployment *self, int
      index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-deployment.c:365,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-deployment.c:373,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-deployment.c:366,1
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-deployment.c:371,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-deployment.c:367,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-deployment.c:374,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-deployment.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - index
    - osname
    - csum
    - deployserial
    - bootcsum
    - bootserial
    argTypes:
    - int
    - char*
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 380
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 380
    functionName: ostree_deployment_new
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_strdup
    - g_object_new
    linkageType: ''
    returnType: OstreeDeployment*
    signature: 'OstreeDeployment *ostree_deployment_new (int index, const char *osname,
      const char *csum, int deployserial, const char *bootcsum, int bootserial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: ostree_deployment_get_unlocked
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OstreeDeploymentUnlockedState
    signature: 'OstreeDeploymentUnlockedState ostree_deployment_get_unlocked (OstreeDeployment
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: ostree_deployment_is_finalization_locked
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_deployment_is_finalization_locked (OstreeDeployment
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ostree_deployment_get_csum
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_deployment_get_csum (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: ostree_deployment_get_bootserial
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ostree_deployment_get_bootserial (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - index
    argTypes:
    - OstreeDeployment*
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: ostree_deployment_set_index
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ostree_deployment_set_index (OstreeDeployment *self, int index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-deployment.c:220,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-deployment.c:221,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-deployment.c:230,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-deployment.c:232,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-deployment.c:223,1
    - Dst: g_strdupv
      Src: /src/ostree/src/libostree/ostree-deployment.c:234,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-deployment.c:235,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-deployment.c:235,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - self
    - overlay_initrds
    argTypes:
    - OstreeDeployment*
    - char**
    constantsTouched: []
    func_position:
      end: 236
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 236
    functionName: _ostree_deployment_set_overlay_initrds
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_clear_pointer
    - g_strdupv
    - g_steal_pointer
    - g_string_free
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'void _ostree_deployment_set_overlay_initrds (OstreeDeployment *self,
      char **overlay_initrds) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-deployment.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - OstreeDeploymentUnlockedState
    constantsTouched: []
    func_position:
      end: 421
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 421
    functionName: ostree_deployment_unlocked_state_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_deployment_unlocked_state_to_string (OstreeDeploymentUnlockedState
      state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: _ostree_deployment_get_overlay_initrds
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: 'char **_ostree_deployment_get_overlay_initrds (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: ostree_deployment_is_staged
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_deployment_is_staged (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-deployment.c:291,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-deployment.c:292,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-deployment.c:291,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-deployment.c:291,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-deployment.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: ostree_deployment_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - ostree_deployment_get_deployserial
    - g_str_hash
    - ostree_deployment_get_csum
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: guint
    signature: 'guint ostree_deployment_hash (gconstpointer v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_boolean
      Src: /src/ostree/src/libostree/ostree-deployment.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: ostree_deployment_is_pinned
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_key_file_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_deployment_is_pinned (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ostree_deployment_get_deployserial
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ostree_deployment_get_deployserial (OstreeDeployment *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: ostree_deployment_get_index
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ostree_deployment_get_index (OstreeDeployment *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_new
      Src: /src/ostree/src/libostree/ostree-deployment.c:254,1
    - Dst: ostree_bootconfig_parser_clone
      Src: /src/ostree/src/libostree/ostree-deployment.c:257,1
    - Dst: g_key_file_to_data
      Src: /src/ostree/src/libostree/ostree-deployment.c:269,1
    - Dst: _ostree_deployment_set_overlay_initrds
      Src: /src/ostree/src/libostree/ostree-deployment.c:260,1
    - Dst: ostree_deployment_set_bootconfig
      Src: /src/ostree/src/libostree/ostree-deployment.c:258,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-deployment.c:270,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-deployment.c:272,1
    - Dst: g_key_file_load_from_data
      Src: /src/ostree/src/libostree/ostree-deployment.c:273,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-deployment.c:274,1
    - Dst: ostree_deployment_set_origin
      Src: /src/ostree/src/libostree/ostree-deployment.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeDeployment*
    constantsTouched: []
    func_position:
      end: 279
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 279
    functionName: ostree_deployment_clone
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_key_file_new
    - ostree_deployment_new
    - g_assert
    - ostree_deployment_set_origin
    - ostree_bootconfig_parser_clone
    - g_key_file_to_data
    - ostree_deployment_set_bootconfig
    - _ostree_deployment_set_overlay_initrds
    linkageType: ''
    returnType: OstreeDeployment*
    signature: 'OstreeDeployment *ostree_deployment_clone (OstreeDeployment *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:85,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:95,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:90,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:87,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:92,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:96,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:97,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:100,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:101,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:103,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:104,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysrootUpgrader*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 107
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 107
    functionName: parse_refspec
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - ostree_parse_refspec
    - g_key_file_get_string
    - g_clear_pointer
    - ostree_validate_checksum_string
    - g_steal_pointer
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_refspec (OstreeSysrootUpgrader *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: ostree_sysroot_upgrader_initable_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_upgrader_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:602,1
    - Dst: ostree_sysroot_deployment_kexec_load
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:626,1
    - Dst: ostree_sysroot_simple_write_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:619,1
    - Dst: ostree_sysroot_deploy_tree
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:614,1
    - Dst: ostree_sysroot_stage_tree
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:607,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysrootUpgrader*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: ostree_sysroot_upgrader_deploy
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_deploy_tree
    - ostree_sysroot_deployment_kexec_load
    - ostree_sysroot_stage_tree
    - getenv
    - ostree_sysroot_simple_write_deployment
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_upgrader_deploy (OstreeSysrootUpgrader *self,
      GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:114,1
    - Dst: ostree_deployment_get_osname
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:122,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:117,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:122,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:121,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:125,1
    - Dst: ostree_sysroot_get_merge_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:127,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:129,1
    - Dst: ostree_deployment_get_origin
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:131,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:133,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:134,1
    - Dst: ostree_deployment_get_deployserial
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:135,1
    - Dst: g_key_file_ref
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:136,1
    - Dst: parse_refspec
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:138,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 142
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 142
    functionName: ostree_sysroot_upgrader_initable_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_booted_deployment
    - g_strdup
    - parse_refspec
    - ostree_deployment_get_csum
    - g_assert
    - ostree_deployment_get_origin
    - ostree_sysroot_get_merge_deployment
    - ostree_deployment_get_deployserial
    - glnx_throw
    - g_key_file_ref
    - ostree_deployment_get_osname
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_sysroot_upgrader_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SYSROOT_UPGRADER
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:153,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:155,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:156,1
    - Dst: g_key_file_unref
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:160,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:158,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:161,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:162,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:163,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:164,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: ostree_sysroot_upgrader_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_free
    - g_clear_object
    - g_key_file_unref
    - OSTREE_SYSROOT_UPGRADER
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_upgrader_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysrootUpgrader*
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: ostree_sysroot_upgrader_get_origin_description
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_sysroot_upgrader_get_origin_description (OstreeSysrootUpgrader
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_upgrader_pull_one_dir
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:436,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - self
    - flags
    - upgrader_flags
    - progress
    - out_changed
    - cancellable
    - error
    argTypes:
    - OstreeSysrootUpgrader*
    - OstreeRepoPullFlags
    - OstreeSysrootUpgraderPullFlags
    - OstreeAsyncProgress*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: ostree_sysroot_upgrader_pull
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_upgrader_pull_one_dir
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_upgrader_pull (OstreeSysrootUpgrader *self,
      OstreeRepoPullFlags flags, OstreeSysrootUpgraderPullFlags upgrader_flags, OstreeAsyncProgress
      *progress, gboolean *out_changed, GCancellable *cancellable, GError **error) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:484,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:488,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:490,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:491,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:491,1
    - Dst: g_variant_new_int32
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:493,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:501,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:516,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:540,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:543,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:545,1
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:476,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:483,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:488,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:496,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:499,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:502,1
    - Dst: ostree_async_progress_finish
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:508,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:520,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:521,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:539,1
    - Dst: ostree_sysroot_upgrader_check_timestamps
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:576,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:479,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:481,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:497,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:497,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:492,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:501,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:502,1
    - Dst: ostree_repo_pull_with_options
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:503,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:513,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:525,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:556,1
    - Dst: ostree_repo_set_ref_immediate
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:552,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:538,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:493,1
    - Dst: ostree_repo_pull_one_dir
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:532,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:560,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:564,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:547,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 85
    argCount: 8
    argNames:
    - self
    - dir_to_pull
    - flags
    - upgrader_flags
    - progress
    - out_changed
    - cancellable
    - error
    argTypes:
    - OstreeSysrootUpgrader*
    - char*
    - OstreeRepoPullFlags
    - OstreeSysrootUpgraderPullFlags
    - OstreeAsyncProgress*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 583
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 583
    functionName: ostree_sysroot_upgrader_pull_one_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - ostree_deployment_get_csum
    - g_variant_new_int32
    - ostree_repo_pull_with_options
    - ostree_repo_resolve_rev
    - g_variant_get_child
    - ostree_async_progress_finish
    - g_variant_new_string
    - ostree_repo_pull_one_dir
    - g_strcmp0
    - g_variant_builder_add
    - g_strconcat
    - g_variant_get_string
    - ostree_sysroot_repo
    - g_variant_lookup_value
    - ostree_repo_load_variant
    - g_variant_ref_sink
    - g_key_file_set_string
    - g_variant_builder_end
    - g_strdup
    - G_VARIANT_TYPE
    - ostree_repo_set_ref_immediate
    - g_free
    - g_assert
    - g_variant_new_variant
    - g_variant_builder_new
    - ostree_sysroot_upgrader_check_timestamps
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_upgrader_pull_one_dir (OstreeSysrootUpgrader
      *self, const char *dir_to_pull, OstreeRepoPullFlags flags, OstreeSysrootUpgraderPullFlags
      upgrader_flags, OstreeAsyncProgress *progress, gboolean *out_changed, GCancellable
      *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SYSROOT_UPGRADER
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:173,1
    - Dst: g_value_dup_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:181,1
    - Dst: g_value_get_flags
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:184,1
    - Dst: g_value_dup_object
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:178,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 190
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 190
    functionName: ostree_sysroot_upgrader_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_value_dup_object
    - g_value_get_flags
    - OSTREE_SYSROOT_UPGRADER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_upgrader_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:357,1
    - Dst: g_key_file_ref
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:360,1
    - Dst: parse_refspec
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - self
    - origin
    - cancellable
    - error
    argTypes:
    - OstreeSysrootUpgrader*
    - GKeyFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: ostree_sysroot_upgrader_set_origin
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_key_file_ref
    - parse_refspec
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_upgrader_set_origin (OstreeSysrootUpgrader
      *self, GKeyFile *origin, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:399,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:406,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:407,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:403,1
    - Dst: _ostree_compare_timestamps
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - repo
    - from_rev
    - to_rev
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 411
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 411
    functionName: ostree_sysroot_upgrader_check_timestamps
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - ostree_commit_get_timestamp
    - _ostree_compare_timestamps
    - ostree_repo_load_variant
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_upgrader_check_timestamps (OstreeRepo *repo,
      const char *from_rev, const char *to_rev, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SYSROOT_UPGRADER
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:196,1
    - Dst: g_value_set_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:204,1
    - Dst: g_value_set_object
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:201,1
    - Dst: g_value_set_flags
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:207,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:210,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    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: ostree_sysroot_upgrader_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_value_set_flags
    - g_value_set_string
    - OSTREE_SYSROOT_UPGRADER
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_upgrader_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - sysroot
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: ostree_sysroot_upgrader_new
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_initable_new
    linkageType: ''
    returnType: OstreeSysrootUpgrader*
    signature: 'OstreeSysrootUpgrader *ostree_sysroot_upgrader_new (OstreeSysroot
      *sysroot, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SYSROOT_UPGRADER
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:218,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:220,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: ostree_sysroot_upgrader_constructed
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_OBJECT_CLASS
    - OSTREE_SYSROOT_UPGRADER
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_upgrader_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysrootUpgrader*
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: ostree_sysroot_upgrader_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_upgrader_init (OstreeSysrootUpgrader *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - sysroot
    - osname
    - flags
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - OstreeSysrootUpgraderFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: ostree_sysroot_upgrader_new_for_os_with_flags
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_initable_new
    linkageType: ''
    returnType: OstreeSysrootUpgrader*
    signature: 'OstreeSysrootUpgrader *ostree_sysroot_upgrader_new_for_os_with_flags
      (OstreeSysroot *sysroot, const char *osname, OstreeSysrootUpgraderFlags flags,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:228,1
    - Dst: g_param_spec_object
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:237,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:240,1
    - Dst: g_param_spec_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:242,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:235,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:244,1
    - Dst: g_param_spec_flags
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:245,1
    - Dst: ostree_sysroot_upgrader_flags_get_type
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeSysrootUpgraderClass*
    constantsTouched: []
    func_position:
      end: 248
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 248
    functionName: ostree_sysroot_upgrader_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - ostree_sysroot_upgrader_flags_get_type
    - g_param_spec_string
    - G_OBJECT_CLASS
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sysroot_upgrader_class_init (OstreeSysrootUpgraderClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:640,1
    - Dst: g_flags_register_static
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:650,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:651,1
    - Dst: g_intern_static_string
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 655
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 655
    functionName: ostree_sysroot_upgrader_flags_get_type
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_flags_register_static
    - g_intern_static_string
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: GType
    signature: 'GType ostree_sysroot_upgrader_flags_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - sysroot
    - osname
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: ostree_sysroot_upgrader_new_for_os
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_initable_new
    linkageType: ''
    returnType: OstreeSysrootUpgrader*
    signature: 'OstreeSysrootUpgrader *ostree_sysroot_upgrader_new_for_os (OstreeSysroot
      *sysroot, const char *osname, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:327,1
    - Dst: OSTREE_IS_SYSROOT_UPGRADER
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:327,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:336,1
    - Dst: g_key_file_to_data
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:337,1
    - Dst: g_key_file_load_from_data
      Src: /src/ostree/src/libostree/ostree-sysroot-upgrader.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysrootUpgrader*
    constantsTouched: []
    func_position:
      end: 342
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 342
    functionName: ostree_sysroot_upgrader_dup_origin
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_key_file_new
    - g_assert
    - g_key_file_to_data
    - OSTREE_IS_SYSROOT_UPGRADER
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *ostree_sysroot_upgrader_dup_origin (OstreeSysrootUpgrader
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSysrootUpgrader*
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: ostree_sysroot_upgrader_get_origin
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-upgrader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *ostree_sysroot_upgrader_get_origin (OstreeSysrootUpgrader
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_remote_new_dynamic
      Src: /src/ostree/src/libostree/ostree-remote.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ostree_remote_new
    functionSourceFile: /src/ostree/src/libostree/ostree-remote.c
    functionUses: []
    functionsReached:
    - ostree_remote_new_dynamic
    linkageType: ''
    returnType: OstreeRemote*
    signature: 'OstreeRemote *ostree_remote_new (const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-remote.c:124,1
    - Dst: g_atomic_int_add
      Src: /src/ostree/src/libostree/ostree-remote.c:125,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-remote.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - remote
    argTypes:
    - OstreeRemote*
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: ostree_remote_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-remote.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_add
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeRemote*
    signature: 'OstreeRemote *ostree_remote_ref (OstreeRemote *remote) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-remote.c:64,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-remote.c:69,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-remote.c:65,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-remote.c:70,1
    - Dst: g_slice_new0
      Src: /src/ostree/src/libostree/ostree-remote.c:67,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-remote.c:71,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-remote.c:73,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-remote.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - name
    - refspec_name
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: ostree_remote_new_dynamic
    functionSourceFile: /src/ostree/src/libostree/ostree-remote.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_key_file_new
    - g_slice_new0
    - g_assert
    - g_strdup_printf
    linkageType: ''
    returnType: OstreeRemote*
    signature: 'OstreeRemote *ostree_remote_new_dynamic (const gchar *name, const
      gchar *refspec_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-remote.c:89,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-remote.c:93,1
    - Dst: g_regex_new
      Src: /src/ostree/src/libostree/ostree-remote.c:91,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-remote.c:92,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-remote.c:97,1
    - Dst: g_key_file_has_group
      Src: /src/ostree/src/libostree/ostree-remote.c:97,1
    - Dst: g_regex_match
      Src: /src/ostree/src/libostree/ostree-remote.c:100,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-remote.c:103,1
    - Dst: ostree_remote_new
      Src: /src/ostree/src/libostree/ostree-remote.c:104,1
    - Dst: ot_keyfile_copy_group
      Src: /src/ostree/src/libostree/ostree-remote.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - keyfile
    - group
    argTypes:
    - GKeyFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 109
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 109
    functionName: ostree_remote_new_from_keyfile
    functionSourceFile: /src/ostree/src/libostree/ostree-remote.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_key_file_has_group
    - g_assert
    - g_once_init_leave
    - g_match_info_fetch
    - ostree_remote_new
    - ot_keyfile_copy_group
    - g_regex_match
    - g_return_val_if_fail
    - g_regex_new
    linkageType: ''
    returnType: OstreeRemote*
    signature: 'OstreeRemote *ostree_remote_new_from_keyfile (GKeyFile *keyfile, const
      gchar *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-remote.c:142,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-remote.c:147,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-remote.c:143,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/ostree/src/libostree/ostree-remote.c:145,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-remote.c:148,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-remote.c:149,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-remote.c:150,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-remote.c:151,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-remote.c:152,1
    - Dst: g_slice_free
      Src: /src/ostree/src/libostree/ostree-remote.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - remote
    argTypes:
    - OstreeRemote*
    constantsTouched: []
    func_position:
      end: 155
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 155
    functionName: ostree_remote_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-remote.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_clear_pointer
    - g_clear_object
    - g_slice_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_remote_unref (OstreeRemote *remote) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-remote.c:173,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-remote.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - remote
    argTypes:
    - OstreeRemote*
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: ostree_remote_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-remote.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_remote_get_name (OstreeRemote *remote) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-remote.c:191,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/libostree/ostree-remote.c:194,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-remote.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - remote
    argTypes:
    - OstreeRemote*
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: ostree_remote_get_url
    functionSourceFile: /src/ostree/src/libostree/ostree-remote.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *ostree_remote_get_url (OstreeRemote *remote) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-metalink.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - self
    - new_state
    argTypes:
    - OstreeMetalinkRequest*
    - OstreeMetalinkState
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: state_transition
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void state_transition (OstreeMetalinkRequest *self, OstreeMetalinkState
      new_state) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-metalink.c:299,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-metalink.c:315,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libostree/ostree-metalink.c:300,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-metalink.c:312,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-metalink.c:311,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-metalink.c:316,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-metalink.c:319,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-metalink.c:327,1
    - Dst: _ostree_fetcher_uri_parse
      Src: /src/ostree/src/libostree/ostree-metalink.c:328,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-metalink.c:330,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 20
    argCount: 5
    argNames:
    - context
    - text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 336
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 336
    functionName: metalink_parser_text
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strndup
    - g_assert_not_reached
    - g_ascii_strtoull
    - _ostree_fetcher_uri_parse
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void metalink_parser_text (GMarkupParseContext *context, const
      gchar *text, gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:113,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:114,1
    - Dst: unknown_element
      Src: /src/ostree/src/libostree/ostree-metalink.c:122,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:161,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:160,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:171,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:185,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:210,1
    - Dst: g_markup_collect_attributes
      Src: /src/ostree/src/libostree/ostree-metalink.c:214,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:222,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:119,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:120,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:143,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:162,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:175,1
    - Dst: g_markup_collect_attributes
      Src: /src/ostree/src/libostree/ostree-metalink.c:176,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:199,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:222,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:223,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:225,1
    - Dst: unknown_element
      Src: /src/ostree/src/libostree/ostree-metalink.c:231,1
    - Dst: g_markup_collect_attributes
      Src: /src/ostree/src/libostree/ostree-metalink.c:136,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-metalink.c:146,1
    - Dst: unknown_element
      Src: /src/ostree/src/libostree/ostree-metalink.c:155,1
    - Dst: unknown_element
      Src: /src/ostree/src/libostree/ostree-metalink.c:165,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:183,1
    - Dst: unknown_element
      Src: /src/ostree/src/libostree/ostree-metalink.c:194,1
    - Dst: unknown_element
      Src: /src/ostree/src/libostree/ostree-metalink.c:228,1
    - Dst: unknown_element
      Src: /src/ostree/src/libostree/ostree-metalink.c:116,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:130,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:132,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:158,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:145,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:151,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:159,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:163,1
    - Dst: unknown_element
      Src: /src/ostree/src/libostree/ostree-metalink.c:168,1
    - Dst: unknown_element
      Src: /src/ostree/src/libostree/ostree-metalink.c:191,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:205,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 77
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 240
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 240
    functionName: metalink_parser_start
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_assert
    - unknown_element
    - g_markup_collect_attributes
    - state_transition
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void metalink_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_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-metalink.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeMetalinkClass*
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: _ostree_metalink_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_metalink_class_init (OstreeMetalinkClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-metalink.c:369,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-metalink.c:371,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-metalink.c:372,1
    - Dst: _ostree_fetcher_uri_clone
      Src: /src/ostree/src/libostree/ostree-metalink.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - fetcher
    - requested_file
    - max_size
    - uri
    - n_network_retries
    argTypes:
    - OstreeFetcher*
    - char*
    - guint64
    - OstreeFetcherURI*
    - guint
    constantsTouched: []
    func_position:
      end: 378
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 378
    functionName: _ostree_metalink_new
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    - _ostree_fetcher_uri_clone
    linkageType: ''
    returnType: OstreeMetalink*
    signature: 'OstreeMetalink *_ostree_metalink_new (OstreeFetcher *fetcher, const
      char *requested_file, guint64 max_size, OstreeFetcherURI *uri, guint n_network_retries) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_uri_to_membuf
      Src: /src/ostree/src/libostree/ostree-metalink.c:395,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:403,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-metalink.c:400,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:416,1
    - Dst: g_compute_checksum_for_bytes
      Src: /src/ostree/src/libostree/ostree-metalink.c:414,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:418,1
    - Dst: g_compute_checksum_for_bytes
      Src: /src/ostree/src/libostree/ostree-metalink.c:428,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-metalink.c:430,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:432,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-metalink.c:441,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 4
    argNames:
    - self
    - uri
    - out_data
    - error
    argTypes:
    - OstreeMetalinkRequest*
    - OstreeFetcherURI*
    - GBytes**
    - GError**
    constantsTouched: []
    func_position:
      end: 444
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 444
    functionName: try_one_url
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_compute_checksum_for_bytes
    - g_steal_pointer
    - strcmp
    - g_bytes_get_size
    - _ostree_fetcher_request_uri_to_membuf
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean try_one_url (OstreeMetalinkRequest *self, OstreeFetcherURI
      *uri, GBytes **out_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:99,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-metalink.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - self
    - element_name
    - error
    argTypes:
    - OstreeMetalinkRequest*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: unknown_element
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - g_assert
    - state_transition
    linkageType: ''
    returnType: void
    signature: 'static void unknown_element (OstreeMetalinkRequest *self, const char
      *element_name, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:253,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:267,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:259,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:264,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:256,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:270,1
    - Dst: state_transition
      Src: /src/ostree/src/libostree/ostree-metalink.c:276,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 10
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 279
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 279
    functionName: metalink_parser_end
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - state_transition
    linkageType: ''
    returnType: void
    signature: 'static void metalink_parser_end (GMarkupParseContext *context, const
      gchar *element_name, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_METALINK
      Src: /src/ostree/src/libostree/ostree-metalink.c:343,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-metalink.c:346,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-metalink.c:345,1
    - Dst: _ostree_fetcher_uri_free
      Src: /src/ostree/src/libostree/ostree-metalink.c:347,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-metalink.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 350
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 350
    functionName: _ostree_metalink_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - g_free
    - OSTREE_METALINK
    - g_object_unref
    - G_OBJECT_CLASS
    - _ostree_fetcher_uri_free
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_metalink_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMetalink*
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: _ostree_metalink_init
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_metalink_init (OstreeMetalink *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/ostree/src/libostree/ostree-metalink.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - expected_len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: valid_hex_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - strspn
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean valid_hex_checksum (const char *s, gsize expected_len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:456,1
    - Dst: valid_hex_checksum
      Src: /src/ostree/src/libostree/ostree-metalink.c:477,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:472,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:465,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:479,1
    - Dst: valid_hex_checksum
      Src: /src/ostree/src/libostree/ostree-metalink.c:483,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:485,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:491,1
    - Dst: try_one_url
      Src: /src/ostree/src/libostree/ostree-metalink.c:502,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-metalink.c:506,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-metalink.c:507,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:508,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-metalink.c:514,1
    - Dst: _ostree_fetcher_uri_clone
      Src: /src/ostree/src/libostree/ostree-metalink.c:523,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-metalink.c:515,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-metalink.c:525,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 44
    argCount: 4
    argNames:
    - self
    - out_target_uri
    - out_data
    - error
    argTypes:
    - OstreeMetalinkRequest*
    - OstreeFetcherURI**
    - GBytes**
    - GError**
    constantsTouched: []
    func_position:
      end: 528
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 528
    functionName: try_metalink_targets
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_free
    - _ostree_fetcher_uri_clone
    - g_assert
    - g_clear_error
    - g_steal_pointer
    - try_one_url
    - valid_hex_checksum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean try_metalink_targets (OstreeMetalinkRequest *self,
      OstreeFetcherURI **out_target_uri, GBytes **out_data, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/ostree/src/libostree/ostree-metalink.c:555,1
    - Dst: g_markup_parse_context_new
      Src: /src/ostree/src/libostree/ostree-metalink.c:560,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-metalink.c:558,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-metalink.c:559,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/src/libostree/ostree-metalink.c:556,1
    - Dst: _ostree_fetcher_request_uri_to_membuf
      Src: /src/ostree/src/libostree/ostree-metalink.c:563,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-metalink.c:568,1
    - Dst: g_markup_parse_context_parse
      Src: /src/ostree/src/libostree/ostree-metalink.c:569,1
    - Dst: try_metalink_targets
      Src: /src/ostree/src/libostree/ostree-metalink.c:572,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/src/libostree/ostree-metalink.c:578,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-metalink.c:579,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-metalink.c:584,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-metalink.c:580,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-metalink.c:581,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-metalink.c:582,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-metalink.c:583,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 5
    argNames:
    - self
    - out_target_uri
    - out_data
    - cancellable
    - error
    argTypes:
    - OstreeMetalink*
    - OstreeFetcherURI**
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 586
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 586
    functionName: _ostree_metalink_request_sync
    functionSourceFile: /src/ostree/src/libostree/ostree-metalink.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - g_object_ref
    - g_bytes_get_data
    - g_markup_parse_context_parse
    - g_ptr_array_new_with_free_func
    - g_markup_parse_context_new
    - g_clear_pointer
    - g_clear_object
    - try_metalink_targets
    - g_main_context_pop_thread_default
    - g_main_context_new
    - _ostree_fetcher_request_uri_to_membuf
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_metalink_request_sync (OstreeMetalink *self, OstreeFetcherURI
      **out_target_uri, GBytes **out_data, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:90,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:95,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:100,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:117,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:109,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:116,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:124,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:126,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:92,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:102,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:105,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:112,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:119,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:87,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:98,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:111,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:114,1
    - Dst: _ostree_sysroot_read_boot_loader_configs
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:85,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:107,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:121,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:122,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:127,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 10
    argNames:
    - self
    - bootversion
    - aboot
    - abootcfg
    - version
    - vmlinuz
    - initramfs
    - options
    - cancellable
    - error
    argTypes:
    - OstreeBootloaderAboot*
    - int
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: _ostree_aboot_get_bls_config
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ostree_bootconfig_parser_get
    - g_ptr_array_index
    - g_build_filename
    - glnx_prefix_error
    - glnx_throw
    - _ostree_sysroot_read_boot_loader_configs
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_aboot_get_bls_config (OstreeBootloaderAboot
      *self, int bootversion, gchar **aboot, gchar **abootcfg, gchar **version, gchar
      **vmlinuz, gchar **initramfs, gchar **options, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bootloader
    argTypes:
    - OstreeBootloader*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: _ostree_bootloader_aboot_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_ostree_bootloader_aboot_get_name (OstreeBootloader
      *bootloader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_ABOOT
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:188,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:190,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: _ostree_bootloader_aboot_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached:
    - OSTREE_BOOTLOADER_ABOOT
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_aboot_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBootloaderInterface*
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: _ostree_bootloader_aboot_bootloader_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_aboot_bootloader_iface_init (OstreeBootloaderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - bootloader
    - out_is_active
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: _ostree_bootloader_aboot_query
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_aboot_query (OstreeBootloader *bootloader,
      gboolean *out_is_active, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_ABOOT
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:68,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - bootloader
    - bootversion
    - new_deployments
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: _ostree_bootloader_aboot_write_config
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached:
    - OSTREE_BOOTLOADER_ABOOT
    - glnx_file_replace_contents_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_aboot_write_config (OstreeBootloader
      *bootloader, int bootversion, GPtrArray *new_deployments, GCancellable *cancellable,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_ABOOT
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:136,1
    - Dst: _ostree_aboot_get_bls_config
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:157,1
    - Dst: g_spawn_sync
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:166,1
    - Dst: g_file_get_path
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:161,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:143,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:172,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:177,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 17
    argCount: 4
    argNames:
    - bootloader
    - bootversion
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 183
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 183
    functionName: _ostree_bootloader_aboot_post_bls_sync
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - glnx_fstatat_allow_noent
    - g_file_get_path
    - g_spawn_sync
    - _ostree_aboot_get_bls_config
    - OSTREE_BOOTLOADER_ABOOT
    - g_spawn_check_exit_status
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_aboot_post_bls_sync (OstreeBootloader
      *bootloader, int bootversion, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootloaderAboot*
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: _ostree_bootloader_aboot_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_aboot_init (OstreeBootloaderAboot *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - OstreeBootloaderAbootClass*
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: _ostree_bootloader_aboot_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_aboot_class_init (OstreeBootloaderAbootClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:220,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-bootloader-aboot.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - sysroot
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: _ostree_bootloader_aboot_new
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-aboot.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: OstreeBootloaderAboot*
    signature: 'OstreeBootloaderAboot *_ostree_bootloader_aboot_new (OstreeSysroot
      *sysroot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_bootloader_grub2_generate_config
      Src: /src/ostree/src/libostree/ostree-cmd-private.c:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - sysroot
    - bootversion
    - target_fd
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: impl_ostree_generate_grub2_config
    functionSourceFile: /src/ostree/src/libostree/ostree-cmd-private.c
    functionUses: []
    functionsReached:
    - _ostree_bootloader_grub2_generate_config
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean impl_ostree_generate_grub2_config (OstreeSysroot *sysroot,
      int bootversion, int target_fd, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: ostree_cmd__private__
    functionSourceFile: /src/ostree/src/libostree/ostree-cmd-private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OstreeCmdPrivateVTable*
    signature: 'const OstreeCmdPrivateVTable *ostree_cmd__private__ (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_IS_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-diff.c:42,1
    - Dst: ostree_repo_file_get_checksum
      Src: /src/ostree/src/libostree/ostree-diff.c:44,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-diff.c:53,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-diff.c:44,1
    - Dst: glnx_dfd_name_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-diff.c:53,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-diff.c:58,1
    - Dst: g_file_read
      Src: /src/ostree/src/libostree/ostree-diff.c:60,1
    - Dst: ostree_checksum_file_from_input
      Src: /src/ostree/src/libostree/ostree-diff.c:66,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-diff.c:69,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-diff.c:72,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 6
    argNames:
    - flags
    - f
    - f_info
    - out_checksum
    - cancellable
    - error
    argTypes:
    - OstreeDiffFlags
    - GFile*
    - GFileInfo*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 74
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 74
    functionName: get_file_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ostree_checksum_from_bytes
    - OSTREE_IS_REPO_FILE
    - glnx_dfd_name_get_all_xattrs
    - g_file_info_get_file_type
    - g_file_read
    - ot_transfer_out_value
    - gs_file_get_path_cached
    - ostree_repo_file_get_checksum
    - ostree_checksum_file_from_input
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_file_checksum (OstreeDiffFlags flags, GFile *f,
      GFileInfo *f_info, char **out_checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/ostree/src/libostree/ostree-diff.c:86,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:91,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:90,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:89,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:92,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-diff.c:93,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-diff.c:94,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-diff.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - diffitem
    argTypes:
    - OstreeDiffItem*
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: ostree_diff_item_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'void ostree_diff_item_unref (OstreeDiffItem *diffitem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-diff.c:105,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-diff.c:110,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-diff.c:109,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-diff.c:107,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-diff.c:108,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-diff.c:111,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-diff.c:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 6
    argNames:
    - a
    - a_info
    - b
    - b_info
    - checksum_a
    - checksum_b
    argTypes:
    - GFile*
    - GFileInfo*
    - GFile*
    - GFileInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: diff_item_new
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_new0
    linkageType: ''
    returnType: OstreeDiffItem*
    signature: 'static OstreeDiffItem *diff_item_new (GFile *a, GFileInfo *a_info,
      GFile *b, GFileInfo *b_info, char *checksum_a, char *checksum_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_diff_dirs_with_options
      Src: /src/ostree/src/libostree/ostree-diff.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 8
    argNames:
    - flags
    - a
    - b
    - modified
    - removed
    - added
    - cancellable
    - error
    argTypes:
    - OstreeDiffFlags
    - GFile*
    - GFile*
    - GPtrArray*
    - GPtrArray*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: ostree_diff_dirs
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - ostree_diff_dirs_with_options
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_diff_dirs (OstreeDiffFlags flags, GFile *a, GFile
      *b, GPtrArray *modified, GPtrArray *removed, GPtrArray *added, GCancellable
      *cancellable, GError **error) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-diff.c:256,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-diff.c:263,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libostree/ostree-diff.c:292,1
    - Dst: OSTREE_IS_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-diff.c:264,1
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/libostree/ostree-diff.c:281,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:301,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-diff.c:303,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-diff.c:307,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-diff.c:309,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-diff.c:321,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libostree/ostree-diff.c:372,1
    - Dst: g_file_enumerator_next_file
      Src: /src/ostree/src/libostree/ostree-diff.c:368,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-diff.c:378,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-diff.c:406,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:377,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:353,1
    - Dst: diff_add_dir_recurse
      Src: /src/ostree/src/libostree/ostree-diff.c:392,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-diff.c:389,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:361,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-diff.c:331,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-diff.c:251,1
    - Dst: OSTREE_IS_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-diff.c:264,1
    - Dst: ostree_repo_file_tree_get_contents_checksum
      Src: /src/ostree/src/libostree/ostree-diff.c:269,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-diff.c:295,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-diff.c:296,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-diff.c:310,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-diff.c:314,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-diff.c:357,1
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/libostree/ostree-diff.c:362,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:374,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:380,1
    - Dst: diff_add_dir_recurse
      Src: /src/ostree/src/libostree/ostree-diff.c:244,1
    - Dst: ostree_repo_file_get_repo
      Src: /src/ostree/src/libostree/ostree-diff.c:231,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-diff.c:262,1
    - Dst: ostree_repo_file_tree_get_contents_checksum
      Src: /src/ostree/src/libostree/ostree-diff.c:270,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:279,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:294,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-diff.c:299,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-diff.c:310,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-diff.c:323,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-diff.c:325,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-diff.c:386,1
    - Dst: OSTREE_IS_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-diff.c:229,1
    - Dst: ostree_repo_file_get_repo
      Src: /src/ostree/src/libostree/ostree-diff.c:237,1
    - Dst: OSTREE_IS_REPO_FILE
      Src: /src/ostree/src/libostree/ostree-diff.c:235,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-diff.c:269,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:278,1
    - Dst: g_file_enumerator_next_file
      Src: /src/ostree/src/libostree/ostree-diff.c:286,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:298,1
    - Dst: diff_item_new
      Src: /src/ostree/src/libostree/ostree-diff.c:329,1
    - Dst: diff_files
      Src: /src/ostree/src/libostree/ostree-diff.c:337,1
    - Dst: ostree_diff_dirs_with_options
      Src: /src/ostree/src/libostree/ostree-diff.c:346,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-diff.c:375,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-diff.c:389,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-diff.c:398,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:367,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-diff.c:402,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-diff.c:342,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-diff.c:382,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-diff.c:388,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-diff.c:390,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 135
    argCount: 9
    argNames:
    - flags
    - a
    - b
    - modified
    - removed
    - added
    - options
    - cancellable
    - error
    argTypes:
    - OstreeDiffFlags
    - GFile*
    - GFile*
    - GPtrArray*
    - GPtrArray*
    - GPtrArray*
    - OstreeDiffDirsOptions*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 413
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 413
    functionName: ostree_diff_dirs_with_options
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_next_file
    - g_clear_error
    - diff_files
    - g_propagate_error
    - ostree_repo_file_get_repo
    - g_error_matches
    - ostree_diff_dirs_with_options
    - g_file_info_get_file_type
    - ostree_repo_file_tree_get_contents_checksum
    - strcmp
    - g_file_info_set_attribute_uint32
    - diff_item_new
    - g_object_ref
    - diff_add_dir_recurse
    - g_file_enumerate_children
    - g_ptr_array_add
    - g_file_query_info
    - OSTREE_IS_REPO_FILE
    - g_file_info_get_name
    - g_clear_object
    - g_file_get_child
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_diff_dirs_with_options (OstreeDiffFlags flags, GFile
      *a, GFile *b, GPtrArray *modified, GPtrArray *removed, GPtrArray *added, OstreeDiffDirsOptions
      *options, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_diff_item
      Src: /src/ostree/src/libostree/ostree-diff.c:447,1
    - Dst: print_diff_item
      Src: /src/ostree/src/libostree/ostree-diff.c:452,1
    - Dst: print_diff_item
      Src: /src/ostree/src/libostree/ostree-diff.c:457,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - a
    - b
    - modified
    - removed
    - added
    argTypes:
    - GFile*
    - GFile*
    - GPtrArray*
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 459
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 459
    functionName: ostree_diff_print
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - print_diff_item
    linkageType: ''
    returnType: void
    signature: 'void ostree_diff_print (GFile *a, GFile *b, GPtrArray *modified, GPtrArray
      *removed, GPtrArray *added) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_file_checksum
      Src: /src/ostree/src/libostree/ostree-diff.c:122,1
    - Dst: get_file_checksum
      Src: /src/ostree/src/libostree/ostree-diff.c:124,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-diff.c:128,1
    - Dst: diff_item_new
      Src: /src/ostree/src/libostree/ostree-diff.c:130,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-diff.c:133,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 8
    argNames:
    - flags
    - a
    - a_info
    - b
    - b_info
    - out_item
    - cancellable
    - error
    argTypes:
    - OstreeDiffFlags
    - GFile*
    - GFileInfo*
    - GFile*
    - GFileInfo*
    - OstreeDiffItem**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: diff_files
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - diff_item_new
    - ot_transfer_out_value
    - get_file_checksum
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean diff_files (OstreeDiffFlags flags, GFile *a, GFileInfo
      *a_info, GFile *b, GFileInfo *b_info, OstreeDiffItem **out_item, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/ostree/src/libostree/ostree-diff.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - diffitem
    argTypes:
    - OstreeDiffItem*
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: ostree_diff_item_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: OstreeDiffItem*
    signature: 'OstreeDiffItem *ostree_diff_item_ref (OstreeDiffItem *diffitem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_is_native
      Src: /src/ostree/src/libostree/ostree-diff.c:418,1
    - Dst: g_file_get_relative_path
      Src: /src/ostree/src/libostree/ostree-diff.c:420,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-diff.c:425,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-diff.c:421,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-diff.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - prefix
    - base
    - file
    argTypes:
    - char
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 427
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 427
    functionName: print_diff_item
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - g_file_is_native
    - g_print
    - g_file_get_relative_path
    - gs_file_get_path_cached
    linkageType: ''
    returnType: void
    signature: 'static void print_diff_item (char prefix, GFile *base, GFile *file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/libostree/ostree-diff.c:140,1
    - Dst: g_file_enumerator_iterate
      Src: /src/ostree/src/libostree/ostree-diff.c:150,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-diff.c:158,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-diff.c:157,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libostree/ostree-diff.c:155,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-diff.c:158,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-diff.c:160,1
    - Dst: diff_add_dir_recurse
      Src: /src/ostree/src/libostree/ostree-diff.c:162,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 4
    argNames:
    - d
    - added
    - cancellable
    - error
    argTypes:
    - GFile*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 168
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 168
    functionName: diff_add_dir_recurse
    functionSourceFile: /src/ostree/src/libostree/ostree-diff.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_file_info_get_name
    - diff_add_dir_recurse
    - g_file_enumerate_children
    - g_file_info_get_file_type
    - g_file_enumerator_iterate
    - g_ptr_array_add
    - g_file_get_child
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean diff_add_dir_recurse (GFile *d, GPtrArray *added,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-ref.c:55,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-ref.c:56,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-ref.c:57,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-ref.c:59,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-ref.c:57,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-ref.c:60,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-ref.c:61,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-ref.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - collection_id
    - ref_name
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: ostree_collection_ref_new
    functionSourceFile: /src/ostree/src/libostree/ostree-ref.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - ostree_validate_collection_id
    - ostree_validate_rev
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeCollectionRef*
    signature: 'OstreeCollectionRef *ostree_collection_ref_new (const gchar *collection_id,
      const gchar *ref_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-ref.c:94,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-ref.c:96,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-ref.c:97,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-ref.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ref
    argTypes:
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: ostree_collection_ref_free
    functionSourceFile: /src/ostree/src/libostree/ostree-ref.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_collection_ref_free (OstreeCollectionRef *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-ref.c:138,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-ref.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ref1
    - ref2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: ostree_collection_ref_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-ref.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_collection_ref_equal (gconstpointer ref1, gconstpointer
      ref2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-ref.c:184,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-ref.c:188,1
    - Dst: ostree_collection_ref_free
      Src: /src/ostree/src/libostree/ostree-ref.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - refs
    argTypes:
    - OstreeCollectionRef**
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: ostree_collection_ref_freev
    functionSourceFile: /src/ostree/src/libostree/ostree-ref.c
    functionUses: []
    functionsReached:
    - g_free
    - ostree_collection_ref_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_collection_ref_freev (OstreeCollectionRef **refs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-ref.c:78,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-ref.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ref
    argTypes:
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: ostree_collection_ref_dup
    functionSourceFile: /src/ostree/src/libostree/ostree-ref.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - ostree_collection_ref_new
    linkageType: ''
    returnType: OstreeCollectionRef*
    signature: 'OstreeCollectionRef *ostree_collection_ref_dup (const OstreeCollectionRef
      *ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-ref.c:117,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-ref.c:119,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-ref.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ref
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: ostree_collection_ref_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-ref.c
    functionUses: []
    functionsReached:
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'guint ostree_collection_ref_hash (gconstpointer ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-ref.c:156,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-ref.c:159,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-ref.c:161,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-ref.c:164,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-ref.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - refs
    argTypes:
    - OstreeCollectionRef**
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: ostree_collection_ref_dupv
    functionSourceFile: /src/ostree/src/libostree/ostree-ref.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_strv_length
    - g_steal_pointer
    - g_return_val_if_fail
    - ostree_collection_ref_dup
    linkageType: ''
    returnType: OstreeCollectionRef**
    signature: 'OstreeCollectionRef **ostree_collection_ref_dupv (const OstreeCollectionRef
      *const *refs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - OstreeBootconfigParser*
    - char*
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: ostree_bootconfig_parser_get
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_bootconfig_parser_get (OstreeBootconfigParser *self,
      const char *key) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:72,1
    - Dst: g_strsplit_set
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:88,1
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:74,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:80,1
    - Dst: g_ascii_isalpha
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:85,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:89,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:91,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:92,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:95,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:96,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:97,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:101,1
    - Dst: g_ptr_array_free
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:115,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:103,1
    - Dst: g_strfreev
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:107,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:114,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:115,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 5
    argNames:
    - self
    - dfd
    - path
    - cancellable
    - error
    argTypes:
    - OstreeBootconfigParser*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 121
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 121
    functionName: ostree_bootconfig_parser_parse_at
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_ascii_isalpha
    - g_free
    - g_strsplit_set
    - g_ptr_array_new_with_free_func
    - g_assert
    - g_ptr_array_free
    - g_hash_table_insert
    - g_strsplit
    - g_steal_pointer
    - g_strfreev
    - glnx_file_get_contents_utf8_at
    - g_strv_length
    - g_hash_table_contains
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_bootconfig_parser_parse_at (OstreeBootconfigParser
      *self, int dfd, const char *path, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootconfigParser*
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: ostree_bootconfig_parser_get_overlay_initrds
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: 'char **ostree_bootconfig_parser_get_overlay_initrds (OstreeBootconfigParser
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:198,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:201,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:199,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - self
    - buf
    - key
    - value
    argTypes:
    - OstreeBootconfigParser*
    - GString*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: write_key
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_string_append_c
    linkageType: ''
    returnType: void
    signature: 'static void write_key (OstreeBootconfigParser *self, GString *buf,
      const char *key, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bootconfig_parser_write_at
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:255,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - self
    - output
    - cancellable
    - error
    argTypes:
    - OstreeBootconfigParser*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: ostree_bootconfig_parser_write
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - ostree_bootconfig_parser_write_at
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_bootconfig_parser_write (OstreeBootconfigParser *self,
      GFile *output, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootconfigParser*
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: ostree_bootconfig_parser_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void ostree_bootconfig_parser_init (OstreeBootconfigParser
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bootconfig_parser_new
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:48,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:51,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:51,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:50,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:51,1
    - Dst: g_strdupv
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootconfigParser*
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: ostree_bootconfig_parser_clone
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    - GLNX_HASH_TABLE_FOREACH_KV
    - ostree_bootconfig_parser_new
    - g_strdupv
    - g_hash_table_replace
    linkageType: ''
    returnType: OstreeBootconfigParser*
    signature: 'OstreeBootconfigParser *ostree_bootconfig_parser_clone (OstreeBootconfigParser
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_bootconfig_parser_parse_at
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:127,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - self
    - path
    - cancellable
    - error
    argTypes:
    - OstreeBootconfigParser*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: ostree_bootconfig_parser_parse
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - ostree_bootconfig_parser_parse_at
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_bootconfig_parser_parse (OstreeBootconfigParser *self,
      GFile *path, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:213,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:216,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:219,1
    - Dst: write_key
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:222,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:214,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:223,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:228,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:231,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:231,1
    - Dst: write_key
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:233,1
    - Dst: write_key
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:241,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:239,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:244,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:237,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 5
    argNames:
    - self
    - dfd
    - path
    - cancellable
    - error
    argTypes:
    - OstreeBootconfigParser*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 249
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 249
    functionName: ostree_bootconfig_parser_write_at
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_string_new
    - glnx_file_replace_contents_at
    - GLNX_HASH_TABLE_FOREACH_KV
    - g_hash_table_add
    - g_assert
    - g_hash_table_new
    - G_N_ELEMENTS
    - g_hash_table_lookup
    - g_strv_length
    - g_hash_table_contains
    - write_key
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_bootconfig_parser_write_at (OstreeBootconfigParser
      *self, int dfd, const char *path, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTCONFIG_PARSER
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:262,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:265,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:267,1
    - Dst: g_strfreev
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: ostree_bootconfig_parser_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - OSTREE_BOOTCONFIG_PARSER
    - g_hash_table_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_bootconfig_parser_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - OstreeBootconfigParserClass*
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: ostree_bootconfig_parser_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'void ostree_bootconfig_parser_class_init (OstreeBootconfigParserClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: ostree_bootconfig_parser_new
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeBootconfigParser*
    signature: 'OstreeBootconfigParser *ostree_bootconfig_parser_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:142,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:142,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - OstreeBootconfigParser*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: ostree_bootconfig_parser_set
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_replace
    linkageType: ''
    returnType: void
    signature: 'void ostree_bootconfig_parser_set (OstreeBootconfigParser *self, const
      char *key, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:175,1
    - Dst: g_strfreev
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:176,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:175,1
    - Dst: g_strdupv
      Src: /src/ostree/src/libostree/ostree-bootconfig-parser.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - self
    - initrds
    argTypes:
    - OstreeBootconfigParser*
    - char**
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: ostree_bootconfig_parser_set_overlay_initrds
    functionSourceFile: /src/ostree/src/libostree/ostree-bootconfig-parser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_strfreev
    - g_strdupv
    - g_hash_table_contains
    linkageType: ''
    returnType: void
    signature: 'void ostree_bootconfig_parser_set_overlay_initrds (OstreeBootconfigParser
      *self, char **initrds) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:119,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:124,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:121,1
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:125,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:123,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:126,1
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:127,1
    - Dst: glnx_tmpfile_clear
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:128,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:130,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - part_builder
    argTypes:
    - OstreeStaticDeltaPartBuilder*
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: ostree_static_delta_part_builder_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_free
    - g_variant_unref
    - g_string_free
    - g_ptr_array_unref
    - glnx_tmpfile_clear
    linkageType: ''
    returnType: void
    signature: 'static void ostree_static_delta_part_builder_unref (OstreeStaticDeltaPartBuilder
      *part_builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - vp
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: mode_chunk_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_variant_get
    linkageType: ''
    returnType: guint
    signature: 'static guint mode_chunk_hash (const void *vp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:83,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:84,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:85,1
    - Dst: g_object_set_data_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:85,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: variant_to_inputstream
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_memory_input_stream_new_from_data
    - g_variant_ref
    - g_variant_get_data
    - g_variant_get_size
    - g_object_set_data_full
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *variant_to_inputstream (GVariant *variant) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocate_part_buffer_space
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:381,1
    - Dst: g_input_stream_read_all
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - current_part
    - istream
    - cancellable
    - error
    argTypes:
    - OstreeStaticDeltaPartBuilder*
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 395
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 395
    functionName: splice_stream_to_payload
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_input_stream_read_all
    - allocate_part_buffer_space
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean splice_stream_to_payload (OstreeStaticDeltaPartBuilder
      *current_part, GInputStream *istream, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:558,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:570,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:567,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:561,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:567,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:571,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:573,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 7
    argNames:
    - repo
    - from
    - to
    - out_bsdiff
    - max_bsdiff_size_bytes
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - ContentBsdiff**
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 575
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 575
    functionName: try_content_bsdiff
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - ostree_repo_load_file
    - ot_transfer_out_value
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean try_content_bsdiff (OstreeRepo *repo, const char *from,
      const char *to, ContentBsdiff **out_bsdiff, guint64 max_bsdiff_size_bytes, GCancellable
      *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:802,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:817,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:822,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:838,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:840,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:840,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:844,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:845,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:866,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:788,1
    - Dst: get_unpacked_unlinked_content
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:780,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:794,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:815,1
    - Dst: ostree_checksum_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:813,1
    - Dst: write_content_mode_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:809,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:861,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:819,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:820,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:821,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:816,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:829,1
    - Dst: bsdiff
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:837,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:841,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:841,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:843,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:854,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:863,1
    - Dst: allocate_part
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:773,1
    - Dst: get_unpacked_unlinked_content
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:784,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:790,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:797,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:798,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:803,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 7
    argNames:
    - repo
    - builder
    - current_part_val
    - to_checksum
    - bsdiff_content
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeStaticDeltaBuilder*
    - OstreeStaticDeltaPartBuilder**
    - char*
    - ContentBsdiff*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 869
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 869
    functionName: process_one_bsdiff
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - allocate_part
    - ostree_checksum_inplace_to_bytes
    - g_string_append_c
    - g_string_append_len
    - glnx_throw
    - write_content_mode_xattrs
    - g_assert_cmpint
    - g_file_info_get_size
    - get_unpacked_unlinked_content
    - g_memory_output_stream_new_resizable
    - g_bytes_get_data
    - bsdiff
    - g_memory_output_stream_get_data_size
    - G_MEMORY_OUTPUT_STREAM
    - g_ptr_array_add
    - g_printerr
    - ostree_repo_load_file
    - ostree_object_name_serialize
    - g_memory_output_stream_get_data
    - _ostree_write_varuint64
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean process_one_bsdiff (OstreeRepo *repo, OstreeStaticDeltaBuilder
      *builder, OstreeStaticDeltaPartBuilder **current_part_val, const char *to_checksum,
      ContentBsdiff *bsdiff_content, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:94,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:104,1
    - Dst: g_byte_array_append
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:109,1
    - Dst: g_byte_array_append
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:110,1
    - Dst: ostree_checksum_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:107,1
    - Dst: g_byte_array_free_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - objects
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 113
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 113
    functionName: objtype_checksum_array_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - ostree_checksum_inplace_to_bytes
    - ostree_object_name_deserialize
    - g_byte_array_new
    - g_byte_array_append
    - g_byte_array_free_to_bytes
    linkageType: ''
    returnType: GBytes*
    signature: 'static GBytes *objtype_checksum_array_new (GPtrArray *objects) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:402,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:406,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:403,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:405,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:404,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:406,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:406,1
    - Dst: GUINT32_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:406,1
    - Dst: write_unique_variant_chunk
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:408,1
    - Dst: write_unique_variant_chunk
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 6
    argNames:
    - repo
    - current_part
    - content_finfo
    - content_xattrs
    - out_mode_offset
    - out_xattr_offset
    argTypes:
    - OstreeRepo*
    - OstreeStaticDeltaPartBuilder*
    - GFileInfo*
    - GVariant*
    - gsize*
    - gsize*
    constantsTouched: []
    func_position:
      end: 412
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: write_content_mode_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_file_info_get_attribute_uint32
    - GUINT32_TO_BE
    - g_variant_new
    - g_variant_ref_sink
    - write_unique_variant_chunk
    linkageType: ''
    returnType: void
    signature: 'static void write_content_mode_xattrs (OstreeRepo *repo, OstreeStaticDeltaPartBuilder
      *current_part, GFileInfo *content_finfo, GVariant *content_xattrs, gsize *out_mode_offset,
      gsize *out_xattr_offset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_unpacked_unlinked_content
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:587,1
    - Dst: get_unpacked_unlinked_content
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:590,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:610,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:605,1
    - Dst: _ostree_compute_rollsum_matches
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:593,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:611,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:612,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:613,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 7
    argNames:
    - repo
    - opts
    - from
    - to
    - out_rollsum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - DeltaOpts
    - char*
    - char*
    - ContentRollsum**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 615
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 615
    functionName: try_content_rollsum
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - _ostree_compute_rollsum_matches
    - g_strdup
    - g_new0
    - get_unpacked_unlinked_content
    - g_steal_pointer
    - ot_transfer_out_value
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean try_content_rollsum (OstreeRepo *repo, DeltaOpts opts,
      const char *from, const char *to, ContentRollsum **out_rollsum, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:878,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:881,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - repo
    - checksum
    - out_readable
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 884
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 884
    functionName: check_object_world_readable
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_file_info_get_attribute_uint32
    - ostree_repo_load_file
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_object_world_readable (OstreeRepo *repo, const
      char *checksum, gboolean *out_readable, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:173,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:185,1
    - Dst: bufhash
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:188,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:184,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - vp
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: xattr_chunk_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_variant_get_fixed_array
    - g_variant_n_children
    - g_str_hash
    - g_variant_get_child
    - bufhash
    linkageType: ''
    returnType: guint
    signature: 'static guint xattr_chunk_hash (const void *vp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_splice
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:262,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:295,1
    - Dst: ot_gio_splice_get_checksum
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:284,1
    - Dst: variant_to_inputstream
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:283,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:231,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:236,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:239,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:247,1
    - Dst: ot_gvariant_new_ay_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:248,1
    - Dst: _ostree_lzma_compressor_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:254,1
    - Dst: ot_gvariant_new_ay_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:249,1
    - Dst: variant_to_inputstream
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:256,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:269,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:292,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:292,1
    - Dst: objtype_checksum_array_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:288,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:302,1
    - Dst: g_memory_output_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:257,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:250,1
    - Dst: g_converter_output_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:258,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:277,1
    - Dst: ot_gvariant_new_ay_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:291,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:297,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:298,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:293,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:281,1
    - Dst: maybe_swap_endian_u32
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:290,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:231,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:232,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:232,1
    - Dst: g_string_free_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:243,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:243,1
    - Dst: g_string_free_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:245,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:245,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:272,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:273,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:274,1
    - Dst: g_bytes_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:287,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:289,1
    - Dst: ot_gvariant_new_ay_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:274,1
    - Dst: ot_gvariant_new_ay_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:294,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 2
    argNames:
    - builder
    - error
    argTypes:
    - OstreeStaticDeltaBuilder*
    - GError**
    constantsTouched: []
    func_position:
      end: 309
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 309
    functionName: finish_part
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_steal_pointer
    - g_variant_ref
    - g_string_free_to_bytes
    - maybe_swap_endian_u32
    - variant_to_inputstream
    - g_unix_output_stream_new
    - g_variant_builder_add_value
    - maybe_swap_endian_u64
    - _ostree_lzma_compressor_new
    - g_variant_new
    - glnx_open_tmpfile_linkable_at
    - g_memory_output_stream_new
    - g_output_stream_splice
    - ot_gvariant_new_ay_bytes
    - g_variant_builder_init
    - g_memory_output_stream_steal_as_bytes
    - g_variant_ref_sink
    - objtype_checksum_array_new
    - g_variant_get_size
    - g_printerr
    - G_VARIANT_TYPE
    - g_bytes_new
    - g_converter_output_stream_new
    - ot_gio_splice_get_checksum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean finish_part (OstreeStaticDeltaBuilder *builder, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_set_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - current_part
    - len
    argTypes:
    - OstreeStaticDeltaPartBuilder*
    - guint
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: allocate_part_buffer_space
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_string_set_size
    linkageType: ''
    returnType: gsize
    signature: 'static gsize allocate_part_buffer_space (OstreeStaticDeltaPartBuilder
      *current_part, guint len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:543,1
    - Dst: ot_map_anonymous_tmpfile_from_content
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 5
    argNames:
    - repo
    - checksum
    - out_content
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 550
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 550
    functionName: get_unpacked_unlinked_content
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - ot_map_anonymous_tmpfile_from_content
    - ostree_repo_load_file
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_unpacked_unlinked_content (OstreeRepo *repo, const
      char *checksum, GBytes **out_content, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:641,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:642,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:643,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - current_part
    - buf
    - offset
    argTypes:
    - OstreeStaticDeltaPartBuilder*
    - guint8*
    - guint64
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: append_payload_chunk_and_write
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_append_len
    - _ostree_write_varuint64
    linkageType: ''
    returnType: void
    signature: 'static void append_payload_chunk_and_write (OstreeStaticDeltaPartBuilder
      *current_part, const guint8 *buf, guint64 offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:199,1
    - Dst: memcmp
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:208,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:200,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:208,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 209
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 209
    functionName: xattr_chunk_equals
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - memcmp
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean xattr_chunk_equals (const void *one, const void *two) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: finish_part
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:316,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:320,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:323,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:322,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:321,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:325,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:327,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:328,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:330,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:331,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - builder
    - error
    argTypes:
    - OstreeStaticDeltaBuilder*
    - GError**
    constantsTouched: []
    func_position:
      end: 333
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 333
    functionName: allocate_part
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_new0
    - g_ptr_array_new_with_free_func
    - finish_part
    - g_hash_table_new_full
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: OstreeStaticDeltaPartBuilder*
    signature: 'static OstreeStaticDeltaPartBuilder *allocate_part (OstreeStaticDeltaBuilder
      *builder, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:363,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:368,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:368,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:367,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:364,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - current_part
    - hash
    - ordered
    - key
    argTypes:
    - OstreeStaticDeltaPartBuilder*
    - GHashTable*
    - GPtrArray*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: write_unique_variant_chunk
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - g_variant_ref
    - g_ptr_array_add
    - g_hash_table_lookup_extended
    linkageType: ''
    returnType: gsize
    signature: 'static gsize write_unique_variant_chunk (OstreeStaticDeltaPartBuilder
      *current_part, GHashTable *hash, GPtrArray *ordered, GVariant *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:522,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:524,1
    - Dst: _ostree_rollsum_matches_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rollsum
    argTypes:
    - ContentRollsum*
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: content_rollsums_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_free
    - _ostree_rollsum_matches_free
    linkageType: ''
    returnType: void
    signature: 'static void content_rollsums_free (ContentRollsum *rollsum) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: allocate_part
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:657,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:680,1
    - Dst: write_content_mode_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:689,1
    - Dst: ostree_checksum_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:693,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:726,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:695,1
    - Dst: append_payload_chunk_and_write
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:727,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:746,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:735,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:739,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:741,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:757,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:699,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:675,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:668,1
    - Dst: get_unpacked_unlinked_content
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:664,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:676,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:681,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:697,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:707,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:713,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:700,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:721,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:740,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:754,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:672,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:733,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:753,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:698,1
    - Dst: append_payload_chunk_and_write
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:751,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 7
    argNames:
    - repo
    - builder
    - current_part_val
    - to_checksum
    - rollsum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeStaticDeltaBuilder*
    - OstreeStaticDeltaPartBuilder**
    - char*
    - ContentRollsum*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 761
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 761
    functionName: process_one_rollsum
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - allocate_part
    - g_assert_cmpint
    - g_bytes_get_data
    - get_unpacked_unlinked_content
    - _ostree_write_varuint64
    - ostree_repo_load_file
    - ostree_object_name_serialize
    - ostree_checksum_inplace_to_bytes
    - g_assert
    - g_string_append_c
    - g_variant_get
    - g_string_append_len
    - append_payload_chunk_and_write
    - write_content_mode_xattrs
    - g_ptr_array_add
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean process_one_rollsum (OstreeRepo *repo, OstreeStaticDeltaBuilder
      *builder, OstreeStaticDeltaPartBuilder **current_part_val, const char *to_checksum,
      ContentRollsum *rollsum, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:530,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bsdiff
    argTypes:
    - ContentBsdiff*
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: content_bsdiffs_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void content_bsdiffs_free (ContentBsdiff *bsdiff) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:151,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: mode_chunk_equals
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_variant_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mode_chunk_equals (const void *one, const void *two) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_object_stream
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:427,1
    - Dst: ostree_repo_query_object_storage_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:450,1
    - Dst: write_content_mode_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:478,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:484,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:499,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:501,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:502,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:425,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:457,1
    - Dst: splice_stream_to_payload
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:465,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:471,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:481,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:468,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:485,1
    - Dst: allocate_part
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:443,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:436,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:457,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:483,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:485,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:486,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:490,1
    - Dst: splice_stream_to_payload
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:494,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:497,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:500,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:433,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:459,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:476,1
    - Dst: _ostree_write_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:470,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:490,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 7
    argNames:
    - repo
    - builder
    - current_part_val
    - checksum
    - objtype
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeStaticDeltaBuilder*
    - OstreeStaticDeltaPartBuilder**
    - char*
    - OstreeObjectType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 506
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 506
    functionName: process_one_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - allocate_part
    - S_ISREG
    - splice_stream_to_payload
    - g_string_append_c
    - S_ISLNK
    - g_file_info_get_symlink_target
    - write_content_mode_xattrs
    - strlen
    - g_file_info_get_size
    - g_memory_input_stream_new_from_data
    - OSTREE_OBJECT_TYPE_IS_META
    - g_file_info_get_attribute_uint32
    - ostree_repo_load_object_stream
    - ostree_repo_query_object_storage_size
    - g_ptr_array_add
    - ostree_repo_load_file
    - ostree_object_name_serialize
    - g_assert
    - _ostree_write_varuint64
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean process_one_object (OstreeRepo *repo, OstreeStaticDeltaBuilder
      *builder, OstreeStaticDeltaPartBuilder **current_part_val, const char *checksum,
      OstreeObjectType objtype, GCancellable *cancellable, GError **error) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:995,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1130,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1105,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1034,1
    - Dst: ostree_repo_load_object_stream
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1116,1
    - Dst: g_hash_table_iter_remove
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1132,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:977,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1057,1
    - Dst: g_hash_table_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:972,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:909,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:921,1
    - Dst: ostree_repo_traverse_commit
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:915,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:943,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1113,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1104,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1154,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:928,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:931,1
    - Dst: process_one_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1059,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:992,1
    - Dst: allocate_part
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1045,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1131,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:959,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:986,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1125,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1155,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:957,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:989,1
    - Dst: ostree_repo_traverse_commit
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:924,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1051,1
    - Dst: process_one_bsdiff
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1093,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1145,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1040,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:950,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1091,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1080,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1065,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1066,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:932,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:938,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:957,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1112,1
    - Dst: process_one_rollsum
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1071,1
    - Dst: try_content_bsdiff
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1029,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1022,1
    - Dst: process_one_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1148,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:976,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:980,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1139,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:944,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:953,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:955,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1128,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1022,1
    - Dst: _ostree_delta_compute_similar_objects
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:965,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:929,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:941,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:944,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:955,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:976,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1084,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:978,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1138,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1050,1
    - Dst: check_object_world_readable
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1010,1
    - Dst: try_content_rollsum
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1016,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1085,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1144,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1041,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:919,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:912,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:979,1
    - Dst: process_one_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1159,1
    - Dst: ostree_repo_traverse_new_reachable
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:927,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:985,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:996,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1034,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1042,1
    - Dst: finish_part
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1164,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 150
    argCount: 7
    argNames:
    - repo
    - from
    - to
    - opts
    - builder
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - DeltaOpts
    - OstreeStaticDeltaBuilder*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1168
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 1168
    functionName: generate_delta_lowlatency
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit
    - allocate_part
    - ostree_object_name_deserialize
    - g_format_size
    - g_hash_table_insert
    - g_hash_table_iter_next
    - g_variant_ref
    - process_one_object
    - g_hash_table_add
    - OSTREE_OBJECT_TYPE_IS_META
    - g_assert_not_reached
    - check_object_world_readable
    - g_file_info_get_file_type
    - ostree_repo_traverse_new_reachable
    - ostree_repo_load_object_stream
    - process_one_rollsum
    - g_hash_table_remove
    - g_hash_table_iter_init
    - g_hash_table_new
    - ostree_repo_traverse_commit
    - ostree_repo_load_variant
    - g_hash_table_new_full
    - g_ptr_array_add
    - _ostree_delta_compute_similar_objects
    - g_printerr
    - g_hash_table_iter_remove
    - g_strdup
    - try_content_rollsum
    - ostree_repo_load_file
    - ostree_object_name_serialize
    - g_hash_table_size
    - try_content_bsdiff
    - finish_part
    - process_one_bsdiff
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean generate_delta_lowlatency (OstreeRepo *repo, const
      char *from, const char *to, DeltaOpts opts, OstreeStaticDeltaBuilder *builder,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: bufhash
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint bufhash (const void *b, gsize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - buffer
    - size
    argTypes:
    - struct bsdiff_stream*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: bzdiff_write
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_output_stream_write
    linkageType: ''
    returnType: int
    signature: 'static int bzdiff_write (struct bsdiff_stream *stream, const void
      *buffer, int size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1175,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1175,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1187,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1185,1
    - Dst: ostree_repo_load_object_stream
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1189,1
    - Dst: ostree_repo_query_object_storage_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1196,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1201,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1204,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1207,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1209,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1214,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1214,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1215,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1209,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1211,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 5
    argNames:
    - self
    - builder
    - out_headers
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeStaticDeltaBuilder*
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1217
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1217
    functionName: get_fallback_headers
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - ostree_repo_query_object_storage_size
    - ostree_repo_load_file
    - ostree_object_name_deserialize
    - OSTREE_OBJECT_TYPE_IS_META
    - g_variant_builder_new
    - ostree_checksum_to_bytes_v
    - g_variant_builder_add_value
    - maybe_swap_endian_u64
    - ot_transfer_out_value
    - g_variant_new
    - ostree_repo_load_object_stream
    - g_variant_ref_sink
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_fallback_headers (OstreeRepo *self, OstreeStaticDeltaBuilder
      *builder, GVariant **out_headers, GCancellable *cancellable, GError **error) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: ot_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1471,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1544,1
    - Dst: ot_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1571,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1589,1
    - Dst: ot_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1488,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1300,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1356,1
    - Dst: ot_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1397,1
    - Dst: g_date_time_new_now_utc
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1481,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1415,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1399,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1445,1
    - Dst: ot_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1490,1
    - Dst: ostree_sign_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1548,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1569,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1448,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1294,1
    - Dst: ot_gvariant_new_ay_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1552,1
    - Dst: ot_gvariant_new_ay_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1567,1
    - Dst: ot_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1486,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1464,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1278,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1280,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1287,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1316,1
    - Dst: ot_gvariant_new_bytearray
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1492,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1529,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1561,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1580,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1335,1
    - Dst: _ostree_get_relative_static_delta_superblock_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1355,1
    - Dst: ostree_sign_metadata_key
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1533,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1560,1
    - Dst: GUINT64_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1564,1
    - Dst: ot_variant_builder_add_from_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1436,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1345,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1347,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1373,1
    - Dst: lseek
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1431,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1484,1
    - Dst: ot_variant_builder_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1433,1
    - Dst: ot_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1493,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1506,1
    - Dst: lseek
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1524,1
    - Dst: _ostree_get_relative_static_delta_part_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1429,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1325,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1338,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1378,1
    - Dst: ot_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1417,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1536,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1551,1
    - Dst: ot_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1566,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1581,1
    - Dst: g_date_time_to_unix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1487,1
    - Dst: g_variant_iter_next_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1395,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1379,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1333,1
    - Dst: ot_variant_builder_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1382,1
    - Dst: ot_variant_builder_close
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1440,1
    - Dst: ot_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1377,1
    - Dst: basename
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1365,1
    - Dst: ot_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1498,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1590,1
    - Dst: g_date_time_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1501,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1511,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1555,1
    - Dst: ot_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1563,1
    - Dst: ot_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1577,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1433,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1347,1
    - Dst: dirname
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1346,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1359,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1362,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1422,1
    - Dst: ot_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1489,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1493,1
    - Dst: ot_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1495,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1308,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1583,1
    - Dst: glnx_fd_readall_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1525,1
    - Dst: generate_delta_lowlatency
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1370,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1382,1
    - Dst: GUINT64_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1487,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1394,1
    - Dst: ot_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1434,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1349,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1365,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1450,1
    - Dst: ot_variant_builder_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1435,1
    - Dst: ostree_sign_set_sk
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1545,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1298,1
    - Dst: g_printerr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1509,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1536,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1572,1
    - Dst: ot_variant_builder_close
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1574,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1592,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1455,1
    - Dst: _ostree_get_relative_static_delta_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1470,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1483,1
    - Dst: get_fallback_headers
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1461,1
    - Dst: g_variant_new_byte
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1418,1
    - Dst: ot_variant_builder_close
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1476,1
    - Dst: ot_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1559,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1447,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1322,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1330,1
    - Dst: ostree_sign_metadata_format
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1534,1
    - Dst: ot_gvariant_new_bytearray
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1483,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1422,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1435,1
    - Dst: ot_variant_builder_close
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1439,1
    - Dst: ot_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1491,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1436,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1291,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1328,1
    - Dst: dirname
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1357,1
    - Dst: ot_variant_builder_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c:1569,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 257
    argCount: 8
    argNames:
    - self
    - opt
    - from
    - to
    - metadata
    - params
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeStaticDeltaGenerateOpt
    - char*
    - char*
    - GVariant*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1598
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1598
    functionName: ostree_repo_static_delta_generate
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-compilation.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - lseek
    - ostree_sign_metadata_format
    - g_ptr_array_new_with_free_func
    - GUINT64_TO_BE
    - g_date_time_to_unix
    - glnx_shutil_mkdir_p_at
    - ostree_checksum_to_bytes_v
    - ot_variant_builder_new
    - ot_variant_builder_open
    - glnx_throw
    - dirname
    - _ostree_get_relative_static_delta_part_path
    - glnx_throw_errno_prefix
    - ot_variant_builder_close
    - ostree_repo_read_commit_detached_metadata
    - g_variant_new_string
    - g_assert_not_reached
    - g_variant_builder_add_value
    - g_variant_builder_add
    - ostree_sign_metadata_key
    - glnx_open_tmpfile_linkable_at
    - ot_variant_builder_end
    - ot_variant_builder_add_value
    - g_variant_lookup
    - glnx_opendirat
    - g_variant_iter_init
    - ostree_sign_set_sk
    - g_variant_unref
    - g_date_time_new_now_utc
    - _ostree_get_relative_static_delta_path
    - g_strdup_printf
    - ot_variant_builder_add
    - glnx_link_tmpfile_at
    - basename
    - ot_gvariant_new_ay_bytes
    - get_fallback_headers
    - ostree_repo_load_variant
    - g_variant_new_byte
    - ostree_sign_data
    - glnx_basename
    - ostree_sign_get_by_name
    - _ostree_get_relative_static_delta_superblock_path
    - g_variant_builder_end
    - g_strdup
    - G_VARIANT_TYPE
    - g_printerr
    - g_assert
    - g_date_time_unref
    - ot_variant_builder_add_from_fd
    - ot_gvariant_new_bytearray
    - g_variant_builder_new
    - fchmod
    - generate_delta_lowlatency
    - glnx_fd_readall_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_static_delta_generate (OstreeRepo *self, OstreeStaticDeltaGenerateOpt
      opt, const char *from, const char *to, GVariant *metadata, GVariant *params,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:231,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:231,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign.c:234,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:233,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - self
    - public_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: ostree_sign_add_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_add_pk (OstreeSign *self, GVariant *public_key,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:331,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:331,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign.c:334,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:333,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - self
    - data
    - signatures
    - out_success_message
    - error
    argTypes:
    - OstreeSign*
    - GBytes*
    - GVariant*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 338
    functionName: ostree_sign_data_verify
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_data_verify (OstreeSign *self, GBytes *data,
      GVariant *signatures, char **out_success_message, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:129,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:129,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:134,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: ostree_sign_metadata_format
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_metadata_format (OstreeSign *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:204,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign.c:207,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:206,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:204,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - self
    - public_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: ostree_sign_set_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_set_pk (OstreeSign *self, GVariant *public_key,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:106,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:106,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:108,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: ostree_sign_metadata_key
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_metadata_key (OstreeSign *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_IS_SIGN_ED25519
      Src: /src/ostree/src/libostree/ostree-sign.c:700,1
    - Dst: _ostree_blob_reader_base64_new
      Src: /src/ostree/src/libostree/ostree-sign.c:701,1
    - Dst: OSTREE_BLOB_READER
      Src: /src/ostree/src/libostree/ostree-sign.c:705,1
    - Dst: OSTREE_IS_SIGN_SPKI
      Src: /src/ostree/src/libostree/ostree-sign.c:704,1
    - Dst: OSTREE_BLOB_READER
      Src: /src/ostree/src/libostree/ostree-sign.c:701,1
    - Dst: _ostree_blob_reader_pem_new
      Src: /src/ostree/src/libostree/ostree-sign.c:705,1
    - Dst: OSTREE_IS_SIGN_DUMMY
      Src: /src/ostree/src/libostree/ostree-sign.c:707,1
    - Dst: OSTREE_BLOB_READER
      Src: /src/ostree/src/libostree/ostree-sign.c:708,1
    - Dst: _ostree_blob_reader_raw_new
      Src: /src/ostree/src/libostree/ostree-sign.c:708,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - self
    - stream
    argTypes:
    - OstreeSign*
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 710
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 710
    functionName: ostree_sign_read_sk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - OSTREE_IS_SIGN_SPKI
    - OSTREE_IS_SIGN_DUMMY
    - _ostree_blob_reader_base64_new
    - _ostree_blob_reader_raw_new
    - _ostree_blob_reader_pem_new
    - OSTREE_IS_SIGN_ED25519
    - OSTREE_BLOB_READER
    linkageType: ''
    returnType: OstreeBlobReader*
    signature: 'OstreeBlobReader *ostree_sign_read_sk (OstreeSign *self, GInputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:299,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign.c:302,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:301,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:299,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - self
    - data
    - signature
    - cancellable
    - error
    argTypes:
    - OstreeSign*
    - GBytes*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: ostree_sign_data
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_data (OstreeSign *self, GBytes *data, GBytes
      **signature, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:442,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:442,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:447,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: ostree_sign_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_get_name (OstreeSign *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-sign.c:556,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign.c:560,1
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-sign.c:561,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-sign.c:567,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sign.c:558,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - name
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 571
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 571
    functionName: ostree_sign_get_by_name
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_strcmp0
    - g_debug
    - G_N_ELEMENTS
    - g_set_error_literal
    linkageType: ''
    returnType: OstreeSign*
    signature: 'OstreeSign *ostree_sign_get_by_name (const gchar *name, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:577,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-sign.c:592,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-sign.c:594,1
    - Dst: g_variant_iter_free
      Src: /src/ostree/src/libostree/ostree-sign.c:625,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-sign.c:609,1
    - Dst: ostree_sign_data
      Src: /src/ostree/src/libostree/ostree-sign.c:617,1
    - Dst: _ostree_repo_file_replace_contents
      Src: /src/ostree/src/libostree/ostree-sign.c:628,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-sign.c:630,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-sign.c:585,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:578,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sign.c:620,1
    - Dst: g_variant_get_normal_form
      Src: /src/ostree/src/libostree/ostree-sign.c:627,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:577,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-sign.c:578,1
    - Dst: ot_fd_readall_or_mmap
      Src: /src/ostree/src/libostree/ostree-sign.c:587,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-sign.c:599,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-sign.c:603,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-sign.c:610,1
    - Dst: ostree_sign_set_sk
      Src: /src/ostree/src/libostree/ostree-sign.c:614,1
    - Dst: _sign_detached_metadata_append
      Src: /src/ostree/src/libostree/ostree-sign.c:621,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign.c:604,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-sign.c:629,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 6
    argNames:
    - self
    - repo
    - dir_fd
    - keys
    - cancellable
    - error
    argTypes:
    - OstreeSign*
    - OstreeRepo*
    - int
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 634
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 634
    functionName: _ostree_sign_summary_at
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - _sign_detached_metadata_append
    - g_steal_pointer
    - glnx_throw
    - _ostree_repo_file_replace_contents
    - ot_variant_read_fd
    - OSTREE_IS_SIGN
    - g_variant_get_normal_form
    - g_variant_get_data
    - g_variant_iter_loop
    - ostree_sign_set_sk
    - g_variant_get
    - g_variant_iter_free
    - glnx_openat_rdonly
    - ostree_sign_data
    - glnx_close_fd
    - g_variant_get_size
    - g_assert
    - g_variant_n_children
    - ot_fd_readall_or_mmap
    - ot_openat_ignore_enoent
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sign_summary_at (OstreeSign *self, OstreeRepo *repo,
      int dir_fd, GVariant *keys, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:177,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:177,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:179,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign.c:180,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - self
    - secret_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: ostree_sign_set_sk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_set_sk (OstreeSign *self, GVariant *secret_key,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:269,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:271,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:269,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign.c:272,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - self
    - options
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: ostree_sign_load_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_load_pk (OstreeSign *self, GVariant *options,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:401,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sign.c:407,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-sign.c:411,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-sign.c:405,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:401,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sign.c:413,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-sign.c:415,1
    - Dst: ostree_sign_metadata_key
      Src: /src/ostree/src/libostree/ostree-sign.c:419,1
    - Dst: ostree_sign_metadata_format
      Src: /src/ostree/src/libostree/ostree-sign.c:420,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-sign.c:423,1
    - Dst: ostree_sign_data_verify
      Src: /src/ostree/src/libostree/ostree-sign.c:425,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 6
    argNames:
    - self
    - repo
    - commit_checksum
    - out_success_message
    - cancellable
    - error
    argTypes:
    - OstreeSign*
    - OstreeRepo*
    - gchar*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 426
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 426
    functionName: ostree_sign_commit_verify
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit_detached_metadata
    - ostree_sign_metadata_format
    - g_assert
    - OSTREE_IS_SIGN
    - ostree_sign_data_verify
    - ostree_sign_metadata_key
    - g_variant_lookup_value
    - glnx_prefix_error
    - ostree_repo_load_variant
    - g_variant_get_data_as_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_commit_verify (OstreeSign *self, OstreeRepo *repo,
      const gchar *commit_checksum, char **out_success_message, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sign.c:516,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:520,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-sign.c:517,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/libostree/ostree-sign.c:519,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign.c:521,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sign.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 525
    functionName: ostree_sign_get_all
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_assert
    - g_steal_pointer
    - G_N_ELEMENTS
    - g_ptr_array_add
    - ostree_sign_get_by_name
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *ostree_sign_get_all (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:151,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:153,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign.c:154,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:151,1
    - Dst: OSTREE_SIGN_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-sign.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSign*
    - GError**
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: ostree_sign_clear_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    - OSTREE_SIGN_GET_IFACE
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_clear_keys (OstreeSign *self, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-sign.c:479,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-sign.c:483,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sign.c:481,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sign.c:485,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-sign.c:487,1
    - Dst: ostree_sign_data
      Src: /src/ostree/src/libostree/ostree-sign.c:489,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sign.c:490,1
    - Dst: _sign_detached_metadata_append
      Src: /src/ostree/src/libostree/ostree-sign.c:492,1
    - Dst: ostree_repo_write_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-sign.c:496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 5
    argNames:
    - self
    - repo
    - commit_checksum
    - cancellable
    - error
    argTypes:
    - OstreeSign*
    - OstreeRepo*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 501
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 501
    functionName: ostree_sign_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit_detached_metadata
    - _sign_detached_metadata_append
    - glnx_prefix_error
    - ostree_sign_data
    - ostree_repo_load_variant
    - ostree_repo_write_commit_detached_metadata
    - g_variant_get_data_as_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_commit (OstreeSign *self, OstreeRepo *repo, const
      gchar *commit_checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_IS_SIGN_ED25519
      Src: /src/ostree/src/libostree/ostree-sign.c:673,1
    - Dst: OSTREE_BLOB_READER
      Src: /src/ostree/src/libostree/ostree-sign.c:674,1
    - Dst: OSTREE_IS_SIGN_SPKI
      Src: /src/ostree/src/libostree/ostree-sign.c:677,1
    - Dst: _ostree_blob_reader_base64_new
      Src: /src/ostree/src/libostree/ostree-sign.c:674,1
    - Dst: OSTREE_BLOB_READER
      Src: /src/ostree/src/libostree/ostree-sign.c:678,1
    - Dst: _ostree_blob_reader_pem_new
      Src: /src/ostree/src/libostree/ostree-sign.c:678,1
    - Dst: OSTREE_IS_SIGN_DUMMY
      Src: /src/ostree/src/libostree/ostree-sign.c:680,1
    - Dst: OSTREE_BLOB_READER
      Src: /src/ostree/src/libostree/ostree-sign.c:681,1
    - Dst: _ostree_blob_reader_raw_new
      Src: /src/ostree/src/libostree/ostree-sign.c:681,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - self
    - stream
    argTypes:
    - OstreeSign*
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 683
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 683
    functionName: ostree_sign_read_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - OSTREE_IS_SIGN_SPKI
    - OSTREE_IS_SIGN_DUMMY
    - _ostree_blob_reader_base64_new
    - _ostree_blob_reader_raw_new
    - _ostree_blob_reader_pem_new
    - OSTREE_IS_SIGN_ED25519
    - OSTREE_BLOB_READER
    linkageType: ''
    returnType: OstreeBlobReader*
    signature: 'OstreeBlobReader *ostree_sign_read_pk (OstreeSign *self, GInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeSignInterface*
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: ostree_sign_default_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_debug
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sign_default_init (OstreeSignInterface *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign.c:347,1
    - Dst: glnx_null_throw
      Src: /src/ostree/src/libostree/ostree-sign.c:350,1
    - Dst: ostree_sign_metadata_key
      Src: /src/ostree/src/libostree/ostree-sign.c:358,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign.c:347,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-sign.c:356,1
    - Dst: ostree_sign_metadata_format
      Src: /src/ostree/src/libostree/ostree-sign.c:359,1
    - Dst: g_variant_dict_lookup_value
      Src: /src/ostree/src/libostree/ostree-sign.c:361,1
    - Dst: ot_util_variant_builder_from_variant
      Src: /src/ostree/src/libostree/ostree-sign.c:365,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sign.c:367,1
    - Dst: ot_gvariant_new_ay_bytes
      Src: /src/ostree/src/libostree/ostree-sign.c:367,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-sign.c:370,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-sign.c:372,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-sign.c:369,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-sign.c:372,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - self
    - existing_metadata
    - signature_bytes
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GBytes*
    - GError**
    constantsTouched: []
    func_position:
      end: 373
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 373
    functionName: _sign_detached_metadata_append
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_dict_lookup_value
    - ostree_sign_metadata_format
    - g_assert
    - ot_util_variant_builder_from_variant
    - g_variant_dict_end
    - g_variant_dict_init
    - OSTREE_IS_SIGN
    - glnx_null_throw
    - g_variant_builder_add
    - ostree_sign_metadata_key
    - ot_gvariant_new_ay_bytes
    - g_variant_ref_sink
    - g_variant_dict_insert_value
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *_sign_detached_metadata_append (OstreeSign *self,
      GVariant *existing_metadata, GBytes *signature_bytes, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sign_summary_at
      Src: /src/ostree/src/libostree/ostree-sign.c:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - self
    - repo
    - keys
    - cancellable
    - error
    argTypes:
    - OstreeSign*
    - OstreeRepo*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: ostree_sign_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-sign.c
    functionUses: []
    functionsReached:
    - _ostree_sign_summary_at
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_summary (OstreeSign *self, OstreeRepo *repo,
      GVariant *keys, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_CHECKSUM_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:73,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:81,1
    - Dst: g_value_get_pointer
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: ostree_checksum_input_stream_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-checksum-input-stream.c
    functionUses: []
    functionsReached:
    - OSTREE_CHECKSUM_INPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_pointer
    linkageType: ''
    returnType: void
    signature: 'static void ostree_checksum_input_stream_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_input_stream_get_instance_private
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeChecksumInputStream*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ostree_checksum_input_stream_init
    functionSourceFile: /src/ostree/src/libostree/ostree-checksum-input-stream.c
    functionUses: []
    functionsReached:
    - ostree_checksum_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void ostree_checksum_input_stream_init (OstreeChecksumInputStream
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:48,1
    - Dst: g_param_spec_pointer
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:63,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:49,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeChecksumInputStreamClass*
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: ostree_checksum_input_stream_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-checksum-input-stream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_pointer
    - G_INPUT_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_checksum_input_stream_class_init (OstreeChecksumInputStreamClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_CHECKSUM_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:92,1
    - Dst: g_value_set_pointer
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:97,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.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: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: ostree_checksum_input_stream_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-checksum-input-stream.c
    functionUses: []
    functionsReached:
    - OSTREE_CHECKSUM_INPUT_STREAM
    - g_value_set_pointer
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void ostree_checksum_input_stream_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:113,1
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:115,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - base
    - checksum
    argTypes:
    - GInputStream*
    - GChecksum*
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: ostree_checksum_input_stream_new
    functionSourceFile: /src/ostree/src/libostree/ostree-checksum-input-stream.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IS_INPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: OstreeChecksumInputStream*
    signature: 'OstreeChecksumInputStream *ostree_checksum_input_stream_new (GInputStream
      *base, GChecksum *checksum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:129,1
    - Dst: g_input_stream_read
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:132,1
    - Dst: g_checksum_update
      Src: /src/ostree/src/libostree/ostree-checksum-input-stream.c:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: ostree_checksum_input_stream_read
    functionSourceFile: /src/ostree/src/libostree/ostree-checksum-input-stream.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - g_input_stream_read
    - g_checksum_update
    linkageType: ''
    returnType: gssize
    signature: 'static gssize ostree_checksum_input_stream_read (GInputStream *stream,
      void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: ostree_fetcher_config_flags_get_type
    functionSourceFile: /src/ostree/src/libostree/ostree-dummy-enumtypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GType
    signature: 'GType ostree_fetcher_config_flags_get_type (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:52,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:64,1
    - Dst: g_atomic_int_set
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:60,1
    - Dst: ioctl
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:56,1
    - Dst: ioctl
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:76,1
    - Dst: g_atomic_int_set
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:80,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:84,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - fd
    - new_immutable_state
    - cancellable
    - error
    argTypes:
    - int
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 89
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 89
    functionName: _ostree_linuxfs_fd_alter_immutable_flag
    functionSourceFile: /src/ostree/src/libostree/ostree-linuxfsutil.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - ioctl
    - g_atomic_int_set
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_linuxfs_fd_alter_immutable_flag (int fd, gboolean
      new_immutable_state, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:106,1
    - Dst: ioctl
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: _ostree_linuxfs_filesystem_thaw
    functionSourceFile: /src/ostree/src/libostree/ostree-linuxfsutil.c
    functionUses: []
    functionsReached:
    - ioctl
    - TEMP_FAILURE_RETRY
    linkageType: ''
    returnType: int
    signature: 'int _ostree_linuxfs_filesystem_thaw (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:99,1
    - Dst: ioctl
      Src: /src/ostree/src/libostree/ostree-linuxfsutil.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: _ostree_linuxfs_filesystem_freeze
    functionSourceFile: /src/ostree/src/libostree/ostree-linuxfsutil.c
    functionUses: []
    functionsReached:
    - ioctl
    - TEMP_FAILURE_RETRY
    linkageType: ''
    returnType: int
    signature: 'int _ostree_linuxfs_filesystem_freeze (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DECLARE_INTERFACE
      Src: /src/ostree/src/libostree/ostree-blob-reader.h:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ()
    argTypes:
    - ostree_blob_reader_get_type
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: OSTREE_TYPE_BLOB_READER
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader.h
    functionUses: []
    functionsReached:
    - G_DECLARE_INTERFACE
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS #define OSTREE_TYPE_BLOB_READER (ostree_blob_reader_get_type
      ())_OSTREE_PUBLICG_DECLARE_INTERFACE (OstreeBlobReader, ostree_blob_reader,
      OSTREE, BLOB_READER, GObject)struct _OstreeBlobReaderInterface '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_resolve_collection_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:766,1
    - Dst: ostree_repo_resolve_rev_ext
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:773,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:781,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:784,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:782,1
    - Dst: fetch_mirrored_uri_contents_utf8_sync
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:786,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:790,1
    - Dst: g_strchomp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:791,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:794,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:796,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:797,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:800,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 6
    argNames:
    - pull_data
    - main_collection_id
    - ref
    - out_contents
    - cancellable
    - error
    argTypes:
    - OtPullData*
    - char*
    - OstreeCollectionRef*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 802
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 802
    functionName: fetch_ref_contents
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_repo_resolve_rev_ext
    - g_strcmp0
    - g_assert
    - ostree_validate_checksum_string
    - fetch_mirrored_uri_contents_utf8_sync
    - g_strchomp
    - g_build_filename
    - ot_transfer_out_value
    - glnx_prefix_error
    - ostree_repo_resolve_collection_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fetch_ref_contents (OtPullData *pull_data, const char
      *main_collection_id, const OstreeCollectionRef *ref, char **out_contents, GCancellable
      *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1839,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1840,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1845,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1845,1
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1843,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1850,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1851,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1855,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1855,1
    - Dst: start_fetch
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pull_data
    - fetch_data
    argTypes:
    - OtPullData*
    - FetchObjectData*
    constantsTouched: []
    func_position:
      end: 1862
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1862
    functionName: enqueue_one_object_request_s
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - g_strdup
    - ostree_object_name_deserialize
    - OSTREE_OBJECT_TYPE_IS_META
    - g_hash_table_insert
    - g_debug
    - g_variant_ref
    - fetcher_queue_is_full
    - start_fetch
    linkageType: ''
    returnType: void
    signature: 'static void enqueue_one_object_request_s (OtPullData *pull_data, FetchObjectData
      *fetch_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1898,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1914,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1900,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1903,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1900,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1916,1
    - Dst: _ostree_get_relative_object_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1922,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1932,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1935,1
    - Dst: _ostree_fetcher_request_to_tmpfile
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1942,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - pull_data
    - fetch
    argTypes:
    - OtPullData*
    - FetchObjectData*
    constantsTouched: []
    func_position:
      end: 1946
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1946
    functionName: start_fetch
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - ostree_object_name_deserialize
    - _ostree_loose_path
    - OSTREE_OBJECT_TYPE_IS_META
    - _ostree_fetcher_request_to_tmpfile
    - g_build_filename
    - g_debug
    - g_hash_table_lookup
    - _ostree_get_relative_object_path
    linkageType: ''
    returnType: void
    signature: 'static void start_fetch (OtPullData *pull_data, FetchObjectData *fetch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2558,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2566,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2565,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2563,1
    - Dst: validate_variant_is_csum
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2568,1
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2571,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2572,1
    - Dst: ostree_checksum_bytes_peek
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2572,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2573,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pull_data
    - deltas
    - error
    argTypes:
    - OtPullData*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2577
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2577
    functionName: collect_available_deltas_for_pull
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strdup
    - g_variant_n_children
    - g_variant_get_child_value
    - ostree_checksum_bytes_peek
    - g_hash_table_insert
    - validate_variant_is_csum
    - g_variant_get_child
    - g_malloc
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean collect_available_deltas_for_pull (OtPullData *pull_data,
      GVariant *deltas, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5044,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5053,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5045,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5046,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 5054
      start: 5039
    functionDepth: 0
    functionLinenumber: 5039
    functionLinenumberEnd: 5054
    functionName: pointer_table_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_malloc0
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: PointerTable*
    signature: 'static PointerTable *pointer_table_new (gsize width, gsize height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1871,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1874,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1873,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1877,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1880,1
    - Dst: enqueue_one_object_request_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1885,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 7
    argNames:
    - pull_data
    - checksum
    - objtype
    - path
    - is_detached_meta
    - object_is_stored
    - ref
    argTypes:
    - OtPullData*
    - char*
    - OstreeObjectType
    - char*
    - gboolean
    - gboolean
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 1886
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1886
    functionName: enqueue_one_object_request
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - ostree_object_name_serialize
    - OSTREE_OBJECT_TYPE_IS_META
    - enqueue_one_object_request_s
    - g_steal_pointer
    - ostree_collection_ref_dup
    linkageType: ''
    returnType: void
    signature: 'static void enqueue_one_object_request (OtPullData *pull_data, const
      char *checksum, OstreeObjectType objtype, const char *path, gboolean is_detached_meta,
      gboolean object_is_stored, const OstreeCollectionRef *ref) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_to_membuf_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2591,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2604,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2596,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2603,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2594,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2605,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2606,1
    - Dst: collect_available_deltas_for_pull
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2608,1
    - Dst: initiate_delta_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2612,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2617,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2624,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2626,1
    - Dst: enqueue_one_static_delta_index_request_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2624,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2628,1
    - Dst: _ostree_fetcher_should_retry_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2623,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 3
    argNames:
    - src
    - res
    - data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2629
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2629
    functionName: on_delta_index_fetched
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - _ostree_fetcher_request_to_membuf_finish
    - g_assert
    - g_clear_pointer
    - g_variant_new_from_bytes
    - g_error_matches
    - enqueue_one_static_delta_index_request_s
    - g_clear_error
    - g_steal_pointer
    - collect_available_deltas_for_pull
    - g_variant_lookup_value
    - _ostree_fetcher_should_retry_request
    - g_variant_ref_sink
    - initiate_delta_request
    - check_outstanding_requests_handle_error
    linkageType: ''
    returnType: void
    signature: 'static void on_delta_index_fetched (GObject *src, GAsyncResult *res,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5059,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5060,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - table
    - x
    - y
    argTypes:
    - PointerTable*
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 5064
      start: 5056
    functionDepth: 0
    functionLinenumber: 5056
    functionLinenumberEnd: 5064
    functionName: pointer_table_get
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gconstpointer
    signature: 'static gconstpointer pointer_table_get (const PointerTable *table,
      gsize x, gsize y) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:649,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:657,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:641,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:707,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:723,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:744,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:746,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:640,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:667,1
    - Dst: async_import_one_local_content_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:704,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:685,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:707,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:716,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:722,1
    - Dst: pull_matches_subdir
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:735,1
    - Dst: queue_scan_one_metadata_object_c
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:749,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:635,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:658,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:665,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:699,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:729,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:742,1
    - Dst: pull_matches_subdir
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:662,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:676,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:685,1
    - Dst: async_import_one_local_content_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:682,1
    - Dst: enqueue_one_object_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:717,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:732,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:733,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:738,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:740,1
    - Dst: queue_scan_one_metadata_object_c
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:747,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 56
    argCount: 6
    argNames:
    - pull_data
    - checksum
    - path
    - recursion_depth
    - cancellable
    - error
    argTypes:
    - OtPullData*
    - char*
    - char*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 754
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 754
    functionName: scan_dirtree_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_checksum_bytes_peek_validate
    - ostree_checksum_from_bytes_v
    - g_hash_table_add
    - enqueue_one_object_request
    - g_variant_n_children
    - async_import_one_local_content_object
    - g_variant_get_child_value
    - g_strconcat
    - queue_scan_one_metadata_object_c
    - g_steal_pointer
    - g_variant_get_child
    - glnx_prefix_error
    - ot_util_filename_validate
    - ostree_repo_load_variant
    - ostree_repo_has_object
    - pull_matches_subdir
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean scan_dirtree_object (OtPullData *pull_data, const
      char *checksum, const char *path, int recursion_depth, GCancellable *cancellable,
      GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:810,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:822,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:829,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:813,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:820,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:830,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:832,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:833,1
    - Dst: ot_variant_bsearch_str
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:838,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:841,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:847,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:848,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:856,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:859,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:861,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:854,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:851,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:844,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 6
    argNames:
    - pull_data
    - ref
    - out_checksum
    - out_size
    - out_collection_id
    - error
    argTypes:
    - OtPullData*
    - OstreeCollectionRef*
    - char**
    - gsize*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 863
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 863
    functionName: lookup_commit_checksum_and_collection_from_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - G_VARIANT_TYPE
    - ostree_validate_structureof_csum_v
    - g_strdup
    - ot_variant_bsearch_str
    - g_strcmp0
    - ostree_validate_collection_id
    - g_variant_get_child_value
    - g_variant_get
    - g_variant_lookup_value
    - glnx_throw
    - ostree_checksum_from_bytes_v
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean lookup_commit_checksum_and_collection_from_summary
      (OtPullData *pull_data, const OstreeCollectionRef *ref, char **out_checksum,
      gsize *out_size, char **out_collection_id, GError **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2286,1
    - Dst: commitstate_is_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2305,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2297,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2290,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2303,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2315,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2321,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2325,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2330,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2330,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2352,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2359,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2378,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2367,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 5
    argNames:
    - pull_data
    - to_revision
    - out_result
    - cancellable
    - error
    argTypes:
    - OtPullData*
    - char*
    - DeltaSearchResult*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2381
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2381
    functionName: get_best_static_delta_start_for
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - memcpy
    - GLNX_HASH_TABLE_FOREACH
    - commitstate_is_partial
    - g_assert
    - g_ptr_array_new_with_free_func
    - g_steal_pointer
    - ostree_repo_load_commit
    - ostree_repo_has_object
    - strcmp
    - ostree_commit_get_timestamp
    - _ostree_parse_delta_name
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_best_static_delta_start_for (OtPullData *pull_data,
      const char *to_revision, DeltaSearchResult *out_result, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_IS_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - finders
    argTypes:
    - OstreeRepoFinder**
    constantsTouched: []
    func_position:
      end: 5120
      start: 5105
    functionDepth: 0
    functionLinenumber: 5105
    functionLinenumberEnd: 5120
    functionName: is_valid_finder_array
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - OSTREE_IS_REPO_FINDER
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_finder_array (OstreeRepoFinder **finders) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5167,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5170,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - secs
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 5173
      start: 5164
    functionDepth: 0
    functionLinenumber: 5164
    functionLinenumberEnd: 5173
    functionName: uint64_secs_to_iso8601
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_strdup
    - g_date_time_format
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *uint64_secs_to_iso8601 (guint64 secs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:868,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:869,1
    - Dst: ostree_collection_ref_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:871,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - fetch_data
    argTypes:
    - FetchObjectData*
    constantsTouched: []
    func_position:
      end: 873
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 873
    functionName: fetch_object_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_free
    - ostree_collection_ref_free
    linkageType: ''
    returnType: void
    signature: 'static void fetch_object_data_free (FetchObjectData *fetch_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_result_compare
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 5182
      start: 5175
    functionDepth: 0
    functionLinenumber: 5175
    functionLinenumberEnd: 5182
    functionName: sort_results_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_repo_finder_result_compare
    linkageType: ''
    returnType: gint
    signature: 'static gint sort_results_cb (gconstpointer a, gconstpointer b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_collection_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5096,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - refs
    argTypes:
    - OstreeCollectionRef**
    constantsTouched: []
    func_position:
      end: 5101
      start: 5086
    functionDepth: 0
    functionLinenumber: 5086
    functionLinenumberEnd: 5101
    functionName: is_valid_collection_ref_array
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - is_valid_collection_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_collection_ref_array (const OstreeCollectionRef
      *const *refs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_mirrored_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:466,1
    - Dst: g_utf8_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:475,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:476,1
    - Dst: g_bytes_unref_to_data
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:473,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:473,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:478,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 7
    argNames:
    - fetcher
    - mirrorlist
    - filename
    - n_network_retries
    - out_contents
    - cancellable
    - error
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - guint
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 480
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 480
    functionName: fetch_mirrored_uri_contents_utf8_sync
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_bytes_unref_to_data
    - g_steal_pointer
    - ot_transfer_out_value
    - glnx_throw
    - _ostree_fetcher_mirrored_request_to_membuf
    - g_utf8_validate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fetch_mirrored_uri_contents_utf8_sync (OstreeFetcher
      *fetcher, GPtrArray *mirrorlist, const char *filename, guint n_network_retries,
      char **out_contents, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_get_relative_static_delta_index_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2635,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2636,1
    - Dst: _ostree_fetcher_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2637,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pull_data
    - fetch_data
    argTypes:
    - OtPullData*
    - FetchDeltaIndexData*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2643
    functionName: start_fetch_delta_index
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - _ostree_get_relative_static_delta_index_path
    - g_steal_pointer
    - _ostree_fetcher_request_to_membuf
    - g_debug
    linkageType: ''
    returnType: void
    signature: 'static void start_fetch_delta_index (OtPullData *pull_data, FetchDeltaIndexData
      *fetch_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:487,1
    - Dst: fetch_mirrored_uri_contents_utf8_sync
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:489,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 6
    argNames:
    - fetcher
    - uri
    - n_network_retries
    - out_contents
    - cancellable
    - error
    argTypes:
    - OstreeFetcher*
    - OstreeFetcherURI*
    - guint
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: fetch_uri_contents_utf8_sync
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - fetch_mirrored_uri_contents_utf8_sync
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fetch_uri_contents_utf8_sync (OstreeFetcher *fetcher,
      OstreeFetcherURI *uri, guint n_network_retries, char **out_contents, GCancellable
      *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:503,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:505,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:526,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:528,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - current_file
    - pull_dir
    - current_file_is_dir
    argTypes:
    - char*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 535
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 535
    functionName: matches_pull_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - strlen
    - g_str_has_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean matches_pull_dir (const char *current_file, const
      char *pull_dir, gboolean current_file_is_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_push_tail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1663,1
    - Dst: ensure_idle_queued
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pull_data
    - scan_data
    argTypes:
    - OtPullData*
    - ScanObjectQueueData*
    constantsTouched: []
    func_position:
      end: 1665
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1665
    functionName: queue_scan_one_metadata_object_s
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_queue_push_tail
    - ensure_idle_queued
    linkageType: ''
    returnType: void
    signature: 'static void queue_scan_one_metadata_object_s (OtPullData *pull_data,
      ScanObjectQueueData *scan_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2648,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2650,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2652,1
    - Dst: start_fetch_delta_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2656,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2652,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pull_data
    - fetch_data
    argTypes:
    - OtPullData*
    - FetchDeltaIndexData*
    constantsTouched: []
    func_position:
      end: 2658
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2658
    functionName: enqueue_one_static_delta_index_request_s
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_hash_table_add
    - g_debug
    - g_steal_pointer
    - fetcher_queue_is_full
    - start_fetch_delta_index
    linkageType: ''
    returnType: void
    signature: 'static void enqueue_one_static_delta_index_request_s (OtPullData *pull_data,
      FetchDeltaIndexData *fetch_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_save_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2923,1
    - Dst: _ostree_repo_save_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2927,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 10
    argNames:
    - self
    - remote
    - summary
    - summary_etag
    - summary_last_modified
    - summary_sig
    - summary_sig_etag
    - summary_sig_last_modified
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GBytes*
    - char*
    - guint64
    - GBytes*
    - char*
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2932
      start: 2916
    functionDepth: 0
    functionLinenumber: 2916
    functionLinenumberEnd: 2932
    functionName: _ostree_repo_cache_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - _ostree_repo_save_cache_summary_file
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_cache_summary (OstreeRepo *self, const
      char *remote, GBytes *summary, const char *summary_etag, guint64 summary_last_modified,
      GBytes *summary_sig, const char *summary_sig_etag, guint64 summary_sig_last_modified,
      GCancellable *cancellable, GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: queue_scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3325,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3336,1
    - Dst: initiate_delta_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3351,1
    - Dst: enqueue_one_static_delta_index_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3347,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3337,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3367,1
    - Dst: commitstate_is_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3372,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3373,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3380,1
    - Dst: queue_scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3381,1
    - Dst: enqueue_one_static_delta_superblock_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3392,1
    - Dst: enqueue_one_static_delta_superblock_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3384,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 4
    argNames:
    - pull_data
    - ref
    - to_revision
    - error
    argTypes:
    - OtPullData*
    - OstreeCollectionRef*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3396
      start: 3316
    functionDepth: 0
    functionLinenumber: 3316
    functionLinenumberEnd: 3396
    functionName: initiate_request
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - commitstate_is_partial
    - g_clear_pointer
    - enqueue_one_static_delta_index_request
    - g_strdup_printf
    - ostree_repo_load_commit
    - ostree_repo_resolve_rev
    - initiate_delta_request
    - queue_scan_one_metadata_object
    - enqueue_one_static_delta_superblock_request
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initiate_request (OtPullData *pull_data, const OstreeCollectionRef
      *ref, const char *to_revision, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2893,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2904,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2903,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2904,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2899,1
    - Dst: store_file_cache_properties
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2910,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 8
    argNames:
    - self
    - filename
    - extension
    - data
    - etag
    - last_modified
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GBytes*
    - char*
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2913
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 2913
    functionName: _ostree_repo_save_cache_summary_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - glnx_file_replace_contents_at
    - g_bytes_get_data
    - glnx_shutil_mkdir_p_at
    - glnx_strjoina
    - store_file_cache_properties
    - g_bytes_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_save_cache_summary_file (OstreeRepo *self,
      const char *filename, const char *extension, GBytes *data, const char *etag,
      guint64 last_modified, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - requested_refs
    - /* (element-type OstreeCollectionRef utf8) */
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 3411
      start: 3398
    functionDepth: 0
    functionLinenumber: 3398
    functionLinenumberEnd: 3411
    functionName: all_requested_refs_have_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH_KV
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean all_requested_refs_have_commit ( GHashTable *requested_refs
      /* (element-type OstreeCollectionRef utf8) */) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pull_data
    - commitstate
    argTypes:
    - OtPullData*
    - OstreeRepoCommitState
    constantsTouched: []
    func_position:
      end: 1303
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1303
    functionName: commitstate_is_partial
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean commitstate_is_partial (OtPullData *pull_data, OstreeRepoCommitState
      commitstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6582,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6583,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6583,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6584,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6582,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6584,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6586,1
    - Dst: g_task_propagate_boolean
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6588,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6588,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - OstreeRepo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6591
      start: 6577
    functionDepth: 0
    functionLinenumber: 6577
    functionLinenumberEnd: 6591
    functionName: ostree_repo_pull_from_remotes_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_assert
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_pull_from_remotes_finish (OstreeRepo *self, GAsyncResult
      *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fetch_mirrored_uri_contents_utf8_sync
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1956,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1962,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1960,1
    - Dst: g_key_file_load_from_data
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1963,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1963,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1964,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1966,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - pull_data
    - out_keyfile
    - cancellable
    - error
    argTypes:
    - OtPullData*
    - GKeyFile**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1968
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1968
    functionName: load_remote_repo_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - strlen
    - g_key_file_load_from_data
    - g_key_file_new
    - g_assert
    - fetch_mirrored_uri_contents_utf8_sync
    - ot_transfer_out_value
    - glnx_prefix_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean load_remote_repo_config (OtPullData *pull_data, GKeyFile
      **out_keyfile, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_write_metadata_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1017,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1020,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1023,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1023,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1022,1
    - Dst: ostree_object_to_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1025,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1026,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1028,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1030,1
    - Dst: queue_scan_one_metadata_object_c
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1036,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1040,1
    - Dst: fetch_object_data_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1042,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1045,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1046
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1046
    functionName: on_metadata_written
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_checksum_from_bytes
    - g_assert
    - ostree_object_name_deserialize
    - queue_scan_one_metadata_object_c
    - OSTREE_OBJECT_TYPE_IS_META
    - ostree_object_to_string
    - fetch_object_data_free
    - g_debug
    - ostree_repo_write_metadata_finish
    - strcmp
    - check_outstanding_requests_handle_error
    linkageType: ''
    returnType: void
    signature: 'static void on_metadata_written (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1672,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1674,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1676,1
    - Dst: queue_scan_one_metadata_object_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1680,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1678,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 6
    argNames:
    - pull_data
    - csum
    - objtype
    - path
    - recursion_depth
    - ref
    argTypes:
    - OtPullData*
    - guchar*
    - OstreeObjectType
    - char*
    - guint
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1681
    functionName: queue_scan_one_metadata_object_c
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strdup
    - g_new0
    - queue_scan_one_metadata_object_s
    - g_steal_pointer
    - ostree_collection_ref_dup
    linkageType: ''
    returnType: void
    signature: 'static void queue_scan_one_metadata_object_c (OtPullData *pull_data,
      const guchar *csum, OstreeObjectType objtype, const char *path, guint recursion_depth,
      const OstreeCollectionRef *ref) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2749,1
    - Dst: glnx_fgetxattr_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2760,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2766,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2781,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2755,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2793,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 5
    argNames:
    - self
    - filename
    - extension
    - out_etag
    - out_last_modified
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char**
    - guint64*
    constantsTouched: []
    func_position:
      end: 2798
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2798
    functionName: _ostree_repo_load_cache_summary_properties
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - glnx_fgetxattr_bytes
    - g_bytes_get_data
    - g_strndup
    - glnx_fstatat
    - glnx_openat_rdonly
    - glnx_strjoina
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_repo_load_cache_summary_properties (OstreeRepo
      *self, const char *filename, const char *extension, char **out_etag, guint64
      *out_last_modified) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pull_data
    - checksum
    argTypes:
    - OtPullData*
    - char*
    constantsTouched: []
    func_position:
      end: 1057
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1057
    functionName: is_parent_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_parent_commit (OtPullData *pull_data, const char
      *checksum) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2804,1
    - Dst: ot_fd_readall_or_mmap
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2821,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2818,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2813,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2825,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 6
    argNames:
    - self
    - filename
    - extension
    - out_data
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2827
      start: 2800
    functionDepth: 0
    functionLinenumber: 2800
    functionLinenumberEnd: 2827
    functionName: _ostree_repo_load_cache_summary_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - ot_fd_readall_or_mmap
    - glnx_strjoina
    - glnx_throw_errno_prefix
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_load_cache_summary_file (OstreeRepo *self,
      const char *filename, const char *extension, GBytes **out_data, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:608,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:608,1
    - Dst: g_task_propagate_boolean
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:609,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pull_data
    - result
    - error
    argTypes:
    - OtPullData*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 610
    functionName: async_import_one_local_content_object_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean async_import_one_local_content_object_finish (OtPullData
      *pull_data, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - PointerTable*
    constantsTouched: []
    func_position:
      end: 5034
      start: 5030
    functionDepth: 0
    functionLinenumber: 5030
    functionLinenumberEnd: 5034
    functionName: pointer_table_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void pointer_table_free (PointerTable *table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_import_one_local_content_object_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:619,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:624,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:627,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 628
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 628
    functionName: on_local_object_imported
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - async_import_one_local_content_object_finish
    - g_assert_cmpint
    - check_outstanding_requests_handle_error
    linkageType: ''
    returnType: void
    signature: 'static void on_local_object_imported (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:544,1
    - Dst: matches_pull_dir
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:549,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:548,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - pull_data
    - path
    - basename
    - basename_is_dir
    argTypes:
    - OtPullData*
    - char*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 554
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 554
    functionName: pull_matches_subdir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - matches_pull_dir
    - g_ptr_array_index
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean pull_matches_subdir (OtPullData *pull_data, const
      char *path, const char *basename, gboolean basename_is_dir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1318,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - repo
    - remote_name
    argTypes:
    - OstreeRepo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1324
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1324
    functionName: get_real_remote_repo_collection_id
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - ostree_repo_get_remote_option
    linkageType: ''
    returnType: char*
    signature: 'static char *get_real_remote_repo_collection_id (OstreeRepo *repo,
      const gchar *remote_name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6201,1
    - Dst: ostree_repo_abort_transaction
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6229,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6254,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6235,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6158,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6164,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6195,1
    - Dst: _ostree_repo_remove_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6224,1
    - Dst: copy_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6207,1
    - Dst: copy_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6210,1
    - Dst: copy_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6212,1
    - Dst: copy_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6214,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6100,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6133,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6156,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6169,1
    - Dst: g_task_return_new_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6277,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6230,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6098,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6115,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6161,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6199,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6100,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6101,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6192,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6272,1
    - Dst: GINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6236,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6102,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6208,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6210,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6212,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6215,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6259,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6241,1
    - Dst: ostree_repo_commit_transaction
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6252,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6226,1
    - Dst: g_task_return_boolean
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6283,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6197,1
    - Dst: copy_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6206,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6183,1
    - Dst: GPOINTER_TO_INT
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6262,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6126,1
    - Dst: ostree_repo_prepare_transaction
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6131,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6185,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6190,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6246,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6193,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6270,1
    - Dst: copy_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6209,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6254,1
    - Dst: GPOINTER_TO_INT
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6161,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6200,1
    - Dst: copy_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6211,1
    - Dst: copy_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6213,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6217,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6102,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6124,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6120,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6204,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6230,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6268,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6202,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6206,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6133,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6168,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6098,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6114,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6188,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6209,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6211,1
    - Dst: OSTREE_IS_ASYNC_PROGRESS
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6101,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6122,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6155,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6156,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6213,1
    - Dst: ostree_repo_pull_with_options
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6221,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6099,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6176,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6240,1
    - Dst: _ostree_repo_add_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6220,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6100,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6154,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6163,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 138
    argCount: 7
    argNames:
    - self
    - results
    - options
    - progress
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepo*
    - OstreeRepoFinderResult**
    - GVariant*
    - OstreeAsyncProgress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6284
      start: 6092
    functionDepth: 0
    functionLinenumber: 6092
    functionLinenumberEnd: 6284
    functionName: ostree_repo_pull_from_remotes_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_variant_dict_insert
    - GLNX_HASH_TABLE_FOREACH_KV
    - g_ptr_array_new_with_free_func
    - g_task_set_source_tag
    - ostree_repo_pull_with_options
    - g_clear_error
    - g_steal_pointer
    - GINT_TO_POINTER
    - g_variant_dict_init
    - g_error_matches
    - g_variant_builder_add
    - copy_option
    - ostree_repo_commit_transaction
    - G_IS_CANCELLABLE
    - OSTREE_IS_REPO
    - _ostree_repo_add_remote
    - ostree_repo_prepare_transaction
    - g_variant_dict_lookup
    - OSTREE_IS_ASYNC_PROGRESS
    - g_hash_table_replace
    - g_variant_builder_init
    - g_variant_dict_insert_value
    - GPOINTER_TO_INT
    - g_hash_table_new_full
    - g_ptr_array_add
    - _ostree_repo_remove_remote
    - g_task_return_new_error
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_string_new
    - g_variant_dict_end
    - g_string_append_printf
    - g_task_new
    - g_debug
    - ostree_repo_abort_transaction
    - g_task_return_boolean
    - g_task_return_error
    - g_hash_table_lookup
    - g_variant_is_of_type
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_pull_from_remotes_async (OstreeRepo *self, const
      OstreeRepoFinderResult *const *results, GVariant *options, OstreeAsyncProgress
      *progress, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6553,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6553,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6555,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6554,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6554,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6555,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6556,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6558,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6558,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6559,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - OstreeRepo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6561
      start: 6548
    functionDepth: 0
    functionLinenumber: 6548
    functionLinenumberEnd: 6561
    functionName: ostree_repo_find_remotes_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_assert
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeRepoFinderResult**
    signature: 'OstreeRepoFinderResult **ostree_repo_find_remotes_finish (OstreeRepo
      *self, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6569,1
    - Dst: g_task_report_new_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6571,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 7
    argNames:
    - self
    - results
    - options
    - progress
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepo*
    - OstreeRepoFinderResult**
    - GVariant*
    - OstreeAsyncProgress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6575
      start: 6563
    functionDepth: 0
    functionLinenumber: 6563
    functionLinenumberEnd: 6575
    functionName: ostree_repo_pull_from_remotes_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_task_report_new_error
    - OSTREE_IS_REPO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_pull_from_remotes_async (OstreeRepo *self, const
      OstreeRepoFinderResult *const *results, GVariant *options, OstreeAsyncProgress
      *progress, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_write_content_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:888,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:891,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:894,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:893,1
    - Dst: ostree_object_to_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:896,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:897,1
    - Dst: _ostree_compare_object_checksum
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:899,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:904,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:909,1
    - Dst: fetch_object_data_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:910,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 911
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 911
    functionName: content_fetch_on_write_complete
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_checksum_from_bytes
    - g_assert
    - _ostree_compare_object_checksum
    - ostree_object_name_deserialize
    - ostree_object_to_string
    - g_hash_table_remove
    - ostree_repo_write_content_finish
    - fetch_object_data_free
    - g_debug
    - check_outstanding_requests_handle_error
    linkageType: ''
    returnType: void
    signature: 'static void content_fetch_on_write_complete (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1560,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1567,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1572,1
    - Dst: ostree_commit_get_parent
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1604,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1608,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1627,1
    - Dst: _ostree_repo_verify_bindings
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1558,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1588,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1533,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1578,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1469,1
    - Dst: GPOINTER_TO_INT
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1471,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1488,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1500,1
    - Dst: ostree_sign_commit_verify
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1514,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1543,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1533,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1529,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1534,1
    - Dst: ostree_validate_structureof_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1547,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1593,1
    - Dst: commitstate_is_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1600,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1529,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1608,1
    - Dst: queue_scan_one_metadata_object_c
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1638,1
    - Dst: get_remote_repo_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1557,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1563,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1568,1
    - Dst: GINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1609,1
    - Dst: queue_scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1610,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1620,1
    - Dst: _ostree_compare_timestamps
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1594,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1634,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1630,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1570,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1482,1
    - Dst: ostree_repo_verify_commit_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1492,1
    - Dst: _process_gpg_verify_result
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1494,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1524,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1528,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1532,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1530,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1577,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1580,1
    - Dst: _ostree_compare_timestamps
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1581,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1590,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1628,1
    - Dst: queue_scan_one_metadata_object_c
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1642,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1548,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 108
    argCount: 6
    argNames:
    - pull_data
    - checksum
    - recursion_depth
    - ref
    - cancellable
    - error
    argTypes:
    - OtPullData*
    - char*
    - guint
    - OstreeCollectionRef*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1648
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1648
    functionName: scan_commit_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_steal_pointer
    - g_variant_get_child
    - glnx_throw
    - ostree_commit_get_timestamp
    - g_propagate_error
    - ostree_checksum_bytes_peek_validate
    - ostree_repo_verify_commit_for_remote
    - g_assert_cmpint
    - GINT_TO_POINTER
    - commitstate_is_partial
    - g_assert_not_reached
    - ostree_repo_load_commit
    - g_hash_table_lookup_extended
    - _process_gpg_verify_result
    - _ostree_compare_timestamps
    - glnx_prefix_error
    - GPOINTER_TO_INT
    - get_remote_repo_collection_id
    - _ostree_repo_verify_bindings
    - ostree_validate_structureof_commit
    - queue_scan_one_metadata_object
    - g_strdup
    - g_assert
    - ostree_commit_get_parent
    - queue_scan_one_metadata_object_c
    - ostree_sign_commit_verify
    - g_hash_table_lookup
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean scan_commit_object (OtPullData *pull_data, const char
      *checksum, guint recursion_depth, const OstreeCollectionRef *ref, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - self
    - remote_name_or_baseurl
    - options
    - progress
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GVariant*
    - OstreeAsyncProgress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6520
      start: 6511
    functionDepth: 0
    functionLinenumber: 6511
    functionLinenumberEnd: 6520
    functionName: ostree_repo_pull_with_options
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_pull_with_options (OstreeRepo *self, const char
      *remote_name_or_baseurl, GVariant *options, OstreeAsyncProgress *progress, GCancellable
      *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: enqueue_one_object_request_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:996,1
    - Dst: _ostree_validate_bareuseronly_mode_finfo
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:977,1
    - Dst: ostree_object_to_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:942,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:939,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:953,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:965,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:965,1
    - Dst: _ostree_fetcher_should_retry_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:995,1
    - Dst: ostree_content_stream_parse
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:968,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:996,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:992,1
    - Dst: _ostree_fetcher_request_to_tmpfile_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:936,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:943,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:940,1
    - Dst: _ostree_repo_commit_tmpf_final
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:954,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:962,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:971,1
    - Dst: ostree_repo_write_content_async
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:986,1
    - Dst: ostree_raw_file_to_content_stream
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:981,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:998,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1001,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 40
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1002
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 1002
    functionName: content_fetch_on_complete
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_content_stream_parse
    - g_clear_pointer
    - ostree_object_name_deserialize
    - ostree_object_to_string
    - g_steal_pointer
    - _ostree_fetcher_should_retry_request
    - _ostree_repo_commit_tmpf_final
    - g_unix_input_stream_new
    - enqueue_one_object_request_s
    - ostree_raw_file_to_content_stream
    - check_outstanding_requests_handle_error
    - _ostree_fetcher_request_to_tmpfile_finish
    - g_steal_fd
    - _ostree_validate_bareuseronly_mode_finfo
    - g_prefix_error
    - ostree_repo_write_content_async
    - g_assert
    - g_debug
    - glnx_fstat
    linkageType: ''
    returnType: void
    signature: 'static void content_fetch_on_complete (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1656,1
    - Dst: queue_scan_one_metadata_object_c
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 6
    argNames:
    - pull_data
    - csum
    - objtype
    - path
    - recursion_depth
    - ref
    argTypes:
    - OtPullData*
    - char*
    - OstreeObjectType
    - char*
    - guint
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 1658
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1658
    functionName: queue_scan_one_metadata_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_checksum_inplace_to_bytes
    - queue_scan_one_metadata_object_c
    linkageType: ''
    returnType: void
    signature: 'static void queue_scan_one_metadata_object (OtPullData *pull_data,
      const char *csum, OstreeObjectType objtype, const char *path, guint recursion_depth,
      const OstreeCollectionRef *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6528,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 7
    argNames:
    - self
    - name
    - options
    - out_summary
    - out_signatures
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GVariant*
    - GBytes**
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6532
      start: 6522
    functionDepth: 0
    functionLinenumber: 6522
    functionLinenumberEnd: 6532
    functionName: ostree_repo_remote_fetch_summary_with_options
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_fetch_summary_with_options (OstreeRepo
      *self, const char *name, GVariant *options, GBytes **out_summary, GBytes **out_signatures,
      GCancellable *cancellable, GError **error) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: is_parent_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1728,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1756,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1747,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1769,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1816,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1824,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1826,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1702,1
    - Dst: ostree_repo_mark_commit_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1711,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1699,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1726,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1785,1
    - Dst: ostree_repo_mark_commit_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1777,1
    - Dst: enqueue_one_object_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1809,1
    - Dst: scan_dirtree_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1822,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1826,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1696,1
    - Dst: _ostree_repo_import_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1716,1
    - Dst: _ostree_repo_import_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1780,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1785,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1797,1
    - Dst: enqueue_one_object_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1800,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1808,1
    - Dst: scan_commit_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1812,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1692,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1730,1
    - Dst: _ostree_repo_import_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1737,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1756,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1747,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1797,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1816,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 84
    argCount: 8
    argNames:
    - pull_data
    - checksum
    - objtype
    - path
    - recursion_depth
    - ref
    - cancellable
    - error
    argTypes:
    - OtPullData*
    - char*
    - OstreeObjectType
    - char*
    - guint
    - OstreeCollectionRef*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1831
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1831
    functionName: scan_one_metadata_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_clear_error
    - g_steal_pointer
    - g_variant_ref
    - g_propagate_error
    - is_parent_commit
    - g_hash_table_add
    - g_error_matches
    - scan_commit_object
    - enqueue_one_object_request
    - ostree_repo_has_object
    - glnx_prefix_error
    - g_strdup
    - _ostree_repo_import_object
    - ostree_object_name_serialize
    - ostree_repo_mark_commit_partial
    - g_hash_table_lookup
    - scan_dirtree_object
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean scan_one_metadata_object (OtPullData *pull_data, const
      char *checksum, OstreeObjectType objtype, const char *path, guint recursion_depth,
      const OstreeCollectionRef *ref, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_import_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:573,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:576,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:576,1
    - Dst: g_task_return_boolean
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - source
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 579
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 579
    functionName: async_import_in_thread
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - _ostree_repo_import_object
    - g_task_return_boolean
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void async_import_in_thread (GTask *task, gpointer source,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_get_remote_boolean_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2970,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2994,1
    - Dst: _ostree_fetcher_set_proxy
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3035,1
    - Dst: g_file_test
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3048,1
    - Dst: _ostree_fetcher_set_cookie_jar
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3049,1
    - Dst: _ostree_fetcher_set_extra_headers
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3053,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3062,1
    - Dst: _ostree_fetcher_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2977,1
    - Dst: _ostree_fetcher_set_force_anonymous_tmpfiles
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2979,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2988,1
    - Dst: _ostree_fetcher_set_retry_all
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3008,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3014,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3031,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3040,1
    - Dst: ostree_repo_get_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3044,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3046,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2947,1
    - Dst: _ostree_fetcher_set_tls_database
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3020,1
    - Dst: _ostree_fetcher_set_extra_user_agent
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3056,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2947,1
    - Dst: ostree_repo_get_remote_boolean_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2950,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2948,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2985,1
    - Dst: _ostree_fetcher_set_low_speed_time
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3007,1
    - Dst: _ostree_fetcher_set_max_outstanding_fetcher_requests
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3009,1
    - Dst: _ostree_fetcher_set_client_cert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3002,1
    - Dst: _ostree_fetcher_set_low_speed_limit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3006,1
    - Dst: _ostree_repo_remote_name_is_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3038,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3046,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 67
    argCount: 11
    argNames:
    - self
    - remote_name
    - gzip
    - extra_headers
    - append_user_agent
    - low_speed_limit
    - low_speed_time
    - retry_all
    - max_outstanding_fetcher_requests
    - out_state
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - GVariant*
    - char*
    - guint32
    - guint32
    - gboolean
    - guint32
    - OstreeFetcherSecurityState*
    - GError**
    constantsTouched: []
    func_position:
      end: 3067
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 3067
    functionName: _ostree_repo_remote_new_fetcher
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_set_retry_all
    - _ostree_fetcher_set_max_outstanding_fetcher_requests
    - ostree_repo_get_remote_option
    - gs_file_get_path_cached
    - g_return_val_if_fail
    - ostree_repo_get_remote_boolean_option
    - _ostree_fetcher_set_force_anonymous_tmpfiles
    - _ostree_fetcher_set_proxy
    - ostree_repo_get_path
    - _ostree_fetcher_new
    - _ostree_fetcher_set_extra_user_agent
    - _ostree_fetcher_set_low_speed_limit
    - g_build_filename
    - g_strdup_printf
    - _ostree_fetcher_set_cookie_jar
    - _ostree_fetcher_set_low_speed_time
    - g_set_error
    - _ostree_fetcher_set_extra_headers
    - _ostree_fetcher_set_client_cert
    - g_clear_object
    - g_file_test
    - _ostree_repo_remote_name_is_file
    - OSTREE_IS_REPO
    - _ostree_fetcher_set_tls_database
    linkageType: ''
    returnType: OstreeFetcher*
    signature: 'static OstreeFetcher *_ostree_repo_remote_new_fetcher (OstreeRepo
      *self, const char *remote_name, gboolean gzip, GVariant *extra_headers, const
      char *append_user_agent, guint32 low_speed_limit, guint32 low_speed_time, gboolean
      retry_all, guint32 max_outstanding_fetcher_requests, OstreeFetcherSecurityState
      *out_state, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2665,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2669,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2667,1
    - Dst: enqueue_one_static_delta_index_request_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2672,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2668,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pull_data
    - to_revision
    - from_revision
    - ref
    argTypes:
    - OtPullData*
    - char*
    - char*
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 2673
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 2673
    functionName: enqueue_one_static_delta_index_request
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - enqueue_one_static_delta_index_request_s
    - g_steal_pointer
    - ostree_collection_ref_dup
    linkageType: ''
    returnType: void
    signature: 'static void enqueue_one_static_delta_index_request (OtPullData *pull_data,
      const char *to_revision, const char *from_revision, const OstreeCollectionRef
      *ref) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_load_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2840,1
    - Dst: unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2857,1
    - Dst: _ostree_repo_load_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2848,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2856,1
    - Dst: g_bytes_compare
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2844,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2860,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 6
    argNames:
    - self
    - remote
    - summary_sig
    - out_summary
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GBytes*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2864
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2864
    functionName: _ostree_repo_load_cache_summary_if_same_sig
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - _ostree_repo_load_cache_summary_file
    - g_bytes_compare
    - g_steal_pointer
    - glnx_strjoina
    - unlinkat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_load_cache_summary_if_same_sig (OstreeRepo
      *self, const char *remote, GBytes *summary_sig, GBytes **out_summary, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5069,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5070,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - table
    - x
    - y
    - value
    argTypes:
    - PointerTable*
    - gsize
    - gsize
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 5074
      start: 5066
    functionDepth: 0
    functionLinenumber: 5066
    functionLinenumberEnd: 5074
    functionName: pointer_table_set
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void pointer_table_set (PointerTable *table, gsize x, gsize
      y, gconstpointer value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6010,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6010,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6012,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6011,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6011,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6012,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6013,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6015,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6015,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6019,1
    - Dst: g_ptr_array_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6020,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6020,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - OstreeRepo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6024
      start: 6005
    functionDepth: 0
    functionLinenumber: 6005
    functionLinenumberEnd: 6024
    functionName: ostree_repo_find_remotes_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_ptr_array_free
    - g_task_propagate_pointer
    - g_steal_pointer
    - g_async_result_is_tagged
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    - g_ptr_array_add
    linkageType: ''
    returnType: OstreeRepoFinderResult**
    signature: 'OstreeRepoFinderResult **ostree_repo_find_remotes_finish (OstreeRepo
      *self, GAsyncResult *result, GError **error) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6369,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6379,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6381,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6382,1
    - Dst: _ostree_repo_remote_new_fetcher
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6397,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6384,1
    - Dst: compute_effective_mirrorlist
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6412,1
    - Dst: _ostree_repo_load_cache_summary_properties
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6421,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6438,1
    - Dst: _ostree_repo_load_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6445,1
    - Dst: _ostree_repo_cache_summary
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6486,1
    - Dst: _ostree_repo_load_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6472,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6372,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6377,1
    - Dst: OSTREE_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6369,1
    - Dst: _signapi_init_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6391,1
    - Dst: ostree_repo_remote_get_gpg_verify_summary
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6388,1
    - Dst: _ostree_fetcher_uri_parse
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6405,1
    - Dst: _ostree_preload_metadata_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6426,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6471,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6494,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6501,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6494,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6504,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6370,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6378,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6380,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6410,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6383,1
    - Dst: _ostree_repo_load_cache_summary_properties
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6423,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6439,1
    - Dst: _ostree_repo_load_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6440,1
    - Dst: _ostree_repo_load_cache_summary_if_same_sig
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6451,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6491,1
    - Dst: _ostree_main_context_new_default
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6394,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6409,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6410,1
    - Dst: _ostree_preload_metadata_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6460,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6490,1
    - Dst: _ostree_repo_verify_summary
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6478,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 80
    argCount: 7
    argNames:
    - self
    - name
    - options
    - out_summary
    - out_signatures
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GVariant*
    - GBytes**
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6507
      start: 6335
    functionDepth: 0
    functionLinenumber: 6335
    functionLinenumberEnd: 6507
    functionName: ostree_repo_remote_fetch_summary_with_options
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - _ostree_preload_metadata_file
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - OSTREE_REPO
    - g_steal_pointer
    - ostree_repo_get_remote_option
    - _ostree_fetcher_uri_parse
    - _ostree_main_context_new_default
    - g_propagate_error
    - g_return_val_if_fail
    - ostree_repo_remote_get_gpg_verify_summary
    - _ostree_repo_cache_summary
    - _ostree_repo_remote_new_fetcher
    - g_error_matches
    - _signapi_init_for_remote
    - g_variant_lookup
    - _ostree_repo_load_cache_summary_if_same_sig
    - _ostree_repo_load_cache_summary_file
    - _ostree_repo_verify_summary
    - g_ptr_array_add
    - _ostree_repo_load_cache_summary_properties
    - g_debug
    - compute_effective_mirrorlist
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_fetch_summary_with_options (OstreeRepo
      *self, const char *name, GVariant *options, GBytes **out_summary, GBytes **out_signatures,
      GCancellable *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2684,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2692,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2713,1
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2704,1
    - Dst: ostree_repo_verify_summary
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2703,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2721,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2733,1
    - Dst: _sign_verify_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2735,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 8
    argNames:
    - self
    - name
    - gpg_verify_summary
    - signapi_summary_verifiers
    - summary
    - signatures
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - GPtrArray*
    - GBytes*
    - GBytes*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2742
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2742
    functionName: _ostree_repo_verify_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_gpg_verify_result_require_valid_signature
    - g_variant_new_from_bytes
    - ostree_repo_verify_summary
    - _sign_verify_for_remote
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_verify_summary (OstreeRepo *self, const
      char *name, gboolean gpg_verify_summary, GPtrArray *signapi_summary_verifiers,
      GBytes *summary, GBytes *signatures, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2876,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2880,1
    - Dst: fsetxattr
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2880,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2882,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2880,1
    - Dst: fremovexattr
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2882,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2885,1
    - Dst: futimens
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - dir_fd
    - filename
    - etag
    - last_modified
    argTypes:
    - int
    - char*
    - char*
    - guint64
    constantsTouched: []
    func_position:
      end: 2886
      start: 2866
    functionDepth: 0
    functionLinenumber: 2866
    functionLinenumberEnd: 2886
    functionName: store_file_cache_properties
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - strlen
    - futimens
    - fsetxattr
    - TEMP_FAILURE_RETRY
    - fremovexattr
    - glnx_openat_rdonly
    linkageType: ''
    returnType: void
    signature: 'static void store_file_cache_properties (int dir_fd, const char *filename,
      const char *etag, guint64 last_modified) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_metalink_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3084,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3091,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3096,1
    - Dst: _ostree_metalink_request_sync
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3087,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3089,1
    - Dst: _ostree_fetcher_mirrored_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3104,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 13
    argCount: 14
    argNames:
    - self
    - fetcher
    - mirrorlist
    - filename
    - is_metalink
    - if_none_match
    - if_modified_since
    - n_network_retries
    - out_bytes
    - out_not_modified
    - out_etag
    - out_last_modified
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - gboolean
    - char*
    - guint64
    - guint
    - GBytes**
    - gboolean*
    - char**
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3109
      start: 3069
    functionDepth: 0
    functionLinenumber: 3069
    functionLinenumberEnd: 3109
    functionName: _ostree_preload_metadata_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - _ostree_metalink_request_sync
    - g_error_matches
    - g_clear_error
    - _ostree_metalink_new
    - _ostree_fetcher_mirrored_request_to_membuf
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_preload_metadata_file (OstreeRepo *self, OstreeFetcher
      *fetcher, GPtrArray *mirrorlist, const char *filename, gboolean is_metalink,
      const char *if_none_match, guint64 if_modified_since, guint n_network_retries,
      GBytes **out_bytes, gboolean *out_not_modified, char **out_etag, guint64 *out_last_modified,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_dict_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6030,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - master_options
    - slave_options
    - key
    - expected_type
    argTypes:
    - GVariantDict*
    - GVariantDict*
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 6033
      start: 6026
    functionDepth: 0
    functionLinenumber: 6026
    functionLinenumberEnd: 6033
    functionName: copy_option
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_variant_dict_insert_value
    - g_variant_dict_lookup_value
    linkageType: ''
    returnType: void
    signature: 'static void copy_option (GVariantDict *master_options, GVariantDict
      *slave_options, const gchar *key, const GVariantType *expected_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1979,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1987,1
    - Dst: ostree_validate_structureof_objtype
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1982,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1984,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1988,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1995,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1998,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2010,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2011,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2012,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2015,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2022,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2018,1
    - Dst: enqueue_one_object_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2023,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2022,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 5
    argNames:
    - pull_data
    - delta_byteswap
    - fallback_object
    - cancellable
    - error
    argTypes:
    - OtPullData*
    - gboolean
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2031
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 2031
    functionName: process_one_static_delta_fallback
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - ostree_validate_structureof_objtype
    - ostree_validate_structureof_csum_v
    - g_strdup
    - g_hash_table_add
    - enqueue_one_object_request
    - OSTREE_OBJECT_TYPE_IS_META
    - g_variant_get
    - maybe_swap_endian_u64
    - ostree_repo_has_object
    - glnx_throw
    - ostree_checksum_from_bytes_v
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean process_one_static_delta_fallback (OtPullData *pull_data,
      gboolean delta_byteswap, GVariant *fallback_object, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2386,1
    - Dst: ostree_collection_ref_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2389,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2387,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - fetch_data
    argTypes:
    - FetchDeltaSuperData*
    constantsTouched: []
    func_position:
      end: 2391
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2391
    functionName: fetch_delta_super_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_free
    - ostree_collection_ref_free
    linkageType: ''
    returnType: void
    signature: 'static void fetch_delta_super_data_free (FetchDeltaSuperData *fetch_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5409,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5419,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5422,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5427,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5438,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5461,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5472,1
    - Dst: pointer_table_set
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5486,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5490,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5392,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5407,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5406,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5411,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5434,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5447,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5460,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5454,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5417,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5441,1
    - Dst: g_array_append_val
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5488,1
    - Dst: collection_refv_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5430,1
    - Dst: commit_metadata_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5458,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5443,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5480,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 8
    argNames:
    - self
    - refs
    - result
    - result_index
    - summary_collection_id
    - summary_refs
    - commit_metadatas
    - refs_and_remotes_table
    argTypes:
    - OstreeRepo*
    - OstreeCollectionRef**
    - OstreeRepoFinderResult*
    - gsize
    - gchar*
    - GVariant*
    - GHashTable*
    - PointerTable*
    constantsTouched: []
    func_position:
      end: 5495
      start: 5384
    functionDepth: 0
    functionLinenumber: 5384
    functionLinenumberEnd: 5495
    functionName: find_remotes_process_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - GUINT64_FROM_BE
    - ostree_validate_rev
    - g_variant_n_children
    - g_date_time_new_from_unix_utc
    - g_variant_get_child_value
    - ostree_commit_get_timestamp
    - g_hash_table_insert
    - pointer_table_set
    - g_array_append_val
    - g_debug
    - ostree_repo_load_commit
    - g_variant_get_child
    - ostree_checksum_inplace_from_bytes
    - collection_refv_contains
    - ostree_checksum_bytes_peek_validate
    - g_hash_table_lookup
    - commit_metadata_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean find_remotes_process_refs (OstreeRepo *self, const
      OstreeCollectionRef *const *refs, OstreeRepoFinderResult *result, gsize result_index,
      const gchar *summary_collection_id, GVariant *summary_refs, GHashTable *commit_metadatas,
      PointerTable *refs_and_remotes_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2036,1
    - Dst: start_fetch_deltapart
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2045,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2038,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pull_data
    - fetch_data
    argTypes:
    - OtPullData*
    - FetchStaticDeltaData*
    constantsTouched: []
    func_position:
      end: 2047
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2047
    functionName: enqueue_one_static_delta_part_request_s
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_debug
    - fetcher_queue_is_full
    - g_hash_table_add
    - start_fetch_deltapart
    linkageType: ''
    returnType: void
    signature: 'static void enqueue_one_static_delta_part_request_s (OtPullData *pull_data,
      FetchStaticDeltaData *fetch_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2396,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2400,1
    - Dst: ostree_collection_ref_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2399,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - fetch_data
    argTypes:
    - FetchDeltaIndexData*
    constantsTouched: []
    func_position:
      end: 2401
      start: 2393
    functionDepth: 0
    functionLinenumber: 2393
    functionLinenumberEnd: 2401
    functionName: fetch_delta_index_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_free
    - ostree_collection_ref_free
    linkageType: ''
    returnType: void
    signature: 'static void fetch_delta_index_data_free (FetchDeltaIndexData *fetch_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5136,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5137,1
    - Dst: ostree_collection_ref_freev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5139,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5138,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - FindRemotesData*
    constantsTouched: []
    func_position:
      end: 5142
      start: 5133
    functionDepth: 0
    functionLinenumber: 5133
    functionLinenumberEnd: 5142
    functionName: find_remotes_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - g_free
    - ostree_collection_ref_freev
    linkageType: ''
    returnType: void
    signature: 'static void find_remotes_data_free (FindRemotesData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5153,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5155,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5158,1
    - Dst: ostree_collection_ref_dupv
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5154,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5156,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - refs
    - options
    - progress
    - default_finder_avahi
    - n_network_retries
    argTypes:
    - OstreeCollectionRef**
    - GVariant*
    - OstreeAsyncProgress*
    - OstreeRepoFinder*
    - guint
    constantsTouched: []
    func_position:
      end: 5162
      start: 5146
    functionDepth: 0
    functionLinenumber: 5146
    functionLinenumberEnd: 5162
    functionName: find_remotes_data_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_new0
    - g_steal_pointer
    - g_variant_ref
    - ostree_collection_ref_dupv
    linkageType: ''
    returnType: FindRemotesData*
    signature: 'static FindRemotesData *find_remotes_data_new (const OstreeCollectionRef
      *const *refs, GVariant *options, OstreeAsyncProgress *progress, OstreeRepoFinder
      *default_finder_avahi, guint n_network_retries) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_resolve_all_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5532,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5550,1
    - Dst: find_remotes_process_refs
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5635,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5749,1
    - Dst: ostree_repo_remote_get_url
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5731,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5630,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5743,1
    - Dst: _ostree_fetcher_mirrored_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5751,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5952,1
    - Dst: ostree_repo_finder_result_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5954,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5601,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5648,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5820,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5676,1
    - Dst: find_remotes_process_refs
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5659,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5885,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5915,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5920,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5946,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5960,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5793,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5542,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5569,1
    - Dst: _ostree_repo_add_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5590,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5791,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5792,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5903,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5961,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5988,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5706,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5578,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5593,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5613,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5621,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5643,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5946,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5571,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5770,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5718,1
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5768,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5607,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5638,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5831,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5764,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5916,1
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5918,1
    - Dst: GUINT64_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5943,1
    - Dst: GLNX_HASH_TABLE_FOREACH_V
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5690,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5672,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5819,1
    - Dst: ostree_repo_verify_commit_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5760,1
    - Dst: pointer_table_get
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5933,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5961,1
    - Dst: pointer_table_get
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5724,1
    - Dst: g_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5713,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5622,1
    - Dst: uint64_secs_to_iso8601
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5868,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5889,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5938,1
    - Dst: _ostree_repo_remove_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5973,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5976,1
    - Dst: OSTREE_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5524,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5526,1
    - Dst: g_task_get_cancellable
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5525,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5536,1
    - Dst: _ostree_fetcher_uri_parse
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5734,1
    - Dst: ostree_remote_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5591,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5607,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5615,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5628,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5662,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5876,1
    - Dst: _ostree_repo_remove_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5985,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5784,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5542,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5682,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5938,1
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5941,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5954,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5972,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5976,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5790,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5638,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5681,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5846,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5591,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5564,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5939,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5965,1
    - Dst: g_task_get_source_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5524,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5536,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5554,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5749,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5633,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5748,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5984,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5523,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5615,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5847,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5907,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5915,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5920,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5961,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5988,1
    - Dst: pointer_table_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5570,1
    - Dst: check_remote_matches_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5655,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5662,1
    - Dst: _ostree_repo_remote_new_fetcher
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5738,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5954,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5959,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5704,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5797,1
    - Dst: ostree_repo_remote_fetch_summary_with_options
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5597,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5605,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5608,1
    - Dst: pointer_table_get
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5841,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5869,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 261
    argCount: 3
    argNames:
    - obj
    - async_result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5989
      start: 5497
    functionDepth: 0
    functionLinenumber: 5497
    functionLinenumberEnd: 5989
    functionName: find_remotes_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_repo_remote_get_url
    - g_task_get_source_object
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - OSTREE_REPO
    - GUINT64_TO_BE
    - ostree_repo_finder_resolve_all_finish
    - g_variant_get_child_value
    - g_hash_table_insert
    - g_ptr_array_sort
    - g_clear_error
    - g_steal_pointer
    - g_variant_get_child
    - _ostree_fetcher_uri_parse
    - g_task_get_cancellable
    - ostree_collection_ref_dup
    - ostree_repo_verify_commit_for_remote
    - pointer_table_new
    - ostree_repo_finder_result_free
    - _ostree_repo_remote_new_fetcher
    - g_error_matches
    - g_array_index
    - pointer_table_get
    - _ostree_repo_add_remote
    - uint64_secs_to_iso8601
    - ostree_remote_ref
    - find_remotes_process_refs
    - g_variant_lookup
    - g_ptr_array_set_free_func
    - g_variant_iter_loop
    - GLNX_HASH_TABLE_FOREACH_V
    - G_TASK
    - g_date_time_new_from_unix_utc
    - ostree_repo_remote_fetch_summary_with_options
    - g_ptr_array_index
    - g_build_filename
    - g_task_return_pointer
    - g_prefix_error
    - g_variant_ref_sink
    - g_hash_table_new_full
    - GUINT64_FROM_BE
    - g_ptr_array_add
    - g_strv_length
    - _ostree_fetcher_mirrored_request_to_membuf
    - g_malloc
    - _ostree_repo_remove_remote
    - g_set_error
    - g_strdup
    - ostree_gpg_verify_result_require_valid_signature
    - g_new0
    - check_remote_matches_collection_id
    - g_assert
    - g_variant_new_from_bytes
    - _ostree_loose_path
    - g_debug
    - g_task_return_error
    - g_hash_table_lookup
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void find_remotes_cb (GObject *obj, GAsyncResult *async_result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6301,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6302,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6301,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6302,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6303,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6303,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6305,1
    - Dst: g_task_propagate_boolean
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6307,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - OstreeRepo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6308
      start: 6298
    functionDepth: 0
    functionLinenumber: 6298
    functionLinenumberEnd: 6308
    functionName: ostree_repo_pull_from_remotes_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_pull_from_remotes_finish (OstreeRepo *self, GAsyncResult
      *result, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3145,1
    - Dst: _ostree_fetcher_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3149,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3150,1
    - Dst: _ostree_fetcher_uri_new_subpath
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3168,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3172,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3175,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3156,1
    - Dst: fetch_uri_contents_utf8_sync
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3170,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3177,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3189,1
    - Dst: fetch_uri_contents_utf8_sync
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3123,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3125,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3130,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3187,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3116,1
    - Dst: _ostree_fetcher_uri_parse
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3142,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3150,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3172,1
    - Dst: _ostree_fetcher_uri_parse
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3118,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3131,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3182,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3182,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 43
    argCount: 6
    argNames:
    - fetcher
    - mirrorlist_url
    - n_network_retries
    - out_mirrorlist
    - cancellable
    - error
    argTypes:
    - OstreeFetcher*
    - char*
    - guint
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3191
      start: 3111
    functionDepth: 0
    functionLinenumber: 3111
    functionLinenumberEnd: 3191
    functionName: fetch_mirrorlist
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - _ostree_fetcher_uri_new_subpath
    - _ostree_fetcher_uri_get_scheme
    - g_ptr_array_new_with_free_func
    - g_clear_error
    - g_strsplit
    - g_debug
    - g_steal_pointer
    - glnx_prefix_error
    - glnx_throw
    - _ostree_fetcher_uri_parse
    - g_ptr_array_add
    - fetch_uri_contents_utf8_sync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fetch_mirrorlist (OstreeFetcher *fetcher, const char
      *mirrorlist_url, guint n_network_retries, GPtrArray **out_mirrorlist, GCancellable
      *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5270,1
    - Dst: is_valid_finder_array
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5271,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5272,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5273,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5281,1
    - Dst: g_strv_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5298,1
    - Dst: ostree_repo_finder_config_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5300,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5304,1
    - Dst: g_strv_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5307,1
    - Dst: ostree_repo_finder_avahi_start
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5322,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5352,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5268,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5300,1
    - Dst: g_strv_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5302,1
    - Dst: ostree_repo_finder_mount_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5304,1
    - Dst: ostree_repo_finder_avahi_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5311,1
    - Dst: find_remotes_data_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5351,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5352,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5268,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5271,1
    - Dst: OSTREE_IS_ASYNC_PROGRESS
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5272,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5273,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5279,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5285,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5279,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5277,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5278,1
    - Dst: g_main_context_get_thread_default
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5294,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5316,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5336,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5269,1
    - Dst: is_valid_collection_ref_array
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5269,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5270,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5286,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5311,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5335,1
    - Dst: g_warning
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5339,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5342,1
    - Dst: ostree_repo_finder_resolve_all_async
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5355,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5356,1
    - Dst: OSTREE_REPO_FINDER_AVAHI
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5322,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 8
    argNames:
    - self
    - refs
    - options
    - finders
    - progress
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepo*
    - OstreeCollectionRef**
    - GVariant*
    - OstreeRepoFinder**
    - OstreeAsyncProgress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 5357
      start: 5251
    functionDepth: 0
    functionLinenumber: 5251
    functionLinenumberEnd: 5357
    functionName: ostree_repo_find_remotes_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - is_valid_finder_array
    - g_task_set_source_tag
    - g_steal_pointer
    - ostree_repo_finder_resolve_all_async
    - ostree_repo_finder_avahi_start
    - g_strv_contains
    - g_main_context_get_thread_default
    - ostree_repo_finder_config_new
    - find_remotes_data_new
    - OSTREE_REPO_FINDER_AVAHI
    - g_error_matches
    - G_IS_CANCELLABLE
    - g_variant_lookup
    - is_valid_collection_ref_array
    - OSTREE_REPO_FINDER
    - OSTREE_IS_ASYNC_PROGRESS
    - ostree_repo_finder_avahi_new
    - g_warning
    - g_strv_length
    - ostree_repo_finder_mount_new
    - g_task_set_task_data
    - g_assert
    - g_clear_object
    - g_task_new
    - g_debug
    - OSTREE_IS_REPO
    - g_variant_is_of_type
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_find_remotes_async (OstreeRepo *self, const OstreeCollectionRef
      *const *refs, GVariant *options, OstreeRepoFinder **finders, OstreeAsyncProgress
      *progress, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3202,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3206,1
    - Dst: fetch_mirrorlist
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3208,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3208,1
    - Dst: ostree_repo_remote_get_url
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3203,1
    - Dst: _ostree_fetcher_uri_parse
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3214,1
    - Dst: _ostree_fetcher_uri_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3219,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3222,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3223,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3223,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 8
    argNames:
    - self
    - remote_name_or_baseurl
    - url_override
    - fetcher
    - n_network_retries
    - out_mirrorlist
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - OstreeFetcher*
    - guint
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3226
      start: 3193
    functionDepth: 0
    functionLinenumber: 3193
    functionLinenumberEnd: 3226
    functionName: compute_effective_mirrorlist
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_repo_remote_get_url
    - g_strdup
    - strlen
    - g_ptr_array_new_with_free_func
    - g_steal_pointer
    - g_str_has_prefix
    - _ostree_fetcher_uri_parse
    - _ostree_fetcher_uri_validate
    - g_ptr_array_add
    - fetch_mirrorlist
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean compute_effective_mirrorlist (OstreeRepo *self, const
      char *remote_name_or_baseurl, const char *url_override, OstreeFetcher *fetcher,
      guint n_network_retries, GPtrArray **out_mirrorlist, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6540,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6540,1
    - Dst: g_task_report_new_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:6542,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 8
    argNames:
    - self
    - refs
    - options
    - finders
    - progress
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepo*
    - OstreeCollectionRef**
    - GVariant*
    - OstreeRepoFinder**
    - OstreeAsyncProgress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6546
      start: 6534
    functionDepth: 0
    functionLinenumber: 6534
    functionLinenumberEnd: 6546
    functionName: ostree_repo_find_remotes_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_task_report_new_error
    - OSTREE_IS_REPO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_find_remotes_async (OstreeRepo *self, const OstreeCollectionRef
      *const *refs, GVariant *options, OstreeRepoFinder **finders, OstreeAsyncProgress
      *progress, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_is_empty
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:240,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:244,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - pull_data
    argTypes:
    - OtPullData*
    constantsTouched: []
    func_position:
      end: 253
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 253
    functionName: pull_termination_condition
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_debug
    - g_queue_is_empty
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean pull_termination_condition (OtPullData *pull_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3234,1
    - Dst: _ostree_repo_remote_new_fetcher
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pull_data
    - remote_name
    - error
    argTypes:
    - OtPullData*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3243
      start: 3231
    functionDepth: 0
    functionLinenumber: 3231
    functionLinenumberEnd: 3243
    functionName: reinitialize_fetcher
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - _ostree_repo_remote_new_fetcher
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean reinitialize_fetcher (OtPullData *pull_data, const
      char *remote_name, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_bytes_transferred
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:191,1
    - Dst: g_queue_is_empty
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:200,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:216,1
    - Dst: ostree_async_progress_set
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 228
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 228
    functionName: update_progress
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_async_progress_set
    - g_hash_table_size
    - g_queue_is_empty
    - _ostree_fetcher_bytes_transferred
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean update_progress (gpointer user_data) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1077,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1084,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1090,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1094,1
    - Dst: enqueue_one_object_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1097,1
    - Dst: queue_scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1100,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1140,1
    - Dst: is_parent_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1110,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1133,1
    - Dst: ostree_repo_write_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1136,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1207,1
    - Dst: ostree_object_to_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1078,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1112,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1133,1
    - Dst: ostree_metadata_variant_type
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1152,1
    - Dst: ostree_repo_write_metadata_async
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1193,1
    - Dst: enqueue_one_object_request_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1207,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1212,1
    - Dst: ostree_repo_mark_commit_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1183,1
    - Dst: _ostree_fetcher_request_to_tmpfile_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1082,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1079,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1094,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1141,1
    - Dst: enqueue_one_object_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1144,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1152,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1178,1
    - Dst: _verify_unwritten_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1179,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1200,1
    - Dst: _ostree_fetcher_should_retry_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1206,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1140,1
    - Dst: enqueue_one_object_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1117,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1209,1
    - Dst: queue_scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1147,1
    - Dst: _ostree_verify_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1161,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 65
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1213
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1213
    functionName: meta_fetch_on_complete
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - ostree_object_name_deserialize
    - ostree_object_to_string
    - g_hash_table_insert
    - g_clear_error
    - g_steal_pointer
    - ostree_repo_write_commit_detached_metadata
    - _ostree_fetcher_should_retry_request
    - is_parent_commit
    - ot_variant_read_fd
    - ostree_repo_write_metadata_async
    - g_error_matches
    - enqueue_one_object_request_s
    - _ostree_verify_metadata_object
    - check_outstanding_requests_handle_error
    - _ostree_fetcher_request_to_tmpfile_finish
    - enqueue_one_object_request
    - queue_scan_one_metadata_object
    - _verify_unwritten_commit
    - g_strdup
    - G_VARIANT_TYPE
    - g_assert
    - ostree_repo_mark_commit_partial
    - g_debug
    - ostree_metadata_variant_type
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void meta_fetch_on_complete (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_best_static_delta_start_for
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3252,1
    - Dst: enqueue_one_static_delta_superblock_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3271,1
    - Dst: queue_scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3266,1
    - Dst: set_required_deltas_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3262,1
    - Dst: queue_scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3281,1
    - Dst: enqueue_one_static_delta_superblock_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3284,1
    - Dst: queue_scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3297,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 5
    argNames:
    - pull_data
    - ref
    - to_revision
    - delta_from_revision
    - error
    argTypes:
    - OtPullData*
    - OstreeCollectionRef*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3303
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3303
    functionName: initiate_delta_request
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - set_required_deltas_error
    - queue_scan_one_metadata_object
    - enqueue_one_static_delta_superblock_request
    - get_best_static_delta_start_for
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initiate_delta_request (OtPullData *pull_data, const
      OstreeCollectionRef *ref, const char *to_revision, const char *delta_from_revision,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1219,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1221,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1222,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1220,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1224
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1224
    functionName: fetch_static_delta_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void fetch_static_delta_data_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:593,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:598,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:597,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:599,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:596,1
    - Dst: g_task_run_in_thread
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - pull_data
    - src_repo
    - checksum
    - cancellable
    - callback
    - user_data
    argTypes:
    - OtPullData*
    - OstreeRepo*
    - char*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 602
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 602
    functionName: async_import_one_local_content_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void async_import_one_local_content_object (OtPullData *pull_data,
      OstreeRepo *src_repo, const char *checksum, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5080,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ref
    argTypes:
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 5082
      start: 5077
    functionDepth: 0
    functionLinenumber: 5077
    functionLinenumberEnd: 5082
    functionName: is_valid_collection_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_validate_rev
    - ostree_validate_collection_id
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_collection_ref (const OstreeCollectionRef
      *ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_get_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1339,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1342,1
    - Dst: get_real_remote_repo_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - pull_data
    argTypes:
    - OtPullData*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1346
    functionName: get_remote_repo_collection_id
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_strdup
    - get_real_remote_repo_collection_id
    - ostree_repo_get_collection_id
    linkageType: ''
    returnType: char*
    signature: 'static char *get_remote_repo_collection_id (OtPullData *pull_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_pop_head
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:413,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:427,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:421,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:416,1
    - Dst: scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:422,1
    - Dst: scan_object_queue_data_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 431
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 431
    functionName: idle_worker
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - scan_one_metadata_object
    - g_queue_pop_head
    - g_clear_pointer
    - scan_object_queue_data_free
    - ostree_checksum_inplace_from_bytes
    - check_outstanding_requests_handle_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean idle_worker (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:442,1
    - Dst: g_source_unref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:450,1
    - Dst: g_idle_source_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:445,1
    - Dst: g_source_set_callback
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:446,1
    - Dst: g_source_attach
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pull_data
    argTypes:
    - OtPullData*
    constantsTouched: []
    func_position:
      end: 451
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 451
    functionName: ensure_idle_queued
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - fetcher_queue_is_full
    - g_source_unref
    - g_idle_source_new
    - g_source_attach
    linkageType: ''
    returnType: void
    signature: 'static void ensure_idle_queued (OtPullData *pull_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_get_relative_static_delta_superblock_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2499,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2501,1
    - Dst: _ostree_fetcher_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2502,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pull_data
    - fetch_data
    argTypes:
    - OtPullData*
    - FetchDeltaSuperData*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2508
    functionName: start_fetch_delta_superblock
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_steal_pointer
    - _ostree_fetcher_request_to_membuf
    - _ostree_get_relative_static_delta_superblock_path
    linkageType: ''
    returnType: void
    signature: 'static void start_fetch_delta_superblock (OtPullData *pull_data, FetchDeltaSuperData
      *fetch_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2514,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2519,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2519,1
    - Dst: start_fetch_delta_superblock
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2523,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2516,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pull_data
    - fetch_data
    argTypes:
    - OtPullData*
    - FetchDeltaSuperData*
    constantsTouched: []
    func_position:
      end: 2525
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2525
    functionName: enqueue_one_static_delta_superblock_request_s
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_hash_table_add
    - start_fetch_delta_superblock
    - g_debug
    - g_steal_pointer
    - fetcher_queue_is_full
    linkageType: ''
    returnType: void
    signature: 'static void enqueue_one_static_delta_superblock_request_s (OtPullData
      *pull_data, FetchDeltaSuperData *fetch_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:395,1
    - Dst: ostree_collection_ref_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:397,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - scan_data
    argTypes:
    - ScanObjectQueueData*
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: scan_object_queue_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_free
    - ostree_collection_ref_free
    linkageType: ''
    returnType: void
    signature: 'static void scan_object_queue_data_free (ScanObjectQueueData *scan_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pull_data
    argTypes:
    - OtPullData*
    constantsTouched: []
    func_position:
      end: 390
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 390
    functionName: fetcher_queue_is_full
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fetcher_queue_is_full (OtPullData *pull_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1396,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1397,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1413,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1424,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1398,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1397,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1398,1
    - Dst: ostree_repo_remote_list
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1402,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1427,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1429,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1444,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1396,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1399,1
    - Dst: check_remote_matches_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1408,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1437,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1447,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1425,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1452,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1419,1
    - Dst: _ostree_repo_get_remote_inherited
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1415,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 4
    argNames:
    - self
    - collection_id
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1456
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1456
    functionName: ostree_repo_resolve_keyring_for_collection
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_set_error
    - check_remote_matches_collection_id
    - ostree_validate_collection_id
    - g_strcmp0
    - _ostree_repo_get_remote_inherited
    - g_clear_object
    - ostree_repo_remote_list
    - g_debug
    - G_IS_CANCELLABLE
    - g_steal_pointer
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeRemote*
    signature: 'OstreeRemote *ostree_repo_resolve_keyring_for_collection (OstreeRepo
      *self, const gchar *collection_id, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_get_relative_static_delta_part_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2052,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2056,1
    - Dst: _ostree_fetcher_request_to_tmpfile
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2058,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pull_data
    - fetch
    argTypes:
    - OtPullData*
    - FetchStaticDeltaData*
    constantsTouched: []
    func_position:
      end: 2062
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2062
    functionName: start_fetch_deltapart
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_assert_cmpint
    - _ostree_fetcher_request_to_tmpfile
    - _ostree_get_relative_static_delta_part_path
    linkageType: ''
    returnType: void
    signature: 'static void start_fetch_deltapart (OtPullData *pull_data, FetchStaticDeltaData
      *fetch) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_delta_needs_byteswap
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2069,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2079,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2082,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2085,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2098,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2107,1
    - Dst: _ostree_get_relative_static_delta_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2109,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2111,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2128,1
    - Dst: ostree_repo_write_metadata_async
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2134,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2208,1
    - Dst: fetch_static_delta_data_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2216,1
    - Dst: _ostree_static_delta_part_execute_async
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2220,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2239,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2072,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2111,1
    - Dst: ostree_repo_mark_commit_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2117,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2125,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2148,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2162,1
    - Dst: _ostree_get_relative_static_delta_part_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2183,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2187,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2187,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2200,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2227,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2196,1
    - Dst: enqueue_one_static_delta_part_request_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2227,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2175,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2078,1
    - Dst: fstatvfs
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2078,1
    - Dst: process_one_static_delta_fallback
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2087,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2096,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2131,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2141,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2154,1
    - Dst: maybe_swap_endian_u32
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2155,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2157,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2160,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2242,1
    - Dst: _ostree_static_delta_part_open
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2212,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2073,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2074,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2095,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2101,1
    - Dst: _verify_unwritten_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2113,1
    - Dst: ostree_repo_write_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2121,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2156,1
    - Dst: _ostree_repo_static_delta_part_have_all_objects
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2166,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2190,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2197,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2198,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2201,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2241,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 108
    argCount: 7
    argNames:
    - pull_data
    - from_revision
    - to_revision
    - delta_superblock
    - ref
    - cancellable
    - error
    argTypes:
    - OtPullData*
    - char*
    - char*
    - GVariant*
    - OstreeCollectionRef*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2247
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2247
    functionName: process_one_static_delta
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_validate_structureof_csum_v
    - g_variant_get_child_value
    - g_format_size
    - _ostree_repo_static_delta_part_have_all_objects
    - g_steal_pointer
    - g_variant_ref
    - g_memory_input_stream_new_from_bytes
    - ostree_repo_write_commit_detached_metadata
    - glnx_throw
    - glnx_throw_errno_prefix
    - ostree_checksum_bytes_peek_validate
    - _ostree_get_relative_static_delta_part_path
    - enqueue_one_static_delta_part_request_s
    - ostree_collection_ref_dup
    - maybe_swap_endian_u32
    - ostree_repo_write_metadata_async
    - fstatvfs
    - TEMP_FAILURE_RETRY
    - maybe_swap_endian_u64
    - ostree_checksum_from_bytes_v
    - g_variant_get_data_as_bytes
    - _ostree_get_relative_static_delta_path
    - g_variant_get
    - _ostree_static_delta_part_open
    - g_variant_lookup_value
    - ostree_repo_has_object
    - fetch_static_delta_data_free
    - _verify_unwritten_commit
    - G_VARIANT_TYPE
    - g_strdup
    - _ostree_static_delta_part_execute_async
    - _ostree_delta_needs_byteswap
    - g_new0
    - process_one_static_delta_fallback
    - ostree_object_name_serialize
    - g_variant_n_children
    - ostree_repo_mark_commit_partial
    - g_debug
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean process_one_static_delta (OtPullData *pull_data, const
      char *from_revision, const char *to_revision, GVariant *delta_superblock, const
      OstreeCollectionRef *ref, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:276,1
    - Dst: g_queue_clear
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:286,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:287,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:288,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:289,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:290,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:318,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:291,1
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:307,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:331,1
    - Dst: ensure_idle_queued
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:367,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:262,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:272,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:307,1
    - Dst: start_fetch
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:316,1
    - Dst: g_hash_table_iter_steal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:313,1
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:323,1
    - Dst: g_hash_table_iter_steal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:326,1
    - Dst: start_fetch_delta_index
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:327,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:340,1
    - Dst: g_hash_table_iter_steal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:344,1
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:351,1
    - Dst: g_hash_table_iter_steal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:357,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:272,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:306,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:323,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:327,1
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:332,1
    - Dst: g_hash_table_iter_steal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:335,1
    - Dst: start_fetch_delta_superblock
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:336,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:341,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:350,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:362,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:267,1
    - Dst: g_queue_foreach
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:285,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:322,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:332,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:336,1
    - Dst: fetcher_queue_is_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:341,1
    - Dst: start_fetch_deltapart
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:346,1
    - Dst: start_fetch
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:360,1
    - Dst: g_queue_is_empty
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:366,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:351,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 2
    argNames:
    - pull_data
    - errorp
    argTypes:
    - OtPullData*
    - GError**
    constantsTouched: []
    func_position:
      end: 369
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 369
    functionName: check_outstanding_requests_handle_error
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_next
    - g_clear_error
    - g_steal_pointer
    - g_propagate_error
    - start_fetch
    - g_hash_table_iter_steal
    - g_hash_table_remove_all
    - g_variant_unref
    - ensure_idle_queued
    - g_hash_table_iter_init
    - start_fetch_delta_superblock
    - start_fetch_delta_index
    - g_free
    - start_fetch_deltapart
    - g_assert
    - g_debug
    - g_queue_clear
    - fetcher_queue_is_full
    - g_queue_foreach
    - g_queue_is_empty
    linkageType: ''
    returnType: void
    signature: 'static void check_outstanding_requests_handle_error (OtPullData *pull_data,
      GError **errorp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_real_remote_repo_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1358,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - repo
    - remote_name
    - collection_id
    argTypes:
    - OstreeRepo*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1363
    functionName: check_remote_matches_collection_id
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - get_real_remote_repo_collection_id
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_remote_matches_collection_id (OstreeRepo *repo,
      const gchar *remote_name, const gchar *collection_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5369,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5370,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - refs
    - collection_id
    - ref_name
    - out_index
    argTypes:
    - OstreeCollectionRef**
    - gchar*
    - gchar*
    - gsize*
    constantsTouched: []
    func_position:
      end: 5378
      start: 5361
    functionDepth: 0
    functionLinenumber: 5361
    functionLinenumberEnd: 5378
    functionName: collection_refv_contains
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean collection_refv_contains (const OstreeCollectionRef
      *const *refs, const gchar *collection_id, const gchar *ref_name, gsize *out_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4994,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4997,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4995,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - CommitMetadata*
    constantsTouched: []
    func_position:
      end: 4998
      start: 4991
    functionDepth: 0
    functionLinenumber: 4991
    functionLinenumberEnd: 4998
    functionName: commit_metadata_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void commit_metadata_free (CommitMetadata *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_result_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeRepoFinderResult*
    constantsTouched: []
    func_position:
      end: 5191
      start: 5184
    functionDepth: 0
    functionLinenumber: 5184
    functionLinenumberEnd: 5191
    functionName: repo_finder_result_free0
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - ostree_repo_finder_result_free
    linkageType: ''
    returnType: void
    signature: 'static void repo_finder_result_free0 (OstreeRepoFinderResult *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5008,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5013,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5009,1
    - Dst: g_array_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5014,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:5016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - checksum
    - commit_size
    - timestamp
    - additional_metadata
    argTypes:
    - gchar*
    - guint64
    - guint64
    - GVariant*
    constantsTouched: []
    func_position:
      end: 5017
      start: 5002
    functionDepth: 0
    functionLinenumber: 5002
    functionLinenumberEnd: 5017
    functionName: commit_metadata_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_array_new
    - g_steal_pointer
    - g_variant_ref
    linkageType: ''
    returnType: CommitMetadata*
    signature: 'static CommitMetadata *commit_metadata_new (const gchar *checksum,
      guint64 commit_size, guint64 timestamp, GVariant *additional_metadata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1234,1
    - Dst: _ostree_static_delta_part_execute_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1236,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1240,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1243,1
    - Dst: fetch_static_delta_data_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1246
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1246
    functionName: on_static_delta_written
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_assert
    - _ostree_static_delta_part_execute_finish
    - g_debug
    - fetch_static_delta_data_free
    - check_outstanding_requests_handle_error
    linkageType: ''
    returnType: void
    signature: 'static void on_static_delta_written (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - error
    - from_revision
    - to_revision
    argTypes:
    - GError**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2408
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2408
    functionName: set_required_deltas_error
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: void
    signature: 'static void set_required_deltas_error (GError **error, const char
      *from_revision, const char *to_revision) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2533,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2535,1
    - Dst: enqueue_one_static_delta_superblock_request_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2540,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2537,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2536,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pull_data
    - from_revision
    - to_revision
    - ref
    argTypes:
    - OtPullData*
    - char*
    - char*
    - OstreeCollectionRef*
    constantsTouched: []
    func_position:
      end: 2541
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2541
    functionName: enqueue_one_static_delta_superblock_request
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - enqueue_one_static_delta_superblock_request_s
    - g_steal_pointer
    - ostree_collection_ref_dup
    linkageType: ''
    returnType: void
    signature: 'static void enqueue_one_static_delta_superblock_request (OtPullData
      *pull_data, const char *from_revision, const char *to_revision, const OstreeCollectionRef
      *ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: variant_or_null_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void variant_or_null_unref (gpointer data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1263,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1269,1
    - Dst: _ostree_fetcher_request_to_tmpfile_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1265,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1269,1
    - Dst: _ostree_static_delta_part_open
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1272,1
    - Dst: _ostree_static_delta_part_execute_async
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1276,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1283,1
    - Dst: _ostree_fetcher_should_retry_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1289,1
    - Dst: enqueue_one_static_delta_part_request_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1290,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1290,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1295,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:1292,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1296
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1296
    functionName: static_deltapart_fetch_on_complete
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_request_to_tmpfile_finish
    - _ostree_static_delta_part_execute_async
    - g_steal_fd
    - g_assert
    - g_unix_input_stream_new
    - g_clear_pointer
    - _ostree_static_delta_part_open
    - g_debug
    - g_steal_pointer
    - enqueue_one_static_delta_part_request_s
    - _ostree_fetcher_should_retry_request
    - check_outstanding_requests_handle_error
    linkageType: ''
    returnType: void
    signature: 'static void static_deltapart_fetch_on_complete (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_to_membuf_finish
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2422,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2442,1
    - Dst: enqueue_one_static_delta_superblock_request_s
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2489,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2493,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2427,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2444,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2467,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2472,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2475,1
    - Dst: process_one_static_delta
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2476,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2472,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2482,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2489,1
    - Dst: check_outstanding_requests_handle_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2491,1
    - Dst: queue_scan_one_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2435,1
    - Dst: ot_checksum_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2447,1
    - Dst: set_required_deltas_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2431,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2425,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2456,1
    - Dst: memcmp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2464,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2475,1
    - Dst: _ostree_fetcher_should_retry_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2488,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 37
    argCount: 3
    argNames:
    - src
    - res
    - data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2494
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2494
    functionName: on_superblock_fetched
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_error
    - g_steal_pointer
    - _ostree_fetcher_should_retry_request
    - _ostree_fetcher_request_to_membuf_finish
    - g_hash_table_add
    - g_error_matches
    - g_strconcat
    - memcmp
    - check_outstanding_requests_handle_error
    - set_required_deltas_error
    - ot_checksum_bytes
    - enqueue_one_static_delta_superblock_request_s
    - g_variant_ref_sink
    - queue_scan_one_metadata_object
    - g_set_error
    - g_strdup
    - g_assert
    - g_variant_new_from_bytes
    - process_one_static_delta
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void on_superblock_fetched (GObject *src, GAsyncResult *res,
      gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2546,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2546,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2550,1
    - Dst: g_variant_get_type_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2548,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:2547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - csum
    - error
    argTypes:
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 2551
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2551
    functionName: validate_variant_is_csum
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - ostree_validate_structureof_csum_v
    - g_variant_get_type_string
    - glnx_throw
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_variant_is_csum (GVariant *csum, GError **error) '
  - BBCount: 177
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3576,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3742,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3799,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3805,1
    - Dst: _ostree_fetcher_uri_parse
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3857,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4015,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4066,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4696,1
    - Dst: _sign_verify_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4307,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4293,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3738,1
    - Dst: compute_effective_mirrorlist
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3848,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3771,1
    - Dst: ostree_repo_remote_get_gpg_verify
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3787,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4440,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4140,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4746,1
    - Dst: g_source_attach
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4691,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3929,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4086,1
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4244,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4482,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4587,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3590,1
    - Dst: _ostree_fetcher_uri_get_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3878,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4366,1
    - Dst: _ostree_repo_cache_summary
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4384,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4586,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4757,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4882,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3884,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4115,1
    - Dst: lookup_commit_checksum_and_collection_from_summary
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4547,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4923,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4952,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4963,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4527,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3591,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4156,1
    - Dst: _ostree_repo_load_cache_summary_properties
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4184,1
    - Dst: GLNX_HASH_TABLE_FOREACH_V
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4896,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4945,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3643,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3730,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3782,1
    - Dst: _ostree_fetcher_mirrored_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4267,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4598,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4632,1
    - Dst: _ostree_fetcher_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4852,1
    - Dst: _ostree_metalink_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3867,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4392,1
    - Dst: g_timeout_source_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4685,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3586,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3742,1
    - Dst: _ostree_repo_remote_name_is_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3763,1
    - Dst: g_ptr_array_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3902,1
    - Dst: ostree_async_progress_set_status
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4815,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4828,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4845,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4324,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4457,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3750,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3564,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3840,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4674,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4709,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4437,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4602,1
    - Dst: g_strfreev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4932,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4664,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3587,1
    - Dst: _ostree_metalink_request_sync
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3870,1
    - Dst: _ostree_repo_load_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4204,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4939,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4968,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4973,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4595,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4604,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4017,1
    - Dst: reinitialize_fetcher
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4654,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4787,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4038,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3588,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4950,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4961,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4400,1
    - Dst: g_bytes_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4355,1
    - Dst: initiate_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4677,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3577,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4306,1
    - Dst: ostree_repo_transaction_set_collection_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4732,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4222,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4346,1
    - Dst: _ostree_fetcher_bytes_transferred
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4774,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4536,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4721,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3589,1
    - Dst: compute_effective_mirrorlist
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3906,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4943,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3816,1
    - Dst: initiate_request
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4669,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4909,1
    - Dst: g_queue_clear
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4970,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3580,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3698,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4264,1
    - Dst: ostree_repo_verify_summary
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4275,1
    - Dst: update_progress
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4780,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4826,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4865,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4869,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4958,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4359,1
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4640,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3570,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3594,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3781,1
    - Dst: ostree_repo_remote_get_gpg_verify_summary
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3792,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4042,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4450,1
    - Dst: ostree_repo_prepare_transaction
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4659,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4853,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3896,1
    - Dst: collect_available_deltas_for_pull
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4460,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4940,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4406,1
    - Dst: ostree_repo_commit_transaction
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4769,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4397,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4875,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4947,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4113,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4120,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4317,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4632,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4855,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4956,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4463,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4499,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4356,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4422,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3574,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3581,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3640,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3704,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4116,1
    - Dst: _ostree_repo_load_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4157,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3706,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3610,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4066,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4231,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4712,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4726,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4949,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4967,1
    - Dst: _ostree_fetcher_mirrored_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4331,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4376,1
    - Dst: GLNX_HASH_TABLE_FOREACH_V
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4667,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3578,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3592,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4429,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4498,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4599,1
    - Dst: _ostree_repo_load_cache_summary_properties
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4136,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4633,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4772,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3748,1
    - Dst: g_queue_init
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3759,1
    - Dst: g_file_new_for_uri
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3932,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4935,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4431,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3697,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4018,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4155,1
    - Dst: _sign_verify_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4340,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4626,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4413,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4630,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4368,1
    - Dst: ostree_repo_mode_from_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4503,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3572,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4188,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4553,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4937,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4965,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3662,1
    - Dst: _ostree_fetcher_uri_new_path
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3881,1
    - Dst: ostree_repo_open
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3934,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4019,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4644,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3694,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4033,1
    - Dst: all_requested_refs_have_commit
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4074,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4954,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4469,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4329,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4795,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3636,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3655,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3631,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3755,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4282,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4878,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4723,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4551,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4708,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4719,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4444,1
    - Dst: ostree_repo_open
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3740,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3593,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3617,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3895,1
    - Dst: g_source_destroy
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4931,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3712,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4821,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3715,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3761,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4012,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4951,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4962,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3734,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3720,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4253,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4421,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4882,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4606,1
    - Dst: _ostree_fetcher_uri_to_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3931,1
    - Dst: ostree_repo_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3933,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4459,1
    - Dst: load_remote_repo_config
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4495,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4516,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4938,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4944,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4404,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3624,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4041,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4095,1
    - Dst: _ostree_repo_load_cache_summary_file
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4162,1
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4277,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4805,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3883,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4304,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4707,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4812,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4859,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3672,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3630,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4849,1
    - Dst: pull_termination_condition
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4695,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3990,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4525,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4758,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4777,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3571,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3651,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4687,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4879,1
    - Dst: SD_ID128_FORMAT_VAL
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4886,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4972,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3701,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3596,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3611,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3755,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3838,1
    - Dst: _ostree_fetcher_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3921,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4034,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4265,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4282,1
    - Dst: ostree_repo_mark_commit_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4911,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4363,1
    - Dst: g_strv_length
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3636,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3605,1
    - Dst: ostree_repo_abort_transaction
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4928,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4564,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4555,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3608,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3612,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3888,1
    - Dst: _ostree_fetcher_mirrored_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4191,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4586,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4942,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3597,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3601,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3708,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4401,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4434,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4960,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3710,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3599,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3603,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3842,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4582,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4823,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4468,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3613,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3717,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4925,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4506,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3718,1
    - Dst: ostree_repo_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3739,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4058,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4031,1
    - Dst: g_bytes_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4375,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3585,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4408,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4624,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4955,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3566,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3630,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4442,1
    - Dst: reinitialize_fetcher
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3833,1
    - Dst: g_queue_foreach
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4969,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4622,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3750,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3884,1
    - Dst: ostree_repo_verify_summary
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4242,1
    - Dst: ot_journal_send
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4885,1
    - Dst: ostree_repo_mark_commit_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4898,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4948,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4966,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3810,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4346,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4414,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4971,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4953,1
    - Dst: g_source_set_priority
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4689,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4784,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3728,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4592,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4959,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3567,1
    - Dst: _ostree_fetcher_mirrored_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4142,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4862,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4555,1
    - Dst: ostree_repo_transaction_set_ref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4734,1
    - Dst: ostree_repo_mode_from_string
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4472,1
    - Dst: g_main_context_unref
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4929,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4941,1
    - Dst: _signapi_init_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3825,1
    - Dst: g_path_get_dirname
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3879,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4574,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4933,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4964,1
    - Dst: ostree_repo_get_remote_list_option
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3914,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4260,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4449,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4710,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3722,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4125,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4213,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4537,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4603,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4934,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4642,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4811,1
    - Dst: fetch_ref_contents
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4560,1
    - Dst: g_source_set_callback
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4690,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3636,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4946,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4748,1
    - Dst: store_file_cache_properties
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4762,1
    - Dst: _ostree_repo_load_cache_summary_if_same_sig
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4169,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4040,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4175,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4629,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3583,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3632,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3645,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4583,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4936,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4957,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4791,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4617,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4458,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3726,1
    - Dst: load_remote_repo_config
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4082,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4872,1
    - Dst: GLNX_HASH_TABLE_FOREACH_V
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4902,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4203,1
    - Dst: g_variant_is_normal_form
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4361,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4394,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4328,1
    - Dst: store_file_cache_properties
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4752,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:3633,1
    - Dst: ostree_repo_mark_commit_partial
      Src: /src/ostree/src/libostree/ostree-repo-pull.c:4904,1
    CyclomaticComplexity: 417
    EdgeCount: 417
    ICount: 899
    argCount: 6
    argNames:
    - self
    - remote_name_or_baseurl
    - options
    - progress
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GVariant*
    - OstreeAsyncProgress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4975
      start: 3493
    functionDepth: 0
    functionLinenumber: 3493
    functionLinenumberEnd: 4975
    functionName: ostree_repo_pull_with_options
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull.c
    functionUses: []
    functionsReached:
    - initiate_request
    - pull_termination_condition
    - g_clear_pointer
    - g_main_context_unref
    - g_format_size
    - _sign_verify_for_remote
    - g_variant_get_child
    - ostree_repo_get_remote_option
    - ostree_repo_remote_get_gpg_verify_summary
    - _ostree_repo_cache_summary
    - g_assert_cmpint
    - g_hash_table_add
    - _ostree_fetcher_uri_to_string
    - ostree_repo_commit_transaction
    - store_file_cache_properties
    - g_variant_get_data_as_bytes
    - _signapi_init_for_remote
    - ostree_repo_prepare_transaction
    - _ostree_fetcher_bytes_transferred
    - g_variant_iter_loop
    - g_object_ref
    - ostree_validate_collection_id
    - _ostree_repo_load_cache_summary_file
    - ostree_repo_new
    - g_bytes_ref
    - lookup_commit_checksum_and_collection_from_summary
    - g_file_new_for_uri
    - g_clear_object
    - g_variant_is_of_type
    - glnx_file_replace_contents_at
    - ostree_repo_verify_summary
    - g_propagate_error
    - g_ptr_array_ref
    - mkdirat
    - collect_available_deltas_for_pull
    - g_get_monotonic_time
    - g_set_error_literal
    - g_variant_lookup
    - GLNX_HASH_TABLE_FOREACH_V
    - _ostree_repo_load_cache_summary_if_same_sig
    - g_variant_iter_init
    - g_strdup_printf
    - g_ptr_array_add
    - g_timeout_source_new_seconds
    - g_strdup
    - g_source_set_callback
    - _ostree_fetcher_uri_get_scheme
    - g_string_new
    - ostree_repo_transaction_set_ref
    - ostree_validate_rev
    - g_assert
    - ostree_repo_mark_commit_partial
    - g_queue_clear
    - ostree_repo_abort_transaction
    - g_queue_foreach
    - g_string_append
    - ot_journal_send
    - g_hash_table_unref
    - g_ptr_array_new_with_free_func
    - g_variant_get_child_value
    - g_hash_table_insert
    - ostree_async_progress_set_status
    - g_strfreev
    - _ostree_fetcher_uri_parse
    - g_return_val_if_fail
    - ostree_collection_ref_dup
    - g_source_attach
    - all_requested_refs_have_commit
    - g_str_has_prefix
    - strcmp
    - ot_keyfile_get_boolean_with_default
    - ostree_validate_remote_name
    - g_bytes_get_data
    - G_UNLIKELY
    - g_assert_cmpuint
    - _ostree_fetcher_uri_new_path
    - ostree_collection_ref_new
    - g_hash_table_replace
    - g_variant_lookup_value
    - g_hash_table_new_full
    - _ostree_fetcher_uri_get_path
    - ostree_repo_open
    - load_remote_repo_config
    - G_VARIANT_TYPE
    - ostree_gpg_verify_result_require_valid_signature
    - g_variant_is_normal_form
    - g_variant_new_from_bytes
    - _ostree_repo_load_cache_summary_properties
    - g_string_append_printf
    - SD_ID128_FORMAT_VAL
    - g_debug
    - _ostree_metalink_new
    - _ostree_repo_remote_name_is_file
    - g_timeout_source_new
    - compute_effective_mirrorlist
    - g_hash_table_contains
    - ostree_repo_remote_get_gpg_verify
    - ostree_repo_get_remote_list_option
    - GLNX_HASH_TABLE_FOREACH_KV
    - ostree_validate_checksum_string
    - g_path_get_dirname
    - g_steal_pointer
    - g_clear_error
    - ostree_repo_resolve_rev
    - ot_keyfile_get_value_with_default
    - glnx_set_error_from_errno
    - g_source_destroy
    - GLNX_HASH_TABLE_FOREACH
    - _ostree_metalink_request_sync
    - g_main_context_ref_thread_default
    - ostree_repo_transaction_set_collection_ref
    - g_source_set_priority
    - g_file_new_for_path
    - ostree_repo_mode_from_string
    - fetch_ref_contents
    - reinitialize_fetcher
    - _ostree_fetcher_mirrored_request_to_membuf
    - g_main_context_iteration
    - g_strv_length
    - g_set_error
    - g_str_equal
    - g_free
    - g_new0
    - g_variant_n_children
    - g_hash_table_size
    - update_progress
    - g_queue_init
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_pull_with_options (OstreeRepo *self, const char
      *remote_name_or_baseurl, GVariant *options, OstreeAsyncProgress *progress, GCancellable
      *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-date-utils.c:38,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libostree/ostree-date-utils.c:44,1
    - Dst: g_ascii_isdigit
      Src: /src/ostree/src/libostree/ostree-date-utils.c:47,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 5
    argNames:
    - buf
    - n_digits
    - min
    - max
    - out
    argTypes:
    - char*
    - guint
    - guint
    - guint
    - guint*
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: parse_uint
    functionSourceFile: /src/ostree/src/libostree/ostree-date-utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ascii_isdigit
    - g_ascii_strtoull
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_uint (const char *buf, guint n_digits, guint
      min, guint max, guint *out) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-date-utils.c:93,1
    - Dst: parse_uint
      Src: /src/ostree/src/libostree/ostree-date-utils.c:103,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-date-utils.c:107,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-date-utils.c:98,1
    - Dst: strncmp
      Src: /src/ostree/src/libostree/ostree-date-utils.c:95,1
    - Dst: strncmp
      Src: /src/ostree/src/libostree/ostree-date-utils.c:109,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-date-utils.c:112,1
    - Dst: parse_uint
      Src: /src/ostree/src/libostree/ostree-date-utils.c:116,1
    - Dst: parse_uint
      Src: /src/ostree/src/libostree/ostree-date-utils.c:120,1
    - Dst: parse_uint
      Src: /src/ostree/src/libostree/ostree-date-utils.c:124,1
    - Dst: g_date_time_new_utc
      Src: /src/ostree/src/libostree/ostree-date-utils.c:135,1
    - Dst: strncmp
      Src: /src/ostree/src/libostree/ostree-date-utils.c:132,1
    - Dst: parse_uint
      Src: /src/ostree/src/libostree/ostree-date-utils.c:128,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 56
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 137
    functionName: _ostree_parse_rfc2616_date_time
    functionSourceFile: /src/ostree/src/libostree/ostree-date-utils.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - parse_uint
    - strncmp
    - g_date_time_new_utc
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *_ostree_parse_rfc2616_date_time (const char *buf, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:135,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: uri_and_keyring_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean uri_and_keyring_equal (gconstpointer a, gconstpointer
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_result_compare
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: results_compare_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - ostree_repo_finder_result_compare
    linkageType: ''
    returnType: gint
    signature: 'static gint results_compare_cb (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:666,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:666,1
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: ostree_repo_finder_mount_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_VOLUME_MONITOR
    linkageType: ''
    returnType: OstreeRepoFinderMount*
    signature: 'OstreeRepoFinderMount *ostree_repo_finder_mount_new (GVolumeMonitor
      *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:115,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:116,1
    - Dst: ostree_remote_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:117,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - uri
    - keyring_remote
    argTypes:
    - gchar*
    - OstreeRemote*
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: uri_and_keyring_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ostree_remote_ref
    - g_steal_pointer
    - g_new0
    linkageType: ''
    returnType: UriAndKeyring*
    signature: 'static UriAndKeyring *uri_and_keyring_new (const gchar *uri, OstreeRemote
      *keyring_remote) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_open_at
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:204,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:209,1
    - Dst: ostree_repo_get_dfd
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:213,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:220,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:257,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:252,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:237,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:207,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:216,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:218,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:250,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:231,1
    - Dst: ostree_repo_list_collection_refs
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:246,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:228,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:209,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:220,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:259,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:252,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:240,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 9
    argNames:
    - dfd
    - path
    - mount_name
    - mount_root_stbuf
    - parent_repo
    - out_repo
    - out_refs
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - char*
    - struct stat*
    - OstreeRepo*
    - OstreeRepo**
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 262
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 262
    functionName: scan_repo
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - ostree_repo_list_collection_refs
    - ostree_repo_get_dfd
    - g_debug
    - g_steal_pointer
    - ostree_repo_open_at
    - glnx_throw
    - g_propagate_error
    - glnx_fstat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean scan_repo (int dfd, const char *path, const char *mount_name,
      const struct stat *mount_root_stbuf, OstreeRepo *parent_repo, OstreeRepo **out_repo,
      GHashTable **out_refs, GCancellable *cancellable, GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_get_name
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:320,1
    - Dst: g_mount_is_shadowed
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:323,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:332,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:334,1
    - Dst: g_unix_mount_get_fs_type
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:350,1
    - Dst: g_unix_mount_get_device_path
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:351,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:360,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:369,1
    - Dst: scan_and_add_repo
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:407,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:432,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:540,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:453,1
    - Dst: uri_and_keyring_to_name
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:517,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:526,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:492,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:479,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:525,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:538,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:396,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:494,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:498,1
    - Dst: ostree_repo_get_path
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:446,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:480,1
    - Dst: g_volume_monitor_get_mounts
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:300,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:303,1
    - Dst: g_list_length
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:303,1
    - Dst: g_array_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:374,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:382,1
    - Dst: g_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:443,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:449,1
    - Dst: realpath
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:478,1
    - Dst: uri_and_keyring_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:486,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:488,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:507,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:511,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:524,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:466,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:532,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:301,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:297,1
    - Dst: G_MOUNT
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:307,1
    - Dst: g_file_get_path
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:330,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:325,1
    - Dst: g_unix_mount_at
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:342,1
    - Dst: g_mount_get_root
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:329,1
    - Dst: g_unix_is_system_fs_type
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:345,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:380,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:384,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:540,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:424,1
    - Dst: ostree_repo_resolve_keyring_for_collection
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:461,1
    - Dst: ostree_remote_new_dynamic
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:518,1
    - Dst: g_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:413,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:521,1
    - Dst: OSTREE_REPO_FINDER_MOUNT
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:290,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:298,1
    - Dst: g_unix_mount_get_fs_type
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:345,1
    - Dst: g_unix_is_system_device_path
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:346,1
    - Dst: g_unix_mount_get_device_path
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:346,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:348,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:362,1
    - Dst: g_array_set_clear_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:375,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:339,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:393,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:520,1
    - Dst: scan_and_add_repo
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:425,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:470,1
    - Dst: ostree_repo_finder_result_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:533,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:398,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:494,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:498,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:456,1
    - Dst: g_file_get_path
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:446,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 126
    argCount: 6
    argNames:
    - finder
    - refs
    - parent_repo
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepoFinder*
    - OstreeCollectionRef**
    - OstreeRepo*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 541
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 541
    functionName: ostree_repo_finder_mount_resolve_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_key_file_set_boolean
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - g_hash_table_insert
    - g_task_set_source_tag
    - uri_and_keyring_new
    - g_hash_table_iter_next
    - g_clear_error
    - g_steal_pointer
    - g_ptr_array_sort
    - scan_and_add_repo
    - GLIB_CHECK_VERSION
    - ostree_remote_new_dynamic
    - ostree_repo_get_path
    - g_array_index
    - g_list_length
    - g_array_sort
    - g_strconcat
    - g_mount_get_name
    - g_unix_is_system_fs_type
    - g_array_set_clear_func
    - realpath
    - glnx_opendirat
    - g_unix_mount_at
    - g_array_new
    - g_mount_is_shadowed
    - ostree_repo_resolve_keyring_for_collection
    - g_hash_table_iter_init
    - g_task_return_pointer
    - OSTREE_REPO_FINDER_MOUNT
    - g_mount_get_root
    - glnx_dirfd_iterator_next_dent
    - g_hash_table_new_full
    - g_ptr_array_add
    - g_key_file_set_string
    - g_unix_mount_get_fs_type
    - g_strdup
    - g_file_get_path
    - g_volume_monitor_get_mounts
    - g_task_new
    - g_debug
    - G_MOUNT
    - g_unix_is_system_device_path
    - glnx_dirfd_iterator_init_at
    - uri_and_keyring_to_name
    - ostree_repo_finder_result_new
    - G_N_ELEMENTS
    - glnx_fstat
    - g_hash_table_lookup
    - g_unix_mount_get_device_path
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_mount_resolve_async (OstreeRepoFinder
      *finder, const OstreeCollectionRef *const *refs, OstreeRepo *parent_repo, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFinderMount*
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: ostree_repo_finder_mount_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_mount_init (OstreeRepoFinderMount *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:127,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: uri_and_keyring_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint uri_and_keyring_hash (gconstpointer key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scan_repo
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:272,1
    - Dst: g_array_append_val
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:277,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:275,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:276,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:275,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 8
    argNames:
    - dfd
    - path
    - sortable
    - mount_name
    - mount_root_stbuf
    - parent_repo
    - inout_repos_refs
    - cancellable
    argTypes:
    - int
    - char*
    - gboolean
    - char*
    - struct stat*
    - OstreeRepo*
    - GArray*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 282
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 282
    functionName: scan_and_add_repo
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_array_append_val
    - g_steal_pointer
    - g_debug
    - scan_repo
    linkageType: ''
    returnType: void
    signature: 'static void scan_and_add_repo (int dfd, const char *path, gboolean
      sortable, const char *mount_name, const struct stat *mount_root_stbuf, OstreeRepo
      *parent_repo, GArray *inout_repos_refs, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:547,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:548,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:548,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - OstreeRepoFinder*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 549
    functionName: ostree_repo_finder_mount_resolve_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *ostree_repo_finder_mount_resolve_finish (OstreeRepoFinder
      *self, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FINDER_MOUNT
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:560,1
    - Dst: g_volume_monitor_get
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:565,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: ostree_repo_finder_mount_constructed
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_volume_monitor_get
    - G_OBJECT_CLASS
    - OSTREE_REPO_FINDER_MOUNT
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_mount_constructed (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_escape_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:143,1
    - Dst: g_uri_escape_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:145,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:148,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:156,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:156,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - UriAndKeyring*
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: uri_and_keyring_to_name
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_uri_escape_string
    - ostree_validate_remote_name
    - g_steal_pointer
    - g_strdup_printf
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *uri_and_keyring_to_name (UriAndKeyring *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - ObjectList*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: object_list_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void object_list_free (ObjectList *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FINDER_MOUNT
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:593,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:603,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:599,1
    - Dst: g_value_dup_object
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:600,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 605
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 605
    functionName: ostree_repo_finder_mount_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_dup_object
    - g_assert_not_reached
    - OSTREE_REPO_FINDER_MOUNT
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_mount_set_property (GObject *object,
      guint property_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FINDER_MOUNT
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:577,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:585,1
    - Dst: g_value_set_object
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:582,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: ostree_repo_finder_mount_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - g_assert_not_reached
    - OSTREE_REPO_FINDER_MOUNT
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_mount_get_property (GObject *object,
      guint property_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FINDER_MOUNT
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:610,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:612,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: ostree_repo_finder_mount_dispose
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_OBJECT_CLASS
    - OSTREE_REPO_FINDER_MOUNT
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_mount_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:103,1
    - Dst: ostree_remote_unref
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:104,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - UriAndKeyring*
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: uri_and_keyring_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_free
    - ostree_remote_unref
    linkageType: ''
    returnType: void
    signature: 'static void uri_and_keyring_free (UriAndKeyring *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:180,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:181,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - RepoAndRefs*
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: repo_and_refs_clear
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_object_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void repo_and_refs_clear (RepoAndRefs *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:620,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:634,1
    - Dst: g_param_spec_object
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeRepoFinderMountClass*
    constantsTouched: []
    func_position:
      end: 642
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 642
    functionName: ostree_repo_finder_mount_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_mount_class_init (OstreeRepoFinderMountClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-finder-mount.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: repo_and_refs_compare
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gint
    signature: 'static gint repo_and_refs_compare (gconstpointer a, gconstpointer
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeRepoFinderInterface*
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: ostree_repo_finder_mount_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_mount_iface_init (OstreeRepoFinderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader.c:45,1
    - Dst: OSTREE_IS_BOOTLOADER
      Src: /src/ostree/src/libostree/ostree-bootloader.c:45,1
    - Dst: OSTREE_BOOTLOADER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-bootloader.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootloader*
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: _ostree_bootloader_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_BOOTLOADER
    - OSTREE_BOOTLOADER_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'const char *_ostree_bootloader_get_name (OstreeBootloader *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader.c:55,1
    - Dst: OSTREE_IS_BOOTLOADER
      Src: /src/ostree/src/libostree/ostree-bootloader.c:55,1
    - Dst: OSTREE_BOOTLOADER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-bootloader.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - self
    - bootversion
    - new_deployments
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: _ostree_bootloader_write_config
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_BOOTLOADER
    - OSTREE_BOOTLOADER_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_bootloader_write_config (OstreeBootloader *self,
      int bootversion, GPtrArray *new_deployments, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBootloaderInterface*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: _ostree_bootloader_default_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_default_init (OstreeBootloaderInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader.c:65,1
    - Dst: OSTREE_BOOTLOADER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-bootloader.c:67,1
    - Dst: OSTREE_BOOTLOADER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-bootloader.c:68,1
    - Dst: OSTREE_IS_BOOTLOADER
      Src: /src/ostree/src/libostree/ostree-bootloader.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - self
    - bootversion
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: _ostree_bootloader_post_bls_sync
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_BOOTLOADER
    - OSTREE_BOOTLOADER_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_bootloader_post_bls_sync (OstreeBootloader *self,
      int bootversion, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader.c:77,1
    - Dst: OSTREE_BOOTLOADER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-bootloader.c:79,1
    - Dst: OSTREE_BOOTLOADER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-bootloader.c:80,1
    - Dst: OSTREE_IS_BOOTLOADER
      Src: /src/ostree/src/libostree/ostree-bootloader.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootloader*
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: _ostree_bootloader_is_atomic
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_BOOTLOADER
    - OSTREE_BOOTLOADER_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_bootloader_is_atomic (OstreeBootloader *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader.c:32,1
    - Dst: OSTREE_IS_BOOTLOADER
      Src: /src/ostree/src/libostree/ostree-bootloader.c:32,1
    - Dst: OSTREE_BOOTLOADER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-bootloader.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - self
    - out_is_active
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: _ostree_bootloader_query
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_BOOTLOADER
    - OSTREE_BOOTLOADER_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_bootloader_query (OstreeBootloader *self, gboolean
      *out_is_active, GCancellable *cancellable, GError **error) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_load_from_data
      Src: /src/ostree/src/libostree/ostree-repo.c:3003,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-repo.c:2998,1
    - Dst: g_key_file_get_value
      Src: /src/ostree/src/libostree/ostree-repo.c:3009,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3013,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3118,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3132,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo.c:3178,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:3183,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo.c:3184,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3196,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3232,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:3234,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3232,1
    - Dst: g_strsplit
      Src: /src/ostree/src/libostree/ostree-repo.c:3239,1
    - Dst: ostree_repo_is_system
      Src: /src/ostree/src/libostree/ostree-repo.c:3194,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3233,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:3021,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3052,1
    - Dst: ostree_repo_mode_from_string
      Src: /src/ostree/src/libostree/ostree-repo.c:3029,1
    - Dst: MIN
      Src: /src/ostree/src/libostree/ostree-repo.c:3104,1
    - Dst: g_key_file_has_key
      Src: /src/ostree/src/libostree/ostree-repo.c:3114,1
    - Dst: g_key_file_has_key
      Src: /src/ostree/src/libostree/ostree-repo.c:3128,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libostree/ostree-repo.c:3136,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:3138,1
    - Dst: g_key_file_has_key
      Src: /src/ostree/src/libostree/ostree-repo.c:3141,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:3152,1
    - Dst: _ostree_repo_parse_composefs_config
      Src: /src/ostree/src/libostree/ostree-repo.c:3160,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3165,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:3226,1
    - Dst: ostree_repo_open
      Src: /src/ostree/src/libostree/ostree-repo.c:3181,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:2997,1
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/libostree/ostree-repo.c:3000,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:3014,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3016,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3065,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libostree/ostree-repo.c:3069,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3034,1
    - Dst: ostree_repo_set_disable_fsync
      Src: /src/ostree/src/libostree/ostree-repo.c:3049,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3075,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3086,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo.c:3218,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:3241,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-repo.c:3176,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:3242,1
    - Dst: ostree_repo_new
      Src: /src/ostree/src/libostree/ostree-repo.c:3179,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3204,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:3221,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:3005,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3027,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3044,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3057,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3098,1
    - Dst: MAX
      Src: /src/ostree/src/libostree/ostree-repo.c:3104,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libostree/ostree-repo.c:3104,1
    - Dst: min_free_space_size_validate_and_convert
      Src: /src/ostree/src/libostree/ostree-repo.c:3123,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:3124,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:3164,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:3217,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:3221,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3170,1
    - Dst: g_key_file_get_string_list
      Src: /src/ostree/src/libostree/ostree-repo.c:3215,1
    - Dst: _ostree_repo_parse_fsverity_config
      Src: /src/ostree/src/libostree/ostree-repo.c:3157,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libostree/ostree-repo.c:3208,1
    - Dst: g_ascii_strtoll
      Src: /src/ostree/src/libostree/ostree-repo.c:3090,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 148
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3246
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3246
    functionName: reload_core_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - _ostree_repo_parse_fsverity_config
    - MIN
    - g_key_file_get_value
    - g_clear_error
    - g_steal_pointer
    - glnx_throw
    - ot_keyfile_get_value_with_default
    - gs_file_get_path_cached
    - g_propagate_error
    - g_key_file_load_from_data
    - g_key_file_new
    - g_ascii_strtoll
    - g_error_matches
    - ostree_repo_set_disable_fsync
    - g_strsplit
    - strcmp
    - ot_keyfile_get_boolean_with_default
    - _ostree_repo_parse_composefs_config
    - g_file_new_for_path
    - g_prefix_error
    - ostree_repo_mode_from_string
    - min_free_space_size_validate_and_convert
    - g_ascii_strtoull
    - MAX
    - glnx_prefix_error
    - ostree_repo_new
    - ostree_repo_open
    - ostree_repo_is_system
    - g_set_error
    - g_key_file_get_string_list
    - g_clear_object
    - g_debug
    - glnx_file_get_contents_utf8_at
    - g_key_file_has_key
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean reload_core_config (OstreeRepo *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:3855,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo.c:3857,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:3858,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo.c:3870,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:3881,1
    - Dst: load_metadata_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:3931,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:3942,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo.c:3836,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3837,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo.c:3863,1
    - Dst: ostree_metadata_variant_type
      Src: /src/ostree/src/libostree/ostree-repo.c:3881,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:3893,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo.c:3892,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo.c:3898,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo.c:3877,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo.c:3891,1
    - Dst: _ostree_get_commitpartial_path
      Src: /src/ostree/src/libostree/ostree-repo.c:3909,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:3937,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo.c:3938,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:3943,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3836,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:3851,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo.c:3865,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:3891,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:3889,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo.c:3913,1
    - Dst: read
      Src: /src/ostree/src/libostree/ostree-repo.c:3920,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 67
    argCount: 10
    argNames:
    - self
    - objtype
    - sha256
    - error_if_not_found
    - out_variant
    - out_stream
    - out_size
    - out_state
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - gboolean
    - GVariant**
    - GInputStream**
    - guint64*
    - OstreeRepoCommitState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3945
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3945
    functionName: load_metadata_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - read
    - g_variant_ref
    - g_return_val_if_fail
    - ostree_object_type_to_string
    - ot_variant_read_fd
    - g_unix_input_stream_new
    - OSTREE_OBJECT_TYPE_IS_META
    - ot_transfer_out_value
    - g_hash_table_replace
    - g_set_error
    - g_strdup
    - _ostree_loose_path
    - _ostree_get_commitpartial_path
    - g_mutex_unlock
    - ot_openat_ignore_enoent
    - glnx_fstat
    - ostree_metadata_variant_type
    - g_hash_table_lookup
    - load_metadata_internal
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean load_metadata_internal (OstreeRepo *self, OstreeObjectType
      objtype, const char *sha256, gboolean error_if_not_found, GVariant **out_variant,
      GInputStream **out_stream, guint64 *out_size, OstreeRepoCommitState *out_state,
      GCancellable *cancellable, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpgme_err_code
      Src: /src/ostree/src/libostree/ostree-repo.c:5103,1
    - Dst: gpgme_err_code
      Src: /src/ostree/src/libostree/ostree-repo.c:5106,1
    - Dst: ot_gpgme_data_output
      Src: /src/ostree/src/libostree/ostree-repo.c:5127,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5130,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5117,1
    - Dst: gpgme_data_new_from_mem
      Src: /src/ostree/src/libostree/ostree-repo.c:5123,1
    - Dst: g_output_stream_close
      Src: /src/ostree/src/libostree/ostree-repo.c:5131,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5113,1
    - Dst: g_mapped_file_new_from_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:5135,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo.c:5122,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo.c:5092,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-repo.c:5094,1
    - Dst: gpgme_signers_add
      Src: /src/ostree/src/libostree/ostree-repo.c:5116,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5124,1
    - Dst: gpgme_op_sign
      Src: /src/ostree/src/libostree/ostree-repo.c:5128,1
    - Dst: gpgme_get_key
      Src: /src/ostree/src/libostree/ostree-repo.c:5102,1
    - Dst: ot_gpgme_new_ctx
      Src: /src/ostree/src/libostree/ostree-repo.c:5096,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5104,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5108,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:5140,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 7
    argNames:
    - self
    - input_data
    - key_id
    - homedir
    - out_signature
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GBytes*
    - gchar*
    - gchar*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5142
      start: 5085
    functionDepth: 0
    functionLinenumber: 5085
    functionLinenumberEnd: 5142
    functionName: sign_data
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - ot_gpgme_new_ctx
    - g_mapped_file_get_bytes
    - g_mapped_file_new_from_fd
    - ot_gpgme_data_output
    - gpgme_op_sign
    - gpgme_err_code
    - g_unix_output_stream_new
    - gpgme_signers_add
    - gpgme_data_new_from_mem
    - glnx_open_tmpfile_linkable_at
    - glnx_throw
    - ot_gpgme_throw
    - g_output_stream_close
    - gpgme_get_key
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean sign_data (OstreeRepo *self, GBytes *input_data, const
      gchar *key_id, const gchar *homedir, GBytes **out_signature, GCancellable *cancellable,
      GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo.c:5378,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-repo.c:5393,1
    - Dst: glnx_fd_readall_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:5383,1
    - Dst: get_remotes_d_dir
      Src: /src/ostree/src/libostree/ostree-repo.c:5390,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo.c:5395,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo.c:5395,1
    - Dst: glnx_fd_readall_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:5400,1
    - Dst: find_keyring
      Src: /src/ostree/src/libostree/ostree-repo.c:5409,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 5
    argNames:
    - self
    - remote
    - ret_bytes
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRemote*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5413
      start: 5373
    functionDepth: 0
    functionLinenumber: 5373
    functionLinenumberEnd: 5413
    functionName: find_keyring
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - get_remotes_d_dir
    - find_keyring
    - ot_openat_ignore_enoent
    - gs_file_get_path_cached
    - glnx_fd_readall_bytes
    - g_file_get_child
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean find_keyring (OstreeRepo *self, OstreeRemote *remote,
      GBytes **ret_bytes, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo.c:3251,1
    - Dst: add_remotes_from_keyfile
      Src: /src/ostree/src/libostree/ostree-repo.c:3257,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo.c:3254,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:3255,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:3253,1
    - Dst: get_remotes_d_dir
      Src: /src/ostree/src/libostree/ostree-repo.c:3260,1
    - Dst: enumerate_directory_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo.c:3265,1
    - Dst: g_file_enumerator_iterate
      Src: /src/ostree/src/libostree/ostree-repo.c:3277,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/ostree/src/libostree/ostree-repo.c:3282,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo.c:3283,1
    - Dst: append_one_remote_config
      Src: /src/ostree/src/libostree/ostree-repo.c:3287,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-repo.c:3285,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3294
      start: 3248
    functionDepth: 0
    functionLinenumber: 3248
    functionLinenumberEnd: 3294
    functionName: reload_remote_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - g_hash_table_remove_all
    - enumerate_directory_allow_noent
    - g_file_info_get_attribute_uint32
    - add_remotes_from_keyfile
    - g_mutex_unlock
    - g_file_enumerator_iterate
    - g_str_has_suffix
    - append_one_remote_config
    - g_file_info_get_attribute_byte_string
    - get_remotes_d_dir
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean reload_remote_config (OstreeRepo *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo.c:3953,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo.c:3954,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo.c:3955,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo.c:3956,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - stbuf
    - metadata
    argTypes:
    - struct stat*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3959
      start: 3947
    functionDepth: 0
    functionLinenumber: 3947
    functionLinenumberEnd: 3959
    functionName: filemeta_to_stat
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - GUINT32_FROM_BE
    - g_variant_get
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *filemeta_to_stat (struct stat *stbuf, GVariant *metadata) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:2026,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2040,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo.c:2035,1
    - Dst: _ostree_repo_remote_name_is_file
      Src: /src/ostree/src/libostree/ostree-repo.c:2029,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:2031,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:2047,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - self
    - name
    - out_url
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 2049
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2049
    functionName: ostree_repo_remote_get_url
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_steal_pointer
    - _ostree_repo_remote_name_is_file
    - ostree_repo_get_remote_option
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_get_url (OstreeRepo *self, const char
      *name, char **out_url, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_import_object_from_with_trust
      Src: /src/ostree/src/libostree/ostree-repo.c:4511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - self
    - source
    - objtype
    - checksum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4513
      start: 4507
    functionDepth: 0
    functionLinenumber: 4507
    functionLinenumberEnd: 4513
    functionName: ostree_repo_import_object_from
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_import_object_from_with_trust
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_import_object_from (OstreeRepo *self, OstreeRepo
      *source, OstreeObjectType objtype, const char *checksum, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:5345,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:5346,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:5354,1
    - Dst: sign_data
      Src: /src/ostree/src/libostree/ostree-repo.c:5351,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:5345,1
    - Dst: _ostree_detached_metadata_append_gpg_sig
      Src: /src/ostree/src/libostree/ostree-repo.c:5355,1
    - Dst: g_variant_get_normal_form
      Src: /src/ostree/src/libostree/ostree-repo.c:5358,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:5359,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5362,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 8
    argNames:
    - self
    - data
    - old_signatures
    - key_id
    - homedir
    - out_signatures
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GBytes*
    - GBytes*
    - gchar**
    - gchar*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5364
      start: 5335
    functionDepth: 0
    functionLinenumber: 5335
    functionLinenumberEnd: 5364
    functionName: ostree_repo_gpg_sign_data
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_new_from_bytes
    - g_steal_pointer
    - sign_data
    - g_variant_get_normal_form
    - glnx_throw
    - g_variant_ref_sink
    - g_variant_get_data_as_bytes
    - _ostree_detached_metadata_append_gpg_sig
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_gpg_sign_data (OstreeRepo *self, GBytes *data,
      GBytes *old_signatures, const gchar **key_id, const gchar *homedir, GBytes **out_signatures,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_remote_fetch_summary_with_options
      Src: /src/ostree/src/libostree/ostree-repo.c:2518,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 6
    argNames:
    - self
    - name
    - out_summary
    - out_signatures
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GBytes**
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2520
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2520
    functionName: ostree_repo_remote_fetch_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_remote_fetch_summary_with_options
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_fetch_summary (OstreeRepo *self, const
      char *name, GBytes **out_summary, GBytes **out_signatures, GCancellable *cancellable,
      GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:560,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:560,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/ostree/src/libostree/ostree-repo.c:562,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:563,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:573,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-repo.c:584,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:600,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:591,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:561,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:562,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:593,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:600,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:568,1
    - Dst: pop_repo_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:574,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:581,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:593,1
    - Dst: sleep
      Src: /src/ostree/src/libostree/ostree-repo.c:612,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:559,1
    - Dst: pop_repo_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:588,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:599,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:608,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - self
    - lock_type
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoLockType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 615
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 615
    functionName: ostree_repo_lock_pop
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - pop_repo_lock
    - g_assert
    - g_error_matches
    - g_cancellable_set_error_if_cancelled
    - g_debug
    - g_steal_pointer
    - G_IS_CANCELLABLE
    - sleep
    - OSTREE_IS_REPO
    - g_propagate_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_lock_pop (OstreeRepo *self, OstreeRepoLockType
      lock_type, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo.c:1980,1
    - Dst: _ostree_repo_remote_list
      Src: /src/ostree/src/libostree/ostree-repo.c:1983,1
    - Dst: g_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1992,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo.c:1985,1
    - Dst: g_hash_table_get_keys
      Src: /src/ostree/src/libostree/ostree-repo.c:1994,1
    - Dst: g_list_sort
      Src: /src/ostree/src/libostree/ostree-repo.c:1995,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:1998,1
    - Dst: g_list_free
      Src: /src/ostree/src/libostree/ostree-repo.c:2000,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - self
    - out_n_remotes
    argTypes:
    - OstreeRepo*
    - guint*
    constantsTouched: []
    func_position:
      end: 2009
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 2009
    functionName: ostree_repo_remote_list
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_get_keys
    - g_hash_table_size
    - g_list_sort
    - _ostree_repo_remote_list
    - g_new
    - g_list_free
    - g_hash_table_new_full
    linkageType: ''
    returnType: char**
    signature: 'char **ostree_repo_remote_list (OstreeRepo *self, guint *out_n_remotes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/libostree/ostree-repo.c:2766,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2773,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:2769,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2770,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:2773,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:2779,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - dirpath
    - queryargs
    - queryflags
    - out_direnum
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GFileEnumerator**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2781
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2781
    functionName: enumerate_directory_allow_noent
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_error_matches
    - g_file_enumerate_children
    - g_clear_error
    - g_steal_pointer
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean enumerate_directory_allow_noent (GFile *dirpath, const
      char *queryargs, GFileQueryInfoFlags queryflags, GFileEnumerator **out_direnum,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo.c:4485,1
    - Dst: fsck_content_object
      Src: /src/ostree/src/libostree/ostree-repo.c:4488,1
    - Dst: fsck_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo.c:4486,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - self
    - objtype
    - sha256
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4489
      start: 4481
    functionDepth: 0
    functionLinenumber: 4481
    functionLinenumberEnd: 4489
    functionName: ostree_repo_fsck_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - fsck_content_object
    - fsck_metadata_object
    - OSTREE_OBJECT_TYPE_IS_META
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_fsck_object (OstreeRepo *self, OstreeObjectType
      objtype, const char *sha256, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_add_gpg_signature_summary_at
      Src: /src/ostree/src/libostree/ostree-repo.c:5306,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 5
    argNames:
    - self
    - key_id
    - homedir
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar**
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5311
      start: 5301
    functionDepth: 0
    functionLinenumber: 5301
    functionLinenumberEnd: 5311
    functionName: ostree_repo_add_gpg_signature_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _ostree_repo_add_gpg_signature_summary_at
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_add_gpg_signature_summary (OstreeRepo *self,
      const gchar **key_id, const gchar *homedir, GCancellable *cancellable, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:2791,1
    - Dst: g_key_file_get_groups
      Src: /src/ostree/src/libostree/ostree-repo.c:2793,1
    - Dst: g_queue_push_tail
      Src: /src/ostree/src/libostree/ostree-repo.c:2805,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo.c:2807,1
    - Dst: ostree_remote_new_from_keyfile
      Src: /src/ostree/src/libostree/ostree-repo.c:2799,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2809,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo.c:2815,1
    - Dst: g_queue_is_empty
      Src: /src/ostree/src/libostree/ostree-repo.c:2819,1
    - Dst: g_queue_pop_head
      Src: /src/ostree/src/libostree/ostree-repo.c:2821,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo.c:2822,1
    - Dst: ostree_remote_unref
      Src: /src/ostree/src/libostree/ostree-repo.c:2829,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:2831,1
    - Dst: g_queue_is_empty
      Src: /src/ostree/src/libostree/ostree-repo.c:2828,1
    - Dst: g_queue_pop_head
      Src: /src/ostree/src/libostree/ostree-repo.c:2829,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - self
    - keyfile
    - file
    - error
    argTypes:
    - OstreeRepo*
    - GKeyFile*
    - GFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 2834
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2834
    functionName: add_remotes_from_keyfile
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_object_ref
    - ostree_remote_unref
    - g_queue_pop_head
    - g_mutex_unlock
    - g_hash_table_replace
    - ostree_remote_new_from_keyfile
    - g_queue_is_empty
    - g_queue_push_tail
    - g_hash_table_contains
    - g_mutex_lock
    - g_key_file_get_groups
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_remotes_from_keyfile (OstreeRepo *self, GKeyFile
      *keyfile, GFile *file, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:5165,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:5170,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:5172,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:5174,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:5167,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-repo.c:5184,1
    - Dst: _ostree_repo_gpg_verify_with_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:5185,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:5190,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo.c:5192,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:5195,1
    - Dst: sign_data
      Src: /src/ostree/src/libostree/ostree-repo.c:5204,1
    - Dst: ostree_repo_write_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:5210,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:5195,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5217,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:5199,1
    - Dst: _ostree_detached_metadata_append_gpg_sig
      Src: /src/ostree/src/libostree/ostree-repo.c:5208,1
    - Dst: ostree_gpg_verify_result_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:5197,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 6
    argNames:
    - self
    - commit_checksum
    - key_id
    - homedir
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - gchar*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5219
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5219
    functionName: ostree_repo_sign_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_repo_read_commit_detached_metadata
    - g_file_new_for_path
    - _ostree_repo_gpg_verify_with_metadata
    - g_error_matches
    - g_clear_error
    - g_steal_pointer
    - sign_data
    - ostree_gpg_verify_result_lookup
    - glnx_prefix_error
    - ostree_repo_write_commit_detached_metadata
    - ostree_repo_load_variant
    - g_propagate_error
    - glnx_throw
    - g_variant_get_data_as_bytes
    - _ostree_detached_metadata_append_gpg_sig
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_sign_commit (OstreeRepo *self, const gchar *commit_checksum,
      const gchar *key_id, const gchar *homedir, GCancellable *cancellable, GError
      **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:471,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:471,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/ostree/src/libostree/ostree-repo.c:473,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:474,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:484,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:502,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:511,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:473,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:472,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:504,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:511,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:479,1
    - Dst: push_repo_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:485,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:504,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:492,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-repo.c:495,1
    - Dst: sleep
      Src: /src/ostree/src/libostree/ostree-repo.c:523,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:470,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:510,1
    - Dst: push_repo_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:499,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:519,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - self
    - lock_type
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoLockType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 526
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 526
    functionName: ostree_repo_lock_push
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_error_matches
    - g_cancellable_set_error_if_cancelled
    - g_debug
    - g_steal_pointer
    - G_IS_CANCELLABLE
    - sleep
    - OSTREE_IS_REPO
    - g_propagate_error
    - g_return_val_if_fail
    - push_repo_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_lock_push (OstreeRepo *self, OstreeRepoLockType
      lock_type, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ot_gpg_wkd_urls
      Src: /src/ostree/src/libostree/ostree-repo.c:2449,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2458,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo.c:2458,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2460,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2463,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:2474,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:2438,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo.c:2455,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo.c:2439,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo.c:2472,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:2478,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo.c:2462,1
    - Dst: _ostree_repo_gpg_prepare_verifier
      Src: /src/ostree/src/libostree/ostree-repo.c:2406,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo.c:2420,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo.c:2422,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2427,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo.c:2428,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2429,1
    - Dst: g_variant_new_int64
      Src: /src/ostree/src/libostree/ostree-repo.c:2430,1
    - Dst: g_variant_new_int64
      Src: /src/ostree/src/libostree/ostree-repo.c:2432,1
    - Dst: GINT64_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo.c:2432,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2431,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo.c:2471,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2482,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo.c:2464,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo.c:2463,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo.c:2454,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2455,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2456,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo.c:2456,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo.c:2457,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2459,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:2459,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo.c:2464,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2433,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo.c:2473,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo.c:2473,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo.c:2474,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2461,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo.c:2414,1
    - Dst: _ostree_gpg_verifier_list_keys
      Src: /src/ostree/src/libostree/ostree-repo.c:2411,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:2420,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:2422,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo.c:2426,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:2434,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2435,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:2436,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2457,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:2460,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo.c:2469,1
    - Dst: GINT64_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo.c:2430,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:2437,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo.c:2439,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 6
    argNames:
    - self
    - name
    - key_ids
    - out_keys
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char**
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2484
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2484
    functionName: ostree_repo_remote_get_gpg_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_steal_pointer
    - _ostree_gpg_verifier_list_keys
    - glnx_throw
    - g_variant_new_string
    - g_variant_dict_init
    - g_variant_builder_add
    - g_variant_new_int64
    - g_variant_new
    - _ostree_repo_gpg_prepare_verifier
    - g_variant_new_boolean
    - g_variant_builder_init
    - g_variant_ref_sink
    - g_variant_dict_insert_value
    - GINT64_TO_BE
    - g_ptr_array_add
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_variant_dict_end
    - ot_gpg_wkd_urls
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_get_gpg_keys (OstreeRepo *self, const
      char *name, const char *const *key_ids, GPtrArray **out_keys, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - disable_fsync
    argTypes:
    - OstreeRepo*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3517
      start: 3513
    functionDepth: 0
    functionLinenumber: 3513
    functionLinenumberEnd: 3517
    functionName: ostree_repo_set_disable_fsync
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_set_disable_fsync (OstreeRepo *self, gboolean disable_fsync) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: impl_repo_remote_add
      Src: /src/ostree/src/libostree/ostree-repo.c:1931,1
    - Dst: impl_repo_remote_delete
      Src: /src/ostree/src/libostree/ostree-repo.c:1937,1
    - Dst: impl_repo_remote_add
      Src: /src/ostree/src/libostree/ostree-repo.c:1933,1
    - Dst: impl_repo_remote_replace
      Src: /src/ostree/src/libostree/ostree-repo.c:1939,1
    - Dst: impl_repo_remote_delete
      Src: /src/ostree/src/libostree/ostree-repo.c:1935,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo.c:1941,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 8
    argNames:
    - self
    - sysroot
    - changeop
    - name
    - url
    - options
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - OstreeRepoRemoteChange
    - char*
    - char*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1942
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1942
    functionName: ostree_repo_remote_change
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - impl_repo_remote_replace
    - impl_repo_remote_delete
    - g_assert_not_reached
    - impl_repo_remote_add
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_change (OstreeRepo *self, GFile *sysroot,
      OstreeRepoRemoteChange changeop, const char *name, const char *url, GVariant
      *options, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_metadata_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:4617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - self
    - objtype
    - sha256
    - out_variant
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GVariant**
    - GError**
    constantsTouched: []
    func_position:
      end: 4619
      start: 4613
    functionDepth: 0
    functionLinenumber: 4613
    functionLinenumberEnd: 4619
    functionName: ostree_repo_load_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - load_metadata_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_load_variant (OstreeRepo *self, OstreeObjectType
      objtype, const char *sha256, GVariant **out_variant, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:1950,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:1954,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo.c:1954,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo.c:1952,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo.c:1953,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:1956,1
    - Dst: _ostree_repo_remote_list
      Src: /src/ostree/src/libostree/ostree-repo.c:1959,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - self
    - out
    argTypes:
    - OstreeRepo*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1960
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1960
    functionName: _ostree_repo_remote_list
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_insert
    - _ostree_repo_remote_list
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_repo_remote_list (OstreeRepo *self, GHashTable
      *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_verify_commit_ext
      Src: /src/ostree/src/libostree/ostree-repo.c:5598,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5606,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:5602,1
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/src/libostree/ostree-repo.c:5601,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 6
    argNames:
    - self
    - commit_checksum
    - keyringdir
    - extra_keyring
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - GFile*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5608
      start: 5591
    functionDepth: 0
    functionLinenumber: 5591
    functionLinenumberEnd: 5608
    functionName: ostree_repo_verify_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - glnx_prefix_error
    - ostree_repo_verify_commit_ext
    - ostree_gpg_verify_result_require_valid_signature
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_verify_commit (OstreeRepo *self, const gchar
      *commit_checksum, GFile *keyringdir, GFile *extra_keyring, GCancellable *cancellable,
      GError **error) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3385,1
    - Dst: g_file_get_contents
      Src: /src/ostree/src/libostree/ostree-repo.c:3402,1
    - Dst: getenv
      Src: /src/ostree/src/libostree/ostree-repo.c:3395,1
    - Dst: g_strdelimit
      Src: /src/ostree/src/libostree/ostree-repo.c:3404,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo.c:3407,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:3413,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo.c:3418,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:3442,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo.c:3445,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:3423,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:3459,1
    - Dst: getenv
      Src: /src/ostree/src/libostree/ostree-repo.c:3466,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo.c:3381,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:3412,1
    - Dst: faccessat
      Src: /src/ostree/src/libostree/ostree-repo.c:3426,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo.c:3458,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo.c:3484,1
    - Dst: ostree_repo_reload_config
      Src: /src/ostree/src/libostree/ostree-repo.c:3496,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:3399,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo.c:3413,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/libostree/ostree-repo.c:3430,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:3437,1
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-repo.c:3456,1
    - Dst: fstatfs
      Src: /src/ostree/src/libostree/ostree-repo.c:3436,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-repo.c:3468,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:3472,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:3463,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 76
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3501
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3501
    functionName: ostree_repo_open
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_file_get_contents
    - g_strdelimit
    - glnx_shutil_mkdir_p_at
    - fstatfs
    - glnx_throw_errno_prefix
    - gs_file_get_path_cached
    - getenv
    - g_return_val_if_fail
    - glnx_set_error_from_errno
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_repo_reload_config
    - mkdirat
    - fstatat
    - g_strconcat
    - G_UNLIKELY
    - glnx_opendirat
    - faccessat
    - g_strdup
    - g_assert
    - g_debug
    - glnx_fstat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_open (OstreeRepo *self, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_metadata_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:4598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - self
    - objtype
    - sha256
    - out_variant
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GVariant**
    - GError**
    constantsTouched: []
    func_position:
      end: 4600
      start: 4594
    functionDepth: 0
    functionLinenumber: 4594
    functionLinenumberEnd: 4600
    functionName: ostree_repo_load_variant_if_exists
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - load_metadata_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_load_variant_if_exists (OstreeRepo *self, OstreeObjectType
      objtype, const char *sha256, GVariant **out_variant, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:5554,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:5564,1
    - Dst: glnx_prefix_error_null
      Src: /src/ostree/src/libostree/ostree-repo.c:5556,1
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:5560,1
    - Dst: glnx_prefix_error_null
      Src: /src/ostree/src/libostree/ostree-repo.c:5562,1
    - Dst: _ostree_repo_gpg_verify_with_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:5572,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 7
    argNames:
    - self
    - commit_checksum
    - remote_name
    - keyringdir
    - extra_keyring
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GFile*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5574
      start: 5546
    functionDepth: 0
    functionLinenumber: 5546
    functionLinenumberEnd: 5574
    functionName: _ostree_repo_verify_commit_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit_detached_metadata
    - _ostree_repo_gpg_verify_with_metadata
    - glnx_prefix_error_null
    - ostree_repo_load_variant
    - g_variant_get_data_as_bytes
    linkageType: ''
    returnType: OstreeGpgVerifyResult*
    signature: 'OstreeGpgVerifyResult *_ostree_repo_verify_commit_internal (OstreeRepo
      *self, const char *commit_checksum, const char *remote_name, GFile *keyringdir,
      GFile *extra_keyring, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:295,1
    - Dst: flock
      Src: /src/ostree/src/libostree/ostree-repo.c:305,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:305,1
    - Dst: fcntl
      Src: /src/ostree/src/libostree/ostree-repo.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - fd
    - flags
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 311
    functionName: do_repo_unlock
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - fcntl
    - TEMP_FAILURE_RETRY
    - flock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_repo_unlock (int fd, int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:6223,1
    - Dst: ostree_repo_regenerate_summary
      Src: /src/ostree/src/libostree/ostree-repo.c:6234,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:6229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6238
      start: 6219
    functionDepth: 0
    functionLinenumber: 6219
    functionLinenumberEnd: 6238
    functionName: _ostree_repo_maybe_regenerate_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_regenerate_summary
    - ot_keyfile_get_boolean_with_default
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_maybe_regenerate_summary (OstreeRepo *self,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo.c:6461,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:6464,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo.c:6471,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:6466,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo.c:6465,1
    - Dst: g_key_file_remove_key
      Src: /src/ostree/src/libostree/ostree-repo.c:6473,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - self
    - collection_id
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 6477
      start: 6458
    functionDepth: 0
    functionLinenumber: 6458
    functionLinenumberEnd: 6477
    functionName: ostree_repo_set_collection_id
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_key_file_remove_key
    - ostree_validate_collection_id
    - g_steal_pointer
    - g_key_file_set_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_set_collection_id (OstreeRepo *self, const gchar
      *collection_id, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:6243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6244
      start: 6240
    functionDepth: 0
    functionLinenumber: 6240
    functionLinenumberEnd: 6244
    functionName: _ostree_repo_has_staging_prefix
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_has_staging_prefix (const char *filename) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:263,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:273,1
    - Dst: flock
      Src: /src/ostree/src/libostree/ostree-repo.c:273,1
    - Dst: fcntl
      Src: /src/ostree/src/libostree/ostree-repo.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - fd
    - flags
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 279
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 279
    functionName: do_repo_lock
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - fcntl
    - TEMP_FAILURE_RETRY
    - flock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_repo_lock (int fd, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:747,1
    - Dst: ostree_repo_abort_transaction
      Src: /src/ostree/src/libostree/ostree-repo.c:754,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo.c:757,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - txn
    - cancellable
    - error
    argTypes:
    - OstreeRepoAutoTransaction*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: _ostree_repo_auto_transaction_abort
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_object
    - ostree_repo_abort_transaction
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_auto_transaction_abort (OstreeRepoAutoTransaction
      *txn, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_remote_name_is_file
      Src: /src/ostree/src/libostree/ostree-repo.c:1026,1
    - Dst: ostree_repo_get_remote_list_option
      Src: /src/ostree/src/libostree/ostree-repo.c:1045,1
    - Dst: _ostree_repo_get_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:1032,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:1039,1
    - Dst: g_key_file_get_string_list
      Src: /src/ostree/src/libostree/ostree-repo.c:1035,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1052,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1052,1
    - Dst: ostree_repo_get_remote_list_option
      Src: /src/ostree/src/libostree/ostree-repo.c:1057,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1060,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1060,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1062,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 5
    argNames:
    - self
    - remote_name
    - option_name
    - out_value
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char***
    - GError**
    constantsTouched: []
    func_position:
      end: 1064
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1064
    functionName: ostree_repo_get_remote_list_option
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_get_remote_list_option
    - g_key_file_get_string_list
    - g_error_matches
    - _ostree_repo_get_remote
    - g_steal_pointer
    - _ostree_repo_remote_name_is_file
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_get_remote_list_option (OstreeRepo *self, const
      char *remote_name, const char *option_name, char ***out_value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:6440,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:6440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 6443
      start: 6437
    functionDepth: 0
    functionLinenumber: 6437
    functionLinenumberEnd: 6443
    functionName: ostree_repo_get_collection_id
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_repo_get_collection_id (OstreeRepo *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: lock_state_name
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: char*
    signature: 'static const char *lock_state_name (int state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/ostree/src/libostree/ostree-repo.c:1427,1
    - Dst: ostree_repo_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1430,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-repo.c:1434,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-repo.c:1429,1
    - Dst: g_file_test
      Src: /src/ostree/src/libostree/ostree-repo.c:1427,1
    - Dst: get_default_repo_path
      Src: /src/ostree/src/libostree/ostree-repo.c:1438,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-repo.c:1440,1
    - Dst: ostree_repo_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1442,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1444
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1444
    functionName: ostree_repo_new_default
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - get_default_repo_path
    - g_file_new_for_path
    - g_file_test
    - g_getenv
    - ostree_repo_new
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'OstreeRepo *ostree_repo_new_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:1531,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:1532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 1535
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1535
    functionName: ostree_repo_get_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *ostree_repo_get_config (OstreeRepo *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-repo.c:2839,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo.c:2840,1
    - Dst: g_key_file_load_from_file
      Src: /src/ostree/src/libostree/ostree-repo.c:2841,1
    - Dst: add_remotes_from_keyfile
      Src: /src/ostree/src/libostree/ostree-repo.c:2844,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2842,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - self
    - path
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2845
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2845
    functionName: append_one_remote_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - add_remotes_from_keyfile
    - g_key_file_load_from_file
    - glnx_prefix_error
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean append_one_remote_config (OstreeRepo *self, GFile
      *path, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 3719
      start: 3715
    functionDepth: 0
    functionLinenumber: 3715
    functionLinenumberEnd: 3719
    functionName: ostree_repo_get_parent
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'OstreeRepo *ostree_repo_get_parent (OstreeRepo *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_has_loose_object
      Src: /src/ostree/src/libostree/ostree-repo.c:4346,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo.c:4354,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 6
    argNames:
    - self
    - objtype
    - checksum
    - out_have_object
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4362
      start: 4340
    functionDepth: 0
    functionLinenumber: 4340
    functionLinenumberEnd: 4362
    functionName: ostree_repo_has_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _ostree_repo_has_loose_object
    - ostree_repo_has_object
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_has_object (OstreeRepo *self, OstreeObjectType
      objtype, const char *checksum, gboolean *out_have_object, GCancellable *cancellable,
      GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo.c:6314,1
    - Dst: glnx_tmpdir_unset
      Src: /src/ostree/src/libostree/ostree-repo.c:6384,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo.c:6301,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:6328,1
    - Dst: _ostree_repo_try_lock_tmpdir
      Src: /src/ostree/src/libostree/ostree-repo.c:6342,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:6353,1
    - Dst: glnx_mkdtempat
      Src: /src/ostree/src/libostree/ostree-repo.c:6368,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo.c:6361,1
    - Dst: _ostree_repo_try_lock_tmpdir
      Src: /src/ostree/src/libostree/ostree-repo.c:6374,1
    - Dst: _ostree_repo_has_staging_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:6295,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:6295,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:6320,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:6330,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:6331,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:6335,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:6335,1
    - Dst: futimens
      Src: /src/ostree/src/libostree/ostree-repo.c:6350,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:6357,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:6356,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:6389,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 7
    argNames:
    - tmpdir_dfd
    - tmpdir_prefix
    - tmpdir_out
    - file_lock_out
    - reusing_dir_out
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GLnxTmpDir*
    - GLnxLockFile*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6398
      start: 6290
    functionDepth: 0
    functionLinenumber: 6290
    functionLinenumberEnd: 6398
    functionName: _ostree_repo_allocate_tmpdir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - futimens
    - _ostree_repo_try_lock_tmpdir
    - glnx_tmpdir_unset
    - glnx_opendirat
    - g_steal_fd
    - g_error_matches
    - g_steal_pointer
    - g_debug
    - g_str_has_prefix
    - glnx_dirfd_iterator_init_at
    - _ostree_repo_has_staging_prefix
    - glnx_dirfd_iterator_next_dent
    - glnx_strjoina
    - g_propagate_error
    - glnx_mkdtempat
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_allocate_tmpdir (int tmpdir_dfd, const char
      *tmpdir_prefix, GLnxTmpDir *tmpdir_out, GLnxLockFile *file_lock_out, gboolean
      *reusing_dir_out, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:232,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:233,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:234,1
    - Dst: lock_state_name
      Src: /src/ostree/src/libostree/ostree-repo.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - self
    - locker
    - out_info
    argTypes:
    - OstreeRepo*
    - GMutexLocker*
    - OstreeRepoLockInfo*
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: repo_lock_info
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - lock_state_name
    linkageType: ''
    returnType: void
    signature: 'static void repo_lock_info (OstreeRepo *self, GMutexLocker *locker,
      OstreeRepoLockInfo *out_info) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo.c:2864,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-repo.c:2869,1
    - Dst: ostree_sysroot_get_path
      Src: /src/ostree/src/libostree/ostree-repo.c:2875,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-repo.c:2895,1
    - Dst: g_weak_ref_get
      Src: /src/ostree/src/libostree/ostree-repo.c:2872,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-repo.c:2897,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-repo.c:2902,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 2
    argNames:
    - self
    - sysroot
    argTypes:
    - OstreeRepo*
    - GFile*
    constantsTouched: []
    func_position:
      end: 2903
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2903
    functionName: get_remotes_d_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_assert_not_reached
    - g_weak_ref_get
    - ostree_sysroot_get_path
    - g_file_resolve_relative_path
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *get_remotes_d_dir (OstreeRepo *self, GFile *sysroot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - repo_path
    - sysroot_path
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1411
    functionName: ostree_repo_new_for_sysroot_path
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'OstreeRepo *ostree_repo_new_for_sysroot_path (GFile *repo_path, GFile
      *sysroot_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: futimens
      Src: /src/ostree/src/libostree/ostree-repo.c:1514,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/src/libostree/ostree-repo.c:1516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeRepo*
    - GError**
    constantsTouched: []
    func_position:
      end: 1520
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1520
    functionName: _ostree_repo_update_mtime
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - futimens
    - glnx_set_prefix_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_update_mtime (OstreeRepo *self, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3696,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:3696,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3697,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3698,1
    - Dst: min_free_space_calculate_reserved_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:3700,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:3701,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - self
    - out_reserved_bytes
    - error
    argTypes:
    - OstreeRepo*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 3704
      start: 3693
    functionDepth: 0
    functionLinenumber: 3693
    functionLinenumberEnd: 3704
    functionName: ostree_repo_get_min_free_space_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - min_free_space_calculate_reserved_bytes
    - g_return_val_if_fail
    - glnx_prefix_error
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_get_min_free_space_bytes (OstreeRepo *self, guint64
      *out_reserved_bytes, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo.c:6250,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:6259,1
    - Dst: glnx_make_lock_file
      Src: /src/ostree/src/libostree/ostree-repo.c:6256,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:6266,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:6260,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:6266,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo.c:6276,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-repo.c:6278,1
    - Dst: glnx_release_lock_file
      Src: /src/ostree/src/libostree/ostree-repo.c:6281,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 5
    argNames:
    - tmpdir_dfd
    - tmpdir_name
    - file_lock_out
    - out_did_lock
    - error
    argTypes:
    - int
    - char*
    - GLnxLockFile*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 6286
      start: 6246
    functionDepth: 0
    functionLinenumber: 6246
    functionLinenumberEnd: 6286
    functionName: _ostree_repo_try_lock_tmpdir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - glnx_make_lock_file
    - glnx_fstatat_allow_noent
    - g_error_matches
    - g_steal_pointer
    - g_strconcat
    - glnx_release_lock_file
    - g_propagate_error
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_try_lock_tmpdir (int tmpdir_dfd, const char
      *tmpdir_name, GLnxLockFile *file_lock_out, gboolean *out_did_lock, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:6511,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:6511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 6514
      start: 6508
    functionDepth: 0
    functionLinenumber: 6508
    functionLinenumberEnd: 6514
    functionName: ostree_repo_get_bootloader
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_repo_get_bootloader (OstreeRepo *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1352
    functionName: ostree_repo_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'OstreeRepo *ostree_repo_new (GFile *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/libostree/ostree-repo.c:5757,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:5754,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:5765,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo.c:5784,1
    - Dst: ostree_checksum_to_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo.c:5785,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5783,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo.c:5758,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo.c:5769,1
    - Dst: GUINT64_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo.c:5777,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:5780,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5767,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo.c:5781,1
    - Dst: g_variant_new_uint64
      Src: /src/ostree/src/libostree/ostree-repo.c:5777,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:5753,1
    - Dst: ostree_commit_get_timestamp
      Src: /src/ostree/src/libostree/ostree-repo.c:5772,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-repo.c:5773,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5776,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo.c:5786,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo.c:5784,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 5
    argNames:
    - self
    - ref
    - checksum
    - refs_builder
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GVariantBuilder*
    - GError**
    constantsTouched: []
    func_position:
      end: 5789
      start: 5747
    functionDepth: 0
    functionLinenumber: 5747
    functionLinenumberEnd: 5789
    functionName: summary_add_ref_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - ostree_parse_refspec
    - g_variant_dict_insert
    - g_assert
    - g_date_time_new_from_unix_utc
    - GUINT64_TO_BE
    - g_variant_get_child_value
    - g_assert_not_reached
    - g_variant_dict_init
    - ostree_checksum_to_bytes_v
    - g_variant_builder_add_value
    - g_variant_dict_end
    - g_variant_new
    - ostree_repo_load_variant
    - ostree_commit_get_timestamp
    - g_variant_new_uint64
    - g_variant_get_size
    - g_variant_dict_insert_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean summary_add_ref_entry (OstreeRepo *self, const char
      *ref, const char *checksum, GVariantBuilder *refs_builder, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:6493,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:6493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 6496
      start: 6490
    functionDepth: 0
    functionLinenumber: 6490
    functionLinenumberEnd: 6496
    functionName: ostree_repo_get_default_repo_finders
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar *const *ostree_repo_get_default_repo_finders (OstreeRepo
      *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:852,1
    - Dst: ostree_remote_ref
      Src: /src/ostree/src/libostree/ostree-repo.c:859,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:861,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:856,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:854,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - self
    - name
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 866
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 866
    functionName: _ostree_repo_get_remote
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_hash_table_lookup
    - g_mutex_unlock
    - ostree_remote_ref
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: OstreeRemote*
    signature: 'OstreeRemote *_ostree_repo_get_remote (OstreeRepo *self, const char
      *name, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1357,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:1358,1
    - Dst: ostree_repo_open
      Src: /src/ostree/src/libostree/ostree-repo.c:1360,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - dfd
    - cancellable
    - error
    argTypes:
    - int*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1363
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1363
    functionName: repo_open_at_take_fd
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_steal_fd
    - g_steal_pointer
    - ostree_repo_open
    - g_object_new
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'static OstreeRepo *repo_open_at_take_fd (int *dfd, GCancellable *cancellable,
      GError **error) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_transaction_write_repo_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:5845,1
    - Dst: g_get_real_time
      Src: /src/ostree/src/libostree/ostree-repo.c:5948,1
    - Dst: g_hash_table_get_keys
      Src: /src/ostree/src/libostree/ostree-repo.c:6005,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:6134,1
    - Dst: ostree_repo_get_collection_id
      Src: /src/ostree/src/libostree/ostree-repo.c:5831,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo.c:5887,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:5902,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5941,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo.c:5985,1
    - Dst: g_list_sort
      Src: /src/ostree/src/libostree/ostree-repo.c:6006,1
    - Dst: g_variant_builder_close
      Src: /src/ostree/src/libostree/ostree-repo.c:6046,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo.c:6061,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5946,1
    - Dst: glnx_mkdtempat
      Src: /src/ostree/src/libostree/ostree-repo.c:6079,1
    - Dst: ostree_repo_list_static_delta_names
      Src: /src/ostree/src/libostree/ostree-repo.c:5919,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo.c:6003,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:6012,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:5910,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo.c:5995,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:5991,1
    - Dst: ostree_repo_list_refs
      Src: /src/ostree/src/libostree/ostree-repo.c:5893,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:6054,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo.c:6017,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo.c:6052,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:5816,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo.c:5868,1
    - Dst: _ostree_repo_auto_transaction_commit
      Src: /src/ostree/src/libostree/ostree-repo.c:5880,1
    - Dst: _ostree_repo_file_replace_contents
      Src: /src/ostree/src/libostree/ostree-repo.c:6083,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo.c:6063,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5937,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:5962,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:5966,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo.c:5983,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:6003,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo.c:6084,1
    - Dst: summary_add_ref_entry
      Src: /src/ostree/src/libostree/ostree-repo.c:5904,1
    - Dst: ostree_repo_static_delta_reindex
      Src: /src/ostree/src/libostree/ostree-repo.c:6070,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:6109,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:6116,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo.c:6065,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:6129,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:6136,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/src/libostree/ostree-repo.c:5929,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo.c:6022,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo.c:6055,1
    - Dst: _ostree_sign_summary_at
      Src: /src/ostree/src/libostree/ostree-repo.c:6094,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:6104,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:6126,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-repo.c:6127,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5969,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:6111,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5817,1
    - Dst: g_variant_builder_open
      Src: /src/ostree/src/libostree/ostree-repo.c:6023,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:6051,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:6067,1
    - Dst: g_variant_new_uint64
      Src: /src/ostree/src/libostree/ostree-repo.c:5948,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo.c:5869,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo.c:5885,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo.c:5922,1
    - Dst: _ostree_repo_static_delta_superblock_digest
      Src: /src/ostree/src/libostree/ostree-repo.c:5932,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo.c:5942,1
    - Dst: summary_add_ref_entry
      Src: /src/ostree/src/libostree/ostree-repo.c:6036,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo.c:5996,1
    - Dst: _ostree_repo_add_gpg_signature_summary_at
      Src: /src/ostree/src/libostree/ostree-repo.c:6089,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-repo.c:6135,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/libostree/ostree-repo.c:5825,1
    - Dst: ostree_repo_sign_commit
      Src: /src/ostree/src/libostree/ostree-repo.c:5857,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo.c:6064,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo.c:6103,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:6081,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:5970,1
    - Dst: g_hash_table_get_keys
      Src: /src/ostree/src/libostree/ostree-repo.c:6026,1
    - Dst: g_variant_builder_close
      Src: /src/ostree/src/libostree/ostree-repo.c:6045,1
    - Dst: g_list_sort
      Src: /src/ostree/src/libostree/ostree-repo.c:6027,1
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/src/libostree/ostree-repo.c:5798,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:5818,1
    - Dst: ostree_sign_commit
      Src: /src/ostree/src/libostree/ostree-repo.c:5874,1
    - Dst: g_hash_table_get_keys
      Src: /src/ostree/src/libostree/ostree-repo.c:5896,1
    - Dst: glnx_renameat
      Src: /src/ostree/src/libostree/ostree-repo.c:6115,1
    - Dst: g_list_sort
      Src: /src/ostree/src/libostree/ostree-repo.c:5897,1
    - Dst: ot_keyfile_get_value_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:5953,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo.c:5999,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-repo.c:6063,1
    - Dst: utimensat
      Src: /src/ostree/src/libostree/ostree-repo.c:6109,1
    - Dst: glnx_renameat
      Src: /src/ostree/src/libostree/ostree-repo.c:6120,1
    - Dst: GUINT64_TO_BE
      Src: /src/ostree/src/libostree/ostree-repo.c:5948,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5965,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo.c:6066,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo.c:6085,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo.c:5811,1
    - Dst: _ostree_repo_auto_transaction_start
      Src: /src/ostree/src/libostree/ostree-repo.c:5837,1
    - Dst: g_variant_builder_open
      Src: /src/ostree/src/libostree/ostree-repo.c:6021,1
    - Dst: ostree_sign_set_sk
      Src: /src/ostree/src/libostree/ostree-repo.c:5871,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo.c:5957,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:6032,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:6023,1
    - Dst: ostree_repo_list_collection_refs
      Src: /src/ostree/src/libostree/ostree-repo.c:5976,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5956,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:6021,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:5815,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5812,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:5887,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo.c:5989,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 212
    argCount: 6
    argNames:
    - self
    - do_metadata_commit
    - additional_metadata
    - options
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gboolean
    - GVariant*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6140
      start: 5791
    functionDepth: 0
    functionLinenumber: 5791
    functionLinenumberEnd: 6140
    functionName: regenerate_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_variant_builder_close
    - GUINT64_TO_BE
    - g_hash_table_insert
    - g_hash_table_iter_next
    - summary_add_ref_entry
    - ostree_repo_static_delta_reindex
    - glnx_throw
    - ot_keyfile_get_value_with_default
    - glnx_throw_errno_prefix
    - g_variant_new_uint64
    - ostree_repo_list_refs
    - _ostree_repo_file_replace_contents
    - g_variant_new_string
    - ostree_repo_list_collection_refs
    - _ostree_repo_add_gpg_signature_summary_at
    - g_variant_dict_init
    - TEMP_FAILURE_RETRY
    - g_variant_builder_add
    - g_variant_builder_add_value
    - glnx_fstatat
    - _ostree_sign_summary_at
    - _ostree_repo_static_delta_superblock_digest
    - ot_keyfile_get_boolean_with_default
    - g_variant_get_data
    - g_variant_lookup
    - g_variant_iter_loop
    - g_hash_table_get_keys
    - _ostree_repo_auto_transaction_start
    - ostree_repo_sign_commit
    - _ostree_repo_transaction_write_repo_metadata
    - ostree_sign_set_sk
    - ostree_repo_auto_lock_push
    - g_variant_get
    - g_variant_new_boolean
    - g_hash_table_iter_init
    - utimensat
    - g_variant_lookup_value
    - glnx_prefix_error
    - g_variant_dict_insert_value
    - g_get_real_time
    - _ostree_repo_auto_transaction_commit
    - ostree_sign_commit
    - _ostree_parse_delta_name
    - ostree_sign_get_by_name
    - g_hash_table_new_full
    - g_variant_ref_sink
    - g_str_equal
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - g_variant_get_size
    - ostree_repo_list_static_delta_names
    - g_list_sort
    - g_variant_dict_end
    - g_variant_builder_new
    - glnx_renameat
    - glnx_mkdtempat
    - g_debug
    - ot_ensure_unlinked_at
    - g_variant_builder_open
    - g_hash_table_lookup
    - ostree_repo_get_collection_id
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean regenerate_metadata (OstreeRepo *self, gboolean do_metadata_commit,
      GVariant *additional_metadata, GVariant *options, GCancellable *cancellable,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:2564,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:2568,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:2570,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:2566,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:2570,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:2572,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2575,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - mode
    - out_mode
    - error
    argTypes:
    - char*
    - OstreeRepoMode*
    - GError**
    constantsTouched: []
    func_position:
      end: 2579
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2579
    functionName: ostree_repo_mode_from_string
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - glnx_throw
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_mode_from_string (const char *mode, OstreeRepoMode
      *out_mode, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:910,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:911,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:912,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-repo.c:916,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:914,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - self
    - remote
    argTypes:
    - OstreeRepo*
    - OstreeRemote*
    constantsTouched: []
    func_position:
      end: 921
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 921
    functionName: _ostree_repo_remove_remote
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_return_val_if_fail
    - g_hash_table_remove
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_remove_remote (OstreeRepo *self, OstreeRemote
      *remote) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:1572,1
    - Dst: g_key_file_get_groups
      Src: /src/ostree/src/libostree/ostree-repo.c:1578,1
    - Dst: _ostree_repo_get_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:1587,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:1590,1
    - Dst: ostree_remote_new_from_keyfile
      Src: /src/ostree/src/libostree/ostree-repo.c:1581,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1592,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1592,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1598,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo.c:1600,1
    - Dst: g_key_file_to_data
      Src: /src/ostree/src/libostree/ostree-repo.c:1607,1
    - Dst: g_key_file_load_from_data
      Src: /src/ostree/src/libostree/ostree-repo.c:1614,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1613,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-repo.c:1608,1
    - Dst: g_key_file_free
      Src: /src/ostree/src/libostree/ostree-repo.c:1612,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - self
    - new_config
    - error
    argTypes:
    - OstreeRepo*
    - GKeyFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 1618
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1618
    functionName: ostree_repo_write_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - glnx_file_replace_contents_at
    - g_key_file_new
    - g_key_file_load_from_data
    - g_error_matches
    - _ostree_repo_get_remote
    - g_key_file_free
    - g_key_file_to_data
    - g_steal_pointer
    - ostree_remote_new_from_keyfile
    - gs_file_get_path_cached
    - g_propagate_error
    - g_return_val_if_fail
    - g_key_file_get_groups
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_config (OstreeRepo *self, GKeyFile *new_config,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2546,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 3
    argNames:
    - mode
    - out_mode
    - error
    argTypes:
    - OstreeRepoMode
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 2551
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2551
    functionName: ostree_repo_mode_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_repo_mode_to_string (OstreeRepoMode mode, const
      char **out_mode, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reload_core_config
      Src: /src/ostree/src/libostree/ostree-repo.c:3369,1
    - Dst: reload_remote_config
      Src: /src/ostree/src/libostree/ostree-repo.c:3371,1
    - Dst: reload_sysroot_config
      Src: /src/ostree/src/libostree/ostree-repo.c:3373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3376
      start: 3366
    functionDepth: 0
    functionLinenumber: 3366
    functionLinenumberEnd: 3376
    functionName: ostree_repo_reload_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - reload_sysroot_config
    - reload_remote_config
    - reload_core_config
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_reload_config (OstreeRepo *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - remote_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 927
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 927
    functionName: _ostree_repo_remote_name_is_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_remote_name_is_file (const char *remote_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:1550,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:1551,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1553,1
    - Dst: g_key_file_to_data
      Src: /src/ostree/src/libostree/ostree-repo.c:1554,1
    - Dst: g_key_file_load_from_data
      Src: /src/ostree/src/libostree/ostree-repo.c:1555,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo.c:1556,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo.c:1557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 1559
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1559
    functionName: ostree_repo_copy_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_key_file_new
    - g_free
    - g_assert
    - g_assert_not_reached
    - g_key_file_to_data
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *ostree_repo_copy_config (OstreeRepo *self) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ot_keyfile_get_value_with_default_group_optional
      Src: /src/ostree/src/libostree/ostree-repo.c:3301,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:3328,1
    - Dst: ot_keyfile_get_string_list_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3326,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:3322,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo.c:3314,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo.c:3331,1
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-repo.c:3335,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:3338,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-repo.c:3343,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:3344,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo.c:3345,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:3348,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3353
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3353
    functionName: reload_sysroot_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_strdup
    - g_strndup
    - g_hash_table_remove_all
    - ot_keyfile_get_value_with_default_group_optional
    - ot_keyfile_get_string_list_with_default
    - g_hash_table_replace
    - glnx_throw
    - strchr
    - ot_keyfile_get_boolean_with_default
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean reload_sysroot_config (OstreeRepo *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/ostree/src/libostree/ostree-repo.c:825,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo.c:838,1
    - Dst: ostree_repo_abort_transaction
      Src: /src/ostree/src/libostree/ostree-repo.c:832,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo.c:835,1
    - Dst: g_warning
      Src: /src/ostree/src/libostree/ostree-repo.c:833,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - txn
    argTypes:
    - OstreeRepoAutoTransaction*
    constantsTouched: []
    func_position:
      end: 840
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 840
    functionName: _ostree_repo_auto_transaction_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_clear_object
    - g_warning
    - ostree_repo_abort_transaction
    linkageType: ''
    returnType: void
    signature: 'void _ostree_repo_auto_transaction_unref (OstreeRepoAutoTransaction
      *txn) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_remote_name_is_file
      Src: /src/ostree/src/libostree/ostree-repo.c:1095,1
    - Dst: g_key_file_get_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:1104,1
    - Dst: _ostree_repo_get_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:1101,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:1107,1
    - Dst: ostree_repo_get_remote_boolean_option
      Src: /src/ostree/src/libostree/ostree-repo.c:1113,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1121,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1121,1
    - Dst: ostree_repo_get_remote_boolean_option
      Src: /src/ostree/src/libostree/ostree-repo.c:1127,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1130,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 6
    argNames:
    - self
    - remote_name
    - option_name
    - default_value
    - out_value
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - gboolean
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 1134
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1134
    functionName: ostree_repo_get_remote_boolean_option
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_get_remote_boolean_option
    - g_key_file_get_boolean
    - g_error_matches
    - _ostree_repo_get_remote
    - g_steal_pointer
    - _ostree_repo_remote_name_is_file
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_get_remote_boolean_option (OstreeRepo *self,
      const char *remote_name, const char *option_name, gboolean default_value, gboolean
      *out_value, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: repo_load_file_archive
      Src: /src/ostree/src/libostree/ostree-repo.c:4201,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo.c:4219,1
    - Dst: _ostree_repo_load_file_bare
      Src: /src/ostree/src/libostree/ostree-repo.c:4209,1
    - Dst: _ostree_stbuf_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-repo.c:4225,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:4219,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo.c:4226,1
    - Dst: g_file_info_set_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo.c:4227,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:4229,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo.c:4229,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:4232,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 20
    argCount: 7
    argNames:
    - self
    - checksum
    - out_input
    - out_file_info
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GInputStream**
    - GFileInfo**
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4235
      start: 4195
    functionDepth: 0
    functionLinenumber: 4195
    functionLinenumberEnd: 4235
    functionName: ostree_repo_load_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - repo_load_file_archive
    - S_ISREG
    - _ostree_repo_load_file_bare
    - g_steal_fd
    - g_assert
    - g_unix_input_stream_new
    - S_ISLNK
    - ot_transfer_out_value
    - g_file_info_set_symlink_target
    - _ostree_stbuf_to_gfileinfo
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_load_file (OstreeRepo *self, const char *checksum,
      GInputStream **out_input, GFileInfo **out_file_info, GVariant **out_xattrs,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_gpg_prepare_verifier
      Src: /src/ostree/src/libostree/ostree-repo.c:5494,1
    - Dst: _ostree_gpg_verifier_check_signature
      Src: /src/ostree/src/libostree/ostree-repo.c:5498,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 8
    argNames:
    - self
    - remote_name
    - data
    - signatures
    - keyringdir
    - extra_keyring
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - GBytes*
    - GBytes*
    - GFile*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5499
      start: 5488
    functionDepth: 0
    functionLinenumber: 5488
    functionLinenumberEnd: 5499
    functionName: _ostree_repo_gpg_verify_data_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _ostree_gpg_verifier_check_signature
    - _ostree_repo_gpg_prepare_verifier
    linkageType: ''
    returnType: OstreeGpgVerifyResult*
    signature: 'static OstreeGpgVerifyResult *_ostree_repo_gpg_verify_data_internal
      (OstreeRepo *self, const gchar *remote_name, GBytes *data, GBytes *signatures,
      GFile *keyringdir, GFile *extra_keyring, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1165,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1166,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1167,1
    - Dst: g_mutex_clear
      Src: /src/ostree/src/libostree/ostree-repo.c:1169,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo.c:1170,1
    - Dst: g_strfreev
      Src: /src/ostree/src/libostree/ostree-repo.c:1171,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1172,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1174,1
    - Dst: g_mutex_clear
      Src: /src/ostree/src/libostree/ostree-repo.c:1178,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo.c:1180,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo.c:1143,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1144,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:1146,1
    - Dst: glnx_release_lock_file
      Src: /src/ostree/src/libostree/ostree-repo.c:1148,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:1150,1
    - Dst: g_weak_ref_clear
      Src: /src/ostree/src/libostree/ostree-repo.c:1154,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:1152,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1163,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo.c:1155,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:1177,1
    - Dst: g_hash_table_destroy
      Src: /src/ostree/src/libostree/ostree-repo.c:1160,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1164,1
    - Dst: g_mutex_clear
      Src: /src/ostree/src/libostree/ostree-repo.c:1168,1
    - Dst: g_mutex_clear
      Src: /src/ostree/src/libostree/ostree-repo.c:1175,1
    - Dst: OSTREE_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:1139,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1141,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1145,1
    - Dst: glnx_tmpdir_unset
      Src: /src/ostree/src/libostree/ostree-repo.c:1147,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:1149,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:1151,1
    - Dst: g_key_file_free
      Src: /src/ostree/src/libostree/ostree-repo.c:1162,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1153,1
    - Dst: g_hash_table_destroy
      Src: /src/ostree/src/libostree/ostree-repo.c:1158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1181
    functionName: ostree_repo_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_free
    - G_OBJECT_CLASS
    - glnx_tmpdir_unset
    - g_hash_table_destroy
    - g_clear_pointer
    - OSTREE_REPO
    - g_clear_object
    - g_key_file_free
    - g_clear_error
    - g_mutex_clear
    - g_strfreev
    - g_weak_ref_clear
    - glnx_close_fd
    - glnx_release_lock_file
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5514,1
    - Dst: g_byte_array_new
      Src: /src/ostree/src/libostree/ostree-repo.c:5532,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo.c:5533,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-repo.c:5518,1
    - Dst: g_variant_iter_next_value
      Src: /src/ostree/src/libostree/ostree-repo.c:5534,1
    - Dst: g_byte_array_append
      Src: /src/ostree/src/libostree/ostree-repo.c:5536,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo.c:5536,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo.c:5536,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo.c:5537,1
    - Dst: g_byte_array_free_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:5539,1
    - Dst: _ostree_repo_gpg_verify_data_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:5541,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 8
    argNames:
    - self
    - signed_data
    - metadata
    - remote_name
    - keyringdir
    - extra_keyring
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GBytes*
    - GVariant*
    - char*
    - GFile*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5543
      start: 5501
    functionDepth: 0
    functionLinenumber: 5501
    functionLinenumberEnd: 5543
    functionName: _ostree_repo_gpg_verify_with_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - _ostree_repo_gpg_verify_data_internal
    - g_variant_iter_init
    - g_variant_get_data
    - g_variant_unref
    - g_byte_array_new
    - g_variant_lookup_value
    - g_set_error_literal
    - g_byte_array_append
    - g_variant_get_size
    - g_byte_array_free_to_bytes
    linkageType: ''
    returnType: OstreeGpgVerifyResult*
    signature: 'OstreeGpgVerifyResult *_ostree_repo_gpg_verify_with_metadata (OstreeRepo
      *self, GBytes *signed_data, GVariant *metadata, const char *remote_name, GFile
      *keyringdir, GFile *extra_keyring, GCancellable *cancellable, GError **error) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo.c:4047,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:4057,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo.c:4057,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:4060,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:4063,1
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/src/libostree/ostree-repo.c:4087,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:4099,1
    - Dst: g_input_stream_read_all
      Src: /src/ostree/src/libostree/ostree-repo.c:4111,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-repo.c:4115,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:4118,1
    - Dst: _ostree_repo_read_xattrs_file_link
      Src: /src/ostree/src/libostree/ostree-repo.c:4163,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo.c:4170,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo.c:4074,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:4078,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:4098,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo.c:4131,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:4132,1
    - Dst: g_variant_new_array
      Src: /src/ostree/src/libostree/ostree-repo.c:4141,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:4141,1
    - Dst: g_variant_new_array
      Src: /src/ostree/src/libostree/ostree-repo.c:4153,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:4153,1
    - Dst: glnx_dfd_name_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo.c:4154,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:4178,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:4034,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:4052,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo.c:4039,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo.c:4081,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo.c:4085,1
    - Dst: _ostree_repo_load_file_bare
      Src: /src/ostree/src/libostree/ostree-repo.c:4064,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-repo.c:4076,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo.c:4081,1
    - Dst: glnx_fgetxattr_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:4094,1
    - Dst: filemeta_to_stat
      Src: /src/ostree/src/libostree/ostree-repo.c:4100,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo.c:4110,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:4131,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo.c:4149,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo.c:4040,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo.c:4052,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:4082,1
    - Dst: _ostree_canonicalize_xattrs
      Src: /src/ostree/src/libostree/ostree-repo.c:4103,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo.c:4104,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo.c:4132,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:4141,1
    - Dst: ostree_fs_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo.c:4144,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:4153,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:4177,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo.c:4137,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:4174,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 118
    argCount: 8
    argNames:
    - self
    - checksum
    - out_fd
    - out_stbuf
    - out_symlink
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - int*
    - struct stat*
    - char**
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4180
      start: 4026
    functionDepth: 0
    functionLinenumber: 4026
    functionLinenumberEnd: 4180
    functionName: _ostree_repo_load_file_bare
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - glnx_dfd_name_get_all_xattrs
    - g_strndup
    - S_ISLNK
    - g_input_stream_read_all
    - glnx_throw
    - glnx_throw_errno_prefix
    - GLNX_AUTO_PREFIX_ERROR
    - g_unix_input_stream_new
    - TEMP_FAILURE_RETRY
    - g_assert_not_reached
    - filemeta_to_stat
    - fstatat
    - ot_transfer_out_value
    - g_variant_new_array
    - _ostree_repo_load_file_bare
    - g_steal_fd
    - glnx_strjoina
    - g_variant_builder_init
    - g_variant_ref_sink
    - glnx_close_fd
    - openat
    - g_set_error
    - glnx_fgetxattr_bytes
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - glnx_readlinkat_malloc
    - g_assert
    - _ostree_canonicalize_xattrs
    - _ostree_loose_path
    - g_variant_new_from_bytes
    - _ostree_repo_read_xattrs_file_link
    - ostree_fs_get_all_xattrs
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_load_file_bare (OstreeRepo *self, const char
      *checksum, int *out_fd, struct stat *out_stbuf, char **out_symlink, GVariant
      **out_xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:2146,1
    - Dst: ot_gpgme_new_ctx
      Src: /src/ostree/src/libostree/ostree-repo.c:2160,1
    - Dst: ot_gpgme_ctx_tmp_home_dir
      Src: /src/ostree/src/libostree/ostree-repo.c:2168,1
    - Dst: gpgme_op_keylist_next
      Src: /src/ostree/src/libostree/ostree-repo.c:2218,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2202,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2264,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/src/libostree/ostree-repo.c:2282,1
    - Dst: gpgme_op_export_keys
      Src: /src/ostree/src/libostree/ostree-repo.c:2302,1
    - Dst: gpgme_op_import_result
      Src: /src/ostree/src/libostree/ostree-repo.c:2318,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/src/libostree/ostree-repo.c:2335,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2314,1
    - Dst: ot_gpgme_kill_agent
      Src: /src/ostree/src/libostree/ostree-repo.c:2356,1
    - Dst: ot_gpgme_kill_agent
      Src: /src/ostree/src/libostree/ostree-repo.c:2350,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:2146,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:2147,1
    - Dst: gpgme_op_keylist_start
      Src: /src/ostree/src/libostree/ostree-repo.c:2212,1
    - Dst: ot_gpgme_new_ctx
      Src: /src/ostree/src/libostree/ostree-repo.c:2242,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2249,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2255,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/src/libostree/ostree-repo.c:2261,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2298,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2305,1
    - Dst: gpgme_data_seek
      Src: /src/ostree/src/libostree/ostree-repo.c:2309,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2364,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2360,1
    - Dst: gpgme_op_import
      Src: /src/ostree/src/libostree/ostree-repo.c:2311,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:2319,1
    - Dst: gpgme_op_import
      Src: /src/ostree/src/libostree/ostree-repo.c:2174,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:2181,1
    - Dst: gpgme_err_code
      Src: /src/ostree/src/libostree/ostree-repo.c:2227,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2229,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo.c:2235,1
    - Dst: ot_gpgme_ctx_tmp_home_dir
      Src: /src/ostree/src/libostree/ostree-repo.c:2247,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:2253,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo.c:2259,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-repo.c:2279,1
    - Dst: ostree_remote_unref
      Src: /src/ostree/src/libostree/ostree-repo.c:2346,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo.c:2357,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo.c:2351,1
    - Dst: _ostree_repo_get_remote_inherited
      Src: /src/ostree/src/libostree/ostree-repo.c:2151,1
    - Dst: ot_gpgme_data_input
      Src: /src/ostree/src/libostree/ostree-repo.c:2166,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:2170,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2177,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo.c:2189,1
    - Dst: gpgme_get_key
      Src: /src/ostree/src/libostree/ostree-repo.c:2199,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo.c:2207,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo.c:2224,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/src/libostree/ostree-repo.c:2288,1
    - Dst: gpgme_data_new
      Src: /src/ostree/src/libostree/ostree-repo.c:2295,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2328,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 127
    argCount: 7
    argNames:
    - self
    - name
    - source_stream
    - key_ids
    - out_imported
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GInputStream*
    - char**
    - guint*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2366
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2366
    functionName: ostree_repo_remote_gpg_import
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - glnx_file_copy_at
    - ostree_remote_unref
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - gpgme_err_code
    - glnx_throw
    - g_return_val_if_fail
    - gpgme_op_import_result
    - glnx_set_prefix_error_from_errno
    - ot_gpgme_new_ctx
    - fstatat
    - gpgme_op_keylist_start
    - gpgme_get_key
    - ot_gpgme_kill_agent
    - glnx_opendirat
    - _ostree_repo_get_remote_inherited
    - g_prefix_error
    - ot_gpgme_throw
    - g_ptr_array_add
    - ot_gpgme_ctx_tmp_home_dir
    - openat
    - gpgme_data_new
    - gpgme_op_export_keys
    - gpgme_op_keylist_next
    - gpgme_op_import
    - glnx_shutil_rm_rf_at
    - OSTREE_IS_REPO
    - ot_gpgme_data_input
    - gpgme_data_seek
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_gpg_import (OstreeRepo *self, const char
      *name, GInputStream *source_stream, const char *const *key_ids, guint *out_imported,
      GCancellable *cancellable, GError **error) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:2617,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo.c:2624,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo.c:2629,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:2635,1
    - Dst: ostree_repo_mode_to_string
      Src: /src/ostree/src/libostree/ostree-repo.c:2631,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:2641,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-repo.c:2643,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-repo.c:2648,1
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-repo.c:2651,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:2639,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo.c:2653,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo.c:2667,1
    - Dst: _ostree_write_bareuser_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:2669,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo.c:2590,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:2605,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-repo.c:2598,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:2609,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo.c:2600,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:2633,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:2673,1
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-repo.c:2614,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo.c:2616,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:2621,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:2654,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 52
    argCount: 7
    argNames:
    - dfd
    - path
    - mode
    - options
    - out_dfd
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - OstreeRepoMode
    - GVariant*
    - int*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2675
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2675
    functionName: repo_create_at_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - GLNX_AUTO_PREFIX_ERROR
    - g_string_new
    - glnx_file_replace_contents_at
    - G_UNLIKELY
    - glnx_fstatat_allow_noent
    - glnx_opendirat
    - g_steal_fd
    - g_assert
    - g_string_append_printf
    - mkdirat
    - g_build_filename
    - ostree_repo_mode_to_string
    - _ostree_write_bareuser_metadata
    - glnx_open_tmpfile_linkable_at
    - glnx_throw_errno_prefix
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean repo_create_at_internal (int dfd, const char *path,
      OstreeRepoMode mode, GVariant *options, int *out_dfd, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:5727,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:5727,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:5728,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:5729,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:5730,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:5733,1
    - Dst: _ostree_repo_gpg_verify_with_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:5736,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 6
    argNames:
    - self
    - remote_name
    - summary
    - signatures
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GBytes*
    - GBytes*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5742
      start: 5721
    functionDepth: 0
    functionLinenumber: 5721
    functionLinenumberEnd: 5742
    functionName: ostree_repo_verify_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _ostree_repo_gpg_verify_with_metadata
    - g_variant_new_from_bytes
    - glnx_throw
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeGpgVerifyResult*
    signature: 'OstreeGpgVerifyResult *ostree_repo_verify_summary (OstreeRepo *self,
      const char *remote_name, GBytes *summary, GBytes *signatures, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regenerate_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:6210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - self
    - additional_metadata
    - options
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6211
      start: 6206
    functionDepth: 0
    functionLinenumber: 6206
    functionLinenumberEnd: 6211
    functionName: ostree_repo_regenerate_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - regenerate_metadata
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_regenerate_metadata (OstreeRepo *self, GVariant
      *additional_metadata, GVariant *options, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:5693,1
    - Dst: _ostree_repo_gpg_verify_data_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:5698,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:5694,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:5695,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:5693,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5702,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 8
    argNames:
    - self
    - remote_name
    - data
    - signatures
    - keyringdir
    - extra_keyring
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - GBytes*
    - GBytes*
    - GFile*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5705
      start: 5688
    functionDepth: 0
    functionLinenumber: 5688
    functionLinenumberEnd: 5705
    functionName: ostree_repo_gpg_verify_data
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _ostree_repo_gpg_verify_data_internal
    - g_return_val_if_fail
    - glnx_throw
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: OstreeGpgVerifyResult*
    signature: 'OstreeGpgVerifyResult *ostree_repo_gpg_verify_data (OstreeRepo *self,
      const gchar *remote_name, GBytes *data, GBytes *signatures, GFile *keyringdir,
      GFile *extra_keyring, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regenerate_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:6172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - self
    - additional_metadata
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6173
      start: 6168
    functionDepth: 0
    functionLinenumber: 6168
    functionLinenumberEnd: 6173
    functionName: ostree_repo_regenerate_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - regenerate_metadata
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_regenerate_summary (OstreeRepo *self, GVariant
      *additional_metadata, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:804,1
    - Dst: g_atomic_int_add
      Src: /src/ostree/src/libostree/ostree-repo.c:806,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - txn
    argTypes:
    - OstreeRepoAutoTransaction*
    constantsTouched: []
    func_position:
      end: 810
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 810
    functionName: _ostree_repo_auto_transaction_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_add
    linkageType: ''
    returnType: OstreeRepoAutoTransaction*
    signature: 'OstreeRepoAutoTransaction *_ostree_repo_auto_transaction_ref (OstreeRepoAutoTransaction
      *txn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_get_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:874,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:880,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:884,1
    - Dst: _ostree_repo_get_remote_inherited
      Src: /src/ostree/src/libostree/ostree-repo.c:878,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - self
    - name
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 885
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 885
    functionName: _ostree_repo_get_remote_inherited
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_steal_pointer
    - _ostree_repo_get_remote_inherited
    - _ostree_repo_get_remote
    linkageType: ''
    returnType: OstreeRemote*
    signature: 'OstreeRemote *_ostree_repo_get_remote_inherited (OstreeRepo *self,
      const char *name, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo.c:1628,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo.c:1629,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1633,1
    - Dst: g_variant_get_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:1631,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo.c:1632,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1633,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo.c:1634,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:1635,1
    - Dst: g_variant_get_boolean
      Src: /src/ostree/src/libostree/ostree-repo.c:1635,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo.c:1636,1
    - Dst: g_key_file_set_string_list
      Src: /src/ostree/src/libostree/ostree-repo.c:1640,1
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-repo.c:1643,1
    - Dst: g_variant_get_type
      Src: /src/ostree/src/libostree/ostree-repo.c:1643,1
    - Dst: g_variant_get_strv
      Src: /src/ostree/src/libostree/ostree-repo.c:1639,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - keyfile
    - section
    - vardict
    argTypes:
    - GKeyFile*
    - char*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1645
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1645
    functionName: keyfile_set_from_vardict
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_key_file_set_boolean
    - g_variant_iter_loop
    - g_key_file_set_string_list
    - g_variant_get_boolean
    - g_variant_iter_init
    - g_variant_get_variant
    - g_critical
    - g_variant_get_type
    - g_variant_get_strv
    - g_variant_get_string
    - g_key_file_set_string
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void keyfile_set_from_vardict (GKeyFile *keyfile, const char
      *section, GVariant *vardict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: impl_repo_remote_delete
      Src: /src/ostree/src/libostree/ostree-repo.c:1827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - self
    - name
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1828
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1828
    functionName: ostree_repo_remote_delete
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - impl_repo_remote_delete
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_delete (OstreeRepo *self, const char *name,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_get_remote_boolean_option
      Src: /src/ostree/src/libostree/ostree-repo.c:2100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - self
    - name
    - out_gpg_verify_summary
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 2102
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2102
    functionName: ostree_repo_remote_get_gpg_verify_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_get_remote_boolean_option
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_get_gpg_verify_summary (OstreeRepo *self,
      const char *name, gboolean *out_gpg_verify_summary, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ot_fdrel_to_gfile
      Src: /src/ostree/src/libostree/ostree-repo.c:3593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 3595
      start: 3585
    functionDepth: 0
    functionLinenumber: 3585
    functionLinenumberEnd: 3595
    functionName: ostree_repo_get_path
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ot_fdrel_to_gfile
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *ostree_repo_get_path (OstreeRepo *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3633,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:3638,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:3633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 3644
      start: 3630
    functionDepth: 0
    functionLinenumber: 3630
    functionLinenumberEnd: 3644
    functionName: ostree_repo_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: guint
    signature: 'guint ostree_repo_hash (OstreeRepo *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo.c:4295,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-repo.c:4302,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo.c:4308,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:4308,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:4313,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 6
    argNames:
    - self
    - checksum
    - objtype
    - out_is_stored
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - OstreeObjectType
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4324
      start: 4290
    functionDepth: 0
    functionLinenumber: 4290
    functionLinenumberEnd: 4324
    functionName: _ostree_repo_has_loose_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _ostree_loose_path
    - TEMP_FAILURE_RETRY
    - fstatat
    - glnx_throw_errno_prefix
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_has_loose_object (OstreeRepo *self, const char
      *checksum, OstreeObjectType objtype, gboolean *out_is_stored, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:892,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:896,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo.c:898,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:893,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:894,1
    - Dst: ostree_remote_ref
      Src: /src/ostree/src/libostree/ostree-repo.c:898,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - self
    - remote
    argTypes:
    - OstreeRepo*
    - OstreeRemote*
    constantsTouched: []
    func_position:
      end: 903
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 903
    functionName: _ostree_repo_add_remote
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_hash_table_replace
    - ostree_remote_ref
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_add_remote (OstreeRepo *self, OstreeRemote *remote) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:1652,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:1652,1
    - Dst: _ostree_repo_get_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:1658,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:1666,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1689,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1701,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/ostree/src/libostree/ostree-repo.c:1681,1
    - Dst: ot_keyfile_copy_group
      Src: /src/ostree/src/libostree/ostree-repo.c:1724,1
    - Dst: ostree_repo_write_config
      Src: /src/ostree/src/libostree/ostree-repo.c:1726,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:1700,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1685,1
    - Dst: keyfile_set_from_vardict
      Src: /src/ostree/src/libostree/ostree-repo.c:1708,1
    - Dst: g_file_replace_contents
      Src: /src/ostree/src/libostree/ostree-repo.c:1715,1
    - Dst: _ostree_repo_add_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:1730,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:1651,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/src/libostree/ostree-repo.c:1655,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo.c:1652,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo.c:1667,1
    - Dst: ostree_remote_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1670,1
    - Dst: get_remotes_d_dir
      Src: /src/ostree/src/libostree/ostree-repo.c:1676,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1689,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo.c:1694,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1704,1
    - Dst: g_key_file_to_data
      Src: /src/ostree/src/libostree/ostree-repo.c:1713,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-repo.c:1695,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:1683,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo.c:1702,1
    - Dst: ostree_repo_copy_config
      Src: /src/ostree/src/libostree/ostree-repo.c:1723,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 8
    argNames:
    - self
    - sysroot
    - if_not_exists
    - name
    - url
    - options
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - gboolean
    - char*
    - char*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1733
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1733
    functionName: impl_repo_remote_add
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_steal_pointer
    - glnx_throw
    - gs_file_get_path_cached
    - g_propagate_error
    - g_return_val_if_fail
    - strlen
    - g_error_matches
    - ostree_repo_copy_config
    - g_key_file_to_data
    - g_str_has_prefix
    - _ostree_repo_add_remote
    - g_strconcat
    - g_file_make_directory_with_parents
    - ostree_validate_remote_name
    - keyfile_set_from_vardict
    - get_remotes_d_dir
    - ostree_repo_write_config
    - _ostree_repo_get_remote
    - g_key_file_set_string
    - g_file_replace_contents
    - G_VARIANT_TYPE
    - ostree_remote_new
    - ot_keyfile_copy_group
    - g_file_get_child
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean impl_repo_remote_add (OstreeRepo *self, GFile *sysroot,
      gboolean if_not_exists, const char *name, const char *url, GVariant *options,
      GCancellable *cancellable, GError **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/src/libostree/ostree-repo.c:1838,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:1845,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1866,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:1862,1
    - Dst: g_key_file_remove_group
      Src: /src/ostree/src/libostree/ostree-repo.c:1887,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1892,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1892,1
    - Dst: ot_keyfile_copy_group
      Src: /src/ostree/src/libostree/ostree-repo.c:1897,1
    - Dst: ostree_repo_write_config
      Src: /src/ostree/src/libostree/ostree-repo.c:1898,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:1834,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1847,1
    - Dst: impl_repo_remote_add
      Src: /src/ostree/src/libostree/ostree-repo.c:1851,1
    - Dst: g_key_file_to_data
      Src: /src/ostree/src/libostree/ostree-repo.c:1876,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo.c:1835,1
    - Dst: _ostree_repo_get_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:1842,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:1847,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo.c:1850,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo.c:1864,1
    - Dst: keyfile_set_from_vardict
      Src: /src/ostree/src/libostree/ostree-repo.c:1870,1
    - Dst: g_file_replace_contents
      Src: /src/ostree/src/libostree/ostree-repo.c:1878,1
    - Dst: ostree_repo_copy_config
      Src: /src/ostree/src/libostree/ostree-repo.c:1884,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:1889,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:1835,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:1835,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1863,1
    - Dst: g_key_file_remove_group
      Src: /src/ostree/src/libostree/ostree-repo.c:1857,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 7
    argNames:
    - self
    - sysroot
    - name
    - url
    - options
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - char*
    - char*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1904
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1904
    functionName: impl_repo_remote_replace
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - impl_repo_remote_add
    - g_key_file_remove_group
    - g_clear_error
    - g_steal_pointer
    - g_propagate_error
    - g_return_val_if_fail
    - strlen
    - g_error_matches
    - ostree_repo_copy_config
    - g_key_file_to_data
    - g_str_has_prefix
    - ostree_validate_remote_name
    - keyfile_set_from_vardict
    - ostree_repo_write_config
    - _ostree_repo_get_remote
    - g_file_replace_contents
    - g_key_file_set_string
    - G_VARIANT_TYPE
    - ot_keyfile_copy_group
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean impl_repo_remote_replace (OstreeRepo *self, GFile
      *sysroot, const char *name, const char *url, GVariant *options, GCancellable
      *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo.c:4443,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo.c:4449,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo.c:4444,1
    - Dst: ostree_validate_structureof_file_mode
      Src: /src/ostree/src/libostree/ostree-repo.c:4454,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo.c:4453,1
    - Dst: ostree_checksum_file_from_input
      Src: /src/ostree/src/libostree/ostree-repo.c:4458,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo.c:4463,1
    - Dst: _ostree_compare_object_checksum
      Src: /src/ostree/src/libostree/ostree-repo.c:4464,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - self
    - sha256
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4465
      start: 4439
    functionDepth: 0
    functionLinenumber: 4439
    functionLinenumberEnd: 4465
    functionName: fsck_content_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_validate_structureof_file_mode
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_repo_load_file
    - _ostree_compare_object_checksum
    - g_file_info_get_attribute_uint32
    - glnx_strjoina
    - ostree_checksum_inplace_from_bytes
    - ostree_checksum_file_from_input
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fsck_content_object (OstreeRepo *self, const char
      *sha256, GCancellable *cancellable, GError **error) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_gpg_verifier_new
      Src: /src/ostree/src/libostree/ostree-repo.c:5421,1
    - Dst: _ostree_gpg_verifier_add_keyring_data
      Src: /src/ostree/src/libostree/ostree-repo.c:5447,1
    - Dst: _ostree_gpg_verifier_add_keyring_dir_at
      Src: /src/ostree/src/libostree/ostree-repo.c:5427,1
    - Dst: find_keyring
      Src: /src/ostree/src/libostree/ostree-repo.c:5442,1
    - Dst: _ostree_repo_get_remote_inherited
      Src: /src/ostree/src/libostree/ostree-repo.c:5437,1
    - Dst: ot_keyfile_get_string_list_with_separator_choice
      Src: /src/ostree/src/libostree/ostree-repo.c:5453,1
    - Dst: _ostree_gpg_verifier_add_keyfile_path
      Src: /src/ostree/src/libostree/ostree-repo.c:5460,1
    - Dst: _ostree_gpg_verifier_add_global_keyring_dir
      Src: /src/ostree/src/libostree/ostree-repo.c:5468,1
    - Dst: _ostree_gpg_verifier_add_keyring_dir
      Src: /src/ostree/src/libostree/ostree-repo.c:5474,1
    - Dst: _ostree_gpg_verifier_add_keyring_file
      Src: /src/ostree/src/libostree/ostree-repo.c:5479,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:5483,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 35
    argCount: 8
    argNames:
    - self
    - remote_name
    - keyringdir
    - extra_keyring
    - add_global_keyrings
    - out_verifier
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - GFile*
    - GFile*
    - gboolean
    - OstreeGpgVerifier**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5486
      start: 5415
    functionDepth: 0
    functionLinenumber: 5415
    functionLinenumberEnd: 5486
    functionName: _ostree_repo_gpg_prepare_verifier
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - find_keyring
    - _ostree_gpg_verifier_add_keyring_data
    - _ostree_gpg_verifier_add_keyring_dir
    - _ostree_gpg_verifier_add_keyfile_path
    - _ostree_repo_get_remote_inherited
    - ot_keyfile_get_string_list_with_separator_choice
    - _ostree_gpg_verifier_add_keyring_file
    - g_steal_pointer
    - _ostree_gpg_verifier_new
    - _ostree_gpg_verifier_add_global_keyring_dir
    - _ostree_gpg_verifier_add_keyring_dir_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_gpg_prepare_verifier (OstreeRepo *self,
      const gchar *remote_name, GFile *keyringdir, GFile *extra_keyring, gboolean
      add_global_keyrings, OstreeGpgVerifier **out_verifier, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:778,1
    - Dst: ostree_repo_commit_transaction
      Src: /src/ostree/src/libostree/ostree-repo.c:785,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo.c:788,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:782,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - txn
    - out_stats
    - cancellable
    - error
    argTypes:
    - OstreeRepoAutoTransaction*
    - OstreeRepoTransactionStats*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 791
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 791
    functionName: _ostree_repo_auto_transaction_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_repo_commit_transaction
    - g_clear_object
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_auto_transaction_commit (OstreeRepoAutoTransaction
      *txn, OstreeRepoTransactionStats *out_stats, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:2068,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:2069,1
    - Dst: _ostree_repo_remote_name_is_file
      Src: /src/ostree/src/libostree/ostree-repo.c:2072,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:2068,1
    - Dst: ostree_repo_get_remote_boolean_option
      Src: /src/ostree/src/libostree/ostree-repo.c:2079,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - self
    - name
    - out_gpg_verify
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 2081
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2081
    functionName: ostree_repo_remote_get_gpg_verify
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_get_remote_boolean_option
    - g_return_val_if_fail
    - _ostree_repo_remote_name_is_file
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_get_gpg_verify (OstreeRepo *self, const
      char *name, gboolean *out_gpg_verify, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-repo.c:3569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - self
    - dfd
    - path
    - buf
    - len
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - char*
    - guint8*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3573
      start: 3565
    functionDepth: 0
    functionLinenumber: 3565
    functionLinenumberEnd: 3573
    functionName: _ostree_repo_file_replace_contents
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - glnx_file_replace_contents_at
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_file_replace_contents (OstreeRepo *self, int
      dfd, const char *path, const guint8 *buf, gsize len, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 3614
      start: 3609
    functionDepth: 0
    functionLinenumber: 3609
    functionLinenumberEnd: 3614
    functionName: ostree_repo_get_dfd
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: 'int ostree_repo_get_dfd (OstreeRepo *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo.c:4258,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:4278,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo.c:4270,1
    - Dst: ostree_raw_file_to_content_stream
      Src: /src/ostree/src/libostree/ostree-repo.c:4273,1
    - Dst: load_metadata_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:4260,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 7
    argNames:
    - self
    - objtype
    - checksum
    - out_input
    - out_size
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GInputStream**
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4281
      start: 4250
    functionDepth: 0
    functionLinenumber: 4250
    functionLinenumberEnd: 4281
    functionName: ostree_repo_load_object_stream
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_load_file
    - OSTREE_OBJECT_TYPE_IS_META
    - ot_transfer_out_value
    - ostree_raw_file_to_content_stream
    - load_metadata_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_load_object_stream (OstreeRepo *self, OstreeObjectType
      objtype, const char *checksum, GInputStream **out_input, guint64 *out_size,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:4693,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-repo.c:4693,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/libostree/ostree-repo.c:4693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4694
      start: 4690
    functionDepth: 0
    functionLinenumber: 4690
    functionLinenumberEnd: 4694
    functionName: get_dummy_list_objects_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_new_strv
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *get_dummy_list_objects_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_verify_commit_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:5659,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 5
    argNames:
    - self
    - commit_checksum
    - remote_name
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5665
      start: 5653
    functionDepth: 0
    functionLinenumber: 5653
    functionLinenumberEnd: 5665
    functionName: ostree_repo_verify_commit_for_remote
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _ostree_repo_verify_commit_internal
    - glnx_throw
    linkageType: ''
    returnType: OstreeGpgVerifyResult*
    signature: 'OstreeGpgVerifyResult *ostree_repo_verify_commit_for_remote (OstreeRepo
      *self, const gchar *commit_checksum, const gchar *remote_name, GCancellable
      *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_locker_new
      Src: /src/ostree/src/libostree/ostree-repo.c:321,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:326,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:325,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:329,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-repo.c:327,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo.c:330,1
    - Dst: repo_lock_info
      Src: /src/ostree/src/libostree/ostree-repo.c:334,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:335,1
    - Dst: g_error
      Src: /src/ostree/src/libostree/ostree-repo.c:345,1
    - Dst: lock_state_name
      Src: /src/ostree/src/libostree/ostree-repo.c:345,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:349,1
    - Dst: lock_state_name
      Src: /src/ostree/src/libostree/ostree-repo.c:356,1
    - Dst: do_repo_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:358,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:357,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:359,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:354,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - self
    - lock_type
    - blocking
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoLockType
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 366
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 366
    functionName: push_repo_lock
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - gs_file_get_path_cached
    - do_repo_lock
    - g_mutex_locker_new
    - g_assert
    - repo_lock_info
    - g_error
    - TEMP_FAILURE_RETRY
    - g_debug
    - lock_state_name
    - glnx_throw_errno_prefix
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean push_repo_lock (OstreeRepo *self, OstreeRepoLockType
      lock_type, gboolean blocking, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo.c:1230,1
    - Dst: g_param_spec_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1248,1
    - Dst: g_param_spec_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1263,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-repo.c:1246,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-repo.c:1261,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-repo.c:1274,1
    - Dst: g_param_spec_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1276,1
    - Dst: g_signal_new
      Src: /src/ostree/src/libostree/ostree-repo.c:1295,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/ostree/src/libostree/ostree-repo.c:1296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeRepoClass*
    constantsTouched: []
    func_position:
      end: 1299
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1299
    functionName: ostree_repo_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_param_spec_string
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_class_init (OstreeRepoClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repo_list_objects_impl
      Src: /src/ostree/src/libostree/ostree-repo.c:4683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - self
    - flags
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoListObjectsFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4684
      start: 4679
    functionDepth: 0
    functionLinenumber: 4679
    functionLinenumberEnd: 4684
    functionName: ostree_repo_list_objects_set
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - repo_list_objects_impl
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *ostree_repo_list_objects_set (OstreeRepo *self, OstreeRepoListObjectsFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_verify_commit_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:5629,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5632,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 6
    argNames:
    - self
    - commit_checksum
    - keyringdir
    - extra_keyring
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - GFile*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5635
      start: 5624
    functionDepth: 0
    functionLinenumber: 5624
    functionLinenumberEnd: 5635
    functionName: ostree_repo_verify_commit_ext
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _ostree_repo_verify_commit_internal
    - glnx_throw
    linkageType: ''
    returnType: OstreeGpgVerifyResult*
    signature: 'OstreeGpgVerifyResult *ostree_repo_verify_commit_ext (OstreeRepo *self,
      const gchar *commit_checksum, GFile *keyringdir, GFile *extra_keyring, GCancellable
      *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_locker_new
      Src: /src/ostree/src/libostree/ostree-repo.c:373,1
    - Dst: g_error
      Src: /src/ostree/src/libostree/ostree-repo.c:382,1
    - Dst: repo_lock_info
      Src: /src/ostree/src/libostree/ostree-repo.c:378,1
    - Dst: g_error
      Src: /src/ostree/src/libostree/ostree-repo.c:375,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:379,1
    - Dst: g_error
      Src: /src/ostree/src/libostree/ostree-repo.c:399,1
    - Dst: lock_state_name
      Src: /src/ostree/src/libostree/ostree-repo.c:400,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:415,1
    - Dst: do_repo_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:416,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:417,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:421,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:426,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:429,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo.c:427,1
    - Dst: do_repo_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:428,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - self
    - lock_type
    - blocking
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoLockType
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 436
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 436
    functionName: pop_repo_lock
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - do_repo_lock
    - g_mutex_locker_new
    - do_repo_unlock
    - repo_lock_info
    - g_assert
    - g_error
    - g_debug
    - lock_state_name
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean pop_repo_lock (OstreeRepo *self, OstreeRepoLockType
      lock_type, gboolean blocking, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-repo.c:1312,1
    - Dst: setlocale
      Src: /src/ostree/src/libostree/ostree-repo.c:1315,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-repo.c:1316,1
    - Dst: gpgme_set_locale
      Src: /src/ostree/src/libostree/ostree-repo.c:1315,1
    - Dst: gpgme_check_version
      Src: /src/ostree/src/libostree/ostree-repo.c:1314,1
    - Dst: g_parse_debug_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1320,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-repo.c:1320,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-repo.c:1321,1
    - Dst: g_mutex_init
      Src: /src/ostree/src/libostree/ostree-repo.c:1323,1
    - Dst: g_mutex_init
      Src: /src/ostree/src/libostree/ostree-repo.c:1324,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo.c:1329,1
    - Dst: g_mutex_init
      Src: /src/ostree/src/libostree/ostree-repo.c:1331,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo.c:1327,1
    - Dst: g_mutex_init
      Src: /src/ostree/src/libostree/ostree-repo.c:1325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1340
    functionName: ostree_repo_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_once_init_enter
    - gpgme_check_version
    - g_parse_debug_string
    - g_getenv
    - g_once_init_leave
    - g_mutex_init
    - gpgme_set_locale
    - g_hash_table_new_full
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_init (OstreeRepo *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:702,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:708,1
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-repo.c:704,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - repo
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 709
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 709
    functionName: _ostree_repo_auto_transaction_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_steal_pointer
    - g_object_ref
    - g_malloc
    linkageType: ''
    returnType: OstreeRepoAutoTransaction*
    signature: 'OstreeRepoAutoTransaction *_ostree_repo_auto_transaction_new (OstreeRepo
      *repo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:1493,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:1494,1
    - Dst: g_error_copy
      Src: /src/ostree/src/libostree/ostree-repo.c:1498,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:1496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeRepo*
    - GError**
    constantsTouched: []
    func_position:
      end: 1501
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1501
    functionName: ostree_repo_is_writable
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_error_copy
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_is_writable (OstreeRepo *self, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_lock_push
      Src: /src/ostree/src/libostree/ostree-repo.c:649,1
    - Dst: g_new
      Src: /src/ostree/src/libostree/ostree-repo.c:652,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - self
    - lock_type
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoLockType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 656
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 656
    functionName: ostree_repo_auto_lock_push
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_lock_push
    - g_new
    linkageType: ''
    returnType: OstreeRepoAutoLock*
    signature: 'OstreeRepoAutoLock *ostree_repo_auto_lock_push (OstreeRepo *self,
      OstreeRepoLockType lock_type, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_lock_pop
      Src: /src/ostree/src/libostree/ostree-repo.c:676,1
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-repo.c:677,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - auto_lock
    argTypes:
    - OstreeRepoAutoLock*
    constantsTouched: []
    func_position:
      end: 683
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 683
    functionName: ostree_repo_auto_lock_cleanup
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_free
    - ostree_repo_lock_pop
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_auto_lock_cleanup (OstreeRepoAutoLock *auto_lock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:1455,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:1455,1
    - Dst: get_default_repo_path
      Src: /src/ostree/src/libostree/ostree-repo.c:1473,1
    - Dst: g_file_equal
      Src: /src/ostree/src/libostree/ostree-repo.c:1474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - repo
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 1478
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1478
    functionName: ostree_repo_is_system
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - get_default_repo_path
    - g_file_equal
    - g_return_val_if_fail
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_is_system (OstreeRepo *repo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo.c:3968,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo.c:3976,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-repo.c:3982,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo.c:3985,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo.c:3971,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:3985,1
    - Dst: ostree_content_stream_parse
      Src: /src/ostree/src/libostree/ostree-repo.c:3987,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo.c:3992,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:3997,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 20
    argCount: 7
    argNames:
    - self
    - checksum
    - out_input
    - out_file_info
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GInputStream**
    - GFileInfo**
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4001
      start: 3961
    functionDepth: 0
    functionLinenumber: 3961
    functionLinenumberEnd: 4001
    functionName: repo_load_file_archive
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_content_stream_parse
    - g_steal_fd
    - ostree_repo_load_file
    - _ostree_loose_path
    - g_unix_input_stream_new
    - ot_openat_ignore_enoent
    - glnx_fstat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean repo_load_file_archive (OstreeRepo *self, const char
      *checksum, GInputStream **out_input, GFileInfo **out_file_info, GVariant **out_xattrs,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:4007,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:4008,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo.c:4015,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:4018,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo.c:4011,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:4019,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:4019,1
    - Dst: glnx_prefix_error_null
      Src: /src/ostree/src/libostree/ostree-repo.c:4020,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:4022,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:4023,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - self
    - checksum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4024
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4024
    functionName: _ostree_repo_read_xattrs_file_link
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - ot_variant_read_fd
    - g_assert
    - _ostree_loose_path
    - glnx_prefix_error_null
    - g_steal_pointer
    - glnx_openat_rdonly
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *_ostree_repo_read_xattrs_file_link (OstreeRepo *self,
      const char *checksum, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo.c:4381,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo.c:4394,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo.c:4387,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo.c:4393,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-repo.c:4389,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo.c:4395,1
    - Dst: ostree_repo_get_config
      Src: /src/ostree/src/libostree/ostree-repo.c:4402,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo.c:4403,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo.c:4412,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:4412,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo.c:4414,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:4414,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/src/libostree/ostree-repo.c:4413,1
    - Dst: ostree_repo_write_metadata_trusted
      Src: /src/ostree/src/libostree/ostree-repo.c:4415,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo.c:4413,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 5
    argNames:
    - self
    - objtype
    - sha256
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4422
      start: 4376
    functionDepth: 0
    functionLinenumber: 4376
    functionLinenumberEnd: 4422
    functionName: ostree_repo_delete_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - glnx_unlinkat
    - ostree_repo_write_metadata_trusted
    - _ostree_loose_path
    - ostree_repo_get_config
    - g_variant_builder_add
    - ot_ensure_unlinked_at
    - glnx_prefix_error
    - g_variant_builder_init
    - g_variant_new_bytestring
    - g_variant_ref_sink
    - ot_keyfile_get_boolean_with_default
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_delete_object (OstreeRepo *self, OstreeObjectType
      objtype, const char *sha256, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:725,1
    - Dst: ostree_repo_prepare_transaction
      Src: /src/ostree/src/libostree/ostree-repo.c:727,1
    - Dst: _ostree_repo_auto_transaction_new
      Src: /src/ostree/src/libostree/ostree-repo.c:730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - repo
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 731
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 731
    functionName: _ostree_repo_auto_transaction_start
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_repo_prepare_transaction
    - _ostree_repo_auto_transaction_new
    linkageType: ''
    returnType: OstreeRepoAutoTransaction*
    signature: 'OstreeRepoAutoTransaction *_ostree_repo_auto_transaction_start (OstreeRepo
      *repo, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_remote_name_is_file
      Src: /src/ostree/src/libostree/ostree-repo.c:956,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo.c:968,1
    - Dst: _ostree_repo_get_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:962,1
    - Dst: g_key_file_get_string
      Src: /src/ostree/src/libostree/ostree-repo.c:965,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:958,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo.c:974,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:978,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:982,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:982,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo.c:988,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo.c:991,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:993,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:991,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 6
    argNames:
    - self
    - remote_name
    - option_name
    - default_value
    - out_value
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 995
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 995
    functionName: ostree_repo_get_remote_option
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_key_file_get_string
    - g_error_matches
    - _ostree_repo_get_remote
    - g_steal_pointer
    - _ostree_repo_remote_name_is_file
    - ostree_repo_get_remote_option
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_get_remote_option (OstreeRepo *self, const char
      *remote_name, const char *option_name, const char *default_value, char **out_value,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:1186,1
    - Dst: g_value_dup_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1191,1
    - Dst: g_value_dup_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1197,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-repo.c:1200,1
    - Dst: g_value_dup_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1203
    functionName: ostree_repo_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - OSTREE_REPO
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_object
    - g_value_dup_string
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:1382,1
    - Dst: repo_open_at_take_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:1385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - dfd
    - path
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1386
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1386
    functionName: ostree_repo_open_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - glnx_opendirat
    - repo_open_at_take_fd
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'OstreeRepo *ostree_repo_open_at (int dfd, const char *path, GCancellable
      *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:2911,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2928,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2917,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:2912,1
    - Dst: fstatvfs
      Src: /src/ostree/src/libostree/ostree-repo.c:2911,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - self
    - bytes
    - error
    argTypes:
    - OstreeRepo*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 2940
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2940
    functionName: min_free_space_calculate_reserved_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - fstatvfs
    - TEMP_FAILURE_RETRY
    - glnx_throw
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean min_free_space_calculate_reserved_bytes (OstreeRepo
      *self, guint64 *bytes, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_pull_one_dir
      Src: /src/ostree/src/libostree/ostree-repo.c:4834,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - self
    - remote_name
    - refs_to_fetch
    - flags
    - progress
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char**
    - OstreeRepoPullFlags
    - OstreeAsyncProgress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4836
      start: 4829
    functionDepth: 0
    functionLinenumber: 4829
    functionLinenumberEnd: 4836
    functionName: ostree_repo_pull
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_pull_one_dir
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_pull (OstreeRepo *self, const char *remote_name,
      char **refs_to_fetch, OstreeRepoPullFlags flags, OstreeAsyncProgress *progress,
      GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:1208,1
    - Dst: g_value_set_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1213,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-repo.c:1222,1
    - Dst: g_value_set_string
      Src: /src/ostree/src/libostree/ostree-repo.c:1219,1
    - Dst: g_value_set_object
      Src: /src/ostree/src/libostree/ostree-repo.c:1216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1225
    functionName: ostree_repo_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - OSTREE_REPO
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - g_value_set_object
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_get_default_sysroot_path
      Src: /src/ostree/src/libostree/ostree-repo.c:1392,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-repo.c:1394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - sysroot_path
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1395
    functionName: get_default_repo_path
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_file_resolve_relative_path
    - _ostree_get_default_sysroot_path
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *get_default_repo_path (GFile *sysroot_path) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-repo.c:2948,1
    - Dst: g_regex_match
      Src: /src/ostree/src/libostree/ostree-repo.c:2956,1
    - Dst: g_regex_new
      Src: /src/ostree/src/libostree/ostree-repo.c:2950,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:2951,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-repo.c:2952,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2957,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-repo.c:2959,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-repo.c:2960,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo.c:2975,1
    - Dst: g_ascii_strtoull
      Src: /src/ostree/src/libostree/ostree-repo.c:2978,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:2980,1
    - Dst: g_bit_nth_lsf
      Src: /src/ostree/src/libostree/ostree-repo.c:2979,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 3
    argNames:
    - self
    - min_free_space_size_str
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 2985
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2985
    functionName: min_free_space_size_validate_and_convert
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_assert
    - g_assert_not_reached
    - g_bit_nth_lsf
    - g_once_init_leave
    - glnx_throw
    - g_match_info_fetch
    - g_ascii_strtoull
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean min_free_space_size_validate_and_convert (OstreeRepo
      *self, const char *min_free_space_size_str, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-repo.c:4785,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:4797,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:4796,1
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/libostree/ostree-repo.c:4793,1
    - Dst: _ostree_repo_file_new_for_commit
      Src: /src/ostree/src/libostree/ostree-repo.c:4789,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 6
    argNames:
    - self
    - ref
    - out_root
    - out_commit
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GFile**
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4799
      start: 4780
    functionDepth: 0
    functionLinenumber: 4780
    functionLinenumberEnd: 4799
    functionName: ostree_repo_read_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_file_ensure_resolved
    - ot_transfer_out_value
    - ostree_repo_resolve_rev
    - _ostree_repo_file_new_for_commit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_read_commit (OstreeRepo *self, const char *ref,
      GFile **out_root, char **out_commit, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo.c:4429,1
    - Dst: load_metadata_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:4432,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo.c:4429,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo.c:4430,1
    - Dst: _ostree_verify_metadata_object
      Src: /src/ostree/src/libostree/ostree-repo.c:4436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - self
    - objtype
    - sha256
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4437
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4437
    functionName: fsck_metadata_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - GLNX_AUTO_PREFIX_ERROR
    - _ostree_verify_metadata_object
    - glnx_strjoina
    - load_metadata_internal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fsck_metadata_object (OstreeRepo *self, OstreeObjectType
      objtype, const char *sha256, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3661,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:3661,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo.c:3662,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:3662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 3668
      start: 3658
    functionDepth: 0
    functionLinenumber: 3658
    functionLinenumberEnd: 3668
    functionName: ostree_repo_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - OSTREE_IS_REPO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_equal (OstreeRepo *a, OstreeRepo *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:3673,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:3674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 3677
      start: 3670
    functionDepth: 0
    functionLinenumber: 3670
    functionLinenumberEnd: 3677
    functionName: ostree_repo_get_mode
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: OstreeRepoMode
    signature: 'OstreeRepoMode ostree_repo_get_mode (OstreeRepo *self) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/ostree/src/libostree/ostree-repo.c:4962,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:4956,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo.c:5002,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:5033,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:5044,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo.c:4940,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo.c:4952,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo.c:4981,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo.c:4986,1
    - Dst: ostree_async_progress_get_uint64
      Src: /src/ostree/src/libostree/ostree-repo.c:4993,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo.c:5001,1
    - Dst: _formatted_time_remaining_from_seconds
      Src: /src/ostree/src/libostree/ostree-repo.c:5010,1
    - Dst: ostree_async_progress_get
      Src: /src/ostree/src/libostree/ostree-repo.c:4942,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:5027,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:5020,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:5040,1
    - Dst: ostree_async_progress_get
      Src: /src/ostree/src/libostree/ostree-repo.c:4968,1
    - Dst: g_format_size_full
      Src: /src/ostree/src/libostree/ostree-repo.c:4973,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:5013,1
    - Dst: glnx_console_text
      Src: /src/ostree/src/libostree/ostree-repo.c:5047,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 2
    argNames:
    - progress
    - user_data
    argTypes:
    - OstreeAsyncProgress*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5048
      start: 4925
    functionDepth: 0
    functionLinenumber: 4925
    functionLinenumberEnd: 5048
    functionName: ostree_repo_pull_default_console_progress_changed
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _formatted_time_remaining_from_seconds
    - g_strdup
    - g_string_new
    - ostree_async_progress_get
    - g_string_append
    - g_string_append_printf
    - g_format_size
    - ostree_async_progress_get_uint64
    - glnx_console_text
    - g_get_monotonic_time
    - g_format_size_full
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_pull_default_console_progress_changed (OstreeAsyncProgress
      *progress, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_read_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:5066,1
    - Dst: _ostree_detached_metadata_append_gpg_sig
      Src: /src/ostree/src/libostree/ostree-repo.c:5072,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5080,1
    - Dst: ostree_repo_write_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo.c:5074,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 5
    argNames:
    - self
    - commit_checksum
    - signature_bytes
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - GBytes*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5082
      start: 5060
    functionDepth: 0
    functionLinenumber: 5060
    functionLinenumberEnd: 5082
    functionName: ostree_repo_append_gpg_signature
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit_detached_metadata
    - glnx_throw
    - _ostree_detached_metadata_append_gpg_sig
    - ostree_repo_write_commit_detached_metadata
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_append_gpg_signature (OstreeRepo *self, const
      gchar *commit_checksum, GBytes *signature_bytes, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 3560
      start: 3556
    functionDepth: 0
    functionLinenumber: 3556
    functionLinenumberEnd: 3560
    functionName: ostree_repo_get_disable_fsync
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_get_disable_fsync (OstreeRepo *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: impl_repo_remote_add
      Src: /src/ostree/src/libostree/ostree-repo.c:1757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - self
    - name
    - url
    - options
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1758
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1758
    functionName: ostree_repo_remote_add
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - impl_repo_remote_add
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_add (OstreeRepo *self, const char *name,
      const char *url, GVariant *options, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: repo_create_at_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:2752,1
    - Dst: repo_open_at_take_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:2754,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 6
    argNames:
    - dfd
    - path
    - mode
    - options
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - OstreeRepoMode
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2755
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2755
    functionName: ostree_repo_create_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - repo_open_at_take_fd
    - repo_create_at_internal
    linkageType: ''
    returnType: OstreeRepo*
    signature: 'OstreeRepo *ostree_repo_create_at (int dfd, const char *path, OstreeRepoMode
      mode, GVariant *options, GCancellable *cancellable, GError **error) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3748,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3765,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:3789,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:3797,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo.c:3776,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo.c:3742,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo.c:3797,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo.c:3797,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo.c:3793,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:3799,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo.c:3732,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3756,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3761,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo.c:3775,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo.c:3799,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3748,1
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-repo.c:3751,1
    - Dst: _ostree_repo_mode_is_bare
      Src: /src/ostree/src/libostree/ostree-repo.c:3757,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3757,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3759,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo.c:3763,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 56
    argCount: 8
    argNames:
    - self
    - dummy_value
    - inout_objects
    - dfd
    - prefix
    - commit_starting_with
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - GHashTable*
    - int
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3803
      start: 3721
    functionDepth: 0
    functionLinenumber: 3721
    functionLinenumberEnd: 3803
    functionName: list_loose_objects_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_hash_table_add
    - strrchr
    - ostree_object_name_serialize
    - g_hash_table_replace
    - g_str_has_prefix
    - g_variant_ref
    - glnx_dirfd_iterator_next_dent
    - strcmp
    - g_variant_ref_sink
    - _ostree_repo_mode_is_bare
    - ot_dfd_iter_init_allow_noent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean list_loose_objects_at (OstreeRepo *self, GVariant
      *dummy_value, GHashTable *inout_objects, int dfd, const char *prefix, const
      char *commit_starting_with, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo.c:4563,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:4567,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo.c:4571,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo.c:4570,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo.c:4568,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo.c:4574,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo.c:4575,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 6
    argNames:
    - self
    - objtype
    - sha256
    - out_size
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4579
      start: 4557
    functionDepth: 0
    functionLinenumber: 4557
    functionLinenumberEnd: 4579
    functionName: ostree_repo_query_object_storage_size
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - _ostree_loose_path
    - TEMP_FAILURE_RETRY
    - fstatat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_query_object_storage_size (OstreeRepo *self,
      OstreeObjectType objtype, const char *sha256, guint64 *out_size, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_metadata_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:4638,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 5
    argNames:
    - self
    - checksum
    - out_variant
    - out_state
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GVariant**
    - OstreeRepoCommitState*
    - GError**
    constantsTouched: []
    func_position:
      end: 4640
      start: 4634
    functionDepth: 0
    functionLinenumber: 4634
    functionLinenumberEnd: 4640
    functionName: ostree_repo_load_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - load_metadata_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_load_commit (OstreeRepo *self, const char *checksum,
      GVariant **out_variant, OstreeRepoCommitState *out_state, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:4746,1
    - Dst: get_dummy_list_objects_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:4752,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:4747,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo.c:4750,1
    - Dst: list_loose_objects
      Src: /src/ostree/src/libostree/ostree-repo.c:4754,1
    - Dst: list_loose_objects
      Src: /src/ostree/src/libostree/ostree-repo.c:4760,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:4765,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 5
    argNames:
    - self
    - start
    - out_commits
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4767
      start: 4741
    functionDepth: 0
    functionLinenumber: 4741
    functionLinenumberEnd: 4767
    functionName: ostree_repo_list_commit_objects_starting_with
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - list_loose_objects
    - ot_transfer_out_value
    - get_dummy_list_objects_variant
    - g_hash_table_new_full
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_list_commit_objects_starting_with (OstreeRepo
      *self, const char *start, GHashTable **out_commits, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo.c:4891,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:4894,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:4902,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:4897,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:4900,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo.c:4904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - seconds_remaining
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 4905
      start: 4884
    functionDepth: 0
    functionLinenumber: 4884
    functionLinenumberEnd: 4905
    functionName: _formatted_time_remaining_from_seconds
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - g_string_append_printf
    linkageType: ''
    returnType: char*
    signature: 'static char *_formatted_time_remaining_from_seconds (guint64 seconds_remaining) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:1764,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/src/libostree/ostree-repo.c:1766,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo.c:1787,1
    - Dst: _ostree_repo_get_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:1772,1
    - Dst: _ostree_repo_get_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:1780,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo.c:1787,1
    - Dst: ostree_repo_copy_config
      Src: /src/ostree/src/libostree/ostree-repo.c:1792,1
    - Dst: g_key_file_remove_group
      Src: /src/ostree/src/libostree/ostree-repo.c:1796,1
    - Dst: ostree_repo_write_config
      Src: /src/ostree/src/libostree/ostree-repo.c:1798,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-repo.c:1804,1
    - Dst: _ostree_repo_remove_remote
      Src: /src/ostree/src/libostree/ostree-repo.c:1807,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 6
    argNames:
    - self
    - sysroot
    - if_exists
    - name
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - gboolean
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1810
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1810
    functionName: impl_repo_remote_delete
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - ostree_repo_write_config
    - ostree_repo_copy_config
    - _ostree_repo_get_remote
    - g_key_file_remove_group
    - g_return_val_if_fail
    - ot_ensure_unlinked_at
    - gs_file_get_path_cached
    - _ostree_repo_remove_remote
    - ostree_validate_remote_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean impl_repo_remote_delete (OstreeRepo *self, GFile *sysroot,
      gboolean if_exists, const char *name, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_loose_objects_at
      Src: /src/ostree/src/libostree/ostree-repo.c:3817,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - self
    - dummy_value
    - inout_objects
    - commit_starting_with
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - GHashTable*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3823
      start: 3805
    functionDepth: 0
    functionLinenumber: 3805
    functionLinenumberEnd: 3823
    functionName: list_loose_objects
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - list_loose_objects_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean list_loose_objects (OstreeRepo *self, GVariant *dummy_value,
      GHashTable *inout_objects, const char *commit_starting_with, GCancellable *cancellable,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:4646,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo.c:4647,1
    - Dst: list_loose_objects
      Src: /src/ostree/src/libostree/ostree-repo.c:4658,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo.c:4649,1
    - Dst: list_loose_objects
      Src: /src/ostree/src/libostree/ostree-repo.c:4662,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:4673,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 5
    argNames:
    - self
    - flags
    - dummy_value
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoListObjectsFlags
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4674
      start: 4642
    functionDepth: 0
    functionLinenumber: 4642
    functionLinenumberEnd: 4674
    functionName: repo_list_objects_impl
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_new_full
    - g_steal_pointer
    - list_loose_objects
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *repo_list_objects_impl (OstreeRepo *self, OstreeRepoListObjectsFlags
      flags, GVariant *dummy_value, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo.c:2703,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo.c:2707,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo.c:2705,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:2705,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo.c:2704,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:2708,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo.c:2708,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:2711,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo.c:2711,1
    - Dst: repo_create_at_internal
      Src: /src/ostree/src/libostree/ostree-repo.c:2712,1
    - Dst: ostree_repo_open
      Src: /src/ostree/src/libostree/ostree-repo.c:2716,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:2715,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - self
    - mode
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoMode
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2719
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2719
    functionName: ostree_repo_create
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - ostree_repo_open
    - g_variant_new_string
    - repo_create_at_internal
    - g_steal_fd
    - g_variant_new_variant
    - g_variant_builder_new
    - g_variant_builder_add
    - gs_file_get_path_cached
    - g_variant_ref_sink
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_create (OstreeRepo *self, OstreeRepoMode mode,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo.c:3539,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:3543,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:3542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - self
    - dfd
    - path
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3546
      start: 3534
    functionDepth: 0
    functionLinenumber: 3534
    functionLinenumberEnd: 3546
    functionName: ostree_repo_set_cache_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - glnx_opendirat
    - glnx_close_fd
    - g_steal_fd
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_set_cache_dir (OstreeRepo *self, int dfd, const
      char *path, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_import_object
      Src: /src/ostree/src/libostree/ostree-repo.c:4542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - self
    - source
    - objtype
    - checksum
    - trusted
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepo*
    - OstreeObjectType
    - char*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4543
      start: 4534
    functionDepth: 0
    functionLinenumber: 4534
    functionLinenumberEnd: 4543
    functionName: ostree_repo_import_object_from_with_trust
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - _ostree_repo_import_object
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_import_object_from_with_trust (OstreeRepo *self,
      OstreeRepo *source, OstreeObjectType objtype, const char *checksum, gboolean
      trusted, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dummy_list_objects_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:4716,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo.c:4721,1
    - Dst: repo_list_objects_impl
      Src: /src/ostree/src/libostree/ostree-repo.c:4718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 5
    argNames:
    - self
    - flags
    - out_objects
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoListObjectsFlags
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4723
      start: 4712
    functionDepth: 0
    functionLinenumber: 4712
    functionLinenumberEnd: 4723
    functionName: ostree_repo_list_objects
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - ot_transfer_out_value
    - get_dummy_list_objects_variant
    - repo_list_objects_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_list_objects (OstreeRepo *self, OstreeRepoListObjectsFlags
      flags, GHashTable **out_objects, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo.c:4861,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo.c:4865,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo.c:4864,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:4861,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:4865,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo.c:4866,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:4867,1
    - Dst: g_variant_new_int32
      Src: /src/ostree/src/libostree/ostree-repo.c:4867,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo.c:4869,1
    - Dst: g_variant_new_variant
      Src: /src/ostree/src/libostree/ostree-repo.c:4871,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo.c:4873,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo.c:4873,1
    - Dst: ostree_repo_pull_with_options
      Src: /src/ostree/src/libostree/ostree-repo.c:4874,1
    - Dst: g_variant_new_strv
      Src: /src/ostree/src/libostree/ostree-repo.c:4871,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 8
    argNames:
    - self
    - remote_name
    - dir_to_pull
    - refs_to_fetch
    - flags
    - progress
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - char**
    - OstreeRepoPullFlags
    - OstreeAsyncProgress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4875
      start: 4853
    functionDepth: 0
    functionLinenumber: 4853
    functionLinenumberEnd: 4875
    functionName: ostree_repo_pull_one_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - g_variant_new_string
    - g_variant_new_variant
    - g_variant_new_int32
    - g_variant_builder_add
    - ostree_repo_pull_with_options
    - g_variant_builder_init
    - g_variant_ref_sink
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_pull_one_dir (OstreeRepo *self, const char *remote_name,
      const char *dir_to_pull, char **refs_to_fetch, OstreeRepoPullFlags flags, OstreeAsyncProgress
      *progress, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo.c:5239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - self
    - from_commit
    - to_commit
    - key_id
    - homedir
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5241
      start: 5234
    functionDepth: 0
    functionLinenumber: 5234
    functionLinenumberEnd: 5241
    functionName: ostree_repo_sign_delta
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_sign_delta (OstreeRepo *self, const gchar *from_commit,
      const gchar *to_commit, const gchar *key_id, const gchar *homedir, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:6420,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:6423,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:6424,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-repo.c:6425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - OstreeRepoMemoryCacheRef*
    constantsTouched: []
    func_position:
      end: 6426
      start: 6415
    functionDepth: 0
    functionLinenumber: 6415
    functionLinenumberEnd: 6426
    functionName: _ostree_repo_memory_cache_ref_destroy
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_mutex_unlock
    - g_object_unref
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void _ostree_repo_memory_cache_ref_destroy (OstreeRepoMemoryCacheRef
      *state) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo.c:6546,1
    - Dst: g_strv_contains
      Src: /src/ostree/src/libostree/ostree-repo.c:6563,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:6548,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:6557,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo.c:6565,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo.c:6575,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-repo.c:6576,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:6586,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo.c:6596,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:6598,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:6601,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo.c:6600,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 34
    argCount: 4
    argNames:
    - collection_id
    - ref_name
    - commit
    - error
    argTypes:
    - char*
    - char*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 6609
      start: 6542
    functionDepth: 0
    functionLinenumber: 6542
    functionLinenumberEnd: 6609
    functionName: _ostree_repo_verify_bindings
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_str_equal
    - g_string_new
    - g_string_append
    - g_variant_get_child_value
    - g_string_append_printf
    - glnx_throw
    - g_strv_contains
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_verify_bindings (const char *collection_id,
      const char *ref_name, GVariant *commit, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo.c:5250,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:5256,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo.c:5259,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo.c:5263,1
    - Dst: ot_fd_readall_or_mmap
      Src: /src/ostree/src/libostree/ostree-repo.c:5252,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo.c:5263,1
    - Dst: sign_data
      Src: /src/ostree/src/libostree/ostree-repo.c:5271,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo.c:5274,1
    - Dst: _ostree_detached_metadata_append_gpg_sig
      Src: /src/ostree/src/libostree/ostree-repo.c:5275,1
    - Dst: g_variant_get_normal_form
      Src: /src/ostree/src/libostree/ostree-repo.c:5278,1
    - Dst: _ostree_repo_file_replace_contents
      Src: /src/ostree/src/libostree/ostree-repo.c:5280,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo.c:5281,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo.c:5287,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo.c:5282,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 6
    argNames:
    - self
    - dir_fd
    - key_id
    - homedir
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - gchar**
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5289
      start: 5243
    functionDepth: 0
    functionLinenumber: 5243
    functionLinenumberEnd: 5289
    functionName: _ostree_repo_add_gpg_signature_summary_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - ot_variant_read_fd
    - g_variant_get_data
    - g_steal_pointer
    - sign_data
    - ot_fd_readall_or_mmap
    - glnx_openat_rdonly
    - ot_openat_ignore_enoent
    - g_variant_get_normal_form
    - glnx_throw
    - glnx_close_fd
    - _ostree_detached_metadata_append_gpg_sig
    - g_variant_get_size
    - _ostree_repo_file_replace_contents
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_add_gpg_signature_summary_at (OstreeRepo
      *self, int dir_fd, const gchar **key_id, const gchar *homedir, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo.c:6404,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo.c:6410,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo.c:6406,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo.c:6411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - state
    - repo
    argTypes:
    - OstreeRepoMemoryCacheRef*
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 6412
      start: 6401
    functionDepth: 0
    functionLinenumber: 6401
    functionLinenumberEnd: 6412
    functionName: _ostree_repo_memory_cache_ref_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_object_ref
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void _ostree_repo_memory_cache_ref_init (OstreeRepoMemoryCacheRef
      *state, OstreeRepo *repo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:284,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:286,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:288,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:287,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: static_delta_part_execute_async_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_variant_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void static_delta_part_execute_async_data_free (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:313,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:314,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:317,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:315,1
    - Dst: g_variant_ref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:316,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:319,1
    - Dst: G_OBJECT
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:319,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:320,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:321,1
    - Dst: g_task_run_in_thread
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - repo
    - header
    - part
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepo*
    - GVariant*
    - GVariant*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 323
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 323
    functionName: _ostree_static_delta_part_execute_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'void _ostree_static_delta_part_execute_async (OstreeRepo *repo, GVariant
      *header, GVariant *part, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:401,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:416,1
    - Dst: bspatch
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:425,1
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:403,1
    - Dst: g_mapped_file_new_from_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:412,1
    - Dst: g_mapped_file_get_contents
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:425,1
    - Dst: g_mapped_file_get_length
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:426,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:428,1
    - Dst: _ostree_repo_bare_content_write
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:430,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 4
    argNames:
    - repo
    - state
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - StaticDeltaExecutionState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 436
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 436
    functionName: dispatch_bspatch
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - _ostree_repo_bare_content_write
    - read_varuint64
    - bspatch
    - g_malloc0
    - g_mapped_file_new_from_fd
    - g_mapped_file_get_contents
    - g_mapped_file_get_length
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_bspatch (OstreeRepo *repo, StaticDeltaExecutionState
      *state, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_static_delta_part_execute
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:298,1
    - Dst: g_task_return_boolean
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:302,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - datap
    - cancellable
    argTypes:
    - GTask*
    - GObject*
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 303
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 303
    functionName: static_delta_part_execute_thread
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - _ostree_static_delta_part_execute
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void static_delta_part_execute_thread (GTask *task, GObject
      *object, gpointer datap, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:328,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:329,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:330,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:329,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:328,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:331,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:331,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:332,1
    - Dst: g_async_result_is_tagged
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:332,1
    - Dst: g_task_propagate_boolean
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:335,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - repo
    - result
    - error
    argTypes:
    - OstreeRepo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: _ostree_static_delta_part_execute_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_static_delta_part_execute_finish (OstreeRepo *repo,
      GAsyncResult *result, GError **error) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:494,1
    - Dst: validate_ofs
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:496,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:534,1
    - Dst: dispatch_close
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:558,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:566,1
    - Dst: open_output_target
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:444,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:447,1
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:455,1
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:453,1
    - Dst: g_bytes_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:470,1
    - Dst: do_content_open_generic
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:489,1
    - Dst: _ostree_repo_bare_content_write
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:519,1
    - Dst: _ostree_mode_uidgid_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:529,1
    - Dst: _ostree_repo_mode_is_bare
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:506,1
    - Dst: dispatch_close
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:564,1
    - Dst: ostree_metadata_variant_type
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:471,1
    - Dst: g_file_info_set_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:535,1
    - Dst: g_file_info_set_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:540,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:541,1
    - Dst: ostree_raw_file_to_content_stream
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:545,1
    - Dst: ostree_repo_write_content
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:551,1
    - Dst: validate_ofs
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:457,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:471,1
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:477,1
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:492,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:508,1
    - Dst: _ostree_repo_bare_content_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:514,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:506,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:531,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:539,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:539,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 70
    argCount: 4
    argNames:
    - repo
    - state
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - StaticDeltaExecutionState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 568
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 568
    functionName: dispatch_open_splice_and_close
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - dispatch_close
    - g_strndup
    - S_ISLNK
    - _ostree_repo_mode_is_bare
    - g_file_info_set_symlink_target
    - ostree_repo_write_metadata
    - ostree_repo_write_content
    - _ostree_repo_bare_content_write
    - g_memory_input_stream_new_from_data
    - OSTREE_OBJECT_TYPE_IS_META
    - _ostree_mode_uidgid_to_gfileinfo
    - open_output_target
    - ostree_raw_file_to_content_stream
    - read_varuint64
    - _ostree_repo_bare_content_open
    - ostree_repo_has_object
    - g_prefix_error
    - validate_ofs
    - g_file_info_set_size
    - do_content_open_generic
    - g_assert
    - g_bytes_new
    - g_variant_new_from_bytes
    - ostree_metadata_variant_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_open_splice_and_close (OstreeRepo *repo,
      StaticDeltaExecutionState *state, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:715,1
    - Dst: dispatch_unset_read_source
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:727,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:724,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:730,1
    - Dst: _ostree_repo_bare_content_commit
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:720,1
    - Dst: _ostree_repo_bare_content_cleanup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - repo
    - state
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - StaticDeltaExecutionState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 737
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 737
    functionName: dispatch_close
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - g_clear_pointer
    - g_assert_cmpstr
    - dispatch_unset_read_source
    - _ostree_repo_bare_content_commit
    - _ostree_repo_bare_content_cleanup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_close (OstreeRepo *repo, StaticDeltaExecutionState
      *state, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPPROTO
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:92,1
    - Dst: OPPROTO
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:94,1
    - Dst: OPPROTO
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:96,1
    - Dst: OPPROTO
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:93,1
    - Dst: OPPROTO
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:95,1
    - Dst: static_delta_execution_state_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - open
    argTypes:
    - open
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: OPPROTO
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - OPPROTO
    - static_delta_execution_state_init
    linkageType: ''
    returnType: OPPROTO (open_splice_and_close)
    signature: 'OPPROTO (open_splice_and_close) OPPROTO (open)OPPROTO (write)OPPROTO
      (set_read_source)OPPROTO (unset_read_source)OPPROTO (close)OPPROTO (bspatch)#undef
      OPPROTOstatic voidstatic_delta_execution_state_init (StaticDeltaExecutionState
      *state) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: static_delta_execution_state_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:180,1
    - Dst: _ostree_static_delta_parse_checksum_array
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:186,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:204,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:205,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:199,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:207,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:208,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:218,1
    - Dst: dispatch_open_splice_and_close
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:224,1
    - Dst: dispatch_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:228,1
    - Dst: dispatch_write
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:232,1
    - Dst: dispatch_set_read_source
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:236,1
    - Dst: dispatch_unset_read_source
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:240,1
    - Dst: dispatch_bspatch
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:248,1
    - Dst: delta_opcode_index
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:259,1
    - Dst: dispatch_close
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:244,1
    - Dst: _ostree_repo_bare_content_cleanup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:267,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:252,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 45
    argCount: 7
    argNames:
    - repo
    - objects
    - part
    - stats_only
    - stats
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - GVariant*
    - gboolean
    - OstreeDeltaExecuteStats*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 269
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 269
    functionName: _ostree_static_delta_part_execute
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - dispatch_write
    - dispatch_close
    - g_set_error
    - delta_opcode_index
    - static_delta_execution_state_init
    - dispatch_set_read_source
    - g_variant_n_children
    - dispatch_bspatch
    - g_variant_get
    - _ostree_static_delta_parse_checksum_array
    - g_cancellable_set_error_if_cancelled
    - dispatch_open_splice_and_close
    - dispatch_unset_read_source
    - dispatch_open
    - g_variant_get_data
    - g_variant_get_size
    - _ostree_repo_bare_content_cleanup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_static_delta_part_execute (OstreeRepo *repo, GVariant
      *objects, GVariant *part, gboolean stats_only, OstreeDeltaExecuteStats *stats,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:109,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - state
    - out_value
    - error
    argTypes:
    - StaticDeltaExecutionState*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: read_varuint64
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - _ostree_read_varuint64
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_varuint64 (StaticDeltaExecutionState *state,
      guint64 *out_value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:386,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:387,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - buffer
    - length
    argTypes:
    - struct bspatch_stream*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: bspatch_read
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - g_assert
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int bspatch_read (const struct bspatch_stream *stream, void
      *buffer, int length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:121,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:122,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:128,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:123,1
    - Dst: ostree_validate_structureof_objtype
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:128,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - state
    - cancellable
    - error
    argTypes:
    - StaticDeltaExecutionState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: open_output_target
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_validate_structureof_objtype
    - G_UNLIKELY
    - ostree_checksum_inplace_from_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean open_output_target (StaticDeltaExecutionState *state,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:341,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - state
    - offset
    - length
    - error
    argTypes:
    - StaticDeltaExecutionState*
    - guint64
    - guint64
    - GError**
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: validate_ofs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_ofs (StaticDeltaExecutionState *state, guint64
      offset, guint64 length, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:574,1
    - Dst: open_output_target
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:584,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:576,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:580,1
    - Dst: do_content_open_generic
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:587,1
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:590,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:596,1
    - Dst: _ostree_repo_bare_content_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:602,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 4
    argNames:
    - repo
    - state
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - StaticDeltaExecutionState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 609
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 609
    functionName: dispatch_open
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - read_varuint64
    - do_content_open_generic
    - g_assert
    - _ostree_repo_bare_content_open
    - ostree_repo_has_object
    - open_output_target
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_open (OstreeRepo *repo, StaticDeltaExecutionState
      *state, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:673,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:676,1
    - Dst: validate_ofs
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:680,1
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:678,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:686,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:687,1
    - Dst: _ostree_repo_load_file_bare
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:689,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - repo
    - state
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - StaticDeltaExecutionState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 694
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 694
    functionName: dispatch_set_read_source
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_checksum_from_bytes
    - read_varuint64
    - g_free
    - _ostree_repo_load_file_bare
    - glnx_close_fd
    - validate_ofs
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_set_read_source (OstreeRepo *repo, StaticDeltaExecutionState
      *state, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - OstreeStaticDeltaOpCode
    constantsTouched: []
    func_position:
      end: 161
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 161
    functionName: delta_opcode_index
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: guint
    signature: 'static guint delta_opcode_index (OstreeStaticDeltaOpCode op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:358,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:363,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:365,1
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:360,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:366,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:367,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:368,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - repo
    - state
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - StaticDeltaExecutionState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 373
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 373
    functionName: do_content_open_generic
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - g_variant_get_child_value
    - read_varuint64
    - g_variant_get
    - GUINT32_FROM_BE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_content_open_generic (OstreeRepo *repo, StaticDeltaExecutionState
      *state, GCancellable *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:615,1
    - Dst: MIN
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:637,1
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:619,1
    - Dst: pread
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:637,1
    - Dst: read_varuint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:621,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:639,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:641,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:642,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:643,1
    - Dst: _ostree_repo_bare_content_write
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:646,1
    - Dst: validate_ofs
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:656,1
    - Dst: _ostree_repo_bare_content_write
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:659,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 4
    argNames:
    - repo
    - state
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - StaticDeltaExecutionState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 667
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 667
    functionName: dispatch_write
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - _ostree_repo_bare_content_write
    - GLNX_AUTO_PREFIX_ERROR
    - read_varuint64
    - G_UNLIKELY
    - MIN
    - glnx_throw
    - glnx_throw_errno_prefix
    - pread
    - validate_ofs
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_write (OstreeRepo *repo, StaticDeltaExecutionState
      *state, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:700,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:706,1
    - Dst: glnx_close_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c:705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - repo
    - state
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - StaticDeltaExecutionState*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 709
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 709
    functionName: dispatch_unset_read_source
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-processing.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_close_fd
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_unset_read_source (OstreeRepo *repo, StaticDeltaExecutionState
      *state, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:79,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:85,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:94,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:107,1
    - Dst: _ostree_sysroot_list_deployment_dirs_for_os
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 13
    argCount: 4
    argNames:
    - self
    - out_deployments
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 109
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 109
    functionName: list_all_deployment_directories
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - g_ptr_array_new_with_free_func
    - _ostree_sysroot_list_deployment_dirs_for_os
    - ot_transfer_out_value
    - ot_dfd_iter_init_allow_noent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean list_all_deployment_directories (OstreeSysroot *self,
      GPtrArray **out_deployments, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:121,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:132,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:130,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 3
    argNames:
    - name
    - out_osname
    - out_csum
    argTypes:
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: _ostree_sysroot_parse_bootdir_name
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_strndup
    - ostree_validate_checksum_string
    - g_strdup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_parse_bootdir_name (const char *name, char
      **out_osname, char **out_csum) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_get_deployment_backing_relpath
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:220,1
    - Dst: glnx_fstat
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:229,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:222,1
    - Dst: ostree_deployment_get_origin_relpath
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:221,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:226,1
    - Dst: _ostree_linuxfs_fd_alter_immutable_flag
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:239,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:245,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:247,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:249,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 19
    argCount: 4
    argNames:
    - self
    - deployment
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeDeployment*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 253
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 253
    functionName: _ostree_sysroot_rmrf_deployment
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_get_deployment_backing_relpath
    - ostree_sysroot_get_deployment_dirpath
    - glnx_opendirat
    - ostree_deployment_get_origin_relpath
    - glnx_shutil_rm_rf_at
    - _ostree_linuxfs_fd_alter_immutable_flag
    - glnx_fstat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_rmrf_deployment (OstreeSysroot *self, OstreeDeployment
      *deployment, GCancellable *cancellable, GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:303,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:314,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:348,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:344,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:330,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:371,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:301,1
    - Dst: ostree_bootconfig_parser_get_overlay_initrds
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:312,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:328,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:367,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:309,1
    - Dst: ostree_deployment_get_bootconfig
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:311,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:314,1
    - Dst: _ostree_sysroot_list_all_boot_directories
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:319,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:333,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:307,1
    - Dst: ostree_deployment_get_bootcsum
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:307,1
    - Dst: glnx_opendirat_with_errno
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:340,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:352,1
    - Dst: _ostree_sysroot_parse_bootdir_name
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:327,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:334,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:357,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:366,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:367,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 46
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 377
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 377
    functionName: _ostree_sysroot_cleanup_bootfs
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - glnx_throw_errno_prefix
    - g_hash_table_add
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - g_assert_not_reached
    - ostree_deployment_get_bootcsum
    - ostree_deployment_get_bootconfig
    - glnx_opendirat_with_errno
    - g_build_filename
    - g_hash_table_new
    - g_hash_table_replace
    - g_hash_table_new_full
    - g_ptr_array_add
    - glnx_basename
    - g_strdup
    - _ostree_sysroot_parse_bootdir_name
    - _ostree_sysroot_list_all_boot_directories
    - ot_ensure_unlinked_at
    - glnx_dirfd_iterator_init_at
    - glnx_shutil_rm_rf_at
    - g_hash_table_lookup
    - ostree_bootconfig_parser_get_overlay_initrds
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_cleanup_bootfs (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_ref_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:411,1
    - Dst: cleanup_ref_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:417,1
    - Dst: cleanup_ref_prefix
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:414,1
    - Dst: _ostree_repo_auto_transaction_start
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:421,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:428,1
    - Dst: ostree_repo_transaction_set_refspec
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:430,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:430,1
    - Dst: _ostree_repo_auto_transaction_commit
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:432,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 7
    argNames:
    - self
    - repo
    - bootversion
    - subbootversion
    - deployments
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeRepo*
    - int
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 436
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 436
    functionName: generate_deployment_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - ostree_repo_transaction_set_refspec
    - _ostree_repo_auto_transaction_start
    - cleanup_ref_prefix
    - ostree_deployment_get_csum
    - g_strdup_printf
    - _ostree_repo_auto_transaction_commit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean generate_deployment_refs (OstreeSysroot *self, OstreeRepo
      *repo, int bootversion, int subbootversion, GPtrArray *deployments, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_cleanup_internal
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: ostree_sysroot_cleanup
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_cleanup_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_cleanup (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_cleanup_internal
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: ostree_sysroot_prepare_cleanup
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_cleanup_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_prepare_cleanup (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:141,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:154,1
    - Dst: _ostree_sysroot_parse_bootdir_name
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:165,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:168,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:148,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:168,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:171,1
    - Dst: g_ptr_array_free
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:172,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:172,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 4
    argNames:
    - self
    - out_bootdirs
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - char***
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: _ostree_sysroot_list_all_boot_directories
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_parse_bootdir_name
    - g_strdup
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - g_ptr_array_new_with_free_func
    - g_ptr_array_free
    - g_steal_pointer
    - g_ptr_array_add
    - ot_dfd_iter_init_allow_noent
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_list_all_boot_directories (OstreeSysroot
      *self, char ***out_bootdirs, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:543,1
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:546,1
    - Dst: OSTREE_IS_SYSROOT
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:543,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:544,1
    - Dst: cleanup_other_bootversions
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:549,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:550,1
    - Dst: cleanup_old_deployments
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:552,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:553,1
    - Dst: _ostree_sysroot_cleanup_bootfs
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:555,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:556,1
    - Dst: g_format_size_full
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:576,1
    - Dst: ostree_sysroot_cleanup_prune_repo
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:570,1
    - Dst: ostree_repo_traverse_new_reachable
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:568,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:577,1
    - Dst: generate_deployment_refs
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:559,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:561,1
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:558,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - self
    - do_prune_repo
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 582
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 582
    functionName: _ostree_sysroot_cleanup_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - _ostree_sysroot_cleanup_bootfs
    - g_assert
    - cleanup_other_bootversions
    - ot_journal_print
    - _ostree_sysroot_ensure_writable
    - cleanup_old_deployments
    - OSTREE_IS_SYSROOT
    - ostree_sysroot_repo
    - glnx_prefix_error
    - generate_deployment_refs
    - ostree_repo_traverse_new_reachable
    - g_format_size_full
    - ostree_sysroot_cleanup_prune_repo
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_cleanup_internal (OstreeSysroot *self, gboolean
      do_prune_repo, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:42,1
    - Dst: _ostree_sysroot_parse_deploy_path_name
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:62,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:43,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:52,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:65,1
    - Dst: ostree_deployment_new
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:66,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 14
    argCount: 5
    argNames:
    - deploydir_dfd
    - osname
    - inout_deployments
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 70
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 70
    functionName: _ostree_sysroot_list_deployment_dirs_for_os
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - ostree_deployment_new
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - glnx_strjoina
    - g_ptr_array_add
    - ot_dfd_iter_init_allow_noent
    - _ostree_sysroot_parse_deploy_path_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sysroot_list_deployment_dirs_for_os (int deploydir_dfd,
      const char *osname, GPtrArray *inout_deployments, GCancellable *cancellable,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:186,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:193,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:191,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:189,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:190,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:194,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:195,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:197,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:198,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:199,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:208,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:207,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:209,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:201,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:203,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 213
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 213
    functionName: cleanup_other_bootversions
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - g_string_truncate
    - g_string_new
    - g_string_append_printf
    - glnx_shutil_rm_rf_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cleanup_other_bootversions (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:264,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:268,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:277,1
    - Dst: list_all_deployment_directories
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:275,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:270,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:281,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:283,1
    - Dst: _ostree_sysroot_rmrf_deployment
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:286,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 291
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 291
    functionName: cleanup_old_deployments
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_deployment_dirpath
    - g_assert
    - _ostree_sysroot_rmrf_deployment
    - g_hash_table_replace
    - list_all_deployment_directories
    - g_hash_table_new_full
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cleanup_old_deployments (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:384,1
    - Dst: ostree_repo_list_refs_ext
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:386,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:390,1
    - Dst: ostree_repo_set_ref_immediate
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - repo
    - bootversion
    - subbootversion
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 397
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 397
    functionName: cleanup_ref_prefix
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - ostree_repo_list_refs_ext
    - ostree_repo_set_ref_immediate
    - GLNX_HASH_TABLE_FOREACH
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cleanup_ref_prefix (OstreeRepo *repo, int bootversion,
      int subbootversion, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:465,1
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:466,1
    - Dst: ostree_repo_traverse_reachable_refs
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:484,1
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:476,1
    - Dst: _ostree_sysroot_ensure_writable
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:469,1
    - Dst: ostree_deployment_get_csum
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:496,1
    - Dst: ostree_repo_traverse_commit_union
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:497,1
    - Dst: ostree_repo_prune_from_reachable
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:502,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 16
    argCount: 7
    argNames:
    - sysroot
    - options
    - out_objects_total
    - out_objects_pruned
    - out_pruned_object_size_total
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - OstreeRepoPruneOptions*
    - gint*
    - gint*
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 507
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 507
    functionName: ostree_sysroot_cleanup_prune_repo
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_deployment_get_csum
    - ostree_repo_traverse_reachable_refs
    - ostree_repo_auto_lock_push
    - ostree_repo_prune_from_reachable
    - _ostree_sysroot_ensure_writable
    - ostree_sysroot_repo
    - ostree_repo_traverse_commit_union
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_cleanup_prune_repo (OstreeSysroot *sysroot,
      OstreeRepoPruneOptions *options, gint *out_objects_total, gint *out_objects_pruned,
      guint64 *out_pruned_object_size_total, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sysroot_repo
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:598,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:613,1
    - Dst: ostree_repo_list_objects_set
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:604,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:616,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:608,1
    - Dst: _ostree_ensure_fsverity
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:619,1
    - Dst: list_all_deployment_directories
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:628,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:630,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:634,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:636,1
    - Dst: _ostree_ensure_fsverity
      Src: /src/ostree/src/libostree/ostree-sysroot-cleanup.c:639,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 22
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 647
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 647
    functionName: ostree_sysroot_update_post_copy
    functionSourceFile: /src/ostree/src/libostree/ostree-sysroot-cleanup.c
    functionUses: []
    functionsReached:
    - ostree_sysroot_get_deployment_dirpath
    - GLNX_HASH_TABLE_FOREACH
    - g_assert
    - _ostree_loose_path
    - ostree_object_name_deserialize
    - g_build_filename
    - ostree_sysroot_repo
    - _ostree_ensure_fsverity
    - list_all_deployment_directories
    - ostree_repo_list_objects_set
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sysroot_update_post_copy (OstreeSysroot *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: OstreeRemote
    functionSourceFile: /src/ostree/src/libostree/ostree-remote-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: "G_BEGIN_DECLS /* @refspec_name is set if this is a dynamic remote.
      It\u2019s the name of the static * remote which this one inherits from, and
      is what should be used in refspecs * for pulls from this remote. If it\u2019s
      %NULL, @name should be used instead. */ struct OstreeRemote "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:51,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:52,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: check_dummy_sign_enabled
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_getenv
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_dummy_sign_enabled (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSignDummyClass*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: _ostree_sign_dummy_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_sign_dummy_class_init (OstreeSignDummyClass *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_dummy_sign_enabled
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:87,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:92,1
    - Dst: g_variant_dup_string
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:94,1
    - Dst: OSTREE_SIGN_DUMMY
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:90,1
    - Dst: _ostree_sign_dummy_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - self
    - key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: ostree_sign_dummy_set_sk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached:
    - g_variant_dup_string
    - g_free
    - OSTREE_SIGN_DUMMY
    - _ostree_sign_dummy_get_instance_private
    - check_dummy_sign_enabled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_dummy_set_sk (OstreeSign *self, GVariant *key,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_dummy_sign_enabled
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:115,1
    - Dst: OSTREE_SIGN_DUMMY
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:120,1
    - Dst: _ostree_sign_dummy_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:120,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:118,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:118,1
    - Dst: g_bytes_new
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:122,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - self
    - data
    - signature
    - cancellable
    - error
    argTypes:
    - OstreeSign*
    - GBytes*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: ostree_sign_dummy_data
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_new
    - OSTREE_IS_SIGN
    - g_return_val_if_fail
    - OSTREE_SIGN_DUMMY
    - _ostree_sign_dummy_get_instance_private
    - check_dummy_sign_enabled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_dummy_data (OstreeSign *self, GBytes *data, GBytes
      **signature, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: ostree_sign_dummy_metadata_key
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_dummy_metadata_key (OstreeSign *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSignInterface*
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: ostree_sign_dummy_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sign_dummy_iface_init (OstreeSignInterface *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSignDummy*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: _ostree_sign_dummy_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_sign_dummy_init (OstreeSignDummy *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sign_dummy_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:102,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:104,1
    - Dst: g_variant_dup_string
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:106,1
    - Dst: OSTREE_SIGN_DUMMY
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - self
    - key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: ostree_sign_dummy_set_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_DUMMY
    - g_variant_dup_string
    - _ostree_sign_dummy_get_instance_private
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_dummy_set_pk (OstreeSign *self, GVariant *key,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:130,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: ostree_sign_dummy_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - OSTREE_IS_SIGN
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_dummy_get_name (OstreeSign *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: ostree_sign_dummy_metadata_format
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_dummy_metadata_format (OstreeSign *self) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_dummy_sign_enabled
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:153,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:156,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:167,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:177,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:179,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:182,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:188,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:189,1
    - Dst: OSTREE_SIGN_DUMMY
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:159,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:162,1
    - Dst: _ostree_sign_dummy_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:159,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:157,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:156,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:165,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:176,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:170,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:164,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:174,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:175,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:175,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-sign-dummy.c:171,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 5
    argNames:
    - self
    - data
    - signatures
    - out_success_message
    - error
    argTypes:
    - OstreeSign*
    - GBytes*
    - GVariant*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 190
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 190
    functionName: ostree_sign_dummy_data_verify
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-dummy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_bytes_get_data
    - g_strndup
    - g_variant_n_children
    - g_strcmp0
    - g_variant_get_child_value
    - OSTREE_IS_SIGN
    - g_return_val_if_fail
    - g_debug
    - glnx_throw
    - OSTREE_SIGN_DUMMY
    - g_variant_get_data_as_bytes
    - _ostree_sign_dummy_get_instance_private
    - g_variant_is_of_type
    - check_dummy_sign_enabled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_dummy_data_verify (OstreeSign *self, GBytes *data,
      GVariant *signatures, char **out_success_message, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:295,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:298,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:301,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:308,1
    - Dst: glnx_mkdtemp
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:306,1
    - Dst: g_file_query_exists
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:311,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:317,1
    - Dst: ostree_repo_checkout_at
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:319,1
    - Dst: glnx_prefix_error_null
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:321,1
    - Dst: ostree_sepolicy_new_at
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 4
    argNames:
    - repo
    - rev
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 331
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 331
    functionName: ostree_sepolicy_new_from_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_sepolicy_new_at
    - glnx_shutil_mkdir_p_at
    - glnx_mkdtemp
    - glnx_prefix_error_null
    - g_file_query_exists
    - glnx_strjoina
    - g_file_get_child
    - ostree_repo_checkout_at
    linkageType: ''
    returnType: OstreeSePolicy*
    signature: 'OstreeSePolicy *ostree_sepolicy_new_from_commit (OstreeRepo *repo,
      const char *rev, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - rootfs_dfd
    - cancellable
    - error
    argTypes:
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: ostree_sepolicy_new_at
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - g_initable_new
    linkageType: ''
    returnType: OstreeSePolicy*
    signature: 'OstreeSePolicy *ostree_sepolicy_new_at (int rootfs_dfd, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selinux_set_callback
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: ostree_sepolicy_set_null_log
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - selinux_set_callback
    linkageType: ''
    returnType: void
    signature: 'void ostree_sepolicy_set_null_log (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:340,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:343,1
    - Dst: is_selinux_enabled
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: cached_is_selinux_enabled
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - is_selinux_enabled
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cached_is_selinux_enabled (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - path
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: ostree_sepolicy_new
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - g_initable_new
    linkageType: ''
    returnType: OstreeSePolicy*
    signature: 'OstreeSePolicy *ostree_sepolicy_new (GFile *path, GCancellable *cancellable,
      GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: selinux_binary_policy_path
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:190,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:204,1
    - Dst: g_path_get_dirname
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:192,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:198,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:191,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:211,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:224,1
    - Dst: g_regex_match_simple
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:228,1
    - Dst: g_ascii_strtoll
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:231,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:231,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:232,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:245,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:238,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:237,1
    - Dst: ot_checksum_file_at
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:247,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 34
    argCount: 3
    argNames:
    - out_csum
    - cancellable
    - error
    argTypes:
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 252
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 252
    functionName: get_policy_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - g_ascii_strtoll
    - ot_checksum_file_at
    - glnx_opendirat
    - g_assert
    - g_path_get_dirname
    - g_strdup_printf
    - glnx_dirfd_iterator_init_at
    - selinux_binary_policy_path
    - g_regex_match_simple
    - glnx_throw
    - glnx_basename
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_policy_checksum (char **out_csum, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSePolicy*
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: ostree_sepolicy_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sepolicy_init (OstreeSePolicy *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSePolicy*
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: ostree_sepolicy_get_path
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *ostree_sepolicy_get_path (OstreeSePolicy *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: initable_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initable_iface_init (GInitableIface *initable_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cached_is_selinux_enabled
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSePolicy*
    constantsTouched: []
    func_position:
      end: 791
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 791
    functionName: _ostree_sepolicy_host_enabled
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - cached_is_selinux_enabled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sepolicy_host_enabled (OstreeSePolicy *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SEPOLICY
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:158,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:162,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: ostree_sepolicy_constructed
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_SEPOLICY
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sepolicy_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSePolicy*
    constantsTouched: []
    func_position:
      end: 548
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 548
    functionName: ostree_sepolicy_get_csum
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_sepolicy_get_csum (OstreeSePolicy *self) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:620,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:633,1
    - Dst: freecon
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:636,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:623,1
    - Dst: lgetfilecon_raw
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:633,1
    - Dst: ostree_sepolicy_get_label
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:643,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:644,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:651,1
    - Dst: lsetfilecon
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:655,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:655,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:661,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:656,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 8
    argNames:
    - self
    - path
    - info
    - target
    - flags
    - out_new_label
    - cancellable
    - error
    argTypes:
    - OstreeSePolicy*
    - char*
    - GFileInfo*
    - GFile*
    - OstreeSePolicyRestoreconFlags
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 664
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 664
    functionName: ostree_sepolicy_restorecon
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - freecon
    - g_object_ref
    - glnx_throw_errno_prefix
    - g_file_info_get_attribute_uint32
    - lsetfilecon
    - g_steal_pointer
    - glnx_throw
    - gs_file_get_path_cached
    - lgetfilecon_raw
    - ostree_sepolicy_get_label
    - g_file_query_info
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sepolicy_restorecon (OstreeSePolicy *self, const char
      *path, GFileInfo *info, GFile *target, OstreeSePolicyRestoreconFlags flags,
      char **out_new_label, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setfscreatecon
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: ostree_sepolicy_fscreatecon_cleanup
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - setfscreatecon
    linkageType: ''
    returnType: void
    signature: 'void ostree_sepolicy_fscreatecon_cleanup (void **unused) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:753,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:761,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:759,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:767,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:767,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:769,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:769,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:774,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:774,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - xattrs
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 775
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 775
    functionName: _ostree_filter_selinux_xattr
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_variant_n_children
    - g_variant_builder_add
    - g_variant_get_child
    - g_variant_builder_init
    - g_variant_new_bytestring
    - strcmp
    - g_variant_ref_sink
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *_ostree_filter_selinux_xattr (GVariant *xattrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:168,1
    - Dst: g_param_spec_int
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:180,1
    - Dst: g_param_spec_object
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:177,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:179,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeSePolicyClass*
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: ostree_sepolicy_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - g_param_spec_int
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sepolicy_class_init (OstreeSePolicyClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSePolicy*
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: ostree_sepolicy_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_sepolicy_get_name (OstreeSePolicy *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sepolicy_fscreatecon_cleanup
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - OstreeSepolicyFsCreatecon*
    constantsTouched: []
    func_position:
      end: 737
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 737
    functionName: _ostree_sepolicy_fscreatecon_clear
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - ostree_sepolicy_fscreatecon_cleanup
    linkageType: ''
    returnType: void
    signature: 'void _ostree_sepolicy_fscreatecon_clear (OstreeSepolicyFsCreatecon
      *con) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SEPOLICY
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:105,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:115,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:116,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:115,1
    - Dst: g_value_get_object
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:111,1
    - Dst: g_value_get_int
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:122,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:125,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:131,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 134
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 134
    functionName: ostree_sepolicy_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - OSTREE_SEPOLICY
    - g_file_new_for_path
    - g_value_get_int
    - g_assert
    - g_value_get_object
    - gs_file_get_path_cached
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sepolicy_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SEPOLICY
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:80,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:88,1
    - Dst: glnx_tmpdir_delete
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:82,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:84,1
    - Dst: close
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:86,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:89,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:90,1
    - Dst: selabel_close
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:93,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: ostree_sepolicy_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - glnx_tmpdir_delete
    - OSTREE_SEPOLICY
    - g_clear_pointer
    - selabel_close
    - g_clear_object
    - close
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sepolicy_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SEPOLICY
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:139,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:150,1
    - Dst: g_value_set_int
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:147,1
    - Dst: g_value_set_object
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: ostree_sepolicy_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_SEPOLICY
    - g_value_set_int
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sepolicy_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - type
    - fmt
    - '...'
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: _ostree_sepolicy_null_log
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - format
    linkageType: ''
    returnType: int
    signature: '__attribute__ ((format (printf, 2, 3))) static int _ostree_sepolicy_null_log
      (int type, const char *fmt, ...) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:380,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:389,1
    - Dst: g_file_read
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:393,1
    - Dst: freecon
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:444,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:447,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:449,1
    - Dst: g_ascii_strncasecmp
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:421,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:370,1
    - Dst: cached_is_selinux_enabled
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:362,1
    - Dst: ot_fdrel_to_gfile
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:367,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:373,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:382,1
    - Dst: g_data_input_stream_read_line_utf8
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:405,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:408,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:386,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:415,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:416,1
    - Dst: g_ascii_strncasecmp
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:422,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:421,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:442,1
    - Dst: OSTREE_SEPOLICY
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:353,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:408,1
    - Dst: g_data_input_stream_new
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:398,1
    - Dst: g_file_query_exists
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:391,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:437,1
    - Dst: get_policy_checksum
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:446,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:450,1
    - Dst: selabel_lookup_raw
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:441,1
    - Dst: selabel_open
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:435,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:422,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:373,1
    - Dst: g_file_query_exists
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:383,1
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:385,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:413,1
    - Dst: g_strstrip
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:415,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:415,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:418,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:430,1
    - Dst: selinux_set_policy_root
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:432,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:433,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:420,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 73
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 455
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 455
    functionName: initable_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - OSTREE_SEPOLICY
    - g_steal_pointer
    - g_file_query_exists
    - gs_file_get_path_cached
    - g_propagate_error
    - selinux_set_policy_root
    - glnx_throw_errno_prefix
    - g_ascii_strncasecmp
    - strlen
    - freecon
    - g_data_input_stream_read_line_utf8
    - g_assert_not_reached
    - g_object_unref
    - g_str_has_prefix
    - ot_fdrel_to_gfile
    - get_policy_checksum
    - g_data_input_stream_new
    - g_object_ref
    - glnx_opendirat
    - selabel_open
    - selabel_lookup_raw
    - glnx_prefix_error
    - g_file_resolve_relative_path
    - cached_is_selinux_enabled
    - g_strstrip
    - g_strdup
    - g_file_read
    - g_file_get_child
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initable_init (GInitable *initable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:576,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:591,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:586,1
    - Dst: freecon
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:592,1
    - Dst: selabel_lookup_raw
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:580,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 6
    argNames:
    - self
    - relpath
    - unix_mode
    - out_label
    - cancellable
    - error
    argTypes:
    - OstreeSePolicy*
    - char*
    - guint32
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 597
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 597
    functionName: ostree_sepolicy_get_label
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - freecon
    - selabel_lookup_raw
    - glnx_throw_errno_prefix
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sepolicy_get_label (OstreeSePolicy *self, const char
      *relpath, guint32 unix_mode, char **out_label, GCancellable *cancellable, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cached_is_selinux_enabled
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:687,1
    - Dst: ostree_sepolicy_get_label
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:690,1
    - Dst: setfscreatecon_raw
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:693,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:694,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - self
    - path
    - mode
    - error
    argTypes:
    - OstreeSePolicy*
    - char*
    - guint32
    - GError**
    constantsTouched: []
    func_position:
      end: 698
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 698
    functionName: ostree_sepolicy_setfscreatecon
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - cached_is_selinux_enabled
    - ostree_sepolicy_get_label
    - setfscreatecon_raw
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sepolicy_setfscreatecon (OstreeSePolicy *self, const
      char *path, guint32 mode, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sepolicy_get_name
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:721,1
    - Dst: ostree_sepolicy_setfscreatecon
      Src: /src/ostree/src/libostree/ostree-sepolicy.c:724,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - con
    - self
    - path
    - mode
    - error
    argTypes:
    - OstreeSepolicyFsCreatecon*
    - OstreeSePolicy*
    - char*
    - guint32
    - GError**
    constantsTouched: []
    func_position:
      end: 729
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 729
    functionName: _ostree_sepolicy_preparefscreatecon
    functionSourceFile: /src/ostree/src/libostree/ostree-sepolicy.c
    functionUses: []
    functionsReached:
    - ostree_sepolicy_get_name
    - ostree_sepolicy_setfscreatecon
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_sepolicy_preparefscreatecon (OstreeSepolicyFsCreatecon
      *con, OstreeSePolicy *self, const char *path, guint32 mode, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_gen_temp_name
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:421,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:433,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:427,1
    - Dst: linkat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:422,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - self
    - srcfd
    - loose_path
    - tmpname
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 436
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 436
    functionName: hardlink_add_tmp_name
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - glnx_gen_temp_name
    - linkat
    - glnx_throw
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hardlink_add_tmp_name (OstreeRepo *self, int srcfd,
      const char *loose_path, char *tmpname, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:581,1
    - Dst: glnx_dfd_name_set_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:594,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:596,1
    - Dst: mknodat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:582,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:589,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:598,1
    - Dst: fchownat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:598,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:599,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:600,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:603,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:604,1
    - Dst: fchmodat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:604,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:606,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 8
    argNames:
    - options
    - destination_dfd
    - destination_name
    - file_info
    - xattrs
    - found_exant_file
    - cancellable
    - error
    argTypes:
    - OstreeRepoCheckoutAtOptions*
    - int
    - char*
    - GFileInfo*
    - GVariant*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 611
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 611
    functionName: _checkout_overlayfs_whiteout_at_no_overwrite
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - mknodat
    - glnx_dfd_name_set_all_xattrs
    - fchownat
    - TEMP_FAILURE_RETRY
    - g_file_info_get_attribute_uint32
    - glnx_throw_errno_prefix
    - fchmodat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _checkout_overlayfs_whiteout_at_no_overwrite (OstreeRepoCheckoutAtOptions
      *options, int destination_dfd, const char *destination_name, GFileInfo *file_info,
      GVariant *xattrs, gboolean *found_exant_file, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_get_mode
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - self
    - options
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutAtOptions*
    constantsTouched: []
    func_position:
      end: 1473
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1473
    functionName: canonicalize_options
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - ostree_repo_get_mode
    linkageType: ''
    returnType: void
    signature: 'static void canonicalize_options (OstreeRepo *self, OstreeRepoCheckoutAtOptions
      *options) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_mode_is_bare
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:445,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:472,1
    - Dst: linkat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:452,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:500,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:497,1
    - Dst: _ostree_stbuf_equal
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:505,1
    - Dst: ostree_checksum_file_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:520,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:525,1
    - Dst: strdupa
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:531,1
    - Dst: hardlink_add_tmp_name
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:533,1
    - Dst: glnx_renameat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:545,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:555,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:540,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:564,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:552,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 63
    argCount: 10
    argNames:
    - self
    - checksum
    - options
    - loose_path
    - destination_dfd
    - destination_name
    - allow_noent
    - out_result
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - OstreeRepoCheckoutAtOptions*
    - char*
    - int
    - char*
    - gboolean
    - HardlinkResult*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 570
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 570
    functionName: checkout_file_hardlink
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_assert_cmpint
    - glnx_renameat
    - glnx_fstatat
    - _ostree_stbuf_equal
    - ostree_checksum_file_at
    - strdupa
    - linkat
    - glnx_shutil_rm_rf_at
    - glnx_throw_errno_prefix
    - _ostree_repo_mode_is_bare
    - hardlink_add_tmp_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checkout_file_hardlink (OstreeRepo *self, const char
      *checksum, OstreeRepoCheckoutAtOptions *options, const char *loose_path, int
      destination_dfd, const char *destination_name, gboolean allow_noent, HardlinkResult
      *out_result, GCancellable *cancellable, GError **error) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _checkout_overlayfs_whiteout_at_no_overwrite
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:620,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:630,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:629,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:628,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:639,1
    - Dst: _checkout_overlayfs_whiteout_at_no_overwrite
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:641,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:647,1
    - Dst: glnx_dfd_name_get_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:653,1
    - Dst: g_variant_equal
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:656,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:657,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:667,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:671,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:663,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 32
    argCount: 8
    argNames:
    - repo
    - options
    - destination_dfd
    - destination_name
    - file_info
    - xattrs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutAtOptions*
    - int
    - char*
    - GFileInfo*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 677
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 677
    functionName: _checkout_overlayfs_whiteout_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - _checkout_overlayfs_whiteout_at_no_overwrite
    - glnx_dfd_name_get_all_xattrs
    - g_file_info_get_attribute_uint32
    - ot_ensure_unlinked_at
    - glnx_fstatat
    - g_variant_equal
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _checkout_overlayfs_whiteout_at (OstreeRepo *repo,
      OstreeRepoCheckoutAtOptions *options, int destination_dfd, const char *destination_name,
      GFileInfo *file_info, GVariant *xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1681
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1681
    functionName: ostree_repo_devino_cache_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: OstreeRepoDevInoCache*
    signature: 'OstreeRepoDevInoCache *ostree_repo_devino_cache_new (void) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sepolicy_host_enabled
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:203,1
    - Dst: _ostree_sepolicy_preparefscreatecon
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:222,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:229,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:232,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:238,1
    - Dst: unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:253,1
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:271,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:255,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:380,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:391,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:213,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:260,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:274,1
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:276,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:293,1
    - Dst: fchownat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:293,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:295,1
    - Dst: glnx_dfd_name_set_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:301,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:306,1
    - Dst: ostree_sepolicy_get_label
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:318,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:228,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:259,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:256,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:320,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:325,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:359,1
    - Dst: ostree_checksum_file_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:375,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:345,1
    - Dst: _ostree_filter_selinux_xattr
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:209,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:224,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:248,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:281,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:285,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:296,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:298,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:312,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:324,1
    - Dst: write_regular_file_content
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:328,1
    - Dst: fsetxattr
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:324,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:395,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 101
    argCount: 11
    argNames:
    - repo
    - options
    - state
    - checksum
    - file_info
    - xattrs
    - input
    - destination_dfd
    - destination_name
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutAtOptions*
    - CheckoutState*
    - char*
    - GFileInfo*
    - GVariant*
    - GInputStream*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 398
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 398
    functionName: create_file_copy_from_input_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - glnx_fstatat_allow_noent
    - S_ISLNK
    - write_regular_file_content
    - ostree_checksum_file_at
    - _ostree_sepolicy_preparefscreatecon
    - g_file_info_get_symlink_target
    - glnx_throw_errno_prefix
    - ostree_sepolicy_get_label
    - _ostree_sepolicy_host_enabled
    - strlen
    - glnx_dfd_name_set_all_xattrs
    - g_file_info_get_attribute_uint32
    - TEMP_FAILURE_RETRY
    - g_assert_not_reached
    - g_file_info_get_file_type
    - glnx_fstatat
    - glnx_open_tmpfile_linkable_at
    - _ostree_filter_selinux_xattr
    - fsetxattr
    - G_UNLIKELY
    - glnx_link_tmpfile_at
    - unlinkat
    - g_str_equal
    - glnx_readlinkat_malloc
    - symlinkat
    - fchownat
    - glnx_shutil_rm_rf_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean create_file_copy_from_input_at (OstreeRepo *repo,
      OstreeRepoCheckoutAtOptions *options, CheckoutState *state, const char *checksum,
      GFileInfo *file_info, GVariant *xattrs, GInputStream *input, int destination_dfd,
      const char *destination_name, GCancellable *cancellable, GError **error) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:826,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:870,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:889,1
    - Dst: g_ascii_xdigit_value
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:889,1
    - Dst: g_hash_table_new
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:892,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:893,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:923,1
    - Dst: g_input_stream_close
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:934,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:821,1
    - Dst: create_file_copy_from_input_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:927,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:822,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:899,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:895,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:860,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:914,1
    - Dst: _ostree_gfileinfo_to_stbuf
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:706,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:695,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:713,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:717,1
    - Dst: _checkout_overlayfs_whiteout_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:751,1
    - Dst: checkout_file_hardlink
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:811,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:737,1
    - Dst: checkout_object_for_uncompressed_cache
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:866,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:868,1
    - Dst: g_ascii_xdigit_value
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:890,1
    - Dst: checkout_file_hardlink
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:897,1
    - Dst: g_file_info_dup
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:922,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:930,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:864,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:809,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:824,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:831,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:840,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:915,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:685,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:714,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:720,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:721,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:733,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:749,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:735,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:799,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:747,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:829,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:887,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 157
    argCount: 8
    argNames:
    - repo
    - options
    - state
    - checksum
    - destination_dfd
    - destination_name
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutAtOptions*
    - CheckoutState*
    - char*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 940
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 940
    functionName: checkout_one_file_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_input_stream_close
    - glnx_throw
    - checkout_object_for_uncompressed_cache
    - g_hash_table_add
    - g_file_info_get_attribute_uint32
    - TEMP_FAILURE_RETRY
    - create_file_copy_from_input_at
    - g_file_info_get_file_type
    - g_str_has_prefix
    - fstatat
    - g_file_info_set_attribute_uint32
    - memcpy
    - g_file_info_dup
    - g_ascii_xdigit_value
    - g_hash_table_new
    - glnx_prefix_error
    - ot_util_filename_validate
    - glnx_throw_errno
    - _ostree_gfileinfo_to_stbuf
    - ostree_repo_load_file
    - g_assert
    - _ostree_loose_path
    - g_clear_object
    - g_new
    - checkout_file_hardlink
    - g_mutex_unlock
    - glnx_shutil_rm_rf_at
    - _checkout_overlayfs_whiteout_at
    - g_mutex_lock
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checkout_one_file_at (OstreeRepo *repo, OstreeRepoCheckoutAtOptions
      *options, CheckoutState *state, const char *checksum, int destination_dfd, const
      char *destination_name, GCancellable *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_mode_is_bare
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1414,1
    - Dst: _ostree_repo_memory_cache_ref_init
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1454,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1456,1
    - Dst: ostree_repo_file_get_checksum
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1445,1
    - Dst: ostree_repo_file_tree_get_contents_checksum
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1457,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1395,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1403,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1406,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1419,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1423,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1433,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1456,1
    - Dst: ostree_repo_file_tree_get_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1458,1
    - Dst: checkout_tree_at_recurse
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1459,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1402,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1392,1
    - Dst: checkout_one_file_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1445,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1446,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1437,1
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1435,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1386,1
    - Dst: glnx_opendirat_with_errno
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1417,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1436,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 53
    argCount: 8
    argNames:
    - self
    - options
    - destination_parent_fd
    - destination_name
    - source
    - source_info
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutAtOptions*
    - int
    - char*
    - OstreeRepoFile*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1461
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1461
    functionName: checkout_tree_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - glnx_opendirat_with_errno
    - g_string_new
    - g_assert_cmpint
    - checkout_one_file_at
    - g_file_info_get_name
    - ostree_repo_file_tree_get_metadata_checksum
    - checkout_tree_at_recurse
    - g_assert
    - glnx_opendirat
    - g_string_append_c
    - ostree_repo_file_get_checksum
    - mkdirat
    - g_file_info_get_file_type
    - ostree_repo_file_tree_get_contents_checksum
    - _ostree_repo_memory_cache_ref_init
    - glnx_throw_errno_prefix
    - _ostree_repo_mode_is_bare
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checkout_tree_at (OstreeRepo *self, OstreeRepoCheckoutAtOptions
      *options, int destination_parent_fd, const char *destination_name, OstreeRepoFile
      *source, GFileInfo *source_info, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: canonicalize_options
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1594,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1596,1
    - Dst: _ostree_repo_file_new_for_commit
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1603,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1597,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1599,1
    - Dst: ostree_repo_file_ensure_resolved
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1607,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1612,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1613,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1615,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1617,1
    - Dst: checkout_tree_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1622,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 7
    argNames:
    - self
    - options
    - destination_dfd
    - destination_path
    - commit
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutAtOptions*
    - int
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1627
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1627
    functionName: ostree_repo_checkout_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - checkout_tree_at
    - g_file_resolve_relative_path
    - _ostree_repo_file_new_for_commit
    - strcmp
    - ostree_repo_file_ensure_resolved
    - g_return_val_if_fail
    - g_file_query_info
    - canonicalize_options
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_checkout_at (OstreeRepo *self, OstreeRepoCheckoutAtOptions
      *options, int destination_dfd, const char *destination_path, const char *commit,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - opts
    - cache
    argTypes:
    - OstreeRepoCheckoutAtOptions*
    - OstreeRepoDevInoCache*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1647
    functionName: ostree_repo_checkout_at_options_set_devino
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_checkout_at_options_set_devino (OstreeRepoCheckoutAtOptions
      *opts, OstreeRepoDevInoCache *cache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:57,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - CheckoutState*
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: checkout_state_clear
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void checkout_state_clear (CheckoutState *state) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:69,1
    - Dst: g_output_stream_flush
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:82,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:79,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:75,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:77,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:87,1
    - Dst: fsync
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:87,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:88,1
    - Dst: g_output_stream_close
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:91,1
    - Dst: glnx_fchmod
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:94,1
    - Dst: _ostree_repo_ensure_loose_objdir_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:107,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:111,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:102,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:99,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 6
    argNames:
    - self
    - loose_path
    - src_info
    - content
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GFileInfo*
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 116
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 116
    functionName: checkout_object_for_uncompressed_cache
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - g_output_stream_splice
    - glnx_fchmod
    - glnx_opendirat
    - g_output_stream_flush
    - g_file_info_get_attribute_uint32
    - g_unix_output_stream_new
    - TEMP_FAILURE_RETRY
    - glnx_throw_errno
    - glnx_shutil_mkdir_p_at
    - glnx_link_tmpfile_at
    - glnx_open_tmpfile_linkable_at
    - g_output_stream_close
    - _ostree_repo_ensure_loose_objdir_at
    - fsync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checkout_object_for_uncompressed_cache (OstreeRepo
      *self, const char *loose_path, GFileInfo *src_info, GInputStream *content, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:945,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - name
    - is_dir
    argTypes:
    - GString*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 948
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 948
    functionName: push_path_element_once
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_string_append_c
    linkageType: ''
    returnType: void
    signature: 'static inline void push_path_element_once (GString *buf, const char
      *name, gboolean is_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1654
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1654
    functionName: devino_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint devino_hash (gconstpointer a) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1301,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1317,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1329,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1303,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1325,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1332,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1333,1
    - Dst: ostree_repo_read_commit
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1337,1
    - Dst: ostree_composefs_target_new
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1340,1
    - Dst: _ostree_repo_checkout_composefs
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1342,1
    - Dst: ostree_composefs_target_write
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1347,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1365,1
    - Dst: glnx_fchmod
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1359,1
    - Dst: _ostree_tmpf_fsverity
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1362,1
    - Dst: composefs_not_supported
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1371,1
    - Dst: compare_verity_digests
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1355,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 36
    argCount: 7
    argNames:
    - self
    - options
    - destination_dfd
    - destination_path
    - checksum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - int
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1373
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1373
    functionName: ostree_repo_checkout_composefs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - ostree_repo_read_commit
    - ostree_composefs_target_new
    - glnx_fchmod
    - _ostree_tmpf_fsverity
    - g_variant_dict_init
    - g_assert_not_reached
    - g_variant_get_child_value
    - ostree_composefs_target_write
    - composefs_not_supported
    - ostree_repo_load_commit
    - _ostree_repo_checkout_composefs
    - g_variant_lookup_value
    - glnx_link_tmpfile_at
    - glnx_open_tmpfile_linkable_at
    - compare_verity_digests
    - g_variant_dict_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_checkout_composefs (OstreeRepo *self, GVariant
      *options, int destination_dfd, const char *destination_path, const char *checksum,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canonicalize_options
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1504,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1506,1
    - Dst: checkout_tree_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1506,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 8
    argNames:
    - self
    - mode
    - overwrite_mode
    - destination
    - source
    - source_info
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutMode
    - OstreeRepoCheckoutOverwriteMode
    - GFile*
    - OstreeRepoFile*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1508
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1508
    functionName: ostree_repo_checkout_tree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - checkout_tree_at
    - canonicalize_options
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_checkout_tree (OstreeRepo *self, OstreeRepoCheckoutMode
      mode, OstreeRepoCheckoutOverwriteMode overwrite_mode, GFile *destination, OstreeRepoFile
      *source, GFileInfo *source_info, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_checkout_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1547,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 7
    argNames:
    - self
    - options
    - destination_dfd
    - destination_path
    - commit
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutOptions*
    - int
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1549
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1549
    functionName: ostree_repo_checkout_tree_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - ostree_repo_checkout_at
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_checkout_tree_at (OstreeRepo *self, OstreeRepoCheckoutOptions
      *options, int destination_dfd, const char *destination_path, const char *commit,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - self
    - options
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutAtOptions*
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: fsync_is_enabled
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fsync_is_enabled (OstreeRepo *self, OstreeRepoCheckoutAtOptions
      *options) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_path_element_once
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:955,1
    - Dst: push_path_element_once
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:957,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - options
    - state
    - name
    - is_dir
    argTypes:
    - OstreeRepoCheckoutAtOptions*
    - CheckoutState*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 958
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 958
    functionName: push_path_element
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - push_path_element_once
    linkageType: ''
    returnType: void
    signature: 'static inline void push_path_element (OstreeRepoCheckoutAtOptions
      *options, CheckoutState *state, const char *name, gboolean is_dir) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1004,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1010,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1031,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1068,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1123,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1132,1
    - Dst: _ostree_checksum_inplace_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1147,1
    - Dst: checkout_one_file_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1149,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1160,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1165,1
    - Dst: _ostree_checksum_inplace_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1183,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1215,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1228,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1210,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1012,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1013,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1014,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1036,1
    - Dst: _ostree_filter_selinux_xattr
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1057,1
    - Dst: _ostree_sepolicy_preparefscreatecon
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1060,1
    - Dst: mkdirat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1092,1
    - Dst: fstat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1116,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1120,1
    - Dst: push_path_element
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1144,1
    - Dst: fsync
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1234,1
    - Dst: checkout_tree_at_recurse
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1184,1
    - Dst: futimens
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1228,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1001,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1081,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1078,1
    - Dst: _ostree_sepolicy_host_enabled
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1054,1
    - Dst: glnx_fd_set_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1131,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1142,1
    - Dst: pop_path_element
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1153,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1175,1
    - Dst: _ostree_checksum_inplace_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1181,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1209,1
    - Dst: push_path_element
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1178,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1216,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1229,1
    - Dst: pop_path_element
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1189,1
    - Dst: fsync_is_enabled
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1232,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1035,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1038,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1083,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1092,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1095,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1100,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1112,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1117,1
    - Dst: fstat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1119,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1137,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1209,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1167,1
    - Dst: fchown
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1215,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1235,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1139,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 139
    argCount: 9
    argNames:
    - self
    - options
    - state
    - destination_parent_fd
    - destination_name
    - dirtree_checksum
    - dirmeta_checksum
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutAtOptions*
    - CheckoutState*
    - int
    - char*
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1239
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1239
    functionName: checkout_tree_at_recurse
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - glnx_fstatat_allow_noent
    - g_variant_get_child_value
    - _ostree_sepolicy_preparefscreatecon
    - glnx_throw
    - glnx_throw_errno_prefix
    - _ostree_sepolicy_host_enabled
    - S_ISDIR
    - glnx_fd_set_all_xattrs
    - TEMP_FAILURE_RETRY
    - mkdirat
    - fsync
    - _ostree_filter_selinux_xattr
    - g_variant_iter_loop
    - fstat
    - GUINT32_FROM_BE
    - g_variant_iter_init
    - glnx_opendirat
    - g_variant_get
    - fsync_is_enabled
    - glnx_prefix_error
    - push_path_element
    - ostree_repo_load_variant
    - ot_util_filename_validate
    - glnx_throw_errno
    - g_str_equal
    - futimens
    - checkout_one_file_at
    - checkout_tree_at_recurse
    - pop_path_element
    - fchmod
    - glnx_shutil_rm_rf_at
    - _ostree_checksum_inplace_from_bytes_v
    - fchown
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checkout_tree_at_recurse (OstreeRepo *self, OstreeRepoCheckoutAtOptions
      *options, CheckoutState *state, int destination_parent_fd, const char *destination_name,
      const char *dirtree_checksum, const char *dirmeta_checksum, GCancellable *cancellable,
      GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:138,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:142,1
    - Dst: fchown
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:152,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:154,1
    - Dst: fchmod
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:171,1
    - Dst: fsync_is_enabled
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:174,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:153,1
    - Dst: fsync
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:176,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:132,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:134,1
    - Dst: glnx_regfile_copy_bytes
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:137,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:165,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:172,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:156,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:177,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:135,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:143,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:152,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:171,1
    - Dst: glnx_fd_set_all_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:160,1
    - Dst: g_output_stream_close
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:182,1
    - Dst: g_output_stream_flush
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:146,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 8
    argNames:
    - self
    - options
    - outfd
    - file_info
    - xattrs
    - input
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCheckoutAtOptions*
    - int
    - GFileInfo*
    - GVariant*
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 187
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 187
    functionName: write_regular_file_content
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - g_output_stream_splice
    - glnx_regfile_copy_bytes
    - g_output_stream_flush
    - glnx_fd_set_all_xattrs
    - TEMP_FAILURE_RETRY
    - g_unix_output_stream_new
    - g_file_info_get_attribute_uint32
    - G_IS_FILE_DESCRIPTOR_BASED
    - fchmod
    - fsync_is_enabled
    - g_file_descriptor_based_get_fd
    - glnx_throw_errno_prefix
    - g_output_stream_close
    - fsync
    - fchown
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_regular_file_content (OstreeRepo *self, OstreeRepoCheckoutAtOptions
      *options, int outfd, GFileInfo *file_info, GVariant *xattrs, GInputStream *input,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:964,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:966,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:968,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - options
    - state
    - name
    - is_dir
    argTypes:
    - OstreeRepoCheckoutAtOptions*
    - CheckoutState*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 969
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 969
    functionName: pop_path_element
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_truncate
    linkageType: ''
    returnType: void
    signature: 'static inline void pop_path_element (OstreeRepoCheckoutAtOptions *options,
      CheckoutState *state, const char *name, gboolean is_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1662
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1662
    functionName: devino_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int devino_equal (gconstpointer a, gconstpointer b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1250,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1253,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1251,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1259,1
    - Dst: memcmp
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1254,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1260,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - metadata_composefs
    - fsverity_digest
    - error
    argTypes:
    - GVariant*
    - guchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1268
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1268
    functionName: compare_verity_digests
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - ostree_checksum_inplace_from_bytes
    - glnx_throw
    - memcmp
    - g_variant_get_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean compare_verity_digests (GVariant *metadata_composefs,
      const guchar *fsverity_digest, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1698,1
    - Dst: g_hash_table_new
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1700,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1706,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1708,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1701,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1708,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1713,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1722,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1727,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1729,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-checkout.c:1735,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1742
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1742
    functionName: ostree_repo_checkout_gc
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-checkout.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - GLNX_HASH_TABLE_FOREACH
    - GPOINTER_TO_UINT
    - g_hash_table_new
    - g_strdup_printf
    - g_mutex_unlock
    - glnx_dirfd_iterator_init_at
    - fstatat
    - glnx_dirfd_iterator_next_dent
    - glnx_set_error_from_errno
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_checkout_gc (OstreeRepo *self, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:58,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:73,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:59,1
    - Dst: g_param_spec_pointer
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeLibarchiveInputStreamClass*
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: _ostree_libarchive_input_stream_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-input-stream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_pointer
    - G_INPUT_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_libarchive_input_stream_class_init (OstreeLibarchiveInputStreamClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LIBARCHIVE_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:104,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:112,1
    - Dst: g_value_set_pointer
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.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: 114
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: ostree_libarchive_input_stream_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-input-stream.c
    functionUses: []
    functionsReached:
    - g_value_set_pointer
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_LIBARCHIVE_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void ostree_libarchive_input_stream_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:127,1
    - Dst: G_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct archive*
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: _ostree_libarchive_input_stream_new
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-input-stream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *_ostree_libarchive_input_stream_new (struct archive
      *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ostree_libarchive_input_stream_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-input-stream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_libarchive_input_stream_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LIBARCHIVE_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:85,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:93,1
    - Dst: g_value_get_pointer
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    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: ostree_libarchive_input_stream_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-input-stream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_pointer
    - OSTREE_LIBARCHIVE_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void ostree_libarchive_input_stream_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_libarchive_input_stream_get_instance_private
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeLibarchiveInputStream*
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: _ostree_libarchive_input_stream_init
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-input-stream.c
    functionUses: []
    functionsReached:
    - _ostree_libarchive_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_libarchive_input_stream_init (OstreeLibarchiveInputStream
      *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LIBARCHIVE_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:139,1
    - Dst: archive_read_data
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:144,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:147,1
    - Dst: archive_error_string
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:148,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-libarchive-input-stream.c:141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: ostree_libarchive_input_stream_read
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-input-stream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - OSTREE_LIBARCHIVE_INPUT_STREAM
    - g_cancellable_set_error_if_cancelled
    - archive_read_data
    - archive_error_string
    linkageType: ''
    returnType: gssize
    signature: 'static gssize ostree_libarchive_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: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: ostree_libarchive_input_stream_close
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-input-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_libarchive_input_stream_close (GInputStream
      *stream, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:392,1
    - Dst: ostree_sign_ed25519_clear_keys
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:394,1
    - Dst: ostree_sign_ed25519_add_pk
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:397,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - self
    - public_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: ostree_sign_ed25519_set_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_sign_ed25519_clear_keys
    - OSTREE_IS_SIGN
    - ostree_sign_ed25519_add_pk
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_ed25519_set_pk (OstreeSign *self, GVariant *public_key,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sign_ed25519_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:653,1
    - Dst: _load_pk_from_file
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:659,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:658,1
    - Dst: _ostree_sign_ed25519_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:654,1
    - Dst: OSTREE_SIGN_ED25519
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:653,1
    - Dst: _ed25519_load_pk
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:662,1
    - Dst: _ed25519_load_pk
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:669,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:670,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - self
    - options
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 673
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 673
    functionName: ostree_sign_ed25519_load_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_ED25519
    - g_variant_lookup
    - _ed25519_load_pk
    - g_clear_error
    - _ostree_sign_ed25519_get_instance_private
    - _load_pk_from_file
    - _ostree_sign_ed25519_is_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_ed25519_load_pk (OstreeSign *self, GVariant *options,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:352,1
    - Dst: _ostree_sign_ed25519_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:357,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:352,1
    - Dst: OSTREE_SIGN_ED25519
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:357,1
    - Dst: ostree_sign_ed25519_clear_keys
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:354,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:362,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:364,1
    - Dst: g_base64_decode
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:365,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:367,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:370,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:378,1
    - Dst: validate_length
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:377,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:374,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:380,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - self
    - secret_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 383
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 383
    functionName: ostree_sign_ed25519_set_sk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_ED25519
    - validate_length
    - g_variant_get_fixed_array
    - g_assert
    - OSTREE_IS_SIGN
    - g_steal_pointer
    - _ostree_sign_ed25519_get_instance_private
    - glnx_prefix_error
    - glnx_throw
    - g_variant_get_string
    - ostree_sign_ed25519_clear_keys
    - g_base64_decode
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_ed25519_set_sk (OstreeSign *self, GVariant *secret_key,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:452,1
    - Dst: _ostree_sign_ed25519_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:454,1
    - Dst: OSTREE_SIGN_ED25519
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:454,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:452,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:460,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:462,1
    - Dst: g_base64_decode
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:463,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:465,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:467,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:471,1
    - Dst: validate_length
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:474,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:475,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:477,1
    - Dst: g_memdup2
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:483,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:479,1
    - Dst: g_list_prepend
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:484,1
    - Dst: g_list_find_custom
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:481,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:478,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - self
    - revoked_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 488
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 488
    functionName: _ed25519_add_revoked
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_ED25519
    - ot_bin2hex
    - validate_length
    - g_variant_get_fixed_array
    - g_assert
    - g_malloc0
    - OSTREE_IS_SIGN
    - g_list_find_custom
    - g_list_prepend
    - g_memdup2
    - g_debug
    - _ostree_sign_ed25519_get_instance_private
    - glnx_prefix_error
    - glnx_throw
    - g_variant_get_string
    - g_base64_decode
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ed25519_add_revoked (OstreeSign *self, GVariant *revoked_key,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSignInterface*
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: ostree_sign_ed25519_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sign_ed25519_iface_init (OstreeSignInterface *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:495,1
    - Dst: ostree_sign_read_pk
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:499,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:512,1
    - Dst: ostree_blob_reader_read_blob
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:508,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:500,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:512,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:520,1
    - Dst: ostree_sign_ed25519_add_pk
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:523,1
    - Dst: _ed25519_add_revoked
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:525,1
    - Dst: g_variant_print
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:527,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:528,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - self
    - key_stream_in
    - trusted
    - error
    argTypes:
    - OstreeSign*
    - GInputStream*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 537
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 537
    functionName: _load_pk_from_stream
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_print
    - g_variant_new_from_bytes
    - ostree_blob_reader_read_blob
    - ostree_sign_ed25519_add_pk
    - g_steal_pointer
    - g_debug
    - glnx_throw
    - _ed25519_add_revoked
    - g_propagate_error
    - ostree_sign_read_pk
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _load_pk_from_stream (OstreeSign *self, GInputStream
      *key_stream_in, gboolean trusted, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sign_ed25519_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:409,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:420,1
    - Dst: g_list_find_custom
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:439,1
    - Dst: g_memdup2
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:441,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:429,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:433,1
    - Dst: _ostree_sign_ed25519_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:411,1
    - Dst: OSTREE_SIGN_ED25519
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:409,1
    - Dst: g_base64_decode
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:421,1
    - Dst: g_list_prepend
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:442,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:436,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:435,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:437,1
    - Dst: validate_length
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:432,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:407,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:423,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:407,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:418,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:425,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - self
    - public_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 446
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 446
    functionName: ostree_sign_ed25519_add_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_ED25519
    - ot_bin2hex
    - validate_length
    - g_variant_get_fixed_array
    - g_assert
    - g_malloc0
    - OSTREE_IS_SIGN
    - g_list_find_custom
    - g_list_prepend
    - g_memdup2
    - g_debug
    - _ostree_sign_ed25519_get_instance_private
    - glnx_prefix_error
    - glnx_throw
    - g_variant_get_string
    - g_variant_is_of_type
    - g_base64_decode
    - _ostree_sign_ed25519_is_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_ed25519_add_pk (OstreeSign *self, GVariant *public_key,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSignEd25519Class*
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: _ostree_sign_ed25519_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_sign_ed25519_class_init (OstreeSignEd25519Class
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: ostree_sign_ed25519_metadata_key
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_ed25519_metadata_key (OstreeSign *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: otcore_ed25519_init
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSignEd25519*
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: _ostree_sign_ed25519_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - otcore_ed25519_init
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_sign_ed25519_init (OstreeSignEd25519 *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: ostree_sign_ed25519_metadata_format
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_ed25519_metadata_format (OstreeSign *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - found
    - expected
    - error
    argTypes:
    - gsize
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: validate_length
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_length (gsize found, gsize expected, GError
      **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_SIGN_ED25519
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:131,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:130,1
    - Dst: EVP_MD_CTX_free
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:154,1
    - Dst: EVP_DigestSignInit
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:159,1
    - Dst: EVP_PKEY_free
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:163,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:130,1
    - Dst: _ostree_sign_ed25519_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:131,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:137,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:140,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:169,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:171,1
    - Dst: _ostree_sign_ed25519_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:133,1
    - Dst: crypto_sign_detached
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:143,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:143,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:143,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:149,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:155,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:160,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:160,1
    - Dst: EVP_DigestSign
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:160,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:171,1
    - Dst: EVP_MD_CTX_new
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:147,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:150,1
    - Dst: EVP_MD_CTX_free
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:164,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 5
    argNames:
    - self
    - data
    - signature
    - cancellable
    - error
    argTypes:
    - OstreeSign*
    - GBytes*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 173
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 173
    functionName: ostree_sign_ed25519_data
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_ED25519
    - g_bytes_get_data
    - g_assert
    - g_malloc0
    - EVP_DigestSignInit
    - OSTREE_IS_SIGN
    - EVP_MD_CTX_new
    - EVP_PKEY_new_raw_private_key
    - EVP_PKEY_free
    - EVP_DigestSign
    - g_steal_pointer
    - _ostree_sign_ed25519_get_instance_private
    - glnx_throw
    - EVP_MD_CTX_free
    - g_bytes_new_take
    - crypto_sign_detached
    - g_bytes_get_size
    - _ostree_sign_ed25519_is_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_ed25519_data (OstreeSign *self, GBytes *data,
      GBytes **signature, GCancellable *cancellable, GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sign_ed25519_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:192,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:196,1
    - Dst: ostree_sign_ed25519_load_pk
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:211,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:208,1
    - Dst: g_bytes_hash
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:215,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:264,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:275,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:188,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:220,1
    - Dst: validate_length
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:225,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:238,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:246,1
    - Dst: otcore_validate_ed25519_signature
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:247,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:282,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:285,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:258,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:185,1
    - Dst: _ostree_sign_ed25519_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:190,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:199,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:209,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:215,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:226,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:228,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:230,1
    - Dst: g_variant_print
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:230,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:265,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:257,1
    - Dst: OSTREE_SIGN_ED25519
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:190,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:185,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:198,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:208,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:222,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:223,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:225,1
    - Dst: g_list_find_custom
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:235,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:239,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:253,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:255,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:280,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 5
    argNames:
    - self
    - data
    - signatures
    - out_success_message
    - error
    argTypes:
    - OstreeSign*
    - GBytes*
    - GVariant*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 286
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 286
    functionName: ostree_sign_ed25519_data_verify
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_ED25519
    - g_string_append
    - g_variant_get_child_value
    - _ostree_sign_ed25519_get_instance_private
    - glnx_throw
    - g_bytes_get_size
    - _ostree_sign_ed25519_is_initialized
    - validate_length
    - g_malloc0
    - g_variant_print
    - OSTREE_IS_SIGN
    - g_list_find_custom
    - ostree_sign_ed25519_load_pk
    - g_variant_get_data_as_bytes
    - g_bytes_new_static
    - g_assert_cmpuint
    - g_bytes_hash
    - g_strdup_printf
    - glnx_prefix_error
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_string_new
    - ot_bin2hex
    - otcore_validate_ed25519_signature
    - g_assert
    - g_variant_n_children
    - g_string_append_printf
    - g_variant_builder_new
    - g_debug
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_ed25519_data_verify (OstreeSign *self, GBytes
      *data, GVariant *signatures, char **out_success_message, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:313,1
    - Dst: _ostree_sign_ed25519_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:317,1
    - Dst: _ostree_sign_ed25519_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:315,1
    - Dst: OSTREE_SIGN_ED25519
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:315,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:313,1
    - Dst: explicit_bzero
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:323,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:324,1
    - Dst: g_list_free_full
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:331,1
    - Dst: g_list_free_full
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:338,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSign*
    - GError**
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: ostree_sign_ed25519_clear_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_ED25519
    - g_free
    - g_assert
    - OSTREE_IS_SIGN
    - explicit_bzero
    - _ostree_sign_ed25519_get_instance_private
    - g_list_free_full
    - _ostree_sign_ed25519_is_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_ed25519_clear_keys (OstreeSign *self, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:542,1
    - Dst: g_file_test
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:547,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:550,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:553,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:549,1
    - Dst: g_file_read
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:554,1
    - Dst: _load_pk_from_stream
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:558,1
    - Dst: G_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:558,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:561,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - self
    - filename
    - trusted
    - error
    argTypes:
    - OstreeSign*
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 567
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 567
    functionName: _load_pk_from_file
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - _load_pk_from_stream
    - g_debug
    - g_file_test
    - g_file_read
    - glnx_throw
    - G_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _load_pk_from_file (OstreeSign *self, const gchar
      *filename, gboolean trusted, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:117,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSignEd25519*
    - GError**
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: _ostree_sign_ed25519_is_initialized
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_sign_ed25519_is_initialized (OstreeSignEd25519
      *self, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: _compare_ed25519_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: gint
    signature: 'static gint _compare_ed25519_keys (gconstpointer a, gconstpointer
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:291,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: ostree_sign_ed25519_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_ed25519_get_name (OstreeSign *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:576,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:577,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:582,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:608,1
    - Dst: g_dir_open
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:605,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:615,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:604,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:625,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:627,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:587,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:588,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:598,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:598,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:602,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:614,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:579,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:582,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:587,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:588,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:601,1
    - Dst: g_dir_read_name
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:612,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:616,1
    - Dst: _load_pk_from_file
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:623,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:623,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:626,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-ed25519.c:634,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 4
    argNames:
    - self
    - options
    - trusted
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 637
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 637
    functionName: _ed25519_load_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-ed25519.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_strdup
    - g_ptr_array_new_with_free_func
    - g_dir_read_name
    - g_ptr_array_index
    - g_dir_open
    - g_build_filename
    - g_debug
    - g_clear_error
    - glnx_throw
    - _load_pk_from_file
    - g_strconcat
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ed25519_load_pk (OstreeSign *self, GVariant *options,
      gboolean trusted, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_CHAIN_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:78,1
    - Dst: g_value_get_pointer
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:83,1
    - Dst: g_ptr_array_ref
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:83,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: ostree_chain_input_stream_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-chain-input-stream.c
    functionUses: []
    functionsReached:
    - g_ptr_array_ref
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_pointer
    - OSTREE_CHAIN_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void ostree_chain_input_stream_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:116,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: ostree_chain_input_stream_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-chain-input-stream.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_chain_input_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - streams
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: ostree_chain_input_stream_new
    functionSourceFile: /src/ostree/src/libostree/ostree-chain-input-stream.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeChainInputStream*
    signature: 'OstreeChainInputStream *ostree_chain_input_stream_new (GPtrArray *streams) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:51,1
    - Dst: g_param_spec_pointer
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:68,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:52,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeChainInputStreamClass*
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: ostree_chain_input_stream_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-chain-input-stream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_pointer
    - G_INPUT_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_chain_input_stream_class_init (OstreeChainInputStreamClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_CHAIN_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:97,1
    - Dst: g_value_set_pointer
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:102,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.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: 107
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: ostree_chain_input_stream_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-chain-input-stream.c
    functionUses: []
    functionsReached:
    - g_value_set_pointer
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_CHAIN_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void ostree_chain_input_stream_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_chain_input_stream_get_instance_private
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeChainInputStream*
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ostree_chain_input_stream_init
    functionSourceFile: /src/ostree/src/libostree/ostree-chain-input-stream.c
    functionUses: []
    functionsReached:
    - ostree_chain_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void ostree_chain_input_stream_init (OstreeChainInputStream
      *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:145,1
    - Dst: g_input_stream_read
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:155,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: ostree_chain_input_stream_read
    functionSourceFile: /src/ostree/src/libostree/ostree-chain-input-stream.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - g_input_stream_read
    linkageType: ''
    returnType: gssize
    signature: 'static gssize ostree_chain_input_stream_read (GInputStream *stream,
      void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_close
      Src: /src/ostree/src/libostree/ostree-chain-input-stream.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: ostree_chain_input_stream_close
    functionSourceFile: /src/ostree/src/libostree/ostree-chain-input-stream.c
    functionUses: []
    functionsReached:
    - g_input_stream_close
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_chain_input_stream_close (GInputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ot_keyfile_get_tristate_with_default
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:43,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeRepo*
    - GError**
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: _ostree_repo_parse_composefs_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - ot_keyfile_get_tristate_with_default
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_parse_composefs_config (OstreeRepo *self, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_all
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - _file
    - buf
    - count
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: _composefs_read_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - g_input_stream_read_all
    linkageType: ''
    returnType: ssize_t
    signature: 'static ssize_t _composefs_read_cb (void *_file, void *buf, size_t
      count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:122,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:123,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:125,1
    - Dst: g_slice_free
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:130,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - target
    argTypes:
    - OstreeComposefsTarget*
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ostree_composefs_target_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_atomic_int_dec_and_test
    - g_slice_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_composefs_target_unref (OstreeComposefsTarget *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:82,1
    - Dst: lcfs_node_new
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:85,1
    - Dst: lcfs_node_set_mode
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: ostree_composefs_target_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - lcfs_node_set_mode
    - g_slice_new0
    - lcfs_node_new
    linkageType: ''
    returnType: OstreeComposefsTarget*
    signature: 'OstreeComposefsTarget *ostree_composefs_target_new (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:204,1
    - Dst: lcfs_node_lookup_child
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:213,1
    - Dst: lcfs_write_to
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:232,1
    - Dst: GINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:225,1
    - Dst: g_malloc
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:219,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:233,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:236,1
    - Dst: composefs_not_supported
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:240,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 5
    argNames:
    - target
    - fd
    - out_fsverity_digest
    - cancellable
    - error
    argTypes:
    - OstreeComposefsTarget*
    - int
    - guchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 242
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 242
    functionName: ostree_composefs_target_write
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - GINT_TO_POINTER
    - lcfs_node_lookup_child
    - composefs_not_supported
    - g_steal_pointer
    - lcfs_write_to
    - glnx_throw_errno_prefix
    - g_malloc
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_composefs_target_write (OstreeComposefsTarget *target,
      int fd, guchar **out_fsverity_digest, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:249,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:254,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:257,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:260,1
    - Dst: lcfs_node_set_xattr
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 4
    argNames:
    - node
    - xattrs
    - cancellable
    - error
    argTypes:
    - struct lcfs_node_s*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 264
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 264
    functionName: _ostree_composefs_set_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - g_variant_get_fixed_array
    - g_variant_n_children
    - g_variant_get_child
    - glnx_throw_errno_prefix
    - lcfs_node_set_xattr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_composefs_set_xattrs (struct lcfs_node_s *node,
      GVariant *xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:380,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:389,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:409,1
    - Dst: _ostree_composefs_set_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:418,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:447,1
    - Dst: checkout_composefs_recurse
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:464,1
    - Dst: lcfs_node_lookup_child
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:394,1
    - Dst: lcfs_node_get_mode
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:395,1
    - Dst: lcfs_node_new
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:401,1
    - Dst: lcfs_node_set_uid
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:414,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:423,1
    - Dst: lcfs_node_add_child
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:406,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:425,1
    - Dst: _ostree_checksum_inplace_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:431,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:435,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:442,1
    - Dst: lcfs_node_unref
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:408,1
    - Dst: lcfs_node_set_gid
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:415,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:428,1
    - Dst: _ostree_checksum_inplace_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:461,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:390,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:383,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:391,1
    - Dst: GUINT32_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:392,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:397,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:403,1
    - Dst: lcfs_node_set_mode
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:413,1
    - Dst: checkout_one_composefs_file_at
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:433,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:449,1
    - Dst: _ostree_checksum_inplace_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:463,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:457,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 8
    argNames:
    - self
    - verity
    - dirtree_checksum
    - dirmeta_checksum
    - parent
    - name
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OtTristate
    - char*
    - char*
    - struct lcfs_node_s*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 474
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 474
    functionName: checkout_composefs_recurse
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - g_variant_get_child_value
    - glnx_throw
    - glnx_throw_errno_prefix
    - checkout_one_composefs_file_at
    - checkout_composefs_recurse
    - lcfs_node_get_mode
    - lcfs_node_add_child
    - g_variant_iter_loop
    - GUINT32_FROM_BE
    - lcfs_node_set_gid
    - g_variant_iter_init
    - lcfs_node_set_mode
    - g_variant_get
    - glnx_prefix_error
    - ot_util_filename_validate
    - ostree_repo_load_variant
    - lcfs_node_unref
    - lcfs_node_set_uid
    - lcfs_node_lookup_child
    - _ostree_checksum_inplace_from_bytes_v
    - _ostree_composefs_set_xattrs
    - lcfs_node_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checkout_composefs_recurse (OstreeRepo *self, OtTristate
      verity, const char *dirtree_checksum, const char *dirmeta_checksum, struct lcfs_node_s
      *parent, const char *name, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:602,1
    - Dst: ostree_composefs_target_new
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:604,1
    - Dst: _ostree_repo_checkout_composefs
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:609,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:617,1
    - Dst: ostree_composefs_target_write
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:614,1
    - Dst: ot_gvariant_new_bytearray
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:619,1
    - Dst: composefs_not_supported
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:623,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - self
    - format_version
    - dict
    - repo_root
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - guint
    - GVariantDict*
    - OstreeRepoFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 625
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 625
    functionName: ostree_repo_commit_add_composefs_metadata
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - ostree_composefs_target_new
    - g_assert
    - ostree_composefs_target_write
    - ot_gvariant_new_bytearray
    - composefs_not_supported
    - _ostree_repo_checkout_composefs
    - g_variant_dict_insert_value
    linkageType: ''
    returnType: _OSTREE_PUBLIC
    signature: '_OSTREE_PUBLIC gboolean ostree_repo_commit_add_composefs_metadata
      (OstreeRepo *self, guint format_version, GVariantDict *dict, OstreeRepoFile
      *repo_root, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:157,1
    - Dst: write
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: _composefs_write_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - write
    linkageType: ''
    returnType: ssize_t
    signature: 'static ssize_t _composefs_write_cb (void *file, void *buf, size_t
      len) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:281,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:284,1
    - Dst: lcfs_node_lookup_child
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:279,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:289,1
    - Dst: lcfs_node_new
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:294,1
    - Dst: lcfs_node_add_child
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:299,1
    - Dst: lcfs_node_set_payload
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:319,1
    - Dst: G_IS_UNIX_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:336,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:354,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:288,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:296,1
    - Dst: lcfs_node_set_payload
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:312,1
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:338,1
    - Dst: ioctl
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:341,1
    - Dst: lcfs_node_set_fsverity_from_content
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:353,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:365,1
    - Dst: _ostree_composefs_set_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:361,1
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:276,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:287,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:292,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:302,1
    - Dst: lcfs_node_set_gid
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:307,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:320,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:290,1
    - Dst: lcfs_node_set_mode
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:305,1
    - Dst: lcfs_node_set_uid
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:306,1
    - Dst: lcfs_node_set_size
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:308,1
    - Dst: lcfs_node_unref
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:301,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:311,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:313,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:318,1
    - Dst: g_unix_input_stream_get_fd
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:338,1
    - Dst: lcfs_node_set_fsverity_digest
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:349,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 63
    argCount: 7
    argNames:
    - repo
    - verity
    - checksum
    - parent
    - destination_name
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OtTristate
    - char*
    - struct lcfs_node_s*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 368
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 368
    functionName: checkout_one_composefs_file_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_INPUT_STREAM
    - g_file_info_get_symlink_target
    - glnx_throw
    - ioctl
    - g_file_info_get_attribute_uint32
    - g_file_info_get_file_type
    - g_unix_input_stream_get_fd
    - lcfs_node_add_child
    - lcfs_node_set_gid
    - lcfs_node_set_mode
    - ot_util_filename_validate
    - glnx_throw_errno
    - ostree_repo_load_file
    - lcfs_node_unref
    - lcfs_node_set_uid
    - _ostree_loose_path
    - lcfs_node_set_fsverity_digest
    - lcfs_node_lookup_child
    - G_UNIX_INPUT_STREAM
    - lcfs_node_set_fsverity_from_content
    - g_clear_object
    - lcfs_node_set_payload
    - lcfs_node_set_size
    - _ostree_composefs_set_xattrs
    - lcfs_node_new
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checkout_one_composefs_file_at (OstreeRepo *repo,
      OtTristate verity, const char *checksum, struct lcfs_node_s *parent, const char
      *destination_name, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:502,1
    - Dst: lcfs_node_lookup_child
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:505,1
    - Dst: lcfs_node_add_child
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:511,1
    - Dst: lcfs_node_set_mode
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:510,1
    - Dst: lcfs_node_new
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:509,1
    - Dst: lcfs_node_unref
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:513,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:514,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 3
    argNames:
    - parent
    - name
    - error
    argTypes:
    - struct lcfs_node_s*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 519
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 519
    functionName: ensure_lcfs_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - lcfs_node_add_child
    - lcfs_node_unref
    - lcfs_node_set_mode
    - lcfs_node_lookup_child
    - glnx_throw_errno_prefix
    - lcfs_node_new
    linkageType: ''
    returnType: struct lcfs_node_s*
    signature: 'static struct lcfs_node_s *ensure_lcfs_dir (struct lcfs_node_s *parent,
      const char *name, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:547,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:556,1
    - Dst: checkout_composefs_tree
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:558,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:553,1
    - Dst: G_FILE
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:553,1
    - Dst: ensure_lcfs_dir
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:562,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:567,1
    - Dst: ensure_lcfs_dir
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:569,1
    - Dst: composefs_not_supported
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:576,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 6
    argNames:
    - self
    - verity
    - target
    - source
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OtTristate
    - OstreeComposefsTarget*
    - OstreeRepoFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 578
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 578
    functionName: _ostree_repo_checkout_composefs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - checkout_composefs_tree
    - G_FILE
    - composefs_not_supported
    - glnx_prefix_error
    - G_N_ELEMENTS
    - g_file_query_info
    - ensure_lcfs_dir
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_checkout_composefs (OstreeRepo *self, OtTristate
      verity, OstreeComposefsTarget *target, OstreeRepoFile *source, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:106,1
    - Dst: g_atomic_int_add
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:107,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - target
    argTypes:
    - OstreeComposefsTarget*
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: ostree_composefs_target_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_add
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeComposefsTarget*
    signature: 'OstreeComposefsTarget *ostree_composefs_target_ref (OstreeComposefsTarget
      *target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:482,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:483,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:491,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:491,1
    - Dst: _ostree_repo_memory_cache_ref_init
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:489,1
    - Dst: ostree_repo_file_tree_get_contents_checksum
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:493,1
    - Dst: ostree_repo_file_tree_get_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:494,1
    - Dst: checkout_composefs_recurse
      Src: /src/ostree/src/libostree/ostree-repo-composefs.c:495,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 7
    argNames:
    - self
    - verity
    - target
    - source
    - source_info
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OtTristate
    - OstreeComposefsTarget*
    - OstreeRepoFile*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 497
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 497
    functionName: checkout_composefs_tree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-composefs.c
    functionUses: []
    functionsReached:
    - ostree_repo_file_tree_get_metadata_checksum
    - g_assert_cmpint
    - checkout_composefs_recurse
    - g_file_info_get_file_type
    - ostree_repo_file_tree_get_contents_checksum
    - _ostree_repo_memory_cache_ref_init
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean checkout_composefs_tree (OstreeRepo *self, OtTristate
      verity, OstreeComposefsTarget *target, OstreeRepoFile *source, GFileInfo *source_info,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: typedef
    functionSourceFile: /src/ostree/src/libostree/ostree-rollsum.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS typedef struct '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unshare
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:318,1
    - Dst: mount
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:324,1
    - Dst: mount
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:330,1
    - Dst: chroot
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:342,1
    - Dst: perror
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:314,1
    - Dst: _exit
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:321,1
    - Dst: _exit
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:327,1
    - Dst: _exit
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:333,1
    - Dst: perror
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:338,1
    - Dst: _exit
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:339,1
    - Dst: _exit
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:345,1
    - Dst: chdir
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:312,1
    - Dst: mount
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:336,1
    - Dst: setenv
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:300,1
    - Dst: _exit
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:315,1
    - Dst: setenv
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:303,1
    - Dst: perror
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:320,1
    - Dst: perror
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:326,1
    - Dst: perror
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:332,1
    - Dst: perror
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:344,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 347
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 347
    functionName: grub2_child_setup
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached:
    - _exit
    - unshare
    - setenv
    - perror
    - mount
    - chdir
    - chroot
    linkageType: ''
    returnType: void
    signature: 'static void grub2_child_setup (gpointer user_data) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_file_copy
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:476,1
    - Dst: ot_gfile_ensure_unlinked
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:483,1
    - Dst: rename
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:485,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:485,1
    - Dst: ot_gfile_ensure_unlinked
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:474,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:488,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:399,1
    - Dst: g_file_get_parent
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:405,1
    - Dst: ot_gfile_resolve_path_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:413,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:422,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:426,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:451,1
    - Dst: ot_gfile_ensure_unlinked
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:408,1
    - Dst: g_spawn_sync
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:448,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:453,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:471,1
    - Dst: OSTREE_BOOTLOADER_GRUB2
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:355,1
    - Dst: g_file_has_parent
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:377,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:363,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:366,1
    - Dst: ostree_sysroot_get_booted_deployment
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:376,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:382,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:460,1
    - Dst: fdatasync
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:464,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:465,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:486,1
    - Dst: ostree_sysroot_get_deployment_directory
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:395,1
    - Dst: g_file_get_path
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:396,1
    - Dst: g_file_get_child
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:406,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:436,1
    - Dst: getenv
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:425,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:460,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 5
    argNames:
    - bootloader
    - bootversion
    - new_deployments
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 492
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 492
    functionName: _ostree_bootloader_grub2_write_config
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached:
    - g_file_has_parent
    - ot_gfile_ensure_unlinked
    - fdatasync
    - g_file_copy
    - gs_file_get_path_cached
    - getenv
    - glnx_throw_errno_prefix
    - g_spawn_check_exit_status
    - ostree_sysroot_get_booted_deployment
    - g_assert_cmpint
    - g_file_get_parent
    - ot_gfile_resolve_path_printf
    - g_strdup_printf
    - g_str_has_suffix
    - g_prefix_error
    - glnx_openat_rdonly
    - rename
    - ostree_sysroot_get_deployment_directory
    - g_file_get_path
    - g_spawn_sync
    - OSTREE_BOOTLOADER_GRUB2
    - g_debug
    - g_getenv
    - g_file_get_child
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_grub2_write_config (OstreeBootloader
      *bootloader, int bootversion, GPtrArray *new_deployments, GCancellable *cancellable,
      GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:184,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:185,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:228,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:232,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:223,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:243,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:257,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:261,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:262,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:264,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:267,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:271,1
    - Dst: g_output_stream_write_all
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:280,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:188,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:194,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:227,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:231,1
    - Dst: g_shell_quote
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:220,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:233,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:244,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:246,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:263,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:270,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:276,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:221,1
    - Dst: g_shell_quote
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:222,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:226,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:234,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:249,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:250,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:252,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:254,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:272,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:189,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:192,1
    - Dst: _ostree_sysroot_read_boot_loader_configs
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:197,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:201,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:214,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:218,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:237,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:238,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:240,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:242,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:273,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:259,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 5
    argNames:
    - sysroot
    - bootversion
    - target_fd
    - cancellable
    - error
    argTypes:
    - OstreeSysroot*
    - int
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 285
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 285
    functionName: _ostree_bootloader_grub2_generate_config
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_all
    - g_string_new
    - g_string_append
    - g_free
    - ostree_bootconfig_parser_get
    - g_assert
    - g_string_append_printf
    - g_unix_output_stream_new
    - g_string_append_c
    - g_strdup_printf
    - g_getenv
    - glnx_throw
    - _ostree_sysroot_read_boot_loader_configs
    - g_shell_quote
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_bootloader_grub2_generate_config (OstreeSysroot *sysroot,
      int bootversion, int target_fd, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_GRUB2
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:504,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:508,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:506,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:507,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:509,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 512
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 512
    functionName: _ostree_bootloader_grub2_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_OBJECT_CLASS
    - OSTREE_BOOTLOADER_GRUB2
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_grub2_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBootloaderInterface*
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: _ostree_bootloader_grub2_bootloader_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_grub2_bootloader_iface_init (OstreeBootloaderInterface
      *iface) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_GRUB2
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:81,1
    - Dst: strstr
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:91,1
    - Dst: g_file_query_exists
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:116,1
    - Dst: g_file_enumerator_iterate
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:130,1
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:120,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:112,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:139,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:143,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:114,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:143,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:84,1
    - Dst: g_file_query_exists
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:85,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:136,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:90,1
    - Dst: g_file_load_contents
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:88,1
    - Dst: strstr
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:93,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:95,1
    - Dst: g_file_query_exists
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:103,1
    - Dst: g_file_query_exists
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:104,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:135,1
    - Dst: g_file_test
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:145,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:147,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 4
    argNames:
    - bootloader
    - out_is_active
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 164
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 164
    functionName: _ostree_bootloader_grub2_query
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached:
    - gs_file_get_path_cached
    - g_file_info_get_name
    - g_file_new_for_path
    - g_clear_object
    - g_file_enumerate_children
    - OSTREE_BOOTLOADER_GRUB2
    - g_build_filename
    - strstr
    - g_debug
    - g_file_enumerator_iterate
    - g_file_info_get_file_type
    - glnx_prefix_error
    - g_file_query_exists
    - strcmp
    - g_file_test
    - g_file_resolve_relative_path
    - g_file_load_contents
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_grub2_query (OstreeBootloader *bootloader,
      gboolean *out_is_active, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_GRUB2
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - bootloader
    argTypes:
    - OstreeBootloader*
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: _ostree_bootloader_grub2_is_atomic
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached:
    - OSTREE_BOOTLOADER_GRUB2
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_grub2_is_atomic (OstreeBootloader
      *bootloader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootloaderGrub2*
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: _ostree_bootloader_grub2_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_grub2_init (OstreeBootloaderGrub2 *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - OstreeBootloaderGrub2Class*
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: _ostree_bootloader_grub2_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_grub2_class_init (OstreeBootloaderGrub2Class
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:539,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:540,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:543,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-bootloader-grub2.c:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sysroot
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: _ostree_bootloader_grub2_new
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached:
    - g_file_resolve_relative_path
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: OstreeBootloaderGrub2*
    signature: 'OstreeBootloaderGrub2 *_ostree_bootloader_grub2_new (OstreeSysroot
      *sysroot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bootloader
    argTypes:
    - OstreeBootloader*
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: _ostree_bootloader_grub2_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-grub2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_ostree_bootloader_grub2_get_name (OstreeBootloader
      *bootloader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_ref
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:271,1
    - Dst: maybe_prune_loose_object
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:276,1
    - Dst: ostree_repo_prune_static_deltas
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:280,1
    - Dst: _ostree_repo_prune_tmp
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:283,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:274,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 8
    argNames:
    - self
    - objects
    - options
    - out_objects_total
    - out_objects_pruned
    - out_pruned_object_size_total
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GHashTable*
    - OstreeRepoPruneOptions*
    - gint*
    - gint*
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 291
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 291
    functionName: repo_prune_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-prune.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - GLNX_HASH_TABLE_FOREACH
    - maybe_prune_loose_object
    - _ostree_repo_prune_tmp
    - ostree_repo_prune_static_deltas
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean repo_prune_internal (OstreeRepo *self, GHashTable
      *objects, OstreeRepoPruneOptions *options, gint *out_objects_total, gint *out_objects_pruned,
      guint64 *out_pruned_object_size_total, GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:209,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:230,1
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:220,1
    - Dst: ostree_repo_list_static_delta_names
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:214,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:236,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:242,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:250,1
    - Dst: _ostree_get_relative_static_delta_path
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:251,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:252,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 4
    argNames:
    - self
    - commit
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 257
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 257
    functionName: ostree_repo_prune_static_deltas
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-prune.c
    functionUses: []
    functionsReached:
    - ostree_repo_list_static_delta_names
    - g_strndup
    - g_strcmp0
    - ostree_repo_auto_lock_push
    - _ostree_get_relative_static_delta_path
    - g_debug
    - ostree_repo_has_object
    - glnx_shutil_rm_rf_at
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_prune_static_deltas (OstreeRepo *self, const
      char *commit, GCancellable *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:389,1
    - Dst: traverse_reachable_internal
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:410,1
    - Dst: ostree_repo_list_commit_objects_starting_with
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:416,1
    - Dst: ostree_repo_list_objects_set
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:421,1
    - Dst: ostree_repo_traverse_new_reachable
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:397,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:431,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:436,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:441,1
    - Dst: ostree_repo_traverse_commit_with_flags
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:442,1
    - Dst: repo_prune_internal
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:450,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 8
    argNames:
    - self
    - flags
    - depth
    - out_objects_total
    - out_objects_pruned
    - out_pruned_object_size_total
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoPruneFlags
    - gint
    - gint*
    - gint*
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 453
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 453
    functionName: ostree_repo_prune
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-prune.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH
    - ostree_repo_traverse_commit_with_flags
    - ostree_object_name_deserialize
    - traverse_reachable_internal
    - ostree_repo_list_commit_objects_starting_with
    - ostree_repo_auto_lock_push
    - g_debug
    - repo_prune_internal
    - ostree_repo_traverse_new_reachable
    - ostree_repo_list_objects_set
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_prune (OstreeRepo *self, OstreeRepoPruneFlags
      flags, gint depth, gint *out_objects_total, gint *out_objects_pruned, guint64
      *out_pruned_object_size_total, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:488,1
    - Dst: repo_prune_internal
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:509,1
    - Dst: ostree_repo_list_commit_objects_starting_with
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:497,1
    - Dst: ostree_repo_list_objects_set
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:502,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 7
    argNames:
    - self
    - options
    - out_objects_total
    - out_objects_pruned
    - out_pruned_object_size_total
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoPruneOptions*
    - gint*
    - gint*
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 511
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 511
    functionName: ostree_repo_prune_from_reachable
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-prune.c
    functionUses: []
    functionsReached:
    - repo_prune_internal
    - ostree_repo_list_commit_objects_starting_with
    - ostree_repo_auto_lock_push
    - ostree_repo_list_objects_set
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_prune_from_reachable (OstreeRepo *self, OstreeRepoPruneOptions
      *options, gint *out_objects_total, gint *out_objects_pruned, guint64 *out_pruned_object_size_total,
      GCancellable *cancellable, GError **error) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:53,1
    - Dst: readlinkat
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:78,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:124,1
    - Dst: ostree_repo_query_object_storage_size
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:95,1
    - Dst: ostree_repo_delete_object
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:111,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:124,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:132,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:133,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:47,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:84,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:92,1
    - Dst: ostree_repo_mark_commit_partial
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:107,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:115,1
    - Dst: ostree_object_name_serialize
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:90,1
    - Dst: OSTREE_OBJECT_TYPE_IS_META
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:125,1
    - Dst: ostree_repo_query_object_storage_size
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:61,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:59,1
    - Dst: ostree_object_type_to_string
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:59,1
    - Dst: _ostree_loose_path
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:76,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:81,1
    - Dst: sprintf
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:86,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 5
    argNames:
    - data
    - flags
    - key
    - cancellable
    - error
    argTypes:
    - OtPruneData*
    - OstreeRepoPruneFlags
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 136
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 136
    functionName: maybe_prune_loose_object
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-prune.c
    functionUses: []
    functionsReached:
    - ostree_object_type_to_string
    - ostree_repo_query_object_storage_size
    - ostree_object_name_serialize
    - ostree_object_name_deserialize
    - _ostree_loose_path
    - ostree_repo_mark_commit_partial
    - OSTREE_OBJECT_TYPE_IS_META
    - readlinkat
    - g_debug
    - ostree_repo_delete_object
    - glnx_throw
    - glnx_throw_errno_prefix
    - sprintf
    - g_hash_table_lookup_extended
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean maybe_prune_loose_object (OtPruneData *data, OstreeRepoPruneFlags
      flags, GVariant *key, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:298,1
    - Dst: ostree_repo_traverse_commit_with_flags
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:311,1
    - Dst: GLNX_HASH_TABLE_FOREACH_V
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:308,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:310,1
    - Dst: ostree_repo_list_refs
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:305,1
    - Dst: ostree_repo_list_collection_refs
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:319,1
    - Dst: GLNX_HASH_TABLE_FOREACH_V
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:324,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:326,1
    - Dst: ostree_repo_traverse_commit_with_flags
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:327,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 6
    argNames:
    - self
    - flags
    - depth
    - reachable
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoCommitTraverseFlags
    - guint
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 333
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 333
    functionName: traverse_reachable_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-prune.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH_V
    - ostree_repo_traverse_commit_with_flags
    - ostree_repo_list_collection_refs
    - ostree_repo_auto_lock_push
    - g_debug
    - ostree_repo_list_refs
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean traverse_reachable_internal (OstreeRepo *self, OstreeRepoCommitTraverseFlags
      flags, guint depth, GHashTable *reachable, GCancellable *cancellable, GError
      **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:148,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:169,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:168,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:170,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:162,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:176,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:182,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 188
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 188
    functionName: _ostree_repo_prune_tmp
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-prune.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - glnx_unlinkat
    - g_strcmp0
    - glnx_dirfd_iterator_next_dent
    - ot_dfd_iter_init_allow_noent
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_prune_tmp (OstreeRepo *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traverse_reachable_internal
      Src: /src/ostree/src/libostree/ostree-repo-prune.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - self
    - depth
    - reachable
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - guint
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: ostree_repo_traverse_reachable_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-prune.c
    functionUses: []
    functionsReached:
    - traverse_reachable_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_traverse_reachable_refs (OstreeRepo *self, guint
      depth, GHashTable *reachable, GCancellable *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_signapi_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:73,1
    - Dst: ostree_sign_get_name
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:92,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:91,1
    - Dst: get_signapi_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:75,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:102,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:102,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:103,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:103,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:104,1
    - Dst: ostree_sign_load_pk
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:106,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:135,1
    - Dst: ostree_sign_set_pk
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:124,1
    - Dst: ostree_sign_get_name
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:129,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:118,1
    - Dst: ostree_sign_get_name
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:111,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:128,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:110,1
    - Dst: ostree_sign_add_pk
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:122,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 5
    argNames:
    - sign
    - repo
    - remote_name
    - required
    - error
    argTypes:
    - OstreeSign*
    - OstreeRepo*
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 138
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 138
    functionName: _signapi_load_public_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - get_signapi_remote_option
    - g_variant_new_string
    - ostree_sign_set_pk
    - g_variant_builder_new
    - ostree_sign_get_name
    - g_variant_builder_add
    - ostree_sign_load_pk
    - ostree_sign_add_pk
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _signapi_load_public_keys (OstreeSign *sign, OstreeRepo
      *repo, const gchar *remote_name, gboolean required, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:166,1
    - Dst: ostree_sign_get_all
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:182,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:168,1
    - Dst: _signapi_load_public_keys
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:189,1
    - Dst: string_is_gkeyfile_truthy
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:178,1
    - Dst: ostree_repo_get_remote_list_option
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:198,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:200,1
    - Dst: ostree_sign_get_by_name
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:204,1
    - Dst: _signapi_load_public_keys
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:207,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:209,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:214,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:211,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 32
    argCount: 5
    argNames:
    - repo
    - remote_name
    - key
    - out_verifiers
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GPtrArray**
    - GError**
    constantsTouched: []
    func_position:
      end: 216
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 216
    functionName: verifiers_from_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - ostree_repo_get_remote_list_option
    - g_ptr_array_new_with_free_func
    - _signapi_load_public_keys
    - g_assert_cmpuint
    - g_steal_pointer
    - string_is_gkeyfile_truthy
    - ostree_repo_get_remote_option
    - ostree_sign_get_by_name
    - g_ptr_array_add
    - ostree_sign_get_all
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean verifiers_from_config (OstreeRepo *repo, const char
      *remote_name, const char *key, GPtrArray **out_verifiers, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:252,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:255,1
    - Dst: ostree_sign_metadata_key
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:259,1
    - Dst: ostree_sign_metadata_format
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:260,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:254,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:262,1
    - Dst: ostree_sign_data_verify
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:273,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:281,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:286,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:288,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:289,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:289,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:291,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 5
    argNames:
    - verifiers
    - signed_data
    - metadata
    - out_success_message
    - error
    argTypes:
    - GPtrArray*
    - GBytes*
    - GVariant*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 293
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 293
    functionName: _sign_verify_for_remote
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - ostree_sign_metadata_format
    - g_assert_cmpuint
    - g_assert
    - ostree_sign_data_verify
    - g_steal_pointer
    - ostree_sign_metadata_key
    - g_variant_lookup_value
    - glnx_prefix_error
    - glnx_throw
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _sign_verify_for_remote (GPtrArray *verifiers, GBytes *signed_data,
      GVariant *metadata, char **out_success_message, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:300,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:301,1
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:308,1
    - Dst: g_signal_emit_by_name
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:306,1
    - Dst: g_hash_table_add
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:316,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - pull_data
    - checksum
    - result
    - error
    argTypes:
    - OtPullData*
    - char*
    - OstreeGpgVerifyResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 319
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 319
    functionName: _process_gpg_verify_result
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - GLNX_AUTO_PREFIX_ERROR
    - g_strdup
    - ostree_gpg_verify_result_require_valid_signature
    - g_hash_table_add
    - glnx_strjoina
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _process_gpg_verify_result (OtPullData *pull_data, const
      char *checksum, OstreeGpgVerifyResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:325,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - prefix
    - buf
    - error
    argTypes:
    - char*
    - GBytes*
    - GError**
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: validate_metadata_size
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - g_bytes_get_size
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_metadata_size (const char *prefix, GBytes
      *buf, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:48,1
    - Dst: ostree_sign_get_name
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:48,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:49,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 6
    argNames:
    - repo
    - sign
    - remote_name
    - keysuffix
    - out_value
    - error
    argTypes:
    - OstreeRepo*
    - OstreeSign*
    - char*
    - char*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: get_signapi_remote_option
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - ostree_sign_get_name
    - ostree_repo_get_remote_option
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_signapi_remote_option (OstreeRepo *repo, OstreeSign
      *sign, const char *remote_name, const char *keysuffix, char **out_value, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:146,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:151,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:151,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - value
    - out_truth
    argTypes:
    - char*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: string_is_gkeyfile_truthy
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean string_is_gkeyfile_truthy (const char *value, gboolean
      *out_truth) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:442,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:444,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:447,1
    - Dst: _ostree_repo_gpg_verify_with_metadata
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:460,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:455,1
    - Dst: _process_gpg_verify_result
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:462,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:471,1
    - Dst: _sign_verify_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:474,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:476,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:480,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:480,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:481,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 27
    argCount: 7
    argNames:
    - pull_data
    - checksum
    - commit
    - detached_metadata
    - ref
    - cancellable
    - error
    argTypes:
    - OtPullData*
    - char*
    - GVariant*
    - GVariant*
    - OstreeCollectionRef*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 485
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 485
    functionName: _verify_unwritten_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _ostree_repo_gpg_verify_with_metadata
    - _process_gpg_verify_result
    - g_hash_table_insert
    - g_steal_pointer
    - _sign_verify_for_remote
    - glnx_prefix_error
    - glnx_throw
    - g_variant_get_data_as_bytes
    - g_hash_table_lookup
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _verify_unwritten_commit (OtPullData *pull_data, const char
      *checksum, GVariant *commit, GVariant *detached_metadata, const OstreeCollectionRef
      *ref, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: verifiers_from_config
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:231,1
    - Dst: verifiers_from_config
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:233,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:237,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 5
    argNames:
    - repo
    - remote_name
    - out_commit_verifiers
    - out_summary_verifiers
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GPtrArray**
    - GPtrArray**
    - GError**
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: _signapi_init_for_remote
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - ot_transfer_out_value
    - verifiers_from_config
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _signapi_init_for_remote (OstreeRepo *repo, const char *remote_name,
      GPtrArray **out_commit_verifiers, GPtrArray **out_summary_verifiers, GError
      **error) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_require_valid_signature
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:403,1
    - Dst: ostree_gpg_verify_result_describe
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:410,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:425,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:354,1
    - Dst: ostree_repo_remote_get_gpg_verify
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:378,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:391,1
    - Dst: _ostree_repo_gpg_verify_with_metadata
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:399,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:353,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:355,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:367,1
    - Dst: validate_metadata_size
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:368,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:371,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:373,1
    - Dst: _sign_verify_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:420,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:407,1
    - Dst: ostree_gpg_verify_result_count_all
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:406,1
    - Dst: validate_metadata_size
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:363,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:361,1
    - Dst: _signapi_init_for_remote
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:386,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:422,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:424,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:430,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:432,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-pull-verify.c:432,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 50
    argCount: 7
    argNames:
    - self
    - remote_name
    - commit_data
    - commit_metadata
    - flags
    - out_results
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GBytes*
    - GBytes*
    - OstreeRepoVerifyFlags
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 434
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 434
    functionName: ostree_repo_signature_verify_commit_data
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-pull-verify.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - ostree_gpg_verify_result_require_valid_signature
    - _ostree_repo_gpg_verify_with_metadata
    - g_assert_cmpuint
    - g_assert
    - g_variant_new_from_bytes
    - ostree_gpg_verify_result_describe
    - g_string_append_c
    - ostree_gpg_verify_result_count_all
    - g_steal_pointer
    - _sign_verify_for_remote
    - glnx_prefix_error
    - glnx_throw
    - g_string_free
    - _signapi_init_for_remote
    - validate_metadata_size
    - ostree_repo_remote_get_gpg_verify
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_signature_verify_commit_data (OstreeRepo *self,
      const char *remote_name, GBytes *commit_data, GBytes *commit_metadata, OstreeRepoVerifyFlags
      flags, char **out_results, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:43,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:44,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:46,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:45,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 6
    argNames:
    - txt
    - txt_len
    - key
    - key_len
    - value
    - value_len
    argTypes:
    - guint8*
    - gsize
    - gchar**
    - gsize*
    - guint8**
    - gsize*
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: parse_txt_record
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_txt_record (const guint8 *txt, gsize txt_len,
      const gchar **key, gsize *key_len, const guint8 **value, gsize *value_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:92,1
    - Dst: parse_txt_record
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:107,1
    - Dst: avahi_string_list_get_size
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:105,1
    - Dst: avahi_string_list_get_next
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:94,1
    - Dst: avahi_string_list_get_text
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:104,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:109,1
    - Dst: g_ascii_strdown
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:113,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:115,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:117,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:125,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:127,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:128,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:131,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - txt_list
    argTypes:
    - AvahiStringList*
    constantsTouched: []
    func_position:
      end: 132
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 132
    functionName: _ostree_txt_records_parse
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi-parser.c
    functionUses: []
    functionsReached:
    - g_bytes_new_static
    - avahi_string_list_get_size
    - g_ascii_strdown
    - avahi_string_list_get_text
    - g_hash_table_insert
    - parse_txt_record
    - g_debug
    - g_steal_pointer
    - g_hash_table_new_full
    - avahi_string_list_get_next
    - g_hash_table_lookup_extended
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *_ostree_txt_records_parse (AvahiStringList *txt_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-content-writer.c:42,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/ostree/src/libostree/ostree-content-writer.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeContentWriterClass*
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: ostree_content_writer_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-content-writer.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_content_writer_class_init (OstreeContentWriterClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-content-writer.c:88,1
    - Dst: _ostree_repo_bare_content_write
      Src: /src/ostree/src/libostree/ostree-content-writer.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: ostree_content_writer_write
    functionSourceFile: /src/ostree/src/libostree/ostree-content-writer.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - _ostree_repo_bare_content_write
    linkageType: ''
    returnType: gssize
    signature: 'static gssize ostree_content_writer_write (GOutputStream *stream,
      const void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeContentWriter*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: ostree_content_writer_init
    functionSourceFile: /src/ostree/src/libostree/ostree-content-writer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_content_writer_init (OstreeContentWriter *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_bare_content_commit
      Src: /src/ostree/src/libostree/ostree-content-writer.c:119,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-content-writer.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeContentWriter*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: ostree_content_writer_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-content-writer.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _ostree_repo_bare_content_commit
    linkageType: ''
    returnType: char*
    signature: 'char *ostree_content_writer_finish (OstreeContentWriter *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-content-writer.c:74,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-content-writer.c:75,1
    - Dst: _ostree_repo_bare_content_open
      Src: /src/ostree/src/libostree/ostree-content-writer.c:76,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-content-writer.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 8
    argNames:
    - repo
    - checksum
    - uid
    - gid
    - mode
    - content_len
    - xattrs
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - guint
    - guint
    - guint
    - guint64
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: _ostree_content_writer_new
    functionSourceFile: /src/ostree/src/libostree/ostree-content-writer.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_ref
    - g_object_new
    - _ostree_repo_bare_content_open
    linkageType: ''
    returnType: OstreeContentWriter*
    signature: 'OstreeContentWriter *_ostree_content_writer_new (OstreeRepo *repo,
      const char *checksum, guint uid, guint gid, guint mode, guint64 content_len,
      GVariant *xattrs, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-content-writer.c:58,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-content-writer.c:61,1
    - Dst: _ostree_repo_bare_content_cleanup
      Src: /src/ostree/src/libostree/ostree-content-writer.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: ostree_content_writer_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-content-writer.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_OBJECT_CLASS
    - _ostree_repo_bare_content_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void ostree_content_writer_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: ostree_content_writer_close
    functionSourceFile: /src/ostree/src/libostree/ostree-content-writer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_content_writer_close (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-repo-os.c:43,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-os.c:58,1
    - Dst: g_file_enumerator_iterate
      Src: /src/ostree/src/libostree/ostree-repo-os.c:54,1
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/libostree/ostree-repo-os.c:44,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-os.c:47,1
    - Dst: g_file_resolve_relative_path
      Src: /src/ostree/src/libostree/ostree-repo-os.c:61,1
    - Dst: g_file_query_exists
      Src: /src/ostree/src/libostree/ostree-repo-os.c:62,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-os.c:66,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-os.c:68,1
    - Dst: g_file_info_get_name
      Src: /src/ostree/src/libostree/ostree-repo-os.c:68,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-os.c:74,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-os.c:77,1
    - Dst: g_variant_dict_insert
      Src: /src/ostree/src/libostree/ostree-repo-os.c:73,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 4
    argNames:
    - root
    - dict
    - cancellable
    - error
    argTypes:
    - GFile*
    - GVariantDict*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 78
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 78
    functionName: ostree_commit_metadata_for_bootable
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-os.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_dict_insert
    - g_file_info_get_name
    - g_file_enumerate_children
    - g_file_info_get_file_type
    - g_file_enumerator_iterate
    - glnx_prefix_error
    - g_file_query_exists
    - glnx_throw
    - g_file_resolve_relative_path
    linkageType: ''
    returnType: _OSTREE_PUBLIC
    signature: '_OSTREE_PUBLIC gboolean ostree_commit_metadata_for_bootable (GFile
      *root, GVariantDict *dict, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:101,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSignSpki*
    - GError**
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: _ostree_sign_spki_is_initialized
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_sign_spki_is_initialized (OstreeSignSpki *self,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSignSpkiClass*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: _ostree_sign_spki_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_sign_spki_class_init (OstreeSignSpkiClass *self) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:167,1
    - Dst: _ostree_sign_spki_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:174,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:181,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:201,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:194,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:204,1
    - Dst: g_list_find_custom
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:210,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:212,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:230,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:237,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:255,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:250,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:167,1
    - Dst: _ostree_sign_spki_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:172,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:170,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:212,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:213,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:213,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:214,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:225,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:227,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:229,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:238,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:257,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:260,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:178,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:180,1
    - Dst: g_variant_builder_new
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:187,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:199,1
    - Dst: g_variant_print
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:204,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:213,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:230,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:230,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:237,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:238,1
    - Dst: OSTREE_SIGN_SPKI
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:172,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:187,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:202,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:188,1
    - Dst: g_bytes_hash
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:194,1
    - Dst: ostree_sign_spki_load_pk
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:190,1
    - Dst: otcore_validate_spki_signature
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:219,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:229,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:240,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:239,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:231,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 77
    argCount: 5
    argNames:
    - self
    - data
    - signatures
    - out_success_message
    - error
    argTypes:
    - OstreeSign*
    - GBytes*
    - GVariant*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 261
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 261
    functionName: ostree_sign_spki_data_verify
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_variant_get_child_value
    - glnx_throw
    - g_bytes_get_size
    - g_variant_print
    - g_malloc0
    - OSTREE_IS_SIGN
    - g_list_find_custom
    - _ostree_sign_spki_get_instance_private
    - ostree_sign_spki_load_pk
    - g_variant_get_data_as_bytes
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_bytes_hash
    - otcore_validate_spki_signature
    - g_strdup_printf
    - g_variant_builder_end
    - OSTREE_SIGN_SPKI
    - G_VARIANT_TYPE
    - g_string_new
    - ot_bin2hex
    - g_assert
    - g_variant_n_children
    - g_string_append_printf
    - g_variant_builder_new
    - g_debug
    - _ostree_sign_spki_is_initialized
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_spki_data_verify (OstreeSign *self, GBytes *data,
      GVariant *signatures, char **out_success_message, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: ostree_sign_spki_metadata_key
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_spki_metadata_key (OstreeSign *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:288,1
    - Dst: _ostree_sign_spki_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:290,1
    - Dst: OSTREE_SIGN_SPKI
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:290,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:288,1
    - Dst: _ostree_sign_spki_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:292,1
    - Dst: g_bytes_unref_to_data
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:299,1
    - Dst: explicit_bzero
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:300,1
    - Dst: g_list_free_full
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:307,1
    - Dst: g_list_free_full
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeSign*
    - GError**
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: ostree_sign_spki_clear_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_SPKI
    - g_assert
    - g_bytes_unref_to_data
    - OSTREE_IS_SIGN
    - explicit_bzero
    - _ostree_sign_spki_get_instance_private
    - g_list_free_full
    - _ostree_sign_spki_is_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_spki_clear_keys (OstreeSign *self, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:380,1
    - Dst: OSTREE_SIGN_SPKI
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:382,1
    - Dst: _ostree_sign_spki_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:384,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:380,1
    - Dst: _ostree_sign_spki_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:382,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:391,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:393,1
    - Dst: g_base64_decode
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:394,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:396,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:398,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:402,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:405,1
    - Dst: g_list_find_custom
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:410,1
    - Dst: g_list_prepend
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:413,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:406,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:409,1
    - Dst: g_bytes_new
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:412,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - self
    - public_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 417
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 417
    functionName: ostree_sign_spki_add_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_SPKI
    - ot_bin2hex
    - g_bytes_new_static
    - g_variant_get_fixed_array
    - g_assert
    - g_malloc0
    - g_bytes_new
    - OSTREE_IS_SIGN
    - g_list_find_custom
    - g_list_prepend
    - g_debug
    - _ostree_sign_spki_get_instance_private
    - glnx_throw
    - g_variant_get_string
    - g_base64_decode
    - _ostree_sign_spki_is_initialized
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_spki_add_pk (OstreeSign *self, GVariant *public_key,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:423,1
    - Dst: _ostree_sign_spki_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:425,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:431,1
    - Dst: OSTREE_SIGN_SPKI
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:425,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:423,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:433,1
    - Dst: g_base64_decode
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:434,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:436,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:438,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:442,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:449,1
    - Dst: g_bytes_new
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:452,1
    - Dst: g_list_prepend
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:453,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:446,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:447,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:445,1
    - Dst: g_list_find_custom
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:450,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - self
    - revoked_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 457
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 457
    functionName: _spki_add_revoked
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_SPKI
    - ot_bin2hex
    - g_bytes_new_static
    - g_variant_get_fixed_array
    - g_assert
    - g_malloc0
    - g_bytes_new
    - OSTREE_IS_SIGN
    - g_list_find_custom
    - g_list_prepend
    - g_debug
    - _ostree_sign_spki_get_instance_private
    - glnx_throw
    - g_variant_get_string
    - g_base64_decode
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _spki_add_revoked (OstreeSign *self, GVariant *revoked_key,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:510,1
    - Dst: g_file_test
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:512,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:515,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:518,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:514,1
    - Dst: g_file_read
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:519,1
    - Dst: _load_pk_from_stream
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:523,1
    - Dst: G_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:523,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - self
    - filename
    - trusted
    - error
    argTypes:
    - OstreeSign*
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 532
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 532
    functionName: _load_pk_from_file
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - _load_pk_from_stream
    - g_debug
    - g_file_test
    - g_file_read
    - glnx_throw
    - G_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _load_pk_from_file (OstreeSign *self, const gchar
      *filename, gboolean trusted, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSignInterface*
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: ostree_sign_spki_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_sign_spki_iface_init (OstreeSignInterface *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: otcore_spki_init
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSignSpki*
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: _ostree_sign_spki_init
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - otcore_spki_init
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_sign_spki_init (OstreeSignSpki *self) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sign_spki_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:117,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:135,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:159,1
    - Dst: EVP_MD_CTX_new
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:126,1
    - Dst: EVP_DigestSignInit
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:142,1
    - Dst: EVP_DigestSign
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:143,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:143,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:143,1
    - Dst: EVP_DigestSign
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:146,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:146,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:146,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:156,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:156,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:114,1
    - Dst: OSTREE_SIGN_SPKI
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:115,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:128,1
    - Dst: d2i_AutoPrivateKey
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:131,1
    - Dst: EVP_MD_CTX_free
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:134,1
    - Dst: EVP_MD_CTX_free
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:151,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:114,1
    - Dst: _ostree_sign_spki_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:115,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:121,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:124,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:145,1
    - Dst: EVP_PKEY_free
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:150,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:154,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 5
    argNames:
    - self
    - data
    - signature
    - cancellable
    - error
    argTypes:
    - OstreeSign*
    - GBytes*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 161
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 161
    functionName: ostree_sign_spki_data
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_SPKI
    - g_bytes_get_data
    - g_assert
    - g_malloc0
    - OSTREE_IS_SIGN
    - EVP_MD_CTX_new
    - EVP_PKEY_free
    - g_bytes_new_take
    - EVP_DigestSign
    - g_steal_pointer
    - _ostree_sign_spki_get_instance_private
    - d2i_AutoPrivateKey
    - glnx_throw
    - EVP_MD_CTX_free
    - g_bytes_get_size
    - _ostree_sign_spki_is_initialized
    - EVP_DigestSignInit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_spki_data (OstreeSign *self, GBytes *data, GBytes
      **signature, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:266,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: ostree_sign_spki_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_SIGN
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_spki_get_name (OstreeSign *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeSign*
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: ostree_sign_spki_metadata_format
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *ostree_sign_spki_metadata_format (OstreeSign *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:464,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:469,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:480,1
    - Dst: ostree_blob_reader_read_blob
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:476,1
    - Dst: ostree_sign_read_pk
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:468,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:480,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:488,1
    - Dst: ostree_sign_spki_add_pk
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:491,1
    - Dst: _spki_add_revoked
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:493,1
    - Dst: g_variant_print
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:495,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - self
    - key_stream_in
    - trusted
    - error
    argTypes:
    - OstreeSign*
    - GInputStream*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 505
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 505
    functionName: _load_pk_from_stream
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_print
    - g_variant_new_from_bytes
    - ostree_blob_reader_read_blob
    - ostree_sign_spki_add_pk
    - _spki_add_revoked
    - g_steal_pointer
    - g_debug
    - glnx_throw
    - g_propagate_error
    - ostree_sign_read_pk
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _load_pk_from_stream (OstreeSign *self, GInputStream
      *key_stream_in, gboolean trusted, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:547,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:560,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:588,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:542,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:552,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:553,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:570,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:563,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:577,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:587,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:589,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:596,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:544,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:553,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:565,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:576,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:564,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:541,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:547,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:552,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:560,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:565,1
    - Dst: g_dir_read_name
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:574,1
    - Dst: g_dir_open
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:567,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:578,1
    - Dst: _load_pk_from_file
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:585,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:585,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 4
    argNames:
    - self
    - options
    - trusted
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 599
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 599
    functionName: _spki_load_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_strdup
    - g_ptr_array_new_with_free_func
    - g_dir_read_name
    - g_ptr_array_index
    - g_dir_open
    - g_build_filename
    - g_debug
    - g_steal_pointer
    - g_clear_error
    - glnx_throw
    - _load_pk_from_file
    - g_strconcat
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _spki_load_pk (OstreeSign *self, GVariant *options,
      gboolean trusted, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:328,1
    - Dst: _ostree_sign_spki_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:333,1
    - Dst: OSTREE_SIGN_SPKI
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:333,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:328,1
    - Dst: ostree_sign_spki_clear_keys
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:330,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:338,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:340,1
    - Dst: g_base64_decode
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:341,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:343,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:346,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:353,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:350,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - self
    - secret_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 356
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 356
    functionName: ostree_sign_spki_set_sk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - OSTREE_SIGN_SPKI
    - g_variant_get_fixed_array
    - g_assert
    - OSTREE_IS_SIGN
    - ostree_sign_spki_clear_keys
    - g_steal_pointer
    - _ostree_sign_spki_get_instance_private
    - glnx_throw
    - g_bytes_new_take
    - g_variant_get_string
    - g_base64_decode
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_spki_set_sk (OstreeSign *self, GVariant *secret_key,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:365,1
    - Dst: ostree_sign_spki_add_pk
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:370,1
    - Dst: ostree_sign_spki_clear_keys
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:367,1
    - Dst: OSTREE_IS_SIGN
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - self
    - public_key
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: ostree_sign_spki_set_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_sign_spki_clear_keys
    - OSTREE_IS_SIGN
    - ostree_sign_spki_add_pk
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_spki_set_pk (OstreeSign *self, GVariant *public_key,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sign_spki_get_instance_private
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:615,1
    - Dst: _load_pk_from_file
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:621,1
    - Dst: _ostree_sign_spki_is_initialized
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:616,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:620,1
    - Dst: OSTREE_SIGN_SPKI
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:615,1
    - Dst: _spki_load_pk
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:624,1
    - Dst: _spki_load_pk
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:631,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-sign-spki.c:632,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - self
    - options
    - error
    argTypes:
    - OstreeSign*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 635
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 635
    functionName: ostree_sign_spki_load_pk
    functionSourceFile: /src/ostree/src/libostree/ostree-sign-spki.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - OSTREE_SIGN_SPKI
    - g_clear_error
    - _ostree_sign_spki_get_instance_private
    - _load_pk_from_file
    - _spki_load_pk
    - _ostree_sign_spki_is_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_sign_spki_load_pk (OstreeSign *self, GVariant *options,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-blob-reader.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBlobReaderInterface*
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ostree_blob_reader_default_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader.c
    functionUses: []
    functionsReached:
    - g_debug
    linkageType: ''
    returnType: void
    signature: 'static void ostree_blob_reader_default_init (OstreeBlobReaderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-blob-reader.c:34,1
    - Dst: OSTREE_BLOB_READER_GET_IFACE
      Src: /src/ostree/src/libostree/ostree-blob-reader.c:35,1
    - Dst: OSTREE_IS_BLOB_READER
      Src: /src/ostree/src/libostree/ostree-blob-reader.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeBlobReader*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ostree_blob_reader_read_blob
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader.c
    functionUses: []
    functionsReached:
    - g_assert
    - OSTREE_IS_BLOB_READER
    - OSTREE_BLOB_READER_GET_IFACE
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *ostree_blob_reader_read_blob (OstreeBlobReader *self, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-private.h:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 484
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 484
    functionName: composefs_not_supported
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-private.h
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean composefs_not_supported (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - signature
    argTypes:
    - gpgme_signature_t
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: signature_is_valid
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean signature_is_valid (gpgme_signature_t signature) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - OstreeGpgVerifyResultClass*
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: ostree_gpg_verify_result_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_gpg_verify_result_class_init (OstreeGpgVerifyResultClass
      *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:112,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:120,1
    - Dst: gpgme_release
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:115,1
    - Dst: gpgme_result_unref
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: ostree_gpg_verify_result_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - gpgme_result_unref
    - OSTREE_GPG_VERIFY_RESULT
    - G_OBJECT_CLASS
    - gpgme_release
    linkageType: ''
    returnType: void
    signature: 'static void ostree_gpg_verify_result_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:178,1
    - Dst: OSTREE_IS_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeGpgVerifyResult*
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: ostree_gpg_verify_result_count_all
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - OSTREE_IS_GPG_VERIFY_RESULT
    linkageType: ''
    returnType: guint
    signature: 'guint ostree_gpg_verify_result_count_all (OstreeGpgVerifyResult *result) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:236,1
    - Dst: gpgme_get_key
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:240,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:244,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:237,1
    - Dst: OSTREE_IS_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:236,1
    - Dst: gpgme_get_key
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:253,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:257,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - result
    - key_id
    - out_signature_index
    argTypes:
    - OstreeGpgVerifyResult*
    - gchar*
    - guint*
    constantsTouched: []
    func_position:
      end: 272
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 272
    functionName: ostree_gpg_verify_result_lookup
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - OSTREE_IS_GPG_VERIFY_RESULT
    - g_debug
    - g_return_val_if_fail
    - gpgme_get_key
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_gpg_verify_result_lookup (OstreeGpgVerifyResult *result,
      const gchar *key_id, guint *out_signature_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:484,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:487,1
    - Dst: OSTREE_IS_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:484,1
    - Dst: ostree_gpg_verify_result_get
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - result
    - signature_index
    argTypes:
    - OstreeGpgVerifyResult*
    - guint
    constantsTouched: []
    func_position:
      end: 488
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 488
    functionName: ostree_gpg_verify_result_get_all
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - ostree_gpg_verify_result_get
    - G_N_ELEMENTS
    - g_return_val_if_fail
    - OSTREE_IS_GPG_VERIFY_RESULT
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_gpg_verify_result_get_all (OstreeGpgVerifyResult
      *result, guint signature_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:517,1
    - Dst: OSTREE_IS_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:517,1
    - Dst: ostree_gpg_verify_result_get_all
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:519,1
    - Dst: ostree_gpg_verify_result_describe_variant
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - result
    - signature_index
    - output_buffer
    - line_prefix
    - flags
    argTypes:
    - OstreeGpgVerifyResult*
    - guint
    - GString*
    - gchar*
    - OstreeGpgSignatureFormatFlags
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: ostree_gpg_verify_result_describe
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - ostree_gpg_verify_result_get_all
    - OSTREE_IS_GPG_VERIFY_RESULT
    - ostree_gpg_verify_result_describe_variant
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_gpg_verify_result_describe (OstreeGpgVerifyResult *result,
      guint signature_index, GString *output_buffer, const gchar *line_prefix, OstreeGpgSignatureFormatFlags
      flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ostree_gpg_verify_result_count_valid
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:718,1
    - Dst: ostree_gpg_verify_result_count_all
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:729,1
    - Dst: ostree_gpg_verify_result_get_all
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:738,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:733,1
    - Dst: g_string_sized_new
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:728,1
    - Dst: ostree_gpg_verify_result_describe_variant
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:739,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:745,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:747,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:749,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:751,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:771,1
    - Dst: g_strchomp
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:770,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - OstreeGpgVerifyResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 776
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 776
    functionName: ostree_gpg_verify_result_require_valid_signature
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_strchomp
    - ostree_gpg_verify_result_count_all
    - ostree_gpg_verify_result_describe_variant
    - g_variant_get_child
    - ostree_gpg_verify_result_get_all
    - g_set_error_literal
    - ostree_gpg_verify_result_count_valid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_gpg_verify_result_require_valid_signature (OstreeGpgVerifyResult
      *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:127,1
    - Dst: gpgme_new
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:131,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: ostree_gpg_verify_result_initable_init
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - gpgme_new
    - OSTREE_GPG_VERIFY_RESULT
    - ot_gpgme_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_gpg_verify_result_initable_init (GInitable
      *initable, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgme_err_code
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - signature
    argTypes:
    - gpgme_signature_t
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: signing_key_is_revoked
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - gpgme_err_code
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean signing_key_is_revoked (gpgme_signature_t signature) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeGpgVerifyResult*
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: ostree_gpg_verify_result_init
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_gpg_verify_result_init (OstreeGpgVerifyResult *result) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:529,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:541,1
    - Dst: g_date_time_to_local
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:540,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:534,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:531,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:545,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:549,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - output_buffer
    - line_prefix
    - exp_type
    - exp_timestamp
    - expired
    argTypes:
    - GString*
    - gchar*
    - gchar*
    - gint64
    - gboolean
    constantsTouched: []
    func_position:
      end: 551
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 551
    functionName: append_expire_info
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_date_time_format
    - g_date_time_new_from_unix_utc
    - g_string_append_printf
    - g_date_time_to_local
    linkageType: ''
    returnType: void
    signature: 'static void append_expire_info (GString *output_buffer, const gchar
      *line_prefix, const gchar *exp_type, gint64 exp_timestamp, gboolean expired) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: ostree_gpg_verify_result_initable_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_gpg_verify_result_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:202,1
    - Dst: signature_is_valid
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:206,1
    - Dst: OSTREE_IS_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeGpgVerifyResult*
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: ostree_gpg_verify_result_count_valid
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - signature_is_valid
    - g_return_val_if_fail
    - OSTREE_IS_GPG_VERIFY_RESULT
    linkageType: ''
    returnType: guint
    signature: 'guint ostree_gpg_verify_result_count_valid (OstreeGpgVerifyResult
      *result) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:302,1
    - Dst: OSTREE_IS_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:300,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:329,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:347,1
    - Dst: g_variant_new_int64
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:370,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:357,1
    - Dst: gpgme_hash_algo_name
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:385,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:388,1
    - Dst: g_variant_builder_add_value
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:444,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:447,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:301,1
    - Dst: signature_is_valid
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:341,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:366,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:412,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:421,1
    - Dst: g_variant_new_int64
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:427,1
    - Dst: g_variant_builder_clear
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:440,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:311,1
    - Dst: gpgme_get_key
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:324,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:362,1
    - Dst: signing_key_is_revoked
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:356,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:352,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:396,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:404,1
    - Dst: g_variant_new_int64
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:435,1
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:439,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:300,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:342,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:381,1
    - Dst: g_variant_new_int64
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:374,1
    - Dst: gpgme_pubkey_algo_name
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:378,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 122
    argCount: 4
    argNames:
    - result
    - signature_index
    - attrs
    - n_attrs
    argTypes:
    - OstreeGpgVerifyResult*
    - guint
    - OstreeGpgSignatureAttr*
    - guint
    constantsTouched: []
    func_position:
      end: 448
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 448
    functionName: ostree_gpg_verify_result_get
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_new_string
    - signature_is_valid
    - g_strcmp0
    - g_variant_builder_clear
    - g_variant_new_boolean
    - OSTREE_IS_GPG_VERIFY_RESULT
    - g_critical
    - g_variant_new_int64
    - g_variant_builder_add_value
    - g_variant_builder_init
    - gpgme_pubkey_algo_name
    - signing_key_is_revoked
    - g_return_val_if_fail
    - gpgme_get_key
    - gpgme_hash_algo_name
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_gpg_verify_result_get (OstreeGpgVerifyResult *result,
      guint signature_index, OstreeGpgSignatureAttr *attrs, guint n_attrs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type_string
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:598,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:606,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:609,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:610,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:639,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:646,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:666,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:671,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:692,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:605,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:613,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:615,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:616,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:618,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:611,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:626,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:641,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:645,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:649,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:685,1
    - Dst: append_expire_info
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:691,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:593,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:594,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:599,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:607,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:623,1
    - Dst: g_date_time_format
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:636,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:644,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:653,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:683,1
    - Dst: append_expire_info
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:689,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:675,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:599,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:608,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:620,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:614,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:617,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:629,1
    - Dst: g_date_time_to_local
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:635,1
    - Dst: g_string_append_printf
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:657,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:662,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:679,1
    - Dst: append_expire_info
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result.c:693,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 4
    argNames:
    - variant
    - output_buffer
    - line_prefix
    - flags
    argTypes:
    - GVariant*
    - GString*
    - gchar*
    - OstreeGpgSignatureFormatFlags
    constantsTouched: []
    func_position:
      end: 695
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 695
    functionName: ostree_gpg_verify_result_describe_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_append
    - g_variant_get_type_string
    - g_date_time_format
    - g_date_time_new_from_unix_utc
    - g_date_time_to_local
    - g_clear_pointer
    - g_string_append_printf
    - g_strcmp0
    - append_expire_info
    - g_variant_get_child
    - strcmp
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_gpg_verify_result_describe_variant (GVariant *variant,
      GString *output_buffer, const gchar *line_prefix, OstreeGpgSignatureFormatFlags
      flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:34,1
    - Dst: g_strchomp
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:41,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:45,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:48,1
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:37,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:49,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:51,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:52,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:52,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:52,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:56,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:56,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 7
    argNames:
    - remote
    - collection_id
    - base_fd
    - path
    - refs
    - cancellable
    - error
    argTypes:
    - char*
    - char*
    - int
    - char*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: add_ref_to_set
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_hash_table_insert
    - g_string_append_c
    - g_strchomp
    - ostree_collection_ref_new
    - g_steal_pointer
    - glnx_throw
    - g_string_free
    - glnx_file_get_contents_utf8_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_ref_to_set (const char *remote, const char *collection_id,
      int base_fd, const char *path, GHashTable *refs, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resolve_refspec
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:190,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:196,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:201,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 8
    argNames:
    - self
    - remote
    - ref
    - allow_noent
    - fallback_remote
    - out_rev
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - gboolean
    - gboolean
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 203
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 203
    functionName: resolve_refspec_fallback
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_set_error
    - resolve_refspec
    - ot_transfer_out_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean resolve_refspec_fallback (OstreeRepo *self, const
      char *remote, const char *ref, gboolean allow_noent, gboolean fallback_remote,
      char **out_rev, GCancellable *cancellable, GError **error) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:257,1
    - Dst: resolve_refspec_fallback
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:285,1
    - Dst: glnx_fd_readall_utf8
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:272,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:216,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:243,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:245,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:250,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:275,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:213,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:280,1
    - Dst: find_ref_in_remotes
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:264,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:225,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:229,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:218,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:231,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:231,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:232,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:237,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:252,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:259,1
    - Dst: g_strchomp
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:279,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:290,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 7
    argNames:
    - self
    - remote
    - ref
    - allow_noent
    - fallback_remote
    - out_rev
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - gboolean
    - gboolean
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 292
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 292
    functionName: resolve_refspec
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - glnx_fd_readall_utf8
    - resolve_refspec_fallback
    - ostree_validate_checksum_string
    - g_strchomp
    - g_hash_table_lookup
    - g_mutex_unlock
    - ot_transfer_out_value
    - glnx_strjoina
    - ot_openat_ignore_enoent
    - g_prefix_error
    - find_ref_in_remotes
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean resolve_refspec (OstreeRepo *self, const char *remote,
      const char *ref, gboolean allow_noent, gboolean fallback_remote, char **out_rev,
      GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:75,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:69,1
    - Dst: memcpy
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:91,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:113,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:115,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:116,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:129,1
    - Dst: strdupa
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:79,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:82,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:87,1
    - Dst: _ostree_repo_file_replace_contents
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:95,1
    - Dst: _ostree_repo_file_replace_contents
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:123,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:129,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:66,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:70,1
    - Dst: alloca
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:88,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:98,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:111,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:73,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:120,1
    - Dst: ostree_repo_list_refs
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:108,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:104,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 6
    argNames:
    - self
    - dfd
    - name
    - sha256
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 136
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 136
    functionName: write_checksum_file_at
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - strlen
    - alloca
    - memcpy
    - strrchr
    - ostree_validate_checksum_string
    - g_error_matches
    - glnx_shutil_mkdir_p_at
    - g_hash_table_iter_next
    - g_clear_error
    - g_hash_table_iter_init
    - g_steal_pointer
    - strdupa
    - glnx_shutil_rm_rf_at
    - glnx_throw
    - strcmp
    - g_propagate_error
    - ostree_repo_list_refs
    - _ostree_repo_file_replace_contents
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_checksum_file_at (OstreeRepo *self, int dfd,
      const char *name, const char *sha256, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_remote_fetch_summary
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:827,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:845,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:833,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:843,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:841,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:847,1
    - Dst: g_variant_iter_next_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:848,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:854,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:858,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:860,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:866,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:869,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:873,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:866,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:866,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:864,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 5
    argNames:
    - self
    - remote_name
    - out_all_refs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 875
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 875
    functionName: ostree_repo_remote_list_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - g_strdup
    - g_variant_iter_init
    - g_variant_new_from_bytes
    - g_variant_get_child_value
    - g_hash_table_insert
    - g_variant_unref
    - g_variant_get_child
    - ot_transfer_out_value
    - glnx_throw
    - ostree_repo_remote_fetch_summary
    - ostree_checksum_bytes_peek_validate
    - g_hash_table_new_full
    - ostree_checksum_inplace_from_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_list_refs (OstreeRepo *self, const char
      *remote_name, GHashTable **out_all_refs, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_list_refs_internal
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:777,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 5
    argNames:
    - self
    - refspec_prefix
    - out_all_refs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: ostree_repo_list_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - _ostree_repo_list_refs_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_list_refs (OstreeRepo *self, const char *refspec_prefix,
      GHashTable **out_all_refs, GCancellable *cancellable, GError **error) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat_with_errno
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1071,1
    - Dst: relative_symlink_to
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1102,1
    - Dst: _ostree_make_temporary_symlink_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1104,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1019,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1024,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1020,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1031,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1033,1
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1091,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1055,1
    - Dst: glnx_renameat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1107,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1080,1
    - Dst: write_checksum_file_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1086,1
    - Dst: _ostree_repo_update_mtime
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1111,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1098,1
    - Dst: _ostree_repo_maybe_regenerate_summary
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1116,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1026,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1022,1
    - Dst: ostree_repo_get_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1031,1
    - Dst: glnx_shutil_mkdir_p_at_open
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1041,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1048,1
    - Dst: glnx_opendirat_with_errno
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1053,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1061,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1067,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1073,1
    - Dst: strdupa
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1095,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 95
    argCount: 7
    argNames:
    - self
    - remote
    - ref
    - rev
    - alias
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - OstreeCollectionRef*
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1120
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1120
    functionName: _ostree_repo_write_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - glnx_shutil_mkdir_p_at_open
    - glnx_shutil_mkdir_p_at
    - glnx_throw_errno_prefix
    - g_return_val_if_fail
    - g_strcmp0
    - ostree_validate_remote_name
    - _ostree_make_temporary_symlink_at
    - glnx_opendirat_with_errno
    - ostree_validate_collection_id
    - glnx_opendirat
    - write_checksum_file_at
    - relative_symlink_to
    - _ostree_repo_maybe_regenerate_summary
    - ostree_validate_rev
    - strrchr
    - glnx_renameat
    - ot_ensure_unlinked_at
    - strdupa
    - _ostree_repo_update_mtime
    - ostree_repo_get_collection_id
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_write_ref (OstreeRepo *self, const char *remote,
      const OstreeCollectionRef *ref, const char *rev, const char *alias, GCancellable
      *cancellable, GError **error) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:630,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:644,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:648,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:651,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:657,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:664,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:669,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:683,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:696,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:733,1
    - Dst: enumerate_refs_recurse
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:745,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:647,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:650,1
    - Dst: add_ref_to_set
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:699,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:710,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:722,1
    - Dst: strrchr
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:646,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:636,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:672,1
    - Dst: g_string_printf
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:681,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:663,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:679,1
    - Dst: enumerate_refs_recurse
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:687,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:676,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:713,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:724,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:752,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:644,1
    - Dst: enumerate_refs_recurse
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:716,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:742,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 73
    argCount: 7
    argNames:
    - self
    - cut_prefix
    - flags
    - refspec_prefix
    - out_all_refs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gboolean
    - OstreeRepoListRefsExtFlags
    - char*
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 754
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 754
    functionName: _ostree_repo_list_refs_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - glnx_fstatat_allow_noent
    - g_strndup
    - add_ref_to_set
    - g_steal_pointer
    - S_ISDIR
    - GLNX_AUTO_PREFIX_ERROR
    - ostree_parse_refspec
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - enumerate_refs_recurse
    - ot_transfer_out_value
    - ostree_validate_remote_name
    - glnx_opendirat
    - g_string_truncate
    - g_str_has_suffix
    - glnx_strjoina
    - g_string_printf
    - g_hash_table_new_full
    - g_strdup
    - g_string_new
    - strrchr
    - glnx_dirfd_iterator_init_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_list_refs_internal (OstreeRepo *self,
      gboolean cut_prefix, OstreeRepoListRefsExtFlags flags, const char *refspec_prefix,
      GHashTable **out_all_refs, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:992,1
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:999,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1003,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:995,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:993,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1006,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1008,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1008,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - relpath
    - target
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1009
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1009
    functionName: relative_symlink_to
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_assert
    - g_steal_pointer
    - g_string_free
    - strchr
    linkageType: ''
    returnType: char*
    signature: 'static char *relative_symlink_to (const char *relpath, const char
      *target) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:146,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:154,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:165,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:162,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 4
    argNames:
    - self
    - rev
    - out_fd
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 175
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 175
    functionName: find_ref_in_remotes
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - glnx_opendirat
    - glnx_dirfd_iterator_init_at
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - ot_openat_ignore_enoent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean find_ref_in_remotes (OstreeRepo *self, const char
      *rev, int *out_fd, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_resolve_rev_internal
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:428,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - self
    - refspec
    - allow_noent
    - out_rev
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: ostree_repo_resolve_rev
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - _ostree_repo_resolve_rev_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_resolve_rev (OstreeRepo *self, const char *refspec,
      gboolean allow_noent, char **out_rev, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:885,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:900,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:894,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:896,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:893,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:902,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:906,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:908,1
    - Dst: ostree_collection_ref_new
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:909,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:910,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 6
    argNames:
    - self
    - remote_name
    - summary_collection_id
    - summary_refs
    - ret_all_refs
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - gchar*
    - GVariant*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 914
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 914
    functionName: remote_list_collection_refs_process_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ostree_validate_rev
    - g_variant_n_children
    - g_variant_get_child_value
    - g_hash_table_insert
    - ostree_collection_ref_new
    - g_variant_get_child
    - ostree_checksum_inplace_from_bytes
    - ostree_checksum_bytes_peek_validate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean remote_list_collection_refs_process_refs (OstreeRepo
      *self, const gchar *remote_name, const gchar *summary_collection_id, GVariant
      *summary_refs, GHashTable *ret_all_refs, GError **error) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1201,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1204,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1216,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1243,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1199,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1206,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1233,1
    - Dst: enumerate_refs_recurse
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1228,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1209,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1254,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1274,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1284,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1290,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1197,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1198,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1197,1
    - Dst: ostree_repo_get_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1218,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1225,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1213,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1262,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1299,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1195,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1198,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1208,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1221,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1264,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1272,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1276,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1279,1
    - Dst: enumerate_refs_recurse
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1293,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 76
    argCount: 6
    argNames:
    - self
    - match_collection_id
    - out_all_refs
    - flags
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GHashTable**
    - OstreeRepoListRefsExtFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1301
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1301
    functionName: ostree_repo_list_collection_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - ostree_repo_get_remote_option
    - g_ptr_array_new
    - g_return_val_if_fail
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - g_strcmp0
    - enumerate_refs_recurse
    - G_IS_CANCELLABLE
    - ot_transfer_out_value
    - ostree_validate_collection_id
    - glnx_opendirat
    - g_string_truncate
    - g_hash_table_new_full
    - g_ptr_array_add
    - ot_dfd_iter_init_allow_noent
    - g_string_new
    - g_debug
    - OSTREE_IS_REPO
    - ostree_repo_get_collection_id
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_list_collection_refs (OstreeRepo *self, const
      char *match_collection_id, GHashTable **out_all_refs, OstreeRepoListRefsExtFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:311,1
    - Dst: strspn
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:315,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:326,1
    - Dst: ostree_repo_list_commit_objects_starting_with
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:323,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:331,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:332,1
    - Dst: ostree_object_name_deserialize
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:338,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:342,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:345,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:351,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 22
    argCount: 4
    argNames:
    - self
    - refspec
    - full_checksum
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 353
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 353
    functionName: ostree_repo_resolve_partial_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strspn
    - g_hash_table_size
    - ostree_object_name_deserialize
    - ostree_repo_list_commit_objects_starting_with
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - ot_transfer_out_value
    - glnx_throw
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_repo_resolve_partial_checksum (OstreeRepo *self,
      const char *refspec, char **full_checksum, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:494,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:495,1
    - Dst: OSTREE_IS_REPO
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:492,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:495,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:510,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:532,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:551,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:545,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:492,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:502,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:508,1
    - Dst: ostree_repo_list_collection_refs
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:528,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:493,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:496,1
    - Dst: ostree_repo_get_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:505,1
    - Dst: ostree_repo_resolve_collection_ref
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:538,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:510,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:532,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:513,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 7
    argNames:
    - self
    - ref
    - allow_noent
    - flags
    - out_rev
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeCollectionRef*
    - gboolean
    - OstreeRepoResolveRevExtFlags
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 553
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 553
    functionName: ostree_repo_resolve_collection_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_strcmp0
    - ostree_repo_list_collection_refs
    - ostree_repo_resolve_collection_ref
    - g_hash_table_lookup
    - g_mutex_unlock
    - g_steal_pointer
    - G_IS_CANCELLABLE
    - OSTREE_IS_REPO
    - g_return_val_if_fail
    - ostree_repo_get_collection_id
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_resolve_collection_ref (OstreeRepo *self, const
      OstreeCollectionRef *ref, gboolean allow_noent, OstreeRepoResolveRevExtFlags
      flags, char **out_rev, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_list_refs_internal
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:806,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - self
    - refspec_prefix
    - out_all_refs
    - flags
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GHashTable**
    - OstreeRepoListRefsExtFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 808
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 808
    functionName: ostree_repo_list_refs_ext
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - _ostree_repo_list_refs_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_list_refs_ext (OstreeRepo *self, const char *refspec_prefix,
      GHashTable **out_all_refs, OstreeRepoListRefsExtFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1126,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1130,1
    - Dst: _ostree_repo_write_ref
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - self
    - refs
    - /* (element-type utf8 utf8) */
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1139
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1139
    functionName: _ostree_repo_update_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - ostree_parse_refspec
    - GLNX_HASH_TABLE_FOREACH_KV
    - _ostree_repo_write_ref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_update_refs (OstreeRepo *self, GHashTable *refs,
      /* (element-type utf8 utf8) */ GCancellable *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:361,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:365,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:363,1
    - Dst: ostree_repo_resolve_partial_checksum
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:367,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:375,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:381,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:382,1
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:384,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:387,1
    - Dst: ostree_commit_get_parent
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:391,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:392,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:407,1
    - Dst: ostree_parse_refspec
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:399,1
    - Dst: resolve_refspec
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:402,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 6
    argNames:
    - self
    - refspec
    - allow_noent
    - fallback_remote
    - out_rev
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - gboolean
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 409
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 409
    functionName: _ostree_repo_resolve_rev_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - ostree_parse_refspec
    - ostree_commit_get_parent
    - ostree_validate_checksum_string
    - resolve_refspec
    - g_str_has_suffix
    - ostree_repo_resolve_rev
    - ot_transfer_out_value
    - ostree_repo_resolve_partial_checksum
    - ostree_repo_load_variant
    - glnx_throw
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_resolve_rev_internal (OstreeRepo *self,
      const char *refspec, gboolean allow_noent, gboolean fallback_remote, char **out_rev,
      GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:566,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:587,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:591,1
    - Dst: _ostree_validate_ref_fragment
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:584,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:574,1
    - Dst: enumerate_refs_recurse
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:593,1
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:602,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:606,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:608,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:608,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:608,1
    - Dst: g_string_truncate
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:618,1
    - Dst: add_ref_to_set
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:612,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 37
    argCount: 11
    argNames:
    - repo
    - remote
    - flags
    - collection_id
    - base_dfd
    - base_path
    - child_dfd
    - path
    - refs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - OstreeRepoListRefsExtFlags
    - char*
    - int
    - GString*
    - int
    - char*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 622
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 622
    functionName: enumerate_refs_recurse
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_append
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - glnx_readlinkat_malloc
    - add_ref_to_set
    - g_hash_table_insert
    - g_string_append_c
    - _ostree_validate_ref_fragment
    - enumerate_refs_recurse
    - g_string_truncate
    - g_str_has_prefix
    - glnx_dirfd_iterator_init_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean enumerate_refs_recurse (OstreeRepo *repo, const char
      *remote, OstreeRepoListRefsExtFlags flags, const char *collection_id, int base_dfd,
      GString *base_path, int child_dfd, const char *path, GHashTable *refs, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1149,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1150,1
    - Dst: _ostree_repo_write_ref
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:1155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 4
    argNames:
    - self
    - refs
    - /* (element-type OstreeCollectionRef utf8) */
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1160
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1160
    functionName: _ostree_repo_update_collection_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_hash_table_iter_next
    - _ostree_repo_write_ref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_update_collection_refs (OstreeRepo *self, GHashTable
      *refs, /* (element-type OstreeCollectionRef utf8) */ GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_resolve_rev_internal
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - self
    - refspec
    - allow_noent
    - flags
    - out_rev
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean
    - OstreeRepoResolveRevExtFlags
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: ostree_repo_resolve_rev_ext
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - _ostree_repo_resolve_rev_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_resolve_rev_ext (OstreeRepo *self, const char
      *refspec, gboolean allow_noent, OstreeRepoResolveRevExtFlags flags, char **out_rev,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_remote_fetch_summary
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:947,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:958,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:954,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:957,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:952,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:961,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:965,1
    - Dst: remote_list_collection_refs_process_refs
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:967,1
    - Dst: g_variant_lookup
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:972,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:977,1
    - Dst: remote_list_collection_refs_process_refs
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:980,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-refs.c:985,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - self
    - remote_name
    - out_all_refs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 987
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 987
    functionName: ostree_repo_remote_list_collection_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-refs.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - remote_list_collection_refs_process_refs
    - g_variant_iter_loop
    - g_variant_new_from_bytes
    - g_variant_get_child_value
    - ot_transfer_out_value
    - glnx_throw
    - ostree_repo_remote_fetch_summary
    - g_hash_table_new_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_remote_list_collection_refs (OstreeRepo *self,
      const char *remote_name, GHashTable **out_all_refs, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_uri_new_path_internal
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - uri
    - path
    argTypes:
    - OstreeFetcherURI*
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: _ostree_fetcher_uri_new_path
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_uri_new_path_internal
    linkageType: ''
    returnType: OstreeFetcherURI*
    signature: 'OstreeFetcherURI *_ostree_fetcher_uri_new_path (OstreeFetcherURI *uri,
      const char *path) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_get_port
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:50,1
    - Dst: g_uri_parse
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:46,1
    - Dst: g_uri_parse
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:42,1
    - Dst: g_uri_get_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:67,1
    - Dst: g_uri_get_password
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:68,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:53,1
    - Dst: g_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:53,1
    - Dst: g_uri_get_path
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:69,1
    - Dst: g_uri_get_fragment
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:70,1
    - Dst: g_uri_build_with_user
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:67,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:41,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:57,1
    - Dst: g_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:57,1
    - Dst: g_uri_get_host
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:68,1
    - Dst: g_uri_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:71,1
    - Dst: g_uri_get_user
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:67,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:61,1
    - Dst: g_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:61,1
    - Dst: g_uri_get_query
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:69,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - str
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 76
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 76
    functionName: _ostree_fetcher_uri_parse
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - GLIB_CHECK_VERSION
    - g_uri_unref
    - g_uri_parse
    - g_uri_build_with_user
    - g_uri_get_flags
    - g_uri_get_port
    - g_uri_get_query
    - g_uri_get_path
    - g_uri_get_fragment
    - g_uri_get_user
    - strcmp
    - g_uri_get_scheme
    - g_uri_get_host
    - g_uri_get_password
    linkageType: ''
    returnType: OstreeFetcherURI*
    signature: 'OstreeFetcherURI *_ostree_fetcher_uri_parse (const char *str, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_uri_new_subpath
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - OstreeFetcherURI*
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: _ostree_fetcher_uri_clone
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_uri_new_subpath
    linkageType: ''
    returnType: OstreeFetcherURI*
    signature: 'OstreeFetcherURI *_ostree_fetcher_uri_clone (OstreeFetcherURI *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:129,1
    - Dst: g_uri_get_path
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - OstreeFetcherURI*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: _ostree_fetcher_uri_get_path
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_uri_get_path
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_fetcher_uri_get_path (OstreeFetcherURI *uri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:145,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:147,1
    - Dst: _ostree_fetcher_uri_to_string
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:150,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:148,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:147,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - uri
    - error
    argTypes:
    - OstreeFetcherURI*
    - GError**
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: _ostree_fetcher_uri_validate
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_uri_get_scheme
    - glnx_throw
    - _ostree_fetcher_uri_to_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_uri_validate (OstreeFetcherURI *uri, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_unref
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - OstreeFetcherURI*
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: _ostree_fetcher_uri_free
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - g_uri_unref
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_uri_free (OstreeFetcherURI *uri) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_get_path
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:82,1
    - Dst: g_uri_build_with_user
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:96,1
    - Dst: g_uri_get_flags
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:97,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:88,1
    - Dst: g_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:97,1
    - Dst: g_uri_get_user
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:97,1
    - Dst: g_uri_get_password
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:98,1
    - Dst: g_uri_get_host
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:98,1
    - Dst: g_uri_get_port
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:98,1
    - Dst: g_uri_get_query
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:99,1
    - Dst: g_uri_get_fragment
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - uri
    - extend
    - path
    argTypes:
    - OstreeFetcherURI*
    - gboolean
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: _ostree_fetcher_uri_new_path_internal
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - g_uri_build_with_user
    - g_uri_get_flags
    - g_uri_get_port
    - g_build_filename
    - g_uri_get_query
    - g_uri_get_path
    - g_uri_get_fragment
    - g_uri_get_user
    - g_uri_get_scheme
    - g_uri_get_host
    - g_uri_get_password
    linkageType: ''
    returnType: OstreeFetcherURI*
    signature: 'static OstreeFetcherURI *_ostree_fetcher_uri_new_path_internal (OstreeFetcherURI
      *uri, gboolean extend, const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_uri_new_path_internal
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - uri
    - subpath
    argTypes:
    - OstreeFetcherURI*
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: _ostree_fetcher_uri_new_subpath
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_uri_new_path_internal
    linkageType: ''
    returnType: OstreeFetcherURI*
    signature: 'OstreeFetcherURI *_ostree_fetcher_uri_new_subpath (OstreeFetcherURI
      *uri, const char *subpath) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:123,1
    - Dst: g_uri_get_scheme
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - OstreeFetcherURI*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: _ostree_fetcher_uri_get_scheme
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_uri_get_scheme
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_fetcher_uri_get_scheme (OstreeFetcherURI *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_to_string_partial
      Src: /src/ostree/src/libostree/ostree-fetcher-uri.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - OstreeFetcherURI*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: _ostree_fetcher_uri_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-uri.c
    functionUses: []
    functionsReached:
    - g_uri_to_string_partial
    linkageType: ''
    returnType: char*
    signature: 'char *_ostree_fetcher_uri_to_string (OstreeFetcherURI *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ostree/src/libostree/bupsplit.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Rollsum*
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: rollsum_init
    functionSourceFile: /src/ostree/src/libostree/bupsplit.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void rollsum_init (Rollsum *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - Rollsum*
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: rollsum_digest
    functionSourceFile: /src/ostree/src/libostree/bupsplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t rollsum_digest (Rollsum *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rollsum_init
      Src: /src/ostree/src/libostree/bupsplit.c:89,1
    - Dst: rollsum_roll
      Src: /src/ostree/src/libostree/bupsplit.c:91,1
    - Dst: rollsum_digest
      Src: /src/ostree/src/libostree/bupsplit.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - ofs
    - len
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: bupsplit_sum
    functionSourceFile: /src/ostree/src/libostree/bupsplit.c
    functionUses: []
    functionsReached:
    - rollsum_digest
    - rollsum_roll
    - rollsum_init
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t bupsplit_sum (uint8_t *buf, size_t ofs, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rollsum_init
      Src: /src/ostree/src/libostree/bupsplit.c:101,1
    - Dst: rollsum_roll
      Src: /src/ostree/src/libostree/bupsplit.c:104,1
    - Dst: rollsum_digest
      Src: /src/ostree/src/libostree/bupsplit.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - len
    - bits
    argTypes:
    - unsigned char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: bupsplit_find_ofs
    functionSourceFile: /src/ostree/src/libostree/bupsplit.c
    functionUses: []
    functionsReached:
    - rollsum_digest
    - rollsum_roll
    - rollsum_init
    linkageType: ''
    returnType: int
    signature: 'int bupsplit_find_ofs (const unsigned char *buf, int len, int *bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - drop
    - add
    argTypes:
    - Rollsum*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: rollsum_add
    functionSourceFile: /src/ostree/src/libostree/bupsplit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void rollsum_add (Rollsum *r, uint8_t drop, uint8_t add) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE_ENUMERATOR
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:50,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:53,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:52,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:55,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: ostree_repo_file_enumerator_dispose
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file-enumerator.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - OSTREE_REPO_FILE_ENUMERATOR
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_file_enumerator_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:95,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:97,1
    - Dst: G_FILE_ENUMERATOR
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:101,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - dir
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - OstreeRepoFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: _ostree_repo_file_enumerator_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file-enumerator.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - G_FILE_ENUMERATOR
    - g_object_new
    linkageType: ''
    returnType: GFileEnumerator*
    signature: 'GFileEnumerator *_ostree_repo_file_enumerator_new (OstreeRepoFile
      *dir, const char *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:73,1
    - Dst: G_FILE_ENUMERATOR_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeRepoFileEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: ostree_repo_file_enumerator_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file-enumerator.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_FILE_ENUMERATOR_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_file_enumerator_class_init (OstreeRepoFileEnumeratorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE_ENUMERATOR
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:64,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: ostree_repo_file_enumerator_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file-enumerator.c
    functionUses: []
    functionsReached:
    - OSTREE_REPO_FILE_ENUMERATOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_file_enumerator_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFileEnumerator*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ostree_repo_file_enumerator_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file-enumerator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_file_enumerator_init (OstreeRepoFileEnumerator
      *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FILE_ENUMERATOR
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:108,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:121,1
    - Dst: ostree_repo_file_tree_query_child
      Src: /src/ostree/src/libostree/ostree-repo-file-enumerator.c:112,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: ostree_repo_file_enumerator_next_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file-enumerator.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - OSTREE_REPO_FILE_ENUMERATOR
    - ostree_repo_file_tree_query_child
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *ostree_repo_file_enumerator_next_file (GFileEnumerator
      *enumerator, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: ostree_repo_file_enumerator_close
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-file-enumerator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ostree_repo_file_enumerator_close (GFileEnumerator
      *enumerator, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_checksum_bytes_peek
      Src: /src/ostree/src/libostree/ostree-core-private.h:98,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-core-private.h:99,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-core-private.h:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - csum_v
    - buf
    argTypes:
    - GVariant*
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: _ostree_checksum_inplace_from_bytes_v
    functionSourceFile: /src/ostree/src/libostree/ostree-core-private.h
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_checksum_bytes_peek
    - ostree_checksum_inplace_from_bytes
    linkageType: ''
    returnType: void
    signature: 'static inline void _ostree_checksum_inplace_from_bytes_v (GVariant
      *csum_v, char *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-core-private.h:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: _ostree_get_commitpartial_path
    functionSourceFile: /src/ostree/src/libostree/ostree-core-private.h
    functionUses: []
    functionsReached:
    - g_strconcat
    linkageType: ''
    returnType: char*
    signature: 'static inline char *_ostree_get_commitpartial_path (const char *checksum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-core-private.h:136,1
    - Dst: _ostree_validate_bareuseronly_mode
      Src: /src/ostree/src/libostree/ostree-core-private.h:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - finfo
    - checksum
    - error
    argTypes:
    - GFileInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: _ostree_validate_bareuseronly_mode_finfo
    functionSourceFile: /src/ostree/src/libostree/ostree-core-private.h
    functionUses: []
    functionsReached:
    - g_file_info_get_attribute_uint32
    - _ostree_validate_bareuseronly_mode
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _ostree_validate_bareuseronly_mode_finfo (GFileInfo
      *finfo, const char *checksum, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mode
    argTypes:
    - OstreeRepoMode
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: _ostree_repo_mode_is_bare
    functionSourceFile: /src/ostree/src/libostree/ostree-core-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _ostree_repo_mode_is_bare (OstreeRepoMode mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:248,1
    - Dst: invalidate_contents_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:251,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:252,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - checksum
    argTypes:
    - OstreeMutableTree*
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: ostree_mutable_tree_set_metadata_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_strdup
    - g_free
    - invalidate_contents_checksum
    linkageType: ''
    returnType: void
    signature: 'void ostree_mutable_tree_set_metadata_checksum (OstreeMutableTree
      *self, const char *checksum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:265,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:276,1
    - Dst: _assert_ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:273,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:275,1
    - Dst: g_warning
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - self
    - checksum
    argTypes:
    - OstreeMutableTree*
    - char*
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: ostree_mutable_tree_set_contents_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_strcmp0
    - _assert_ostree_mutable_tree_make_whole
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'void ostree_mutable_tree_set_contents_checksum (OstreeMutableTree
      *self, const char *checksum) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:492,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:493,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:501,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:500,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:494,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:504,1
    - Dst: g_set_object
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:507,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:508,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:515,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:515,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:520,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:525,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:526,1
    - Dst: invalidate_contents_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:528,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:529,1
    - Dst: g_set_object
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:524,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - self
    - repo
    - contents_checksum
    - metadata_checksum
    argTypes:
    - OstreeMutableTree*
    - OstreeRepo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 532
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 532
    functionName: ostree_mutable_tree_fill_empty_from_dirtree
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_set_object
    - g_assert
    - g_hash_table_size
    - g_strcmp0
    - ostree_mutable_tree_set_metadata_checksum
    - g_assert_not_reached
    - invalidate_contents_checksum
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_mutable_tree_fill_empty_from_dirtree (OstreeMutableTree
      *self, OstreeRepo *repo, const char *contents_checksum, const char *metadata_checksum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assert_ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMutableTree*
    constantsTouched: []
    func_position:
      end: 579
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 579
    functionName: ostree_mutable_tree_get_subdirs
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - _assert_ostree_mutable_tree_make_whole
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *ostree_mutable_tree_get_subdirs (OstreeMutableTree *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMutableTree*
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: ostree_mutable_tree_get_metadata_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_mutable_tree_get_metadata_checksum (OstreeMutableTree
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMutableTree*
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: ostree_mutable_tree_get_contents_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ostree_mutable_tree_get_contents_checksum (OstreeMutableTree
      *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:549,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:553,1
    - Dst: set_error_noent
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:562,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:560,1
    - Dst: _ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:558,1
    - Dst: ostree_mutable_tree_walk
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:564,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 5
    argNames:
    - self
    - split_path
    - start
    - out_subdir
    - error
    argTypes:
    - OstreeMutableTree*
    - GPtrArray*
    - guint
    - OstreeMutableTree**
    - GError**
    constantsTouched: []
    func_position:
      end: 566
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 566
    functionName: ostree_mutable_tree_walk
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_assert_cmpuint
    - _ostree_mutable_tree_make_whole
    - ostree_mutable_tree_walk
    - set_error_noent
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_mutable_tree_walk (OstreeMutableTree *self, GPtrArray
      *split_path, guint start, OstreeMutableTree **out_subdir, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_MUTABLE_TREE
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:108,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:111,1
    - Dst: g_hash_table_destroy
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:114,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:110,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:113,1
    - Dst: g_hash_table_destroy
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:115,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:117,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: ostree_mutable_tree_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - OSTREE_MUTABLE_TREE
    - g_free
    - g_hash_table_destroy
    - g_clear_pointer
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mutable_tree_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:157,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMutableTree*
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: ostree_mutable_tree_init
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mutable_tree_init (OstreeMutableTree *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMutableTree*
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: _assert_ostree_mutable_tree_make_whole
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - _ostree_mutable_tree_make_whole
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _assert_ostree_mutable_tree_make_whole (OstreeMutableTree
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:646,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:649,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:648,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - repo
    - contents_checksum
    - metadata_checksum
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 652
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 652
    functionName: ostree_mutable_tree_new_from_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: OstreeMutableTree*
    signature: 'OstreeMutableTree *ostree_mutable_tree_new_from_checksum (OstreeRepo
      *repo, const char *contents_checksum, const char *metadata_checksum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeMutableTreeClass*
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: ostree_mutable_tree_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_mutable_tree_class_init (OstreeMutableTreeClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMutableTree*
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: invalidate_contents_checksum
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static void invalidate_contents_checksum (OstreeMutableTree *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:183,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:184,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:185,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:186,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:195,1
    - Dst: _ostree_checksum_inplace_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:220,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:187,1
    - Dst: ostree_repo_load_variant
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:190,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:204,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:200,1
    - Dst: insert_child_mtree
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:223,1
    - Dst: ostree_mutable_tree_new_from_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:224,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:229,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:186,1
    - Dst: _ostree_checksum_inplace_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:203,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:210,1
    - Dst: _ostree_checksum_inplace_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:222,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:182,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:187,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:204,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:204,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:217,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:197,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:215,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeMutableTree*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 232
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 232
    functionName: _ostree_mutable_tree_make_whole
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_iter_loop
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_hash_table_size
    - g_variant_get_child_value
    - g_variant_iter_init
    - g_hash_table_insert
    - insert_child_mtree
    - ostree_mutable_tree_new_from_checksum
    - g_clear_object
    - ostree_repo_load_variant
    - _ostree_checksum_inplace_from_bytes_v
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_mutable_tree_make_whole (OstreeMutableTree
      *self, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:433,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:446,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:445,1
    - Dst: _ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:435,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:439,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:448,1
    - Dst: invalidate_contents_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:451,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:452,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:453,1
    - Dst: insert_child_mtree
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:454,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:464,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:458,1
    - Dst: _ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:459,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 5
    argNames:
    - self
    - split_path
    - metadata_checksum
    - out_parent
    - error
    argTypes:
    - OstreeMutableTree*
    - GPtrArray*
    - char*
    - OstreeMutableTree**
    - GError**
    constantsTouched: []
    func_position:
      end: 466
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 466
    functionName: ostree_mutable_tree_ensure_parent_dirs
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_assert
    - _ostree_mutable_tree_make_whole
    - ostree_mutable_tree_set_metadata_checksum
    - insert_child_mtree
    - ostree_mutable_tree_new
    - glnx_throw
    - invalidate_contents_checksum
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_mutable_tree_ensure_parent_dirs (OstreeMutableTree
      *self, GPtrArray *split_path, const char *metadata_checksum, OstreeMutableTree
      **out_parent, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: ostree_mutable_tree_new
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeMutableTree*
    signature: 'OstreeMutableTree *ostree_mutable_tree_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:137,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:138,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - self
    - name
    - child
    argTypes:
    - OstreeMutableTree*
    - gchar*
    - OstreeMutableTree*
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: insert_child_mtree
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_insert
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void insert_child_mtree (OstreeMutableTree *self, const gchar
      *name, OstreeMutableTree *child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - error
    - path
    argTypes:
    - GError**
    - char*
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: set_error_noent
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_error_noent (GError **error, const char *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:356,1
    - Dst: ot_gobject_refz
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:366,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:363,1
    - Dst: _ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:359,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:362,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:366,1
    - Dst: ostree_mutable_tree_new
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:369,1
    - Dst: invalidate_contents_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:370,1
    - Dst: insert_child_mtree
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:371,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:371,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:375,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - self
    - name
    - out_subdir
    - error
    argTypes:
    - OstreeMutableTree*
    - char*
    - OstreeMutableTree**
    - GError**
    constantsTouched: []
    func_position:
      end: 377
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 377
    functionName: ostree_mutable_tree_ensure_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - invalidate_contents_checksum
    - g_object_ref
    - _ostree_mutable_tree_make_whole
    - insert_child_mtree
    - ot_gobject_refz
    - g_steal_pointer
    - ostree_mutable_tree_new
    - glnx_throw
    - ot_util_filename_validate
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_mutable_tree_ensure_dir (OstreeMutableTree *self,
      const char *name, OstreeMutableTree **out_subdir, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:397,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:402,1
    - Dst: ot_gobject_refz
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:402,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:405,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:405,1
    - Dst: set_error_noent
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:407,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:411,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:413,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 5
    argNames:
    - self
    - name
    - out_file_checksum
    - out_subdir
    - error
    argTypes:
    - OstreeMutableTree*
    - char*
    - char**
    - OstreeMutableTree**
    - GError**
    constantsTouched: []
    func_position:
      end: 415
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 415
    functionName: ostree_mutable_tree_lookup
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _ostree_mutable_tree_make_whole
    - ot_gobject_refz
    - set_error_noent
    - g_steal_pointer
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_mutable_tree_lookup (OstreeMutableTree *self, const
      char *name, char **out_file_checksum, OstreeMutableTree **out_subdir, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error_copy
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeMutableTree*
    - GError**
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: ostree_mutable_tree_check_error
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_error_copy
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_mutable_tree_check_error (OstreeMutableTree *self,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: remove_child_mtree
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void remove_child_mtree (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:296,1
    - Dst: _ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:299,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:303,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:302,1
    - Dst: invalidate_contents_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:305,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:306,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:306,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - self
    - name
    - checksum
    - error
    argTypes:
    - OstreeMutableTree*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: ostree_mutable_tree_replace_file
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - invalidate_contents_checksum
    - g_strdup
    - _ostree_mutable_tree_make_whole
    - g_hash_table_replace
    - glnx_throw
    - ot_util_filename_validate
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_mutable_tree_replace_file (OstreeMutableTree *self,
      const char *name, const char *checksum, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_filename_validate
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:325,1
    - Dst: set_error_noent
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:335,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:331,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:331,1
    - Dst: _ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:328,1
    - Dst: invalidate_contents_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - self
    - name
    - allow_noent
    - error
    argTypes:
    - OstreeMutableTree*
    - char*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: ostree_mutable_tree_remove
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - _ostree_mutable_tree_make_whole
    - g_hash_table_remove
    - set_error_noent
    - ot_util_filename_validate
    - invalidate_contents_checksum
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_mutable_tree_remove (OstreeMutableTree *self, const
      char *name, gboolean allow_noent, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assert_ostree_mutable_tree_make_whole
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeMutableTree*
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: ostree_mutable_tree_get_files
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - _assert_ostree_mutable_tree_make_whole
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *ostree_mutable_tree_get_files (OstreeMutableTree *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_resolve_rev
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:669,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:679,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:680,1
    - Dst: ostree_repo_load_commit
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:672,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:680,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:681,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:682,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:682,1
    - Dst: ostree_mutable_tree_new_from_checksum
      Src: /src/ostree/src/libostree/ostree-mutable-tree.c:683,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - repo
    - rev
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 684
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 684
    functionName: ostree_mutable_tree_new_from_commit
    functionSourceFile: /src/ostree/src/libostree/ostree-mutable-tree.c
    functionUses: []
    functionsReached:
    - ostree_mutable_tree_new_from_checksum
    - ostree_repo_load_commit
    - ostree_repo_resolve_rev
    - g_variant_get_child
    - ostree_checksum_inplace_from_bytes
    - g_variant_get_data
    linkageType: ''
    returnType: OstreeMutableTree*
    signature: 'OstreeMutableTree *ostree_mutable_tree_new_from_commit (OstreeRepo
      *repo, const char *rev, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:378,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:396,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:392,1
    - Dst: g_bytes_new_static
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:393,1
    - Dst: ostree_bloom_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:394,1
    - Dst: ostree_bloom_maybe_contains
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:400,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:401,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:404,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - bloom_encoded
    - refs
    argTypes:
    - GVariant*
    - OstreeCollectionRef**
    constantsTouched: []
    func_position:
      end: 405
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 405
    functionName: bloom_refs_intersection
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_bytes_new_static
    - ostree_bloom_new_from_bytes
    - g_ptr_array_new_with_free_func
    - g_variant_get_fixed_array
    - ostree_bloom_maybe_contains
    - g_variant_get
    - g_steal_pointer
    - g_ptr_array_add
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *bloom_refs_intersection (GVariant *bloom_encoded,
      const OstreeCollectionRef *const *refs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_repo_add_remote
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:567,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:578,1
    - Dst: ostree_repo_remote_fetch_summary_with_options
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:568,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:579,1
    - Dst: _ostree_repo_remove_remote
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:573,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - repo
    - remote
    - out_summary_bytes
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRemote*
    - GBytes**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 581
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 581
    functionName: fetch_summary_from_remote
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_repo_remote_fetch_summary_with_options
    - g_steal_pointer
    - _ostree_repo_add_remote
    - _ostree_repo_remove_remote
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fetch_summary_from_remote (OstreeRepo *repo, OstreeRemote
      *remote, GBytes **out_summary_bytes, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FINDER_AVAHI
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1237,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1244,1
    - Dst: ostree_repo_finder_avahi_stop
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1239,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1241,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1243,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1245,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1246,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1247,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1248,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1249,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1250,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1255
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1255
    functionName: ostree_repo_finder_avahi_dispose
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - OSTREE_REPO_FINDER_AVAHI
    - g_clear_pointer
    - g_clear_object
    - g_assert
    - ostree_repo_finder_avahi_stop
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_avahi_dispose (GObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:186,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:190,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:187,1
    - Dst: ostree_remote_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - uri
    - keyring_remote
    argTypes:
    - gchar*
    - OstreeRemote*
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: uri_and_keyring_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ostree_remote_ref
    - g_steal_pointer
    - g_new0
    linkageType: ''
    returnType: UriAndKeyring*
    signature: 'static UriAndKeyring *uri_and_keyring_new (const gchar *uri, OstreeRemote
      *keyring_remote) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeRepoFinderAvahiClass*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1263
    functionName: ostree_repo_finder_avahi_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_avahi_class_init (OstreeRepoFinderAvahiClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_str_bloom_hash
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:358,1
    - Dst: ostree_str_bloom_hash
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - element
    - k
    argTypes:
    - gconstpointer
    - guint8
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: ostree_collection_ref_bloom_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - ostree_str_bloom_hash
    linkageType: ''
    returnType: guint64
    signature: 'static guint64 ostree_collection_ref_bloom_hash (gconstpointer element,
      guint8 k) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1076,1
    - Dst: avahi_service_resolver_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1078,1
    - Dst: avahi_strerror
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1083,1
    - Dst: g_main_context_is_owner
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1076,1
    - Dst: g_warning
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1082,1
    - Dst: avahi_client_errno
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1083,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1087,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1093,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1096,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1097,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1100,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1097,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - self
    - interface
    - protocol
    - name
    - type
    - domain
    argTypes:
    - OstreeRepoFinderAvahi*
    - AvahiIfIndex
    - AvahiProtocol
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1101
    functionName: browse_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_strdup
    - avahi_strerror
    - avahi_client_errno
    - g_ptr_array_new_with_free_func
    - g_assert
    - g_hash_table_insert
    - g_warning
    - g_debug
    - g_main_context_is_owner
    - g_steal_pointer
    - g_hash_table_lookup
    - avahi_service_resolver_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void browse_new (OstreeRepoFinderAvahi *self, AvahiIfIndex
      interface, AvahiProtocol protocol, const gchar *name, const gchar *type, const
      gchar *domain) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1425,1
    - Dst: OSTREE_IS_REPO_FINDER_AVAHI
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1425,1
    - Dst: g_main_context_invoke
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1431,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFinderAvahi*
    constantsTouched: []
    func_position:
      end: 1433
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1433
    functionName: ostree_repo_finder_avahi_stop
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - OSTREE_IS_REPO_FINDER_AVAHI
    - g_main_context_invoke
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_finder_avahi_stop (OstreeRepoFinderAvahi *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - AvahiResolverEvent
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: ostree_avahi_resolver_event_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *ostree_avahi_resolver_event_to_string (AvahiResolverEvent
      event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:247,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:248,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:249,1
    - Dst: avahi_string_list_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:250,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - service
    argTypes:
    - OstreeAvahiService*
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: ostree_avahi_service_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - avahi_string_list_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void ostree_avahi_service_free (OstreeAvahiService *service) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:329,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:333,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:330,1
    - Dst: str_is_lowercase
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:330,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:331,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:337,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:341,1
    - Dst: g_variant_is_normal_form
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:343,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:345,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - attributes
    - key
    - value_type
    argTypes:
    - GHashTable*
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 350
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 350
    functionName: _ostree_txt_records_lookup_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - str_is_lowercase
    - g_variant_is_normal_form
    - g_variant_new_from_bytes
    - g_hash_table_lookup
    - g_debug
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *_ostree_txt_records_lookup_variant (GHashTable *attributes,
      const gchar *key, const GVariantType *value_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:461,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:465,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:462,1
    - Dst: g_variant_iter_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:464,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:471,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:474,1
    - Dst: fill_refs_and_checksums_from_summary_map
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:476,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:481,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:484,1
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:487,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:489,1
    - Dst: fill_refs_and_checksums_from_summary_map
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:491,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - summary
    - refs_and_checksums
    - /* (element-type OstreeCollectionRef utf8) */
    - error
    argTypes:
    - GVariant*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 498
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 498
    functionName: fill_refs_and_checksums_from_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_variant_iter_new
    - fill_refs_and_checksums_from_summary_map
    - g_variant_iter_loop
    - ostree_validate_collection_id
    - g_clear_pointer
    - g_variant_get_child_value
    - g_variant_dict_init
    - g_variant_dict_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fill_refs_and_checksums_from_summary ( GVariant *summary,
      GHashTable *refs_and_checksums /* (element-type OstreeCollectionRef utf8) */,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:877,1
    - Dst: va_start
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:879,1
    - Dst: g_main_context_is_owner
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:877,1
    - Dst: va_end
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:881,1
    - Dst: g_error_new_valist
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:880,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:885,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:885,1
    - Dst: g_task_return_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:886,1
    - Dst: g_error_copy
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:886,1
    - Dst: g_ptr_array_set_size
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:889,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - self
    - domain
    - code
    - format
    - '...'
    argTypes:
    - OstreeRepoFinderAvahi*
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 890
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 890
    functionName: fail_all_pending_tasks
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - va_end
    - G_TASK
    - g_assert
    - g_error_copy
    - g_ptr_array_index
    - g_ptr_array_set_size
    - va_start
    - g_error_new_valist
    - g_main_context_is_owner
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void fail_all_pending_tasks (OstreeRepoFinderAvahi *self, GQuark
      domain, gint code, const gchar *format, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:912,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:916,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:933,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:946,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:953,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:956,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:915,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:926,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:958,1
    - Dst: g_ptr_array_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:958,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:953,1
    - Dst: g_ptr_array_set_size
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:962,1
    - Dst: g_main_context_is_owner
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:915,1
    - Dst: ostree_avahi_service_build_repo_finder_result
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:935,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:937,1
    - Dst: fail_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:966,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:926,1
    - Dst: g_task_get_task_data
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:927,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:929,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:954,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:946,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFinderAvahi*
    constantsTouched: []
    func_position:
      end: 969
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 969
    functionName: complete_all_pending_tasks
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_ptr_array_ref
    - G_TASK
    - g_ptr_array_new_with_free_func
    - g_assert
    - ostree_avahi_service_build_repo_finder_result
    - g_ptr_array_index
    - fail_all_pending_tasks
    - g_ptr_array_sort
    - g_ptr_array_new_full
    - g_cancellable_is_cancelled
    - g_debug
    - g_main_context_is_owner
    - g_steal_pointer
    - g_task_return_pointer
    - g_ptr_array_set_size
    - g_ptr_array_add
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void complete_all_pending_tasks (OstreeRepoFinderAvahi *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1022,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1026,1
    - Dst: g_main_context_is_owner
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1026,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1028,1
    - Dst: ostree_avahi_resolver_event_to_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1029,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1034,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1039,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1044,1
    - Dst: g_ptr_array_remove_fast
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1048,1
    - Dst: ostree_avahi_service_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1055,1
    - Dst: g_warning
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1060,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1056,1
    - Dst: avahi_client_errno
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1061,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1056,1
    - Dst: avahi_strerror
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1061,1
    - Dst: maybe_complete_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1065,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 13
    argNames:
    - resolver
    - interface
    - protocol
    - event
    - name
    - type
    - domain
    - host_name
    - address
    - port
    - txt
    - flags
    - finder_ptr
    argTypes:
    - AvahiServiceResolver*
    - AvahiIfIndex
    - AvahiProtocol
    - AvahiResolverEvent
    - char*
    - char*
    - char*
    - char*
    - AvahiAddress*
    - uint16_t
    - AvahiStringList*
    - AvahiLookupResultFlags
    - void*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1066
    functionName: resolve_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - avahi_strerror
    - avahi_client_errno
    - g_assert
    - g_hash_table_remove
    - g_warning
    - g_debug
    - g_main_context_is_owner
    - g_steal_pointer
    - ostree_avahi_service_new
    - ostree_avahi_resolver_event_to_string
    - maybe_complete_all_pending_tasks
    - g_hash_table_lookup
    - g_ptr_array_remove_fast
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void resolve_cb (AvahiServiceResolver *resolver, AvahiIfIndex
      interface, AvahiProtocol protocol, AvahiResolverEvent event, const char *name,
      const char *type, const char *domain, const char *host_name, const AvahiAddress
      *address, uint16_t port, AvahiStringList *txt, AvahiLookupResultFlags flags,
      void *finder_ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1355,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1356,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1363,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1366,1
    - Dst: OSTREE_IS_REPO_FINDER_AVAHI
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1355,1
    - Dst: avahi_client_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1368,1
    - Dst: avahi_glib_poll_get
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1368,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1373,1
    - Dst: avahi_strerror
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1374,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1376,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1388,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1397,1
    - Dst: avahi_service_browser_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1383,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1395,1
    - Dst: avahi_client_errno
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1389,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1394,1
    - Dst: avahi_strerror
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1389,1
    - Dst: avahi_strerror
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeRepoFinderAvahi*
    - GError**
    constantsTouched: []
    func_position:
      end: 1400
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1400
    functionName: ostree_repo_finder_avahi_start
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_set_error
    - avahi_strerror
    - avahi_client_errno
    - g_assert
    - avahi_glib_poll_get
    - avahi_service_browser_new
    - g_cancellable_set_error_if_cancelled
    - avahi_client_new
    - g_steal_pointer
    - OSTREE_IS_REPO_FINDER_AVAHI
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_finder_avahi_start (OstreeRepoFinderAvahi *self,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - AvahiClientState
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: ostree_avahi_client_state_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *ostree_avahi_client_state_to_string (AvahiClientState
      state) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - AvahiBrowserEvent
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: ostree_avahi_browser_event_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *ostree_avahi_browser_event_to_string (AvahiBrowserEvent
      event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_islower
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: str_is_lowercase
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_ascii_islower
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean str_is_lowercase (const gchar *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_loop
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:421,1
    - Dst: ostree_validate_rev
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:426,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:433,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:428,1
    - Dst: g_hash_table_contains
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:431,1
    - Dst: g_hash_table_replace
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:435,1
    - Dst: ostree_collection_ref_dup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:435,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:436,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - summary_map
    - collection_id
    - refs_and_checksums
    - /* (element-type OstreeCollectionRef utf8) */
    - error
    argTypes:
    - GVariantIter*
    - gchar*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 441
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 441
    functionName: fill_refs_and_checksums_from_summary_map
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - ostree_validate_structureof_csum_v
    - ostree_validate_rev
    - g_steal_pointer
    - g_hash_table_replace
    - ostree_checksum_from_bytes_v
    - ostree_collection_ref_dup
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fill_refs_and_checksums_from_summary_map ( GVariantIter
      *summary_map, const gchar *collection_id, GHashTable *refs_and_checksums /*
      (element-type OstreeCollectionRef utf8) */, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_result_compare
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 899
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 899
    functionName: results_compare_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - ostree_repo_finder_result_compare
    linkageType: ''
    returnType: gint
    signature: 'static gint results_compare_cb (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1229,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1230,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1230,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - finder
    - result
    - error
    argTypes:
    - OstreeRepoFinder*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1231
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1231
    functionName: ostree_repo_finder_avahi_resolve_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *ostree_repo_finder_avahi_resolve_finish (OstreeRepoFinder
      *finder, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1308,1
    - Dst: avahi_set_allocator
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1321,1
    - Dst: g_main_context_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1313,1
    - Dst: avahi_glib_allocator
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1321,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1315,1
    - Dst: avahi_glib_poll_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1322,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1326
    functionName: ostree_repo_finder_avahi_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_main_context_ref
    - avahi_glib_allocator
    - g_main_context_ref_thread_default
    - g_steal_pointer
    - avahi_set_allocator
    - avahi_glib_poll_new
    linkageType: ''
    returnType: OstreeRepoFinderAvahi*
    signature: 'OstreeRepoFinderAvahi *ostree_repo_finder_avahi_new (GMainContext
      *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1210,1
    - Dst: g_task_get_source_object
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1211,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1214,1
    - Dst: g_main_context_is_owner
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1213,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1213,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1218,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1218,1
    - Dst: maybe_complete_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1222
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1222
    functionName: add_resolve_task_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_task_get_source_object
    - G_TASK
    - g_assert
    - g_debug
    - g_main_context_is_owner
    - maybe_complete_all_pending_tasks
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_resolve_task_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:198,1
    - Dst: g_str_hash
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: uri_and_keyring_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint uri_and_keyring_hash (gconstpointer key) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1136,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1140,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1138,1
    - Dst: g_main_context_is_owner
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1138,1
    - Dst: ostree_avahi_browser_event_to_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1141,1
    - Dst: browse_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1148,1
    - Dst: browse_remove
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1152,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1168,1
    - Dst: maybe_complete_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 9
    argNames:
    - browser
    - interface
    - protocol
    - event
    - name
    - type
    - domain
    - flags
    - finder_ptr
    argTypes:
    - AvahiServiceBrowser*
    - AvahiIfIndex
    - AvahiProtocol
    - AvahiBrowserEvent
    - char*
    - char*
    - char*
    - AvahiLookupResultFlags
    - void*
    constantsTouched: []
    func_position:
      end: 1174
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1174
    functionName: browse_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_assert
    - browse_new
    - ostree_avahi_browser_event_to_string
    - g_assert_not_reached
    - g_debug
    - g_main_context_is_owner
    - maybe_complete_all_pending_tasks
    - browse_remove
    linkageType: ''
    returnType: void
    signature: 'static void browse_cb (AvahiServiceBrowser *browser, AvahiIfIndex
      interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name,
      const char *type, const char *domain, AvahiLookupResultFlags flags, void *finder_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:174,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:176,1
    - Dst: ostree_remote_unref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - UriAndKeyring*
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: uri_and_keyring_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_free
    - ostree_remote_unref
    linkageType: ''
    returnType: void
    signature: 'static void uri_and_keyring_free (UriAndKeyring *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:206,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: uri_and_keyring_equal
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean uri_and_keyring_equal (gconstpointer a, gconstpointer
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:843,1
    - Dst: ostree_collection_ref_freev
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:844,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - ResolveData*
    constantsTouched: []
    func_position:
      end: 846
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 846
    functionName: resolve_data_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - ostree_collection_ref_freev
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void resolve_data_free (ResolveData *data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_build
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:753,1
    - Dst: g_uri_to_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:755,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:788,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:796,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:802,1
    - Dst: ostree_repo_finder_result_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:828,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:812,1
    - Dst: g_variant_get_uint64
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:830,1
    - Dst: uri_and_keyring_to_name
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:808,1
    - Dst: uri_and_keyring_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:782,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:790,1
    - Dst: _ostree_txt_records_lookup_variant
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:699,1
    - Dst: g_variant_get_byte
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:704,1
    - Dst: _ostree_txt_records_lookup_variant
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:731,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:734,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:726,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:742,1
    - Dst: g_variant_get_uint16
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:745,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:749,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:760,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:770,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:800,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:822,1
    - Dst: OSTREE_REPO_FINDER
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:829,1
    - Dst: ostree_repo_resolve_keyring_for_collection
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:765,1
    - Dst: GUINT16_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:745,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:745,1
    - Dst: g_uri_unref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:756,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:772,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:815,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:790,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:811,1
    - Dst: get_checksums
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:819,1
    - Dst: ostree_remote_new_dynamic
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:809,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:693,1
    - Dst: g_variant_get_byte
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:701,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:694,1
    - Dst: _ostree_txt_records_parse
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:696,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:703,1
    - Dst: _ostree_txt_records_lookup_variant
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:709,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:709,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:713,1
    - Dst: bloom_refs_intersection
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:717,1
    - Dst: _ostree_txt_records_lookup_variant
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:739,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:778,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:816,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:830,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:817,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:827,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:784,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:823,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:720,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 7
    argNames:
    - service
    - finder
    - parent_repo
    - priority
    - refs
    - results
    - cancellable
    argTypes:
    - OstreeAvahiService*
    - OstreeRepoFinderAvahi*
    - OstreeRepo*
    - gint
    - OstreeCollectionRef**
    - GPtrArray*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 832
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 832
    functionName: ostree_avahi_service_build_repo_finder_result
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_key_file_set_boolean
    - g_clear_pointer
    - _ostree_txt_records_parse
    - g_hash_table_insert
    - uri_and_keyring_new
    - g_hash_table_iter_next
    - g_clear_error
    - g_steal_pointer
    - g_uri_to_string
    - g_variant_get_uint64
    - _ostree_txt_records_lookup_variant
    - ostree_remote_new_dynamic
    - g_uri_unref
    - g_ptr_array_index
    - OSTREE_REPO_FINDER
    - bloom_refs_intersection
    - g_strdup_printf
    - ostree_repo_resolve_keyring_for_collection
    - g_hash_table_iter_init
    - GUINT64_FROM_BE
    - g_hash_table_new_full
    - g_ptr_array_add
    - g_key_file_set_string
    - G_VARIANT_TYPE
    - g_strdup
    - get_checksums
    - g_variant_get_uint16
    - g_debug
    - GUINT16_FROM_BE
    - uri_and_keyring_to_name
    - ostree_repo_finder_result_new
    - g_variant_get_byte
    - g_hash_table_lookup
    - g_uri_build
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void ostree_avahi_service_build_repo_finder_result (OstreeAvahiService
      *service, OstreeRepoFinderAvahi *finder, OstreeRepo *parent_repo, gint priority,
      const OstreeCollectionRef *const *refs, GPtrArray *results, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1000,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1006,1
    - Dst: ostree_avahi_client_state_to_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1006,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1004,1
    - Dst: g_main_context_is_owner
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1004,1
    - Dst: maybe_complete_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1011,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - client
    - state
    - finder_ptr
    argTypes:
    - AvahiClient*
    - AvahiClientState
    - void*
    constantsTouched: []
    func_position:
      end: 1012
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1012
    functionName: client_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_assert
    - g_debug
    - g_main_context_is_owner
    - maybe_complete_all_pending_tasks
    - ostree_avahi_client_state_to_string
    linkageType: ''
    returnType: void
    signature: 'static void client_cb (AvahiClient *client, AvahiClientState state,
      void *finder_ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1110,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1116,1
    - Dst: g_main_context_is_owner
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1110,1
    - Dst: g_hash_table_remove
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1112,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1120,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - OstreeRepoFinderAvahi*
    - char*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1127
    functionName: browse_remove
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_strcmp0
    - g_ptr_array_index
    - g_hash_table_remove
    - g_main_context_is_owner
    - g_ptr_array_remove_index_fast
    linkageType: ''
    returnType: void
    signature: 'static void browse_remove (OstreeRepoFinderAvahi *self, const char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FINDER_AVAHI
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1185,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1191,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1190,1
    - Dst: g_task_set_task_data
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1194,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1188,1
    - Dst: resolve_data_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1194,1
    - Dst: g_main_context_invoke
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1198,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1198,1
    - Dst: g_task_return_new_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - finder
    - refs
    - parent_repo
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepoFinder*
    - OstreeCollectionRef**
    - OstreeRepo*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1203
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1203
    functionName: ostree_repo_finder_avahi_resolve_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - resolve_data_new
    - g_task_set_task_data
    - OSTREE_REPO_FINDER_AVAHI
    - g_task_new
    - g_task_set_source_tag
    - g_debug
    - g_steal_pointer
    - g_task_return_new_error
    - g_main_context_invoke
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_avahi_resolve_async (OstreeRepoFinder
      *finder, const OstreeCollectionRef *const *refs, OstreeRepo *parent_repo, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FINDER_AVAHI
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1439,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1444,1
    - Dst: maybe_complete_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1442,1
    - Dst: g_cancellable_cancel
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1441,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1445,1
    - Dst: g_hash_table_remove_all
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1449
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1449
    functionName: stop_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - OSTREE_REPO_FINDER_AVAHI
    - g_clear_pointer
    - g_hash_table_remove_all
    - g_cancellable_cancel
    - maybe_complete_all_pending_tasks
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean stop_cb (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_escape_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:214,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:227,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:219,1
    - Dst: g_uri_escape_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:216,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:227,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - UriAndKeyring*
    constantsTouched: []
    func_position:
      end: 230
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 230
    functionName: uri_and_keyring_to_name
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_uri_escape_string
    - ostree_validate_remote_name
    - g_steal_pointer
    - g_strdup_printf
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *uri_and_keyring_to_name (UriAndKeyring *data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avahi_address_snprint
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:266,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:272,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:271,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:277,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - address
    - interface
    argTypes:
    - AvahiAddress*
    - AvahiIfIndex
    constantsTouched: []
    func_position:
      end: 279
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 279
    functionName: address_to_string
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_strdup
    - avahi_address_snprint
    - g_strdup_printf
    - IN6_IS_ADDR_LINKLOCAL
    - IN6_IS_ADDR_LOOPBACK
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *address_to_string (const AvahiAddress *address, AvahiIfIndex
      interface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:522,1
    - Dst: g_variant_is_normal_form
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:526,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:523,1
    - Dst: g_variant_is_of_type
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:531,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:528,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:533,1
    - Dst: fill_refs_and_checksums_from_summary
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:538,1
    - Dst: g_hash_table_foreach_remove
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:542,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:544,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:549,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:551,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - summary_bytes
    - supported_ref_to_checksum
    - /* (element-type OstreeCollectionRef utf8) */
    - remote
    - error
    argTypes:
    - GBytes*
    - GHashTable*
    - OstreeRemote*
    - GError**
    constantsTouched: []
    func_position:
      end: 557
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 557
    functionName: get_refs_and_checksums_from_summary
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_is_normal_form
    - g_hash_table_size
    - g_variant_new_from_bytes
    - fill_refs_and_checksums_from_summary
    - g_debug
    - g_variant_ref_sink
    - g_set_error_literal
    - g_variant_is_of_type
    - g_hash_table_foreach_remove
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_refs_and_checksums_from_summary ( GBytes *summary_bytes,
      GHashTable *supported_ref_to_checksum /* (element-type OstreeCollectionRef utf8)
      */, OstreeRemote *remote, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fetch_summary_from_remote
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:639,1
    - Dst: get_refs_and_checksums_from_summary
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:648,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:644,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 5
    argNames:
    - finder
    - repo
    - remote
    - supported_ref_to_checksum
    - /* (element-type OstreeCollectionRef utf8) */
    - error
    argTypes:
    - OstreeRepoFinderAvahi*
    - OstreeRepo*
    - OstreeRemote*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 650
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 650
    functionName: get_checksums
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_set_error
    - get_refs_and_checksums_from_summary
    - fetch_summary_from_remote
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_checksums (OstreeRepoFinderAvahi *finder, OstreeRepo
      *repo, OstreeRemote *remote, GHashTable *supported_ref_to_checksum /* (element-type
      OstreeCollectionRef utf8) */, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:975,1
    - Dst: g_main_context_is_owner
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:975,1
    - Dst: ostree_avahi_client_state_to_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:978,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:979,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:976,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:980,1
    - Dst: fail_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:983,1
    - Dst: avahi_strerror
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:984,1
    - Dst: avahi_client_errno
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:984,1
    - Dst: fail_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:986,1
    - Dst: fail_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:989,1
    - Dst: g_hash_table_size
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:991,1
    - Dst: complete_all_pending_tasks
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:992,1
    - Dst: avahi_client_errno
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:987,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:988,1
    - Dst: avahi_strerror
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:987,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFinderAvahi*
    constantsTouched: []
    func_position:
      end: 993
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 993
    functionName: maybe_complete_all_pending_tasks
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - avahi_strerror
    - avahi_client_errno
    - g_assert
    - g_hash_table_size
    - fail_all_pending_tasks
    - complete_all_pending_tasks
    - g_cancellable_is_cancelled
    - g_debug
    - g_main_context_is_owner
    - ostree_avahi_client_state_to_string
    linkageType: ''
    returnType: void
    signature: 'static void maybe_complete_all_pending_tasks (OstreeRepoFinderAvahi
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeRepoFinderInterface*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1270
    functionName: ostree_repo_finder_avahi_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_avahi_iface_init (OstreeRepoFinderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:287,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:288,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:289,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:292,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:290,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:294,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:295,1
    - Dst: address_to_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:296,1
    - Dst: avahi_string_list_copy
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:298,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - name
    - domain
    - address
    - interface
    - port
    - txt
    argTypes:
    - gchar*
    - gchar*
    - AvahiAddress*
    - AvahiIfIndex
    - guint16
    - AvahiStringList*
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: ostree_avahi_service_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - address_to_string
    - avahi_string_list_copy
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeAvahiService*
    signature: 'static OstreeAvahiService *ostree_avahi_service_new (const gchar *name,
      const gchar *domain, const AvahiAddress *address, AvahiIfIndex interface, guint16
      port, AvahiStringList *txt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:855,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:857,1
    - Dst: ostree_collection_ref_dupv
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:856,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - refs
    - parent_repo
    argTypes:
    - OstreeCollectionRef**
    - OstreeRepo*
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: resolve_data_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_ref
    - g_new0
    - ostree_collection_ref_dupv
    linkageType: ''
    returnType: ResolveData*
    signature: 'static ResolveData *resolve_data_new (const OstreeCollectionRef *const
      *refs, OstreeRepo *parent_repo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1276,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1281,1
    - Dst: g_cancellable_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1277,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-avahi.c:1280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFinderAvahi*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1283
    functionName: ostree_repo_finder_avahi_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_cancellable_new
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_avahi_init (OstreeRepoFinderAvahi *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: remove_null_checksum_refs_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-avahi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean remove_null_checksum_refs_cb (gpointer key, gpointer
      value, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ostree_gpg_verify_result_initable_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_gpg_verify_result_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeGpgVerifyResult*
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: ostree_gpg_verify_result_count_valid
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached:
    - g_critical
    linkageType: ''
    returnType: guint
    signature: 'guint ostree_gpg_verify_result_count_valid (OstreeGpgVerifyResult
      *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - result
    - key_id
    - out_signature_index
    argTypes:
    - OstreeGpgVerifyResult*
    - gchar*
    - guint*
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: ostree_gpg_verify_result_lookup
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached:
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_gpg_verify_result_lookup (OstreeGpgVerifyResult *result,
      const gchar *key_id, guint *out_signature_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:187,1
    - Dst: OSTREE_IS_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:187,1
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - result
    - signature_index
    argTypes:
    - OstreeGpgVerifyResult*
    - guint
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: ostree_gpg_verify_result_get_all
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached:
    - g_critical
    - g_return_val_if_fail
    - OSTREE_IS_GPG_VERIFY_RESULT
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_gpg_verify_result_get_all (OstreeGpgVerifyResult
      *result, guint signature_index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - OstreeGpgVerifyResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ostree_gpg_verify_result_require_valid_signature
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_gpg_verify_result_require_valid_signature (OstreeGpgVerifyResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - OstreeGpgVerifyResultClass*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ostree_gpg_verify_result_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_gpg_verify_result_class_init (OstreeGpgVerifyResultClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeGpgVerifyResult*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ostree_gpg_verify_result_init
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_gpg_verify_result_init (OstreeGpgVerifyResult *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - OstreeGpgVerifyResult*
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: ostree_gpg_verify_result_count_all
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached:
    - g_critical
    linkageType: ''
    returnType: guint
    signature: 'guint ostree_gpg_verify_result_count_all (OstreeGpgVerifyResult *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - result
    - signature_index
    - attrs
    - n_attrs
    argTypes:
    - OstreeGpgVerifyResult*
    - guint
    - OstreeGpgSignatureAttr*
    - guint
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: ostree_gpg_verify_result_get
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached:
    - g_critical
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *ostree_gpg_verify_result_get (OstreeGpgVerifyResult *result,
      guint signature_index, OstreeGpgSignatureAttr *attrs, guint n_attrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:220,1
    - Dst: OSTREE_IS_GPG_VERIFY_RESULT
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:220,1
    - Dst: ostree_gpg_verify_result_describe_variant
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:226,1
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:222,1
    - Dst: ostree_gpg_verify_result_get_all
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - result
    - signature_index
    - output_buffer
    - line_prefix
    - flags
    argTypes:
    - OstreeGpgVerifyResult*
    - guint
    - GString*
    - gchar*
    - OstreeGpgSignatureFormatFlags
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: ostree_gpg_verify_result_describe
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached:
    - OSTREE_IS_GPG_VERIFY_RESULT
    - g_critical
    - ostree_gpg_verify_result_describe_variant
    - ostree_gpg_verify_result_get_all
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_gpg_verify_result_describe (OstreeGpgVerifyResult *result,
      guint signature_index, GString *output_buffer, const gchar *line_prefix, OstreeGpgSignatureFormatFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:250,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:256,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:256,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:251,1
    - Dst: g_variant_get_type_string
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:255,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:258,1
    - Dst: g_critical
      Src: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - variant
    - output_buffer
    - line_prefix
    - flags
    argTypes:
    - GVariant*
    - GString*
    - gchar*
    - OstreeGpgSignatureFormatFlags
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: ostree_gpg_verify_result_describe_variant
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verify-result-dummy.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_variant_get_type_string
    - g_critical
    - strcmp
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_gpg_verify_result_describe_variant (GVariant *variant,
      GString *output_buffer, const gchar *line_prefix, OstreeGpgSignatureFormatFlags
      flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:100,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:106,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:109,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:103,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:111,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:113,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:116,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - normal_dir
    - early_dir
    - late_dir
    - error
    argTypes:
    - char*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 122
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 122
    functionName: require_internal_units
    functionSourceFile: /src/ostree/src/libostree/ostree-impl-system-generator.c
    functionUses: []
    functionsReached:
    - symlinkat
    - glnx_opendirat
    - glnx_shutil_mkdir_p_at
    - glnx_throw
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean require_internal_units (const char *normal_dir, const
      char *early_dir, const char *late_dir, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 87
    functionName: path_kill_slashes
    functionSourceFile: /src/ostree/src/libostree/ostree-impl-system-generator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *path_kill_slashes (char *path) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_parse_bootlink_aboot
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:172,1
    - Dst: _ostree_sysroot_parse_bootlink
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:175,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:197,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:217,1
    - Dst: symlinkat
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:272,1
    - Dst: setmntent
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:179,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:176,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:173,1
    - Dst: getmntent
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:190,1
    - Dst: is_path
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:193,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:213,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:192,1
    - Dst: path_kill_slashes
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:194,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:260,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:184,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:222,1
    - Dst: g_unix_output_stream_new
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:224,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:255,1
    - Dst: glnx_fchmod
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:257,1
    - Dst: g_output_stream_flush
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:253,1
    - Dst: g_output_stream_printf
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:240,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:269,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:273,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:277,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 45
    argCount: 6
    argNames:
    - ostree_target
    - is_aboot
    - normal_dir
    - early_dir
    - late_dir
    - error
    argTypes:
    - char*
    - bool
    - char*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 279
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 279
    functionName: fstab_generator
    functionSourceFile: /src/ostree/src/libostree/ostree-impl-system-generator.c
    functionUses: []
    functionsReached:
    - glnx_shutil_mkdir_p_at
    - glnx_throw
    - glnx_throw_errno_prefix
    - glnx_fchmod
    - _ostree_sysroot_parse_bootlink
    - g_output_stream_flush
    - g_unix_output_stream_new
    - setmntent
    - glnx_open_tmpfile_linkable_at
    - strcmp
    - g_output_stream_printf
    - getmntent
    - path_kill_slashes
    - glnx_opendirat
    - glnx_link_tmpfile_at
    - glnx_prefix_error
    - glnx_strjoina
    - g_strdup
    - _ostree_sysroot_parse_bootlink_aboot
    - symlinkat
    - g_clear_object
    - is_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fstab_generator (const char *ostree_target, const
      bool is_aboot, const char *normal_dir, const char *early_dir, const char *late_dir,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: is_path
    functionSourceFile: /src/ostree/src/libostree/ostree-impl-system-generator.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: 'static bool is_path (const char *p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:130,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:137,1
    - Dst: g_regex_new
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:136,1
    - Dst: g_once_init_enter
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:134,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:132,1
    - Dst: g_once_init_leave
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:138,1
    - Dst: g_regex_match
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:142,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:143,1
    - Dst: g_match_info_fetch
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - bootlink
    - out_osname
    - error
    argTypes:
    - char*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: _ostree_sysroot_parse_bootlink_aboot
    functionSourceFile: /src/ostree/src/libostree/ostree-impl-system-generator.c
    functionUses: []
    functionsReached:
    - glnx_readlinkat_malloc
    - g_once_init_enter
    - g_assert
    - glnx_prefix_error
    - g_once_init_leave
    - glnx_throw
    - g_match_info_fetch
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_sysroot_parse_bootlink_aboot (const char *bootlink,
      char **out_osname, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlinkat
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:288,1
    - Dst: read_proc_cmdline
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:304,1
    - Dst: touch_run_ostree
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:295,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:298,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:306,1
    - Dst: otcore_get_ostree_target
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:310,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:311,1
    - Dst: require_internal_units
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:320,1
    - Dst: fstab_generator
      Src: /src/ostree/src/libostree/ostree-impl-system-generator.c:322,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 4
    argNames:
    - normal_dir
    - early_dir
    - late_dir
    - error
    argTypes:
    - char*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 326
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 326
    functionName: _ostree_impl_system_generator
    functionSourceFile: /src/ostree/src/libostree/ostree-impl-system-generator.c
    functionUses: []
    functionsReached:
    - read_proc_cmdline
    - glnx_fstatat_allow_noent
    - require_internal_units
    - otcore_get_ostree_target
    - touch_run_ostree
    - glnx_prefix_error
    - glnx_throw
    - fstab_generator
    - unlinkat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_impl_system_generator (const char *normal_dir, const
      char *early_dir, const char *late_dir, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBlobReaderInterface*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: ostree_blob_reader_pem_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-pem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_blob_reader_pem_iface_init (OstreeBlobReaderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:99,1
    - Dst: g_object_class_install_property
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:110,1
    - Dst: g_param_spec_string
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeBlobReaderPemClass*
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: _ostree_blob_reader_pem_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-pem.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_string
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_blob_reader_pem_class_init (OstreeBlobReaderPemClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BLOB_READER_PEM
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:73,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:81,1
    - Dst: g_value_set_string
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: ostree_blob_reader_pem_get_property
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-pem.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - OSTREE_BLOB_READER_PEM
    linkageType: ''
    returnType: void
    signature: 'static void ostree_blob_reader_pem_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:123,1
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:125,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - base
    - label
    argTypes:
    - GInputStream*
    - gchar*
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: _ostree_blob_reader_pem_new
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-pem.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IS_INPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: OstreeBlobReaderPem*
    signature: 'OstreeBlobReaderPem *_ostree_blob_reader_pem_new (GInputStream *base,
      const gchar *label) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BLOB_READER_PEM
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:56,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:64,1
    - Dst: g_value_dup_string
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: ostree_blob_reader_pem_set_property
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-pem.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - OSTREE_BLOB_READER_PEM
    linkageType: ''
    returnType: void
    signature: 'static void ostree_blob_reader_pem_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BLOB_READER_PEM
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:89,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:93,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.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: ostree_blob_reader_pem_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-pem.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_free
    - OSTREE_BLOB_READER_PEM
    linkageType: ''
    returnType: void
    signature: 'static void ostree_blob_reader_pem_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBlobReaderPem*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: _ostree_blob_reader_pem_init
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-pem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_blob_reader_pem_init (OstreeBlobReaderPem *self) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:144,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:184,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:206,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:160,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:160,1
    - Dst: g_strrstr
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:163,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:178,1
    - Dst: g_data_input_stream_read_line
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:149,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:192,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:188,1
    - Dst: g_strstrip
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:153,1
    - Dst: g_strndup
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:165,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:171,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:171,1
    - Dst: g_strrstr
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:174,1
    - Dst: g_base64_decode_inplace
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:183,1
    - Dst: explicit_bzero
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:187,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:197,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:201,1
    - Dst: strncmp
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:176,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 47
    argCount: 4
    argNames:
    - stream
    - label
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - gchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 208
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 208
    functionName: _ostree_read_pem_block
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-pem.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_data_input_stream_read_line
    - g_strndup
    - explicit_bzero
    - g_assert_not_reached
    - g_base64_decode_inplace
    - g_steal_pointer
    - g_string_free
    - g_str_has_prefix
    - g_str_has_suffix
    - g_strrstr
    - g_bytes_new_take
    - g_set_error_literal
    - g_strstrip
    - strncmp
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *_ostree_read_pem_block (GDataInputStream *stream, gchar **label,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BLOB_READER_PEM
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:213,1
    - Dst: _ostree_read_pem_block
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:217,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:220,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:217,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:218,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:221,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-blob-reader-pem.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeBlobReader*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: ostree_blob_reader_pem_read_blob
    functionSourceFile: /src/ostree/src/libostree/ostree-blob-reader-pem.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_set_error
    - G_DATA_INPUT_STREAM
    - OSTREE_BLOB_READER_PEM
    - _ostree_read_pem_block
    - g_clear_pointer
    - g_steal_pointer
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *ostree_blob_reader_pem_read_blob (OstreeBlobReader *self,
      GCancellable *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:125,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:146,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:137,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:139,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:122,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:119,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:141,1
    - Dst: append_system_uenv
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:148,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:129,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:129,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:131,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:133,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:137,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:141,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:146,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:143,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:135,1
    - Dst: _ostree_sysroot_read_boot_loader_configs
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:109,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:117,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:133,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 5
    argNames:
    - self
    - bootversion
    - new_lines
    - cancellable
    - error
    argTypes:
    - OstreeBootloaderUboot*
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 154
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 154
    functionName: create_config_from_boot_loader_entries
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - ostree_bootconfig_parser_get
    - append_system_uenv
    - g_strdup_printf
    - _ostree_sysroot_read_boot_loader_configs
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean create_config_from_boot_loader_entries (OstreeBootloaderUboot
      *self, int bootversion, GPtrArray *new_lines, GCancellable *cancellable, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ostree_kernel_args_from_string
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:75,1
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:85,1
    - Dst: ostree_kernel_args_get_last_value
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:76,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:79,1
    - Dst: glnx_strjoina
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:84,1
    - Dst: glnx_fd_readall_utf8
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:89,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:92,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:95,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 5
    argNames:
    - self
    - bootargs
    - new_lines
    - cancellable
    - error
    argTypes:
    - OstreeBootloaderUboot*
    - char*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: append_system_uenv
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached:
    - ostree_kernel_args_get_last_value
    - glnx_fd_readall_utf8
    - ostree_kernel_args_from_string
    - glnx_strjoina
    - ot_openat_ignore_enoent
    - g_prefix_error
    - g_set_error_literal
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean append_system_uenv (OstreeBootloaderUboot *self, const
      char *bootargs, GPtrArray *new_lines, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_UBOOT
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:186,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:190,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:188,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: _ostree_bootloader_uboot_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - OSTREE_BOOTLOADER_UBOOT
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_uboot_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBootloaderInterface*
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: _ostree_bootloader_uboot_bootloader_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_uboot_bootloader_iface_init (OstreeBootloaderInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_UBOOT
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:49,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:52,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - bootloader
    - out_is_active
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: _ostree_bootloader_uboot_query
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached:
    - OSTREE_BOOTLOADER_UBOOT
    - glnx_fstatat_allow_noent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_uboot_query (OstreeBootloader *bootloader,
      gboolean *out_is_active, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_UBOOT
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:161,1
    - Dst: glnx_file_get_contents_utf8_at
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:164,1
    - Dst: create_config_from_boot_loader_entries
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:170,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:173,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:169,1
    - Dst: _ostree_sysroot_join_lines
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:174,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:175,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:176,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 5
    argNames:
    - bootloader
    - bootversion
    - new_deployments
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: _ostree_bootloader_uboot_write_config
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached:
    - strlen
    - glnx_file_replace_contents_at
    - _ostree_sysroot_join_lines
    - g_ptr_array_new_with_free_func
    - OSTREE_BOOTLOADER_UBOOT
    - g_strdup_printf
    - create_config_from_boot_loader_entries
    - glnx_file_get_contents_utf8_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_uboot_write_config (OstreeBootloader
      *bootloader, int bootversion, GPtrArray *new_deployments, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootloaderUboot*
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: _ostree_bootloader_uboot_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_uboot_init (OstreeBootloaderUboot *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - OstreeBootloaderUbootClass*
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: _ostree_bootloader_uboot_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_uboot_class_init (OstreeBootloaderUbootClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:217,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-bootloader-uboot.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - sysroot
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: _ostree_bootloader_uboot_new
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: OstreeBootloaderUboot*
    signature: 'OstreeBootloaderUboot *_ostree_bootloader_uboot_new (OstreeSysroot
      *sysroot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bootloader
    argTypes:
    - OstreeBootloader*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: _ostree_bootloader_uboot_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-uboot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_ostree_bootloader_uboot_get_name (OstreeBootloader
      *bootloader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:106,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - path_builder
    - component
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: append_path_component
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - g_steal_pointer
    linkageType: ''
    returnType: void
    signature: 'static void append_path_component (char **path_builder, const char
      *component) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:571,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:586,1
    - Dst: aic_defer_hardlink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:593,1
    - Dst: aic_import_file
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:589,1
    - Dst: aic_get_final_entry_hardlink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:585,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 6
    argNames:
    - ctx
    - parent
    - path
    - fi
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - OstreeMutableTree*
    - char*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 596
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 596
    functionName: aic_handle_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - aic_import_file
    - aic_get_final_entry_hardlink
    - g_file_info_get_attribute_uint64
    - aic_defer_hardlink
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_handle_file (OstreeRepoArchiveImportContext *ctx,
      OstreeMutableTree *parent, const char *path, GFileInfo *fi, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:737,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:740,1
    - Dst: aic_import_deferred_hardlinks_for
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:739,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 743
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 743
    functionName: aic_import_deferred_hardlinks
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - glnx_prefix_error
    - GLNX_HASH_TABLE_FOREACH_KV
    - aic_import_deferred_hardlinks_for
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_import_deferred_hardlinks (OstreeRepoArchiveImportContext
      *ctx, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:602,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:614,1
    - Dst: aic_handle_file
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:608,1
    - Dst: aic_handle_dir
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:605,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 7
    argCount: 6
    argNames:
    - ctx
    - parent
    - path
    - fi
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - OstreeMutableTree*
    - char*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 617
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 617
    functionName: aic_handle_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - aic_handle_dir
    - g_file_info_get_file_type
    - aic_handle_file
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_handle_entry (OstreeRepoArchiveImportContext *ctx,
      OstreeMutableTree *parent, const char *path, GFileInfo *fi, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:749,1
    - Dst: g_slice_free
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:751,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 752
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 752
    functionName: deferred_hardlink_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void deferred_hardlink_free (void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1197,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1207,1
    - Dst: write_directory_to_libarchive_recurse
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1199,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 6
    argNames:
    - self
    - opts
    - root
    - archive
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoExportArchiveOptions*
    - OstreeRepoFile*
    - void*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1211
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1211
    functionName: ostree_repo_export_tree_to_archive
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_hash_table_new_full
    - write_directory_to_libarchive_recurse
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_export_tree_to_archive (OstreeRepo *self, OstreeRepoExportArchiveOptions
      *opts, OstreeRepoFile *root, void *archive, GCancellable *cancellable, GError
      **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_path_split_validate
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:81,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:83,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - src
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 88
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 88
    functionName: path_relative
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_prefix_error
    - ot_util_path_split_validate
    linkageType: ''
    returnType: char*
    signature: 'static const char *path_relative (const char *src, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:182,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:195,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:187,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:198,1
    - Dst: ostree_mutable_tree_lookup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:183,1
    - Dst: ostree_mutable_tree_ensure_dir
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:200,1
    - Dst: _ostree_repo_write_directory_meta
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:204,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:207,1
    - Dst: ostree_mutable_tree_set_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:209,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:212,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 22
    argCount: 9
    argNames:
    - repo
    - parent
    - name
    - file_info
    - xattrs
    - error_if_exist
    - '/* XXX: remove if not needed */'
    - out_dir
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeMutableTree*
    - char*
    - GFileInfo*
    - GVariant*
    - gboolean
    - OstreeMutableTree**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 215
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 215
    functionName: mtree_ensure_dir_with_meta
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_checksum_from_bytes
    - g_object_ref
    - g_error_matches
    - ostree_mutable_tree_set_metadata_checksum
    - ostree_mutable_tree_lookup
    - g_clear_error
    - g_steal_pointer
    - _ostree_repo_write_directory_meta
    - ostree_mutable_tree_ensure_dir
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mtree_ensure_dir_with_meta (OstreeRepo *repo, OstreeMutableTree
      *parent, const char *name, GFileInfo *file_info, GVariant *xattrs, gboolean
      error_if_exist, /* XXX: remove if not needed */ OstreeMutableTree **out_dir,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path_relative
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:241,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:251,1
    - Dst: read_archive_entry_stat
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:242,1
    - Dst: path_relative_ostree
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:250,1
    - Dst: path_relative
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:251,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - path
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: aic_get_final_path
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - path_relative_ostree
    - g_strdup
    - read_archive_entry_stat
    - path_relative
    linkageType: ''
    returnType: char*
    signature: 'static inline char *aic_get_final_path (OstreeRepoArchiveImportContext
      *ctx, const char *path, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: archive_entry_hardlink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:271,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:283,1
    - Dst: g_assert_no_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:280,1
    - Dst: aic_get_final_path
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OstreeRepoArchiveImportContext*
    constantsTouched: []
    func_position:
      end: 284
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 284
    functionName: aic_get_final_entry_hardlink
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_assert_no_error
    - aic_get_final_path
    - archive_entry_hardlink
    linkageType: ''
    returnType: char*
    signature: 'static inline char *aic_get_final_entry_hardlink (OstreeRepoArchiveImportContext
      *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:503,1
    - Dst: ostree_checksum_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:514,1
    - Dst: ostree_raw_file_to_content_stream
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:506,1
    - Dst: ostree_repo_write_content
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:510,1
    - Dst: _ostree_libarchive_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:504,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - fi
    - xattrs
    - out_csum
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - GFileInfo*
    - GVariant*
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 516
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 516
    functionName: aic_write_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - ostree_checksum_from_bytes
    - g_file_info_get_file_type
    - _ostree_libarchive_input_stream_new
    - ostree_raw_file_to_content_stream
    - ostree_repo_write_content
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_write_file (OstreeRepoArchiveImportContext *ctx,
      GFileInfo *fi, GVariant *xattrs, char **out_csum, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:546,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:552,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:552,1
    - Dst: g_slist_append
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - hardlink
    - dh
    argTypes:
    - OstreeRepoArchiveImportContext*
    - char*
    - DeferredHardlink*
    constantsTouched: []
    func_position:
      end: 553
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 553
    functionName: aic_add_deferred_hardlink
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_slist_append
    - g_strdup
    - g_hash_table_lookup
    - g_hash_table_insert
    linkageType: ''
    returnType: void
    signature: 'static void aic_add_deferred_hardlink (OstreeRepoArchiveImportContext
      *ctx, const char *hardlink, DeferredHardlink *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:43,1
    - Dst: archive_error_string
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - error
    - a
    argTypes:
    - GError**
    - struct archive*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: propagate_libarchive_error
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_set_error
    - archive_error_string
    linkageType: ''
    returnType: void
    signature: 'static void propagate_libarchive_error (GError **error, struct archive
      *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path_relative
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:93,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:98,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:96,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:99,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:97,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - path
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: path_relative_ostree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_strdup
    - path_relative
    - g_str_has_prefix
    - strcmp
    - g_strconcat
    linkageType: ''
    returnType: char*
    signature: 'static char *path_relative_ostree (const char *path, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: archive_entry_pathname
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:257,1
    - Dst: squash_trailing_slashes
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:263,1
    - Dst: aic_get_final_path
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:258,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: aic_get_final_entry_pathname
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - squash_trailing_slashes
    - aic_get_final_path
    - archive_entry_pathname
    linkageType: ''
    returnType: char*
    signature: 'static inline char *aic_get_final_entry_pathname (OstreeRepoArchiveImportContext
      *ctx, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: archive_entry_pathname
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:295,1
    - Dst: file_info_from_archive_entry
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:303,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:299,1
    - Dst: _ostree_repo_commit_modifier_apply
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - relpath
    - out_file_info
    argTypes:
    - OstreeRepoArchiveImportContext*
    - char*
    - GFileInfo**
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: aic_apply_modifier_filter
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - _ostree_repo_commit_modifier_apply
    - archive_entry_pathname
    - file_info_from_archive_entry
    linkageType: ''
    returnType: OstreeRepoCommitFilterResult
    signature: 'static OstreeRepoCommitFilterResult aic_apply_modifier_filter (OstreeRepoArchiveImportContext
      *ctx, const char *relpath, GFileInfo **out_file_info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:522,1
    - Dst: aic_write_file
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:530,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:533,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:523,1
    - Dst: aic_get_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:527,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - parent
    - path
    - fi
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - OstreeMutableTree*
    - char*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 537
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 537
    functionName: aic_import_file
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - aic_write_file
    - aic_get_xattrs
    - ostree_mutable_tree_replace_file
    - glnx_basename
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_import_file (OstreeRepoArchiveImportContext *ctx,
      OstreeMutableTree *parent, const char *path, GFileInfo *fi, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:559,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:561,1
    - Dst: aic_add_deferred_hardlink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:564,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - parent
    - path
    - size
    - hardlink
    argTypes:
    - OstreeRepoArchiveImportContext*
    - OstreeMutableTree*
    - char*
    - guint64
    - char*
    constantsTouched: []
    func_position:
      end: 565
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 565
    functionName: aic_defer_hardlink
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - aic_add_deferred_hardlink
    - g_slice_new
    linkageType: ''
    returnType: void
    signature: 'static void aic_defer_hardlink (OstreeRepoArchiveImportContext *ctx,
      OstreeMutableTree *parent, const char *path, guint64 size, const char *hardlink) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_full
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 759
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 759
    functionName: deferred_hardlinks_list_free
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    linkageType: ''
    returnType: void
    signature: 'static void deferred_hardlinks_list_free (void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: archive_write_header
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1014,1
    - Dst: propagate_libarchive_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1016,1
    - Dst: archive_entry_free
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1022,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 3
    argNames:
    - a
    - entryp
    - error
    argTypes:
    - struct archive*
    - struct archive_entry**
    - GError**
    constantsTouched: []
    func_position:
      end: 1025
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1025
    functionName: write_header_free_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - archive_entry_free
    - archive_write_header
    - propagate_libarchive_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_header_free_entry (struct archive *a, struct
      archive_entry **entryp, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ostree_sepolicy_get_label
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:160,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:165,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:164,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 6
    argNames:
    - builder
    - sepolicy
    - path
    - mode
    - cancellable
    - error
    argTypes:
    - GVariantBuilder*
    - OstreeSePolicy*
    - char*
    - mode_t
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: builder_add_label
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - ostree_sepolicy_get_label
    - g_variant_new_bytestring
    - g_variant_builder_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean builder_add_label (GVariantBuilder *builder, OstreeSePolicy
      *sepolicy, const char *path, mode_t mode, GCancellable *cancellable, GError
      **error) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: archive_entry_new2
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1043,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1065,1
    - Dst: write_directory_to_libarchive_recurse
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1067,1
    - Dst: archive_entry_new2
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1077,1
    - Dst: archive_entry_set_hardlink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1105,1
    - Dst: archive_entry_set_symlink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1085,1
    - Dst: write_header_free_entry
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1106,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1114,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1114,1
    - Dst: ostree_repo_load_file
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1117,1
    - Dst: propagate_libarchive_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1154,1
    - Dst: g_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1143,1
    - Dst: file_to_archive_entry_common
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1078,1
    - Dst: write_header_free_entry
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1086,1
    - Dst: file_to_pathstr
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1103,1
    - Dst: ostree_repo_file_get_checksum
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1098,1
    - Dst: archive_entry_free
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1158,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1163,1
    - Dst: archive_entry_free
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1170,1
    - Dst: archive_write_data
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1139,1
    - Dst: g_file_query_info
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1038,1
    - Dst: write_header_free_entry
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1046,1
    - Dst: file_to_archive_entry_common
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1044,1
    - Dst: g_file_enumerate_children
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1049,1
    - Dst: g_file_info_get_file_type
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1081,1
    - Dst: archive_entry_set_size
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1121,1
    - Dst: archive_write_header
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1123,1
    - Dst: g_input_stream_read
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1132,1
    - Dst: g_file_enumerator_iterate
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1059,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1085,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1100,1
    - Dst: g_file_info_get_size
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1121,1
    - Dst: propagate_libarchive_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1125,1
    - Dst: propagate_libarchive_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1142,1
    - Dst: archive_write_finish_entry
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:1152,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 73
    argCount: 8
    argNames:
    - self
    - opts
    - root
    - dir
    - a
    - seen_checksums
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoExportArchiveOptions*
    - GFile*
    - GFile*
    - struct archive*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1172
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1172
    functionName: write_directory_to_libarchive_recurse
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - archive_write_data
    - g_file_info_get_symlink_target
    - write_header_free_entry
    - file_to_archive_entry_common
    - g_assert_not_reached
    - g_file_info_get_file_type
    - g_file_enumerator_iterate
    - archive_entry_set_hardlink
    - archive_write_header
    - archive_entry_free
    - g_input_stream_read
    - g_object_ref
    - g_file_enumerate_children
    - write_directory_to_libarchive_recurse
    - archive_write_finish_entry
    - archive_entry_new2
    - g_prefix_error
    - archive_entry_set_size
    - ostree_repo_file_get_checksum
    - g_file_query_info
    - propagate_libarchive_error
    - archive_entry_set_symlink
    - file_to_pathstr
    - ostree_repo_load_file
    - g_hash_table_lookup
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_directory_to_libarchive_recurse (OstreeRepo
      *self, OstreeRepoExportArchiveOptions *opts, GFile *root, GFile *dir, struct
      archive *a, GHashTable *seen_checksums, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:670,1
    - Dst: ostree_mutable_tree_walk
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:678,1
    - Dst: ostree_mutable_tree_lookup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:681,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:686,1
    - Dst: ot_util_path_split_validate
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:675,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:693,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - target
    - out_csum
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - char*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 695
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 695
    functionName: aic_lookup_file_csum
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ostree_mutable_tree_walk
    - ostree_mutable_tree_lookup
    - g_steal_pointer
    - ot_util_path_split_validate
    - glnx_basename
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_lookup_file_csum (OstreeRepoArchiveImportContext
      *ctx, const char *target, char **out_csum, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_open_archive_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:930,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:937,1
    - Dst: write_archive_to_mtree
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 7
    argNames:
    - self
    - fd
    - mtree
    - modifier
    - autocreate_parents
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - int
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 941
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 941
    functionName: ostree_repo_write_archive_to_mtree_from_fd
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_set_error
    - write_archive_to_mtree
    - ot_open_archive_read_fd
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_archive_to_mtree_from_fd (OstreeRepo *self,
      int fd, OstreeMutableTree *mtree, OstreeRepoCommitModifier *modifier, gboolean
      autocreate_parents, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_relative_path
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:948,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:961,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:957,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:952,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:958,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - root
    - opts
    - path
    argTypes:
    - GFile*
    - OstreeRepoExportArchiveOptions*
    - GFile*
    constantsTouched: []
    func_position:
      end: 962
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 962
    functionName: file_to_pathstr
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_steal_pointer
    - g_file_get_relative_path
    - g_strconcat
    linkageType: ''
    returnType: char*
    signature: 'static char *file_to_pathstr (GFile *root, OstreeRepoExportArchiveOptions
      *opts, GFile *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_next
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:707,1
    - Dst: aic_import_from_hardlink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:711,1
    - Dst: aic_lookup_file_csum
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:714,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:715,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:712,1
    - Dst: g_slist_next
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:718,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:721,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:726,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:727,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - target
    - hardlinks
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - char*
    - GSList*
    - GError**
    constantsTouched: []
    func_position:
      end: 731
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 731
    functionName: aic_import_deferred_hardlinks_for
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - aic_import_from_hardlink
    - g_slist_next
    - glnx_prefix_error
    - aic_lookup_file_csum
    - ostree_mutable_tree_replace_file
    - glnx_basename
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_import_deferred_hardlinks_for (OstreeRepoArchiveImportContext
      *ctx, const char *target, GSList *hardlinks, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:785,1
    - Dst: archive_read_next_header
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:798,1
    - Dst: _ostree_repo_setup_generate_sizes
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:794,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:807,1
    - Dst: propagate_libarchive_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:803,1
    - Dst: aic_import_entry
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:810,1
    - Dst: aic_import_deferred_hardlinks
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:814,1
    - Dst: ostree_mutable_tree_get_metadata_checksum
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:822,1
    - Dst: _ostree_stbuf_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:829,1
    - Dst: _ostree_repo_commit_modifier_apply
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:832,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:842,1
    - Dst: aic_ensure_parent_dir_with_file_info
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:834,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 24
    argCount: 7
    argNames:
    - self
    - opts
    - archive
    - mtree
    - modifier
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeRepoImportArchiveOptions*
    - void*
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 846
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 846
    functionName: ostree_repo_import_archive_to_mtree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - aic_import_deferred_hardlinks
    - g_set_error
    - _ostree_repo_setup_generate_sizes
    - _ostree_repo_commit_modifier_apply
    - _ostree_stbuf_to_gfileinfo
    - g_cancellable_set_error_if_cancelled
    - aic_import_entry
    - ostree_mutable_tree_get_metadata_checksum
    - aic_ensure_parent_dir_with_file_info
    - g_hash_table_new_full
    - archive_read_next_header
    - propagate_libarchive_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_import_archive_to_mtree (OstreeRepo *self, OstreeRepoImportArchiveOptions
      *opts, void *archive, OstreeMutableTree *mtree, OstreeRepoCommitModifier *modifier,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: file_to_pathstr
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:969,1
    - Dst: archive_entry_set_atime
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:976,1
    - Dst: archive_entry_set_ctime
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:974,1
    - Dst: archive_entry_set_mtime
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:975,1
    - Dst: archive_entry_update_pathname_utf8
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:973,1
    - Dst: archive_entry_set_uid
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:977,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:977,1
    - Dst: archive_entry_set_gid
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:978,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:978,1
    - Dst: archive_entry_set_mode
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:979,1
    - Dst: archive_entry_xattr_add_entry
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:999,1
    - Dst: ostree_repo_file_get_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:981,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:979,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:996,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:997,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:988,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 6
    argNames:
    - root
    - opts
    - path
    - file_info
    - entry
    - error
    argTypes:
    - GFile*
    - OstreeRepoExportArchiveOptions*
    - GFile*
    - GFileInfo*
    - struct archive_entry*
    - GError**
    constantsTouched: []
    func_position:
      end: 1006
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 1006
    functionName: file_to_archive_entry_common
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - ostree_repo_file_get_xattrs
    - archive_entry_update_pathname_utf8
    - archive_entry_set_ctime
    - file_to_pathstr
    - g_variant_get_fixed_array
    - g_variant_n_children
    - g_file_info_get_attribute_uint32
    - archive_entry_set_mtime
    - archive_entry_xattr_add_entry
    - g_variant_get_child
    - archive_entry_set_atime
    - archive_entry_set_mode
    - archive_entry_set_uid
    - archive_entry_set_gid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean file_to_archive_entry_common (GFile *root, OstreeRepoExportArchiveOptions
      *opts, GFile *path, GFileInfo *file_info, struct archive_entry *entry, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_archive_entry_stat
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:138,1
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:145,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:141,1
    - Dst: _ostree_stbuf_to_gfileinfo
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:140,1
    - Dst: archive_entry_symlink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:143,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct archive_entry*
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: file_info_from_archive_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - read_archive_entry_stat
    - S_ISLNK
    - g_steal_pointer
    - g_file_info_set_attribute_byte_string
    - archive_entry_symlink
    - _ostree_stbuf_to_gfileinfo
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *file_info_from_archive_entry (struct archive_entry
      *entry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:315,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:330,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:323,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:330,1
    - Dst: builder_add_label
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:326,1
    - Dst: mtree_ensure_dir_with_meta
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:331,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 13
    argCount: 7
    argNames:
    - ctx
    - parent
    - fullpath
    - file_info
    - out_dir
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - OstreeMutableTree*
    - char*
    - GFileInfo*
    - OstreeMutableTree**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 333
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 333
    functionName: aic_ensure_parent_dir_with_file_info
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - mtree_ensure_dir_with_meta
    - g_variant_builder_init
    - builder_add_label
    - g_variant_ref_sink
    - glnx_basename
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_ensure_parent_dir_with_file_info (OstreeRepoArchiveImportContext
      *ctx, OstreeMutableTree *parent, const char *fullpath, GFileInfo *file_info,
      OstreeMutableTree **out_dir, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aic_ensure_parent_dir
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:366,1
    - Dst: g_set_object
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:377,1
    - Dst: append_path_component
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:372,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:380,1
    - Dst: aic_ensure_parent_dir
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - components
    - out_subdir
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - GPtrArray*
    - OstreeMutableTree**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 382
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 382
    functionName: aic_create_parent_dirs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - aic_ensure_parent_dir
    - g_steal_pointer
    - g_set_object
    - append_path_component
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_create_parent_dirs (OstreeRepoArchiveImportContext
      *ctx, GPtrArray *components, OstreeMutableTree **out_subdir, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:482,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:483,1
    - Dst: aic_get_xattrs
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:486,1
    - Dst: mtree_ensure_dir_with_meta
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - parent
    - path
    - fi
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - OstreeMutableTree*
    - char*
    - GFileInfo*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 491
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 491
    functionName: aic_handle_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - aic_get_xattrs
    - glnx_basename
    - mtree_ensure_dir_with_meta
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_handle_dir (OstreeRepoArchiveImportContext *ctx,
      OstreeMutableTree *parent, const char *path, GFileInfo *fi, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aic_get_final_entry_pathname
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:622,1
    - Dst: aic_handle_entry
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:635,1
    - Dst: aic_get_parent_dir
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:632,1
    - Dst: aic_apply_modifier_filter
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:628,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 636
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 636
    functionName: aic_import_entry
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - aic_handle_entry
    - aic_get_parent_dir
    - aic_apply_modifier_filter
    - aic_get_final_entry_pathname
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_import_entry (OstreeRepoArchiveImportContext *ctx,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_import_archive_to_mtree
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:861,1
    - Dst: archive_read_close
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:873,1
    - Dst: archive_read_close
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:865,1
    - Dst: propagate_libarchive_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:867,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 7
    argNames:
    - self
    - archive
    - mtree
    - modifier
    - autocreate_parents
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OtAutoArchiveRead*
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 875
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 875
    functionName: write_archive_to_mtree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - ostree_repo_import_archive_to_mtree
    - archive_read_close
    - propagate_libarchive_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_archive_to_mtree (OstreeRepo *self, OtAutoArchiveRead
      *archive, OstreeMutableTree *mtree, OstreeRepoCommitModifier *modifier, gboolean
      autocreate_parents, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:340,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:350,1
    - Dst: archive_entry_gid
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:347,1
    - Dst: archive_entry_uid
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:346,1
    - Dst: g_file_info_new
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:348,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:351,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:352,1
    - Dst: aic_ensure_parent_dir_with_file_info
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - parent
    - fullpath
    - out_dir
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - OstreeMutableTree*
    - char*
    - OstreeMutableTree**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 356
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 356
    functionName: aic_ensure_parent_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - archive_entry_uid
    - archive_entry_gid
    - aic_ensure_parent_dir_with_file_info
    - g_file_info_new
    - g_file_info_set_attribute_uint32
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_ensure_parent_dir (OstreeRepoArchiveImportContext
      *ctx, OstreeMutableTree *parent, const char *fullpath, OstreeMutableTree **out_dir,
      GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_path_split_validate
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:389,1
    - Dst: ostree_mutable_tree_walk
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:398,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:401,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:394,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:406,1
    - Dst: aic_create_parent_dirs
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:407,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - path
    - out_dir
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - char*
    - OstreeMutableTree**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 411
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 411
    functionName: aic_get_parent_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - aic_create_parent_dirs
    - ostree_mutable_tree_walk
    - g_error_matches
    - g_clear_error
    - ot_util_path_split_validate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_get_parent_dir (OstreeRepoArchiveImportContext
      *ctx, const char *path, OstreeMutableTree **out_dir, GCancellable *cancellable,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:643,1
    - Dst: ostree_mutable_tree_lookup
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:648,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:651,1
    - Dst: ot_util_path_split_validate
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:653,1
    - Dst: glnx_basename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:644,1
    - Dst: ostree_mutable_tree_walk
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:656,1
    - Dst: ostree_mutable_tree_replace_file
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:659,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - target
    - dh
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - char*
    - DeferredHardlink*
    - GError**
    constantsTouched: []
    func_position:
      end: 663
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 663
    functionName: aic_import_from_hardlink
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_assert
    - ostree_mutable_tree_walk
    - ostree_mutable_tree_lookup
    - ot_util_path_split_validate
    - ostree_mutable_tree_replace_file
    - glnx_basename
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_import_from_hardlink (OstreeRepoArchiveImportContext
      *ctx, const char *target, DeferredHardlink *dh, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: squash_trailing_slashes
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void squash_trailing_slashes (char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: archive_entry_stat
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:126,1
    - Dst: archive_entry_hardlink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - stbuf
    argTypes:
    - struct archive_entry*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: read_archive_entry_stat
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - archive_entry_stat
    - archive_entry_hardlink
    linkageType: ''
    returnType: void
    signature: 'static void read_archive_entry_stat (struct archive_entry *entry,
      struct stat *stbuf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:417,1
    - Dst: archive_entry_xattr_reset
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:434,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:468,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:432,1
    - Dst: archive_entry_xattr_count
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:425,1
    - Dst: archive_entry_xattr_next
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:435,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:442,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:441,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:458,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:460,1
    - Dst: builder_add_label
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:462,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:472,1
    - Dst: archive_entry_pathname
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:446,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:466,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:469,1
    - Dst: ot_util_variant_builder_from_variant
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:432,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:418,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:437,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:437,1
    - Dst: g_variant_new_fixed_array
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:438,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:438,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:451,1
    - Dst: ot_util_variant_builder_from_variant
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:460,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 43
    argCount: 6
    argNames:
    - ctx
    - path
    - file_info
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - OstreeRepoArchiveImportContext*
    - char*
    - GFileInfo*
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 474
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 474
    functionName: aic_get_xattrs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - GLNX_AUTO_PREFIX_ERROR
    - G_VARIANT_TYPE
    - ot_util_variant_builder_from_variant
    - g_variant_unref
    - archive_entry_pathname
    - g_file_info_get_attribute_uint32
    - g_variant_builder_add
    - g_build_filename
    - archive_entry_xattr_reset
    - archive_entry_xattr_next
    - g_variant_new_fixed_array
    - g_steal_pointer
    - g_variant_new_bytestring
    - builder_add_label
    - archive_entry_xattr_count
    - g_variant_ref_sink
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean aic_get_xattrs (OstreeRepoArchiveImportContext *ctx,
      const char *path, GFileInfo *file_info, GVariant **out_xattrs, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_open_archive_read
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:897,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:897,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:904,1
    - Dst: write_archive_to_mtree
      Src: /src/ostree/src/libostree/ostree-repo-libarchive.c:899,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 7
    argNames:
    - self
    - archive
    - mtree
    - modifier
    - autocreate_parents
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - OstreeMutableTree*
    - OstreeRepoCommitModifier*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 908
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 908
    functionName: ostree_repo_write_archive_to_mtree
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-libarchive.c
    functionUses: []
    functionsReached:
    - g_set_error
    - write_archive_to_mtree
    - ot_open_archive_read
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_write_archive_to_mtree (OstreeRepo *self, GFile
      *archive, OstreeMutableTree *mtree, OstreeRepoCommitModifier *modifier, gboolean
      autocreate_parents, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uri_and_keyring_to_name
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:114,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:116,1
    - Dst: ostree_repo_remote_list_collection_refs
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:119,1
    - Dst: _ostree_repo_add_remote
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:118,1
    - Dst: ostree_remote_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:115,1
    - Dst: _ostree_repo_remove_remote
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 5
    argNames:
    - repo
    - remote_uri
    - out_all_refs
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gchar*
    - GHashTable**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: repo_remote_list_collection_refs
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - ostree_repo_remote_list_collection_refs
    - uri_and_keyring_to_name
    - ostree_remote_new
    - _ostree_repo_add_remote
    - _ostree_repo_remove_remote
    - g_key_file_set_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean repo_remote_list_collection_refs (OstreeRepo *repo,
      const gchar *remote_uri, GHashTable **out_all_refs, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_escape_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:90,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:94,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:102,1
    - Dst: g_uri_escape_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:91,1
    - Dst: ostree_validate_remote_name
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:102,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - uri
    - keyring
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: uri_and_keyring_to_name
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - g_uri_escape_string
    - ostree_validate_remote_name
    - g_steal_pointer
    - g_strdup_printf
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *uri_and_keyring_to_name (const gchar *uri, const gchar
      *keyring) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:246,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:247,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:247,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - finder
    - result
    - error
    argTypes:
    - OstreeRepoFinder*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: ostree_repo_finder_override_resolve_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *ostree_repo_finder_override_resolve_finish (OstreeRepoFinder
      *finder, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_REPO_FINDER_OVERRIDE
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:259,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:261,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: ostree_repo_finder_override_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - OSTREE_REPO_FINDER_OVERRIDE
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_override_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: ostree_repo_finder_override_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeRepoFinderOverride*
    signature: 'OstreeRepoFinderOverride *ostree_repo_finder_override_new (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:145,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:187,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:205,1
    - Dst: ostree_remote_new_dynamic
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:201,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:208,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:214,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:218,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:229,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:234,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:148,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:146,1
    - Dst: repo_remote_list_collection_refs
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:162,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:167,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:183,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:194,1
    - Dst: ostree_remote_ref
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:214,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:237,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:239,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:151,1
    - Dst: ostree_repo_resolve_keyring_for_collection
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:176,1
    - Dst: g_key_file_set_string
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:204,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:206,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:212,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:219,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:224,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:233,1
    - Dst: ostree_repo_finder_result_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:234,1
    - Dst: OSTREE_REPO_FINDER_OVERRIDE
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:134,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:144,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:165,1
    - Dst: uri_and_keyring_to_name
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:200,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:181,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:239,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 6
    argNames:
    - finder
    - refs
    - parent_repo
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepoFinder*
    - OstreeCollectionRef**
    - OstreeRepo*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 240
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 240
    functionName: ostree_repo_finder_override_resolve_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - g_key_file_set_boolean
    - g_ptr_array_new_with_free_func
    - g_hash_table_insert
    - g_task_set_source_tag
    - g_hash_table_iter_next
    - g_ptr_array_sort
    - g_clear_error
    - g_steal_pointer
    - OSTREE_REPO_FINDER_OVERRIDE
    - ostree_remote_new_dynamic
    - ostree_remote_ref
    - g_hash_table_lookup_extended
    - ostree_repo_resolve_keyring_for_collection
    - g_hash_table_iter_init
    - g_task_return_pointer
    - g_hash_table_new_full
    - g_ptr_array_add
    - g_key_file_set_string
    - g_strdup
    - g_task_new
    - g_debug
    - uri_and_keyring_to_name
    - ostree_repo_finder_result_new
    - repo_remote_list_collection_refs
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_override_resolve_async (OstreeRepoFinder
      *finder, const OstreeCollectionRef *const *refs, OstreeRepo *parent_repo, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFinderOverride*
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: ostree_repo_finder_override_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_override_init (OstreeRepoFinderOverride
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeRepoFinderOverrideClass*
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: ostree_repo_finder_override_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_override_class_init (OstreeRepoFinderOverrideClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_result_compare
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: results_compare_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - ostree_repo_finder_result_compare
    linkageType: ''
    returnType: gint
    signature: 'static gint results_compare_cb (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeRepoFinderInterface*
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: ostree_repo_finder_override_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_override_iface_init (OstreeRepoFinderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:307,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:310,1
    - Dst: OSTREE_IS_REPO_FINDER_OVERRIDE
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:307,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:308,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-override.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - self
    - uri
    argTypes:
    - OstreeRepoFinderOverride*
    - gchar*
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: ostree_repo_finder_override_add_uri
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-override.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_add
    - OSTREE_IS_REPO_FINDER_OVERRIDE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_repo_finder_override_add_uri (OstreeRepoFinderOverride
      *self, const gchar *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 56
    functionName: _OstreeDeployment
    functionSourceFile: /src/ostree/src/libostree/ostree-deployment-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS /** * OstreeDeployment: * @parent_instance: * @index:
      Global offset * @osname: * @csum: OSTree checksum of tree * @deployserial: How
      many times this particular csum appears in deployment list * @bootcsum: Checksum
      of kernel+initramfs * @bootserial: An integer assigned to this tree per its
      ${bootcsum} * @bootconfig: Bootloader configuration * @origin: How to construct
      an upgraded version of this tree * @unlocked: The unlocked state * @staged:
      TRUE iff this deployment is staged * @overlay_initrds: Checksums of staged additional
      initrds for this deployment * @overlay_initrds_id: Unique ID generated from
      initrd checksums; used to compare deployments */ struct _OstreeDeployment '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_journal_send
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:174,1
    - Dst: SD_ID128_FORMAT_VAL
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - remote_name
    - url
    - msg
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: _ostree_fetcher_journal_failure
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-util.c
    functionUses: []
    functionsReached:
    - SD_ID128_FORMAT_VAL
    - ot_journal_send
    linkageType: ''
    returnType: void
    signature: 'void _ostree_fetcher_journal_failure (const char *remote_name, const
      char *url, const char *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:158,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:159,1
    - Dst: _ostree_fetcher_mirrored_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:160,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 4
    argCount: 13
    argNames:
    - fetcher
    - uri
    - flags
    - if_none_match
    - if_modified_since
    - n_network_retries
    - out_contents
    - out_not_modified
    - out_etag
    - out_last_modified
    - max_size
    - cancellable
    - error
    argTypes:
    - OstreeFetcher*
    - OstreeFetcherURI*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - guint
    - GBytes**
    - gboolean*
    - char**
    - guint64*
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: _ostree_fetcher_request_uri_to_membuf
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-util.c
    functionUses: []
    functionsReached:
    - _ostree_fetcher_mirrored_request_to_membuf
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_request_uri_to_membuf (OstreeFetcher *fetcher,
      OstreeFetcherURI *uri, OstreeFetcherRequestFlags flags, const char *if_none_match,
      guint64 if_modified_since, guint n_network_retries, GBytes **out_contents, gboolean
      *out_not_modified, char **out_etag, guint64 *out_last_modified, guint64 max_size,
      GCancellable *cancellable, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:65,1
    - Dst: g_main_context_new
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:72,1
    - Dst: memset
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:67,1
    - Dst: g_main_context_push_thread_default
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:73,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:69,1
    - Dst: g_main_context_ref
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:75,1
    - Dst: _ostree_fetcher_request_to_membuf
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:79,1
    - Dst: g_main_context_iteration
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:83,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:89,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:91,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:117,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:118,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:116,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:106,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:115,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:110,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 13
    argNames:
    - fetcher
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - out_contents
    - out_not_modified
    - out_etag
    - out_last_modified
    - max_size
    - cancellable
    - error
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - GBytes**
    - gboolean*
    - char**
    - guint64*
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 120
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 120
    functionName: _ostree_fetcher_mirrored_request_to_membuf_once
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-util.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - _ostree_fetcher_request_to_membuf
    - g_main_context_ref
    - g_assert
    - g_clear_pointer
    - g_error_matches
    - g_cancellable_set_error_if_cancelled
    - memset
    - g_clear_error
    - g_steal_pointer
    - g_main_context_iteration
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_fetcher_mirrored_request_to_membuf_once (
      OstreeFetcher *fetcher, GPtrArray *mirrorlist, const char *filename, OstreeFetcherRequestFlags
      flags, const char *if_none_match, guint64 if_modified_since, GBytes **out_contents,
      gboolean *out_not_modified, char **out_etag, guint64 *out_last_modified, guint64
      max_size, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - status_code
    - should_retry
    argTypes:
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: _ostree_fetcher_http_status_code_to_io_error
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GIOErrorEnum
    signature: 'GIOErrorEnum _ostree_fetcher_http_status_code_to_io_error (guint status_code,
      gboolean should_retry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_fetcher_request_to_membuf_finish
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:48,1
    - Dst: g_main_context_wakeup
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: fetch_uri_sync_on_complete
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-util.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    - _ostree_fetcher_request_to_membuf_finish
    linkageType: ''
    returnType: void
    signature: 'static void fetch_uri_sync_on_complete (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:136,1
    - Dst: _ostree_fetcher_should_retry_request
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:142,1
    - Dst: _ostree_fetcher_mirrored_request_to_membuf_once
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:137,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:145,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:144,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:145,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 9
    argCount: 14
    argNames:
    - fetcher
    - mirrorlist
    - filename
    - flags
    - if_none_match
    - if_modified_since
    - n_network_retries
    - out_contents
    - out_not_modified
    - out_etag
    - out_last_modified
    - max_size
    - cancellable
    - error
    argTypes:
    - OstreeFetcher*
    - GPtrArray*
    - char*
    - OstreeFetcherRequestFlags
    - char*
    - guint64
    - guint
    - GBytes**
    - gboolean*
    - char**
    - guint64*
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: _ostree_fetcher_mirrored_request_to_membuf
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-util.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_error
    - g_steal_pointer
    - _ostree_fetcher_should_retry_request
    - g_propagate_error
    - _ostree_fetcher_mirrored_request_to_membuf_once
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_mirrored_request_to_membuf (OstreeFetcher
      *fetcher, GPtrArray *mirrorlist, const char *filename, OstreeFetcherRequestFlags
      flags, const char *if_none_match, guint64 if_modified_since, guint n_network_retries,
      GBytes **out_contents, gboolean *out_not_modified, char **out_etag, guint64
      *out_last_modified, guint64 max_size, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:192,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:194,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:203,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:202,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:201,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:204,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:205,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:206,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:207,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:209,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:212,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:214,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-fetcher-util.c:211,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - error
    - n_retries_remaining
    argTypes:
    - GError*
    - guint
    constantsTouched: []
    func_position:
      end: 220
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 220
    functionName: _ostree_fetcher_should_retry_request
    functionSourceFile: /src/ostree/src/libostree/ostree-fetcher-util.c
    functionUses: []
    functionsReached:
    - GLIB_CHECK_VERSION
    - g_debug
    - g_error_matches
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_fetcher_should_retry_request (const GError *error,
      guint n_retries_remaining) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_finder_result_compare
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: results_compare_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-config.c
    functionUses: []
    functionsReached:
    - ostree_repo_finder_result_compare
    linkageType: ''
    returnType: gint
    signature: 'static gint results_compare_cb (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:203,1
    - Dst: g_task_propagate_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:204,1
    - Dst: G_TASK
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:204,1
    - Dst: g_task_is_valid
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - finder
    - result
    - error
    argTypes:
    - OstreeRepoFinder*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: ostree_repo_finder_config_resolve_finish
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-config.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *ostree_repo_finder_config_resolve_finish (OstreeRepoFinder
      *finder, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeRepoFinderConfigClass*
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: ostree_repo_finder_config_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-config.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_config_class_init (OstreeRepoFinderConfigClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeRepoFinderConfig*
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: ostree_repo_finder_config_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-config.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_config_init (OstreeRepoFinderConfig
      *self) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:106,1
    - Dst: ostree_repo_get_remote_option
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:118,1
    - Dst: ostree_validate_collection_id
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:120,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:122,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:133,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:140,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:153,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:131,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:145,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:165,1
    - Dst: g_task_return_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:196,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:170,1
    - Dst: _ostree_repo_get_remote_inherited
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:183,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:124,1
    - Dst: ostree_repo_remote_list_collection_refs
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:128,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:155,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:149,1
    - Dst: g_strcmp0
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:139,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:159,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:160,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:172,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:186,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:190,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:194,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:196,1
    - Dst: g_task_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:96,1
    - Dst: ostree_repo_remote_list
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:104,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:100,1
    - Dst: g_task_set_source_tag
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:97,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:98,1
    - Dst: ostree_repo_finder_result_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:190,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 6
    argNames:
    - finder
    - refs
    - parent_repo
    - cancellable
    - callback
    - user_data
    argTypes:
    - OstreeRepoFinder*
    - OstreeCollectionRef**
    - OstreeRepo*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 197
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 197
    functionName: ostree_repo_finder_config_resolve_async
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-config.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - ostree_repo_remote_list_collection_refs
    - g_task_set_source_tag
    - g_hash_table_insert
    - g_hash_table_iter_next
    - g_clear_error
    - g_ptr_array_sort
    - g_steal_pointer
    - ostree_repo_get_remote_option
    - g_strcmp0
    - g_hash_table_lookup_extended
    - ostree_validate_collection_id
    - _ostree_repo_get_remote_inherited
    - ostree_repo_remote_list
    - g_hash_table_iter_init
    - g_task_return_pointer
    - g_hash_table_new_full
    - g_ptr_array_add
    - g_strdup
    - g_task_new
    - g_debug
    - ostree_repo_finder_result_new
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_config_resolve_async (OstreeRepoFinder
      *finder, const OstreeCollectionRef *const *refs, OstreeRepo *parent_repo, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeRepoFinderInterface*
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: ostree_repo_finder_config_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-config.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ostree_repo_finder_config_iface_init (OstreeRepoFinderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-repo-finder-config.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: ostree_repo_finder_config_new
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-finder-config.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeRepoFinderConfig*
    signature: 'OstreeRepoFinderConfig *ostree_repo_finder_config_new (void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:795,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:825,1
    - Dst: g_variant_dict_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:796,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:802,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:826,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:834,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:835,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:879,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 2
    argNames:
    - superblock
    - out_was_heuristic
    argTypes:
    - GVariant*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 885
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 885
    functionName: _ostree_delta_get_endianness
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child_value
    - g_assert_not_reached
    - g_variant_get_size
    - g_variant_get_child
    - g_variant_dict_new
    - g_variant_dict_lookup
    linkageType: ''
    returnType: OstreeDeltaEndianness
    signature: 'OstreeDeltaEndianness _ostree_delta_get_endianness (GVariant *superblock,
      gboolean *out_was_heuristic) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:955,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:969,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:957,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:976,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:982,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1007,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:987,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1011,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1014,1
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1054,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1063,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1093,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1084,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1109,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1074,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1115,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1118,1
    - Dst: _ostree_get_relative_static_delta_superblock_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:968,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1059,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1062,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1077,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1078,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1106,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1107,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1095,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1096,1
    - Dst: show_one_part
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1100,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:964,1
    - Dst: _ostree_repo_static_delta_is_signed
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:973,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:994,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1003,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:993,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:998,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1000,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1013,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1049,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1053,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1086,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1065,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1054,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1108,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1085,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:980,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:981,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1002,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:996,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1010,1
    - Dst: _ostree_delta_get_endianness
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1022,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1046,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1057,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1076,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1083,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1058,1
    - Dst: ostree_checksum_bytes_peek
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1075,1
    - Dst: g_format_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1116,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1075,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1117,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 105
    argCount: 4
    argNames:
    - self
    - delta_id
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1122
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 1122
    functionName: _ostree_repo_static_delta_dump
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - g_variant_get_child_value
    - g_format_size
    - g_variant_get_child
    - ostree_checksum_bytes_peek_validate
    - ot_variant_read_fd
    - g_assert_not_reached
    - show_one_part
    - maybe_swap_endian_u64
    - ostree_checksum_from_bytes_v
    - strchr
    - _ostree_delta_get_endianness
    - g_print
    - g_variant_get_data_as_bytes
    - _ostree_repo_static_delta_is_signed
    - glnx_openat_rdonly
    - GUINT64_FROM_BE
    - _ostree_parse_delta_name
    - g_variant_get_size
    - _ostree_get_relative_static_delta_superblock_path
    - g_variant_n_children
    - g_variant_new_from_bytes
    - ostree_checksum_bytes_peek
    - ostree_checksum_inplace_from_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_static_delta_dump (OstreeRepo *self, const char
      *delta_id, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_delta_get_endianness
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - superblock
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 899
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: _ostree_delta_needs_byteswap
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - _ostree_delta_get_endianness
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_delta_needs_byteswap (GVariant *superblock) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:109,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:98,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:156,1
    - Dst: g_string_free
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:156,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:160,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:93,1
    - Dst: ostree_checksum_b64_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:145,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:152,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:116,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:122,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:133,1
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:143,1
    - Dst: ostree_checksum_b64_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:151,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:87,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:134,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:139,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:140,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:153,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:146,1
    - Dst: g_string_append_c
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:150,1
    - Dst: g_string_append
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:147,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 39
    argCount: 4
    argNames:
    - self
    - out_deltas
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 162
    functionName: ostree_repo_list_static_delta_names
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - glnx_fstatat_allow_noent
    - g_ptr_array_new_with_free_func
    - g_string_append_c
    - strchr
    - g_string_free
    - ot_transfer_out_value
    - glnx_dirfd_iterator_init_at
    - ostree_checksum_inplace_from_bytes
    - g_strconcat
    - g_ptr_array_add
    - ot_dfd_iter_init_allow_noent
    - ostree_checksum_b64_inplace_to_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_list_static_delta_names (OstreeRepo *self, GPtrArray
      **out_deltas, GCancellable *cancellable, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:181,1
    - Dst: ot_dfd_iter_init_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:187,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:192,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:209,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:203,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:212,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:219,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:231,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:231,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:231,1
    - Dst: g_string_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:234,1
    - Dst: ostree_checksum_b64_inplace_to_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:240,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:243,1
    - Dst: g_string_append_len
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:235,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:243,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:241,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:247,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 36
    argCount: 4
    argNames:
    - self
    - out_indexes
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 249
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 249
    functionName: ostree_repo_list_static_delta_indexes
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_string_new
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - g_ptr_array_new_with_free_func
    - g_str_has_suffix
    - ot_transfer_out_value
    - glnx_dirfd_iterator_init_at
    - g_string_append_len
    - ostree_checksum_inplace_from_bytes
    - g_ptr_array_add
    - ot_dfd_iter_init_allow_noent
    - ostree_checksum_b64_inplace_to_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_list_static_delta_indexes (OstreeRepo *self,
      GPtrArray **out_indexes, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:907,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:920,1
    - Dst: _ostree_get_relative_static_delta_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:910,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:916,1
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:912,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:923,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 4
    argNames:
    - self
    - delta_id
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 927
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 927
    functionName: _ostree_repo_static_delta_delete
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _ostree_get_relative_static_delta_path
    - fstatat
    - glnx_shutil_rm_rf_at
    - glnx_throw_errno_prefix
    - _ostree_parse_delta_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_static_delta_delete (OstreeRepo *self, const
      char *delta_id, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_static_delta_parse_checksum_array
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:260,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:273,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:270,1
    - Dst: ostree_validate_structureof_objtype
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:270,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:275,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 5
    argNames:
    - repo
    - checksum_array
    - out_have_all
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GVariant*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 287
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 287
    functionName: _ostree_repo_static_delta_part_have_all_objects
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - ostree_validate_structureof_objtype
    - G_UNLIKELY
    - _ostree_static_delta_parse_checksum_array
    - ostree_repo_has_object
    - ostree_checksum_inplace_from_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_static_delta_part_have_all_objects (OstreeRepo
      *repo, GVariant *checksum_array, gboolean *out_have_all, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:936,1
    - Dst: _ostree_get_relative_static_delta_superblock_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:939,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:940,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 5
    argNames:
    - self
    - delta_id
    - out_exists
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 945
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 945
    functionName: _ostree_repo_static_delta_query_exists
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - _ostree_parse_delta_name
    - glnx_fstatat_allow_noent
    - _ostree_get_relative_static_delta_superblock_path
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_static_delta_query_exists (OstreeRepo *self,
      const char *delta_id, gboolean *out_exists, GCancellable *cancellable, GError
      **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1146,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1155,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1148,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1159,1
    - Dst: _ostree_get_relative_static_delta_superblock_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1158,1
    - Dst: _ostree_repo_static_delta_is_signed
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1163,1
    - Dst: _ostree_repo_static_delta_verify_signature
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1166,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    argCount: 5
    argNames:
    - self
    - delta_id
    - sign
    - out_success_message
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - OstreeSign*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 1168
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1168
    functionName: ostree_repo_static_delta_verify_signature
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - _ostree_repo_static_delta_is_signed
    - glnx_openat_rdonly
    - _ostree_repo_static_delta_verify_signature
    - strchr
    - _ostree_parse_delta_name
    - _ostree_get_relative_static_delta_superblock_path
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_static_delta_verify_signature (OstreeRepo *self,
      const char *delta_id, OstreeSign *sign, char **out_success_message, GError **error) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_write_config
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1244,1
    - Dst: _ostree_parse_delta_name
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1286,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1289,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1273,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1296,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1302,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1322,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1324,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1328,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1340,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1352,1
    - Dst: _ostree_repo_static_delta_superblock_digest
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1332,1
    - Dst: file_has_content
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1363,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1369,1
    - Dst: _ostree_get_relative_static_delta_index_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1304,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1310,1
    - Dst: ostree_repo_auto_lock_push
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1231,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1264,1
    - Dst: ostree_validate_checksum_string
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1269,1
    - Dst: ot_ensure_unlinked_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1311,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1368,1
    - Dst: g_variant_dict_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1347,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1349,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1367,1
    - Dst: ostree_repo_copy_config
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1242,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1236,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1263,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1264,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1281,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1295,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1292,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1296,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1299,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1299,1
    - Dst: g_variant_dict_insert_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1342,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1353,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1366,1
    - Dst: g_variant_dict_end
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1350,1
    - Dst: g_key_file_set_boolean
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1243,1
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1248,1
    - Dst: ostree_repo_list_static_delta_indexes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1258,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1273,1
    - Dst: ostree_repo_list_static_delta_names
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1276,1
    - Dst: g_strconcat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1338,1
    - Dst: g_path_get_dirname
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1355,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1356,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1352,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 88
    argCount: 5
    argNames:
    - repo
    - flags
    - opt_to_commit
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - OstreeStaticDeltaIndexFlags
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1375
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1375
    functionName: ostree_repo_static_delta_reindex
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - g_key_file_set_boolean
    - glnx_file_replace_contents_at
    - GLNX_HASH_TABLE_FOREACH_KV
    - g_ptr_array_new_with_free_func
    - ostree_validate_checksum_string
    - g_hash_table_insert
    - g_ptr_array_sort
    - glnx_shutil_mkdir_p_at
    - g_path_get_dirname
    - g_steal_pointer
    - g_bytes_get_size
    - ostree_repo_copy_config
    - g_variant_dict_init
    - strcmp
    - g_strconcat
    - g_variant_get_data_as_bytes
    - ot_keyfile_get_boolean_with_default
    - g_bytes_get_data
    - ostree_repo_write_config
    - g_ptr_array_index
    - ostree_repo_auto_lock_push
    - ostree_repo_list_static_delta_indexes
    - g_variant_dict_insert_value
    - g_hash_table_new_full
    - g_variant_ref_sink
    - _ostree_parse_delta_name
    - g_ptr_array_add
    - g_strdup
    - ostree_repo_list_static_delta_names
    - _ostree_get_relative_static_delta_index_path
    - g_variant_dict_end
    - file_has_content
    - g_debug
    - ot_ensure_unlinked_at
    - g_hash_table_lookup
    - _ostree_repo_static_delta_superblock_digest
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_static_delta_reindex (OstreeRepo *repo, OstreeStaticDeltaIndexFlags
      flags, const char *opt_to_commit, GCancellable *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GUINT64_FROM_BE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:312,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:328,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:332,1
    - Dst: g_variant_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:334,1
    - Dst: g_variant_get_string
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:327,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:304,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:308,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:326,1
    - Dst: g_variant_get_uint64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:312,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:310,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:315,1
    - Dst: g_variant_iter_init
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:323,1
    - Dst: g_variant_iter_next_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:324,1
    - Dst: ot_transfer_out_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:338,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:332,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:313,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:317,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:320,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:332,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 4
    argNames:
    - self
    - fd
    - out_value
    - error
    argTypes:
    - OstreeRepo*
    - int
    - GPtrArray**
    - GError**
    constantsTouched: []
    func_position:
      end: 341
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 341
    functionName: _ostree_repo_static_delta_is_signed
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_iter_next_value
    - g_strdup
    - ot_variant_read_fd
    - g_ptr_array_new_with_free_func
    - g_variant_iter_init
    - g_variant_get_child_value
    - g_variant_unref
    - g_str_has_prefix
    - ot_transfer_out_value
    - glnx_throw
    - GUINT64_FROM_BE
    - g_variant_get_string
    - g_ptr_array_add
    - g_variant_get_uint64
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_static_delta_is_signed (OstreeRepo *self,
      int fd, GPtrArray **out_value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_static_delta_execute_offline_with_signature
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - self
    - dir_or_file
    - skip_validation
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 633
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 633
    functionName: ostree_repo_static_delta_execute_offline
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - ostree_repo_static_delta_execute_offline_with_signature
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_static_delta_execute_offline (OstreeRepo *self,
      GFile *dir_or_file, gboolean skip_validation, GCancellable *cancellable, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_get_relative_static_delta_part_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:736,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:753,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:776,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:775,1
    - Dst: _ostree_static_delta_part_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:756,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:743,1
    - Dst: maybe_swap_endian_u64
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:742,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:750,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:752,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:747,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:773,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:775,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:776,1
    - Dst: _ostree_static_delta_part_execute
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:778,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:783,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:771,1
    - Dst: g_print
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:746,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:741,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 10
    argNames:
    - self
    - swap_endian
    - from
    - to
    - meta_entries
    - i
    - total_size_ref
    - total_usize_ref
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - gboolean
    - char*
    - char*
    - GVariant*
    - guint
    - guint64*
    - guint64*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 790
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 790
    functionName: show_one_part
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - glnx_throw_errno_prefix
    - g_variant_n_children
    - g_unix_input_stream_new
    - openat
    - g_variant_get
    - maybe_swap_endian_u64
    - _ostree_static_delta_part_open
    - _ostree_static_delta_part_execute
    - g_variant_get_child
    - _ostree_get_relative_static_delta_part_path
    - g_print
    - g_variant_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean show_one_part (OstreeRepo *self, gboolean swap_endian,
      const char *from, const char *to, GVariant *meta_entries, guint i, guint64 *total_size_ref,
      guint64 *total_usize_ref, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:349,1
    - Dst: ostree_sign_metadata_key
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:354,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:356,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:358,1
    - Dst: ostree_sign_metadata_format
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:355,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:360,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:362,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:365,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:367,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:368,1
    - Dst: ostree_sign_data_verify
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:370,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 5
    argNames:
    - self
    - fd
    - sign
    - out_success_message
    - error
    argTypes:
    - OstreeRepo*
    - int
    - OstreeSign*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 371
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 371
    functionName: _ostree_repo_static_delta_verify_signature
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - ot_variant_read_fd
    - ostree_sign_metadata_format
    - g_variant_get_child_value
    - ostree_sign_data_verify
    - ostree_sign_metadata_key
    - g_variant_lookup_value
    - glnx_throw
    - g_variant_get_data_as_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_repo_static_delta_verify_signature (OstreeRepo
      *self, int fd, OstreeSign *sign, char **out_success_message, GError **error) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:424,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:452,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:447,1
    - Dst: _ostree_repo_static_delta_verify_signature
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:443,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:461,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:462,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:467,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:486,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:487,1
    - Dst: ostree_validate_structureof_csum_v
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:494,1
    - Dst: _ostree_repo_static_delta_part_have_all_objects
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:554,1
    - Dst: _ostree_static_delta_part_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:587,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:598,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:503,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:578,1
    - Dst: ostree_repo_write_metadata
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:523,1
    - Dst: glnx_opendirat_with_errno
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:404,1
    - Dst: g_path_get_basename
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:413,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:420,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:422,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:460,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:492,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:496,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:498,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:548,1
    - Dst: _ostree_get_relative_static_delta_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:514,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:551,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:574,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:594,1
    - Dst: _ostree_static_delta_part_execute
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:605,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:522,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:516,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:401,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:411,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:432,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:437,1
    - Dst: _ostree_repo_static_delta_is_signed
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:426,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:447,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:456,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:467,1
    - Dst: ostree_checksum_from_bytes_v
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:489,1
    - Dst: ostree_repo_has_object
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:507,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:596,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:574,1
    - Dst: ostree_checksum_inplace_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:567,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:593,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:535,1
    - Dst: _ostree_static_delta_part_open
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:600,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:530,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:531,1
    - Dst: dirname
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:412,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:408,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:415,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:474,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:491,1
    - Dst: ostree_repo_write_commit_detached_metadata
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:518,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:529,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:534,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:547,1
    - Dst: _ostree_get_relative_static_delta_part_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:570,1
    - Dst: ostree_checksum_bytes_peek_validate
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:564,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:607,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:516,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:577,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 122
    argCount: 6
    argNames:
    - self
    - dir_or_file
    - sign
    - skip_validation
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - GFile*
    - OstreeSign*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 611
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 611
    functionName: ostree_repo_static_delta_execute_offline_with_signature
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - ostree_validate_structureof_csum_v
    - g_path_get_basename
    - g_variant_get_child_value
    - _ostree_repo_static_delta_part_have_all_objects
    - g_steal_pointer
    - g_memory_input_stream_new_from_bytes
    - ostree_repo_write_commit_detached_metadata
    - glnx_throw
    - gs_file_get_path_cached
    - glnx_throw_errno_prefix
    - dirname
    - g_propagate_error
    - ostree_checksum_bytes_peek_validate
    - _ostree_get_relative_static_delta_part_path
    - ostree_repo_write_metadata
    - ot_variant_read_fd
    - g_unix_input_stream_new
    - _ostree_static_delta_part_execute
    - ostree_checksum_from_bytes_v
    - g_variant_get_data_as_bytes
    - ot_keyfile_get_boolean_with_default
    - glnx_opendirat_with_errno
    - glnx_opendirat
    - _ostree_get_relative_static_delta_path
    - g_variant_get
    - _ostree_repo_static_delta_is_signed
    - _ostree_static_delta_part_open
    - g_strdup_printf
    - g_variant_lookup_value
    - ostree_repo_has_object
    - glnx_prefix_error
    - openat
    - g_strdup
    - G_VARIANT_TYPE
    - g_variant_n_children
    - g_variant_new_from_bytes
    - _ostree_repo_static_delta_verify_signature
    - ostree_checksum_inplace_from_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_repo_static_delta_execute_offline_with_signature (OstreeRepo
      *self, GFile *dir_or_file, OstreeSign *sign, gboolean skip_validation, GCancellable
      *cancellable, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:680,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:681,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:688,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:687,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:695,1
    - Dst: ot_map_anonymous_tmpfile_from_content
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:702,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:723,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:667,1
    - Dst: _ostree_lzma_decompressor_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:700,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:707,1
    - Dst: g_checksum_get_string
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:716,1
    - Dst: strcmp
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:718,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:644,1
    - Dst: ostree_checksum_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:653,1
    - Dst: g_checksum_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:652,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:677,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:691,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:706,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:711,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:717,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:719,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:645,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:644,1
    - Dst: g_input_stream_read_all
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:666,1
    - Dst: g_checksum_update
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:695,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:690,1
    - Dst: g_variant_new_from_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:689,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:695,1
    - Dst: g_converter_input_stream_new
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:701,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 7
    argNames:
    - part_in
    - inline_part_bytes
    - flags
    - expected_checksum
    - out_part
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GBytes*
    - OstreeStaticDeltaOpenFlags
    - char*
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 725
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 725
    functionName: _ostree_static_delta_part_open
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - g_checksum_get_string
    - g_steal_pointer
    - G_IS_FILE_DESCRIPTOR_BASED
    - g_input_stream_read_all
    - glnx_throw
    - g_return_val_if_fail
    - g_bytes_get_size
    - ot_variant_read_fd
    - ostree_checksum_input_stream_new
    - g_bytes_new_from_bytes
    - g_checksum_update
    - strcmp
    - g_variant_get_data
    - g_checksum_new
    - g_converter_input_stream_new
    - glnx_prefix_error
    - g_variant_ref_sink
    - g_variant_get_size
    - G_VARIANT_TYPE
    - g_assert
    - g_variant_new_from_bytes
    - _ostree_lzma_decompressor_new
    - ot_map_anonymous_tmpfile_from_content
    - g_file_descriptor_based_get_fd
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_static_delta_part_open (GInputStream *part_in, GBytes
      *inline_part_bytes, OstreeStaticDeltaOpenFlags flags, const char *expected_checksum,
      GVariant **out_part, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_get_relative_static_delta_superblock_path
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:56,1
    - Dst: ot_gvariant_new_bytearray
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:69,1
    - Dst: ot_checksum_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:67,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:60,1
    - Dst: ot_fd_readall_or_mmap
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:63,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 5
    argNames:
    - repo
    - from
    - to
    - cancellable
    - error
    argTypes:
    - OstreeRepo*
    - char*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: _ostree_repo_static_delta_superblock_digest
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - ot_checksum_bytes
    - ot_gvariant_new_bytearray
    - ot_fd_readall_or_mmap
    - glnx_openat_rdonly
    - _ostree_get_relative_static_delta_superblock_path
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *_ostree_repo_static_delta_superblock_digest (OstreeRepo
      *repo, const char *from, const char *to, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - array
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1175
    functionName: null_or_ptr_array_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    linkageType: ''
    returnType: void
    signature: 'static void null_or_ptr_array_unref (GPtrArray *array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:36,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:45,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:39,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:42,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - array
    - out_checksums_array
    - out_n_checksums
    - error
    argTypes:
    - GVariant*
    - guint8**
    - guint*
    - GError**
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: _ostree_static_delta_parse_checksum_array
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - G_UNLIKELY
    - g_variant_get_data
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_static_delta_parse_checksum_array (GVariant *array,
      guint8 **out_checksums_array, guint *out_n_checksums, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fstatat
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1183,1
    - Dst: glnx_fd_readall_bytes
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1192,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1189,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1186,1
    - Dst: g_bytes_equal
      Src: /src/ostree/src/libostree/ostree-repo-static-delta-core.c:1196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - repo
    - subpath
    - data
    - cancellable
    argTypes:
    - OstreeRepo*
    - char*
    - GBytes*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1197
    functionName: file_has_content
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-static-delta-core.c
    functionUses: []
    functionsReached:
    - g_bytes_equal
    - glnx_fstatat
    - glnx_openat_rdonly
    - glnx_fd_readall_bytes
    - g_bytes_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean file_has_content (OstreeRepo *repo, const char *subpath,
      GBytes *data, GCancellable *cancellable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/ostree/src/libostree/ostree-rollsum.c:40,1
    - Dst: MIN
      Src: /src/ostree/src/libostree/ostree-rollsum.c:55,1
    - Dst: bupsplit_find_ofs
      Src: /src/ostree/src/libostree/ostree-rollsum.c:51,1
    - Dst: MIN
      Src: /src/ostree/src/libostree/ostree-rollsum.c:51,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-rollsum.c:42,1
    - Dst: MIN
      Src: /src/ostree/src/libostree/ostree-rollsum.c:61,1
    - Dst: crc32
      Src: /src/ostree/src/libostree/ostree-rollsum.c:65,1
    - Dst: crc32
      Src: /src/ostree/src/libostree/ostree-rollsum.c:69,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-rollsum.c:71,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-rollsum.c:71,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-rollsum.c:72,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-rollsum.c:76,1
    - Dst: GUINT_TO_POINTER
      Src: /src/ostree/src/libostree/ostree-rollsum.c:72,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-rollsum.c:75,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-rollsum.c:78,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/src/libostree/ostree-rollsum.c:76,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 86
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 86
    functionName: rollsum_chunks_crc32
    functionSourceFile: /src/ostree/src/libostree/ostree-rollsum.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_ptr_array_new_with_free_func
    - MIN
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - g_variant_ref_sink
    - g_variant_new
    - g_hash_table_new_full
    - bupsplit_find_ofs
    - g_hash_table_lookup
    - crc32
    - g_ptr_array_add
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *rollsum_chunks_crc32 (GBytes *bytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-rollsum.c:121,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-rollsum.c:125,1
    - Dst: rollsum_chunks_crc32
      Src: /src/ostree/src/libostree/ostree-rollsum.c:128,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-rollsum.c:123,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-rollsum.c:126,1
    - Dst: rollsum_chunks_crc32
      Src: /src/ostree/src/libostree/ostree-rollsum.c:129,1
    - Dst: g_hash_table_iter_init
      Src: /src/ostree/src/libostree/ostree-rollsum.c:131,1
    - Dst: g_hash_table_iter_next
      Src: /src/ostree/src/libostree/ostree-rollsum.c:132,1
    - Dst: g_hash_table_lookup
      Src: /src/ostree/src/libostree/ostree-rollsum.c:137,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-rollsum.c:151,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/libostree/ostree-rollsum.c:176,1
    - Dst: memcmp
      Src: /src/ostree/src/libostree/ostree-rollsum.c:170,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-rollsum.c:161,1
    - Dst: g_ptr_array_sort
      Src: /src/ostree/src/libostree/ostree-rollsum.c:186,1
    - Dst: g_variant_get
      Src: /src/ostree/src/libostree/ostree-rollsum.c:159,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-rollsum.c:176,1
    - Dst: g_variant_new
      Src: /src/ostree/src/libostree/ostree-rollsum.c:173,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - GBytes*
    - GBytes*
    constantsTouched: []
    func_position:
      end: 196
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 196
    functionName: _ostree_compute_rollsum_matches
    functionSourceFile: /src/ostree/src/libostree/ostree-rollsum.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_new0
    - g_ptr_array_new_with_free_func
    - g_assert
    - g_ptr_array_sort
    - rollsum_chunks_crc32
    - g_hash_table_iter_next
    - g_variant_get
    - g_hash_table_iter_init
    - g_variant_new
    - g_variant_ref_sink
    - memcmp
    - g_hash_table_lookup
    - g_ptr_array_add
    linkageType: ''
    returnType: OstreeRollsumMatches*
    signature: 'OstreeRollsumMatches *_ostree_compute_rollsum_matches (GBytes *from,
      GBytes *to) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-rollsum.c:97,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-rollsum.c:100,1
    - Dst: g_variant_get_child
      Src: /src/ostree/src/libostree/ostree-rollsum.c:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - app
    - bpp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: compare_matches
    functionSourceFile: /src/ostree/src/libostree/ostree-rollsum.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_variant_get_child
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_matches (const void *app, const void *bpp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-rollsum.c:201,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-rollsum.c:204,1
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-rollsum.c:203,1
    - Dst: g_hash_table_unref
      Src: /src/ostree/src/libostree/ostree-rollsum.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rollsum
    argTypes:
    - OstreeRollsumMatches*
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: _ostree_rollsum_matches_free
    functionSourceFile: /src/ostree/src/libostree/ostree-rollsum.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_hash_table_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _ostree_rollsum_matches_free (OstreeRollsumMatches *rollsum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:207,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:208,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-bloom.c:217,1
    - Dst: g_free
      Src: /src/ostree/src/libostree/ostree-bloom.c:219,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-bloom.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - bloom
    argTypes:
    - OstreeBloom*
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: ostree_bloom_unref
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_bloom_unref (OstreeBloom *bloom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:156,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:157,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-bloom.c:157,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-bloom.c:158,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:158,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:159,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:160,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-bloom.c:162,1
    - Dst: g_bytes_ref
      Src: /src/ostree/src/libostree/ostree-bloom.c:166,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-bloom.c:167,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-bloom.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - bytes
    - k
    - hash_func
    argTypes:
    - GBytes*
    - guint8
    - OstreeBloomHashFunc
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: ostree_bloom_new_from_bytes
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_steal_pointer
    - g_bytes_ref
    - g_return_val_if_fail
    - g_bytes_get_size
    linkageType: ''
    returnType: OstreeBloom*
    signature: 'OstreeBloom *ostree_bloom_new_from_bytes (GBytes *bytes, guint8 k,
      OstreeBloomHashFunc hash_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bloom.c:242,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bloom.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bloom
    - idx
    argTypes:
    - OstreeBloom*
    - gsize
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: ostree_bloom_set_bit
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static inline void ostree_bloom_set_bit (OstreeBloom *bloom, gsize
      idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:328,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:329,1
    - Dst: ostree_bloom_set_bit
      Src: /src/ostree/src/libostree/ostree-bloom.c:335,1
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - bloom
    - element
    argTypes:
    - OstreeBloom*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 337
    functionName: ostree_bloom_add_element
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - ostree_bloom_set_bit
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void ostree_bloom_add_element (OstreeBloom *bloom, gconstpointer element) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bloom
    argTypes:
    - OstreeBloom*
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: ostree_bloom_get_k
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint8
    signature: 'guint8 ostree_bloom_get_k (OstreeBloom *bloom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bloom
    argTypes:
    - OstreeBloom*
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: ostree_bloom_get_hash_func
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeBloomHashFunc
    signature: 'OstreeBloomHashFunc ostree_bloom_get_hash_func (OstreeBloom *bloom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:116,1
    - Dst: g_new0
      Src: /src/ostree/src/libostree/ostree-bloom.c:121,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:118,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:117,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:119,1
    - Dst: g_malloc0
      Src: /src/ostree/src/libostree/ostree-bloom.c:125,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-bloom.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - n_bytes
    - k
    - hash_func
    argTypes:
    - gsize
    - guint8
    - OstreeBloomHashFunc
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: ostree_bloom_new
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_malloc0
    - g_steal_pointer
    - g_return_val_if_fail
    - g_new0
    linkageType: ''
    returnType: OstreeBloom*
    signature: 'OstreeBloom *ostree_bloom_new (gsize n_bytes, guint8 k, OstreeBloomHashFunc
      hash_func) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ostree/src/libostree/ostree-bloom.c:472,1
    - Dst: U8TO64_LE
      Src: /src/ostree/src/libostree/ostree-bloom.c:478,1
    - Dst: U8TO64_LE
      Src: /src/ostree/src/libostree/ostree-bloom.c:494,1
    - Dst: U64TO8_LE
      Src: /src/ostree/src/libostree/ostree-bloom.c:543,1
    - Dst: U8TO64_LE
      Src: /src/ostree/src/libostree/ostree-bloom.c:477,1
    - Dst: U64TO8_LE
      Src: /src/ostree/src/libostree/ostree-bloom.c:555,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 5
    argNames:
    - in
    - inlen
    - k
    - out
    - outlen
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 558
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 558
    functionName: siphash
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - U64TO8_LE
    - U8TO64_LE
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int siphash (const uint8_t *in, const size_t inlen, const uint8_t
      *k, uint8_t *out, const size_t outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-bloom.c:594,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-bloom.c:595,1
    - Dst: siphash
      Src: /src/ostree/src/libostree/ostree-bloom.c:598,1
    - Dst: le64toh
      Src: /src/ostree/src/libostree/ostree-bloom.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - element
    - k
    argTypes:
    - gconstpointer
    - guint8
    constantsTouched: []
    func_position:
      end: 601
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 601
    functionName: ostree_str_bloom_hash
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - strlen
    - G_N_ELEMENTS
    - siphash
    - le64toh
    linkageType: ''
    returnType: guint64
    signature: 'guint64 ostree_str_bloom_hash (gconstpointer element, guint8 k) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:186,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:188,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bloom
    argTypes:
    - OstreeBloom*
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: ostree_bloom_ref
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: OstreeBloom*
    signature: 'OstreeBloom *ostree_bloom_ref (OstreeBloom *bloom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-bloom.c:232,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bloom.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - bloom
    - idx
    argTypes:
    - OstreeBloom*
    - gsize
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: ostree_bloom_get_bit
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_bytes_get_data
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean ostree_bloom_get_bit (OstreeBloom *bloom, gsize
      idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:265,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:266,1
    - Dst: ostree_bloom_get_bit
      Src: /src/ostree/src/libostree/ostree-bloom.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - bloom
    - element
    argTypes:
    - OstreeBloom*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: ostree_bloom_maybe_contains
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - ostree_bloom_get_bit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean ostree_bloom_maybe_contains (OstreeBloom *bloom, gconstpointer
      element) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:299,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:300,1
    - Dst: g_bytes_ref
      Src: /src/ostree/src/libostree/ostree-bloom.c:309,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-bloom.c:306,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/src/libostree/ostree-bloom.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - bloom
    argTypes:
    - OstreeBloom*
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: ostree_bloom_seal
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_bytes_new_take
    - g_steal_pointer
    - g_return_val_if_fail
    - g_bytes_ref
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *ostree_bloom_seal (OstreeBloom *bloom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/src/libostree/ostree-bloom.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bloom
    argTypes:
    - OstreeBloom*
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: ostree_bloom_get_size
    functionSourceFile: /src/ostree/src/libostree/ostree-bloom.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize ostree_bloom_get_size (OstreeBloom *bloom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LZMA_DECOMPRESSOR
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:60,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:63,1
    - Dst: lzma_end
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: _ostree_lzma_decompressor_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-decompressor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - lzma_end
    - OSTREE_LZMA_DECOMPRESSOR
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_decompressor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeLzmaDecompressorClass*
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: _ostree_lzma_decompressor_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-decompressor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_decompressor_class_init (OstreeLzmaDecompressorClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LZMA_DECOMPRESSOR
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:90,1
    - Dst: lzma_end
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: _ostree_lzma_decompressor_reset
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-decompressor.c
    functionUses: []
    functionsReached:
    - lzma_end
    - OSTREE_LZMA_DECOMPRESSOR
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_decompressor_reset (GConverter *converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeLzmaDecompressor*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: _ostree_lzma_decompressor_init
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-decompressor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_decompressor_init (OstreeLzmaDecompressor
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: _ostree_lzma_decompressor_new
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-decompressor.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeLzmaDecompressor*
    signature: 'OstreeLzmaDecompressor *_ostree_lzma_decompressor_new (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_LZMA_DECOMPRESSOR
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:106,1
    - Dst: _ostree_lzma_return
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:137,1
    - Dst: g_set_error_literal
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:111,1
    - Dst: lzma_stream_decoder
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:117,1
    - Dst: lzma_code
      Src: /src/ostree/src/libostree/ostree-lzma-decompressor.c:129,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    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: 138
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 138
    functionName: _ostree_lzma_decompressor_convert
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-decompressor.c
    functionUses: []
    functionsReached:
    - OSTREE_LZMA_DECOMPRESSOR
    - lzma_stream_decoder
    - g_set_error_literal
    - _ostree_lzma_return
    - lzma_code
    linkageType: ''
    returnType: GConverterResult
    signature: 'static GConverterResult _ostree_lzma_decompressor_convert (GConverter
      *converter, const void *inbuf, gsize inbuf_size, void *outbuf, gsize outbuf_size,
      GConverterFlags flags, gsize *bytes_read, gsize *bytes_written, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterIface*
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: _ostree_lzma_decompressor_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-lzma-decompressor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_lzma_decompressor_iface_init (GConverterIface
      *iface) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ot_keyfile_get_tristate_with_default
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:45,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:86,1
    - Dst: ot_keyfile_get_tristate_with_default
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:49,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:76,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:66,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - OstreeRepo*
    - GError**
    constantsTouched: []
    func_position:
      end: 89
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 89
    functionName: _ostree_repo_parse_fsverity_config
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-verity.c
    functionUses: []
    functionsReached:
    - ot_keyfile_get_tristate_with_default
    - ot_keyfile_get_boolean_with_default
    - glnx_throw
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_repo_parse_fsverity_config (OstreeRepo *self, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:145,1
    - Dst: glnx_tmpfile_reopen_rdonly
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:148,1
    - Dst: _ostree_fsverity_enable
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 5
    argNames:
    - tmpf
    - fsverity_requested
    - signature
    - supported
    - error
    argTypes:
    - GLnxTmpfile*
    - _OstreeFeatureSupport
    - GBytes*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: _ostree_tmpf_fsverity_core
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-verity.c
    functionUses: []
    functionsReached:
    - _ostree_fsverity_enable
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_tmpfile_reopen_rdonly
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_tmpf_fsverity_core (GLnxTmpfile *tmpf, _OstreeFeatureSupport
      fsverity_requested, GBytes *signature, gboolean *supported, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:107,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:119,1
    - Dst: ioctl
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:110,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:108,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 5
    argNames:
    - fd
    - allow_existing
    - supported
    - signature
    - error
    argTypes:
    - int
    - gboolean
    - gboolean*
    - GBytes*
    - GError**
    constantsTouched: []
    func_position:
      end: 128
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 128
    functionName: _ostree_fsverity_enable
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-verity.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - ioctl
    - g_bytes_get_size
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_fsverity_enable (int fd, gboolean allow_existing,
      gboolean *supported, GBytes *signature, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fstatat
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:221,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:226,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:232,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:234,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:229,1
    - Dst: _ostree_fsverity_enable
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:236,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:240,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 6
    argNames:
    - self
    - allow_enoent
    - dirfd
    - path
    - supported_out
    - error
    argTypes:
    - OstreeRepo*
    - gboolean
    - int
    - char*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 246
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 246
    functionName: _ostree_ensure_fsverity
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-verity.c
    functionUses: []
    functionsReached:
    - _ostree_fsverity_enable
    - S_ISREG
    - fstatat
    - glnx_throw
    - glnx_throw_errno_prefix
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_ensure_fsverity (OstreeRepo *self, gboolean allow_enoent,
      int dirfd, const char *path, gboolean *supported_out, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:166,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:176,1
    - Dst: _ostree_tmpf_fsverity_core
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:186,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:169,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:191,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:192,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:195,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:196,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:198,1
    - Dst: g_mutex_lock
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:202,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:206,1
    - Dst: g_mutex_unlock
      Src: /src/ostree/src/libostree/ostree-repo-verity.c:204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - self
    - tmpf
    - signature
    - error
    argTypes:
    - OstreeRepo*
    - GLnxTmpfile*
    - GBytes*
    - GError**
    constantsTouched: []
    func_position:
      end: 209
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 209
    functionName: _ostree_tmpf_fsverity
    functionSourceFile: /src/ostree/src/libostree/ostree-repo-verity.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - G_UNLIKELY
    - _ostree_tmpf_fsverity_core
    - g_mutex_unlock
    - glnx_throw
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_tmpf_fsverity (OstreeRepo *self, GLnxTmpfile *tmpf,
      GBytes *signature, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:48,1
    - Dst: archive_read_support_filter_all
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:51,1
    - Dst: archive_read_support_compression_all
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:53,1
    - Dst: archive_read_support_format_all
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: ot_archive_read_new
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-private.h
    functionUses: []
    functionsReached:
    - archive_read_support_filter_all
    - archive_read_support_format_all
    - archive_read_support_compression_all
    - archive_read_new
    linkageType: ''
    returnType: OtAutoArchiveRead*
    signature: 'static inline OtAutoArchiveRead *ot_archive_read_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_archive_read_new
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:78,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:87,1
    - Dst: archive_error_string
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:83,1
    - Dst: archive_read_open_fd
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:80,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - error
    argTypes:
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: ot_open_archive_read_fd
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-private.h
    functionUses: []
    functionsReached:
    - g_set_error
    - ot_archive_read_new
    - archive_read_open_fd
    - g_steal_pointer
    - archive_error_string
    linkageType: ''
    returnType: OtAutoArchiveRead*
    signature: 'static inline OtAutoArchiveRead *ot_open_archive_read_fd (int fd,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ot_archive_read_new
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:63,1
    - Dst: archive_read_open_filename
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:65,1
    - Dst: archive_error_string
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:68,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:72,1
    - Dst: g_set_error
      Src: /src/ostree/src/libostree/ostree-libarchive-private.h:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - path
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: ot_open_archive_read
    functionSourceFile: /src/ostree/src/libostree/ostree-libarchive-private.h
    functionUses: []
    functionsReached:
    - g_set_error
    - archive_read_open_filename
    - ot_archive_read_new
    - g_steal_pointer
    - archive_error_string
    linkageType: ''
    returnType: OtAutoArchiveRead*
    signature: 'static inline OtAutoArchiveRead *ot_open_archive_read (const char
      *path, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_secure_execution_mount
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:422,1
    - Dst: _ostree_secure_execution_generate_sdboot
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:425,1
    - Dst: _ostree_secure_execution_umount
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:428,1
    - Dst: _ostree_secure_execution_call_zipl
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:427,1
    - Dst: _ostree_secure_execution_get_bls_config
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:423,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 5
    argNames:
    - self
    - bootversion
    - keys
    - cancellable
    - error
    argTypes:
    - OstreeBootloaderZipl*
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: _ostree_secure_execution_enable
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - _ostree_secure_execution_mount
    - _ostree_secure_execution_call_zipl
    - _ostree_secure_execution_generate_sdboot
    - _ostree_secure_execution_get_bls_config
    - _ostree_secure_execution_umount
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_enable (OstreeBootloaderZipl
      *self, int bootversion, GPtrArray *keys, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_ZIPL
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:521,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:523,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: _ostree_bootloader_zipl_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - OSTREE_BOOTLOADER_ZIPL
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_zipl_finalize (GObject *object) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ot_util_process_privileged
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:442,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:455,1
    - Dst: _ostree_secure_execution_get_keys
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:474,1
    - Dst: _ostree_secure_execution_enable
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:478,1
    - Dst: _ostree_secure_boot_is_enabled
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:482,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:489,1
    - Dst: ostree_sysroot_get_deployment_dirpath
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:491,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:459,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:493,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:498,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:513,1
    - Dst: OSTREE_BOOTLOADER_ZIPL
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:437,1
    - Dst: _ostree_secure_execution_is_enabled
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:469,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:477,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:498,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:502,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:506,1
    - Dst: _ostree_sysroot_run_in_deployment
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:500,1
    - Dst: g_spawn_sync
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:507,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:511,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 46
    argCount: 4
    argNames:
    - bootloader
    - bootversion
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 516
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 516
    functionName: _ostree_bootloader_zipl_post_bls_sync
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - glnx_fstatat_allow_noent
    - glnx_throw
    - gs_file_get_path_cached
    - ot_util_process_privileged
    - g_spawn_check_exit_status
    - OSTREE_BOOTLOADER_ZIPL
    - g_assert_cmpint
    - ostree_sysroot_get_deployment_dirpath
    - _ostree_secure_execution_is_enabled
    - _ostree_secure_boot_is_enabled
    - _ostree_sysroot_run_in_deployment
    - glnx_opendirat
    - g_build_filename
    - glnx_prefix_error
    - g_spawn_sync
    - g_debug
    - _ostree_secure_execution_enable
    - _ostree_secure_execution_get_keys
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_zipl_post_bls_sync (OstreeBootloader
      *bootloader, int bootversion, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeBootloaderZipl*
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: _ostree_bootloader_zipl_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_zipl_init (OstreeBootloaderZipl *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_BOOTLOADER_ZIPL
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:107,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - bootloader
    - bootversion
    - new_deployments
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - int
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: _ostree_bootloader_zipl_write_config
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - OSTREE_BOOTLOADER_ZIPL
    - glnx_file_replace_contents_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_zipl_write_config (OstreeBootloader
      *bootloader, int bootversion, GPtrArray *new_deployments, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:86,1
    - Dst: mount
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:89,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:90,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: _ostree_secure_execution_mount
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - mount
    - realpath
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_mount (GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:170,1
    - Dst: strstr
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:177,1
    - Dst: glnx_fd_readall_utf8
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - out_enabled
    - cancellable
    - error
    argTypes:
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: _ostree_secure_execution_is_enabled
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - strstr
    - glnx_fd_readall_utf8
    - ot_openat_ignore_enoent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_is_enabled (gboolean *out_enabled,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umount
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:97,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: _ostree_secure_execution_umount
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - umount
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_umount (GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ot_openat_ignore_enoent
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:123,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:131,1
    - Dst: openat
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:147,1
    - Dst: glnx_fd_readall_utf8
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:127,1
    - Dst: strstr
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:130,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:149,1
    - Dst: g_unix_input_stream_new
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:150,1
    - Dst: g_steal_fd
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:150,1
    - Dst: g_data_input_stream_new
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:151,1
    - Dst: g_data_input_stream_read_line
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:156,1
    - Dst: strstr
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:157,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:160,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - out_enabled
    - cancellable
    - error
    argTypes:
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 162
    functionName: _ostree_secure_boot_is_enabled
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_new
    - glnx_fd_readall_utf8
    - g_steal_fd
    - g_data_input_stream_read_line
    - g_unix_input_stream_new
    - ot_journal_print
    - strstr
    - ot_openat_ignore_enoent
    - glnx_throw_errno_prefix
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_boot_is_enabled (gboolean *out_enabled,
      GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:187,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:188,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:194,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:200,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:190,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:201,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:202,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:205,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 3
    argNames:
    - keys
    - cancellable
    - error
    argTypes:
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 207
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 207
    functionName: _ostree_secure_execution_get_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_build_filename
    - g_steal_pointer
    - g_str_has_prefix
    - glnx_dirfd_iterator_init_at
    - glnx_prefix_error
    - glnx_dirfd_iterator_next_dent
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_get_keys (GPtrArray **keys,
      GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_sysroot_read_boot_loader_configs
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:215,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:222,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:217,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:220,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:225,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:227,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:228,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:230,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:232,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:233,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:237,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:238,1
    - Dst: ostree_bootconfig_parser_get
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:235,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 7
    argNames:
    - self
    - bootversion
    - vmlinuz
    - initramfs
    - options
    - cancellable
    - error
    argTypes:
    - OstreeBootloaderZipl*
    - int
    - gchar**
    - gchar**
    - gchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 241
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 241
    functionName: _ostree_secure_execution_get_bls_config
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - g_strdup
    - ostree_bootconfig_parser_get
    - g_ptr_array_index
    - g_build_filename
    - glnx_prefix_error
    - glnx_throw
    - _ostree_sysroot_read_boot_loader_configs
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_get_bls_config (OstreeBootloaderZipl
      *self, int bootversion, gchar **vmlinuz, gchar **initramfs, gchar **options,
      GCancellable *cancellable, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: archive_write_new
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:256,1
    - Dst: archive_write_set_format_cpio_newc
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:259,1
    - Dst: archive_entry_set_pathname
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:276,1
    - Dst: archive_entry_new
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:272,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:284,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:294,1
    - Dst: archive_error_string
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:295,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:297,1
    - Dst: archive_write_open_fd
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:260,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:261,1
    - Dst: archive_error_string
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:261,1
    - Dst: stat
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:269,1
    - Dst: S_ISREG
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:280,1
    - Dst: archive_write_header
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:277,1
    - Dst: archive_write_add_filter_gzip
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:259,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:278,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:273,1
    - Dst: archive_error_string
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:278,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:285,1
    - Dst: glnx_fd_readall_bytes
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:286,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:288,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:291,1
    - Dst: archive_write_data
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:292,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:304,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:257,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:265,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:270,1
    - Dst: archive_entry_copy_stat
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:275,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:282,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:301,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 3
    argNames:
    - initrd_fd
    - cancellable
    - error
    argTypes:
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 306
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 306
    functionName: _ostree_secure_execution_append_luks_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - archive_write_set_format_cpio_newc
    - archive_entry_set_pathname
    - ot_journal_print
    - archive_write_new
    - archive_write_data
    - glnx_throw
    - glnx_throw_errno_prefix
    - archive_entry_new
    - archive_entry_copy_stat
    - archive_write_header
    - stat
    - g_bytes_get_data
    - archive_write_open_fd
    - archive_write_add_filter_gzip
    - glnx_prefix_error
    - glnx_openat_rdonly
    - g_assert
    - archive_error_string
    - G_N_ELEMENTS
    - glnx_fd_readall_bytes
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_append_luks_keys (int initrd_fd,
      GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:333,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:334,1
    - Dst: getpid
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:338,1
    - Dst: _ostree_secure_execution_generate_initrd
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:354,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:369,1
    - Dst: g_ptr_array_index
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:374,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:381,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:387,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:390,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:389,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:335,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:336,1
    - Dst: glnx_open_anonymous_tmpfile
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:344,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:347,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:348,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:368,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:370,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:371,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:376,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:377,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:367,1
    - Dst: unlink
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:362,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:356,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:365,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:375,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:379,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:380,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:382,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:345,1
    - Dst: glnx_loop_write
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:346,1
    - Dst: strlen
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:346,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:366,1
    - Dst: g_ptr_array_new
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:364,1
    - Dst: g_spawn_sync
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:385,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:392,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 6
    argNames:
    - vmlinuz
    - initramfs
    - options
    - keys
    - cancellable
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GPtrArray*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 394
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 394
    functionName: _ostree_secure_execution_generate_sdboot
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - strlen
    - unlink
    - getpid
    - glnx_open_anonymous_tmpfile
    - g_assert
    - g_ptr_array_index
    - ot_journal_print
    - glnx_loop_write
    - g_spawn_sync
    - g_strdup_printf
    - glnx_prefix_error
    - glnx_throw_errno_prefix
    - _ostree_secure_execution_generate_initrd
    - g_ptr_array_new
    - g_spawn_check_exit_status
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_generate_sdboot (gchar *vmlinuz,
      gchar *initramfs, gchar *options, GPtrArray *keys, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - OstreeBootloaderInterface*
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: _ostree_bootloader_zipl_bootloader_iface_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_bootloader_zipl_bootloader_iface_init (OstreeBootloaderInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:246,1
    - Dst: access
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:247,1
    - Dst: access
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: _ostree_secure_execution_luks_key_exists
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - access
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_luks_key_exists (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_secure_execution_luks_key_exists
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:312,1
    - Dst: glnx_throw
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:313,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:319,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:316,1
    - Dst: glnx_open_anonymous_tmpfile
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:315,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:320,1
    - Dst: glnx_regfile_copy_bytes
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:321,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:322,1
    - Dst: _ostree_secure_execution_append_luks_keys
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - initrd
    - out_initrd
    - cancellable
    - error
    argTypes:
    - gchar*
    - GLnxTmpfile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: _ostree_secure_execution_generate_initrd
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - glnx_regfile_copy_bytes
    - glnx_throw_errno_prefix
    - glnx_open_anonymous_tmpfile
    - _ostree_secure_execution_append_luks_keys
    - glnx_prefix_error
    - glnx_throw
    - glnx_openat_rdonly
    - _ostree_secure_execution_luks_key_exists
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_generate_initrd (const gchar
      *initrd, GLnxTmpfile *out_initrd, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_sync
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:403,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:408,1
    - Dst: g_spawn_check_exit_status
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:407,1
    - Dst: ot_journal_print
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:410,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 412
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 412
    functionName: _ostree_secure_execution_call_zipl
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - ot_journal_print
    - g_spawn_sync
    - g_spawn_check_exit_status
    - glnx_prefix_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_secure_execution_call_zipl (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - OstreeBootloaderZiplClass*
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: _ostree_bootloader_zipl_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'void _ostree_bootloader_zipl_class_init (OstreeBootloaderZiplClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:553,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-bootloader-zipl.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - sysroot
    argTypes:
    - OstreeSysroot*
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: _ostree_bootloader_zipl_new
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: OstreeBootloaderZipl*
    signature: 'OstreeBootloaderZipl *_ostree_bootloader_zipl_new (OstreeSysroot *sysroot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - bootloader
    - out_is_active
    - cancellable
    - error
    argTypes:
    - OstreeBootloader*
    - gboolean*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: _ostree_bootloader_zipl_query
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_bootloader_zipl_query (OstreeBootloader *bootloader,
      gboolean *out_is_active, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bootloader
    argTypes:
    - OstreeBootloader*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: _ostree_bootloader_zipl_get_name
    functionSourceFile: /src/ostree/src/libostree/ostree-bootloader-zipl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_ostree_bootloader_zipl_get_name (OstreeBootloader
      *bootloader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:66,1
    - Dst: gpgme_check_version
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - klass
    argTypes:
    - OstreeGpgVerifierClass*
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: _ostree_gpg_verifier_class_init
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - gpgme_check_version
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_gpg_verifier_class_init (OstreeGpgVerifierClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ot_gpgme_kill_agent
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:89,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - data
    - finalized_verify_result
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: verify_result_finalized_cb
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - glnx_shutil_rm_rf_at
    - ot_gpgme_kill_agent
    linkageType: ''
    returnType: void
    signature: 'static void verify_result_finalized_cb (gpointer data, GObject *finalized_verify_result) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:187,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:195,1
    - Dst: ot_gpgme_ctx_tmp_home_dir
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:202,1
    - Dst: _ostree_gpg_verifier_import_keys
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:205,1
    - Dst: ot_gpgme_new_ctx
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:198,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:208,1
    - Dst: gpgme_get_key
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:215,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:218,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:223,1
    - Dst: gpgme_op_keylist_start
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:228,1
    - Dst: gpgme_err_code
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:241,1
    - Dst: ot_gpgme_kill_agent
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:256,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:257,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:238,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:243,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:249,1
    - Dst: gpgme_op_keylist_next
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:233,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 43
    argCount: 5
    argNames:
    - self
    - key_ids
    - out_keys
    - cancellable
    - error
    argTypes:
    - OstreeGpgVerifier*
    - char**
    - GPtrArray**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 261
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 261
    functionName: _ostree_gpg_verifier_list_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - ot_gpgme_new_ctx
    - g_ptr_array_new_with_free_func
    - gpgme_err_code
    - _ostree_gpg_verifier_import_keys
    - g_cancellable_set_error_if_cancelled
    - gpgme_op_keylist_next
    - g_steal_pointer
    - gpgme_op_keylist_start
    - glnx_shutil_rm_rf_at
    - ot_gpgme_throw
    - g_ptr_array_add
    - ot_gpgme_ctx_tmp_home_dir
    - gpgme_get_key
    - ot_gpgme_kill_agent
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_gpg_verifier_list_keys (OstreeGpgVerifier *self,
      const char *const *key_ids, GPtrArray **out_keys, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:371,1
    - Dst: g_bytes_ref
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:373,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - self
    - keyring
    - data_source
    argTypes:
    - OstreeGpgVerifier*
    - GBytes*
    - char*
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: _ostree_gpg_verifier_add_keyring_data
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - g_bytes_ref
    - g_debug
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'void _ostree_gpg_verifier_add_keyring_data (OstreeGpgVerifier *self,
      GBytes *keyring, const char *data_source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:379,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:383,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:382,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - OstreeGpgVerifier*
    - char*
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: _ostree_gpg_verifier_add_key_ascii_file
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'void _ostree_gpg_verifier_add_key_ascii_file (OstreeGpgVerifier *self,
      const char *path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:424,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:433,1
    - Dst: _ostree_gpg_verifier_add_key_ascii_file
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:445,1
    - Dst: g_build_filename
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:443,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:427,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 5
    argNames:
    - self
    - dfd
    - path
    - cancellable
    - error
    argTypes:
    - OstreeGpgVerifier*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 449
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 449
    functionName: _ostree_gpg_verifier_add_keyfile_dir_at
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - g_build_filename
    - g_debug
    - _ostree_gpg_verifier_add_key_ascii_file
    - glnx_dirfd_iterator_init_at
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_gpg_verifier_add_keyfile_dir_at (OstreeGpgVerifier
      *self, int dfd, const char *path, GCancellable *cancellable, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:466,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:469,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:491,1
    - Dst: g_str_has_suffix
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:488,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:475,1
    - Dst: g_str_equal
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:494,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:498,1
    - Dst: glnx_fd_readall_bytes
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:501,1
    - Dst: g_ptr_array_add
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:505,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:505,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 19
    argCount: 5
    argNames:
    - self
    - dfd
    - path
    - cancellable
    - error
    argTypes:
    - OstreeGpgVerifier*
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 509
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 509
    functionName: _ostree_gpg_verifier_add_keyring_dir_at
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - g_debug
    - g_steal_pointer
    - g_str_has_suffix
    - glnx_dirfd_iterator_init_at
    - glnx_openat_rdonly
    - glnx_fd_readall_bytes
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_gpg_verifier_add_keyring_dir_at (OstreeGpgVerifier
      *self, int dfd, const char *path, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSTREE_GPG_VERIFIER
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:53,1
    - Dst: g_list_free_full
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:55,1
    - Dst: g_clear_pointer
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:58,1
    - Dst: g_ptr_array_unref
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:57,1
    - Dst: G_OBJECT_CLASS
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: ostree_gpg_verifier_finalize
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - OSTREE_GPG_VERIFIER
    - g_clear_pointer
    - g_ptr_array_unref
    - G_OBJECT_CLASS
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void ostree_gpg_verifier_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - OstreeGpgVerifier*
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: _ostree_gpg_verifier_init
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void _ostree_gpg_verifier_init (OstreeGpgVerifier *self) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:98,1
    - Dst: g_file_read
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:107,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:112,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:110,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:117,1
    - Dst: g_output_stream_splice
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:122,1
    - Dst: G_INPUT_STREAM
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:122,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:133,1
    - Dst: g_output_stream_write_all
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:134,1
    - Dst: g_output_stream_close
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:138,1
    - Dst: gpgme_op_import
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:166,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:169,1
    - Dst: gpgme_data_new_from_fd
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:159,1
    - Dst: gpgme_set_armor
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:144,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:162,1
    - Dst: gpgme_set_armor
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:178,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:156,1
    - Dst: gpgme_get_armor
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:143,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 43
    argCount: 5
    argNames:
    - self
    - gpgme_ctx
    - pubring_stream
    - cancellable
    - error
    argTypes:
    - OstreeGpgVerifier*
    - gpgme_ctx_t
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 181
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 181
    functionName: _ostree_gpg_verifier_import_keys
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - g_output_stream_splice
    - g_bytes_get_data
    - g_output_stream_write_all
    - gpgme_set_armor
    - g_error_matches
    - gpgme_get_armor
    - g_clear_error
    - gpgme_op_import
    - g_file_read
    - glnx_openat_rdonly
    - g_output_stream_close
    - ot_gpgme_throw
    - g_propagate_error
    - gpgme_data_new_from_fd
    - G_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ostree_gpg_verifier_import_keys (OstreeGpgVerifier
      *self, gpgme_ctx_t gpgme_ctx, GOutputStream *pubring_stream, GCancellable *cancellable,
      GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:284,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:299,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:317,1
    - Dst: gpgme_op_verify_result
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:322,1
    - Dst: G_OBJECT
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:335,1
    - Dst: g_bytes_get_size
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:307,1
    - Dst: gpgme_result_ref
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:324,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:267,1
    - Dst: g_clear_object
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:340,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:281,1
    - Dst: _ostree_gpg_verifier_import_keys
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:291,1
    - Dst: ot_gpgme_ctx_tmp_home_dir
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:288,1
    - Dst: gpgme_data_new_from_mem
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:298,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:298,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:302,1
    - Dst: gpgme_data_new_from_mem
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:306,1
    - Dst: gpgme_op_verify
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:314,1
    - Dst: g_object_weak_ref
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:335,1
    - Dst: g_bytes_get_data
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:306,1
    - Dst: ot_gpgme_throw
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:310,1
    - Dst: g_strdup
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:335,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:344,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 5
    argNames:
    - self
    - signed_data
    - signatures
    - cancellable
    - error
    argTypes:
    - OstreeGpgVerifier*
    - GBytes*
    - GBytes*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 348
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 348
    functionName: _ostree_gpg_verifier_check_signature
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - gpgme_op_verify
    - g_initable_new
    - g_bytes_get_data
    - G_OBJECT
    - g_strdup
    - g_clear_object
    - g_object_weak_ref
    - _ostree_gpg_verifier_import_keys
    - g_cancellable_set_error_if_cancelled
    - gpgme_result_ref
    - glnx_shutil_rm_rf_at
    - ot_gpgme_throw
    - gpgme_data_new_from_mem
    - gpgme_op_verify_result
    - ot_gpgme_ctx_tmp_home_dir
    - g_bytes_get_size
    linkageType: ''
    returnType: OstreeGpgVerifyResult*
    signature: 'OstreeGpgVerifyResult *_ostree_gpg_verifier_check_signature (OstreeGpgVerifier
      *self, GBytes *signed_data, GBytes *signatures, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_gpg_verifier_add_keyfile_dir_at
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:391,1
    - Dst: _ostree_gpg_verifier_add_key_ascii_file
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:400,1
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:393,1
    - Dst: g_error_matches
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:396,1
    - Dst: g_clear_error
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:398,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:404,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - self
    - path
    - cancellable
    - error
    argTypes:
    - OstreeGpgVerifier*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 410
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 410
    functionName: _ostree_gpg_verifier_add_keyfile_path
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_error_matches
    - _ostree_gpg_verifier_add_keyfile_dir_at
    - g_clear_error
    - g_steal_pointer
    - _ostree_gpg_verifier_add_key_ascii_file
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_gpg_verifier_add_keyfile_path (OstreeGpgVerifier
      *self, const char *path, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ostree_gpg_verifier_add_keyring_dir_at
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:455,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - self
    - path
    - cancellable
    - error
    argTypes:
    - OstreeGpgVerifier*
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: _ostree_gpg_verifier_add_keyring_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - _ostree_gpg_verifier_add_keyring_dir_at
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_gpg_verifier_add_keyring_dir (OstreeGpgVerifier *self,
      GFile *path, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:515,1
    - Dst: OSTREE_IS_GPG_VERIFIER
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:515,1
    - Dst: g_file_new_for_path
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:523,1
    - Dst: g_file_test
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:521,1
    - Dst: g_getenv
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:517,1
    - Dst: _ostree_gpg_verifier_add_keyring_dir
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:524,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:525,1
    - Dst: gs_file_get_path_cached
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:526,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - self
    - cancellable
    - error
    argTypes:
    - OstreeGpgVerifier*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 530
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 530
    functionName: _ostree_gpg_verifier_add_global_keyring_dir
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - _ostree_gpg_verifier_add_keyring_dir
    - g_assert
    - OSTREE_IS_GPG_VERIFIER
    - g_file_test
    - g_getenv
    - glnx_prefix_error
    - gs_file_get_path_cached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ostree_gpg_verifier_add_global_keyring_dir (OstreeGpgVerifier
      *self, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: _ostree_gpg_verifier_new
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: OstreeGpgVerifier*
    signature: 'OstreeGpgVerifier *_ostree_gpg_verifier_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:356,1
    - Dst: g_debug
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:359,1
    - Dst: g_list_append
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:361,1
    - Dst: g_file_get_path
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:358,1
    - Dst: G_IS_FILE
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:356,1
    - Dst: g_object_ref
      Src: /src/ostree/src/libostree/ostree-gpg-verifier.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - OstreeGpgVerifier*
    - GFile*
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: _ostree_gpg_verifier_add_keyring_file
    functionSourceFile: /src/ostree/src/libostree/ostree-gpg-verifier.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_file_get_path
    - g_list_append
    - g_debug
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _ostree_gpg_verifier_add_keyring_file (OstreeGpgVerifier *self,
      GFile *path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:76,1
    - Dst: asprintf
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:76,1
    - Dst: fopen
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:77,1
    - Dst: free
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:81,1
    - Dst: fprintf
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:80,1
    - Dst: free
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:84,1
    - Dst: getline
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:91,1
    - Dst: strstr
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:96,1
    - Dst: strstr
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:100,1
    - Dst: fclose
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:107,1
    - Dst: free
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - sysroot
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 110
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 110
    functionName: sysroot_is_configured_ro
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root-static.c
    functionUses: []
    functionsReached:
    - free
    - fprintf
    - assert
    - strstr
    - fclose
    - fopen
    - getline
    - asprintf
    linkageType: ''
    returnType: bool
    signature: 'static inline bool sysroot_is_configured_ro (const char *sysroot) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:212,1
    - Dst: chdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:219,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:198,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:233,1
    - Dst: snprintf
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:240,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:242,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:244,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:247,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:282,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:306,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:307,1
    - Dst: strcmp
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:330,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:388,1
    - Dst: realpath
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:189,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:223,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:224,1
    - Dst: open
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:231,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:242,1
    - Dst: snprintf
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:246,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:248,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:249,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:260,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:283,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:359,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:349,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:385,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:297,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:353,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:352,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:365,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:384,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:294,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:363,1
    - Dst: assert
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:166,1
    - Dst: resolve_deploy_path
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:192,1
    - Dst: sysroot_is_configured_ro
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:204,1
    - Dst: mkdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:215,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:216,1
    - Dst: path_is_on_readonly_fs
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:205,1
    - Dst: close
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:234,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:259,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:264,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:269,1
    - Dst: chdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:355,1
    - Dst: execl
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:387,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:328,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:308,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:324,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:287,1
    - Dst: chdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:327,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:350,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:293,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:244,1
    - Dst: path_is_on_readonly_fs
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:280,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:323,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:286,1
    - Dst: getpid
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:165,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:176,1
    - Dst: stat
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:173,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:179,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:180,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:191,1
    - Dst: umount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:197,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:220,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:213,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:241,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:292,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:339,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:356,1
    - Dst: pivot_root
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:338,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:261,1
    - Dst: rmdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:358,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:309,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 151
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 389
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 389
    functionName: main
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root-static.c
    functionUses: []
    functionsReached:
    - lstat
    - path_is_on_readonly_fs
    - S_ISLNK
    - mkdir
    - S_ISDIR
    - execl
    - close
    - strcmp
    - open
    - stat
    - umount
    - realpath
    - err
    - snprintf
    - assert
    - mount
    - sysroot_is_configured_ro
    - getpid
    - rmdir
    - resolve_deploy_path
    - pivot_root
    - chdir
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - new_root
    - put_old
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: pivot_root
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root-static.c
    functionUses: []
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: 'static int pivot_root (const char *new_root, const char *put_old) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read_proc_cmdline
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:118,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:124,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:120,1
    - Dst: find_proc_cmdline_key
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:121,1
    - Dst: snprintf
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:123,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:125,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:126,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:127,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:128,1
    - Dst: realpath
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:129,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:133,1
    - Dst: strlen
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:137,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:131,1
    - Dst: sd_journal_send
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:138,1
    - Dst: SD_ID128_FORMAT_VAL
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:140,1
    - Dst: stat
      Src: /src/ostree/src/switchroot/ostree-prepare-root-static.c:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - root_mountpoint
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 145
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 145
    functionName: resolve_deploy_path
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root-static.c
    functionUses: []
    functionsReached:
    - stat
    - strlen
    - read_proc_cmdline
    - realpath
    - lstat
    - snprintf
    - err
    - S_ISLNK
    - SD_ID128_FORMAT_VAL
    - sd_journal_send
    - find_proc_cmdline_key
    - errx
    linkageType: ''
    returnType: char*
    signature: 'static char *resolve_deploy_path (const char *root_mountpoint) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-remount.c:48,1
    - Dst: statvfs
      Src: /src/ostree/src/switchroot/ostree-remount.c:57,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-remount.c:67,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/switchroot/ostree-remount.c:53,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:73,1
    - Dst: printf
      Src: /src/ostree/src/switchroot/ostree-remount.c:78,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - target
    - writable
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: do_remount
    functionSourceFile: /src/ostree/src/switchroot/ostree-remount.c
    functionUses: []
    functionsReached:
    - lstat
    - err
    - S_ISLNK
    - printf
    - mount
    - statvfs
    linkageType: ''
    returnType: void
    signature: 'static void do_remount (const char *target, bool writable) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: selinux_restorecon
      Src: /src/ostree/src/switchroot/ostree-remount.c:97,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/src/switchroot/ostree-remount.c:112,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:102,1
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/src/switchroot/ostree-remount.c:119,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:113,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:121,1
    - Dst: g_build_filename
      Src: /src/ostree/src/switchroot/ostree-remount.c:128,1
    - Dst: g_build_filename
      Src: /src/ostree/src/switchroot/ostree-remount.c:129,1
    - Dst: relabel_dir_for_upper
      Src: /src/ostree/src/switchroot/ostree-remount.c:130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 3
    argNames:
    - upper_path
    - real_path
    - is_dir
    argTypes:
    - char*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: relabel_dir_for_upper
    functionSourceFile: /src/ostree/src/switchroot/ostree-remount.c
    functionUses: []
    functionsReached:
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - err
    - g_build_filename
    - glnx_dirfd_iterator_init_at
    - relabel_dir_for_upper
    - selinux_restorecon
    linkageType: ''
    returnType: void
    signature: 'static void relabel_dir_for_upper (const char *upper_path, const char
      *real_path, gboolean is_dir) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/ostree/src/switchroot/ostree-remount.c:141,1
    - Dst: g_file_test
      Src: /src/ostree/src/switchroot/ostree-remount.c:190,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:202,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:198,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:195,1
    - Dst: relabel_dir_for_upper
      Src: /src/ostree/src/switchroot/ostree-remount.c:209,1
    - Dst: setns
      Src: /src/ostree/src/switchroot/ostree-remount.c:211,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:212,1
    - Dst: do_remount
      Src: /src/ostree/src/switchroot/ostree-remount.c:233,1
    - Dst: ot_variant_read_fd
      Src: /src/ostree/src/switchroot/ostree-remount.c:162,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:157,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-remount.c:164,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/switchroot/ostree-remount.c:170,1
    - Dst: g_file_test
      Src: /src/ostree/src/switchroot/ostree-remount.c:191,1
    - Dst: umount2
      Src: /src/ostree/src/switchroot/ostree-remount.c:204,1
    - Dst: g_build_filename
      Src: /src/ostree/src/switchroot/ostree-remount.c:208,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-remount.c:205,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-remount.c:201,1
    - Dst: path_is_on_readonly_fs
      Src: /src/ostree/src/switchroot/ostree-remount.c:219,1
    - Dst: open
      Src: /src/ostree/src/switchroot/ostree-remount.c:150,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/switchroot/ostree-remount.c:216,1
    - Dst: g_variant_dict_lookup
      Src: /src/ostree/src/switchroot/ostree-remount.c:231,1
    - Dst: close
      Src: /src/ostree/src/switchroot/ostree-remount.c:153,1
    - Dst: g_variant_dict_new
      Src: /src/ostree/src/switchroot/ostree-remount.c:167,1
    - Dst: unshare
      Src: /src/ostree/src/switchroot/ostree-remount.c:197,1
    - Dst: open
      Src: /src/ostree/src/switchroot/ostree-remount.c:193,1
    - Dst: exit
      Src: /src/ostree/src/switchroot/ostree-remount.c:224,1
    - Dst: do_remount
      Src: /src/ostree/src/switchroot/ostree-remount.c:239,1
    - Dst: do_remount
      Src: /src/ostree/src/switchroot/ostree-remount.c:250,1
    - Dst: exit
      Src: /src/ostree/src/switchroot/ostree-remount.c:252,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 253
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 253
    functionName: main
    functionSourceFile: /src/ostree/src/switchroot/ostree-remount.c
    functionUses: []
    functionsReached:
    - ot_variant_read_fd
    - g_variant_dict_lookup
    - umount2
    - setns
    - err
    - unshare
    - path_is_on_readonly_fs
    - close
    - g_build_filename
    - mount
    - relabel_dir_for_upper
    - g_file_test
    - exit
    - do_remount
    - errx
    - g_variant_dict_new
    - open
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-system-generator.c:41,1
    - Dst: ostree_cmd__private__
      Src: /src/ostree/src/switchroot/ostree-system-generator.c:50,1
    - Dst: exit
      Src: /src/ostree/src/switchroot/ostree-system-generator.c:55,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-system-generator.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/ostree/src/switchroot/ostree-system-generator.c
    functionUses: []
    functionsReached:
    - exit
    - errx
    - ostree_cmd__private__
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: otcore_get_ostree_target
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:125,1
    - Dst: snprintf
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:130,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:131,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:126,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:128,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:132,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:133,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:134,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:135,1
    - Dst: realpath
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:136,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:138,1
    - Dst: ot_journal_send
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:143,1
    - Dst: SD_ID128_FORMAT_VAL
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:145,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:140,1
    - Dst: strlen
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:142,1
    - Dst: stat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:139,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 2
    argNames:
    - kernel_cmdline
    - root_mountpoint
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: resolve_deploy_path
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root.c
    functionUses: []
    functionsReached:
    - stat
    - strlen
    - ot_journal_send
    - realpath
    - lstat
    - otcore_get_ostree_target
    - snprintf
    - err
    - S_ISLNK
    - SD_ID128_FORMAT_VAL
    - errx
    linkageType: ''
    returnType: char*
    signature: 'static char *resolve_deploy_path (const char *kernel_cmdline, const
      char *root_mountpoint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:105,1
    - Dst: g_key_file_new
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:106,1
    - Dst: g_key_file_get_boolean
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:113,1
    - Dst: g_key_file_load_from_file
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:107,1
    - Dst: g_printerr
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sysroot
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: sysroot_is_configured_ro
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_get_boolean
    - g_build_filename
    - g_key_file_load_from_file
    - g_printerr
    linkageType: ''
    returnType: bool
    signature: 'static bool sysroot_is_configured_ro (const char *sysroot) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_path_get_basename
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:174,1
    - Dst: load_variant
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:180,1
    - Dst: strchr
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:175,1
    - Dst: load_variant
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:184,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:185,1
    - Dst: g_error_matches
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:188,1
    - Dst: glnx_throw
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:189,1
    - Dst: g_propagate_error
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:191,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:191,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:195,1
    - Dst: g_steal_pointer
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:196,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 5
    argNames:
    - root_mountpoint
    - deploy_path
    - commit_out
    - commitmeta_out
    - error
    argTypes:
    - char*
    - char*
    - GVariant**
    - GVariant**
    - GError**
    constantsTouched: []
    func_position:
      end: 199
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionName: load_commit_for_deploy
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_path_get_basename
    - g_error_matches
    - load_variant
    - g_steal_pointer
    - glnx_throw
    - strchr
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean load_commit_for_deploy (const char *root_mountpoint,
      const char *deploy_path, GVariant **commit_out, GVariant **commitmeta_out, GError
      **error) '
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:268,1
    - Dst: g_strdup
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:282,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:292,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:311,1
    - Dst: g_assert
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:333,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:455,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:543,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:663,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:365,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:368,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:382,1
    - Dst: g_variant_new
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:384,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:466,1
    - Dst: g_print
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:454,1
    - Dst: g_assert
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:495,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:594,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:626,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:695,1
    - Dst: chdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:686,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:450,1
    - Dst: g_malloc
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:468,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:459,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:469,1
    - Dst: realpath
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:325,1
    - Dst: glnx_basename
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:329,1
    - Dst: mkdirat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:336,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:462,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:521,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:527,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:702,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:422,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:375,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:421,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:445,1
    - Dst: load_commit_for_deploy
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:441,1
    - Dst: g_option_context_new
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:265,1
    - Dst: resolve_deploy_path
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:328,1
    - Dst: g_print
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:352,1
    - Dst: S_ISLNK
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:538,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:540,1
    - Dst: g_variant_get_data
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:680,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:713,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:297,1
    - Dst: otcore_load_composefs_config
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:309,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:446,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:448,1
    - Dst: g_build_filename
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:413,1
    - Dst: g_print
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:519,1
    - Dst: snprintf
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:536,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:683,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:705,1
    - Dst: glnx_opendirat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:291,1
    - Dst: mkdirat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:338,1
    - Dst: path_is_on_readonly_fs
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:355,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:424,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:423,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:443,1
    - Dst: g_build_filename
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:571,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:582,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:587,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:621,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:631,1
    - Dst: chdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:701,1
    - Dst: lcfs_mount_image
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:481,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:271,1
    - Dst: g_option_context_add_main_entries
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:266,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:327,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:316,1
    - Dst: ot_bin2hex
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:469,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:381,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:526,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:531,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:643,1
    - Dst: g_variant_get_size
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:682,1
    - Dst: g_option_context_parse
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:267,1
    - Dst: composefs_error_message
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:502,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:545,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:593,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:579,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:681,1
    - Dst: rmdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:704,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:286,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:372,1
    - Dst: mkdirat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:403,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:404,1
    - Dst: ot_variant_get_data
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:464,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:517,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:538,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:557,1
    - Dst: g_strdup_printf
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:586,1
    - Dst: g_print
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:473,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:486,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:463,1
    - Dst: g_variant_lookup_value
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:460,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:503,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:537,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:565,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:588,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:597,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:679,1
    - Dst: g_variant_new_boolean
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:488,1
    - Dst: otcore_load_config
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:295,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:302,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:318,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:530,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:620,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:641,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:672,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:673,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:696,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:339,1
    - Dst: sysroot_is_configured_ro
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:349,1
    - Dst: chdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:371,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:375,1
    - Dst: snprintf
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:542,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:544,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:564,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:642,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:687,1
    - Dst: exit
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:718,1
    - Dst: g_build_filename
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:572,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:640,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:654,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:679,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:337,1
    - Dst: g_print
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:356,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:485,1
    - Dst: g_build_filename
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:416,1
    - Dst: lstat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:608,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:671,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:698,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:699,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:715,1
    - Dst: mkdir
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:367,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:487,1
    - Dst: g_variant_new_string
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:457,1
    - Dst: g_assert
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:471,1
    - Dst: g_print
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:489,1
    - Dst: g_print
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:498,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:522,1
    - Dst: S_ISDIR
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:540,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:627,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:628,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:664,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:383,1
    - Dst: validate_signature
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:451,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:452,1
    - Dst: read_proc_cmdline
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:277,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:364,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:510,1
    - Dst: ot_keyfile_get_boolean_with_default
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:555,1
    - Dst: mkdirat
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:581,1
    - Dst: mount
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:595,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:674,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 304
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 719
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 719
    functionName: main
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root.c
    functionUses: []
    functionsReached:
    - glnx_file_replace_contents_at
    - lstat
    - g_variant_get_child_value
    - path_is_on_readonly_fs
    - glnx_shutil_mkdir_p_at
    - S_ISLNK
    - lcfs_mount_image
    - errx
    - mkdir
    - S_ISDIR
    - ot_variant_get_data
    - g_variant_new_string
    - otcore_load_composefs_config
    - otcore_load_config
    - mkdirat
    - g_variant_builder_add
    - exit
    - g_variant_new
    - g_print
    - ot_keyfile_get_boolean_with_default
    - g_variant_get_data_as_bytes
    - composefs_error_message
    - g_variant_get_data
    - g_option_context_new
    - realpath
    - glnx_opendirat
    - err
    - snprintf
    - g_variant_new_boolean
    - g_build_filename
    - mount
    - g_strdup_printf
    - g_variant_lookup_value
    - g_variant_builder_init
    - sysroot_is_configured_ro
    - g_variant_ref_sink
    - g_malloc
    - glnx_basename
    - load_commit_for_deploy
    - g_variant_get_size
    - g_variant_builder_end
    - g_strdup
    - G_VARIANT_TYPE
    - read_proc_cmdline
    - ot_bin2hex
    - rmdir
    - g_assert
    - validate_signature
    - g_option_context_parse
    - g_option_context_add_main_entries
    - resolve_deploy_path
    - G_N_ELEMENTS
    - chdir
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:156,1
    - Dst: g_file_get_contents
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:161,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:164,1
    - Dst: g_variant_new_from_data
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 5
    argNames:
    - root_mountpoint
    - digest
    - extension
    - type
    - error
    argTypes:
    - char*
    - char*
    - char*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: load_variant
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup_printf
    - g_file_get_contents
    - g_variant_new_from_data
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *load_variant (const char *root_mountpoint, const
      char *digest, const char *extension, const GVariantType *type, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:212,1
    - Dst: g_assert
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:219,1
    - Dst: g_assert
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:214,1
    - Dst: g_assert
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:213,1
    - Dst: g_variant_n_children
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:221,1
    - Dst: g_variant_get_child_value
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:224,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:225,1
    - Dst: otcore_validate_ed25519_signature
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:228,1
    - Dst: errx
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - data
    - signatures
    - pubkeys
    argTypes:
    - GBytes*
    - GVariant*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 237
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 237
    functionName: validate_signature
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root.c
    functionUses: []
    functionsReached:
    - otcore_validate_ed25519_signature
    - g_assert
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_get_data_as_bytes
    - errx
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_signature (GBytes *data, GVariant *signatures,
      GPtrArray *pubkeys) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/ostree/src/switchroot/ostree-prepare-root.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - errsv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: composefs_error_message
    functionSourceFile: /src/ostree/src/switchroot/ostree-prepare-root.c
    functionUses: []
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char*
    signature: 'static const char *composefs_error_message (int errsv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statvfs
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:45,1
    - Dst: err
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: path_is_on_readonly_fs
    functionSourceFile: /src/ostree/src/switchroot/ostree-mount-util.h
    functionUses: []
    functionsReached:
    - err
    - statvfs
    linkageType: ''
    returnType: int
    signature: 'static inline int path_is_on_readonly_fs (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: cleanup_free
    functionSourceFile: /src/ostree/src/switchroot/ostree-mount-util.h
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static inline void cleanup_free (void *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:117,1
    - Dst: close
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: touch_run_ostree
    functionSourceFile: /src/ostree/src/switchroot/ostree-mount-util.h
    functionUses: []
    functionsReached:
    - open
    - close
    linkageType: ''
    returnType: void
    signature: 'static inline void touch_run_ostree (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:54,1
    - Dst: strlen
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:69,1
    - Dst: getline
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:64,1
    - Dst: fclose
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:75,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionName: read_proc_cmdline
    functionSourceFile: /src/ostree/src/switchroot/ostree-mount-util.h
    functionUses: []
    functionsReached:
    - strlen
    - fclose
    - getline
    - fopen
    linkageType: ''
    returnType: char*
    signature: 'static inline char *read_proc_cmdline (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:89,1
    - Dst: strncmp
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:93,1
    - Dst: strdup
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:99,1
    - Dst: strndup
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:97,1
    - Dst: strchr
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:92,1
    - Dst: strspn
      Src: /src/ostree/src/switchroot/ostree-mount-util.h:103,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - cmdline
    - key
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 109
    functionName: find_proc_cmdline_key
    functionSourceFile: /src/ostree/src/switchroot/ostree-mount-util.h
    functionUses: []
    functionsReached:
    - strlen
    - strdup
    - strspn
    - strchr
    - strndup
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static inline char *find_proc_cmdline_key (const char *cmdline, const
      char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: GLnxConsoleRef
    functionSourceFile: /src/ostree/libglnx/glnx-console.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS struct GLnxConsoleRef '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_console_unlock
      Src: /src/ostree/libglnx/glnx-console.h:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - GLnxConsoleRef*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: glnx_console_ref_cleanup
    functionSourceFile: /src/ostree/libglnx/glnx-console.h
    functionUses: []
    functionsReached:
    - glnx_console_unlock
    linkageType: ''
    returnType: void
    signature: 'static inline void glnx_console_ref_cleanup (GLnxConsoleRef *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat_with_errno
      Src: /src/ostree/libglnx/glnx-dirfd.c:70,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-dirfd.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - dfd
    - path
    - follow
    - out_fd
    - error
    argTypes:
    - int
    - char*
    - gboolean
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: glnx_opendirat
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - glnx_opendirat_with_errno
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_opendirat (int dfd, const char *path, gboolean follow,
      int *out_fd, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-dirfd.c:157,1
    - Dst: readdir
      Src: /src/ostree/libglnx/glnx-dirfd.c:166,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-dirfd.c:158,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-dirfd.c:168,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/libglnx/glnx-dirfd.c:160,1
    - Dst: strcmp
      Src: /src/ostree/libglnx/glnx-dirfd.c:170,1
    - Dst: strcmp
      Src: /src/ostree/libglnx/glnx-dirfd.c:171,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 4
    argNames:
    - dfd_iter
    - out_dent
    - cancellable
    - error
    argTypes:
    - GLnxDirFdIterator*
    - struct dirent**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 174
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 174
    functionName: glnx_dirfd_iterator_next_dent
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - readdir
    - glnx_throw_errno_prefix
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_dirfd_iterator_next_dent (GLnxDirFdIterator *dfd_iter,
      struct dirent **out_dent, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_opendirat
      Src: /src/ostree/libglnx/glnx-dirfd.c:103,1
    - Dst: glnx_dirfd_iterator_init_take_fd
      Src: /src/ostree/libglnx/glnx-dirfd.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - dfd
    - path
    - follow
    - out_dfd_iter
    - error
    argTypes:
    - int
    - char*
    - gboolean
    - GLnxDirFdIterator*
    - GError**
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: glnx_dirfd_iterator_init_at
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - glnx_opendirat
    - glnx_dirfd_iterator_init_take_fd
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_dirfd_iterator_init_at (int dfd, const char *path, gboolean
      follow, GLnxDirFdIterator *out_dfd_iter, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-dirfd.c:211,1
    - Dst: glnx_fstatat
      Src: /src/ostree/libglnx/glnx-dirfd.c:223,1
    - Dst: IFTODT
      Src: /src/ostree/libglnx/glnx-dirfd.c:225,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/libglnx/glnx-dirfd.c:213,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 4
    argNames:
    - dfd_iter
    - out_dent
    - cancellable
    - error
    argTypes:
    - GLnxDirFdIterator*
    - struct dirent**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 230
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 230
    functionName: glnx_dirfd_iterator_next_dent_ensure_dtype
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - glnx_fstatat
    - g_return_val_if_fail
    - IFTODT
    - glnx_dirfd_iterator_next_dent
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_dirfd_iterator_next_dent_ensure_dtype (GLnxDirFdIterator
      *dfd_iter, struct dirent **out_dent, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-dirfd.c:283,1
    - Dst: g_random_int_range
      Src: /src/ostree/libglnx/glnx-dirfd.c:293,1
    - Dst: strlen
      Src: /src/ostree/libglnx/glnx-dirfd.c:284,1
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-dirfd.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 294
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 294
    functionName: glnx_gen_temp_name
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - strlen
    - g_random_int_range
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void glnx_gen_temp_name (gchar *tmpl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/ostree/libglnx/glnx-dirfd.c:381,1
    - Dst: g_get_tmp_dir
      Src: /src/ostree/libglnx/glnx-dirfd.c:381,1
    - Dst: glnx_mkdtempat
      Src: /src/ostree/libglnx/glnx-dirfd.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - tmpl
    - mode
    - out_tmpdir
    - error
    argTypes:
    - gchar*
    - int
    - GLnxTmpDir*
    - GError**
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: glnx_mkdtemp
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - glnx_mkdtempat
    - g_get_tmp_dir
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_mkdtemp (const gchar *tmpl, int mode, GLnxTmpDir *out_tmpdir,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/glnx-dirfd.c:395,1
    - Dst: glnx_close_fd
      Src: /src/ostree/libglnx/glnx-dirfd.c:396,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/libglnx/glnx-dirfd.c:403,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/glnx-dirfd.c:398,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/glnx-dirfd.c:397,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - tmpd
    - delete_dir
    - cancellable
    - error
    argTypes:
    - GLnxTmpDir*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 407
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 407
    functionName: _glnx_tmpdir_free
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpint
    - glnx_close_fd
    - glnx_shutil_rm_rf_at
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _glnx_tmpdir_free (GLnxTmpDir *tmpd, gboolean delete_dir,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _glnx_tmpdir_free
      Src: /src/ostree/libglnx/glnx-dirfd.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - tmpf
    argTypes:
    - GLnxTmpDir*
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: glnx_tmpdir_unset
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - _glnx_tmpdir_free
    linkageType: ''
    returnType: void
    signature: 'void glnx_tmpdir_unset (GLnxTmpDir *tmpf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-dirfd.c:49,1
    - Dst: openat
      Src: /src/ostree/libglnx/glnx-dirfd.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - dfd
    - path
    - follow
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: glnx_opendirat_with_errno
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - openat
    - glnx_dirfd_canonicalize
    linkageType: ''
    returnType: int
    signature: 'int glnx_opendirat_with_errno (int dfd, const char *path, gboolean
      follow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdopendir
      Src: /src/ostree/libglnx/glnx-dirfd.c:127,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-dirfd.c:129,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/glnx-dirfd.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - dfd
    - dfd_iter
    - error
    argTypes:
    - int*
    - GLnxDirFdIterator*
    - GError**
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: glnx_dirfd_iterator_init_take_fd
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - g_steal_fd
    - fdopendir
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_dirfd_iterator_init_take_fd (int *dfd, GLnxDirFdIterator
      *dfd_iter, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-dirfd.c:189,1
    - Dst: rewinddir
      Src: /src/ostree/libglnx/glnx-dirfd.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - dfd_iter
    argTypes:
    - GLnxDirFdIterator*
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: glnx_dirfd_iterator_rewind
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - rewinddir
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void glnx_dirfd_iterator_rewind (GLnxDirFdIterator *dfd_iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closedir
      Src: /src/ostree/libglnx/glnx-dirfd.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - dfd_iter
    argTypes:
    - GLnxDirFdIterator*
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: glnx_dirfd_iterator_clear
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - closedir
    linkageType: ''
    returnType: void
    signature: 'void glnx_dirfd_iterator_clear (GLnxDirFdIterator *dfd_iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-dirfd.c:266,1
    - Dst: g_strdup
      Src: /src/ostree/libglnx/glnx-dirfd.c:268,1
    - Dst: g_strdup_printf
      Src: /src/ostree/libglnx/glnx-dirfd.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - dfd
    - path
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: glnx_fdrel_abspath
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strdup_printf
    - glnx_dirfd_canonicalize
    linkageType: ''
    returnType: char*
    signature: 'char *glnx_fdrel_abspath (int dfd, const char *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-dirfd.c:312,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-dirfd.c:313,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-dirfd.c:314,1
    - Dst: g_strdup
      Src: /src/ostree/libglnx/glnx-dirfd.c:318,1
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-dirfd.c:316,1
    - Dst: glnx_gen_temp_name
      Src: /src/ostree/libglnx/glnx-dirfd.c:321,1
    - Dst: mkdirat
      Src: /src/ostree/libglnx/glnx-dirfd.c:328,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-dirfd.c:336,1
    - Dst: glnx_opendirat
      Src: /src/ostree/libglnx/glnx-dirfd.c:341,1
    - Dst: unlinkat
      Src: /src/ostree/libglnx/glnx-dirfd.c:344,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-dirfd.c:352,1
    - Dst: g_set_error
      Src: /src/ostree/libglnx/glnx-dirfd.c:357,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/glnx-dirfd.c:351,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - dfd
    - tmpl
    - mode
    - out_tmpdir
    - error
    argTypes:
    - int
    - char*
    - int
    - GLnxTmpDir*
    - GError**
    constantsTouched: []
    func_position:
      end: 360
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 360
    functionName: glnx_mkdtempat
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - glnx_opendirat
    - g_steal_fd
    - mkdirat
    - g_steal_pointer
    - glnx_gen_temp_name
    - glnx_throw_errno_prefix
    - g_return_val_if_fail
    - unlinkat
    - glnx_dirfd_canonicalize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_mkdtempat (int dfd, const char *tmpl, int mode, GLnxTmpDir
      *out_tmpdir, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _glnx_tmpdir_free
      Src: /src/ostree/libglnx/glnx-dirfd.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - tmpf
    - cancellable
    - error
    argTypes:
    - GLnxTmpDir*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: glnx_tmpdir_delete
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.c
    functionUses: []
    functionsReached:
    - _glnx_tmpdir_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_tmpdir_delete (GLnxTmpDir *tmpf, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/ostree/libglnx/glnx-local-alloc.h:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: glnx_local_obj_unref
    functionSourceFile: /src/ostree/libglnx/glnx-local-alloc.h
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static inline void glnx_local_obj_unref (void *v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/libglnx/glnx-local-alloc.h:63,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/glnx-local-alloc.h:65,1
    - Dst: close
      Src: /src/ostree/libglnx/glnx-local-alloc.h:69,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/glnx-local-alloc.h:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - fdp
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: glnx_close_fd
    functionSourceFile: /src/ostree/libglnx/glnx-local-alloc.h
    functionUses: []
    functionsReached:
    - g_assert
    - g_steal_fd
    - close
    linkageType: ''
    returnType: void
    signature: 'static inline void glnx_close_fd (int *fdp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:53,1
    - Dst: g_strescape
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:53,1
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:55,1
    - Dst: g_strconcat
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:54,1
    - Dst: g_strescape
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:54,1
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:56,1
    - Dst: g_strdup_printf
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:57,1
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:59,1
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:60,1
    - Dst: g_assertion_message
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:61,1
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:62,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: 63
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: _glnx_assertion_message_cmpstrv
    functionSourceFile: /src/ostree/libglnx/glnx-backport-testutils.c
    functionUses: []
    functionsReached:
    - g_strescape
    - g_free
    - g_strdup_printf
    - g_assertion_message
    - g_strconcat
    linkageType: ''
    returnType: void
    signature: 'void _glnx_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: va_start
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:131,1
    - Dst: g_test_incomplete
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:137,1
    - Dst: g_vasprintf
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:132,1
    - Dst: va_end
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:133,1
    - Dst: g_test_skip_printf
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:142,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:144,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:135,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: _glnx_test_incomplete_printf
    functionSourceFile: /src/ostree/libglnx/glnx-backport-testutils.c
    functionUses: []
    functionsReached:
    - va_end
    - GLIB_CHECK_VERSION
    - g_test_message
    - g_test_incomplete
    - g_vasprintf
    - va_start
    - g_test_skip_printf
    linkageType: ''
    returnType: void
    signature: 'void _glnx_test_incomplete_printf (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:81,1
    - Dst: va_end
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:83,1
    - Dst: g_vasprintf
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:82,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:87,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: _glnx_test_message_safe
    functionSourceFile: /src/ostree/libglnx/glnx-backport-testutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_vasprintf
    - strtok_r
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void _glnx_test_message_safe (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:99,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:104,1
    - Dst: va_end
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:101,1
    - Dst: g_test_fail
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:105,1
    - Dst: g_vasprintf
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: _glnx_test_fail_printf
    functionSourceFile: /src/ostree/libglnx/glnx-backport-testutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_test_message
    - g_vasprintf
    - va_start
    - g_test_fail
    linkageType: ''
    returnType: void
    signature: 'void _glnx_test_fail_printf (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:116,1
    - Dst: g_test_skip
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:120,1
    - Dst: va_end
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:118,1
    - Dst: g_vasprintf
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: _glnx_test_skip_printf
    functionSourceFile: /src/ostree/libglnx/glnx-backport-testutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_test_skip
    - g_vasprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void _glnx_test_skip_printf (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setrlimit
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:155,1
    - Dst: prctl
      Src: /src/ostree/libglnx/glnx-backport-testutils.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: _glnx_test_disable_crash_reporting
    functionSourceFile: /src/ostree/libglnx/glnx-backport-testutils.c
    functionUses: []
    functionsReached:
    - prctl
    - setrlimit
    linkageType: ''
    returnType: void
    signature: 'void _glnx_test_disable_crash_reporting (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/ostree/libglnx/glnx-backports.h:107,1
    - Dst: memcpy
      Src: /src/ostree/libglnx/glnx-backports.h:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - byte_size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: _glnx_memdup2
    functionSourceFile: /src/ostree/libglnx/glnx-backports.h
    functionUses: []
    functionsReached:
    - memcpy
    - g_malloc
    linkageType: ''
    returnType: gpointer
    signature: 'static inline gpointer _glnx_memdup2 (gconstpointer mem, gsize byte_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fdp
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: _glnx_steal_fd
    functionSourceFile: /src/ostree/libglnx/glnx-backports.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int _glnx_steal_fd (int *fdp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/ostree/libglnx/glnx-console.c:55,1
    - Dst: g_once_init_leave
      Src: /src/ostree/libglnx/glnx-console.c:58,1
    - Dst: isatty
      Src: /src/ostree/libglnx/glnx-console.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: glnx_stdout_is_tty
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - isatty
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_stdout_is_tty (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/ostree/libglnx/glnx-console.c:89,1
    - Dst: fd_columns
      Src: /src/ostree/libglnx/glnx-console.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: glnx_console_columns
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - fd_columns
    linkageType: ''
    returnType: guint
    signature: 'guint glnx_console_columns (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/ostree/libglnx/glnx-console.c:129,1
    - Dst: fd_lines
      Src: /src/ostree/libglnx/glnx-console.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: glnx_console_lines
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - fd_lines
    - G_UNLIKELY
    linkageType: ''
    returnType: guint
    signature: 'guint glnx_console_lines (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-console.c:156,1
    - Dst: signal
      Src: /src/ostree/libglnx/glnx-console.c:167,1
    - Dst: g_once_init_enter
      Src: /src/ostree/libglnx/glnx-console.c:165,1
    - Dst: glnx_stdout_is_tty
      Src: /src/ostree/libglnx/glnx-console.c:159,1
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-console.c:157,1
    - Dst: g_once_init_leave
      Src: /src/ostree/libglnx/glnx-console.c:168,1
    - Dst: fwrite
      Src: /src/ostree/libglnx/glnx-console.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - console
    argTypes:
    - GLnxConsoleRef*
    constantsTouched: []
    func_position:
      end: 175
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 175
    functionName: glnx_console_lock
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - signal
    - g_once_init_enter
    - fwrite
    - glnx_stdout_is_tty
    - g_once_init_leave
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void glnx_console_lock (GLnxConsoleRef *console) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-console.c:305,1
    - Dst: text_percent_internal
      Src: /src/ostree/libglnx/glnx-console.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - text
    - percentage
    argTypes:
    - char*
    - guint
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: glnx_console_progress_text_percent
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - text_percent_internal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void glnx_console_progress_text_percent (const char *text, guint percentage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-console.c:327,1
    - Dst: glnx_console_progress_text_percent
      Src: /src/ostree/libglnx/glnx-console.c:333,1
    - Dst: g_strdup_printf
      Src: /src/ostree/libglnx/glnx-console.c:330,1
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-console.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - text
    - current
    - total
    argTypes:
    - char*
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 334
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 334
    functionName: glnx_console_progress_n_items
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - glnx_console_progress_text_percent
    - g_strdup_printf
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void glnx_console_progress_n_items (const char *text, guint current,
      guint total) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/ostree/libglnx/glnx-console.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: fd_lines
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: 'static int fd_lines (int fd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/ostree/libglnx/glnx-console.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: fd_columns
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: 'static int fd_columns (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - signum
    argTypes:
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: on_sigwinch
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_sigwinch (G_GNUC_UNUSED int signum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/ostree/libglnx/glnx-console.c:187,1
    - Dst: fwrite
      Src: /src/ostree/libglnx/glnx-console.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - padbuf
    - padbuf_len
    - n
    argTypes:
    - char*
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: printpad
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: void
    signature: 'static void printpad (const char *padbuf, guint padbuf_len, guint
      n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_percent_internal
      Src: /src/ostree/libglnx/glnx-console.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: glnx_console_text
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - text_percent_internal
    linkageType: ''
    returnType: void
    signature: 'void glnx_console_text (const char *text) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ostree/libglnx/glnx-console.c:225,1
    - Dst: glnx_stdout_is_tty
      Src: /src/ostree/libglnx/glnx-console.c:227,1
    - Dst: fflush
      Src: /src/ostree/libglnx/glnx-console.c:238,1
    - Dst: fwrite
      Src: /src/ostree/libglnx/glnx-console.c:253,1
    - Dst: printpad
      Src: /src/ostree/libglnx/glnx-console.c:279,1
    - Dst: fflush
      Src: /src/ostree/libglnx/glnx-console.c:285,1
    - Dst: fputc
      Src: /src/ostree/libglnx/glnx-console.c:234,1
    - Dst: fprintf
      Src: /src/ostree/libglnx/glnx-console.c:235,1
    - Dst: fputc
      Src: /src/ostree/libglnx/glnx-console.c:237,1
    - Dst: MIN
      Src: /src/ostree/libglnx/glnx-console.c:262,1
    - Dst: fputc
      Src: /src/ostree/libglnx/glnx-console.c:280,1
    - Dst: fprintf
      Src: /src/ostree/libglnx/glnx-console.c:230,1
    - Dst: MIN
      Src: /src/ostree/libglnx/glnx-console.c:261,1
    - Dst: fwrite
      Src: /src/ostree/libglnx/glnx-console.c:266,1
    - Dst: fputc
      Src: /src/ostree/libglnx/glnx-console.c:277,1
    - Dst: fwrite
      Src: /src/ostree/libglnx/glnx-console.c:247,1
    - Dst: printpad
      Src: /src/ostree/libglnx/glnx-console.c:257,1
    - Dst: printpad
      Src: /src/ostree/libglnx/glnx-console.c:278,1
    - Dst: fprintf
      Src: /src/ostree/libglnx/glnx-console.c:281,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/libglnx/glnx-console.c:198,1
    - Dst: glnx_console_columns
      Src: /src/ostree/libglnx/glnx-console.c:219,1
    - Dst: glnx_stdout_is_tty
      Src: /src/ostree/libglnx/glnx-console.c:202,1
    - Dst: fputc
      Src: /src/ostree/libglnx/glnx-console.c:267,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 2
    argNames:
    - text
    - percentage
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 286
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 286
    functionName: text_percent_internal
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - strlen
    - fflush
    - printpad
    - glnx_console_columns
    - fprintf
    - fputc
    - fwrite
    - MIN
    - glnx_stdout_is_tty
    - g_get_monotonic_time
    linkageType: ''
    returnType: void
    signature: 'static void text_percent_internal (const char *text, int percentage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-console.c:352,1
    - Dst: fputc
      Src: /src/ostree/libglnx/glnx-console.c:356,1
    - Dst: g_return_if_fail
      Src: /src/ostree/libglnx/glnx-console.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - console
    argTypes:
    - GLnxConsoleRef*
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: glnx_console_unlock
    functionSourceFile: /src/ostree/libglnx/glnx-console.c
    functionUses: []
    functionsReached:
    - fputc
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void glnx_console_unlock (GLnxConsoleRef *console) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pp
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: (g_steal_pointer)
    functionSourceFile: /src/ostree/libglnx/glnx-backport-autoptr.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'static inline gpointer (g_steal_pointer) (gpointer pp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: glnx_dirfd_canonicalize
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS /** * glnx_dirfd_canonicalize: * @fd: A directory file
      descriptor * * It''s often convenient in programs to use `-1` for "unassigned
      fd", * and also because gobject-introspection doesn''t support `AT_FDCWD`, *
      libglnx honors `-1` to mean `AT_FDCWD`. This small inline function * canonicalizes
      `-1 -> AT_FDCWD`. */ static inline int glnx_dirfd_canonicalize (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_tmpdir_delete
      Src: /src/ostree/libglnx/glnx-dirfd.h:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - tmpf
    argTypes:
    - GLnxTmpDir*
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: glnx_tmpdir_cleanup
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.h
    functionUses: []
    functionsReached:
    - glnx_tmpdir_delete
    linkageType: ''
    returnType: void
    signature: 'static inline void glnx_tmpdir_cleanup (GLnxTmpDir *tmpf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-dirfd.h:109,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-dirfd.h:112,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/libglnx/glnx-dirfd.h:111,1
    - Dst: mkdirat
      Src: /src/ostree/libglnx/glnx-dirfd.h:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - dfd
    - path
    - mode
    - error
    argTypes:
    - int
    - char*
    - mode_t
    - GError**
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: glnx_ensure_dir
    functionSourceFile: /src/ostree/libglnx/glnx-dirfd.h
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - glnx_throw_errno_prefix
    - TEMP_FAILURE_RETRY
    - mkdirat
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean glnx_ensure_dir (int dfd, const char *path,
      mode_t mode, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ostree/libglnx/glnx-errors.c:45,1
    - Dst: g_error_new_valist
      Src: /src/ostree/libglnx/glnx-errors.c:46,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-errors.c:48,1
    - Dst: g_propagate_error
      Src: /src/ostree/libglnx/glnx-errors.c:48,1
    - Dst: va_end
      Src: /src/ostree/libglnx/glnx-errors.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - error
    - fmt
    - '...'
    argTypes:
    - GError**
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: glnx_throw
    functionSourceFile: /src/ostree/libglnx/glnx-errors.c
    functionUses: []
    functionsReached:
    - va_end
    - va_start
    - g_error_new_valist
    - g_steal_pointer
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_throw (GError **error, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ostree/libglnx/glnx-errors.c:86,1
    - Dst: va_end
      Src: /src/ostree/libglnx/glnx-errors.c:88,1
    - Dst: glnx_real_set_prefix_error_va
      Src: /src/ostree/libglnx/glnx-errors.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - error
    - fmt
    - '...'
    argTypes:
    - GError**
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: glnx_prefix_error
    functionSourceFile: /src/ostree/libglnx/glnx-errors.c
    functionUses: []
    functionsReached:
    - va_end
    - glnx_real_set_prefix_error_va
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_prefix_error (GError **error, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/ostree/libglnx/glnx-errors.c:101,1
    - Dst: g_strerror
      Src: /src/ostree/libglnx/glnx-errors.c:104,1
    - Dst: g_io_error_from_errno
      Src: /src/ostree/libglnx/glnx-errors.c:103,1
    - Dst: glnx_real_set_prefix_error_va
      Src: /src/ostree/libglnx/glnx-errors.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - error
    - errsv
    - format
    - args
    argTypes:
    - GError**
    - gint
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: glnx_real_set_prefix_error_from_errno_va
    functionSourceFile: /src/ostree/libglnx/glnx-errors.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_set_error_literal
    - glnx_real_set_prefix_error_va
    - g_io_error_from_errno
    linkageType: ''
    returnType: void
    signature: 'void glnx_real_set_prefix_error_from_errno_va (GError **error, gint
      errsv, const char *format, va_list args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-errors.c:60,1
    - Dst: g_string_new
      Src: /src/ostree/libglnx/glnx-errors.c:61,1
    - Dst: g_string_append
      Src: /src/ostree/libglnx/glnx-errors.c:63,1
    - Dst: g_string_append_vprintf
      Src: /src/ostree/libglnx/glnx-errors.c:62,1
    - Dst: g_string_append
      Src: /src/ostree/libglnx/glnx-errors.c:64,1
    - Dst: g_string_free
      Src: /src/ostree/libglnx/glnx-errors.c:65,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-errors.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - error
    - format
    - args
    argTypes:
    - GError*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: glnx_real_set_prefix_error_va
    functionSourceFile: /src/ostree/libglnx/glnx-errors.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_steal_pointer
    - g_string_append_vprintf
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'void glnx_real_set_prefix_error_va (GError *error, const char *format,
      va_list args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ostree/libglnx/glnx-errors.c:125,1
    - Dst: glnx_real_set_prefix_error_from_errno_va
      Src: /src/ostree/libglnx/glnx-errors.c:126,1
    - Dst: va_end
      Src: /src/ostree/libglnx/glnx-errors.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - error
    - fmt
    - '...'
    argTypes:
    - GError**
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: glnx_throw_errno_prefix
    functionSourceFile: /src/ostree/libglnx/glnx-errors.c
    functionUses: []
    functionsReached:
    - glnx_real_set_prefix_error_from_errno_va
    - va_end
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_throw_errno_prefix (GError **error, const char *fmt,
      ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-backports.c:31,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-backports.c:32,1
    - Dst: g_str_equal
      Src: /src/ostree/libglnx/glnx-backports.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - strv
    - str
    argTypes:
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: glnx_strv_contains
    functionSourceFile: /src/ostree/libglnx/glnx-backports.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_strv_contains (const gchar * const *strv, const gchar
      *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/ostree/libglnx/glnx-backports.c:53,1
    - Dst: g_object_unref
      Src: /src/ostree/libglnx/glnx-backports.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - object_ptr
    - new_object
    argTypes:
    - GObject**
    - GObject*
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: glnx_set_object
    functionSourceFile: /src/ostree/libglnx/glnx-backports.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_set_object (GObject **object_ptr, GObject *new_object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-backports.c:69,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-backports.c:70,1
    - Dst: g_str_equal
      Src: /src/ostree/libglnx/glnx-backports.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - strv1
    - strv2
    argTypes:
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: _glnx_strv_equal
    functionSourceFile: /src/ostree/libglnx/glnx-backports.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _glnx_strv_equal (const gchar * const *strv1, const gchar
      * const *strv2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/ostree/libglnx/glnx-xattrs.c:51,1
    - Dst: strlen
      Src: /src/ostree/libglnx/glnx-xattrs.c:57,1
    - Dst: g_string_append
      Src: /src/ostree/libglnx/glnx-xattrs.c:62,1
    - Dst: g_slist_prepend
      Src: /src/ostree/libglnx/glnx-xattrs.c:56,1
    - Dst: g_slist_sort
      Src: /src/ostree/libglnx/glnx-xattrs.c:60,1
    - Dst: g_string_append_c
      Src: /src/ostree/libglnx/glnx-xattrs.c:63,1
    - Dst: g_slist_free
      Src: /src/ostree/libglnx/glnx-xattrs.c:66,1
    - Dst: g_string_free
      Src: /src/ostree/libglnx/glnx-xattrs.c:67,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - xattr_string
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: canonicalize_xattrs
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_new
    - g_string_append
    - g_string_append_c
    - g_slist_sort
    - g_slist_prepend
    - g_string_free
    - g_slist_free
    linkageType: ''
    returnType: char*
    signature: 'static char *canonicalize_xattrs (char *xattr_string, size_t len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/libglnx/glnx-xattrs.c:154,1
    - Dst: flistxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:163,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/libglnx/glnx-xattrs.c:156,1
    - Dst: llistxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:161,1
    - Dst: g_variant_builder_init
      Src: /src/ostree/libglnx/glnx-xattrs.c:156,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/libglnx/glnx-xattrs.c:169,1
    - Dst: g_malloc
      Src: /src/ostree/libglnx/glnx-xattrs.c:175,1
    - Dst: llistxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:177,1
    - Dst: flistxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:179,1
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-xattrs.c:184,1
    - Dst: canonicalize_xattrs
      Src: /src/ostree/libglnx/glnx-xattrs.c:192,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-xattrs.c:184,1
    - Dst: g_variant_builder_end
      Src: /src/ostree/libglnx/glnx-xattrs.c:199,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-xattrs.c:205,1
    - Dst: g_variant_builder_clear
      Src: /src/ostree/libglnx/glnx-xattrs.c:208,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/libglnx/glnx-xattrs.c:201,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/libglnx/glnx-xattrs.c:187,1
    - Dst: read_xattr_name_array
      Src: /src/ostree/libglnx/glnx-xattrs.c:194,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 5
    argNames:
    - path
    - fd
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - char*
    - int
    - GVariant**
    - G_GNUC_UNUSED*
    - GError**
    constantsTouched: []
    func_position:
      end: 210
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 210
    functionName: get_xattrs_impl
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - llistxattr
    - read_xattr_name_array
    - g_free
    - canonicalize_xattrs
    - g_assert
    - g_variant_builder_clear
    - flistxattr
    - g_steal_pointer
    - g_variant_builder_init
    - g_variant_ref_sink
    - g_malloc
    - glnx_set_prefix_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_xattrs_impl (const char *path, int fd, GVariant
      **out_xattrs, G_GNUC_UNUSED GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/glnx-xattrs.c:253,1
    - Dst: get_xattrs_impl
      Src: /src/ostree/libglnx/glnx-xattrs.c:264,1
    - Dst: get_xattrs_impl
      Src: /src/ostree/libglnx/glnx-xattrs.c:255,1
    - Dst: snprintf
      Src: /src/ostree/libglnx/glnx-xattrs.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - dfd
    - name
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: glnx_dfd_name_get_all_xattrs
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - get_xattrs_impl
    - snprintf
    - G_IN_SET
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_dfd_name_get_all_xattrs (int dfd, const char *name,
      GVariant **out_xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/libglnx/glnx-xattrs.c:342,1
    - Dst: fsetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:353,1
    - Dst: g_variant_get_child
      Src: /src/ostree/libglnx/glnx-xattrs.c:347,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-xattrs.c:353,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/libglnx/glnx-xattrs.c:351,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-xattrs.c:354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - fd
    - xattrs
    - cancellable
    - error
    argTypes:
    - int
    - GVariant*
    - G_GNUC_UNUSED*
    - GError**
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: glnx_fd_set_all_xattrs
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - fsetxattr
    - g_variant_get_fixed_array
    - g_variant_n_children
    - TEMP_FAILURE_RETRY
    - g_variant_get_child
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_fd_set_all_xattrs (int fd, GVariant *xattrs, G_GNUC_UNUSED
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ostree/libglnx/glnx-xattrs.c:377,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-xattrs.c:381,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-xattrs.c:380,1
    - Dst: lgetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:380,1
    - Dst: g_malloc
      Src: /src/ostree/libglnx/glnx-xattrs.c:383,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-xattrs.c:384,1
    - Dst: lgetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:384,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-xattrs.c:385,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/libglnx/glnx-xattrs.c:387,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-xattrs.c:387,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - dfd
    - subpath
    - attribute
    - error
    argTypes:
    - int
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 388
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 388
    functionName: glnx_lgetxattrat
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - glnx_null_throw_errno_prefix
    - lgetxattr
    - snprintf
    - TEMP_FAILURE_RETRY
    - g_steal_pointer
    - g_bytes_new_take
    - g_malloc
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *glnx_lgetxattrat (int dfd, const char *subpath, const char
      *attribute, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/ostree/libglnx/glnx-xattrs.c:36,1
    - Dst: g_variant_new_from_data
      Src: /src/ostree/libglnx/glnx-xattrs.c:38,1
    - Dst: G_VARIANT_TYPE
      Src: /src/ostree/libglnx/glnx-xattrs.c:38,1
    - Dst: g_bytes_ref
      Src: /src/ostree/libglnx/glnx-xattrs.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: variant_new_ay_bytes
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - g_bytes_ref
    - g_variant_new_from_data
    - g_bytes_get_data
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *variant_new_ay_bytes (GBytes *bytes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/libglnx/glnx-xattrs.c:83,1
    - Dst: fgetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:95,1
    - Dst: strlen
      Src: /src/ostree/libglnx/glnx-xattrs.c:87,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/libglnx/glnx-xattrs.c:103,1
    - Dst: lgetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:97,1
    - Dst: g_malloc
      Src: /src/ostree/libglnx/glnx-xattrs.c:109,1
    - Dst: fgetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:111,1
    - Dst: lgetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:113,1
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-xattrs.c:118,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-xattrs.c:118,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-xattrs.c:128,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/libglnx/glnx-xattrs.c:128,1
    - Dst: g_variant_builder_add
      Src: /src/ostree/libglnx/glnx-xattrs.c:129,1
    - Dst: g_variant_new_bytestring
      Src: /src/ostree/libglnx/glnx-xattrs.c:130,1
    - Dst: variant_new_ay_bytes
      Src: /src/ostree/libglnx/glnx-xattrs.c:131,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/libglnx/glnx-xattrs.c:124,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 6
    argNames:
    - path
    - fd
    - xattrs
    - len
    - builder
    - error
    argTypes:
    - char*
    - int
    - char*
    - size_t
    - GVariantBuilder*
    - GError**
    constantsTouched: []
    func_position:
      end: 137
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 137
    functionName: read_xattr_name_array
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - strlen
    - fgetxattr
    - g_free
    - g_assert
    - lgetxattr
    - variant_new_ay_bytes
    - g_variant_builder_add
    - g_steal_pointer
    - g_variant_new_bytestring
    - g_bytes_new_take
    - g_malloc
    - glnx_set_prefix_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_xattr_name_array (const char *path, int fd, const
      char *xattrs, size_t len, GVariantBuilder *builder, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/ostree/libglnx/glnx-xattrs.c:274,1
    - Dst: g_variant_get_fixed_array
      Src: /src/ostree/libglnx/glnx-xattrs.c:283,1
    - Dst: lsetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:285,1
    - Dst: g_variant_get_child
      Src: /src/ostree/libglnx/glnx-xattrs.c:279,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-xattrs.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - path
    - xattrs
    - cancellable
    - error
    argTypes:
    - char*
    - GVariant*
    - G_GNUC_UNUSED*
    - GError**
    constantsTouched: []
    func_position:
      end: 290
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 290
    functionName: set_all_xattrs_for_path
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - lsetxattr
    - g_variant_get_fixed_array
    - g_variant_n_children
    - g_variant_get_child
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_all_xattrs_for_path (const char *path, GVariant
      *xattrs, G_GNUC_UNUSED GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_xattrs_impl
      Src: /src/ostree/libglnx/glnx-xattrs.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - out_xattrs
    - cancellable
    - error
    argTypes:
    - int
    - GVariant**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: glnx_fd_get_all_xattrs
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - get_xattrs_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_fd_get_all_xattrs (int fd, GVariant **out_xattrs, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/glnx-xattrs.c:310,1
    - Dst: set_all_xattrs_for_path
      Src: /src/ostree/libglnx/glnx-xattrs.c:321,1
    - Dst: snprintf
      Src: /src/ostree/libglnx/glnx-xattrs.c:320,1
    - Dst: set_all_xattrs_for_path
      Src: /src/ostree/libglnx/glnx-xattrs.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - dfd
    - name
    - xattrs
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GVariant*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: glnx_dfd_name_set_all_xattrs
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - snprintf
    - G_IN_SET
    - set_all_xattrs_for_path
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_dfd_name_set_all_xattrs (int dfd, const char *name,
      GVariant *xattrs, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-xattrs.c:405,1
    - Dst: fgetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:405,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-xattrs.c:406,1
    - Dst: g_malloc
      Src: /src/ostree/libglnx/glnx-xattrs.c:408,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-xattrs.c:409,1
    - Dst: fgetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:409,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-xattrs.c:410,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/libglnx/glnx-xattrs.c:412,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-xattrs.c:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - attribute
    - error
    argTypes:
    - int
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: glnx_fgetxattr_bytes
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - fgetxattr
    - glnx_null_throw_errno_prefix
    - TEMP_FAILURE_RETRY
    - g_steal_pointer
    - g_bytes_new_take
    - g_malloc
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *glnx_fgetxattr_bytes (int fd, const char *attribute, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ostree/libglnx/glnx-xattrs.c:437,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-xattrs.c:439,1
    - Dst: lsetxattr
      Src: /src/ostree/libglnx/glnx-xattrs.c:439,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-xattrs.c:440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 7
    argNames:
    - dfd
    - subpath
    - attribute
    - value
    - len
    - flags
    - error
    argTypes:
    - int
    - char*
    - char*
    - guint8*
    - gsize
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 443
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 443
    functionName: glnx_lsetxattrat
    functionSourceFile: /src/ostree/libglnx/glnx-xattrs.c
    functionUses: []
    functionsReached:
    - snprintf
    - lsetxattr
    - TEMP_FAILURE_RETRY
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_lsetxattrat (int dfd, const char *subpath, const char
      *attribute, const guint8 *value, gsize len, int flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-backport-autocleanups.h:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: g_autoptr_cleanup_generic_gfree
    functionSourceFile: /src/ostree/libglnx/glnx-backport-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/ostree/libglnx/glnx-backport-autocleanups.h:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: g_autoptr_cleanup_gstring_free
    functionSourceFile: /src/ostree/libglnx/glnx-backport-autocleanups.h
    functionUses: []
    functionsReached:
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static inline void g_autoptr_cleanup_gstring_free (GString *string) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: renameat2
      Src: /src/ostree/libglnx/glnx-fdio.c:129,1
    - Dst: glnx_gen_temp_name
      Src: /src/ostree/libglnx/glnx-fdio.c:151,1
    - Dst: renameat
      Src: /src/ostree/libglnx/glnx-fdio.c:155,1
    - Dst: glnx_strjoina
      Src: /src/ostree/libglnx/glnx-fdio.c:145,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/glnx-fdio.c:133,1
    - Dst: renameat
      Src: /src/ostree/libglnx/glnx-fdio.c:158,1
    - Dst: renameat
      Src: /src/ostree/libglnx/glnx-fdio.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - olddirfd
    - oldpath
    - newdirfd
    - newpath
    argTypes:
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 165
    functionName: glnx_renameat2_exchange
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - renameat
    - glnx_gen_temp_name
    - G_IN_SET
    - renameat2
    - glnx_strjoina
    linkageType: ''
    returnType: int
    signature: 'int glnx_renameat2_exchange (int olddirfd, const char *oldpath, int
      newdirfd, const char *newpath) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open_tmpfile_core
      Src: /src/ostree/libglnx/glnx-fdio.c:293,1
    - Dst: g_clear_pointer
      Src: /src/ostree/libglnx/glnx-fdio.c:298,1
    - Dst: unlinkat
      Src: /src/ostree/libglnx/glnx-fdio.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - flags
    - dir
    - out_tmpf
    - error
    argTypes:
    - int
    - char*
    - GLnxTmpfile*
    - GError**
    constantsTouched: []
    func_position:
      end: 303
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 303
    functionName: glnx_open_anonymous_tmpfile_full
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - unlinkat
    - open_tmpfile_core
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_open_anonymous_tmpfile_full (int flags, const char *dir,
      GLnxTmpfile *out_tmpf, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:741,1
    - Dst: write
      Src: /src/ostree/libglnx/glnx-fdio.c:749,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:742,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 769
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 769
    functionName: glnx_loop_write
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - write
    linkageType: ''
    returnType: int
    signature: 'int glnx_loop_write(int fd, const void *buf, size_t nbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_file_replace_contents_with_perms_at
      Src: /src/ostree/libglnx/glnx-fdio.c:1091,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 7
    argNames:
    - dfd
    - subpath
    - buf
    - len
    - flags
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - guint8*
    - gsize
    - GLnxFileReplaceFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1094
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1094
    functionName: glnx_file_replace_contents_at
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - glnx_file_replace_contents_with_perms_at
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_file_replace_contents_at (int dfd, const char *subpath,
      const guint8 *buf, gsize len, GLnxFileReplaceFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: copy_symlink_at
      Src: /src/ostree/libglnx/glnx-fdio.c:984,1
    - Dst: strdupa
      Src: /src/ostree/libglnx/glnx-fdio.c:1006,1
    - Dst: glnx_fd_set_all_xattrs
      Src: /src/ostree/libglnx/glnx-fdio.c:1030,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1019,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1014,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1040,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1050,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/libglnx/glnx-fdio.c:1058,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/libglnx/glnx-fdio.c:1008,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/libglnx/glnx-fdio.c:999,1
    - Dst: dirname
      Src: /src/ostree/libglnx/glnx-fdio.c:1007,1
    - Dst: glnx_regfile_copy_bytes
      Src: /src/ostree/libglnx/glnx-fdio.c:1013,1
    - Dst: fdatasync
      Src: /src/ostree/libglnx/glnx-fdio.c:1049,1
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-fdio.c:966,1
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-fdio.c:967,1
    - Dst: glnx_fstatat
      Src: /src/ostree/libglnx/glnx-fdio.c:976,1
    - Dst: S_ISLNK
      Src: /src/ostree/libglnx/glnx-fdio.c:982,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/libglnx/glnx-fdio.c:969,1
    - Dst: S_ISREG
      Src: /src/ostree/libglnx/glnx-fdio.c:989,1
    - Dst: g_set_error
      Src: /src/ostree/libglnx/glnx-fdio.c:991,1
    - Dst: fchown
      Src: /src/ostree/libglnx/glnx-fdio.c:1018,1
    - Dst: glnx_fd_get_all_xattrs
      Src: /src/ostree/libglnx/glnx-fdio.c:1026,1
    - Dst: fchmod
      Src: /src/ostree/libglnx/glnx-fdio.c:1039,1
    - Dst: futimens
      Src: /src/ostree/libglnx/glnx-fdio.c:1045,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 58
    argCount: 8
    argNames:
    - src_dfd
    - src_subpath
    - src_stbuf
    - dest_dfd
    - dest_subpath
    - copyflags
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - struct stat*
    - int
    - char*
    - GLnxFileCopyFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1062
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1062
    functionName: glnx_file_copy_at
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - S_ISLNK
    - fdatasync
    - glnx_throw_errno_prefix
    - dirname
    - glnx_dirfd_canonicalize
    - glnx_fd_set_all_xattrs
    - glnx_fstatat
    - glnx_open_tmpfile_linkable_at
    - glnx_regfile_copy_bytes
    - glnx_link_tmpfile_at
    - glnx_openat_rdonly
    - g_set_error
    - futimens
    - copy_symlink_at
    - g_cancellable_set_error_if_cancelled
    - fchmod
    - strdupa
    - fchown
    - glnx_fd_get_all_xattrs
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_file_copy_at (int src_dfd, const char *src_subpath,
      const struct stat *src_stbuf, int dest_dfd, const char *dest_subpath, GLnxFileCopyFlags
      copyflags, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: renameat2
      Src: /src/ostree/libglnx/glnx-fdio.c:77,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/glnx-fdio.c:79,1
    - Dst: unlinkat
      Src: /src/ostree/libglnx/glnx-fdio.c:95,1
    - Dst: linkat
      Src: /src/ostree/libglnx/glnx-fdio.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - olddirfd
    - oldpath
    - newdirfd
    - newpath
    argTypes:
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 99
    functionName: glnx_renameat2_noreplace
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - unlinkat
    - G_IN_SET
    - renameat2
    - linkat
    linkageType: ''
    returnType: int
    signature: 'int glnx_renameat2_noreplace (int olddirfd, const char *oldpath, int
      newdirfd, const char *newpath) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fd_readall_malloc
      Src: /src/ostree/libglnx/glnx-fdio.c:569,1
    - Dst: g_bytes_new_take
      Src: /src/ostree/libglnx/glnx-fdio.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - cancellable
    - error
    argTypes:
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 573
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 573
    functionName: glnx_fd_readall_bytes
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - glnx_fd_readall_malloc
    - g_bytes_new_take
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *glnx_fd_readall_bytes (int fd, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/ostree/libglnx/glnx-fdio.c:62,1
    - Dst: ferror
      Src: /src/ostree/libglnx/glnx-fdio.c:64,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:63,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - f
    - error
    argTypes:
    - FILE*
    - GError**
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: glnx_stdio_file_flush
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - ferror
    - fflush
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_stdio_file_flush (FILE *f, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_renameat2_noreplace
      Src: /src/ostree/libglnx/glnx-fdio.c:107,1
    - Dst: unlinkat
      Src: /src/ostree/libglnx/glnx-fdio.c:112,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 6
    argNames:
    - olddirfd
    - oldpath
    - newdirfd
    - newpath
    - ignore_eexist
    - error
    argTypes:
    - int
    - char*
    - int
    - char*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: rename_file_noreplace_at
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - glnx_renameat2_noreplace
    - unlinkat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean rename_file_noreplace_at (int olddirfd, const char
      *oldpath, int newdirfd, const char *newpath, gboolean ignore_eexist, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_close_fd
      Src: /src/ostree/libglnx/glnx-fdio.c:179,1
    - Dst: unlinkat
      Src: /src/ostree/libglnx/glnx-fdio.c:183,1
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-fdio.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - tmpf
    argTypes:
    - GLnxTmpfile*
    constantsTouched: []
    func_position:
      end: 187
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 187
    functionName: glnx_tmpfile_clear
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - glnx_close_fd
    - g_free
    - unlinkat
    linkageType: ''
    returnType: void
    signature: 'void glnx_tmpfile_clear (GLnxTmpfile *tmpf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_open_anonymous_tmpfile_full
      Src: /src/ostree/libglnx/glnx-fdio.c:317,1
    - Dst: getenv
      Src: /src/ostree/libglnx/glnx-fdio.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - flags
    - out_tmpf
    - error
    argTypes:
    - int
    - GLnxTmpfile*
    - GError**
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: glnx_open_anonymous_tmpfile
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - getenv
    - glnx_open_anonymous_tmpfile_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_open_anonymous_tmpfile (int flags, GLnxTmpfile *out_tmpf,
      GError **error) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:790,1
    - Dst: lseek
      Src: /src/ostree/libglnx/glnx-fdio.c:798,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:792,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:791,1
    - Dst: lseek
      Src: /src/ostree/libglnx/glnx-fdio.c:797,1
    - Dst: ioctl
      Src: /src/ostree/libglnx/glnx-fdio.c:800,1
    - Dst: lseek
      Src: /src/ostree/libglnx/glnx-fdio.c:803,1
    - Dst: lseek
      Src: /src/ostree/libglnx/glnx-fdio.c:805,1
    - Dst: fstat
      Src: /src/ostree/libglnx/glnx-fdio.c:817,1
    - Dst: copy_file_range
      Src: /src/ostree/libglnx/glnx-fdio.c:834,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/glnx-fdio.c:845,1
    - Dst: sendfile
      Src: /src/ostree/libglnx/glnx-fdio.c:873,1
    - Dst: glnx_loop_write
      Src: /src/ostree/libglnx/glnx-fdio.c:917,1
    - Dst: read
      Src: /src/ostree/libglnx/glnx-fdio.c:911,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/glnx-fdio.c:876,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/glnx-fdio.c:924,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.c:911,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 84
    argCount: 3
    argNames:
    - fdf
    - fdt
    - max_bytes
    argTypes:
    - int
    - int
    - off_t
    constantsTouched: []
    func_position:
      end: 932
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 932
    functionName: glnx_regfile_copy_bytes
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - sendfile
    - g_assert_cmpint
    - fstat
    - lseek
    - ioctl
    - TEMP_FAILURE_RETRY
    - glnx_loop_write
    - copy_file_range
    - read
    - G_IN_SET
    - g_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: 'int glnx_regfile_copy_bytes (int fdf, int fdt, off_t max_bytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-fdio.c:633,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-fdio.c:646,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/libglnx/glnx-fdio.c:641,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/libglnx/glnx-fdio.c:636,1
    - Dst: glnx_fd_readall_utf8
      Src: /src/ostree/libglnx/glnx-fdio.c:640,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 5
    argNames:
    - dfd
    - subpath
    - out_len
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 647
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 647
    functionName: glnx_file_get_contents_utf8_at
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - glnx_fd_readall_utf8
    - g_steal_pointer
    - glnx_openat_rdonly
    - glnx_dirfd_canonicalize
    linkageType: ''
    returnType: char*
    signature: 'char *glnx_file_get_contents_utf8_at (int dfd, const char *subpath,
      gsize *out_len, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/libglnx/glnx-fdio.c:697,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.c:701,1
    - Dst: glnx_dfd_name_get_all_xattrs
      Src: /src/ostree/libglnx/glnx-fdio.c:708,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:702,1
    - Dst: symlinkat
      Src: /src/ostree/libglnx/glnx-fdio.c:701,1
    - Dst: glnx_dfd_name_set_all_xattrs
      Src: /src/ostree/libglnx/glnx-fdio.c:712,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.c:717,1
    - Dst: fchownat
      Src: /src/ostree/libglnx/glnx-fdio.c:717,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:720,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 8
    argNames:
    - src_dfd
    - src_subpath
    - src_stbuf
    - dest_dfd
    - dest_subpath
    - copyflags
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - struct stat*
    - int
    - char*
    - GLnxFileCopyFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 723
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 723
    functionName: copy_symlink_at
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - glnx_dfd_name_set_all_xattrs
    - glnx_dfd_name_get_all_xattrs
    - glnx_readlinkat_malloc
    - symlinkat
    - fchownat
    - TEMP_FAILURE_RETRY
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copy_symlink_at (int src_dfd, const char *src_subpath,
      const struct stat *src_stbuf, int dest_dfd, const char *dest_subpath, GLnxFileCopyFlags
      copyflags, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fd_readall_malloc
      Src: /src/ostree/libglnx/glnx-fdio.c:594,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-fdio.c:609,1
    - Dst: g_set_error
      Src: /src/ostree/libglnx/glnx-fdio.c:600,1
    - Dst: g_utf8_validate
      Src: /src/ostree/libglnx/glnx-fdio.c:598,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - out_len
    - cancellable
    - error
    argTypes:
    - int
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 610
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 610
    functionName: glnx_fd_readall_utf8
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - glnx_fd_readall_malloc
    - g_steal_pointer
    - g_set_error
    - g_utf8_validate
    linkageType: ''
    returnType: char*
    signature: 'char *glnx_fd_readall_utf8 (int fd, gsize *out_len, GCancellable *cancellable,
      GError **error) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strdupa
      Src: /src/ostree/libglnx/glnx-fdio.c:1122,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1177,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1181,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1188,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.c:1196,1
    - Dst: strlen
      Src: /src/ostree/libglnx/glnx-fdio.c:1144,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/libglnx/glnx-fdio.c:1154,1
    - Dst: fstat
      Src: /src/ostree/libglnx/glnx-fdio.c:1187,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.c:1176,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.c:1180,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/libglnx/glnx-fdio.c:1139,1
    - Dst: dirname
      Src: /src/ostree/libglnx/glnx-fdio.c:1123,1
    - Dst: glnx_try_fallocate
      Src: /src/ostree/libglnx/glnx-fdio.c:1146,1
    - Dst: glnx_loop_write
      Src: /src/ostree/libglnx/glnx-fdio.c:1149,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1150,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1170,1
    - Dst: futimens
      Src: /src/ostree/libglnx/glnx-fdio.c:1196,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/libglnx/glnx-fdio.c:1201,1
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-fdio.c:1130,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.c:1169,1
    - Dst: fchown
      Src: /src/ostree/libglnx/glnx-fdio.c:1176,1
    - Dst: fchmod
      Src: /src/ostree/libglnx/glnx-fdio.c:1180,1
    - Dst: fdatasync
      Src: /src/ostree/libglnx/glnx-fdio.c:1169,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:1197,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 68
    argCount: 10
    argNames:
    - dfd
    - subpath
    - buf
    - len
    - mode
    - uid
    - gid
    - flags
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - guint8*
    - gsize
    - mode_t
    - uid_t
    - gid_t
    - GLnxFileReplaceFlags
    - G_GNUC_UNUSED*
    - GError**
    constantsTouched: []
    func_position:
      end: 1206
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1206
    functionName: glnx_file_replace_contents_with_perms_at
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - strlen
    - futimens
    - glnx_throw_errno_prefix
    - fstat
    - glnx_fstatat_allow_noent
    - glnx_loop_write
    - TEMP_FAILURE_RETRY
    - fchmod
    - strdupa
    - fdatasync
    - glnx_link_tmpfile_at
    - glnx_open_tmpfile_linkable_at
    - dirname
    - fchown
    - glnx_try_fallocate
    - glnx_dirfd_canonicalize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_file_replace_contents_with_perms_at (int dfd, const
      char *subpath, const guint8 *buf, gsize len, mode_t mode, uid_t uid, gid_t gid,
      GLnxFileReplaceFlags flags, G_GNUC_UNUSED GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:276,1
    - Dst: open_tmpfile_core
      Src: /src/ostree/libglnx/glnx-fdio.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - dfd
    - subpath
    - flags
    - out_tmpf
    - error
    argTypes:
    - int
    - char*
    - int
    - GLnxTmpfile*
    - GError**
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: glnx_open_tmpfile_linkable_at
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - open_tmpfile_core
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_open_tmpfile_linkable_at (int dfd, const char *subpath,
      int flags, GLnxTmpfile *out_tmpf, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:444,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:445,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/libglnx/glnx-fdio.c:451,1
    - Dst: DECIMAL_STR_MAX
      Src: /src/ostree/libglnx/glnx-fdio.c:457,1
    - Dst: strlen
      Src: /src/ostree/libglnx/glnx-fdio.c:457,1
    - Dst: snprintf
      Src: /src/ostree/libglnx/glnx-fdio.c:458,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/libglnx/glnx-fdio.c:460,1
    - Dst: glnx_close_fd
      Src: /src/ostree/libglnx/glnx-fdio.c:464,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/glnx-fdio.c:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - tmpf
    - error
    argTypes:
    - GLnxTmpfile*
    - GError**
    constantsTouched: []
    func_position:
      end: 467
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 467
    functionName: glnx_tmpfile_reopen_rdonly
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - strlen
    - g_steal_fd
    - snprintf
    - DECIMAL_STR_MAX
    - glnx_close_fd
    - glnx_openat_rdonly
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_tmpfile_reopen_rdonly (GLnxTmpfile *tmpf, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.c:491,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:493,1
    - Dst: openat
      Src: /src/ostree/libglnx/glnx-fdio.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - dfd
    - path
    - follow
    - out_fd
    - error
    argTypes:
    - int
    - char*
    - gboolean
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 496
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 496
    functionName: glnx_openat_rdonly
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - TEMP_FAILURE_RETRY
    - openat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_openat_rdonly (int dfd, const char *path, gboolean follow,
      int *out_fd, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: glnx_fstat
      Src: /src/ostree/libglnx/glnx-fdio.c:508,1
    - Dst: MIN
      Src: /src/ostree/libglnx/glnx-fdio.c:522,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/libglnx/glnx-fdio.c:524,1
    - Dst: S_ISREG
      Src: /src/ostree/libglnx/glnx-fdio.c:512,1
    - Dst: g_malloc
      Src: /src/ostree/libglnx/glnx-fdio.c:517,1
    - Dst: read
      Src: /src/ostree/libglnx/glnx-fdio.c:529,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/libglnx/glnx-fdio.c:530,1
    - Dst: G_UNLIKELY
      Src: /src/ostree/libglnx/glnx-fdio.c:531,1
    - Dst: glnx_null_throw_errno
      Src: /src/ostree/libglnx/glnx-fdio.c:532,1
    - Dst: g_realloc
      Src: /src/ostree/libglnx/glnx-fdio.c:538,1
    - Dst: g_realloc
      Src: /src/ostree/libglnx/glnx-fdio.c:544,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-fdio.c:549,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 5
    argNames:
    - fd
    - out_len
    - nul_terminate
    - cancellable
    - error
    argTypes:
    - int
    - gsize*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 550
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 550
    functionName: glnx_fd_readall_malloc
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - g_realloc
    - G_UNLIKELY
    - MIN
    - g_cancellable_set_error_if_cancelled
    - g_steal_pointer
    - read
    - glnx_null_throw_errno
    - glnx_fstat
    - g_malloc
    linkageType: ''
    returnType: guint8*
    signature: 'static guint8 *glnx_fd_readall_malloc (int fd, gsize *out_len, gboolean
      nul_terminate, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-fdio.c:198,1
    - Dst: fchmod
      Src: /src/ostree/libglnx/glnx-fdio.c:216,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:210,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/glnx-fdio.c:209,1
    - Dst: openat
      Src: /src/ostree/libglnx/glnx-fdio.c:208,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:217,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/glnx-fdio.c:220,1
    - Dst: g_strconcat
      Src: /src/ostree/libglnx/glnx-fdio.c:229,1
    - Dst: glnx_gen_temp_name
      Src: /src/ostree/libglnx/glnx-fdio.c:233,1
    - Dst: openat
      Src: /src/ostree/libglnx/glnx-fdio.c:235,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/glnx-fdio.c:247,1
    - Dst: g_set_error
      Src: /src/ostree/libglnx/glnx-fdio.c:253,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:241,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-fdio.c:248,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 5
    argNames:
    - dfd
    - subpath
    - flags
    - out_tmpf
    - error
    argTypes:
    - int
    - char*
    - int
    - GLnxTmpfile*
    - GError**
    constantsTouched: []
    func_position:
      end: 256
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 256
    functionName: open_tmpfile_core
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_fd
    - glnx_dirfd_canonicalize
    - g_steal_pointer
    - fchmod
    - G_IN_SET
    - glnx_gen_temp_name
    - glnx_throw_errno_prefix
    - g_strconcat
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean open_tmpfile_core (int dfd, const char *subpath, int
      flags, GLnxTmpfile *out_tmpf, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strdupa
      Src: /src/ostree/libglnx/glnx-fdio.c:380,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:336,1
    - Dst: renameat
      Src: /src/ostree/libglnx/glnx-fdio.c:352,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:337,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/glnx-fdio.c:338,1
    - Dst: rename_file_noreplace_at
      Src: /src/ostree/libglnx/glnx-fdio.c:358,1
    - Dst: strlen
      Src: /src/ostree/libglnx/glnx-fdio.c:369,1
    - Dst: DECIMAL_STR_MAX
      Src: /src/ostree/libglnx/glnx-fdio.c:369,1
    - Dst: linkat
      Src: /src/ostree/libglnx/glnx-fdio.c:390,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:395,1
    - Dst: glnx_renameat
      Src: /src/ostree/libglnx/glnx-fdio.c:406,1
    - Dst: unlinkat
      Src: /src/ostree/libglnx/glnx-fdio.c:411,1
    - Dst: dirname
      Src: /src/ostree/libglnx/glnx-fdio.c:381,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:353,1
    - Dst: g_clear_pointer
      Src: /src/ostree/libglnx/glnx-fdio.c:364,1
    - Dst: snprintf
      Src: /src/ostree/libglnx/glnx-fdio.c:370,1
    - Dst: glnx_strjoina
      Src: /src/ostree/libglnx/glnx-fdio.c:382,1
    - Dst: g_set_error
      Src: /src/ostree/libglnx/glnx-fdio.c:402,1
    - Dst: glnx_gen_temp_name
      Src: /src/ostree/libglnx/glnx-fdio.c:388,1
    - Dst: linkat
      Src: /src/ostree/libglnx/glnx-fdio.c:417,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:422,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 5
    argNames:
    - tmpf
    - mode
    - target_dfd
    - target
    - error
    argTypes:
    - GLnxTmpfile*
    - GLnxLinkTmpfileReplaceMode
    - int
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 428
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 428
    functionName: glnx_link_tmpfile_at
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - strlen
    - g_set_error
    - g_clear_pointer
    - snprintf
    - DECIMAL_STR_MAX
    - rename_file_noreplace_at
    - renameat
    - glnx_renameat
    - strdupa
    - glnx_gen_temp_name
    - glnx_strjoina
    - linkat
    - glnx_throw_errno_prefix
    - dirname
    - g_return_val_if_fail
    - unlinkat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_link_tmpfile_at (GLnxTmpfile *tmpf, GLnxLinkTmpfileReplaceMode
      mode, int target_dfd, const char *target, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-fdio.c:665,1
    - Dst: readlinkat
      Src: /src/ostree/libglnx/glnx-fdio.c:671,1
    - Dst: g_malloc
      Src: /src/ostree/libglnx/glnx-fdio.c:670,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.c:671,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.c:673,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-fdio.c:678,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/libglnx/glnx-fdio.c:684,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - dfd
    - subpath
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - G_GNUC_UNUSED*
    - GError**
    constantsTouched: []
    func_position:
      end: 685
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 685
    functionName: glnx_readlinkat_malloc
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.c
    functionUses: []
    functionsReached:
    - glnx_null_throw_errno_prefix
    - TEMP_FAILURE_RETRY
    - g_assert_not_reached
    - readlinkat
    - g_steal_pointer
    - g_malloc
    - glnx_dirfd_canonicalize
    linkageType: ''
    returnType: char*
    signature: 'char *glnx_readlinkat_malloc (int dfd, const char *subpath, G_GNUC_UNUSED
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_prefix_error
      Src: /src/ostree/libglnx/glnx-errors.h:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - GLnxAutoErrorPrefix*
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: glnx_cleanup_auto_prefix_error
    functionSourceFile: /src/ostree/libglnx/glnx-errors.h
    functionUses: []
    functionsReached:
    - g_prefix_error
    linkageType: ''
    returnType: void
    signature: 'static inline void glnx_cleanup_auto_prefix_error (GLnxAutoErrorPrefix
      *prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/ostree/libglnx/glnx-errors.h:94,1
    - Dst: g_strerror
      Src: /src/ostree/libglnx/glnx-errors.h:96,1
    - Dst: g_io_error_from_errno
      Src: /src/ostree/libglnx/glnx-errors.h:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: glnx_throw_errno
    functionSourceFile: /src/ostree/libglnx/glnx-errors.h
    functionUses: []
    functionsReached:
    - g_strerror
    - g_set_error_literal
    - g_io_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean glnx_throw_errno (GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_next_dent_ensure_dtype
      Src: /src/ostree/libglnx/glnx-shutil.c:53,1
    - Dst: unlinkat_allow_noent
      Src: /src/ostree/libglnx/glnx-shutil.c:74,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/libglnx/glnx-shutil.c:62,1
    - Dst: glnx_shutil_rm_rf_children
      Src: /src/ostree/libglnx/glnx-shutil.c:66,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/libglnx/glnx-shutil.c:69,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 3
    argNames:
    - dfd_iter
    - cancellable
    - error
    argTypes:
    - GLnxDirFdIterator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 80
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 80
    functionName: glnx_shutil_rm_rf_children
    functionSourceFile: /src/ostree/libglnx/glnx-shutil.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - glnx_dirfd_iterator_next_dent_ensure_dtype
    - glnx_dirfd_iterator_init_at
    - unlinkat_allow_noent
    - glnx_shutil_rm_rf_children
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean glnx_shutil_rm_rf_children (GLnxDirFdIterator *dfd_iter,
      GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/ostree/libglnx/glnx-shutil.c:145,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/glnx-shutil.c:155,1
    - Dst: mkdirat
      Src: /src/ostree/libglnx/glnx-shutil.c:149,1
    - Dst: strrchr
      Src: /src/ostree/libglnx/glnx-shutil.c:157,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-shutil.c:162,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/libglnx/glnx-shutil.c:168,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-shutil.c:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 5
    argNames:
    - dfd
    - path
    - mode
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 189
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 189
    functionName: mkdir_p_at_internal
    functionSourceFile: /src/ostree/libglnx/glnx-shutil.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_assert
    - glnx_shutil_mkdir_p_at
    - mkdirat
    - g_cancellable_set_error_if_cancelled
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mkdir_p_at_internal (int dfd, char *path, int mode,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/libglnx/glnx-shutil.c:264,1
    - Dst: glnx_opendirat
      Src: /src/ostree/libglnx/glnx-shutil.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 6
    argNames:
    - dfd
    - path
    - mode
    - out_dfd
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - int
    - int*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: glnx_shutil_mkdir_p_at_open
    functionSourceFile: /src/ostree/libglnx/glnx-shutil.c
    functionUses: []
    functionsReached:
    - glnx_opendirat
    - glnx_shutil_mkdir_p_at
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_shutil_mkdir_p_at_open (int dfd, const char *path, int
      mode, int *out_dfd, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlinkat
      Src: /src/ostree/libglnx/glnx-shutil.c:36,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-shutil.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - dfd
    - path
    - flags
    - error
    argTypes:
    - int
    - char*
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: unlinkat_allow_noent
    functionSourceFile: /src/ostree/libglnx/glnx-shutil.c
    functionUses: []
    functionsReached:
    - unlinkat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unlinkat_allow_noent (int dfd, const char *path, int
      flags, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_canonicalize
      Src: /src/ostree/libglnx/glnx-shutil.c:99,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-shutil.c:118,1
    - Dst: glnx_unlinkat
      Src: /src/ostree/libglnx/glnx-shutil.c:114,1
    - Dst: glnx_dirfd_iterator_init_take_fd
      Src: /src/ostree/libglnx/glnx-shutil.c:123,1
    - Dst: openat
      Src: /src/ostree/libglnx/glnx-shutil.c:103,1
    - Dst: glnx_shutil_rm_rf_children
      Src: /src/ostree/libglnx/glnx-shutil.c:126,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/libglnx/glnx-shutil.c:127,1
    - Dst: unlinkat_allow_noent
      Src: /src/ostree/libglnx/glnx-shutil.c:129,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - dfd
    - path
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 134
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 134
    functionName: glnx_shutil_rm_rf_at
    functionSourceFile: /src/ostree/libglnx/glnx-shutil.c
    functionUses: []
    functionsReached:
    - glnx_unlinkat
    - openat
    - glnx_dirfd_canonicalize
    - glnx_prefix_error
    - unlinkat_allow_noent
    - glnx_throw_errno_prefix
    - glnx_shutil_rm_rf_children
    - glnx_dirfd_iterator_init_take_fd
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_shutil_rm_rf_at (int dfd, const char *path, GCancellable
      *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstatat
      Src: /src/ostree/libglnx/glnx-shutil.c:218,1
    - Dst: S_ISDIR
      Src: /src/ostree/libglnx/glnx-shutil.c:221,1
    - Dst: strdupa
      Src: /src/ostree/libglnx/glnx-shutil.c:225,1
    - Dst: mkdir_p_at_internal
      Src: /src/ostree/libglnx/glnx-shutil.c:227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 5
    argNames:
    - dfd
    - path
    - mode
    - cancellable
    - error
    argTypes:
    - int
    - char*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 231
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 231
    functionName: glnx_shutil_mkdir_p_at
    functionSourceFile: /src/ostree/libglnx/glnx-shutil.c
    functionUses: []
    functionsReached:
    - strdupa
    - fstatat
    - mkdir_p_at_internal
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_shutil_mkdir_p_at (int dfd, const char *path, int mode,
      GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/ostree/libglnx/glnx-lockfile.c:79,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/libglnx/glnx-lockfile.c:92,1
    - Dst: fcntl
      Src: /src/ostree/libglnx/glnx-lockfile.c:96,1
    - Dst: openat
      Src: /src/ostree/libglnx/glnx-lockfile.c:90,1
    - Dst: flock
      Src: /src/ostree/libglnx/glnx-lockfile.c:105,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-lockfile.c:108,1
    - Dst: glnx_fstat
      Src: /src/ostree/libglnx/glnx-lockfile.c:117,1
    - Dst: glnx_close_fd
      Src: /src/ostree/libglnx/glnx-lockfile.c:122,1
    - Dst: g_steal_pointer
      Src: /src/ostree/libglnx/glnx-lockfile.c:130,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/glnx-lockfile.c:131,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - dfd
    - p
    - operation
    - out_lock
    - error
    argTypes:
    - int
    - char*
    - int
    - GLnxLockFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 134
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 134
    functionName: glnx_make_lock_file
    functionSourceFile: /src/ostree/libglnx/glnx-lockfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - flock
    - g_steal_fd
    - g_steal_pointer
    - fcntl
    - glnx_throw_errno_prefix
    - glnx_fstat
    - glnx_close_fd
    - glnx_throw_errno
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glnx_make_lock_file(int dfd, const char *p, int operation,
      GLnxLockFile *out_lock, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/ostree/libglnx/glnx-lockfile.c:156,1
    - Dst: g_free
      Src: /src/ostree/libglnx/glnx-lockfile.c:172,1
    - Dst: unlinkat
      Src: /src/ostree/libglnx/glnx-lockfile.c:169,1
    - Dst: glnx_close_fd
      Src: /src/ostree/libglnx/glnx-lockfile.c:176,1
    - Dst: flock
      Src: /src/ostree/libglnx/glnx-lockfile.c:162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - f
    argTypes:
    - GLnxLockFile*
    constantsTouched: []
    func_position:
      end: 179
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 179
    functionName: glnx_release_lock_file
    functionSourceFile: /src/ostree/libglnx/glnx-lockfile.c
    functionUses: []
    functionsReached:
    - g_free
    - flock
    - fcntl
    - glnx_close_fd
    - unlinkat
    linkageType: ''
    returnType: void
    signature: 'void glnx_release_lock_file(GLnxLockFile *f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/ostree/libglnx/glnx-fdio.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - filep
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: glnx_stdio_file_cleanup
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.h
    functionUses: []
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static inline void glnx_stdio_file_cleanup (void *filep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.h:262,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.h:263,1
    - Dst: fstat
      Src: /src/ostree/libglnx/glnx-fdio.h:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - error
    argTypes:
    - int
    - struct stat*
    - GError**
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: glnx_fstat
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.h
    functionUses: []
    functionsReached:
    - glnx_throw_errno_prefix
    - TEMP_FAILURE_RETRY
    - fstat
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean glnx_fstat (int fd, struct stat *buf, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.h:339,1
    - Dst: fstatat
      Src: /src/ostree/libglnx/glnx-fdio.h:339,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.h:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - dfd
    - path
    - out_buf
    - flags
    - error
    argTypes:
    - int
    - char*
    - struct stat*
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: glnx_fstatat_allow_noent
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.h
    functionUses: []
    functionsReached:
    - fstatat
    - TEMP_FAILURE_RETRY
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean glnx_fstatat_allow_noent (int dfd, const char
      *path, struct stat *out_buf, int flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.h:363,1
    - Dst: renameat
      Src: /src/ostree/libglnx/glnx-fdio.h:363,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.h:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - src_dfd
    - src_path
    - dest_dfd
    - dest_path
    - error
    argTypes:
    - int
    - gchar*
    - int
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: glnx_renameat
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.h
    functionUses: []
    functionsReached:
    - renameat
    - TEMP_FAILURE_RETRY
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean glnx_renameat (int src_dfd, const gchar *src_path,
      int dest_dfd, const gchar *dest_path, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/ostree/libglnx/glnx-fdio.h:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: glnx_basename
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.h
    functionUses: []
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: G_BEGIN_DECLS*
    signature: 'G_BEGIN_DECLS /* Irritatingly, g_basename() which is what we want
      * is deprecated. */ static inline const char *glnx_basename (const char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.h:284,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.h:285,1
    - Dst: fchmod
      Src: /src/ostree/libglnx/glnx-fdio.h:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - mode
    - error
    argTypes:
    - int
    - mode_t
    - GError**
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: glnx_fchmod
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.h
    functionUses: []
    functionsReached:
    - fchmod
    - TEMP_FAILURE_RETRY
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean glnx_fchmod (int fd, mode_t mode, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.h:310,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.h:311,1
    - Dst: fstatat
      Src: /src/ostree/libglnx/glnx-fdio.h:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - dfd
    - path
    - buf
    - flags
    - error
    argTypes:
    - int
    - gchar*
    - struct stat*
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: glnx_fstatat
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.h
    functionUses: []
    functionsReached:
    - fstatat
    - TEMP_FAILURE_RETRY
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean glnx_fstatat (int dfd, const gchar *path, struct
      stat *buf, int flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/ostree/libglnx/glnx-fdio.h:380,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.h:381,1
    - Dst: unlinkat
      Src: /src/ostree/libglnx/glnx-fdio.h:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - dfd
    - path
    - flags
    - error
    argTypes:
    - int
    - gchar*
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: glnx_unlinkat
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.h
    functionUses: []
    functionsReached:
    - TEMP_FAILURE_RETRY
    - unlinkat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean glnx_unlinkat (int dfd, const gchar *path,
      int flags, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fallocate
      Src: /src/ostree/libglnx/glnx-fdio.h:233,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/glnx-fdio.h:235,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/glnx-fdio.h:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - fd
    - offset
    - size
    - error
    argTypes:
    - int
    - off_t
    - off_t
    - GError**
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: glnx_try_fallocate
    functionSourceFile: /src/ostree/libglnx/glnx-fdio.h
    functionUses: []
    functionsReached:
    - G_IN_SET
    - fallocate
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean glnx_try_fallocate (int fd, off_t offset, off_t
      size, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/ostree/libglnx/glnx-missing-syscall.h:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 5
    argNames:
    - oldfd
    - oldname
    - newfd
    - newname
    - flags
    argTypes:
    - int
    - char*
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: renameat2
    functionSourceFile: /src/ostree/libglnx/glnx-missing-syscall.h
    functionUses: []
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: 'static inline int renameat2(int oldfd, const char *oldname, int newfd,
      const char *newname, unsigned flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/ostree/libglnx/glnx-missing-syscall.h:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 6
    argNames:
    - fd_in
    - off_in
    - fd_out
    - off_out
    - len
    - flags
    argTypes:
    - int
    - loff_t*
    - int
    - loff_t*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: missing_copy_file_range
    functionSourceFile: /src/ostree/libglnx/glnx-missing-syscall.h
    functionUses: []
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ssize_t
    signature: 'static inline ssize_t missing_copy_file_range(int fd_in, loff_t *off_in,
      int fd_out, loff_t *off_out, size_t len, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/ostree/libglnx/glnx-missing-syscall.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: memfd_create
    functionSourceFile: /src/ostree/libglnx/glnx-missing-syscall.h
    functionUses: []
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: 'static inline int memfd_create(const char *name, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/libglnx-testlib.h:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - autoerror
    argTypes:
    - _GLnxTestAutoError*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: _glnx_test_auto_error_cleanup
    functionSourceFile: /src/ostree/libglnx/tests/libglnx-testlib.h
    functionUses: []
    functionsReached:
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static inline void _glnx_test_auto_error_cleanup (_GLnxTestAutoError
      *autoerror) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:44,1
    - Dst: g_malloc
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:46,1
    - Dst: memset
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:48,1
    - Dst: g_random_int
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:45,1
    - Dst: fsetxattr
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:50,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - name
    - error
    argTypes:
    - int
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: set_random_xattr_value
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-xattrs.c
    functionUses: []
    functionsReached:
    - fsetxattr
    - glnx_set_error_from_errno
    - g_random_int_range
    - memset
    - g_malloc
    - g_random_int
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_random_xattr_value (int fd, const char *name,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:184,1
    - Dst: do_write_run
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:196,1
    - Dst: glnx_dirfd_iterator_init_at
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:191,1
    - Dst: g_get_monotonic_time
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:187,1
    - Dst: do_read_run
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:201,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:207,1
    - Dst: GINT_TO_POINTER
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:209,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 210
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 210
    functionName: xattr_thread
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-xattrs.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - do_read_run
    - g_assert_no_error
    - glnx_dirfd_iterator_init_at
    - g_get_monotonic_time
    - do_write_run
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer xattr_thread (gpointer data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:79,1
    - Dst: g_printerr
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:93,1
    - Dst: g_random_int
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:83,1
    - Dst: openat
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:88,1
    - Dst: g_strdup_printf
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:84,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:98,1
    - Dst: add_random_xattrs
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:103,1
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:111,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:117,1
    - Dst: glnx_fd_get_all_xattrs
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:121,1
    - Dst: g_variant_get_child
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:127,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:132,1
    - Dst: g_variant_n_children
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:124,1
    - Dst: set_random_xattr_value
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:135,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:141,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 2
    argNames:
    - dfd_iter
    - error
    argTypes:
    - GLnxDirFdIterator*
    - GError**
    constantsTouched: []
    func_position:
      end: 144
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 144
    functionName: do_write_run
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-xattrs.c
    functionUses: []
    functionsReached:
    - glnx_fd_get_all_xattrs
    - g_variant_n_children
    - set_random_xattr_value
    - g_assert_not_reached
    - g_strdup_printf
    - g_str_has_prefix
    - g_variant_get_child
    - glnx_openat_rdonly
    - glnx_dirfd_iterator_next_dent
    - add_random_xattrs
    - glnx_set_error_from_errno
    - g_random_int
    - openat
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_write_run (GLnxDirFdIterator *dfd_iter, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glnx_dirfd_iterator_next_dent
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:155,1
    - Dst: glnx_fd_get_all_xattrs
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:165,1
    - Dst: g_variant_n_children
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:171,1
    - Dst: glnx_openat_rdonly
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:161,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 3
    argNames:
    - dfd_iter
    - out_n_read
    - error
    argTypes:
    - GLnxDirFdIterator*
    - guint*
    - GError**
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: do_read_run
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-xattrs.c
    functionUses: []
    functionsReached:
    - glnx_fd_get_all_xattrs
    - g_variant_n_children
    - glnx_openat_rdonly
    - glnx_dirfd_iterator_next_dent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_read_run (GLnxDirFdIterator *dfd_iter, guint *out_n_read,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:62,1
    - Dst: g_strdup_printf
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:67,1
    - Dst: g_random_int
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:62,1
    - Dst: set_random_xattr_value
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:69,1
    - Dst: g_random_int
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - error
    argTypes:
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: add_random_xattrs
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-xattrs.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - set_random_xattr_value
    - MIN
    - g_random_int
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_random_xattrs (int fd, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_get_num_processors
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:222,1
    - Dst: MAX
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:222,1
    - Dst: g_strdup_printf
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:231,1
    - Dst: getenv
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:232,1
    - Dst: glnx_mkdtempat
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:235,1
    - Dst: fsetxattr
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:240,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:240,1
    - Dst: g_test_skip
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:244,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:221,1
    - Dst: glnx_set_error_from_errno
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:249,1
    - Dst: g_thread_join
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:267,1
    - Dst: g_print
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:270,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:267,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:273,1
    - Dst: g_thread_join
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:265,1
    - Dst: g_thread_new
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:259,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 274
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 274
    functionName: test_xattr_races
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-xattrs.c
    functionUses: []
    functionsReached:
    - GLIB_CHECK_VERSION
    - strlen
    - fsetxattr
    - GPOINTER_TO_UINT
    - g_assert_no_error
    - g_get_num_processors
    - g_test_skip
    - g_strdup_printf
    - glnx_mkdtempat
    - g_thread_new
    - g_thread_join
    - getenv
    - MAX
    - g_print
    - glnx_set_error_from_errno
    linkageType: ''
    returnType: void
    signature: 'static void test_xattr_races (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:280,1
    - Dst: g_test_run
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:284,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-xattrs.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-xattrs.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:33,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:35,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:36,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:34,1
    - Dst: glnx_throw
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:33,1
    - Dst: glnx_null_throw
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:38,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:39,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:40,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:41,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:42,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:46,1
    - Dst: glnx_null_throw
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:44,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:47,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:48,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: test_error_throw
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-errors.c
    functionUses: []
    functionsReached:
    - g_assert
    - glnx_null_throw
    - g_assert_cmpstr
    - g_clear_error
    - glnx_throw
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_error_throw (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:146,1
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:150,1
    - Dst: glnx_throw
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: test_error_auto_throw_recurse
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-errors.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_throw
    linkageType: ''
    returnType: void
    signature: 'static void test_error_auto_throw_recurse (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:131,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: test_error_auto_nothrow
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-errors.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void test_error_auto_nothrow (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLNX_AUTO_PREFIX_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:139,1
    - Dst: glnx_throw
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: test_error_auto_throw
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-errors.c
    functionUses: []
    functionsReached:
    - GLNX_AUTO_PREFIX_ERROR
    - glnx_throw
    linkageType: ''
    returnType: void
    signature: 'static void test_error_auto_throw (GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:58,1
    - Dst: glnx_throw_errno
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:61,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:61,1
    - Dst: glnx_prefix_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:63,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:65,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:78,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:79,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:80,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:96,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:98,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:108,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:118,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:121,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:65,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:69,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:80,1
    - Dst: open
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:86,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:90,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:90,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:101,1
    - Dst: glnx_null_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:106,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:109,1
    - Dst: glnx_strjoina
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:121,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:125,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:119,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:62,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:63,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:64,1
    - Dst: glnx_prefix_error_null
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:77,1
    - Dst: open
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:71,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:75,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:76,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:81,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:92,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:97,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:110,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:120,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:121,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:66,1
    - Dst: glnx_null_throw_errno
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:74,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:84,1
    - Dst: g_strdup_printf
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:89,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:91,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:92,1
    - Dst: glnx_set_prefix_error_from_errno
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:95,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:97,1
    - Dst: open
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:103,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:107,1
    - Dst: g_str_has_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:113,1
    - Dst: open
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:115,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 77
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 126
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 126
    functionName: test_error_errno
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-errors.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - glnx_null_throw_errno_prefix
    - g_assert
    - glnx_set_prefix_error_from_errno
    - g_clear_error
    - glnx_prefix_error_null
    - g_strdup_printf
    - g_str_has_prefix
    - glnx_null_throw_errno
    - glnx_prefix_error
    - glnx_strjoina
    - glnx_throw_errno_prefix
    - g_assert_error
    - glnx_throw_errno
    - open
    linkageType: ''
    returnType: void
    signature: 'static void test_error_errno (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_error_auto_nothrow
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:159,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:160,1
    - Dst: test_error_auto_throw
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:161,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:163,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:162,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:164,1
    - Dst: test_error_auto_throw_recurse
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:165,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:166,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: test_error_auto
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-errors.c
    functionUses: []
    functionsReached:
    - test_error_auto_nothrow
    - g_assert_nonnull
    - test_error_auto_throw
    - g_assert_no_error
    - g_assert_cmpstr
    - g_clear_error
    - test_error_auto_throw_recurse
    linkageType: ''
    returnType: void
    signature: 'static void test_error_auto (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:174,1
    - Dst: g_test_run
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:180,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:176,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:178,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-errors.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-errors.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/ostree/libglnx/tests/testing-helper.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: test_assertion_failure_cmpfloat_with_epsilon
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_cmpfloat_with_epsilon
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_cmpfloat_with_epsilon (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstrv
      Src: /src/ostree/libglnx/tests/testing-helper.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: test_assertion_failure_cmpstrv_cmp
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_cmpstrv_cmp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip_printf
      Src: /src/ostree/libglnx/tests/testing-helper.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: test_skip_printf
    functionSourceFile: /src/ostree/libglnx/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_variant_ref_sink
      Src: /src/ostree/libglnx/tests/testing-helper.c:107,1
    - Dst: g_assert_cmpvariant
      Src: /src/ostree/libglnx/tests/testing-helper.c:110,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/libglnx/tests/testing-helper.c:108,1
    - Dst: g_variant_new
      Src: /src/ostree/libglnx/tests/testing-helper.c:108,1
    - Dst: g_variant_new
      Src: /src/ostree/libglnx/tests/testing-helper.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: test_assertion_failure_cmpvariant
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_assert_cmpvariant
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_cmpvariant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/ostree/libglnx/tests/testing-helper.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: test_skip
    functionSourceFile: /src/ostree/libglnx/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
      Src: /src/ostree/libglnx/tests/testing-helper.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: test_fail
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_fail
    linkageType: ''
    returnType: void
    signature: 'static void test_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: test_pass
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstrv
      Src: /src/ostree/libglnx/tests/testing-helper.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: test_assertion_failure_cmpstrv_nonnull_null
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_cmpstrv_nonnull_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/testing-helper.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: test_messages
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void test_messages (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstrv
      Src: /src/ostree/libglnx/tests/testing-helper.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: test_assertion_failure_cmpstrv_len
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_cmpstrv_len (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/ostree/libglnx/tests/testing-helper.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: test_assertion_failure_true
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_true (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpmem
      Src: /src/ostree/libglnx/tests/testing-helper.c:77,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/testing-helper.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: test_assertion_failure_mem_null_nonnull
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpmem
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_mem_null_nonnull (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_fail_printf
      Src: /src/ostree/libglnx/tests/testing-helper.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: test_fail_printf
    functionSourceFile: /src/ostree/libglnx/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/ostree/libglnx/tests/testing-helper.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: test_incomplete_printf
    functionSourceFile: /src/ostree/libglnx/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_assert_false
      Src: /src/ostree/libglnx/tests/testing-helper.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: test_assertion_failure_false
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_false (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpmem
      Src: /src/ostree/libglnx/tests/testing-helper.c:83,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/testing-helper.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: test_assertion_failure_mem_nonnull_null
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpmem
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_mem_nonnull_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete
      Src: /src/ostree/libglnx/tests/testing-helper.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: test_incomplete
    functionSourceFile: /src/ostree/libglnx/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/ostree/libglnx/tests/testing-helper.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: test_summary
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_summary (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/ostree/libglnx/tests/testing-helper.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: test_assertion_failure_nonnull
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_nonnull (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpmem
      Src: /src/ostree/libglnx/tests/testing-helper.c:89,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/testing-helper.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: test_assertion_failure_mem_len
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpmem
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_mem_len (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_errno
      Src: /src/ostree/libglnx/tests/testing-helper.c:116,1
    - Dst: mkdir
      Src: /src/ostree/libglnx/tests/testing-helper.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: test_assertion_failure_errno
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - mkdir
    - g_assert_no_errno
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_errno (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/ostree/libglnx/tests/testing-helper.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: test_assertion_failure_null
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpmem
      Src: /src/ostree/libglnx/tests/testing-helper.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: test_assertion_failure_mem_cmp
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_cmpmem
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_mem_cmp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstrv
      Src: /src/ostree/libglnx/tests/testing-helper.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: test_assertion_failure_cmpstrv_null_nonnull
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failure_cmpstrv_null_nonnull (void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: setmode
      Src: /src/ostree/libglnx/tests/testing-helper.c:214,1
    - Dst: fileno
      Src: /src/ostree/libglnx/tests/testing-helper.c:214,1
    - Dst: memmove
      Src: /src/ostree/libglnx/tests/testing-helper.c:221,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:226,1
    - Dst: g_test_disable_crash_reporting
      Src: /src/ostree/libglnx/tests/testing-helper.c:245,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:262,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:252,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:268,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/ostree/libglnx/tests/testing-helper.c:246,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:278,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:288,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:303,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:306,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:329,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:322,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:327,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:308,1
    - Dst: g_test_init
      Src: /src/ostree/libglnx/tests/testing-helper.c:244,1
    - Dst: g_test_set_nonfatal_assertions
      Src: /src/ostree/libglnx/tests/testing-helper.c:247,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:264,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:258,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:274,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:280,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:286,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:290,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:295,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:301,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:326,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:331,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:319,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:324,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:307,1
    - Dst: setlocale
      Src: /src/ostree/libglnx/tests/testing-helper.c:207,1
    - Dst: g_return_val_if_fail
      Src: /src/ostree/libglnx/tests/testing-helper.c:217,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:260,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:254,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:270,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:276,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:284,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:291,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:293,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:299,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:305,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:323,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/libglnx/tests/testing-helper.c:337,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:328,1
    - Dst: g_test_run
      Src: /src/ostree/libglnx/tests/testing-helper.c:340,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:292,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:312,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:310,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:321,1
    - Dst: g_test_init
      Src: /src/ostree/libglnx/tests/testing-helper.c:239,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:250,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:256,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:266,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:272,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:282,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:285,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:300,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:302,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/testing-helper.c:304,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:320,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:332,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:325,1
    - Dst: g_strcmp0
      Src: /src/ostree/libglnx/tests/testing-helper.c:314,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:330,1
    - Dst: T
      Src: /src/ostree/libglnx/tests/testing-helper.c:318,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 104
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 341
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 341
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - setlocale
    - GLIB_CHECK_VERSION
    - fileno
    - g_test_disable_crash_reporting
    - g_strcmp0
    - g_test_set_nonfatal_assertions
    - g_assert_not_reached
    - g_test_add_func
    - T
    - memmove
    - g_test_run
    - g_test_init
    - setmode
    - g_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:41,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:44,1
    - Dst: glnx_opendirat
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:49,1
    - Dst: glnx_mkdtemp
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:43,1
    - Dst: g_get_current_dir
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:47,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:50,1
    - Dst: fchdir
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:52,1
    - Dst: g_error
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:53,1
    - Dst: g_strerror
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: _glnx_test_auto_temp_dir_enter
    functionSourceFile: /src/ostree/libglnx/tests/libglnx-testlib.c
    functionUses: []
    functionsReached:
    - g_new0
    - glnx_opendirat
    - g_strerror
    - g_assert_no_error
    - g_error
    - glnx_mkdtemp
    - fchdir
    - g_get_current_dir
    linkageType: ''
    returnType: _GLnxTestAutoTempDir*
    signature: '_GLnxTestAutoTempDir *_glnx_test_auto_temp_dir_enter (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fchdir
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:63,1
    - Dst: g_strerror
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:64,1
    - Dst: g_error
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:64,1
    - Dst: glnx_tmpdir_delete
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:66,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:67,1
    - Dst: glnx_close_fd
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:69,1
    - Dst: g_free
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:71,1
    - Dst: g_free
      Src: /src/ostree/libglnx/tests/libglnx-testlib.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - dir
    argTypes:
    - _GLnxTestAutoTempDir*
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: _glnx_test_auto_temp_dir_leave
    functionSourceFile: /src/ostree/libglnx/tests/libglnx-testlib.c
    functionUses: []
    functionsReached:
    - glnx_tmpdir_delete
    - g_free
    - g_strerror
    - g_error
    - g_assert_no_error
    - fchdir
    - glnx_close_fd
    linkageType: ''
    returnType: void
    signature: 'void _glnx_test_auto_temp_dir_leave (_GLnxTestAutoTempDir *dir) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _GLNX_TEST_DECLARE_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:34,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:42,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:37,1
    - Dst: rmdir
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:41,1
    - Dst: glnx_opendirat
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:39,1
    - Dst: glnx_shutil_mkdir_p_at
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:45,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:46,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: test_mkdir_p_enoent
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-shutil.c
    functionUses: []
    functionsReached:
    - rmdir
    - glnx_opendirat
    - glnx_shutil_mkdir_p_at
    - _GLNX_TEST_DECLARE_ERROR
    - g_clear_error
    - glnx_throw_errno_prefix
    - g_assert_error
    - glnx_ensure_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_mkdir_p_enoent (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:56,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:58,1
    - Dst: g_test_run
      Src: /src/ostree/libglnx/tests/test-libglnx-shutil.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-shutil.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:22,1
    - Dst: g_memdup2
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:22,1
    - Dst: g_memdup2
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:23,1
    - Dst: g_assert_null
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:24,1
    - Dst: g_assert_null
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:23,1
    - Dst: g_memdup2
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:24,1
    - Dst: g_memdup2
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:27,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:27,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:28,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:29,1
    - Dst: g_free
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: test_memdup2
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-backports.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_memdup2
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_memdup2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:99,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:102,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:100,1
    - Dst: g_test_run
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:103,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-backports.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:82,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:85,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:89,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:87,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:90,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:92,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:94,1
    - Dst: g_assert_true
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:83,1
    - Dst: g_assert_true
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:82,1
    - Dst: g_assert_false
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:85,1
    - Dst: g_assert_false
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:89,1
    - Dst: g_assert_true
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:87,1
    - Dst: g_assert_false
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:90,1
    - Dst: g_assert_false
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:92,1
    - Dst: g_assert_false
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:94,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:81,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:83,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:84,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:86,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:88,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:91,1
    - Dst: g_strv_equal
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:93,1
    - Dst: g_assert_true
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:81,1
    - Dst: g_assert_false
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:84,1
    - Dst: g_assert_true
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:86,1
    - Dst: g_assert_true
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:88,1
    - Dst: g_assert_false
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:91,1
    - Dst: g_assert_false
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: test_strv_equal
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-backports.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_strv_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_strv_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:43,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:43,1
    - Dst: g_assert_no_errno
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:59,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:53,1
    - Dst: glnx_steal_fd
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:65,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:44,1
    - Dst: remove
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:59,1
    - Dst: close
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:56,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:56,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:46,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:49,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:50,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:52,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:57,1
    - Dst: g_free
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:60,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:65,1
    - Dst: g_steal_fd
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:45,1
    - Dst: g_file_open_tmp
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:48,1
    - Dst: g_assert_no_errno
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:56,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:54,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-backports.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 67
    functionName: test_steal_fd
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-backports.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_file_open_tmp
    - g_assert_no_errno
    - g_steal_fd
    - glnx_steal_fd
    - g_assert_no_error
    - remove
    - close
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_info
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:31,1
    - Dst: g_info
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: test_info
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-macros.c
    functionUses: []
    functionsReached:
    - g_info
    linkageType: ''
    returnType: void
    signature: 'static void test_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:38,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:46,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:45,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:40,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:39,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:41,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:42,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:43,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:38,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:44,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:46,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:47,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:47,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:39,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:40,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:41,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:42,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:43,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:45,1
    - Dst: G_IN_SET
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: test_inset
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-macros.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IN_SET
    linkageType: ''
    returnType: void
    signature: 'static void test_inset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:112,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:114,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:113,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:115,1
    - Dst: g_test_run
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-macros.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:58,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:78,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:81,1
    - Dst: GLNX_HASH_TABLE_FOREACH_KV
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:85,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:96,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:107,1
    - Dst: GLNX_HASH_TABLE_FOREACH_IT
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:62,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:65,1
    - Dst: g_hash_table_iter_remove
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:73,1
    - Dst: g_hash_table_size
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:76,1
    - Dst: GLNX_HASH_TABLE_FOREACH
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:94,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:99,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:104,1
    - Dst: g_hash_table_new
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:55,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:64,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:76,1
    - Dst: g_hash_table_size
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:82,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:91,1
    - Dst: GLNX_HASH_TABLE_FOREACH_V
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:102,1
    - Dst: g_hash_table_insert
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:59,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:68,1
    - Dst: GLNX_HASH_TABLE_FOREACH_IT
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:71,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:82,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:79,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:87,1
    - Dst: g_hash_table_size
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:79,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-macros.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 108
    functionName: test_hash_table_foreach
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-macros.c
    functionUses: []
    functionsReached:
    - GLNX_HASH_TABLE_FOREACH_KV
    - GLNX_HASH_TABLE_FOREACH_IT
    - GLNX_HASH_TABLE_FOREACH
    - g_assert_cmpuint
    - GLNX_HASH_TABLE_FOREACH_V
    - g_hash_table_size
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_hash_table_new
    - g_hash_table_iter_remove
    linkageType: ''
    returnType: void
    signature: 'static void test_hash_table_foreach (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:90,1
    - Dst: g_build_filename
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:94,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:91,1
    - Dst: g_strdup_printf
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:100,1
    - Dst: g_spawn_sync
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:111,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:126,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:141,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:136,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:128,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:124,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:123,1
    - Dst: WIFEXITED
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:144,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:145,1
    - Dst: WEXITSTATUS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:145,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:96,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:109,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:121,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:129,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:135,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:142,1
    - Dst: g_assert_cmphex
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:146,1
    - Dst: WEXITSTATUS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:142,1
    - Dst: g_assert_cmphex
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:143,1
    - Dst: g_path_get_dirname
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:93,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:138,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:133,1
    - Dst: WIFEXITED
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:141,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:144,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 148
    functionName: test_assertion_failures
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-testing.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmphex
    - glnx_readlinkat_malloc
    - WEXITSTATUS
    - g_assert_nonnull
    - g_assert_no_error
    - g_spawn_sync
    - WIFEXITED
    - g_path_get_dirname
    - g_build_filename
    - g_strdup_printf
    - G_N_ELEMENTS
    - G_STATIC_ASSERT
    - strtok_r
    linkageType: ''
    returnType: void
    signature: 'static void test_assertion_failures (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:242,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:254,1
    - Dst: g_spawn_sync
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:256,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:282,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:285,1
    - Dst: WEXITSTATUS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:285,1
    - Dst: g_path_get_dirname
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:239,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:278,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:277,1
    - Dst: g_assert_cmphex
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:289,1
    - Dst: WIFEXITED
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:284,1
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:236,1
    - Dst: g_build_filename
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:240,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:237,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:266,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:268,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:270,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:280,1
    - Dst: WIFEXITED
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:282,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:283,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:271,1
    - Dst: WEXITSTATUS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:283,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:284,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:275,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 291
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 291
    functionName: test_skips
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-testing.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmphex
    - glnx_readlinkat_malloc
    - WEXITSTATUS
    - g_assert_no_error
    - g_spawn_sync
    - WIFEXITED
    - g_path_get_dirname
    - g_build_filename
    - G_N_ELEMENTS
    - G_STATIC_ASSERT
    - strtok_r
    linkageType: ''
    returnType: void
    signature: 'static void test_skips (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:44,1
    - Dst: g_assert_false
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:50,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:54,1
    - Dst: g_assert_cmpstrv
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:59,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:55,1
    - Dst: g_assert_cmpstrv
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:58,1
    - Dst: g_assert_no_errno
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:57,1
    - Dst: g_assert_cmpvariant
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:56,1
    - Dst: g_assert_cmpstrv
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:60,1
    - Dst: g_variant_ref_sink
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:43,1
    - Dst: g_variant_new
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:43,1
    - Dst: g_assert_true
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:49,1
    - Dst: g_variant_new
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:44,1
    - Dst: g_assert_null
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:51,1
    - Dst: g_assert_cmpmem
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:54,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:54,1
    - Dst: g_stat
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:57,1
    - Dst: g_assert_nonnull
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:52,1
    - Dst: g_assert_cmpmem
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: test_assertions
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-testing.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_false
    - g_assert_no_errno
    - g_assert_nonnull
    - g_stat
    - g_assert_cmpvariant
    - g_assert_null
    - g_variant_new
    - g_assert_cmpmem
    - g_variant_ref_sink
    - g_assert_cmpstrv
    - g_assert_true
    - g_assert_cmpfloat_with_epsilon
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:308,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:314,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:309,1
    - Dst: g_spawn_sync
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:328,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:340,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:342,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:354,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:349,1
    - Dst: g_path_get_dirname
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:311,1
    - Dst: g_build_filename
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:312,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:326,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:338,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:347,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:350,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:352,1
    - Dst: WIFEXITED
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:354,1
    - Dst: WEXITSTATUS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:355,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:355,1
    - Dst: g_assert_cmphex
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:356,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:343,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 358
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 358
    functionName: test_successes
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-testing.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmphex
    - glnx_readlinkat_malloc
    - WEXITSTATUS
    - g_assert_no_error
    - g_spawn_sync
    - WIFEXITED
    - g_path_get_dirname
    - g_build_filename
    - G_N_ELEMENTS
    - G_STATIC_ASSERT
    - strtok_r
    linkageType: ''
    returnType: void
    signature: 'static void test_successes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_readlinkat_malloc
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:164,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:165,1
    - Dst: g_build_filename
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:168,1
    - Dst: g_spawn_sync
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:184,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:196,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:198,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:199,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:203,1
    - Dst: WIFEXITED
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:210,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:208,1
    - Dst: strtok_r
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:205,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:212,1
    - Dst: g_assert_cmphex
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:215,1
    - Dst: g_assert_cmphex
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:216,1
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:170,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:182,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:194,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:210,1
    - Dst: WEXITSTATUS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:211,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:211,1
    - Dst: WIFEXITED
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:212,1
    - Dst: G_STATIC_ASSERT
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:213,1
    - Dst: WEXITSTATUS
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:213,1
    - Dst: g_path_get_dirname
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:167,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:206,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 218
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 218
    functionName: test_failures
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-testing.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmphex
    - glnx_readlinkat_malloc
    - WEXITSTATUS
    - g_assert_no_error
    - g_spawn_sync
    - WIFEXITED
    - g_path_get_dirname
    - g_build_filename
    - G_N_ELEMENTS
    - G_STATIC_ASSERT
    - strtok_r
    linkageType: ''
    returnType: void
    signature: 'static void test_failures (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:363,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:365,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:364,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:367,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:366,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:368,1
    - Dst: g_test_run
      Src: /src/ostree/libglnx/tests/test-libglnx-testing.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-testing.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:38,1
    - Dst: mkdir
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:39,1
    - Dst: glnx_opendirat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:41,1
    - Dst: err
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:40,1
    - Dst: glnx_shutil_rm_rf_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:43,1
    - Dst: mkdir
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:44,1
    - Dst: err
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:45,1
    - Dst: glnx_opendirat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:46,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:49,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:49,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:52,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:52,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - out_srcfd
    - out_destfd
    - error
    argTypes:
    - int*
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: renameat_test_setup
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-fdio.c
    functionUses: []
    functionsReached:
    - strlen
    - glnx_file_replace_contents_at
    - glnx_opendirat
    - err
    - glnx_shutil_rm_rf_at
    - mkdir
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean renameat_test_setup (int *out_srcfd, int *out_destfd,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _GLNX_TEST_DECLARE_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:93,1
    - Dst: renameat_test_setup
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:97,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:101,1
    - Dst: glnx_fstatat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:105,1
    - Dst: glnx_renameat2_exchange
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:100,1
    - Dst: glnx_fstatat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:107,1
    - Dst: glnx_fstatat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:110,1
    - Dst: glnx_fstatat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: test_renameat2_exchange
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-fdio.c
    functionUses: []
    functionsReached:
    - renameat_test_setup
    - glnx_renameat2_exchange
    - _GLNX_TEST_DECLARE_ERROR
    - glnx_fstatat
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: void
    signature: 'static void test_renameat2_exchange (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _GLNX_TEST_DECLARE_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:133,1
    - Dst: fdopen
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:139,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:142,1
    - Dst: glnx_open_anonymous_tmpfile
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:137,1
    - Dst: fwrite
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:143,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:143,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:143,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:144,1
    - Dst: glnx_stdio_file_flush
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: test_stdio_file
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-fdio.c
    functionUses: []
    functionsReached:
    - strlen
    - glnx_open_anonymous_tmpfile
    - fdopen
    - glnx_stdio_file_flush
    - fwrite
    - _GLNX_TEST_DECLARE_ERROR
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: void
    signature: 'static void test_stdio_file (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:231,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:235,1
    - Dst: S_ISREG
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:235,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:194,1
    - Dst: glnx_file_replace_contents_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:186,1
    - Dst: glnx_fstatat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:197,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:200,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:204,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:206,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:223,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:215,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:219,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:230,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:202,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:218,1
    - Dst: glnx_fstatat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:233,1
    - Dst: _GLNX_TEST_DECLARE_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:179,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:191,1
    - Dst: glnx_ensure_dir
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:183,1
    - Dst: g_assert_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:203,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:220,1
    - Dst: symlinkat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:211,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:228,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:212,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 236
    functionName: test_filecopy
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-fdio.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - glnx_file_replace_contents_at
    - glnx_file_copy_at
    - g_assert_cmpint
    - symlinkat
    - glnx_fstatat_allow_noent
    - g_assert
    - g_assert_no_error
    - g_assert_not_reached
    - _GLNX_TEST_DECLARE_ERROR
    - g_clear_error
    - glnx_fstatat
    - glnx_throw_errno_prefix
    - g_assert_error
    - glnx_ensure_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_filecopy (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _GLNX_TEST_DECLARE_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:64,1
    - Dst: glnx_renameat2_noreplace
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:72,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:73,1
    - Dst: renameat_test_setup
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:69,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:76,1
    - Dst: glnx_renameat2_noreplace
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:79,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:80,1
    - Dst: glnx_fstatat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:81,1
    - Dst: fstatat
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:84,1
    - Dst: g_assert_not_reached
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:85,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: test_renameat2_noreplace
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-fdio.c
    functionUses: []
    functionsReached:
    - renameat_test_setup
    - g_assert_cmpint
    - g_assert_not_reached
    - _GLNX_TEST_DECLARE_ERROR
    - glnx_fstatat
    - fstatat
    - glnx_throw_errno_prefix
    - glnx_renameat2_noreplace
    linkageType: ''
    returnType: void
    signature: 'static void test_renameat2_noreplace (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _GLNX_TEST_DECLARE_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:119,1
    - Dst: glnx_open_tmpfile_linkable_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:122,1
    - Dst: glnx_loop_write
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:124,1
    - Dst: glnx_throw_errno_prefix
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:125,1
    - Dst: strlen
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:124,1
    - Dst: glnx_link_tmpfile_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: test_tmpfile
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-fdio.c
    functionUses: []
    functionsReached:
    - strlen
    - glnx_loop_write
    - _GLNX_TEST_DECLARE_ERROR
    - glnx_link_tmpfile_at
    - glnx_open_tmpfile_linkable_at
    - glnx_throw_errno_prefix
    linkageType: ''
    returnType: void
    signature: 'static void test_tmpfile (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _GLNX_TEST_DECLARE_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:152,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:155,1
    - Dst: g_assert
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:159,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:157,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:158,1
    - Dst: S_ISDIR
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:159,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:160,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:162,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:163,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:166,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:169,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:173,1
    - Dst: glnx_fstatat_allow_noent
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:170,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:172,1
    - Dst: g_assert_cmpint
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 174
    functionName: test_fstatat
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-fdio.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - glnx_fstatat_allow_noent
    - g_assert
    - g_assert_no_error
    - _GLNX_TEST_DECLARE_ERROR
    - S_ISDIR
    linkageType: ''
    returnType: void
    signature: 'static void test_fstatat (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:252,1
    - Dst: g_test_message
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:262,1
    - Dst: g_file_get_contents
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:260,1
    - Dst: _GLNX_TEST_DECLARE_ERROR
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:254,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:264,1
    - Dst: glnx_file_copy_at
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:268,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:276,1
    - Dst: g_file_get_contents
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:278,1
    - Dst: g_assert_no_error
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:281,1
    - Dst: g_assert_cmpstr
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:283,1
    - Dst: g_assert_cmpuint
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 286
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 286
    functionName: test_filecopy_procfs
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-fdio.c
    functionUses: []
    functionsReached:
    - g_test_message
    - glnx_file_copy_at
    - g_assert_cmpuint
    - g_assert_no_error
    - g_assert_cmpstr
    - _GLNX_TEST_DECLARE_ERROR
    - g_clear_error
    - G_N_ELEMENTS
    - g_file_get_contents
    linkageType: ''
    returnType: void
    signature: 'static void test_filecopy_procfs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:293,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:298,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:297,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:295,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:296,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:299,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:300,1
    - Dst: g_test_add_func
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:301,1
    - Dst: g_test_run
      Src: /src/ostree/libglnx/tests/test-libglnx-fdio.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 306
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 306
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/test-libglnx-fdio.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _GLNX_TEST_DECLARE_ERROR
      Src: /src/ostree/libglnx/tests/use-as-subproject/use-testlib.c:11,1
    - Dst: glnx_throw
      Src: /src/ostree/libglnx/tests/use-as-subproject/use-testlib.c:13,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/use-as-subproject/use-testlib.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 16
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/use-as-subproject/use-testlib.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - glnx_throw
    - _GLNX_TEST_DECLARE_ERROR
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_throw
      Src: /src/ostree/libglnx/tests/use-as-subproject/use-libglnx.c:12,1
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/use-as-subproject/use-libglnx.c:13,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 15
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/use-as-subproject/use-libglnx.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - glnx_throw
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/ostree/libglnx/tests/use-as-subproject/trivial.c:12,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: main
    functionSourceFile: /src/ostree/libglnx/tests/use-as-subproject/trivial.c
    functionUses: []
    functionsReached:
    - g_clear_error
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:13,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:15,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:19,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:25,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:29,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:31,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:35,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:37,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:41,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:47,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:63,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:59,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:54,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:9,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:12,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:18,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:24,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:28,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:30,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:34,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:40,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:44,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:46,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:50,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:55,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:58,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:60,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:11,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:17,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:21,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:27,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:23,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:33,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:39,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:43,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:45,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:49,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:56,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:61,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:51,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:52,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:10,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:14,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:16,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:20,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:26,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:22,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:32,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:36,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:38,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:42,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:62,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:57,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:53,1
    - Dst: printf
      Src: /src/ostree/rust-bindings/sys/tests/layout.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/ostree/rust-bindings/sys/tests/layout.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:31,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:44,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:51,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:74,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:98,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:82,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:89,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:106,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:115,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:123,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:71,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:77,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:33,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:39,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:63,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:125,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:127,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:135,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:143,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:144,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:90,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:99,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:32,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:45,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:52,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:83,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:107,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:116,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:124,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:47,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:55,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:64,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:128,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:136,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:145,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:153,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:158,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:167,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:175,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:166,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:42,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:48,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:72,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:80,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:104,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:96,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:113,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:121,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:30,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:61,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:75,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:69,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:133,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:141,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:150,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:156,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:163,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:172,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:81,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:92,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:36,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:43,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:50,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:87,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:105,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:97,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:109,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:114,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:169,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:155,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:62,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:70,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:134,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:142,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:151,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:165,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:173,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:102,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:94,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:78,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:111,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:119,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:59,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:67,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:88,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:131,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:139,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:148,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:170,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:103,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:95,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:34,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:40,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:79,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:112,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:120,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:152,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:159,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:68,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:37,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:56,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:60,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:132,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:140,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:149,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:171,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:174,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:177,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:38,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:46,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:53,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:84,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:100,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:91,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:108,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:117,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:162,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:164,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:41,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:57,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:65,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:86,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:129,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:137,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:146,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:154,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:160,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:168,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:161,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:76,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:54,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:85,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:101,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:93,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:110,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:118,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:157,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:176,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:73,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:35,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:49,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:58,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:66,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:126,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:130,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:122,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:138,1
    - Dst: PRINT_CONSTANT
      Src: /src/ostree/rust-bindings/sys/tests/constant.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 149
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/ostree/rust-bindings/sys/tests/constant.c
    functionUses: []
    functionsReached:
    - PRINT_CONSTANT
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:189,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:190,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:190,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_assert
      Src: /src/glib/gobject/gsignalgroup.c:195,1
    - Dst: g_signal_connect_closure_by_id
      Src: /src/glib/gobject/gsignalgroup.c:197,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:203,1
    - Dst: g_signal_handler_block
      Src: /src/glib/gobject/gsignalgroup.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - self
    - handler
    - target
    argTypes:
    - GSignalGroup*
    - SignalHandler*
    - GObject*
    constantsTouched: []
    func_position:
      end: 207
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 207
    functionName: g_signal_group_bind_handler
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_signal_connect_closure_by_id
    - G_IS_OBJECT
    - 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:249,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:251,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gsignalgroup.c:261,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:249,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gsignalgroup.c:267,1
    - Dst: g_signal_group_gc_handlers
      Src: /src/glib/gobject/gsignalgroup.c:272,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:279,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_assert
      Src: /src/glib/gobject/gsignalgroup.c:283,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/gsignalgroup.c:295,1
    - Dst: g_signal_emit
      Src: /src/glib/gobject/gsignalgroup.c:298,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gsignalgroup.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 301
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 301
    functionName: g_signal_group_unbind
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_gc_handlers
    - g_object_weak_unref
    - g_assert
    - g_ptr_array_index
    - g_clear_object
    - g_weak_ref_get
    - g_signal_emit
    - g_weak_ref_set
    - G_IS_SIGNAL_GROUP
    - g_signal_handler_disconnect
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_unbind (GSignalGroup *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:429,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:429,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:431,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:433,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 436
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 436
    functionName: g_signal_group_dup_target
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_unlock
    - g_weak_ref_get
    - g_rec_mutex_lock
    - g_return_val_if_fail
    - G_IS_SIGNAL_GROUP
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_signal_group_dup_target (GSignalGroup *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:523,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:532,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gsignalgroup.c:530,1
    - Dst: g_signal_group_gc_handlers
      Src: /src/glib/gobject/gsignalgroup.c:525,1
    - Dst: g_signal_group_unbind
      Src: /src/glib/gobject/gsignalgroup.c:528,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 535
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 535
    functionName: g_signal_group_dispose
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_unbind
    - g_signal_group_gc_handlers
    - g_clear_pointer
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:216,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gsignalgroup.c:224,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:217,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:216,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:217,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gsignalgroup.c:226,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gsignalgroup.c:227,1
    - Dst: g_signal_group_gc_handlers
      Src: /src/glib/gobject/gsignalgroup.c:229,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:233,1
    - Dst: g_signal_group_bind_handler
      Src: /src/glib/gobject/gsignalgroup.c:235,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignalgroup.c:240,1
    - Dst: g_signal_emit
      Src: /src/glib/gobject/gsignalgroup.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - self
    - target
    argTypes:
    - GSignalGroup*
    - GObject*
    constantsTouched: []
    func_position:
      end: 241
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 241
    functionName: g_signal_group_bind
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_bind_handler
    - g_object_ref
    - g_signal_group_gc_handlers
    - g_assert
    - g_ptr_array_index
    - g_object_weak_ref
    - G_IS_OBJECT
    - g_object_unref
    - g_signal_emit
    - g_weak_ref_set
    - G_IS_SIGNAL_GROUP
    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:308,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gsignalgroup.c:313,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignalgroup.c:310,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gsignalgroup.c:308,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignalgroup.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - self
    - target
    argTypes:
    - GSignalGroup*
    - gpointer
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: g_signal_group_check_target_type
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_critical
    - g_type_name
    - g_type_is_a
    - G_OBJECT_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:542,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:545,1
    - Dst: g_rec_mutex_clear
      Src: /src/glib/gobject/gsignalgroup.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 546
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 546
    functionName: g_signal_group_finalize
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_weak_ref_clear
    - G_OBJECT_CLASS
    - g_rec_mutex_clear
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:135,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:148,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:135,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:145,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:147,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/gobject/gsignalgroup.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: g_signal_group_gc_handlers
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ptr_array_index
    - G_IS_SIGNAL_GROUP
    - g_ptr_array_remove_index
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_gc_handlers (GSignalGroup *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:385,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:386,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:392,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:388,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:385,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:398,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_assert
      Src: /src/glib/gobject/gsignalgroup.c:403,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:411,1
    - Dst: g_signal_handler_unblock
      Src: /src/glib/gobject/gsignalgroup.c:405,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignalgroup.c:408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 412
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 412
    functionName: g_signal_group_unblock
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ptr_array_index
    - g_object_unref
    - g_weak_ref_get
    - g_signal_handler_unblock
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_unblock (GSignalGroup *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_invalidate
      Src: /src/glib/gobject/gsignalgroup.c:490,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gsignalgroup.c:496,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gsignalgroup.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 497
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 497
    functionName: signal_handler_free
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_closure_invalidate
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void signal_handler_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_connect_full
      Src: /src/glib/gobject/gsignalgroup.c:927,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: 929
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 929
    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_assert
      Src: /src/glib/gobject/gsignalgroup.c:110,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:110,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignalgroup.c:118,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignalgroup.c:111,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:111,1
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/gsignalgroup.c:120,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/gsignalgroup.c:121,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/gsignalgroup.c:121,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gsignalgroup.c:125,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gsignalgroup.c:126,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gsignalgroup.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - self
    - target_type
    argTypes:
    - GSignalGroup*
    - GType
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: g_signal_group_set_target_type
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_type_class_peek
    - g_assert
    - g_type_default_interface_peek
    - g_type_class_unref
    - g_type_default_interface_unref
    - g_type_is_a
    - g_type_default_interface_ref
    - G_IS_SIGNAL_GROUP
    - g_type_class_ref
    - G_TYPE_IS_INTERFACE
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_set_target_type (GSignalGroup *self, GType
      target_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:162,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gsignalgroup.c:167,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:163,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:162,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:165,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:171,1
    - Dst: g_signal_emit
      Src: /src/glib/gobject/gsignalgroup.c:176,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/gsignalgroup.c:177,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:177,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - data
    - where_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: g_signal_group__target_weak_notify
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert
    - g_ptr_array_index
    - g_object_notify_by_pspec
    - g_signal_emit
    - g_rec_mutex_lock
    - g_weak_ref_set
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group__target_weak_notify (gpointer data, GObject
      *where_object_was) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:505,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/gsignalgroup.c:509,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:507,1
    - Dst: g_signal_group_check_target_type
      Src: /src/glib/gobject/gsignalgroup.c:508,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:511,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gsignalgroup.c:513,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 516
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 516
    functionName: g_signal_group_constructed
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_signal_group_check_target_type
    - g_weak_ref_get
    - g_rec_mutex_lock
    - g_signal_group_set_target
    - g_rec_mutex_unlock
    - G_OBJECT_CLASS
    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:338,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:339,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:345,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:341,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:338,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:352,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_assert
      Src: /src/glib/gobject/gsignalgroup.c:357,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:365,1
    - Dst: g_signal_handler_block
      Src: /src/glib/gobject/gsignalgroup.c:359,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignalgroup.c:362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 366
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 366
    functionName: g_signal_group_block
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ptr_array_index
    - g_object_unref
    - g_weak_ref_get
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    - g_signal_handler_block
    - g_return_if_fail
    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:459,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:463,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:459,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:461,1
    - Dst: g_signal_group_check_target_type
      Src: /src/glib/gobject/gsignalgroup.c:468,1
    - Dst: g_signal_group_unbind
      Src: /src/glib/gobject/gsignalgroup.c:473,1
    - Dst: g_signal_group_bind
      Src: /src/glib/gobject/gsignalgroup.c:475,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/gsignalgroup.c:477,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:477,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gsignalgroup.c:480,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - self
    - target
    argTypes:
    - GSignalGroup*
    - gpointer
    constantsTouched: []
    func_position:
      end: 482
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 482
    functionName: g_signal_group_set_target
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_bind
    - G_OBJECT
    - g_signal_group_unbind
    - g_clear_object
    - g_signal_group_check_target_type
    - g_object_notify_by_pspec
    - g_weak_ref_get
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_set_target (GSignalGroup *self, gpointer target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_connect_full
      Src: /src/glib/gobject/gsignalgroup.c:901,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: 903
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 903
    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:554,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gsignalgroup.c:567,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gsignalgroup.c:559,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/gsignalgroup.c:559,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/gsignalgroup.c:563,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 569
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 569
    functionName: g_signal_group_get_property
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - G_SIGNAL_GROUP
    - g_signal_group_dup_target
    - g_value_take_object
    - g_value_set_gtype
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - self
    - detailed_signal
    - closure
    - after
    argTypes:
    - GSignalGroup*
    - gchar*
    - GClosure*
    - gboolean
    constantsTouched: []
    func_position:
      end: 785
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 785
    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:877,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: 879
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 879
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:577,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/gsignalgroup.c:582,1
    - Dst: g_signal_group_set_target_type
      Src: /src/glib/gobject/gsignalgroup.c:586,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/gsignalgroup.c:586,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/gsignalgroup.c:582,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gsignalgroup.c:590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 592
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 592
    functionName: g_signal_group_set_property
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - G_SIGNAL_GROUP
    - g_signal_group_set_target_type
    - g_value_get_gtype
    - g_value_get_object
    - g_signal_group_set_target
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:798,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gsignalgroup.c:804,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:799,1
    - Dst: g_cclosure_new_swap
      Src: /src/glib/gobject/gsignalgroup.c:802,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:799,1
    - Dst: g_object_watch_closure
      Src: /src/glib/gobject/gsignalgroup.c:812,1
    - Dst: g_signal_group_connect_closure_
      Src: /src/glib/gobject/gsignalgroup.c:815,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gsignalgroup.c:819,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: 820
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 820
    functionName: g_signal_group_connect_full
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - g_closure_unref
    - G_IS_OBJECT
    - g_object_watch_closure
    - g_cclosure_new_swap
    - g_signal_group_connect_closure_
    - g_return_if_fail
    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_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:847,1
    - Dst: g_signal_group_connect_full
      Src: /src/glib/gobject/gsignalgroup.c:849,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:847,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: 851
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 851
    functionName: g_signal_group_connect_object
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_connect_full
    - G_IS_OBJECT
    - 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_OBJECT_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:597,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/gsignalgroup.c:648,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/gsignalgroup.c:613,1
    - Dst: g_param_spec_gtype
      Src: /src/glib/gobject/gsignalgroup.c:627,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/gsignalgroup.c:633,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:649,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/gsignalgroup.c:670,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSignalGroupClass*
    constantsTouched: []
    func_position:
      end: 677
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 677
    functionName: g_signal_group_class_init
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_param_spec_gtype
    - g_param_spec_object
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    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:700,1
    - Dst: g_object_new
      Src: /src/glib/gobject/gsignalgroup.c:702,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignalgroup.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - target_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: g_signal_group_new
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_is_a
    - g_object_new
    linkageType: ''
    returnType: GSignalGroup*
    signature: 'GSignalGroup *g_signal_group_new (GType target_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_init
      Src: /src/glib/gobject/gsignalgroup.c:682,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gobject/gsignalgroup.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 685
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 685
    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:718,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:718,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/gsignalgroup.c:722,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:719,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:720,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignalgroup.c:725,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:729,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignalgroup.c:733,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:734,1
    - Dst: g_slice_new0
      Src: /src/glib/gobject/gsignalgroup.c:738,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignalgroup.c:745,1
    - Dst: g_signal_group_bind_handler
      Src: /src/glib/gobject/gsignalgroup.c:753,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignalgroup.c:754,1
    - Dst: g_signal_group_gc_handlers
      Src: /src/glib/gobject/gsignalgroup.c:758,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:760,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gobject/gsignalgroup.c:747,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:749,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignalgroup.c:742,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - self
    - detailed_signal
    - closure
    - after
    argTypes:
    - GSignalGroup*
    - gchar*
    - GClosure*
    - gboolean
    constantsTouched: []
    func_position:
      end: 762
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 762
    functionName: g_signal_group_connect_closure_
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_bind_handler
    - g_slice_new0
    - g_signal_group_gc_handlers
    - g_closure_ref
    - g_signal_parse_name
    - g_rec_mutex_unlock
    - g_object_unref
    - g_critical
    - g_weak_ref_get
    - g_rec_mutex_lock
    - g_closure_sink
    - g_return_val_if_fail
    - G_IS_SIGNAL_GROUP
    - 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:954,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: 956
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 956
    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_PARAM_SPEC_ENUM
      Src: /src/glib/gobject/gparamspecs.c:575,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/gparamspecs.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 583
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 583
    functionName: param_enum_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_enum_get_value
    - G_PARAM_SPEC_ENUM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_enum_validate (GParamSpec *pspec,\t\t GValue
      *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OBJECT
      Src: /src/glib/gobject/gparamspecs.c:1140,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1144,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:1144,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1145
    functionName: param_object_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - G_PARAM_SPEC_OBJECT
    - G_PARAM_SPEC_VALUE_TYPE
    - g_value_type_compatible
    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:1212,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/gparamspecs.c:1214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1215
    functionName: param_override_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_OVERRIDE
    - g_param_value_is_valid
    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:2170,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2182,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gint64
    - gint64
    - gint64
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2183
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2183
    functionName: g_param_spec_int64
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 592
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OBJECT
      Src: /src/glib/gobject/gparamspecs.c:1151,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1155,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gparamspecs.c:1157,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:1155,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1163
    functionName: param_object_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_value_type_compatible
    - G_OBJECT_TYPE
    - g_object_unref
    - G_PARAM_SPEC_OBJECT
    - G_PARAM_SPEC_VALUE_TYPE
    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:1221,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gparamspecs.c:1223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1224
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2128,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2140,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gulong
    - gulong
    - gulong
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2141
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2141
    functionName: g_param_spec_ulong
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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_UNICHAR
      Src: /src/glib/gobject/gparamspecs.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 494
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:597,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:598,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:598,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gparamspecs.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 607
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 607
    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_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 624
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 624
    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:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 501
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 614
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 638
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 638
    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_INT64
      Src: /src/glib/gobject/gparamspecs.c:412,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 418
    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:
    - Dst: G_PARAM_SPEC_VARIANT
      Src: /src/glib/gobject/gparamspecs.c:1338,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gparamspecs.c:1344,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gobject/gparamspecs.c:1342,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1349
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1349
    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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 429
    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_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2001,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2013,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2003,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gint
    - gint
    - gint
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2014
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2014
    functionName: g_param_spec_int
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2426,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2438,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2428,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gdouble
    - gdouble
    - gdouble
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2439
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2439
    functionName: g_param_spec_double
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2719,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2720,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2720,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparamspecs.c:2726,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2733,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:2737,1
    - Dst: G_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gparamspecs.c:2738,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparamspecs.c:2738,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - name
    - overridden
    argTypes:
    - gchar*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2741
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2741
    functionName: g_param_spec_override
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_get_redirect_target
    - g_param_spec_internal
    - g_param_spec_ref
    - G_PARAM_SPEC_OVERRIDE
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - G_PARAM_SPEC_VALUE_TYPE
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_override (const gchar *name,\t\t GParamSpec
      *overridden) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLOAT
      Src: /src/glib/gobject/gparamspecs.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 649
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 649
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 944
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 944
    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_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:1961,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:1963,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:1971,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - name
    - nick
    - blurb
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gboolean
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 1972
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1972
    functionName: g_param_spec_boolean
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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:2383,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2395,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gfloat
    - gfloat
    - gfloat
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2396
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2396
    functionName: g_param_spec_float
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2687,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2689,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2695,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2697,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparamspecs.c:2687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - name
    - nick
    - blurb
    - object_type
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GType
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2698
      start: 2678
    functionDepth: 0
    functionLinenumber: 2678
    functionLinenumberEnd: 2698
    functionName: g_param_spec_object
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_is_a
    - g_param_spec_internal
    - 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_FLOAT
      Src: /src/glib/gobject/gparamspecs.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: param_pointer_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_pointer_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT
      Src: /src/glib/gobject/gparamspecs.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/gparamspecs.c:845,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparamspecs.c:853,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:853,1
    - Dst: param_string_validate
      Src: /src/glib/gobject/gparamspecs.c:856,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gparamspecs.c:854,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparamspecs.c:858,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 862
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 862
    functionName: param_string_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - G_PARAM_SPEC_STRING
    - g_value_unset
    - param_string_validate
    - g_value_init
    - g_value_copy
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_string_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_DOUBLE
      Src: /src/glib/gobject/gparamspecs.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 709
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 709
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT
      Src: /src/glib/gobject/gparamspecs.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    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:715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 719
    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:874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 875
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 875
    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_PARAM_SPEC_CHAR
      Src: /src/glib/gobject/gparamspecs.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    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: 379
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 379
    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: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1176
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1176
    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_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2572,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - name
    - nick
    - blurb
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2579
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2579
    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_CHAR
      Src: /src/glib/gobject/gparamspecs.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    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:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1182
    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_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:1919,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:1921,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:1931,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - guint8
    - guint8
    - guint8
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 1932
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1932
    functionName: g_param_spec_uchar
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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:2535,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2536,1
    - Dst: G_TYPE_IS_BOXED
      Src: /src/glib/gobject/gparamspecs.c:2535,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2538,1
    - Dst: G_TYPE_IS_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:2536,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2544,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - name
    - nick
    - blurb
    - boxed_type
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GType
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2547
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2547
    functionName: g_param_spec_boxed
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_internal
    - G_PARAM_SPEC
    - G_TYPE_IS_BOXED
    - G_TYPE_IS_VALUE_TYPE
    - g_return_val_if_fail
    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_ULONG
      Src: /src/glib/gobject/gparamspecs.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 339
    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:
    - Dst: G_PARAM_SPEC_GTYPE
      Src: /src/glib/gobject/gparamspecs.c:1245,1
    - Dst: GSIZE_TO_POINTER
      Src: /src/glib/gobject/gparamspecs.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1248
    functionName: param_gtype_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - GSIZE_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:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1298
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ULONG
      Src: /src/glib/gobject/gparamspecs.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    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:
    - Dst: G_PARAM_SPEC_GTYPE
      Src: /src/glib/gobject/gparamspecs.c:1254,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparamspecs.c:1258,1
    - Dst: GPOINTER_TO_SIZE
      Src: /src/glib/gobject/gparamspecs.c:1255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1259
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1259
    functionName: param_gtype_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_SIZE
    - g_type_is_a
    - G_PARAM_SPEC_GTYPE
    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:1303,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:1304,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:1304,1
    - Dst: g_variant_type_free
      Src: /src/glib/gobject/gparamspecs.c:1308,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gparamspecs.c:1307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1311
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1311
    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_PARAM_SPEC_ENUM
      Src: /src/glib/gobject/gparamspecs.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 537
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 537
    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_UCHAR
      Src: /src/glib/gobject/gparamspecs.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    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: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    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_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 979
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 979
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UCHAR
      Src: /src/glib/gobject/gparamspecs.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    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:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    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:542,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gparamspecs.c:547,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:543,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 552
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 552
    functionName: param_enum_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_type_parent
    - g_type_class_unref
    - G_PARAM_SPEC_ENUM
    - g_type_class_peek
    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:991,1
    - Dst: g_value_array_remove
      Src: /src/glib/gobject/gparamspecs.c:996,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - value_array
    - fixed_n_elements
    argTypes:
    - GValueArray*
    - guint
    constantsTouched: []
    func_position:
      end: 1001
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1001
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1426,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1785,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1695,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1711,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1827,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1638,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1486,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1502,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1522,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1540,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1654,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1843,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1785,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1426,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1446,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1711,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1674,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1581,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1597,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1464,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1502,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1654,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1849,1
    - Dst: g_new0
      Src: /src/glib/gobject/gparamspecs.c:1407,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1427,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1619,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1692,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1748,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1824,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1730,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1465,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1483,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1578,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1598,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1635,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1769,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1448,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1617,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1748,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1676,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1730,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1524,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1540,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1560,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1578,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1805,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1843,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1429,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1445,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1824,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1467,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1521,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1600,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1750,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1541,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1673,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1844,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1786,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1445,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1692,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1712,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1635,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1655,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1483,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1503,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1562,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1807,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1616,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1693,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1825,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1559,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1464,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1484,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1767,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1636,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1597,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1543,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1804,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1846,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1714,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1616,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1732,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1788,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1657,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1673,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1505,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1521,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1559,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1579,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1767,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 191
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1850
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1850
    functionName: _g_param_spec_types_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_intern_static_string
    - g_assert
    - set_is_valid_vfunc
    - g_param_type_register_static
    linkageType: ''
    returnType: void
    signature: 'void _g_param_spec_types_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ULONG
      Src: /src/glib/gobject/gparamspecs.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 356
    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:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 517
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 517
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/gparamspecs.c:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 757
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 757
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:899,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:899,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gparamspecs.c:899,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 900
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 900
    functionName: param_param_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_VALUE_TYPE
    - G_PARAM_SPEC_TYPE
    - g_value_type_compatible
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_param_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: 1127
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1127
    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:1231,1
    - Dst: g_param_values_cmp
      Src: /src/glib/gobject/gparamspecs.c:1233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1234
    functionName: param_override_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_values_cmp
    - G_PARAM_SPEC_OVERRIDE
    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_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2337,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2343,1
    - Dst: G_TYPE_IS_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:2337,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gparamspecs.c:2339,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2341,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2351,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - name
    - nick
    - blurb
    - flags_type
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GType
    - guint
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2354
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2354
    functionName: g_param_spec_flags
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_FLAGS
    - g_param_spec_internal
    - G_PARAM_SPEC
    - g_return_val_if_fail
    - g_type_class_ref
    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_ULONG
      Src: /src/glib/gobject/gparamspecs.c:362,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: param_ulong_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_ULONG
    - CLAMP
    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: 528
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 528
    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_STRING
      Src: /src/glib/gobject/gparamspecs.c:762,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:765,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:766,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:763,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:763,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 773
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 773
    functionName: param_string_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_type_class_peek
    - g_type_parent
    - g_free
    - G_PARAM_SPEC_STRING
    linkageType: ''
    returnType: void
    signature: 'static void param_string_finalize (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:910,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:910,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparamspecs.c:912,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gparamspecs.c:910,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 918
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 918
    functionName: param_param_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_VALUE_TYPE
    - G_PARAM_SPEC_TYPE
    - g_value_type_compatible
    - g_param_spec_unref
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_param_validate (GParamSpec *pspec,\t\t GValue
      *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1134
    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: 1239
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    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:2291,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/gparamspecs.c:2295,1
    - Dst: G_TYPE_IS_ENUM
      Src: /src/glib/gobject/gparamspecs.c:2291,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2295,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gparamspecs.c:2293,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2297,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2305,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - name
    - nick
    - blurb
    - enum_type
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GType
    - gint
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2308
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2308
    functionName: g_param_spec_enum
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_ENUM
    - g_param_spec_internal
    - G_PARAM_SPEC
    - g_enum_get_value
    - g_return_val_if_fail
    - g_type_class_ref
    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:2646,1
    - Dst: g_param_spec_sink
      Src: /src/glib/gobject/gparamspecs.c:2657,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2646,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparamspecs.c:2656,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2648,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2660,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - name
    - nick
    - blurb
    - element_spec
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GParamSpec*
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2661
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2661
    functionName: g_param_spec_value_array
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_internal
    - G_PARAM_SPEC
    - g_param_spec_sink
    - g_param_spec_ref
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    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_DOUBLE
      Src: /src/glib/gobject/gparamspecs.c:725,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 731
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 731
    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_internal
      Src: /src/glib/gobject/gparamspecs.c:2608,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - name
    - nick
    - blurb
    - is_a_type
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GType
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2617
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2617
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_DOUBLE
      Src: /src/glib/gobject/gparamspecs.c:738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 744
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 744
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2085,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2097,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - glong
    - glong
    - glong
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2098
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2098
    functionName: g_param_spec_long
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2774,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gobject/gparamspecs.c:2776,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2775,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2778,1
    - Dst: g_variant_type_copy
      Src: /src/glib/gobject/gparamspecs.c:2784,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gparamspecs.c:2786,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2788,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 6
    argNames:
    - name
    - nick
    - blurb
    - type
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GVariantType*
    - GVariant*
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2789
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2789
    functionName: g_param_spec_variant
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_internal
    - G_PARAM_SPEC
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_variant_is_of_type
    - g_variant_type_copy
    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_UINT64
      Src: /src/glib/gobject/gparamspecs.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 439
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 881
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 881
    functionName: param_param_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_param_init (GParamSpec *pspec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:1038,1
    - Dst: value_array_ensure_size
      Src: /src/glib/gobject/gparamspecs.c:1048,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:1061,1
    - Dst: g_value_array_new
      Src: /src/glib/gobject/gparamspecs.c:1043,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1061,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1061,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1063,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparamspecs.c:1064,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparamspecs.c:1065,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1065,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gparamspecs.c:1072,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gparamspecs.c:1066,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1079
    functionName: param_value_array_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_value_array_new
    - g_param_value_validate
    - g_value_type_compatible
    - G_VALUE_TYPE
    - value_array_ensure_size
    - g_value_init
    - g_param_value_set_default
    - g_value_unset
    - G_PARAM_SPEC_VALUE_TYPE
    - G_PARAM_SPEC_VALUE_ARRAY
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_value_array_validate (GParamSpec *pspec,\t\t\t
      GValue *value) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/gobject/gparamspecs.c:1380,1
    - Dst: g_variant_get_type
      Src: /src/glib/gobject/gparamspecs.c:1380,1
    - Dst: variant_is_incomparable
      Src: /src/glib/gobject/gparamspecs.c:1382,1
    - Dst: g_variant_get_type
      Src: /src/glib/gobject/gparamspecs.c:1380,1
    - Dst: variant_is_incomparable
      Src: /src/glib/gobject/gparamspecs.c:1381,1
    - Dst: g_variant_equal
      Src: /src/glib/gobject/gparamspecs.c:1383,1
    - Dst: g_variant_compare
      Src: /src/glib/gobject/gparamspecs.c:1385,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1386
    functionName: param_variant_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - variant_is_incomparable
    - g_variant_get_type
    - g_variant_equal
    - g_variant_compare
    linkageType: ''
    returnType: gint
    signature: 'static gint param_variant_values_cmp (GParamSpec *pspec, const GValue
      *value1, const GValue *value2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:1879,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:1881,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:1891,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gint8
    - gint8
    - gint8
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 1892
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1892
    functionName: g_param_spec_char
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT64
      Src: /src/glib/gobject/gparamspecs.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 888
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 888
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:1086,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1113,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1114,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1114,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1113,1
    - Dst: g_param_values_cmp
      Src: /src/glib/gobject/gparamspecs.c:1115,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1121
    functionName: param_value_array_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_values_cmp
    - G_VALUE_TYPE
    - G_PARAM_SPEC_VALUE_ARRAY
    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_BOOLEAN
      Src: /src/glib/gobject/gparamspecs.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    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: 479
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 479
    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:
    - Dst: G_PARAM_SPEC_FLOAT
      Src: /src/glib/gobject/gparamspecs.c:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 666
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 666
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 957
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 957
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2253,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - name
    - nick
    - blurb
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gunichar
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2262
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2262
    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_FLOAT
      Src: /src/glib/gobject/gparamspecs.c:672,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 678
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 678
    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: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    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:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 487
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 970
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 970
    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_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2213,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2225,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - guint64
    - guint64
    - guint64
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2226
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2226
    functionName: g_param_spec_uint64
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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_INT
      Src: /src/glib/gobject/gparamspecs.c:203,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    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:308,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: param_long_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_LONG
    - CLAMP
    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:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    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:685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 691
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 691
    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:779,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/gparamspecs.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: param_string_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_PARAM_SPEC_STRING
    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: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    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: 325
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 325
    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:462,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 468
    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:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 702
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 702
    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:786,1
    - Dst: strchr
      Src: /src/glib/gobject/gparamspecs.c:794,1
    - Dst: strchr
      Src: /src/glib/gobject/gparamspecs.c:807,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparamspecs.c:798,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparamspecs.c:811,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:823,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparamspecs.c:833,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 839
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 839
    functionName: param_string_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - strchr
    - g_strdup
    - g_free
    - G_PARAM_SPEC_STRING
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_string_validate (GParamSpec *pspec,\t\t GValue
      *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2498,1
    - Dst: G_TYPE_IS_PARAM
      Src: /src/glib/gobject/gparamspecs.c:2498,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2500,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2508,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - name
    - nick
    - blurb
    - param_type
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GType
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2509
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2509
    functionName: g_param_spec_param
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TYPE_IS_PARAM
    - g_param_spec_internal
    - 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_CHAR
      Src: /src/glib/gobject/gparamspecs.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    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:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 396
    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:
    - Dst: G_PARAM_SPEC_VARIANT
      Src: /src/glib/gobject/gparamspecs.c:1317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1319
    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:2462,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparamspecs.c:2469,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:2468,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2471,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - name
    - nick
    - blurb
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2472
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2472
    functionName: g_param_spec_string
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_param_spec_internal
    - G_PARAM_SPEC
    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_CHAR
      Src: /src/glib/gobject/gparamspecs.c:98,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    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:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 406
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 406
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VARIANT
      Src: /src/glib/gobject/gparamspecs.c:1325,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gobject/gparamspecs.c:1331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1332
    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_variant_classify
      Src: /src/glib/gobject/gparamspecs.c:1355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - v
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1363
    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_UINT
      Src: /src/glib/gobject/gparamspecs.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    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:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 559
    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: 924
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 924
    functionName: param_boxed_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_boxed_init (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gparamspecs.c:1187,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:1188,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:1188,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparamspecs.c:1192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1197
    functionName: param_override_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_unref
    - g_type_parent
    - G_PARAM_SPEC_OVERRIDE
    - g_type_class_peek
    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:1265,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparamspecs.c:1269,1
    - Dst: GSIZE_TO_POINTER
      Src: /src/glib/gobject/gparamspecs.c:1271,1
    - Dst: GPOINTER_TO_SIZE
      Src: /src/glib/gobject/gparamspecs.c:1266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1276
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1276
    functionName: param_gtype_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - GSIZE_TO_POINTER
    - GPOINTER_TO_SIZE
    - g_type_is_a
    - G_PARAM_SPEC_GTYPE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_gtype_validate (GParamSpec *pspec,\t\t GValue
      *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2043,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2045,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - name
    - nick
    - blurb
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - guint
    - guint
    - guint
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 2056
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2056
    functionName: g_param_spec_uint
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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_PARAM_SPEC_UINT
      Src: /src/glib/gobject/gparamspecs.c:253,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 259
    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:565,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/gparamspecs.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: param_enum_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_enum_get_value
    - G_PARAM_SPEC_ENUM
    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: 931
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 931
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gparamspecs.c:1203,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gparamspecs.c:1205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1206
    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_SIZE
      Src: /src/glib/gobject/gparamspecs.c:1283,1
    - Dst: GPOINTER_TO_SIZE
      Src: /src/glib/gobject/gparamspecs.c:1284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1289
    functionName: param_gtype_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_SIZE
    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_UCHAR
      Src: /src/glib/gobject/gparamspecs.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT
      Src: /src/glib/gobject/gparamspecs.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    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: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    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:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:1006,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:1007,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparamspecs.c:1011,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:1007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1016
    functionName: param_value_array_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_type_class_peek
    - g_param_spec_unref
    - g_type_parent
    - G_PARAM_SPEC_VALUE_ARRAY
    linkageType: ''
    returnType: void
    signature: 'static void param_value_array_finalize (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UCHAR
      Src: /src/glib/gobject/gparamspecs.c:137,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: param_uchar_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UCHAR
    - CLAMP
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_uchar_validate (GParamSpec *pspec,\t\t GValue
      *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT
      Src: /src/glib/gobject/gparamspecs.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    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:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 285
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 285
    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:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:1022,1
    - Dst: g_value_array_new
      Src: /src/glib/gobject/gparamspecs.c:1025,1
    - Dst: value_array_ensure_size
      Src: /src/glib/gobject/gparamspecs.c:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1032
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:202,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gclosure.c:217,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gclosure.c:221,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gclosure.c:212,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gclosure.c:216,1
    - Dst: SET
      Src: /src/glib/gobject/gclosure.c:225,1
    - Dst: SET
      Src: /src/glib/gobject/gclosure.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - sizeof_closure
    - data
    argTypes:
    - guint
    - gpointer
    constantsTouched: []
    func_position:
      end: 230
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 230
    functionName: g_closure_new_simple
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_malloc0
    - VALGRIND_MALLOCLIKE_BLOCK
    - g_return_val_if_fail
    - SET
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_closure_new_simple (guint sizeof_closure,\t\t gpointer
      data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:453,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:455,1
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:457,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:454,1
    - Dst: g_renew
      Src: /src/glib/gobject/gclosure.c:457,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:459,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:461,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:463,1
    - Dst: INC
      Src: /src/glib/gobject/gclosure.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 467
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 467
    functionName: g_closure_add_finalize_notifier
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_renew
    - CLOSURE_N_NOTIFIERS
    - INC
    - CLOSURE_N_MFUNCS
    - g_return_if_fail
    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:590,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gclosure.c:600,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:599,1
    - Dst: SWAP
      Src: /src/glib/gobject/gclosure.c:596,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gclosure.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 602
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 602
    functionName: g_closure_invalidate
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - closure_invoke_notifiers
    - g_closure_ref
    - g_closure_unref
    - SWAP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_closure_invalidate (GClosure *closure) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:805,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:816,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:807,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gclosure.c:809,1
    - Dst: SET
      Src: /src/glib/gobject/gclosure.c:818,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:830,1
    - Dst: marshal
      Src: /src/glib/gobject/gclosure.c:831,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:837,1
    - Dst: SET
      Src: /src/glib/gobject/gclosure.c:838,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gclosure.c:840,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: 841
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 841
    functionName: g_closure_invoke
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - closure_invoke_notifiers
    - SET
    - g_closure_ref
    - g_closure_unref
    - marshal
    - G_REAL_CLOSURE
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1078,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gclosure.c:1080,1
    - Dst: G_TYPE_INSTANCE_GET_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1080,1
    - Dst: G_STRUCT_MEMBER
      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: 1088
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1088
    functionName: g_type_iface_meta_marshal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_STRUCT_MEMBER
    - g_value_peek_pointer
    - GPOINTER_TO_UINT
    - G_TYPE_INSTANCE_GET_INTERFACE
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:1172,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:1173,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1172,1
    - Dst: G_TYPE_IS_CLASSED
      Src: /src/glib/gobject/gclosure.c:1172,1
    - Dst: g_closure_new_simple
      Src: /src/glib/gobject/gclosure.c:1175,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1176,1
    - Dst: g_closure_set_meta_marshal
      Src: /src/glib/gobject/gclosure.c:1178,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/gclosure.c:1178,1
    - Dst: g_closure_set_meta_va_marshal
      Src: /src/glib/gobject/gclosure.c:1179,1
    - Dst: g_closure_set_meta_marshal
      Src: /src/glib/gobject/gclosure.c:1183,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/gclosure.c:1183,1
    - Dst: g_closure_set_meta_va_marshal
      Src: /src/glib/gobject/gclosure.c:1184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - itype
    - struct_offset
    argTypes:
    - GType
    - guint
    constantsTouched: []
    func_position:
      end: 1187
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1187
    functionName: g_signal_type_cclosure_new
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_closure_new_simple
    - g_closure_set_meta_va_marshal
    - GUINT_TO_POINTER
    - g_closure_set_meta_marshal
    - g_return_val_if_fail
    - 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: DEC_ASSIGN
      Src: /src/glib/gobject/gclosure.c:261,1
    - Dst: SET
      Src: /src/glib/gobject/gclosure.c:272,1
    - Dst: DEC_ASSIGN
      Src: /src/glib/gobject/gclosure.c:276,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:263,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:278,1
    - Dst: SET
      Src: /src/glib/gobject/gclosure.c:285,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - closure
    - notify_type
    argTypes:
    - GClosure*
    - guint
    constantsTouched: []
    func_position:
      end: 306
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 306
    functionName: closure_invoke_notifiers
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - SET
    - CLOSURE_N_MFUNCS
    - DEC_ASSIGN
    linkageType: ''
    returnType: void
    signature: "static inline void closure_invoke_notifiers (GClosure *closure,\t\t\t
      guint notify_type) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:1103,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1116,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1111,1
    - Dst: G_TYPE_INSTANCE_GET_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1110,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1108,1
    - Dst: G_TYPE_INSTANCE_GET_CLASS
      Src: /src/glib/gobject/gclosure.c:1118,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - closure
    - instance
    argTypes:
    - GClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1124
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1124
    functionName: _g_closure_is_void
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - G_REAL_CLOSURE
    - G_STRUCT_MEMBER
    - G_TYPE_INSTANCE_GET_INTERFACE
    - G_TYPE_INSTANCE_GET_CLASS
    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:1197,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1221,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1198,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1197,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1202,1
    - Dst: g_value_get_enum
      Src: /src/glib/gobject/gclosure.c:1223,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1228,1
    - Dst: g_value_get_flags
      Src: /src/glib/gobject/gclosure.c:1230,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:1276,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gclosure.c:1276,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 55
    argCount: 4
    argNames:
    - gvalue
    - value
    - enum_tmpval
    - tmpval_used
    argTypes:
    - GValue*
    - gpointer*
    - gint*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1280
    functionName: value_to_ffi_type
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_assert
    - g_value_get_enum
    - g_critical
    - g_type_name
    - g_value_get_flags
    - g_type_fundamental
    linkageType: ''
    returnType: ffi_type*
    signature: 'static ffi_type *value_to_ffi_type (const GValue *gvalue, gpointer
      *value, gint *enum_tmpval, gboolean *tmpval_used) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:397,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:399,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:398,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:401,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:400,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:402,1
    - Dst: g_renew
      Src: /src/glib/gobject/gclosure.c:404,1
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:404,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:406,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:408,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:417,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:411,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:419,1
    - Dst: INC
      Src: /src/glib/gobject/gclosure.c:429,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:413,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:416,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:420,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: 430
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 430
    functionName: g_closure_add_marshal_guards
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_renew
    - CLOSURE_N_NOTIFIERS
    - INC
    - CLOSURE_N_MFUNCS
    - g_return_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:770,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:778,1
    - Dst: closure_try_remove_fnotify
      Src: /src/glib/gobject/gclosure.c:777,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 780
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 780
    functionName: g_closure_remove_finalize_notifier
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_critical
    - closure_try_remove_fnotify
    - 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:1005,1
    - Dst: g_closure_add_finalize_notifier
      Src: /src/glib/gobject/gclosure.c:1009,1
    - Dst: g_closure_new_simple
      Src: /src/glib/gobject/gclosure.c:1007,1
    - Dst: SET
      Src: /src/glib/gobject/gclosure.c:1011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - callback_func
    - user_data
    - destroy_data
    argTypes:
    - GCallback
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 1014
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1014
    functionName: g_cclosure_new_swap
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - SET
    - g_return_val_if_fail
    - g_closure_add_finalize_notifier
    - g_closure_new_simple
    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:1139,1
    - Dst: G_TYPE_INSTANCE_GET_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1143,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1144,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:1141,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: 1152
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1152
    functionName: g_type_iface_meta_marshalv
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_STRUCT_MEMBER
    - G_REAL_CLOSURE
    - GPOINTER_TO_UINT
    - G_TYPE_INSTANCE_GET_INTERFACE
    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:1483,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1493,1
    - Dst: MAX
      Src: /src/glib/gobject/gclosure.c:1493,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1484,1
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1486,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1496,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1497,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1500,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gclosure.c:1502,1
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1504,1
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1513,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1524,1
    - Dst: ffi_prep_cif
      Src: /src/glib/gobject/gclosure.c:1532,1
    - Dst: ffi_call
      Src: /src/glib/gobject/gclosure.c:1535,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1537,1
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1526,1
    - Dst: value_from_ffi_type
      Src: /src/glib/gobject/gclosure.c:1538,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: 1539
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1539
    functionName: g_cclosure_marshal_generic
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - ffi_prep_cif
    - ffi_call
    - G_VALUE_TYPE
    - value_from_ffi_type
    - value_to_ffi_type
    - G_CCLOSURE_SWAP_DATA
    - g_alloca
    - MAX
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:488,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:490,1
    - Dst: g_renew
      Src: /src/glib/gobject/gclosure.c:493,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:489,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:491,1
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:493,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:494,1
    - Dst: INC
      Src: /src/glib/gobject/gclosure.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 498
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 498
    functionName: g_closure_add_invalidate_notifier
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_renew
    - CLOSURE_N_NOTIFIERS
    - INC
    - CLOSURE_N_MFUNCS
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:557,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:562,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:559,1
    - Dst: INC_ASSIGN
      Src: /src/glib/gobject/gclosure.c:561,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 565
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 565
    functionName: g_closure_ref
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - INC_ASSIGN
    linkageType: ''
    returnType: GClosure*
    signature: 'GClosure *g_closure_ref (GClosure *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:848,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 856
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 856
    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:975,1
    - Dst: g_closure_new_simple
      Src: /src/glib/gobject/gclosure.c:977,1
    - Dst: g_closure_add_finalize_notifier
      Src: /src/glib/gobject/gclosure.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - callback_func
    - user_data
    - destroy_data
    argTypes:
    - GCallback
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 983
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 983
    functionName: g_cclosure_new
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_closure_add_finalize_notifier
    - g_closure_new_simple
    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:1027,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1030,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gclosure.c:1029,1
    - Dst: G_TYPE_INSTANCE_GET_CLASS
      Src: /src/glib/gobject/gclosure.c:1029,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: 1037
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1037
    functionName: g_type_class_meta_marshal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_STRUCT_MEMBER
    - g_value_peek_pointer
    - GPOINTER_TO_UINT
    - G_TYPE_INSTANCE_GET_CLASS
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_type_fundamental
      Src: /src/glib/gobject/gclosure.c:1380,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1406,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1381,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1396,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1390,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1411,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1415,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1419,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1423,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1427,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gclosure.c:1436,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:1436,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1431,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 36
    argCount: 3
    argNames:
    - gtype
    - va
    - storage
    argTypes:
    - GType
    - va_list*
    - va_arg_storage*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1440
    functionName: va_to_ffi_type
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_critical
    - g_type_name
    - va_arg
    - g_type_fundamental
    linkageType: ''
    returnType: ffi_type*
    signature: "static ffi_type *va_to_ffi_type (GType gtype,\t\tva_list *va,\t\tva_arg_storage
      *storage) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:507,1
    - Dst: DEC
      Src: /src/glib/gobject/gclosure.c:511,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 518
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 518
    functionName: closure_try_remove_inotify
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - DEC
    - CLOSURE_N_NOTIFIERS
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:868,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:870,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:879,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gclosure.c:872,1
    - Dst: SET
      Src: /src/glib/gobject/gclosure.c:881,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:893,1
    - Dst: marshal
      Src: /src/glib/gobject/gclosure.c:894,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:900,1
    - Dst: SET
      Src: /src/glib/gobject/gclosure.c:901,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gclosure.c:903,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: 904
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 904
    functionName: _g_closure_invoke_va
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - closure_invoke_notifiers
    - SET
    - g_closure_ref
    - g_closure_unref
    - marshal
    - G_REAL_CLOSURE
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1052,1
    - Dst: G_TYPE_INSTANCE_GET_CLASS
      Src: /src/glib/gobject/gclosure.c:1056,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1057,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:1054,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: 1065
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1065
    functionName: g_type_class_meta_marshalv
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_STRUCT_MEMBER
    - G_REAL_CLOSURE
    - GPOINTER_TO_UINT
    - G_TYPE_INSTANCE_GET_CLASS
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:527,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:536,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:535,1
    - Dst: DEC
      Src: /src/glib/gobject/gclosure.c:531,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 542
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 542
    functionName: closure_try_remove_fnotify
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - DEC
    - CLOSURE_N_NOTIFIERS
    - CLOSURE_N_MFUNCS
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:358,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:363,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:361,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:360,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:359,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - closure
    - marshal_data
    - meta_marshal
    argTypes:
    - GClosure*
    - gpointer
    - GClosureMarshal
    constantsTouched: []
    func_position:
      end: 369
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 369
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:314,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:316,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:317,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:315,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:319,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - closure
    - va_meta_marshal
    argTypes:
    - GClosure*
    - GVaClosureMarshal
    constantsTouched: []
    func_position:
      end: 324
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 324
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:742,1
    - Dst: closure_try_remove_inotify
      Src: /src/glib/gobject/gclosure.c:749,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:743,1
    - Dst: g_critical
      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: 752
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 752
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:708,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:709,1
    - Dst: SWAP
      Src: /src/glib/gobject/gclosure.c:719,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gclosure.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 724
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 724
    functionName: g_closure_sink
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - SWAP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_closure_sink (GClosure *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:927,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:928,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - closure
    - marshal
    argTypes:
    - GClosure*
    - GClosureMarshal
    constantsTouched: []
    func_position:
      end: 935
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 935
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1288,1
    - Dst: g_value_set_float
      Src: /src/glib/gobject/gclosure.c:1297,1
    - Dst: g_type_fundamental
      Src: /src/glib/gobject/gclosure.c:1291,1
    - Dst: g_value_set_enum
      Src: /src/glib/gobject/gclosure.c:1336,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gobject/gclosure.c:1324,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/gclosure.c:1333,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gclosure.c:1345,1
    - Dst: g_type_fundamental
      Src: /src/glib/gobject/gclosure.c:1357,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1358,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/gclosure.c:1315,1
    - Dst: g_value_take_param
      Src: /src/glib/gobject/gclosure.c:1342,1
    - Dst: g_value_set_long
      Src: /src/glib/gobject/gclosure.c:1321,1
    - Dst: g_type_interface_instantiatable_prerequisite
      Src: /src/glib/gobject/gclosure.c:1351,1
    - Dst: g_value_set_uchar
      Src: /src/glib/gobject/gclosure.c:1312,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gobject/gclosure.c:1330,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:1356,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gclosure.c:1357,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1357,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gclosure.c:1358,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/gclosure.c:1294,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/gclosure.c:1300,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gclosure.c:1303,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/gclosure.c:1306,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/gclosure.c:1309,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gobject/gclosure.c:1318,1
    - Dst: g_value_set_int64
      Src: /src/glib/gobject/gclosure.c:1327,1
    - Dst: g_value_set_flags
      Src: /src/glib/gobject/gclosure.c:1339,1
    - Dst: g_value_take_variant
      Src: /src/glib/gobject/gclosure.c:1348,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 43
    argCount: 2
    argNames:
    - gvalue
    - value
    argTypes:
    - GValue*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1360
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1360
    functionName: value_from_ffi_type
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_value_set_schar
    - g_value_set_float
    - g_value_set_pointer
    - g_value_set_long
    - g_value_set_double
    - g_value_set_uint
    - g_value_set_int64
    - g_value_take_string
    - g_value_set_enum
    - g_type_name
    - g_value_set_int
    - g_value_take_boxed
    - g_value_take_param
    - g_value_set_uchar
    - g_value_set_boolean
    - g_value_set_flags
    - g_critical
    - g_type_fundamental
    - g_type_interface_instantiatable_prerequisite
    - G_VALUE_TYPE
    - g_value_set_ulong
    - g_value_take_object
    - g_value_set_uint64
    - g_value_take_variant
    linkageType: ''
    returnType: void
    signature: 'static void value_from_ffi_type (GValue *gvalue, gpointer *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:943,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:949,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:944,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - closure
    - marshal
    argTypes:
    - GClosure*
    - GVaClosureMarshal
    constantsTouched: []
    func_position:
      end: 953
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 953
    functionName: _g_closure_set_va_marshal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_critical
    - G_REAL_CLOSURE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_closure_set_va_marshal (GClosure *closure,\t\t\t GVaClosureMarshal
      marshal) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:619,1
    - Dst: DEC_ASSIGN
      Src: /src/glib/gobject/gclosure.c:625,1
    - Dst: g_closure_invalidate
      Src: /src/glib/gobject/gclosure.c:623,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:620,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:629,1
    - Dst: g_free
      Src: /src/glib/gobject/gclosure.c:630,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:638,1
    - Dst: g_free
      Src: /src/glib/gobject/gclosure.c:641,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/gobject/gclosure.c:643,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/gobject/gclosure.c:644,1
    - Dst: g_free
      Src: /src/glib/gobject/gclosure.c:648,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 650
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 650
    functionName: g_closure_unref
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - closure_invoke_notifiers
    - g_closure_invalidate
    - g_free
    - G_REAL_CLOSURE
    - DEC_ASSIGN
    - VALGRIND_FREELIKE_BLOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_closure_unref (GClosure *closure) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/glib/gobject/gclosure.c:1594,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1594,1
    - Dst: va_copy
      Src: /src/glib/gobject/gclosure.c:1616,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gclosure.c:1641,1
    - Dst: va_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1624,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/gclosure.c:1636,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gclosure.c:1638,1
    - Dst: G_TYPE_FUNDAMENTAL
      Src: /src/glib/gobject/gclosure.c:1622,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/gclosure.c:1664,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gclosure.c:1669,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1597,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1584,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1585,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1598,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gclosure.c:1634,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gclosure.c:1632,1
    - Dst: va_end
      Src: /src/glib/gobject/gclosure.c:1644,1
    - Dst: g_free
      Src: /src/glib/gobject/gclosure.c:1660,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gclosure.c:1662,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gclosure.c:1666,1
    - Dst: value_from_ffi_type
      Src: /src/glib/gobject/gclosure.c:1673,1
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1587,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1599,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gclosure.c:1601,1
    - Dst: ffi_prep_cif
      Src: /src/glib/gobject/gclosure.c:1646,1
    - Dst: ffi_call
      Src: /src/glib/gobject/gclosure.c:1649,1
    - Dst: G_TYPE_FUNDAMENTAL
      Src: /src/glib/gobject/gclosure.c:1655,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1672,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: 1674
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1674
    functionName: g_cclosure_marshal_generic_va
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - ffi_call
    - g_boxed_copy
    - value_from_ffi_type
    - g_param_spec_unref
    - va_end
    - va_copy
    - value_to_ffi_type
    - g_object_unref
    - va_to_ffi_type
    - G_CCLOSURE_SWAP_DATA
    - g_alloca
    - ffi_prep_cif
    - g_object_ref
    - g_boxed_free
    - g_param_spec_ref
    - g_variant_unref
    - g_variant_ref_sink
    - MAX
    - g_strdup
    - g_free
    - G_VALUE_TYPE
    - G_TYPE_FUNDAMENTAL
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gatomicarray.c:70,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gatomicarray.c:84,1
    - Dst: MAX
      Src: /src/glib/gobject/gatomicarray.c:78,1
    - Dst: g_slice_alloc
      Src: /src/glib/gobject/gatomicarray.c:79,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gatomicarray.c:81,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:
    - MAX
    - VALGRIND_MALLOCLIKE_BLOCK
    - G_ATOMIC_ARRAY_DATA_SIZE
    - g_slice_alloc
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer freelist_alloc (gsize size, gboolean reuse) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gobject/gatomicarray.c:165,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/gobject/gatomicarray.c:166,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_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_LOCK
    - g_assert
    - g_atomic_pointer_exchange
    - G_UNLOCK
    - freelist_free
    - g_atomic_pointer_set
    - g_return_if_reached
    - G_ATOMIC_ARRAY_DATA_SIZE
    linkageType: ''
    returnType: void
    signature: "void _g_atomic_array_update (GAtomicArray *array,\t\t\tgpointer new_data) "
  - 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: []
    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:132,1
    - Dst: memcpy
      Src: /src/glib/gobject/gatomicarray.c:142,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: freelist_alloc
      Src: /src/glib/gobject/gatomicarray.c:141,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:
    - memcpy
    - g_atomic_pointer_get
    - G_LOCK
    - G_UNLOCK
    - G_ATOMIC_ARRAY_DATA_SIZE
    - freelist_alloc
    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:
    - Dst: g_warning
      Src: /src/glib/gobject/gobject.h:687,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.h:693,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gobject.h:692,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.h:692,1
    - Dst: g_object_ref_sink
      Src: /src/glib/gobject/gobject.h:548,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 6
    argCount: 0
    argNames:
    - g_object_new_with_properties
    argTypes: []
    constantsTouched: []
    func_position:
      end: 694
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 694
    functionName: GOBJECT_DEPRECATED_IN_2_54_FOR
    functionSourceFile: /src/glib/gobject/gobject.h
    functionUses: []
    functionsReached:
    - g_warning
    - g_type_name
    - G_OBJECT_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/gobject.h:818,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.h:818,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.h:820,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/gobject.h:819,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/gobject.h:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 822
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 822
    functionName: (g_assert_finalize_object)
    functionSourceFile: /src/glib/gobject/gobject.h
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_IS_OBJECT
    - g_object_add_weak_pointer
    - g_assert_null
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static inline void (g_assert_finalize_object) (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.h:763,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.h:768,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - object_ptr
    - new_object
    argTypes:
    - GObject**
    - GObject*
    constantsTouched: []
    func_position:
      end: 771
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 771
    functionName: (g_set_object)
    functionSourceFile: /src/glib/gobject/gobject.h
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean (g_set_object) (GObject **object_ptr, GObject
      *new_object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gobject/gobject.h:855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - weak_pointer_location
    argTypes:
    - gpointer*
    constantsTouched: []
    func_position:
      end: 858
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 858
    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:918,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/gobject.h:923,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - weak_pointer_location
    - new_object
    argTypes:
    - gpointer*
    - GObject*
    constantsTouched: []
    func_position:
      end: 926
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 926
    functionName: (g_set_weak_pointer)
    functionSourceFile: /src/glib/gobject/gobject.h
    functionUses: []
    functionsReached:
    - g_object_remove_weak_pointer
    - g_object_add_weak_pointer
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean (g_set_weak_pointer) (gpointer *weak_pointer_location,
      GObject *new_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_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_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_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:249,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:272,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:280,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: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:303,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:357,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:355,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:336,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:421,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:349,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:333,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:330,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:346,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:299,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:268,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:264,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:287,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:322,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:326,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:325,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:407,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:370,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:391,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:388,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:404,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:367,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: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:254,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:308,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:312,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:281,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:380,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:364,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:377,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:340,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:356,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:374,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:288,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:296,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:261,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:269,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:319,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:334,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:371,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:398,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:411,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:395,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:392,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:344,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:255,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:305,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:274,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:278,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:389,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:384,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:368,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:381,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:402,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:270,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:320,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:289,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:266,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: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:378,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: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:354,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:359,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:372,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:420,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:351,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:399,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:252,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:283,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:256,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:306,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:275,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:332,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:417,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:345,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:329,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:414,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:369,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:390,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:271,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:321,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:267,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:290,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:298,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: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:400,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: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:363,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:376,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: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:360,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:
    - SKIP____register_transform_func
    - g_value_register_transform_func
    linkageType: ''
    returnType: void
    signature: 'void _g_value_transforms_init (void) '
  - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gvaluetransform.c:196,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_new
      Src: /src/glib/gobject/gvaluetransform.c:204,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
    - g_string_new
    - g_string_append
    - G_VALUE_TYPE
    - g_flags_get_first_value
    - g_type_class_unref
    - g_strdup_printf
    - g_string_free
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void value_transform_flags_string (const GValue *src_value,
      GValue *dest_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:165,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:166,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtypeplugin.c:169,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypeplugin.c:165,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:167,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: 174
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: g_type_plugin_complete_type_info
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - G_TYPE_PLUGIN_GET_CLASS
    - G_IS_TYPE_PLUGIN
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:121,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtypeplugin.c:123,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypeplugin.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: g_type_plugin_use
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - G_TYPE_PLUGIN_GET_CLASS
    - G_IS_TYPE_PLUGIN
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_plugin_use (GTypePlugin *plugin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gtypeplugin.c:102,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gtypeplugin.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: g_type_plugin_get_type
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - g_intern_static_string
    - g_type_register_static
    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:140,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypeplugin.c:140,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtypeplugin.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: g_type_plugin_unuse
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - G_TYPE_PLUGIN_GET_CLASS
    - G_IS_TYPE_PLUGIN
    - 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:196,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypeplugin.c:196,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:197,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtypeplugin.c:199,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: 204
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: g_type_plugin_complete_interface_info
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - G_TYPE_PLUGIN_GET_CLASS
    - G_IS_TYPE_PLUGIN
    - 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: memset
      Src: /src/glib/gobject/gboxed.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - value
    - value_type
    argTypes:
    - GValue*
    - GType
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    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_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:326,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:329,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gboxed.c:329,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:328,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:327,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gboxed.c:331,1
    - Dst: _g_type_boxed_init
      Src: /src/glib/gobject/gboxed.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - name
    - boxed_copy
    - boxed_free
    argTypes:
    - gchar*
    - GBoxedCopyFunc
    - GBoxedFreeFunc
    constantsTouched: []
    func_position:
      end: 338
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 338
    functionName: g_boxed_type_register_static
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_type_from_name
    - g_return_val_if_fail
    - _g_type_boxed_init
    - g_type_register_static
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:357,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:359,1
    - Dst: G_TYPE_IS_BOXED
      Src: /src/glib/gobject/gboxed.c:357,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:358,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gobject/gboxed.c:358,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gboxed.c:361,1
    - Dst: g_assert
      Src: /src/glib/gobject/gboxed.c:362,1
    - Dst: _g_type_boxed_copy
      Src: /src/glib/gobject/gboxed.c:366,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gboxed.c:382,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gboxed.c:387,1
    - Dst: g_warning
      Src: /src/glib/gobject/gboxed.c:392,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gboxed.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - boxed_type
    - src_boxed
    argTypes:
    - GType
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 399
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 399
    functionName: g_boxed_copy
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_type_value_table_peek
    - g_assert
    - G_TYPE_IS_ABSTRACT
    - G_TYPE_IS_BOXED
    - _g_type_boxed_copy
    - g_warning
    - value_meminit
    - g_type_name
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_boxed_copy (GType boxed_type,\t gconstpointer src_boxed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:526,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:527,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:527,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:527,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:526,1
    - Dst: value_set_boxed_internal
      Src: /src/glib/gobject/gboxed.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - boxed
    argTypes:
    - GValue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: g_value_set_static_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - G_VALUE_HOLDS_BOXED
    - value_set_boxed_internal
    - G_TYPE_IS_VALUE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_static_boxed (GValue *value,\t\t\t gconstpointer
      boxed) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/gboxed.c:75,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:79,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gboxed.c:79,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:77,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gboxed.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - src_value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: value_copy
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_value_init
    - g_value_copy
    - g_new0
    - G_VALUE_TYPE
    linkageType: ''
    returnType: GValue*
    signature: 'static GValue *value_copy (GValue *src_value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:267,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gboxed.c:267,1
    - Dst: _g_type_boxed_copy
      Src: /src/glib/gobject/gboxed.c:274,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:274,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gboxed.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 277
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 277
    functionName: boxed_proxy_lcopy_value
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - G_VALUE_TYPE_NAME
    - _g_type_boxed_copy
    - g_strdup_printf
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_type_boxed_free
      Src: /src/glib/gobject/gboxed.c:218,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_type_boxed_copy
      Src: /src/glib/gobject/gboxed.c:226,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: boxed_proxy_value_copy
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - _g_type_boxed_copy
    linkageType: ''
    returnType: void
    signature: "static void boxed_proxy_value_copy (const GValue *src_value,\t\t\tGValue
      *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gboxed.c:122,1
    - Dst: g_assert
      Src: /src/glib/gobject/gboxed.c:124,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gboxed.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: _g_boxed_type_init
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_register_fundamental
    - g_intern_static_string
    linkageType: ''
    returnType: void
    signature: 'void _g_boxed_type_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:88,1
    - Dst: g_free
      Src: /src/glib/gobject/gboxed.c:90,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gboxed.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: value_free
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_free
    - g_value_unset
    - G_VALUE_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void value_free (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/gobject/gboxed.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - gstring
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    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_new0
      Src: /src/glib/gobject/gboxed.c:96,1
    - Dst: memcpy
      Src: /src/glib/gobject/gboxed.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new_len
      Src: /src/glib/gobject/gboxed.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - src_gstring
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    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: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:466,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:467,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:467,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:466,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:467,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/gboxed.c:469,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 470
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 470
    functionName: g_value_dup_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - G_VALUE_HOLDS_BOXED
    - g_boxed_copy
    - G_TYPE_IS_VALUE
    - g_return_val_if_fail
    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:506,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:507,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:506,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:507,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:507,1
    - Dst: value_set_boxed_internal
      Src: /src/glib/gobject/gboxed.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - boxed
    argTypes:
    - GValue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: g_value_set_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - G_VALUE_HOLDS_BOXED
    - value_set_boxed_internal
    - G_TYPE_IS_VALUE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_boxed (GValue *value,\t\t gconstpointer boxed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:563,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:564,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:563,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:564,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:564,1
    - Dst: value_set_boxed_internal
      Src: /src/glib/gobject/gboxed.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - boxed
    argTypes:
    - GValue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 567
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 567
    functionName: g_value_take_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - G_VALUE_HOLDS_BOXED
    - value_set_boxed_internal
    - G_TYPE_IS_VALUE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_take_boxed (GValue *value,\t\t gconstpointer boxed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_type_boxed_copy
      Src: /src/glib/gobject/gboxed.c:253,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 257
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 257
    functionName: boxed_proxy_collect_value
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - _g_type_boxed_copy
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gobject/gboxed.c:189,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gboxed.c:192,1
    - Dst: g_once_init_leave
      Src: /src/glib/gobject/gboxed.c:196,1
    - Dst: g_boxed_type_register_static
      Src: /src/glib/gobject/gboxed.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: g_strv_get_type
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_intern_static_string
    - g_boxed_type_register_static
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: GType
    signature: 'GType g_strv_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:414,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:416,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:415,1
    - Dst: G_TYPE_IS_BOXED
      Src: /src/glib/gobject/gboxed.c:414,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gobject/gboxed.c:415,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gboxed.c:418,1
    - Dst: g_assert
      Src: /src/glib/gobject/gboxed.c:419,1
    - Dst: _g_type_boxed_free
      Src: /src/glib/gobject/gboxed.c:423,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gboxed.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - boxed_type
    - boxed
    argTypes:
    - GType
    - gpointer
    constantsTouched: []
    func_position:
      end: 433
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 433
    functionName: g_boxed_free
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_type_value_table_peek
    - g_assert
    - G_TYPE_IS_ABSTRACT
    - G_TYPE_IS_BOXED
    - value_meminit
    - _g_type_boxed_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_boxed_free (GType boxed_type,\t gpointer boxed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:446,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:447,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:447,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:447,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 450
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 450
    functionName: g_value_get_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_BOXED
    - G_TYPE_IS_VALUE
    - g_return_val_if_fail
    - G_VALUE_TYPE
    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:485,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:492,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/gboxed.c:492,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/gboxed.c:490,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:490,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: 493
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 493
    functionName: value_set_boxed_internal
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_value_reset
    - g_boxed_copy
    - g_boxed_free
    - G_VALUE_TYPE
    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_value_take_boxed
      Src: /src/glib/gobject/gboxed.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - value
    - boxed
    argTypes:
    - GValue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 546
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    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_return_if_fail
      Src: /src/glib/gobject/genums.c:345,1
    - Dst: MIN
      Src: /src/glib/gobject/genums.c:360,1
    - Dst: G_IS_ENUM_CLASS
      Src: /src/glib/gobject/genums.c:345,1
    - Dst: MAX
      Src: /src/glib/gobject/genums.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - class
    - class_data
    argTypes:
    - GEnumClass*
    - gpointer
    constantsTouched: []
    func_position:
      end: 365
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 365
    functionName: g_enum_class_init
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    - G_IS_ENUM_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void g_enum_class_init (GEnumClass *class,\t\t gpointer class_data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:549,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - flags_class
    - value
    argTypes:
    - GFlagsClass*
    - guint
    constantsTouched: []
    func_position:
      end: 570
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 570
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:371,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - class
    - class_data
    argTypes:
    - GFlagsClass*
    - gpointer
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 387
    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:521,1
    - Dst: G_IS_ENUM_CLASS
      Src: /src/glib/gobject/genums.c:521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - enum_class
    - value
    argTypes:
    - GEnumClass*
    - gint
    constantsTouched: []
    func_position:
      end: 533
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 533
    functionName: g_enum_get_value
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_ENUM_CLASS
    linkageType: ''
    returnType: GEnumValue*
    signature: "GEnumValue *g_enum_get_value (GEnumClass *enum_class,\t\t gint\t value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:710,1
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gobject/genums.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_enum
    argTypes:
    - GValue*
    - gint
    constantsTouched: []
    func_position:
      end: 713
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 713
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:635,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gobject/genums.c:640,1
    - Dst: g_string_append
      Src: /src/glib/gobject/genums.c:643,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:635,1
    - Dst: g_string_new
      Src: /src/glib/gobject/genums.c:637,1
    - Dst: g_string_append
      Src: /src/glib/gobject/genums.c:645,1
    - Dst: g_string_append
      Src: /src/glib/gobject/genums.c:654,1
    - Dst: g_string_append_printf
      Src: /src/glib/gobject/genums.c:656,1
    - Dst: g_string_free
      Src: /src/glib/gobject/genums.c:659,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - flags_class
    - value
    argTypes:
    - GFlagsClass*
    - guint
    constantsTouched: []
    func_position:
      end: 660
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 660
    functionName: g_flags_get_value_string
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_string_append_printf
    - g_flags_get_first_value
    - G_IS_FLAGS_CLASS
    - g_string_free
    - g_return_val_if_fail
    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:684,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/genums.c:686,1
    - Dst: g_flags_get_value_string
      Src: /src/glib/gobject/genums.c:692,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/genums.c:694,1
    - Dst: G_TYPE_IS_FLAGS
      Src: /src/glib/gobject/genums.c:684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - flags_type
    - value
    argTypes:
    - GType
    - guint
    constantsTouched: []
    func_position:
      end: 696
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 696
    functionName: g_flags_to_string
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_FLAGS
    - g_type_class_unref
    - g_type_class_ref
    - g_return_val_if_fail
    - g_flags_get_value_string
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_flags_to_string (GType flags_type, guint value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:594,1
    - Dst: G_TYPE_IS_ENUM
      Src: /src/glib/gobject/genums.c:594,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/genums.c:600,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/genums.c:596,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/genums.c:602,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/genums.c:605,1
    - Dst: g_strdup
      Src: /src/glib/gobject/genums.c:607,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/genums.c:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - g_enum_type
    - value
    argTypes:
    - GType
    - gint
    constantsTouched: []
    func_position:
      end: 611
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 611
    functionName: g_enum_to_string
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_TYPE_IS_ENUM
    - g_type_class_unref
    - g_strdup_printf
    - g_enum_get_value
    - g_return_val_if_fail
    - g_type_class_ref
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_enum_to_string (GType g_enum_type, gint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gobject/genums.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 162
    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:433,1
    - Dst: strcmp
      Src: /src/glib/gobject/genums.c:441,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:434,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - flags_class
    - name
    argTypes:
    - GFlagsClass*
    - gchar*
    constantsTouched: []
    func_position:
      end: 446
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 446
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:742,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gobject/genums.c:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_flags
    argTypes:
    - GValue*
    - guint
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 745
    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:758,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gobject/genums.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 761
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 761
    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:172,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/genums.c:172,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/genums.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: value_flags_enum_lcopy_value
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:256,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/genums.c:261,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - const_static_values
    argTypes:
    - gchar*
    - GFlagsValue*
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: g_flags_register_static
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: "GType g_flags_register_static (const gchar\t *name,\t\t\t const GFlagsValue
      *const_static_values) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:404,1
    - Dst: G_IS_ENUM_CLASS
      Src: /src/glib/gobject/genums.c:404,1
    - Dst: strcmp
      Src: /src/glib/gobject/genums.c:412,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - enum_class
    - name
    argTypes:
    - GEnumClass*
    - gchar*
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: g_enum_get_value_by_name
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_ENUM_CLASS
    - 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_val_if_fail
      Src: /src/glib/gobject/genums.c:726,1
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gobject/genums.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 729
    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_return_val_if_fail
      Src: /src/glib/gobject/genums.c:213,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:214,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/genums.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - const_static_values
    argTypes:
    - gchar*
    - GEnumValue*
    constantsTouched: []
    func_position:
      end: 221
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 221
    functionName: g_enum_register_static
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_register_static
    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:329,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:330,1
    - Dst: G_TYPE_IS_FLAGS
      Src: /src/glib/gobject/genums.c:329,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - g_flags_type
    - info
    - const_values
    argTypes:
    - GType
    - GTypeInfo*
    - GFlagsValue*
    constantsTouched: []
    func_position:
      end: 339
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 339
    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:492,1
    - Dst: strcmp
      Src: /src/glib/gobject/genums.c:500,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:493,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - flags_class
    - nick
    argTypes:
    - GFlagsClass*
    - gchar*
    constantsTouched: []
    func_position:
      end: 505
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 505
    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_if_fail
      Src: /src/glib/gobject/genums.c:119,1
    - Dst: g_assert
      Src: /src/glib/gobject/genums.c:127,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/genums.c:125,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/genums.c:125,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/genums.c:132,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/genums.c:132,1
    - Dst: g_assert
      Src: /src/glib/gobject/genums.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 135
    functionName: _g_enum_types_init
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_register_fundamental
    - g_intern_static_string
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_enum_types_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:300,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:302,1
    - Dst: G_TYPE_IS_ENUM
      Src: /src/glib/gobject/genums.c:300,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - g_enum_type
    - info
    - const_values
    argTypes:
    - GType
    - GTypeInfo*
    - GEnumValue*
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 310
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:463,1
    - Dst: strcmp
      Src: /src/glib/gobject/genums.c:471,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:464,1
    - Dst: G_IS_ENUM_CLASS
      Src: /src/glib/gobject/genums.c:463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - enum_class
    - nick
    argTypes:
    - GEnumClass*
    - gchar*
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: g_enum_get_value_by_nick
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_ENUM_CLASS
    - strcmp
    linkageType: ''
    returnType: GEnumValue*
    signature: "GEnumValue *g_enum_get_value_by_nick (GEnumClass *enum_class,\t\t\t
      const gchar *nick) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_acquire
      Src: /src/glib/gobject/gbinding.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - TransformFunc*
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:377,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbinding.c:385,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:381,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:389,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gbinding.c:387,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:390,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:408,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:409,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:414,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:415,1
    - Dst: unbind_internal_locked
      Src: /src/glib/gobject/gbinding.c:418,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:420,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:430,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:434,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:437,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:425,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:424,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbinding.c:427,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - user_data
    - where_the_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 438
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 438
    functionName: weak_unbind
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - g_object_unref
    - g_steal_pointer
    - g_weak_ref_get
    - g_mutex_unlock
    - binding_context_unref
    - unbind_internal_locked
    - g_weak_ref_set
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void weak_unbind (gpointer user_data, GObject *where_the_object_was) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:585,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:605,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:629,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gbinding.c:622,1
    - Dst: g_object_get_property
      Src: /src/glib/gobject/gbinding.c:610,1
    - Dst: transform_func_ref
      Src: /src/glib/gobject/gbinding.c:604,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:607,1
    - Dst: transform_func_unref
      Src: /src/glib/gobject/gbinding.c:616,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:628,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:579,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbinding.c:597,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:589,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:601,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:607,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:608,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:631,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:592,1
    - Dst: g_object_set_property
      Src: /src/glib/gobject/gbinding.c:623,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:608,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:632,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - target
    - pspec
    - context
    argTypes:
    - GObject*
    - GParamSpec*
    - BindingContext*
    constantsTouched: []
    func_position:
      end: 633
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 633
    functionName: on_target_notify
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_object_get_property
    - g_param_value_validate
    - g_object_unref
    - transform_func_unref
    - g_mutex_unlock
    - g_weak_ref_get
    - g_value_init
    - g_object_set_property
    - transform_func_ref
    - g_value_unset
    - G_PARAM_SPEC_VALUE_TYPE
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void on_target_notify (GObject *target, GParamSpec *pspec,
      BindingContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1025,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:1031,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1025,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:1027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1034
    functionName: g_binding_get_source
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_return_val_if_fail
    - G_IS_BINDING
    - g_object_unref
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_binding_get_source (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1153,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1156
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/gobject/gbinding.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - transform_s2t
    - transform_t2s
    - transform_data
    - destroy_notify
    argTypes:
    - GBindingTransformFunc
    - GBindingTransformFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    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: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: transform_func_clear
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void transform_func_clear (TransformFunc *func) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gbinding.c:449,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gbinding.c:452,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:452,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:449,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:449,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:453,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gbinding.c:455,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/gbinding.c:459,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:459,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:460,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:466,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gbinding.c:470,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gbinding.c:462,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:469,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:470,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gbinding.c:475,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gbinding.c:469,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: 477
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 477
    functionName: default_transform
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_value_transform
    - g_value_type_compatible
    - g_value_type_transformable
    - G_VALUE_TYPE
    - g_critical
    - g_type_name
    - g_type_is_a
    - g_value_copy
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean default_transform (GBinding *binding, const GValue
      *value_a, GValue *value_b, gpointer user_data G_GNUC_UNUSED) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbinding.c:644,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gbinding.c:646,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:648,1
    - Dst: unbind_internal_locked
      Src: /src/glib/gobject/gbinding.c:651,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:649,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:653,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:657,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:658,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbinding.c:660,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - binding
    - unref_binding
    argTypes:
    - GBinding*
    - gboolean
    constantsTouched: []
    func_position:
      end: 664
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 664
    functionName: g_binding_unbind_internal
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - g_object_unref
    - g_steal_pointer
    - g_weak_ref_get
    - g_mutex_unlock
    - unbind_internal_locked
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static inline void g_binding_unbind_internal (GBinding *binding, gboolean
      unref_binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:993,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 996
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 996
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1086,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:1088,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:1092,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1086,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 1095
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1095
    functionName: g_binding_get_target
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_return_val_if_fail
    - G_IS_BINDING
    - g_object_unref
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_binding_get_target (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/gobject/gbinding.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - TransformFunc*
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_BINDING
      Src: /src/glib/gobject/gbinding.c:763,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:768,1
    - Dst: g_value_set_interned_string
      Src: /src/glib/gobject/gbinding.c:773,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gbinding.c:777,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gbinding.c:768,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:777,1
    - Dst: g_value_set_interned_string
      Src: /src/glib/gobject/gbinding.c:782,1
    - Dst: g_value_set_flags
      Src: /src/glib/gobject/gbinding.c:786,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gbinding.c:790,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 793
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 793
    functionName: g_binding_get_property
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_value_set_flags
    - G_BINDING
    - g_value_set_interned_string
    - g_value_take_object
    - g_weak_ref_get
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1504,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1507,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/gbinding.c:1505,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1510,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/gbinding.c:1508,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/gbinding.c:1511,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1513,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gbinding.c:1514,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gbinding.c:1516,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gbinding.c:1518,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/gbinding.c:1521,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gbinding.c:1525,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1529,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1530,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1528,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1531,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:1523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - binding
    - source
    - target
    - data
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1534
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1534
    functionName: bind_with_closures_transform_from
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_closure_invoke
    - g_value_set_boxed
    - g_value_unset
    - g_value_init
    - g_value_get_boxed
    - g_value_get_boolean
    - g_value_set_object
    - g_value_copy
    - g_value_set_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean bind_with_closures_transform_from (GBinding *binding,
      const GValue *source, GValue *target, gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:806,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:809,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbinding.c:817,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:819,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/gbinding.c:829,1
    - Dst: binding_context_ref
      Src: /src/glib/gobject/gbinding.c:847,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gbinding.c:858,1
    - Dst: binding_context_ref
      Src: /src/glib/gobject/gbinding.c:858,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:867,1
    - Dst: G_BINDING
      Src: /src/glib/gobject/gbinding.c:798,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:807,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbinding.c:816,1
    - Dst: transform_func_new
      Src: /src/glib/gobject/gbinding.c:826,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gbinding.c:828,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gbinding.c:838,1
    - Dst: binding_context_ref
      Src: /src/glib/gobject/gbinding.c:838,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/gbinding.c:846,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbinding.c:816,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gbinding.c:829,1
    - Dst: g_signal_connect_closure_by_id
      Src: /src/glib/gobject/gbinding.c:832,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gbinding.c:845,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:805,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:808,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:810,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbinding.c:817,1
    - Dst: binding_context_ref
      Src: /src/glib/gobject/gbinding.c:830,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:818,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gbinding.c:846,1
    - Dst: g_signal_connect_closure_by_id
      Src: /src/glib/gobject/gbinding.c:849,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:866,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 1
    argNames:
    - gobject
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 868
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 868
    functionName: g_binding_constructed
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - G_OBJECT_GET_CLASS
    - G_BINDING
    - g_assert
    - transform_func_new
    - g_cclosure_new
    - g_object_weak_ref
    - g_object_unref
    - binding_context_ref
    - G_CALLBACK
    - g_weak_ref_get
    - g_signal_connect_closure_by_id
    - g_quark_from_string
    - g_object_class_find_property
    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:1542,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gbinding.c:1545,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gbinding.c:1547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1548
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1548
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbinding.c:1179,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1179,1
    - Dst: g_binding_unbind_internal
      Src: /src/glib/gobject/gbinding.c:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1182
    functionName: g_binding_unbind
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - G_IS_BINDING
    - g_binding_unbind_internal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_binding_unbind (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BINDING
      Src: /src/glib/gobject/gbinding.c:669,1
    - Dst: g_binding_unbind_internal
      Src: /src/glib/gobject/gbinding.c:671,1
    - Dst: g_mutex_clear
      Src: /src/glib/gobject/gbinding.c:675,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:673,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gbinding.c:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - gobject
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: g_binding_finalize
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_binding_unbind_internal
    - G_BINDING
    - binding_context_unref
    - g_mutex_clear
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_finalize (GObject *gobject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:876,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/gbinding.c:891,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:890,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/gbinding.c:944,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:908,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:926,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:943,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:961,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:945,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:958,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gobject/gbinding.c:959,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:892,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:893,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:905,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/gbinding.c:906,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:907,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:927,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:960,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gbinding.c:873,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/gbinding.c:875,1
    - Dst: P_
      Src: /src/glib/gobject/gbinding.c:946,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/gbinding.c:925,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBindingClass*
    constantsTouched: []
    func_position:
      end: 967
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 967
    functionName: g_binding_class_init
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - g_assert
    - g_signal_lookup
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_class_init (GBindingClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1115,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1115,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 1118
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1118
    functionName: g_binding_dup_target
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_return_val_if_fail
    - G_IS_BINDING
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_binding_dup_target (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/gobject/gbinding.c:972,1
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/gobject/gbinding.c:974,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/gbinding.c:977,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/gbinding.c:976,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/gbinding.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 978
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 978
    functionName: g_binding_init
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_atomic_rc_box_new0
    - g_weak_ref_init
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_init (GBinding *binding) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gobject/gbinding.c:1587,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gbinding.c:1594,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gbinding.c:1592,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gbinding.c:1591,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gbinding.c:1595,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gbinding.c:1600,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gbinding.c:1601,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gbinding.c:1603,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gbinding.c:1604,1
    - Dst: g_object_bind_property_full
      Src: /src/glib/gobject/gbinding.c:1607,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 7
    argNames:
    - source
    - source_property
    - target
    - target_property
    - flags
    - transform_to
    - transform_from
    argTypes:
    - gpointer
    - gchar*
    - gpointer
    - gchar*
    - GBindingFlags
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 1614
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1614
    functionName: g_object_bind_property_with_closures
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_closure_set_marshal
    - g_slice_new0
    - g_closure_ref
    - g_object_bind_property_full
    - g_closure_sink
    - 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_weak_ref_clear
      Src: /src/glib/gobject/gbinding.c:172,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/gbinding.c:173,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/gbinding.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - BindingContext*
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:487,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gobject/gbinding.c:488,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:488,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gobject/gbinding.c:487,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gbinding.c:490,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gbinding.c:493,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: 496
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 496
    functionName: default_invert_boolean_transform
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_get_boolean
    - G_VALUE_HOLDS_BOOLEAN
    - g_value_set_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gbinding.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 701
    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:1054,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1054,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 1057
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    functionName: g_binding_dup_source
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_return_val_if_fail
    - G_IS_BINDING
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_binding_dup_source (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_bind_property_full
      Src: /src/glib/gobject/gbinding.c:1436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - source
    - source_property
    - target
    - target_property
    - flags
    argTypes:
    - gpointer
    - gchar*
    - gpointer
    - gchar*
    - GBindingFlags
    constantsTouched: []
    func_position:
      end: 1442
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1442
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gobject/gbinding.c:127,1
    - Dst: g_once_init_leave
      Src: /src/glib/gobject/gbinding.c:138,1
    - Dst: g_flags_register_static
      Src: /src/glib/gobject/gbinding.c:137,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gbinding.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: g_binding_flags_get_type
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_flags_register_static
    - g_intern_static_string
    - g_once_init_leave
    - g_once_init_enter
    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:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - BindingContext*
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/gobject/gbinding.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - BindingContext*
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:520,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbinding.c:528,1
    - Dst: transform_func_ref
      Src: /src/glib/gobject/gbinding.c:535,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:536,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:538,1
    - Dst: g_object_get_property
      Src: /src/glib/gobject/gbinding.c:541,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gbinding.c:554,1
    - Dst: transform_func_unref
      Src: /src/glib/gobject/gbinding.c:548,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:539,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:563,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:564,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:510,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:523,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:516,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:532,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:538,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:539,1
    - Dst: g_object_set_property
      Src: /src/glib/gobject/gbinding.c:555,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:561,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:560,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - source
    - pspec
    - context
    argTypes:
    - GObject*
    - GParamSpec*
    - BindingContext*
    constantsTouched: []
    func_position:
      end: 565
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 565
    functionName: on_source_notify
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_object_get_property
    - g_param_value_validate
    - g_object_unref
    - transform_func_unref
    - g_mutex_unlock
    - g_weak_ref_get
    - g_value_init
    - g_object_set_property
    - transform_func_ref
    - g_value_unset
    - G_PARAM_SPEC_VALUE_TYPE
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void on_source_notify (GObject *source, GParamSpec *pspec,
      BindingContext *context) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_BINDING
      Src: /src/glib/gobject/gbinding.c:709,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/gbinding.c:718,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/gbinding.c:714,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:714,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:718,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/gbinding.c:725,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gbinding.c:729,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/gbinding.c:731,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gbinding.c:732,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gbinding.c:741,1
    - Dst: g_value_get_flags
      Src: /src/glib/gobject/gbinding.c:748,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gbinding.c:752,1
    - Dst: g_free
      Src: /src/glib/gobject/gbinding.c:743,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 755
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 755
    functionName: g_binding_set_property
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_value_get_string
    - g_intern_string
    - g_free
    - G_BINDING
    - is_canonical
    - canonicalize_key
    - g_value_get_object
    - g_value_get_flags
    - g_weak_ref_set
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:1461,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1464,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/gbinding.c:1462,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1467,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/gbinding.c:1465,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/gbinding.c:1468,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1470,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gbinding.c:1471,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gbinding.c:1473,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gbinding.c:1475,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/gbinding.c:1478,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1486,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gbinding.c:1482,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1487,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1488,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1485,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:1480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - binding
    - source
    - target
    - data
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1491
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1491
    functionName: bind_with_closures_transform_to
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_closure_invoke
    - g_value_set_boxed
    - g_value_unset
    - g_value_init
    - g_value_get_boxed
    - g_value_get_boolean
    - g_value_set_object
    - g_value_copy
    - g_value_set_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean bind_with_closures_transform_to (GBinding *binding,
      const GValue *source, GValue *target, gpointer data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:300,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:320,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbinding.c:319,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:301,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/gbinding.c:317,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:324,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/gbinding.c:337,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:341,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbinding.c:346,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:347,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - context
    - binding
    - source
    - target
    argTypes:
    - BindingContext*
    - GBinding*
    - GObject*
    - GObject*
    constantsTouched: []
    func_position:
      end: 361
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 361
    functionName: unbind_internal_locked
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_object_weak_unref
    - g_assert
    - binding_context_unref
    - g_weak_ref_set
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unbind_internal_locked (BindingContext *context, GBinding
      *binding, GObject *source, GObject *target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 694
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 694
    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_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1134,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1137
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1246,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/gbinding.c:1251,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1271,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1280,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbinding.c:1268,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbinding.c:1268,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1323,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1331,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1341,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gbinding.c:1346,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/gbinding.c:1248,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1249,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1250,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1251,1
    - Dst: g_strcmp0
      Src: /src/glib/gobject/gbinding.c:1253,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1255,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1292,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1300,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gbinding.c:1305,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1321,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1247,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1248,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbinding.c:1249,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1290,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1314,1
    - Dst: g_object_new
      Src: /src/glib/gobject/gbinding.c:1350,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:1358,1
    - Dst: transform_func_new
      Src: /src/glib/gobject/gbinding.c:1368,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:1346,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbinding.c:1246,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1282,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1273,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:1298,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:1305,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbinding.c:1309,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbinding.c:1309,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1312,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1333,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:1339,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbinding.c:1367,1
    - Dst: on_source_notify
      Src: /src/glib/gobject/gbinding.c:1376,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 9
    argNames:
    - source
    - source_property
    - target
    - target_property
    - flags
    - transform_to
    - transform_from
    - user_data
    - notify
    argTypes:
    - gpointer
    - gchar*
    - gpointer
    - gchar*
    - GBindingFlags
    - GBindingTransformFunc
    - GBindingTransformFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1379
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1379
    functionName: g_object_bind_property_full
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_param_spec_is_valid_name
    - g_object_new
    - G_OBJECT_GET_CLASS
    - transform_func_new
    - g_strcmp0
    - g_assert
    - g_clear_pointer
    - G_IS_OBJECT
    - g_critical
    - g_type_name
    - G_OBJECT_TYPE_NAME
    - g_object_class_find_property
    - on_source_notify
    - g_return_val_if_fail
    - G_PARAM_SPEC_VALUE_TYPE
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_signals_destroy
      Src: /src/glib/gobject/gobject.c:501,1
    - Dst: g_slist_free
      Src: /src/glib/gobject/gobject.c:503,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:506,1
    - Dst: g_param_spec_pool_list_owned
      Src: /src/glib/gobject/gobject.c:506,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:501,1
    - Dst: g_param_spec_pool_remove
      Src: /src/glib/gobject/gobject.c:511,1
    - Dst: PARAM_SPEC_SET_PARAM_ID
      Src: /src/glib/gobject/gobject.c:512,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gobject.c:513,1
    - Dst: g_list_free
      Src: /src/glib/gobject/gobject.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - class
    argTypes:
    - GObjectClass*
    constantsTouched: []
    func_position:
      end: 516
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 516
    functionName: g_object_base_class_finalize
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS_TYPE
    - PARAM_SPEC_SET_PARAM_ID
    - _g_signals_destroy
    - g_param_spec_pool_list_owned
    - g_param_spec_pool_remove
    - g_list_free
    - g_param_spec_unref
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void g_object_base_class_finalize (GObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:1234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1238
    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: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:1278,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:1280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1282
    functionName: object_in_construction
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags
    - g_datalist_id_get_data
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean object_in_construction (GObject *object) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: consider_issuing_property_deprecation_warning
      Src: /src/glib/gobject/gobject.c:2144,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:2152,1
    - Dst: g_object_is_aligned
      Src: /src/glib/gobject/gobject.c:2184,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2179,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:2180,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gobject.c:2114,1
    - Dst: g_new0
      Src: /src/glib/gobject/gobject.c:2119,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2170,1
    - Dst: _g_object_has_notify_handler_X
      Src: /src/glib/gobject/gobject.c:2204,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:2210,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:2212,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2223,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gobject.c:2111,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:2165,1
    - Dst: object_in_construction
      Src: /src/glib/gobject/gobject.c:2198,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:2191,1
    - Dst: unset_object_in_construction
      Src: /src/glib/gobject/gobject.c:2200,1
    - Dst: CLASS_HAS_PROPS
      Src: /src/glib/gobject/gobject.c:2202,1
    - Dst: CLASS_HAS_CUSTOM_CONSTRUCTED
      Src: /src/glib/gobject/gobject.c:2217,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:2227,1
    - Dst: g_new0
      Src: /src/glib/gobject/gobject.c:2118,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gobject.c:2113,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gobject.c:2153,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2186,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2169,1
    - Dst: _g_object_has_notify_handler
      Src: /src/glib/gobject/gobject.c:2205,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 3
    argNames:
    - class
    - params
    - n_params
    argTypes:
    - GObjectClass*
    - GObjectConstructParam*
    - guint
    constantsTouched: []
    func_position:
      end: 2230
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2230
    functionName: g_object_new_with_custom_constructor
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_in_construction
    - G_OBJECT_CLASS_NAME
    - g_value_init
    - G_LIKELY
    - g_object_notify_queue_freeze
    - _g_object_has_notify_handler
    - CLASS_HAS_CUSTOM_CONSTRUCTED
    - unset_object_in_construction
    - g_object_is_aligned
    - g_newa0
    - g_object_notify_queue_thaw
    - CLASS_HAS_PROPS
    - g_critical
    - _g_object_has_notify_handler_X
    - consider_issuing_property_deprecation_warning
    - g_free
    - g_new0
    - g_datalist_id_get_data
    - object_set_property
    - g_param_value_set_default
    - g_value_unset
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_object_new_with_custom_constructor (GObjectClass
      *class, GObjectConstructParam *params, guint n_params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/glib/gobject/gobject.c:2076,1
    - Dst: MAX
      Src: /src/glib/gobject/gobject.c:2077,1
    - Dst: G_ALIGNOF
      Src: /src/glib/gobject/gobject.c:2077,1
    - Dst: G_ALIGNOF
      Src: /src/glib/gobject/gobject.c:2076,1
    - Dst: MAX
      Src: /src/glib/gobject/gobject.c:2078,1
    - Dst: G_ALIGNOF
      Src: /src/glib/gobject/gobject.c:2078,1
    - Dst: G_ALIGNOF
      Src: /src/glib/gobject/gobject.c:2079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2080
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2080
    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_LOCK
      Src: /src/glib/gobject/gobject.c:3600,1
    - Dst: OBJECT_HAS_TOGGLE_REF
      Src: /src/glib/gobject/gobject.c:3605,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:3611,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:3613,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:3607,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:3618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - object
    - is_last_ref
    argTypes:
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3620
      start: 3594
    functionDepth: 0
    functionLinenumber: 3594
    functionLinenumberEnd: 3620
    functionName: toggle_refs_notify
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_get_data
    - G_LOCK
    - g_assert
    - G_UNLOCK
    - OBJECT_HAS_TOGGLE_REF
    linkageType: ''
    returnType: void
    signature: "static void toggle_refs_notify (GObject *object,\t\t gboolean is_last_ref) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4216,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4216,1
    - Dst: g_datalist_get_data
      Src: /src/glib/gobject/gobject.c:4219,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object
    - key
    argTypes:
    - GObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4220
      start: 4212
    functionDepth: 0
    functionLinenumber: 4212
    functionLinenumberEnd: 4220
    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_if_fail
      Src: /src/glib/gobject/gobject.c:4244,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:4247,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gobject.c:4247,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4245,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - object
    - key
    - data
    argTypes:
    - GObject*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4248
      start: 4239
    functionDepth: 0
    functionLinenumber: 4239
    functionLinenumberEnd: 4248
    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:
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:522,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:526,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:524,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:527,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:525,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:529,1
    - Dst: g_param_spec_pool_new
      Src: /src/glib/gobject/gobject.c:531,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/gobject.c:574,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gobject.c:574,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/gobject.c:575,1
    - Dst: g_type_add_interface_check
      Src: /src/glib/gobject/gobject.c:586,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/gobject.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - class
    argTypes:
    - GObjectClass*
    constantsTouched: []
    func_position:
      end: 587
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 587
    functionName: g_object_do_class_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - g_intern_static_string
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - g_param_spec_pool_new
    - G_STRUCT_OFFSET
    - g_type_add_interface_check
    linkageType: ''
    returnType: void
    signature: 'static void g_object_do_class_init (GObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLASS_NEEDS_NOTIFY
      Src: /src/glib/gobject/gobject.c:1244,1
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:1245,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1249
    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_set_optional_flags_X
      Src: /src/glib/gobject/gobject.c:1288,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:1290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1292
    functionName: set_object_in_construction
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data
    - object_set_optional_flags_X
    linkageType: ''
    returnType: void
    signature: 'static inline void set_object_in_construction (GObject *object) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CLASS_HAS_CUSTOM_CONSTRUCTOR
      Src: /src/glib/gobject/gobject.c:2241,1
    - Dst: g_object_new_with_custom_constructor
      Src: /src/glib/gobject/gobject.c:2242,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:2246,1
    - Dst: g_object_is_aligned
      Src: /src/glib/gobject/gobject.c:2246,1
    - Dst: g_type_create_instance
      Src: /src/glib/gobject/gobject.c:2244,1
    - Dst: unset_object_in_construction
      Src: /src/glib/gobject/gobject.c:2248,1
    - Dst: CLASS_HAS_PROPS
      Src: /src/glib/gobject/gobject.c:2250,1
    - Dst: _g_object_has_notify_handler_X
      Src: /src/glib/gobject/gobject.c:2254,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:2259,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:2261,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2302,1
    - Dst: CLASS_HAS_CUSTOM_CONSTRUCTED
      Src: /src/glib/gobject/gobject.c:2294,1
    - Dst: g_param_spec_get_default_value
      Src: /src/glib/gobject/gobject.c:2287,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:2305,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2289,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 3
    argNames:
    - class
    - params
    - n_params
    argTypes:
    - GObjectClass*
    - GObjectConstructParam*
    - guint
    constantsTouched: []
    func_position:
      end: 2308
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2308
    functionName: g_object_new_internal
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_notify_queue_thaw
    - CLASS_HAS_CUSTOM_CONSTRUCTED
    - g_type_create_instance
    - g_datalist_id_get_data
    - g_assert
    - CLASS_HAS_PROPS
    - g_param_spec_get_default_value
    - unset_object_in_construction
    - g_object_new_with_custom_constructor
    - object_set_property
    - CLASS_HAS_CUSTOM_CONSTRUCTOR
    - _g_object_has_notify_handler_X
    - g_object_is_aligned
    - g_object_notify_queue_freeze
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_object_new_internal (GObjectClass *class, GObjectConstructParam
      *params, guint n_params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4396
      start: 4392
    functionDepth: 0
    functionLinenumber: 4392
    functionLinenumberEnd: 4396
    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_object_new_with_properties
      Src: /src/glib/gobject/gobject.c:2053,1
    - Dst: g_object_new_valist
      Src: /src/glib/gobject/gobject.c:2056,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:2057,1
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:2055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - object_type
    - first_property_name
    - '...'
    argTypes:
    - GType
    - gchar*
    constantsTouched: []
    func_position:
      end: 2060
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2060
    functionName: g_object_new
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_new_with_properties
    - va_end
    - g_object_new_valist
    - va_start
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_object_new (GType\t object_type,\t const gchar *first_property_name,\t
      ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4196,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:4199,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4197,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - object
    - quark
    argTypes:
    - GObject*
    - GQuark
    constantsTouched: []
    func_position:
      end: 4200
      start: 4192
    functionDepth: 0
    functionLinenumber: 4192
    functionLinenumberEnd: 4200
    functionName: g_object_steal_qdata
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_remove_no_notify
    - g_return_val_if_fail
    - G_IS_OBJECT
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_object_steal_qdata (GObject *object,\t\t GQuark quark) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gobject.c:4533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - value
    - v_object
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4534
      start: 4529
    functionDepth: 0
    functionLinenumber: 4529
    functionLinenumberEnd: 4534
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_ref_sink
      Src: /src/glib/gobject/gobject.c:595,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:599,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:600,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gobject.c:602,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:597,1
    - Dst: PARAM_SPEC_SET_PARAM_ID
      Src: /src/glib/gobject/gobject.c:606,1
    - Dst: g_param_spec_pool_insert
      Src: /src/glib/gobject/gobject.c:607,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gobject.c:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - g_type
    - property_id
    - pspec
    argTypes:
    - GType
    - guint
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 609
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 609
    functionName: install_property_internal
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_param_spec_ref_sink
    - PARAM_SPEC_SET_PARAM_ID
    - g_param_spec_pool_lookup
    - g_param_spec_pool_insert
    - g_critical
    - g_type_name
    - g_steal_pointer
    - g_param_spec_unref
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:3148,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3152,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:3165,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3168,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/gobject.c:3170,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3164,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3169,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3173,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3163,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/gobject.c:3160,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3189,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:3200,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3151,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3154,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3188,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3174,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3145,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:3155,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3158,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3159,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3179,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/gobject.c:3180,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3183,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3184,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/gobject.c:3190,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3198,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3178,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:3185,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3146,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3195,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:3175,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 2
    argNames:
    - _object
    - signal_spec
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3203
      start: 3137
    functionDepth: 0
    functionLinenumber: 3137
    functionLinenumberEnd: 3203
    functionName: g_object_connect
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - va_end
    - g_signal_connect_data
    - G_IS_OBJECT
    - va_start
    - g_critical
    - g_signal_connect_object
    - va_arg
    - g_return_val_if_fail
    - strncmp
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_object_connect (gpointer _object,\t\t const gchar *signal_spec,\t\t
      ...) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3725,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:3729,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3725,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3726,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:3728,1
    - Dst: g_datalist_unset_flags
      Src: /src/glib/gobject/gobject.c:3744,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:3749,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3752,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - object
    - notify
    - data
    argTypes:
    - GObject*
    - GToggleNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 3755
      start: 3717
    functionDepth: 0
    functionLinenumber: 3717
    functionLinenumberEnd: 3755
    functionName: g_object_remove_toggle_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_get_data
    - G_LOCK
    - G_IS_OBJECT
    - G_UNLOCK
    - g_object_unref
    - g_critical
    - g_datalist_unset_flags
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_remove_toggle_ref (GObject *object,\t\t\t GToggleNotify
      notify,\t\t\t gpointer data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:614,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:617,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gobject.c:614,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:615,1
    - Dst: PARAM_SPEC_PARAM_ID
      Src: /src/glib/gobject/gobject.c:615,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:620,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 626
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 626
    functionName: validate_pspec_to_install
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - PARAM_SPEC_PARAM_ID
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_pspec_to_install (GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3669,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3671,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3669,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3671,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3670,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:3673,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:3675,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:3676,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:3682,1
    - Dst: g_renew
      Src: /src/glib/gobject/gobject.c:3686,1
    - Dst: g_datalist_set_flags
      Src: /src/glib/gobject/gobject.c:3694,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:3700,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:3698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - object
    - notify
    - data
    argTypes:
    - GObject*
    - GToggleNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 3701
      start: 3661
    functionDepth: 0
    functionLinenumber: 3661
    functionLinenumberEnd: 3701
    functionName: g_object_add_toggle_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_realloc
    - g_datalist_set_flags
    - g_datalist_id_set_data_full
    - G_LOCK
    - G_IS_OBJECT
    - G_UNLOCK
    - g_atomic_int_get
    - g_datalist_id_remove_no_notify
    - g_renew
    - g_return_if_fail
    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:4285,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4286,1
    - Dst: g_datalist_id_dup_data
      Src: /src/glib/gobject/gobject.c:4288,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4285,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gobject.c:4289,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: 4291
      start: 4279
    functionDepth: 0
    functionLinenumber: 4279
    functionLinenumberEnd: 4291
    functionName: g_object_dup_data
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_OBJECT
    - g_quark_from_string
    - g_datalist_id_dup_data
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_object_dup_data (GObject *object, const gchar *key, GDuplicateFunc
      dup_func, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:1372,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/gobject.c:1380,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gobject.c:1374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1383
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1383
    functionName: floating_check
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_getenv
    - G_UNLIKELY
    - g_object_is_floating
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean floating_check (GObject *object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:1496,1
    - Dst: param_spec_follow_override
      Src: /src/glib/gobject/gobject.c:1499,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1505,1
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:1503,1
    - Dst: CLASS_NEEDS_NOTIFY
      Src: /src/glib/gobject/gobject.c:1505,1
    - Dst: object_in_construction
      Src: /src/glib/gobject/gobject.c:1509,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:1518,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:1525,1
    - Dst: g_object_notify_queue_add
      Src: /src/glib/gobject/gobject.c:1532,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:1534,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:1546,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1550,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:1554,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - object
    - pspec
    argTypes:
    - GObject*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1558
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1558
    functionName: g_object_notify_by_spec_internal
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_notify_queue_thaw
    - g_object_ref
    - G_UNLIKELY
    - param_spec_follow_override
    - G_OBJECT_GET_CLASS
    - object_in_construction
    - object_get_optional_flags
    - g_object_unref
    - g_object_notify_queue_add
    - CLASS_NEEDS_NOTIFY
    - g_object_notify_queue_freeze
    linkageType: ''
    returnType: void
    signature: 'static inline void g_object_notify_by_spec_internal (GObject *object,
      GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1653,1
    - Dst: g_object_notify_by_spec_internal
      Src: /src/glib/gobject/gobject.c:1656,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:1653,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1654,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gobject.c:1654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object
    - pspec
    argTypes:
    - GObject*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1657
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1657
    functionName: g_object_notify_by_pspec
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_IS_PARAM_SPEC
    - g_object_notify_by_spec_internal
    - G_IS_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_notify_by_pspec (GObject *object,\t\t\t GParamSpec *pspec) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_pool_list
      Src: /src/glib/gobject/gobject.c:1866,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:1863,1
    - Dst: SUBSET
      Src: /src/glib/gobject/gobject.c:1905,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1909,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1909,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1927,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1927,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1925,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1907,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:1967,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:1994,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/gobject.c:1990,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:1985,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:1986,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1879,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1965,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1967,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:1968,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1968,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gobject.c:1973,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1974,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1976,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:1977,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1977,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:1976,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gobject.c:1858,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1877,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1881,1
    - Dst: SUBSET
      Src: /src/glib/gobject/gobject.c:1923,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1927,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1909,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1967,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1976,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gobject.c:1982,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1983,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1986,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1985,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1872,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1870,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1879,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1967,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1968,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1976,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1977,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1985,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1986,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gobject.c:1997,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1985,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 2
    argNames:
    - check_data
    - g_iface
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1998
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1998
    functionName: object_interface_check_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS_TYPE
    - g_free
    - G_IS_OBJECT_CLASS
    - g_param_spec_pool_lookup
    - g_param_spec_pool_list
    - g_assert_not_reached
    - g_critical
    - g_type_class_unref
    - g_type_name
    - g_type_is_a
    - G_PARAM_SPEC_VALUE_TYPE
    - g_type_class_ref
    - SUBSET
    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_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3471,1
    - Dst: floating_flag_handler
      Src: /src/glib/gobject/gobject.c:3472,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3473
      start: 3467
    functionDepth: 0
    functionLinenumber: 3467
    functionLinenumberEnd: 3473
    functionName: g_object_is_floating
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - floating_flag_handler
    - G_IS_OBJECT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_object_is_floating (gpointer _object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2004
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2004
    functionName: g_object_get_type
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GType
    signature: 'GType g_object_get_type (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3228,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3234,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3229,1
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:3231,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3228,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3235,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3238,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3239,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject.c:3244,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject.c:3245,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/gobject.c:3257,1
    - Dst: g_signal_handlers_disconnect_matched
      Src: /src/glib/gobject/gobject.c:3259,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:3265,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3258,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:3257,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3262,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3263,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3252,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - _object
    - signal_spec
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3266
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3266
    functionName: g_object_disconnect
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - va_end
    - G_OBJECT_TYPE
    - g_signal_parse_name
    - G_IS_OBJECT
    - va_start
    - g_critical
    - g_signal_handlers_disconnect_matched
    - strcmp
    - va_arg
    - strncmp
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_disconnect (gpointer _object,\t\t const gchar *signal_spec,\t\t
      ...) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gobject/gobject.c:3437,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:3438,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gobject/gobject.c:3445,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gobject/gobject.c:3453,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:3446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - object
    - job
    argTypes:
    - GObject*
    - gint
    constantsTouched: []
    func_position:
      end: 3455
      start: 3429
    functionDepth: 0
    functionLinenumber: 3429
    functionLinenumberEnd: 3455
    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_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3777,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gobject/gobject.c:3779,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3777,1
    - Dst: OBJECT_HAS_TOGGLE_REF
      Src: /src/glib/gobject/gobject.c:3783,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3781,1
    - Dst: toggle_refs_notify
      Src: /src/glib/gobject/gobject.c:3784,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:3786,1
    - Dst: GOBJECT_OBJECT_REF
      Src: /src/glib/gobject/gobject.c:3786,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:3786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3789
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3789
    functionName: (g_object_ref)
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - toggle_refs_notify
    - GOBJECT_OBJECT_REF
    - G_IS_OBJECT
    - OBJECT_HAS_TOGGLE_REF
    - TRACE
    - G_TYPE_FROM_INSTANCE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_object_ref) (gpointer _object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1196
    functionName: object_get_optional_flags_X
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static inline guint object_get_optional_flags_X (GObject *object) '
  - BBCount: 2
    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_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3315,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3315,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3314,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:3317,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:3318,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:3322,1
    - Dst: g_renew
      Src: /src/glib/gobject/gobject.c:3326,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:3333,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:3334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - object
    - notify
    - data
    argTypes:
    - GObject*
    - GWeakNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 3335
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3335
    functionName: g_object_weak_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_realloc
    - g_datalist_id_set_data_full
    - G_LOCK
    - G_IS_OBJECT
    - G_UNLOCK
    - g_atomic_int_get
    - g_datalist_id_remove_no_notify
    - g_renew
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_weak_ref (GObject *object,\t\t GWeakNotify notify,\t\t
      gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3399,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3399,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3400,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gobject.c:3402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object
    - weak_pointer_location
    argTypes:
    - GObject*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 3405
      start: 3395
    functionDepth: 0
    functionLinenumber: 3395
    functionLinenumberEnd: 3405
    functionName: g_object_add_weak_pointer
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_weak_ref
    - G_IS_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_add_weak_pointer (GObject *object, gpointer *weak_pointer_location) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4142,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:4145,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4142,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - object
    - quark
    - data
    - destroy
    argTypes:
    - GObject*
    - GQuark
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 4147
      start: 4136
    functionDepth: 0
    functionLinenumber: 4136
    functionLinenumberEnd: 4147
    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: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1582,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1589,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:1582,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1583,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:1591,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1595,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1597,1
    - Dst: g_object_notify_by_spec_internal
      Src: /src/glib/gobject/gobject.c:1600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - object
    - property_name
    argTypes:
    - GObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1601
    functionName: g_object_notify
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_object_notify_by_spec_internal
    - g_param_spec_pool_lookup
    - G_IS_OBJECT
    - g_critical
    - G_OBJECT_TYPE_NAME
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_notify (GObject *object,\t\t const gchar *property_name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1678,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:1681,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:1678,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1683,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:1681,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1685,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:1692,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:1697,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:1698,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:1699,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:1701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1702
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1702
    functionName: g_object_thaw_notify
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_notify_queue_thaw
    - g_object_ref
    - G_UNLIKELY
    - G_IS_OBJECT
    - g_object_unref
    - g_critical
    - g_atomic_int_get
    - G_OBJECT_TYPE_NAME
    - g_object_notify_queue_freeze
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_thaw_notify (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4114,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4114,1
    - Dst: g_datalist_id_replace_data
      Src: /src/glib/gobject/gobject.c:4117,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4115,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: 4120
      start: 4106
    functionDepth: 0
    functionLinenumber: 4106
    functionLinenumberEnd: 4120
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:448,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:455,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gobject.c:454,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gobject.c:454,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gobject.c:456,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gobject.c:468,1
    - Dst: g_atexit
      Src: /src/glib/gobject/gobject.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 474
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 474
    functionName: _g_object_type_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_type_register_fundamental
    - g_value_register_transform_func
    - g_intern_static_string
    - g_assert
    - g_hash_table_new
    - g_atexit
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_object_type_init (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gobject/gobject.c:1712,1
    - Dst: g_once_init_leave
      Src: /src/glib/gobject/gobject.c:1719,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gobject.c:1734,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gobject.c:1714,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gobject.c:1737,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gobject/gobject.c:1739,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gobject.c:1741,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gobject.c:1743,1
    - Dst: g_warning
      Src: /src/glib/gobject/gobject.c:1746,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1748,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1749
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1749
    functionName: maybe_issue_property_deprecation_warning
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_hash_table_add
    - g_once_init_enter
    - g_warning
    - g_hash_table_new
    - g_mutex_unlock
    - g_type_name
    - g_getenv
    - g_once_init_leave
    - g_hash_table_contains
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void maybe_issue_property_deprecation_warning (const GParamSpec
      *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2656,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2664,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2662,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2658,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:2659,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:2665,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2668,1
    - Dst: object_in_construction
      Src: /src/glib/gobject/gobject.c:2668,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2670,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:2671,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - object
    - pspec
    - property_name
    argTypes:
    - GObject*
    - GParamSpec*
    - char*
    constantsTouched: []
    func_position:
      end: 2675
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2675
    functionName: g_object_set_is_valid_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - G_OBJECT_TYPE_NAME
    - object_in_construction
    - g_critical
    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: PARAM_SPEC_PARAM_ID
      Src: /src/glib/gobject/gobject.c:1765,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gobject.c:1770,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:1772,1
    - Dst: param_spec_follow_override
      Src: /src/glib/gobject/gobject.c:1774,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gobject.c:1767,1
    - Dst: consider_issuing_property_deprecation_warning
      Src: /src/glib/gobject/gobject.c:1776,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - object
    - pspec
    - value
    argTypes:
    - GObject*
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1779
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1779
    functionName: object_get_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - param_spec_follow_override
    - g_type_class_peek
    - g_assert
    - PARAM_SPEC_PARAM_ID
    - consider_issuing_property_deprecation_warning
    - G_LIKELY
    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_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3500,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3501,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3501,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:3502,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3500,1
    - Dst: floating_flag_handler
      Src: /src/glib/gobject/gobject.c:3503,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3507
      start: 3495
    functionDepth: 0
    functionLinenumber: 3495
    functionLinenumberEnd: 3507
    functionName: (g_object_ref_sink)
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - floating_flag_handler
    - G_IS_OBJECT
    - g_object_unref
    - g_atomic_int_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_object_ref_sink) (gpointer _object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gobject.c:3989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - object_ptr
    argTypes:
    - GObject**
    constantsTouched: []
    func_position:
      end: 3990
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 3990
    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:
    - Dst: g_clear_object
      Src: /src/glib/gobject/gobject.c:4401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4402
      start: 4398
    functionDepth: 0
    functionLinenumber: 4398
    functionLinenumberEnd: 4402
    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_type_class_peek_parent
      Src: /src/glib/gobject/gobject.c:479,1
    - Dst: g_slist_length
      Src: /src/glib/gobject/gobject.c:489,1
    - Dst: g_slist_copy
      Src: /src/glib/gobject/gobject.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - class
    argTypes:
    - GObjectClass*
    constantsTouched: []
    func_position:
      end: 494
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 494
    functionName: g_object_base_class_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_slist_copy
    - g_type_class_peek_parent
    - g_slist_length
    linkageType: ''
    returnType: void
    signature: 'static void g_object_base_class_init (GObjectClass *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:1754,1
    - Dst: maybe_issue_property_deprecation_warning
      Src: /src/glib/gobject/gobject.c:1755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1756
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1756
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: param_spec_follow_override
      Src: /src/glib/gobject/gobject.c:1800,1
    - Dst: consider_issuing_property_deprecation_warning
      Src: /src/glib/gobject/gobject.c:1803,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1805,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1828,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gobject.c:1819,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1832,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:1840,1
    - Dst: PARAM_SPEC_PARAM_ID
      Src: /src/glib/gobject/gobject.c:1791,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:1798,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1820,1
    - Dst: g_strdup_value_contents
      Src: /src/glib/gobject/gobject.c:1826,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1823,1
    - Dst: g_object_notify_queue_add
      Src: /src/glib/gobject/gobject.c:1845,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gobject.c:1796,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gobject.c:1806,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:1833,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gobject.c:1793,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:1806,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1822,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gobject.c:1824,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:1817,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1830,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: 1846
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1846
    functionName: object_set_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_type_class_peek
    - g_value_init
    - G_LIKELY
    - g_value_transform
    - G_VALUE_TYPE_NAME
    - g_type_name
    - g_value_type_compatible
    - PARAM_SPEC_PARAM_ID
    - g_strdup_value_contents
    - g_critical
    - g_object_notify_queue_add
    - consider_issuing_property_deprecation_warning
    - g_param_value_validate
    - g_free
    - param_spec_follow_override
    - G_VALUE_TYPE
    - g_assert
    - G_PARAM_SPEC_GET_CLASS
    - 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:
    - Dst: g_set_object
      Src: /src/glib/gobject/gobject.c:4408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 4410
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4410
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_force_floating
      Src: /src/glib/gobject/gobject.c:4879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - GInitiallyUnowned*
    constantsTouched: []
    func_position:
      end: 4880
      start: 4876
    functionDepth: 0
    functionLinenumber: 4876
    functionLinenumberEnd: 4880
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - object
    - flags
    argTypes:
    - GObject*
    - guint
    constantsTouched: []
    func_position:
      end: 1216
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1216
    functionName: object_set_optional_flags_X
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void object_set_optional_flags_X (GObject *object, guint
      flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1064,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:1064,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1065,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gobject.c:1070,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1066,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1070,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1072,1
    - Dst: g_type_interfaces
      Src: /src/glib/gobject/gobject.c:1083,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1083,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1086,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1097,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gobject.c:1103,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:1092,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:1098,1
    - Dst: g_param_spec_override
      Src: /src/glib/gobject/gobject.c:1102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - oclass
    - property_id
    - name
    argTypes:
    - GObjectClass*
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1104
    functionName: g_object_class_override_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_type_interfaces
    - G_OBJECT_CLASS_TYPE
    - g_free
    - G_OBJECT_CLASS_NAME
    - G_IS_OBJECT_CLASS
    - g_param_spec_pool_lookup
    - g_critical
    - g_param_spec_override
    - g_type_parent
    - g_return_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gobject/gobject.c:4439,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:4443,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:4440,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gobject.c:4443,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:4443,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/gobject.c:4444,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:4445,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:4447,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:4451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 4457
      start: 4428
    functionDepth: 0
    functionLinenumber: 4428
    functionLinenumberEnd: 4457
    functionName: g_value_object_collect_value
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_value_type_compatible
    - G_VALUE_TYPE
    - G_OBJECT_TYPE
    - G_VALUE_TYPE_NAME
    - G_OBJECT_TYPE_NAME
    - g_strconcat
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_delete_link
      Src: /src/glib/gobject/gobject.c:5015,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:5019,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - weak_locations
    argTypes:
    - GSList**
    constantsTouched: []
    func_position:
      end: 5020
      start: 5003
    functionDepth: 0
    functionLinenumber: 5003
    functionLinenumberEnd: 5020
    functionName: weak_locations_free_unlocked
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_free
    - g_slist_delete_link
    linkageType: ''
    returnType: void
    signature: 'static void weak_locations_free_unlocked (GSList **weak_locations) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4467,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:4467,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gobject.c:4467,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:4474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 4477
      start: 4459
    functionDepth: 0
    functionLinenumber: 4459
    functionLinenumberEnd: 4477
    functionName: g_value_object_lcopy_value
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_object_ref
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gobject/gobject.c:5027,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gobject/gobject.c:5029,1
    - Dst: weak_locations_free_unlocked
      Src: /src/glib/gobject/gobject.c:5028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5030
      start: 5022
    functionDepth: 0
    functionLinenumber: 5022
    functionLinenumberEnd: 5030
    functionName: weak_locations_free
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock
    - weak_locations_free_unlocked
    - g_rw_lock_writer_unlock
    linkageType: ''
    returnType: void
    signature: 'static void weak_locations_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOBJECT_IF_DEBUG
      Src: /src/glib/gobject/gobject.c:407,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:409,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:412,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gobject/gobject.c:411,1
    - Dst: g_message
      Src: /src/glib/gobject/gobject.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: debug_objects_atexit
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_message
    - G_UNLOCK
    - g_hash_table_foreach
    - GOBJECT_IF_DEBUG
    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:2702,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2702,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:2709,1
    - Dst: _g_object_has_notify_handler
      Src: /src/glib/gobject/gobject.c:2711,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:2707,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:2712,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2716,1
    - Dst: g_object_set_is_valid_property
      Src: /src/glib/gobject/gobject.c:2718,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2721,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:2725,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:2727,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - object
    - n_properties
    - names
    - values
    argTypes:
    - GObject*
    - guint
    - gchar*
    - GValue
    constantsTouched: []
    func_position:
      end: 2728
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2728
    functionName: g_object_setv
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - _g_object_has_notify_handler
    - g_object_notify_queue_thaw
    - find_pspec
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - g_object_set_is_valid_property
    - G_IS_OBJECT
    - g_object_unref
    - object_set_property
    - g_object_notify_queue_freeze
    - g_return_if_fail
    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_val_if_fail
      Src: /src/glib/gobject/gobject.c:3557,1
    - Dst: floating_flag_handler
      Src: /src/glib/gobject/gobject.c:3560,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3557,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3558,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3563
      start: 3553
    functionDepth: 0
    functionLinenumber: 3553
    functionLinenumberEnd: 3563
    functionName: g_object_take_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - floating_flag_handler
    - G_IS_OBJECT
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_object_take_ref (gpointer _object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4006,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:4008,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - object
    - quark
    argTypes:
    - GObject*
    - GQuark
    constantsTouched: []
    func_position:
      end: 4009
      start: 4002
    functionDepth: 0
    functionLinenumber: 4002
    functionLinenumberEnd: 4009
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handlers_destroy
      Src: /src/glib/gobject/gobject.c:1360,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:1361,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:1363,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1364
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:2748,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:2753,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:2750,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2748,1
    - Dst: _g_object_has_notify_handler
      Src: /src/glib/gobject/gobject.c:2752,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:2755,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2765,1
    - Dst: g_object_set_is_valid_property
      Src: /src/glib/gobject/gobject.c:2767,1
    - Dst: G_VALUE_COLLECT_INIT2
      Src: /src/glib/gobject/gobject.c:2770,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2773,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:2787,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:2791,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:2775,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:2793,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2774,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2779,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: 2794
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2794
    functionName: g_object_set_valist
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - _g_object_has_notify_handler
    - g_object_notify_queue_thaw
    - find_pspec
    - g_object_ref
    - g_free
    - G_OBJECT_GET_CLASS
    - g_object_set_is_valid_property
    - G_IS_OBJECT
    - G_VALUE_COLLECT_INIT2
    - g_critical
    - g_object_unref
    - object_set_property
    - va_arg
    - g_value_unset
    - g_object_notify_queue_freeze
    - g_return_if_fail
    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_if_fail
      Src: /src/glib/gobject/gobject.c:3001,1
    - Dst: g_object_get_valist
      Src: /src/glib/gobject/gobject.c:3004,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3001,1
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:3003,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:3005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - _object
    - first_property_name
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3006
      start: 2993
    functionDepth: 0
    functionLinenumber: 2993
    functionLinenumberEnd: 3006
    functionName: g_object_get
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - va_end
    - G_IS_OBJECT
    - va_start
    - g_object_get_valist
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_get (gpointer _object,\t const gchar *first_property_name,\t
      ...) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:4680,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:4691,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:4688,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gobject/gobject.c:4681,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/gobject.c:4692,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - data
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 4693
      start: 4672
    functionDepth: 0
    functionLinenumber: 4672
    functionLinenumberEnd: 4693
    functionName: object_remove_closure
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_get_qdata
    - g_assert_not_reached
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: "static void object_remove_closure (gpointer data,\t\t GClosure *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4843,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4843,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:4844,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4844,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4845,1
    - Dst: g_cclosure_new_swap
      Src: /src/glib/gobject/gobject.c:4847,1
    - Dst: g_object_watch_closure
      Src: /src/glib/gobject/gobject.c:4848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - callback_func
    - object
    argTypes:
    - GCallback
    - GObject*
    constantsTouched: []
    func_position:
      end: 4851
      start: 4837
    functionDepth: 0
    functionLinenumber: 4837
    functionLinenumberEnd: 4851
    functionName: g_cclosure_new_object_swap
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_IS_OBJECT
    - g_atomic_int_get
    - g_object_watch_closure
    - g_cclosure_new_swap
    - g_return_val_if_fail
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_cclosure_new_object_swap (GCallback callback_func,\t\t\t
      GObject *object) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2801,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2807,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2809,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:2804,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2803,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:2810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - object
    - pspec
    - property_name
    argTypes:
    - GObject*
    - GParamSpec*
    - char*
    constantsTouched: []
    func_position:
      end: 2814
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2814
    functionName: g_object_get_is_valid_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - G_OBJECT_TYPE_NAME
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean g_object_get_is_valid_property (GObject *object,
      GParamSpec *pspec, const char *property_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - what
    - data
    argTypes:
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 4872
      start: 4853
    functionDepth: 0
    functionLinenumber: 4853
    functionLinenumberEnd: 4872
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1123,1
    - Dst: g_param_spec_pool_list
      Src: /src/glib/gobject/gobject.c:1125,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:1123,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - class
    - n_properties_p
    argTypes:
    - GObjectClass*
    - guint*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1132
    functionName: g_object_class_list_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_IS_OBJECT_CLASS
    - g_return_val_if_fail
    - G_OBJECT_CLASS_TYPE
    - g_param_spec_pool_list
    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:2952,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2952,1
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:2954,1
    - Dst: g_object_set_valist
      Src: /src/glib/gobject/gobject.c:2955,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:2956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - _object
    - first_property_name
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 2957
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2957
    functionName: g_object_set
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - va_end
    - G_IS_OBJECT
    - va_start
    - g_object_set_valist
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_set (gpointer _object,\t const gchar *first_property_name,\t
      ...) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:2378,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2378,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gobject/gobject.c:2383,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gobject.c:2386,1
    - Dst: g_newa
      Src: /src/glib/gobject/gobject.c:2393,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2396,1
    - Dst: g_object_new_is_valid_property
      Src: /src/glib/gobject/gobject.c:2398,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2404,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2407,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gobject.c:2410,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - object_type
    - n_properties
    - names
    - values
    argTypes:
    - GType
    - guint
    - char*
    - GValue
    constantsTouched: []
    func_position:
      end: 2413
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2413
    functionName: g_object_new_with_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - find_pspec
    - g_object_new_is_valid_property
    - g_newa
    - g_type_class_unref
    - g_type_class_peek_static
    - g_object_new_internal
    - G_TYPE_IS_OBJECT
    - g_return_val_if_fail
    - g_type_class_ref
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_object_new_with_properties (GType object_type, guint n_properties,
      const char *names[], const GValue values[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:2441,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gobject/gobject.c:2447,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:2442,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gobject.c:2450,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2441,1
    - Dst: g_newa
      Src: /src/glib/gobject/gobject.c:2457,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2462,1
    - Dst: g_object_new_is_valid_property
      Src: /src/glib/gobject/gobject.c:2464,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2472,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2476,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gobject.c:2479,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - object_type
    - n_parameters
    - parameters
    argTypes:
    - GType
    - guint
    - GParameter*
    constantsTouched: []
    func_position:
      end: 2482
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2482
    functionName: g_object_newv
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - find_pspec
    - g_object_new_is_valid_property
    - g_newa
    - g_type_class_unref
    - g_type_class_peek_static
    - g_object_new_internal
    - G_TYPE_IS_OBJECT
    - g_return_val_if_fail
    - g_type_class_ref
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: object_in_construction
      Src: /src/glib/gobject/gobject.c:1390,1
    - Dst: floating_check
      Src: /src/glib/gobject/gobject.c:1396,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1393,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1398,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1392,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1402,1
    - Dst: g_datalist_clear
      Src: /src/glib/gobject/gobject.c:1406,1
    - Dst: GOBJECT_IF_DEBUG
      Src: /src/glib/gobject/gobject.c:1408,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:1410,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:1411,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gobject/gobject.c:1411,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gobject.c:1412,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:1414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1416
    functionName: g_object_finalize
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - floating_check
    - object_in_construction
    - G_LOCK
    - g_datalist_clear
    - g_assert
    - g_hash_table_remove
    - G_UNLOCK
    - g_critical
    - G_OBJECT_TYPE_NAME
    - GOBJECT_IF_DEBUG
    - g_hash_table_contains
    linkageType: ''
    returnType: void
    signature: 'static void g_object_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4502,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4511,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gobject.c:4507,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gobject.c:4502,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4511,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4512,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gobject.c:4512,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:4512,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:4512,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:4514,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gobject.c:4517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - value
    - v_object
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4518
      start: 4496
    functionDepth: 0
    functionLinenumber: 4496
    functionLinenumberEnd: 4518
    functionName: g_value_set_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_value_type_compatible
    - G_VALUE_TYPE
    - G_OBJECT_TYPE
    - G_VALUE_HOLDS_OBJECT
    - g_clear_object
    - G_IS_OBJECT
    - g_steal_pointer
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_object (GValue *value,\t\t gpointer v_object) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/gobject.c:1426,1
    - Dst: g_param_spec_get_name_quark
      Src: /src/glib/gobject/gobject.c:1426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - object
    - n_pspecs
    - pspecs
    argTypes:
    - GObject*
    - guint
    - GParamSpec**
    constantsTouched: []
    func_position:
      end: 1427
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1427
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2527,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:2548,1
    - Dst: memcpy
      Src: /src/glib/gobject/gobject.c:2551,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:2547,1
    - Dst: memcpy
      Src: /src/glib/gobject/gobject.c:2549,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:2557,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:2558,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:2574,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2596,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2575,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2521,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2545,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2573,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2603,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2594,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gobject.c:2515,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2507,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2534,1
    - Dst: g_object_new_is_valid_property
      Src: /src/glib/gobject/gobject.c:2536,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2539,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2543,1
    - Dst: memcpy
      Src: /src/glib/gobject/gobject.c:2550,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:2546,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:2556,1
    - Dst: memset
      Src: /src/glib/gobject/gobject.c:2567,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2583,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:2507,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2520,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gobject/gobject.c:2512,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:2581,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2594,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2598,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gobject.c:2606,1
    - Dst: G_VALUE_COLLECT_INIT2
      Src: /src/glib/gobject/gobject.c:2569,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2597,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 3
    argNames:
    - object_type
    - first_property_name
    - var_args
    argTypes:
    - GType
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 2609
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2609
    functionName: g_object_new_valist
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_VALUE_COLLECT_INIT2
    - G_TYPE_IS_OBJECT
    - va_arg
    - g_return_val_if_fail
    - g_type_class_ref
    - g_object_new_is_valid_property
    - g_type_class_peek_static
    - memset
    - memcpy
    - g_realloc
    - G_UNLIKELY
    - g_critical
    - g_object_new_internal
    - find_pspec
    - g_free
    - g_type_class_unref
    - g_new
    - G_N_ELEMENTS
    - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2320,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2327,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2329,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2322,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2323,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2330,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2334,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2339,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2341,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2342,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: 2347
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2347
    functionName: g_object_new_is_valid_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_type_name
    - G_UNLIKELY
    - g_critical
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:3823,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:3852,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3862,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gobject/gobject.c:3865,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:3872,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:3889,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gobject/gobject.c:3876,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:3892,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:3893,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:3925,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gobject.c:3937,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:3954,1
    - Dst: OBJECT_HAS_TOGGLE_REF
      Src: /src/glib/gobject/gobject.c:3914,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3932,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3812,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:3823,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gobject/gobject.c:3856,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:3892,1
    - Dst: GOBJECT_OBJECT_DISPOSE
      Src: /src/glib/gobject/gobject.c:3892,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gobject.c:3874,1
    - Dst: GOBJECT_OBJECT_DISPOSE_END
      Src: /src/glib/gobject/gobject.c:3894,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3897,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:3908,1
    - Dst: toggle_refs_notify
      Src: /src/glib/gobject/gobject.c:3918,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:3963,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:3950,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gobject.c:3949,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:3939,1
    - Dst: GOBJECT_OBJECT_UNREF
      Src: /src/glib/gobject/gobject.c:3908,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:3941,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:3818,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3809,1
    - Dst: toggle_refs_notify
      Src: /src/glib/gobject/gobject.c:3829,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:3908,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:3911,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:3927,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:3928,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gobject/gobject.c:3931,1
    - Dst: GOBJECT_OBJECT_UNREF
      Src: /src/glib/gobject/gobject.c:3934,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:3934,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:3941,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:3940,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:3948,1
    - Dst: g_type_free_instance
      Src: /src/glib/gobject/gobject.c:3956,1
    - Dst: GOBJECT_IF_DEBUG
      Src: /src/glib/gobject/gobject.c:3943,1
    - Dst: GOBJECT_OBJECT_FINALIZE
      Src: /src/glib/gobject/gobject.c:3939,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3809,1
    - Dst: GOBJECT_OBJECT_UNREF
      Src: /src/glib/gobject/gobject.c:3823,1
    - Dst: OBJECT_HAS_TOGGLE_REF
      Src: /src/glib/gobject/gobject.c:3826,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:3894,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:3903,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3915,1
    - Dst: g_signal_handlers_destroy
      Src: /src/glib/gobject/gobject.c:3926,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:3934,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:3939,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:3894,1
    - Dst: GOBJECT_OBJECT_FINALIZE_END
      Src: /src/glib/gobject/gobject.c:3941,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3953,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 95
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3966
      start: 3803
    functionDepth: 0
    functionLinenumber: 3803
    functionLinenumberEnd: 3966
    functionName: g_object_unref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - GOBJECT_OBJECT_DISPOSE
    - g_type_free_instance
    - G_OBJECT_GET_CLASS
    - GOBJECT_OBJECT_UNREF
    - g_clear_pointer
    - g_datalist_id_set_data
    - G_IS_OBJECT
    - GOBJECT_OBJECT_FINALIZE_END
    - g_rw_lock_writer_lock
    - GOBJECT_OBJECT_FINALIZE
    - g_datalist_id_remove_no_notify
    - GOBJECT_OBJECT_DISPOSE_END
    - G_LIKELY
    - g_object_notify_queue_freeze
    - g_signal_handlers_destroy
    - g_rw_lock_writer_unlock
    - g_atomic_int_get
    - GOBJECT_IF_DEBUG
    - g_object_notify_queue_thaw
    - toggle_refs_notify
    - g_hash_table_remove
    - g_atomic_int_compare_and_exchange_full
    - g_critical
    - OBJECT_HAS_TOGGLE_REF
    - G_TYPE_FROM_INSTANCE
    - G_OBJECT_TYPE_NAME
    - g_atomic_int_add
    - g_datalist_id_get_data
    - G_LOCK
    - G_UNLOCK
    - TRACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_unref (gpointer _object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5053,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5054,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5054,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gobject/gobject.c:5058,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:5083,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:5088,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:5089,1
    - Dst: g_slist_remove
      Src: /src/glib/gobject/gobject.c:5094,1
    - Dst: weak_locations_free_unlocked
      Src: /src/glib/gobject/gobject.c:5098,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:5099,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:5112,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gobject.c:5116,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:5107,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gobject/gobject.c:5120,1
    - Dst: g_new0
      Src: /src/glib/gobject/gobject.c:5111,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - weak_ref
    - object
    argTypes:
    - GWeakRef*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5121
      start: 5045
    functionDepth: 0
    functionLinenumber: 5045
    functionLinenumberEnd: 5121
    functionName: g_weak_ref_set
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - weak_locations_free_unlocked
    - g_slist_remove
    - g_datalist_id_get_data
    - g_new0
    - g_assert
    - g_datalist_id_set_data_full
    - g_rw_lock_writer_unlock
    - G_IS_OBJECT
    - g_rw_lock_writer_lock
    - g_slist_prepend
    - g_datalist_id_remove_no_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_weak_ref_set (GWeakRef *weak_ref, gpointer object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/glib/gobject/gobject.c:391,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 395
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLASS_NEEDS_NOTIFY
      Src: /src/glib/gobject/gobject.c:1255,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1255,1
    - Dst: object_get_optional_flags_X
      Src: /src/glib/gobject/gobject.c:1256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1260
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1260
    functionName: _g_object_has_notify_handler_X
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags_X
    - CLASS_NEEDS_NOTIFY
    - G_OBJECT_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _g_object_has_notify_handler_X (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4360,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:4363,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gobject.c:4363,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4361,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - object
    - key
    - data
    - destroy
    argTypes:
    - GObject*
    - gchar*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 4365
      start: 4354
    functionDepth: 0
    functionLinenumber: 4354
    functionLinenumberEnd: 4365
    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_closure_remove_invalidate_notifier
      Src: /src/glib/gobject/gobject.c:4709,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:4712,1
    - Dst: g_closure_invalidate
      Src: /src/glib/gobject/gobject.c:4710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4713
      start: 4695
    functionDepth: 0
    functionLinenumber: 4695
    functionLinenumberEnd: 4713
    functionName: destroy_closure_array
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_closure_remove_invalidate_notifier
    - g_closure_invalidate
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void destroy_closure_array (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 726
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 726
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: object_set_optional_flags
      Src: /src/glib/gobject/gobject.c:1270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - object
    - signal_id
    argTypes:
    - GObject*
    - guint
    constantsTouched: []
    func_position:
      end: 1272
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1272
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4332,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4333,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gobject.c:4336,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4332,1
    - Dst: g_datalist_id_replace_data
      Src: /src/glib/gobject/gobject.c:4335,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: 4339
      start: 4324
    functionDepth: 0
    functionLinenumber: 4324
    functionLinenumberEnd: 4339
    functionName: g_object_replace_data
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_replace_data
    - g_return_val_if_fail
    - G_IS_OBJECT
    - g_quark_from_string
    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:4384,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:4389,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4385,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4384,1
    - Dst: g_quark_try_string
      Src: /src/glib/gobject/gobject.c:4387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - object
    - key
    argTypes:
    - GObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4390
      start: 4378
    functionDepth: 0
    functionLinenumber: 4378
    functionLinenumberEnd: 4390
    functionName: g_object_steal_data
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_remove_no_notify
    - g_return_val_if_fail
    - G_IS_OBJECT
    - g_quark_try_string
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_object_steal_data (GObject *object, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free
      Src: /src/glib/gobject/gobject.c:282,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gobject.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: g_object_notify_queue_free
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_slist_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_object_notify_queue_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1020,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1021,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gobject.c:1020,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1023,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - g_iface
    - property_name
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1027
    functionName: g_object_interface_find_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_pool_lookup
    - G_TYPE_IS_INTERFACE
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_object_interface_find_property (gpointer g_iface,\t\t\t\t
      const gchar *property_name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gobject.c:1338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1341
    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_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4579,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gobject.c:4579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4582
      start: 4576
    functionDepth: 0
    functionLinenumber: 4576
    functionLinenumberEnd: 4582
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gobject.c:1352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1355
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:3285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3286
      start: 3277
    functionDepth: 0
    functionLinenumber: 3277
    functionLinenumberEnd: 3286
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:985,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:985,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:986,1
    - Dst: param_spec_follow_override
      Src: /src/glib/gobject/gobject.c:991,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:988,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - class
    - property_name
    argTypes:
    - GObjectClass*
    - gchar*
    constantsTouched: []
    func_position:
      end: 994
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 994
    functionName: g_object_class_find_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_IS_OBJECT_CLASS
    - g_return_val_if_fail
    - find_pspec
    - param_spec_follow_override
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_object_class_find_property (GObjectClass *class,\t\t\t
      const gchar *property_name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4555,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4561,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gobject.c:4555,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4561,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gobject.c:4557,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4562,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gobject.c:4562,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:4562,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:4562,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gobject.c:4564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - value
    - v_object
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4566
      start: 4551
    functionDepth: 0
    functionLinenumber: 4551
    functionLinenumberEnd: 4566
    functionName: g_value_take_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_value_type_compatible
    - G_VALUE_TYPE
    - G_OBJECT_TYPE
    - G_VALUE_HOLDS_OBJECT
    - g_clear_object
    - G_IS_OBJECT
    - g_steal_pointer
    - g_return_if_fail
    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:4737,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4740,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4739,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4737,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4738,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4741,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:4741,1
    - Dst: g_closure_add_invalidate_notifier
      Src: /src/glib/gobject/gobject.c:4743,1
    - Dst: g_closure_add_marshal_guards
      Src: /src/glib/gobject/gobject.c:4744,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:4747,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:4748,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:4759,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:4762,1
    - Dst: g_renew
      Src: /src/glib/gobject/gobject.c:4751,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:4763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - object
    - closure
    argTypes:
    - GObject*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 4764
      start: 4730
    functionDepth: 0
    functionLinenumber: 4730
    functionLinenumberEnd: 4764
    functionName: g_object_watch_closure
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_closure_add_marshal_guards
    - g_realloc
    - g_datalist_id_set_data_full
    - G_LOCK
    - G_IS_OBJECT
    - G_UNLOCK
    - g_atomic_int_get
    - g_closure_add_invalidate_notifier
    - g_datalist_id_remove_no_notify
    - g_renew
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_watch_closure (GObject *object,\t\t\tGClosure *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_create_instance
      Src: /src/glib/gobject/gobject.c:2619,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2633,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:2624,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:2635,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - type
    - n_construct_properties
    - construct_params
    argTypes:
    - GType
    - guint
    - GObjectConstructParam*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2643
    functionName: g_object_constructor
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_notify_queue_thaw
    - object_set_property
    - g_type_create_instance
    - 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_LOCK
      Src: /src/glib/gobject/gobject.c:366,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:376,1
    - Dst: g_slist_find
      Src: /src/glib/gobject/gobject.c:370,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:368,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gobject.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - object
    - nqueue
    - pspec
    argTypes:
    - GObject*
    - GObjectNotifyQueue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 377
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 377
    functionName: g_object_notify_queue_add
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - G_LOCK
    - g_assert
    - G_UNLOCK
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void g_object_notify_queue_add (GObject *object, GObjectNotifyQueue
      *nqueue, GParamSpec *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:863,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:865,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:863,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:864,1
    - Dst: CLASS_HAS_DERIVED_CLASS
      Src: /src/glib/gobject/gobject.c:867,1
    - Dst: g_error
      Src: /src/glib/gobject/gobject.c:868,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:869,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:871,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gobject.c:872,1
    - Dst: validate_and_install_class_property
      Src: /src/glib/gobject/gobject.c:879,1
    - Dst: qsort
      Src: /src/glib/gobject/gobject.c:909,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:901,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - oclass
    - n_pspecs
    - pspecs
    argTypes:
    - GObjectClass*
    - guint
    - GParamSpec**
    constantsTouched: []
    func_position:
      end: 914
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 914
    functionName: g_object_class_install_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS_TYPE
    - CLASS_HAS_DERIVED_CLASS
    - G_OBJECT_CLASS_NAME
    - G_IS_OBJECT_CLASS
    - g_error
    - validate_and_install_class_property
    - g_new
    - g_type_parent
    - qsort
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_class_install_properties (GObjectClass *oclass, guint
      n_pspecs, GParamSpec **pspecs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_or
      Src: /src/glib/gobject/gobject.c:1204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - object
    - flags
    argTypes:
    - GObject*
    - guint
    constantsTouched: []
    func_position:
      end: 1205
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1205
    functionName: object_set_optional_flags
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_or
    linkageType: ''
    returnType: void
    signature: 'static inline void object_set_optional_flags (GObject *object, guint
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - object
    - flags
    argTypes:
    - GObject*
    - guint
    constantsTouched: []
    func_position:
      end: 1227
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1227
    functionName: object_unset_optional_flags_X
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void object_unset_optional_flags_X (GObject *object,
      guint flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4814,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4816,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4815,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4814,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:4815,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gobject.c:4818,1
    - Dst: g_object_watch_closure
      Src: /src/glib/gobject/gobject.c:4819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - callback_func
    - object
    argTypes:
    - GCallback
    - GObject*
    constantsTouched: []
    func_position:
      end: 4822
      start: 4808
    functionDepth: 0
    functionLinenumber: 4808
    functionLinenumberEnd: 4822
    functionName: g_cclosure_new_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - G_IS_OBJECT
    - g_atomic_int_get
    - g_object_watch_closure
    - g_return_val_if_fail
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_cclosure_new_object (GCallback callback_func,\t\t GObject
      *object) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2649
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2649
    functionName: g_object_constructed
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_object_constructed (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:737,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:776,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - class
    - property_name
    argTypes:
    - GObjectClass*
    - char*
    constantsTouched: []
    func_position:
      end: 780
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 780
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4786,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4787,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4786,1
    - Dst: g_closure_new_simple
      Src: /src/glib/gobject/gobject.c:4789,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:4787,1
    - Dst: g_object_watch_closure
      Src: /src/glib/gobject/gobject.c:4790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - sizeof_closure
    - object
    argTypes:
    - guint
    - GObject*
    constantsTouched: []
    func_position:
      end: 4793
      start: 4780
    functionDepth: 0
    functionLinenumber: 4780
    functionLinenumberEnd: 4793
    functionName: g_closure_new_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_closure_new_simple
    - G_IS_OBJECT
    - g_atomic_int_get
    - g_object_watch_closure
    - g_return_val_if_fail
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_closure_new_object (guint sizeof_closure,\t\t GObject
      *object) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validate_pspec_to_install
      Src: /src/glib/gobject/gobject.c:636,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:644,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gobject.c:639,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:646,1
    - Dst: g_param_spec_ref_sink
      Src: /src/glib/gobject/gobject.c:638,1
    - Dst: install_property_internal
      Src: /src/glib/gobject/gobject.c:649,1
    - Dst: g_slist_append
      Src: /src/glib/gobject/gobject.c:653,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:660,1
    - Dst: g_slist_remove
      Src: /src/glib/gobject/gobject.c:663,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: 671
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 671
    functionName: validate_and_install_class_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - install_property_internal
    - g_slist_remove
    - g_param_spec_ref_sink
    - validate_pspec_to_install
    - g_param_spec_pool_lookup
    - g_slist_append
    - g_param_spec_unref
    - g_return_val_if_fail
    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_if_fail
      Src: /src/glib/gobject/gobject.c:948,1
    - Dst: G_IS_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gobject.c:949,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gobject.c:948,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:949,1
    - Dst: validate_pspec_to_install
      Src: /src/glib/gobject/gobject.c:951,1
    - Dst: g_param_spec_ref_sink
      Src: /src/glib/gobject/gobject.c:953,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gobject.c:954,1
    - Dst: install_property_internal
      Src: /src/glib/gobject/gobject.c:958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - g_iface
    - pspec
    argTypes:
    - gpointer
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 959
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 959
    functionName: g_object_interface_install_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - install_property_internal
    - g_param_spec_ref_sink
    - validate_pspec_to_install
    - g_param_spec_unref
    - G_IS_PARAM_SPEC_OVERRIDE
    - G_TYPE_IS_INTERFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_interface_install_property (gpointer g_iface,\t\t\t\t
      GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1161,1
    - Dst: g_param_spec_pool_list
      Src: /src/glib/gobject/gobject.c:1163,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gobject.c:1161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - g_iface
    - n_properties_p
    argTypes:
    - gpointer
    - guint*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1170
    functionName: g_object_interface_list_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_pool_list
    - G_TYPE_IS_INTERFACE
    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_return_if_fail
      Src: /src/glib/gobject/gobject.c:2840,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:2847,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:2845,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2840,1
    - Dst: memset
      Src: /src/glib/gobject/gobject.c:2849,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2853,1
    - Dst: g_object_get_is_valid_property
      Src: /src/glib/gobject/gobject.c:2855,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:2857,1
    - Dst: object_get_property
      Src: /src/glib/gobject/gobject.c:2858,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:2860,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - object
    - n_properties
    - names
    - values
    argTypes:
    - GObject*
    - guint
    - gchar*
    - GValue
    constantsTouched: []
    func_position:
      end: 2861
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2861
    functionName: g_object_getv
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - find_pspec
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - g_object_get_is_valid_property
    - object_get_property
    - G_IS_OBJECT
    - g_object_unref
    - memset
    - g_value_init
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_getv (GObject *object, guint n_properties, const gchar
      *names[], GValue values[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4989,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gobject/gobject.c:4991,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gobject/gobject.c:4998,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:4996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 5001
      start: 4984
    functionDepth: 0
    functionLinenumber: 4984
    functionLinenumberEnd: 5001
    functionName: g_weak_ref_get
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_unlock
    - g_object_ref
    - g_return_val_if_fail
    - g_rw_lock_reader_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_weak_ref_get (GWeakRef *weak_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1181
    functionName: object_get_optional_flags
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: guint
    signature: 'static inline guint object_get_optional_flags (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3353,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:3356,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:3357,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3354,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3353,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:3374,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - object
    - notify
    - data
    argTypes:
    - GObject*
    - GWeakNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 3377
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3377
    functionName: g_object_weak_unref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_get_data
    - G_LOCK
    - G_UNLOCK
    - G_IS_OBJECT
    - g_critical
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_weak_unref (GObject *object,\t\t GWeakNotify notify,\t\t
      gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3421,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gobject.c:3424,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3422,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object
    - weak_pointer_location
    argTypes:
    - GObject*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 3427
      start: 3417
    functionDepth: 0
    functionLinenumber: 3417
    functionLinenumberEnd: 3427
    functionName: g_object_remove_weak_pointer
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_IS_OBJECT
    - g_object_weak_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_remove_weak_pointer (GObject *object, gpointer *weak_pointer_location) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gobject.c:4959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 4963
      start: 4956
    functionDepth: 0
    functionLinenumber: 4956
    functionLinenumberEnd: 4963
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3579,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3580,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3580,1
    - Dst: floating_flag_handler
      Src: /src/glib/gobject/gobject.c:3582,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 3583
      start: 3576
    functionDepth: 0
    functionLinenumber: 3576
    functionLinenumberEnd: 3583
    functionName: g_object_force_floating
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - floating_flag_handler
    - G_IS_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_force_floating (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInitiallyUnownedClass*
    constantsTouched: []
    func_position:
      end: 4885
      start: 4882
    functionDepth: 0
    functionLinenumber: 4882
    functionLinenumberEnd: 4885
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:697,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gobject.c:701,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:700,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:697,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:698,1
    - Dst: CLASS_HAS_DERIVED_CLASS
      Src: /src/glib/gobject/gobject.c:703,1
    - Dst: g_error
      Src: /src/glib/gobject/gobject.c:704,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:704,1
    - Dst: validate_and_install_class_property
      Src: /src/glib/gobject/gobject.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - class
    - property_id
    - pspec
    argTypes:
    - GObjectClass*
    - guint
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 711
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 711
    functionName: g_object_class_install_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS_TYPE
    - CLASS_HAS_DERIVED_CLASS
    - G_OBJECT_CLASS_NAME
    - G_IS_OBJECT_CLASS
    - g_error
    - validate_and_install_class_property
    - g_type_parent
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec**
    constantsTouched: []
    func_position:
      end: 967
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 967
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:2886,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:2888,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:2890,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2886,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2900,1
    - Dst: g_object_get_is_valid_property
      Src: /src/glib/gobject/gobject.c:2902,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:2905,1
    - Dst: object_get_property
      Src: /src/glib/gobject/gobject.c:2907,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gobject.c:2909,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2912,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2913,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:2923,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:2918,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:2914,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:2920,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: 2924
      start: 2878
    functionDepth: 0
    functionLinenumber: 2878
    functionLinenumberEnd: 2924
    functionName: g_object_get_valist
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - find_pspec
    - g_object_ref
    - G_VALUE_LCOPY
    - g_free
    - G_OBJECT_GET_CLASS
    - g_object_get_is_valid_property
    - object_get_property
    - G_IS_OBJECT
    - g_object_unref
    - g_critical
    - g_value_init
    - va_arg
    - g_value_unset
    - g_return_if_fail
    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: object_unset_optional_flags_X
      Src: /src/glib/gobject/gobject.c:1298,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:1300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1302
    functionName: unset_object_in_construction
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_unset_optional_flags_X
    - g_datalist_id_set_data
    linkageType: ''
    returnType: void
    signature: 'static inline void unset_object_in_construction (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4072,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4073,1
    - Dst: g_datalist_id_dup_data
      Src: /src/glib/gobject/gobject.c:4075,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4072,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: 4076
      start: 4066
    functionDepth: 0
    functionLinenumber: 4066
    functionLinenumberEnd: 4076
    functionName: g_object_dup_qdata
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_OBJECT
    - g_datalist_id_dup_data
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_object_dup_qdata (GObject *object, GQuark quark, GDuplicateFunc
      dup_func, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4630,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4638,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4631,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4632,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gobject.c:4630,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4638,1
    - Dst: g_signal_connect_closure
      Src: /src/glib/gobject/gobject.c:4642,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:4645,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: 4646
      start: 4623
    functionDepth: 0
    functionLinenumber: 4623
    functionLinenumberEnd: 4646
    functionName: g_signal_connect_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_signal_connect_data
    - G_TYPE_CHECK_INSTANCE
    - G_IS_OBJECT
    - g_signal_connect_closure
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLASS_HAS_PROPS
      Src: /src/glib/gobject/gobject.c:1311,1
    - Dst: set_object_in_construction
      Src: /src/glib/gobject/gobject.c:1318,1
    - Dst: GOBJECT_IF_DEBUG
      Src: /src/glib/gobject/gobject.c:1320,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:1314,1
    - Dst: CLASS_NEEDS_NOTIFY
      Src: /src/glib/gobject/gobject.c:1311,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:1322,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gobject.c:1324,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:1325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - object
    - class
    argTypes:
    - GObject*
    - GObjectClass*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1327
    functionName: g_object_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_hash_table_add
    - G_LOCK
    - CLASS_HAS_PROPS
    - G_UNLOCK
    - set_object_in_construction
    - CLASS_NEEDS_NOTIFY
    - GOBJECT_IF_DEBUG
    - g_object_notify_queue_freeze
    linkageType: ''
    returnType: void
    signature: "static void g_object_init (GObject\t\t*object,\t GObjectClass\t*class) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4031,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4032,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:4034,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - object
    - quark
    - data
    argTypes:
    - GObject*
    - GQuark
    - gpointer
    constantsTouched: []
    func_position:
      end: 4035
      start: 4026
    functionDepth: 0
    functionLinenumber: 4026
    functionLinenumberEnd: 4035
    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: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4598,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gobject.c:4598,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:4600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4601
      start: 4595
    functionDepth: 0
    functionLinenumber: 4595
    functionLinenumberEnd: 4601
    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_weak_ref_set
      Src: /src/glib/gobject/gobject.c:4940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - weak_ref
    - object
    argTypes:
    - GWeakRef*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4941
      start: 4934
    functionDepth: 0
    functionLinenumber: 4934
    functionLinenumberEnd: 4941
    functionName: g_weak_ref_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_weak_ref_set
    linkageType: ''
    returnType: void
    signature: 'void g_weak_ref_init (GWeakRef *weak_ref, gpointer object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3055,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:3082,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:3089,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/gobject.c:3078,1
    - Dst: g_object_get_is_valid_property
      Src: /src/glib/gobject/gobject.c:3062,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:3072,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3084,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:3078,1
    - Dst: object_get_property
      Src: /src/glib/gobject/gobject.c:3092,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gobject.c:3095,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3054,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:3058,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:3066,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3080,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:3083,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3056,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3054,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:3060,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:3060,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:3069,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/gobject.c:3075,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:3096,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - object
    - property_name
    - value
    argTypes:
    - GObject*
    - gchar*
    - GValue*
    constantsTouched: []
    func_position:
      end: 3101
      start: 3047
    functionDepth: 0
    functionLinenumber: 3047
    functionLinenumberEnd: 3101
    functionName: g_object_get_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_value_transform
    - find_pspec
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - g_object_get_is_valid_property
    - G_VALUE_TYPE
    - g_value_reset
    - g_value_type_transformable
    - G_VALUE_TYPE_NAME
    - object_get_property
    - G_IS_OBJECT
    - g_object_unref
    - g_critical
    - g_value_init
    - g_type_name
    - g_value_unset
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_get_property (GObject\t *object,\t\t const gchar *property_name,\t\t
      GValue\t *value) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:292,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:298,1
    - Dst: g_slice_new0
      Src: /src/glib/gobject/gobject.c:302,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:303,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:293,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:308,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:311,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - object
    - conditional
    argTypes:
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: g_object_notify_queue_freeze
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - g_slice_new0
    - g_datalist_id_get_data
    - G_LOCK
    - G_UNLOCK
    - g_critical
    - G_OBJECT_TYPE_NAME
    linkageType: ''
    returnType: GObjectNotifyQueue*
    signature: 'static GObjectNotifyQueue *g_object_notify_queue_freeze (GObject *object,
      gboolean conditional) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1468,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:1468,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1473,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:1471,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:1471,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1475,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:1481,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:1482,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:1483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1484
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1484
    functionName: g_object_freeze_notify
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_UNLIKELY
    - G_IS_OBJECT
    - g_object_unref
    - g_critical
    - g_atomic_int_get
    - G_OBJECT_TYPE_NAME
    - g_object_notify_queue_freeze
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_freeze_notify (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gobject.c:4416,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:4417,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:4416,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:4416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 4420
      start: 4412
    functionDepth: 0
    functionLinenumber: 4412
    functionLinenumberEnd: 4420
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:328,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:334,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:335,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:331,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:333,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:342,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:346,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:352,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:354,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:357,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:358,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - object
    - nqueue
    argTypes:
    - GObject*
    - GObjectNotifyQueue*
    constantsTouched: []
    func_position:
      end: 359
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 359
    functionName: g_object_notify_queue_thaw
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_free
    - G_OBJECT_GET_CLASS
    - G_LOCK
    - g_datalist_id_set_data
    - G_UNLOCK
    - g_new
    - g_critical
    - G_OBJECT_TYPE_NAME
    linkageType: ''
    returnType: void
    signature: 'static void g_object_notify_queue_thaw (GObject *object, GObjectNotifyQueue
      *nqueue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4426
      start: 4422
    functionDepth: 0
    functionLinenumber: 4422
    functionLinenumberEnd: 4426
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1441,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:1442,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1442,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:1444,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:1441,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:1445,1
    - Dst: GOBJECT_OBJECT_DISPOSE
      Src: /src/glib/gobject/gobject.c:1445,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:1445,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1446,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:1447,1
    - Dst: GOBJECT_OBJECT_DISPOSE_END
      Src: /src/glib/gobject/gobject.c:1447,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:1448,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:1447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1449
    functionName: g_object_run_dispose
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - GOBJECT_OBJECT_DISPOSE
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - G_IS_OBJECT
    - g_object_unref
    - g_atomic_int_get
    - TRACE
    - G_TYPE_FROM_INSTANCE
    - GOBJECT_OBJECT_DISPOSE_END
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_run_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_setv
      Src: /src/glib/gobject/gobject.c:3021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - property_name
    - value
    argTypes:
    - GObject*
    - gchar*
    - GValue*
    constantsTouched: []
    func_position:
      end: 3022
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3022
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:99,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:103,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gtypemodule.c:105,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gtypemodule.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: g_type_module_dispose
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_object_ref
    - G_OBJECT_CLASS
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'static void g_type_module_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gtypemodule.c:124,1
    - Dst: g_type_class_peek_parent
      Src: /src/glib/gobject/gtypemodule.c:126,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gtypemodule.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GTypeModuleClass*
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypemodule.c:185,1
    - Dst: g_free
      Src: /src/glib/gobject/gtypemodule.c:187,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gtypemodule.c:188,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - name
    argTypes:
    - GTypeModule*
    - gchar*
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: g_type_module_set_name
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - G_IS_TYPE_MODULE
    - 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: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - module
    - type
    argTypes:
    - GTypeModule*
    - GType
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 206
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypemodule.c:288,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:288,1
    - Dst: G_TYPE_MODULE_GET_CLASS
      Src: /src/glib/gobject/gtypemodule.c:297,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypemodule.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 308
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 308
    functionName: g_type_module_unuse
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE_GET_CLASS
    - G_IS_TYPE_MODULE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_module_unuse (GTypeModule *module) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:313,1
    - Dst: g_error
      Src: /src/glib/gobject/gtypemodule.c:317,1
    - Dst: g_type_module_use
      Src: /src/glib/gobject/gtypemodule.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 320
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:384,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:385,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gtypemodule.c:400,1
    - Dst: g_type_register_static_simple
      Src: /src/glib/gobject/gtypemodule.c:391,1
    - Dst: g_type_get_plugin
      Src: /src/glib/gobject/gtypemodule.c:403,1
    - Dst: G_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypemodule.c:405,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:407,1
    - Dst: g_type_module_find_type_info
      Src: /src/glib/gobject/gtypemodule.c:414,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:418,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:420,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:422,1
    - Dst: g_new
      Src: /src/glib/gobject/gtypemodule.c:432,1
    - Dst: G_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypemodule.c:435,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gtypemodule.c:437,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtypemodule.c:443,1
    - Dst: g_free
      Src: /src/glib/gobject/gtypemodule.c:428,1
    - Dst: g_type_register_dynamic
      Src: /src/glib/gobject/gtypemodule.c:435,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: 447
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 447
    functionName: g_type_module_register_type
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_type_from_name
    - g_type_get_plugin
    - G_TYPE_PLUGIN
    - g_type_module_find_type_info
    - g_free
    - g_type_register_dynamic
    - g_new
    - g_critical
    - g_memdup2
    - g_type_name
    - g_slist_prepend
    - g_return_val_if_fail
    - g_type_register_static_simple
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:551,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:551,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:553,1
    - Dst: g_enum_complete_type_info
      Src: /src/glib/gobject/gtypemodule.c:555,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:552,1
    - Dst: g_type_module_register_type
      Src: /src/glib/gobject/gtypemodule.c:558,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - module
    - name
    - const_static_values
    argTypes:
    - GTypeModule*
    - gchar*
    - GEnumValue*
    constantsTouched: []
    func_position:
      end: 560
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 560
    functionName: g_type_module_register_enum
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_enum_complete_type_info
    - g_return_val_if_fail
    - G_IS_TYPE_MODULE
    - g_type_module_register_type
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_module_register_enum (GTypeModule *module, const gchar
      *name, const GEnumValue *const_static_values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTypePluginClass*
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:114,1
    - Dst: g_free
      Src: /src/glib/gobject/gtypemodule.c:116,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gtypemodule.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: g_type_module_finalize
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_type_module_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - module
    - instance_type
    - interface_type
    argTypes:
    - GTypeModule*
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    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:328,1
    - Dst: g_type_module_find_type_info
      Src: /src/glib/gobject/gtypemodule.c:329,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: 335
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 335
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gtypemodule.c:166,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gtypemodule.c:166,1
    - Dst: g_type_add_interface_static
      Src: /src/glib/gobject/gtypemodule.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 172
    functionName: g_type_module_get_type
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_type_add_interface_static
    - g_intern_static_string
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_module_get_type (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:242,1
    - Dst: G_TYPE_MODULE_GET_CLASS
      Src: /src/glib/gobject/gtypemodule.c:249,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:261,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:242,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 273
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 273
    functionName: g_type_module_use
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE_GET_CLASS
    - g_critical
    - g_type_name
    - g_return_val_if_fail
    - G_IS_TYPE_MODULE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_type_module_use (GTypeModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:343,1
    - Dst: g_type_module_find_interface_info
      Src: /src/glib/gobject/gtypemodule.c:344,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: 347
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 347
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypemodule.c:474,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gtypemodule.c:482,1
    - Dst: g_type_interface_get_plugin
      Src: /src/glib/gobject/gtypemodule.c:484,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:489,1
    - Dst: g_type_add_interface_static
      Src: /src/glib/gobject/gtypemodule.c:478,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:490,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:490,1
    - Dst: G_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypemodule.c:493,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:495,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:496,1
    - Dst: g_type_module_find_interface_info
      Src: /src/glib/gobject/gtypemodule.c:500,1
    - Dst: g_new
      Src: /src/glib/gobject/gtypemodule.c:506,1
    - Dst: G_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypemodule.c:511,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:496,1
    - Dst: g_type_add_interface_dynamic
      Src: /src/glib/gobject/gtypemodule.c:511,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gtypemodule.c:513,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtypemodule.c:502,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: 518
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 518
    functionName: g_type_module_add_interface
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_PLUGIN
    - g_type_add_interface_dynamic
    - g_assert
    - g_new
    - g_critical
    - g_type_name
    - g_slist_prepend
    - g_type_is_a
    - g_type_interface_get_plugin
    - g_type_module_find_interface_info
    - g_type_add_interface_static
    - g_return_if_fail
    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:593,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:595,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:593,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:594,1
    - Dst: g_flags_complete_type_info
      Src: /src/glib/gobject/gtypemodule.c:597,1
    - Dst: g_type_module_register_type
      Src: /src/glib/gobject/gtypemodule.c:600,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - module
    - name
    - const_static_values
    argTypes:
    - GTypeModule*
    - gchar*
    - GFlagsValue*
    constantsTouched: []
    func_position:
      end: 602
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 602
    functionName: g_type_module_register_flags
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_flags_complete_type_info
    - g_return_val_if_fail
    - G_IS_TYPE_MODULE
    - g_type_module_register_type
    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: 2
    argNames:
    - value_array
    - index
    argTypes:
    - GValueArray*
    - guint
    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_slice_new
      Src: /src/glib/gobject/gvaluearray.c:181,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gvaluearray.c:191,1
    - Dst: value_array_grow
      Src: /src/glib/gobject/gvaluearray.c:185,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluearray.c:187,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: 1
    argNames:
    - value_array
    argTypes:
    - GValueArray*
    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_VALUE_TYPE
    - g_value_init
    - g_slice_new
    - g_return_val_if_fail
    - 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: 1
    argNames:
    - n_prealloced
    argTypes:
    - guint
    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: 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: 2
    argNames:
    - value_array
    - value
    argTypes:
    - GValueArray*
    - GValue*
    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: 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_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:298,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluearray.c:300,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: 2
    argNames:
    - value_array
    - index
    argTypes:
    - GValueArray*
    - guint
    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_VALUE_TYPE
    - memset
    - memmove
    - g_return_val_if_fail
    - 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_unset
      Src: /src/glib/gobject/gvaluearray.c:156,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluearray.c:158,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gvaluearray.c:159,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluearray.c:155,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_free
    - G_VALUE_TYPE
    - g_slice_free
    - g_value_unset
    - g_return_if_fail
    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: 2
    argNames:
    - value_array
    - value
    argTypes:
    - GValueArray*
    - GValue*
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:264,1
    - Dst: memset
      Src: /src/glib/gobject/gvaluearray.c:272,1
    - Dst: memmove
      Src: /src/glib/gobject/gvaluearray.c:270,1
    - Dst: value_array_grow
      Src: /src/glib/gobject/gvaluearray.c:268,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:265,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: 3
    argNames:
    - value_array
    - index
    - value
    argTypes:
    - GValueArray*
    - guint
    - GValue*
    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_VALUE_TYPE
    - memset
    - memmove
    - g_value_init
    - g_return_val_if_fail
    - g_value_copy
    linkageType: ''
    returnType: GValueArray*
    signature: "GValueArray *g_value_array_insert (GValueArray *value_array,\t\t guint
      index,\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: 2
    argNames:
    - value_array
    - compare_func
    argTypes:
    - GValueArray*
    - GCompareFunc
    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_qsort_with_data
      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: 3
    argNames:
    - value_array
    - compare_func
    - user_data
    argTypes:
    - GValueArray*
    - GCompareDataFunc
    - gpointer
    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_qsort_with_data
    - g_return_val_if_fail
    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_assert
      Src: /src/glib/gobject/gtype.c:2441,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2450,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:2441,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2450,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2450,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2450,1
    - Dst: g_free
      Src: /src/glib/gobject/gtype.c:2454,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - node
    - cdata
    argTypes:
    - TypeNode*
    - ClassData*
    constantsTouched: []
    func_position:
      end: 2455
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2455
    functionName: type_data_finalize_class_U
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - g_free
    - g_assert
    - NODE_REFCOUNT
    - NODE_PARENT_TYPE
    linkageType: ''
    returnType: void
    signature: "static void type_data_finalize_class_U (TypeNode *node,\t\t\t ClassData
      *cdata) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3534
      start: 3526
    functionDepth: 0
    functionLinenumber: 3526
    functionLinenumberEnd: 3534
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4151,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:4153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 4154
      start: 4148
    functionDepth: 0
    functionLinenumber: 4148
    functionLinenumberEnd: 4154
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2465,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:2485,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2513,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2498,1
    - Dst: type_data_finalize_class_U
      Src: /src/glib/gobject/gtype.c:2514,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2543,1
    - Dst: type_data_unref_U
      Src: /src/glib/gobject/gtype.c:2546,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2546,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2461,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:2486,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:2487,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:2509,1
    - Dst: INVALID_RECURSION
      Src: /src/glib/gobject/gtype.c:2487,1
    - Dst: g_type_plugin_unuse
      Src: /src/glib/gobject/gtype.c:2544,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:2476,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:2483,1
    - Dst: cache_func
      Src: /src/glib/gobject/gtype.c:2484,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2492,1
    - Dst: type_data_finalize_class_ifaces_Wm
      Src: /src/glib/gobject/gtype.c:2510,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2523,1
    - Dst: g_free
      Src: /src/glib/gobject/gtype.c:2541,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2547,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:2463,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2475,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:2466,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:2491,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gobject/gtype.c:2496,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2515,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:2517,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2528,1
    - Dst: g_free
      Src: /src/glib/gobject/gtype.c:2530,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 2
    argNames:
    - node
    - uncached
    argTypes:
    - TypeNode*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2549
      start: 2457
    functionDepth: 0
    functionLinenumber: 2457
    functionLinenumberEnd: 2549
    functionName: type_data_last_unref_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    - G_READ_UNLOCK
    - lookup_type_node_I
    - type_data_finalize_class_ifaces_Wm
    - G_READ_LOCK
    - INVALID_RECURSION
    - g_type_plugin_unuse
    - NODE_NAME
    - cache_func
    - type_data_unref_U
    - g_critical
    - type_data_finalize_class_U
    - NODE_PARENT_TYPE
    - NODE_REFCOUNT
    - g_free
    - G_WRITE_UNLOCK
    - NODE_IS_IFACE
    - G_WRITE_LOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void type_data_last_unref_Wm (TypeNode *node,\t\t\t gboolean
      uncached) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4166,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4170,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:4171,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - type_instance
    - iface_type
    argTypes:
    - GTypeInstance*
    - GType
    constantsTouched: []
    func_position:
      end: 4174
      start: 4156
    functionDepth: 0
    functionLinenumber: 4156
    functionLinenumberEnd: 4174
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:2875,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2877,1
    - Dst: check_type_name_I
      Src: /src/glib/gobject/gtype.c:2880,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2876,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2878,1
    - Dst: check_derivation_I
      Src: /src/glib/gobject/gtype.c:2881,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2885,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2890,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2891,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:2892,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2897,1
    - Dst: type_data_make_W
      Src: /src/glib/gobject/gtype.c:2898,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:2893,1
    - Dst: check_type_info_I
      Src: /src/glib/gobject/gtype.c:2893,1
    - Dst: check_value_table_I
      Src: /src/glib/gobject/gtype.c:2899,1
    - Dst: type_node_new_W
      Src: /src/glib/gobject/gtype.c:2895,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2901,1
    - Dst: type_add_flags_W
      Src: /src/glib/gobject/gtype.c:2896,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: 2904
      start: 2866
    functionDepth: 0
    functionLinenumber: 2866
    functionLinenumberEnd: 2904
    functionName: g_type_register_static
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - check_type_info_I
    - g_assert_type_system_initialized
    - NODE_TYPE
    - lookup_type_node_I
    - check_value_table_I
    - type_add_flags_W
    - G_WRITE_UNLOCK
    - NODE_FUNDAMENTAL_TYPE
    - g_critical
    - check_type_name_I
    - type_data_ref_Wm
    - type_node_new_W
    - type_data_make_W
    - check_derivation_I
    - g_return_val_if_fail
    - G_WRITE_LOCK
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:659,1
    - Dst: lookup_iface_entry_I
      Src: /src/glib/gobject/gtype.c:669,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:667,1
    - Dst: G_ATOMIC_ARRAY_DO_TRANSACTION
      Src: /src/glib/gobject/gtype.c:666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - node
    - iface_node
    - vtable_ptr
    argTypes:
    - TypeNode*
    - TypeNode*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 681
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 681
    functionName: type_lookup_iface_vtable_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_iface_entry_I
    - CLASSED_NODE_IFACES_ENTRIES
    - G_ATOMIC_ARRAY_DO_TRANSACTION
    - NODE_IS_IFACE
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1783,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1783,1
    - Dst: iface_node_get_holders_L
      Src: /src/glib/gobject/gtype.c:1785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - iface
    - instance_type
    argTypes:
    - TypeNode*
    - GType
    constantsTouched: []
    func_position:
      end: 1789
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1789
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:687,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:689,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:687,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:690,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - iface
    - prerequisite_type
    argTypes:
    - TypeNode*
    - GType
    constantsTouched: []
    func_position:
      end: 712
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 712
    functionName: type_lookup_prerequisite_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - IFACE_NODE_PREREQUISITES
    - IFACE_NODE_N_PREREQUISITES
    - NODE_IS_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean type_lookup_prerequisite_L (TypeNode *iface,\t\t\t
      GType prerequisite_type) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: type_iface_peek_holder_L
      Src: /src/glib/gobject/gtype.c:1796,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:1804,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1806,1
    - Dst: INVALID_RECURSION
      Src: /src/glib/gobject/gtype.c:1806,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1802,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:1808,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1810,1
    - Dst: g_type_plugin_use
      Src: /src/glib/gobject/gtype.c:1811,1
    - Dst: g_type_plugin_complete_interface_info
      Src: /src/glib/gobject/gtype.c:1812,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1812,1
    - Dst: INVALID_RECURSION
      Src: /src/glib/gobject/gtype.c:1815,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1815,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtype.c:1818,1
    - Dst: check_interface_info_I
      Src: /src/glib/gobject/gtype.c:1817,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:1813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - iface
    - instance_type
    - need_info
    argTypes:
    - TypeNode*
    - GType
    - gboolean
    constantsTouched: []
    func_position:
      end: 1822
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1822
    functionName: type_iface_retrieve_holder_info_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_iface_peek_holder_L
    - g_type_plugin_complete_interface_info
    - NODE_TYPE
    - check_interface_info_I
    - g_assert
    - g_type_plugin_use
    - G_WRITE_UNLOCK
    - g_memdup2
    - memset
    - type_data_ref_Wm
    - INVALID_RECURSION
    - G_WRITE_LOCK
    - NODE_NAME
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: gobject_win32_init
      Src: /src/glib/gobject/gtype.c:4644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 4653
      start: 4636
    functionDepth: 0
    functionLinenumber: 4636
    functionLinenumberEnd: 4653
    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: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3558,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - type
    - base_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 3573
      start: 3551
    functionDepth: 0
    functionLinenumber: 3551
    functionLinenumberEnd: 3573
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:1687,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1689,1
    - Dst: g_new0
      Src: /src/glib/gobject/gtype.c:1697,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gtype.c:1687,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:1696,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1697,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1698,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1700,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1701,1
    - Dst: type_node_is_a_L
      Src: /src/glib/gobject/gtype.c:1704,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1708,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:1715,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1711,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - interface_type
    - n_prerequisites
    argTypes:
    - GType
    - guint*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1726
    functionName: g_type_interface_prerequisites
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - IFACE_NODE_N_PREREQUISITES
    - NODE_TYPE
    - lookup_type_node_I
    - g_new0
    - G_READ_LOCK
    - G_READ_UNLOCK
    - type_node_is_a_L
    - IFACE_NODE_PREREQUISITES
    - g_return_val_if_fail
    - G_TYPE_IS_INTERFACE
    linkageType: ''
    returnType: GType*
    signature: "GType *g_type_interface_prerequisites (GType interface_type,\t\t\t\tguint
      *n_prerequisites) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2032,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:2033,1
    - Dst: g_free_sized
      Src: /src/glib/gobject/gtype.c:2075,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:2070,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gobject/gtype.c:2080,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2029,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gobject/gtype.c:2040,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2042,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:2043,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:2071,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:2070,1
    - Dst: g_free_sized
      Src: /src/glib/gobject/gtype.c:2068,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:2062,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:2060,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gtype.c:2084,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2035,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:2036,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:2040,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2040,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:2063,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:2053,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 1
    argNames:
    - instance
    argTypes:
    - GTypeInstance*
    constantsTouched: []
    func_position:
      end: 2085
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2085
    functionName: g_type_free_instance
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - NODE_TYPE
    - G_UNLIKELY
    - lookup_type_node_I
    - G_TYPE_IS_ABSTRACT
    - type_descriptive_name_I
    - g_type_class_unref
    - g_critical
    - memset
    - VALGRIND_FREELIKE_BLOCK
    - g_free_sized
    - ALIGN_STRUCT
    - NODE_NAME
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_free_instance (GTypeInstance *instance) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3226,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:3236,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3228,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/gtype.c:3228,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3230,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3238,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:3238,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:3241,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3245
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3245
    functionName: g_type_class_peek_parent
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - G_TYPE_FROM_CLASS
    - g_critical
    - g_return_val_if_fail
    - NODE_PARENT_TYPE
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_class_peek_parent (gpointer g_class) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1923,1
    - Dst: g_error
      Src: /src/glib/gobject/gtype.c:1932,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:1973,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:1974,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1974,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1978,1
    - Dst: GOBJECT_OBJECT_NEW
      Src: /src/glib/gobject/gtype.c:2005,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1924,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gobject/gtype.c:1930,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1935,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1968,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1986,1
    - Dst: TRACE
      Src: /src/glib/gobject/gtype.c:2005,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1927,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1930,1
    - Dst: maybe_issue_deprecation_warning
      Src: /src/glib/gobject/gtype.c:1937,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1974,1
    - Dst: g_error
      Src: /src/glib/gobject/gtype.c:1926,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1933,1
    - Dst: G_TYPE_IS_DEPRECATED
      Src: /src/glib/gobject/gtype.c:1935,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gtype.c:1940,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1963,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1970,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1965,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/gtype.c:2001,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 2008
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 2008
    functionName: g_type_create_instance
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - maybe_issue_deprecation_warning
    - lookup_type_node_I
    - G_UNLIKELY
    - g_malloc0
    - G_TYPE_IS_ABSTRACT
    - type_descriptive_name_I
    - g_error
    - G_TYPE_IS_DEPRECATED
    - g_atomic_int_inc
    - TRACE
    - ALIGN_STRUCT
    - VALGRIND_MALLOCLIKE_BLOCK
    - g_type_class_ref
    - GOBJECT_OBJECT_NEW
    linkageType: ''
    returnType: GTypeInstance*
    signature: 'GTypeInstance *g_type_create_instance (GType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4783,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:4785,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:4786,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4790,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4791,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4795,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4797,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4797,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4800,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:4805,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:4807,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4808,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:4811,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - g_class
    - private_size
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 4812
      start: 4778
    functionDepth: 0
    functionLinenumber: 4778
    functionLinenumberEnd: 4812
    functionName: g_type_class_add_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - g_assert
    - type_descriptive_name_I
    - G_WRITE_UNLOCK
    - g_critical
    - ALIGN_STRUCT
    - NODE_PARENT_TYPE
    - G_WRITE_LOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_class_add_private (gpointer g_class,\t\t\t gsize private_size) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:773,1
    - Dst: strchr
      Src: /src/glib/gobject/gtype.c:782,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gtype.c:788,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:785,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:790,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - type_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 795
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 795
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1152,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1177,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1211,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1198,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1217,1
    - Dst: strlen
      Src: /src/glib/gobject/gtype.c:1237,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gtype.c:1248,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1250,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1127,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1152,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1209,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1196,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1181,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1215,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1231,1
    - Dst: strcat
      Src: /src/glib/gobject/gtype.c:1236,1
    - Dst: strcat
      Src: /src/glib/gobject/gtype.c:1243,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:1252,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1127,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1156,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1194,1
    - Dst: NODE_IS_BOXED
      Src: /src/glib/gobject/gtype.c:1207,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1179,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:1248,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1123,1
    - Dst: strlen
      Src: /src/glib/gobject/gtype.c:1144,1
    - Dst: strlen
      Src: /src/glib/gobject/gtype.c:1146,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1154,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1177,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 111
    argCount: 3
    argNames:
    - node
    - info
    - value_table
    argTypes:
    - TypeNode*
    - GTypeInfo*
    - GTypeValueTable*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1253
    functionName: type_data_make_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - strlen
    - lookup_type_node_I
    - NODE_IS_BOXED
    - GPOINTER_TO_UINT
    - g_assert
    - g_malloc0
    - type_get_qdata_L
    - NODE_IS_IFACE
    - strcat
    - NODE_PARENT_TYPE
    - g_atomic_int_set
    - G_STRUCT_MEMBER_P
    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: g_atomic_int_add
      Src: /src/glib/gobject/gtype.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2081
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2608,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2615,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2610,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:2612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - cache_data
    - cache_func
    argTypes:
    - gpointer
    - GTypeClassCacheFunc
    constantsTouched: []
    func_position:
      end: 2616
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2616
    functionName: g_type_add_class_cache_func
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_renew
    - G_WRITE_UNLOCK
    - G_WRITE_LOCK
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:5010,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:5017,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:5018,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:5022,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:5013,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:5024,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:5024,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:5027,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:5032,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:5034,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:5037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - class_type
    - private_size
    argTypes:
    - GType
    - gsize
    constantsTouched: []
    func_position:
      end: 5038
      start: 5006
    functionDepth: 0
    functionLinenumber: 5006
    functionLinenumberEnd: 5038
    functionName: g_type_add_class_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_descriptive_name_I
    - G_WRITE_UNLOCK
    - g_critical
    - ALIGN_STRUCT
    - NODE_PARENT_TYPE
    - G_WRITE_LOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_add_class_private (GType class_type,\t\t\t gsize private_size) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:804,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:807,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:816,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:809,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:814,1
    - Dst: type_node_fundamental_info_I
      Src: /src/glib/gobject/gtype.c:819,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:823,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:825,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:829,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:832,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:834,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - parent_type
    - type_name
    argTypes:
    - GType
    - gchar*
    constantsTouched: []
    func_position:
      end: 839
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 839
    functionName: check_derivation_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_descriptive_name_I
    - type_node_fundamental_info_I
    - g_critical
    - NODE_FUNDAMENTAL_TYPE
    - NODE_NAME
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_derivation_I (GType parent_type,\t\t const gchar
      *type_name) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1276,1
    - Dst: g_type_plugin_use
      Src: /src/glib/gobject/gtype.c:1277,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1283,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:1279,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:1290,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1264,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1260,1
    - Dst: g_type_plugin_complete_type_info
      Src: /src/glib/gobject/gtype.c:1278,1
    - Dst: type_data_make_W
      Src: /src/glib/gobject/gtype.c:1284,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1285,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1290,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1260,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:1268,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:1274,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1278,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/gtype.c:1292,1
    - Dst: INVALID_RECURSION
      Src: /src/glib/gobject/gtype.c:1270,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1270,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:1273,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1281,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:1283,1
    - Dst: check_type_info_I
      Src: /src/glib/gobject/gtype.c:1283,1
    - Dst: INVALID_RECURSION
      Src: /src/glib/gobject/gtype.c:1281,1
    - Dst: check_value_table_I
      Src: /src/glib/gobject/gtype.c:1285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - node
    argTypes:
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 1294
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1294
    functionName: type_data_ref_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - check_type_info_I
    - NODE_TYPE
    - lookup_type_node_I
    - check_value_table_I
    - g_assert
    - g_type_plugin_use
    - G_WRITE_UNLOCK
    - NODE_FUNDAMENTAL_TYPE
    - g_type_plugin_complete_type_info
    - memset
    - type_data_ref_Wm
    - type_data_make_W
    - g_atomic_int_inc
    - INVALID_RECURSION
    - NODE_REFCOUNT
    - NODE_PARENT_TYPE
    - G_WRITE_LOCK
    - NODE_NAME
    linkageType: ''
    returnType: void
    signature: 'static inline void type_data_ref_Wm (TypeNode *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:5055,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:5052,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:5059,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:5071,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:5072,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:5074,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:5054,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:5060,1
    - Dst: NODE_IS_ANCESTOR
      Src: /src/glib/gobject/gtype.c:5060,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:5063,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:5071,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:5083,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:5049,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:5051,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:5062,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:5069,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:5072,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:5080,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:5076,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:5067,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - klass
    - private_type
    argTypes:
    - GTypeClass*
    - GType
    constantsTouched: []
    func_position:
      end: 5084
      start: 5040
    functionDepth: 0
    functionLinenumber: 5040
    functionLinenumberEnd: 5084
    functionName: g_type_class_get_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - G_UNLIKELY
    - g_assert
    - type_descriptive_name_I
    - NODE_PARENT_TYPE
    - g_critical
    - NODE_IS_ANCESTOR
    - ALIGN_STRUCT
    - NODE_REFCOUNT
    - g_return_val_if_fail
    - G_STRUCT_MEMBER_P
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_type_class_get_private (GTypeClass *klass,\t\t\t GType
      private_type) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:1750,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1752,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:1756,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gtype.c:1750,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1758,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1760,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1761,1
    - Dst: type_node_is_a_L
      Src: /src/glib/gobject/gtype.c:1764,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:1769,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1772,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - interface_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 1775
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1775
    functionName: g_type_interface_instantiatable_prerequisite
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_TYPE
    - lookup_type_node_I
    - G_READ_LOCK
    - G_TYPE_IS_INTERFACE
    - G_READ_UNLOCK
    - type_node_is_a_L
    - IFACE_NODE_PREREQUISITES
    - g_return_val_if_fail
    - IFACE_NODE_N_PREREQUISITES
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_interface_instantiatable_prerequisite (GType interface_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:2558,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gtype.c:2579,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:2565,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2564,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2577,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2580,1
    - Dst: type_data_last_unref_Wm
      Src: /src/glib/gobject/gtype.c:2581,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2582,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gtype.c:2583,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gobject/gtype.c:2586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - node
    - uncached
    argTypes:
    - TypeNode*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2587
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2587
    functionName: type_data_unref_U
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_data_last_unref_Wm
    - g_assert
    - G_WRITE_UNLOCK
    - g_rec_mutex_unlock
    - g_critical
    - g_rec_mutex_lock
    - g_atomic_int_compare_and_exchange
    - NODE_REFCOUNT
    - G_WRITE_LOCK
    - NODE_NAME
    linkageType: ''
    returnType: void
    signature: 'static inline void type_data_unref_U (TypeNode *node, gboolean uncached) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3268,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3271,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3275,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3270,1
    - Dst: type_lookup_iface_vtable_I
      Src: /src/glib/gobject/gtype.c:3273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - instance_class
    - iface_type
    argTypes:
    - gpointer
    - GType
    constantsTouched: []
    func_position:
      end: 3278
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3278
    functionName: g_type_interface_peek
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_critical
    - g_return_val_if_fail
    - lookup_type_node_I
    - type_lookup_iface_vtable_I
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_type_interface_peek (gpointer instance_class,\t\t GType
      iface_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:2175,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2176,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2182,1
    - Dst: type_iface_peek_holder_L
      Src: /src/glib/gobject/gtype.c:2176,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2181,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2190,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2193,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2201,1
    - Dst: check_func
      Src: /src/glib/gobject/gtype.c:2202,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - iface
    - node
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 2205
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2205
    functionName: type_iface_vtable_iface_init_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_iface_peek_holder_L
    - NODE_TYPE
    - g_assert
    - type_lookup_iface_entry_L
    - G_WRITE_UNLOCK
    - G_WRITE_LOCK
    - check_func
    linkageType: ''
    returnType: void
    signature: "static void type_iface_vtable_iface_init_Wm (TypeNode *iface,\t\t\t\t
      TypeNode *node) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3393,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:3394,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:3394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - g_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3400
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3400
    functionName: g_type_default_interface_peek
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_REFCOUNT
    - lookup_type_node_I
    - NODE_IS_IFACE
    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:3512,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:3514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3515
      start: 3507
    functionDepth: 0
    functionLinenumber: 3507
    functionLinenumberEnd: 3515
    functionName: g_type_parent
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_PARENT_TYPE
    - lookup_type_node_I
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_parent (GType type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:2212,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2220,1
    - Dst: type_iface_retrieve_holder_info_Wm
      Src: /src/glib/gobject/gtype.c:2216,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2216,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2226,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2231,1
    - Dst: g_free
      Src: /src/glib/gobject/gtype.c:2235,1
    - Dst: type_iface_blow_holder_info_Wm
      Src: /src/glib/gobject/gtype.c:2237,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2237,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - iface
    - node
    - vtable
    argTypes:
    - TypeNode*
    - TypeNode*
    - GTypeInterface*
    constantsTouched: []
    func_position:
      end: 2240
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2240
    functionName: type_iface_vtable_finalize_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_iface_retrieve_holder_info_Wm
    - NODE_TYPE
    - g_free
    - type_iface_blow_holder_info_Wm
    - g_assert
    - type_lookup_iface_entry_L
    - G_WRITE_UNLOCK
    - G_WRITE_LOCK
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean type_iface_vtable_finalize_Wm (TypeNode *iface,\t\t\t
      TypeNode *node,\t\t\t GTypeInterface *vtable) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3131,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3137,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3133,1
    - Dst: type_data_unref_U
      Src: /src/glib/gobject/gtype.c:3135,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:3134,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3139
      start: 3125
    functionDepth: 0
    functionLinenumber: 3125
    functionLinenumberEnd: 3139
    functionName: g_type_class_unref_uncached
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_descriptive_name_I
    - type_data_unref_U
    - g_critical
    - NODE_REFCOUNT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_class_unref_uncached (gpointer g_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3471
      start: 3463
    functionDepth: 0
    functionLinenumber: 3463
    functionLinenumberEnd: 3471
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3489,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3491,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gtype.c:3492,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3496
      start: 3484
    functionDepth: 0
    functionLinenumber: 3484
    functionLinenumberEnd: 3496
    functionName: g_type_from_name
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_READ_LOCK
    - G_READ_UNLOCK
    - g_hash_table_lookup
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_from_name (const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3656,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3657,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:3658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - type
    - iface_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 3661
      start: 3646
    functionDepth: 0
    functionLinenumber: 3646
    functionLinenumberEnd: 3661
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - type
    - copy_func
    - free_func
    argTypes:
    - GType
    - GBoxedCopyFunc
    - GBoxedFreeFunc
    constantsTouched: []
    func_position:
      end: 4476
      start: 4467
    functionDepth: 0
    functionLinenumber: 4467
    functionLinenumberEnd: 4476
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3421,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:3424,1
    - Dst: type_data_unref_U
      Src: /src/glib/gobject/gtype.c:3425,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3423,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3427,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - g_iface
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3429
      start: 3415
    functionDepth: 0
    functionLinenumber: 3415
    functionLinenumberEnd: 3429
    functionName: g_type_default_interface_unref
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_descriptive_name_I
    - type_data_unref_U
    - g_critical
    - NODE_IS_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_default_interface_unref (gpointer g_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_node_check_conformities_UorL
      Src: /src/glib/gobject/gtype.c:3631,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: 3632
      start: 3625
    functionDepth: 0
    functionLinenumber: 3625
    functionLinenumberEnd: 3632
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:569,1
    - Dst: type_node_fundamental_info_I
      Src: /src/glib/gobject/gtype.c:579,1
    - Dst: type_node_any_new_W
      Src: /src/glib/gobject/gtype.c:577,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ftype
    - name
    - type_flags
    argTypes:
    - GType
    - gchar*
    - GTypeFundamentalFlags
    constantsTouched: []
    func_position:
      end: 583
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 583
    functionName: type_node_fundamental_new_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert
    - type_node_any_new_W
    - type_node_fundamental_info_I
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:1341,1
    - Dst: iface_node_has_available_offset_L
      Src: /src/glib/gobject/gtype.c:1350,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - entries
    argTypes:
    - IFaceEntries*
    constantsTouched: []
    func_position:
      end: 1360
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1360
    functionName: find_free_iface_offset_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - IFACE_ENTRIES_N_ENTRIES
    - lookup_type_node_I
    - iface_node_has_available_offset_L
    linkageType: ''
    returnType: gsize
    signature: 'static gsize find_free_iface_offset_L (IFaceEntries *entries) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2708,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:2719,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2710,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2723,1
    - Dst: memmove
      Src: /src/glib/gobject/gtype.c:2716,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2726,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - check_data
    - check_func
    argTypes:
    - gpointer
    - GTypeInterfaceCheckFunc
    constantsTouched: []
    func_position:
      end: 2728
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2728
    functionName: g_type_remove_interface_check
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - G_WRITE_UNLOCK
    - G_WRITE_LOCK
    - g_critical
    - memmove
    - g_renew
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_remove_interface_check (gpointer check_data,\t\t\t GTypeInterfaceCheckFunc
      check_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3893,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3895,1
    - Dst: type_set_qdata_W
      Src: /src/glib/gobject/gtype.c:3899,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3900,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:3898,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - type
    - quark
    - data
    argTypes:
    - GType
    - GQuark
    - gpointer
    constantsTouched: []
    func_position:
      end: 3904
      start: 3886
    functionDepth: 0
    functionLinenumber: 3886
    functionLinenumberEnd: 3904
    functionName: g_type_set_qdata
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - G_WRITE_UNLOCK
    - type_set_qdata_W
    - G_WRITE_LOCK
    - g_return_if_fail
    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_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:4516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4517
      start: 4502
    functionDepth: 0
    functionLinenumber: 4502
    functionLinenumberEnd: 4517
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:591,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:592,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:595,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:593,1
    - Dst: type_node_any_new_W
      Src: /src/glib/gobject/gtype.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pnode
    - name
    - plugin
    argTypes:
    - TypeNode*
    - gchar*
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 596
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 596
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ATOMIC_ARRAY_GET_LOCKED
      Src: /src/glib/gobject/gtype.c:1371,1
    - Dst: _g_atomic_array_update
      Src: /src/glib/gobject/gtype.c:1392,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gtype.c:1376,1
    - Dst: MAX
      Src: /src/glib/gobject/gtype.c:1381,1
    - Dst: _g_atomic_array_copy
      Src: /src/glib/gobject/gtype.c:1383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - iface_node
    - offset
    - index
    argTypes:
    - TypeNode*
    - gsize
    - int
    constantsTouched: []
    func_position:
      end: 1393
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1393
    functionName: iface_node_set_offset_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - _g_atomic_array_copy
    - _g_atomic_array_update
    - G_ATOMIC_ARRAY_DATA_SIZE
    - MAX
    - G_ATOMIC_ARRAY_GET_LOCKED
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3912,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:3916,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3916,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3913,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gtype.c:3917,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:3917,1
    - Dst: type_set_qdata_W
      Src: /src/glib/gobject/gtype.c:3919,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/gtype.c:3919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - node
    - flags
    argTypes:
    - TypeNode*
    - GTypeFlags
    constantsTouched: []
    func_position:
      end: 3922
      start: 3906
    functionDepth: 0
    functionLinenumber: 3906
    functionLinenumberEnd: 3922
    functionName: type_add_flags_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - GUINT_TO_POINTER
    - g_critical
    - type_set_qdata_W
    - type_get_qdata_L
    - NODE_NAME
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void type_add_flags_W (TypeNode *node,\t\t GTypeFlags flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gtype.c:4548,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gtype.c:4549,1
    - Dst: type_node_fundamental_new_W
      Src: /src/glib/gobject/gtype.c:4561,1
    - Dst: type_data_make_W
      Src: /src/glib/gobject/gtype.c:4570,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gtype.c:4561,1
    - Dst: type_node_fundamental_new_W
      Src: /src/glib/gobject/gtype.c:4568,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:4573,1
    - Dst: g_type_ensure
      Src: /src/glib/gobject/gtype.c:4579,1
    - Dst: g_type_plugin_get_type
      Src: /src/glib/gobject/gtype.c:4579,1
    - Dst: _g_param_type_init
      Src: /src/glib/gobject/gtype.c:4595,1
    - Dst: _g_param_spec_types_init
      Src: /src/glib/gobject/gtype.c:4603,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gobject/gtype.c:4530,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:4569,1
    - Dst: _g_value_c_init
      Src: /src/glib/gobject/gtype.c:4575,1
    - Dst: _g_enum_types_init
      Src: /src/glib/gobject/gtype.c:4587,1
    - Dst: _g_value_transforms_init
      Src: /src/glib/gobject/gtype.c:4607,1
    - Dst: _g_object_type_init
      Src: /src/glib/gobject/gtype.c:4599,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gtype.c:4535,1
    - Dst: g_parse_debug_string
      Src: /src/glib/gobject/gtype.c:4544,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gtype.c:4544,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gtype.c:4550,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gtype.c:4553,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:4562,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4563,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gtype.c:4568,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:4567,1
    - Dst: _g_signal_init
      Src: /src/glib/gobject/gtype.c:4611,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4571,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:4532,1
    - Dst: _g_boxed_type_init
      Src: /src/glib/gobject/gtype.c:4591,1
    - Dst: _g_value_types_init
      Src: /src/glib/gobject/gtype.c:4583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4612
      start: 4519
    functionDepth: 0
    functionLinenumber: 4519
    functionLinenumberEnd: 4612
    functionName: gobject_init
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - _g_boxed_type_init
    - type_node_fundamental_new_W
    - type_data_make_W
    - _g_param_spec_types_init
    - g_intern_static_string
    - _g_value_c_init
    - GLIB_PRIVATE_CALL
    - _g_signal_init
    - memset
    - _g_value_types_init
    - _g_object_type_init
    - g_parse_debug_string
    - g_hash_table_new
    - _g_value_transforms_init
    - _g_enum_types_init
    - g_type_plugin_get_type
    - NODE_TYPE
    - _g_param_type_init
    - g_type_ensure
    - g_assert
    - G_WRITE_UNLOCK
    - g_getenv
    - G_N_ELEMENTS
    - G_WRITE_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void gobject_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:4497,1
    - Dst: g_message
      Src: /src/glib/gobject/gtype.c:4500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - debug_flags
    argTypes:
    - GTypeDebugFlags
    constantsTouched: []
    func_position:
      end: 4501
      start: 4493
    functionDepth: 0
    functionLinenumber: 4493
    functionLinenumberEnd: 4501
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2834,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gtype.c:2848,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2835,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: 2849
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2849
    functionName: g_type_register_static_simple
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_register_static
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_ANCESTOR
      Src: /src/glib/gobject/gtype.c:3586,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:3596,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:3590,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:3589,1
    - Dst: type_lookup_iface_vtable_I
      Src: /src/glib/gobject/gtype.c:3601,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3609,1
    - Dst: type_lookup_prerequisite_L
      Src: /src/glib/gobject/gtype.c:3610,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:3610,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3613,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: 3616
      start: 3575
    functionDepth: 0
    functionLinenumber: 3575
    functionLinenumberEnd: 3616
    functionName: type_node_check_conformities_UorL
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_TYPE
    - type_lookup_prerequisite_L
    - type_lookup_iface_entry_L
    - G_READ_LOCK
    - NODE_IS_ANCESTOR
    - type_lookup_iface_vtable_I
    - NODE_IS_IFACE
    - G_READ_UNLOCK
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF_BASE_TYPE_NODE
      Src: /src/glib/gobject/gtype.c:460,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:487,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:506,1
    - Dst: TRACE
      Src: /src/glib/gobject/gtype.c:533,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:493,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:503,1
    - Dst: GOBJECT_TYPE_NEW
      Src: /src/glib/gobject/gtype.c:533,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gtype.c:539,1
    - Dst: g_quark_to_string
      Src: /src/glib/gobject/gtype.c:542,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/gtype.c:545,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:470,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:462,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:465,1
    - Dst: memcpy
      Src: /src/glib/gobject/gtype.c:498,1
    - Dst: _g_atomic_array_update
      Src: /src/glib/gobject/gtype.c:523,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:513,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:523,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:529,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:489,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:476,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:490,1
    - Dst: _g_atomic_array_init
      Src: /src/glib/gobject/gtype.c:493,1
    - Dst: _g_atomic_array_copy
      Src: /src/glib/gobject/gtype.c:513,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:518,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gobject/gtype.c:541,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:505,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 89
    argCount: 5
    argNames:
    - pnode
    - ftype
    - name
    - plugin
    - type_flags
    argTypes:
    - TypeNode*
    - GType
    - gchar*
    - GTypePlugin*
    - GTypeFundamentalFlags
    constantsTouched: []
    func_position:
      end: 548
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 548
    functionName: type_node_any_new_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - _g_atomic_array_copy
    - g_hash_table_insert
    - g_quark_from_string
    - VALGRIND_MALLOCLIKE_BLOCK
    - SIZEOF_BASE_TYPE_NODE
    - g_malloc0
    - IFACE_NODE_PREREQUISITES
    - IFACE_NODE_N_PREREQUISITES
    - memcpy
    - g_quark_to_string
    - _g_atomic_array_init
    - g_atomic_int_inc
    - G_STRUCT_MEMBER_P
    - CLASSED_NODE_IFACES_ENTRIES
    - g_assert
    - IFACE_ENTRIES_N_ENTRIES
    - GOBJECT_TYPE_NEW
    - _g_atomic_array_update
    - TRACE
    - NODE_IS_IFACE
    - g_renew
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:4132,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/gtype.c:4135,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:4134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4137
      start: 4127
    functionDepth: 0
    functionLinenumber: 4127
    functionLinenumberEnd: 4137
    functionName: g_type_fundamental_next
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - G_READ_LOCK
    - G_READ_UNLOCK
    - G_TYPE_MAKE_FUNDAMENTAL
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_fundamental_next (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:553,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:556,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:555,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 559
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 559
    functionName: type_node_fundamental_info_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_TYPE
    - lookup_type_node_I
    - NODE_FUNDAMENTAL_TYPE
    - G_STRUCT_MEMBER_P
    linkageType: ''
    returnType: GTypeFundamentalInfo*
    signature: 'static inline GTypeFundamentalInfo *type_node_fundamental_info_I (TypeNode
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_node_check_conformities_UorL
      Src: /src/glib/gobject/gtype.c:3622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node
    - iface_node
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 3623
      start: 3618
    functionDepth: 0
    functionLinenumber: 3618
    functionLinenumberEnd: 3623
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:4087,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:4096,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gtype.c:4087,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4090,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4089,1
    - Dst: iface_node_get_holders_L
      Src: /src/glib/gobject/gtype.c:4098,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:4103,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:4108,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:4109,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4111,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - instance_type
    - interface_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 4114
      start: 4080
    functionDepth: 0
    functionLinenumber: 4080
    functionLinenumberEnd: 4114
    functionName: g_type_interface_get_plugin
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - G_READ_LOCK
    - g_critical
    - iface_node_get_holders_L
    - G_READ_UNLOCK
    - g_return_val_if_fail
    - G_TYPE_IS_INTERFACE
    linkageType: ''
    returnType: GTypePlugin*
    signature: "GTypePlugin *g_type_interface_get_plugin (GType instance_type,\t\t\t
      GType interface_type) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2759,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2761,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2760,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2762,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2781,1
    - Dst: type_node_fundamental_new_W
      Src: /src/glib/gobject/gtype.c:2790,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:2793,1
    - Dst: type_add_flags_W
      Src: /src/glib/gobject/gtype.c:2791,1
    - Dst: check_value_table_I
      Src: /src/glib/gobject/gtype.c:2795,1
    - Dst: check_type_name_I
      Src: /src/glib/gobject/gtype.c:2764,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2796,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:2784,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2789,1
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:2758,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2769,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2777,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2798,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2783,1
    - Dst: check_type_info_I
      Src: /src/glib/gobject/gtype.c:2793,1
    - Dst: type_data_make_W
      Src: /src/glib/gobject/gtype.c:2794,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: 2799
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2799
    functionName: g_type_register_fundamental
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - check_type_info_I
    - g_assert_type_system_initialized
    - NODE_TYPE
    - lookup_type_node_I
    - check_value_table_I
    - type_descriptive_name_I
    - type_add_flags_W
    - G_WRITE_UNLOCK
    - NODE_FUNDAMENTAL_TYPE
    - g_critical
    - check_type_name_I
    - type_node_fundamental_new_W
    - type_data_make_W
    - g_return_val_if_fail
    - G_WRITE_LOCK
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: iface_node_get_holders_L
      Src: /src/glib/gobject/gtype.c:1828,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1830,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1830,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1840,1
    - Dst: g_free
      Src: /src/glib/gobject/gtype.c:1837,1
    - Dst: g_type_plugin_unuse
      Src: /src/glib/gobject/gtype.c:1841,1
    - Dst: type_data_unref_U
      Src: /src/glib/gobject/gtype.c:1842,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:1843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - iface
    - instance_type
    argTypes:
    - TypeNode*
    - GType
    constantsTouched: []
    func_position:
      end: 1845
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1845
    functionName: type_iface_blow_holder_info_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - G_WRITE_UNLOCK
    - type_data_unref_U
    - iface_node_get_holders_L
    - NODE_IS_IFACE
    - g_type_plugin_unuse
    - G_WRITE_LOCK
    linkageType: ''
    returnType: void
    signature: "static void type_iface_blow_holder_info_Wm (TypeNode *iface,\t\t\t\tGType
      instance_type) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3302,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3304,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3307,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:3307,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3305,1
    - Dst: type_lookup_iface_vtable_I
      Src: /src/glib/gobject/gtype.c:3309,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3311,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - g_iface
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3314
      start: 3294
    functionDepth: 0
    functionLinenumber: 3294
    functionLinenumberEnd: 3314
    functionName: g_type_interface_peek_parent
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - g_critical
    - g_return_val_if_fail
    - type_lookup_iface_vtable_I
    - NODE_PARENT_TYPE
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_interface_peek_parent (gpointer g_iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:5112,1
    - Dst: g_error
      Src: /src/glib/gobject/gtype.c:5113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 5114
      start: 5105
    functionDepth: 0
    functionLinenumber: 5105
    functionLinenumberEnd: 5114
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gobject/gtype.c:1856,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gtype.c:1858,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gtype.c:1872,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gtype.c:1869,1
    - Dst: g_once_init_leave
      Src: /src/glib/gobject/gtype.c:1863,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtype.c:1874,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gobject/gtype.c:1876,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gtype.c:1878,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gtype.c:1880,1
    - Dst: g_warning
      Src: /src/glib/gobject/gtype.c:1883,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 1886
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1886
    functionName: maybe_issue_deprecation_warning
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_hash_table_add
    - g_once_init_enter
    - g_warning
    - g_hash_table_new
    - g_type_name
    - g_mutex_unlock
    - g_getenv
    - g_once_init_leave
    - g_hash_table_contains
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void maybe_issue_deprecation_warning (GType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gobject_init
      Src: /src/glib/gobject/gtype.c:4626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4628
      start: 4618
    functionDepth: 0
    functionLinenumber: 4618
    functionLinenumberEnd: 4628
    functionName: gobject_win32_init
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - gobject_init
    linkageType: ''
    returnType: void
    signature: 'void gobject_win32_init (void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: type_node_fundamental_info_I
      Src: /src/glib/gobject/gtype.c:923,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:926,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:935,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:923,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:933,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:937,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:947,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:949,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:951,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:958,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:973,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:994,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:976,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:985,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:967,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:991,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 54
    argCount: 4
    argNames:
    - pnode
    - ftype
    - type_name
    - info
    argTypes:
    - TypeNode*
    - GType
    - gchar*
    - GTypeInfo*
    constantsTouched: []
    func_position:
      end: 1000
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 1000
    functionName: check_type_info_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - g_assert
    - type_node_fundamental_info_I
    - g_critical
    - NODE_NAME
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:1302,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gobject/gtype.c:1306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 1309
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1309
    functionName: type_data_ref_U
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange
    - NODE_REFCOUNT
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean type_data_ref_U (TypeNode *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: type_iface_retrieve_holder_info_Wm
      Src: /src/glib/gobject/gtype.c:2130,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2138,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:2136,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2130,1
    - Dst: type_iface_ensure_dflt_vtable_Wm
      Src: /src/glib/gobject/gtype.c:2134,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2142,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2142,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:2145,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtype.c:2148,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtype.c:2151,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2154,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2158,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2153,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2160,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - iface
    - node
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 2163
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2163
    functionName: type_iface_vtable_base_init_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_iface_retrieve_holder_info_Wm
    - NODE_TYPE
    - lookup_type_node_I
    - g_assert
    - type_iface_ensure_dflt_vtable_Wm
    - type_lookup_iface_entry_L
    - G_WRITE_UNLOCK
    - g_memdup2
    - NODE_PARENT_TYPE
    - G_WRITE_LOCK
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean type_iface_vtable_base_init_Wm (TypeNode *iface,\t\t\t\tTypeNode
      *node) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3828,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:3832,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3837,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3833,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - type
    - quark
    argTypes:
    - GType
    - GQuark
    constantsTouched: []
    func_position:
      end: 3841
      start: 3821
    functionDepth: 0
    functionLinenumber: 3821
    functionLinenumberEnd: 3841
    functionName: g_type_get_qdata
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - G_READ_LOCK
    - type_get_qdata_L
    - g_return_val_if_fail
    - G_READ_UNLOCK
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_type_get_qdata (GType type,\t\t GQuark quark) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 4065
      start: 4057
    functionDepth: 0
    functionLinenumber: 4057
    functionLinenumberEnd: 4065
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:1009,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1013,1
    - Dst: find_conforming_child_type_L
      Src: /src/glib/gobject/gtype.c:1013,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pnode
    - iface
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1016
    functionName: find_conforming_child_type_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_lookup_iface_entry_L
    - lookup_type_node_I
    - 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: G_ATOMIC_ARRAY_GET_LOCKED
      Src: /src/glib/gobject/gtype.c:1318,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gtype.c:1322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - iface_node
    - offset
    - for_index
    argTypes:
    - TypeNode*
    - gsize
    - int
    constantsTouched: []
    func_position:
      end: 1330
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1330
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/gtype.c:3854,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:3868,1
    - Dst: memmove
      Src: /src/glib/gobject/gtype.c:3873,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - node
    - quark
    - data
    argTypes:
    - TypeNode*
    - GQuark
    - gpointer
    constantsTouched: []
    func_position:
      end: 3876
      start: 3843
    functionDepth: 0
    functionLinenumber: 3843
    functionLinenumberEnd: 3876
    functionName: type_set_qdata_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_renew
    - memmove
    - g_new0
    linkageType: ''
    returnType: void
    signature: "static inline void type_set_qdata_W (TypeNode *node,\t\t GQuark quark,\t\t
      gpointer data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2090,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:2094,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2096,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2101,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 2109
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2109
    functionName: type_iface_ensure_dflt_vtable_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_TYPE
    - g_assert
    - g_malloc0
    - G_WRITE_UNLOCK
    - G_WRITE_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void type_iface_ensure_dflt_vtable_Wm (TypeNode *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:3343,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3349,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:3347,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3345,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:3346,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3350,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3351,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3357,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gtype.c:3358,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:3359,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:3366,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3369,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:3361,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gtype.c:3363,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3360,1
    - Dst: type_iface_ensure_dflt_vtable_Wm
      Src: /src/glib/gobject/gtype.c:3362,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - g_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3372
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3372
    functionName: g_type_default_interface_ref
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - lookup_type_node_I
    - type_iface_ensure_dflt_vtable_Wm
    - type_descriptive_name_I
    - G_WRITE_UNLOCK
    - g_rec_mutex_unlock
    - g_critical
    - type_data_ref_Wm
    - NODE_IS_IFACE
    - NODE_REFCOUNT
    - G_WRITE_LOCK
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_default_interface_ref (GType g_type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4004,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:4035,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:4036,1
    - Dst: type_node_fundamental_info_I
      Src: /src/glib/gobject/gtype.c:4026,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gtype.c:4036,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:4037,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - type
    - flags
    argTypes:
    - GType
    - guint
    constantsTouched: []
    func_position:
      end: 4046
      start: 3997
    functionDepth: 0
    functionLinenumber: 3997
    functionLinenumberEnd: 4046
    functionName: g_type_test_flags
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - GPOINTER_TO_UINT
    - G_READ_LOCK
    - type_node_fundamental_info_I
    - type_get_qdata_L
    - G_READ_UNLOCK
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_type_test_flags (GType type,\t\t guint flags) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3004,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3005,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gtype.c:3004,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3007,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gtype.c:3005,1
    - Dst: check_plugin_U
      Src: /src/glib/gobject/gtype.c:3008,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:3008,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gtype.c:3012,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:3013,1
    - Dst: check_add_interface_L
      Src: /src/glib/gobject/gtype.c:3014,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3016,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3019,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gtype.c:3020,1
    - Dst: type_add_interface_Wm
      Src: /src/glib/gobject/gtype.c:3017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - instance_type
    - interface_type
    - plugin
    argTypes:
    - GType
    - GType
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 3021
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3021
    functionName: g_type_add_interface_dynamic
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - check_plugin_U
    - lookup_type_node_I
    - G_WRITE_UNLOCK
    - g_rec_mutex_unlock
    - type_add_interface_Wm
    - G_TYPE_IS_INSTANTIATABLE
    - g_rec_mutex_lock
    - g_type_parent
    - check_add_interface_L
    - G_WRITE_LOCK
    - NODE_NAME
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - utype
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2634,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2636,1
    - Dst: memmove
      Src: /src/glib/gobject/gtype.c:2642,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2649,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:2645,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - cache_data
    - cache_func
    argTypes:
    - gpointer
    - GTypeClassCacheFunc
    constantsTouched: []
    func_position:
      end: 2654
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2654
    functionName: g_type_remove_class_cache_func
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - G_WRITE_UNLOCK
    - G_WRITE_LOCK
    - g_critical
    - memmove
    - g_renew
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_remove_class_cache_func (gpointer cache_data,\t\t\t\tGTypeClassCacheFunc
      cache_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3947,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3955,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:3959,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:3958,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3951,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3963,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - type
    - query
    argTypes:
    - GType
    - GTypeQuery*
    constantsTouched: []
    func_position:
      end: 3965
      start: 3941
    functionDepth: 0
    functionLinenumber: 3941
    functionLinenumberEnd: 3965
    functionName: g_type_query
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_TYPE
    - lookup_type_node_I
    - G_READ_LOCK
    - G_READ_UNLOCK
    - NODE_NAME
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_query (GType type,\t GTypeQuery *query) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4289,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4298,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4295,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4294,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - type_instance
    argTypes:
    - GTypeInstance*
    constantsTouched: []
    func_position:
      end: 4304
      start: 4279
    functionDepth: 0
    functionLinenumber: 4279
    functionLinenumberEnd: 4304
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4877,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:4887,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:4880,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4893,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4894,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4899,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4901,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4901,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4904,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:4910,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:4912,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4913,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:4918,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - g_class
    - private_size_or_offset
    argTypes:
    - gpointer
    - gint*
    constantsTouched: []
    func_position:
      end: 4919
      start: 4872
    functionDepth: 0
    functionLinenumber: 4872
    functionLinenumberEnd: 4919
    functionName: g_type_class_adjust_private_offset
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - g_assert
    - type_descriptive_name_I
    - G_WRITE_UNLOCK
    - g_critical
    - ALIGN_STRUCT
    - NODE_PARENT_TYPE
    - G_WRITE_LOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_class_adjust_private_offset (gpointer g_class, gint *private_size_or_offset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4313,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gtype.c:4323,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:4321,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:4317,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:4323,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:4324,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:4328,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:4330,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4331,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4336,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:4342,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 4345
      start: 4306
    functionDepth: 0
    functionLinenumber: 4306
    functionLinenumberEnd: 4345
    functionName: type_check_is_value_type_U
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - GPOINTER_TO_UINT
    - G_READ_UNLOCK
    - G_READ_LOCK
    - type_get_qdata_L
    - NODE_IS_IFACE
    - IFACE_NODE_PREREQUISITES
    - NODE_REFCOUNT
    - IFACE_NODE_N_PREREQUISITES
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean type_check_is_value_type_U (GType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4819,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4827,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4826,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:4822,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:4821,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4833,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4834,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - class_gtype
    - private_size
    argTypes:
    - GType
    - gsize
    constantsTouched: []
    func_position:
      end: 4869
      start: 4815
    functionDepth: 0
    functionLinenumber: 4815
    functionLinenumberEnd: 4869
    functionName: g_type_add_instance_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_descriptive_name_I
    - g_return_val_if_fail
    - lookup_type_node_I
    - g_critical
    linkageType: ''
    returnType: gint
    signature: 'gint g_type_add_instance_private (GType class_gtype, gsize private_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3106,1
    - Dst: type_data_unref_U
      Src: /src/glib/gobject/gtype.c:3110,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:3109,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3108,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3112,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3114
      start: 3100
    functionDepth: 0
    functionLinenumber: 3100
    functionLinenumberEnd: 3114
    functionName: g_type_class_unref
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_descriptive_name_I
    - type_data_unref_U
    - g_critical
    - NODE_REFCOUNT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_class_unref (gpointer g_class) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1036,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1055,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:1060,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1061,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1076,1
    - Dst: type_node_is_a_L
      Src: /src/glib/gobject/gtype.c:1085,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1090,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1023,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1038,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1040,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1049,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1050,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1054,1
    - Dst: type_iface_peek_holder_L
      Src: /src/glib/gobject/gtype.c:1061,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1075,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1078,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1084,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1022,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1033,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1039,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1045,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1053,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1056,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1046,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1081,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1087,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1089,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1032,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1046,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1049,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:1050,1
    - Dst: find_conforming_child_type_L
      Src: /src/glib/gobject/gtype.c:1072,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1077,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1082,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1088,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - instance_type
    - iface_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 1095
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1095
    functionName: check_add_interface_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - IFACE_NODE_N_PREREQUISITES
    - type_iface_peek_holder_L
    - NODE_TYPE
    - lookup_type_node_I
    - type_descriptive_name_I
    - type_lookup_iface_entry_L
    - find_conforming_child_type_L
    - g_critical
    - NODE_IS_IFACE
    - type_node_is_a_L
    - IFACE_NODE_PREREQUISITES
    - NODE_PARENT_TYPE
    - NODE_NAME
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_add_interface_L (GType instance_type,\t\t GType
      iface_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:3448,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:3452,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3453
      start: 3443
    functionDepth: 0
    functionLinenumber: 3443
    functionLinenumberEnd: 3453
    functionName: g_type_name
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert_type_system_initialized
    - lookup_type_node_I
    - NODE_NAME
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_type_name (GType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1104,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1105,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - iface
    - instance_type
    - info
    argTypes:
    - TypeNode*
    - GType
    - GInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1111
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2681,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2683,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2688,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:2685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - check_data
    - check_func
    argTypes:
    - gpointer
    - GTypeInterfaceCheckFunc
    constantsTouched: []
    func_position:
      end: 2689
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2689
    functionName: g_type_add_interface_check
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_renew
    - G_WRITE_UNLOCK
    - G_WRITE_LOCK
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3987,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:3990,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3994
      start: 3981
    functionDepth: 0
    functionLinenumber: 3981
    functionLinenumberEnd: 3994
    functionName: g_type_get_instance_count
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - lookup_type_node_I
    linkageType: ''
    returnType: int
    signature: 'int g_type_get_instance_count (GType type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3045,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3049,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3048,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gtype.c:3053,1
    - Dst: type_data_ref_U
      Src: /src/glib/gobject/gtype.c:3053,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gtype.c:3055,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:3055,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gtype.c:3067,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:3070,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gtype.c:3071,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:3076,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gtype.c:3084,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:3073,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gtype.c:3086,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3081,1
    - Dst: type_class_init_Wm
      Src: /src/glib/gobject/gtype.c:3079,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3089
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3089
    functionName: g_type_class_ref
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_descriptive_name_I
    - G_WRITE_LOCK
    - G_WRITE_UNLOCK
    - g_type_class_unref
    - g_rec_mutex_unlock
    - g_critical
    - g_atomic_int_get
    - type_data_ref_Wm
    - type_class_init_Wm
    - g_rec_mutex_lock
    - g_type_class_ref
    - NODE_PARENT_TYPE
    - type_data_ref_U
    - G_LIKELY
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_class_ref (GType type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1462,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:1485,1
    - Dst: _g_atomic_array_update
      Src: /src/glib/gobject/gtype.c:1485,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1406,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1429,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1413,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:1444,1
    - Dst: find_free_iface_offset_L
      Src: /src/glib/gobject/gtype.c:1474,1
    - Dst: type_node_add_iface_entry_W
      Src: /src/glib/gobject/gtype.c:1490,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1479,1
    - Dst: iface_node_set_offset_L
      Src: /src/glib/gobject/gtype.c:1468,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1490,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:1411,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:1408,1
    - Dst: _g_atomic_array_copy
      Src: /src/glib/gobject/gtype.c:1441,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:1454,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:1441,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:1475,1
    - Dst: iface_node_set_offset_L
      Src: /src/glib/gobject/gtype.c:1480,1
    - Dst: iface_node_has_available_offset_L
      Src: /src/glib/gobject/gtype.c:1464,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 3
    argNames:
    - node
    - iface_type
    - parent_entry
    argTypes:
    - TypeNode*
    - GType
    - IFaceEntry*
    constantsTouched: []
    func_position:
      end: 1492
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1492
    functionName: type_node_add_iface_entry_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - CLASSED_NODE_IFACES_ENTRIES
    - _g_atomic_array_copy
    - g_assert
    - IFACE_ENTRIES_N_ENTRIES
    - g_atomic_int_get
    - find_free_iface_offset_L
    - iface_node_has_available_offset_L
    - _g_atomic_array_update
    - type_node_add_iface_entry_W
    - iface_node_set_offset_L
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    linkageType: ''
    returnType: void
    signature: "static void type_node_add_iface_entry_W (TypeNode *node,\t\t\t GType
      iface_type, IFaceEntry *parent_entry) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3681,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3694,1
    - Dst: memcpy
      Src: /src/glib/gobject/gtype.c:3689,1
    - Dst: g_new
      Src: /src/glib/gobject/gtype.c:3687,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3686,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - type
    - n_children
    argTypes:
    - GType
    - guint*
    constantsTouched: []
    func_position:
      end: 3705
      start: 3675
    functionDepth: 0
    functionLinenumber: 3675
    functionLinenumberEnd: 3705
    functionName: g_type_children
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - memcpy
    - lookup_type_node_I
    - G_READ_LOCK
    - g_new
    - G_READ_UNLOCK
    linkageType: ''
    returnType: GType*
    signature: "GType *g_type_children (GType type,\t\t guint *n_children) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4215,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4223,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4224,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4217,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:4218,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4225,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4227,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4228,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4229,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4232,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - type_instance
    - iface_type
    argTypes:
    - GTypeInstance*
    - GType
    constantsTouched: []
    func_position:
      end: 4237
      start: 4204
    functionDepth: 0
    functionLinenumber: 4204
    functionLinenumberEnd: 4237
    functionName: g_type_check_instance_cast
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_descriptive_name_I
    - lookup_type_node_I
    - type_node_conforms_to_U
    - g_critical
    linkageType: ''
    returnType: GTypeInstance*
    signature: "GTypeInstance *g_type_check_instance_cast (GTypeInstance *type_instance,\t\t\t
      GType iface_type) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4383,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:4398,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:4389,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:4386,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:4392,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:4402,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:4404,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4405,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4410,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:4417,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4423,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4426,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4425,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 4429
      start: 4379
    functionDepth: 0
    functionLinenumber: 4379
    functionLinenumberEnd: 4429
    functionName: g_type_value_table_peek
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - G_READ_UNLOCK
    - type_descriptive_name_I
    - G_READ_LOCK
    - g_critical
    - NODE_IS_IFACE
    - IFACE_NODE_PREREQUISITES
    - NODE_REFCOUNT
    - IFACE_NODE_N_PREREQUISITES
    linkageType: ''
    returnType: GTypeValueTable*
    signature: 'GTypeValueTable *g_type_value_table_peek (GType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_name_from_class
      Src: /src/glib/gobject/gtype.c:4437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - instance
    argTypes:
    - GTypeInstance*
    constantsTouched: []
    func_position:
      end: 4438
      start: 4431
    functionDepth: 0
    functionLinenumber: 4431
    functionLinenumberEnd: 4438
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - GType
    - gpointer
    constantsTouched: []
    func_position:
      end: 4457
      start: 4451
    functionDepth: 0
    functionLinenumber: 4451
    functionLinenumberEnd: 4457
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4964,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4970,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4972,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4969,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4967,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4974,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4974,1
    - Dst: g_error
      Src: /src/glib/gobject/gtype.c:4982,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtype.c:4983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4986
      start: 4957
    functionDepth: 0
    functionLinenumber: 4957
    functionLinenumberEnd: 4986
    functionName: g_type_class_get_instance_private_offset
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - g_assert
    - g_error
    - g_type_name
    - NODE_PARENT_TYPE
    linkageType: ''
    returnType: gint
    signature: 'gint g_type_class_get_instance_private_offset (gpointer g_class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/gtype.c:1500,1
    - Dst: iface_node_get_holders_L
      Src: /src/glib/gobject/gtype.c:1506,1
    - Dst: iface_node_set_holders_W
      Src: /src/glib/gobject/gtype.c:1507,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1504,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1504,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1508,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtype.c:1509,1
    - Dst: type_node_add_iface_entry_W
      Src: /src/glib/gobject/gtype.c:1513,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1513,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:1520,1
    - Dst: type_iface_vtable_base_init_Wm
      Src: /src/glib/gobject/gtype.c:1523,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1532,1
    - Dst: type_iface_vtable_iface_init_Wm
      Src: /src/glib/gobject/gtype.c:1526,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1532,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:1530,1
    - Dst: type_node_add_iface_entry_W
      Src: /src/glib/gobject/gtype.c:1532,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - node
    - iface
    - info
    - plugin
    argTypes:
    - TypeNode*
    - TypeNode*
    - GInterfaceInfo*
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 1533
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1533
    functionName: type_add_interface_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_TYPE
    - lookup_type_node_I
    - g_new0
    - type_iface_vtable_base_init_Wm
    - type_iface_vtable_iface_init_Wm
    - g_assert
    - type_lookup_iface_entry_L
    - g_memdup2
    - g_atomic_int_get
    - iface_node_set_holders_W
    - type_node_add_iface_entry_W
    - iface_node_get_holders_L
    - NODE_IS_IFACE
    linkageType: ''
    returnType: void
    signature: 'static void type_add_interface_Wm (TypeNode *node, TypeNode *iface,
      const GInterfaceInfo *info, GTypePlugin *plugin) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - node
    - quark
    argTypes:
    - TypeNode*
    - GQuark
    constantsTouched: []
    func_position:
      end: 3805
      start: 3774
    functionDepth: 0
    functionLinenumber: 3774
    functionLinenumberEnd: 3805
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4248,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4257,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4256,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:4251,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4250,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4258,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4260,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4261,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4262,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4265,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4266,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - type_class
    - is_a_type
    argTypes:
    - GTypeClass*
    - GType
    constantsTouched: []
    func_position:
      end: 4268
      start: 4239
    functionDepth: 0
    functionLinenumber: 4239
    functionLinenumberEnd: 4268
    functionName: g_type_check_class_cast
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_descriptive_name_I
    - lookup_type_node_I
    - type_node_conforms_to_U
    - g_critical
    linkageType: ''
    returnType: GTypeClass*
    signature: "GTypeClass *g_type_check_class_cast (GTypeClass *type_class,\t\t\t
      GType is_a_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_name
      Src: /src/glib/gobject/gtype.c:4446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - GTypeClass*
    constantsTouched: []
    func_position:
      end: 4447
      start: 4440
    functionDepth: 0
    functionLinenumber: 4440
    functionLinenumberEnd: 4447
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - GType
    - gpointer
    constantsTouched: []
    func_position:
      end: 4465
      start: 4459
    functionDepth: 0
    functionLinenumber: 4459
    functionLinenumberEnd: 4465
    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:4679,1
    - Dst: gobject_win32_init
      Src: /src/glib/gobject/gtype.c:4680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4681
      start: 4662
    functionDepth: 0
    functionLinenumber: 4662
    functionLinenumberEnd: 4681
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_check_is_value_type_U
      Src: /src/glib/gobject/gtype.c:4363,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gtype.c:4363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - value
    - type
    argTypes:
    - GValue*
    - GType
    constantsTouched: []
    func_position:
      end: 4364
      start: 4359
    functionDepth: 0
    functionLinenumber: 4359
    functionLinenumberEnd: 4364
    functionName: g_type_check_value_holds
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_check_is_value_type_U
    - g_type_is_a
    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:4927,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4929,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:4930,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4933,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - instance
    - private_type
    argTypes:
    - GTypeInstance*
    - GType
    constantsTouched: []
    func_position:
      end: 4938
      start: 4921
    functionDepth: 0
    functionLinenumber: 4921
    functionLinenumberEnd: 4938
    functionName: g_type_instance_get_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - G_UNLIKELY
    - type_descriptive_name_I
    - g_critical
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_type_instance_get_private (GTypeInstance *instance,\t\t\t
      GType private_type) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:2261,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2265,1
    - Dst: memcpy
      Src: /src/glib/gobject/gtype.c:2271,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:2272,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2290,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:2272,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:2377,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2390,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2399,1
    - Dst: type_iface_vtable_iface_init_Wm
      Src: /src/glib/gobject/gtype.c:2390,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:2263,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2283,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gtype.c:2292,1
    - Dst: class_init_base
      Src: /src/glib/gobject/gtype.c:2297,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:2272,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2308,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:2311,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2333,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2336,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2361,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2312,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2325,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2387,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2256,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2290,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2315,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2322,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:2328,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2359,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2366,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2368,1
    - Dst: type_iface_vtable_base_init_Wm
      Src: /src/glib/gobject/gtype.c:2325,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2380,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2347,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:2259,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:2261,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2269,1
    - Dst: memcpy
      Src: /src/glib/gobject/gtype.c:2272,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:2272,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2285,1
    - Dst: g_slist_free
      Src: /src/glib/gobject/gtype.c:2299,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2301,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2303,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2308,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 2
    argNames:
    - node
    - pclass
    argTypes:
    - TypeNode*
    - GTypeClass*
    constantsTouched: []
    func_position:
      end: 2400
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2400
    functionName: type_class_init_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    - lookup_type_node_I
    - type_iface_vtable_iface_init_Wm
    - type_iface_vtable_base_init_Wm
    - g_malloc0
    - class_init_base
    - g_atomic_int_get
    - g_slist_prepend
    - memcpy
    - ALIGN_STRUCT
    - g_slist_free
    - NODE_PARENT_TYPE
    - G_STRUCT_MEMBER_P
    - NODE_TYPE
    - g_assert
    - IFACE_ENTRIES_N_ENTRIES
    - G_WRITE_UNLOCK
    - g_atomic_int_set
    - G_WRITE_LOCK
    linkageType: ''
    returnType: void
    signature: "static void type_class_init_Wm (TypeNode *node,\t\t GTypeClass *pclass) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:739,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtype.c:749,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:745,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:751,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtype.c:743,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtype.c:755,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:757,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: 762
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 762
    functionName: check_plugin_U
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - G_TYPE_PLUGIN_GET_CLASS
    - G_IS_TYPE_PLUGIN
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gtype.c:850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - collect_format
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 853
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 853
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:1554,1
    - Dst: memmove
      Src: /src/glib/gobject/gtype.c:1558,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1559,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1557,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1543,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:1568,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1569,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1556,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1539,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1544,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1545,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1547,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1555,1
    - Dst: iface_node_get_dependants_array_L
      Src: /src/glib/gobject/gtype.c:1565,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1563,1
    - Dst: iface_node_set_dependants_array_W
      Src: /src/glib/gobject/gtype.c:1571,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1543,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1548,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1554,1
    - Dst: iface_node_get_dependants_array_L
      Src: /src/glib/gobject/gtype.c:1575,1
    - Dst: type_iface_add_prerequisite_W
      Src: /src/glib/gobject/gtype.c:1578,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1578,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1553,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - iface
    - prerequisite_node
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 1579
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1579
    functionName: type_iface_add_prerequisite_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_TYPE
    - lookup_type_node_I
    - g_assert
    - iface_node_set_dependants_array_W
    - memmove
    - type_iface_add_prerequisite_W
    - NODE_IS_IFACE
    - iface_node_get_dependants_array_L
    - IFACE_NODE_PREREQUISITES
    - g_renew
    - IFACE_NODE_N_PREREQUISITES
    linkageType: ''
    returnType: void
    signature: "static void type_iface_add_prerequisite_W (TypeNode *iface,\t\t\t
      TypeNode *prerequisite_node) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3191,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:3192,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:3194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3201
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3201
    functionName: g_type_class_peek_static
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - NODE_REFCOUNT
    - lookup_type_node_I
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_class_peek_static (GType type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:867,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:894,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:888,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:882,1
    - Dst: check_collect_format_I
      Src: /src/glib/gobject/gtype.c:892,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:902,1
    - Dst: check_collect_format_I
      Src: /src/glib/gobject/gtype.c:906,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:908,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 2
    argNames:
    - type_name
    - value_table
    argTypes:
    - gchar*
    - GTypeValueTable*
    constantsTouched: []
    func_position:
      end: 915
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 915
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2408,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:2411,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2412,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:2408,1
    - Dst: type_iface_vtable_finalize_Wm
      Src: /src/glib/gobject/gtype.c:2417,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2417,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 2432
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2432
    functionName: type_data_finalize_class_ifaces_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - g_assert
    - IFACE_ENTRIES_N_ENTRIES
    - NODE_REFCOUNT
    - type_iface_vtable_finalize_Wm
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    linkageType: ''
    returnType: void
    signature: 'static void type_data_finalize_class_ifaces_Wm (TypeNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:719,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 725
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3161,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:3163,1
    - Dst: NODE_REFCOUNT
      Src: /src/glib/gobject/gtype.c:3162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3170
      start: 3155
    functionDepth: 0
    functionLinenumber: 3155
    functionLinenumberEnd: 3170
    functionName: g_type_class_peek
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - NODE_REFCOUNT
    - lookup_type_node_I
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_class_peek (GType type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3725,1
    - Dst: g_new
      Src: /src/glib/gobject/gtype.c:3736,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:3733,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:3736,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3732,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:3737,1
    - Dst: g_new
      Src: /src/glib/gobject/gtype.c:3742,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3749,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - type
    - n_interfaces
    argTypes:
    - GType
    - guint*
    constantsTouched: []
    func_position:
      end: 3760
      start: 3719
    functionDepth: 0
    functionLinenumber: 3719
    functionLinenumberEnd: 3760
    functionName: g_type_interfaces
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - IFACE_ENTRIES_N_ENTRIES
    - G_READ_LOCK
    - g_new
    - G_READ_UNLOCK
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    linkageType: ''
    returnType: GType*
    signature: "GType *g_type_interfaces (GType type,\t\t guint *n_interfaces) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2967,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gtype.c:2967,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gtype.c:2968,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gtype.c:2974,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2968,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2975,1
    - Dst: check_add_interface_L
      Src: /src/glib/gobject/gtype.c:2976,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2978,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2979,1
    - Dst: check_interface_info_I
      Src: /src/glib/gobject/gtype.c:2980,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2980,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2983,1
    - Dst: type_add_interface_Wm
      Src: /src/glib/gobject/gtype.c:2981,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gtype.c:2984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - instance_type
    - interface_type
    - info
    argTypes:
    - GType
    - GType
    - GInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 2985
      start: 2961
    functionDepth: 0
    functionLinenumber: 2961
    functionLinenumberEnd: 2985
    functionName: g_type_add_interface_static
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_TYPE
    - lookup_type_node_I
    - check_interface_info_I
    - G_WRITE_UNLOCK
    - g_rec_mutex_unlock
    - type_add_interface_Wm
    - G_TYPE_IS_INSTANTIATABLE
    - g_rec_mutex_lock
    - g_type_parent
    - check_add_interface_L
    - G_WRITE_LOCK
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_check_is_value_type_U
      Src: /src/glib/gobject/gtype.c:4350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 4351
      start: 4347
    functionDepth: 0
    functionLinenumber: 4347
    functionLinenumberEnd: 4351
    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:4356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4357
      start: 4353
    functionDepth: 0
    functionLinenumber: 4353
    functionLinenumberEnd: 4357
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: gobject_init
      Src: /src/glib/gobject/gtype.c:4698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4699
      start: 4693
    functionDepth: 0
    functionLinenumber: 4693
    functionLinenumberEnd: 4699
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gtype.c:1601,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1603,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1604,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1607,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1616,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1609,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1634,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1644,1
    - Dst: type_iface_add_prerequisite_W
      Src: /src/glib/gobject/gtype.c:1654,1
    - Dst: type_iface_add_prerequisite_W
      Src: /src/glib/gobject/gtype.c:1655,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gtype.c:1600,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:1600,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1605,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1608,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1630,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1635,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1638,1
    - Dst: type_iface_add_prerequisite_W
      Src: /src/glib/gobject/gtype.c:1644,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1656,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1661,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1663,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1660,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1653,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gtype.c:1599,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1619,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:1612,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1628,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1630,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1637,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1652,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1662,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1654,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:1599,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:1601,1
    - Dst: iface_node_get_holders_L
      Src: /src/glib/gobject/gtype.c:1613,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1620,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1618,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1617,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1636,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1638,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1645,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1647,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 2
    argNames:
    - interface_type
    - prerequisite_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 1665
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1665
    functionName: g_type_interface_add_prerequisite
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - IFACE_NODE_N_PREREQUISITES
    - NODE_TYPE
    - lookup_type_node_I
    - type_descriptive_name_I
    - G_WRITE_UNLOCK
    - g_critical
    - type_iface_add_prerequisite_W
    - g_type_is_a
    - iface_node_get_holders_L
    - NODE_IS_IFACE
    - IFACE_NODE_PREREQUISITES
    - G_WRITE_LOCK
    - G_TYPE_IS_INTERFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_interface_add_prerequisite (GType interface_type,\t\t\t\t
      GType prerequisite_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:2930,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2931,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2932,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2933,1
    - Dst: check_type_name_I
      Src: /src/glib/gobject/gtype.c:2935,1
    - Dst: check_derivation_I
      Src: /src/glib/gobject/gtype.c:2936,1
    - Dst: check_plugin_U
      Src: /src/glib/gobject/gtype.c:2937,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2940,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2941,1
    - Dst: type_node_new_W
      Src: /src/glib/gobject/gtype.c:2942,1
    - Dst: type_add_flags_W
      Src: /src/glib/gobject/gtype.c:2943,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2944,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2945,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: 2948
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2948
    functionName: g_type_register_dynamic
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert_type_system_initialized
    - check_plugin_U
    - lookup_type_node_I
    - NODE_TYPE
    - type_add_flags_W
    - G_WRITE_UNLOCK
    - check_type_name_I
    - type_node_new_W
    - check_derivation_I
    - g_return_val_if_fail
    - G_WRITE_LOCK
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_ATOMIC_ARRAY_DO_TRANSACTION
      Src: /src/glib/gobject/gtype.c:611,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:629,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:626,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gtype.c:618,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - entries
    - iface_node
    argTypes:
    - IFaceEntries*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 637
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 637
    functionName: lookup_iface_entry_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - IFACE_ENTRIES_N_ENTRIES
    - NODE_TYPE
    - G_ATOMIC_ARRAY_DATA_SIZE
    - G_ATOMIC_ARRAY_DO_TRANSACTION
    linkageType: ''
    returnType: IFaceEntry*
    signature: 'static inline IFaceEntry *lookup_iface_entry_I (IFaceEntries *entries,
      TypeNode *iface_node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/gtype.c:2001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2002
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4183,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:4184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - type_instance
    - fundamental_type
    argTypes:
    - GTypeInstance*
    - GType
    constantsTouched: []
    func_position:
      end: 4185
      start: 4176
    functionDepth: 0
    functionLinenumber: 4176
    functionLinenumberEnd: 4185
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:643,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:646,1
    - Dst: lookup_iface_entry_I
      Src: /src/glib/gobject/gtype.c:646,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - node
    - iface_node
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 648
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 648
    functionName: type_lookup_iface_entry_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_iface_entry_I
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    - NODE_IS_IFACE
    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: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4197,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4198,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:4199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - type_class
    - is_a_type
    argTypes:
    - GTypeClass*
    - GType
    constantsTouched: []
    func_position:
      end: 4202
      start: 4187
    functionDepth: 0
    functionLinenumber: 4187
    functionLinenumberEnd: 4202
    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:
    - 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_slist_free
    - g_slice_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_UNLIKELY
      Src: /src/glib/gobject/gobjectnotifyqueue.c:113,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:110,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobjectnotifyqueue.c:108,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobjectnotifyqueue.c:108,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_UNLOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:134,1
    - Dst: g_free
      Src: /src/glib/gobject/gobjectnotifyqueue.c:138,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobjectnotifyqueue.c:132,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_UNLIKELY
    - g_free
    - G_LOCK
    - g_datalist_id_set_data
    - G_UNLOCK
    - g_new
    - g_critical
    - g_atomic_int_get
    - G_OBJECT_TYPE_NAME
    - g_return_if_fail
    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: 2
    argNames:
    - object
    - context
    argTypes:
    - GObject*
    - GObjectNotifyContext*
    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:
    - object
    - 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_slist_free
    - G_UNLOCK
    - G_LOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static inline void g_object_notify_queue_clear (GObject *object,\t\t\t
      GObjectNotifyQueue *nqueue) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:76,1
    - Dst: g_slice_new0
      Src: /src/glib/gobject/gobjectnotifyqueue.c:80,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobjectnotifyqueue.c:82,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobjectnotifyqueue.c:87,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobjectnotifyqueue.c:77,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: 2
    argNames:
    - object
    - context
    argTypes:
    - GObject*
    - GObjectNotifyContext*
    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_datalist_id_get_data
    - G_LOCK
    - G_UNLOCK
    - g_critical
    - G_OBJECT_TYPE_NAME
    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_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_return_if_fail
      Src: /src/glib/gobject/gobjectnotifyqueue.c:167,1
    - Dst: g_slist_find
      Src: /src/glib/gobject/gobjectnotifyqueue.c:174,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - object
    - 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_param_spec_get_redirect_target
    - g_slist_find
    - G_LOCK
    - G_UNLOCK
    - g_slist_prepend
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static inline void g_object_notify_queue_add (GObject *object,\t\t\t
      GObjectNotifyQueue *nqueue,\t\t\t GParamSpec\t *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:564,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gparam.c:567,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:564,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pspec
    - quark
    - data
    - destroy
    argTypes:
    - GParamSpec*
    - GQuark
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: g_param_spec_set_qdata_full
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_PARAM_SPEC
    - g_datalist_id_set_data_full
    - 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:
    - 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:666,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:665,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:664,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:665,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:666,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:668,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:668,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:669,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:670,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparam.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 674
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 674
    functionName: g_param_value_defaults
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_VALUE
    - g_value_init
    - G_PARAM_SPEC_GET_CLASS
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - g_value_unset
    - G_PARAM_SPEC_VALUE_TYPE
    - PSPEC_APPLIES_TO_VALUE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_param_value_defaults (GParamSpec *pspec,\t\t\tconst GValue
      *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: should_list_pspec
      Src: /src/glib/gobject/gparam.c:1338,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gparam.c:1340,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1343
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1343
    functionName: pool_depth_list_for_interface
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_slist_prepend
    - should_list_pspec
    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:1369,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1371,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1370,1
    - Dst: g_type_depth
      Src: /src/glib/gobject/gparam.c:1374,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1373,1
    - Dst: g_new0
      Src: /src/glib/gobject/gparam.c:1375,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gobject/gparam.c:1381,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gparam.c:1382,1
    - Dst: g_new
      Src: /src/glib/gobject/gparam.c:1387,1
    - Dst: g_slist_sort
      Src: /src/glib/gobject/gparam.c:1391,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1398,1
    - Dst: g_slist_free
      Src: /src/glib/gobject/gparam.c:1394,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1397,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - pool
    - owner_type
    - n_pspecs_p
    argTypes:
    - GParamSpecPool*
    - GType
    - guint*
    constantsTouched: []
    func_position:
      end: 1403
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1403
    functionName: g_param_spec_pool_list
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - g_new
    - G_TYPE_IS_INTERFACE
    - g_mutex_unlock
    - g_slist_sort
    - g_hash_table_foreach
    - g_type_depth
    - g_slist_free
    - g_return_val_if_fail
    - g_mutex_lock
    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:1518,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1520,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparam.c:1523,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:1520,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gparam.c:1518,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:1526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1527
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1527
    functionName: g_value_set_param
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_ref
    - G_VALUE_HOLDS_PARAM
    - g_param_spec_unref
    - G_IS_PARAM_SPEC
    - g_return_if_fail
    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:1580,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gparam.c:1580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1583
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1583
    functionName: g_value_get_param
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_PARAM
    linkageType: ''
    returnType: GParamSpec*
    signature: 'GParamSpec *g_value_get_param (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:538,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gparam.c:541,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:538,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pspec
    - quark
    - data
    argTypes:
    - GParamSpec*
    - GQuark
    - gpointer
    constantsTouched: []
    func_position:
      end: 542
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 542
    functionName: g_param_spec_set_qdata
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_PARAM_SPEC
    - g_datalist_id_set_data
    - 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:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:632,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:634,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:636,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:636,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:632,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:640,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:640,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:641,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:641,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/gparam.c:642,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 646
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 646
    functionName: g_param_value_set_default
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_VALUE
    - G_VALUE_TYPE
    - g_value_reset
    - g_value_init
    - G_PARAM_SPEC_GET_CLASS
    - G_IS_PARAM_SPEC
    - G_PARAM_SPEC_VALUE_TYPE
    - PSPEC_APPLIES_TO_VALUE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_param_value_set_default (GParamSpec *pspec,\t\t\t GValue *value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparam.c:1298,1
    - Dst: g_type_depth
      Src: /src/glib/gobject/gparam.c:1308,1
    - Dst: should_list_pspec
      Src: /src/glib/gobject/gparam.c:1299,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gparam.c:1303,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gparam.c:1301,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gparam.c:1310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1314
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1314
    functionName: pool_depth_list
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - should_list_pspec
    - g_slist_prepend
    - g_type_is_a
    - g_type_depth
    - G_TYPE_IS_INTERFACE
    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: strcmp
      Src: /src/glib/gobject/gparam.c:1257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1258
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1258
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1560,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparam.c:1565,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1562,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gparam.c:1560,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:1562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1567
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1567
    functionName: g_value_take_param
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_unref
    - G_IS_PARAM_SPEC
    - G_VALUE_HOLDS_PARAM
    - 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:346,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparam.c:354,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:346,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 360
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 360
    functionName: g_param_spec_get_blurb
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - g_param_spec_get_redirect_target
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_param_spec_get_blurb (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:515,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:515,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gparam.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - quark
    argTypes:
    - GParamSpec*
    - GQuark
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: g_param_spec_get_qdata
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - g_datalist_id_get_data
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_param_spec_get_qdata (GParamSpec *pspec,\t\t\tGQuark quark) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 618
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:833,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:834,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:833,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:834,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:835,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:835,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:836,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:836,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:837,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:837,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparam.c:841,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:839,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 842
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 842
    functionName: g_param_values_cmp
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_VALUE
    - G_PARAM_SPEC_GET_CLASS
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - CLAMP
    - PSPEC_APPLIES_TO_VALUE
    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:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparam.c:872,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:872,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gparam.c:872,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 876
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 876
    functionName: value_param_transform_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_ref
    - g_type_is_a
    - G_PARAM_SPEC_TYPE
    - G_VALUE_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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1484,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gparam.c:1486,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1486,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1485,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1487,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1488,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gparam.c:1488,1
    - Dst: g_new
      Src: /src/glib/gobject/gparam.c:1496,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gparam.c:1504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - name
    - pspec_info
    argTypes:
    - gchar*
    - GParamSpecTypeInfo*
    constantsTouched: []
    func_position:
      end: 1505
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1505
    functionName: g_param_type_register_static
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_type_from_name
    - g_new
    - g_type_name
    - g_return_val_if_fail
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: "GType g_param_type_register_static (const gchar *name,\t\t\t const
      GParamSpecTypeInfo *pspec_info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 848
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 848
    functionName: value_param_init
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_param_init (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 882
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 882
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:216,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:216,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/gparam.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: g_param_spec_ref
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GParamSpec*
    signature: 'GParamSpec *g_param_spec_ref (GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:319,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:319,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparam.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: g_param_spec_get_nick
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - g_param_spec_get_redirect_target
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_param_spec_get_nick (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gparam.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: is_canonical
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_canonical (const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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:782,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:783,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:783,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:784,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:784,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:785,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:785,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:789,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:789,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gparam.c:790,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparam.c:793,1
    - Dst: memcpy
      Src: /src/glib/gobject/gparam.c:796,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gparam.c:791,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparam.c:802,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: 806
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 806
    functionName: g_param_value_convert
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_value_transform
    - memcpy
    - g_param_value_validate
    - G_IS_VALUE
    - G_VALUE_TYPE
    - g_value_init
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - g_value_unset
    - PSPEC_APPLIES_TO_VALUE
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gobject/gparam.c:994,1
    - Dst: memcpy
      Src: /src/glib/gobject/gparam.c:996,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gparam.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - type_prefixing
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 1001
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1001
    functionName: g_param_spec_pool_new
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_hash_table_new
    - g_new
    linkageType: ''
    returnType: GParamSpecPool*
    signature: 'GParamSpecPool *g_param_spec_pool_new (gboolean type_prefixing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/glib/gobject/gparam.c:1449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1450
    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:1662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1670
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1670
    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:
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gparam.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    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: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    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_param_spec_get_private
      Src: /src/glib/gobject/gparam.c:189,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:200,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/gparam.c:192,1
    - Dst: g_datalist_clear
      Src: /src/glib/gobject/gparam.c:194,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:197,1
    - Dst: g_type_free_instance
      Src: /src/glib/gobject/gparam.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: g_param_spec_finalize
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_type_free_instance
    - g_free
    - g_value_reset
    - g_datalist_clear
    - g_param_spec_get_private
    linkageType: ''
    returnType: void
    signature: 'static void g_param_spec_finalize (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: canonicalize_key
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void canonicalize_key (gchar *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:729,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:730,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:731,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:730,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:729,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:731,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:733,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:742,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:742,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparam.c:747,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gparam.c:743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 753
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 753
    functionName: g_param_value_is_valid
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_VALUE
    - G_VALUE_TYPE
    - g_value_unset
    - g_value_init
    - G_PARAM_SPEC_GET_CLASS
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - g_value_copy
    - PSPEC_APPLIES_TO_VALUE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_param_value_is_valid (GParamSpec *pspec, const GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparam.c:854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    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_strconcat
      Src: /src/glib/gobject/gparam.c:895,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gparam.c:899,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparam.c:899,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gparam.c:896,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:899,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/gparam.c:900,1
    - Dst: G_PARAM_SPEC_TYPE_NAME
      Src: /src/glib/gobject/gparam.c:901,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gparam.c:903,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:906,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 912
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 912
    functionName: value_param_collect_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_value_type_compatible
    - G_VALUE_TYPE
    - G_VALUE_TYPE_NAME
    - G_PARAM_SPEC_TYPE_NAME
    - g_param_spec_ref
    - g_strconcat
    - 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:974,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - key_spec_1
    - key_spec_2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 975
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 975
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gparam.c:141,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparam.c:141,1
    - Dst: g_type_add_instance_private
      Src: /src/glib/gobject/gparam.c:143,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparam.c:142,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gparam.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 145
    functionName: _g_param_type_init
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_type_register_fundamental
    - g_value_register_transform_func
    - g_intern_static_string
    - g_assert
    - g_type_add_instance_private
    linkageType: ''
    returnType: void
    signature: 'void _g_param_type_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GParamSpecClass*
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    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_param_spec_ref
      Src: /src/glib/gobject/gparam.c:862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 865
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 865
    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\tGValue
      *dest_value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:922,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gparam.c:922,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gparam.c:922,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:929,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 932
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 932
    functionName: value_param_lcopy_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_param_spec_ref
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparam.c:1272,1
    - Dst: param_spec_ht_lookup
      Src: /src/glib/gobject/gparam.c:1275,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparam.c:1278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pspec
    - owner_type
    - ht
    argTypes:
    - GParamSpec*
    - GType
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1284
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:260,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/gobject/gparam.c:262,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:260,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparam.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: g_param_spec_sink
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_unref
    - G_IS_PARAM_SPEC
    - g_atomic_pointer_and
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_param_spec_sink (GParamSpec *pspec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1145,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1154,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1148,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1146,1
    - Dst: param_spec_ht_lookup
      Src: /src/glib/gobject/gparam.c:1151,1
    - Dst: strchr
      Src: /src/glib/gobject/gparam.c:1162,1
    - Dst: g_new
      Src: /src/glib/gobject/gparam.c:1168,1
    - Dst: strncpy
      Src: /src/glib/gobject/gparam.c:1171,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gparam.c:1173,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1175,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1197,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1181,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparam.c:1179,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1188,1
    - Dst: param_spec_ht_lookup
      Src: /src/glib/gobject/gparam.c:1187,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - pool
    - param_name
    - owner_type
    - walk_ancestors
    argTypes:
    - GParamSpecPool*
    - gchar*
    - GType
    - gboolean
    constantsTouched: []
    func_position:
      end: 1200
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1200
    functionName: g_param_spec_pool_lookup
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - strncpy
    - g_type_from_name
    - g_free
    - param_spec_ht_lookup
    - g_new
    - g_mutex_unlock
    - g_type_is_a
    - strchr
    - g_return_val_if_fail
    - g_mutex_lock
    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:1618,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gparam.c:1638,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:1637,1
    - Dst: memcpy
      Src: /src/glib/gobject/gparam.c:1641,1
    - Dst: g_once_init_enter
      Src: /src/glib/gobject/gparam.c:1633,1
    - Dst: g_once_init_leave
      Src: /src/glib/gobject/gparam.c:1643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1647
    functionName: g_param_spec_get_default_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_once_init_enter
    - g_value_init
    - g_param_spec_get_private
    - g_once_init_leave
    - g_param_value_set_default
    linkageType: ''
    returnType: GValue*
    signature: 'const GValue *g_param_spec_get_default_value (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_adjust_private_offset
      Src: /src/glib/gobject/gparam.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - class
    - class_data
    argTypes:
    - GParamSpecClass*
    - gpointer
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    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_return_if_fail
      Src: /src/glib/gobject/gparam.c:234,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gobject/gparam.c:236,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:234,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gparam.c:238,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: g_param_spec_unref
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - G_UNLIKELY
    - G_PARAM_SPEC_GET_CLASS
    - G_IS_PARAM_SPEC
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_param_spec_unref (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:303,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: g_param_spec_get_name
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_param_spec_get_name (GParamSpec *pspec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:459,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:460,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gparam.c:473,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparam.c:490,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:457,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/gparam.c:459,1
    - Dst: G_TYPE_IS_PARAM
      Src: /src/glib/gobject/gparam.c:457,1
    - Dst: g_type_create_instance
      Src: /src/glib/gobject/gparam.c:462,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gparam.c:468,1
    - Dst: g_param_spec_get_private
      Src: /src/glib/gobject/gparam.c:484,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gparam.c:474,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gparam.c:478,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gparam.c:479,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparam.c:477,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparam.c:467,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:480,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparam.c:495,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:458,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gparam.c:460,1
    - Dst: g_warning
      Src: /src/glib/gobject/gparam.c:469,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gparam.c:485,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: 500
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 500
    functionName: g_param_spec_internal
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_param_spec_is_valid_name
    - G_TYPE_IS_PARAM
    - g_type_create_instance
    - g_intern_static_string
    - g_intern_string
    - g_free
    - is_canonical
    - g_warning
    - canonicalize_key
    - g_param_spec_get_private
    - g_quark_from_string
    - g_return_val_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1056,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparam.c:1058,1
    - Dst: g_critical
      Src: /src/glib/gobject/gparam.c:1060,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1061,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gparam.c:1057,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1065,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1066,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pool
    - pspec
    argTypes:
    - GParamSpecPool*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1068
    functionName: g_param_spec_pool_remove
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove
    - g_critical
    - g_mutex_unlock
    - g_param_spec_unref
    - g_mutex_lock
    - g_return_if_fail
    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:1083,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gparam.c:1092,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparam.c:1086,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gparam.c:1090,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparam.c:1096,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gparam.c:1097,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gparam.c:1106,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1109,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparam.c:1112,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gparam.c:1116,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - hash_table
    - param_name
    - owner_type
    - walk_ancestors
    argTypes:
    - GHashTable*
    - gchar*
    - GType
    - gboolean
    constantsTouched: []
    func_position:
      end: 1122
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1122
    functionName: param_spec_ht_lookup
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_type_parent
    - is_canonical
    - canonicalize_key
    - g_hash_table_lookup
    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:1233,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1234,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1240,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gobject/gparam.c:1239,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pool
    - owner_type
    argTypes:
    - GParamSpecPool*
    - GType
    constantsTouched: []
    func_position:
      end: 1243
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1243
    functionName: g_param_spec_pool_list_owned
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_return_val_if_fail
    - g_hash_table_foreach
    - g_mutex_lock
    linkageType: ''
    returnType: GList*
    signature: "GList *g_param_spec_pool_list_owned (GParamSpecPool *pool,\t\t\t GType
      owner_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1435
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1435
    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: g_datalist_set_flags
      Src: /src/glib/gobject/gparam.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pspec
    - class
    argTypes:
    - GParamSpec*
    - GParamSpecClass*
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 184
    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: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - key_spec
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 963
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 963
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1442
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:280,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:284,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:280,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/gobject/gparam.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: g_param_spec_ref_sink
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - g_param_spec_ref
    - g_atomic_pointer_and
    linkageType: ''
    returnType: GParamSpec*
    signature: 'GParamSpec *g_param_spec_ref_sink (GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 421
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 421
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:586,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:587,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:586,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gparam.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pspec
    - quark
    argTypes:
    - GParamSpec*
    - GQuark
    constantsTouched: []
    func_position:
      end: 590
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 590
    functionName: g_param_spec_steal_qdata
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_datalist_id_remove_no_notify
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_param_spec_steal_qdata (GParamSpec *pspec,\t\t\t GQuark
      quark) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:694,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:694,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:695,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:696,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:695,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:696,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:698,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:702,1
    - Dst: memcmp
      Src: /src/glib/gobject/gparam.c:703,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 708
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 708
    functionName: g_param_value_validate
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_IS_VALUE
    - G_PARAM_SPEC_GET_CLASS
    - memcmp
    - G_IS_PARAM_SPEC
    - g_return_val_if_fail
    - PSPEC_APPLIES_TO_VALUE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_param_value_validate (GParamSpec *pspec,\t\t\tGValue *value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gparam.c:1022,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gparam.c:1031,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1028,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:1030,1
    - Dst: g_critical
      Src: /src/glib/gobject/gparam.c:1024,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1032,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1036,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1037,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1038,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1039,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - pool
    - pspec
    - owner_type
    argTypes:
    - GParamSpecPool*
    - GParamSpec*
    - GType
    constantsTouched: []
    func_position:
      end: 1041
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1041
    functionName: g_param_spec_pool_insert
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_hash_table_add
    - g_param_spec_ref
    - g_critical
    - g_mutex_unlock
    - strchr
    - g_mutex_lock
    - g_return_if_fail
    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:1212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1213
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1213
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_take_param
      Src: /src/glib/gobject/gparam.c:1542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1543
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1598,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gparam.c:1598,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1601
    functionName: g_value_dup_param
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_ref
    - g_return_val_if_fail
    - G_VALUE_HOLDS_PARAM
    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: 1448
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1448
    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: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:102,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: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:111,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: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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:1119,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1121,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1120,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1123,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: 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:1290,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: 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:
    - callback
    - g_marshal_value_peek_double
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: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:1398,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1394,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:
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_return_if_fail
    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: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_marshal_value_peek_uint
    - callback
    - g_marshal_value_peek_pointer
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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:1227,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1229,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1231,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1228,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:1335,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1336,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1339,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1337,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:2003,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:2007,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2004,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2009,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:
    - va_end
    - va_copy
    - callback
    - g_variant_unref
    - g_variant_ref_sink
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: va_copy
      Src: /src/glib/gobject/gmarshal.c:579,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:581,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:580,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:583,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: va_arg
      Src: /src/glib/gobject/gmarshal.c:2120,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:2122,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2121,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2124,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:2297,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2307,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2300,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2298,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2303,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_marshal_value_peek_object
    - g_value_take_string
    - callback
    - g_marshal_value_peek_pointer
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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:849,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:854,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:858,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:851,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:
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_ulong
    - g_return_if_fail
    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: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:
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_enum
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1731,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1734,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1738,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:
    - callback
    - g_marshal_value_peek_pointer
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1951,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1958,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_marshal_value_peek_variant
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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_marshal_value_peek_boxed
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_value_set_boolean
    - g_return_if_fail
    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:795,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: va_arg
      Src: /src/glib/gobject/gmarshal.c:796,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:903,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: va_end
      Src: /src/glib/gobject/gmarshal.c:905,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: g_boxed_copy
      Src: /src/glib/gobject/gmarshal.c:1670,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1671,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:
    - va_end
    - va_copy
    - callback
    - g_boxed_copy
    - g_boxed_free
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1897,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1895,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gmarshal.c:1894,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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: va_arg
      Src: /src/glib/gobject/gmarshal.c:2361,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gmarshal.c:2363,1
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:2360,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2364,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:
    - va_end
    - g_object_ref
    - g_value_take_string
    - va_copy
    - callback
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_return_if_fail
    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: g_boxed_copy
      Src: /src/glib/gobject/gmarshal.c:2492,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2493,1
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:2489,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2490,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_boxed_free
      Src: /src/glib/gobject/gmarshal.c:2515,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/gmarshal.c:2517,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gmarshal.c:2519,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:
    - va_end
    - va_copy
    - callback
    - g_boxed_copy
    - g_boxed_free
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_value_set_boolean
    - g_return_if_fail
    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: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:
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_flags
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: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:
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_float
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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:1837,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: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1839,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_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: va_copy
      Src: /src/glib/gobject/gmarshal.c:255,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: va_arg
      Src: /src/glib/gobject/gmarshal.c:256,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: va_copy
      Src: /src/glib/gobject/gmarshal.c:2238,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:2240,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2242,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_value_set_boolean
    - g_return_if_fail
    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_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: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:203,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:
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_boolean
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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:426,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:422,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:
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_uchar
    - g_return_if_fail
    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:
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_int
    - g_return_if_fail
    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_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1622,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1618,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1615,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_marshal_value_peek_boxed
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:367,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:365,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:364,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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_arg
      Src: /src/glib/gobject/gmarshal.c:472,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:475,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:473,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1561,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gmarshal.c:1558,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1556,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1559,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:
    - va_end
    - va_copy
    - callback
    - g_param_spec_ref
    - G_CCLOSURE_SWAP_DATA
    - g_param_spec_unref
    - va_arg
    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:
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_long
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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:642,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:638,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_marshal_value_peek_uint
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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_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: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2188,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:
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_flags
    - G_CCLOSURE_SWAP_DATA
    - g_value_set_boolean
    - g_return_if_fail
    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:1501,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1506,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: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_marshal_value_peek_param
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: 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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: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:
    - callback
    - g_marshal_value_peek_char
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: value_init_double
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_init_double (GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 278
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:307,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:314,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:307,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 317
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 317
    functionName: value_lcopy_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    - g_strdup
    - G_VALUE_TYPE_NAME
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gvaluetypes.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    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_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:490,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:511,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:549,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:584,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:584,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:602,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:602,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:528,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:566,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:450,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:450,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:470,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:489,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:490,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:508,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:510,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:529,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:530,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:567,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:488,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:510,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:548,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:548,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:585,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:603,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:528,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:531,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:566,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:620,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:621,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:452,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:452,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:451,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:453,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:470,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:471,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:488,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:491,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:509,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:508,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:620,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 91
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 623
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 623
    functionName: _g_value_types_init
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_register_fundamental
    - g_intern_static_string
    linkageType: ''
    returnType: void
    signature: 'void _g_value_types_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:659,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gobject/gvaluetypes.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 662
    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:694,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gobject/gvaluetypes.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 697
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 697
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 297
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: value_init_pointer
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_init_pointer (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:357,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:357,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 362
    functionName: value_lcopy_pointer
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:774,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/gvaluetypes.c:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_int
    argTypes:
    - GValue*
    - gint
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 777
    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:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1208,1
    - Dst: GSIZE_TO_POINTER
      Src: /src/glib/gobject/gvaluetypes.c:1210,1
    - Dst: G_VALUE_HOLDS_GTYPE
      Src: /src/glib/gobject/gvaluetypes.c:1208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - v_gtype
    argTypes:
    - GValue*
    - GType
    constantsTouched: []
    func_position:
      end: 1212
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1212
    functionName: g_value_set_gtype
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - GSIZE_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_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1462,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gvaluetypes.c:1465,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gvaluetypes.c:1463,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1468
    functionName: g_pointer_type_register_static
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_type_from_name
    - g_return_val_if_fail
    - g_type_register_static
    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:758,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gobject/gvaluetypes.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 761
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 761
    functionName: g_value_get_boolean
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_BOOLEAN
    - g_return_val_if_fail
    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:822,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gobject/gvaluetypes.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 825
    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:838,1
    - Dst: G_VALUE_HOLDS_LONG
      Src: /src/glib/gobject/gvaluetypes.c:838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_long
    argTypes:
    - GValue*
    - glong
    constantsTouched: []
    func_position:
      end: 841
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 841
    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:886,1
    - Dst: G_VALUE_HOLDS_ULONG
      Src: /src/glib/gobject/gvaluetypes.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 889
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 889
    functionName: g_value_get_ulong
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_ULONG
    linkageType: ''
    returnType: gulong
    signature: 'gulong g_value_get_ulong (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1172,1
    - Dst: G_VALUE_HOLDS_POINTER
      Src: /src/glib/gobject/gvaluetypes.c:1172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_pointer
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1175
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1175
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1227,1
    - Dst: G_VALUE_HOLDS_GTYPE
      Src: /src/glib/gobject/gvaluetypes.c:1227,1
    - Dst: GPOINTER_TO_SIZE
      Src: /src/glib/gobject/gvaluetypes.c:1229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1230
    functionName: g_value_get_gtype
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GPOINTER_TO_SIZE
    - G_VALUE_HOLDS_GTYPE
    linkageType: ''
    returnType: GType
    signature: 'GType g_value_get_gtype (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    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: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1083,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1086,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1089
    functionName: g_value_set_interned_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_free
    - G_VALUE_HOLDS_STRING
    - 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:1313,1
    - Dst: G_VALUE_HOLDS_VARIANT
      Src: /src/glib/gobject/gvaluetypes.c:1313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1316
    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_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:903,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gobject/gvaluetypes.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_int64
    argTypes:
    - GValue*
    - gint64
    constantsTouched: []
    func_position:
      end: 906
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 906
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:101,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:101,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    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_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gvaluetypes.c:1361,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/gvaluetypes.c:1365,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1374,1
    - Dst: g_strescape
      Src: /src/glib/gobject/gvaluetypes.c:1384,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvaluetypes.c:1388,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gvaluetypes.c:1382,1
    - Dst: g_value_fits_pointer
      Src: /src/glib/gobject/gvaluetypes.c:1394,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:1401,1
    - Dst: G_PARAM_SPEC_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:1403,1
    - Dst: g_string_append
      Src: /src/glib/gobject/gvaluetypes.c:1417,1
    - Dst: g_strescape
      Src: /src/glib/gobject/gvaluetypes.c:1411,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gvaluetypes.c:1423,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1368,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1363,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1373,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluetypes.c:1377,1
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gobject/gvaluetypes.c:1386,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gobject/gvaluetypes.c:1386,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/gvaluetypes.c:1384,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1391,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gvaluetypes.c:1400,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gvaluetypes.c:1402,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluetypes.c:1424,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1426,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1414,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/gvaluetypes.c:1377,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gvaluetypes.c:1385,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1387,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluetypes.c:1388,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1392,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gvaluetypes.c:1396,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1399,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1401,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1403,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/gvaluetypes.c:1406,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1431,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1424,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1428,1
    - Dst: g_string_append
      Src: /src/glib/gobject/gvaluetypes.c:1420,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1361,1
    - Dst: g_strescape
      Src: /src/glib/gobject/gvaluetypes.c:1371,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gvaluetypes.c:1383,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/gvaluetypes.c:1404,1
    - Dst: g_string_new
      Src: /src/glib/gobject/gvaluetypes.c:1407,1
    - Dst: g_string_append_printf
      Src: /src/glib/gobject/gvaluetypes.c:1413,1
    - Dst: g_string_free
      Src: /src/glib/gobject/gvaluetypes.c:1421,1
    - Dst: G_VALUE_HOLDS_POINTER
      Src: /src/glib/gobject/gvaluetypes.c:1425,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvaluetypes.c:1424,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1434
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1434
    functionName: g_strdup_value_contents
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_string_append
    - G_VALUE_HOLDS
    - g_value_fits_pointer
    - G_VALUE_HOLDS_OBJECT
    - g_value_init
    - G_VALUE_HOLDS_PARAM
    - g_value_get_boxed
    - g_return_val_if_fail
    - g_value_transform
    - G_VALUE_HOLDS_ENUM
    - g_value_get_string
    - G_IS_VALUE
    - G_VALUE_HOLDS_BOXED
    - G_PARAM_SPEC_TYPE_NAME
    - G_VALUE_HOLDS_FLAGS
    - g_type_name
    - g_string_free
    - G_VALUE_HOLDS_STRING
    - g_value_type_transformable
    - g_strdup_printf
    - G_OBJECT_TYPE_NAME
    - g_strdup
    - g_string_new
    - g_strescape
    - g_free
    - G_VALUE_TYPE
    - G_VALUE_HOLDS_POINTER
    - g_string_append_printf
    - g_value_peek_pointer
    - g_value_unset
    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:742,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gobject/gvaluetypes.c:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - v_boolean
    argTypes:
    - GValue*
    - gboolean
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 745
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:934,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gobject/gvaluetypes.c:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_uint64
    argTypes:
    - GValue*
    - guint64
    constantsTouched: []
    func_position:
      end: 937
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 937
    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:998,1
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gobject/gvaluetypes.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_double
    argTypes:
    - GValue*
    - gdouble
    constantsTouched: []
    func_position:
      end: 1001
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1001
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:982,1
    - Dst: G_VALUE_HOLDS_FLOAT
      Src: /src/glib/gobject/gvaluetypes.c:982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 985
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 985
    functionName: g_value_get_float
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_FLOAT
    linkageType: ''
    returnType: gfloat
    signature: 'gfloat g_value_get_float (const GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1060,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1063,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1066
    functionName: g_value_set_static_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_free
    - G_VALUE_HOLDS_STRING
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_static_string (GValue *value,\t\t\t const gchar *v_string) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:950,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gobject/gvaluetypes.c:950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 953
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 953
    functionName: g_value_get_uint64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_UINT64
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_value_get_uint64 (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_take_string
      Src: /src/glib/gobject/gvaluetypes.c:1104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1105
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1287,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gobject/gvaluetypes.c:1292,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gvaluetypes.c:1297,1
    - Dst: G_VALUE_HOLDS_VARIANT
      Src: /src/glib/gobject/gvaluetypes.c:1287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - value
    - variant
    argTypes:
    - GValue*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1298
    functionName: g_value_take_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_variant_take_ref
    - G_VALUE_HOLDS_VARIANT
    - g_variant_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_value_take_variant (GValue *value, GVariant *variant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1156,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1158,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1159
    functionName: g_value_dup_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - G_VALUE_HOLDS_STRING
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_value_dup_string (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    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: 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: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 395
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 395
    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:726,1
    - Dst: G_VALUE_HOLDS_UCHAR
      Src: /src/glib/gobject/gvaluetypes.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 729
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:806,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gobject/gvaluetypes.c:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_uint
    argTypes:
    - GValue*
    - guint
    constantsTouched: []
    func_position:
      end: 809
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 809
    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:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:870,1
    - Dst: G_VALUE_HOLDS_ULONG
      Src: /src/glib/gobject/gvaluetypes.c:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_ulong
    argTypes:
    - GValue*
    - gulong
    constantsTouched: []
    func_position:
      end: 873
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 873
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:918,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gobject/gvaluetypes.c:918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 921
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 921
    functionName: g_value_get_int64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_INT64
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_value_get_int64 (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:127,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:127,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    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_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:205,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:205,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: value_lcopy_float
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:405,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:405,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:405,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 415
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 415
    functionName: value_lcopy_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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:1188,1
    - Dst: G_VALUE_HOLDS_POINTER
      Src: /src/glib/gobject/gvaluetypes.c:1188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1191
    functionName: g_value_get_pointer
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_POINTER
    - g_return_val_if_fail
    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:790,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/gvaluetypes.c:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 793
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 793
    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:854,1
    - Dst: G_VALUE_HOLDS_LONG
      Src: /src/glib/gobject/gvaluetypes.c:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 857
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 857
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1140,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1143
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1143
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1335,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:1339,1
    - Dst: G_VALUE_HOLDS_VARIANT
      Src: /src/glib/gobject/gvaluetypes.c:1335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    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: 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_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:60,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:60,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    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_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    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: []
    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: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 234
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    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_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1032,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1032,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1034,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1039,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1042
    functionName: g_value_set_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - G_VALUE_HOLDS_STRING
    - 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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:75,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:75,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    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_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: []
    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_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: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    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_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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: []
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:244,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:244,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - value
    - n_collect_values
    - collect_values
    - collect_flags
    argTypes:
    - GValue*
    - guint
    - GTypeCValue*
    - guint
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: value_lcopy_double
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    - G_VALUE_TYPE_NAME
    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:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1248,1
    - Dst: G_VALUE_HOLDS_VARIANT
      Src: /src/glib/gobject/gvaluetypes.c:1248,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gvaluetypes.c:1258,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:1253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - value
    - variant
    argTypes:
    - GValue*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1259
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1259
    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:677,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gobject/gvaluetypes.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_char
    argTypes:
    - GValue*
    - gint8
    constantsTouched: []
    func_position:
      end: 680
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 680
    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_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:710,1
    - Dst: G_VALUE_HOLDS_UCHAR
      Src: /src/glib/gobject/gvaluetypes.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_uchar
    argTypes:
    - GValue*
    - guchar
    constantsTouched: []
    func_position:
      end: 713
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 713
    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_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:966,1
    - Dst: G_VALUE_HOLDS_FLOAT
      Src: /src/glib/gobject/gvaluetypes.c:966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_float
    argTypes:
    - GValue*
    - gfloat
    constantsTouched: []
    func_position:
      end: 969
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 969
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1014,1
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gobject/gvaluetypes.c:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1017
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1120,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1125,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1127
    functionName: g_value_take_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_free
    - G_VALUE_HOLDS_STRING
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_take_string (GValue *value,\t\t gchar *v_string) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:639,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gobject/gvaluetypes.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_char
    argTypes:
    - GValue*
    - gchar
    constantsTouched: []
    func_position:
      end: 642
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 642
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gobject/gsignal.c:390,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/gsignal.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: g_signal_is_valid_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_param_spec_is_valid_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_signal_is_valid_name (const gchar *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1061,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1065,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1062,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1064,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1068,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1069,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1074,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1075,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1080,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1081,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1087,1
    - Dst: g_hook_append
      Src: /src/glib/gobject/gsignal.c:1101,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1104,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:1098,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:1092,1
    - Dst: g_hook_alloc
      Src: /src/glib/gobject/gsignal.c:1094,1
    - Dst: g_hook_list_init
      Src: /src/glib/gobject/gsignal.c:1088,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: 1107
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1107
    functionName: g_signal_add_emission_hook
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - SIGNAL_HOOK
    - g_hook_alloc
    - g_hook_list_init
    - SIGNAL_LOCK
    - g_critical
    - g_new
    - g_hook_append
    - node_check_deprecated
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    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: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:1637,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:1637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - instance
    argTypes:
    - SignalNode*
    - GTypeInstance*
    constantsTouched: []
    func_position:
      end: 1639
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1639
    functionName: signal_lookup_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - G_TYPE_FROM_INSTANCE
    - signal_find_class_closure
    linkageType: ''
    returnType: GClosure*
    signature: "static inline GClosure *signal_lookup_closure (SignalNode *node,\t\t
      GTypeInstance *instance) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2588,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2604,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2625,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2581,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2582,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2581,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2589,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2600,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2612,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2601,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2613,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2623,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2624,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2593,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:2595,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2599,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2606,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2611,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2616,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2618,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2583,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:2590,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2598,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2607,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2614,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: 2628
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2628
    functionName: g_signal_connect_data
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_set_marshal
    - signal_parse_name
    - SIGNAL_LOCK
    - G_TYPE_IS_OBJECT
    - handler_new
    - g_closure_sink
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - SIGNAL_UNLOCK
    - g_closure_ref
    - g_type_name
    - g_type_is_a
    - node_check_deprecated
    - handler_insert
    - _g_closure_set_va_marshal
    - g_critical
    - G_TYPE_FROM_INSTANCE
    - G_CLOSURE_NEEDS_MARSHAL
    - G_TYPE_CHECK_INSTANCE
    - _g_object_set_has_signal_handler
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3202,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3204,1
    - Dst: signal_emitv_unlocked
      Src: /src/glib/gobject/gsignal.c:3203,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: 3205
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3205
    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_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3702,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3703,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3702,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3707,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3705,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:3708,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:3714,1
    - Dst: signal_emit_valist_unlocked
      Src: /src/glib/gobject/gsignal.c:3715,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3716,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:3717,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:3724,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3721,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - instance
    - detailed_signal
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3726
      start: 3693
    functionDepth: 0
    functionLinenumber: 3693
    functionLinenumberEnd: 3726
    functionName: g_signal_emit_by_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - va_end
    - SIGNAL_UNLOCK
    - signal_emit_valist_unlocked
    - G_TYPE_CHECK_INSTANCE
    - signal_parse_name
    - SIGNAL_LOCK
    - va_start
    - g_critical
    - g_type_name
    - G_TYPE_FROM_INSTANCE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_signal_emit_by_name (gpointer instance,\t\t const gchar *detailed_signal,\t\t
      ...) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3738,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - node
    - emission_return
    - accumulator_value
    argTypes:
    - SignalNode*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 3744
      start: 3728
    functionDepth: 0
    functionLinenumber: 3728
    functionLinenumberEnd: 3744
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_try_string
      Src: /src/glib/gobject/gsignal.c:405,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:430,1
    - Dst: g_type_interfaces
      Src: /src/glib/gobject/gsignal.c:424,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:419,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:414,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:434,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:438,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gsignal.c:442,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gsignal.c:445,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gsignal.c:446,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:448,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:450,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - name
    - itype
    argTypes:
    - gchar*
    - GType
    constantsTouched: []
    func_position:
      end: 456
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 456
    functionName: signal_id_lookup
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_type_interfaces
    - g_strdup
    - g_free
    - signal_id_lookup
    - is_canonical
    - g_bsearch_array_lookup
    - canonicalize_key
    - g_quark_try_string
    - g_type_parent
    linkageType: ''
    returnType: guint
    signature: 'static inline guint signal_id_lookup (const gchar *name, GType itype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_bsearch_array_create
      Src: /src/glib/gobject/gsignal.c:1651,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:1657,1
    - Dst: g_bsearch_array_insert
      Src: /src/glib/gobject/gsignal.c:1654,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:1653,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:1658,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:1660,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:1662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - node
    - itype
    - closure
    argTypes:
    - SignalNode*
    - GType
    - GClosure*
    constantsTouched: []
    func_position:
      end: 1664
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1664
    functionName: signal_add_class_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_set_marshal
    - g_closure_ref
    - g_bsearch_array_create
    - _g_closure_set_va_marshal
    - g_bsearch_array_insert
    - g_closure_sink
    - 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: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gsignal.c:3221,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3246,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3303,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3222,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:3230,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3238,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3264,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gsignal.c:3249,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3244,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gsignal.c:3268,1
    - Dst: _g_object_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:3287,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3223,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3222,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3230,1
    - Dst: G_TYPE_CHECK_VALUE_TYPE
      Src: /src/glib/gobject/gsignal.c:3242,1
    - Dst: G_TYPE_CHECK_VALUE_TYPE
      Src: /src/glib/gobject/gsignal.c:3262,1
    - Dst: node_update_single_va_closure
      Src: /src/glib/gobject/gsignal.c:3278,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3288,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3220,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3229,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3232,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3258,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3256,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3266,1
    - Dst: _g_closure_is_void
      Src: /src/glib/gobject/gsignal.c:3282,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: 3304
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3304
    functionName: signal_emitv_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - G_TYPE_CHECK_INSTANCE
    - G_VALUE_TYPE_NAME
    - g_value_peek_pointer
    - handler_list_lookup
    - g_critical
    - type_debug_name
    - node_update_single_va_closure
    - g_type_is_a
    - G_TYPE_FROM_INSTANCE
    - signal_emit_unlocked_R
    - G_TYPE_CHECK_VALUE_TYPE
    - _g_object_has_signal_handler
    - _g_closure_is_void
    - LOOKUP_SIGNAL_NODE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void signal_emitv_unlocked (const GValue *instance_and_params,
      guint signal_id, GQuark detail, GValue *return_value) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: GOBJECT_SIGNAL_EMIT
      Src: /src/glib/gobject/gsignal.c:3764,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3764,1
    - Dst: signal_lookup_closure
      Src: /src/glib/gobject/gsignal.c:3791,1
    - Dst: g_hook_ref
      Src: /src/glib/gobject/gsignal.c:3855,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3876,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:3895,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gobject/gsignal.c:3933,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3941,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/gobject/gsignal.c:3950,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3970,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4016,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:4018,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4050,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:4099,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3984,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:4125,1
    - Dst: g_hook_next_valid
      Src: /src/glib/gobject/gsignal.c:3893,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:4019,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:4051,1
    - Dst: emission_push
      Src: /src/glib/gobject/gsignal.c:3790,1
    - Dst: emission_find
      Src: /src/glib/gobject/gsignal.c:3775,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3801,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3820,1
    - Dst: g_hook_first_valid
      Src: /src/glib/gobject/gsignal.c:3845,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3811,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:3848,1
    - Dst: g_hook_next_valid
      Src: /src/glib/gobject/gsignal.c:3861,1
    - Dst: g_newa
      Src: /src/glib/gobject/gsignal.c:3883,1
    - Dst: g_newa
      Src: /src/glib/gobject/gsignal.c:3884,1
    - Dst: g_hook_ref
      Src: /src/glib/gobject/gsignal.c:3906,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4060,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:4123,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4017,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:4096,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:4069,1
    - Dst: GOBJECT_SIGNAL_EMIT_END
      Src: /src/glib/gobject/gsignal.c:4125,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4125,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3764,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3796,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3798,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3852,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3872,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:3902,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3978,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3979,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:4024,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:4042,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gobject/gsignal.c:3927,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4027,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4070,1
    - Dst: emission_pop
      Src: /src/glib/gobject/gsignal.c:4121,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:4104,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4092,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3899,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:4057,1
    - Dst: g_hook_unref
      Src: /src/glib/gobject/gsignal.c:3947,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3809,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3817,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3812,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3810,1
    - Dst: g_hook_first_valid
      Src: /src/glib/gobject/gsignal.c:3891,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gsignal.c:3901,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:3913,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3916,1
    - Dst: hook_func
      Src: /src/glib/gobject/gsignal.c:3928,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3977,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3996,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3997,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:4108,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4119,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3987,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:4052,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3963,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4109,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4093,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: 4128
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 4128
    functionName: signal_emit_unlocked_R
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_unref_R
    - handler_ref
    - SIGNAL_LOCK
    - hook_func
    - g_steal_pointer
    - g_value_init
    - emission_find
    - GOBJECT_SIGNAL_EMIT
    - g_hook_destroy_link
    - emission_pop
    - maybe_init_accumulator_unlocked
    - SIGNAL_UNLOCK
    - g_hook_ref
    - g_hook_unref
    - emission_push
    - accumulate
    - GOBJECT_SIGNAL_EMIT_END
    - g_atomic_int_or
    - signal_lookup_closure
    - g_hook_first_valid
    - g_value_unset
    - G_TYPE_FROM_INSTANCE
    - g_atomic_int_compare_and_exchange
    - SIGNAL_HOOK
    - g_assert
    - g_closure_invoke
    - g_newa
    - g_hook_next_valid
    - TRACE
    - G_N_ELEMENTS
    - handler_list_lookup
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2231,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2239,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2245,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2247,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2251,1
    - Dst: G_VALUE_COLLECT_INIT
      Src: /src/glib/gobject/gsignal.c:2285,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2315,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2330,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2347,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:2359,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2298,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:2272,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2292,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2284,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2259,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2303,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2311,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:2328,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2346,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2364,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2342,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2356,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2234,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2237,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2233,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gsignal.c:2275,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2262,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2291,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:2300,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2306,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2308,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:2336,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2231,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:2251,1
    - Dst: g_value_init_from_instance
      Src: /src/glib/gobject/gsignal.c:2307,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2357,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2361,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 1
    argNames:
    - instance
    - '...'
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2365
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2365
    functionName: g_signal_chain_from_overridden_handler
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_LOCK
    - g_value_init
    - g_value_init_from_instance
    - emission_find_innermost
    - LOOKUP_SIGNAL_NODE
    - va_end
    - SIGNAL_UNLOCK
    - va_start
    - G_VALUE_COLLECT_INIT
    - g_newa0
    - g_critical
    - g_type_parent
    - signal_find_class_closure
    - G_VALUE_LCOPY
    - g_free
    - G_TYPE_CHECK_INSTANCE
    - g_assert
    - g_closure_invoke
    - g_value_unset
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_signal_chain_from_overridden_handler (gpointer instance, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:3673,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:3675,1
    - Dst: g_signal_emit_valist
      Src: /src/glib/gobject/gsignal.c:3674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - signal_id
    - detail
    - '...'
    argTypes:
    - gpointer
    - guint
    - GQuark
    constantsTouched: []
    func_position:
      end: 3676
      start: 3665
    functionDepth: 0
    functionLinenumber: 3665
    functionLinenumberEnd: 3676
    functionName: g_signal_emit
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - va_end
    - g_signal_emit_valist
    - va_start
    linkageType: ''
    returnType: void
    signature: "void g_signal_emit (gpointer instance,\t guint signal_id,\t GQuark
      detail,\t ...) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:723,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:737,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:727,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:738,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:748,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:751,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:760,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:763,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:769,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gsignal.c:770,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:771,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gsignal.c:772,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - signal_id
    - instance
    - handler
    argTypes:
    - guint
    - gpointer
    - Handler*
    constantsTouched: []
    func_position:
      end: 774
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 774
    functionName: handler_unref_R
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_UNLIKELY
    - g_assert
    - g_closure_unref
    - SIGNAL_LOCK
    - g_slice_free
    - handler_list_lookup
    - g_return_if_fail
    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:883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - emission
    argTypes:
    - Emission*
    constantsTouched: []
    func_position:
      end: 884
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 884
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:783,1
    - Dst: handler_list_ensure
      Src: /src/glib/gobject/gsignal.c:785,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - signal_id
    - instance
    - handler
    argTypes:
    - guint
    - gpointer
    - Handler*
    constantsTouched: []
    func_position:
      end: 819
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 819
    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: 3
    argNames:
    - signal_id
    - detail
    - instance
    argTypes:
    - guint
    - GQuark
    - gpointer
    constantsTouched: []
    func_position:
      end: 899
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 899
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1123,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1130,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1127,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1124,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1126,1
    - Dst: g_hook_destroy
      Src: /src/glib/gobject/gsignal.c:1133,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1134,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - signal_id
    - hook_id
    argTypes:
    - guint
    - gulong
    constantsTouched: []
    func_position:
      end: 1140
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1140
    functionName: g_signal_remove_emission_hook
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - g_critical
    - g_hook_destroy
    - LOOKUP_SIGNAL_NODE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_signal_remove_emission_hook (guint signal_id,\t\t\t gulong
      hook_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1584,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:1586,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:1593,1
    - Dst: g_signal_new_valist
      Src: /src/glib/gobject/gsignal.c:1588,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gsignal.c:1589,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: 1596
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1596
    functionName: g_signal_new_class_handler
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - va_end
    - g_cclosure_new
    - va_start
    - g_signal_new_valist
    - g_return_val_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2887,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2888,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2887,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2894,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:2895,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:2899,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2901,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: 2905
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2905
    functionName: g_signal_handler_find
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - handler_match_free1_R
    - SIGNAL_LOCK
    - handlers_find
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3353,1
    - Dst: signal_emit_valist_unlocked
      Src: /src/glib/gobject/gsignal.c:3354,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3355,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: 3356
      start: 3347
    functionDepth: 0
    functionLinenumber: 3347
    functionLinenumberEnd: 3356
    functionName: g_signal_emit_valist
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - signal_emit_valist_unlocked
    - 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:4211,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gsignal.c:4212,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: 4216
      start: 4202
    functionDepth: 0
    functionLinenumber: 4202
    functionLinenumberEnd: 4216
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_bsearch_array_get_n_nodes
      Src: /src/glib/gobject/gsignal.c:1611,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:1623,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:1622,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1613,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:1619,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - node
    - itype
    argTypes:
    - SignalNode*
    - GType
    constantsTouched: []
    func_position:
      end: 1629
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1629
    functionName: signal_find_class_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_get_nth
    - g_bsearch_array_lookup
    - g_bsearch_array_get_n_nodes
    - g_type_parent
    linkageType: ''
    returnType: ClassClosure*
    signature: "static inline ClassClosure *signal_find_class_closure (SignalNode
      *node,\t\t\t GType itype) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2752,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2755,1
    - Dst: signal_handler_disconnect_unlocked
      Src: /src/glib/gobject/gsignal.c:2756,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2753,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2752,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2758
      start: 2748
    functionDepth: 0
    functionLinenumber: 2748
    functionLinenumberEnd: 2758
    functionName: g_signal_handler_disconnect
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_LOCK
    - signal_handler_disconnect_unlocked
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_signal_handler_disconnect (gpointer instance, gulong handler_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2720,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2726,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2730
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2730
    functionName: signal_handler_unblock_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_lookup
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'static void signal_handler_unblock_unlocked (gpointer instance, gulong
      handler_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3137,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3138,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3142,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3140,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3137,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3147,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3148,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:3152,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:3158,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:3162,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3168,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3162,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: 3171
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3171
    functionName: g_signal_has_handler_pending
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - handler_match_free1_R
    - SIGNAL_LOCK
    - g_critical
    - G_TYPE_FROM_INSTANCE
    - handlers_find
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - signal_find_class_closure
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:928,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gsignal.c:932,1
    - Dst: g_bsearch_array_create
      Src: /src/glib/gobject/gsignal.c:933,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gsignal.c:939,1
    - Dst: g_renew
      Src: /src/glib/gobject/gsignal.c:937,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 942
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 942
    functionName: _g_signal_init
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - g_bsearch_array_create
    - SIGNAL_LOCK
    - g_hash_table_new
    - g_renew
    linkageType: ''
    returnType: void
    signature: 'void _g_signal_init (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2156,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2158,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2160,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gsignal.c:2157,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2158,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2161,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2164,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2166,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2172,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2174,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2194,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2200,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2178,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2189,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:2178,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2186,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2195,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - instance_and_params
    - return_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 2204
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2204
    functionName: g_signal_chain_from_overridden
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - g_assert
    - g_closure_invoke
    - g_value_peek_pointer
    - SIGNAL_LOCK
    - g_critical
    - emission_find_innermost
    - g_type_parent
    - LOOKUP_SIGNAL_NODE
    - signal_find_class_closure
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_signal_chain_from_overridden (const GValue *instance_and_params,\t\t\t\tGValue
      *return_value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:949,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:964,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:957,1
    - Dst: signal_destroy_R
      Src: /src/glib/gobject/gsignal.c:961,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:959,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - itype
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 965
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 965
    functionName: _g_signals_destroy
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - type_debug_name
    - g_critical
    - signal_destroy_R
    linkageType: ''
    returnType: void
    signature: 'void _g_signals_destroy (GType itype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2766,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2769,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2776,1
    - Dst: remove_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2772,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:2773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2777
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2777
    functionName: signal_handler_disconnect_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_unref_R
    - handler_lookup
    - remove_invalid_closure_notify
    - g_hash_table_remove
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'static void signal_handler_disconnect_unlocked (gpointer instance,
      gulong handler_id) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:3382,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3384,1
    - Dst: _g_closure_supports_invoke_va
      Src: /src/glib/gobject/gsignal.c:3441,1
    - Dst: _g_closure_invoke_va
      Src: /src/glib/gobject/gsignal.c:3515,1
    - Dst: emission_pop
      Src: /src/glib/gobject/gsignal.c:3530,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3547,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:3549,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3558,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3565,1
    - Dst: GOBJECT_SIGNAL_EMIT_END
      Src: /src/glib/gobject/gsignal.c:3565,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignal.c:3570,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3635,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3624,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3636,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3623,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3378,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3378,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3381,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3382,1
    - Dst: emission_push
      Src: /src/glib/gobject/gsignal.c:3488,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3491,1
    - Dst: _g_object_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:3431,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3500,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3503,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3521,1
    - Dst: G_VALUE_COLLECT_SKIP
      Src: /src/glib/gobject/gsignal.c:3543,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3577,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3554,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3390,1
    - Dst: node_update_single_va_closure
      Src: /src/glib/gobject/gsignal.c:3396,1
    - Dst: _g_closure_is_void
      Src: /src/glib/gobject/gsignal.c:3416,1
    - Dst: _g_closure_supports_invoke_va
      Src: /src/glib/gobject/gsignal.c:3418,1
    - Dst: GOBJECT_SIGNAL_EMIT
      Src: /src/glib/gobject/gsignal.c:3495,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3432,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3497,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3524,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3526,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3594,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3595,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3625,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3645,1
    - Dst: G_VALUE_COLLECT_INIT
      Src: /src/glib/gobject/gsignal.c:3588,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:3627,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3557,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3601,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3379,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3495,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3470,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gsignal.c:3513,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3533,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3535,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gsignal.c:3579,1
    - Dst: g_value_init_from_instance
      Src: /src/glib/gobject/gsignal.c:3607,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3610,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3611,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3612,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3621,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3644,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3632,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: 3648
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3648
    functionName: signal_emit_valist_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_unref_R
    - handler_ref
    - _g_closure_invoke_va
    - SIGNAL_LOCK
    - g_value_init
    - g_value_init_from_instance
    - GOBJECT_SIGNAL_EMIT
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - emission_pop
    - SIGNAL_UNLOCK
    - _g_closure_supports_invoke_va
    - g_object_unref
    - g_type_is_a
    - emission_push
    - accumulate
    - G_VALUE_COLLECT_INIT
    - GOBJECT_SIGNAL_EMIT_END
    - g_newa0
    - G_VALUE_COLLECT_SKIP
    - g_object_ref
    - g_value_unset
    - g_critical
    - node_update_single_va_closure
    - G_TYPE_FROM_INSTANCE
    - signal_emit_unlocked_R
    - _g_object_has_signal_handler
    - _g_closure_is_void
    - G_VALUE_LCOPY
    - g_free
    - G_TYPE_CHECK_INSTANCE
    - TRACE
    - handler_list_lookup
    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:4246,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: 4248
      start: 4240
    functionDepth: 0
    functionLinenumber: 4240
    functionLinenumberEnd: 4248
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2795,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2798,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2797,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2795,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2803
      start: 2788
    functionDepth: 0
    functionLinenumber: 2788
    functionLinenumberEnd: 2803
    functionName: g_signal_handler_is_connected
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - handler_lookup
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_LOCK
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_signal_handler_is_connected (gpointer instance,\t\t\t gulong
      handler_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_add_invalidate_notifier
      Src: /src/glib/gobject/gsignal.c:4134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - handler
    - instance
    argTypes:
    - Handler*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4136
      start: 4130
    functionDepth: 0
    functionLinenumber: 4130
    functionLinenumberEnd: 4136
    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:4156,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:4163,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:4161,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:4160,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:4158,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4166,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - instance
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 4169
      start: 4149
    functionDepth: 0
    functionLinenumber: 4149
    functionLinenumberEnd: 4169
    functionName: invalid_closure_notify
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_unref_R
    - SIGNAL_UNLOCK
    - handler_lookup
    - g_assert
    - g_hash_table_remove
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "static void invalid_closure_notify (gpointer instance,\t\t GClosure
      *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_remove_invalidate_notifier
      Src: /src/glib/gobject/gsignal.c:4144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - handler
    - instance
    argTypes:
    - Handler*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4147
      start: 4138
    functionDepth: 0
    functionLinenumber: 4138
    functionLinenumberEnd: 4147
    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:4176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 4181
      start: 4171
    functionDepth: 0
    functionLinenumber: 4171
    functionLinenumberEnd: 4181
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1406,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1409,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - signal_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 1412
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1412
    functionName: g_signal_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - LOOKUP_SIGNAL_NODE
    - SIGNAL_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_signal_name (guint signal_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gsignal.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: is_canonical
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_canonical (const gchar *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:480,1
    - Dst: g_bsearch_array_insert
      Src: /src/glib/gobject/gsignal.c:497,1
    - Dst: g_bsearch_array_insert
      Src: /src/glib/gobject/gsignal.c:490,1
    - Dst: g_bsearch_array_create
      Src: /src/glib/gobject/gsignal.c:489,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gobject/gsignal.c:491,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gobject/gsignal.c:499,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - signal_id
    - instance
    argTypes:
    - guint
    - gpointer
    constantsTouched: []
    func_position:
      end: 502
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 502
    functionName: handler_list_ensure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_bsearch_array_create
    - g_bsearch_array_insert
    - g_bsearch_array_lookup
    - g_hash_table_lookup
    linkageType: ''
    returnType: HandlerList*
    signature: "static inline HandlerList *handler_list_ensure (guint signal_id,\t\t
      gpointer instance) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2119,1
    - Dst: g_signal_override_class_closure
      Src: /src/glib/gobject/gsignal.c:2126,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2120,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/gsignal.c:2123,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2121,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gsignal.c:2127,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - signal_name
    - instance_type
    - class_handler
    argTypes:
    - gchar*
    - GType
    - GCallback
    constantsTouched: []
    func_position:
      end: 2132
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2132
    functionName: g_signal_override_class_handler
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_signal_override_class_closure
    - g_cclosure_new
    - g_signal_lookup
    - g_critical
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:508,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - signal_id
    - instance
    argTypes:
    - guint
    - gpointer
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 514
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 362
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 362
    functionName: canonicalize_key
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void canonicalize_key (gchar *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2074,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:2079,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2077,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2078,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2075,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2080,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2081,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:2081,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2084,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2087,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:2087,1
    - Dst: signal_add_class_closure
      Src: /src/glib/gobject/gsignal.c:2089,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2091,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - signal_id
    - instance_type
    - class_closure
    argTypes:
    - guint
    - GType
    - GClosure*
    constantsTouched: []
    func_position:
      end: 2092
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2092
    functionName: g_signal_override_class_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - signal_add_class_closure
    - SIGNAL_LOCK
    - g_critical
    - type_debug_name
    - g_type_is_a
    - node_check_deprecated
    - LOOKUP_SIGNAL_NODE
    - signal_find_class_closure
    - g_return_if_fail
    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:2818,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:2821,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2820,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2818,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2827,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:2831,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2845,1
    - Dst: remove_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2846,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:2848,1
    - Dst: g_bsearch_array_free
      Src: /src/glib/gobject/gsignal.c:2852,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2854,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - instance
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2855
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2855
    functionName: g_signal_handlers_destroy
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_get_nth
    - handler_unref_R
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - remove_invalid_closure_notify
    - g_hash_table_remove
    - SIGNAL_LOCK
    - g_bsearch_array_free
    - g_hash_table_lookup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_signal_handlers_destroy (gpointer instance) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gobject/gsignal.c:687,1
    - Dst: g_error
      Src: /src/glib/gobject/gsignal.c:690,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gsignal.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - signal_id
    - instance
    - after
    argTypes:
    - guint
    - gpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 708
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 708
    functionName: handler_new
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_error
    - g_hash_table_add
    - g_slice_new
    linkageType: ''
    returnType: Handler*
    signature: 'static inline Handler *handler_new (guint signal_id, gpointer instance,
      gboolean after) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_reset
      Src: /src/glib/gobject/gsignal.c:3318,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: 3323
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3323
    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: 1
    argNames:
    - signal_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - Handler*
    constantsTouched: []
    func_position:
      end: 716
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 716
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:4271,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/gsignal.c:4277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - handler_id_ptr
    - instance
    argTypes:
    - gulong*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4278
      start: 4267
    functionDepth: 0
    functionLinenumber: 4267
    functionLinenumberEnd: 4278
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:828,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:842,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - node
    argTypes:
    - SignalNode*
    constantsTouched: []
    func_position:
      end: 860
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 860
    functionName: node_update_single_va_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_get_nth
    - G_TYPE_IS_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void node_update_single_va_closure (SignalNode *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1213,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1214,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1214,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1216,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1214,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:1217,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1219,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1224,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1228,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: 1236
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1236
    functionName: g_signal_parse_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - signal_parse_name
    - SIGNAL_LOCK
    - G_TYPE_IS_INSTANTIATABLE
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - G_TYPE_IS_INTERFACE
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/gobject/gsignal.c:1364,1
    - Dst: g_array_append_val
      Src: /src/glib/gobject/gsignal.c:1369,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1376,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gsignal.c:1382,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1384,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1358,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1381,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1379,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1383,1
    - Dst: g_array_free
      Src: /src/glib/gobject/gsignal.c:1387,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1359,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1358,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1372,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1382,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1380,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1358,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1361,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1362,1
    - Dst: g_bsearch_array_get_n_nodes
      Src: /src/glib/gobject/gsignal.c:1363,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1377,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1379,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - itype
    - n_ids
    argTypes:
    - GType
    - guint*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1388
    functionName: g_signal_list_ids
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_get_nth
    - SIGNAL_UNLOCK
    - g_type_class_peek
    - g_bsearch_array_get_n_nodes
    - g_array_new
    - SIGNAL_LOCK
    - g_critical
    - g_array_append_val
    - g_type_name
    - G_TYPE_IS_INSTANTIATABLE
    - g_array_free
    - g_return_val_if_fail
    - G_TYPE_IS_INTERFACE
    linkageType: ''
    returnType: guint*
    signature: "guint *g_signal_list_ids (GType itype,\t\t guint *n_ids) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1840,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1842,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1844,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1846,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1848,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1850,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1852,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1843,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1841,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1845,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1847,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1849,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1851,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1853,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames:
    - c_marshaller
    - == NULL
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1869
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - emission
    argTypes:
    - Emission*
    constantsTouched: []
    func_position:
      end: 867
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 867
    functionName: emission_push
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void emission_push (Emission *emission) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gsignal.c:1148,1
    - Dst: memcpy
      Src: /src/glib/gobject/gsignal.c:1167,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1153,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1173,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1169,1
    - Dst: memcpy
      Src: /src/glib/gobject/gsignal.c:1175,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1177,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1178,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: 1187
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1187
    functionName: signal_parse_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_free
    - signal_id_lookup
    - g_new
    - strchr
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1256,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1257,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1259,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:1260,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:1256,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:1261,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1264,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1267,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:1268,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1269,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1289,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1291,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1278,1
    - Dst: emission_find
      Src: /src/glib/gobject/gsignal.c:1273,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1284,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1290,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1270,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - instance
    - detailed_signal
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1292
    functionName: g_signal_stop_emission_by_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - signal_parse_name
    - SIGNAL_LOCK
    - g_critical
    - g_type_name
    - G_TYPE_FROM_INSTANCE
    - g_type_is_a
    - emission_find
    - LOOKUP_SIGNAL_NODE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_signal_stop_emission_by_name (gpointer instance,\t\t\t\tconst
      gchar *detailed_signal) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2706,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2709,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2707,1
    - Dst: signal_handler_unblock_unlocked
      Src: /src/glib/gobject/gsignal.c:2710,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2706,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2712
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2712
    functionName: g_signal_handler_unblock
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - signal_handler_unblock_unlocked
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_LOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_signal_handler_unblock (gpointer instance, gulong handler_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3029,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3029,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3030,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3034,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3036,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3039,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: 3043
      start: 3018
    functionDepth: 0
    functionLinenumber: 3018
    functionLinenumberEnd: 3043
    functionName: g_signal_handlers_unblock_matched
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - signal_handlers_foreach_matched_unlocked_R
    - SIGNAL_LOCK
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2652,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2653,1
    - Dst: signal_handler_block_unlocked
      Src: /src/glib/gobject/gsignal.c:2656,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2655,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2652,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2658
      start: 2648
    functionDepth: 0
    functionLinenumber: 2648
    functionLinenumberEnd: 2658
    functionName: g_signal_handler_block
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - signal_handler_block_unlocked
    - SIGNAL_LOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_signal_handler_block (gpointer instance, gulong handler_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2666,1
    - Dst: g_error
      Src: /src/glib/gobject/gsignal.c:2671,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2677
      start: 2660
    functionDepth: 0
    functionLinenumber: 2660
    functionLinenumberEnd: 2677
    functionName: signal_handler_block_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_error
    - handler_lookup
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'static void signal_handler_block_unlocked (gpointer instance, gulong
      handler_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2973,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2978,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2974,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:2980,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2973,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2983,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: 2987
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 2987
    functionName: g_signal_handlers_block_matched
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - signal_handlers_foreach_matched_unlocked_R
    - SIGNAL_LOCK
    - g_return_val_if_fail
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:544,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:548,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:556,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - instance
    - handler_id
    - closure
    - signal_id_p
    argTypes:
    - gpointer
    - gulong
    - GClosure*
    - guint*
    constantsTouched: []
    func_position:
      end: 571
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 571
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - instance
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 911
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 911
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gobject/gsignal.c:580,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - list
    - handler
    - signal_id
    argTypes:
    - HandlerMatch*
    - Handler*
    - guint
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 587
    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_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gsignal.c:920,1
    - Dst: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gsignal.c:922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - node1
    - node2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 923
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 923
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1318,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1321,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1319,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1319,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1319,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1322,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1323,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1327,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1328,1
    - Dst: g_signal_is_valid_name
      Src: /src/glib/gobject/gsignal.c:1330,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1331,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - name
    - itype
    argTypes:
    - gchar*
    - GType
    constantsTouched: []
    func_position:
      end: 1336
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1336
    functionName: g_signal_lookup
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - signal_id_lookup
    - SIGNAL_LOCK
    - g_critical
    - g_signal_is_valid_name
    - g_type_name
    - G_TYPE_IS_INSTANTIATABLE
    - g_return_val_if_fail
    - G_TYPE_IS_INTERFACE
    linkageType: ''
    returnType: guint
    signature: 'guint g_signal_lookup (const gchar *name, GType itype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3084,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3084,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3091,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3089,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3085,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3094,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: 3098
      start: 3073
    functionDepth: 0
    functionLinenumber: 3073
    functionLinenumberEnd: 3098
    functionName: g_signal_handlers_disconnect_matched
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - signal_handlers_foreach_matched_unlocked_R
    - SIGNAL_LOCK
    - g_return_val_if_fail
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:988,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:988,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:992,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:989,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:991,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:995,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:996,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:999,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:999,1
    - Dst: emission_find
      Src: /src/glib/gobject/gsignal.c:1001,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1012,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1016,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1017,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1006,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - instance
    - signal_id
    - detail
    argTypes:
    - gpointer
    - guint
    - GQuark
    constantsTouched: []
    func_position:
      end: 1018
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1018
    functionName: g_signal_stop_emission
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_LOCK
    - g_critical
    - g_type_is_a
    - G_TYPE_FROM_INSTANCE
    - emission_find
    - LOOKUP_SIGNAL_NODE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_signal_stop_emission (gpointer instance, guint signal_id,\t\t\tGQuark
      detail) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1514,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:1516,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:1523,1
    - Dst: g_signal_new_valist
      Src: /src/glib/gobject/gsignal.c:1518,1
    - Dst: g_signal_type_cclosure_new
      Src: /src/glib/gobject/gsignal.c:1519,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: 1526
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1526
    functionName: g_signal_new
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - va_end
    - g_signal_type_cclosure_new
    - va_start
    - g_signal_new_valist
    - g_return_val_if_fail
    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: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1029,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1031,1
    - Dst: destroy
      Src: /src/glib/gobject/gsignal.c:1030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1033
    functionName: signal_finalize_hook
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - destroy
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "static void signal_finalize_hook (GHookList *hook_list,\t\t GHook
      *hook) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1433,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1435,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1449,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - signal_id
    - query
    argTypes:
    - guint
    - GSignalQuery*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1450
    functionName: g_signal_query
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - LOOKUP_SIGNAL_NODE
    - SIGNAL_LOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_signal_query (guint signal_id,\t\tGSignalQuery *query) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gsignal.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node1
    - node2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    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: handlers_find
      Src: /src/glib/gobject/gsignal.c:2922,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:2929,1
    - Dst: callback
      Src: /src/glib/gobject/gsignal.c:2927,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: 2933
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2933
    functionName: signal_handlers_foreach_matched_unlocked_R
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handlers_find
    - handler_match_free1_R
    - callback
    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: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gsignal.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node1
    - node2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: handler_hash
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint handler_hash (gconstpointer key) '
  - BBCount: 166
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_is_valid_name
      Src: /src/glib/gobject/gsignal.c:1717,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gsignal.c:1764,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:2087,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2315,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2330,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2500,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2588,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3084,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3138,1
    - Dst: _g_closure_invoke_va
      Src: /src/glib/gobject/gsignal.c:3515,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1769,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2029,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2080,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gsignal.c:2127,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2174,1
    - Dst: g_error
      Src: /src/glib/gobject/gsignal.c:2671,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2769,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3381,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4060,1
    - Dst: g_closure_add_invalidate_notifier
      Src: /src/glib/gobject/gsignal.c:4134,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3503,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:2831,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1716,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2593,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2618,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3390,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3526,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1739,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1775,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2503,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2614,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:3162,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gsignal.c:3579,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3916,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2827,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1842,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3625,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:4160,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3941,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:4018,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1843,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1916,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1992,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/gsignal.c:2123,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2425,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2581,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3089,1
    - Dst: _g_object_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:3287,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3521,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3707,1
    - Dst: g_hook_first_valid
      Src: /src/glib/gobject/gsignal.c:3845,1
    - Dst: callback
      Src: /src/glib/gobject/gsignal.c:2927,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:2336,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2483,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1850,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1726,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2084,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2194,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2522,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1851,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2706,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:2922,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2598,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3232,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3258,1
    - Dst: _g_closure_is_void
      Src: /src/glib/gobject/gsignal.c:3282,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3611,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:3913,1
    - Dst: G_TYPE_CHECK_VALUE_TYPE
      Src: /src/glib/gobject/gsignal.c:3262,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2652,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2251,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gsignal.c:3221,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:3708,1
    - Dst: emission_pop
      Src: /src/glib/gobject/gsignal.c:4121,1
    - Dst: hook_func
      Src: /src/glib/gobject/gsignal.c:3928,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1767,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2298,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2443,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2581,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2800,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3264,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3491,1
    - Dst: G_VALUE_COLLECT_SKIP
      Src: /src/glib/gobject/gsignal.c:3543,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3577,1
    - Dst: g_hook_next_valid
      Src: /src/glib/gobject/gsignal.c:3861,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3524,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gsignal.c:2275,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2513,1
    - Dst: signal_add_class_closure
      Src: /src/glib/gobject/gsignal.c:2089,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2156,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2606,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3764,1
    - Dst: GOBJECT_SIGNAL_EMIT
      Src: /src/glib/gobject/gsignal.c:3495,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gsignal.c:4212,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1881,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2129,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1720,1
    - Dst: g_hook_list_clear
      Src: /src/glib/gobject/gsignal.c:2046,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2075,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2625,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2797,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2845,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3036,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:3895,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2510,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2983,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2385,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2612,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2818,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:1979,1
    - Dst: g_bsearch_array_free
      Src: /src/glib/gobject/gsignal.c:2041,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:2081,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:2272,1
    - Dst: signal_handler_unblock_unlocked
      Src: /src/glib/gobject/gsignal.c:2710,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2233,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2487,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1758,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1747,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1844,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gsignal.c:2534,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3137,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:3158,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1845,1
    - Dst: G_TYPE_CHECK_VALUE_TYPE
      Src: /src/glib/gobject/gsignal.c:3242,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2497,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1907,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1776,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:1918,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2887,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3030,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3470,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4017,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:4271,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1909,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2158,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2484,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignal.c:3570,1
    - Dst: G_VALUE_COLLECT_INIT
      Src: /src/glib/gobject/gsignal.c:3588,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4092,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/gsignal.c:4277,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1749,1
    - Dst: g_renew
      Src: /src/glib/gobject/gsignal.c:1789,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2047,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2077,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2091,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2284,1
    - Dst: g_bsearch_array_free
      Src: /src/glib/gobject/gsignal.c:2852,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2601,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2795,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:3230,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2433,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3168,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3635,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1748,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1787,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2164,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2430,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3266,1
    - Dst: signal_emit_valist_unlocked
      Src: /src/glib/gobject/gsignal.c:3715,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:4052,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:4069,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3222,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3978,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1774,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1840,1
    - Dst: remove_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2846,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3039,1
    - Dst: signal_emitv_unlocked
      Src: /src/glib/gobject/gsignal.c:3203,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3558,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/gobject/gsignal.c:3950,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1841,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:3673,1
    - Dst: signal_emit_valist_unlocked
      Src: /src/glib/gobject/gsignal.c:3354,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2589,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1725,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gsignal.c:1731,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2087,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2189,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:2848,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2416,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2624,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2894,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3801,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1718,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1846,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2081,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2818,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2973,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3085,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3140,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3222,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1847,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3355,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:2079,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2508,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3091,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:3152,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gsignal.c:3513,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3798,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:3902,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:4108,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2495,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1811,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:2037,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2247,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2418,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:3717,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3970,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:4176,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:1798,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2752,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2798,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3500,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3554,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4125,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:2899,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2308,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2676,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1718,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1755,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gsignal.c:1772,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:1979,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2291,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2973,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3148,1
    - Dst: _g_closure_supports_invoke_va
      Src: /src/glib/gobject/gsignal.c:3418,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3601,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1768,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2195,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2496,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2887,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3610,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3810,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2120,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2203,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2440,1
    - Dst: GOBJECT_SIGNAL_EMIT_END
      Src: /src/glib/gobject/gsignal.c:3565,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3723,1
    - Dst: g_hook_ref
      Src: /src/glib/gobject/gsignal.c:3855,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2346,1
    - Dst: add_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2509,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2729,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2776,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2653,1
    - Dst: g_signal_override_class_closure
      Src: /src/glib/gobject/gsignal.c:2126,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3288,1
    - Dst: g_bsearch_array_insert
      Src: /src/glib/gobject/gsignal.c:1796,1
    - Dst: node_update_single_va_closure
      Src: /src/glib/gobject/gsignal.c:3278,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:3724,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:4042,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:4051,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3738,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:2590,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2451,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1879,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1750,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1767,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gsignal.c:2157,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:4057,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1766,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2239,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:2929,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2445,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3547,1
    - Dst: g_value_init_from_instance
      Src: /src/glib/gobject/gsignal.c:3607,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gobject/gsignal.c:3933,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:4158,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2613,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2416,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2623,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2582,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2709,1
    - Dst: emission_push
      Src: /src/glib/gobject/gsignal.c:3488,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3565,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3595,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3703,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:3675,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1718,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2043,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2364,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2502,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2753,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2599,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3702,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gsignal.c:4246,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1924,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3979,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:4099,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:4161,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2974,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gsignal.c:1795,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2245,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2720,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3303,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3384,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3764,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3996,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4156,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:2980,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2158,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1910,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1723,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1757,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2486,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2766,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3382,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:3549,1
    - Dst: emission_find
      Src: /src/glib/gobject/gsignal.c:3775,1
    - Dst: g_hook_ref
      Src: /src/glib/gobject/gsignal.c:3906,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gsignal.c:4211,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2438,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2611,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2652,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2711,1
    - Dst: signal_handler_disconnect_unlocked
      Src: /src/glib/gobject/gsignal.c:2756,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2161,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2361,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2491,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3220,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4016,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:4024,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4050,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3721,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2604,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1981,1
    - Dst: g_signal_newv
      Src: /src/glib/gobject/gsignal.c:1989,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3612,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3621,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3876,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3997,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2888,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2657,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gobject/gsignal.c:3927,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4027,1
    - Dst: g_newa
      Src: /src/glib/gobject/gsignal.c:3883,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3796,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2306,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2030,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2384,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2427,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/gsignal.c:3318,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:4123,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3557,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2607,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2655,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2707,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:2895,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gsignal.c:1728,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2357,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2726,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2978,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3495,1
    - Dst: g_hook_first_valid
      Src: /src/glib/gobject/gsignal.c:3891,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3963,1
    - Dst: add_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2439,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2820,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2200,1
    - Dst: G_VALUE_COLLECT_INIT
      Src: /src/glib/gobject/gsignal.c:2285,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3353,1
    - Dst: _g_closure_supports_invoke_va
      Src: /src/glib/gobject/gsignal.c:3441,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:3714,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2420,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2600,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2795,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:2545,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2172,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3029,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3238,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gsignal.c:3249,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3378,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2426,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2515,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2262,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2482,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2616,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2666,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:2773,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1852,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1741,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1853,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3230,1
    - Dst: emission_push
      Src: /src/glib/gobject/gsignal.c:3790,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4070,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4168,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3594,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2521,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2511,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2231,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3229,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3256,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3533,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3645,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3716,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3984,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:4104,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3632,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1775,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2231,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:2488,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2450,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3246,1
    - Dst: GOBJECT_SIGNAL_EMIT
      Src: /src/glib/gobject/gsignal.c:3764,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:4096,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3623,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2119,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2178,1
    - Dst: _g_object_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:3431,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3811,1
    - Dst: g_hook_next_valid
      Src: /src/glib/gobject/gsignal.c:3893,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3899,1
    - Dst: GOBJECT_SIGNAL_EMIT_END
      Src: /src/glib/gobject/gsignal.c:4125,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gsignal.c:1794,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2234,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:2595,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3034,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3137,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3223,1
    - Dst: node_update_single_va_closure
      Src: /src/glib/gobject/gsignal.c:3396,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3644,1
    - Dst: signal_lookup_closure
      Src: /src/glib/gobject/gsignal.c:3791,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3852,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2022,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2049,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2160,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:2251,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2583,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2854,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3379,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3624,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3809,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3817,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4119,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1717,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gsignal.c:1806,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2347,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2381,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:3382,1
    - Dst: emission_pop
      Src: /src/glib/gobject/gsignal.c:3530,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:4163,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4166,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:4125,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2303,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2437,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1777,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:2328,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3636,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:3848,1
    - Dst: g_warning
      Src: /src/glib/gobject/gsignal.c:2543,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1742,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2752,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2421,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3084,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3147,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3497,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3872,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4109,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3705,1
    - Dst: signal_handler_block_unlocked
      Src: /src/glib/gobject/gsignal.c:2656,1
    - Dst: signal_add_class_closure
      Src: /src/glib/gobject/gsignal.c:1877,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2166,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3162,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3535,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3702,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3812,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gsignal.c:3901,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3977,1
    - Dst: g_closure_remove_invalidate_notifier
      Src: /src/glib/gobject/gsignal.c:4144,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:2178,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4093,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1721,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gsignal.c:1730,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2383,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2426,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3029,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3204,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3244,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3378,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2186,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2755,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:2300,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2342,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2482,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2507,1
    - Dst: va_arg
      Src: /src/glib/gobject/gsignal.c:1986,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gsignal.c:2039,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2078,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1854,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3432,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:3627,1
    - Dst: g_hook_unref
      Src: /src/glib/gobject/gsignal.c:3947,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2520,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1760,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2417,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2441,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3142,1
    - Dst: g_signal_emit_valist
      Src: /src/glib/gobject/gsignal.c:3674,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:4019,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3987,1
    - Dst: GOBJECT_SIGNAL_NEW
      Src: /src/glib/gobject/gsignal.c:1798,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1906,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:2359,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2494,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2706,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2311,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2432,1
    - Dst: remove_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2772,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1759,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2074,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2259,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2292,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gsignal.c:3268,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2901,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2757,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2356,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1745,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1848,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2121,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3202,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2237,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1849,1
    - Dst: _g_closure_is_void
      Src: /src/glib/gobject/gsignal.c:3416,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3820,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:2532,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:2821,1
    - Dst: g_value_init_from_instance
      Src: /src/glib/gobject/gsignal.c:2307,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2381,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3094,1
    - Dst: g_newa
      Src: /src/glib/gobject/gsignal.c:3884,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: 4278
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 4278
    functionName: g_signal_newv
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_clear_signal_handler
    - g_hook_list_clear
    - type_debug_name
    - g_value_init
    - handler_new
    - emission_find_innermost
    - G_TYPE_CHECK_VALUE_TYPE
    - emission_pop
    - g_bsearch_array_get_nth
    - va_end
    - g_closure_ref
    - g_error
    - handler_list_lookup
    - g_object_unref
    - g_newa0
    - signal_lookup_closure
    - g_object_ref
    - add_invalid_closure_notify
    - G_TYPE_FROM_INSTANCE
    - signal_emit_unlocked_R
    - _g_closure_is_void
    - SIGNAL_HOOK
    - callback
    - g_newa
    - is_canonical
    - g_bsearch_array_free
    - g_getenv
    - handler_unref_R
    - _g_closure_invoke_va
    - hook_func
    - g_value_init_from_instance
    - g_quark_from_string
    - GOBJECT_SIGNAL_EMIT
    - G_TYPE_IS_VALUE
    - g_closure_sink
    - g_intern_string
    - g_closure_unref
    - g_value_reset
    - G_VALUE_TYPE_NAME
    - accumulate
    - handlers_find
    - g_atomic_int_or
    - GOBJECT_SIGNAL_NEW
    - G_VALUE_COLLECT_SKIP
    - g_hash_table_remove
    - g_critical
    - g_warning
    - signal_handler_disconnect_unlocked
    - g_value_copy
    - signal_find_class_closure
    - G_CLOSURE_NEEDS_MARSHAL
    - g_strdup
    - G_VALUE_LCOPY
    - g_assert
    - signal_handlers_foreach_matched_unlocked_R
    - _g_object_set_has_signal_handler
    - g_hash_table_lookup
    - g_return_if_fail
    - g_closure_set_marshal
    - signal_emitv_unlocked
    - SIGNAL_LOCK
    - emission_find
    - va_arg
    - g_return_val_if_fail
    - g_hook_destroy_link
    - maybe_init_accumulator_unlocked
    - signal_id_lookup
    - signal_emit_valist_unlocked
    - g_hook_unref
    - g_signal_is_valid_name
    - g_bsearch_array_insert
    - g_type_is_a
    - node_check_deprecated
    - handler_insert
    - G_TYPE_IS_INTERFACE
    - G_UNLIKELY
    - signal_handler_unblock_unlocked
    - handler_match_free1_R
    - g_memdup2
    - node_update_single_va_closure
    - G_TYPE_IS_INSTANTIATABLE
    - g_value_get_boolean
    - g_atomic_int_compare_and_exchange
    - g_signal_override_class_closure
    - G_TYPE_CHECK_INSTANCE
    - g_signal_lookup
    - g_hook_next_valid
    - handler_lookup
    - handler_ref
    - signal_parse_name
    - g_steal_pointer
    - G_TYPE_IS_OBJECT
    - LOOKUP_SIGNAL_NODE
    - ADD_CHECK
    - SIGNAL_UNLOCK
    - _g_closure_supports_invoke_va
    - g_cclosure_new
    - g_hook_ref
    - signal_add_class_closure
    - signal_handler_block_unlocked
    - va_start
    - g_type_name
    - emission_push
    - G_VALUE_COLLECT_INIT
    - GOBJECT_SIGNAL_EMIT_END
    - g_value_set_boolean
    - g_hook_first_valid
    - remove_invalid_closure_notify
    - _g_closure_set_va_marshal
    - _g_object_has_signal_handler
    - g_type_parent
    - g_signal_emit_valist
    - g_free
    - g_closure_invoke
    - g_closure_remove_invalidate_notifier
    - g_value_peek_pointer
    - g_new
    - canonicalize_key
    - g_signal_newv
    - TRACE
    - g_closure_add_invalidate_notifier
    - G_N_ELEMENTS
    - g_value_unset
    - g_renew
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: handler_equal
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handler_equal (gconstpointer a, gconstpointer b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1906,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1909,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1907,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1916,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1910,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:1918,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1924,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - signal_id
    - instance_type
    - va_marshaller
    argTypes:
    - guint
    - GType
    - GSignalCVaMarshaller
    constantsTouched: []
    func_position:
      end: 1925
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1925
    functionName: g_signal_set_va_marshaller
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_get_nth
    - SIGNAL_UNLOCK
    - _g_closure_set_va_marshal
    - SIGNAL_LOCK
    - LOOKUP_SIGNAL_NODE
    - g_return_if_fail
    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: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:594,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gsignal.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - node
    - instance
    argTypes:
    - HandlerMatch*
    - gpointer
    constantsTouched: []
    func_position:
      end: 598
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 598
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2484,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:2488,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2495,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2500,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2486,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2494,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2510,1
    - Dst: add_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2509,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2482,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2482,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2483,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2487,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2502,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2507,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2513,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2515,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2522,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2491,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2503,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2497,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2508,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2496,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2511,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2520,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2521,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - instance
    - detailed_signal
    - closure
    - after
    argTypes:
    - gpointer
    - gchar*
    - GClosure*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2525
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2525
    functionName: g_signal_connect_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_set_marshal
    - signal_parse_name
    - SIGNAL_LOCK
    - G_TYPE_IS_OBJECT
    - handler_new
    - g_closure_sink
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - SIGNAL_UNLOCK
    - g_closure_ref
    - g_type_name
    - g_type_is_a
    - handler_insert
    - add_invalid_closure_notify
    - g_critical
    - _g_closure_set_va_marshal
    - G_TYPE_FROM_INSTANCE
    - G_CLOSURE_NEEDS_MARSHAL
    - G_TYPE_CHECK_INSTANCE
    - _g_object_set_has_signal_handler
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:614,1
    - Dst: handler_match_prepend
      Src: /src/glib/gobject/gsignal.c:636,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gsignal.c:633,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:620,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:643,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:652,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:658,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gsignal.c:670,1
    - Dst: handler_match_prepend
      Src: /src/glib/gobject/gsignal.c:673,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 88
    argCount: 8
    argNames:
    - instance
    - mask
    - signal_id
    - detail
    - closure
    - func
    - data
    - one_and_only
    argTypes:
    - gpointer
    - GSignalMatchType
    - guint
    - GQuark
    - GClosure*
    - gpointer
    - gpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 682
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 682
    functionName: handlers_find
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_get_nth
    - G_REAL_CLOSURE
    - g_hash_table_lookup
    - handler_match_prepend
    - handler_list_lookup
    - LOOKUP_SIGNAL_NODE
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:2532,1
    - Dst: g_warning
      Src: /src/glib/gobject/gsignal.c:2543,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:2545,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gsignal.c:2534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - SignalNode*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2527
    functionDepth: 0
    functionLinenumber: 2527
    functionLinenumberEnd: 2548
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2418,1
    - Dst: add_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2439,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2440,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2445,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2450,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2416,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2416,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2420,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2425,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2426,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2443,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2437,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2432,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2421,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2426,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2427,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2438,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2433,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2417,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2430,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2441,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2451,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: 2454
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2454
    functionName: g_signal_connect_closure_by_id
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_set_marshal
    - SIGNAL_UNLOCK
    - g_closure_ref
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_LOCK
    - g_critical
    - _g_object_set_has_signal_handler
    - add_invalid_closure_notify
    - _g_closure_set_va_marshal
    - g_type_is_a
    - G_TYPE_FROM_INSTANCE
    - G_TYPE_IS_OBJECT
    - handler_insert
    - handler_new
    - g_closure_sink
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - G_CLOSURE_NEEDS_MARSHAL
    linkageType: ''
    returnType: gulong
    signature: "gulong g_signal_connect_closure_by_id (gpointer instance,\t\t\t\tguint
      signal_id,\t\t\t\tGQuark detail,\t\t\t\tGClosure *closure,\t\t\t\tgboolean after) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:1979,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1981,1
    - Dst: va_arg
      Src: /src/glib/gobject/gsignal.c:1986,1
    - Dst: g_signal_newv
      Src: /src/glib/gobject/gsignal.c:1989,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:1979,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1992,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: 1995
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1995
    functionName: g_signal_new_valist
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_free
    - g_new
    - g_signal_newv
    - va_arg
    - G_N_ELEMENTS
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2022,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:2037,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2029,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2030,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gsignal.c:2039,1
    - Dst: g_bsearch_array_free
      Src: /src/glib/gobject/gsignal.c:2041,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2043,1
    - Dst: g_hook_list_clear
      Src: /src/glib/gobject/gsignal.c:2046,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2047,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2049,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - signal_node
    argTypes:
    - SignalNode*
    constantsTouched: []
    func_position:
      end: 2050
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2050
    functionName: signal_destroy_R
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_get_nth
    - SIGNAL_UNLOCK
    - g_free
    - g_closure_unref
    - g_hook_list_clear
    - g_bsearch_array_free
    - g_critical
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void signal_destroy_R (SignalNode *signal_node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2381,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2383,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2384,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2381,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - instance
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2388
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2388
    functionName: g_signal_get_invocation_hint
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_UNLOCK
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_LOCK
    - emission_find_innermost
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSignalInvocationHint*
    signature: 'GSignalInvocationHint *g_signal_get_invocation_hint (gpointer instance) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbindinggroup.c:220,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbindinggroup.c:238,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbindinggroup.c:237,1
    - Dst: g_binding_group_disconnect
      Src: /src/glib/gobject/gbindinggroup.c:226,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gbindinggroup.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 242
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 242
    functionName: lazy_binding_free
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_binding_group_disconnect
    - g_clear_pointer
    - g_slice_free
    - g_object_weak_unref
    linkageType: ''
    returnType: void
    signature: 'static void lazy_binding_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:285,1
    - Dst: g_mutex_clear
      Src: /src/glib/gobject/gbindinggroup.c:289,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:286,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbindinggroup.c:288,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: g_binding_group_finalize
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_pointer
    - g_mutex_clear
    - G_OBJECT_CLASS
    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:319,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/gbindinggroup.c:324,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/gbindinggroup.c:324,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gbindinggroup.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 330
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 330
    functionName: g_binding_group_set_property
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_BINDING_GROUP
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_object
    - g_binding_group_set_source
    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_binding_group_bind_full
      Src: /src/glib/gobject/gbindinggroup.c:585,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: 590
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 590
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:252,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:254,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/gobject/gbindinggroup.c:265,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbindinggroup.c:258,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:252,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:267,1
    - Dst: lazy_binding_free
      Src: /src/glib/gobject/gbindinggroup.c:274,1
    - Dst: g_free
      Src: /src/glib/gobject/gbindinggroup.c:275,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:277,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 278
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 278
    functionName: g_binding_group_dispose
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_IS_BINDING_GROUP
    - g_free
    - g_object_weak_unref
    - g_assert
    - g_ptr_array_steal
    - lazy_binding_free
    - g_mutex_unlock
    - G_OBJECT_CLASS
    - g_mutex_lock
    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:300,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/gbindinggroup.c:305,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gbindinggroup.c:309,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gbindinggroup.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: g_binding_group_get_property
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_binding_group_dup_source
    - G_BINDING_GROUP
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_take_object
    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:335,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/gbindinggroup.c:350,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/gbindinggroup.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBindingGroupClass*
    constantsTouched: []
    func_position:
      end: 357
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 357
    functionName: g_binding_group_class_init
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - G_OBJECT_CLASS
    - g_object_class_install_properties
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_class_init (GBindingGroupClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/gbindinggroup.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:446,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbindinggroup.c:447,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:448,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:447,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:446,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:450,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbindinggroup.c:459,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:466,1
    - Dst: g_binding_group_disconnect
      Src: /src/glib/gobject/gbindinggroup.c:468,1
    - Dst: g_binding_group_check_source
      Src: /src/glib/gobject/gbindinggroup.c:472,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:493,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/gbindinggroup.c:496,1
    - Dst: g_binding_group_connect
      Src: /src/glib/gobject/gbindinggroup.c:486,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gbindinggroup.c:477,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:485,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/gbindinggroup.c:496,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - self
    - source
    argTypes:
    - GBindingGroup*
    - gpointer
    constantsTouched: []
    func_position:
      end: 497
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 497
    functionName: g_binding_group_set_source
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_BINDING_GROUP
    - g_object_weak_unref
    - g_ptr_array_index
    - g_object_weak_ref
    - g_binding_group_connect
    - G_IS_OBJECT
    - g_binding_group_disconnect
    - g_object_notify_by_pspec
    - g_mutex_unlock
    - g_binding_group_check_source
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_binding_group_set_source (GBindingGroup *self, gpointer source) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbindinggroup.c:516,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:513,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbindinggroup.c:518,1
    - Dst: g_slice_new0
      Src: /src/glib/gobject/gbindinggroup.c:527,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gbindinggroup.c:530,1
    - Dst: strcmp
      Src: /src/glib/gobject/gbindinggroup.c:523,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbindinggroup.c:520,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gbindinggroup.c:546,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gobject/gbindinggroup.c:553,1
    - Dst: g_binding_group_connect
      Src: /src/glib/gobject/gbindinggroup.c:556,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:513,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:516,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:518,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:520,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:520,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gbindinggroup.c:543,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gbindinggroup.c:529,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:558,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:515,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gbindinggroup.c:546,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gbindinggroup.c:549,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:514,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:519,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:522,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:525,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gbindinggroup.c:543,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: 559
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 559
    functionName: g_binding_group_bind_helper
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_IS_BINDING_GROUP
    - g_intern_string
    - g_slice_new0
    - G_OBJECT_GET_CLASS
    - g_closure_ref
    - g_object_weak_ref
    - g_binding_group_connect
    - G_IS_OBJECT
    - g_mutex_unlock
    - strcmp
    - g_object_class_find_property
    - g_closure_sink
    - g_ptr_array_add
    - g_mutex_lock
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/gobject/gbindinggroup.c:362,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gobject/gbindinggroup.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - GBindingGroup*
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: g_binding_group_init
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_init (GBindingGroup *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_bind_helper
      Src: /src/glib/gobject/gbindinggroup.c:628,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: 634
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 634
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:165,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:178,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:165,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:173,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - data
    - where_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: g_binding_group__source_weak_notify
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_IS_BINDING_GROUP
    - g_assert
    - g_ptr_array_index
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group__source_weak_notify (gpointer data, GObject
      *where_object_was) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:396,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:400,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:396,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:398,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gbindinggroup.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - GBindingGroup*
    constantsTouched: []
    func_position:
      end: 403
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 403
    functionName: g_binding_group_dup_source
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_IS_BINDING_GROUP
    - g_object_ref
    - g_mutex_unlock
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_binding_group_dup_source (GBindingGroup *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_bind_helper
      Src: /src/glib/gobject/gbindinggroup.c:672,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: 678
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 678
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:189,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:195,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:189,1
    - Dst: g_ptr_array_steal_index_fast
      Src: /src/glib/gobject/gbindinggroup.c:202,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:191,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:207,1
    - Dst: lazy_binding_free
      Src: /src/glib/gobject/gbindinggroup.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - data
    - where_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: g_binding_group__target_weak_notify
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_IS_BINDING_GROUP
    - g_assert
    - g_ptr_array_steal_index_fast
    - g_ptr_array_index
    - lazy_binding_free
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group__target_weak_notify (gpointer data, GObject
      *where_object_was) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:411,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:411,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:416,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:412,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbindinggroup.c:412,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:418,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbindinggroup.c:418,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - self
    - source
    argTypes:
    - GBindingGroup*
    - gpointer
    constantsTouched: []
    func_position:
      end: 424
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 424
    functionName: g_binding_group_check_source
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_IS_BINDING_GROUP
    - G_OBJECT_GET_CLASS
    - g_assert
    - g_ptr_array_index
    - G_IS_OBJECT
    - g_object_class_find_property
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_binding_group_check_source (GBindingGroup *self,
      gpointer source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:95,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_assert
      Src: /src/glib/gobject/gbindinggroup.c:96,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:95,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:99,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:100,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:101,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gbindinggroup.c:108,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/gbindinggroup.c:109,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbindinggroup.c:115,1
    - Dst: g_print
      Src: /src/glib/gobject/gbindinggroup.c:111,1
    - Dst: g_object_bind_property_with_closures
      Src: /src/glib/gobject/gbindinggroup.c:135,1
    - Dst: g_object_bind_property_full
      Src: /src/glib/gobject/gbindinggroup.c:125,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gbindinggroup.c:120,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbindinggroup.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - self
    - lazy_binding
    argTypes:
    - GBindingGroup*
    - LazyBinding*
    constantsTouched: []
    func_position:
      end: 144
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 144
    functionName: g_binding_group_connect
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_IS_BINDING_GROUP
    - g_assert
    - g_object_bind_property_full
    - g_flags_to_string
    - g_type_class_unref
    - G_OBJECT_TYPE_NAME
    - g_object_bind_property_with_closures
    - g_print
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_connect (GBindingGroup *self, LazyBinding
      *lazy_binding) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:149,1
    - Dst: g_binding_unbind
      Src: /src/glib/gobject/gbindinggroup.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - lazy_binding
    argTypes:
    - LazyBinding*
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:131,1
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:143,1
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:134,1
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:137,1
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:140,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/gvaluecollector.h:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 153
    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_value_init
      Src: /src/glib/gobject/gsourceclosure.c:119,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gobject/gsourceclosure.c:123,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:126,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:122,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gobject/gsourceclosure.c:127,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:137,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:138,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_set_pointer
    - g_closure_invoke
    - g_value_set_ulong
    - g_value_init
    - g_value_set_int
    - g_value_get_boolean
    - 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_return_if_fail
      Src: /src/glib/gobject/gsourceclosure.c:70,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsourceclosure.c:71,1
    - Dst: callback
      Src: /src/glib/gobject/gsourceclosure.c:75,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gsourceclosure.c:77,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:181,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsourceclosure.c:183,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:186,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gsourceclosure.c:185,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_init
    - g_value_unset
    - g_closure_invoke
    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_critical
      Src: /src/glib/gobject/gsourceclosure.c:262,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsourceclosure.c:250,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsourceclosure.c:266,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsourceclosure.c:267,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_set_marshal
    - g_closure_ref
    - g_critical
    - g_source_set_callback_indirect
    - g_closure_add_invalidate_notifier
    - g_closure_sink
    - G_CLOSURE_NEEDS_MARSHAL
    - g_return_if_fail
    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_source_set_closure
      Src: /src/glib/gobject/gsourceclosure.c:322,1
    - Dst: g_closure_set_meta_marshal
      Src: /src/glib/gobject/gsourceclosure.c:321,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_set_meta_marshal
    - g_source_set_closure
    - g_closure_new_simple
    linkageType: ''
    returnType: void
    signature: 'void g_source_set_dummy_callback (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      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
      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_flags_register_static
    - g_once_init_leave
    - g_once_init_enter
    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:92,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:95,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_set_flags
    - g_closure_invoke
    - g_value_set_boxed
    - g_value_init
    - g_value_get_boolean
    - 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_HOLDS_BOOLEAN
    - g_value_set_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_set_flags
      Src: /src/glib/gobject/gsourceclosure.c:161,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:160,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_set_flags
    - g_closure_invoke
    - g_value_init
    - g_value_set_int
    - g_value_get_boolean
    - 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:62,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject-query.c:60,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: show_nodes
      Src: /src/glib/gobject/gobject-query.c:78,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
    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:
    - strlen
    - g_free
    - g_type_children
    - g_fprintf
    - fputc
    - g_type_name
    - fputs
    - g_strconcat
    - show_nodes
    linkageType: ''
    returnType: void
    signature: "static void show_nodes (GType type,\t GType sibling,\t const gchar
      *indent) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/gobject-query.c:117,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
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:129,1
    - Dst: strlen
      Src: /src/glib/gobject/gobject-query.c:141,1
    - Dst: help
      Src: /src/glib/gobject/gobject-query.c:182,1
    - Dst: g_print
      Src: /src/glib/gobject/gobject-query.c:176,1
    - Dst: help
      Src: /src/glib/gobject/gobject-query.c:185,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: g_log_set_always_fatal
      Src: /src/glib/gobject/gobject-query.c:115,1
    - Dst: atoi
      Src: /src/glib/gobject/gobject-query.c:127,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:123,1
    - Dst: strcpy
      Src: /src/glib/gobject/gobject-query.c:146,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:166,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:170,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:174,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:162,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_new
      Src: /src/glib/gobject/gobject-query.c:141,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:150,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:156,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gobject-query.c:160,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:180,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject-query.c:208,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:
    - strlen
    - g_type_from_name
    - G_TYPE_MAKE_FUNDAMENTAL
    - g_log_set_always_fatal
    - strcpy
    - g_new
    - atoi
    - help
    - g_type_name
    - show_nodes
    - strcmp
    - g_print
    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: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:93,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:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    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:201,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:204,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:206,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:209,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:212,1
    - Dst: g_critical
      Src: /src/glib/gobject/gvalue.c:213,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:215,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:216,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:216,1
    - Dst: g_critical
      Src: /src/glib/gobject/gvalue.c:218,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - value
    - g_type
    argTypes:
    - GValue*
    - GType
    constantsTouched: []
    func_position:
      end: 223
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 223
    functionName: g_value_init
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_type_value_table_peek
    - G_VALUE_TYPE
    - g_critical
    - value_meminit
    - g_type_name
    - g_return_val_if_fail
    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:306,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:308,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:309,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:308,1
    - Dst: memset
      Src: /src/glib/gobject/gvalue.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: g_value_unset
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - memset
    - G_VALUE_TYPE
    - g_type_value_table_peek
    - 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:353,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:355,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:355,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:356,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:360,1
    - Dst: g_value_fits_pointer
      Src: /src/glib/gobject/gvalue.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 365
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 365
    functionName: g_value_peek_pointer
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_value_fits_pointer
    - g_return_val_if_fail
    - g_type_value_table_peek
    - G_VALUE_TYPE
    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:387,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gvalue.c:391,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gvalue.c:392,1
    - Dst: g_critical
      Src: /src/glib/gobject/gvalue.c:409,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:405,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:384,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:386,1
    - Dst: strcmp
      Src: /src/glib/gobject/gvalue.c:395,1
    - Dst: g_free
      Src: /src/glib/gobject/gvalue.c:410,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:392,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:395,1
    - Dst: memset
      Src: /src/glib/gobject/gvalue.c:397,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:391,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:385,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gvalue.c:392,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:392,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - value
    - instance
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 418
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 418
    functionName: g_value_set_instance
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_free
    - g_value_type_compatible
    - G_VALUE_TYPE
    - G_TYPE_CHECK_INSTANCE
    - g_type_value_table_peek
    - g_critical
    - memset
    - value_meminit
    - G_TYPE_FROM_INSTANCE
    - strcmp
    - g_return_if_fail
    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:488,1
    - Dst: g_type_interface_instantiatable_prerequisite
      Src: /src/glib/gobject/gvalue.c:489,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gvalue.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 492
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 492
    functionName: transform_lookup_get_parent_type
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_type_interface_instantiatable_prerequisite
    - g_type_fundamental
    - g_type_parent
    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:563,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gvalue.c:569,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:573,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:572,1
    - Dst: g_warning
      Src: /src/glib/gobject/gvalue.c:570,1
    - Dst: g_bsearch_array_replace
      Src: /src/glib/gobject/gvalue.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_type
    - dest_type
    - transform_func
    argTypes:
    - GType
    - GType
    - GValueTransform
    constantsTouched: []
    func_position:
      end: 578
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 578
    functionName: g_value_register_transform_func
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_replace
    - g_warning
    - g_bsearch_array_lookup
    - g_type_name
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:617,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:625,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:618,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:625,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gvalue.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_type
    - dest_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 626
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 626
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gobject/gvalue.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - value
    - value_type
    argTypes:
    - GValue*
    - GType
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    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:508,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:513,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:512,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:512,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:513,1
    - Dst: transform_lookup_get_parent_type
      Src: /src/glib/gobject/gvalue.c:516,1
    - Dst: transform_lookup_get_parent_type
      Src: /src/glib/gobject/gvalue.c:520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - src_type
    - dest_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 525
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 525
    functionName: transform_func_lookup
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_lookup
    - transform_lookup_get_parent_type
    - g_type_value_table_peek
    linkageType: ''
    returnType: GValueTransform
    signature: "static GValueTransform transform_func_lookup (GType src_type,\t\t
      GType dest_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:236,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gvalue.c:238,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:237,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:238,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:238,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:238,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:242,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:243,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:245,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 255
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 255
    functionName: g_value_copy
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_type_value_table_peek
    - G_VALUE_TYPE
    - g_value_type_compatible
    - value_meminit
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_copy (const GValue *src_value,\t GValue *dest_value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:272,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:275,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:276,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:273,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 287
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 287
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:330,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:333,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:332,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: g_value_fits_pointer
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_value_table_peek
    - G_VALUE_TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_value_fits_pointer (const GValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gvalue.c:448,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gvalue.c:441,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:461,1
    - Dst: g_critical
      Src: /src/glib/gobject/gvalue.c:473,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:448,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:439,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:458,1
    - Dst: g_free
      Src: /src/glib/gobject/gvalue.c:474,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:439,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gvalue.c:458,1
    - Dst: memset
      Src: /src/glib/gobject/gvalue.c:464,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:468,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:462,1
    - Dst: strcmp
      Src: /src/glib/gobject/gvalue.c:462,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gvalue.c:449,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gvalue.c:460,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - value
    - instance
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 483
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 483
    functionName: g_value_init_from_instance
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_free
    - g_type_value_table_peek
    - G_VALUE_TYPE
    - G_TYPE_CHECK_INSTANCE
    - G_IS_OBJECT
    - g_critical
    - value_meminit
    - memset
    - G_TYPE_FROM_INSTANCE
    - strcmp
    - g_return_if_fail
    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:533,1
    - Dst: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gvalue.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bsearch_node1
    - bsearch_node2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 539
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 539
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:596,1
    - Dst: transform_func_lookup
      Src: /src/glib/gobject/gvalue.c:600,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gvalue.c:599,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - src_type
    - dest_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: g_value_type_transformable
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - transform_func_lookup
    - g_value_type_compatible
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_value_type_transformable (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:650,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:653,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gvalue.c:654,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:651,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:654,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gvalue.c:656,1
    - Dst: transform_func_lookup
      Src: /src/glib/gobject/gvalue.c:662,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:662,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gvalue.c:666,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:669,1
    - Dst: transform
      Src: /src/glib/gobject/gvalue.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 676
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 676
    functionName: g_value_transform
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_value_type_compatible
    - G_VALUE_TYPE
    - g_value_unset
    - value_meminit
    - transform_func_lookup
    - transform
    - g_return_val_if_fail
    - g_value_copy
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_value_transform (const GValue *src_value,\t\t GValue *dest_value) "
  - 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_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:208,1
    - Dst: g_signal_group_connect_swapped
      Src: /src/glib/gobject/tests/signalgroup.c:212,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_closure_invalidate
      Src: /src/glib/gobject/tests/signalgroup.c:262,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:259,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:230,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:253,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/signalgroup.c:259,1
    - 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_object_set_data
      Src: /src/glib/gobject/tests/signalgroup.c:219,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:222,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:204,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/signalgroup.c:225,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:234,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/signalgroup.c:247,1
    - Dst: g_signal_group_connect_closure
      Src: /src/glib/gobject/tests/signalgroup.c:256,1
    - Dst: g_signal_group_connect_closure
      Src: /src/glib/gobject/tests/signalgroup.c:263,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_signal_group_connect_data
    - G_OBJECT
    - g_closure_invalidate
    - g_signal_group_connect_swapped
    - g_object_new
    - g_cclosure_new
    - g_signal_group_connect_object
    - g_object_weak_ref
    - g_signal_group_connect_after
    - G_CALLBACK
    - g_object_set_data
    - g_signal_group_connect
    - g_signal_group_connect_closure
    linkageType: ''
    returnType: void
    signature: 'static void connect_all_signals (GSignalGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:359,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:362,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: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:363,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:358,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_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:353,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:354,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:357,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:360,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:362,1
    - Dst: connect_all_signals
      Src: /src/glib/gobject/tests/signalgroup.c:364,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:363,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:367,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:353,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
    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_object_new
    - g_signal_group_new
    - g_signal_group_dup_target
    - g_object_unref
    - g_assert_null
    - g_assert_finalize_object
    - assert_signals
    - connect_all_signals
    - g_signal_group_set_target
    - g_assert_true
    - signal_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_simple (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_assert
      Src: /src/glib/gobject/tests/signalgroup.c:272,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: 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:
    - signal_detail_quark
    - g_assert_cmpint
    - g_assert
    - g_signal_emit
    - TEST_IS_SIGNAL_TARGET
    - G_IS_SIGNAL_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void assert_signals (SignalTarget *target, GSignalGroup *group,
      gboolean success) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:383,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:415,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:409,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:417,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: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:382,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_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:398,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:386,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:392,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:406,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:416,1
    - Dst: connect_all_signals
      Src: /src/glib/gobject/tests/signalgroup.c:378,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:379,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:394,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_true
      Src: /src/glib/gobject/tests/signalgroup.c:410,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:375,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:382,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:393,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:396,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:397,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:388,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: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:411,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_object_new
    - g_signal_group_new
    - g_signal_group_dup_target
    - g_object_unref
    - g_assert_null
    - connect_all_signals
    - assert_signals
    - g_assert_finalize_object
    - g_signal_group_set_target
    - g_assert_true
    - signal_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_changing_target (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:642,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:645,1
    - Dst: signal_thing_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:642,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:643,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:647,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_new
    - signal_thing_get_type
    - G_CALLBACK
    - g_assert_finalize_object
    - g_signal_group_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:427,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:439,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:433,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_block
    - assert_signals
    - g_signal_group_unblock
    linkageType: ''
    returnType: void
    signature: 'static void assert_blocking (SignalTarget *target, GSignalGroup *group,
      gint count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_unblock
      Src: /src/glib/gobject/tests/signalgroup.c:454,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: assert_blocking
      Src: /src/glib/gobject/tests/signalgroup.c:466,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:463,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: 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_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:480,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: 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:483,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: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:489,1
    - 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_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:462,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:461,1
    - Dst: assert_blocking
      Src: /src/glib/gobject/tests/signalgroup.c:467,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_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:481,1
    - Dst: g_signal_group_unblock
      Src: /src/glib/gobject/tests/signalgroup.c:486,1
    - Dst: g_signal_group_unblock
      Src: /src/glib/gobject/tests/signalgroup.c:484,1
    - Dst: connect_all_signals
      Src: /src/glib/gobject/tests/signalgroup.c:456,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:459,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
    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_object_new
    - g_signal_group_new
    - g_signal_group_dup_target
    - g_object_unref
    - g_signal_group_block
    - g_signal_group_unblock
    - g_assert_null
    - connect_all_signals
    - assert_signals
    - g_assert_finalize_object
    - g_signal_group_set_target
    - assert_blocking
    - g_assert_true
    - signal_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_blocking (void) '
  - 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_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:664,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/signalgroup.c:665,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - 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:123,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:124,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:125,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_signal_group_dup_target
    - g_object_unref
    - TEST_IS_SIGNAL_TARGET
    - G_IS_SIGNAL_GROUP
    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_true
      Src: /src/glib/gobject/tests/signalgroup.c:177,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signalgroup.c:180,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_nonnull
    - g_assert_false
    - 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_assert_true
      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_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:143,1
    - Dst: TEST_IS_SIGNAL_TARGET
      Src: /src/glib/gobject/tests/signalgroup.c:142,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:144,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_nonnull
      Src: /src/glib/gobject/tests/signalgroup.c:151,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:152,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_assert_true
    - g_signal_group_dup_target
    - g_object_get_data
    - g_assert_nonnull
    - G_IS_OBJECT
    - g_object_unref
    - TEST_IS_SIGNAL_TARGET
    - G_IS_SIGNAL_GROUP
    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_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:190,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:189,1
    - Dst: G_IS_SIGNAL_GROUP
      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:295,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:302,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signalgroup.c:303,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signalgroup.c:313,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:319,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:330,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: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:290,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signalgroup.c:299,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:311,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:308,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:309,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signalgroup.c:317,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:332,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:334,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:330,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signalgroup.c:296,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_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_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:331,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:325,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: g_signal_group_new
      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:293,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signalgroup.c:306,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:314,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:320,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:322,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
    - g_object_new
    - g_signal_group_new
    - g_test_expect_message
    - G_CALLBACK
    - g_assert_finalize_object
    - g_signal_group_set_target
    - g_signal_group_connect
    - signal_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signalgroup.c:622,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signalgroup.c:625,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gobject/tests/signalgroup.c:623,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_signal_new
    - G_TYPE_FROM_INTERFACE
    linkageType: ''
    returnType: void
    signature: 'static void signal_thing_default_init (SignalThingInterface *iface) '
  - 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:49,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
    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_signal_new
    - G_TYPE_FROM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void signal_target_class_init (SignalTargetClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:83,1
    - Dst: TEST_IS_SIGNAL_TARGET
      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: 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_signal_group_dup_target
    - g_assert_nonnull
    - g_object_unref
    - TEST_IS_SIGNAL_TARGET
    - G_IS_SIGNAL_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void connect_before_cb (SignalTarget *target, GSignalGroup
      *group, gint *signal_calls) '
  - 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: signal_target_get_type
      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: 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_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
    - 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
    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_object_new
    - g_signal_group_new
    - g_signal_group_dup_target
    - g_object_unref
    - g_assert_null
    - g_assert_finalize_object
    - g_signal_group_set_target
    - g_assert_true
    - signal_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_weak_ref_target (void) '
  - 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:592,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:587,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/signalgroup.c:588,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signalgroup.c:592,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_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
    - 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
    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_assert_cmpint
    - g_object_new
    - g_signal_group_new
    - g_signal_group_dup_target
    - g_object_set
    - g_object_unref
    - g_assert_null
    - g_assert_finalize_object
    - g_assert_true
    - signal_target_get_type
    - g_object_get
    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_true
      Src: /src/glib/gobject/tests/signalgroup.c:102,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/signalgroup.c:104,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_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_cmpint
    - g_assert_true
    - g_signal_group_dup_target
    - g_assert_nonnull
    - g_object_unref
    - TEST_IS_SIGNAL_TARGET
    - G_IS_SIGNAL_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void connect_after_cb (SignalTarget *target, GSignalGroup *group,
      gint *signal_calls) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:517,1
    - Dst: g_signal_group_connect_object
      Src: /src/glib/gobject/tests/signalgroup.c:523,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:530,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:541,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:543,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:544,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:516,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:516,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:547,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:548,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:541,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:535,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: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:517,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:525,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:529,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:533,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:540,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:532,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_object_new
    - g_signal_group_new
    - g_signal_group_dup_target
    - g_signal_group_connect_object
    - g_object_unref
    - G_CALLBACK
    - g_assert_null
    - g_assert_finalize_object
    - g_signal_group_set_target
    - g_assert_true
    - signal_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_connect_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:569,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:571,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:569,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:571,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:
    - g_type_class_peek
    - g_signal_group_new
    - G_CALLBACK
    - g_assert_null
    - g_assert_finalize_object
    - g_signal_group_connect
    - signal_target_get_type
    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_test_message
      Src: /src/glib/gobject/tests/objects-refcount1.c:102,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/objects-refcount1.c:104,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_test_message
    - G_OBJECT_CLASS
    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: g_thread_yield
      Src: /src/glib/gobject/tests/objects-refcount1.c:122,1
    - Dst: my_test_do_refcount
      Src: /src/glib/gobject/tests/objects-refcount1.c:120,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_atomic_int_get
    - g_thread_yield
    - 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_ref
    - g_object_unref
    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_atomic_int_set
      Src: /src/glib/gobject/tests/objects-refcount1.c:142,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/objects-refcount1.c:147,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/objects-refcount1.c:138,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/objects-refcount1.c:140,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_array_unref
      Src: /src/glib/gobject/tests/objects-refcount1.c:167,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/objects-refcount1.c:162,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/objects-refcount1.c:166,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/objects-refcount1.c:165,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/objects-refcount1.c:161,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_new
    - g_array_index
    - g_array_new
    - g_object_unref
    - g_array_append_val
    - g_thread_new
    - g_usleep
    - g_thread_join
    - g_array_unref
    - g_atomic_int_set
    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_log_set_always_fatal
      Src: /src/glib/gobject/tests/objects-refcount1.c:175,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/objects-refcount1.c:177,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
    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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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: 1
    argNames:
    - self
    argTypes:
    - TestDerived*
    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: 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: 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_printerr
      Src: /src/glib/gobject/tests/private.c:36,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/private.c:35,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:37,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:
    - test_object_get_instance_private
    - g_test_verbose
    - G_OBJECT_TYPE_NAME
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *self) '
  - 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_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:101,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:102,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/private.c:100,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/private.c:99,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_strdup
    - test_derived_get_instance_private
    - g_test_verbose
    - G_OBJECT_TYPE_NAME
    - g_printerr
    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_test_verbose
      Src: /src/glib/gobject/tests/private.c:145,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_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:
    - test_mixed_get_type
    - g_test_verbose
    - G_OBJECT_TYPE_NAME
    - G_TYPE_INSTANCE_GET_PRIVATE
    - g_printerr
    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_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:192,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/private.c:189,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:
    - test_mixed_derived_get_instance_private
    - g_test_verbose
    - g_get_monotonic_time
    - G_OBJECT_TYPE_NAME
    - g_printerr
    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: 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: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/private.c:214,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_assert
      Src: /src/glib/gobject/tests/private.c:220,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/private.c:222,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_assert_cmpint
    - g_assert_cmpfloat
    - g_object_new
    - g_assert
    - g_type_class_unref
    - g_object_unref
    - test_object_get_dummy_0
    - test_object_get_type
    - test_object_get_dummy_1
    - g_type_class_ref
    - g_type_class_get_instance_private_offset
    linkageType: ''
    returnType: void
    signature: 'static void private_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:
    - test_mixed_derived_get_type
    - g_assert_cmpint
    - test_mixed_get_type
    - g_object_new
    - g_assert
    - g_object_unref
    - g_get_monotonic_time
    - test_mixed_get_dummy_3
    - test_mixed_derived_get_dummy_4
    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:256,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:257,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/private.c:255,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/private.c:228,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: g_assert_cmpstr
      Src: /src/glib/gobject/tests/private.c:230,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_assert_cmpint
    - test_derived_get_type
    - g_object_new
    - g_assert_cmpstr
    - g_object_unref
    - test_object_get_dummy_0
    - test_derived_get_dummy_2
    linkageType: ''
    returnType: void
    signature: 'static void private_derived_instance (void) '
  - 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_CALLBACK
    - g_signal_connect
    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:
    - MY_BADGER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_object
    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_object_class_install_property
    - g_param_spec_object
    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_unref
      Src: /src/glib/gobject/tests/properties-refcount4.c:85,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties-refcount4.c:89,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:
    - MY_BADGER
    - G_OBJECT_CLASS
    - g_object_unref
    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_object_unref
      Src: /src/glib/gobject/tests/properties-refcount4.c:127,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount4.c:133,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties-refcount4.c:130,1
    - Dst: g_value_dup_object
      Src: /src/glib/gobject/tests/properties-refcount4.c:128,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:
    - MY_BADGER
    - g_value_dup_object
    - g_object_set
    - g_object_unref
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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_new
      Src: /src/glib/gobject/tests/properties-refcount4.c:155,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/properties-refcount4.c:158,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/properties-refcount4.c:159,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties-refcount4.c:157,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_new
    - g_assert_cmpuint
    - g_object_set
    - g_object_unref
    - g_assert_cmpmem
    - g_object_get
    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_test_add_func
      Src: /src/glib/gobject/tests/properties-refcount4.c:177,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount4.c:173,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/properties-refcount4.c:179,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/properties-refcount4.c:175,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - 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: 3
    argNames:
    - type
    - n_construct_properties
    - construct_params
    argTypes:
    - GType
    - guint
    - GObjectConstructParam*
    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:
    - 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: 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: []
    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
      Src: /src/glib/gobject/tests/object.c:59,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/object.c:69,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/object.c:74,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/object.c:67,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_unref
      Src: /src/glib/gobject/tests/object.c:75,1
    - 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: my_singleton_object_get_type
      Src: /src/glib/gobject/tests/object.c:65,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/object.c:69,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/object.c:71,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/object.c:67,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/object.c:77,1
    - Dst: my_singleton_object_get_type
      Src: /src/glib/gobject/tests/object.c:58,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_assert
      Src: /src/glib/gobject/tests/object.c:66,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/object.c:72,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
    - g_assert_cmpint
    - g_object_new
    - g_assert
    - g_object_unref
    - g_object_add_weak_pointer
    - my_singleton_object_get_type
    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: 3
    argNames:
    - type
    - n_construct_properties
    - construct_params
    argTypes:
    - GType
    - guint
    - GObjectConstructParam*
    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_CLASS
    - g_object_unref
    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_test_expect_message
      Src: /src/glib/gobject/tests/object.c:135,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/object.c:133,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/object.c:129,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/object.c:137,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_object_new
    - my_infanticide_object_get_type
    - g_test_assert_expected_messages
    - g_test_skip
    - g_test_expect_message
    - g_assert_null
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_object_constructor_infanticide (void) '
  - 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_run
    - g_test_init
    - g_test_add_func
    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:
    - 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: []
    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_signal_handler_block
      Src: /src/glib/gobject/tests/signals.c:1552,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:1565,1
    - Dst: g_signal_handlers_block_matched
      Src: /src/glib/gobject/tests/signals.c:1568,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1569,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_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1582,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1585,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:1592,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1571,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1596,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1536,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_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1544,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1555,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1566,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1568,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1574,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1583,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:1591,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1591,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1533,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1534,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_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:1580,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:1602,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1610,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1572,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gobject/tests/signals.c:1602,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_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1537,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:1547,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1550,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:1558,1
    - Dst: g_signal_handlers_block_matched
      Src: /src/glib/gobject/tests/signals.c:1569,1
    - Dst: g_signal_handlers_unblock_matched
      Src: /src/glib/gobject/tests/signals.c:1588,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1593,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1609,1
    - Dst: g_signal_handlers_disconnect_matched
      Src: /src/glib/gobject/tests/signals.c:1596,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1586,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_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    - g_signal_handlers_block_matched
    - g_object_new
    - g_assert_cmpuint
    - g_signal_handler_find
    - g_object_unref
    - g_signal_handlers_disconnect_matched
    - G_CALLBACK
    - g_signal_handler_unblock
    - test_get_type
    - g_assert_true
    - g_signal_handlers_unblock_matched
    - g_signal_handler_block
    linkageType: ''
    returnType: void
    signature: 'static void test_block_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test2_get_type
      Src: /src/glib/gobject/tests/signals.c:1660,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1680,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:1676,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1671,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_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:1659,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_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1662,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1664,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1682,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1674,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1660,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_signal_connect
    - g_object_new
    - g_test_assert_expected_messages
    - g_object_unref
    - g_signal_handler_is_connected
    - g_test_expect_message
    - G_CALLBACK
    - test2_get_type
    - test_get_type
    - g_assert_true
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_disconnect_wrong_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1846,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1850,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/signals.c:1852,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1848,1
    - Dst: g_type_class_ref
      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_test_message
    - g_assert_false
    - g_signal_parse_name
    - g_type_class_unref
    - g_test_summary
    - test_get_type
    - G_N_ELEMENTS
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_name_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1903,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1906,1
    - Dst: g_signal_is_valid_name
      Src: /src/glib/gobject/tests/signals.c:1904,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:1907,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_signal_is_valid_name
    - G_N_ELEMENTS
    - g_assert_false
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_is_valid_name (void) '
  - 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:825,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:836,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:852,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:851,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:842,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:859,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:833,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:841,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:831,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:829,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:827,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:840,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:850,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:861,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:863,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:838,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
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:860,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_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_uint_return (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:908,1
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/signals.c:906,1
    - Dst: g_assert_cmpflags
      Src: /src/glib/gobject/tests/signals.c:910,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:909,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_signal_get_invocation_hint
    - g_assert_true
    - g_assert_cmpflags
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void custom_marshaller_callback (Test *test, GSignalInvocationHint
      *hint, gpointer unused) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1864,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1869,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/signals.c:1879,1
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/signals.c:1866,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_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_signal_new
    - g_test_summary
    - test_get_type
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_signals_invalid_name (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_array_index
      Src: /src/glib/gobject/tests/signals.c:1952,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1971,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_array_set_clear_func
      Src: /src/glib/gobject/tests/signals.c:1924,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:2043,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:2016,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1973,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1949,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1970,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_array_index
      Src: /src/glib/gobject/tests/signals.c:1939,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_value_set_uint
      Src: /src/glib/gobject/tests/signals.c:1949,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1987,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:2002,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1992,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1929,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_value_unset
      Src: /src/glib/gobject/tests/signals.c:2035,1
    - Dst: g_array_unref
      Src: /src/glib/gobject/tests/signals.c:2044,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:2014,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1997,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_array_index
      Src: /src/glib/gobject/tests/signals.c:1955,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1964,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: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_take_variant
      Src: /src/glib/gobject/tests/signals.c:1988,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: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1998,1
    - Dst: g_signal_emitv
      Src: /src/glib/gobject/tests/signals.c:2039,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:1988,1
    - Dst: g_array_set_size
      Src: /src/glib/gobject/tests/signals.c:2012,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gobject/tests/signals.c:1979,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_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:1957,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_value_init
      Src: /src/glib/gobject/tests/signals.c:1951,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1984,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:2030,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2024,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: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:2033,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1997,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:2036,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
    - 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:1945,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_array_index
      Src: /src/glib/gobject/tests/signals.c:1960,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1965,1
    - Dst: g_param_spec_long
      Src: /src/glib/gobject/tests/signals.c:1975,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1984,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1985,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:2010,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1994,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1932,1
    - Dst: g_signal_emitv
      Src: /src/glib/gobject/tests/signals.c:2023,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/tests/signals.c:1989,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/signals.c:2025,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:2037,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_value_set_flags
      Src: /src/glib/gobject/tests/signals.c:1961,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:1958,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gobject/tests/signals.c:1989,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:1991,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2005,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:2006,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1999,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:2011,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:2020,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1995,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:1928,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1936,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1945,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_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:1948,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1968,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1951,1
    - Dst: g_array_set_size
      Src: /src/glib/gobject/tests/signals.c:1935,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2021,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gobject/tests/signals.c:1995,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_take_param
      Src: /src/glib/gobject/tests/signals.c:1974,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1973,1
    - Dst: g_value_set_enum
      Src: /src/glib/gobject/tests/signals.c:1958,1
    - 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_array_index
      Src: /src/glib/gobject/tests/signals.c:1961,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1987,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:2026,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: g_value_set_object
      Src: /src/glib/gobject/tests/signals.c:1985,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2025,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:2022,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_schar
    - g_value_set_float
    - g_value_set_string
    - g_value_set_pointer
    - g_object_new
    - g_value_set_long
    - g_clear_signal_handler
    - g_value_set_double
    - g_value_get_int
    - g_test_assert_expected_messages
    - g_value_set_uint
    - g_value_init
    - g_param_spec_long
    - test_get_type
    - g_value_set_int64
    - g_assert_cmpint
    - g_variant_new_uint16
    - g_signal_add_emission_hook
    - g_array_set_size
    - g_array_index
    - g_object_unref
    - g_value_set_enum
    - g_test_expect_message
    - g_value_set_int
    - g_value_set_object
    - g_value_take_param
    - g_value_take_boxed
    - g_signal_emitv
    - g_value_set_uchar
    - g_array_set_clear_func
    - g_value_set_boolean
    - g_value_set_flags
    - g_signal_connect
    - g_bytes_new_static
    - g_assert_cmpuint
    - g_array_new
    - G_CALLBACK
    - g_variant_ref_sink
    - g_value_set_ulong
    - g_signal_lookup
    - g_array_unref
    - g_value_set_uint64
    - g_signal_remove_emission_hook
    - g_value_take_variant
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_emitv (void) '
  - 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: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1430,1
    - Dst: g_object_new
      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_signal_emit_by_name
    - g_test_message
    - g_signal_connect
    - g_signal_connect_after
    - g_object_new
    - g_free
    - g_assert_cmpstr
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_accumulator_class (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1724,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: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1728,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/signals.c:1726,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_signal_lookup
      Src: /src/glib/gobject/tests/signals.c:1738,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1738,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/signals.c:1740,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_assert_cmpint
    - g_type_class_unref
    - g_signal_lookup
    - g_test_summary
    - test_get_type
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1746,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/tests/signals.c:1755,1
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/signals.c:1748,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: 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_assert_cmpint
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_type_class_unref
    - g_signal_lookup
    - g_test_summary
    - test_get_type
    - g_type_class_ref
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_list_ids
      Src: /src/glib/gobject/tests/signals.c:1497,1
    - Dst: g_strv_length
      Src: /src/glib/gobject/tests/signals.c:1498,1
    - Dst: g_signal_name
      Src: /src/glib/gobject/tests/signals.c:1502,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1497,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1498,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_true
      Src: /src/glib/gobject/tests/signals.c:1509,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signals.c:1514,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: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1512,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_cmpint
    - g_free
    - in_set
    - g_signal_list_ids
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_signal_query
    - g_signal_name
    - test_get_type
    - g_assert_true
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void test_introspection (void) '
  - 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_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:270,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:464,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:407,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:540,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:343,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: test_unsigned_enum_get_type
      Src: /src/glib/gobject/tests/signals.c:333,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:354,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:319,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:377,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: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: 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: test_get_type
      Src: /src/glib/gobject/tests/signals.c:486,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_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:320,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:336,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:491,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_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_signal_new
      Src: /src/glib/gobject/tests/signals.c:490,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:397,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:353,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:433,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:229,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:261,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gobject/tests/signals.c:460,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: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:344,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:406,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_signal_new
      Src: /src/glib/gobject/tests/signals.c:388,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_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_set_va_marshaller
      Src: /src/glib/gobject/tests/signals.c:377,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:369,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_signal_new
      Src: /src/glib/gobject/tests/signals.c:463,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:398,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:238,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:517,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: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:269,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_signal_new
      Src: /src/glib/gobject/tests/signals.c:361,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:245,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:400,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:456,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:278,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:389,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_enum_register_static
    - foo_get_type
    - G_TYPE_FROM_CLASS
    - test_enum_get_type
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - g_flags_register_static
    - test_get_type
    - test_unsigned_enum_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_class_init (TestClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:602,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:603,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: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_cmpfloat
    - g_assert_cmpint
    - g_assert_null
    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_object_new
      Src: /src/glib/gobject/tests/signals.c:673,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:676,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:680,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:678,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:673,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_object_unref
      Src: /src/glib/gobject/tests/signals.c:694,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:692,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:691,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_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_enum_return_signed (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_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:768,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_signal_connect
      Src: /src/glib/gobject/tests/signals.c:785,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: 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_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:780,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_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:790,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:799,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:761,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:791,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:800,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:801,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:769,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_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_int_return (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:999,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_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_variant_unref
      Src: /src/glib/gobject/tests/signals.c:1053,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1027,1
    - Dst: g_param_spec_long
      Src: /src/glib/gobject/tests/signals.c:981,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1011,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:1016,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:1031,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_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1032,1
    - 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:1001,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1006,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1003,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:1034,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:1045,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1048,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gobject/tests/signals.c:984,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_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1010,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:1013,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1011,1
    - Dst: G_CALLBACK
      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:1043,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1050,1
    - Dst: g_bytes_unref
      Src: /src/glib/gobject/tests/signals.c:1052,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1037,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_signal_emit_by_name
    - g_assert_cmpint
    - g_signal_connect
    - g_object_new
    - g_bytes_new_static
    - g_variant_new_uint16
    - g_variant_unref
    - test_get_type
    - g_object_unref
    - g_bytes_unref
    - G_CALLBACK
    - g_param_spec_long
    - g_param_spec_unref
    - g_variant_ref_sink
    linkageType: ''
    returnType: void
    signature: 'static void test_all_types (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: 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:
    - 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_signal_emit_by_name
    - g_signal_connect
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_1 (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_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: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:719,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:716,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_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:734,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:737,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:735,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_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    - g_signal_handler_disconnect
    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: 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_object_new
      Src: /src/glib/gobject/tests/signals.c:1062,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1066,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1069,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1062,1
    - Dst: g_object_connect
      Src: /src/glib/gobject/tests/signals.c:1064,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:1082,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1086,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1079,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_connect
    - g_signal_emit_by_name
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - g_object_disconnect
    - test_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_connect (void) '
  - 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:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/signals.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    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_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1775,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1780,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: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1796,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1797,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1802,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: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1780,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1782,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1783,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1791,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:1805,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1808,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1809,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:1821,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/signals.c:1777,1
    - 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:1796,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1799,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1803,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1814,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1816,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:1820,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1777,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1788,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1802,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1808,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1810,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1817,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/signals.c:1823,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1815,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_cmpint
    - g_assert_false
    - g_signal_parse_name
    - g_type_class_unref
    - g_test_summary
    - test_get_type
    - g_assert_true
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_name (void) '
  - 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:635,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:638,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:637,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_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:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:918,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:918,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:920,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:925,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_signal_emit_by_name
    - g_signal_connect
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_custom_marshaller (void) '
  - 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:
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/signals.c:1288,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_cmpint
      Src: /src/glib/gobject/tests/signals.c:1291,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_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_value_set_int
      Src: /src/glib/gobject/tests/signals.c:1319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1311,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/signals.c:1316,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_false
    - g_assert_cmpint
    - g_value_get_int
    - g_assert_not_reached
    - g_value_set_int
    - g_assert_true
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean accumulator_sum (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: 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: 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_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_value_set_string
      Src: /src/glib/gobject/tests/signals.c:1382,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_get_string
    - g_value_set_string
    - g_value_take_string
    - g_assert_nonnull
    - g_strconcat
    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: 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:
    - 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:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:645,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:649,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:647,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_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_signal_emit_by_name
    - g_signal_connect
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:879,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:884,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:886,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:882,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:879,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_signal_emit_by_name
    - g_signal_connect
    - g_object_new
    - foo_get_type
    - g_object_unref
    - g_type_check_instance_is_a
    - G_CALLBACK
    - test_get_type
    - g_assert_true
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_interface_return (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1273,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:1275,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_signal_emit_by_name
    - g_signal_connect
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_invocation_hint (void) '
  - 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: []
    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_strdup
      Src: /src/glib/gobject/tests/signals.c:1392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    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:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/signals.c:1404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - test
    argTypes:
    - Test*
    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: 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_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2055,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2061,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2063,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2073,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2074,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2075,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2076,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2077,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2078,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2079,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/signals.c:2082,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2070,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/signals.c:2053,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2057,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2060,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2084,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2058,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2056,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2059,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2068,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2067,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2069,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2071,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2066,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2072,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2065,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2062,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2064,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/signals.c:2086,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/signals.c:2081,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2080,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/signals.c:2083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2087
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2087
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_test_add_data_func
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1637,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/signals.c:1639,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1638,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1638,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1637,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_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1646,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1648,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_signal_emit_by_name
    - g_signal_connect
    - g_signal_connect_after
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_stop_emission (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gobject/tests/signals.c:70,1
    - Dst: g_enum_register_static
      Src: /src/glib/gobject/tests/signals.c:80,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/tests/signals.c:80,1
    - Dst: g_once_init_leave
      Src: /src/glib/gobject/tests/signals.c:81,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_enum_register_static
    - g_intern_static_string
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: GType
    signature: 'static GType test_enum_get_type (void) '
  - 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: []
    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: 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:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:939,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:943,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gobject/tests/signals.c:950,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/signals.c:947,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:938,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:941,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_cmpenum
      Src: /src/glib/gobject/tests/signals.c:944,1
    - Dst: g_assert_cmpflags
      Src: /src/glib/gobject/tests/signals.c:945,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/signals.c:949,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_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_cmpstr
      Src: /src/glib/gobject/tests/signals.c:948,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:952,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:951,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_cmpint
    - g_bytes_get_data
    - g_assert_cmpfloat
    - g_assert_cmpflags
    - g_assert_cmpuint
    - g_variant_get_uint16
    - g_assert_cmpstr
    - g_param_spec_get_nick
    - g_assert_true
    - g_assert_cmpenum
    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:
    - 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: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1108,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: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_object_unref
      Src: /src/glib/gobject/tests/signals.c:1116,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1115,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_signal_emit_by_name
    - g_object_new
    - g_object_unref
    - g_signal_connect_object
    - G_CALLBACK
    - test_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_destroy_target_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1166,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1211,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_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1220,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1230,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1239,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1236,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1234,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1238,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:1180,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_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1196,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1201,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/tests/signals.c:1203,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1209,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1225,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1208,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:1198,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1163,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1162,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_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1178,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1176,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:1172,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1185,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1186,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1190,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1212,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1215,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1226,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1214,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:1200,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1217,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1162,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1163,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1165,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1168,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1171,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1179,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_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1195,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1213,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1243,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1231,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1242,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_signal_emit_by_name
    - g_clear_signal_handler
    - g_assert_cmpint
    - g_signal_connect
    - g_object_new
    - g_test_assert_expected_messages
    - g_signal_add_emission_hook
    - g_object_unref
    - g_test_expect_message
    - G_CALLBACK
    - test_get_type
    - g_signal_remove_emission_hook
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_hook (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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/tests/signals.c:46,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: g_value_peek_pointer
      Src: /src/glib/gobject/tests/signals.c:51,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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gobject/tests/signals.c:92,1
    - Dst: g_once_init_leave
      Src: /src/glib/gobject/tests/signals.c:101,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/tests/signals.c:100,1
    - Dst: g_enum_register_static
      Src: /src/glib/gobject/tests/signals.c:100,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_enum_register_static
    - g_intern_static_string
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: GType
    signature: 'static GType test_unsigned_enum_get_type (void) '
  - 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_variant_ref
      Src: /src/glib/gobject/tests/signals.c:575,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:578,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/signals.c:579,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_assert_true
      Src: /src/glib/gobject/tests/signals.c:583,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/signals.c:576,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_true
      Src: /src/glib/gobject/tests/signals.c:576,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/signals.c:586,1
    - Dst: g_variant_ref
      Src: /src/glib/gobject/tests/signals.c:582,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_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_signal_emit_by_name
    - g_assert_false
    - g_variant_is_floating
    - g_object_new
    - g_variant_unref
    - g_object_unref
    - g_variant_new_boolean
    - g_variant_ref
    - test_get_type
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_variant_signal (void) '
  - 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: 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: 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_get_invocation_hint
      Src: /src/glib/gobject/tests/signals.c:1251,1
    - Dst: g_signal_name
      Src: /src/glib/gobject/tests/signals.c:1253,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
    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_object_new
      Src: /src/glib/gobject/tests/signals.c:1356,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1361,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1356,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/signals.c:1361,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/signals.c:1362,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_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
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1368,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_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    - g_signal_connect_after
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - test_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_accumulator (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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1693,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1695,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1693,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1695,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1696,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_clear_signal_handler
      Src: /src/glib/gobject/tests/signals.c:1710,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1712,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1711,1
    - Dst: g_random_int_range
      Src: /src/glib/gobject/tests/signals.c:1707,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1715,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1708,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_signal_emit_by_name
    - g_clear_signal_handler
    - g_signal_connect
    - g_test_undefined
    - g_object_new
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - g_random_int_range
    - g_object_unref
    - g_test_expect_message
    - G_CALLBACK
    - test_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_signal_handler (void) '
  - 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_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_run
      Src: /src/glib/gobject/tests/max-version.c:46,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/max-version.c:45,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:410,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:411,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/bindinggroup.c:419,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:420,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:422,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:427,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_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:398,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:414,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:429,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:440,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:441,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_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:412,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:426,1
    - 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_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:430,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:436,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_binding_group_set_source
    - g_assert_true
    - g_object_new
    - g_binding_group_new
    - g_assert_cmpfloat
    - g_object_set
    - g_object_unref
    - binding_source_get_type
    - g_binding_group_bind
    - g_assert_null
    - g_binding_group_dup_source
    - G_N_ELEMENTS
    - binding_target_get_type
    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: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:458,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:457,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_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:484,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:485,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_binding_group_set_source
    - g_assert_false
    - g_assert_true
    - g_object_new
    - g_binding_group_new
    - g_binding_group_bind_full
    - g_assert_cmpfloat
    - g_object_set
    - g_object_unref
    - binding_source_get_type
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_transform (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: binding_source_get_type
      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: 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_assert_cmpint
      Src: /src/glib/gobject/tests/bindinggroup.c:556,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
    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_binding_group_set_source
    - g_assert_cmpint
    - g_object_new
    - g_binding_group_new
    - g_object_set
    - g_object_unref
    - binding_source_get_type
    - g_binding_group_bind
    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_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:656,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/bindinggroup.c:659,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:658,1
    - Dst: binding_source_get_type
      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_binding_group_set_source
    - g_object_new
    - g_binding_group_new
    - 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_CALLBACK
      Src: /src/glib/gobject/tests/bindinggroup.c:498,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
    - 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_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:513,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:525,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:521,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/bindinggroup.c:522,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_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:512,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:527,1
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:493,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:495,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:494,1
    - Dst: binding_target_get_type
      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_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:516,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/bindinggroup.c:498,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:515,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:529,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_binding_group_set_source
    - g_assert_false
    - g_assert_true
    - g_object_new
    - g_binding_group_new
    - g_cclosure_new
    - g_assert_cmpfloat
    - g_object_set
    - g_binding_group_bind_with_closures
    - g_object_unref
    - binding_source_get_type
    - G_CALLBACK
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_transform_closures (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_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
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:572,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:573,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:573,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/bindinggroup.c:582,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:586,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:587,1
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:578,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:591,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:588,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:593,1
    - 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:594,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:588,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_binding_group_set_source
    - G_OBJECT
    - g_assert_true
    - g_object_new
    - g_binding_group_new
    - g_object_set
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_binding_group_bind
    - g_assert_null
    - g_binding_group_dup_source
    - binding_target_get_type
    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_target_get_type
      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: 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_bind_full
    - g_binding_group_new
    - binding_source_get_type
    - g_assert_finalize_object
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_empty_closures (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:263,1
    - Dst: G_VALUE_HOLDS
      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_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_VALUE_HOLDS
    - g_value_set_double
    - g_test_verbose
    - g_value_get_double
    - g_assert_true
    - g_printerr
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/bindinggroup.c:63,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/bindinggroup.c:71,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/bindinggroup.c:67,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/bindinggroup.c:75,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/bindinggroup.c:79,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_OBJECT_WARN_INVALID_PROPERTY_ID
    - 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/bindinggroup.c:285,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/bindinggroup.c:285,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/bindinggroup.c:286,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:286,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_VALUE_HOLDS
    - g_value_set_double
    - g_test_verbose
    - g_value_get_double
    - g_assert_true
    - g_printerr
    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_test_init
      Src: /src/glib/gobject/tests/bindinggroup.c:682,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:684,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:683,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - 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_boolean
      Src: /src/glib/gobject/tests/bindinggroup.c:106,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/bindinggroup.c:98,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_double
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void binding_source_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - 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_OBJECT_WARN_INVALID_PROPERTY_ID
    - 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: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/bindinggroup.c:229,1
    - Dst: g_param_spec_double
      Src: /src/glib/gobject/tests/bindinggroup.c:240,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/bindinggroup.c:235,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/bindinggroup.c:239,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_object_class_install_property
    - g_param_spec_int
    - g_param_spec_boolean
    - g_param_spec_double
    - 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: g_object_new
      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: binding_source_get_type
      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_set
      Src: /src/glib/gobject/tests/bindinggroup.c:617,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:620,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_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:619,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_binding_group_set_source
    - G_OBJECT
    - g_object_new
    - g_binding_group_new
    - g_assert_cmpfloat
    - g_object_set
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_binding_group_bind
    - g_assert_null
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_weak_ref_target (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/bindinggroup.c:117,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_param_spec_int
      Src: /src/glib/gobject/tests/bindinggroup.c:128,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/bindinggroup.c:123,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_object_class_install_property
    - g_param_spec_int
    - g_param_spec_boolean
    - g_param_spec_double
    - 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_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/bindinggroup.c:222,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/bindinggroup.c:214,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/bindinggroup.c:218,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_double
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    - g_value_set_boolean
    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_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:628,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:627,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:628,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:640,1
    - Dst: G_OBJECT
      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: 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: 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_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
    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_binding_group_set_source
    - G_OBJECT
    - g_assert_true
    - g_object_new
    - g_binding_group_new
    - g_object_set
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_binding_group_bind
    - g_assert_null
    - binding_target_get_type
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:325,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:338,1
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:302,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:303,1
    - Dst: g_object_new
      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: 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_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_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:337,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_binding_group_set_source
    - g_object_new
    - g_binding_group_new
    - g_test_assert_expected_messages
    - g_object_unref
    - binding_source_get_type
    - g_test_expect_message
    - g_binding_group_bind
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:346,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_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:376,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:390,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_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:345,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_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:366,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:374,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/bindinggroup.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/bindinggroup.c:368,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_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_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:360,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:377,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_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:382,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_binding_group_set_source
    - g_assert_cmpint
    - g_assert_true
    - g_object_new
    - g_binding_group_new
    - g_object_set
    - g_object_unref
    - binding_source_get_type
    - g_binding_group_bind
    - g_assert_null
    - g_binding_group_dup_source
    - G_N_ELEMENTS
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_default (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_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_object_add_weak_pointer
      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_OBJECT
    - g_assert_nonnull
    - g_object_add_weak_pointer
    - test_auto_cleanup_new
    - g_steal_pointer
    - g_assert_null
    - g_assert_true
    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:153,1
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:155,1
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:154,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:157,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: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:170,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/autoptr.c:175,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:171,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:176,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_OBJECT
    - g_assert_nonnull
    - g_clear_object
    - g_object_add_weak_pointer
    - test_auto_cleanup_new
    - g_slist_prepend
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_autoslist (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: G_OBJECT
      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_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_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:203,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/autoptr.c:208,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_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:206,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
    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_OBJECT
    - g_assert_nonnull
    - g_clear_object
    - g_queue_new
    - g_queue_push_tail
    - g_object_add_weak_pointer
    - test_auto_cleanup_new
    - g_assert_null
    - g_queue_push_head
    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: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - g_object_new
    - test_auto_cleanup_get_type
    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: test_base_auto_cleanup_get_type
      Src: /src/glib/gobject/tests/autoptr.c:218,1
    - Dst: test_auto_cleanup_get_type
      Src: /src/glib/gobject/tests/autoptr.c:219,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/autoptr.c:219,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:
    - g_assert_nonnull
    - g_type_class_ref
    - test_auto_cleanup_get_type
    - test_base_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:233,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:231,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: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_run
    - g_test_init
    - g_test_add_func
    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_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:77,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:77,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:84,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:81,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_OBJECT
    - g_assert_nonnull
    - g_object_add_weak_pointer
    - test_auto_cleanup_new
    - g_assert_null
    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:117,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:119,1
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:118,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: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_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:137,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:138,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:140,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/autoptr.c:142,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:143,1
    - Dst: g_list_prepend
      Src: /src/glib/gobject/tests/autoptr.c:129,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_OBJECT
    - g_assert_nonnull
    - g_clear_object
    - g_list_prepend
    - g_object_add_weak_pointer
    - test_auto_cleanup_new
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_autolist (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_take_string
      Src: /src/glib/gobject/tests/value.c:489,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/tests/value.c:551,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:497,1
    - Dst: g_value_set_interned_string
      Src: /src/glib/gobject/tests/value.c:576,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:586,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/value.c:553,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:562,1
    - 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_init
      Src: /src/glib/gobject/tests/value.c:552,1
    - Dst: g_value_set_interned_string
      Src: /src/glib/gobject/tests/value.c:554,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/value.c:583,1
    - Dst: G_VALUE_IS_INTERNED_STRING
      Src: /src/glib/gobject/tests/value.c:584,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:587,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:588,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/value.c:509,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:469,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:528,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_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:529,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:542,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/value.c:540,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:512,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:553,1
    - Dst: G_VALUE_IS_INTERNED_STRING
      Src: /src/glib/gobject/tests/value.c:555,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:561,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:579,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:580,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/value.c:434,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/value.c:440,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:464,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/value.c:487,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:513,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:492,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:530,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:537,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_get_string
      Src: /src/glib/gobject/tests/value.c:524,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:575,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:504,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:501,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:455,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:535,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/value.c:521,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:438,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:477,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:520,1
    - Dst: G_VALUE_IS_INTERNED_STRING
      Src: /src/glib/gobject/tests/value.c:569,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:563,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:571,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_true
      Src: /src/glib/gobject/tests/value.c:525,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:506,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:456,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:505,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:590,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/value.c:474,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/value.c:502,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:533,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/value.c:453,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:515,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:521,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:536,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:567,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:487,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:511,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_false
      Src: /src/glib/gobject/tests/value.c:584,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:480,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:543,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:546,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/value.c:534,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:555,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:557,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:569,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:572,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:577,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:544,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/tests/value.c:475,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/value.c:522,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:558,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:495,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_cmpstr
      Src: /src/glib/gobject/tests/value.c:496,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/value.c:568,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/tests/value.c:527,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/tests/value.c:560,1
    - Dst: G_VALUE_IS_INTERNED_STRING
      Src: /src/glib/gobject/tests/value.c:577,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 153
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 591
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 591
    functionName: test_value_string
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_value_get_string
    - g_value_set_string
    - g_free
    - g_strdup
    - G_VALUE_HOLDS_STRING
    - g_value_take_string
    - g_intern_static_string
    - g_assert_false
    - g_value_set_interned_string
    - g_value_unset
    - g_assert_cmpstr
    - g_value_init
    - G_VALUE_IS_INTERNED_STRING
    - g_test_summary
    - g_value_set_static_string
    - g_assert_true
    - g_value_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_value_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:620,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:622,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:635,1
    - Dst: g_value_array_new
      Src: /src/glib/gobject/tests/value.c:611,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:613,1
    - Dst: g_value_array_append
      Src: /src/glib/gobject/tests/value.c:617,1
    - Dst: g_value_array_remove
      Src: /src/glib/gobject/tests/value.c:625,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/value.c:629,1
    - Dst: g_value_array_copy
      Src: /src/glib/gobject/tests/value.c:637,1
    - Dst: g_value_array_prepend
      Src: /src/glib/gobject/tests/value.c:630,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:639,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:639,1
    - Dst: g_value_array_free
      Src: /src/glib/gobject/tests/value.c:642,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:622,1
    - Dst: g_value_array_free
      Src: /src/glib/gobject/tests/value.c:641,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/value.c:616,1
    - Dst: g_value_array_get_nth
      Src: /src/glib/gobject/tests/value.c:621,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:635,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:639,1
    - Dst: g_value_array_sort
      Src: /src/glib/gobject/tests/value.c:633,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:635,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 643
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 643
    functionName: test_valuearray_basic
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_value_array_new
    - g_value_array_prepend
    - g_assert_cmpint
    - g_value_array_copy
    - g_value_array_get_nth
    - g_value_get_int
    - g_value_array_sort
    - g_value_array_remove
    - g_value_init
    - g_value_set_int
    - g_value_array_append
    - g_value_array_free
    linkageType: ''
    returnType: void
    signature: 'static void test_valuearray_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectBClass*
    constantsTouched: []
    func_position:
      end: 674
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 674
    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_value_get_int
      Src: /src/glib/gobject/tests/value.c:599,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 600
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 600
    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:
    - b
    argTypes:
    - TestObjectB*
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    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: g_test_init
      Src: /src/glib/gobject/tests/value.c:742,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:747,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:744,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:745,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:746,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:748,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:749,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:750,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:751,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/value.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 754
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 754
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gobject/tests/value.c:130,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/tests/value.c:131,1
    - Dst: va_end
      Src: /src/glib/gobject/tests/value.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - value
    - '...'
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: lcopy
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - va_end
    - G_VALUE_LCOPY
    - va_start
    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_variant_new_uint32
      Src: /src/glib/gobject/tests/value.c:374,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:306,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:354,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:362,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:342,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:365,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gobject/tests/value.c:296,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_variant_get_uint32
      Src: /src/glib/gobject/tests/value.c:379,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:331,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_value_set_char
      Src: /src/glib/gobject/tests/value.c:241,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:242,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:295,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_assert
      Src: /src/glib/gobject/tests/value.c:299,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:240,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:261,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:266,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:277,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:294,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: g_value_set_string
      Src: /src/glib/gobject/tests/value.c:351,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_float
      Src: /src/glib/gobject/tests/value.c:329,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:338,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:320,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/value.c:332,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_value_set_uchar
      Src: /src/glib/gobject/tests/value.c:252,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:264,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:352,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: g_assert
      Src: /src/glib/gobject/tests/value.c:378,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:273,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:319,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: 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_set_gtype
      Src: /src/glib/gobject/tests/value.c:363,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
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:339,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_variant
      Src: /src/glib/gobject/tests/value.c:374,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_int64
      Src: /src/glib/gobject/tests/value.c:307,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:381,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:308,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_init
      Src: /src/glib/gobject/tests/value.c:350,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
    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_float
    - g_value_set_string
    - g_value_set_long
    - g_value_set_double
    - g_value_set_uint
    - g_value_set_char
    - g_value_init
    - g_value_set_int64
    - g_assert_cmpint
    - g_assert_nonnull
    - g_value_set_int
    - g_value_set_uchar
    - lcopy
    - g_assert_cmpuint
    - g_variant_unref
    - g_assert_null
    - g_value_set_gtype
    - g_value_set_variant
    - G_VARIANT_TYPE
    - g_free
    - g_assert
    - g_variant_new_uint32
    - g_value_set_ulong
    - g_assert_cmpstr
    - g_variant_get_uint32
    - g_value_set_uint64
    - g_assert_true
    - g_value_unset
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void test_copying (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    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:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:173,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:180,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:186,1
    - Dst: g_value_get_ulong
      Src: /src/glib/gobject/tests/value.c:182,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_assert_null
      Src: /src/glib/gobject/tests/value.c:205,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gobject/tests/value.c:226,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:216,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_cmpfloat
      Src: /src/glib/gobject/tests/value.c:206,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:212,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/tests/value.c:218,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:192,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/value.c:206,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:179,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_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:164,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:204,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:198,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:224,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:194,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_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:158,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:161,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_assert_null
      Src: /src/glib/gobject/tests/value.c:145,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:223,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:228,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:212,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:197,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:146,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_get_uchar
      Src: /src/glib/gobject/tests/value.c:152,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:164,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:215,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:148,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:160,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:169,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: 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: g_value_get_uint64
      Src: /src/glib/gobject/tests/value.c:194,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_init
      Src: /src/glib/gobject/tests/value.c:185,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:217,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
    - 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_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:211,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:181,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:187,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:226,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:166,1
    - Dst: g_value_get_uint
      Src: /src/glib/gobject/tests/value.c:170,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:220,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:176,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:208,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:222,1
    - Dst: g_value_get_variant
      Src: /src/glib/gobject/tests/value.c:224,1
    - Dst: g_value_get_int64
      Src: /src/glib/gobject/tests/value.c:188,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:174,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:203,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/value.c:146,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:157,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:154,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:162,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_value_get_int
    - g_value_get_variant
    - g_value_init
    - g_value_get_ulong
    - g_value_get_double
    - g_assert_cmpint
    - g_value_get_string
    - g_value_get_gtype
    - g_value_get_uint64
    - g_value_get_char
    - g_value_get_uchar
    - g_assert_cmpfloat
    - g_assert_cmpuint
    - g_value_get_uint
    - g_assert_null
    - g_value_get_long
    - g_value_get_float
    - g_value_get_boolean
    - G_VARIANT_TYPE
    - g_value_get_int64
    - collect
    - g_variant_new_uint32
    - g_assert_cmpstr
    - g_variant_get_uint32
    - g_assert_true
    - g_value_unset
    - g_variant_is_of_type
    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_value_unset
      Src: /src/glib/gobject/tests/value.c:392,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:398,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:400,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_cmpint
      Src: /src/glib/gobject/tests/value.c:403,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/tests/value.c:397,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:408,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_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_HOLDS_INT
      Src: /src/glib/gobject/tests/value.c:398,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/value.c:402,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_IS_VALUE
      Src: /src/glib/gobject/tests/value.c:406,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_VALUE_HOLDS_UINT
      Src: /src/glib/gobject/tests/value.c:399,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_false
    - g_assert_cmpint
    - G_IS_VALUE
    - g_value_get_int
    - g_value_reset
    - g_value_init
    - g_value_set_int
    - G_VALUE_HOLDS_INT
    - g_assert_true
    - g_value_unset
    - G_VALUE_HOLDS_UINT
    linkageType: ''
    returnType: void
    signature: 'static void test_value_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 685
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 685
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - TestObjectA2*
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 689
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_object_a_get_type
      Src: /src/glib/gobject/tests/value.c:701,1
    - Dst: test_object_a1_get_type
      Src: /src/glib/gobject/tests/value.c:703,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/value.c:707,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/value.c:712,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/tests/value.c:726,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:727,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:728,1
    - Dst: test_interface_get_type
      Src: /src/glib/gobject/tests/value.c:700,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/value.c:714,1
    - Dst: G_TYPE_CHECK_INSTANCE_TYPE
      Src: /src/glib/gobject/tests/value.c:716,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/value.c:723,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:726,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:729,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/value.c:729,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/value.c:735,1
    - Dst: test_object_a2_get_type
      Src: /src/glib/gobject/tests/value.c:704,1
    - Dst: test_object_b_get_type
      Src: /src/glib/gobject/tests/value.c:702,1
    - Dst: G_TYPE_IS_CLASSED
      Src: /src/glib/gobject/tests/value.c:709,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:719,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/value.c:721,1
    - Dst: g_type_name
      Src: /src/glib/gobject/tests/value.c:725,1
    - Dst: G_TYPE_CHECK_INSTANCE_TYPE
      Src: /src/glib/gobject/tests/value.c:729,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/value.c:725,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/value.c:720,1
    - Dst: g_type_name
      Src: /src/glib/gobject/tests/value.c:725,1
    - Dst: g_type_name
      Src: /src/glib/gobject/tests/value.c:725,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/value.c:721,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:728,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:730,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:732,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 737
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 737
    functionName: test_value_transform_object
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_value_init
    - test_interface_get_type
    - G_TYPE_CHECK_INSTANCE_TYPE
    - G_TYPE_IS_CLASSED
    - g_value_transform
    - g_assert_cmpint
    - test_object_b_get_type
    - g_object_unref
    - g_type_name
    - g_value_get_object
    - g_value_set_object
    - test_object_a_get_type
    - g_value_type_transformable
    - test_object_a2_get_type
    - test_object_a1_get_type
    - g_test_message
    - G_N_ELEMENTS
    - g_assert_true
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_value_transform_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:95,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_assert_true
      Src: /src/glib/gobject/tests/value.c:99,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_value_init
    - g_value_get_gtype
    - g_value_set_gtype
    - g_assert_true
    - g_value_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_gtype_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 661
    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:
    - a
    argTypes:
    - TestObjectA*
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectA1Class*
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    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:
    - Dst: g_value_set_enum
      Src: /src/glib/gobject/tests/value.c:43,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: 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_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:84,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:47,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:54,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_get_int64
      Src: /src/glib/gobject/tests/value.c:79,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: memset
      Src: /src/glib/gobject/tests/value.c:45,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:59,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:64,1
    - Dst: g_value_get_uint
      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_value_get_uint64
      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_get_uchar
      Src: /src/glib/gobject/tests/value.c:54,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:53,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_init
      Src: /src/glib/gobject/tests/value.c:67,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:73,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:83,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_enum_register_static
    - g_value_transform
    - g_assert_cmpint
    - g_value_get_uchar
    - g_value_get_int64
    - g_value_get_int
    - g_value_get_schar
    - g_value_get_uint
    - g_value_set_enum
    - g_value_init
    - memset
    - g_value_get_ulong
    - g_value_get_char
    - g_value_get_long
    - g_value_get_uint64
    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: 1
    argNames:
    - value
    - '...'
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: collect
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - G_VALUE_COLLECT
    - va_end
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *collect (GValue *value, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectAClass*
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - TestObjectA1*
    constantsTouched: []
    func_position:
      end: 681
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 681
    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:
    - class
    argTypes:
    - TestObjectA2Class*
    constantsTouched: []
    func_position:
      end: 688
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 688
    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: 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: 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: 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: g_test_thorough
      Src: /src/glib/gobject/tests/threadtests.c:250,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/threadtests.c:302,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/tests/threadtests.c:318,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/threadtests.c:314,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_test_verbose
      Src: /src/glib/gobject/tests/threadtests.c:342,1
    - Dst: my_tester0_get_type
      Src: /src/glib/gobject/tests/threadtests.c:279,1
    - Dst: g_assert_no_error
      Src: /src/glib/gobject/tests/threadtests.c:297,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:321,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:327,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_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_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_printerr
      Src: /src/glib/gobject/tests/threadtests.c:276,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_weak_ref_get
      Src: /src/glib/gobject/tests/threadtests.c:305,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/threadtests.c:326,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/threadtests.c:343,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_object_new
    - g_test_verbose
    - g_random_int_range
    - G_IS_OBJECT
    - g_usleep
    - g_weak_ref_clear
    - g_object_remove_weak_pointer
    - g_test_thorough
    - g_object_unref
    - g_weak_ref_get
    - g_thread_join
    - my_tester0_get_type
    - g_object_ref
    - g_thread_create
    - g_assert_no_error
    - g_object_add_weak_pointer
    - g_printerr
    - g_assert
    - g_weak_ref_init
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_weak_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/threadtests.c:400,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/threadtests.c:406,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/threadtests.c:401,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/threadtests.c:412,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_assert_cmpint
    - g_object_new
    - g_object_weak_ref
    - g_object_unref
    - GUINT_TO_POINTER
    - g_weak_ref_init
    - g_thread_unref
    - g_weak_ref_get
    - g_thread_new
    - g_assert_null
    - g_test_summary
    - g_test_bug
    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: g_mutex_lock
      Src: /src/glib/gobject/tests/threadtests.c:106,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/threadtests.c:109,1
    - Dst: my_face0_get_type
      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:
    - my_face2_get_type
    - my_face0_get_type
    - G_TYPE_FROM_CLASS
    - g_type_class_unref
    - g_mutex_unlock
    - g_type_default_interface_unref
    - g_type_add_interface_static
    - g_type_default_interface_ref
    - g_type_class_ref
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer tester_init_thread (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - 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_test_verbose
      Src: /src/glib/gobject/tests/threadtests.c:136,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:143,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/threadtests.c:140,1
    - 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_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_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_thread_create
      Src: /src/glib/gobject/tests/threadtests.c:128,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:137,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:141,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/threadtests.c:138,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:146,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_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:147,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:
    - my_tester0_get_type
    - g_assert_cmpint
    - g_thread_create
    - g_test_verbose
    - my_tester2_get_type
    - g_mutex_unlock
    - g_atomic_int_get
    - g_usleep
    - g_thread_join
    - my_tester1_get_type
    - g_mutex_lock
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_class_init (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: 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_OBJECT_CLASS
      Src: /src/glib/gobject/tests/threadtests.c:176,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/threadtests.c:182,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/threadtests.c:180,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: 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_object_class_install_property
    - g_cond_signal
    - call_counter_init
    - g_mutex_unlock
    - g_param_spec_string
    - G_OBJECT_CLASS
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void prop_tester_class_init (PropTesterClass *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/threadtests.c:209,1
    - Dst: g_thread_create
      Src: /src/glib/gobject/tests/threadtests.c:211,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/threadtests.c:216,1
    - Dst: object_create
      Src: /src/glib/gobject/tests/threadtests.c:215,1
    - Dst: g_cond_wait
      Src: /src/glib/gobject/tests/threadtests.c:213,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_cond_wait
    - g_mutex_unlock
    - g_thread_join
    - object_create
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_object_init (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:372,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/threadtests.c:366,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_get
    - g_atomic_int_set
    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:438,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/threadtests.c:440,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:441,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_atomic_int_get
    - g_object_ref
    - g_object_unref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer on_reffer_thread (gpointer user_data) '
  - 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_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:
    - g_object_unref
    - prop_tester_get_type
    - 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_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_weak_ref_set
      Src: /src/glib/gobject/tests/threadtests.c:388,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_assert_cmpint
    - g_object_ref
    - g_object_unref
    - g_atomic_int_get
    - g_weak_ref_set
    - g_atomic_int_set
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer on_other_thread_weak_ref (gpointer user_data) '
  - 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_test_init
      Src: /src/glib/gobject/tests/threadtests.c:515,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/threadtests.c:522,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/threadtests.c:519,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/threadtests.c:518,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/threadtests.c:520,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/threadtests.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 526
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 526
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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_thread_yield
    - g_atomic_int_add
    linkageType: ''
    returnType: void
    signature: 'static void call_counter_init (gpointer tclass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:463,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:468,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/threadtests.c:465,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_atomic_int_add
    - g_object_ref
    - g_object_remove_toggle_ref
    - g_object_unref
    - g_atomic_int_get
    - g_object_add_toggle_ref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer on_toggler_thread (gpointer user_data) '
  - 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: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/threadtests.c:478,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:489,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/threadtests.c:483,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/threadtests.c:484,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/threadtests.c:488,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/threadtests.c:491,1
    - Dst: g_thread_new
      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_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:500,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/threadtests.c:504,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:505,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/threadtests.c:507,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/threadtests.c:502,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/threadtests.c:508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 509
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 509
    functionName: test_threaded_toggle_notify
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_object_new
    - g_clear_object
    - g_object_unref
    - g_atomic_int_get
    - g_thread_new
    - g_thread_join
    - g_object_add_toggle_ref
    - g_test_summary
    - G_N_ELEMENTS
    - g_atomic_int_set
    - g_test_bug
    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:
    - 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:
    - 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: 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_usleep
    - g_object_unref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer unref_in_thread (gpointer p) '
  - 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_OBJECT_CLASS_TYPE
    - g_signal_new
    - G_STRUCT_OFFSET
    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_OBJECT
    - g_signal_connect
    - G_CALLBACK
    - g_signal_handlers_disconnect_by_func
    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_CALLBACK
      Src: /src/glib/gobject/tests/basic-signals.c:112,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/basic-signals.c:111,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_signal_emit_by_name
    - g_signal_connect
    - g_assert_false
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - g_assert_true
    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_add_func
      Src: /src/glib/gobject/tests/basic-signals.c:135,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/basic-signals.c:133,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/basic-signals.c:137,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/basic-signals.c:129,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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:
    - 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: []
    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:
    - 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_test_expect_message
      Src: /src/glib/gobject/tests/type-flags.c:122,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:109,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/type-flags.c:128,1
    - Dst: G_TYPE_IS_FINAL
      Src: /src/glib/gobject/tests/type-flags.c:99,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:100,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:104,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:109,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/type-flags.c:116,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:105,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_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:104,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:126,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_type_test_flags
    - G_TYPE_IS_FINAL
    - g_assert_false
    - g_test_assert_expected_messages
    - g_test_expect_message
    - G_TYPE_IS_INSTANTIATABLE
    - g_assert_true
    - 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_assert_false
      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_type_check_instance_is_a
      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_false
    - g_object_new
    - g_clear_object
    - g_type_check_instance_is_a
    - g_assert_true
    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_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:26,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:29,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:38,1
    - Dst: g_type_test_flags
      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:29,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:32,1
    - Dst: G_TYPE_IS_FINAL
      Src: /src/glib/gobject/tests/type-flags.c:34,1
    - Dst: G_TYPE_IS_DERIVABLE
      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
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:23,1
    - 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:35,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:22,1
    - Dst: G_TYPE_IS_ABSTRACT
      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_CLASSED
      Src: /src/glib/gobject/tests/type-flags.c:25,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:34,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:35,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/tests/type-flags.c:37,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_type_test_flags
    - G_TYPE_IS_FINAL
    - g_assert_false
    - G_TYPE_IS_ABSTRACT
    - G_TYPE_IS_DERIVABLE
    - G_TYPE_IS_DEEP_DERIVABLE
    - G_TYPE_IS_INSTANTIATABLE
    - g_assert_true
    - 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_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:199,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/type-flags.c:215,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/type-flags.c:208,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_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
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:188,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/type-flags.c:183,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:192,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/type-flags.c:207,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/type-flags.c:210,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:194,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/type-flags.c:212,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_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_assert_nonnull
      Src: /src/glib/gobject/tests/type-flags.c:216,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:199,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
    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_type_test_flags
    - G_TYPE_IS_FINAL
    - g_assert_false
    - g_object_new
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_object_unref
    - g_type_check_instance_is_a
    - g_test_expect_message
    - G_TYPE_IS_DEPRECATED
    - g_test_summary
    - g_assert_true
    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:240,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:241,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_test_run
    - g_test_init
    - g_setenv
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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_run
    - g_test_init
    - g_test_add_func
    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: TEST_IFACE_GET_CLASS
      Src: /src/glib/gobject/tests/basics-gobject.c:119,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/tests/basics-gobject.c:117,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_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_ref
    - G_IS_OBJECT
    - g_object_unref
    - TEST_IFACE_GET_CLASS
    - TEST_IS_IFACE
    - g_return_if_fail
    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_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
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/basics-gobject.c:192,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_add_interface_static
    - g_type_add_instance_private
    - GUINT_TO_POINTER
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType test_object_get_type (void) '
  - 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_value_get_string
      Src: /src/glib/gobject/tests/basics-gobject.c:243,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/tests/basics-gobject.c:253,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/basics-gobject.c:249,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_strconcat
    - g_strdup
    - g_value_get_string
    - g_value_take_string
    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_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_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/basics-gobject.c:212,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/basics-gobject.c:209,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_OBJECT_CLASS_TYPE
    - g_signal_new
    - g_type_class_adjust_private_offset
    - G_STRUCT_OFFSET
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:262,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/basics-gobject.c:266,1
    - Dst: TEST_IS_IFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:264,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/tests/basics-gobject.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - tobject
    - iface_object
    - tdata
    argTypes:
    - TestObject*
    - TestIface*
    - gpointer
    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: 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_interface_add_prerequisite
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType test_iface_get_type (void) '
  - 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_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:
    - 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_register_static
      Src: /src/glib/gobject/tests/basics-gobject.c:358,1
    - Dst: g_type_add_instance_private
      Src: /src/glib/gobject/tests/basics-gobject.c:361,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_add_interface_static
    - g_type_add_instance_private
    - GUINT_TO_POINTER
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType derived_object_get_type (void) '
  - 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: g_assert_nonnull
      Src: /src/glib/gobject/tests/basics-gobject.c:378,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
    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:
    - test_object_get_instance_private
    - derived_object_get_instance_private
    - g_assert_nonnull
    - TEST_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void derived_object_init (DerivedObject *dobject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:101,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/basics-gobject.c:105,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/basics-gobject.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/basics-gobject.c:102,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:102,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_cmpint
    - g_assert_cmpuint
    - g_assert
    - GUINT_TO_POINTER
    - G_TYPE_FROM_INTERFACE
    linkageType: ''
    returnType: void
    signature: 'static void test_object_test_iface_init (gpointer giface, gpointer
      iface_data) '
  - 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_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_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_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: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_type_class_ref
      Src: /src/glib/gobject/tests/basics-gobject.c:411,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/basics-gobject.c:416,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/basics-gobject.c:419,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:424,1
    - Dst: TEST_IFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:426,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/basics-gobject.c:433,1
    - Dst: iface_print_string
      Src: /src/glib/gobject/tests/basics-gobject.c:426,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/basics-gobject.c:422,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:420,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_type_fundamental_next
      Src: /src/glib/gobject/tests/basics-gobject.c:403,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_check_private_init
      Src: /src/glib/gobject/tests/basics-gobject.c:414,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:418,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/basics-gobject.c:432,1
    - Dst: TEST_IFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:425,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_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_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/basics-gobject.c:405,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_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: TEST_OBJECT
      Src: /src/glib/gobject/tests/basics-gobject.c:428,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:402,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: 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
    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:
    - g_type_fundamental_next
    - g_object_new
    - g_log_set_always_fatal
    - TEST_IFACE
    - g_type_class_ref
    - g_assert_cmpint
    - G_TYPE_MAKE_FUNDAMENTAL
    - TEST_OBJECT
    - g_object_unref
    - test_object_check_private_init
    - iface_print_string
    - g_signal_emit_by_name
    - g_test_message
    - g_type_from_name
    - g_free
    - g_type_register_fundamental
    - g_assert
    - g_assert_cmpstr
    - test_object_get_instance_private
    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_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:233,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/basics-gobject.c:234,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:
    - test_object_get_instance_private
    - g_test_message
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_check_private_init (TestObject *tobject) '
  - 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: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:283,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: 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_test_message
    - g_type_interface_peek_parent
    - g_assert_null
    - TEST_IFACE_GET_CLASS
    - TEST_IS_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void print_bar (TestIface *tiobj, const gchar *string) '
  - 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_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:296,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:300,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/basics-gobject.c:296,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:297,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
    - GUINT_TO_POINTER
    - G_TYPE_FROM_INTERFACE
    linkageType: ''
    returnType: void
    signature: 'static void derived_object_test_iface_init (gpointer giface, gpointer
      iface_data) '
  - 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:
    - test_object_get_instance_private
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *tobject) '
  - 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:
    - 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_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_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:56,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_cmpint
    - g_free
    - g_boxed_copy
    - g_boxed_free
    - g_assert_cmpstr
    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:426,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:430,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:427,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:427,1
    - Dst: g_main_loop_new
      Src: /src/glib/gobject/tests/boxed.c:429,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_HOLDS_BOXED
    - g_main_loop_unref
    - g_value_init
    - g_main_loop_new
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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:514,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:518,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:515,1
    - Dst: g_assert
      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_VALUE_HOLDS_BOXED
    - g_value_init
    - g_time_zone_new_utc
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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:603,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:604,1
    - Dst: g_assert
      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_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_assert
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_checksum_free
    - g_value_unset
    - g_value_dup_boxed
    - g_checksum_new
    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:70,1
    - Dst: g_value_set_boxed_take_ownership
      Src: /src/glib/gobject/tests/boxed.c:79,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:77,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_set_boxed
      Src: /src/glib/gobject/tests/boxed.c:87,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/boxed.c:84,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/boxed.c:88,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:85,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_assert_cmpint
    - g_value_reset
    - g_boxed_copy
    - g_value_set_boxed
    - g_value_set_static_boxed
    - g_value_init
    - g_value_take_boxed
    - g_value_set_boxed_take_ownership
    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:448,1
    - Dst: g_main_context_new
      Src: /src/glib/gobject/tests/boxed.c:451,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:449,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:449,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:452,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_assert
    - G_VALUE_HOLDS_BOXED
    - g_main_context_unref
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_maincontext (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_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_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:540,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_free
    - g_assert
    - G_VALUE_HOLDS_BOXED
    - g_new
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_pollfd (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_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:187,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:188,1
    - Dst: g_string_new
      Src: /src/glib/gobject/tests/boxed.c:190,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:191,1
    - Dst: G_VALUE_HOLDS_BOXED
      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_string_free
      Src: /src/glib/gobject/tests/boxed.c:199,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:201,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_new
    - g_string_equal
    - g_assert
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_string_free
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:331,1
    - Dst: g_assert
      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_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
    - 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
    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_variant_type_peek_string
    - g_variant_type_new
    - g_assert
    - G_VALUE_HOLDS_BOXED
    - g_assert_cmpstr
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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: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_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:471,1
    - Dst: g_assert
      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_assert
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_source_unref
    - g_value_get_boxed
    - g_idle_source_new
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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:559,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_assert
      Src: /src/glib/gobject/tests/boxed.c:560,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_markup_parse_context_unref
    - g_assert
    - g_markup_parse_context_new
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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:631,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_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:635,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_VALUE_HOLDS_BOXED
    - g_tree_unref
    - g_tree_new
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_assert_true
    - g_value_unset
    - g_value_dup_boxed
    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:211,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:212,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_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_HOLDS_BOXED
    - g_value_init
    - g_hash_table_new
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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:354,1
    - Dst: g_assert
      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_VALUE_HOLDS_BOXED
      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_assert
    - G_VALUE_HOLDS_BOXED
    - g_date_time_unref
    - g_date_time_new_now_local
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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_assert
      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_variant_builder_new
      Src: /src/glib/gobject/tests/boxed.c:495,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:493,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_HOLDS_BOXED
    - g_variant_builder_new
    - g_variant_builder_unref
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_variantbuilder (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:581,1
    - Dst: g_thread_self
      Src: /src/glib/gobject/tests/boxed.c:584,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:582,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:582,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/tests/boxed.c:585,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_HOLDS_BOXED
    - g_value_set_boxed
    - g_thread_self
    - g_thread_unref
    - g_value_init
    - g_value_get_boxed
    - g_value_unset
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_thread (void) '
  - 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_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_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:654,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_pattern_spec_equal
      Src: /src/glib/gobject/tests/boxed.c:664,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/gobject/tests/boxed.c:665,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:667,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_VALUE_HOLDS_BOXED
    - g_pattern_spec_equal
    - g_value_init
    - g_pattern_spec_new
    - g_value_get_boxed
    - g_value_take_boxed
    - g_assert_true
    - g_value_unset
    - g_pattern_spec_free
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_pattern_spec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:678,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:676,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:679,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:681,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:683,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:685,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:687,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:689,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:691,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:693,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:696,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/boxed.c:702,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:675,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:677,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:680,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:682,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:684,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:686,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:688,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:690,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:692,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:694,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:698,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/boxed.c:673,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:695,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 703
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 703
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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: []
    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:136,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_assert
      Src: /src/glib/gobject/tests/boxed.c:137,1
    - Dst: g_date_new_dmy
      Src: /src/glib/gobject/tests/boxed.c:139,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_free
      Src: /src/glib/gobject/tests/boxed.c:148,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:150,1
    - Dst: g_date_compare
      Src: /src/glib/gobject/tests/boxed.c:147,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_HOLDS_BOXED
    - g_date_free
    - g_date_new_dmy
    - g_value_init
    - g_value_get_boxed
    - g_date_compare
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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:234,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/boxed.c:237,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:235,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_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_HOLDS_BOXED
    - g_array_new
    - g_value_init
    - g_array_unref
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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_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_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:284,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_regex_unref
    - g_assert
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_regex_new
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_regex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:377,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:383,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:378,1
    - Dst: g_assert
      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_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_cmpstr
      Src: /src/glib/gobject/tests/boxed.c:392,1
    - Dst: g_error_free
      Src: /src/glib/gobject/tests/boxed.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:391,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:395,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_assert_cmpint
    - g_assert
    - G_VALUE_HOLDS_BOXED
    - g_error_new_literal
    - g_error_free
    - g_assert_cmpstr
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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:112,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/boxed.c:115,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:113,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:113,1
    - Dst: g_cclosure_new
      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_closure_unref
      Src: /src/glib/gobject/tests/boxed.c:123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:126,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_assert_cmpint
    - g_cclosure_new
    - g_assert
    - G_VALUE_HOLDS_BOXED
    - g_closure_unref
    - g_value_init
    - G_CALLBACK
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    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_VALUE_HOLDS_BOXED
      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_assert
      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_VALUE_HOLDS_INT
      Src: /src/glib/gobject/tests/boxed.c:173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:174,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
      Src: /src/glib/gobject/tests/boxed.c:173,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_assert_cmpint
    - g_value_get_int
    - g_assert
    - G_VALUE_HOLDS_BOXED
    - g_boxed_free
    - g_value_init
    - g_value_set_static_boxed
    - g_value_set_int
    - G_VALUE_HOLDS_INT
    - g_value_get_boxed
    - g_value_unset
    - g_value_dup_boxed
    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:257,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:258,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_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_assert
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_ptr_array_unref
    - g_value_take_boxed
    - g_ptr_array_new
    - g_value_unset
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_ptrarray (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_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:305,1
    - Dst: g_regex_new
      Src: /src/glib/gobject/tests/boxed.c:307,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_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_match_info_unref
      Src: /src/glib/gobject/tests/boxed.c:317,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_regex_unref
    - g_assert
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_match_info_unref
    - g_value_get_boxed
    - g_value_take_boxed
    - g_regex_match
    - g_value_unset
    - g_regex_new
    - g_value_dup_boxed
    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:404,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:405,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_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:408,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_HOLDS_BOXED
    - g_value_init
    - g_key_file_unref
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_keyfile (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/tests/flags.c:74,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/tests/flags.c:82,1
    - Dst: g_flags_register_static
      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_intern_static_string
    - G_UNLIKELY
    - g_flags_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType my_test_flags_get_type (void) '
  - 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: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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_flags
    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: 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:
    - g_object_class_install_property
    - my_test_flags_get_type
    - G_OBJECT_CLASS
    - g_param_spec_flags
    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_new
      Src: /src/glib/gobject/tests/flags.c:160,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/flags.c:164,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/flags.c:168,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/flags.c:170,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_assert_cmpint
    - g_object_new
    - g_object_unref
    - G_N_ELEMENTS
    - g_object_get
    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_run
    - g_test_init
    - g_test_add_func
    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
      Src: /src/glib/gobject/tests/singleton.c:41,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/singleton.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - type
    - n_construct_properties
    - construct_properties
    argTypes:
    - GType
    - guint
    - GObjectConstructParam*
    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_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:116,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_assert_nonnull
    - g_assert_true
    - g_object_unref
    - 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_object_class_install_property
      Src: /src/glib/gobject/tests/singleton.c:98,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
    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_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_int
    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_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_assert_nonnull
      Src: /src/glib/gobject/tests/singleton.c:132,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_object_new
    - g_assert_nonnull
    - g_object_unref
    - g_test_summary
    - 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_run
      Src: /src/glib/gobject/tests/singleton.c:147,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
    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_run
    - g_test_init
    - g_test_add_func
    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
    - g_string_append_c
    linkageType: ''
    returnType: void
    signature: 'static void record (const gchar *str) '
  - 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: 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_signal_new_class_handler
      Src: /src/glib/gobject/tests/override.c:133,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/override.c:127,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_CALLBACK
    - g_signal_new_class_handler
    - g_signal_new
    - G_STRUCT_OFFSET
    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:233,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/override.c:235,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/override.c:239,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_signal_override_class_handler
    - G_CALLBACK
    - g_signal_override_class_closure
    - g_cclosure_new
    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:87,1
    - Dst: g_signal_get_invocation_hint
      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_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:92,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_assert_cmpint
    - record
    - g_value_init
    - g_signal_chain_from_overridden
    - g_value_set_object
    - g_signal_get_invocation_hint
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_a_foo (TestI *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:111,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:114,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/override.c:114,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/override.c:113,1
    - Dst: G_OBJECT
      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: 3
    argNames:
    - self
    - object
    - pointer
    argTypes:
    - TestA*
    - GObject*
    - gpointer
    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:
    - G_OBJECT
    - g_assert_cmpint
    - g_strdup
    - record
    - GPOINTER_TO_INT
    - g_assert_true
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *test_a_baz (TestA *self, GObject *object, gpointer pointer) '
  - 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_CALLBACK
    - g_signal_override_class_closure
    - g_cclosure_new
    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_value_set_object
      Src: /src/glib/gobject/tests/override.c:178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:180,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/override.c:177,1
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/override.c:180,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_assert_cmpint
    - record
    - g_value_init
    - g_signal_chain_from_overridden
    - g_value_set_object
    - g_signal_get_invocation_hint
    - g_value_unset
    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_value_init
      Src: /src/glib/gobject/tests/override.c:269,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_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:272,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_assert_cmpint
    - record
    - g_value_init
    - g_signal_chain_from_overridden
    - g_value_set_object
    - g_signal_get_invocation_hint
    - g_value_unset
    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: g_assert_true
      Src: /src/glib/gobject/tests/override.c:307,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/override.c:307,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/override.c:308,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:308,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: 3
    argNames:
    - self
    - object
    - pointer
    argTypes:
    - TestA*
    - GObject*
    - gpointer
    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:
    - G_OBJECT
    - g_assert_cmpint
    - g_free
    - g_signal_chain_from_overridden_handler
    - record
    - g_strconcat
    - GPOINTER_TO_INT
    - g_assert_true
    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: strcmp
      Src: /src/glib/gobject/tests/override.c:363,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/override.c:371,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/override.c:365,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_object_unref
      Src: /src/glib/gobject/tests/override.c:387,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/override.c:384,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_signal_emit_by_name
    - g_test_message
    - g_string_new
    - GINT_TO_POINTER
    - g_free
    - g_object_new
    - g_assert_cmpstr
    - g_object_unref
    - g_type_name
    - strcmp
    - g_string_free
    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_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/override.c:290,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/override.c:287,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_assert_cmpint
    - record
    - g_value_init
    - g_signal_chain_from_overridden
    - g_value_set_object
    - g_signal_get_invocation_hint
    - g_value_unset
    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_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:327,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_signal_override_class_handler
    - G_CALLBACK
    - g_signal_override_class_closure
    - g_cclosure_new
    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:394,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: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:193,1
    - Dst: g_signal_get_invocation_hint
      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_assert_cmpint
      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_assert_cmpint
    - record
    - g_value_init
    - g_signal_chain_from_overridden
    - g_value_set_object
    - g_signal_get_invocation_hint
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_b_bar (TestA *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_newv
      Src: /src/glib/gobject/tests/override.c:56,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:59,1
    - Dst: g_cclosure_new
      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_CALLBACK
    - g_signal_newv
    - g_cclosure_new
    linkageType: ''
    returnType: void
    signature: 'static void test_i_default_init (gpointer g_class) '
  - 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_OBJECT
      Src: /src/glib/gobject/tests/override.c:215,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:216,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: 3
    argNames:
    - self
    - object
    - pointer
    argTypes:
    - TestA*
    - GObject*
    - gpointer
    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:
    - G_OBJECT
    - g_assert_cmpint
    - g_free
    - g_signal_chain_from_overridden_handler
    - record
    - g_strconcat
    - GPOINTER_TO_INT
    - g_assert_true
    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_test_init
      Src: /src/glib/gobject/tests/override.c:414,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_log_set_always_fatal
      Src: /src/glib/gobject/tests/override.c:410,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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_object_class_install_property
    - g_param_spec_int
    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_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount3.c:89,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
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    - 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_atomic_int_get
    - my_test_do_property
    - g_thread_yield
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_atomic_int_set
    - 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_get
      Src: /src/glib/gobject/tests/properties-refcount3.c:133,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties-refcount3.c:134,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_signal_connect
      Src: /src/glib/gobject/tests/properties-refcount3.c:164,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties-refcount3.c:164,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/properties-refcount3.c:166,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_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
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties-refcount3.c:190,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:189,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_test_message
    - g_signal_connect
    - g_assert_cmpint
    - g_object_new
    - g_array_index
    - g_array_new
    - g_object_unref
    - g_array_append_val
    - G_CALLBACK
    - g_thread_new
    - g_usleep
    - g_thread_join
    - g_array_free
    - g_atomic_int_set
    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_add_func
      Src: /src/glib/gobject/tests/properties-refcount3.c:205,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/properties-refcount3.c:207,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    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_object_class_install_property
    - g_type_class_ref
    - g_param_spec_int
    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_test_message
    - G_OBJECT_CLASS
    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: 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:186,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: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_signal_connect
    - my_test_do_property
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    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_run
      Src: /src/glib/gobject/tests/properties-refcount2.c:208,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/properties-refcount2.c:204,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties-refcount2.c:206,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - 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:216,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:220,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_value_get_int
    - g_assert
    - g_assert_not_reached
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - BASE_OBJECT
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: BASE_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:240,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:249,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:245,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:250,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:246,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_assert
    - g_assert_not_reached
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - BASE_OBJECT
    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_value_get_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:339,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:342,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
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    - BASE_OBJECT
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:568,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/ifaceproperties.c:574,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:571,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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    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_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:133,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:135,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: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_param_spec_int
    - g_object_interface_install_property
    linkageType: ''
    returnType: void
    signature: 'static void test_iface_default_init (TestIfaceClass *iface_vtable) '
  - 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_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_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_object_class_find_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:469,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_object_class_find_property
    - g_type_class_peek
    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_object_interface_list_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:516,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: 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_free
    - g_object_interface_list_properties
    - g_assert
    - assert_in_properties
    - g_type_default_interface_peek
    linkageType: ''
    returnType: void
    signature: 'static void test_list_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:168,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_param_value_set_default
      Src: /src/glib/gobject/tests/ifaceproperties.c:181,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:191,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:193,1
    - Dst: strcmp
      Src: /src/glib/gobject/tests/ifaceproperties.c:168,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/ifaceproperties.c:179,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_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:192,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/ifaceproperties.c:197,1
    - Dst: g_param_values_cmp
      Src: /src/glib/gobject/tests/ifaceproperties.c:194,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_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_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:167,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:166,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_param_spec_get_blurb
      Src: /src/glib/gobject/tests/ifaceproperties.c:174,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_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:194,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/ifaceproperties.c:196,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/ifaceproperties.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 3
    argNames:
    - type
    - n_construct_properties
    - construct_properties
    argTypes:
    - GType
    - guint
    - GObjectConstructParam*
    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_value_set_default
    - g_param_value_validate
    - g_param_spec_get_redirect_target
    - g_param_spec_get_blurb
    - g_value_get_int
    - g_assert
    - g_value_reset
    - g_value_init
    - g_param_spec_get_nick
    - g_value_set_int
    - strcmp
    - G_IS_PARAM_SPEC_OVERRIDE
    - g_param_values_cmp
    - g_value_unset
    - g_param_spec_get_name
    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:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/ifaceproperties.c:280,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:289,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_object_class_install_property
    - g_type_class_peek_parent
    - g_object_class_override_property
    - g_param_spec_int
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void base_object_class_init (BaseObjectClass *class) '
  - 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:640,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: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: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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/ifaceproperties.c:448,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/ifaceproperties.c:451,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:450,1
    - Dst: g_object_freeze_notify
      Src: /src/glib/gobject/tests/ifaceproperties.c:450,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:451,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
      Src: /src/glib/gobject/tests/ifaceproperties.c:455,1
    - Dst: G_OBJECT
      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_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
    - g_object_new
    - g_object_freeze_notify
    - g_object_unref
    - g_object_notify
    - g_object_thaw_notify
    linkageType: ''
    returnType: void
    signature: 'static void test_notify (void) '
  - 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:363,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:362,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:366,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
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    - BASE_OBJECT
    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_object_new
      Src: /src/glib/gobject/tests/ifaceproperties.c:419,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/ifaceproperties.c:421,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:434,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:435,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_new
    - g_assert
    - g_object_set
    - g_object_unref
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_set (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: []
    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: 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:384,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:387,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
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void derived_object_class_init (DerivedObjectClass *class) '
  - 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
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void base2_object_class_init (Base2ObjectClass *class) '
  - 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_test_bug
      Src: /src/glib/gobject/tests/ifaceproperties.c:622,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_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_undefined
    - g_object_new
    - g_test_assert_expected_messages
    - g_object_unref
    - g_test_expect_message
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_not_overridden (void) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/ifaceproperties.c:499,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:502,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:501,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: 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_type_class_peek
      Src: /src/glib/gobject/tests/ifaceproperties.c:482,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:485,1
    - Dst: g_object_class_list_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:484,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: 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_free
    - g_type_class_peek
    - g_assert
    - assert_in_properties
    - g_object_class_list_properties
    linkageType: ''
    returnType: void
    signature: 'static void test_list_overridden (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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    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_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_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/closure-refcount.c:156,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_object_class_install_property
    - g_param_spec_int
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_STRUCT_OFFSET
    - G_OBJECT_CLASS
    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: g_thread_yield
      Src: /src/glib/gobject/tests/closure-refcount.c:193,1
    - Dst: test_closure
      Src: /src/glib/gobject/tests/closure-refcount.c:189,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_test_message
    - test_closure
    - g_atomic_int_get
    - g_atomic_int_set
    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_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_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_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_thread_join
      Src: /src/glib/gobject/tests/closure-refcount.c:314,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/closure-refcount.c:317,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:304,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:326,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:319,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/closure-refcount.c:322,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/closure-refcount.c:264,1
    - Dst: g_signal_connect_closure
      Src: /src/glib/gobject/tests/closure-refcount.c:268,1
    - Dst: g_signal_connect_closure
      Src: /src/glib/gobject/tests/closure-refcount.c:267,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/closure-refcount.c:265,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:310,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:321,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_assert_true
      Src: /src/glib/gobject/tests/closure-refcount.c:324,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_test_message
    - g_object_new
    - g_cclosure_new
    - g_object_unref
    - test_emissions
    - g_atomic_int_get
    - G_CALLBACK
    - g_thread_new
    - g_signal_connect_closure
    - g_thread_join
    - g_assert_true
    - g_atomic_int_set
    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_unref
    - g_closure_sink
    - 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_atomic_int_set
      Src: /src/glib/gobject/tests/closure-refcount.c:213,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:211,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/closure-refcount.c:212,1
    - Dst: test_closure
      Src: /src/glib/gobject/tests/closure-refcount.c:208,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_test_message
    - test_closure
    - g_atomic_int_get
    - g_atomic_int_set
    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_cmpint
    - g_assert_true
    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_add_func
      Src: /src/glib/gobject/tests/closure-refcount.c:335,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/closure-refcount.c:337,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_run
    - g_test_init
    - g_test_add_func
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:731,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:736,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:736,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:734,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - data
    - obj
    - is_last
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 739
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 739
    functionName: toggle_notify
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpint
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'static void toggle_notify (gpointer data, GObject *obj, gboolean is_last) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1053,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1057,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1058,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - pspec
    - data
    argTypes:
    - GObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1059
    functionName: on_object_notify_switch_to_toggle_ref
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - DISPOSE_REFFING_OBJECT
    - g_object_unref
    - g_object_add_toggle_ref
    linkageType: ''
    returnType: void
    signature: 'static void on_object_notify_switch_to_toggle_ref (GObject *object,
      GParamSpec *pspec, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1187,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gobject/tests/reference.c:1188,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1193,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gobject/tests/reference.c:1199,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1201,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1202,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1207,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gobject/tests/reference.c:1210,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:1181,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gobject/tests/reference.c:1185,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1193,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1208,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1210,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1213,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1189,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1194,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/tests/reference.c:1198,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gobject/tests/reference.c:1200,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gobject/tests/reference.c:1202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1207,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1215,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1185,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1186,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1187,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1188,1
    - Dst: g_object_steal_data
      Src: /src/glib/gobject/tests/reference.c:1192,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1199,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1201,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1203,1
    - Dst: g_object_steal_qdata
      Src: /src/glib/gobject/tests/reference.c:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1216
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1216
    functionName: test_object_qdata
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_get_qdata
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_object_new
    - g_assert
    - g_object_set_qdata_full
    - g_object_get_data
    - g_object_unref
    - g_object_steal_data
    - g_quark_from_string
    - g_object_steal_qdata
    - GPOINTER_TO_INT
    - g_object_set_data_full
    linkageType: ''
    returnType: void
    signature: 'static void test_object_qdata (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/reference.c:922,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/reference.c:934,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/reference.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - DisposeReffingObjectClass*
    constantsTouched: []
    func_position:
      end: 936
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 936
    functionName: dispose_reffing_object_class_init
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_param_spec_int
    - g_object_class_install_properties
    linkageType: ''
    returnType: void
    signature: 'static void dispose_reffing_object_class_init (DisposeReffingObjectClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:700,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:705,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/reference.c:703,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/reference.c:702,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:707,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:708,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/reference.c:709,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:710,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:712,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:713,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:715,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 716
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 716
    functionName: test_weak_ref_on_toggle_notify
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_object_new
    - g_clear_object
    - g_object_weak_ref
    - g_object_unref
    - GUINT_TO_POINTER
    - g_weak_ref_init
    - g_weak_ref_get
    - g_object_add_toggle_ref
    - g_assert_null
    - g_test_summary
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_on_toggle_notify (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:747,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:749,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:757,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:755,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:750,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:758,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:760,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:762,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:763,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:765,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:767,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:773,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:775,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:783,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:779,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:781,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 784
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 784
    functionName: test_toggle_ref
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_object_ref
    - g_object_new
    - g_object_remove_toggle_ref
    - g_object_unref
    - g_object_add_toggle_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_toggle_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1066,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1072,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:1071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - pspec
    - data
    argTypes:
    - GObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1073
    functionName: on_object_notify_add_ref
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - DISPOSE_REFFING_OBJECT
    - g_assert_cmpint
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void on_object_notify_add_ref (GObject *object, GParamSpec
      *pspec, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1169,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1172
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1172
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1236
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1236
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 684
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 684
    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: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:12,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:10,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:20,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:27,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:19,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:6,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:10,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:13,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:13,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:18,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:25,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:29,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:29,1
    - 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_assert
      Src: /src/glib/gobject/tests/reference.c:14,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:15,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:20,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_object_get_type
      Src: /src/glib/gobject/tests/reference.c:25,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_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_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_assert
      Src: /src/glib/gobject/tests/reference.c:12,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:14,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:15,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:26,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:26,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:19,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_fundamental_next
    - G_TYPE_IS_FUNDAMENTAL
    - G_TYPE_MAKE_FUNDAMENTAL
    - g_assert
    - g_object_get_type
    - G_TYPE_IS_DERIVED
    linkageType: ''
    returnType: void
    signature: 'static void test_fundamentals (void) '
  - 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:38,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/tests/reference.c:37,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_type_get_qdata
    - g_quark_from_string
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_type_qdata (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:690,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:693,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - object
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: on_weak_ref_toggle_notify_disposed
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_object_ref
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void on_weak_ref_toggle_notify_disposed (gpointer data, GObject
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:822,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - object
    - pspec
    - data
    argTypes:
    - GObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 825
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 825
    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_new
      Src: /src/glib/gobject/tests/reference.c:1254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1259
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1259
    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_new
      Src: /src/glib/gobject/tests/reference.c:492,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:496,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:496,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:502,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:515,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:521,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_get
      Src: /src/glib/gobject/tests/reference.c:536,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:537,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/reference.c:548,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:547,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/reference.c:591,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:555,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:556,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:566,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:554,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:581,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:499,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:506,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:512,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:505,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:503,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:519,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:520,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:524,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:530,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:565,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:584,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/reference.c:587,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:553,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:579,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:582,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:546,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:570,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_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:510,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:525,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:526,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_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:538,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:543,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:558,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:580,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:552,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:576,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/reference.c:572,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:583,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:569,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:489,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:495,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:490,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:491,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:513,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:509,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:518,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:522,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_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:575,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:551,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:590,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:547,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:567,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:562,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:576,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:561,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_assert_cmpint
    - g_assert_true
    - g_free
    - g_object_new
    - g_assert
    - g_object_unref
    - g_new
    - GUINT_TO_POINTER
    - g_weak_ref_init
    - g_weak_ref_get
    - g_assert_null
    - g_weak_ref_set
    - g_weak_ref_clear
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/tests/reference.c:1245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1246
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1246
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1030,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1032,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1030,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - data
    - obj
    - is_last
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1033
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1033
    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_type_query
      Src: /src/glib/gobject/tests/reference.c:47,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:51,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:48,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:49,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_type_query
    - g_assert_cmpint
    - g_assert_cmpstr
    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_new
      Src: /src/glib/gobject/tests/reference.c:118,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:119,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:120,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_assert_cmpint
    - g_object_ref
    - g_object_new
    - g_assert
    - g_clear_object
    - g_object_unref
    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_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:267,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:266,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/reference.c:271,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_assert
      Src: /src/glib/gobject/tests/reference.c:293,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:285,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/reference.c:292,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:295,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
    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_ref
    - g_object_new
    - g_assert
    - g_value_dup_object
    - g_object_remove_toggle_ref
    - g_object_unref
    - g_value_take_object
    - g_value_init
    - g_value_get_object
    - g_object_add_toggle_ref
    - 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:365,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:362,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:366,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_remove_weak_pointer
    - g_object_new
    - g_assert
    - g_object_unref
    - g_object_add_weak_pointer
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_pointer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:413,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:410,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_cmpint
    - g_object_new
    - g_object_unref
    - g_object_add_weak_pointer
    - g_assert_null
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_pointer_clear_function (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:464,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_false
      Src: /src/glib/gobject/tests/reference.c:460,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: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:475,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:463,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:468,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:474,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:476,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:479,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:461,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:472,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_false
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - g_assert_null
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_pointer_set_function (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - connector
    argTypes:
    - WeakReffedObject*
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 623
    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:637,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:642,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/reference.c:640,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:644,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/reference.c:639,1
    - Dst: weak_reffed_object_get_type
      Src: /src/glib/gobject/tests/reference.c:644,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:647,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:647,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:648,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:650,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: test_weak_ref_on_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_cmpint
    - g_object_new
    - weak_reffed_object_get_type
    - g_clear_object
    - GUINT_TO_POINTER
    - g_weak_ref_init
    - g_weak_ref_get
    - g_assert_null
    - g_test_summary
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_on_dispose (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_ref
      Src: /src/glib/gobject/tests/reference.c:142,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:138,1
    - 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: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_assert_cmpint
    - g_object_ref
    - g_object_new
    - g_assert
    - g_object_unref
    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
      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_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:313,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:330,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/tests/reference.c:334,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_assert
      Src: /src/glib/gobject/tests/reference.c:304,1
    - Dst: g_object_ref_sink
      Src: /src/glib/gobject/tests/reference.c:311,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_true
      Src: /src/glib/gobject/tests/reference.c:326,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:327,1
    - Dst: g_object_take_ref
      Src: /src/glib/gobject/tests/reference.c:333,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:335,1
    - Dst: g_test_undefined
      Src: /src/glib/gobject/tests/reference.c:339,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:347,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/tests/reference.c:304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:305,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_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:316,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:326,1
    - Dst: g_object_take_ref
      Src: /src/glib/gobject/tests/reference.c:329,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/reference.c:349,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:319,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:315,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/reference.c:330,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
    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_undefined
    - g_assert_cmpint
    - g_assert_false
    - g_object_new
    - g_test_assert_expected_messages
    - g_assert
    - g_object_unref
    - g_test_expect_message
    - g_object_take_ref
    - g_object_is_floating
    - g_object_ref_sink
    - g_assert_true
    - g_object_force_floating
    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_object_new
      Src: /src/glib/gobject/tests/reference.c:389,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:390,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_clear_weak_pointer
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - g_object_add_weak_pointer
    - g_assert_null
    - g_assert_true
    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_set_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:432,1
    - Dst: g_set_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:438,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:446,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:448,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:444,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:433,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_assert_false
      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_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_object_unref
      Src: /src/glib/gobject/tests/reference.c:450,1
    - Dst: g_set_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:446,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_false
    - g_assert_cmpint
    - g_object_new
    - g_set_weak_pointer
    - g_object_unref
    - g_assert_null
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_pointer_set (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_null
      Src: /src/glib/gobject/tests/reference.c:617,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 618
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 618
    functionName: weak_reffed_object_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_weak_ref_get
    - g_assert_null
    - g_weak_ref_set
    - G_OBJECT_CLASS
    - WEAK_REFFED_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void weak_reffed_object_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/reference.c:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - WeakReffedObjectClass*
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 631
    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:657,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:662,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/reference.c:660,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:663,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/reference.c:659,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:665,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:665,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:666,1
    - Dst: g_object_run_dispose
      Src: /src/glib/gobject/tests/reference.c:668,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:669,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:672,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:672,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:671,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 673
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 673
    functionName: test_weak_ref_on_run_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_clear_object
    - g_object_unref
    - GUINT_TO_POINTER
    - g_weak_ref_init
    - g_weak_ref_get
    - g_assert_null
    - g_test_summary
    - g_assert_true
    - g_object_run_dispose
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_on_run_dispose (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:954,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:961,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:970,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:972,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:963,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:980,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:987,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:988,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:989,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:993,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1006,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1004,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1002,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:954,1
    - Dst: dispose_reffing_object_get_type
      Src: /src/glib/gobject/tests/reference.c:951,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:957,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:958,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:975,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:975,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:980,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:990,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:994,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:994,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:998,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1013,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:957,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:971,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:994,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1004,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1004,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1011,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1011,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1013,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:1017,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1013,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:951,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:953,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:962,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:964,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:970,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:974,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:975,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:988,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:998,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/reference.c:1003,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/reference.c:1012,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:1018,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1014,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1019
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 1019
    functionName: test_toggle_ref_on_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - dispose_reffing_object_get_type
    - G_OBJECT
    - g_assert_cmpint
    - g_object_new
    - g_assert_cmpuint
    - g_object_remove_toggle_ref
    - g_assert_nonnull
    - g_clear_object
    - g_object_unref
    - g_object_add_weak_pointer
    - g_atomic_int_get
    - G_CALLBACK
    - g_object_add_toggle_ref
    - g_assert_null
    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:1040,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:1044,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - pspec
    - data
    argTypes:
    - GObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 1046
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1046
    functionName: on_object_notify_switch_to_normal_ref
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - DISPOSE_REFFING_OBJECT
    - g_object_ref
    - g_object_remove_toggle_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_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1277,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1280,1
    - Dst: g_object_dup_data
      Src: /src/glib/gobject/tests/reference.c:1285,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1287,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1286,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1295,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1298,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1305,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1309,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1310,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1325,1
    - Dst: unref_value
      Src: /src/glib/gobject/tests/reference.c:1335,1
    - Dst: ref_value
      Src: /src/glib/gobject/tests/reference.c:1331,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gobject/tests/reference.c:1273,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1275,1
    - Dst: g_object_dup_data
      Src: /src/glib/gobject/tests/reference.c:1279,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1297,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1312,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1318,1
    - Dst: unref_value
      Src: /src/glib/gobject/tests/reference.c:1320,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1322,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1326,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1334,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1291,1
    - Dst: unref_value
      Src: /src/glib/gobject/tests/reference.c:1283,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1292,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1293,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1299,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1302,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1303,1
    - Dst: unref_value
      Src: /src/glib/gobject/tests/reference.c:1307,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1317,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1332,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1333,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:1269,1
    - Dst: new_value
      Src: /src/glib/gobject/tests/reference.c:1271,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1282,1
    - Dst: new_value
      Src: /src/glib/gobject/tests/reference.c:1289,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1294,1
    - Dst: new_value
      Src: /src/glib/gobject/tests/reference.c:1301,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1311,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1314,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1315,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1329,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1328,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1336
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1336
    functionName: test_object_qdata2
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_object_dup_data
    - g_object_new
    - g_assert
    - new_value
    - g_object_get_data
    - g_assert_cmpstr
    - g_object_unref
    - unref_value
    - g_object_replace_data
    - ref_value
    - g_object_set_data_full
    linkageType: ''
    returnType: void
    signature: 'static void test_object_qdata2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dispose_reffing_object_get_type
      Src: /src/glib/gobject/tests/reference.c:1087,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1089,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1093,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1098,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1106,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1109,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1101,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1120,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1149,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1152,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1089,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1092,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1095,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1113,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1110,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1113,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1121,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1136,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1137,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:1159,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1155,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1151,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:1087,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1101,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1107,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1121,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1134,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1135,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1148,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1149,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:1160,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1155,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1092,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1096,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1097,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1122,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1126,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1126,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1140,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1140,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1161
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1161
    functionName: test_toggle_ref_and_notify_on_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - dispose_reffing_object_get_type
    - G_OBJECT
    - g_assert_cmpint
    - g_object_new
    - g_assert_cmpuint
    - g_object_remove_toggle_ref
    - g_clear_object
    - g_object_unref
    - g_object_add_weak_pointer
    - G_CALLBACK
    - g_object_add_toggle_ref
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_toggle_ref_and_notify_on_dispose (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_assert
      Src: /src/glib/gobject/tests/reference.c:177,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:176,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:181,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:172,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_set_object
      Src: /src/glib/gobject/tests/reference.c:181,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:176,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/reference.c:179,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_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:173,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:161,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:165,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:166,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:178,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_assert_cmpint
    - g_set_object
    - g_object_new
    - g_assert
    - g_assert_nonnull
    - g_object_unref
    - g_object_add_weak_pointer
    - g_assert_null
    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_assert_false
      Src: /src/glib/gobject/tests/reference.c:229,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/reference.c:232,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:244,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:232,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_assert_true
      Src: /src/glib/gobject/tests/reference.c:238,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:241,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:237,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:230,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:233,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_clear_object
      Src: /src/glib/gobject/tests/reference.c:245,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_object_unref
      Src: /src/glib/gobject/tests/reference.c:243,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_OBJECT
    - g_assert_false
    - g_set_object
    - g_object_new
    - my_object_get_type
    - g_clear_object
    - g_object_unref
    - g_assert_null
    - g_test_summary
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_set_derived_type (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:833,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:844,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:832,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:839,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:845,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/reference.c:851,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:857,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gobject/tests/reference.c:857,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:860,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:870,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:873,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/reference.c:869,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:867,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/reference.c:860,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 874
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 874
    functionName: dispose_reffing_object_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - DISPOSE_REFFING_OBJECT
    - g_assert_cmpint
    - g_object_ref
    - g_signal_connect
    - g_assert_cmpuint
    - g_signal_handler_find
    - G_CALLBACK
    - g_object_notify
    - g_object_add_toggle_ref
    - G_OBJECT_CLASS
    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:887,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/reference.c:895,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/reference.c:892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 898
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 898
    functionName: dispose_reffing_object_set_property
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - DISPOSE_REFFING_OBJECT
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    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_new
      Src: /src/glib/gobject/tests/reference.c:97,1
    - Dst: my_object_get_type
      Src: /src/glib/gobject/tests/reference.c:99,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/reference.c:99,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: 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_assert_cmpint
    - g_object_new
    - g_type_qname
    - my_object_get_type
    - g_type_class_unref
    - g_object_unref
    - g_quark_from_string
    - G_TYPE_CLASS_GET_PRIVATE
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_class_private (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:193,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:214,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:215,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:196,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:201,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:203,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/reference.c:212,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:210,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:216,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:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:211,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:206,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_assert_cmpint
    - g_object_new
    - g_assert
    - g_assert_nonnull
    - g_object_unref
    - g_object_add_weak_pointer
    - g_assert_null
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - connector
    argTypes:
    - DisposeReffingObject*
    constantsTouched: []
    func_position:
      end: 879
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 879
    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:906,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/reference.c:911,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/reference.c:914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 917
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 917
    functionName: dispose_reffing_object_get_property
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - DISPOSE_REFFING_OBJECT
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    linkageType: ''
    returnType: void
    signature: 'static void dispose_reffing_object_get_property (GObject *object,
      guint property_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gobject/tests/reference.c:1343,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1354,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1355,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1360,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1361,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1358,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1359,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1356,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1357,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1364,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1362,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1368,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1366,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1369,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/reference.c:1341,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1346,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1347,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1345,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1348,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1349,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1350,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1351,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1352,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1353,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1363,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1367,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1365,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/reference.c:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1372
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1372
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_setenv
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gobject/tests/properties.c:91,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/properties.c:97,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/properties.c:94,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties.c:93,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:96,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
    - g_free
    - g_strcmp0
    - g_assert
    - g_object_notify_by_pspec
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_quux (TestObject *obj, const gchar *quux) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_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: 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_OBJECT_GET_CLASS
      Src: /src/glib/gobject/tests/properties.c:258,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_unref
      Src: /src/glib/gobject/tests/properties.c:267,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/tests/properties.c:264,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/properties.c:261,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:262,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_strdup
    - g_free
    - g_object_new
    - G_OBJECT_GET_CLASS
    - g_assert
    - g_object_unref
    - test_object_get_type
    - g_object_class_find_property
    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: g_object_class_find_property
      Src: /src/glib/gobject/tests/properties.c:367,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: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_new
    - G_OBJECT_GET_CLASS
    - g_assert
    - g_object_unref
    - g_object_class_find_property
    - many_props_get_type
    linkageType: ''
    returnType: void
    signature: 'static void properties_install_many (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_value_init
      Src: /src/glib/gobject/tests/properties.c:674,1
    - Dst: g_object_getv
      Src: /src/glib/gobject/tests/properties.c:680,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:684,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: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: 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_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_init
      Src: /src/glib/gobject/tests/properties.c:671,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:684,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
    - 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_int
      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_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:692,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
    - g_assert_cmpint
    - g_value_get_string
    - g_value_get_int
    - g_object_new_with_properties
    - g_object_getv
    - g_assert_cmpstr
    - g_object_unref
    - test_object_get_type
    - g_value_init
    - g_value_get_boolean
    - g_assert_true
    - g_value_unset
    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_object_notify_by_pspec
      Src: /src/glib/gobject/tests/properties.c:115,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/tests/properties.c:107,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/properties.c:114,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties.c:108,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_free
    - g_clear_pointer
    - g_object_notify_by_pspec
    - g_object_notify
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_object_finalize (GObject *gobject) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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_OBJECT
      Src: /src/glib/gobject/tests/properties.c:734,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/properties.c:739,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/properties.c:742,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:743,1
    - 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_value_get_int
      Src: /src/glib/gobject/tests/properties.c:731,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:739,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:735,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties.c:729,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:740,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:745,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_test_message
      Src: /src/glib/gobject/tests/properties.c:737,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:738,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/properties.c:735,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties.c:733,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:740,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_test_message
    - g_object_get_property
    - G_OBJECT
    - g_assert_cmpint
    - g_value_get_string
    - g_value_get_int
    - G_VALUE_HOLDS_STRING
    - g_object_new_with_properties
    - g_assert_cmpstr
    - g_object_unref
    - test_object_get_type
    - g_value_init
    - g_test_summary
    - g_value_get_boolean
    - G_N_ELEMENTS
    - g_assert_true
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void properties_get_property (void) '
  - 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_variant
      Src: /src/glib/gobject/tests/properties.c:211,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gobject/tests/properties.c:205,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_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_int
    - g_param_spec_boolean
    - g_object_class_install_properties
    - 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: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:614,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:610,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:611,1
    - Dst: g_object_new_with_properties
      Src: /src/glib/gobject/tests/properties.c:613,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_value_set_string
    - g_test_trap_assert_stderr
    - g_object_new_with_properties
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_object_unref
    - test_object_get_type
    - g_value_init
    - 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_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_assert_true
      Src: /src/glib/gobject/tests/properties.c:761,1
    - Dst: g_object_new
      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_cmpvariant
      Src: /src/glib/gobject/tests/properties.c:770,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/properties.c:772,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_object_unref
      Src: /src/glib/gobject/tests/properties.c:773,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_assert_false
    - g_variant_is_floating
    - g_object_new
    - g_variant_new_string
    - g_object_set
    - g_variant_unref
    - g_object_unref
    - test_object_get_type
    - g_steal_pointer
    - g_assert_cmpvariant
    - g_test_summary
    - g_assert_true
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void properties_set_property_variant_floating (void) '
  - 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_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:328,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: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:352,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties.c:358,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:355,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:346,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_OBJECT_CLASS
    - g_param_spec_int
    - g_object_class_install_properties
    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:398,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:399,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:427,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:435,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:419,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:432,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:431,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:426,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_signal_connect
    - g_object_new
    - g_assert
    - g_object_set
    - g_object_unref
    - test_object_get_type
    - G_CALLBACK
    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_init
      Src: /src/glib/gobject/tests/properties.c:637,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: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: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:654,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:647,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
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/properties.c:657,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_value_set_string
    - g_test_trap_assert_stderr
    - g_object_new_with_properties
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_object_unref
    - test_object_get_type
    - g_value_init
    - g_value_set_int
    - g_test_subprocess
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void properties_testv_with_invalid_property_names (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:813,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties.c:812,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:788,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:791,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/properties.c:789,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_OBJECT
      Src: /src/glib/gobject/tests/properties.c:815,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:819,1
    - Dst: g_object_thaw_notify
      Src: /src/glib/gobject/tests/properties.c:815,1
    - Dst: g_object_setv
      Src: /src/glib/gobject/tests/properties.c:809,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_object_freeze_notify
      Src: /src/glib/gobject/tests/properties.c:807,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:809,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:813,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties.c:805,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:820,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
    - g_signal_connect
    - g_value_set_string
    - g_assert_cmpint
    - g_object_new_with_properties
    - g_assert_nonnull
    - g_value_unset
    - g_object_freeze_notify
    - g_object_unref
    - test_object_get_type
    - g_value_init
    - G_CALLBACK
    - g_value_set_int
    - g_object_setv
    - g_object_thaw_notify
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void properties_testv_notify_queue (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
    - g_object_notify_by_pspec
    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/properties.c:56,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/properties.c:62,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties.c:58,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:61,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/properties.c:59,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
    - g_free
    - g_strcmp0
    - g_assert
    - g_object_notify_by_pspec
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_baz (TestObject *obj, const gchar *baz) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:128,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:129,1
    - Dst: test_object_set_foo
      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_int
      Src: /src/glib/gobject/tests/properties.c:134,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: g_assert_not_reached
      Src: /src/glib/gobject/tests/properties.c:154,1
    - Dst: test_object_set_quux
      Src: /src/glib/gobject/tests/properties.c:150,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_cmpint
    - test_object_set_foo
    - g_value_get_string
    - test_object_set_var
    - g_value_get_int
    - test_object_set_quux
    - test_object_set_baz
    - g_assert_not_reached
    - g_value_get_boolean
    - g_assert_true
    - g_value_get_variant
    - test_object_set_bar
    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
      Src: /src/glib/gobject/tests/properties.c:455,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/properties.c:465,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:458,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties.c:465,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_assert
      Src: /src/glib/gobject/tests/properties.c:471,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:470,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
    - g_signal_connect
    - g_object_new
    - g_assert
    - g_object_set
    - g_object_freeze_notify
    - g_object_unref
    - test_object_get_type
    - G_CALLBACK
    - g_object_thaw_notify
    linkageType: ''
    returnType: void
    signature: 'static void properties_notify_queue (void) '
  - 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: 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_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:535,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
    - g_assert_cmpint
    - g_value_get_string
    - g_value_get_int
    - g_object_new_with_properties
    - g_object_getv
    - g_assert_cmpstr
    - g_object_unref
    - test_object_get_type
    - g_value_get_boolean
    - g_assert_true
    - g_value_unset
    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
      Src: /src/glib/gobject/tests/properties.c:48,1
    - Dst: g_object_notify_by_pspec
      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
    - g_object_notify_by_pspec
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_bar (TestObject *obj, gboolean bar) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_equal
      Src: /src/glib/gobject/tests/properties.c:73,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:82,1
    - Dst: g_variant_ref
      Src: /src/glib/gobject/tests/properties.c:78,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/tests/properties.c:80,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/tests/properties.c:79,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_OBJECT
    - g_clear_pointer
    - g_assert
    - g_object_notify_by_pspec
    - g_steal_pointer
    - g_variant_ref
    - g_variant_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_var (TestObject *obj, GVariant *var) '
  - 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_assert_true
      Src: /src/glib/gobject/tests/properties.c:167,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/properties.c:176,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_cmpint
    - g_value_set_string
    - g_assert_not_reached
    - g_value_set_int
    - g_assert_true
    - g_value_set_variant
    - g_value_set_boolean
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    linkageType: ''
    returnType: void
    signature: 'static void get_prop (GObject *object, guint prop_id, GValue *value,
      GParamSpec *pspec) '
  - 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_assert
      Src: /src/glib/gobject/tests/properties.c:511,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/properties.c:510,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_free
    - g_object_new
    - g_assert
    - g_assert_cmpstr
    - g_object_unref
    - test_object_get_type
    - g_test_bug
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void properties_construct (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:555,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_value_get_boolean
      Src: /src/glib/gobject/tests/properties.c:573,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:575,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_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_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:591,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/properties.c:559,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:558,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties.c:572,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:574,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:570,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: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_object_getv
      Src: /src/glib/gobject/tests/properties.c:585,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_cmpstr
      Src: /src/glib/gobject/tests/properties.c:574,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:572,1
    - Dst: g_object_getv
      Src: /src/glib/gobject/tests/properties.c:570,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:573,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/properties.c:577,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:582,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:587,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:598,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:585,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:590,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_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:590,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:594,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:596,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
    - g_assert_cmpint
    - g_value_set_string
    - g_value_get_string
    - g_value_get_int
    - g_object_new_with_properties
    - g_object_getv
    - g_assert_cmpstr
    - g_object_unref
    - test_object_get_type
    - g_value_init
    - g_object_setv
    - g_value_set_int
    - g_value_get_boolean
    - g_assert_true
    - g_value_unset
    - G_N_ELEMENTS
    - g_value_set_boolean
    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:830,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:828,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: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:842,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:840,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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:128,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:118,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:123,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_OBJECT_CLASS
    - g_param_spec_int
    - g_object_class_install_properties
    linkageType: ''
    returnType: void
    signature: 'static void my_object_class_init (MyObjectClass *cls) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:54,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
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:66,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/deprecated-properties.c:72,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_assert_not_reached
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void my_object_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *param_spec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/deprecated-properties.c:175,1
    - Dst: g_object_new
      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: my_object_get_type
      Src: /src/glib/gobject/tests/deprecated-properties.c:183,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/gobject/tests/deprecated-properties.c:181,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_test_trap_assert_stderr_unmatched
      Src: /src/glib/gobject/tests/deprecated-properties.c:197,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/deprecated-properties.c:190,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_assert_cmpint
    - g_object_new
    - my_object_get_type
    - g_log_set_always_fatal
    - g_test_trap_assert_passed
    - g_clear_object
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr_unmatched
    - g_log_set_fatal_mask
    - g_test_bug
    - g_test_subprocess
    - g_printerr
    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_log_set_fatal_mask
      Src: /src/glib/gobject/tests/deprecated-properties.c:148,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/deprecated-properties.c:147,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/deprecated-properties.c:150,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_test_trap_assert_passed
      Src: /src/glib/gobject/tests/deprecated-properties.c:169,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/deprecated-properties.c:166,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/deprecated-properties.c:167,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/deprecated-properties.c:161,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gobject/tests/deprecated-properties.c:168,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_assert_cmpint
    - g_object_new
    - g_test_trap_assert_stderr
    - my_object_get_type
    - g_log_set_always_fatal
    - g_test_trap_assert_passed
    - g_clear_object
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr_unmatched
    - g_log_set_fatal_mask
    - g_test_subprocess
    - g_printerr
    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:95,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:99,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:91,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_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_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:228,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/deprecated-properties.c:220,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/deprecated-properties.c:238,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/deprecated-properties.c:212,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/deprecated-properties.c:209,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: 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: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:239,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gobject/tests/deprecated-properties.c:240,1
    - 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
    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_assert_cmpint
    - g_object_new
    - g_test_trap_assert_stderr
    - my_object_get_type
    - g_log_set_always_fatal
    - g_test_trap_assert_passed
    - g_clear_object
    - g_object_set
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr_unmatched
    - g_log_set_fatal_mask
    - g_test_bug
    - g_test_subprocess
    - g_printerr
    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:252,1
    - Dst: g_test_set_nonfatal_assertions
      Src: /src/glib/gobject/tests/deprecated-properties.c:251,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:253,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_set_nonfatal_assertions
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_setenv
    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
      Src: /src/glib/gobject/tests/custom-dispatch.c:53,1
    - Dst: g_object_notify_by_pspec
      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
    - g_object_notify_by_pspec
    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_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_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_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:
    - g_assert_false
    - g_assert_cmpint
    - g_object_new
    - object_has_notify_signal_handlers
    - g_object_set
    - g_object_unref
    - test_object_get_type
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_custom_dispatch_set (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/custom-dispatch.c:111,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/custom-dispatch.c:113,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/custom-dispatch.c:124,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_OBJECT_CLASS
    - g_param_spec_int
    - g_object_class_install_properties
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_object_set_foo
      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
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/custom-dispatch.c:68,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:
    - test_object_set_foo
    - g_assert_not_reached
    - g_value_get_int
    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_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_handler_find
    - g_signal_lookup
    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_add_func
      Src: /src/glib/gobject/tests/custom-dispatch.c:193,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
    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_run
    - g_test_init
    - g_test_add_func
    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: object_has_notify_signal_handlers
      Src: /src/glib/gobject/tests/custom-dispatch.c:152,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: 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:
    - g_assert_false
    - g_assert_cmpint
    - g_object_new
    - object_has_notify_signal_handlers
    - g_object_set
    - g_object_unref
    - test_object_get_type
    - g_test_summary
    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:
    - 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:
    - 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:
    - 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:
    - 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:
    - 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_ref_sink
      Src: /src/glib/gobject/tests/type.c:187,1
    - Dst: bazo_get_type
      Src: /src/glib/gobject/tests/type.c:187,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/type.c:187,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/type.c:188,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_assert_cmpint
    - bazo_get_type
    - g_object_new
    - g_type_remove_interface_check
    - g_object_unref
    - g_type_add_interface_check
    - g_object_ref_sink
    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:11,1
    - Dst: g_type_get_type_registration_serial
      Src: /src/glib/gobject/tests/type.c:9,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_assert
    - g_type_get_type_registration_serial
    - g_pointer_type_register_static
    linkageType: ''
    returnType: void
    signature: 'static void test_registration_serial (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: g_assert_cmpint
      Src: /src/glib/gobject/tests/type.c:120,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_free
      Src: /src/glib/gobject/tests/type.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/type.c:121,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/type.c:123,1
    - 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_assert
      Src: /src/glib/gobject/tests/type.c:115,1
    - Dst: g_type_interface_instantiatable_prerequisite
      Src: /src/glib/gobject/tests/type.c:120,1
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gobject/tests/type.c:114,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_type_default_interface_unref
      Src: /src/glib/gobject/tests/type.c:116,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
    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_assert_cmpint
    - g_type_interface_instantiatable_prerequisite
    - g_free
    - foo_get_type
    - g_type_interface_peek_parent
    - g_assert
    - g_type_default_interface_unref
    - boo_get_type
    - bar_get_type
    - baa_get_type
    - g_type_default_interface_ref
    - g_type_interface_prerequisites
    - bozo_get_type
    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: g_assert
      Src: /src/glib/gobject/tests/type.c:200,1
    - Dst: bazo_get_type
      Src: /src/glib/gobject/tests/type.c:198,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
    - bazo_get_type
    - g_type_next_base
    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_type_query
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void test_query (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:236,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: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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      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:209,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: bar_get_type
      Src: /src/glib/gobject/tests/type.c:213,1
    - Dst: bibi_get_type
      Src: /src/glib/gobject/tests/type.c:213,1
    - Dst: bar_get_type
      Src: /src/glib/gobject/tests/type.c:214,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type.c:214,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/type.c:213,1
    - Dst: bibi_get_type
      Src: /src/glib/gobject/tests/type.c:214,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:
    - bibi_get_type
    - g_assert_false
    - g_type_is_a
    - bar_get_type
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_is_a (void) '
  - 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: 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: 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: g_object_new
      Src: /src/glib/gobject/tests/testmodule.c:57,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
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/tests/testmodule.c:66,1
    - Dst: g_type_module_use
      Src: /src/glib/gobject/tests/testmodule.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - register_func
    argTypes:
    - TestModuleRegisterFunc
    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_object_new
    - g_type_module_use
    linkageType: ''
    returnType: GTypeModule*
    signature: 'GTypeModule *test_module_new (TestModuleRegisterFunc register_func) '
  - 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_strconcat
    - g_strdup
    - g_value_get_string
    - g_value_take_string
    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: 2
    argNames:
    - tobject
    - param
    argTypes:
    - TestObject*
    - gint
    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:139,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/accumulator.c:144,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_malloc
      Src: /src/glib/gobject/tests/accumulator.c:193,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gobject/tests/accumulator.c:189,1
    - Dst: g_slice_new
      Src: /src/glib/gobject/tests/accumulator.c:190,1
    - Dst: g_variant_get_size
      Src: /src/glib/gobject/tests/accumulator.c:192,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: 2
    argNames:
    - tobject
    - weak_ptr
    argTypes:
    - TestObject*
    - gboolean*
    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_TYPE
    - g_variant_new_uint32
    - g_variant_store
    - g_variant_unref
    - g_variant_new_from_data
    - g_slice_new
    - g_variant_ref_sink
    - g_malloc
    - g_variant_get_size
    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: 3
    argNames:
    - tobject
    - param
    - data
    argTypes:
    - TestObject*
    - gint
    - gpointer
    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: 3
    argNames:
    - tobject
    - param
    - data
    argTypes:
    - TestObject*
    - gint
    - gpointer
    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_value_set_variant
      Src: /src/glib/gobject/tests/accumulator.c:159,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
    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_get_variant
    - g_value_set_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:221,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/tests/accumulator.c:214,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_OBJECT_CLASS_TYPE
    - g_signal_new
    - G_STRUCT_OFFSET
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/accumulator.c:253,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_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_signal_connect_after
      Src: /src/glib/gobject/tests/accumulator.c:262,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/accumulator.c:267,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:272,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:275,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/accumulator.c:249,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:269,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_CALLBACK
      Src: /src/glib/gobject/tests/accumulator.c:263,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:256,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/accumulator.c:270,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: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_nonnull
      Src: /src/glib/gobject/tests/accumulator.c:281,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/accumulator.c:282,1
    - 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
    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_signal_emit_by_name
    - g_signal_connect
    - g_assert_false
    - g_signal_connect_after
    - g_object_new
    - g_free
    - g_variant_is_floating
    - g_assert_nonnull
    - g_variant_unref
    - g_assert_cmpstr
    - g_object_unref
    - G_CALLBACK
    - g_assert_true
    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_init
      Src: /src/glib/gobject/tests/accumulator.c:300,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/accumulator.c:302,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/accumulator.c:304,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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: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_object_new
      Src: /src/glib/gobject/tests/binding.c:743,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:733,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:750,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:718,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:721,1
    - Dst: g_object_new
      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_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:730,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:739,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: 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
    - 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_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_object_unref
      Src: /src/glib/gobject/tests/binding.c:738,1
    - Dst: g_binding_unbind
      Src: /src/glib/gobject/tests/binding.c:749,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
    - g_assert_cmpint
    - g_object_new
    - g_object_set
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_assert_null
    - binding_target_get_type
    - g_binding_unbind
    linkageType: ''
    returnType: void
    signature: 'static void binding_unbind (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:338,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/binding.c:338,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:339,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_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_VALUE_HOLDS
    - g_value_set_double
    - g_test_verbose
    - g_value_get_double
    - g_assert_true
    - g_printerr
    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_mutex_lock
      Src: /src/glib/gobject/tests/binding.c:929,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/tests/binding.c:930,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/binding.c:933,1
    - Dst: g_cond_wait
      Src: /src/glib/gobject/tests/binding.c:932,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_object_unref
    - g_mutex_lock
    - g_cond_wait
    - g_mutex_unlock
    - g_atomic_int_inc
    - g_binding_unbind
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer concurrent_unbind_func (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:360,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:360,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:361,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/binding.c:361,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_VALUE_HOLDS
    - g_value_set_double
    - g_test_verbose
    - g_value_get_double
    - g_assert_true
    - g_printerr
    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:587,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:607,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:605,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:586,1
    - Dst: binding_source_get_type
      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:596,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:602,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_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
    - 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_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:597,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:616,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
    - g_assert_cmpint
    - g_object_new
    - g_object_set
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_assert_null
    - g_test_bug
    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_source_get_type
      Src: /src/glib/gobject/tests/binding.c:1095,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/binding.c:1099,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:1096,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:1096,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:1111,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1110,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
    - g_object_new
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_assert_null
    - binding_target_get_type
    - g_object_run_dispose
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void binding_dispose_source (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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:378,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:378,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:394,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:397,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:406,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:385,1
    - Dst: assert_cmptarget
      Src: /src/glib/gobject/tests/binding.c:388,1
    - 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_object_new
      Src: /src/glib/gobject/tests/binding.c:377,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:377,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_binding_get_source_property
      Src: /src/glib/gobject/tests/binding.c:390,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:392,1
    - Dst: g_binding_get_flags
      Src: /src/glib/gobject/tests/binding.c:392,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/binding.c:391,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
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:381,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:398,1
    - Dst: g_binding_get_target_property
      Src: /src/glib/gobject/tests/binding.c:391,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
    - g_assert_cmpint
    - g_object_new
    - g_binding_get_source_property
    - assert_cmpsource
    - g_object_set
    - g_assert_cmpstr
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_object_unref
    - assert_cmptarget
    - g_assert_null
    - g_binding_get_flags
    - binding_target_get_type
    - g_binding_get_target_property
    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: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:634,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:629,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:629,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:626,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_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:652,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:654,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:655,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:651,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
    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_assert_cmpint
    - g_object_new
    - g_object_set
    - g_object_unref
    - binding_source_get_type
    - g_object_bind_property
    - binding_target_get_type
    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_source_get_type
      Src: /src/glib/gobject/tests/binding.c:1118,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/binding.c:1122,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:1119,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:1119,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:1133,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:1134,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
    - g_object_new
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_assert_null
    - binding_target_get_type
    - g_object_run_dispose
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void binding_dispose_target (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:1144,1
    - 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: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:1159,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:1154,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/binding.c:1140,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:1145,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:1158,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:1157,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:1160,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:778,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:777,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_assert_null
      Src: /src/glib/gobject/tests/binding.c:797,1
    - 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_unref
      Src: /src/glib/gobject/tests/binding.c:773,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:784,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_assert_null
      Src: /src/glib/gobject/tests/binding.c:772,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_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:779,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_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:794,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/binding.c:795,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
    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
    - g_object_new
    - g_assert_nonnull
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_assert_null
    - 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: 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: 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: g_object_new
      Src: /src/glib/gobject/tests/binding.c:414,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:430,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:432,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:435,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:433,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
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/binding.c:417,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:413,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
    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
    - g_assert_cmpint
    - g_object_new
    - g_binding_get_source_property
    - g_assert_cmpfloat
    - assert_cmpsource
    - g_object_set
    - g_assert_cmpstr
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_object_unref
    - assert_cmptarget
    - g_assert_null
    - g_test_summary
    - g_binding_get_flags
    - binding_target_get_type
    - g_binding_get_target_property
    linkageType: ''
    returnType: void
    signature: 'static void binding_canonicalisation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:526,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:526,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:527,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:527,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_assert_true
    - g_object_new
    - g_assert_cmpfloat
    - g_object_bind_property_full
    - g_object_set
    - g_object_unref
    - binding_source_get_type
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void binding_transform (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_transform
    - g_value_type_compatible
    - g_value_type_transformable
    - G_VALUE_TYPE
    - 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_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_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_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_join
      Src: /src/glib/gobject/tests/binding.c:992,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1000,1
    - 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_mutex_lock
      Src: /src/glib/gobject/tests/binding.c:985,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: 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
    - 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_queue_pop_head
      Src: /src/glib/gobject/tests/binding.c:990,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/binding.c:971,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
    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_object_new
    - binding_source_get_type
    - g_thread_new
    - g_mutex_init
    - g_test_summary
    - binding_target_get_type
    - g_thread_yield
    - g_object_unref
    - g_object_bind_property
    - g_atomic_int_get
    - g_thread_join
    - g_queue_push_tail
    - g_cond_init
    - g_object_ref
    - g_queue_pop_head
    - g_mutex_clear
    - g_free
    - g_new0
    - g_cond_broadcast
    - g_mutex_unlock
    - g_cond_clear
    - g_mutex_lock
    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_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_cond_wait
      Src: /src/glib/gobject/tests/binding.c:1021,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/tests/binding.c:1019,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_free
    - g_object_unref
    - g_cond_wait
    - g_mutex_unlock
    - g_atomic_int_inc
    - g_mutex_lock
    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:446,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:446,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:447,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:447,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:450,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_object_unref
      Src: /src/glib/gobject/tests/binding.c:461,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:467,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:463,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:468,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:466,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:459,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:464,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
    - g_assert_cmpint
    - g_object_new
    - g_object_set
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_assert_null
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void binding_bidirectional (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:553,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/binding.c:559,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:554,1
    - Dst: binding_source_get_type
      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_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_assert_true
      Src: /src/glib/gobject/tests/binding.c:578,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:579,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/binding.c:570,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:575,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:572,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:576,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_assert_true
    - g_object_new
    - g_assert_cmpfloat
    - g_cclosure_new
    - g_object_set
    - g_object_unref
    - binding_source_get_type
    - G_CALLBACK
    - g_object_bind_property_with_closures
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void binding_transform_closure (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: 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: 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_cclosure_new
      Src: /src/glib/gobject/tests/binding.c:897,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_object_unref
      Src: /src/glib/gobject/tests/binding.c:911,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
    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_closure_set_marshal
    - g_object_new
    - g_cclosure_new
    - g_object_set
    - g_object_unref
    - binding_source_get_type
    - g_object_bind_property
    - G_CALLBACK
    - g_object_bind_property_with_closures
    - baa_get_type
    - binding_target_get_type
    - g_binding_unbind
    linkageType: ''
    returnType: void
    signature: 'static void binding_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:1038,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_thread_yield
      Src: /src/glib/gobject/tests/binding.c:1074,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1087,1
    - 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_new0
      Src: /src/glib/gobject/tests/binding.c:1064,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/binding.c:1082,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_atomic_int_get
      Src: /src/glib/gobject/tests/binding.c:1073,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/binding.c:1079,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
    - 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_cond_broadcast
      Src: /src/glib/gobject/tests/binding.c:1078,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/binding.c:1076,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/binding.c:1062,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_object_new
    - binding_source_get_type
    - g_thread_new
    - g_mutex_init
    - g_test_summary
    - binding_target_get_type
    - g_thread_yield
    - g_object_unref
    - g_object_bind_property
    - g_atomic_int_get
    - g_thread_join
    - g_cond_init
    - g_object_ref
    - g_mutex_clear
    - g_new0
    - g_cond_broadcast
    - g_mutex_unlock
    - g_cond_clear
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void binding_concurrent_finalizing (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/binding.c:110,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/binding.c:122,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/binding.c:114,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/binding.c:126,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/binding.c:118,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_value_get_int
    - g_value_get_object
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_double
    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/binding.c:172,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:182,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/binding.c:178,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/binding.c:183,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:177,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_object_class_install_property
    - g_param_spec_object
    - g_param_spec_int
    - g_param_spec_boolean
    - g_param_spec_double
    - 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_object
      Src: /src/glib/gobject/tests/binding.c:289,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/binding.c:285,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
    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_value_set_double
    - g_value_set_int
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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: 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_object_new
      Src: /src/glib/gobject/tests/binding.c:664,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_object_set
      Src: /src/glib/gobject/tests/binding.c:680,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_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_assert_false
    - g_object_new
    - g_object_set
    - g_object_unref
    - binding_source_get_type
    - g_object_bind_property
    - binding_target_get_type
    - g_assert_true
    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: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:805,1
    - Dst: g_object_new
      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_test_bug
      Src: /src/glib/gobject/tests/binding.c:809,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_null
      Src: /src/glib/gobject/tests/binding.c:826,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
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/binding.c:822,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:829,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_OBJECT
    - g_object_ref
    - g_object_new
    - g_assert_nonnull
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_assert_null
    - binding_target_get_type
    - g_test_bug
    - g_binding_unbind
    linkageType: ''
    returnType: void
    signature: 'static void binding_unbind_multiple (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/binding.c:145,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/binding.c:149,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/binding.c:161,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/binding.c:157,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_value_set_double
    - g_value_set_int
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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: 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_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/binding.c:262,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/binding.c:254,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/binding.c:258,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/binding.c:250,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_value_get_int
    - g_value_get_object
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_double
    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:310,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/binding.c:306,1
    - Dst: g_param_spec_double
      Src: /src/glib/gobject/tests/binding.c:311,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:305,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_object_class_install_property
    - g_param_spec_object
    - g_param_spec_int
    - foo_get_type
    - g_param_spec_boolean
    - g_param_spec_double
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void binding_target_class_init (BindingTargetClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:489,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:482,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_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_free
      Src: /src/glib/gobject/tests/binding.c:510,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:506,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: 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_unref
      Src: /src/glib/gobject/tests/binding.c:507,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_assert_cmpfloat
      Src: /src/glib/gobject/tests/binding.c:513,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:518,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
    - 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_assert_null
      Src: /src/glib/gobject/tests/binding.c:520,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
    - g_assert_cmpint
    - g_assert_true
    - g_free
    - g_object_new
    - g_assert_cmpfloat
    - g_object_set
    - g_assert_cmpstr
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_object_unref
    - g_assert_null
    - binding_target_get_type
    - g_object_get
    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: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:692,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:701,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:701,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:698,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_assert_null
      Src: /src/glib/gobject/tests/binding.c:711,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
    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
    - g_assert_cmpint
    - g_object_new
    - g_object_set
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_assert_null
    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: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:836,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:840,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:836,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:835,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:850,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:852,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:851,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
    - g_object_new
    - g_test_assert_expected_messages
    - g_object_set
    - g_object_unref
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - g_test_expect_message
    - g_assert_null
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void binding_fail (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
    - GINT_TO_POINTER
    - g_random_int_range
    - g_object_get_data
    - g_object_set_data
    - g_object_replace_data
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/tests/qdata.c:93,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_object_set_qdata_full
      Src: /src/glib/gobject/tests/qdata.c:96,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_object_unref
      Src: /src/glib/gobject/tests/qdata.c:110,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/qdata.c:108,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_quark_from_static_string
    - g_object_dup_qdata
    - g_strdup
    - g_free
    - g_object_new
    - g_object_replace_qdata
    - g_assert
    - g_object_set_qdata_full
    - g_assert_cmpstr
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_qdata_dup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/qdata.c:116,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/qdata.c:121,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/qdata.c:123,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/qdata.c:120,1
    - Dst: g_getenv
      Src: /src/glib/gobject/tests/qdata.c:118,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_run
    - g_test_init
    - g_test_add_func
    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: 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: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/qdata.c:70,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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_object_new
    - g_object_get_data
    - g_object_unref
    - g_object_set_data
    - g_thread_new
    - g_thread_join
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_qdata_threaded (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_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init.c:104,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/notify-init.c:101,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init.c:103,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
    - g_free
    - g_strcmp0
    - g_assert
    - g_object_notify_by_pspec
    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
      Src: /src/glib/gobject/tests/notify-init.c:76,1
    - Dst: g_object_notify_by_pspec
      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
    - g_object_notify_by_pspec
    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: g_value_get_int
      Src: /src/glib/gobject/tests/notify-init.c:133,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/notify-init.c:128,1
    - Dst: test_object_set_bar
      Src: /src/glib/gobject/tests/notify-init.c:137,1
    - Dst: test_object_set_foo
      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_cmpint
    - test_object_set_foo
    - g_value_get_string
    - test_object_set_quux
    - g_value_get_int
    - test_object_set_baz
    - g_assert_not_reached
    - g_value_get_boolean
    - g_assert_true
    - test_object_set_bar
    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_int
      Src: /src/glib/gobject/tests/notify-init.c:192,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_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_int
    - g_param_spec_boolean
    - g_object_class_install_properties
    - g_param_spec_string
    - G_OBJECT_CLASS
    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: test_object_set_quux
      Src: /src/glib/gobject/tests/notify-init.c:239,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/notify-init.c:243,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:
    - G_CALLBACK
    - g_signal_connect
    - test_object_set_quux
    - 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-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
    - g_object_notify_by_pspec
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_foo (TestObject *obj, gint foo) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gobject/tests/notify-init.c:84,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/notify-init.c:87,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_free
      Src: /src/glib/gobject/tests/notify-init.c:86,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
    - g_free
    - g_strcmp0
    - g_assert
    - g_object_notify_by_pspec
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_baz (TestObject *obj, const gchar *baz) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/notify-init.c:161,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_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_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_cmpint
    - g_value_set_string
    - g_assert_not_reached
    - g_value_set_int
    - g_assert_true
    - g_value_set_boolean
    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_unref
      Src: /src/glib/gobject/tests/notify-init.c:256,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/notify-init.c:254,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/notify-init.c:252,1
    - Dst: g_object_new
      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_object_new
    - g_object_unref
    - test_object_get_type
    - g_test_summary
    - g_test_bug
    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_add_func
      Src: /src/glib/gobject/tests/notify-init.c:264,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/notify-init.c:266,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:152,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:151,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_validate
      Src: /src/glib/gobject/tests/param.c:158,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:158,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:157,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:161,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:159,1
    - Dst: g_value_get_uint
      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_assert_cmpint
    - g_param_value_defaults
    - g_assert_false
    - g_param_value_validate
    - G_VALUE_TYPE
    - g_value_get_uint
    - g_param_spec_uint
    - g_value_set_uint
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_set_default
    - g_assert_true
    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_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:239,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:240,1
    - Dst: G_VALUE_TYPE
      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_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_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_validate
      Src: /src/glib/gobject/tests/param.c:246,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_assert_cmpint
    - g_param_value_defaults
    - g_assert_false
    - g_param_value_validate
    - G_VALUE_TYPE
    - g_value_get_uint64
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_value_set_uint64
    - g_param_spec_uint64
    - g_param_value_set_default
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_uint64 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_double
      Src: /src/glib/gobject/tests/param.c:280,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/param.c:285,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:283,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:284,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:284,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_param_value_defaults
      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_false
      Src: /src/glib/gobject/tests/param.c:289,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:291,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/param.c:291,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:290,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:290,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:289,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 294
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 294
    functionName: test_param_spec_double
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_assert_false
    - g_param_value_validate
    - g_assert_cmpfloat
    - g_assert_cmpint
    - G_VALUE_TYPE
    - g_value_set_double
    - g_param_spec_double
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_value_get_double
    - g_param_value_set_default
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_double (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:785,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:789,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/tests/param.c:787,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:786,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/param.c:790,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:792,1
    - Dst: g_param_value_convert
      Src: /src/glib/gobject/tests/param.c:792,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:793,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:793,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:795,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:796,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:798,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:796,1
    - Dst: g_param_value_convert
      Src: /src/glib/gobject/tests/param.c:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 799
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 799
    functionName: test_param_convert
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_cmpint
    - g_param_spec_int
    - g_value_get_int
    - g_param_value_convert
    - g_value_set_uint
    - g_value_init
    - g_value_set_int
    - g_param_spec_unref
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_convert (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:1487,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:1490,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/param.c:1490,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:1491,1
    - Dst: g_param_spec_get_default_value
      Src: /src/glib/gobject/tests/param.c:1488,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:1491,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:1493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1494
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1494
    functionName: test_param_default
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - G_VALUE_HOLDS
    - g_param_spec_int
    - g_value_get_int
    - g_param_spec_get_default_value
    - g_param_spec_unref
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/tests/param.c:1581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1582
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1582
    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: 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_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_true
      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_assert_cmpint
    - g_param_value_defaults
    - g_assert_false
    - g_value_set_long
    - g_param_value_validate
    - G_VALUE_TYPE
    - g_param_spec_long
    - g_param_value_is_valid
    - g_value_get_long
    - g_param_spec_unref
    - g_param_value_set_default
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_long (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_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:261,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_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_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:271,1
    - Dst: g_assert_cmpint
      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_param_value_validate
      Src: /src/glib/gobject/tests/param.c:268,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:268,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:267,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_value_set_float
    - g_assert_false
    - g_assert_cmpfloat
    - g_param_value_validate
    - G_VALUE_TYPE
    - g_assert_cmpint
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_value_get_float
    - g_param_value_set_default
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_float (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_unichar
      Src: /src/glib/gobject/tests/param.c:302,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:305,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:313,1
    - Dst: g_value_get_uint
      Src: /src/glib/gobject/tests/param.c:314,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:305,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:314,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/tests/param.c:316,1
    - Dst: g_value_get_uint
      Src: /src/glib/gobject/tests/param.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:319,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/tests/param.c:311,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:307,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:312,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:313,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:318,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:312,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:321,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:317,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:317,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 322
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 322
    functionName: test_param_spec_unichar
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_param_value_validate
    - g_assert_cmpint
    - g_value_get_uint
    - g_assert_cmpstr
    - g_value_set_uint
    - g_param_spec_unichar
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_assert_true
    - g_param_spec_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_unichar (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:826,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:831,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1000,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1029,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1031,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1008,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:909,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:905,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:822,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:827,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:854,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:858,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:862,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:925,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:878,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:874,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:981,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1007,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1028,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/param.c:1058,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:987,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:932,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:928,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:885,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:881,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:952,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:834,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:850,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:901,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:936,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:979,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:986,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:833,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:1060,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1012,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:999,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1048,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:877,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:912,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:829,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:857,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:908,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:904,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:861,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:924,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:955,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:959,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1011,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:1053,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:1055,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1047,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:980,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:960,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1006,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1027,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:900,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:935,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:853,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:931,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:884,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:880,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:951,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:830,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:837,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:849,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1050,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:1059,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1046,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/tests/param.c:1057,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1005,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:985,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:927,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:856,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:876,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:954,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:911,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:907,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:860,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:958,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:962,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:974,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1002,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1004,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1051,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:828,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:984,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1010,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:879,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:950,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:903,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:899,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:934,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:930,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:852,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:836,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:887,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:883,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1030,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1009,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:825,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:832,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1045,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:978,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:976,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:855,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:859,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:926,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:875,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:953,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:910,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:906,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:957,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:961,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:977,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1044,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:1061,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:975,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/tests/param.c:1053,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:1058,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1003,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/param.c:1059,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:983,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1032,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1001,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:929,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:886,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:882,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:949,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:937,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:902,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:824,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:851,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:835,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:933,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:956,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:1054,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/param.c:1056,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1049,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 140
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1062
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 1062
    functionName: test_value_transform
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_value_set_schar
    - CHECK_STRING_CONVERSION
    - CHECK_INT64_CONVERSION
    - g_value_init
    - g_value_set_static_string
    - g_value_transform
    - g_assert_cmpint
    - CHECK_BOOLEAN_CONVERSION
    - CHECK_DOUBLE_CONVERSION
    - CHECK_UINT_CONVERSION
    - g_value_type_transformable
    - g_value_get_schar
    - CHECK_INT_CONVERSION
    - g_assert_false
    - CHECK_LONG_CONVERSION
    - CHECK_FLOAT_CONVERSION
    - CHECK_ULONG_CONVERSION
    - g_value_unset
    - CHECK_UINT64_CONVERSION
    linkageType: ''
    returnType: void
    signature: 'static void test_value_transform (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_object_a_get_type
      Src: /src/glib/gobject/tests/param.c:1137,1
    - Dst: test_object_b_get_type
      Src: /src/glib/gobject/tests/param.c:1137,1
    - Dst: test_object_c_get_type
      Src: /src/glib/gobject/tests/param.c:1137,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1141,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1140,1
    - Dst: g_test_undefined
      Src: /src/glib/gobject/tests/param.c:1148,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/tests/param.c:1152,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/param.c:1154,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gobject/tests/param.c:1156,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/param.c:1157,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:1159,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gobject/tests/param.c:1166,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/tests/param.c:1165,1
    - Dst: g_snprintf
      Src: /src/glib/gobject/tests/param.c:1164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1168
    functionName: test_interface_default_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - test_object_a_get_type
    - test_object_b_get_type
    - g_param_spec_object
    - g_test_assert_expected_messages
    - g_test_expect_message
    - test_object_c_get_type
    - g_snprintf
    - g_object_interface_install_property
    - g_param_spec_unref
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_interface_default_init (TestInterfaceInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1515,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/tests/param.c:1516,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1518,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:1516,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:1519,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/tests/param.c:1519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1520
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1520
    functionName: test_param_is_valid_name
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_is_valid_name
    - G_N_ELEMENTS
    - g_assert_false
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_is_valid_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_uint
      Src: /src/glib/gobject/tests/param.c:331,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:337,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:339,1
    - Dst: g_param_spec_param
      Src: /src/glib/gobject/tests/param.c:334,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:337,1
    - Dst: g_value_set_param
      Src: /src/glib/gobject/tests/param.c:341,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:342,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:342,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:343,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:343,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:346,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:348,1
    - Dst: g_value_get_param
      Src: /src/glib/gobject/tests/param.c:344,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:347,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 349
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 349
    functionName: test_param_spec_param
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_value_set_param
    - g_assert_false
    - g_param_value_validate
    - g_param_spec_uint
    - g_assert_cmpstr
    - g_value_get_param
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_assert_true
    - g_value_unset
    - g_param_spec_get_name
    - g_param_spec_param
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_param (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectAClass*
    constantsTouched: []
    func_position:
      end: 1080
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1080
    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:
    - TestObjectCClass*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1092
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_object_a_get_type
      Src: /src/glib/gobject/tests/param.c:1329,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/param.c:1336,1
    - Dst: test_object_b_get_type
      Src: /src/glib/gobject/tests/param.c:1329,1
    - Dst: test_object_c_get_type
      Src: /src/glib/gobject/tests/param.c:1330,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/param.c:1335,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1342,1
    - Dst: g_snprintf
      Src: /src/glib/gobject/tests/param.c:1350,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/param.c:1351,1
    - Dst: g_error
      Src: /src/glib/gobject/tests/param.c:1357,1
    - Dst: g_snprintf
      Src: /src/glib/gobject/tests/param.c:1359,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/tests/param.c:1360,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/param.c:1361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestImplementationClass*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1362
    functionName: test_implementation_class_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - test_object_a_get_type
    - test_object_b_get_type
    - GINT_TO_POINTER
    - g_object_class_override_property
    - g_param_spec_object
    - g_error
    - test_object_c_get_type
    - g_snprintf
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_implementation_class_init (TestImplementationClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/param.c:1379,1
    - 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:1382,1
    - Dst: test_implementation_get_type
      Src: /src/glib/gobject/tests/param.c:1392,1
    - Dst: test_interface_get_type
      Src: /src/glib/gobject/tests/param.c:1382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1393
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1393
    functionName: test_param_implement_child
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - test_interface_get_type
    - g_type_default_interface_ref
    - g_type_class_ref
    - test_implementation_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_param_implement_child (gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_param
      Src: /src/glib/gobject/tests/param.c:357,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:360,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:360,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:362,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:363,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:363,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:364,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:364,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:366,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 368
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 368
    functionName: test_param_spec_null_param
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_param_value_validate
    - g_assert_cmpstr
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_value_unset
    - g_param_spec_get_name
    - g_param_spec_param
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_null_param (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    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: 1081
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1081
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - TestObjectC*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1093
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/param.c:1418,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1428,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1433,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1438,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/param.c:1456,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1469,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1464,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1429,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1434,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1439,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1470,1
    - Dst: g_test_undefined
      Src: /src/glib/gobject/tests/param.c:1405,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/param.c:1420,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1443,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1459,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gobject/tests/param.c:1477,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:1427,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/tests/param.c:1415,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1460,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1444,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1465,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1479
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1479
    functionName: test_param_implement
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_assert_cmpint
    - g_free
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_assert_not_reached
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_param_implement (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:117,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:114,1
    - 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:109,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:113,1
    - Dst: g_param_spec_uchar
      Src: /src/glib/gobject/tests/param.c:100,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:103,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:105,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
    - Dst: g_value_get_uchar
      Src: /src/glib/gobject/tests/param.c:110,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_validate
      Src: /src/glib/gobject/tests/param.c:114,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:113,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_value_get_uchar
    - g_assert_false
    - g_param_value_validate
    - g_assert_cmpint
    - g_assert_cmpstr
    - g_value_init
    - g_value_set_uchar
    - g_param_value_is_valid
    - g_param_spec_uchar
    - g_param_spec_unref
    - g_assert_true
    - g_param_spec_get_name
    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_true
      Src: /src/glib/gobject/tests/param.c:196,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:196,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:195,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:197,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_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:203,1
    - Dst: g_value_get_ulong
      Src: /src/glib/gobject/tests/param.c:203,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_assert_true
      Src: /src/glib/gobject/tests/param.c:202,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:201,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_assert_cmpint
    - g_param_value_defaults
    - g_assert_false
    - g_param_value_validate
    - G_VALUE_TYPE
    - g_value_set_ulong
    - g_param_spec_ulong
    - g_value_get_ulong
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_set_default
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_ulong (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/param.c:376,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:378,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:380,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:382,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:385,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:394,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:402,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:405,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/param.c:409,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:410,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:414,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:441,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:433,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/param.c:440,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/param.c:418,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:442,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:418,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:382,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:386,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:395,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:387,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:396,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:404,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:406,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:407,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/param.c:407,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:410,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:411,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/param.c:426,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:436,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:446,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:436,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/param.c:412,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:428,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:381,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:386,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:395,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:406,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:411,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:412,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:421,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:422,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:424,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:427,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/param.c:433,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:443,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:443,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:442,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:422,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:427,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:445,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:381,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:384,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:385,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:393,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:394,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:391,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/param.c:387,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/param.c:396,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:398,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:405,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:419,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:424,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:428,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:423,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:429,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:429,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:437,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:441,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:437,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 447
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 447
    functionName: test_param_spec_string
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_value_set_static_string
    - g_assert_false
    - g_value_set_string
    - g_param_value_validate
    - g_value_get_string
    - g_strdup
    - G_PARAM_SPEC_STRING
    - g_assert_cmpint
    - g_assert_nonnull
    - g_value_init
    - g_param_value_is_valid
    - g_assert_null
    - g_param_spec_unref
    - g_param_spec_string
    - g_assert_true
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:505,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/tests/param.c:507,1
    - Dst: g_param_spec_gtype
      Src: /src/glib/gobject/tests/param.c:499,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:502,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:505,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:508,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:509,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:514,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/tests/param.c:512,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:513,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:513,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:517,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:508,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:509,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:510,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/tests/param.c:503,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/tests/param.c:510,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:514,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:515,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/tests/param.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 518
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 518
    functionName: test_param_spec_gtype
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_param_spec_gtype
    - g_assert_false
    - g_param_value_validate
    - g_assert_cmpint
    - g_value_init
    - g_value_get_gtype
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_value_set_gtype
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_gtype (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/tests/param.c:693,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:695,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:698,1
    - Dst: g_param_spec_set_qdata
      Src: /src/glib/gobject/tests/param.c:696,1
    - Dst: g_param_spec_get_qdata
      Src: /src/glib/gobject/tests/param.c:697,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:700,1
    - Dst: g_param_spec_set_qdata_full
      Src: /src/glib/gobject/tests/param.c:701,1
    - Dst: g_param_spec_set_qdata_full
      Src: /src/glib/gobject/tests/param.c:702,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:703,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:704,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/param.c:706,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:710,1
    - Dst: g_param_spec_ref_sink
      Src: /src/glib/gobject/tests/param.c:708,1
    - Dst: g_param_spec_get_qdata
      Src: /src/glib/gobject/tests/param.c:706,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:705,1
    - Dst: g_param_spec_steal_qdata
      Src: /src/glib/gobject/tests/param.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 711
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 711
    functionName: test_param_qdata
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_param_spec_int
    - g_param_spec_ref_sink
    - g_assert_cmpstr
    - g_param_spec_steal_qdata
    - g_param_spec_set_qdata
    - g_param_spec_set_qdata_full
    - g_quark_from_string
    - g_assert_null
    - g_param_spec_unref
    - g_param_spec_get_qdata
    linkageType: ''
    returnType: void
    signature: 'static void test_param_qdata (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:740,1
    - Dst: g_param_spec_get_nick
      Src: /src/glib/gobject/tests/param.c:743,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:742,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:743,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:742,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:744,1
    - Dst: g_param_spec_get_blurb
      Src: /src/glib/gobject/tests/param.c:744,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:746,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:749,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:751,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:752,1
    - Dst: g_param_spec_get_blurb
      Src: /src/glib/gobject/tests/param.c:753,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:755,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:751,1
    - Dst: g_param_spec_get_nick
      Src: /src/glib/gobject/tests/param.c:752,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/param.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 756
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 756
    functionName: test_param_strings
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_param_spec_get_blurb
    - g_assert_cmpstr
    - g_param_spec_get_nick
    - g_assert_null
    - g_param_spec_unref
    - g_param_spec_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_param_strings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - TestImplementation*
    constantsTouched: []
    func_position:
      end: 1315
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1315
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/tests/param.c:1593,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/tests/param.c:1603,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/tests/param.c:1595,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - name
    - minimum
    - maximum
    - default_value
    - flags
    argTypes:
    - char*
    - int
    - int
    - int
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 1604
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1604
    functionName: g_param_spec_custom
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_PARAM_SPEC
    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_int
      Src: /src/glib/gobject/tests/param.c:126,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:130,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:130,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:131,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:129,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_value_validate
      Src: /src/glib/gobject/tests/param.c:136,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_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_assert_cmpint
    - g_param_value_defaults
    - g_assert_false
    - g_param_spec_int
    - g_value_get_int
    - G_VALUE_TYPE
    - g_param_value_validate
    - g_value_set_int
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_set_default
    - g_assert_true
    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_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:219,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:217,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:218,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:218,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_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
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:227,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_assert_cmpint
    - g_value_get_int64
    - g_param_value_defaults
    - g_assert_false
    - g_param_value_validate
    - G_VALUE_TYPE
    - g_param_spec_unref
    - g_param_value_is_valid
    - g_param_spec_int64
    - g_param_value_set_default
    - g_assert_true
    - g_value_set_int64
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_int64 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_char
      Src: /src/glib/gobject/tests/param.c:455,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:460,1
    - Dst: g_param_spec_get_nick
      Src: /src/glib/gobject/tests/param.c:461,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:464,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:465,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:469,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:475,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:476,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:481,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:490,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:467,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:472,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:475,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:476,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:481,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:484,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:487,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:487,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:486,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:489,1
    - Dst: g_param_spec_override
      Src: /src/glib/gobject/tests/param.c:458,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:462,1
    - Dst: g_param_spec_get_blurb
      Src: /src/glib/gobject/tests/param.c:462,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:472,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:471,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:470,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:467,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:480,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:485,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:486,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:482,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:461,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:460,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:471,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:470,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:474,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:477,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:477,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:479,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:480,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:482,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 491
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 491
    functionName: test_param_spec_override
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_assert_false
    - g_param_value_validate
    - g_assert_cmpint
    - g_param_spec_get_blurb
    - g_assert_cmpstr
    - g_value_set_char
    - g_param_spec_override
    - g_value_init
    - g_param_spec_get_nick
    - g_param_value_is_valid
    - g_value_get_char
    - g_param_spec_unref
    - g_param_spec_char
    - g_assert_true
    - g_param_spec_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_override (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:551,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:556,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:557,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:562,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:563,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:564,1
    - Dst: g_value_get_variant
      Src: /src/glib/gobject/tests/param.c:564,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:567,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:551,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gobject/tests/param.c:564,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:561,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gobject/tests/param.c:530,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:535,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:538,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:539,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:544,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gobject/tests/param.c:545,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gobject/tests/param.c:542,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:552,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:552,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:553,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:556,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:550,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:561,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:562,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:563,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:568,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:554,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:554,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:569,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:550,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:560,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:565,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:557,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:572,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:536,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:531,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gobject/tests/param.c:532,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gobject/tests/param.c:536,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gobject/tests/param.c:539,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:541,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:542,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:547,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:545,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:548,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gobject/tests/param.c:560,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:570,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:553,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/param.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 573
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 573
    functionName: test_param_spec_variant
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_variant_new_int32
    - g_value_get_variant
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_assert_cmpint
    - g_value_reset
    - g_param_spec_variant
    - g_variant_new_int16
    - g_variant_new_parsed
    - g_value_set_variant
    - G_VARIANT_TYPE
    - g_param_value_defaults
    - g_assert_false
    - g_param_value_validate
    - g_variant_get_int32
    - g_variant_new_uint32
    - g_assert_true
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:719,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:723,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:723,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/param.c:722,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:721,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:724,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:724,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:725,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:725,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:727,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:731,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:729,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:728,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:729,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 732
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 732
    functionName: test_param_validate
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_param_value_defaults
    - g_param_value_validate
    - g_param_spec_int
    - g_assert_cmpint
    - g_value_get_int
    - g_value_init
    - g_value_set_int
    - g_param_spec_unref
    - g_param_value_set_default
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_param_validate (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/param.c:763,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/param.c:773,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:769,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:768,1
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/param.c:765,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:774,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 776
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 776
    functionName: test_param_invalid_name
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_param_spec_int
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_param_spec_unref
    - 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:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1316
    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: register_custom_pspec
      Src: /src/glib/gobject/tests/param.c:1612,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/param.c:1618,1
    - Dst: g_param_spec_custom
      Src: /src/glib/gobject/tests/param.c:1614,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:1616,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:1620,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:1620,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:1621,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:1621,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:1623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1624
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1624
    functionName: test_param_spec_custom
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_cmpint
    - register_custom_pspec
    - g_value_get_int
    - g_value_init
    - g_value_set_int
    - g_param_value_is_valid
    - g_param_spec_custom
    - g_param_spec_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_custom (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/param.c:642,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:645,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:646,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:647,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:596,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:597,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:595,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:599,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:601,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:602,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:625,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gobject/tests/param.c:627,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:607,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:624,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:639,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:594,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:598,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:600,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:603,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gobject/tests/param.c:614,1
    - Dst: g_param_values_cmp
      Src: /src/glib/gobject/tests/param.c:629,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:619,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:620,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gobject/tests/param.c:622,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:636,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 649
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 649
    functionName: test_param_spec_variant_cmp
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_cmpint
    - g_variant_new_parsed
    - g_assert_not_reached
    - g_value_unset
    - g_value_init
    - g_param_spec_unref
    - G_N_ELEMENTS
    - g_param_values_cmp
    - g_param_spec_variant
    - g_value_set_variant
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_variant_cmp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectBClass*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1086
    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: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1530
    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:1546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1549
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1549
    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_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_value_set_char
      Src: /src/glib/gobject/tests/param.c:56,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:53,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_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:87,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/param.c:89,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:87,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:68,1
    - 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_assert_false
      Src: /src/glib/gobject/tests/param.c:72,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:72,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: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:83,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/param.c:79,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:77,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:43,1
    - Dst: g_param_spec_get_nick
      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_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:53,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:52,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_cmpint
      Src: /src/glib/gobject/tests/param.c:69,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/tests/param.c:71,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:82,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:83,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_value_validate
      Src: /src/glib/gobject/tests/param.c:88,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:68,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:91,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:67,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/param.c:84,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/tests/param.c:76,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:89,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_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:74,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:73,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:69,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:66,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:64,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_assert_false
      Src: /src/glib/gobject/tests/param.c:78,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_value_set_schar
    - g_param_value_defaults
    - g_assert_false
    - g_param_value_validate
    - g_assert_cmpint
    - g_param_spec_get_blurb
    - g_value_get_schar
    - g_assert_cmpstr
    - g_value_set_char
    - g_value_init
    - g_param_spec_get_nick
    - g_param_value_is_valid
    - g_value_get_char
    - g_param_spec_unref
    - g_param_spec_char
    - g_assert_true
    - g_param_spec_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_char (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:658,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/tests/param.c:659,1
    - Dst: g_value_take_param
      Src: /src/glib/gobject/tests/param.c:663,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:659,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:661,1
    - Dst: g_value_get_param
      Src: /src/glib/gobject/tests/param.c:664,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:665,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gobject/tests/param.c:667,1
    - Dst: g_value_set_param
      Src: /src/glib/gobject/tests/param.c:668,1
    - Dst: g_value_dup_param
      Src: /src/glib/gobject/tests/param.c:670,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:672,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:675,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:674,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 676
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 676
    functionName: test_param_value
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_value_set_param
    - g_param_spec_int
    - g_value_dup_param
    - g_param_spec_uint
    - g_value_get_param
    - g_value_init
    - G_VALUE_HOLDS_PARAM
    - g_param_spec_unref
    - g_value_take_param
    - g_assert_true
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_param_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - TestObjectB*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1087
    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: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1537
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1537
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1560
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1560
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/param.c:1637,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/param.c:1638,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1640,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1641,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1660,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1661,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/tests/param.c:1651,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1644,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1670,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1671,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1675,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1680,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/param.c:1632,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1634,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1639,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/param.c:1657,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1669,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1677,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1674,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1672,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/tests/param.c:1654,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1662,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/gobject/tests/param.c:1655,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/param.c:1656,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1663,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1664,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1665,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1666,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1667,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1668,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:1676,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1681,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/param.c:1636,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1635,1
    - Dst: g_test_slow
      Src: /src/glib/gobject/tests/param.c:1643,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/param.c:1683,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1673,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1684
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1684
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_add_data_func
    - g_test_add_func
    - g_memdup2
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - g_test_add_data_func_full
    - g_test_slow
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:78,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:79,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:82,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:79,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:82,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:84,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:87,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:89,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:91,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:92,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: test_disconnect_many_ordered
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_free
    - my_obj_get_type
    - g_object_new
    - g_test_minimized_result
    - g_test_timer_elapsed
    - g_object_unref
    - G_CALLBACK
    - g_malloc_n
    - g_signal_handler_disconnect
    - g_test_timer_start
    linkageType: ''
    returnType: void
    signature: 'static void test_disconnect_many_ordered (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:32,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:37,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_signal_new
    - G_TYPE_FROM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_obj_class_init (MyObjClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:133,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:137,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:137,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:134,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:134,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gobject/tests/signal-handler.c:141,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:147,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:150,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:152,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:154,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:155,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 158
    functionName: test_disconnect_many_random
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_free
    - my_obj_get_type
    - g_object_new
    - g_test_minimized_result
    - g_test_timer_elapsed
    - g_object_unref
    - g_test_rand_int_range
    - G_CALLBACK
    - g_malloc_n
    - g_signal_handler_disconnect
    - g_test_timer_start
    linkageType: ''
    returnType: void
    signature: 'static void test_disconnect_many_random (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:213,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:249,1
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:212,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:213,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:225,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:225,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:241,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:248,1
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:211,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:214,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:244,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:246,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:251,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:214,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:220,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:220,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:253,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gobject/tests/signal-handler.c:232,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:250,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 254
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 254
    functionName: test_disconnect_2_objects
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_free
    - my_obj_get_type
    - g_object_new
    - g_test_minimized_result
    - g_test_timer_elapsed
    - g_object_unref
    - g_test_rand_int_range
    - G_CALLBACK
    - g_malloc_n
    - g_signal_handler_disconnect
    - g_test_timer_start
    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: []
    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: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:56,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:61,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:56,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:61,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:58,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:63,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:65,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: test_connect_many
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - my_obj_get_type
    - g_object_new
    - g_test_minimized_result
    - g_test_timer_elapsed
    - g_object_unref
    - G_CALLBACK
    - g_test_timer_start
    linkageType: ''
    returnType: void
    signature: 'static void test_connect_many (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:105,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:106,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:109,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:109,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:106,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:111,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:114,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:116,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:118,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:119,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: test_disconnect_many_inverse
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_free
    - my_obj_get_type
    - g_object_new
    - g_test_minimized_result
    - g_test_timer_elapsed
    - g_object_unref
    - G_CALLBACK
    - g_malloc_n
    - g_signal_handler_disconnect
    - g_test_timer_start
    linkageType: ''
    returnType: void
    signature: 'static void test_disconnect_many_inverse (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:169,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:175,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:175,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:170,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:170,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:177,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:177,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gobject/tests/signal-handler.c:182,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:188,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:191,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:193,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:195,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:196,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 199
    functionName: test_disconnect_2_signals
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_free
    - my_obj_get_type
    - g_object_new
    - g_test_minimized_result
    - g_test_timer_elapsed
    - g_object_unref
    - g_test_rand_int_range
    - G_CALLBACK
    - g_malloc_n
    - g_signal_handler_disconnect
    - g_test_timer_start
    linkageType: ''
    returnType: void
    signature: 'static void test_disconnect_2_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:265,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:269,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:266,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:269,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:266,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gobject/tests/signal-handler.c:273,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:279,1
    - Dst: g_signal_handler_block
      Src: /src/glib/gobject/tests/signal-handler.c:282,1
    - Dst: g_signal_handler_unblock
      Src: /src/glib/gobject/tests/signal-handler.c:285,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:287,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:292,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:289,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: test_block_many
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_free
    - my_obj_get_type
    - g_object_new
    - g_signal_handler_block
    - g_test_minimized_result
    - g_test_timer_elapsed
    - g_object_unref
    - g_test_rand_int_range
    - G_CALLBACK
    - g_signal_handler_unblock
    - g_malloc_n
    - g_test_timer_start
    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:298,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:303,1
    - Dst: g_test_perf
      Src: /src/glib/gobject/tests/signal-handler.c:300,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:302,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:304,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:305,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:306,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:307,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:308,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/signal-handler.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 311
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 311
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    - g_test_perf
    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_free
      Src: /src/glib/gobject/tests/notify-init2.c:100,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init2.c:104,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init2.c:103,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
    - g_free
    - g_strcmp0
    - g_assert
    - g_object_notify_by_pspec
    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
    - g_object_notify_by_pspec
    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: 3
    argNames:
    - type
    - n_construct_properties
    - construct_properties
    argTypes:
    - GType
    - guint
    - GObjectConstructParam*
    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_value_set_string
      Src: /src/glib/gobject/tests/notify-init2.c:183,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/notify-init2.c:170,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_cmpint
    - g_value_set_string
    - g_assert_not_reached
    - g_value_set_int
    - g_assert_true
    - g_value_set_boolean
    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
      Src: /src/glib/gobject/tests/notify-init2.c:61,1
    - Dst: g_object_notify_by_pspec
      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
    - g_object_notify_by_pspec
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_foo (TestObject *obj, gint foo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init2.c:113,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/notify-init2.c:116,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init2.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-init2.c
    functionUses: []
    functionsReached:
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_object_finalize (GObject *gobject) '
  - 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_free
      Src: /src/glib/gobject/tests/notify-init2.c:86,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init2.c:89,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
    - g_free
    - g_strcmp0
    - g_assert
    - g_object_notify_by_pspec
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_baz (TestObject *obj, const gchar *baz) '
  - 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: g_value_get_int
      Src: /src/glib/gobject/tests/notify-init2.c:141,1
    - Dst: test_object_set_foo
      Src: /src/glib/gobject/tests/notify-init2.c:141,1
    - Dst: test_object_set_bar
      Src: /src/glib/gobject/tests/notify-init2.c:145,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_cmpint
    - test_object_set_foo
    - g_value_get_string
    - test_object_set_quux
    - g_value_get_int
    - test_object_set_baz
    - g_assert_not_reached
    - g_value_get_boolean
    - g_assert_true
    - test_object_set_bar
    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_boolean
      Src: /src/glib/gobject/tests/notify-init2.c:204,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/notify-init2.c:207,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:211,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_int
    - g_param_spec_boolean
    - g_object_class_install_properties
    - g_param_spec_string
    - G_OBJECT_CLASS
    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_object_new
    - g_object_unref
    - test_object_get_type
    - g_test_summary
    - g_test_bug
    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_run
    - g_test_init
    - g_test_add_func
    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_source_attach
      Src: /src/glib/gobject/tests/closure.c:22,1
    - Dst: g_source_set_closure
      Src: /src/glib/gobject/tests/closure.c:20,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/closure.c:19,1
    - Dst: g_main_loop_run
      Src: /src/glib/gobject/tests/closure.c:23,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_source_set_closure
    - g_cclosure_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_source_destroy
    - g_source_attach
    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: G_CALLBACK
      Src: /src/glib/gobject/tests/closure.c:45,1
    - Dst: test_source
      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_idle_source_new
    - G_CALLBACK
    - test_source
    - g_source_unref
    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_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_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_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_assert_no_error
      Src: /src/glib/gobject/tests/closure.c:126,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/closure.c:132,1
    - Dst: test_source
      Src: /src/glib/gobject/tests/closure.c:131,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/closure.c:128,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/closure.c:131,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/gobject/tests/closure.c:130,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_free
    - test_source
    - g_get_prgname
    - g_assert
    - g_spawn_async
    - g_assert_no_error
    - g_child_watch_source_new
    - G_CALLBACK
    - g_getenv
    - g_source_unref
    - g_path_is_absolute
    - g_setenv
    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_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: 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: test_source
      Src: /src/glib/gobject/tests/closure.c:55,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/closure.c:56,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_CALLBACK
    - test_source
    - g_timeout_source_new
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_closure_timeout (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      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_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_get_prgname
      Src: /src/glib/gobject/tests/closure.c:80,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: test_source
      Src: /src/glib/gobject/tests/closure.c:92,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gobject/tests/closure.c:95,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
    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_free
    - g_io_create_watch
    - test_source
    - g_get_prgname
    - g_assert_no_error
    - G_CALLBACK
    - g_io_channel_unref
    - g_source_unref
    - g_io_channel_new_file
    - 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_unix_fd_source_new
      Src: /src/glib/gobject/tests/closure.c:157,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_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:
    - test_source
    - g_assert
    - g_unix_fd_source_new
    - close
    - G_CALLBACK
    - g_source_unref
    - open
    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: test_source
      Src: /src/glib/gobject/tests/closure.c:189,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/closure.c:190,1
    - Dst: G_CALLBACK
      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:
    - test_source
    - g_unix_signal_source_new
    - G_CALLBACK
    - g_source_unref
    - g_idle_add_full
    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: sigismember
      Src: /src/glib/gobject/tests/closure.c:205,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: 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_message
    - sigismember
    - g_test_add_func
    - sigaddset
    - sigemptyset
    - g_test_init
    - g_test_run
    - sigprocmask
    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:
    - 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: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/defaultiface.c:61,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/defaultiface.c:67,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:66,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/defaultiface.c:65,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/defaultiface.c:62,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_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:79,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/defaultiface.c:80,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_assert_cmpint
    - g_assert_nonnull
    - g_type_default_interface_peek
    - g_type_default_interface_unref
    - g_assert_null
    - g_type_default_interface_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_static_iface (void) '
  - 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:149,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/defaultiface.c:156,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_ref
      Src: /src/glib/gobject/tests/defaultiface.c:180,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/tests/defaultiface.c:164,1
    - 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_type_default_interface_peek
      Src: /src/glib/gobject/tests/defaultiface.c:172,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:182,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/defaultiface.c:190,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:155,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/defaultiface.c:181,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/defaultiface.c:153,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/defaultiface.c:154,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/defaultiface.c:150,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_type_default_interface_unref
      Src: /src/glib/gobject/tests/defaultiface.c:186,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_assert_cmpint
    - g_assert_false
    - g_assert_nonnull
    - g_type_default_interface_ref
    - g_type_default_interface_peek
    - g_type_default_interface_unref
    - g_assert_null
    - g_assert_true
    - test_module_new
    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_test_add_func
      Src: /src/glib/gobject/tests/defaultiface.c:205,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/defaultiface.c:204,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/defaultiface.c:202,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/defaultiface.c:198,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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: exit
      Src: /src/glib/gobject/tests/testing.c:46,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/testing.c:39,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/testing.c:44,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_ref
    - g_object_new
    - g_object_unref
    - exit
    - g_assert_finalize_object
    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_subprocess
      Src: /src/glib/gobject/tests/testing.c:56,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/testing.c:54,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/testing.c:59,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/testing.c:58,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_object_new
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - 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_add_func
      Src: /src/glib/gobject/tests/testing.c:69,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/testing.c:72,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_run
    - g_test_init
    - g_test_add_func
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    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: g_thread_yield
      Src: /src/glib/gobject/tests/properties-refcount1.c:184,1
    - Dst: my_test_do_property
      Src: /src/glib/gobject/tests/properties-refcount1.c:180,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_atomic_int_get
    - g_test_message
    - my_test_do_property
    - g_thread_yield
    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_object_class_install_property
      Src: /src/glib/gobject/tests/properties-refcount1.c:90,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties-refcount1.c:92,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_object_class_install_property
    - g_type_class_ref
    - g_param_spec_int
    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_signal_connect
      Src: /src/glib/gobject/tests/properties-refcount1.c:206,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties-refcount1.c:206,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties-refcount1.c:205,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/properties-refcount1.c:209,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_signal_connect
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - G_CALLBACK
    - g_thread_new
    - g_usleep
    - g_thread_join
    - g_atomic_int_set
    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_test_add_func
      Src: /src/glib/gobject/tests/properties-refcount1.c:239,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount1.c:235,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/properties-refcount1.c:237,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/properties-refcount1.c:241,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/objects-refcount2.c:96,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/objects-refcount2.c:99,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/objects-refcount2.c:98,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_ref
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_refcount (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_test_message
    - G_OBJECT_CLASS
    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_init
      Src: /src/glib/gobject/tests/objects-refcount2.c:125,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/objects-refcount2.c:127,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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_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_assert_cmpint
      Src: /src/glib/gobject/tests/dynamictype.c:151,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/dynamictype.c:161,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/dynamictype.c:152,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/dynamictype.c:114,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/dynamictype.c:117,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/dynamictype.c:122,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/dynamictype.c:133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/dynamictype.c:129,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/dynamictype.c:155,1
    - Dst: g_type_is_a
      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_true
      Src: /src/glib/gobject/tests/dynamictype.c:124,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_nonnull
      Src: /src/glib/gobject/tests/dynamictype.c:128,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/dynamictype.c:137,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/dynamictype.c:144,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/dynamictype.c:149,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/dynamictype.c:150,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/dynamictype.c:156,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/dynamictype.c:160,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/dynamictype.c:112,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
    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_false
    - g_assert_cmpint
    - g_type_class_peek
    - g_assert_nonnull
    - g_type_class_unref
    - g_type_is_a
    - g_assert_null
    - g_assert_true
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_dynamic_type (void) '
  - 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: []
    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:
    - 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_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_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_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_query
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_type_class_unref
    - g_test_bug
    - g_type_class_ref
    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_init
      Src: /src/glib/gobject/tests/dynamictype.c:194,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/dynamictype.c:190,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:198,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_log_set_always_fatal
    - g_test_add_func
    - g_test_run
    - g_test_init
    - test_module_new
    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: 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: []
    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:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/dynamictests.c:109,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/tests/dynamictests.c:110,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:118,1
    - Dst: g_type_module_use
      Src: /src/glib/gobject/tests/dynamictests.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - register_func
    argTypes:
    - TestModuleRegisterFunc
    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_object_new
    - g_type_module_use
    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:
    - Dst: test_module_new
      Src: /src/glib/gobject/tests/dynamictests.c:203,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/dynamictests.c:204,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_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_type_class_peek
    - g_assert
    - g_mutex_unlock
    - g_thread_new
    - g_thread_join
    - g_mutex_lock
    - test_module_new
    linkageType: ''
    returnType: void
    signature: 'static void test_multithreaded_dynamic_type_init (void) '
  - 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: 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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    linkageType: ''
    returnType: void
    signature: 'static void get_prop (GObject *object, guint prop_id, GValue *value,
      GParamSpec *pspec) '
  - 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: 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_object_new
      Src: /src/glib/gobject/tests/dynamictests.c:352,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/dynamictests.c:353,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_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_assert_cmpint
    - g_object_new
    - g_assert
    - dyn_obj_get_type
    - g_object_unref
    - g_object_get
    - test_module_new
    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_add_func
      Src: /src/glib/gobject/tests/dynamictests.c:365,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
    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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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
    - g_object_class_override_property
    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_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:174,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/dynamictests.c:175,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_printerr
      Src: /src/glib/gobject/tests/dynamictests.c:189,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/dynamictests.c:188,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_test_verbose
    - g_type_class_unref
    - g_mutex_unlock
    - g_type_class_ref
    - g_mutex_lock
    - g_printerr
    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: 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_test_message
    - 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/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:111,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:107,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_param_spec_int
      Src: /src/glib/gobject/tests/signals-refcount.c:120,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/signals-refcount.c:119,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_object_class_install_property
    - g_param_spec_int
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_STRUCT_OFFSET
    - G_OBJECT_CLASS
    - g_type_class_ref
    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_value_set_int
      Src: /src/glib/gobject/tests/signals-refcount.c:175,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/signals-refcount.c:178,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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    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: 2
    argNames:
    - test
    - anint
    argTypes:
    - GTest*
    - gint
    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
    - g_object_notify
    - g_random_int
    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_assert_cmpint
    - g_object_get
    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: 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_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: 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_OBJECT
      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_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_OBJECT
    - g_free
    - 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_signal3
    - g_atomic_int_get
    - my_test_do_signal2
    - my_test_do_signal1
    - my_test_do_prop
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer run_thread (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_free
      Src: /src/glib/gobject/tests/signals-refcount.c:295,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals-refcount.c:291,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals-refcount.c:264,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals-refcount.c:268,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_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:278,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/signals-refcount.c:283,1
    - Dst: g_array_append_val
      Src: /src/glib/gobject/tests/signals-refcount.c:281,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:266,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:267,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals-refcount.c:267,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals-refcount.c:268,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals-refcount.c:296,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/signals-refcount.c:285,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/signals-refcount.c:280,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals-refcount.c:297,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_signal_connect
    - g_object_new
    - g_array_index
    - g_array_new
    - g_object_unref
    - g_array_append_val
    - G_CALLBACK
    - g_thread_new
    - g_usleep
    - g_thread_join
    - g_array_free
    - g_atomic_int_set
    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_log_set_always_fatal
      Src: /src/glib/gobject/tests/signals-refcount.c:305,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/signals-refcount.c:311,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals-refcount.c:309,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_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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: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_cmpint
    - g_assert_true
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:112,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/references.c:113,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/references.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: toggle_ref1
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    - g_assert_true
    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:140,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/references.c:146,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:146,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/references.c:141,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/references.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: toggle_ref3
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_object_remove_toggle_ref
    - GUINT_TO_POINTER
    - GPOINTER_TO_INT
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void toggle_ref3 (gpointer data, GObject *object, gboolean
      is_last_ref) '
  - 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_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:
    - 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_cmpint
    - g_assert_true
    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:126,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/references.c:127,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/references.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: toggle_ref2
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void toggle_ref2 (gpointer data, GObject *object, gboolean
      is_last_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:163,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:175,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:213,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/references.c:233,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:196,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/references.c:221,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:252,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:238,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:254,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:225,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:234,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:240,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:165,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:171,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:172,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:177,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:208,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:204,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:214,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:224,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:210,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:255,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:227,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:160,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:183,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/tests/references.c:185,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/references.c:196,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:191,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:246,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:202,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:216,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:232,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/references.c:242,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:206,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:237,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:222,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:230,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:169,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:212,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:189,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:200,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:244,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:160,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:172,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:178,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:184,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:194,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:236,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:218,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:158,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/references.c:205,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:221,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:233,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:183,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:228,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:247,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:213,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/references.c:252,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:258,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:164,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:176,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:187,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:198,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:181,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:188,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:243,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:199,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/references.c:222,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:207,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:215,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:226,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:235,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:256,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:250,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:184,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:185,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:190,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:245,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:201,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:257,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:162,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:171,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 97
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 259
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 259
    functionName: test_references
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_object_ref
    - g_object_new
    - g_object_weak_unref
    - g_object_remove_toggle_ref
    - g_object_weak_ref
    - g_object_unref
    - GUINT_TO_POINTER
    - g_object_add_toggle_ref
    - clear_flags
    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:265,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/references.c:273,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/references.c:265,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/references.c:269,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/references.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    - g_log_set_always_fatal
    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_init
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_flags_transform_to_string (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_value_unset
      Src: /src/glib/gobject/tests/enums.c:26,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:30,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:41,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:42,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:44,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:50,1
    - Dst: g_enum_to_string
      Src: /src/glib/gobject/tests/enums.c:52,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:31,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/tests/enums.c:37,1
    - Dst: g_enum_get_value_by_nick
      Src: /src/glib/gobject/tests/enums.c:46,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/enums.c:60,1
    - Dst: g_enum_register_static
      Src: /src/glib/gobject/tests/enums.c:19,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/enums.c:21,1
    - Dst: g_value_set_enum
      Src: /src/glib/gobject/tests/enums.c:24,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_enum_get_value
      Src: /src/glib/gobject/tests/enums.c:34,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:35,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:36,1
    - Dst: g_enum_get_value_by_name
      Src: /src/glib/gobject/tests/enums.c:40,1
    - Dst: g_enum_get_value_by_name
      Src: /src/glib/gobject/tests/enums.c:43,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:38,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_enum_get_value_by_nick
      Src: /src/glib/gobject/tests/enums.c:49,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:53,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:54,1
    - Dst: g_enum_to_string
      Src: /src/glib/gobject/tests/enums.c:56,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:57,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:58,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_register_static
    - G_VALUE_HOLDS_ENUM
    - g_assert_cmpint
    - g_free
    - g_enum_get_value_by_name
    - g_assert_nonnull
    - g_value_get_enum
    - g_assert_cmpstr
    - g_enum_to_string
    - g_type_class_unref
    - g_value_set_enum
    - g_value_init
    - g_enum_get_value
    - g_assert_null
    - g_enum_get_value_by_nick
    - g_assert_true
    - g_value_unset
    - g_type_class_ref
    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:214,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:215,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: 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
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:225,1
    - Dst: test_flags_get_type
      Src: /src/glib/gobject/tests/enums.c:224,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_assert_cmpint
    - g_free
    - g_assert_nonnull
    - g_flags_get_first_value
    - g_assert_cmpstr
    - g_flags_to_string
    - g_type_class_unref
    - g_assert_null
    - test_flags_get_type
    - g_type_class_ref
    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:181,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_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_assert_cmpint
    - test_enum_get_type
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_type_class_unref
    - g_enum_get_value
    - g_assert_null
    - g_type_class_ref
    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: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_nonnull
      Src: /src/glib/gobject/tests/enums.c:113,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gobject/tests/enums.c:112,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:125,1
    - Dst: g_flags_get_value_by_nick
      Src: /src/glib/gobject/tests/enums.c:127,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:128,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:149,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:151,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:153,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:154,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gobject/tests/enums.c:102,1
    - Dst: g_assert_cmpint
      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_assert_null
      Src: /src/glib/gobject/tests/enums.c:116,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:114,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/enums.c:131,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:147,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:150,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:155,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:134,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:138,1
    - Dst: g_flags_register_static
      Src: /src/glib/gobject/tests/enums.c:97,1
    - Dst: g_assert_true
      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_flags_get_first_value
      Src: /src/glib/gobject/tests/enums.c:115,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:121,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:122,1
    - Dst: g_flags_get_value_by_nick
      Src: /src/glib/gobject/tests/enums.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:126,1
    - Dst: test_flags_transform_to_string
      Src: /src/glib/gobject/tests/enums.c:130,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:146,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:120,1
    - Dst: g_flags_get_value_by_name
      Src: /src/glib/gobject/tests/enums.c:118,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_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:137,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:139,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:142,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:143,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:145,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:
    - g_value_init
    - g_value_get_flags
    - g_type_class_ref
    - g_flags_get_value_by_name
    - g_assert_cmpint
    - test_flags_transform_to_string
    - g_assert_nonnull
    - g_flags_get_first_value
    - G_VALUE_HOLDS_FLAGS
    - g_flags_register_static
    - g_value_set_flags
    - g_flags_to_string
    - g_assert_null
    - g_flags_get_value_by_nick
    - g_free
    - g_assert_cmpstr
    - g_type_class_unref
    - g_assert_true
    - 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:239,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:236,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1026
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1026
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1032
    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_object_notify_by_pspec
      Src: /src/glib/gobject/tests/performance/performance.c:939,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 940
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 940
    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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1100
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1100
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1106
    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_print
      Src: /src/glib/gobject/tests/performance/performance.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 656
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 656
    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: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 525
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 813
    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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1171
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1171
    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:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:540,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/performance/performance.c:542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 545
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 545
    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_print
      Src: /src/glib/gobject/tests/performance/performance.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 824
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 824
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1177
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gobject/tests/performance/performance.c:1549,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gobject/tests/performance/performance.c:1550,1
    - Dst: g_option_context_parse
      Src: /src/glib/gobject/tests/performance/performance.c:1551,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/performance/performance.c:1553,1
    - Dst: find_test
      Src: /src/glib/gobject/tests/performance/performance.c:1561,1
    - Dst: run_test
      Src: /src/glib/gobject/tests/performance/performance.c:1563,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/performance/performance.c:1569,1
    - Dst: run_test
      Src: /src/glib/gobject/tests/performance/performance.c:1570,1
    - Dst: g_option_context_free
      Src: /src/glib/gobject/tests/performance/performance.c:1573,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1575
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_option_context_free
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_printerr
    - run_test
    - G_N_ELEMENTS
    - find_test
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - SimpleObjectClass*
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    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_object_get
      Src: /src/glib/gobject/tests/performance/performance.c:1149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1150
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - simple_object
    argTypes:
    - SimpleObject*
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    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_new0
      Src: /src/glib/gobject/tests/performance/performance.c:1157,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:1158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1161
    functionName: test_get_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_new0
    linkageType: ''
    returnType: void*
    signature: 'static void *test_get_setup (PerformanceTest *test) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/performance/performance.c:1533,1
    - Dst: strcmp
      Src: /src/glib/gobject/tests/performance/performance.c:1535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1539
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1539
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 688
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 688
    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:793,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:794,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/performance/performance.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 797
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 797
    functionName: test_emission_unhandled_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_object_new
    - g_new0
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_emission_unhandled_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:674,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: test_type_check_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_new0
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_type_check_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: 807
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 807
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 634
    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:
    - Dst: test_iface1_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:705,1
    - Dst: test_iface3_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:707,1
    - Dst: test_iface4_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:708,1
    - Dst: test_iface2_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:706,1
    - Dst: test_iface5_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:709,1
    - Dst: my_type_check_instance_is_a
      Src: /src/glib/gobject/tests/performance/performance.c:716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 720
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 720
    functionName: test_type_check_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - test_iface3_get_type
    - test_iface4_get_type
    - test_iface2_get_type
    - my_type_check_instance_is_a
    - test_iface1_get_type
    - test_iface5_get_type
    linkageType: ''
    returnType: void
    signature: "static void test_type_check_run (PerformanceTest *test,\t\t gpointer
      _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/performance/performance.c:1078,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1079
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance.c:91,1
    - Dst: MIN
      Src: /src/glib/gobject/tests/performance/performance.c:113,1
    - Dst: g_timer_start
      Src: /src/glib/gobject/tests/performance/performance.c:134,1
    - Dst: MAX
      Src: /src/glib/gobject/tests/performance/performance.c:145,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance.c:138,1
    - Dst: g_timer_new
      Src: /src/glib/gobject/tests/performance/performance.c:74,1
    - Dst: g_timer_start
      Src: /src/glib/gobject/tests/performance/performance.c:104,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance.c:109,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:125,1
    - Dst: MIN
      Src: /src/glib/gobject/tests/performance/performance.c:144,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:157,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:156,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:71,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:78,1
    - Dst: g_timer_stop
      Src: /src/glib/gobject/tests/performance/performance.c:90,1
    - Dst: g_timer_stop
      Src: /src/glib/gobject/tests/performance/performance.c:106,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:95,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:96,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:119,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:155,1
    - Dst: g_timer_start
      Src: /src/glib/gobject/tests/performance/performance.c:80,1
    - Dst: g_timer_stop
      Src: /src/glib/gobject/tests/performance/performance.c:136,1
    - Dst: g_timer_destroy
      Src: /src/glib/gobject/tests/performance/performance.c:165,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 79
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 166
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 166
    functionName: run_test
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_timer_destroy
    - g_timer_elapsed
    - MIN
    - g_timer_stop
    - g_timer_new
    - g_timer_start
    - MAX
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void run_test (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 645
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 645
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    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:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:1086,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:1087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1090
    functionName: test_set_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_new0
    linkageType: ''
    returnType: void*
    signature: 'static void *test_set_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 498
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 498
    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:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 736
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 736
    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_print
      Src: /src/glib/gobject/tests/performance/performance.c:979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 981
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 981
    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_print
      Src: /src/glib/gobject/tests/performance/performance.c:1041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1043
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1043
    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_slice_new0
      Src: /src/glib/gobject/tests/performance/performance.c:510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 511
    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:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:744,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 746
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 746
    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:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:989,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:990,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 991
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 991
    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: g_assert_cmpuint
      Src: /src/glib/gobject/tests/performance/performance.c:1051,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:1056,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gobject/tests/performance/performance.c:1052,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1057
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1057
    functionName: test_notify_handled_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_signal_handlers_disconnect_by_func
    - g_free
    - g_object_unref
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_handled_teardown (PerformanceTest *test, void
      *_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_iface
    - iface_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    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_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1242,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1243,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1246,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1245,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1244,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1248,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1249,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1250,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1251,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1254
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1254
    functionName: test_refcount_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_run (PerformanceTest *test, gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - complex_object
    argTypes:
    - ComplexObject*
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 445
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1260
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1260
    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: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - obj
    - pspec
    - data
    argTypes:
    - ComplexObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 1000
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1000
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:1115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1117
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1117
    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_new0
      Src: /src/glib/gobject/tests/performance/performance.c:1216,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:1217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1220
    functionName: test_refcount_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_new0
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_refcount_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/performance/performance.c:928,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 929
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 929
    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:1007,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:1012,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:1010,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:1008,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:1011,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:1013,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1016
    functionName: test_notify_handled_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_object_new
    - G_CALLBACK
    - g_new0
    linkageType: ''
    returnType: void*
    signature: 'static void *test_notify_handled_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1125,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:1126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1127
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 1230
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1230
    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:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/tests/performance/performance.c:769,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 770
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 770
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - obj
    - data
    argTypes:
    - ComplexObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    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_new0
      Src: /src/glib/gobject/tests/performance/performance.c:850,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:853,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/performance/performance.c:852,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:854,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:851,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:856,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:857,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:859,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:860,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:862,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:865,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:863,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 870
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 870
    functionName: test_emission_handled_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_object_new
    - g_new0
    - G_CALLBACK
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_emission_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: 886
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 886
    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_signal_emit
      Src: /src/glib/gobject/tests/performance/performance.c:781,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 782
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 782
    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: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 880
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 880
    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_print
      Src: /src/glib/gobject/tests/performance/performance.c:895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 897
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 897
    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:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:832,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 834
    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_new
      Src: /src/glib/gobject/tests/performance/performance.c:559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 561
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 561
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/gobject/tests/performance/performance.c:606,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:611,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - test
    - _data
    - count_factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 613
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 613
    functionName: test_finalization_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_renew
    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_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 572
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 572
    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_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:626,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 628
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 628
    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_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:382,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:373,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:400,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:399,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/performance/performance.c:416,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:364,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:376,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:385,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:391,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:411,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:408,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/performance/performance.c:423,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:402,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:374,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:383,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:392,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:394,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/performance/performance.c:419,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - class
    argTypes:
    - ComplexObjectClass*
    constantsTouched: []
    func_position:
      end: 424
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 424
    functionName: complex_object_class_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - g_object_class_install_properties
    - G_STRUCT_OFFSET
    - g_param_spec_string
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void complex_object_class_init (ComplexObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:1186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1188
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1188
    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_print
      Src: /src/glib/gobject/tests/performance/performance.c:1268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 1270
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1270
    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: COMPLEX_OBJECT
      Src: /src/glib/gobject/tests/performance/performance.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - TestIface*
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    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_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1196,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1198
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1198
    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:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1278,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:1279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1280
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1280
    functionName: test_refcount_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: "static void test_refcount_teardown (PerformanceTest *test,\t\t\t gpointer
      _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:905,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 907
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 907
    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: COMPLEX_OBJECT
      Src: /src/glib/gobject/tests/performance/performance.c:304,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:308,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: complex_object_finalize
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - COMPLEX_OBJECT
    - g_free
    - 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:340,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/performance/performance.c:348,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/performance/performance.c:351,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/performance/performance.c:345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 354
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 354
    functionName: complex_object_get_property
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - COMPLEX_OBJECT
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: COMPLEX_OBJECT
      Src: /src/glib/gobject/tests/performance/performance.c:317,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:325,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/performance/performance.c:329,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/performance/performance.c:322,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/tests/performance/performance.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: complex_object_set_property
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_free
    - g_value_get_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - 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: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_IFACE
      Src: /src/glib/gobject/tests/performance/performance.c:239,1
    - Dst: DEFINE_IFACE
      Src: /src/glib/gobject/tests/performance/performance.c:241,1
    - Dst: complex_object_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:248,1
    - Dst: DEFINE_IFACE
      Src: /src/glib/gobject/tests/performance/performance.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ()
    argTypes:
    - complex_object_get_type
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: DEFINE_IFACE
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - DEFINE_IFACE
    - complex_object_get_type
    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_new0
      Src: /src/glib/gobject/tests/performance/performance.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 468
    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_slice_free
      Src: /src/glib/gobject/tests/performance/performance.c:582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 583
    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_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/gobject/tests/performance/performance.c:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - test
    - _data
    - count_factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 484
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 484
    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_free
      Src: /src/glib/gobject/tests/performance/performance.c:590,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 592
    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:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:951,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 954
    functionName: test_notify_unhandled_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_new0
    linkageType: ''
    returnType: void*
    signature: 'static void *test_notify_unhandled_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 964
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 964
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 970
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 970
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:80,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: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_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:106,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:105,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:108,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: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_type_interface_peek
    - g_assert
    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: run_test_thread
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:295,1
    - Dst: g_new
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:301,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_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: g_array_free
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:317,1
    - Dst: print_results
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:316,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_append_vals
    - g_free
    - g_assert
    - g_array_new
    - g_new
    - run_test_thread
    - g_thread_new
    - g_thread_join
    - g_array_free
    - g_print
    - 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:57,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:60,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: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
    - simple_register_class
    - g_once_init_enter
    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_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_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: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_type_interface_peek
    - g_assert
    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_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:247,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_timer_destroy
    - g_timer_elapsed
    - g_array_new
    - g_timer_stop
    - g_array_append_val
    - g_timer_new
    - g_timer_start
    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_print
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:284,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
    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_print
    - g_array_sort
    - g_array_index
    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: 1
    argNames:
    - name
    argTypes:
    - char*
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:31,1
    - Dst: g_type_register_static_simple
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:32,1
    - Dst: va_end
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:41,1
    - Dst: va_arg
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:36,1
    - Dst: g_type_add_interface_static
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:39,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:
    - va_end
    - va_start
    - va_arg
    - g_type_register_static_simple
    - g_type_add_interface_static
    linkageType: ''
    returnType: GType
    signature: 'static GType simple_register_class (const char *name, GType parent,
      ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:341,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:342,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_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_option_context_new
    - find_test
    - g_option_context_free
    - g_option_context_parse
    - g_option_context_add_main_entries
    - run_test
    - G_N_ELEMENTS
    - g_print
    - g_printerr
    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_test_expect_message
      Src: /src/glib/gthread/tests/init.c:45,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gthread/tests/init.c:48,1
    - Dst: g_thread_init
      Src: /src/glib/gthread/tests/init.c:47,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_thread_init
    - g_test_assert_expected_messages
    - g_test_expect_message
    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: 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_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
    - Dst: g_test_init
      Src: /src/glib/gthread/tests/init.c:66,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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_test_assert_expected_messages
    - g_thread_init_with_errorcheck_mutexes
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_deprecated_init_with_errorcheck_mutexes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gdatetime.c:677,1
    - Dst: g_time_zone_ref
      Src: /src/glib/glib/gdatetime.c:678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - tz
    argTypes:
    - GTimeZone*
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: g_date_time_alloc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_time_zone_ref
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *g_date_time_alloc (GTimeZone *tz) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/glib/glib/gdatetime.c:2803,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2818,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2833,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2825,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2811,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2837,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - outstr
    - offset
    - colons
    argTypes:
    - GString*
    - gint
    - guint
    constantsTouched: []
    func_position:
      end: 2849
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2849
    functionName: format_z
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    - ABS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean format_z (GString *outstr, gint offset, guint colons) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1759,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:1772,1
    - Dst: g_date_time_replace_days
      Src: /src/glib/glib/gdatetime.c:1772,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:1764,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - datetime
    - years
    argTypes:
    - GDateTime*
    - gint
    constantsTouched: []
    func_position:
      end: 1773
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1773
    functionName: g_date_time_add_years
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_ymd
    - ymd_to_days
    - g_date_time_replace_days
    - GREGORIAN_LEAP
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_years (GDateTime *datetime, gint years) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:2784,1
    - Dst: g_date_time_to_timezone
      Src: /src/glib/glib/gdatetime.c:2785,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:2786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2789
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2789
    functionName: g_date_time_to_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_time_zone_new_utc
    - g_date_time_to_timezone
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_to_utc (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1158,1
    - Dst: g_date_time_new_from_timeval
      Src: /src/glib/glib/gdatetime.c:1159,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - tv
    argTypes:
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1163
    functionName: g_date_time_new_from_timeval_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_timeval
    - g_time_zone_unref
    - g_time_zone_new_utc
    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:1261,1
    - Dst: g_date_time_get_week_number
      Src: /src/glib/glib/gdatetime.c:1264,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1271,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1273,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gdatetime.c:1265,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1275,1
    - Dst: g_date_time_new_ordinal
      Src: /src/glib/glib/gdatetime.c:1279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 7
    argNames:
    - tz
    - year
    - week
    - week_day
    - hour
    - minute
    - seconds
    argTypes:
    - GTimeZone*
    - gint
    - gint
    - gint
    - gint
    - gint
    - gdouble
    constantsTouched: []
    func_position:
      end: 1280
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1280
    functionName: g_date_time_new_week
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_ordinal
    - g_date_time_get_week_number
    - g_date_time_unref
    - g_date_time_new
    - GREGORIAN_LEAP
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1799,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:1800,1
    - Dst: MIN
      Src: /src/glib/glib/gdatetime.c:1818,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1818,1
    - Dst: g_date_time_replace_days
      Src: /src/glib/glib/gdatetime.c:1820,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:1820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - datetime
    - months
    argTypes:
    - GDateTime*
    - gint
    constantsTouched: []
    func_position:
      end: 1821
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1821
    functionName: g_date_time_add_months
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_ymd
    - ymd_to_days
    - g_date_time_replace_days
    - MIN
    - GREGORIAN_LEAP
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_months (GDateTime *datetime, gint months) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:393,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:399,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:401,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:395,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:397,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:403,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:405,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - day
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 412
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 412
    functionName: get_weekday_name_abbr
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - C_
    - g_warning
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_weekday_name_abbr (gint day) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - text
    - length
    - value
    argTypes:
    - gchar*
    - gsize
    - gint*
    constantsTouched: []
    func_position:
      end: 1186
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1186
    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:1290,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1294,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1329,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1333,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1339,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1292,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1291,1
    - Dst: g_date_time_new_ordinal
      Src: /src/glib/glib/gdatetime.c:1303,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1319,1
    - Dst: g_date_time_new_week
      Src: /src/glib/glib/gdatetime.c:1323,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1331,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1330,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1340,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1300,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1309,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1321,1
    - Dst: g_date_time_new_week
      Src: /src/glib/glib/gdatetime.c:1313,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1320,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1301,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1310,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1311,1
    - Dst: g_date_time_new_ordinal
      Src: /src/glib/glib/gdatetime.c:1342,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 85
    argCount: 6
    argNames:
    - text
    - length
    - hour
    - minute
    - seconds
    - tz
    argTypes:
    - gchar*
    - gsize
    - gint
    - gint
    - gdouble
    - GTimeZone*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1346
    functionName: parse_iso8601_date
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_ordinal
    - get_iso8601_int
    - g_date_time_new
    - g_date_time_new_week
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *parse_iso8601_date (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:697,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gdatetime.c:700,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 703
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 703
    functionName: g_date_time_ref
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_ref (GDateTime *datetime) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:329,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:331,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:337,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:333,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:335,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:339,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:341,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:343,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:345,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:347,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:349,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:351,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:354,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 1
    argNames:
    - month
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 358
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 358
    functionName: get_month_name_abbr_standalone
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - C_
    - g_warning
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_month_name_abbr_standalone (gint month) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2513
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2513
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:366,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:368,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:374,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:370,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:372,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:376,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:378,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:381,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - day
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 385
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 385
    functionName: get_weekday_name
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - C_
    - g_warning
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_weekday_name (gint day) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2495
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2495
    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: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1593,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:1605,1
    - Dst: isnan
      Src: /src/glib/glib/gdatetime.c:1600,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1597,1
    - Dst: g_date_time_alloc
      Src: /src/glib/glib/gdatetime.c:1604,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:1611,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/gdatetime.c:1616,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 7
    argNames:
    - tz
    - year
    - month
    - day
    - hour
    - minute
    - seconds
    argTypes:
    - GTimeZone*
    - gint
    - gint
    - gint
    - gint
    - gint
    - gdouble
    constantsTouched: []
    func_position:
      end: 1637
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1637
    functionName: g_date_time_new
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - isnan
    - g_date_time_alloc
    - ymd_to_days
    - GREGORIAN_LEAP
    - g_time_zone_adjust_time
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new (GTimeZone *tz, gint year, gint month,
      gint day, gint hour, gint minute, gdouble seconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1731,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:1734,1
    - Dst: g_date_time_from_instant
      Src: /src/glib/glib/gdatetime.c:1733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - datetime
    - timespan
    argTypes:
    - GDateTime*
    - GTimeSpan
    constantsTouched: []
    func_position:
      end: 1735
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1735
    functionName: g_date_time_add
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_to_instant
    - g_date_time_from_instant
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add (GDateTime *datetime, GTimeSpan timespan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:2756,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:2758,1
    - Dst: g_date_time_to_timezone
      Src: /src/glib/glib/gdatetime.c:2757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2761
      start: 2750
    functionDepth: 0
    functionLinenumber: 2750
    functionLinenumberEnd: 2761
    functionName: g_date_time_to_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_local
    - g_time_zone_unref
    - g_date_time_to_timezone
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_to_local (GDateTime *datetime) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:469,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:473,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:475,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:471,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:477,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:479,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:481,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:483,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:485,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:487,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:489,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:491,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:494,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 1
    argNames:
    - month
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 498
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 498
    functionName: get_month_name_with_day
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - C_
    - g_warning
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_month_name_with_day (gint month) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2729,1
    - Dst: g_date_time_from_instant
      Src: /src/glib/glib/gdatetime.c:2732,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2730,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - datetime
    - tz
    argTypes:
    - GDateTime*
    - GTimeZone*
    constantsTouched: []
    func_position:
      end: 2733
      start: 2725
    functionDepth: 0
    functionLinenumber: 2725
    functionLinenumberEnd: 2733
    functionName: g_date_time_to_timezone
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_to_instant
    - g_date_time_from_instant
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_to_timezone (GDateTime *datetime, GTimeZone
      *tz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNIX_USECS_TO_INSTANT_IS_VALID
      Src: /src/glib/glib/gdatetime.c:932,1
    - Dst: UNIX_USECS_TO_INSTANT
      Src: /src/glib/glib/gdatetime.c:935,1
    - Dst: g_date_time_from_instant
      Src: /src/glib/glib/gdatetime.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - tz
    - usecs
    argTypes:
    - GTimeZone*
    - gint64
    constantsTouched: []
    func_position:
      end: 936
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 936
    functionName: g_date_time_new_from_unix
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - UNIX_USECS_TO_INSTANT_IS_VALID
    - UNIX_USECS_TO_INSTANT
    - g_date_time_from_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:1122,1
    - Dst: g_date_time_new_from_timeval
      Src: /src/glib/glib/gdatetime.c:1123,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - tv
    argTypes:
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1127
    functionName: g_date_time_new_from_timeval_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_local
    - g_date_time_new_from_timeval
    - g_time_zone_unref
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2453,1
    - Dst: g_date_time_get_week_number
      Src: /src/glib/glib/gdatetime.c:2455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2457
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2457
    functionName: g_date_time_get_day_of_year
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_get_week_number
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_day_of_year (GDateTime *datetime) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_AMPM
      Src: /src/glib/glib/gdatetime.c:2958,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/gdatetime.c:2966,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/gdatetime.c:2971,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:2961,1
    - Dst: get_fallback_ampm
      Src: /src/glib/glib/gdatetime.c:2961,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/gdatetime.c:2973,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:2974,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:2976,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:2977,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: 2980
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 2980
    functionName: format_ampm
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - GET_AMPM
    - g_string_append
    - g_free
    - g_utf8_strup
    - g_locale_to_utf8
    - get_fallback_ampm
    - g_date_time_get_hour
    - g_utf8_strdown
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean format_ampm (GDateTime *datetime, GString *outstr,
      gboolean locale_is_utf8, gboolean uppercase) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1505,1
    - Dst: parse_iso8601_time
      Src: /src/glib/glib/gdatetime.c:1517,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1527,1
    - Dst: parse_iso8601_date
      Src: /src/glib/glib/gdatetime.c:1523,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 2
    argNames:
    - text
    - default_tz
    argTypes:
    - gchar*
    - GTimeZone*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1529
    functionName: g_date_time_new_from_iso8601
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - parse_iso8601_time
    - g_return_val_if_fail
    - g_time_zone_unref
    - parse_iso8601_date
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_from_iso8601 (const gchar *text, GTimeZone
      *default_tz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_difference
      Src: /src/glib/glib/gdatetime.c:2051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - dt1
    - dt2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2061
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2061
    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:2350,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/gdatetime.c:2351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2379
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2379
    functionName: g_date_time_get_week_numbering_year
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_ymd
    - g_date_time_get_day_of_week
    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:961,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gdatetime.c:963,1
    - Dst: g_date_time_new_from_unix
      Src: /src/glib/glib/gdatetime.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tz
    argTypes:
    - GTimeZone*
    constantsTouched: []
    func_position:
      end: 966
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 966
    functionName: g_date_time_new_now
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_get_real_time
    - g_return_val_if_fail
    - g_date_time_new_from_unix
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_now (GTimeZone *tz) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1963,1
    - Dst: MIN
      Src: /src/glib/glib/gdatetime.c:1987,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1987,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:1964,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:1991,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/gdatetime.c:1993,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/gdatetime.c:1994,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:1999,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/gdatetime.c:2012,1
    - Dst: INSTANT_TO_UNIX
      Src: /src/glib/glib/gdatetime.c:2014,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:2018,1
    - Dst: g_date_time_alloc
      Src: /src/glib/glib/gdatetime.c:2021,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 7
    argNames:
    - datetime
    - years
    - months
    - days
    - hours
    - minutes
    - seconds
    argTypes:
    - GDateTime*
    - gint
    - gint
    - gint
    - gint
    - gint
    - gdouble
    constantsTouched: []
    func_position:
      end: 2029
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 2029
    functionName: g_date_time_add_full
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_ymd
    - g_time_zone_is_dst
    - INSTANT_TO_UNIX
    - ymd_to_days
    - g_date_time_alloc
    - g_time_zone_get_offset
    - g_time_zone_find_interval
    - MIN
    - GREGORIAN_LEAP
    - g_time_zone_adjust_time
    - g_return_val_if_fail
    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:2288,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:2290,1
    - Dst: g_date_time_get_week_number
      Src: /src/glib/glib/gdatetime.c:2291,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:2290,1
    - Dst: g_warn_if_reached
      Src: /src/glib/glib/gdatetime.c:2300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2302
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2302
    functionName: g_date_time_get_day_of_month
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_week_number
    - g_date_time_get_year
    - g_warn_if_reached
    - GREGORIAN_LEAP
    - g_return_val_if_fail
    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:2474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2477
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2477
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_format_utf8
      Src: /src/glib/glib/gdatetime.c:3000,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3008,1
    - Dst: g_date_time_format_utf8
      Src: /src/glib/glib/gdatetime.c:3006,1
    - Dst: _g_time_locale_to_utf8
      Src: /src/glib/glib/gdatetime.c:3002,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: 3010
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 3010
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:1669,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1670,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - year
    - month
    - day
    - hour
    - minute
    - seconds
    argTypes:
    - gint
    - gint
    - gint
    - gint
    - gint
    - gdouble
    constantsTouched: []
    func_position:
      end: 1674
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1674
    functionName: g_date_time_new_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_local
    - g_time_zone_unref
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:3022,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gdatetime.c:3029,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3030,1
    - Dst: _g_time_locale_to_utf8
      Src: /src/glib/glib/gdatetime.c:3026,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - string
    - s
    - s_is_utf8
    argTypes:
    - GString*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3034
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3034
    functionName: string_append
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_free
    - _g_time_locale_to_utf8
    - g_string_append_len
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean string_append (GString *string, const gchar
      *s, gboolean s_is_utf8) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1012,1
    - Dst: g_date_time_new_now
      Src: /src/glib/glib/gdatetime.c:1013,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1017
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1017
    functionName: g_date_time_new_now_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_new_now
    - g_time_zone_new_utc
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_now_utc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1706,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1707,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - year
    - month
    - day
    - hour
    - minute
    - seconds
    argTypes:
    - gint
    - gint
    - gint
    - gint
    - gint
    - gdouble
    constantsTouched: []
    func_position:
      end: 1711
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1711
    functionName: g_date_time_new_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_new
    - g_time_zone_new_utc
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_utc (gint year, gint month, gint day, gint
      hour, gint minute, gdouble seconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2550
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2550
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:595,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - hour
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 599
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 599
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/glib/glib/gdatetime.c:2873,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2882,1
    - Dst: _g_ctype_locale_to_utf8
      Src: /src/glib/glib/gdatetime.c:2878,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:2875,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gdatetime.c:2885,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:2889,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2893
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2893
    functionName: initialize_alt_digits
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_strcmp0
    - nl_langinfo
    - g_stpcpy
    - _g_ctype_locale_to_utf8
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *initialize_alt_digits (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:987,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:989,1
    - Dst: g_date_time_new_now
      Src: /src/glib/glib/gdatetime.c:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 992
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 992
    functionName: g_date_time_new_now_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_local
    - g_time_zone_unref
    - g_date_time_new_now
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_now_local (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1359,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1383,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1376,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1384,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1377,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1390,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gdatetime.c:1398,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:1404,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gdatetime.c:1406,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 3
    argNames:
    - text
    - length
    - tz_offset
    argTypes:
    - gchar*
    - gsize
    - gssize*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1411
    functionName: parse_iso8601_timezone
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - get_iso8601_int
    - g_clear_pointer
    - g_time_zone_new_identifier
    - g_time_zone_new_utc
    - g_time_zone_get_offset
    linkageType: ''
    returnType: GTimeZone*
    signature: 'static GTimeZone *parse_iso8601_timezone (const gchar *text, gsize
      length, gssize *tz_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2605,1
    - Dst: INSTANT_TO_UNIX
      Src: /src/glib/glib/gdatetime.c:2607,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - datetime
    - tv
    argTypes:
    - GDateTime*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 2611
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2611
    functionName: g_date_time_to_timeval
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_to_instant
    - g_return_val_if_fail
    - INSTANT_TO_UNIX
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS gboolean g_date_time_to_timeval (GDateTime
      *datetime, GTimeVal *tv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_iso8601_timezone
      Src: /src/glib/glib/gdatetime.c:1420,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1434,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1427,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1428,1
    - Dst: get_iso8601_seconds
      Src: /src/glib/glib/gdatetime.c:1429,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1435,1
    - Dst: get_iso8601_seconds
      Src: /src/glib/glib/gdatetime.c:1436,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: 1440
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1440
    functionName: parse_iso8601_time
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - parse_iso8601_timezone
    - get_iso8601_int
    - get_iso8601_seconds
    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:2570,1
    - Dst: INSTANT_TO_UNIX
      Src: /src/glib/glib/gdatetime.c:2572,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2573
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2573
    functionName: g_date_time_to_unix
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_to_instant
    - g_return_val_if_fail
    - INSTANT_TO_UNIX
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_date_time_to_unix (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2081,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2082,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2085,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - end
    - begin
    argTypes:
    - GDateTime*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2086
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2086
    functionName: g_date_time_difference
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_to_instant
    linkageType: ''
    returnType: GTimeSpan
    signature: 'GTimeSpan g_date_time_difference (GDateTime *end, GDateTime *begin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2410,1
    - Dst: g_date_time_get_week_number
      Src: /src/glib/glib/gdatetime.c:2412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2415
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2415
    functionName: g_date_time_get_week_of_year
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_get_week_number
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_week_of_year (GDateTime *datetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1085,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1087,1
    - Dst: g_date_time_new_from_unix
      Src: /src/glib/glib/gdatetime.c:1086,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - gint64
    constantsTouched: []
    func_position:
      end: 1090
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1090
    functionName: g_date_time_new_from_unix_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix
    - g_time_zone_unref
    - g_time_zone_new_utc
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_from_unix_utc (gint64 t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2531
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2531
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:556,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:560,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:562,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:558,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:564,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:566,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:568,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:570,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:572,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:574,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:576,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:578,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:581,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 1
    argNames:
    - month
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 585
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 585
    functionName: get_month_name_abbr_with_day
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - C_
    - g_warning
    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:2101,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2104
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2104
    functionName: g_date_time_hash
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_to_instant
    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:2431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2434
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2434
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/gdatetime.c:770,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:777,1
    - Dst: INSTANT_TO_UNIX
      Src: /src/glib/glib/gdatetime.c:776,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/gdatetime.c:774,1
    - Dst: g_date_time_alloc
      Src: /src/glib/glib/gdatetime.c:773,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gdatetime.c:787,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - tz
    - instant
    argTypes:
    - GTimeZone*
    - gint64
    constantsTouched: []
    func_position:
      end: 792
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 792
    functionName: g_date_time_from_instant
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - INSTANT_TO_UNIX
    - g_date_time_alloc
    - g_time_zone_find_interval
    - g_date_time_unref
    - g_time_zone_get_offset
    - G_GINT64_CONSTANT
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *g_date_time_from_instant (GTimeZone *tz, gint64
      instant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 752
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 752
    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:719,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:724,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gdatetime.c:722,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdatetime.c:720,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gdatetime.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 727
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 727
    functionName: g_date_time_unref
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_atomic_int_dec_and_test
    - g_time_zone_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_time_unref (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2657,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2661
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2661
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:3501,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/gdatetime.c:3515,1
    - Dst: g_string_new
      Src: /src/glib/glib/gdatetime.c:3510,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3511,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/gdatetime.c:3509,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gdatetime.c:3519,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/gdatetime.c:3523,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:3524,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3525,1
    - Dst: g_string_free
      Src: /src/glib/glib/gdatetime.c:3528,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 3529
      start: 3493
    functionDepth: 0
    functionLinenumber: 3493
    functionLinenumberEnd: 3529
    functionName: g_date_time_format_iso8601
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_free
    - g_date_time_format
    - g_string_append_c
    - g_string_free
    - g_return_val_if_fail
    - g_date_time_get_utc_offset
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_date_time_format_iso8601 (GDateTime *datetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - gint
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 618
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 618
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:1049,1
    - Dst: g_date_time_new_from_unix
      Src: /src/glib/glib/gdatetime.c:1050,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1051,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - gint64
    constantsTouched: []
    func_position:
      end: 1054
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1054
    functionName: g_date_time_new_from_unix_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_local
    - g_date_time_new_from_unix
    - g_time_zone_unref
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_from_unix_local (gint64 t) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:275,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:283,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:279,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:281,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:277,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:285,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:287,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:289,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:291,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:293,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:295,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:297,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:300,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 1
    argNames:
    - month
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 304
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 304
    functionName: get_month_name_standalone
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - C_
    - g_warning
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_month_name_standalone (gint month) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:628,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:632,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: 668
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 668
    functionName: g_date_time_get_week_number
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_ymd
    - g_date_time_get_year
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/gdatetime.c:824,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/gdatetime.c:833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 846
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 846
    functionName: g_date_time_deal_with_date_change
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_is_dst
    - g_time_zone_adjust_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_date_time_deal_with_date_change (GDateTime *datetime) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - text
    - length
    - value
    argTypes:
    - gchar*
    - gsize
    - gdouble*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1230
    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_date_time_add
      Src: /src/glib/glib/gdatetime.c:1887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - datetime
    - hours
    argTypes:
    - GDateTime*
    - gint
    constantsTouched: []
    func_position:
      end: 1888
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1888
    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:2262,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:2264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2267
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2267
    functionName: g_date_time_get_month
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_ymd
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_month (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2702,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/gdatetime.c:2704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2705
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2705
    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: 71
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/gdatetime.c:3144,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3147,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3161,1
    - Dst: MONTH_ABBR_WITH_DAY
      Src: /src/glib/glib/gdatetime.c:3170,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/gdatetime.c:3252,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3235,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:3302,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3196,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3226,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3111,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3171,1
    - Dst: g_date_time_format_locale
      Src: /src/glib/glib/gdatetime.c:3279,1
    - Dst: format_z
      Src: /src/glib/glib/gdatetime.c:3296,1
    - Dst: format_ampm
      Src: /src/glib/glib/gdatetime.c:3221,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/gdatetime.c:3251,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3184,1
    - Dst: MONTH_FULL_STANDALONE
      Src: /src/glib/glib/gdatetime.c:3116,1
    - Dst: g_date_time_get_week_numbering_year
      Src: /src/glib/glib/gdatetime.c:3162,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3207,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3234,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/gdatetime.c:3204,1
    - Dst: g_date_time_get_week_of_year
      Src: /src/glib/glib/gdatetime.c:3260,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3277,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/gdatetime.c:3301,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/gdatetime.c:3243,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gdatetime.c:3075,1
    - Dst: WEEKDAY_FULL
      Src: /src/glib/glib/gdatetime.c:3091,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3097,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3143,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3249,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gdatetime.c:3211,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3250,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:3065,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gdatetime.c:3059,1
    - Dst: g_date_time_format_locale
      Src: /src/glib/glib/gdatetime.c:3133,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3195,1
    - Dst: format_ampm
      Src: /src/glib/glib/gdatetime.c:3217,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/gdatetime.c:3256,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3203,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3183,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3092,1
    - Dst: MONTH_FULL_WITH_DAY
      Src: /src/glib/glib/gdatetime.c:3117,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3131,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/gdatetime.c:3158,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3178,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3259,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3285,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gdatetime.c:3239,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3118,1
    - Dst: MONTH_ABBR_STANDALONE
      Src: /src/glib/glib/gdatetime.c:3102,1
    - Dst: g_date_time_get_day_of_year
      Src: /src/glib/glib/gdatetime.c:3192,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3242,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/gdatetime.c:3295,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3104,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3139,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/gdatetime.c:3157,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3263,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3286,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3290,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3151,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gdatetime.c:3246,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3255,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3199,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/gdatetime.c:3264,1
    - Dst: strcspn
      Src: /src/glib/glib/gdatetime.c:3057,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3140,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3155,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3156,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3239,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3200,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gdatetime.c:3076,1
    - Dst: MONTH_ABBR_WITH_DAY
      Src: /src/glib/glib/gdatetime.c:3103,1
    - Dst: g_date_time_get_week_numbering_year
      Src: /src/glib/glib/gdatetime.c:3166,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3191,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gdatetime.c:3305,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3125,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/gdatetime.c:3148,1
    - Dst: g_date_time_format_locale
      Src: /src/glib/glib/gdatetime.c:3228,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3188,1
    - Dst: MONTH_ABBR_STANDALONE
      Src: /src/glib/glib/gdatetime.c:3169,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3289,1
    - Dst: WEEKDAY_ABBR
      Src: /src/glib/glib/gdatetime.c:3080,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3086,1
    - Dst: g_date_time_format_locale
      Src: /src/glib/glib/gdatetime.c:3270,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/gdatetime.c:3236,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/gdatetime.c:3208,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3268,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3081,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3165,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3187,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 189
    argCount: 4
    argNames:
    - datetime
    - utf8_format
    - outstr
    - locale_is_utf8
    argTypes:
    - GDateTime*
    - gchar*
    - GString*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3331
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3331
    functionName: g_date_time_format_utf8
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_timezone_abbreviation
    - g_string_append
    - g_date_time_get_day_of_month
    - g_string_append_c
    - g_date_time_to_unix
    - MONTH_ABBR_STANDALONE
    - g_date_time_get_month
    - MONTH_FULL_WITH_DAY
    - g_string_append_len
    - g_date_time_format_locale
    - g_date_time_get_utc_offset
    - WEEKDAY_FULL
    - g_strcmp0
    - g_date_time_get_day_of_week
    - g_date_time_get_year
    - format_ampm
    - WEEKDAY_ABBR
    - g_date_time_get_week_numbering_year
    - g_date_time_get_hour
    - g_utf8_next_char
    - format_number
    - g_date_time_get_minute
    - g_date_time_get_day_of_year
    - g_utf8_get_char
    - g_date_time_get_week_of_year
    - strcspn
    - MONTH_FULL_STANDALONE
    - MONTH_ABBR_WITH_DAY
    - g_assert
    - string_append
    - g_string_append_printf
    - format_z
    - g_date_time_get_second
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1237,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - tz
    - year
    - ordinal_day
    - hour
    - minute
    - seconds
    argTypes:
    - GTimeZone*
    - gint
    - gint
    - gint
    - gint
    - gdouble
    constantsTouched: []
    func_position:
      end: 1246
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1246
    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:1840,1
    - Dst: g_date_time_add_days
      Src: /src/glib/glib/gdatetime.c:1842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - datetime
    - weeks
    argTypes:
    - GDateTime*
    - gint
    constantsTouched: []
    func_position:
      end: 1843
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1843
    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:1862,1
    - Dst: g_date_time_replace_days
      Src: /src/glib/glib/gdatetime.c:1867,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - datetime
    - days
    argTypes:
    - GDateTime*
    - gint
    constantsTouched: []
    func_position:
      end: 1868
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1868
    functionName: g_date_time_add_days
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_replace_days
    - g_return_val_if_fail
    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:2239,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:2241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2244
      start: 2234
    functionDepth: 0
    functionLinenumber: 2234
    functionLinenumberEnd: 2244
    functionName: g_date_time_get_year
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_ymd
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_year (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2683,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/gdatetime.c:2685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2686
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2686
    functionName: g_date_time_get_timezone_abbreviation
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_get_abbreviation
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_date_time_get_timezone_abbreviation (GDateTime *datetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNIX_TO_INSTANT_IS_VALID
      Src: /src/glib/glib/gdatetime.c:899,1
    - Dst: UNIX_TO_INSTANT
      Src: /src/glib/glib/gdatetime.c:903,1
    - Dst: g_date_time_from_instant
      Src: /src/glib/glib/gdatetime.c:902,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - tz
    - tv
    argTypes:
    - GTimeZone*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 904
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 904
    functionName: g_date_time_new_from_timeval
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - UNIX_TO_INSTANT_IS_VALID
    - UNIX_TO_INSTANT
    - g_date_time_from_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_add
      Src: /src/glib/glib/gdatetime.c:1928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - datetime
    - seconds
    argTypes:
    - GDateTime*
    - gdouble
    constantsTouched: []
    func_position:
      end: 1929
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1929
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2638,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:2640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2643
    functionName: g_date_time_get_utc_offset
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_time_zone_get_offset
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdatetime.c:2910,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2943,1
    - Dst: initialize_alt_digits
      Src: /src/glib/glib/gdatetime.c:2920,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gdatetime.c:2925,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gdatetime.c:2918,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:2946,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 5
    argNames:
    - str
    - use_alt_digits
    - pad
    - width
    - number
    argTypes:
    - GString*
    - gboolean
    - gchar*
    - gint
    - guint32
    constantsTouched: []
    func_position:
      end: 2947
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2947
    functionName: format_number
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_once_init_enter
    - g_assert
    - g_once_init_leave
    - initialize_alt_digits
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void format_number (GString *str, gboolean use_alt_digits,
      const gchar *pad, gint width, guint32 number) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdatetime.c:2155,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2198,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2211,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2185,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:2198,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 4
    argNames:
    - datetime
    - year
    - month
    - day
    argTypes:
    - GDateTime*
    - gint*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 2222
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2222
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_alloc
      Src: /src/glib/glib/gdatetime.c:854,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gdatetime.c:861,1
    - Dst: g_date_time_deal_with_date_change
      Src: /src/glib/glib/gdatetime.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - datetime
    - days
    argTypes:
    - GDateTime*
    - gint
    constantsTouched: []
    func_position:
      end: 866
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 866
    functionName: g_date_time_replace_days
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_deal_with_date_change
    - g_date_time_unref
    - g_date_time_alloc
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *g_date_time_replace_days (GDateTime *datetime, gint
      days) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_add
      Src: /src/glib/glib/gdatetime.c:1907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - datetime
    - minutes
    argTypes:
    - GDateTime*
    - gint
    constantsTouched: []
    func_position:
      end: 1908
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1908
    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:2124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dt1
    - dt2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2125
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2125
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_get_time_charset
      Src: /src/glib/glib/gdatetime.c:3457,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:3462,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3458,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:3461,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3459,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:3463,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gdatetime.c:3463,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gdatetime.c:3465,1
    - Dst: strlen
      Src: /src/glib/glib/gdatetime.c:3465,1
    - Dst: g_date_time_format_utf8
      Src: /src/glib/glib/gdatetime.c:3467,1
    - Dst: g_string_free
      Src: /src/glib/glib/gdatetime.c:3470,1
    - Dst: g_string_free
      Src: /src/glib/glib/gdatetime.c:3474,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - datetime
    - format
    argTypes:
    - GDateTime*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3475
      start: 3447
    functionDepth: 0
    functionLinenumber: 3447
    functionLinenumberEnd: 3475
    functionName: g_date_time_format
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - g_date_time_format_utf8
    - g_strcmp0
    - _g_get_time_charset
    - g_string_free
    - g_return_val_if_fail
    - g_utf8_validate
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_date_time_format (GDateTime *datetime, const gchar *format) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gcharset.c:59,1
    - Dst: _g_locale_get_charset_aliases
      Src: /src/glib/glib/gcharset.c:65,1
    - Dst: strlen
      Src: /src/glib/glib/gcharset.c:76,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: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - strlen
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - g_hash_table_new
    - _g_locale_get_charset_aliases
    - g_hash_table_lookup
    - g_renew
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *get_alias_hash (void) '
  - 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_locale_charset_unalias
      Src: /src/glib/glib/gcharset.c:136,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gcharset.c:137,1
    - Dst: strstr
      Src: /src/glib/glib/gcharset.c:125,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_LOCK
    - G_UNLOCK
    - _g_locale_charset_unalias
    - strstr
    - g_getenv
    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:204,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gcharset.c:211,1
    - Dst: g_private_get
      Src: /src/glib/glib/gcharset.c:205,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_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_utf8_get_charset_internal
      Src: /src/glib/glib/gcharset.c:222,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:223,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_free
    - G_LOCK
    - G_UNLOCK
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - g_private_get
    - strcmp
    - _g_locale_charset_raw
    - g_utf8_get_charset_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_get_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: 1
    argNames:
    - void
    argTypes:
    - void
    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: memcpy
      Src: /src/glib/glib/gcharset.c:390,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:410,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gcharset.c:434,1
    - Dst: g_getenv
      Src: /src/glib/glib/gcharset.c:373,1
    - Dst: g_private_get
      Src: /src/glib/glib/gcharset.c:363,1
    - Dst: sprintf
      Src: /src/glib/glib/gcharset.c:402,1
    - Dst: strcmp
      Src: /src/glib/glib/gcharset.c:417,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:422,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:423,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:421,1
    - Dst: GetLastError
      Src: /src/glib/glib/gcharset.c:405,1
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:377,1
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:385,1
    - Dst: g_warning
      Src: /src/glib/glib/gcharset.c:408,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gcharset.c:407,1
    - Dst: g_utf8_get_charset_internal
      Src: /src/glib/glib/gcharset.c:424,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:425,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_free
    - g_get_charset
    - g_warning
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - g_getenv
    - g_private_get
    - GetLastError
    - strcmp
    - strchr
    - GetConsoleOutputCP
    - g_win32_error_message
    - sprintf
    - g_utf8_get_charset_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_get_console_charset (const char **charset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gcharset.c:502,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gcharset.c:510,1
    - Dst: read_aliases
      Src: /src/glib/glib/gcharset.c:505,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gcharset.c:506,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gcharset.c:504,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: 1
    argNames:
    - lang
    argTypes:
    - char*
    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_enter
    - g_warning
    - g_hash_table_new
    - g_once_init_leave
    - read_aliases
    - g_hash_table_lookup
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static char *unalias_lang (char *lang) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gcharset.c:609,1
    - Dst: explode_locale
      Src: /src/glib/glib/gcharset.c:611,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:631,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gcharset.c:622,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:
    - g_free
    - explode_locale
    - g_strconcat
    - g_ptr_array_add
    - g_return_if_fail
    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: 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
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/gcharset.c:673,1
    - Dst: append_locale_variants
      Src: /src/glib/glib/gcharset.c:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - locale
    argTypes:
    - gchar*
    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_free
    - append_locale_variants
    - g_ptr_array_sized_new
    - g_return_val_if_fail
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_get_locale_variants (const gchar *locale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:167,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:168,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:169,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_get_language_names_with_category
      Src: /src/glib/glib/gcharset.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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: 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: 1
    argNames:
    - canonical_name
    argTypes:
    - char*
    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:
    - g_hash_table_lookup
    - get_alias_hash
    linkageType: ''
    returnType: char**
    signature: 'const char **_g_charset_get_aliases (const char *canonical_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gcharset.c:241,1
    - Dst: g_private_get
      Src: /src/glib/glib/gcharset.c:242,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_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_free
    - G_LOCK
    - G_UNLOCK
    - nl_langinfo
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - g_private_get
    - strcmp
    - _g_locale_charset_raw
    - g_utf8_get_charset_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_get_time_charset (const char **charset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gcharset.c:281,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gcharset.c:291,1
    - Dst: g_private_get
      Src: /src/glib/glib/gcharset.c:282,1
    - Dst: g_private_set_alloc0
      Src: /src/glib/glib/gcharset.c:286,1
    - Dst: nl_langinfo
      Src: /src/glib/glib/gcharset.c:289,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_utf8_get_charset_internal
      Src: /src/glib/glib/gcharset.c:303,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:302,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:304,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_free
    - G_LOCK
    - G_UNLOCK
    - nl_langinfo
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - g_private_get
    - strcmp
    - _g_locale_charset_raw
    - g_utf8_get_charset_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_get_ctype_charset (const char **charset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:552,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:559,1
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:554,1
    - Dst: strlen
      Src: /src/glib/glib/gcharset.c:562,1
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:553,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_strdup
    - g_strndup
    - 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_getenv
      Src: /src/glib/glib/gcharset.c:704,1
    - Dst: g_getenv
      Src: /src/glib/glib/gcharset.c:709,1
    - Dst: g_win32_getlocale
      Src: /src/glib/glib/gcharset.c:721,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: 1
    argNames:
    - category_name
    argTypes:
    - gchar*
    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_intern_string
    - g_getenv
    - g_win32_getlocale
    - g_free
    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:742,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:744,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gcharset.c:743,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: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/glib/gcharset.c:448,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gcharset.c:485,1
    - Dst: g_strstrip
      Src: /src/glib/glib/gcharset.c:455,1
    - Dst: fgets
      Src: /src/glib/glib/gcharset.c:451,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gcharset.c:486,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:
    - g_strdup
    - g_hash_table_insert
    - fgets
    - fclose
    - fopen
    - g_hash_table_lookup
    - g_strstrip
    linkageType: ''
    returnType: void
    signature: 'static void read_aliases (const gchar *file, GHashTable *alias_table) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gcharset.c:802,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/gcharset.c:824,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_INIT
      Src: /src/glib/glib/gcharset.c:797,1
    - Dst: g_private_set
      Src: /src/glib/glib/gcharset.c:808,1
    - Dst: strcmp
      Src: /src/glib/glib/gcharset.c:817,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gcharset.c:826,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_strdup
      Src: /src/glib/glib/gcharset.c:834,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:830,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gcharset.c:806,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gcharset.c:835,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: g_hash_table_remove
      Src: /src/glib/glib/gcharset.c:822,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
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 1
    argNames:
    - category_name
    argTypes:
    - gchar*
    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_hash_table_insert
    - g_strfreev
    - g_return_val_if_fail
    - unalias_lang
    - g_strsplit
    - strcmp
    - guess_category_value
    - g_private_set
    - g_hash_table_remove
    - append_locale_variants
    - g_hash_table_new_full
    - g_ptr_array_add
    - g_strdup
    - g_new0
    - g_ptr_array_free
    - g_ptr_array_sized_new
    - G_PRIVATE_INIT
    - g_private_get
    - g_hash_table_lookup
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_get_language_names_with_category (const gchar
      *category_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_init
      Src: /src/glib/glib/gpathbuf.c:178,1
    - Dst: g_new
      Src: /src/glib/glib/gpathbuf.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: g_path_buf_new
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_new
    - g_path_buf_init
    linkageType: ''
    returnType: GPathBuf*
    signature: 'GPathBuf *g_path_buf_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:131,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gpathbuf.c:136,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gpathbuf.c:133,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gpathbuf.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:105,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/gpathbuf.c:113,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:106,1
    - Dst: g_path_buf_init
      Src: /src/glib/glib/gpathbuf.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - path
    argTypes:
    - GPathBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: g_path_buf_init_from_path
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_path_buf_push
    - g_path_buf_init
    linkageType: ''
    returnType: GPathBuf*
    signature: 'GPathBuf *g_path_buf_init_from_path (GPathBuf *buf, const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gpathbuf.c:208,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/gpathbuf.c:210,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: g_path_buf_free
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_path_buf_clear
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_path_buf_free (GPathBuf *buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:322,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gpathbuf.c:327,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:343,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/gpathbuf.c:348,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/gpathbuf.c:366,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:372,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:377,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:324,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gpathbuf.c:347,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gpathbuf.c:372,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:354,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:374,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/gpathbuf.c:330,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gpathbuf.c:332,1
    - Dst: g_strdup
      Src: /src/glib/glib/gpathbuf.c:344,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gpathbuf.c:354,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gpathbuf.c:363,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:356,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:325,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gpathbuf.c:366,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gpathbuf.c:348,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:359,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - buf
    - path
    argTypes:
    - GPathBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 381
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 381
    functionName: g_path_buf_push
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_strsplit_set
    - g_strv_length
    - g_clear_pointer
    - g_strsplit
    - g_steal_pointer
    - PATH_BUF
    - g_ptr_array_new_null_terminated
    - g_return_val_if_fail
    - g_path_is_absolute
    - g_ptr_array_add
    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:418,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:420,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/gpathbuf.c:426,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 431
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 431
    functionName: g_path_buf_pop
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - PATH_BUF
    - g_ptr_array_remove_index
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_path_buf_pop (GPathBuf *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:509,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:511,1
    - Dst: g_set_str
      Src: /src/glib/glib/gpathbuf.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - extension
    argTypes:
    - GPathBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 517
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 517
    functionName: g_path_buf_set_extension
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - PATH_BUF
    - 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:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    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_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:158,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/gpathbuf.c:160,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:163,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/gpathbuf.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: g_path_buf_clear_to_path
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_path_buf_to_path
    - g_steal_pointer
    - g_return_val_if_fail
    - g_path_buf_clear
    linkageType: ''
    returnType: char*
    signature: 'char *g_path_buf_clear_to_path (GPathBuf *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/gpathbuf.c:194,1
    - Dst: g_new
      Src: /src/glib/glib/gpathbuf.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    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:234,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:239,1
    - Dst: g_path_buf_clear_to_path
      Src: /src/glib/glib/gpathbuf.c:236,1
    - Dst: g_path_buf_free
      Src: /src/glib/glib/gpathbuf.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: g_path_buf_free_to_path
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_path_buf_clear_to_path
    - g_path_buf_free
    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:255,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:259,1
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:262,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/gpathbuf.c:266,1
    - Dst: g_path_buf_new
      Src: /src/glib/glib/gpathbuf.c:261,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/gpathbuf.c:269,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gpathbuf.c:272,1
    - Dst: g_strdup
      Src: /src/glib/glib/gpathbuf.c:272,1
    - Dst: g_strdup
      Src: /src/glib/glib/gpathbuf.c:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 279
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 279
    functionName: g_path_buf_copy
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_index
    - PATH_BUF
    - g_ptr_array_new_null_terminated
    - g_path_buf_new
    - g_return_val_if_fail
    - 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:477,1
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:480,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/gpathbuf.c:483,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/gpathbuf.c:484,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - file_name
    argTypes:
    - GPathBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 487
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 487
    functionName: g_path_buf_set_filename
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_path_buf_push
    - g_return_val_if_fail
    - g_path_buf_pop
    - PATH_BUF
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_path_buf_set_filename (GPathBuf *buf, const char *file_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:537,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/gpathbuf.c:543,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:540,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gpathbuf.c:547,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:549,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:550,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 554
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 554
    functionName: g_path_buf_to_path
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_free
    - g_build_filenamev
    - g_steal_pointer
    - PATH_BUF
    - g_strconcat
    - g_return_val_if_fail
    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:586,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gpathbuf.c:590,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:593,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:594,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/gpathbuf.c:587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 597
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 597
    functionName: g_path_buf_equal
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_path_buf_to_path
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_path_buf_equal (gconstpointer v1, gconstpointer v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - string
    - limit
    - endptr
    argTypes:
    - gchar*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:324,1
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - type_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: g_variant_type_string_get_depth_
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - variant_type_string_scan_internal
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_type_string_get_depth_ (const gchar *type_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:425,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/gvarianttype.c:427,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvarianttype.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - type_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: g_variant_type_new
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_return_val_if_fail
    - g_variant_type_copy
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *g_variant_type_new (const gchar *type_string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:819,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:820,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:820,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:825,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:819,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:826,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:831,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:832,1
    - Dst: memcmp
      Src: /src/glib/glib/gvarianttype.c:834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 835
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 835
    functionName: g_variant_type_equal
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_peek_string
    - g_variant_type_get_string_length
    - memcmp
    - g_return_val_if_fail
    - g_variant_type_check
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_equal (gconstpointer type1, gconstpointer
      type2) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:860,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:860,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:863,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:861,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:861,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:864,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:867,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/gvarianttype.c:889,1
    - Dst: g_variant_type_is_basic
      Src: /src/glib/glib/gvarianttype.c:897,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:905,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 2
    argNames:
    - type
    - supertype
    argTypes:
    - GVariantType*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 910
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 910
    functionName: g_variant_type_is_subtype_of
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_peek_string
    - g_variant_type_is_tuple
    - g_variant_type_get_string_length
    - g_return_val_if_fail
    - 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:1002,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1002,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:1004,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1011
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1011
    functionName: g_variant_type_next
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_get_string_length
    - g_variant_type_check
    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:1155,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1173,1
    - Dst: g_variant_type_new_tuple_slow
      Src: /src/glib/glib/gvarianttype.c:1176,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1170,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1170,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1178,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:1182,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gvarianttype.c:1185,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - items
    - length
    argTypes:
    - GVariantType**
    - gint
    constantsTouched: []
    func_position:
      end: 1186
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1186
    functionName: g_variant_type_new_tuple
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_variant_type_new_tuple_slow
    - g_assert
    - g_variant_type_get_string_length
    - g_memdup2
    - g_return_val_if_fail
    - 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:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 200
    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: 29
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:211,1
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:222,1
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:237,1
    - Dst: strchr
      Src: /src/glib/glib/gvarianttype.c:236,1
    - Dst: MAX
      Src: /src/glib/glib/gvarianttype.c:227,1
    - Dst: MAX
      Src: /src/glib/glib/gvarianttype.c:242,1
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:247,1
    - Dst: MAX
      Src: /src/glib/glib/gvarianttype.c:251,1
    - Dst: MAX
      Src: /src/glib/glib/gvarianttype.c:257,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: 270
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 270
    functionName: variant_type_string_scan_internal
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - strchr
    - MAX
    - g_return_val_if_fail
    - variant_type_string_scan_internal
    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:781,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:781,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:783,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 790
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 790
    functionName: g_variant_type_hash
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_get_string_length
    - g_variant_type_check
    linkageType: ''
    returnType: guint
    signature: 'guint g_variant_type_hash (gconstpointer type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:966,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:968,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:966,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 975
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 975
    functionName: g_variant_type_first
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    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:510,1
    - Dst: g_strndup
      Src: /src/glib/glib/gvarianttype.c:512,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:510,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:512,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 514
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 514
    functionName: g_variant_type_dup_string
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_peek_string
    - g_strndup
    - g_variant_type_get_string_length
    - g_return_val_if_fail
    - 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:396,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:396,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvarianttype.c:399,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:398,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 405
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 405
    functionName: g_variant_type_copy
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_variant_type_get_string_length
    - g_return_val_if_fail
    - 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:490,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: g_variant_type_peek_string
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_check
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_variant_type_peek_string (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:663,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:665,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 666
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 666
    functionName: g_variant_type_is_maybe
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    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:754,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:756,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 757
    functionName: g_variant_type_is_variant
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_variant (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvarianttype.c:374,1
    - Dst: g_free
      Src: /src/glib/glib/gvarianttype.c:376,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 377
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 377
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:578,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:578,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:580,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 594
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 594
    functionName: g_variant_type_is_container
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    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:619,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:619,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:621,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 643
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 643
    functionName: g_variant_type_is_basic
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    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:736,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:736,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 739
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 739
    functionName: g_variant_type_is_dict_entry
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    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:1269,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1270,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1272,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1269,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1270,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1273,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvarianttype.c:1275,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1278,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GVariantType*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1283
    functionName: g_variant_type_new_dict_entry
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_variant_type_get_string_length
    - g_return_val_if_fail
    - g_malloc
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *g_variant_type_new_dict_entry (const GVariantType *key,
      const GVariantType *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:542,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:544,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:545,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 554
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 554
    functionName: g_variant_type_is_definite
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_get_string_length
    - g_variant_type_check
    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:712,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:712,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 716
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 716
    functionName: g_variant_type_is_tuple
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_tuple (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gvarianttype.c:1129,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gvarianttype.c:1139,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1138,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1135,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1135,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvarianttype.c:1141,1
    - Dst: g_string_free
      Src: /src/glib/glib/gvarianttype.c:1143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - items
    - length
    argTypes:
    - GVariantType**
    - gint
    constantsTouched: []
    func_position:
      end: 1144
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1144
    functionName: g_variant_type_new_tuple_slow
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append_c
    - g_variant_type_get_string_length
    - g_string_append_len
    - g_string_free
    - g_return_val_if_fail
    - 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:1237,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1239,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1243,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1237,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvarianttype.c:1240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - element
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1246
    functionName: g_variant_type_new_maybe
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_variant_type_get_string_length
    - g_return_val_if_fail
    - 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:1289,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/gvarianttype.c:1289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - type_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1291
    functionName: g_variant_type_checked_
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_string_is_valid
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_checked_ (const gchar *type_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:686,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:688,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: g_variant_type_is_array
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_array (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1065,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:1067,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:1068,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1071
    functionName: g_variant_type_key
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_key (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1092,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1092,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvarianttype.c:1099,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:1096,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:1095,1
    - Dst: g_variant_type_key
      Src: /src/glib/glib/gvarianttype.c:1099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1100
    functionName: g_variant_type_value
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_peek_string
    - g_assert
    - g_variant_type_next
    - g_variant_type_key
    - g_return_val_if_fail
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_value (const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:351,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvarianttype.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - type_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:449,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:449,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 467
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 467
    functionName: g_variant_type_get_string_length
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_check
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_type_get_string_length (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:929,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:933,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:929,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 936
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 936
    functionName: g_variant_type_element
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_element (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1036,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1036,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvarianttype.c:1038,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvarianttype.c:1040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1044
    functionName: g_variant_type_n_items
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_first
    - g_variant_type_next
    - g_variant_type_check
    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:1207,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvarianttype.c:1210,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1209,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1213,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - element
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1216
    functionName: g_variant_type_new_array
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_variant_type_get_string_length
    - g_return_val_if_fail
    - 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/gqueue.c:148,1
    - Dst: g_list_free
      Src: /src/glib/glib/gqueue.c:150,1
    - Dst: g_queue_init
      Src: /src/glib/glib/gqueue.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: g_queue_clear
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_init
    - g_list_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_clear (GQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:245,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/gqueue.c:250,1
    - Dst: g_queue_new
      Src: /src/glib/glib/gqueue.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 253
    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_if_fail
      Src: /src/glib/glib/gqueue.c:354,1
    - Dst: g_list_last
      Src: /src/glib/glib/gqueue.c:358,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:355,1
    - Dst: g_list_sort_with_data
      Src: /src/glib/glib/gqueue.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - queue
    - compare_func
    - user_data
    argTypes:
    - GQueue*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    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:544,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gqueue.c:556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 563
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 563
    functionName: g_queue_pop_head
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_free_1
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_queue_pop_head (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:686,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:691,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/gqueue.c:694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - queue
    - n
    argTypes:
    - GQueue*
    - guint
    constantsTouched: []
    func_position:
      end: 697
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 697
    functionName: g_queue_pop_nth
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_queue_peek_nth_link
    - g_queue_delete_link
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_queue_pop_nth (GQueue *queue, guint n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:840,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:841,1
    - Dst: g_list_remove_link
      Src: /src/glib/glib/gqueue.c:846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - queue
    - link_
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 848
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 848
    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_if_fail
      Src: /src/glib/glib/gqueue.c:1137,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1139,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1138,1
    - Dst: g_queue_push_head_link
      Src: /src/glib/glib/gqueue.c:1143,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1140,1
    - Dst: g_queue_insert_before_link
      Src: /src/glib/glib/gqueue.c:1145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - queue
    - sibling
    - link_
    argTypes:
    - GQueue*
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1146
    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:221,1
    - Dst: g_list_reverse
      Src: /src/glib/glib/gqueue.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:330,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:331,1
    - Dst: g_list_find_custom
      Src: /src/glib/glib/gqueue.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - queue
    - data
    - func
    argTypes:
    - GQueue*
    - gconstpointer
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: g_queue_find_custom
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_find_custom
    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:647,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gqueue.c:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 666
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 666
    functionName: g_queue_pop_tail
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_free_1
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_queue_pop_tail (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:1000,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/gqueue.c:1010,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1016
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1016
    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:1072,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1073,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1075,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1074,1
    - Dst: g_queue_push_tail_link
      Src: /src/glib/glib/gqueue.c:1083,1
    - Dst: g_list_insert_before_link
      Src: /src/glib/glib/gqueue.c:1087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - queue
    - sibling
    - link_
    argTypes:
    - GQueue*
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1090
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1111,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/gqueue.c:1116,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/gqueue.c:1114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - queue
    - sibling
    - data
    argTypes:
    - GQueue*
    - GList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1117
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1117
    functionName: g_queue_insert_after
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_push_head
    - g_queue_insert_before
    - 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:89,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gqueue.c:92,1
    - Dst: g_list_free
      Src: /src/glib/glib/gqueue.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: g_queue_free
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_list_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_free (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:397,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:405,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/gqueue.c:401,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/gqueue.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - queue
    - data
    - n
    argTypes:
    - GQueue*
    - gpointer
    - gint
    constantsTouched: []
    func_position:
      end: 406
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 406
    functionName: g_queue_push_nth
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_push_tail
    - g_queue_insert_before
    - g_queue_peek_nth_link
    - 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:499,1
    - Dst: g_assert
      Src: /src/glib/glib/gqueue.c:508,1
    - Dst: g_queue_push_tail_link
      Src: /src/glib/glib/gqueue.c:504,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:500,1
    - Dst: g_assert
      Src: /src/glib/glib/gqueue.c:509,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:511,1
    - Dst: g_assert
      Src: /src/glib/glib/gqueue.c:527,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - queue
    - n
    - link_
    argTypes:
    - GQueue*
    - gint
    - GList*
    constantsTouched: []
    func_position:
      end: 530
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 530
    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:972,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/gqueue.c:977,1
    - Dst: g_list_find
      Src: /src/glib/glib/gqueue.c:974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 980
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 980
    functionName: g_queue_remove
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_queue_delete_link
    - 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:1037,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/gqueue.c:1045,1
    - Dst: g_list_insert_before
      Src: /src/glib/glib/gqueue.c:1049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - queue
    - sibling
    - data
    argTypes:
    - GQueue*
    - GList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1052
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1052
    functionName: g_queue_insert_before
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_insert_before
    - g_queue_push_tail
    - 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_if_fail
      Src: /src/glib/glib/gqueue.c:1171,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/gqueue.c:1177,1
    - Dst: func
      Src: /src/glib/glib/gqueue.c:1174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - queue
    - data
    - func
    - user_data
    argTypes:
    - GQueue*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1178
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1178
    functionName: g_queue_insert_sorted
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - func
    - g_queue_insert_before
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_insert_sorted (GQueue *queue, gpointer data, GCompareDataFunc
      func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gqueue.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    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:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    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:372,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gqueue.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 378
    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:465,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:467,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:466,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - queue
    - link
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 477
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 477
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:819,1
    - Dst: g_list_position
      Src: /src/glib/glib/gqueue.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - queue
    - link_
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 822
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 822
    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:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    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:444,1
    - Dst: g_list_append
      Src: /src/glib/glib/gqueue.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 452
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 452
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:780,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - queue
    - n
    argTypes:
    - GQueue*
    - guint
    constantsTouched: []
    func_position:
      end: 801
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 801
    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_if_fail
      Src: /src/glib/glib/gqueue.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:303,1
    - Dst: g_list_find
      Src: /src/glib/glib/gqueue.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    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_if_fail
      Src: /src/glib/glib/gqueue.c:419,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:422,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:420,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - queue
    - link
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 431
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 431
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:950,1
    - Dst: g_list_index
      Src: /src/glib/glib/gqueue.c:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 953
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 953
    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:112,1
    - Dst: g_queue_free
      Src: /src/glib/glib/gqueue.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - queue
    - free_func
    argTypes:
    - GQueue*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    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_if_fail
      Src: /src/glib/glib/gqueue.c:276,1
    - Dst: func
      Src: /src/glib/glib/gqueue.c:283,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - queue
    - func
    - user_data
    argTypes:
    - GQueue*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 286
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 286
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 633
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:750,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:755,1
    - Dst: g_queue_unlink
      Src: /src/glib/glib/gqueue.c:756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - n
    argTypes:
    - GQueue*
    - guint
    constantsTouched: []
    func_position:
      end: 759
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 759
    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:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 904
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 904
    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:924,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - n
    argTypes:
    - GQueue*
    - guint
    constantsTouched: []
    func_position:
      end: 932
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 932
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:168,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/gqueue.c:173,1
    - Dst: g_queue_foreach
      Src: /src/glib/glib/gqueue.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - free_func
    argTypes:
    - GQueue*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 597
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 597
    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:612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 615
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 615
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 731
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 731
    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_if_fail
      Src: /src/glib/glib/gqueue.c:865,1
    - Dst: g_list_free
      Src: /src/glib/glib/gqueue.c:869,1
    - Dst: g_queue_unlink
      Src: /src/glib/glib/gqueue.c:868,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - link_
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 870
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 870
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 887
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 887
    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: MIN
      Src: /src/glib/glib/gtester.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - guint
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtester.c:109,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:113,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:110,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:110,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:112,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:
    - test_log_printfe
    - sindent
    - terminate
    - g_print
    - g_return_if_fail
    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: write
      Src: /src/glib/glib/gtester.c:90,1
    - Dst: getpid
      Src: /src/glib/glib/gtester.c:98,1
    - Dst: kill
      Src: /src/glib/glib/gtester.c:98,1
    - Dst: strlen
      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:
    - strlen
    - g_markup_vprintf_escaped
    - getpid
    - g_abort
    - kill
    - write
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/gtester.c:221,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/gtester.c:240,1
    - Dst: g_test_log_buffer_push
      Src: /src/glib/glib/gtester.c:233,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_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:
    - test_log_msg
    - g_test_log_buffer_pop
    - g_test_log_buffer_push
    - g_clear_error
    - g_io_channel_read_chars
    - g_test_log_msg_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean child_report_cb (GIOChannel *source, GIOCondition
      condition, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - slistp
    - string
    argTypes:
    - GSList**
    - gchar*
    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_clear_error
      Src: /src/glib/glib/gtester.c:313,1
    - Dst: g_malloc
      Src: /src/glib/glib/gtester.c:346,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: 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_child_watch_add_full
      Src: /src/glib/glib/gtester.c:421,1
    - Dst: g_main_context_pending
      Src: /src/glib/glib/gtester.c:423,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_strdup_printf
      Src: /src/glib/glib/gtester.c:371,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtester.c:375,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/gtester.c:378,1
    - Dst: g_slist_foreach
      Src: /src/glib/glib/gtester.c:388,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gtester.c:403,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_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: close
      Src: /src/glib/glib/gtester.c:398,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_io_channel_unref
      Src: /src/glib/glib/gtester.c:419,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: close
      Src: /src/glib/glib/gtester.c:441,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/gtester.c:307,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gtester.c:389,1
    - Dst: queue_gfree
      Src: /src/glib/glib/gtester.c:373,1
    - Dst: g_error
      Src: /src/glib/glib/gtester.c:400,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
    - Dst: g_source_remove
      Src: /src/glib/glib/gtester.c:439,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_source_remove
    - g_clear_error
    - g_test_log_buffer_free
    - g_test_log_buffer_new
    - queue_gfree
    - g_main_context_pending
    - g_io_channel_set_flags
    - g_error
    - g_spawn_async_with_pipes
    - close
    - g_io_channel_unix_new
    - g_print
    - g_slist_foreach
    - g_io_channel_set_encoding
    - g_io_add_watch_full
    - g_warning
    - g_strdup_printf
    - g_main_context_iteration
    - g_slist_free
    - g_malloc
    - g_free
    - g_unix_open_pipe
    - g_child_watch_add_full
    - g_io_channel_set_buffered
    - g_io_channel_unref
    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:500,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:502,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:499,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:509,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:510,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:515,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:516,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:512,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:511,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:514,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:513,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: g_warning
      Src: /src/glib/glib/gtester.c:701,1
    - Dst: usage
      Src: /src/glib/glib/gtester.c:696,1
    - Dst: parse_args
      Src: /src/glib/glib/gtester.c:690,1
    - Dst: main_selftest
      Src: /src/glib/glib/gtester.c:692,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:725,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:725,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:716,1
    - Dst: launch_test
      Src: /src/glib/glib/gtester.c:721,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:716,1
    - Dst: close
      Src: /src/glib/glib/gtester.c:727,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:
    - g_open
    - test_log_printfe
    - g_set_prgname
    - usage
    - sindent
    - g_strerror
    - g_error
    - parse_args
    - g_warning
    - main_selftest
    - launch_test
    - close
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:155,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:155,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:161,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_strconcat
      Src: /src/glib/glib/gtester.c:184,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtester.c:185,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:197,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:199,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_return_if_fail
      Src: /src/glib/glib/gtester.c:176,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:188,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:200,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:203,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: sindent
      Src: /src/glib/glib/gtester.c:190,1
    - Dst: testcase_close
      Src: /src/glib/glib/gtester.c:193,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:200,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gtester.c:156,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:159,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtester.c:160,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:172,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:173,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:178,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:190,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:198,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:199,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:
    - g_strdup
    - test_log_printfe
    - g_free
    - testcase_close
    - sindent
    - g_strsplit
    - g_strdup_printf
    - g_strfreev
    - g_strconcat
    - g_print
    - g_return_if_fail
    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: WIFEXITED
      Src: /src/glib/glib/gtester.c:268,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gtester.c:269,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:
    - WEXITSTATUS
    - g_spawn_close_pid
    - WIFEXITED
    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: test_log_printfe
      Src: /src/glib/glib/gtester.c:459,1
    - Dst: g_timer_start
      Src: /src/glib/glib/gtester.c:461,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:456,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_timer_elapsed
      Src: /src/glib/glib/gtester.c:469,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:471,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/gtester.c:486,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:471,1
    - Dst: terminate
      Src: /src/glib/glib/gtester.c:488,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:472,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:485,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:
    - test_log_printfe
    - launch_test_binary
    - g_free
    - sindent
    - g_timer_destroy
    - g_timer_elapsed
    - g_timer_stop
    - g_timer_new
    - terminate
    - g_timer_start
    - g_print
    - testcase_close
    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: usage
      Src: /src/glib/glib/gtester.c:544,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:548,1
    - Dst: exit
      Src: /src/glib/glib/gtester.c:551,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:568,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:555,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:580,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:621,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:636,1
    - Dst: strncmp
      Src: /src/glib/glib/gtester.c:653,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:529,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:560,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:554,1
    - Dst: usage
      Src: /src/glib/glib/gtester.c:550,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: strncmp
      Src: /src/glib/glib/gtester.c:608,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:628,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:608,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:642,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:536,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:542,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: strcmp
      Src: /src/glib/glib/gtester.c:648,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:621,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:653,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtester.c:531,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:542,1
    - Dst: exit
      Src: /src/glib/glib/gtester.c:545,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:548,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:564,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: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
    - g_error
    - exit
    - g_slist_prepend
    - strcmp
    - strncmp
    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: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_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'static int main_selftest (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/gtester.c:743,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:746,1
    - Dst: g_test_bug_base
      Src: /src/glib/glib/gtester.c:745,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: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 2
    argCount: 1
    argNames:
    - en
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 117
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 117
    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:130,1
    - Dst: _
      Src: /src/glib/glib/gspawn-private.h:133,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: 138
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 138
    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_val_if_fail
      Src: /src/glib/glib/ghook.c:875,1
    - Dst: G_HOOK_ACTIVE
      Src: /src/glib/glib/ghook.c:883,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - hook_list
    - need_valids
    - data
    argTypes:
    - GHookList*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 890
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 890
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:228,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/glib/ghook.c:247,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:249,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - hook_list
    argTypes:
    - GHookList*
    constantsTouched: []
    func_position:
      end: 254
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 254
    functionName: g_hook_list_clear
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_ref
    - g_hook_unref
    - g_hook_destroy_link
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hook_list_clear (GHookList *hook_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:824,1
    - Dst: G_HOOK_ACTIVE
      Src: /src/glib/glib/ghook.c:841,1
    - Dst: func
      Src: /src/glib/glib/ghook.c:841,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:839,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:825,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:843,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:849,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - hook_list
    - need_valids
    - func
    - data
    argTypes:
    - GHookList*
    - gboolean
    - GHookFindFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 854
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 854
    functionName: g_hook_find
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - G_HOOK_ACTIVE
    - g_hook_ref
    - g_hook_unref
    - func
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:662,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:671,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:663,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:664,1
    - Dst: g_hook_first_valid
      Src: /src/glib/glib/ghook.c:666,1
    - Dst: marshaller
      Src: /src/glib/glib/ghook.c:673,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:677,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: 679
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 679
    functionName: g_hook_list_marshal
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_first_valid
    - g_hook_next_valid
    - G_HOOK_IN_CALL
    - marshaller
    - g_return_if_fail
    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:206,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - hook_list
    - hook_size
    argTypes:
    - GHookList*
    - guint
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    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:467,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:469,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:470,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:468,1
    - Dst: G_HOOK_IS_UNLINKED
      Src: /src/glib/glib/ghook.c:470,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:471,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - hook_list
    - sibling
    - hook
    argTypes:
    - GHookList*
    - GHook*
    - GHook*
    constantsTouched: []
    func_position:
      end: 505
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 505
    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:613,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:623,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:615,1
    - Dst: g_hook_first_valid
      Src: /src/glib/glib/ghook.c:617,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:614,1
    - Dst: marshaller
      Src: /src/glib/glib/ghook.c:625,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/glib/ghook.c:629,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:631,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: 633
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 633
    functionName: g_hook_list_marshal_check
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_first_valid
    - g_hook_next_valid
    - G_HOOK_IN_CALL
    - marshaller
    - g_hook_destroy_link
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:778,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - hook_list
    - hook_id
    argTypes:
    - GHookList*
    - gulong
    constantsTouched: []
    func_position:
      end: 790
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 790
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - new_hook
    - sibling
    argTypes:
    - GHook*
    - GHook*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1051
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:995,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:997,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:998,1
    - Dst: G_HOOK_IS_UNLINKED
      Src: /src/glib/glib/ghook.c:998,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:996,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:999,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:1000,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:1011,1
    - Dst: func
      Src: /src/glib/glib/ghook.c:1012,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:1014,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:1023,1
    - Dst: g_hook_insert_before
      Src: /src/glib/glib/ghook.c:1028,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - hook_list
    - hook
    - func
    argTypes:
    - GHookList*
    - GHook*
    - GHookCompareFunc
    constantsTouched: []
    func_position:
      end: 1029
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1029
    functionName: g_hook_insert_sorted
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_ref
    - g_hook_unref
    - func
    - g_hook_insert_before
    - G_HOOK_IS_UNLINKED
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_hook_insert_sorted (GHookList\t *hook_list,\t\t GHook\t *hook,\t\t
      GHookCompareFunc func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:449,1
    - Dst: g_hook_insert_before
      Src: /src/glib/glib/ghook.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 452
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 452
    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:950,1
    - Dst: G_HOOK_ACTIVE
      Src: /src/glib/glib/ghook.c:960,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:951,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - hook_list
    - need_valids
    - func
    - data
    argTypes:
    - GHookList*
    - gboolean
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 967
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 967
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:296,1
    - Dst: G_HOOK_IS_UNLINKED
      Src: /src/glib/glib/ghook.c:299,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:298,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:297,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:299,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:300,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:300,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/ghook.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 305
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:421,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:422,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 428
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 428
    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:741,1
    - Dst: G_HOOK_IS_VALID
      Src: /src/glib/glib/ghook.c:749,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:749,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:751,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:752,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:758,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - hook_list
    - hook
    - may_be_in_call
    argTypes:
    - GHookList*
    - GHook*
    - gboolean
    constantsTouched: []
    func_position:
      end: 761
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 761
    functionName: g_hook_next_valid
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_unref
    - g_hook_ref
    - G_HOOK_IN_CALL
    - g_return_val_if_fail
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:269,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:270,1
    - Dst: g_slice_alloc0
      Src: /src/glib/glib/ghook.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - hook_list
    argTypes:
    - GHookList*
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: g_hook_alloc
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_slice_alloc0
    linkageType: ''
    returnType: GHook*
    signature: 'GHook *g_hook_alloc (GHookList *hook_list) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:371,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:373,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:372,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:378,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:379,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:379,1
    - Dst: g_hook_free
      Src: /src/glib/glib/ghook.c:395,1
    - Dst: g_hook_free
      Src: /src/glib/glib/ghook.c:404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 406
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 406
    functionName: g_hook_unref
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - G_HOOK_IN_CALL
    - g_hook_free
    - 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:559,1
    - Dst: func
      Src: /src/glib/glib/ghook.c:573,1
    - Dst: g_hook_first_valid
      Src: /src/glib/glib/ghook.c:562,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:560,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:571,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/glib/ghook.c:577,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - hook_list
    - may_recurse
    argTypes:
    - GHookList*
    - gboolean
    constantsTouched: []
    func_position:
      end: 581
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 581
    functionName: g_hook_list_invoke_check
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_first_valid
    - g_hook_next_valid
    - G_HOOK_IN_CALL
    - func
    - g_hook_destroy_link
    - g_return_if_fail
    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:699,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:709,1
    - Dst: G_HOOK_IS_VALID
      Src: /src/glib/glib/ghook.c:709,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:708,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - hook_list
    - may_be_in_call
    argTypes:
    - GHookList*
    - gboolean
    constantsTouched: []
    func_position:
      end: 717
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 717
    functionName: g_hook_first_valid
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_ref
    - g_hook_next_valid
    - G_HOOK_IN_CALL
    - g_return_val_if_fail
    - 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:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 191
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:345,1
    - Dst: g_hook_get
      Src: /src/glib/glib/ghook.c:348,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:346,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/glib/ghook.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - hook_list
    - hook_id
    argTypes:
    - GHookList*
    - gulong
    constantsTouched: []
    func_position:
      end: 356
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 356
    functionName: g_hook_destroy
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hook_get
    - g_hook_destroy_link
    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:522,1
    - Dst: func
      Src: /src/glib/glib/ghook.c:535,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:533,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:523,1
    - Dst: g_hook_first_valid
      Src: /src/glib/glib/ghook.c:525,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - hook_list
    - may_recurse
    argTypes:
    - GHookList*
    - gboolean
    constantsTouched: []
    func_position:
      end: 541
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 541
    functionName: g_hook_list_invoke
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_first_valid
    - g_hook_next_valid
    - G_HOOK_IN_CALL
    - func
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_hook_list_invoke (GHookList *hook_list,\t\t gboolean may_recurse) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:319,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:326,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    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:911,1
    - Dst: G_HOOK_ACTIVE
      Src: /src/glib/glib/ghook.c:920,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:912,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - hook_list
    - need_valids
    - func
    argTypes:
    - GHookList*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 927
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 927
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_formatd
      Src: /src/glib/glib/gstrfuncs.c:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - buf_len
    - d
    argTypes:
    - gchar*
    - gint
    - gdouble
    constantsTouched: []
    func_position:
      end: 921
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 921
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gstrfuncs.c:1327,1
    - Dst: strerror_r
      Src: /src/glib/glib/gstrfuncs.c:1350,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gstrfuncs.c:1355,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gstrfuncs.c:1361,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/gstrfuncs.c:1367,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gstrfuncs.c:1379,1
    - Dst: g_print
      Src: /src/glib/glib/gstrfuncs.c:1372,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gstrfuncs.c:1330,1
    - Dst: strerror_r
      Src: /src/glib/glib/gstrfuncs.c:1348,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/gstrfuncs.c:1369,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:1377,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gstrfuncs.c:1379,1
    - Dst: g_error_free
      Src: /src/glib/glib/gstrfuncs.c:1373,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gstrfuncs.c:1325,1
    - Dst: strerror
      Src: /src/glib/glib/gstrfuncs.c:1355,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gstrfuncs.c:1381,1
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/glib/gstrfuncs.c:1321,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gstrfuncs.c:1327,1
    - Dst: strerror_s
      Src: /src/glib/glib/gstrfuncs.c:1343,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 1385
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1385
    functionName: g_strerror
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strerror_r
    - g_get_console_charset
    - g_strdup
    - GINT_TO_POINTER
    - G_LOCK_DEFINE_STATIC
    - G_LOCK
    - g_locale_to_utf8
    - g_error_free
    - g_hash_table_insert
    - G_UNLOCK
    - g_hash_table_new
    - strerror_s
    - g_print
    - g_hash_table_lookup
    - g_strlcpy
    - strerror
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_strerror (gint errnum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strsignal
      Src: /src/glib/glib/gstrfuncs.c:1409,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:1415,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/gstrfuncs.c:1410,1
    - Dst: g_intern_string
      Src: /src/glib/glib/gstrfuncs.c:1416,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/gstrfuncs.c:1411,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:1417,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - signum
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 1420
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1420
    functionName: g_strsignal
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_get_console_charset
    - g_intern_string
    - g_free
    - g_locale_to_utf8
    - g_strdup_printf
    - strsignal
    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:1592,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:1597,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:1595,1
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/gstrfuncs.c:1599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 1602
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1602
    functionName: g_ascii_strdown
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strndup
    - g_return_val_if_fail
    - g_ascii_tolower
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_ascii_strdown (const gchar *str, gssize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1655
    functionName: g_str_is_ascii
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_str_is_ascii (const gchar *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2780,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2788,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2784,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2781,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 3
    argNames:
    - haystack
    - haystack_len
    - needle
    argTypes:
    - gchar*
    - gssize
    - gchar*
    constantsTouched: []
    func_position:
      end: 2815
      start: 2775
    functionDepth: 0
    functionLinenumber: 2775
    functionLinenumberEnd: 2815
    functionName: g_strstr_len
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - strstr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strstr_len (const gchar *haystack, gssize haystack_len, const
      gchar *needle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2939,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2940,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2942,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2943,1
    - Dst: strcmp
      Src: /src/glib/glib/gstrfuncs.c:2948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2949
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2949
    functionName: (g_str_has_suffix)
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_str_has_suffix) (const gchar *str, const gchar *suffix) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gstrfuncs.c:3002,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:3016,1
    - Dst: g_string_new
      Src: /src/glib/glib/gstrfuncs.c:3010,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:3005,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:3005,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:3017,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstrfuncs.c:3030,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gstrfuncs.c:3031,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gstrfuncs.c:3032,1
    - Dst: g_string_append
      Src: /src/glib/glib/gstrfuncs.c:3035,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gstrfuncs.c:3040,1
    - Dst: g_string_free
      Src: /src/glib/glib/gstrfuncs.c:3037,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3036,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3041,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:3040,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 3
    argNames:
    - array
    - start
    - end
    argTypes:
    - GPtrArray*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3042
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 3042
    functionName: index_add_folded
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_free
    - g_utf8_casefold
    - g_utf8_normalize
    - g_string_append_c
    - strstr
    - g_string_append_len
    - g_string_free
    - g_ptr_array_add
    - g_utf8_next_char
    linkageType: ''
    returnType: void
    signature: 'static void index_add_folded (GPtrArray *array, const gchar *start,
      const gchar *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoull_l
      Src: /src/glib/glib/gstrfuncs.c:1219,1
    - Dst: get_C_locale
      Src: /src/glib/glib/gstrfuncs.c:1219,1
    - Dst: g_parse_long_long
      Src: /src/glib/glib/gstrfuncs.c:1224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - gchar*
    - gchar**
    - guint
    constantsTouched: []
    func_position:
      end: 1229
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1229
    functionName: g_ascii_strtoull
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_parse_long_long
    - get_C_locale
    - strtoull_l
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_ascii_strtoull (const gchar *nptr, gchar **endptr, guint
      base) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gstrfuncs.c:3051,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gstrfuncs.c:3053,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gstrfuncs.c:3055,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/gstrfuncs.c:3059,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/gstrfuncs.c:3059,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/gstrfuncs.c:3064,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/gstrfuncs.c:3064,1
    - Dst: index_add_folded
      Src: /src/glib/glib/gstrfuncs.c:3066,1
    - Dst: index_add_folded
      Src: /src/glib/glib/gstrfuncs.c:3073,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:3075,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gstrfuncs.c:3077,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - value
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3078
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3078
    functionName: split_words
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - g_utf8_get_char
    - g_ptr_array_add
    - g_unichar_ismark
    - index_add_folded
    - g_unichar_isalnum
    - g_utf8_next_char
    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:3313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3314
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3314
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:459,1
    - Dst: strncpy
      Src: /src/glib/glib/gstrfuncs.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - str
    - n
    argTypes:
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 467
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 467
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: get_C_locale
      Src: /src/glib/glib/gstrfuncs.c:738,1
    - Dst: g_assert
      Src: /src/glib/glib/gstrfuncs.c:766,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:776,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/gstrfuncs.c:795,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:822,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:842,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:835,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:840,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:866,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:878,1
    - Dst: strtod_l
      Src: /src/glib/glib/gstrfuncs.c:738,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:838,1
    - Dst: strtod
      Src: /src/glib/glib/gstrfuncs.c:847,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:865,1
    - Dst: strtod
      Src: /src/glib/glib/gstrfuncs.c:883,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:753,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:760,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:807,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:809,1
    - Dst: strtod
      Src: /src/glib/glib/gstrfuncs.c:870,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:734,1
    - Dst: localeconv
      Src: /src/glib/glib/gstrfuncs.c:758,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/gstrfuncs.c:789,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:802,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:815,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:858,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 129
    argCount: 2
    argNames:
    - nptr
    - endptr
    argTypes:
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 894
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 894
    functionName: g_ascii_strtod
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_free
    - g_assert
    - g_ascii_isdigit
    - localeconv
    - g_ascii_isxdigit
    - get_C_locale
    - strtod_l
    - strtod
    - g_return_val_if_fail
    - g_malloc
    - g_ascii_isspace
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_ascii_strtod (const gchar *nptr, gchar **endptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoll_l
      Src: /src/glib/glib/gstrfuncs.c:1266,1
    - Dst: get_C_locale
      Src: /src/glib/glib/gstrfuncs.c:1266,1
    - Dst: g_parse_long_long
      Src: /src/glib/glib/gstrfuncs.c:1271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - gchar*
    - gchar**
    - guint
    constantsTouched: []
    func_position:
      end: 1288
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1288
    functionName: g_ascii_strtoll
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_parse_long_long
    - strtoll_l
    - get_C_locale
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_ascii_strtoll (const gchar *nptr, gchar **endptr, guint base) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2885,1
    - Dst: g_strrstr
      Src: /src/glib/glib/gstrfuncs.c:2889,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2886,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2892,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 3
    argNames:
    - haystack
    - haystack_len
    - needle
    argTypes:
    - gchar*
    - gssize
    - gchar*
    constantsTouched: []
    func_position:
      end: 2919
      start: 2880
    functionDepth: 0
    functionLinenumber: 2880
    functionLinenumberEnd: 2919
    functionName: g_strrstr_len
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - g_strrstr
    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:2987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - str_array
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 2993
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2993
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3308
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3308
    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_malloc
      Src: /src/glib/glib/gstrfuncs.c:393,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - byte_size
    argTypes:
    - gconstpointer
    - guint
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:425,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - byte_size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 432
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 432
    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: va_start
      Src: /src/glib/glib/gstrfuncs.c:581,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:583,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gstrfuncs.c:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 586
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 586
    functionName: g_strdup_printf
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - va_end
    - g_strdup_vprintf
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strdup_printf (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1435,1
    - Dst: strlcpy
      Src: /src/glib/glib/gstrfuncs.c:1438,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - dest_size
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1439
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1439
    functionName: g_strlcpy
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlcpy
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_strlcpy (gchar *dest, const gchar *src, gsize dest_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1735,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:1742,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1757
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1757
    functionName: g_strreverse
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strreverse (gchar *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/glib/glib/gstrfuncs.c:2019,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:2032,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2023,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:2032,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2024,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:2033,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:2033,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - gchar*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 2044
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2044
    functionName: g_strncasecmp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - isupper
    - g_return_val_if_fail
    - strncasecmp
    - tolower
    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:2375,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2377,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:2380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2387
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2387
    functionName: g_strchomp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - g_ascii_isspace
    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:2965,1
    - Dst: strncmp
      Src: /src/glib/glib/gstrfuncs.c:2968,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2968,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2969
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 2969
    functionName: (g_str_has_prefix)
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - strncmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_str_has_prefix) (const gchar *str, const gchar *prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1446,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1447,1
    - Dst: strlcat
      Src: /src/glib/glib/gstrfuncs.c:1449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - dest_size
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1450
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1450
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3289,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3290,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gstrfuncs.c:3297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - strv1
    - strv2
    argTypes:
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 3302
      start: 3285
    functionDepth: 0
    functionLinenumber: 3285
    functionLinenumberEnd: 3302
    functionName: g_strv_equal
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_strv_equal (const gchar * const *strv1, const gchar * const
      *strv2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:361,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:363,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 369
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 369
    functionName: (g_strdup)
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *(g_strdup) (const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_vasprintf
      Src: /src/glib/glib/gstrfuncs.c:552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 555
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 555
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1705,1
    - Dst: islower
      Src: /src/glib/glib/gstrfuncs.c:1711,1
    - Dst: toupper
      Src: /src/glib/glib/gstrfuncs.c:1712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1717
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1717
    functionName: g_strup
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - toupper
    - islower
    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:1958,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1959,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1965,1
    - Dst: strcasecmp
      Src: /src/glib/glib/gstrfuncs.c:1961,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1966,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:1973,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:1973,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:1974,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:1974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1982
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1982
    functionName: g_strcasecmp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - isupper
    - strcasecmp
    - g_return_val_if_fail
    - tolower
    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:2129,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2130,1
    - Dst: strchr
      Src: /src/glib/glib/gstrfuncs.c:2134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - string
    - valid_chars
    - substitutor
    argTypes:
    - gchar*
    - gchar*
    - gchar
    constantsTouched: []
    func_position:
      end: 2139
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2139
    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:2344,1
    - Dst: memmove
      Src: /src/glib/glib/gstrfuncs.c:2349,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:2346,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2352
    functionName: g_strchug
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - memmove
    - g_return_val_if_fail
    - g_ascii_isspace
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strchug (gchar *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2717,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2728,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2721,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2726,1
    - Dst: va_start
      Src: /src/glib/glib/gstrfuncs.c:2719,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2731,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2732,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:2734,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:2737,1
    - Dst: va_start
      Src: /src/glib/glib/gstrfuncs.c:2739,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2741,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2744,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2749,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:2753,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:2755,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2748,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2742,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2747,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - separator
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2758
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2758
    functionName: g_strjoin
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - va_end
    - g_strdup
    - g_new
    - va_start
    - g_stpcpy
    - va_arg
    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:3258,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gstrfuncs.c:3263,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - strv
    - str
    argTypes:
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 3268
      start: 3254
    functionDepth: 0
    functionLinenumber: 3254
    functionLinenumberEnd: 3268
    functionName: g_strv_contains
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_strv_contains (const gchar * const *strv, const gchar *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3465,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gstrfuncs.c:3472,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3466,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3468,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3467,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3474,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gstrfuncs.c:3479,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:3486,1
    - Dst: str_has_sign
      Src: /src/glib/glib/gstrfuncs.c:3489,1
    - Dst: str_has_hex_prefix
      Src: /src/glib/glib/gstrfuncs.c:3493,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3500,1
    - Dst: g_set_error
      Src: /src/glib/glib/gstrfuncs.c:3498,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:3506,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3510,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3512,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3513,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:3505,1
    - Dst: g_set_error
      Src: /src/glib/glib/gstrfuncs.c:3508,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: 3519
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3519
    functionName: g_ascii_string_to_unsigned
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_strdup_printf
    - g_ascii_strtoull
    - str_has_hex_prefix
    - str_has_sign
    - g_set_error_literal
    - g_return_val_if_fail
    - g_ascii_isspace
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:361,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:363,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: (str)
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_new
    linkageType: ''
    returnType: G_LIKELY
    signature: 'G_LIKELY (str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_digit_value
      Src: /src/glib/glib/gstrfuncs.c:1843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 1844
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1844
    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:2082,1
    - Dst: strchr
      Src: /src/glib/glib/gstrfuncs.c:2089,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - string
    - delimiters
    - new_delim
    argTypes:
    - gchar*
    - gchar*
    - gchar
    constantsTouched: []
    func_position:
      end: 2094
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2094
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2512,1
    - Dst: memset
      Src: /src/glib/glib/gstrfuncs.c:2528,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:2540,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:2520,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2513,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gstrfuncs.c:2541,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:2550,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gstrfuncs.c:2551,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:2554,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gstrfuncs.c:2560,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - string
    - delimiters
    - max_tokens
    argTypes:
    - gchar*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 2563
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2563
    functionName: g_strsplit_set
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_new
    - memset
    - g_slist_prepend
    - g_slist_free
    - g_return_val_if_fail
    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:2618,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:2623,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - str_array
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 2632
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2632
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2658,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:2677,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2669,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2671,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2673,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2678,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2681,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2682,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:2686,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - separator
    - str_array
    argTypes:
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 2689
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2689
    functionName: g_strjoinv
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_new
    - g_stpcpy
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strjoinv (const gchar *separator, gchar **str_array) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3210,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/gstrfuncs.c:3214,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3211,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gstrfuncs.c:3221,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/gstrfuncs.c:3213,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gstrfuncs.c:3226,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gstrfuncs.c:3236,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gstrfuncs.c:3237,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gstrfuncs.c:3238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 3
    argNames:
    - search_term
    - potential_hit
    - accept_alternates
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3241
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3241
    functionName: g_str_match_string
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_str_has_prefix
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3366,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gstrfuncs.c:3370,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3372,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3408,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3396,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3363,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3365,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3364,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:3384,1
    - Dst: str_has_hex_prefix
      Src: /src/glib/glib/gstrfuncs.c:3389,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3406,1
    - Dst: g_set_error
      Src: /src/glib/glib/gstrfuncs.c:3404,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/gstrfuncs.c:3377,1
    - Dst: str_has_sign
      Src: /src/glib/glib/gstrfuncs.c:3389,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:3401,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:3402,1
    - Dst: str_has_hex_prefix
      Src: /src/glib/glib/gstrfuncs.c:3389,1
    - Dst: g_set_error
      Src: /src/glib/glib/gstrfuncs.c:3394,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3409,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: 3415
      start: 3351
    functionDepth: 0
    functionLinenumber: 3351
    functionLinenumberEnd: 3415
    functionName: g_ascii_string_to_signed
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_ascii_strtoll
    - g_strdup_printf
    - str_has_hex_prefix
    - str_has_sign
    - g_set_error_literal
    - g_return_val_if_fail
    - g_ascii_isspace
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:509,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:517,1
    - Dst: stpcpy
      Src: /src/glib/glib/gstrfuncs.c:511,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:516,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 524
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 524
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:672,1
    - Dst: strtod
      Src: /src/glib/glib/gstrfuncs.c:677,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/gstrfuncs.c:680,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - nptr
    - endptr
    argTypes:
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 694
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 694
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:1819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 1822
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1822
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1920,1
    - Dst: TOLOWER
      Src: /src/glib/glib/gstrfuncs.c:1926,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1921,1
    - Dst: TOLOWER
      Src: /src/glib/glib/gstrfuncs.c:1927,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1937
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1937
    functionName: g_ascii_strncasecmp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - TOLOWER
    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:2245,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2249,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:2249,1
    - Dst: memset
      Src: /src/glib/glib/gstrfuncs.c:2251,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 2
    argNames:
    - source
    - exceptions
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2320
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2320
    functionName: g_strescape
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - g_return_val_if_fail
    - 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:2425,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gstrfuncs.c:2432,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/glib/gstrfuncs.c:2436,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2426,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2427,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2440,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2443,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:2450,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:2450,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2452,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:2456,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:2458,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gstrfuncs.c:2460,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:2456,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - string
    - delimiter
    - max_tokens
    argTypes:
    - gchar*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 2461
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2461
    functionName: g_strsplit
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_strndup
    - g_ptr_array_free
    - g_ptr_array_new_full
    - g_return_val_if_fail
    - strstr
    - g_ptr_array_new
    - g_ptr_array_add
    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:2589,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:2591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - str_array
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 2593
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2593
    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:3115,1
    - Dst: g_new0
      Src: /src/glib/glib/gstrfuncs.c:3119,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gstrfuncs.c:3129,1
    - Dst: g_str_is_ascii
      Src: /src/glib/glib/gstrfuncs.c:3117,1
    - Dst: split_words
      Src: /src/glib/glib/gstrfuncs.c:3123,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:3130,1
    - Dst: g_str_is_ascii
      Src: /src/glib/glib/gstrfuncs.c:3135,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gstrfuncs.c:3141,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/gstrfuncs.c:3143,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gstrfuncs.c:3147,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3156,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3154,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 3
    argNames:
    - string
    - translit_locale
    - ascii_alternates
    argTypes:
    - gchar*
    - gchar*
    - gchar***
    constantsTouched: []
    func_position:
      end: 3164
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3164
    functionName: g_str_tokenize_and_fold
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_str_to_ascii
    - g_free
    - g_new0
    - split_words
    - g_utf8_normalize
    - g_new
    - g_ascii_isalnum
    - g_str_is_ascii
    - g_return_val_if_fail
    - g_strv_length
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_str_tokenize_and_fold (const gchar *string, const gchar
      *translit_locale, gchar ***ascii_alternates) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:485,1
    - Dst: memset
      Src: /src/glib/glib/gstrfuncs.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - length
    - fill_char
    argTypes:
    - gsize
    - gchar
    constantsTouched: []
    func_position:
      end: 490
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 490
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:617,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:622,1
    - Dst: va_start
      Src: /src/glib/glib/gstrfuncs.c:618,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:619,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:623,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:625,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:627,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:630,1
    - Dst: va_start
      Src: /src/glib/glib/gstrfuncs.c:631,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:632,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:638,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:635,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - string1
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 641
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 641
    functionName: g_strconcat
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - va_end
    - g_new
    - va_start
    - g_stpcpy
    - va_arg
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strconcat (const gchar *string1, ...) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:959,1
    - Dst: strpbrk
      Src: /src/glib/glib/gstrfuncs.c:991,1
    - Dst: g_assert
      Src: /src/glib/glib/gstrfuncs.c:1010,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:1004,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gstrfuncs.c:999,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:1017,1
    - Dst: strncmp
      Src: /src/glib/glib/gstrfuncs.c:1026,1
    - Dst: strpbrk
      Src: /src/glib/glib/gstrfuncs.c:960,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:960,1
    - Dst: get_C_locale
      Src: /src/glib/glib/gstrfuncs.c:962,1
    - Dst: uselocale
      Src: /src/glib/glib/gstrfuncs.c:964,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:977,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:978,1
    - Dst: isdigit
      Src: /src/glib/glib/gstrfuncs.c:1023,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:958,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:983,1
    - Dst: strpbrk
      Src: /src/glib/glib/gstrfuncs.c:979,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:979,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:981,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:1032,1
    - Dst: uselocale
      Src: /src/glib/glib/gstrfuncs.c:962,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gstrfuncs.c:963,1
    - Dst: localeconv
      Src: /src/glib/glib/gstrfuncs.c:1002,1
    - Dst: memmove
      Src: /src/glib/glib/gstrfuncs.c:1033,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 4
    argNames:
    - buffer
    - buf_len
    - format
    - d
    argTypes:
    - gchar*
    - gint
    - gchar*
    - gdouble
    constantsTouched: []
    func_position:
      end: 1041
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 1041
    functionName: g_ascii_formatd
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - uselocale
    - g_assert
    - isdigit
    - localeconv
    - memmove
    - strpbrk
    - get_C_locale
    - g_return_val_if_fail
    - _g_snprintf
    - strncmp
    - g_ascii_isspace
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_ascii_formatd (gchar *buffer, gint buf_len, const gchar *format,
      gdouble d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1547,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:1557,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1548,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - dest
    - src
    - dest_size
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1571
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1571
    functionName: g_strlcat
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_strlcat (gchar *dest, const gchar *src, gsize dest_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_islower
      Src: /src/glib/glib/gstrfuncs.c:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 1803
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1803
    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_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1876,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1877,1
    - Dst: TOLOWER
      Src: /src/glib/glib/gstrfuncs.c:1882,1
    - Dst: TOLOWER
      Src: /src/glib/glib/gstrfuncs.c:1881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1889
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1889
    functionName: g_ascii_strcasecmp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - TOLOWER
    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:2159,1
    - Dst: g_warning
      Src: /src/glib/glib/gstrfuncs.c:2172,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2161,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:2161,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 35
    argCount: 1
    argNames:
    - source
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2217
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2217
    functionName: g_strcompress
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - g_malloc
    - g_warning
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strcompress (const gchar *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gstrfuncs.c:333,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gstrfuncs.c:336,1
    - Dst: newlocale
      Src: /src/glib/glib/gstrfuncs.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: get_C_locale
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - newlocale
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: locale_t
    signature: 'static locale_t get_C_locale (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1485,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1486,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - dest
    - src
    - dest_size
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1510
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1510
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1622,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:1627,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:1625,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/gstrfuncs.c:1629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 1632
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1632
    functionName: g_ascii_strup
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strndup
    - g_ascii_toupper
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_ascii_strup (const gchar *str, gssize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1674,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:1680,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:1681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1686
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1686
    functionName: g_strdown
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - isupper
    - g_return_val_if_fail
    - tolower
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strdown (gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isupper
      Src: /src/glib/glib/gstrfuncs.c:1779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 1780
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1780
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2837,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2838,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2840,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2841,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2864
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2864
    functionName: g_strrstr
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strrstr (const gchar *haystack, const gchar *needle) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1073,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstrfuncs.c:1090,1
    - Dst: ISALPHA
      Src: /src/glib/glib/gstrfuncs.c:1128,1
    - Dst: TOUPPER
      Src: /src/glib/glib/gstrfuncs.c:1105,1
    - Dst: ISSPACE
      Src: /src/glib/glib/gstrfuncs.c:1087,1
    - Dst: TOUPPER
      Src: /src/glib/glib/gstrfuncs.c:1129,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstrfuncs.c:1153,1
    - Dst: TOUPPER
      Src: /src/glib/glib/gstrfuncs.c:1168,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 78
    argCount: 4
    argNames:
    - nptr
    - endptr
    - base
    - negative
    argTypes:
    - gchar*
    - gchar**
    - guint
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1176
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1176
    functionName: g_parse_long_long
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - ISALPHA
    - G_UNLIKELY
    - TOUPPER
    - g_return_val_if_fail
    - ISSPACE
    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: g_return_val_if_fail
      Src: /src/glib/glib/gdir.c:187,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gdir.c:194,1
    - Dst: g_new
      Src: /src/glib/glib/gdir.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: g_dir_new_from_dirp
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert_not_reached
    - g_new
    linkageType: ''
    returnType: GDir*
    signature: 'GDir *g_dir_new_from_dirp (gpointer dirp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open_with_errno
      Src: /src/glib/glib/gdir.c:146,1
    - Dst: g_set_error
      Src: /src/glib/glib/gdir.c:156,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/glib/gdir.c:154,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gdir.c:156,1
    - Dst: _
      Src: /src/glib/glib/gdir.c:157,1
    - Dst: g_strerror
      Src: /src/glib/glib/gdir.c:157,1
    - Dst: g_free
      Src: /src/glib/glib/gdir.c:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - path
    - flags
    - error
    argTypes:
    - gchar*
    - guint
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: g_dir_open
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_strerror
    - g_filename_to_utf8
    - g_dir_open_with_errno
    - g_file_error_from_errno
    linkageType: ''
    returnType: GDir*
    signature: 'GDir *g_dir_open (const gchar *path, guint flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdir.c:280,1
    - Dst: _wrewinddir
      Src: /src/glib/glib/gdir.c:283,1
    - Dst: rewinddir
      Src: /src/glib/glib/gdir.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - GDir*
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    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_dir_open
      Src: /src/glib/glib/gdir.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - path
    - flags
    - error
    argTypes:
    - gchar*
    - guint
    - GError**
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    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:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - GDir*
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    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:97,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gdir.c:100,1
    - Dst: _wopendir
      Src: /src/glib/glib/gdir.c:104,1
    - Dst: g_free
      Src: /src/glib/glib/gdir.c:106,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdir.c:102,1
    - Dst: opendir
      Src: /src/glib/glib/gdir.c:112,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gdir.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - path
    - flags
    argTypes:
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 119
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 119
    functionName: g_dir_open_with_errno
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_free
    - g_utf8_to_utf16
    - g_memdup2
    - _wopendir
    - opendir
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDir*
    signature: 'GDir *g_dir_open_with_errno (const gchar *path, guint flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdir.c:232,1
    - Dst: _wreaddir
      Src: /src/glib/glib/gdir.c:237,1
    - Dst: _wreaddir
      Src: /src/glib/glib/gdir.c:241,1
    - Dst: wcscmp
      Src: /src/glib/glib/gdir.c:239,1
    - Dst: wcscmp
      Src: /src/glib/glib/gdir.c:240,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gdir.c:246,1
    - Dst: strcpy
      Src: /src/glib/glib/gdir.c:251,1
    - Dst: g_free
      Src: /src/glib/glib/gdir.c:252,1
    - Dst: readdir
      Src: /src/glib/glib/gdir.c:257,1
    - Dst: strcmp
      Src: /src/glib/glib/gdir.c:259,1
    - Dst: readdir
      Src: /src/glib/glib/gdir.c:261,1
    - Dst: strcmp
      Src: /src/glib/glib/gdir.c:260,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 1
    argNames:
    - dir
    argTypes:
    - GDir*
    constantsTouched: []
    func_position:
      end: 268
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 268
    functionName: g_dir_read_name
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - wcscmp
    - g_free
    - strcpy
    - _wreaddir
    - readdir
    - g_utf16_to_utf8
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dir_read_name (GDir *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdir.c:298,1
    - Dst: closedir
      Src: /src/glib/glib/gdir.c:303,1
    - Dst: g_free
      Src: /src/glib/glib/gdir.c:305,1
    - Dst: _wclosedir
      Src: /src/glib/glib/gdir.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dir
    argTypes:
    - GDir*
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: g_dir_close
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - _wclosedir
    - closedir
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dir_close (GDir *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/glib-unix.c:66,1
    - Dst: g_strerror
      Src: /src/glib/glib/glib-unix.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - error
    - saved_errno
    argTypes:
    - GError**
    - gint
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: g_unix_set_error_from_errno
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_set_error_from_errno (GError **error, gint
      saved_errno) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/glib-unix.c:143,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:154,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unix.c:153,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:146,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - nonblock
    - error
    argTypes:
    - gint
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: g_unix_set_fd_nonblocking
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - fcntl
    - g_unix_set_error_from_errno
    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:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - signum
    - handler
    - user_data
    argTypes:
    - int
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:358,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/glib-unix.c:360,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/glib-unix.c:363,1
    - Dst: g_source_attach
      Src: /src/glib/glib/glib-unix.c:366,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/glib-unix.c:365,1
    - Dst: g_source_unref
      Src: /src/glib/glib/glib-unix.c:367,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: 370
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 370
    functionName: g_unix_fd_add_full
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_unix_fd_source_new
    - g_source_unref
    - g_return_val_if_fail
    - g_source_attach
    - g_source_set_priority
    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:440,1
    - Dst: sysconf
      Src: /src/glib/glib/glib-unix.c:446,1
    - Dst: g_malloc0
      Src: /src/glib/glib/glib-unix.c:466,1
    - Dst: g_free
      Src: /src/glib/glib/glib-unix.c:460,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:441,1
    - Dst: getpwnam_r
      Src: /src/glib/glib/glib-unix.c:468,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:485,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:493,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:502,1
    - Dst: g_assert
      Src: /src/glib/glib/glib-unix.c:508,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/glib-unix.c:514,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/glib-unix.c:515,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/glib-unix.c:518,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/glib-unix.c:515,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 2
    argNames:
    - user_name
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 519
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 519
    functionName: g_unix_get_passwd_entry
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_free
    - g_malloc0
    - g_assert
    - g_clear_pointer
    - sysconf
    - g_unix_set_error_from_errno
    - g_steal_pointer
    - g_propagate_error
    - getpwnam_r
    - g_return_val_if_fail
    linkageType: ''
    returnType: struct passwd*
    signature: 'struct passwd *g_unix_get_passwd_entry (const gchar *user_name, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/glib-unix.c:282,1
    - Dst: g_source_query_unix_fd
      Src: /src/glib/glib/glib-unix.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 288
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 288
    functionName: g_unix_fd_source_dispatch
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_source_query_unix_fd
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_fd_source_dispatch (GSource *source, GSourceFunc
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:196,1
    - Dst: _g_main_create_unix_signal_watch
      Src: /src/glib/glib/glib-unix.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: g_unix_signal_source_new
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - _g_main_create_unix_signal_watch
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_unix_signal_source_new (int signum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:107,1
    - Dst: g_debug
      Src: /src/glib/glib/glib-unix.c:111,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:117,1
    - Dst: g_unix_open_pipe_internal
      Src: /src/glib/glib/glib-unix.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - fds
    - flags
    - error
    argTypes:
    - int*
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 120
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 120
    functionName: g_unix_open_pipe
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_return_val_if_fail
    - g_unix_set_error_from_errno
    - g_unix_open_pipe_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_open_pipe (int *fds, int flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_signal_source_new
      Src: /src/glib/glib/glib-unix.c:230,1
    - Dst: g_source_attach
      Src: /src/glib/glib/glib-unix.c:236,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/glib-unix.c:235,1
    - Dst: g_source_unref
      Src: /src/glib/glib/glib-unix.c:237,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/glib-unix.c:233,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: 240
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 240
    functionName: g_unix_signal_add_full
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_unix_signal_source_new
    - g_source_unref
    - g_source_attach
    - g_source_set_priority
    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_source_new
      Src: /src/glib/glib/glib-unix.c:318,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/glib/glib-unix.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - condition
    argTypes:
    - gint
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 325
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 325
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_fd_add_full
      Src: /src/glib/glib/glib-unix.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - condition
    - function
    - user_data
    argTypes:
    - gint
    - GIOCondition
    - GUnixFDSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/gtestutils.h:525,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/gtestutils.h:527,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/gtestutils.h:526,1
    - Dst: g_test_trap_assertions
      Src: /src/glib/glib/gtestutils.h:525,1
    - Dst: g_test_trap_assertions
      Src: /src/glib/glib/gtestutils.h:526,1
    - Dst: g_test_trap_assertions
      Src: /src/glib/glib/gtestutils.h:527,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/gtestutils.h:530,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/gtestutils.h:534,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/gtestutils.h:532,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 13
    argCount: 0
    argNames:
    - g_test_trap_subprocess
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 655
    functionName: GLIB_DEPRECATED_IN_2_38_FOR
    functionSourceFile: /src/glib/glib/gtestutils.h
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stderr
    - g_test_trap_assert_stdout_unmatched
    - g_test_trap_assert_stderr_unmatched
    - g_test_rand_int_range
    - g_test_trap_assertions
    - g_test_rand_bit
    - g_test_rand_int
    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_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_slist_prepend
      Src: /src/glib/glib/gshell.c:438,1
    - Dst: g_string_free
      Src: /src/glib/glib/gshell.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - token
    - retval
    argTypes:
    - GString**
    - GSList**
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 441
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:220,1
    - Dst: g_string_new
      Src: /src/glib/glib/gshell.c:222,1
    - Dst: g_string_append
      Src: /src/glib/glib/gshell.c:233,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:235,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:241,1
    - Dst: g_string_free
      Src: /src/glib/glib/gshell.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - unquoted_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 244
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 244
    functionName: g_shell_quote
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_string_append_c
    - g_string_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_shell_quote (const gchar *unquoted_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gshell.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - token
    argTypes:
    - GString**
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 429
    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: 25
    BranchProfiles: []
    Callsites:
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:502,1
    - Dst: delimit_token
      Src: /src/glib/glib/gshell.c:510,1
    - Dst: delimit_token
      Src: /src/glib/glib/gshell.c:522,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:537,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:471,1
    - Dst: delimit_token
      Src: /src/glib/glib/gshell.c:585,1
    - Dst: g_set_error
      Src: /src/glib/glib/gshell.c:590,1
    - Dst: g_set_error
      Src: /src/glib/glib/gshell.c:597,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/gshell.c:618,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:503,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:472,1
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:558,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:593,1
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:568,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gshell.c:609,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:612,1
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:470,1
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:536,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:600,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:559,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:569,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:623,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gshell.c:625,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 72
    argCount: 2
    argNames:
    - command_line
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 628
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 628
    functionName: tokenize_command_line
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - ensure_token
    - g_set_error
    - delimit_token
    - _
    - g_assert
    - g_slist_reverse
    - g_string_append_c
    - g_slist_free_full
    - g_set_error_literal
    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:84,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:85,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gshell.c:94,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:86,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:97,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:109,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:152,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:159,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:176,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gshell.c:184,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:187,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 3
    argNames:
    - str
    - end
    - err
    argTypes:
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 190
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 190
    functionName: unquote_string_inplace
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_set_error_literal
    - g_return_val_if_fail
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unquote_string_inplace (gchar* str, gchar** end, GError**
      err) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:290,1
    - Dst: g_string_new
      Src: /src/glib/glib/gshell.c:296,1
    - Dst: g_strdup
      Src: /src/glib/glib/gshell.c:292,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:325,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:319,1
    - Dst: unquote_string_inplace
      Src: /src/glib/glib/gshell.c:332,1
    - Dst: g_string_append
      Src: /src/glib/glib/gshell.c:338,1
    - Dst: g_free
      Src: /src/glib/glib/gshell.c:344,1
    - Dst: g_string_free
      Src: /src/glib/glib/gshell.c:345,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:348,1
    - Dst: g_string_free
      Src: /src/glib/glib/gshell.c:351,1
    - Dst: g_free
      Src: /src/glib/glib/gshell.c:350,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 2
    argNames:
    - quoted_string
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 353
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 353
    functionName: g_shell_unquote
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_new
    - g_string_append
    - g_free
    - g_assert
    - unquote_string_inplace
    - g_string_append_c
    - g_string_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_shell_unquote (const gchar *quoted_string, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:672,1
    - Dst: tokenize_command_line
      Src: /src/glib/glib/gshell.c:674,1
    - Dst: g_slist_length
      Src: /src/glib/glib/gshell.c:692,1
    - Dst: g_shell_unquote
      Src: /src/glib/glib/gshell.c:698,1
    - Dst: g_new0
      Src: /src/glib/glib/gshell.c:693,1
    - Dst: g_slist_next
      Src: /src/glib/glib/gshell.c:706,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gshell.c:710,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:712,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:713,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gshell.c:721,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gshell.c:728,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:727,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gshell.c:729,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 4
    argNames:
    - command_line
    - argcp
    - argvp
    - error
    argTypes:
    - gchar*
    - gint*
    - gchar***
    - GError**
    constantsTouched: []
    func_position:
      end: 732
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 732
    functionName: g_shell_parse_argv
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_assert
    - g_shell_unquote
    - g_slist_free_full
    - g_slist_next
    - g_strfreev
    - g_slist_length
    - tokenize_command_line
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_shell_parse_argv (const gchar *command_line, gint *argcp,
      gchar ***argvp, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:421,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - node
    - descendant
    argTypes:
    - GNode*
    - GNode*
    constantsTouched: []
    func_position:
      end: 433
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 433
    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:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - root
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 520
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 520
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1024,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1032
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1100,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1101,1
    - Dst: G_NODE_IS_LEAF
      Src: /src/glib/glib/gnode.c:1108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - node
    - flags
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - gpointer
    constantsTouched: []
    func_position:
      end: 1123
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1123
    functionName: g_node_find_child
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_NODE_IS_LEAF
    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:533,1
    - Dst: g_node_traverse_pre_order
      Src: /src/glib/glib/gnode.c:543,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:548,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - node
    - flags
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 552
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 552
    functionName: g_node_traverse_pre_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - func
    - g_node_traverse_pre_order
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:281,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:282,1
    - Dst: G_NODE_IS_ROOT
      Src: /src/glib/glib/gnode.c:283,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:285,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - parent
    - sibling
    - node
    argTypes:
    - GNode*
    - GNode*
    - GNode*
    constantsTouched: []
    func_position:
      end: 320
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 320
    functionName: g_node_insert_before
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_NODE_IS_ROOT
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_insert_before (GNode *parent,\t\t GNode *sibling,\t\t
      GNode *node) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:382,1
    - Dst: g_node_insert_before
      Src: /src/glib/glib/gnode.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - parent
    - node
    argTypes:
    - GNode*
    - GNode*
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: g_node_prepend
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_insert_before
    - g_return_val_if_fail
    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:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 404
    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:954,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/gnode.c:961,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:955,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - root
    - order
    - flags
    - data
    argTypes:
    - GNode*
    - GTraverseType
    - GTraverseFlags
    - gpointer
    constantsTouched: []
    func_position:
      end: 964
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 964
    functionName: g_node_find
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_traverse
    - g_return_val_if_fail
    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:1072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1082
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_node_depth_traverse_post_order
      Src: /src/glib/glib/gnode.c:645,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:656,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:651,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: 660
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 660
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_node_depth_traverse_in_order
      Src: /src/glib/glib/gnode.c:718,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:738,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:722,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:734,1
    - Dst: g_node_depth_traverse_in_order
      Src: /src/glib/glib/gnode.c:729,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: 742
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 742
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_node_traverse_level
      Src: /src/glib/glib/gnode.c:794,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: 801
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 801
    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\tflags,\t\t\t
      gint\t\tdepth,\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:981,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - node
    - flags
    - n
    argTypes:
    - GNode*
    - GTraverseFlags
    - guint*
    constantsTouched: []
    func_position:
      end: 987
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 987
    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:1175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1187
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1187
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_node_traverse_in_order
      Src: /src/glib/glib/gnode.c:677,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:681,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:693,1
    - Dst: g_node_traverse_in_order
      Src: /src/glib/glib/gnode.c:688,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - node
    - flags
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 697
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 697
    functionName: g_node_traverse_in_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - func
    - g_node_traverse_in_order
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/glib/glib/gnode.c:757,1
    - Dst: g_node_traverse_level
      Src: /src/glib/glib/gnode.c:770,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:761,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: 778
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 778
    functionName: g_node_traverse_level
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_traverse_level
    - func
    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:1049,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - node
    - n
    argTypes:
    - GNode*
    - guint
    constantsTouched: []
    func_position:
      end: 1057
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1057
    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:1142,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1144,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - node
    - child
    argTypes:
    - GNode*
    - GNode*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1156
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_alloc0
      Src: /src/glib/glib/gnode.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    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:190,1
    - Dst: g_node_copy_deep
      Src: /src/glib/glib/gnode.c:200,1
    - Dst: g_node_last_child
      Src: /src/glib/glib/gnode.c:198,1
    - Dst: g_node_new
      Src: /src/glib/glib/gnode.c:196,1
    - Dst: copy_func
      Src: /src/glib/glib/gnode.c:196,1
    - Dst: g_node_prepend
      Src: /src/glib/glib/gnode.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - node
    - copy_func
    - data
    argTypes:
    - GNode*
    - GCopyFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: g_node_copy_deep
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_copy
    - copy_func
    - g_node_prepend
    - g_node_copy_deep
    - g_node_last_child
    - g_node_new
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_copy_deep (GNode *node, \t\t GCopyFunc copy_func,\t\t
      gpointer data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:473,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 485
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 485
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/glib/glib/gnode.c:566,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:585,1
    - Dst: g_node_depth_traverse_pre_order
      Src: /src/glib/glib/gnode.c:580,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: 589
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 589
    functionName: g_node_depth_traverse_pre_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_depth_traverse_pre_order
    - func
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1230
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_nodes_free
      Src: /src/glib/glib/gnode.c:121,1
    - Dst: g_node_free
      Src: /src/glib/glib/gnode.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: g_nodes_free
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_nodes_free
    - g_node_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:608,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:613,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:618,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - node
    - flags
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 622
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 622
    functionName: g_node_traverse_post_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - func
    - g_node_traverse_post_order
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:887,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:890,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:891,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:888,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:889,1
    - Dst: g_node_traverse_pre_order
      Src: /src/glib/glib/gnode.c:897,1
    - Dst: g_node_depth_traverse_pre_order
      Src: /src/glib/glib/gnode.c:899,1
    - Dst: g_node_traverse_post_order
      Src: /src/glib/glib/gnode.c:903,1
    - Dst: g_node_depth_traverse_post_order
      Src: /src/glib/glib/gnode.c:905,1
    - Dst: g_node_traverse_in_order
      Src: /src/glib/glib/gnode.c:909,1
    - Dst: g_node_depth_traverse_level
      Src: /src/glib/glib/gnode.c:914,1
    - Dst: g_node_depth_traverse_in_order
      Src: /src/glib/glib/gnode.c:911,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: 917
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 917
    functionName: g_node_traverse
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_traverse_pre_order
    - g_node_traverse_in_order
    - g_node_depth_traverse_post_order
    - g_node_depth_traverse_in_order
    - g_node_depth_traverse_level
    - g_node_depth_traverse_pre_order
    - g_node_traverse_post_order
    - g_return_if_fail
    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:1259,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:1273,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:1260,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:1261,1
    - Dst: G_NODE_IS_LEAF
      Src: /src/glib/glib/gnode.c:1270,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:1278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - node
    - flags
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - GNodeForeachFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1281
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1281
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:137,1
    - Dst: g_nodes_free
      Src: /src/glib/glib/gnode.c:142,1
    - Dst: G_NODE_IS_ROOT
      Src: /src/glib/glib/gnode.c:139,1
    - Dst: g_node_unlink
      Src: /src/glib/glib/gnode.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - root
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: g_node_destroy
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_nodes_free
    - g_node_unlink
    - G_NODE_IS_ROOT
    - 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: 458
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: g_node_depth
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_node_depth (GNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1005,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1006,1
    - Dst: g_node_count_func
      Src: /src/glib/glib/gnode.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - root
    - flags
    argTypes:
    - GNode*
    - GTraverseFlags
    constantsTouched: []
    func_position:
      end: 1011
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1011
    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:1201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1210
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:251,1
    - Dst: G_NODE_IS_ROOT
      Src: /src/glib/glib/gnode.c:253,1
    - Dst: g_node_insert_before
      Src: /src/glib/glib/gnode.c:256,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:253,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:252,1
    - Dst: g_node_nth_child
      Src: /src/glib/glib/gnode.c:257,1
    - Dst: g_node_prepend
      Src: /src/glib/glib/gnode.c:260,1
    - Dst: g_node_append
      Src: /src/glib/glib/gnode.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - parent
    - position
    - node
    argTypes:
    - GNode*
    - gint
    - GNode*
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: g_node_insert
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_prepend
    - g_node_insert_before
    - g_node_append
    - g_node_nth_child
    - G_NODE_IS_ROOT
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_insert (GNode *parent,\t gint position,\t GNode *node) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:338,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:339,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:342,1
    - Dst: G_NODE_IS_ROOT
      Src: /src/glib/glib/gnode.c:340,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:340,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - parent
    - sibling
    - node
    argTypes:
    - GNode*
    - GNode*
    - GNode*
    constantsTouched: []
    func_position:
      end: 367
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 367
    functionName: g_node_insert_after
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_NODE_IS_ROOT
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_insert_after (GNode *parent,\t\t GNode *sibling,\t\t
      GNode *node) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 931
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 931
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_node_new
      Src: /src/glib/glib/gnode.c:226,1
    - Dst: g_node_copy
      Src: /src/glib/glib/gnode.c:229,1
    - Dst: g_node_prepend
      Src: /src/glib/glib/gnode.c:229,1
    - Dst: g_node_last_child
      Src: /src/glib/glib/gnode.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: g_node_copy
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_new
    - g_node_copy
    - g_node_last_child
    - g_node_prepend
    linkageType: ''
    returnType: GNode*
    signature: 'GNode *g_node_copy (GNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gbookmarkfile.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 774
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 774
    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:1455,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1464,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1465,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1463,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1457,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1472,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1474,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1478,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1482,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1483,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1484,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1485,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1486,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: 1488
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1488
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2261,1
    - Dst: g_list_length
      Src: /src/glib/glib/gbookmarkfile.c:2263,1
    - Dst: g_new0
      Src: /src/glib/glib/gbookmarkfile.c:2264,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2271,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:2267,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - bookmark
    - length
    argTypes:
    - GBookmarkFile*
    - gsize*
    constantsTouched: []
    func_position:
      end: 2281
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2281
    functionName: g_bookmark_file_get_uris
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_list_last
    - g_warn_if_fail
    - g_list_length
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_bookmark_file_get_uris (GBookmarkFile *bookmark,\t\t\t gsize
      *length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:779,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:780,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gbookmarkfile.c:782,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 786
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 786
    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:1500,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1507,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1513,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1508,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1512,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1519,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1520,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1524,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1525,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1532,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1538,1
    - Dst: g_warn_if_reached
      Src: /src/glib/glib/gbookmarkfile.c:1552,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:1535,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:1538,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1556,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: 1557
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1557
    functionName: text_raw_cb
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_strndup
    - g_warn_if_fail
    - bookmark_metadata_new
    - g_list_prepend
    - g_warn_if_reached
    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_new
      Src: /src/glib/glib/gbookmarkfile.c:1748,1
    - Dst: g_bookmark_file_init
      Src: /src/glib/glib/gbookmarkfile.c:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1753
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1753
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:2649,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:2651,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2649,1
    - Dst: g_bookmark_file_set_added_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bookmark
    - uri
    - added
    argTypes:
    - GBookmarkFile*
    - gchar*
    - time_t
    constantsTouched: []
    func_position:
      end: 2652
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2652
    functionName: g_bookmark_file_set_added
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_date_time_unref
    - g_date_time_new_now_utc
    - g_bookmark_file_set_added_date_time
    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:3049,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3055,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3050,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3057,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3052,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:3067,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - bookmark
    - uri
    - group
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3073
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3073
    functionName: g_bookmark_file_has_group
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_bookmark_file_lookup_item
    - strcmp
    - g_return_val_if_fail
    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:3968,1
    - Dst: g_list_length
      Src: /src/glib/glib/gbookmarkfile.c:3970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 3971
      start: 3965
    functionDepth: 0
    functionLinenumber: 3965
    functionLinenumberEnd: 3971
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2605,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2606,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2613,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2608,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2611,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2620,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2622,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2628
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2628
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3006,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3010,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3007,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3013,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3008,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3015,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3021
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3021
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3910,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3918,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3913,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3916,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3911,1
    - Dst: g_list_length
      Src: /src/glib/glib/gbookmarkfile.c:3931,1
    - Dst: g_new0
      Src: /src/glib/glib/gbookmarkfile.c:3932,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:3934,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3942,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3943,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3945,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - bookmark
    - uri
    - length
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 3953
      start: 3899
    functionDepth: 0
    functionLinenumber: 3899
    functionLinenumberEnd: 3953
    functionName: g_bookmark_file_get_applications
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_new0
    - g_bookmark_file_lookup_item
    - g_list_last
    - g_warn_if_fail
    - g_list_length
    - g_return_val_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1879,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1880,1
    - Dst: g_bookmark_file_load_from_data
      Src: /src/glib/glib/gbookmarkfile.c:1885,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1890,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gbookmarkfile.c:1882,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - bookmark
    - filename
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1892
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1892
    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_bookmark_file_load_from_data
    - g_free
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3819,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3824,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3820,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3822,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3821,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3827,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3829,1
    - Dst: bookmark_item_lookup_app_info
      Src: /src/glib/glib/gbookmarkfile.c:3834,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3837,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3839,1
    - Dst: g_shell_unquote
      Src: /src/glib/glib/gbookmarkfile.c:3850,1
    - Dst: expand_exec_line
      Src: /src/glib/glib/gbookmarkfile.c:3857,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3860,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3862,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3869,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:3853,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3864,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: 3879
      start: 3807
    functionDepth: 0
    functionLinenumber: 3807
    functionLinenumberEnd: 3879
    functionName: g_bookmark_file_get_application_info
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_bookmark_file_lookup_item
    - g_shell_unquote
    - g_propagate_error
    - bookmark_item_lookup_app_info
    - g_return_val_if_fail
    - expand_exec_line
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gbookmarkfile.c:3682,1
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/gbookmarkfile.c:3703,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:3698,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:3706,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gbookmarkfile.c:3687,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3707,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:3711,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gbookmarkfile.c:3718,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:3724,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 2
    argNames:
    - exec_fmt
    - uri
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3725
      start: 3675
    functionDepth: 0
    functionLinenumber: 3675
    functionLinenumberEnd: 3725
    functionName: expand_exec_line
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_free
    - g_string_append_c
    - g_filename_from_uri
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *expand_exec_line (const gchar *exec_fmt,\t\t const gchar
      *uri) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:615,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:623,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:618,1
    - Dst: bookmark_metadata_copy
      Src: /src/glib/glib/gbookmarkfile.c:620,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:617,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:625,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:627,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - item
    argTypes:
    - BookmarkItem*
    constantsTouched: []
    func_position:
      end: 630
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 630
    functionName: bookmark_item_copy
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - bookmark_metadata_copy
    - g_strdup
    - bookmark_item_new
    - g_date_time_ref
    linkageType: ''
    returnType: BookmarkItem*
    signature: 'static BookmarkItem *bookmark_item_copy (BookmarkItem *item) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1835,1
    - Dst: g_bookmark_file_init
      Src: /src/glib/glib/gbookmarkfile.c:1843,1
    - Dst: strlen
      Src: /src/glib/glib/gbookmarkfile.c:1838,1
    - Dst: g_bookmark_file_parse
      Src: /src/glib/glib/gbookmarkfile.c:1847,1
    - Dst: g_bookmark_file_clear
      Src: /src/glib/glib/gbookmarkfile.c:1842,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1850,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - bookmark
    - data
    - length
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1853
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1853
    functionName: g_bookmark_file_load_from_data
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bookmark_file_init
    - g_bookmark_file_parse
    - g_propagate_error
    - g_bookmark_file_clear
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2980,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gbookmarkfile.c:2981,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2982
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 2982
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/gbookmarkfile.c:3769,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gbookmarkfile.c:3774,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: 3777
      start: 3757
    functionDepth: 0
    functionLinenumber: 3757
    functionLinenumberEnd: 3777
    functionName: g_bookmark_file_get_app_info
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_get_application_info
    - g_date_time_to_unix
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:635,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - BookmarkItem*
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 637
    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_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2943,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2944,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2945,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2950,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2947,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2951,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:2954,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:2955,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - bookmark
    - uri
    - visited
    argTypes:
    - GBookmarkFile*
    - char*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2956
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2956
    functionName: g_bookmark_file_set_visited_date_time
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_bookmark_file_lookup_item
    - g_date_time_ref
    - bookmark_item_new
    - g_return_if_fail
    - g_bookmark_file_add_item
    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_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3267,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3268,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3275,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3270,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3273,1
    - Dst: g_list_length
      Src: /src/glib/glib/gbookmarkfile.c:3288,1
    - Dst: g_new0
      Src: /src/glib/glib/gbookmarkfile.c:3289,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:3290,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3296,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3298,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 4
    argNames:
    - bookmark
    - uri
    - length
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 3306
      start: 3256
    functionDepth: 0
    functionLinenumber: 3256
    functionLinenumberEnd: 3306
    functionName: g_bookmark_file_get_groups
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_new0
    - g_bookmark_file_lookup_item
    - g_list_last
    - g_warn_if_fail
    - g_list_length
    - g_return_val_if_fail
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3610,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:3640,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:3641,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:3622,1
    - Dst: bookmark_app_info_free
      Src: /src/glib/glib/gbookmarkfile.c:3649,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3665,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3601,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:3616,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3629,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3669,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3596,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3597,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3599,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3600,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3598,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3603,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:3617,1
    - Dst: g_list_remove
      Src: /src/glib/glib/gbookmarkfile.c:3647,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gbookmarkfile.c:3648,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:3660,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:3661,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3608,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3631,1
    - Dst: bookmark_app_info_new
      Src: /src/glib/glib/gbookmarkfile.c:3638,1
    - Dst: bookmark_item_lookup_app_info
      Src: /src/glib/glib/gbookmarkfile.c:3624,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3651,1
    - Dst: g_shell_quote
      Src: /src/glib/glib/gbookmarkfile.c:3666,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: 3672
      start: 3584
    functionDepth: 0
    functionLinenumber: 3584
    functionLinenumberEnd: 3672
    functionName: g_bookmark_file_set_application_info
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - _
    - g_clear_pointer
    - bookmark_item_new
    - g_return_val_if_fail
    - g_date_time_ref
    - bookmark_app_info_new
    - bookmark_item_lookup_app_info
    - g_bookmark_file_lookup_item
    - g_list_prepend
    - g_hash_table_remove
    - bookmark_app_info_free
    - g_hash_table_replace
    - g_list_remove
    - g_shell_quote
    - bookmark_item_touch_modified
    - g_set_error
    - g_free
    - bookmark_metadata_new
    - g_bookmark_file_add_item
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gbookmarkfile.c:818,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - parse_data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 821
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 821
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3209,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:3216,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3213,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3210,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3211,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:3217,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:3221,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gbookmarkfile.c:3223,1
    - Dst: g_list_append
      Src: /src/glib/glib/gbookmarkfile.c:3229,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3230,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3233,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - bookmark
    - uri
    - groups
    - length
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar**
    - gsize
    constantsTouched: []
    func_position:
      end: 3234
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3234
    functionName: g_bookmark_file_set_groups
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_bookmark_file_lookup_item
    - g_list_append
    - bookmark_metadata_new
    - bookmark_item_new
    - g_return_if_fail
    - bookmark_item_touch_modified
    - g_list_free_full
    - g_bookmark_file_add_item
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:2913,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2913,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2914,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:2915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bookmark
    - uri
    - visited
    argTypes:
    - GBookmarkFile*
    - gchar*
    - time_t
    constantsTouched: []
    func_position:
      end: 2916
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2916
    functionName: g_bookmark_file_set_visited
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_date_time_unref
    - g_date_time_new_now_utc
    - g_bookmark_file_set_visited_date_time
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1020,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1039,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:1037,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:1026,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1033,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1040,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: 1041
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1041
    functionName: parse_mime_type_element
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_warn_if_fail
    - bookmark_metadata_new
    - IS_ATTRIBUTE
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2475,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2479,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2476,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2477,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2482,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2483,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:2487,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2489,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2491,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:2492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - bookmark
    - uri
    - mime_type
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2493
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2493
    functionName: g_bookmark_file_set_mime_type
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_bookmark_file_lookup_item
    - bookmark_metadata_new
    - bookmark_item_new
    - g_return_if_fail
    - bookmark_item_touch_modified
    - g_bookmark_file_add_item
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2871,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2878,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2872,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2875,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2873,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2880,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 2886
      start: 2864
    functionDepth: 0
    functionLinenumber: 2864
    functionLinenumberEnd: 2886
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1056,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1074,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1072,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:1065,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:1063,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1083,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:1087,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1089,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1090,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1091,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1092,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: 1093
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1093
    functionName: parse_icon_element
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_free
    - g_warn_if_fail
    - bookmark_metadata_new
    - IS_ATTRIBUTE
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2438,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2441,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2446,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2443,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2448,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2453,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2454
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2454
    functionName: g_bookmark_file_get_description
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_bookmark_file_lookup_item
    - g_return_val_if_fail
    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_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2564,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2565,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2570,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2567,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2571,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:2575,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:2578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - bookmark
    - uri
    - is_private
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2579
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2579
    functionName: g_bookmark_file_set_is_private
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_lookup_item
    - bookmark_metadata_new
    - bookmark_item_new
    - g_return_if_fail
    - bookmark_item_touch_modified
    - g_bookmark_file_add_item
    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_slice_new
      Src: /src/glib/glib/gbookmarkfile.c:363,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gbookmarkfile.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 381
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 381
    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:2520,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2523,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2526,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2521,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2528,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2535,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2537,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2542,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2543
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2543
    functionName: g_bookmark_file_get_mime_type
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_bookmark_file_lookup_item
    - g_return_val_if_fail
    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:2845,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gbookmarkfile.c:2846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2847
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2847
    functionName: g_bookmark_file_get_modified
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_get_modified_date_time
    - g_date_time_to_unix
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:389,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:396,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gbookmarkfile.c:391,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gbookmarkfile.c:392,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gbookmarkfile.c:394,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:397,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gbookmarkfile.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - BookmarkMetadata*
    constantsTouched: []
    func_position:
      end: 400
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 400
    functionName: bookmark_metadata_free
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_list_free_full
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void bookmark_metadata_free (BookmarkMetadata *metadata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_clear
      Src: /src/glib/glib/gbookmarkfile.c:1805,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1808
    functionName: g_bookmark_file_free
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_clear
    - g_free
    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:2808,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2812,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2809,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2815,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2810,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2816,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:2819,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:2820,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - bookmark
    - uri
    - modified
    argTypes:
    - GBookmarkFile*
    - char*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2821
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2821
    functionName: g_bookmark_file_set_modified_date_time
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_bookmark_file_lookup_item
    - g_date_time_ref
    - bookmark_item_new
    - g_return_if_fail
    - g_bookmark_file_add_item
    linkageType: ''
    returnType: void
    signature: 'void g_bookmark_file_set_modified_date_time (GBookmarkFile *bookmark,
      const char *uri, GDateTime *modified) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1772,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1776,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/gbookmarkfile.c:1774,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1775,1
    - Dst: g_list_copy_deep
      Src: /src/glib/glib/gbookmarkfile.c:1777,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gbookmarkfile.c:1782,1
    - Dst: g_assert
      Src: /src/glib/glib/gbookmarkfile.c:1785,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gbookmarkfile.c:1785,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gbookmarkfile.c:1786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1789
    functionName: g_bookmark_file_copy
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert
    - g_hash_table_size
    - g_list_copy_deep
    - g_hash_table_insert
    - g_return_val_if_fail
    - g_bookmark_file_new
    linkageType: ''
    returnType: GBookmarkFile*
    signature: 'GBookmarkFile *g_bookmark_file_copy (GBookmarkFile *bookmark) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:4118,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:4121,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:4124,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:4119,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:4126,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4135,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4138,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: 4141
      start: 4109
    functionDepth: 0
    functionLinenumber: 4109
    functionLinenumberEnd: 4141
    functionName: g_bookmark_file_get_icon
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_bookmark_file_lookup_item
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:264,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:268,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gbookmarkfile.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 274
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2146,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gbookmarkfile.c:2152,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2147,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2154,1
    - Dst: g_bookmark_file_has_item
      Src: /src/glib/glib/gbookmarkfile.c:2152,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2156,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:2161,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:2163,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2168,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2171,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - bookmark
    - item
    - error
    argTypes:
    - GBookmarkFile*
    - BookmarkItem*
    - GError**
    constantsTouched: []
    func_position:
      end: 2175
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2175
    functionName: g_bookmark_file_add_item
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_UNLIKELY
    - _
    - g_warn_if_fail
    - g_date_time_new_now_utc
    - g_list_prepend
    - g_hash_table_replace
    - g_bookmark_file_has_item
    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_free
      Src: /src/glib/glib/gbookmarkfile.c:282,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:284,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gbookmarkfile.c:286,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - app_info
    argTypes:
    - BookmarkAppInfo*
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1162,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1170,1
    - Dst: g_utf8_strchr
      Src: /src/glib/glib/gbookmarkfile.c:1177,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1163,1
    - Dst: g_strndup
      Src: /src/glib/glib/gbookmarkfile.c:1180,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gbookmarkfile.c:1181,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1185,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gbookmarkfile.c:1189,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1193,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1195,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1201,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1199,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1198,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: 1204
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1204
    functionName: is_element_full
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_strndup
    - g_warn_if_fail
    - strcmp
    - g_utf8_strchr
    - g_hash_table_lookup
    - g_utf8_next_char
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2135,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gbookmarkfile.c:2137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - bookmark
    - uri
    argTypes:
    - GBookmarkFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2138
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1116,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gbookmarkfile.c:1124,1
    - Dst: g_utf8_strchr
      Src: /src/glib/glib/gbookmarkfile.c:1129,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1135,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gbookmarkfile.c:1131,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1136,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:1138,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - parse_data
    - attribute_names
    - attribute_values
    argTypes:
    - ParseData*
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 1143
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1143
    functionName: map_namespace_to_name
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - g_hash_table_replace
    - g_str_has_prefix
    - g_utf8_strchr
    - g_utf8_next_char
    linkageType: ''
    returnType: void
    signature: "static void map_namespace_to_name (ParseData *parse_data, const gchar
      **attribute_names,\t\t const gchar **attribute_values) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:1712,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1716,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1715,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gbookmarkfile.c:1720,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - iso_date
    - out_date_time
    - error
    argTypes:
    - gchar*
    - GDateTime**
    - GError**
    constantsTouched: []
    func_position:
      end: 1722
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1722
    functionName: timestamp_from_iso8601
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_iso8601
    - g_steal_pointer
    - g_set_error
    - _
    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:2103,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/gbookmarkfile.c:2107,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2104,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/gbookmarkfile.c:2116,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:2110,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:2119,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - bookmark
    - filename
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2129
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2129
    functionName: g_bookmark_file_to_file
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_file_set_contents
    - g_bookmark_file_to_data
    - g_return_val_if_fail
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark,\t\t\t const
      gchar *filename,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gbookmarkfile.c:1625,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1653,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:1662,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1666,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1668,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1689,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1650,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:1643,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:1645,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1652,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1691,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:1700,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:1678,1
    - Dst: bookmark_item_dump
      Src: /src/glib/glib/gbookmarkfile.c:1685,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:1660,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1675,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1695,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1627,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1669,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 3
    argNames:
    - bookmark
    - length
    - error
    argTypes:
    - GBookmarkFile*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1701
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1701
    functionName: g_bookmark_file_dump
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_markup_escape_text
    - g_string_sized_new
    - g_string_append
    - g_free
    - bookmark_item_dump
    - g_list_last
    - g_string_free
    - g_strconcat
    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:2067,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:2072,1
    - Dst: g_bookmark_file_dump
      Src: /src/glib/glib/gbookmarkfile.c:2069,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - bookmark
    - length
    - error
    argTypes:
    - GBookmarkFile*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2078
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2078
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1579,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/gbookmarkfile.c:1598,1
    - Dst: strlen
      Src: /src/glib/glib/gbookmarkfile.c:1588,1
    - Dst: parse_data_new
      Src: /src/glib/glib/gbookmarkfile.c:1590,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/gbookmarkfile.c:1593,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1603,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/glib/gbookmarkfile.c:1606,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1608,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/gbookmarkfile.c:1611,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - bookmark
    - buffer
    - length
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1614
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1614
    functionName: g_bookmark_file_parse
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_markup_parse_context_new
    - g_markup_parse_context_end_parse
    - g_warn_if_fail
    - parse_data_new
    - g_propagate_error
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:883,1
    - Dst: timestamp_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:893,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:860,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:871,1
    - Dst: timestamp_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:887,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:907,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:838,1
    - Dst: timestamp_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:881,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:879,1
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:895,1
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:905,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:846,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:844,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:848,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:850,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:858,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:869,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:877,1
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:889,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:900,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: 913
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 913
    functionName: parse_bookmark_element
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_warn_if_fail
    - IS_ATTRIBUTE
    - timestamp_from_iso8601
    - bookmark_item_new
    - g_propagate_error
    - bookmark_item_free
    - g_bookmark_file_add_item
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:928,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:936,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:938,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:934,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:940,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:942,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:951,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:961,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:983,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:982,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:1002,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:1004,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:978,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:979,1
    - Dst: bookmark_item_lookup_app_info
      Src: /src/glib/glib/gbookmarkfile.c:970,1
    - Dst: timestamp_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:993,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:949,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:959,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:976,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:967,1
    - Dst: atoi
      Src: /src/glib/glib/gbookmarkfile.c:986,1
    - Dst: bookmark_app_info_new
      Src: /src/glib/glib/gbookmarkfile.c:973,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:990,1
    - Dst: atol
      Src: /src/glib/glib/gbookmarkfile.c:1002,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: 1006
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 1006
    functionName: parse_application_element
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_free
    - g_clear_pointer
    - g_date_time_new_from_unix_utc
    - g_warn_if_fail
    - IS_ATTRIBUTE
    - bookmark_metadata_new
    - g_list_prepend
    - atoi
    - timestamp_from_iso8601
    - g_date_time_new_now_utc
    - bookmark_app_info_new
    - g_hash_table_replace
    - bookmark_item_lookup_app_info
    - atol
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gbookmarkfile.c:1242,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - ParserState
    constantsTouched: []
    func_position:
      end: 1244
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1244
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2233,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2234,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gbookmarkfile.c:2236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - bookmark
    - uri
    argTypes:
    - GBookmarkFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2237
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2237
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:2779,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:2781,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2779,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bookmark
    - uri
    - modified
    argTypes:
    - GBookmarkFile*
    - gchar*
    - time_t
    constantsTouched: []
    func_position:
      end: 2782
      start: 2774
    functionDepth: 0
    functionLinenumber: 2774
    functionLinenumberEnd: 2782
    functionName: g_bookmark_file_set_modified
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_bookmark_file_set_modified_date_time
    - g_date_time_new_now_utc
    - g_date_time_unref
    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: 38
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1283,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1289,1
    - Dst: parse_bookmark_element
      Src: /src/glib/glib/gbookmarkfile.c:1297,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1327,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1317,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1313,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:1335,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1336,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1346,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1353,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1385,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:1275,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1267,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1308,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1322,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1355,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1359,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1371,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1390,1
    - Dst: parse_application_element
      Src: /src/glib/glib/gbookmarkfile.c:1401,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1412,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1436,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1281,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1287,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1291,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1303,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1315,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1348,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1357,1
    - Dst: parse_mime_type_element
      Src: /src/glib/glib/gbookmarkfile.c:1379,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1410,1
    - Dst: parser_state_to_element_name
      Src: /src/glib/glib/gbookmarkfile.c:1438,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1417,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gbookmarkfile.c:1442,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1422,1
    - Dst: map_namespace_to_name
      Src: /src/glib/glib/gbookmarkfile.c:1262,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1276,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1306,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1320,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:1341,1
    - Dst: parse_icon_element
      Src: /src/glib/glib/gbookmarkfile.c:1365,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1373,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1388,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1395,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1407,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1434,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1420,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: 1445
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1445
    functionName: start_element_raw_cb
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - map_namespace_to_name
    - _
    - parser_state_to_element_name
    - IS_ATTRIBUTE
    - bookmark_metadata_new
    - g_assert_not_reached
    - parse_bookmark_element
    - parse_icon_element
    - IS_ELEMENT
    - strcmp
    - g_propagate_error
    - IS_ELEMENT_NS
    - parse_mime_type_element
    - parse_application_element
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2196,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2199,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2203,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2197,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2205,1
    - Dst: g_list_remove
      Src: /src/glib/glib/gbookmarkfile.c:2210,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gbookmarkfile.c:2211,1
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:2213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2216
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2216
    functionName: g_bookmark_file_remove_item
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_bookmark_file_lookup_item
    - g_hash_table_remove
    - g_list_remove
    - bookmark_item_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_remove_item (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:2738,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2745,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2740,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2739,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2742,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2747,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 2753
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2753
    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_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:570,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:573,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gbookmarkfile.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - uri
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 585
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 585
    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:650,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:658,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:656,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gbookmarkfile.c:654,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:660,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:662,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:683,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:674,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:696,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:708,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:744,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:672,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:681,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:684,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:682,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:694,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gbookmarkfile.c:700,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:701,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:722,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:724,1
    - Dst: bookmark_metadata_dump
      Src: /src/glib/glib/gbookmarkfile.c:731,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:712,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:664,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:670,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:671,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:692,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:673,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:693,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:695,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:709,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:719,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:738,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:734,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:742,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:710,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:661,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:685,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:707,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:720,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:721,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:735,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:736,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 1
    argNames:
    - item
    argTypes:
    - BookmarkItem*
    constantsTouched: []
    func_position:
      end: 745
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 745
    functionName: bookmark_item_dump
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_markup_escape_text
    - g_string_sized_new
    - g_string_append
    - g_free
    - g_warning
    - g_string_truncate
    - g_date_time_format_iso8601
    - g_string_free
    - bookmark_metadata_dump
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *bookmark_item_dump (BookmarkItem *item) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:593,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:595,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:594,1
    - Dst: bookmark_metadata_free
      Src: /src/glib/glib/gbookmarkfile.c:598,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:600,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:601,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:602,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gbookmarkfile.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - item
    argTypes:
    - BookmarkItem*
    constantsTouched: []
    func_position:
      end: 605
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 605
    functionName: bookmark_item_free
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - bookmark_metadata_free
    - g_slice_free
    - g_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:751,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gbookmarkfile.c:756,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - item
    - app_name
    argTypes:
    - BookmarkItem*
    - gchar*
    constantsTouched: []
    func_position:
      end: 757
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 757
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2712,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gbookmarkfile.c:2713,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2714
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2714
    functionName: g_bookmark_file_get_added
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_get_added_date_time
    - g_date_time_to_unix
    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: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:411,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:415,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:413,1
    - Dst: g_list_copy_deep
      Src: /src/glib/glib/gbookmarkfile.c:417,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:414,1
    - Dst: g_list_copy_deep
      Src: /src/glib/glib/gbookmarkfile.c:419,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gbookmarkfile.c:424,1
    - Dst: g_assert
      Src: /src/glib/glib/gbookmarkfile.c:427,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gbookmarkfile.c:427,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gbookmarkfile.c:428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - BookmarkMetadata*
    constantsTouched: []
    func_position:
      end: 431
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 431
    functionName: bookmark_metadata_copy
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert
    - g_hash_table_size
    - g_list_copy_deep
    - bookmark_metadata_new
    - g_hash_table_insert
    linkageType: ''
    returnType: BookmarkMetadata*
    signature: 'static BookmarkMetadata *bookmark_metadata_copy (BookmarkMetadata
      *metadata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2673,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2680,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2677,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2674,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2675,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2681,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:2684,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:2685,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:2686,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:2687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - bookmark
    - uri
    - added
    argTypes:
    - GBookmarkFile*
    - char*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2688
      start: 2666
    functionDepth: 0
    functionLinenumber: 2666
    functionLinenumberEnd: 2688
    functionName: g_bookmark_file_set_added_date_time
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_bookmark_file_lookup_item
    - g_date_time_ref
    - bookmark_item_new
    - g_return_if_fail
    - g_bookmark_file_add_item
    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_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:3532,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:3536,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/gbookmarkfile.c:3534,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:3532,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: 3538
      start: 3523
    functionDepth: 0
    functionLinenumber: 3523
    functionLinenumberEnd: 3538
    functionName: g_bookmark_file_set_app_info
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_date_time_unref
    - g_date_time_new_now_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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:4065,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:4072,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:4071,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:4068,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:4066,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:4076,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:4078,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:4079,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4081,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4084,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4086,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:4088,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - bookmark
    - uri
    - href
    - mime_type
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4089
      start: 4057
    functionDepth: 0
    functionLinenumber: 4057
    functionLinenumberEnd: 4089
    functionName: g_bookmark_file_set_icon
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_bookmark_file_lookup_item
    - bookmark_metadata_new
    - bookmark_item_new
    - g_return_if_fail
    - bookmark_item_touch_modified
    - g_bookmark_file_add_item
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:458,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:445,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:466,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:500,1
    - Dst: bookmark_app_info_dump
      Src: /src/glib/glib/gbookmarkfile.c:512,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:485,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:547,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:471,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:476,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:482,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:484,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:518,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:489,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:523,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gbookmarkfile.c:442,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:505,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:510,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:533,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:535,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:540,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:542,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:457,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:453,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:475,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:516,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:553,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:557,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - BookmarkMetadata*
    constantsTouched: []
    func_position:
      end: 558
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 558
    functionName: bookmark_metadata_dump
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_markup_escape_text
    - g_string_sized_new
    - g_string_append
    - g_free
    - g_strdup
    - g_list_last
    - g_warn_if_fail
    - bookmark_app_info_dump
    - g_string_free
    - g_strconcat
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *bookmark_metadata_dump (BookmarkMetadata *metadata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2390,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2394,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2404,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2395,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2401,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2405,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2408,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2409,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:2411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - bookmark
    - uri
    - description
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2413
    functionName: g_bookmark_file_set_description
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_bookmark_file_lookup_item
    - g_bookmark_file_add_item
    - bookmark_item_new
    - bookmark_item_touch_modified
    - g_return_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3146,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3149,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3152,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3147,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3154,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3161,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3163,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:3170,1
    - Dst: g_list_remove_link
      Src: /src/glib/glib/gbookmarkfile.c:3172,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3173,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gbookmarkfile.c:3174,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - bookmark
    - uri
    - group
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3183
      start: 3137
    functionDepth: 0
    functionLinenumber: 3137
    functionLinenumberEnd: 3183
    functionName: g_bookmark_file_remove_group
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_list_free_1
    - _
    - g_free
    - g_list_remove_link
    - g_bookmark_file_lookup_item
    - strcmp
    - g_return_val_if_fail
    - bookmark_item_touch_modified
    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:3414,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3416,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:3427,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3415,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/gbookmarkfile.c:3419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - bookmark
    - uri
    - name
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3433
      start: 3405
    functionDepth: 0
    functionLinenumber: 3405
    functionLinenumberEnd: 3433
    functionName: g_bookmark_file_remove_application
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_set_application_info
    - g_return_val_if_fail
    - g_propagate_error
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3460,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3467,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3461,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3464,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3462,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3469,1
    - Dst: bookmark_item_lookup_app_info
      Src: /src/glib/glib/gbookmarkfile.c:3474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - bookmark
    - uri
    - name
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3475
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3475
    functionName: g_bookmark_file_has_application
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_bookmark_file_lookup_item
    - bookmark_item_lookup_app_info
    - g_return_val_if_fail
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3999,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:4005,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:4000,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:4007,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:4002,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gbookmarkfile.c:4014,1
    - Dst: g_bookmark_file_has_item
      Src: /src/glib/glib/gbookmarkfile.c:4017,1
    - Dst: g_bookmark_file_remove_item
      Src: /src/glib/glib/gbookmarkfile.c:4019,1
    - Dst: g_hash_table_steal
      Src: /src/glib/glib/gbookmarkfile.c:4023,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:4025,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4026,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:4027,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:4029,1
    - Dst: g_bookmark_file_remove_item
      Src: /src/glib/glib/gbookmarkfile.c:4035,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: 4040
      start: 3991
    functionDepth: 0
    functionLinenumber: 3991
    functionLinenumberEnd: 4040
    functionName: g_bookmark_file_move_item
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_bookmark_file_remove_item
    - g_free
    - g_strcmp0
    - g_bookmark_file_lookup_item
    - g_hash_table_steal
    - g_hash_table_replace
    - g_bookmark_file_has_item
    - g_return_val_if_fail
    - bookmark_item_touch_modified
    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_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3351,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3354,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3352,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:3358,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:3357,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3362,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3364,1
    - Dst: g_get_application_name
      Src: /src/glib/glib/gbookmarkfile.c:3364,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3367,1
    - Dst: g_strjoin
      Src: /src/glib/glib/gbookmarkfile.c:3369,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gbookmarkfile.c:3369,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:3371,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/gbookmarkfile.c:3373,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3381,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3382,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:3380,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - bookmark
    - uri
    - name
    - exec
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3383
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3383
    functionName: g_bookmark_file_add_application
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_get_prgname
    - g_bookmark_file_lookup_item
    - g_date_time_unref
    - g_date_time_new_now_utc
    - g_bookmark_file_set_application_info
    - bookmark_item_new
    - g_return_if_fail
    - g_get_application_name
    - g_strjoin
    - g_bookmark_file_add_item
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: bookmark_app_info_new
      Src: /src/glib/glib/gbookmarkfile.c:297,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:302,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - app_info
    argTypes:
    - BookmarkAppInfo*
    constantsTouched: []
    func_position:
      end: 305
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 305
    functionName: bookmark_app_info_copy
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - bookmark_app_info_new
    - g_date_time_ref
    linkageType: ''
    returnType: BookmarkAppInfo*
    signature: 'static BookmarkAppInfo *bookmark_app_info_copy (BookmarkAppInfo *app_info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1996,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1997,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/glib/gbookmarkfile.c:2000,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gbookmarkfile.c:1997,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/glib/gbookmarkfile.c:1999,1
    - Dst: g_new0
      Src: /src/glib/glib/gbookmarkfile.c:2001,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gbookmarkfile.c:2001,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2004,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2008,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2015,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/gbookmarkfile.c:2025,1
    - Dst: find_file_in_data_dirs
      Src: /src/glib/glib/gbookmarkfile.c:2017,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:2021,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gbookmarkfile.c:2040,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2038,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:2030,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 4
    argNames:
    - bookmark
    - file
    - full_path
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 2043
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 2043
    functionName: g_bookmark_file_load_from_data_dirs
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - find_file_in_data_dirs
    - g_strdup
    - g_free
    - g_new0
    - g_strv_length
    - g_get_system_data_dirs
    - g_get_user_data_dir
    - g_bookmark_file_load_from_file
    - g_strfreev
    - g_propagate_error
    - g_return_val_if_fail
    - 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:2353,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2356,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2361,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2358,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2363,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2368,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2369
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2369
    functionName: g_bookmark_file_get_title
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_bookmark_file_lookup_item
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_bookmark_file_get_title (GBookmarkFile *bookmark,\t\t\t const
      gchar *uri,\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3095,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:3102,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3096,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3097,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3099,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:3103,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:3107,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/gbookmarkfile.c:3109,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:3111,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3112,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - bookmark
    - uri
    - group
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3116
      start: 3088
    functionDepth: 0
    functionLinenumber: 3088
    functionLinenumberEnd: 3116
    functionName: g_bookmark_file_add_group
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_bookmark_file_lookup_item
    - g_bookmark_file_has_group
    - bookmark_metadata_new
    - g_list_prepend
    - bookmark_item_new
    - g_return_if_fail
    - bookmark_item_touch_modified
    - g_bookmark_file_add_item
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:313,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:319,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:318,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:326,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gbookmarkfile.c:320,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:327,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:329,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:333,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:336,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:344,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:345,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:347,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - app_info
    argTypes:
    - BookmarkAppInfo*
    constantsTouched: []
    func_position:
      end: 350
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 350
    functionName: bookmark_app_info_dump
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_markup_escape_text
    - g_strdup
    - g_free
    - g_warn_if_fail
    - g_strdup_printf
    - g_date_time_format_iso8601
    - g_strconcat
    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:803,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gbookmarkfile.c:806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 813
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 813
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1921,1
    - Dst: g_strndup
      Src: /src/glib/glib/gbookmarkfile.c:1937,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1936,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gbookmarkfile.c:1926,1
    - Dst: strchr
      Src: /src/glib/glib/gbookmarkfile.c:1929,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1945,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gbookmarkfile.c:1953,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1955,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 3
    argNames:
    - file
    - dirs
    - error
    argTypes:
    - gchar*
    - gchar***
    - GError**
    constantsTouched: []
    func_position:
      end: 1961
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1961
    functionName: find_file_in_data_dirs
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - _
    - g_strndup
    - g_build_filename
    - strchr
    - g_set_error_literal
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *find_file_in_data_dirs (const gchar *file, gchar ***dirs,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2303,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2317,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2314,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2307,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2308,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2318,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2321,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2322,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:2324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - bookmark
    - uri
    - title
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2326
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2326
    functionName: g_bookmark_file_set_title
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_bookmark_file_lookup_item
    - g_bookmark_file_add_item
    - bookmark_item_new
    - bookmark_item_touch_modified
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:454,1
    - Dst: g_io_channel_purge
      Src: /src/glib/glib/giochannel.c:456,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:463,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 470
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 470
    functionName: g_io_channel_close
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_error_free
    - g_io_channel_purge
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_io_channel_close (GIOChannel *channel) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:492,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:493,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/giochannel.c:507,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/giochannel.c:505,1
    - Dst: g_io_channel_get_flags
      Src: /src/glib/glib/giochannel.c:503,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:512,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:520,1
    - Dst: g_clear_error
      Src: /src/glib/glib/giochannel.c:533,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/giochannel.c:538,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - channel
    - flush
    - err
    argTypes:
    - GIOChannel*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 543
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 543
    functionName: g_io_channel_shutdown
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_io_channel_set_flags
    - g_warning
    - g_clear_error
    - g_string_truncate
    - g_io_channel_flush
    - g_propagate_error
    - g_return_val_if_fail
    - g_io_channel_get_flags
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_shutdown (GIOChannel *channel,\t\t gboolean
      flush,\t\t GError **err) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:651,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/giochannel.c:653,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/giochannel.c:656,1
    - Dst: g_source_attach
      Src: /src/glib/glib/giochannel.c:659,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/giochannel.c:657,1
    - Dst: g_source_unref
      Src: /src/glib/glib/giochannel.c:660,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: 663
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: g_io_add_watch_full
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_io_create_watch
    - g_source_unref
    - g_return_val_if_fail
    - g_source_attach
    - g_source_set_priority
    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:757,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:770,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:764,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 7
    argCount: 1
    argNames:
    - en
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 831
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 831
    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:1670,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1671,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1672,1
    - Dst: g_io_channel_read_line_backend
      Src: /src/glib/glib/giochannel.c:1676,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1674,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1689,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1689,1
    - Dst: g_memdup2
      Src: /src/glib/glib/giochannel.c:1690,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1690,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/giochannel.c:1692,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1693,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1693,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: 1699
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1699
    functionName: g_io_channel_read_line
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_io_channel_read_line_backend
    - g_assert
    - USE_BUF
    - g_memdup2
    - g_steal_pointer
    - g_string_erase
    - g_return_val_if_fail
    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_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:216,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/giochannel.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: g_io_channel_ref
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    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:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - channel
    - condition
    argTypes:
    - GIOChannel*
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 620
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 620
    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:979,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:980,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - channel
    - flags
    - error
    argTypes:
    - GIOChannel*
    - GIOFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 986
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 986
    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: 40
    BranchProfiles: []
    Callsites:
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2249,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2250,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2291,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2311,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2334,1
    - Dst: memcpy
      Src: /src/glib/glib/giochannel.c:2341,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2428,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2502,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:2477,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:2475,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2213,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/giochannel.c:2267,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:2254,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/giochannel.c:2321,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2338,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:2385,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/giochannel.c:2403,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/giochannel.c:2412,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2449,1
    - Dst: g_set_error
      Src: /src/glib/glib/giochannel.c:2491,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:2419,1
    - Dst: g_strerror
      Src: /src/glib/glib/giochannel.c:2492,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2209,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2210,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2227,1
    - Dst: g_io_channel_seek_position
      Src: /src/glib/glib/giochannel.c:2257,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:2293,1
    - Dst: MAX
      Src: /src/glib/glib/giochannel.c:2305,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2339,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/giochannel.c:2367,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2372,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giochannel.c:2391,1
    - Dst: memcpy
      Src: /src/glib/glib/giochannel.c:2434,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:2492,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:2479,1
    - Dst: strlen
      Src: /src/glib/glib/giochannel.c:2216,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2211,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2235,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2236,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2252,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2315,1
    - Dst: strlen
      Src: /src/glib/glib/giochannel.c:2337,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2356,1
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/giochannel.c:2360,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2483,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2459,1
    - Dst: g_iconv
      Src: /src/glib/glib/giochannel.c:2416,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: 2522
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2522
    functionName: g_io_channel_write_chars
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - _
    - g_io_channel_seek_position
    - g_utf8_get_char_validated
    - MIN
    - g_iconv
    - g_string_append_len
    - g_return_val_if_fail
    - strlen
    - g_strerror
    - g_assert_not_reached
    - g_string_erase
    - g_set_error_literal
    - BUF_LEN
    - memcpy
    - g_warning
    - g_string_truncate
    - MAX
    - g_set_error
    - g_string_sized_new
    - g_string_set_size
    - g_assert
    - g_utf8_validate_len
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1101,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1114,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1102,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1104,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1122,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1137,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/giochannel.c:1143,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1153,1
    - Dst: g_iconv
      Src: /src/glib/glib/giochannel.c:1157,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1164,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1169,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1163,1
    - Dst: g_iconv
      Src: /src/glib/glib/giochannel.c:1159,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 49
    argCount: 4
    argNames:
    - channel
    - offset
    - type
    - error
    argTypes:
    - GIOChannel*
    - gint64
    - GSeekType
    - GError**
    constantsTouched: []
    func_position:
      end: 1175
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1175
    functionName: g_io_channel_seek_position
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_warning
    - g_iconv
    - g_string_truncate
    - g_io_channel_flush
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIOStatus
    signature: 'GIOStatus g_io_channel_seek_position (GIOChannel *channel, gint64
      offset, GSeekType type, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:552,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/giochannel.c:563,1
    - Dst: g_io_channel_get_flags
      Src: /src/glib/glib/giochannel.c:560,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/giochannel.c:561,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:567,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:568,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:575,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:577,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:581,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:585,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 589
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 589
    functionName: g_io_channel_purge
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_io_channel_set_flags
    - g_error_free
    - g_warning
    - g_string_truncate
    - g_io_channel_flush
    - g_io_channel_get_flags
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_io_channel_purge (GIOChannel *channel) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - channel
    - size
    argTypes:
    - GIOChannel*
    - gsize
    constantsTouched: []
    func_position:
      end: 853
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 853
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1064
    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:1724,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1731,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1726,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1725,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1728,1
    - Dst: g_io_channel_read_line_backend
      Src: /src/glib/glib/giochannel.c:1733,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1737,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1737,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/giochannel.c:1738,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1738,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1739,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - channel
    - buffer
    - terminator_pos
    - error
    argTypes:
    - GIOChannel*
    - GString*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1743
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1743
    functionName: g_io_channel_read_line_string
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_io_channel_read_line_backend
    - g_assert
    - USE_BUF
    - g_string_erase
    - g_string_truncate
    - g_string_append_len
    - g_return_val_if_fail
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:234,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/giochannel.c:238,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/giochannel.c:236,1
    - Dst: g_io_channel_shutdown
      Src: /src/glib/glib/giochannel.c:241,1
    - Dst: g_io_channel_purge
      Src: /src/glib/glib/giochannel.c:243,1
    - Dst: g_free
      Src: /src/glib/glib/giochannel.c:244,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:246,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:248,1
    - Dst: g_free
      Src: /src/glib/glib/giochannel.c:249,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:251,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:253,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 258
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 258
    functionName: g_io_channel_unref
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - G_UNLIKELY
    - g_free
    - g_io_channel_purge
    - g_io_channel_shutdown
    - g_iconv_close
    - g_string_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_io_channel_unref (GIOChannel *channel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:357,1
    - Dst: g_io_error_get_from_g_error
      Src: /src/glib/glib/giochannel.c:362,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:358,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - channel
    - buf
    - count
    - bytes_written
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    constantsTouched: []
    func_position:
      end: 368
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 368
    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:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - channel
    - condition
    - func
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - GIOFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 710
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 710
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 869
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 869
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:1248,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:1258,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:1257,1
    - Dst: g_warning
      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: 1261
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1261
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1467
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1467
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2133,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2135,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2134,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2137,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2139,1
    - Dst: g_io_channel_fill_buffer
      Src: /src/glib/glib/giochannel.c:2140,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2144,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2144,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2146,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2148,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/giochannel.c:2166,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:2150,1
    - Dst: g_clear_error
      Src: /src/glib/glib/giochannel.c:2163,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/giochannel.c:2169,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:2152,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:2168,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - channel
    - thechar
    - error
    argTypes:
    - GIOChannel*
    - gunichar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2173
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2173
    functionName: g_io_channel_read_unichar
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - BUF_LEN
    - g_io_channel_fill_buffer
    - _
    - g_assert
    - USE_BUF
    - g_clear_error
    - g_string_erase
    - g_utf8_get_char
    - g_set_error_literal
    - g_return_val_if_fail
    - g_utf8_next_char
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_read_unichar (GIOChannel *channel,\t\t\t gunichar
      *thechar,\t\t\t GError **error) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:272,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giochannel.c:284,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 2
    argNames:
    - status
    - err
    argTypes:
    - GIOStatus
    - GError*
    constantsTouched: []
    func_position:
      end: 286
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 286
    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_warning
      Src: /src/glib/glib/giochannel.c:1484,1
    - Dst: MAX
      Src: /src/glib/glib/giochannel.c:1528,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1543,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1550,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/giochannel.c:1623,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/giochannel.c:1632,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/giochannel.c:1493,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/giochannel.c:1489,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/giochannel.c:1514,1
    - Dst: g_iconv
      Src: /src/glib/glib/giochannel.c:1539,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1566,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/giochannel.c:1534,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1582,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1615,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1617,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1634,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1498,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1500,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1506,1
    - Dst: MAX
      Src: /src/glib/glib/giochannel.c:1531,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1548,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1580,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1586,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1593,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/giochannel.c:1478,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1523,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1545,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1573,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1575,1
    - Dst: g_set_error
      Src: /src/glib/glib/giochannel.c:1581,1
    - Dst: g_strerror
      Src: /src/glib/glib/giochannel.c:1582,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/giochannel.c:1602,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 121
    argCount: 2
    argNames:
    - channel
    - err
    argTypes:
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 1639
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1639
    functionName: g_io_channel_fill_buffer
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_string_sized_new
    - g_string_set_size
    - _
    - g_assert
    - g_strerror
    - g_utf8_get_char_validated
    - g_warning
    - g_iconv
    - g_string_truncate
    - g_io_channel_flush
    - g_string_erase
    - g_string_append_len
    - MAX
    - g_set_error_literal
    - g_utf8_next_char
    linkageType: ''
    returnType: GIOStatus
    signature: 'static GIOStatus g_io_channel_fill_buffer (GIOChannel *channel, GError
      **err) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:312,1
    - Dst: g_io_error_get_from_g_error
      Src: /src/glib/glib/giochannel.c:326,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:322,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:313,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - channel
    - buf
    - count
    - bytes_read
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    constantsTouched: []
    func_position:
      end: 332
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 332
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1195,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1214,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1196,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1203,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - channel
    - error
    argTypes:
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 1217
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1217
    functionName: g_io_channel_flush
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_string_erase
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_flush (GIOChannel\t*channel,\t\t GError **error) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2025,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2061,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2078,1
    - Dst: g_clear_error
      Src: /src/glib/glib/giochannel.c:2076,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2087,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/giochannel.c:2094,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2105,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2033,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2051,1
    - Dst: g_io_channel_fill_buffer
      Src: /src/glib/glib/giochannel.c:2052,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2056,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:2065,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2058,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:2063,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2078,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:2106,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2024,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2039,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2080,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2095,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2102,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2023,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2051,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2078,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2056,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2087,1
    - Dst: memcpy
      Src: /src/glib/glib/giochannel.c:2105,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2106,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: 2112
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2112
    functionName: g_io_channel_read_chars
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - BUF_LEN
    - g_io_channel_fill_buffer
    - memcpy
    - _
    - g_assert
    - USE_BUF
    - MIN
    - g_clear_error
    - g_string_erase
    - g_set_error_literal
    - g_return_val_if_fail
    - g_utf8_next_char
    linkageType: ''
    returnType: GIOStatus
    signature: 'GIOStatus g_io_channel_read_chars (GIOChannel *channel, gchar *buf,
      gsize count, gsize *bytes_read, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2545,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2547,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2546,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2549,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/giochannel.c:2551,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:2555,1
    - Dst: g_io_channel_write_chars
      Src: /src/glib/glib/giochannel.c:2559,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - channel
    - thechar
    - error
    argTypes:
    - GIOChannel*
    - gunichar
    - GError**
    constantsTouched: []
    func_position:
      end: 2567
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2567
    functionName: g_io_channel_write_unichar
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_unichar_to_utf8
    - g_assert
    - g_warning
    - g_io_channel_write_chars
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_write_unichar (GIOChannel *channel,\t\t\t gunichar
      thechar,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/giochannel.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 203
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:395,1
    - Dst: g_io_error_get_from_g_error
      Src: /src/glib/glib/giochannel.c:411,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:396,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:405,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - channel
    - offset
    - type
    argTypes:
    - GIOChannel*
    - gint64
    - GSeekType
    constantsTouched: []
    func_position:
      end: 417
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 417
    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_error_free
    - g_warning
    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:928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - channel
    - length
    argTypes:
    - GIOChannel*
    - gint*
    constantsTouched: []
    func_position:
      end: 934
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 934
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - channel
    - do_close
    argTypes:
    - GIOChannel*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1045
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1045
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/giochannel.c:1358,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1407,1
    - Dst: g_strerror
      Src: /src/glib/glib/giochannel.c:1408,1
    - Dst: g_set_error
      Src: /src/glib/glib/giochannel.c:1406,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1430,1
    - Dst: g_string_prepend_len
      Src: /src/glib/glib/giochannel.c:1436,1
    - Dst: g_free
      Src: /src/glib/glib/giochannel.c:1444,1
    - Dst: g_strdup
      Src: /src/glib/glib/giochannel.c:1445,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1333,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1398,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:1411,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1332,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1337,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1343,1
    - Dst: strcmp
      Src: /src/glib/glib/giochannel.c:1358,1
    - Dst: g_iconv_open
      Src: /src/glib/glib/giochannel.c:1370,1
    - Dst: g_set_error
      Src: /src/glib/glib/giochannel.c:1402,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:1426,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1342,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1350,1
    - Dst: g_iconv_open
      Src: /src/glib/glib/giochannel.c:1384,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1399,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1403,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:1413,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:1424,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1438,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 95
    argCount: 3
    argNames:
    - channel
    - encoding
    - error
    argTypes:
    - GIOChannel*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1448
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1448
    functionName: g_io_channel_set_encoding
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_free
    - g_iconv_open
    - g_assert
    - g_strerror
    - g_string_prepend_len
    - g_warning
    - g_string_truncate
    - g_iconv_close
    - strcmp
    - g_return_val_if_fail
    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:1938,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1941,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1950,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1951,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1939,1
    - Dst: g_io_channel_fill_buffer
      Src: /src/glib/glib/giochannel.c:1956,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1964,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1965,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1969,1
    - Dst: g_strdup
      Src: /src/glib/glib/giochannel.c:1973,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1981,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1978,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:1981,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:1983,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1983,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 4
    argNames:
    - channel
    - str_return
    - length
    - error
    argTypes:
    - GIOChannel*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1992
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1992
    functionName: g_io_channel_read_to_end
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_io_channel_fill_buffer
    - _
    - USE_BUF
    - g_string_free
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_read_to_end (GIOChannel *channel, gchar **str_return,
      gsize\t *length, GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 742
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 742
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:892,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:903,1
    - Dst: g_free
      Src: /src/glib/glib/giochannel.c:907,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:893,1
    - Dst: strlen
      Src: /src/glib/glib/giochannel.c:902,1
    - Dst: g_memdup2
      Src: /src/glib/glib/giochannel.c:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - channel
    - line_term
    - length
    argTypes:
    - GIOChannel*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 910
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 910
    functionName: g_io_channel_set_line_term
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - strlen
    - g_memdup2
    - g_free
    - g_return_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1023
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1277
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1277
    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: 27
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1759,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1760,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:1788,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1788,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:1822,1
    - Dst: g_io_channel_fill_buffer
      Src: /src/glib/glib/giochannel.c:1784,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:1798,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1822,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1887,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1888,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:1781,1
    - Dst: memcmp
      Src: /src/glib/glib/giochannel.c:1835,1
    - Dst: strncmp
      Src: /src/glib/glib/giochannel.c:1861,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1879,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1781,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1798,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1805,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1807,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1822,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1824,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/giochannel.c:1831,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 107
    argCount: 4
    argNames:
    - channel
    - length
    - terminator_pos
    - error
    argTypes:
    - GIOChannel*
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1911
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1911
    functionName: g_io_channel_read_line_backend
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - BUF_LEN
    - g_io_channel_fill_buffer
    - _
    - g_assert
    - USE_BUF
    - memcmp
    - g_set_error_literal
    - g_utf8_next_char
    - strncmp
    linkageType: ''
    returnType: GIOStatus
    signature: 'static GIOStatus g_io_channel_read_line_backend (GIOChannel *channel,
      gsize *length, gsize *terminator_pos, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/glib/glib/gstdio-private.c:36,1
    - Dst: iswascii
      Src: /src/glib/glib/gstdio-private.c:50,1
    - Dst: iswalpha
      Src: /src/glib/glib/gstdio-private.c:51,1
    - Dst: wcslen
      Src: /src/glib/glib/gstdio-private.c:40,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
    - iswalpha
    - memmove
    - iswascii
    - memcmp
    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_GNUC_PRINTF
      Src: /src/glib/glib/gscanner.h:280,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/glib/gscanner.h:284,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_GNUC_PRINTF
    - g_scanner_scope_add_symbol
    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: 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: 1
    argNames:
    - void
    argTypes:
    - void
    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:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GStrvBuilder*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    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_return_if_fail
      Src: /src/glib/glib/gstrvbuilder.c:154,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrvbuilder.c:156,1
    - Dst: va_end
      Src: /src/glib/glib/gstrvbuilder.c:158,1
    - Dst: va_start
      Src: /src/glib/glib/gstrvbuilder.c:155,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/gstrvbuilder.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - builder
    - '...'
    argTypes:
    - GStrvBuilder*
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: g_strv_builder_add_many
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - va_end
    - va_start
    - g_strv_builder_add
    - va_arg
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_strv_builder_add_many (GStrvBuilder *builder, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrvbuilder.c:116,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrvbuilder.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GStrvBuilder*
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    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_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_return_if_fail
      Src: /src/glib/glib/gstrvbuilder.c:133,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstrvbuilder.c:134,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/gstrvbuilder.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GStrvBuilder*
    - char**
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    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_ptr_array_add
      Src: /src/glib/glib/gstrvbuilder.c:177,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/gstrvbuilder.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GStrvBuilder*
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    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_free
      Src: /src/glib/glib/glib-autocleanups.h:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    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:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: msort_r
      Src: /src/glib/glib/gqsort.c:303,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: 304
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: g_qsort_with_data
    functionSourceFile: /src/glib/glib/gqsort.c
    functionUses: []
    functionsReached:
    - msort_r
    linkageType: ''
    returnType: void
    signature: 'void g_qsort_with_data (gconstpointer pbase, gint total_elems, gsize
      size, GCompareDataFunc compare_func, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_alloca
      Src: /src/glib/glib/gqsort.c:208,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:253,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
    - msort_with_tmp
    - g_free
    - G_ALIGNOF
    - g_alloca
    - g_malloc
    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: va_start
      Src: /src/glib/glib/gmessages.h:430,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:431,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: g_message
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - va_end
    - g_logv
    - va_start
    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:448,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:450,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: g_warning
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - va_end
    - g_logv
    - va_start
    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:419,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:421,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: g_error
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - va_end
    - g_logv
    - va_start
    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:439,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:440,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: g_critical
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - va_end
    - g_logv
    - va_start
    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:457,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:458,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: g_info
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - va_end
    - g_logv
    - va_start
    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:466,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:468,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: g_debug
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - va_end
    - g_logv
    - va_start
    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: write
      Src: /src/glib/glib/gspawn-win32-helper.c:39,1
    - Dst: _exit
      Src: /src/glib/glib/gspawn-win32-helper.c:41,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:
    - _exit
    - write
    linkageType: ''
    returnType: void
    signature: "static void write_err_and_exit (gint fd,\t\t gintptr msg) "
  - 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: 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: 23
    BranchProfiles: []
    Callsites:
    - 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: 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: g_strfreev
      Src: /src/glib/glib/gspawn-win32-helper.c:310,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/gspawn-win32-helper.c:328,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32-helper.c:358,1
    - 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: _wchdir
      Src: /src/glib/glib/gspawn-win32-helper.c:279,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:316,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:320,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: write
      Src: /src/glib/glib/gspawn-win32-helper.c:413,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: g_strsplit
      Src: /src/glib/glib/gspawn-win32-helper.c:285,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/gspawn-win32-helper.c:341,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gspawn-win32-helper.c:346,1
    - Dst: g_hash_table_iter_replace
      Src: /src/glib/glib/gspawn-win32-helper.c:337,1
    - Dst: read
      Src: /src/glib/glib/gspawn-win32-helper.c:415,1
    - Dst: _fileno
      Src: /src/glib/glib/gspawn-win32-helper.c:251,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: 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: 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:409,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32-helper.c:418,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/gspawn-win32-helper.c:356,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn-win32-helper.c:201,1
    - Dst: atoi
      Src: /src/glib/glib/gspawn-win32-helper.c:246,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:234,1
    - Dst: atoi
      Src: /src/glib/glib/gspawn-win32-helper.c:269,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:307,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:337,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32-helper.c:412,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: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:346,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: open
      Src: /src/glib/glib/gspawn-win32-helper.c:228,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32-helper.c:302,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gspawn-win32-helper.c:345,1
    - Dst: _wspawnvp
      Src: /src/glib/glib/gspawn-win32-helper.c:391,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: g_assert
      Src: /src/glib/glib/gspawn-win32-helper.c:301,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/gspawn-win32-helper.c:342,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:366,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_ascii_strtoll
      Src: /src/glib/glib/gspawn-win32-helper.c:299,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-win32-helper.c:280,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32-helper.c:298,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gspawn-win32-helper.c:307,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/gspawn-win32-helper.c:327,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gspawn-win32-helper.c:348,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/gspawn-win32-helper.c:353,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:314,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:345,1
    - Dst: atoi
      Src: /src/glib/glib/gspawn-win32-helper.c:200,1
    - Dst: dup
      Src: /src/glib/glib/gspawn-win32-helper.c:254,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: open
      Src: /src/glib/glib/gspawn-win32-helper.c:241,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:247,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn-win32-helper.c:304,1
    - Dst: dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:402,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/gspawn-win32-helper.c:340,1
    - Dst: atoi
      Src: /src/glib/glib/gspawn-win32-helper.c:233,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:336,1
    - Dst: LocalFree
      Src: /src/glib/glib/gspawn-win32-helper.c:417,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:356,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-win32-helper.c:369,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:
    - g_hash_table_unref
    - _wspawnvp
    - g_hash_table_insert
    - g_hash_table_iter_next
    - protect_wargv
    - read
    - g_strfreev
    - strlen
    - write_err_and_exit
    - dup
    - GINT_TO_POINTER
    - g_hash_table_add
    - g_ascii_strtoll
    - GLIB_PRIVATE_CALL
    - close
    - g_strsplit
    - _wspawnv
    - open
    - atoi
    - CommandLineToArgvW
    - g_hash_table_new
    - g_hash_table_iter_init
    - dup2
    - _wchdir
    - MAX
    - GPOINTER_TO_INT
    - write
    - checked_dup2
    - g_assert
    - _fileno
    - g_new
    - GetCommandLineW
    - g_hash_table_iter_replace
    - g_utf16_to_utf8
    - g_hash_table_contains
    - LocalFree
    - _get_osfhandle
    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:901,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/gsequence.c:907,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:902,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:904,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/gsequence.c:906,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:909,1
    - Dst: g_sequence_move_range
      Src: /src/glib/glib/gsequence.c:912,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/gsequence.c:912,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/glib/gsequence.c:917,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/gsequence.c:919,1
    - Dst: node_insert_sorted
      Src: /src/glib/glib/gsequence.c:921,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:928,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - seq
    - cmp_func
    - cmp_data
    argTypes:
    - GSequence*
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 929
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 929
    functionName: g_sequence_sort_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_insert_sorted
    - g_sequence_free
    - g_sequence_new
    - g_sequence_get_begin_iter
    - check_seq_access
    - g_sequence_move_range
    - g_sequence_is_empty
    - g_sequence_get_end_iter
    - g_return_if_fail
    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:1154,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/gsequence.c:1163,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:1160,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:1156,1
    - Dst: node_find
      Src: /src/glib/glib/gsequence.c:1165,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:1168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - seq
    - data
    - iter_cmp
    - cmp_data
    argTypes:
    - GSequence*
    - gpointer
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1173
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1173
    functionName: g_sequence_lookup_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_free
    - g_sequence_new
    - g_sequence_append
    - check_seq_access
    - node_find
    - g_return_val_if_fail
    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: 1292
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1292
    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:1358,1
    - Dst: node_get_by_pos
      Src: /src/glib/glib/gsequence.c:1362,1
    - Dst: clamp_position
      Src: /src/glib/glib/gsequence.c:1360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - seq
    - pos
    argTypes:
    - GSequence*
    - gint
    constantsTouched: []
    func_position:
      end: 1363
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1363
    functionName: g_sequence_get_iter_at_pos
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_by_pos
    - g_return_val_if_fail
    - 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: 1594
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1594
    functionName: hash_uint32
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 hash_uint32 (guint32 key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NODE_RIGHT_CHILD
      Src: /src/glib/glib/gsequence.c:1705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1715
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1715
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1769,1
    - Dst: N_NODES
      Src: /src/glib/glib/gsequence.c:1771,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - node
    - pos
    argTypes:
    - GSequenceNode*
    - gint
    constantsTouched: []
    func_position:
      end: 1785
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1785
    functionName: node_get_by_pos
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - N_NODES
    - find_root
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_get_by_pos (GSequenceNode *node, gint pos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1831,1
    - Dst: iter_cmp
      Src: /src/glib/glib/gsequence.c:1843,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:1860,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - haystack
    - needle
    - end
    - iter_cmp
    - cmp_data
    argTypes:
    - GSequenceNode*
    - GSequenceNode*
    - GSequenceNode*
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1863
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1863
    functionName: node_find_closest
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_next
    - find_root
    - iter_cmp
    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: NODE_LEFT_CHILD
      Src: /src/glib/glib/gsequence.c:1730,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1740
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1740
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1796,1
    - Dst: iter_cmp
      Src: /src/glib/glib/gsequence.c:1806,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - haystack
    - needle
    - end
    - iter_cmp
    - cmp_data
    argTypes:
    - GSequenceNode*
    - GSequenceNode*
    - GSequenceNode*
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1819
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1819
    functionName: node_find
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - find_root
    - iter_cmp
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_find (GSequenceNode *haystack, GSequenceNode
      *needle, GSequenceNode *end, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1871
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1871
    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:1893,1
    - Dst: real_node_free
      Src: /src/glib/glib/gsequence.c:1895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - node
    - seq
    argTypes:
    - GSequenceNode*
    - GSequence*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1896
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_update_fields_deep
      Src: /src/glib/glib/gsequence.c:2048,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:2050,1
    - Dst: rotate_down
      Src: /src/glib/glib/gsequence.c:2053,1
    - Dst: node_rotate
      Src: /src/glib/glib/gsequence.c:2051,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:2050,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:2053,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - node
    - new
    argTypes:
    - GSequenceNode*
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 2054
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2054
    functionName: node_insert_before
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_update_fields_deep
    - node_rotate
    - get_priority
    - rotate_down
    linkageType: ''
    returnType: void
    signature: 'static void node_insert_before (GSequenceNode *node, GSequenceNode
      *new) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rotate_down
      Src: /src/glib/glib/gsequence.c:2059,1
    - Dst: node_update_fields_deep
      Src: /src/glib/glib/gsequence.c:2067,1
    - Dst: NODE_RIGHT_CHILD
      Src: /src/glib/glib/gsequence.c:2061,1
    - Dst: NODE_LEFT_CHILD
      Src: /src/glib/glib/gsequence.c:2063,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 2070
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2070
    functionName: node_unlink
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - NODE_LEFT_CHILD
    - NODE_RIGHT_CHILD
    - rotate_down
    - node_update_fields_deep
    linkageType: ''
    returnType: void
    signature: 'static void node_unlink (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:362,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/gsequence.c:365,1
    - Dst: g_sequence_foreach_range
      Src: /src/glib/glib/gsequence.c:367,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/gsequence.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - seq
    - func
    - user_data
    argTypes:
    - GSequence*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: g_sequence_foreach
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - check_seq_access
    - g_sequence_get_end_iter
    - g_sequence_foreach_range
    - g_sequence_get_begin_iter
    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:867,1
    - Dst: g_sequence_lookup_iter
      Src: /src/glib/glib/gsequence.c:874,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - seq
    - data
    - cmp_func
    - cmp_data
    argTypes:
    - GSequence*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 875
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 875
    functionName: g_sequence_lookup
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_lookup_iter
    - check_seq_access
    - g_return_val_if_fail
    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:1099,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/gsequence.c:1108,1
    - Dst: node_find_closest
      Src: /src/glib/glib/gsequence.c:1110,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:1105,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:1101,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:1113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - seq
    - data
    - iter_cmp
    - cmp_data
    argTypes:
    - GSequence*
    - gpointer
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1118
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1118
    functionName: g_sequence_search_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_free
    - g_sequence_new
    - g_sequence_append
    - check_seq_access
    - node_find_closest
    - g_return_val_if_fail
    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:1426,1
    - Dst: node_get_prev
      Src: /src/glib/glib/gsequence.c:1428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1429
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1429
    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:1463,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:1465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1466
    functionName: g_sequence_iter_next
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_next
    - g_return_val_if_fail
    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:1510,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:1512,1
    - Dst: node_get_by_pos
      Src: /src/glib/glib/gsequence.c:1521,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:1514,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/gsequence.c:1512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - iter
    - delta
    argTypes:
    - GSequenceIter*
    - gint
    constantsTouched: []
    func_position:
      end: 1522
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1522
    functionName: g_sequence_iter_move
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_by_pos
    - get_sequence
    - node_get_pos
    - g_sequence_get_length
    - g_return_val_if_fail
    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:1541,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1542,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/gsequence.c:1541,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/gsequence.c:1547,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/gsequence.c:1542,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/gsequence.c:1548,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:1561,1
    - Dst: g_sequence_move
      Src: /src/glib/glib/gsequence.c:1568,1
    - Dst: g_sequence_move
      Src: /src/glib/glib/gsequence.c:1569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1570
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1570
    functionName: g_sequence_swap
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_iter_get_position
    - g_sequence_move
    - node_get_next
    - g_sequence_iter_is_end
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_swap (GSequenceIter *a, GSequenceIter *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gsequence.c:176,1
    - Dst: g_warning
      Src: /src/glib/glib/gsequence.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - node1
    - node2
    - data
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    - gpointer
    constantsTouched: []
    func_position:
      end: 246
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 246
    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:467,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:469,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:472,1
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - seq
    - data
    argTypes:
    - GSequence*
    - gpointer
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: g_sequence_append
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_insert_before
    - check_seq_access
    - g_return_val_if_fail
    - node_new
    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:1213,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1214,1
    - Dst: is_end
      Src: /src/glib/glib/gsequence.c:1214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1217
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1600
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1600
    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: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1618
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1618
    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: find_root
      Src: /src/glib/glib/gsequence.c:1670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1676
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1676
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_get_last
      Src: /src/glib/glib/gsequence.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_uint32
      Src: /src/glib/glib/gsequence.c:1605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 1609
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1609
    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: g_slice_new0
      Src: /src/glib/glib/gsequence.c:1623,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gsequence.c:1653,1
    - Dst: make_priority
      Src: /src/glib/glib/gsequence.c:1658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1665
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1665
    functionName: node_new
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - GPOINTER_TO_UINT
    - make_priority
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_new (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1687
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1687
    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: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1190,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:1192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1198
    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:1307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 1310
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1310
    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:1382,1
    - Dst: is_end
      Src: /src/glib/glib/gsequence.c:1384,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1383,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1384,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:1389,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:1390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1391
    functionName: g_sequence_move
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_insert_before
    - is_end
    - node_unlink
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_move (GSequenceIter *src, GSequenceIter *dest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gsequence.c:267,1
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data_destroy
    argTypes:
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 277
    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:627,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:630,1
    - Dst: g_sequence_iter_compare
      Src: /src/glib/glib/gsequence.c:637,1
    - Dst: node_get_first
      Src: /src/glib/glib/gsequence.c:659,1
    - Dst: node_get_first
      Src: /src/glib/glib/gsequence.c:648,1
    - Dst: g_sequence_iter_compare
      Src: /src/glib/glib/gsequence.c:642,1
    - Dst: node_join
      Src: /src/glib/glib/gsequence.c:663,1
    - Dst: node_join
      Src: /src/glib/glib/gsequence.c:666,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:626,1
    - Dst: node_cut
      Src: /src/glib/glib/gsequence.c:650,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:616,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:619,1
    - Dst: node_cut
      Src: /src/glib/glib/gsequence.c:661,1
    - Dst: node_join
      Src: /src/glib/glib/gsequence.c:655,1
    - Dst: node_cut
      Src: /src/glib/glib/gsequence.c:652,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:615,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:618,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:621,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:622,1
    - Dst: g_sequence_iter_compare
      Src: /src/glib/glib/gsequence.c:643,1
    - Dst: node_free
      Src: /src/glib/glib/gsequence.c:670,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - dest
    - begin
    - end
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 672
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 672
    functionName: g_sequence_move_range
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_iter_compare
    - node_get_first
    - node_join
    - get_sequence
    - node_free
    - check_seq_access
    - node_cut
    - g_return_if_fail
    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:737,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:738,1
    - Dst: g_sequence_insert_sorted_iter
      Src: /src/glib/glib/gsequence.c:745,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - seq
    - data
    - cmp_func
    - cmp_data
    argTypes:
    - GSequence*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 746
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 746
    functionName: g_sequence_insert_sorted
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - check_seq_access
    - g_return_val_if_fail
    - g_sequence_insert_sorted_iter
    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:1028,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:1047,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1029,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:1031,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/gsequence.c:1050,1
    - Dst: node_insert_sorted
      Src: /src/glib/glib/gsequence.c:1052,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:1055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - seq
    - data
    - iter_cmp
    - cmp_data
    argTypes:
    - GSequence*
    - gpointer
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1060
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1060
    functionName: g_sequence_insert_sorted_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_insert_sorted
    - g_sequence_free
    - g_sequence_new
    - g_sequence_append
    - check_seq_access
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_insert_sorted_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:1325,1
    - Dst: node_get_first
      Src: /src/glib/glib/gsequence.c:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 1328
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1328
    functionName: g_sequence_get_begin_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - node_get_first
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_get_begin_iter (GSequence *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: N_NODES
      Src: /src/glib/glib/gsequence.c:1903,1
    - Dst: N_NODES
      Src: /src/glib/glib/gsequence.c:1904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1907
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1907
    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
      Src: /src/glib/glib/gsequence.c:1977,1
    - Dst: node_update_fields_deep
      Src: /src/glib/glib/gsequence.c:1979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1981
    functionName: node_update_fields_deep
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_update_fields_deep
    - node_update_fields
    linkageType: ''
    returnType: void
    signature: 'static void node_update_fields_deep (GSequenceNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/gsequence.c:1334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - seq
    - pos
    argTypes:
    - GSequence*
    - int
    constantsTouched: []
    func_position:
      end: 1340
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1340
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: NODE_RIGHT_CHILD
      Src: /src/glib/glib/gsequence.c:1754,1
    - Dst: N_NODES
      Src: /src/glib/glib/gsequence.c:1755,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1761
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1761
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gsequence.c:1914,1
    - Dst: g_assert
      Src: /src/glib/glib/gsequence.c:1932,1
    - Dst: NODE_LEFT_CHILD
      Src: /src/glib/glib/gsequence.c:1917,1
    - Dst: g_assert
      Src: /src/glib/glib/gsequence.c:1915,1
    - Dst: g_assert
      Src: /src/glib/glib/gsequence.c:1957,1
    - Dst: node_update_fields
      Src: /src/glib/glib/gsequence.c:1968,1
    - Dst: node_update_fields
      Src: /src/glib/glib/gsequence.c:1969,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1970
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:1989,1
    - Dst: node_rotate
      Src: /src/glib/glib/gsequence.c:1997,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:1999,1
    - Dst: node_rotate
      Src: /src/glib/glib/gsequence.c:1995,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:1990,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:2000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - node
    - priority
    argTypes:
    - GSequenceNode*
    - guint
    constantsTouched: []
    func_position:
      end: 2002
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 2002
    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_val_if_fail
      Src: /src/glib/glib/gsequence.c:494,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:501,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:496,1
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:498,1
    - Dst: node_get_first
      Src: /src/glib/glib/gsequence.c:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - seq
    - data
    argTypes:
    - GSequence*
    - gpointer
    constantsTouched: []
    func_position:
      end: 504
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 504
    functionName: g_sequence_prepend
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_first
    - check_seq_access
    - node_insert_before
    - g_return_val_if_fail
    - node_new
    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:582,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:583,1
    - Dst: g_sequence_move_range
      Src: /src/glib/glib/gsequence.c:587,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 588
    functionName: g_sequence_remove_range
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - get_sequence
    - g_sequence_move_range
    - g_return_if_fail
    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:700,1
    - Dst: g_sequence_sort_iter
      Src: /src/glib/glib/gsequence.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - seq
    - cmp_func
    - cmp_data
    argTypes:
    - GSequence*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 703
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 703
    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:957,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:958,1
    - Dst: seq_is_end
      Src: /src/glib/glib/gsequence.c:961,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:960,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:961,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:963,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:970,1
    - Dst: node_get_prev
      Src: /src/glib/glib/gsequence.c:971,1
    - Dst: iter_cmp
      Src: /src/glib/glib/gsequence.c:973,1
    - Dst: is_end
      Src: /src/glib/glib/gsequence.c:976,1
    - Dst: iter_cmp
      Src: /src/glib/glib/gsequence.c:976,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:984,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:981,1
    - Dst: node_insert_sorted
      Src: /src/glib/glib/gsequence.c:987,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:985,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:990,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - iter
    - iter_cmp
    - cmp_data
    argTypes:
    - GSequenceIter*
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 993
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 993
    functionName: g_sequence_sort_changed_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_insert_sorted
    - g_sequence_free
    - g_sequence_new
    - is_end
    - get_sequence
    - iter_cmp
    - node_unlink
    - node_get_prev
    - node_get_next
    - check_seq_access
    - node_insert_before
    - seq_is_end
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_sort_changed_iter (GSequenceIter *iter, GSequenceIterCompareFunc
      iter_cmp, gpointer cmp_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_rotate
      Src: /src/glib/glib/gsequence.c:2008,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:2016,1
    - Dst: rotate_down
      Src: /src/glib/glib/gsequence.c:2016,1
    - Dst: node_update_fields
      Src: /src/glib/glib/gsequence.c:2014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 2017
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2017
    functionName: node_cut
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_update_fields
    - get_priority
    - node_rotate
    - rotate_down
    linkageType: ''
    returnType: void
    signature: 'static void node_cut (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - seq
    - iter
    argTypes:
    - GSequence*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    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_return_if_fail
      Src: /src/glib/glib/gsequence.c:323,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:327,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:325,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:334,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:324,1
    - Dst: func
      Src: /src/glib/glib/gsequence.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - begin
    - end
    - func
    - user_data
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 342
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 342
    functionName: g_sequence_foreach_range
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_next
    - func
    - get_sequence
    - 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:429,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:434,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:433,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:432,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:430,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:436,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:437,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:439,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 448
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 448
    functionName: g_sequence_iter_compare
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - check_seq_access
    - g_return_val_if_fail
    - get_sequence
    - node_get_pos
    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:553,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:555,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:558,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:556,1
    - Dst: seq_is_end
      Src: /src/glib/glib/gsequence.c:556,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:560,1
    - Dst: node_free
      Src: /src/glib/glib/gsequence.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 562
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 562
    functionName: g_sequence_remove
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - get_sequence
    - node_unlink
    - node_free
    - check_seq_access
    - seq_is_end
    - g_return_if_fail
    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:822,1
    - Dst: g_sequence_search_iter
      Src: /src/glib/glib/gsequence.c:829,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - seq
    - data
    - cmp_func
    - cmp_data
    argTypes:
    - GSequence*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 830
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 830
    functionName: g_sequence_search
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_search_iter
    - check_seq_access
    - g_return_val_if_fail
    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:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1272
    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:1408,1
    - Dst: is_end
      Src: /src/glib/glib/gsequence.c:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1411
    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:1444,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1447
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1447
    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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 217
    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_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1483,1
    - Dst: node_get_prev
      Src: /src/glib/glib/gsequence.c:1485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1486
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1486
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: real_node_free
      Src: /src/glib/glib/gsequence.c:1879,1
    - Dst: real_node_free
      Src: /src/glib/glib/gsequence.c:1880,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gsequence.c:1885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - node
    - seq
    argTypes:
    - GSequenceNode*
    - GSequence*
    constantsTouched: []
    func_position:
      end: 1887
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1887
    functionName: real_node_free
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - real_node_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void real_node_free (GSequenceNode *node, GSequence *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:2023,1
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:2026,1
    - Dst: node_update_fields
      Src: /src/glib/glib/gsequence.c:2030,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:2032,1
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:2025,1
    - Dst: node_free
      Src: /src/glib/glib/gsequence.c:2034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - GSequenceNode*
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 2035
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2035
    functionName: node_join
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_unlink
    - node_free
    - node_update_fields
    - node_new
    - find_root
    linkageType: ''
    returnType: void
    signature: 'static void node_join (GSequenceNode *left, GSequenceNode *right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_find_closest
      Src: /src/glib/glib/gsequence.c:2081,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:2083,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:2085,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: 2086
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2086
    functionName: node_insert_sorted
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_insert_before
    - node_find_closest
    - node_unlink
    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_if_fail
      Src: /src/glib/glib/gsequence.c:292,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:294,1
    - Dst: g_free
      Src: /src/glib/glib/gsequence.c:298,1
    - Dst: node_free
      Src: /src/glib/glib/gsequence.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    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:393,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:395,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:395,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:394,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:395,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:397,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:398,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:400,1
    - Dst: node_get_by_pos
      Src: /src/glib/glib/gsequence.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: g_sequence_range_get_midpoint
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_by_pos
    - g_return_val_if_fail
    - get_sequence
    - node_get_pos
    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:524,1
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:529,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:531,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:527,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - iter
    - data
    argTypes:
    - GSequenceIter*
    - gpointer
    constantsTouched: []
    func_position:
      end: 534
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 534
    functionName: g_sequence_insert_before
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - get_sequence
    - check_seq_access
    - node_insert_before
    - g_return_val_if_fail
    - node_new
    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:775,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:777,1
    - Dst: seq_is_end
      Src: /src/glib/glib/gsequence.c:779,1
    - Dst: g_sequence_sort_changed_iter
      Src: /src/glib/glib/gsequence.c:785,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - iter
    - cmp_func
    - cmp_data
    argTypes:
    - GSequenceIter*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 786
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 786
    functionName: g_sequence_sort_changed
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - seq_is_end
    - get_sequence
    - 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:1236,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1239,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:1238,1
    - Dst: seq_is_end
      Src: /src/glib/glib/gsequence.c:1239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - iter
    - data
    argTypes:
    - GSequenceIter*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1254
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1254
    functionName: g_sequence_set
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - seq_is_end
    - get_sequence
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_set (GSequenceIter *iter, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_aligned_sized
      Src: /src/glib/glib/gmem.c:769,1
    - Dst: aligned_free
      Src: /src/glib/glib/gmem.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - alignment
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 773
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 773
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:158,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:163,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:163,1
    - Dst: calloc
      Src: /src/glib/glib/gmem.c:162,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:167,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:171,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - n_bytes
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: g_malloc0
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_error
    - calloc
    - TRACE
    - G_LIKELY
    - GLIB_MEM_ALLOC
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_malloc0 (gsize n_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:511,1
    - Dst: g_try_malloc0
      Src: /src/glib/glib/gmem.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - n_blocks
    - n_block_bytes
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: g_try_malloc0_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_try_malloc0
    - SIZE_OVERFLOWS
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_try_malloc0_n (gsize n_blocks,\t\t gsize n_block_bytes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 558
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 558
    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:125,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:130,1
    - Dst: malloc
      Src: /src/glib/glib/gmem.c:129,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:134,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:130,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:138,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - n_bytes
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: g_malloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_error
    - malloc
    - TRACE
    - G_LIKELY
    - GLIB_MEM_ALLOC
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_malloc (gsize n_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:376,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:384,1
    - Dst: free
      Src: /src/glib/glib/gmem.c:381,1
    - Dst: realloc
      Src: /src/glib/glib/gmem.c:377,1
    - Dst: GLIB_MEM_REALLOC
      Src: /src/glib/glib/gmem.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mem
    - n_bytes
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: g_try_realloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - realloc
    - free
    - GLIB_MEM_REALLOC
    - TRACE
    - G_LIKELY
    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:490,1
    - Dst: g_try_malloc
      Src: /src/glib/glib/gmem.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - n_blocks
    - n_block_bytes
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 494
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:534,1
    - Dst: g_try_realloc
      Src: /src/glib/glib/gmem.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - n_blocks
    - n_block_bytes
    argTypes:
    - gpointer
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: g_try_realloc_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - SIZE_OVERFLOWS
    - g_try_realloc
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_try_realloc_n (gpointer mem,\t\t gsize n_blocks,\t\t gsize
      n_block_bytes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_sized
      Src: /src/glib/glib/gmem.c:265,1
    - Dst: free
      Src: /src/glib/glib/gmem.c:267,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:269,1
    - Dst: GLIB_MEM_FREE
      Src: /src/glib/glib/gmem.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: g_free_sized
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - GLIB_MEM_FREE
    - free_sized
    - TRACE
    - free
    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:324,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:329,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:329,1
    - Dst: malloc
      Src: /src/glib/glib/gmem.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n_bytes
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 332
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 332
    functionName: g_try_malloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - TRACE
    - malloc
    - G_LIKELY
    - GLIB_MEM_ALLOC
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_try_malloc (gsize n_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:349,1
    - Dst: calloc
      Src: /src/glib/glib/gmem.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - n_bytes
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    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:410,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:412,1
    - Dst: g_malloc
      Src: /src/glib/glib/gmem.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - n_blocks
    - n_block_bytes
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 417
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 417
    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:466,1
    - Dst: g_realloc
      Src: /src/glib/glib/gmem.c:472,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mem
    - n_blocks
    - n_block_bytes
    argTypes:
    - gpointer
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: g_realloc_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_error
    - g_realloc
    - SIZE_OVERFLOWS
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_realloc_n (gpointer mem,\t gsize n_blocks,\t gsize n_block_bytes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gmem.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vtable
    argTypes:
    - GMemVTable*
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmem.c:634,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:642,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:636,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmem.c:640,1
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:646,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:648,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmem.c:654,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:656,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:656,1
    - Dst: posix_memalign
      Src: /src/glib/glib/gmem.c:671,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:694,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:694,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:698,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:680,1
    - Dst: aligned_alloc
      Src: /src/glib/glib/gmem.c:687,1
    - Dst: memalign
      Src: /src/glib/glib/gmem.c:689,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - n_blocks
    - n_block_bytes
    - alignment
    argTypes:
    - gsize
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 702
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 702
    functionName: g_aligned_alloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - memalign
    - g_error
    - posix_memalign
    - aligned_alloc
    - SIZE_OVERFLOWS
    - TRACE
    - GLIB_MEM_ALLOC
    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:237,1
    - Dst: GLIB_MEM_FREE
      Src: /src/glib/glib/gmem.c:238,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: (g_free)
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - GLIB_MEM_FREE
    - TRACE
    - free
    linkageType: ''
    returnType: void
    signature: 'void (g_free) (gpointer mem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/glib/glib/gmem.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pp
    - destroy
    argTypes:
    - gpointer*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 308
    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:437,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:439,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gmem.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - n_blocks
    - n_block_bytes
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 444
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 444
    functionName: g_malloc0_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_malloc0
    - g_error
    - SIZE_OVERFLOWS
    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:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    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:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 743
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 743
    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:198,1
    - Dst: GLIB_MEM_REALLOC
      Src: /src/glib/glib/gmem.c:201,1
    - Dst: realloc
      Src: /src/glib/glib/gmem.c:200,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:201,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:205,1
    - Dst: free
      Src: /src/glib/glib/gmem.c:209,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:211,1
    - Dst: GLIB_MEM_REALLOC
      Src: /src/glib/glib/gmem.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - n_bytes
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 214
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 214
    functionName: g_realloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - realloc
    - free
    - g_error
    - GLIB_MEM_REALLOC
    - TRACE
    - G_LIKELY
    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:723,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:725,1
    - Dst: memset
      Src: /src/glib/glib/gmem.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - n_blocks
    - n_block_bytes
    - alignment
    argTypes:
    - gsize
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 729
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 729
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/ggettext.c:63,1
    - Dst: strlen
      Src: /src/glib/glib/ggettext.c:71,1
    - Dst: g_free
      Src: /src/glib/glib/ggettext.c:81,1
    - Dst: g_win32_locale_filename_from_utf8
      Src: /src/glib/glib/ggettext.c:79,1
    - Dst: g_build_filename
      Src: /src/glib/glib/ggettext.c:77,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: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - strlen
    - g_strdup
    - g_free
    - g_build_filename
    - g_win32_get_package_installation_directory_of_module
    - g_win32_locale_filename_from_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_glib_get_locale_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/ggettext.c:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - msgid
    - msgval
    argTypes:
    - gchar*
    - gchar*
    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: 1
    argNames:
    - str
    argTypes:
    - gchar*
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/ggettext.c:277,1
    - Dst: strlen
      Src: /src/glib/glib/ggettext.c:278,1
    - Dst: memcpy
      Src: /src/glib/glib/ggettext.c:286,1
    - Dst: g_alloca
      Src: /src/glib/glib/ggettext.c:282,1
    - Dst: memcpy
      Src: /src/glib/glib/ggettext.c:284,1
    - Dst: g_dgettext
      Src: /src/glib/glib/ggettext.c:288,1
    - Dst: g_dgettext
      Src: /src/glib/glib/ggettext.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - domain
    - msgctxt
    - msgid
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 301
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 301
    functionName: g_dpgettext2
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_dgettext
    - g_alloca
    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:400,1
    - Dst: _g_dgettext_should_translate
      Src: /src/glib/glib/ggettext.c:400,1
    - Dst: dgettext
      Src: /src/glib/glib/ggettext.c:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - domain
    - msgid
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: g_dgettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - _g_dgettext_should_translate
    - G_UNLIKELY
    - dgettext
    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:312,1
    - Dst: textdomain
      Src: /src/glib/glib/ggettext.c:316,1
    - Dst: gettext
      Src: /src/glib/glib/ggettext.c:317,1
    - Dst: setlocale
      Src: /src/glib/glib/ggettext.c:319,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/ggettext.c:312,1
    - Dst: g_win32_getlocale
      Src: /src/glib/glib/ggettext.c:321,1
    - Dst: strcmp
      Src: /src/glib/glib/ggettext.c:338,1
    - Dst: strncmp
      Src: /src/glib/glib/ggettext.c:340,1
    - Dst: strcmp
      Src: /src/glib/glib/ggettext.c:341,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/ggettext.c:344,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 351
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 351
    functionName: _g_dgettext_should_translate
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - setlocale
    - textdomain
    - G_UNLIKELY
    - g_win32_getlocale
    - g_once_init_enter
    - gettext
    - g_once_init_leave
    - strcmp
    - strncmp
    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: g_free
      Src: /src/glib/glib/ggettext.c:106,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/glib/ggettext.c:104,1
    - Dst: bindtextdomain
      Src: /src/glib/glib/ggettext.c:105,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:
    - _glib_get_locale_dir
    - g_free
    - g_once_init_enter
    - bindtextdomain
    - g_once_init_leave
    - bind_textdomain_codeset
    linkageType: ''
    returnType: void
    signature: 'static void ensure_gettext_initialized (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: 2
    argNames:
    - msgctxtid
    - msgidoffset
    argTypes:
    - gchar*
    - gsize
    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: strcpy
      Src: /src/glib/glib/ggettext.c:234,1
    - Dst: strchr
      Src: /src/glib/glib/ggettext.c:226,1
    - Dst: g_alloca
      Src: /src/glib/glib/ggettext.c:233,1
    - Dst: strlen
      Src: /src/glib/glib/ggettext.c:233,1
    - Dst: g_dgettext
      Src: /src/glib/glib/ggettext.c:237,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - domain
    - msgctxtid
    - msgidoffset
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 245
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 245
    functionName: g_dpgettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - strlen
    - g_dgettext
    - strcpy
    - g_alloca
    - strchr
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dpgettext (const gchar *domain, const gchar *msgctxtid,
      gsize msgidoffset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/ggettext.c:427,1
    - Dst: dcgettext
      Src: /src/glib/glib/ggettext.c:430,1
    - Dst: _g_dgettext_should_translate
      Src: /src/glib/glib/ggettext.c:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - domain
    - msgid
    - category
    argTypes:
    - gchar*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: g_dcgettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - _g_dgettext_should_translate
    - dcgettext
    - 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:458,1
    - Dst: _g_dgettext_should_translate
      Src: /src/glib/glib/ggettext.c:458,1
    - Dst: dngettext
      Src: /src/glib/glib/ggettext.c:461,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - domain
    - msgid
    - msgid_plural
    - n
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gulong
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: g_dngettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - _g_dgettext_should_translate
    - G_UNLIKELY
    - dngettext
    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_src_char
      Src: /src/glib/glib/gtranslit.c:74,1
    - Dst: get_length
      Src: /src/glib/glib/gtranslit.c:81,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:
    - get_src_char
    - G_STATIC_ASSERT
    - get_length
    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: 4
    argNames:
    - chain
    - key
    - result_len
    - key_consumed
    argTypes:
    - guint8*
    - gunichar*
    - gint*
    - gint*
    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:225,1
    - Dst: strcspn
      Src: /src/glib/glib/gtranslit.c:218,1
    - Dst: strcspn
      Src: /src/glib/glib/gtranslit.c:208,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:
    - memcpy
    - lookup_item_id_for_one_locale
    - 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:112,1
    - Dst: get_ascii_item
      Src: /src/glib/glib/gtranslit.c:115,1
    - Dst: get_length
      Src: /src/glib/glib/gtranslit.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 5
    argNames:
    - mapping
    - mapping_size
    - key
    - result_len
    - key_consumed
    argTypes:
    - struct mapping_entry*
    - gint
    - gunichar*
    - gint*
    - gint*
    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:
    - bsearch
    - get_length
    - get_ascii_item
    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: 4
    argNames:
    - item_id
    - key
    - result_len
    - key_consumed
    argTypes:
    - guint
    - gunichar*
    - gint*
    - gint*
    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: 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_str_is_ascii
      Src: /src/glib/glib/gtranslit.c:339,1
    - Dst: lookup_item_id_for_locale
      Src: /src/glib/glib/gtranslit.c:343,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:391,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtranslit.c:396,1
    - Dst: lookup_in_item
      Src: /src/glib/glib/gtranslit.c:377,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtranslit.c:402,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gtranslit.c:399,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtranslit.c:408,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtranslit.c:405,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gtranslit.c:373,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - str
    - from_locale
    argTypes:
    - gchar*
    - gchar*
    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:
    - strlen
    - g_strdup
    - g_string_sized_new
    - G_STATIC_ASSERT
    - lookup_item_id_for_locale
    - g_string_append_c
    - lookup_in_item
    - g_utf8_get_char
    - g_str_is_ascii
    - g_string_append_len
    - g_string_free
    - g_return_val_if_fail
    - get_default_item_id
    - g_utf8_next_char
    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:195,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ch
    - compat
    argTypes:
    - gunichar
    - gboolean
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 232
    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: 310
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 310
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: combine_hangul
      Src: /src/glib/glib/gunidecomp.c:327,1
    - Dst: COMPOSE_INDEX
      Src: /src/glib/glib/gunidecomp.c:343,1
    - Dst: COMPOSE_INDEX
      Src: /src/glib/glib/gunidecomp.c:330,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - gunichar
    - gunichar
    - gunichar*
    constantsTouched: []
    func_position:
      end: 369
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 369
    functionName: combine
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - combine_hangul
    - COMPOSE_INDEX
    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:573,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gunidecomp.c:576,1
    - Dst: g_ucs4_to_utf8
      Src: /src/glib/glib/gunidecomp.c:578,1
    - Dst: g_free
      Src: /src/glib/glib/gunidecomp.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - str
    - len
    - mode
    argTypes:
    - gchar*
    - gssize
    - GNormalizeMode
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: g_utf8_normalize
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - g_ucs4_to_utf8
    - g_free
    - _g_utf8_normalize_wc
    - G_LIKELY
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_normalize (const gchar *str,\t\t gssize len,\t\t GNormalizeMode
      mode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: combine
      Src: /src/glib/glib/gunidecomp.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - ch
    argTypes:
    - gunichar
    - gunichar
    - gunichar*
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 725
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gunidecomp.c:435,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:442,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:461,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:515,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gunidecomp.c:401,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:410,1
    - Dst: find_decomposition
      Src: /src/glib/glib/gunidecomp.c:424,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:393,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gunidecomp.c:407,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gunidecomp.c:412,1
    - Dst: decompose_hangul
      Src: /src/glib/glib/gunidecomp.c:419,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:500,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:469,1
    - Dst: g_unicode_canonical_ordering
      Src: /src/glib/glib/gunidecomp.c:473,1
    - Dst: find_decomposition
      Src: /src/glib/glib/gunidecomp.c:455,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gunidecomp.c:427,1
    - Dst: decompose_hangul
      Src: /src/glib/glib/gunidecomp.c:450,1
    - Dst: g_unicode_canonical_ordering
      Src: /src/glib/glib/gunidecomp.c:483,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:478,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:460,1
    - Dst: combine
      Src: /src/glib/glib/gunidecomp.c:504,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 128
    argCount: 3
    argNames:
    - str
    - max_len
    - mode
    argTypes:
    - gchar*
    - gssize
    - GNormalizeMode
    constantsTouched: []
    func_position:
      end: 530
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 530
    functionName: _g_utf8_normalize_wc
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - combine
    - g_unicode_canonical_ordering
    - g_new
    - COMBINING_CLASS
    - g_utf8_get_char
    - g_utf8_strlen
    - decompose_hangul
    - find_decomposition
    - g_utf8_next_char
    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: 612
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 612
    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:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - uc
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    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:258,1
    - Dst: find_decomposition
      Src: /src/glib/glib/gunidecomp.c:262,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunidecomp.c:259,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gunidecomp.c:267,1
    - Dst: decompose_hangul
      Src: /src/glib/glib/gunidecomp.c:260,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunidecomp.c:268,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:270,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:271,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunidecomp.c:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - ch
    - result_len
    argTypes:
    - gunichar
    - gsize*
    constantsTouched: []
    func_position:
      end: 282
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 282
    functionName: g_unicode_canonical_decomposition
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - g_utf8_get_char
    - g_utf8_strlen
    - find_decomposition
    - decompose_hangul
    - g_malloc
    - g_utf8_next_char
    linkageType: ''
    returnType: gunichar*
    signature: "gunichar *g_unicode_canonical_decomposition (gunichar ch,\t\t\t\t
      gsize *result_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: 187
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 187
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:134,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:137,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - gunichar*
    - gsize
    constantsTouched: []
    func_position:
      end: 159
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 159
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gunidecomp.c:654,1
    - Dst: decompose_hangul_step
      Src: /src/glib/glib/gunidecomp.c:656,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - ch
    - a
    - b
    argTypes:
    - gunichar
    - gunichar*
    - gunichar*
    constantsTouched: []
    func_position:
      end: 686
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 686
    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:772,1
    - Dst: find_decomposition
      Src: /src/glib/glib/gunidecomp.c:778,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:786,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:785,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gunidecomp.c:783,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - ch
    - compat
    - result
    - result_len
    argTypes:
    - gunichar
    - gboolean
    - gunichar*
    - gsize
    constantsTouched: []
    func_position:
      end: 795
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 795
    functionName: g_unichar_fully_decompose
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - g_utf8_get_char
    - g_utf8_strlen
    - find_decomposition
    - decompose_hangul
    - g_utf8_next_char
    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: 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: 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: 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:520,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:521,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:531,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_type_info_query
    - g_variant_serialised_is_normal
    - g_variant_type_info_element
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean gvs_fixed_sized_array_is_normal (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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant-serialiser.c:1381,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant-serialiser.c:1391,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1398,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant-serialiser.c:1386,1
    - Dst: g_variant_type_info_query_depth
      Src: /src/glib/glib/gvariant-serialiser.c:1400,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-serialiser.c:1406,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant-serialiser.c:1412,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 1418
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1418
    functionName: gvs_variant_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query_depth
    - g_variant_type_info_query
    - g_variant_type_string_scan
    - g_variant_type_is_definite
    - 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1684,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvariant-serialiser.c:1709,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1684,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1692,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/gvariant-serialiser.c:1710,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvariant-serialiser.c:1718,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gvariant-serialiser.c:1719,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvariant-serialiser.c:1727,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/gvariant-serialiser.c:1728,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1733,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/gvariant-serialiser.c:1744,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/gvariant-serialiser.c:1749,1
    - Dst: g_variant_serialised_byteswap
      Src: /src/glib/glib/gvariant-serialiser.c:1750,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-serialiser.c:1751,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - serialised
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1754
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1754
    functionName: g_variant_serialised_byteswap
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_variant_serialised_get_child
    - GUINT64_SWAP_LE_BE
    - g_assert
    - GUINT32_SWAP_LE_BE
    - g_assert_not_reached
    - g_variant_serialised_check
    - g_variant_type_info_query
    - GUINT16_SWAP_LE_BE
    - g_variant_type_info_unref
    - g_variant_serialised_byteswap
    - g_variant_serialised_n_children
    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: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_ref
    - g_variant_type_info_element
    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_ref
      Src: /src/glib/glib/gvariant-serialiser.c:475,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:473,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_query
    - g_variant_type_info_ref
    - g_variant_type_info_element
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'static GVariantSerialised gvs_fixed_sized_array_get_child (GVariantSerialised
      value, gsize index_) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:1429,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/gvariant-serialiser.c:1430,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-serialiser.c:1432,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: 1433
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1433
    functionName: gvs_variant_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - strlen
    - gvs_filler
    - 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: 18
    BranchProfiles: []
    Callsites:
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:1228,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/gvariant-serialiser.c:1241,1
    - Dst: g_variant_type_info_n_members
      Src: /src/glib/glib/gvariant-serialiser.c:1229,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:1275,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1245,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1279,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:1290,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1304,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1308,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1309,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1323,1
    - Dst: gvs_calculate_total_size
      Src: /src/glib/glib/gvariant-serialiser.c:1336,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1340
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1340
    functionName: gvs_tuple_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_get_offset_size
    - g_variant_type_info_member_info
    - g_variant_type_info_n_members
    - g_assert
    - gvs_read_unaligned_le
    - g_assert_not_reached
    - g_variant_type_info_query
    - g_variant_serialised_is_normal
    - gvs_calculate_total_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean gvs_tuple_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_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:332,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:327,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:840,1
    - Dst: gvs_calculate_total_size
      Src: /src/glib/glib/gvariant-serialiser.c:852,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:848,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: 853
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 853
    functionName: gvs_variable_sized_array_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query
    - gvs_filler
    - gvs_calculate_total_size
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1139,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:1165,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1155,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1148,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/gvariant-serialiser.c:1154,1
    - Dst: gvs_calculate_total_size
      Src: /src/glib/glib/gvariant-serialiser.c:1170,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: 1171
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1171
    functionName: gvs_tuple_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_filler
    - g_variant_type_info_member_info
    - g_assert
    - g_variant_type_info_query
    - gvs_calculate_total_size
    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:1446,1
    - Dst: memcpy
      Src: /src/glib/glib/gvariant-serialiser.c:1449,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/gvariant-serialiser.c:1447,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-serialiser.c:1449,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: 1450
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1450
    functionName: gvs_variant_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - strlen
    - gvs_filler
    - memcpy
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1580,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/gvariant-serialiser.c:1582,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1580,1
    - Dst: _get_child
      Src: /src/glib/glib/gvariant-serialiser.c:1586,1
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1584,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1587,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1588,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1588,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1592,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant-serialiser.c:1595,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/gvariant-serialiser.c:1597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - serialised
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 1598
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1598
    functionName: g_variant_serialised_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_error
    - g_assert_not_reached
    - g_variant_serialised_check
    - DISPATCH_CASES
    - g_variant_serialised_n_children
    - _get_child
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'GVariantSerialised g_variant_serialised_get_child (GVariantSerialised
      serialised, gsize index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:867,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:881,1
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:868,1
    - Dst: gvs_write_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:884,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: 887
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 887
    functionName: gvs_variable_sized_array_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query
    - gvs_get_offset_size
    - gvs_filler
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:1183,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1193,1
    - Dst: gvs_write_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:1205,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:1199,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/gvariant-serialiser.c:1192,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: 1212
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1212
    functionName: gvs_tuple_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_get_offset_size
    - g_variant_type_info_member_info
    - gvs_filler
    - g_variant_type_info_query
    - 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:1459,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-serialiser.c:1466,1
    - Dst: g_variant_type_info_query_depth
      Src: /src/glib/glib/gvariant-serialiser.c:1460,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:1464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1469
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1469
    functionName: gvs_variant_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_variant_get_child
    - g_variant_type_info_query_depth
    - g_variant_type_info_unref
    - g_variant_serialised_is_normal
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean gvs_variant_is_normal (GVariantSerialised value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1543,1
    - Dst: _n_children
      Src: /src/glib/glib/gvariant-serialiser.c:1547,1
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1545,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1550,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - serialised
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1551
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1551
    functionName: g_variant_serialised_n_children
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - _n_children
    - g_assert
    - g_assert_not_reached
    - g_variant_serialised_check
    - DISPATCH_CASES
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_serialised_n_children (GVariantSerialised serialised) '
  - 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1776,1
    - Dst: g_variant_serialiser_is_object_path
      Src: /src/glib/glib/gvariant-serialiser.c:1796,1
    - Dst: g_variant_type_info_get_type_char
      Src: /src/glib/glib/gvariant-serialiser.c:1786,1
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/gvariant-serialiser.c:1792,1
    - Dst: _is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:1778,1
    - Dst: g_variant_serialiser_is_signature
      Src: /src/glib/glib/gvariant-serialiser.c:1800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - serialised
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1810
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1810
    functionName: g_variant_serialised_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - _is_normal
    - g_variant_serialiser_is_string
    - g_variant_serialiser_is_object_path
    - g_variant_serialiser_is_signature
    - g_variant_type_info_get_type_char
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/gvariant-serialiser.c:1917,1
    - Dst: strspn
      Src: /src/glib/glib/gvariant-serialiser.c:1921,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant-serialiser.c:1927,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1931
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1931
    functionName: g_variant_serialiser_is_signature
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - strspn
    - g_variant_type_string_scan
    - 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:503,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:510,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:504,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_query
    - gvs_filler
    - g_variant_type_info_element
    linkageType: ''
    returnType: void
    signature: 'static void gvs_fixed_sized_array_serialise (GVariantSerialised value,
      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:984,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1006,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:988,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:1012,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: 1023
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1023
    functionName: gvs_tuple_get_member_bounds
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query
    - g_variant_type_info_member_info
    - 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: []
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: gvs_variable_sized_array_get_frame_offsets
      Src: /src/glib/glib/gvariant-serialiser.c:897,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:914,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:905,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:933,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:906,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:939,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 946
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 946
    functionName: gvs_variable_sized_array_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_element
    - gvs_variable_sized_array_get_frame_offsets
    - g_assert
    - gvs_read_unaligned_le
    - g_variant_type_info_query
    - g_variant_serialised_is_normal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean gvs_variable_sized_array_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_ref
    - g_variant_type_info_element
    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_n_members
      Src: /src/glib/glib/gvariant-serialiser.c:1028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1029
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1029
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1660,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1666,1
    - Dst: _needed_size
      Src: /src/glib/glib/gvariant-serialiser.c:1662,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: 1667
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1667
    functionName: g_variant_serialiser_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - DISPATCH_CASES
    - _needed_size
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_serialiser_needed_size (GVariantTypeInfo *type_info,
      GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/gvariant-serialiser.c:1863,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gvariant-serialiser.c:1874,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1896
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1896
    functionName: g_variant_serialiser_is_object_path
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_ascii_isalnum
    - g_variant_serialiser_is_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_serialiser_is_object_path (gconstpointer data,
      gsize size) '
  - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:683,1
    - Dst: gvs_calculate_total_size
      Src: /src/glib/glib/gvariant-serialiser.c:699,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:684,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_get_offset_size
    - gvs_read_unaligned_le
    - gvs_calculate_total_size
    linkageType: ''
    returnType: struct Offsets
    signature: 'static struct Offsets gvs_variable_sized_array_get_frame_offsets (GVariantSerialised
      value) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gvs_variable_sized_array_get_frame_offsets
      Src: /src/glib/glib/gvariant-serialiser.c:748,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:753,1
    - Dst: find_unordered_guint16
      Src: /src/glib/glib/gvariant-serialiser.c:777,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/gvariant-serialiser.c:754,1
    - Dst: find_unordered_guint8
      Src: /src/glib/glib/gvariant-serialiser.c:771,1
    - Dst: find_unordered_guint32
      Src: /src/glib/glib/gvariant-serialiser.c:783,1
    - Dst: find_unordered_guint64
      Src: /src/glib/glib/gvariant-serialiser.c:789,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:795,1
    - Dst: gvs_offsets_get_offset_n
      Src: /src/glib/glib/gvariant-serialiser.c:811,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:813,1
    - Dst: gvs_offsets_get_offset_n
      Src: /src/glib/glib/gvariant-serialiser.c:819,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 828
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 828
    functionName: gvs_variable_sized_array_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - find_unordered_guint16
    - g_variant_type_info_element
    - gvs_variable_sized_array_get_frame_offsets
    - find_unordered_guint32
    - g_assert_not_reached
    - gvs_offsets_get_offset_n
    - g_variant_type_info_query
    - find_unordered_guint64
    - g_variant_type_info_ref
    - find_unordered_guint8
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'static GVariantSerialised gvs_variable_sized_array_get_child (GVariantSerialised
      value, gsize index_) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/gvariant-serialiser.c:1040,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/gvariant-serialiser.c:1041,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1049,1
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:1043,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1060,1
    - Dst: gvs_tuple_get_member_bounds
      Src: /src/glib/glib/gvariant-serialiser.c:1080,1
    - Dst: gvs_tuple_get_member_bounds
      Src: /src/glib/glib/gvariant-serialiser.c:1086,1
    - Dst: gvs_tuple_get_member_bounds
      Src: /src/glib/glib/gvariant-serialiser.c:1116,1
    - Dst: gvs_tuple_get_member_bounds
      Src: /src/glib/glib/gvariant-serialiser.c:1117,1
    - Dst: g_variant_type_info_n_members
      Src: /src/glib/glib/gvariant-serialiser.c:1117,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 1126
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1126
    functionName: gvs_tuple_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_get_offset_size
    - g_variant_type_info_member_info
    - g_variant_type_info_n_members
    - g_assert
    - g_variant_type_info_query
    - gvs_tuple_get_member_bounds
    - g_variant_type_info_ref
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'static GVariantSerialised gvs_tuple_get_child (GVariantSerialised
      value, gsize index_) '
  - 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: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1629,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1629,1
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1631,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1638,1
    - Dst: _serialise
      Src: /src/glib/glib/gvariant-serialiser.c:1633,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: 1639
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1639
    functionName: g_variant_serialiser_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_not_reached
    - g_variant_serialised_check
    - _serialise
    - DISPATCH_CASES
    linkageType: ''
    returnType: void
    signature: 'void g_variant_serialiser_serialise (GVariantSerialised serialised,
      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:1841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1844
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1844
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gatomic.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    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: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/gatomic.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - gint*
    - gint
    - gint
    - gint*
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    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: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:902,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - value
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 905
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 905
    functionName: (g_atomic_int_set)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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:1136,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 1142
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1142
    functionName: (g_atomic_pointer_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: gsize
    signature: 'gsize (g_atomic_pointer_and) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1166,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 1172
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1172
    functionName: (g_atomic_pointer_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: gsize
    signature: 'gsize (g_atomic_pointer_xor) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/glib/glib/gatomic.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 672
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 672
    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:910,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: (g_atomic_int_inc)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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:985,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 991
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 991
    functionName: (g_atomic_int_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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:1151,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 1157
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1157
    functionName: (g_atomic_pointer_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: gsize
    signature: 'gsize (g_atomic_pointer_or) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 1194
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1194
    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: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1106,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1112
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1112
    functionName: (g_atomic_pointer_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_pointer_exchange) (void *atomic, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gatomic.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - gint*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    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:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    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: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gatomic.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    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_pointer_get
      Src: /src/glib/glib/gatomic.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    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:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - void*
    - gpointer
    - gpointer
    - void*
    constantsTouched: []
    func_position:
      end: 498
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 498
    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:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gssize
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: (g_atomic_pointer_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_add
    linkageType: ''
    returnType: gssize
    signature: 'gssize (g_atomic_pointer_add) (volatile void *atomic, gssize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_or
      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_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_or
    linkageType: ''
    returnType: gsize
    signature: 'gsize (g_atomic_pointer_or) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_xor
      Src: /src/glib/glib/gatomic.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: (g_atomic_pointer_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_xor
    linkageType: ''
    returnType: gsize
    signature: 'gsize (g_atomic_pointer_xor) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/glib/glib/gatomic.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 707
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 707
    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:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 820
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 820
    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: InterlockedCompareExchange
      Src: /src/glib/glib/gatomic.c:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 687
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 687
    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:712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 713
    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: InterlockedExchangeAdd64
      Src: /src/glib/glib/gatomic.c:827,1
    - Dst: InterlockedExchangeAdd
      Src: /src/glib/glib/gatomic.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gssize
    constantsTouched: []
    func_position:
      end: 831
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 831
    functionName: (g_atomic_pointer_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedExchangeAdd
    - InterlockedExchangeAdd64
    linkageType: ''
    returnType: gssize
    signature: 'gssize (g_atomic_pointer_add) (volatile void *atomic, gssize val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:934,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:939,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - gint*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 942
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 942
    functionName: (g_atomic_int_compare_and_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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:971,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 977
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 977
    functionName: (g_atomic_int_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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:999,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 1005
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1005
    functionName: (g_atomic_int_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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:1027,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 1033
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1033
    functionName: (g_atomic_int_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_xor) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/gatomic.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 386
    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_compare_and_exchange
      Src: /src/glib/glib/gatomic.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - void*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 463
    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:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 523
    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:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 576
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 576
    functionName: (g_atomic_pointer_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_and
    linkageType: ''
    returnType: gsize
    signature: 'gsize (g_atomic_pointer_and) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/glib/glib/gatomic.c:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 657
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 657
    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:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1013,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 1019
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1019
    functionName: (g_atomic_int_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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:920,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 925
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 925
    functionName: (g_atomic_int_dec_and_test)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_dec_and_test) (volatile gint *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gatomic.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    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_or
      Src: /src/glib/glib/gatomic.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    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: InterlockedDecrement
      Src: /src/glib/glib/gatomic.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 719
    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:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - gint*
    - gint
    - gint
    - gint*
    constantsTouched: []
    func_position:
      end: 737
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 737
    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: InterlockedExchangeAdd
      Src: /src/glib/glib/gatomic.c:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 751
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 751
    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: InterlockedOr
      Src: /src/glib/glib/gatomic.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 765
    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: MemoryBarrier
      Src: /src/glib/glib/gatomic.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 782
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 782
    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: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1042,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1047
    functionName: (g_atomic_pointer_get)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_pointer_get) (const volatile void *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/glib/glib/gatomic.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - gint*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 727
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 727
    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: InterlockedExchange
      Src: /src/glib/glib/gatomic.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 744
    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:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 758
    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:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 772
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 772
    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:791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 792
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 792
    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:860,1
    - Dst: InterlockedXor
      Src: /src/glib/glib/gatomic.c:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 864
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 864
    functionName: (g_atomic_pointer_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedXor64
    - InterlockedXor
    linkageType: ''
    returnType: gsize
    signature: 'gsize (g_atomic_pointer_xor) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1055,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1058
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1058
    functionName: (g_atomic_pointer_set)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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:1121,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gssize
    constantsTouched: []
    func_position:
      end: 1127
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1127
    functionName: (g_atomic_pointer_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: gssize
    signature: 'gssize (g_atomic_pointer_add) (volatile void *atomic, gssize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      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_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_and
      Src: /src/glib/glib/gatomic.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    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: g_atomic_int_add
      Src: /src/glib/glib/gatomic.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    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:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 699
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 699
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchangePointer
      Src: /src/glib/glib/gatomic.c:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - void*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 800
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 800
    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:838,1
    - Dst: InterlockedAnd
      Src: /src/glib/glib/gatomic.c:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 842
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 842
    functionName: (g_atomic_pointer_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedAnd64
    - InterlockedAnd
    linkageType: ''
    returnType: gsize
    signature: 'gsize (g_atomic_pointer_and) (volatile void *atomic, gsize val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1068,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1073,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - void*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1076
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1076
    functionName: (g_atomic_pointer_compare_and_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_pointer_compare_and_exchange) (volatile void *atomic,
      gpointer oldval, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchangePointer
      Src: /src/glib/glib/gatomic.c:810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - void*
    - gpointer
    - gpointer
    - void*
    constantsTouched: []
    func_position:
      end: 813
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 813
    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:849,1
    - Dst: InterlockedOr
      Src: /src/glib/glib/gatomic.c:851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 853
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 853
    functionName: (g_atomic_pointer_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedOr
    - InterlockedOr64
    linkageType: ''
    returnType: gsize
    signature: 'gsize (g_atomic_pointer_or) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:891,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 896
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 896
    functionName: (g_atomic_int_get)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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:1088,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1094,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - void*
    - gpointer
    - gpointer
    - void*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1097
    functionName: (g_atomic_pointer_compare_and_exchange_full)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_pointer_compare_and_exchange_full) (void *atomic,
      gpointer oldval, gpointer newval, void *preval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:952,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - gint*
    - gint
    - gint
    - gint*
    constantsTouched: []
    func_position:
      end: 962
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 962
    functionName: (g_atomic_int_compare_and_exchange_full)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    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_exchange
      Src: /src/glib/glib/gatomic.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/glib/glib/gbacktrace.c:178,1
    - Dst: fgets
      Src: /src/glib/glib/gbacktrace.c:180,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:181,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gbacktrace.c:213,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:190,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gbacktrace.c:158,1
    - Dst: getpid
      Src: /src/glib/glib/gbacktrace.c:166,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gbacktrace.c:223,1
    - Dst: g_free
      Src: /src/glib/glib/gbacktrace.c:230,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gbacktrace.c:171,1
    - Dst: fflush
      Src: /src/glib/glib/gbacktrace.c:176,1
    - Dst: strcpy
      Src: /src/glib/glib/gbacktrace.c:185,1
    - Dst: g_on_error_stack_trace
      Src: /src/glib/glib/gbacktrace.c:198,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:236,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gbacktrace.c:163,1
    - Dst: getpid
      Src: /src/glib/glib/gbacktrace.c:173,1
    - Dst: isatty
      Src: /src/glib/glib/gbacktrace.c:178,1
    - Dst: MessageBoxW
      Src: /src/glib/glib/gbacktrace.c:226,1
    - Dst: printf
      Src: /src/glib/glib/gbacktrace.c:233,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 1
    argNames:
    - prg_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 238
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 238
    functionName: g_on_error_query
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - getpid
    - _exit
    - g_free
    - fflush
    - _g_fprintf
    - g_get_prgname
    - strcpy
    - g_utf8_to_utf16
    - g_on_error_stack_trace
    - printf
    - isatty
    - fgets
    - MessageBoxW
    linkageType: ''
    returnType: void
    signature: 'void g_on_error_query (const gchar *prg_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/glib/gbacktrace.c:346,1
    - Dst: get_strerror
      Src: /src/glib/glib/gbacktrace.c:353,1
    - Dst: snprintf
      Src: /src/glib/glib/gbacktrace.c:354,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:355,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buf
    - n
    argTypes:
    - int
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 360
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 360
    functionName: checked_write
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - _exit
    - snprintf
    - perror
    - get_strerror
    - write
    linkageType: ''
    returnType: gssize
    signature: 'static gssize checked_write (int fd, gconstpointer buf, gsize n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/glib/glib/gbacktrace.c:327,1
    - Dst: strerror_r
      Src: /src/glib/glib/gbacktrace.c:329,1
    - Dst: strerror
      Src: /src/glib/glib/gbacktrace.c:334,1
    - Dst: strncpy
      Src: /src/glib/glib/gbacktrace.c:338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 341
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 341
    functionName: get_strerror
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - strerror_r
    - strncpy
    - strerror
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *get_strerror (char *buffer, gsize n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: stack_trace_sigchld
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void stack_trace_sigchld (int signum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/glib/glib/gbacktrace.c:365,1
    - Dst: snprintf
      Src: /src/glib/glib/gbacktrace.c:373,1
    - Dst: get_strerror
      Src: /src/glib/glib/gbacktrace.c:372,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:375,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: checked_dup
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - dup
    - _exit
    - snprintf
    - perror
    - get_strerror
    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:400,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:421,1
    - Dst: execvp
      Src: /src/glib/glib/gbacktrace.c:426,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:435,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:441,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:449,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:450,1
    - Dst: select
      Src: /src/glib/glib/gbacktrace.c:472,1
    - Dst: FD_ISSET
      Src: /src/glib/glib/gbacktrace.c:476,1
    - Dst: read
      Src: /src/glib/glib/gbacktrace.c:478,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:522,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:456,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:403,1
    - Dst: g_unix_open_pipe_internal
      Src: /src/glib/glib/gbacktrace.c:401,1
    - Dst: fork
      Src: /src/glib/glib/gbacktrace.c:407,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:436,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:451,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:521,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:523,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:524,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:448,1
    - Dst: signal
      Src: /src/glib/glib/gbacktrace.c:398,1
    - Dst: checked_dup
      Src: /src/glib/glib/gbacktrace.c:422,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:423,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:440,1
    - Dst: FD_ZERO
      Src: /src/glib/glib/gbacktrace.c:444,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:454,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gbacktrace.c:504,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:455,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:404,1
    - Dst: dup
      Src: /src/glib/glib/gbacktrace.c:411,1
    - Dst: fcntl
      Src: /src/glib/glib/gbacktrace.c:414,1
    - Dst: fcntl
      Src: /src/glib/glib/gbacktrace.c:416,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:419,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:431,1
    - Dst: checked_dup
      Src: /src/glib/glib/gbacktrace.c:424,1
    - Dst: dup
      Src: /src/glib/glib/gbacktrace.c:433,1
    - Dst: checked_dup
      Src: /src/glib/glib/gbacktrace.c:420,1
    - Dst: FD_SET
      Src: /src/glib/glib/gbacktrace.c:445,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:525,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:457,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 95
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 526
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 526
    functionName: stack_trace
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - FD_ZERO
    - dup
    - signal
    - _exit
    - g_unix_open_pipe_internal
    - checked_dup
    - execvp
    - FD_ISSET
    - _g_fprintf
    - select
    - perror
    - close
    - fcntl
    - fork
    - FD_SET
    - read
    - checked_write
    linkageType: ''
    returnType: void
    signature: 'static void stack_trace (const char * const *args) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _g_sprintf
      Src: /src/glib/glib/gbacktrace.c:271,1
    - Dst: getpid
      Src: /src/glib/glib/gbacktrace.c:271,1
    - Dst: fork
      Src: /src/glib/glib/gbacktrace.c:282,1
    - Dst: stack_trace
      Src: /src/glib/glib/gbacktrace.c:285,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:286,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:290,1
    - Dst: waitpid
      Src: /src/glib/glib/gbacktrace.c:299,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/gbacktrace.c:300,1
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gbacktrace.c:300,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gbacktrace.c:304,1
    - Dst: G_BREAKPOINT
      Src: /src/glib/glib/gbacktrace.c:305,1
    - Dst: g_abort
      Src: /src/glib/glib/gbacktrace.c:307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - prg_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 309
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 309
    functionName: g_on_error_stack_trace
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - getpid
    - _exit
    - g_abort
    - WIFEXITED
    - perror
    - stack_trace
    - WIFSIGNALED
    - fork
    - _g_sprintf
    - IsDebuggerPresent
    - G_BREAKPOINT
    - waitpid
    linkageType: ''
    returnType: void
    signature: 'void g_on_error_stack_trace (const gchar *prg_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvarianttypeinfo.c:310,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvarianttypeinfo.c:313,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvarianttypeinfo.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 318
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 318
    functionName: array_info_new
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_get
    - g_variant_type_element
    - g_slice_new
    linkageType: ''
    returnType: ContainerInfo*
    signature: 'static ContainerInfo *array_info_new (const GVariantType *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/gvarianttypeinfo.c:387,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvarianttypeinfo.c:396,1
    - Dst: g_slice_alloc
      Src: /src/glib/glib/gvarianttypeinfo.c:388,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvarianttypeinfo.c:395,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvarianttypeinfo.c:390,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - type
    - members
    - n_members
    argTypes:
    - GVariantType*
    - GVariantMemberInfo**
    - gsize*
    constantsTouched: []
    func_position:
      end: 407
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 407
    functionName: tuple_allocate_members
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_n_items
    - g_assert
    - g_variant_type_first
    - g_slice_alloc
    - g_variant_type_next
    - g_variant_type_info_get
    linkageType: ''
    returnType: void
    signature: 'static void tuple_allocate_members (const GVariantType *type, GVariantMemberInfo
      **members, gsize *n_members) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:839,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/gvarianttypeinfo.c:845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 849
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 849
    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_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 902
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 902
    functionName: g_variant_type_info_assert_no_infos
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'void g_variant_type_info_assert_no_infos (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:164,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:176,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:175,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:167,1
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/gvarianttypeinfo.c:175,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:187,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gvarianttypeinfo.c:187,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:188,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gvarianttypeinfo.c:188,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:189,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - info
    - container_class
    argTypes:
    - GVariantTypeInfo*
    - char
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 193
    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_variant_type_info_query
      Src: /src/glib/glib/gvarianttypeinfo.c:348,1
    - Dst: GV_ARRAY_INFO
      Src: /src/glib/glib/gvarianttypeinfo.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - info
    - alignment
    - fixed_size
    argTypes:
    - GVariantTypeInfo*
    - guint*
    - gsize*
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: g_variant_type_info_query_element
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query
    - GV_ARRAY_INFO
    linkageType: ''
    returnType: void
    signature: 'void g_variant_type_info_query_element (GVariantTypeInfo *info, guint
      *alignment, gsize *fixed_size) '
  - 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: 256
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 256
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 360
    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: 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: 536
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 536
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: GV_TUPLE_INFO
      Src: /src/glib/glib/gvarianttypeinfo.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 712
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 712
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:368,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvarianttypeinfo.c:376,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/gvarianttypeinfo.c:374,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvarianttypeinfo.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 377
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 377
    functionName: tuple_info_free
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_free
    - g_variant_type_info_unref
    - g_slice_free1
    linkageType: ''
    returnType: void
    signature: 'static void tuple_info_free (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - alignment
    argTypes:
    - gsize
    - guint
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: tuple_align
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize tuple_align (gsize offset, guint alignment) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 224
    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: g_slice_new
      Src: /src/glib/glib/gvarianttypeinfo.c:691,1
    - Dst: tuple_generate_table
      Src: /src/glib/glib/gvarianttypeinfo.c:695,1
    - Dst: tuple_set_base_info
      Src: /src/glib/glib/gvarianttypeinfo.c:696,1
    - Dst: tuple_allocate_members
      Src: /src/glib/glib/gvarianttypeinfo.c:694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 699
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 699
    functionName: tuple_info_new
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - tuple_allocate_members
    - tuple_generate_table
    - tuple_set_base_info
    - g_slice_new
    linkageType: ''
    returnType: ContainerInfo*
    signature: 'static ContainerInfo *tuple_info_new (const GVariantType *type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvarianttypeinfo.c:770,1
    - Dst: TRACE
      Src: /src/glib/glib/gvarianttypeinfo.c:797,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gvarianttypeinfo.c:817,1
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:806,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gvarianttypeinfo.c:799,1
    - Dst: TRACE
      Src: /src/glib/glib/gvarianttypeinfo.c:824,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/gvarianttypeinfo.c:805,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvarianttypeinfo.c:819,1
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:822,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttypeinfo.c:760,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/gvarianttypeinfo.c:772,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gvarianttypeinfo.c:777,1
    - Dst: GLIB_VARIANT_TYPE_INFO_NEW
      Src: /src/glib/glib/gvarianttypeinfo.c:797,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/gvarianttypeinfo.c:803,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvarianttypeinfo.c:818,1
    - Dst: g_free
      Src: /src/glib/glib/gvarianttypeinfo.c:807,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gvarianttypeinfo.c:775,1
    - Dst: array_info_new
      Src: /src/glib/glib/gvarianttypeinfo.c:786,1
    - Dst: tuple_info_new
      Src: /src/glib/glib/gvarianttypeinfo.c:790,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gvarianttypeinfo.c:795,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:817,1
    - Dst: GLIB_VARIANT_TYPE_INFO_NEW
      Src: /src/glib/glib/gvarianttypeinfo.c:824,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 828
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 828
    functionName: g_variant_type_info_get
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_dup_string
    - g_variant_type_info_check
    - g_assert_cmpint
    - g_variant_type_peek_string
    - GLIB_VARIANT_TYPE_INFO_NEW
    - g_free
    - g_assert
    - g_hash_table_insert
    - g_rec_mutex_unlock
    - array_info_new
    - tuple_info_new
    - g_hash_table_new
    - TRACE
    - g_variant_type_info_ref
    - g_rec_mutex_lock
    - G_N_ELEMENTS
    - g_atomic_ref_count_init
    - g_hash_table_lookup
    linkageType: ''
    returnType: GVariantTypeInfo*
    signature: 'GVariantTypeInfo *g_variant_type_info_get (const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GV_TUPLE_INFO
      Src: /src/glib/glib/gvarianttypeinfo.c:730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - info
    - index
    argTypes:
    - GVariantTypeInfo*
    - gsize
    constantsTouched: []
    func_position:
      end: 736
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 736
    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:272,1
    - Dst: g_variant_type_string_get_depth_
      Src: /src/glib/glib/gvarianttypeinfo.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: g_variant_type_info_query_depth
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_string_get_depth_
    - g_variant_type_info_check
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_type_info_query_depth (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: tuple_get_item
      Src: /src/glib/glib/gvarianttypeinfo.c:591,1
    - Dst: tuple_align
      Src: /src/glib/glib/gvarianttypeinfo.c:597,1
    - Dst: tuple_align
      Src: /src/glib/glib/gvarianttypeinfo.c:595,1
    - Dst: tuple_table_append
      Src: /src/glib/glib/gvarianttypeinfo.c:602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - info
    argTypes:
    - TupleInfo*
    constantsTouched: []
    func_position:
      end: 617
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 617
    functionName: tuple_generate_table
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - tuple_table_append
    - tuple_align
    - tuple_get_item
    linkageType: ''
    returnType: void
    signature: 'static void tuple_generate_table (TupleInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:298,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvarianttypeinfo.c:302,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvarianttypeinfo.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: tuple_align
      Src: /src/glib/glib/gvarianttypeinfo.c:654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - info
    argTypes:
    - TupleInfo*
    constantsTouched: []
    func_position:
      end: 684
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 684
    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: GV_ARRAY_INFO
      Src: /src/glib/glib/gvarianttypeinfo.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    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: 425
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 425
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:861,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/gvarianttypeinfo.c:868,1
    - Dst: TRACE
      Src: /src/glib/glib/gvarianttypeinfo.c:871,1
    - Dst: GLIB_VARIANT_TYPE_INFO_FREE
      Src: /src/glib/glib/gvarianttypeinfo.c:871,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/gvarianttypeinfo.c:867,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gvarianttypeinfo.c:873,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gvarianttypeinfo.c:875,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/gvarianttypeinfo.c:877,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/gvarianttypeinfo.c:880,1
    - Dst: g_free
      Src: /src/glib/glib/gvarianttypeinfo.c:882,1
    - Dst: tuple_info_free
      Src: /src/glib/glib/gvarianttypeinfo.c:888,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvarianttypeinfo.c:891,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/gvarianttypeinfo.c:894,1
    - Dst: array_info_free
      Src: /src/glib/glib/gvarianttypeinfo.c:885,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 896
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 896
    functionName: g_variant_type_info_unref
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_check
    - g_hash_table_unref
    - g_free
    - g_hash_table_size
    - g_assert_not_reached
    - GLIB_VARIANT_TYPE_INFO_FREE
    - g_hash_table_remove
    - array_info_free
    - tuple_info_free
    - TRACE
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - g_atomic_ref_count_dec
    linkageType: ''
    returnType: void
    signature: 'void g_variant_type_info_unref (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/glib/gmain.h:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - main_context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 551
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 551
    functionName: g_main_context_pusher_new
    functionSourceFile: /src/glib/glib/gmain.h
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    linkageType: ''
    returnType: GMainContextPusher*
    signature: 'static inline GMainContextPusher *g_main_context_pusher_new (GMainContext
      *main_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/glib/gmain.h:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pusher
    argTypes:
    - GMainContextPusher*
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 572
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fd_ptr
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 848
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 848
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/gmain.h:727,1
    - Dst: clear_func
      Src: /src/glib/glib/gmain.h:772,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/gmain.h:764,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 10
    argCount: 0
    argNames:
    - g_source_get_time
    argTypes: []
    constantsTouched: []
    func_position:
      end: 774
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 774
    functionName: GLIB_DEPRECATED_IN_2_28_FOR
    functionSourceFile: /src/glib/glib/gmain.h
    functionUses: []
    functionsReached:
    - g_get_current_time
    - G_STATIC_ASSERT
    - clear_func
    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 g_clear_handle_id().
      * The implementation is expected to free the resource identified * by @handle_id;
      for instance, if @handle_id is a #GSource ID, * g_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_new0
      Src: /src/glib/glib/grand.c:182,1
    - Dst: g_rand_set_seed
      Src: /src/glib/glib/grand.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grand.c:299,1
    - Dst: g_free
      Src: /src/glib/glib/grand.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rand
    argTypes:
    - GRand*
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 302
    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: fopen
      Src: /src/glib/glib/grand.c:232,1
    - Dst: fread
      Src: /src/glib/glib/grand.c:244,1
    - Dst: fclose
      Src: /src/glib/glib/grand.c:251,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/grand.c:259,1
    - Dst: setvbuf
      Src: /src/glib/glib/grand.c:240,1
    - Dst: getpid
      Src: /src/glib/glib/grand.c:262,1
    - Dst: getppid
      Src: /src/glib/glib/grand.c:263,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/grand.c:272,1
    - Dst: rand_s
      Src: /src/glib/glib/grand.c:273,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/grand.c:278,1
    - Dst: g_rand_new_with_seed_array
      Src: /src/glib/glib/grand.c:287,1
    - Dst: getpid
      Src: /src/glib/glib/grand.c:281,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 288
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 288
    functionName: g_rand_new
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - getpid
    - g_rand_new_with_seed_array
    - getppid
    - rand_s
    - setvbuf
    - fclose
    - fopen
    - fread
    - g_get_real_time
    - g_get_current_time
    - G_N_ELEMENTS
    linkageType: ''
    returnType: GRand*
    signature: 'GRand * g_rand_new (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grand.c:340,1
    - Dst: get_random_version
      Src: /src/glib/glib/grand.c:342,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/grand.c:369,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - rand
    - seed
    argTypes:
    - GRand*
    - guint32
    constantsTouched: []
    func_position:
      end: 371
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 371
    functionName: g_rand_set_seed
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - get_random_version
    - 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:458,1
    - Dst: TEMPERING_SHIFT_S
      Src: /src/glib/glib/grand.c:479,1
    - Dst: TEMPERING_SHIFT_U
      Src: /src/glib/glib/grand.c:478,1
    - Dst: TEMPERING_SHIFT_T
      Src: /src/glib/glib/grand.c:480,1
    - Dst: TEMPERING_SHIFT_L
      Src: /src/glib/glib/grand.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 1
    argNames:
    - rand
    argTypes:
    - GRand*
    constantsTouched: []
    func_position:
      end: 484
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 484
    functionName: g_rand_int
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - TEMPERING_SHIFT_S
    - TEMPERING_SHIFT_L
    - TEMPERING_SHIFT_U
    - TEMPERING_SHIFT_T
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_rand_int (GRand *rand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:587,1
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:588,1
    - Dst: g_rand_double
      Src: /src/glib/glib/grand.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rand
    argTypes:
    - GRand*
    constantsTouched: []
    func_position:
      end: 596
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 596
    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:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - rand
    - begin
    - end
    argTypes:
    - GRand*
    - gdouble
    - gdouble
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 619
    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:674,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/grand.c:675,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:675,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - gint32
    - gint32
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: g_random_int_range
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - get_global_random
    - G_UNLOCK
    - g_rand_int_range
    - G_LOCK
    linkageType: ''
    returnType: gint32
    signature: 'gint32 g_random_int_range (gint32 begin, gint32 end) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/grand.c:145,1
    - Dst: g_getenv
      Src: /src/glib/glib/grand.c:147,1
    - Dst: g_warning
      Src: /src/glib/glib/grand.c:155,1
    - Dst: strcmp
      Src: /src/glib/glib/grand.c:151,1
    - Dst: strcmp
      Src: /src/glib/glib/grand.c:149,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/grand.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 163
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 163
    functionName: get_random_version
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_warning
    - g_getenv
    - g_once_init_leave
    - 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:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 631
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 631
    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_LOCK
      Src: /src/glib/glib/grand.c:728,1
    - Dst: g_rand_set_seed
      Src: /src/glib/glib/grand.c:729,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:729,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 731
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 731
    functionName: g_random_set_seed
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_set_seed
    - get_global_random
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_random_set_seed (guint32 seed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/grand.c:712,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:714,1
    - Dst: g_rand_double_range
      Src: /src/glib/glib/grand.c:713,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - gdouble
    - gdouble
    constantsTouched: []
    func_position:
      end: 716
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 716
    functionName: g_random_double_range
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_double_range
    - get_global_random
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_random_double_range (gdouble begin, gdouble end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/grand.c:203,1
    - Dst: g_rand_set_seed_array
      Src: /src/glib/glib/grand.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - seed
    - seed_length
    argTypes:
    - guint32*
    - guint
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: g_rand_new_with_seed_array
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_rand_set_seed_array
    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:321,1
    - Dst: g_new0
      Src: /src/glib/glib/grand.c:323,1
    - Dst: memcpy
      Src: /src/glib/glib/grand.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - rand
    argTypes:
    - GRand*
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: g_rand_copy
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_new0
    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:394,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grand.c:395,1
    - Dst: g_rand_set_seed
      Src: /src/glib/glib/grand.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 3
    argNames:
    - rand
    - seed
    - seed_length
    argTypes:
    - GRand*
    - guint32*
    - guint
    constantsTouched: []
    func_position:
      end: 431
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 431
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grand.c:508,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grand.c:509,1
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:525,1
    - Dst: get_random_version
      Src: /src/glib/glib/grand.c:511,1
    - Dst: g_rand_double_range
      Src: /src/glib/glib/grand.c:537,1
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:560,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/grand.c:567,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - rand
    - begin
    - end
    argTypes:
    - GRand*
    - gint32
    - gint32
    constantsTouched: []
    func_position:
      end: 571
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 571
    functionName: g_rand_int_range
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - get_random_version
    - g_rand_int
    - g_assert_not_reached
    - g_rand_double_range
    - g_return_val_if_fail
    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:653,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:654,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:655,1
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 657
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 657
    functionName: g_random_int
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - get_global_random
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_random_int (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/grand.c:691,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:693,1
    - Dst: g_rand_double
      Src: /src/glib/glib/grand.c:692,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 695
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 695
    functionName: g_random_double
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_double
    - get_global_random
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_random_double (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:209,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/garcbox.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    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:292,1
    - Dst: TRACE
      Src: /src/glib/glib/garcbox.c:301,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:296,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:294,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/garcbox.c:299,1
    - Dst: GLIB_RCBOX_ACQUIRE
      Src: /src/glib/glib/garcbox.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: (g_atomic_rc_box_acquire)
    functionSourceFile: /src/glib/glib/garcbox.c
    functionUses: []
    functionsReached:
    - GLIB_RCBOX_ACQUIRE
    - TRACE
    - G_ARC_BOX
    - g_atomic_ref_count_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_rc_box_acquire) (gpointer mem_block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/glib/garcbox.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    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_ARC_BOX
      Src: /src/glib/glib/garcbox.c:374,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:376,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 382
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:182,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/garcbox.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    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:269,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:270,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/garcbox.c:272,1
    - Dst: memcpy
      Src: /src/glib/glib/garcbox.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - block_size
    - mem_block
    argTypes:
    - gsize
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 276
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ARC_BOX
      Src: /src/glib/glib/garcbox.c:340,1
    - Dst: TRACE
      Src: /src/glib/glib/garcbox.c:351,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garcbox.c:347,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garcbox.c:342,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garcbox.c:344,1
    - Dst: GLIB_RCBOX_RELEASE
      Src: /src/glib/glib/garcbox.c:351,1
    - Dst: clear_func
      Src: /src/glib/glib/garcbox.c:354,1
    - Dst: TRACE
      Src: /src/glib/glib/garcbox.c:356,1
    - Dst: GLIB_RCBOX_FREE
      Src: /src/glib/glib/garcbox.c:356,1
    - Dst: g_free
      Src: /src/glib/glib/garcbox.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - mem_block
    - clear_func
    argTypes:
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 359
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 359
    functionName: g_atomic_rc_box_release_full
    functionSourceFile: /src/glib/glib/garcbox.c
    functionUses: []
    functionsReached:
    - g_free
    - clear_func
    - GLIB_RCBOX_RELEASE
    - TRACE
    - G_ARC_BOX
    - GLIB_RCBOX_FREE
    - g_atomic_ref_count_dec
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_atomic_rc_box_release_full (gpointer mem_block, GDestroyNotify
      clear_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 76
    functionName: glib__private__
    functionSourceFile: /src/glib/glib/glib-private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLibPrivateVTable*
    signature: 'GLibPrivateVTable *glib__private__ (void) '
  - 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: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    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: _set_thread_local_invalid_parameter_handler
      Src: /src/glib/glib/glib-private.c:119,1
    - Dst: _CrtSetReportMode
      Src: /src/glib/glib/glib-private.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - handler
    argTypes:
    - GWin32InvalidParameterHandler*
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    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:140,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/glib-private.c:141,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/glib-private.c:145,1
    - Dst: _CrtSetReportMode
      Src: /src/glib/glib/glib-private.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - handler
    argTypes:
    - GWin32InvalidParameterHandler*
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 147
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:106,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/ghmac.c:128,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:109,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/glib/ghmac.c:125,1
    - Dst: g_checksum_new
      Src: /src/glib/glib/ghmac.c:108,1
    - Dst: g_checksum_new
      Src: /src/glib/glib/ghmac.c:132,1
    - Dst: g_alloca0
      Src: /src/glib/glib/ghmac.c:134,1
    - Dst: g_alloca
      Src: /src/glib/glib/ghmac.c:135,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:141,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:143,1
    - Dst: memcpy
      Src: /src/glib/glib/ghmac.c:151,1
    - Dst: g_checksum_get_digest
      Src: /src/glib/glib/ghmac.c:144,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:155,1
    - Dst: g_checksum_reset
      Src: /src/glib/glib/ghmac.c:145,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:166,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:161,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - digest_type
    - key
    - key_len
    argTypes:
    - GChecksumType
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 169
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 169
    functionName: g_hmac_new
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_slice_new0
    - g_alloca0
    - g_assert
    - g_checksum_update
    - g_checksum_get_digest
    - g_alloca
    - g_checksum_reset
    - g_return_val_if_fail
    - g_return_val_if_reached
    - g_checksum_new
    linkageType: ''
    returnType: GHmac*
    signature: 'GHmac *g_hmac_new (GChecksumType digest_type, const guchar *key, gsize
      key_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghmac.c:266,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghmac.c:267,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - hmac
    - data
    - length
    argTypes:
    - GHmac*
    - guchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    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:215,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/ghmac.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - hmac
    argTypes:
    - GHmac*
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: g_hmac_ref
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GHmac*
    signature: 'GHmac *g_hmac_ref (GHmac *hmac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:296,1
    - Dst: g_alloca
      Src: /src/glib/glib/ghmac.c:304,1
    - Dst: g_checksum_type_get_length
      Src: /src/glib/glib/ghmac.c:300,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:301,1
    - Dst: g_hmac_get_digest
      Src: /src/glib/glib/ghmac.c:307,1
    - Dst: g_checksum_get_string
      Src: /src/glib/glib/ghmac.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - hmac
    argTypes:
    - GHmac*
    constantsTouched: []
    func_position:
      end: 312
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 312
    functionName: g_hmac_get_string
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hmac_get_digest
    - g_checksum_get_string
    - g_alloca
    - g_return_val_if_fail
    - g_checksum_type_get_length
    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:425,1
    - Dst: g_compute_hmac_for_data
      Src: /src/glib/glib/ghmac.c:430,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:426,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/ghmac.c:428,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/ghmac.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - digest_type
    - key
    - data
    argTypes:
    - GChecksumType
    - GBytes*
    - GBytes*
    constantsTouched: []
    func_position:
      end: 431
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 431
    functionName: g_compute_hmac_for_bytes
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_return_val_if_fail
    - g_compute_hmac_for_data
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_hmac_for_bytes (GChecksumType digest_type, GBytes
      *key, GBytes *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:189,1
    - Dst: g_checksum_copy
      Src: /src/glib/glib/ghmac.c:194,1
    - Dst: g_slice_new
      Src: /src/glib/glib/ghmac.c:191,1
    - Dst: g_checksum_copy
      Src: /src/glib/glib/ghmac.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - hmac
    argTypes:
    - GHmac*
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 198
    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:238,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/ghmac.c:240,1
    - Dst: g_slice_free
      Src: /src/glib/glib/ghmac.c:244,1
    - Dst: g_checksum_free
      Src: /src/glib/glib/ghmac.c:243,1
    - Dst: g_checksum_free
      Src: /src/glib/glib/ghmac.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hmac
    argTypes:
    - GHmac*
    constantsTouched: []
    func_position:
      end: 246
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 246
    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:337,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:342,1
    - Dst: g_checksum_get_digest
      Src: /src/glib/glib/ghmac.c:349,1
    - Dst: g_checksum_type_get_length
      Src: /src/glib/glib/ghmac.c:341,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghmac.c:346,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:350,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:352,1
    - Dst: g_checksum_get_digest
      Src: /src/glib/glib/ghmac.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - hmac
    - buffer
    - digest_len
    argTypes:
    - GHmac*
    - guint8*
    - gsize*
    constantsTouched: []
    func_position:
      end: 354
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 354
    functionName: g_hmac_get_digest
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_checksum_update
    - g_checksum_get_digest
    - g_checksum_type_get_length
    - g_return_if_fail
    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:385,1
    - Dst: g_hmac_update
      Src: /src/glib/glib/ghmac.c:391,1
    - Dst: g_hmac_new
      Src: /src/glib/glib/ghmac.c:387,1
    - Dst: g_hmac_get_string
      Src: /src/glib/glib/ghmac.c:392,1
    - Dst: g_strdup
      Src: /src/glib/glib/ghmac.c:392,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/ghmac.c:393,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - digest_type
    - key
    - key_len
    - data
    - length
    argTypes:
    - GChecksumType
    - guchar*
    - gsize
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 396
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 396
    functionName: g_compute_hmac_for_data
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hmac_unref
    - g_hmac_get_string
    - g_hmac_new
    - g_hmac_update
    - g_return_val_if_fail
    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:459,1
    - Dst: strlen
      Src: /src/glib/glib/ghmac.c:462,1
    - Dst: g_compute_hmac_for_data
      Src: /src/glib/glib/ghmac.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - digest_type
    - key
    - key_len
    - str
    - length
    argTypes:
    - GChecksumType
    - guchar*
    - gsize
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: g_compute_hmac_for_string
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - g_compute_hmac_for_data
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 2
    argNames:
    - token_p
    - value_p
    argTypes:
    - GTokenType*
    - GTokenValue*
    constantsTouched: []
    func_position:
      end: 498
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 498
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gscanner.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 620
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 620
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:507,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - _key
    - _value
    - _data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    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: 634
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 634
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:695,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:696,1
    - Dst: g_strdup
      Src: /src/glib/glib/gscanner.c:704,1
    - Dst: g_new
      Src: /src/glib/glib/gscanner.c:702,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:698,1
    - Dst: to_lower
      Src: /src/glib/glib/gscanner.c:713,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gscanner.c:717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - scanner
    - scope_id
    - symbol
    - value
    argTypes:
    - GScanner*
    - guint
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 721
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 721
    functionName: g_scanner_scope_add_symbol
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - to_lower
    - g_strdup
    - g_hash_table_add
    - g_new
    - g_scanner_lookup_internal
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:520,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gscanner.c:525,1
    - Dst: g_datalist_clear
      Src: /src/glib/glib/gscanner.c:522,1
    - Dst: g_scanner_free_value
      Src: /src/glib/glib/gscanner.c:526,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/gscanner.c:523,1
    - Dst: g_scanner_free_value
      Src: /src/glib/glib/gscanner.c:527,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:528,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:529,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 531
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 531
    functionName: g_scanner_destroy
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_destroy
    - g_datalist_clear
    - g_hash_table_foreach
    - g_scanner_free_value
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_scanner_destroy (GScanner *scanner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:561,1
    - Dst: va_start
      Src: /src/glib/glib/gscanner.c:571,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gscanner.c:572,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:562,1
    - Dst: va_end
      Src: /src/glib/glib/gscanner.c:573,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - scanner
    - format
    - '...'
    argTypes:
    - GScanner*
    - gchar*
    constantsTouched: []
    func_position:
      end: 579
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 579
    functionName: g_scanner_error
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    - g_return_if_fail
    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_if_fail
      Src: /src/glib/glib/gscanner.c:748,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gscanner.c:755,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:751,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:749,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:756,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - scanner
    - scope_id
    - symbol
    argTypes:
    - GScanner*
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 759
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 759
    functionName: g_scanner_scope_remove_symbol
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_remove
    - g_scanner_lookup_internal
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:982,1
    - Dst: g_scanner_free_value
      Src: /src/glib/glib/gscanner.c:986,1
    - Dst: g_scanner_get_token_i
      Src: /src/glib/glib/gscanner.c:995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1002
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1002
    functionName: g_scanner_get_next_token
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_scanner_free_value
    - g_scanner_get_token_i
    linkageType: ''
    returnType: GTokenType
    signature: "GTokenType g_scanner_get_next_token (GScanner\t*scanner) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1144,1
    - Dst: g_scanner_sync_file_offset
      Src: /src/glib/glib/gscanner.c:1151,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1146,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:1165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - scanner
    - text
    - text_len
    argTypes:
    - GScanner*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1168
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1168
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1219,1
    - Dst: lseek
      Src: /src/glib/glib/gscanner.c:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1241
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:538,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gscanner.c:544,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gscanner.c:540,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gscanner.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - scanner
    - message
    - is_error
    argTypes:
    - GScanner*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 546
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 546
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/gscanner.c:1185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1205
    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:1260,1
    - Dst: g_scanner_sync_file_offset
      Src: /src/glib/glib/gscanner.c:1276,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - scanner
    - line_p
    - position_p
    argTypes:
    - GScanner*
    - guint*
    - guint*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1296
    functionName: g_scanner_get_char
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - read
    - g_scanner_sync_file_offset
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:952,1
    - Dst: g_scanner_get_token_i
      Src: /src/glib/glib/gscanner.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 966
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 966
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/gscanner.c:418,1
    - Dst: g_new0
      Src: /src/glib/glib/gscanner.c:426,1
    - Dst: g_datalist_init
      Src: /src/glib/glib/gscanner.c:424,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gscanner.c:467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 1
    argNames:
    - config_templ
    argTypes:
    - GScannerConfig*
    constantsTouched: []
    func_position:
      end: 477
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 477
    functionName: g_scanner_new
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    - g_new0
    - g_datalist_init
    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:798,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:806,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:804,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - scanner
    - symbol
    argTypes:
    - GScanner*
    - gchar*
    constantsTouched: []
    func_position:
      end: 812
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 812
    functionName: g_scanner_lookup_symbol
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_scanner_lookup_internal
    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:834,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - scanner
    - scope_id
    - symbol
    argTypes:
    - GScanner*
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 845
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 845
    functionName: g_scanner_scope_lookup_symbol
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_scanner_lookup_internal
    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:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1019
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1019
    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:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1062
    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:1111,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1112,1
    - Dst: g_scanner_sync_file_offset
      Src: /src/glib/glib/gscanner.c:1115,1
    - Dst: g_new
      Src: /src/glib/glib/gscanner.c:1128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - scanner
    - input_fd
    argTypes:
    - GScanner*
    - gint
    constantsTouched: []
    func_position:
      end: 1129
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1129
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:922,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/gscanner.c:928,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: 929
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 929
    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: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - c
    - base
    argTypes:
    - guchar
    - guchar
    constantsTouched: []
    func_position:
      end: 395
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 395
    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: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:594,1
    - Dst: va_start
      Src: /src/glib/glib/gscanner.c:602,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:595,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gscanner.c:603,1
    - Dst: va_end
      Src: /src/glib/glib/gscanner.c:604,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - scanner
    - format
    - '...'
    argTypes:
    - GScanner*
    - gchar*
    constantsTouched: []
    func_position:
      end: 610
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 610
    functionName: g_scanner_warn
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_scanner_warn (GScanner *scanner,\t\tconst gchar *format,\t\t...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/glib/glib/gscanner.c:888,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - _key
    - _value
    - _user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 889
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 889
    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:1095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1098
    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:651,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:656,1
    - Dst: strlen
      Src: /src/glib/glib/gscanner.c:651,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gscanner.c:655,1
    - Dst: to_lower
      Src: /src/glib/glib/gscanner.c:653,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gscanner.c:661,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - scanner
    - scope_id
    - symbol
    argTypes:
    - GScanner*
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 665
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 665
    functionName: g_scanner_lookup_internal
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - strlen
    - to_lower
    - g_free
    - g_new
    - g_hash_table_lookup
    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: 61
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gscanner.c:1357,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1371,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1409,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1517,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1532,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1569,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1609,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1618,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1586,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1342,1
    - Dst: g_new
      Src: /src/glib/glib/gscanner.c:1355,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1372,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1417,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1438,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1413,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1452,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1467,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gscanner.c:1499,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1524,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1633,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:1648,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1545,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1624,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1363,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1370,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1379,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1389,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1396,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1465,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1471,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1516,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1540,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1550,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1640,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1591,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:1649,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1565,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1374,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1425,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1433,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1429,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1421,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1444,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1477,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1489,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1509,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1515,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1578,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1560,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1555,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1519,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: 1650
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1650
    functionName: g_scanner_unexp_token
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_free
    - msg_handler
    - g_assert_not_reached
    - g_new
    - strchr
    - _g_snprintf
    - g_return_if_fail
    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:1661,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1667,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1665,1
    - Dst: g_scanner_get_token_ll
      Src: /src/glib/glib/gscanner.c:1662,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: 1716
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1716
    functionName: g_scanner_get_token_i
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - strchr
    - g_scanner_get_token_ll
    - g_scanner_free_value
    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: g_string_new
      Src: /src/glib/glib/gscanner.c:1783,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1778,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:1803,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1804,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1834,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1852,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1876,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1888,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1897,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1923,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1948,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2139,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:2230,1
    - Dst: g_scanner_char_2_num
      Src: /src/glib/glib/gscanner.c:1956,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1993,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:2129,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1999,1
    - Dst: g_new0
      Src: /src/glib/glib/gscanner.c:2171,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:2165,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:2154,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1755,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1848,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1823,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:1822,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1864,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1879,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1881,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1884,1
    - Dst: g_scanner_char_2_num
      Src: /src/glib/glib/gscanner.c:1936,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1947,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2039,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:2148,1
    - Dst: g_assert
      Src: /src/glib/glib/gscanner.c:2190,1
    - Dst: g_string_free
      Src: /src/glib/glib/gscanner.c:2212,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:2226,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:2161,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2058,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1784,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1793,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1844,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1860,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1915,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:1984,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gscanner.c:2088,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gscanner.c:2094,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:2128,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:2153,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2070,1
    - Dst: g_scanner_char_2_num
      Src: /src/glib/glib/gscanner.c:1995,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:2157,1
    - Dst: g_string_free
      Src: /src/glib/glib/gscanner.c:2114,1
    - Dst: g_string_free
      Src: /src/glib/glib/gscanner.c:2200,1
    - Dst: g_strtod
      Src: /src/glib/glib/gscanner.c:2081,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1985,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:2163,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1780,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1765,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1786,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1788,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1812,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1856,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1892,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1908,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1927,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1928,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gscanner.c:2097,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:2140,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:2224,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2027,1
    - Dst: strlen
      Src: /src/glib/glib/gscanner.c:2238,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2013,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2162,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2158,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gscanner.c:2091,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: 2268
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 2268
    functionName: g_scanner_get_token_ll
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - strlen
    - g_scanner_get_char
    - g_string_new
    - g_free
    - g_new0
    - g_scanner_peek_next_char
    - g_assert
    - g_scanner_char_2_num
    - g_string_append_c
    - g_scanner_lookup_internal
    - g_strtod
    - g_string_free
    - g_ascii_strtoull
    - strchr
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - scanner
    - scope_id
    argTypes:
    - GScanner*
    - guint
    constantsTouched: []
    func_position:
      end: 868
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 868
    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:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1044
    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:1077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1080
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1080
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/gspawn.c:301,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gspawn.c:307,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:316,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:320,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - str
    - fd
    - error
    argTypes:
    - GString*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 324
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 324
    functionName: read_data
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - read
    - g_string_append_len
    linkageType: ''
    returnType: ReadResult
    signature: 'static ReadResult read_data (GString *str, gint fd, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/gspawn.c:1282,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - fd
    argTypes:
    - void*
    - gint
    constantsTouched: []
    func_position:
      end: 1286
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1286
    functionName: set_cloexec
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'static int set_cloexec (void *data, gint fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1704,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 1717
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1717
    functionName: relocate_fd_out_of_standard_range
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean relocate_fd_out_of_standard_range (gint *fd) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2359,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2410,1
    - Dst: g_malloc
      Src: /src/glib/glib/gspawn.c:2481,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2713,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2568,1
    - Dst: _exit
      Src: /src/glib/glib/gspawn.c:2622,1
    - Dst: waitpid
      Src: /src/glib/glib/gspawn.c:2669,1
    - Dst: g_warning
      Src: /src/glib/glib/gspawn.c:2676,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:2588,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2738,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2844,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn.c:2508,1
    - Dst: g_debug
      Src: /src/glib/glib/gspawn.c:2421,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2412,1
    - Dst: g_newa
      Src: /src/glib/glib/gspawn.c:2499,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2693,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2774,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2845,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2370,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2733,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2801,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gspawn.c:2847,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2663,1
    - Dst: signal
      Src: /src/glib/glib/gspawn.c:2550,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2706,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2489,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gspawn.c:2494,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2749,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2802,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gspawn.c:2848,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2696,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2717,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2742,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gspawn.c:2849,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2339,1
    - Dst: do_posix_spawn
      Src: /src/glib/glib/gspawn.c:2387,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2662,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/gspawn.c:2512,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2698,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn.c:2788,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2703,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2462,1
    - Dst: g_alloca
      Src: /src/glib/glib/gspawn.c:2477,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2724,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2730,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/gspawn.c:2805,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2514,1
    - Dst: write_all
      Src: /src/glib/glib/gspawn.c:2585,1
    - Dst: memcpy
      Src: /src/glib/glib/gspawn.c:2510,1
    - Dst: read_ints
      Src: /src/glib/glib/gspawn.c:2762,1
    - Dst: waitpid
      Src: /src/glib/glib/gspawn.c:2824,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2770,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gspawn.c:2383,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2487,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2523,1
    - Dst: signal
      Src: /src/glib/glib/gspawn.c:2556,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/gspawn.c:2811,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2835,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/gspawn.c:2346,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2341,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2349,1
    - Dst: write_all
      Src: /src/glib/glib/gspawn.c:2619,1
    - Dst: signal
      Src: /src/glib/glib/gspawn.c:2551,1
    - Dst: g_warning
      Src: /src/glib/glib/gspawn.c:2831,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2836,1
    - Dst: do_exec
      Src: /src/glib/glib/gspawn.c:2630,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2708,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/gspawn.c:2357,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2360,1
    - Dst: fork
      Src: /src/glib/glib/gspawn.c:2527,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2537,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2721,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2734,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn.c:2789,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2837,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2522,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2620,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2515,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2338,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/gspawn.c:2440,1
    - Dst: g_getenv
      Src: /src/glib/glib/gspawn.c:2442,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2460,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2786,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2838,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/gspawn.c:2368,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2371,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2536,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2716,1
    - Dst: read_ints
      Src: /src/glib/glib/gspawn.c:2681,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2741,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2839,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2785,1
    - Dst: signal
      Src: /src/glib/glib/gspawn.c:2548,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2407,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gspawn.c:2425,1
    - Dst: strlen
      Src: /src/glib/glib/gspawn.c:2472,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn.c:2503,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2593,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2563,1
    - Dst: fork
      Src: /src/glib/glib/gspawn.c:2580,1
    - Dst: signal
      Src: /src/glib/glib/gspawn.c:2549,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2562,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2840,1
    - Dst: _g_spawn_exec_err_to_g_error
      Src: /src/glib/glib/gspawn.c:2705,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2725,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2746,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2800,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2842,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/gspawn.c:2520,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2533,1
    - Dst: do_exec
      Src: /src/glib/glib/gspawn.c:2594,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2340,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn.c:2348,1
    - Dst: strlen
      Src: /src/glib/glib/gspawn.c:2472,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2773,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn.c:2790,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/gspawn.c:2808,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2843,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 262
    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: 2852
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2852
    functionName: fork_exec
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - do_exec
    - _
    - _exit
    - g_clear_pointer
    - _g_spawn_exec_err_to_g_error
    - g_trace_mark
    - fork
    - do_posix_spawn
    - strlen
    - write_err_and_exit
    - signal
    - g_strerror
    - g_alloca
    - memcpy
    - g_steal_fd
    - _g_spawn_invalid_source_fd
    - g_warning
    - close_and_invalidate
    - read_ints
    - g_strv_length
    - g_malloc
    - g_set_error
    - g_free
    - g_environ_getenv
    - g_assert
    - g_unix_open_pipe
    - g_newa
    - g_new
    - g_debug
    - g_getenv
    - waitpid
    - write_all
    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: 2
    argNames:
    - str
    - c
    argTypes:
    - gchar*
    - gchar
    constantsTouched: []
    func_position:
      end: 2901
      start: 2893
    functionDepth: 0
    functionLinenumber: 2893
    functionLinenumberEnd: 2901
    functionName: my_strchrnul
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *my_strchrnul (const gchar *str, gchar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_close
      Src: /src/glib/glib/gspawn.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: close_and_invalidate
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_close
    linkageType: ''
    returnType: void
    signature: 'static void close_and_invalidate (gint *fd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WIFEXITED
      Src: /src/glib/glib/gspawn.c:1174,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gspawn.c:1176,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:1179,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gspawn.c:1178,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:1178,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gspawn.c:1180,1
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gspawn.c:1184,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:1186,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:1187,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gspawn.c:1188,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:1193,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:1200,1
    - Dst: WSTOPSIG
      Src: /src/glib/glib/gspawn.c:1195,1
    - Dst: WIFSTOPPED
      Src: /src/glib/glib/gspawn.c:1191,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:1201,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:1194,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - wait_status
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 1208
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1208
    functionName: g_spawn_check_wait_status
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - WSTOPSIG
    - WIFEXITED
    - WTERMSIG
    - WIFSTOPPED
    - WIFSIGNALED
    - WEXITSTATUS
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_spawn_check_wait_status (gint wait_status,\t\t\t GError
      **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/glib/gspawn.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - vbuf
    - to_write
    argTypes:
    - gint
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1261
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1261
    functionName: write_all
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - write
    linkageType: ''
    returnType: gssize
    signature: 'static gssize write_all (gint fd, gconstpointer vbuf, gsize to_write) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_all
      Src: /src/glib/glib/gspawn.c:1271,1
    - Dst: _exit
      Src: /src/glib/glib/gspawn.c:1274,1
    - Dst: write_all
      Src: /src/glib/glib/gspawn.c:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - msg
    argTypes:
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 1275
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1275
    functionName: write_err_and_exit
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - _exit
    - write_all
    linkageType: ''
    returnType: G_NORETURN
    signature: 'G_NORETURN static void write_err_and_exit (gint fd, gint msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close_range
      Src: /src/glib/glib/gspawn.c:1613,1
    - Dst: safe_fdwalk
      Src: /src/glib/glib/gspawn.c:1618,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:1618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - lowfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1621
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1621
    functionName: safe_fdwalk_set_cloexec
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - safe_fdwalk
    - GINT_TO_POINTER
    - close_range
    linkageType: ''
    returnType: int
    signature: 'static int safe_fdwalk_set_cloexec (int lowfd) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2086,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:2103,1
    - Dst: sigaddset
      Src: /src/glib/glib/gspawn.c:2113,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:2133,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn.c:2147,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn.c:2154,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gspawn.c:2158,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:2159,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2164,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn.c:2178,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn.c:2187,1
    - Dst: posix_spawnattr_destroy
      Src: /src/glib/glib/gspawn.c:2285,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/gspawn.c:2254,1
    - Dst: posix_spawnp
      Src: /src/glib/glib/gspawn.c:2267,1
    - Dst: posix_spawnattr_setflags
      Src: /src/glib/glib/gspawn.c:2106,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gspawn.c:2102,1
    - Dst: sigemptyset
      Src: /src/glib/glib/gspawn.c:2111,1
    - Dst: sigaddset
      Src: /src/glib/glib/gspawn.c:2114,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn.c:2139,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:2134,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gspawn.c:2133,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gspawn.c:2159,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn.c:2171,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:2182,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn.c:2195,1
    - Dst: sigaddset
      Src: /src/glib/glib/gspawn.c:2115,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gspawn.c:2134,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:2144,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn.c:2163,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gspawn.c:2182,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:2183,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn.c:2224,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn.c:2229,1
    - Dst: dupfd_cloexec
      Src: /src/glib/glib/gspawn.c:2232,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/glib/glib/gspawn.c:2253,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2274,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/glib/glib/gspawn.c:2283,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:2279,1
    - Dst: posix_spawnattr_init
      Src: /src/glib/glib/gspawn.c:2094,1
    - Dst: sigaddset
      Src: /src/glib/glib/gspawn.c:2112,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn.c:2129,1
    - Dst: posix_spawnattr_setsigdefault
      Src: /src/glib/glib/gspawn.c:2117,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2140,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/glib/glib/gspawn.c:2121,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:2158,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:2168,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gspawn.c:2183,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:2192,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn.c:2239,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn.c:2280,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn.c:2188,1
    - Dst: strchr
      Src: /src/glib/glib/gspawn.c:2264,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gspawn.c:2286,1
    - Dst: posix_spawn
      Src: /src/glib/glib/gspawn.c:2265,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 149
    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: 2289
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2289
    functionName: do_posix_spawn
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - posix_spawnp
    - posix_spawn
    - GINT_TO_POINTER
    - g_slist_prepend
    - strchr
    - posix_spawnattr_init
    - g_slist_find
    - posix_spawnattr_setsigdefault
    - dupfd_cloexec
    - posix_spawn_file_actions_destroy
    - sigaddset
    - sigemptyset
    - fcntl
    - close_and_invalidate
    - safe_open
    - posix_spawn_file_actions_init
    - GPOINTER_TO_INT
    - MAX
    - g_slist_free
    - posix_spawnattr_setflags
    - posix_spawn_file_actions_adddup2
    - g_free
    - posix_spawnattr_destroy
    - g_assert
    - g_new
    - posix_spawn_file_actions_addclose
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:1049,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/gspawn.c:1052,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn.c:1067,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/gspawn.c:1057,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: 1070
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1070
    functionName: g_spawn_command_line_sync
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_spawn_sync
    - g_return_val_if_fail
    - g_shell_parse_argv
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/gspawn.c:2024,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:2038,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:2035,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:2039,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: 2052
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2052
    functionName: read_ints
    functionSourceFile: /src/glib/glib/gspawn.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: 31
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:391,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:395,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn.c:441,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:473,1
    - Dst: read_data
      Src: /src/glib/glib/gspawn.c:480,1
    - Dst: read_data
      Src: /src/glib/glib/gspawn.c:499,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:469,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:486,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn.c:554,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:557,1
    - Dst: g_poll
      Src: /src/glib/glib/gspawn.c:458,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn.c:568,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:390,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:392,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn.c:407,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn.c:436,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:520,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:505,1
    - Dst: _
      Src: /src/glib/glib/gspawn.c:472,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:522,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn.c:581,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn.c:578,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:393,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gspawn.c:458,1
    - Dst: waitpid
      Src: /src/glib/glib/gspawn.c:529,1
    - Dst: g_warning
      Src: /src/glib/glib/gspawn.c:539,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn.c:566,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn.c:558,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 115
    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: 585
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 585
    functionName: g_spawn_sync
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_string_new
    - g_poll
    - _
    - g_strerror
    - g_warning
    - fork_exec
    - g_string_free
    - close_and_invalidate
    - read_data
    - G_N_ELEMENTS
    - g_return_val_if_fail
    - waitpid
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:966,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:967,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:968,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:973,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:970,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn.c:976,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    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: 997
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 997
    functionName: g_spawn_async_with_fds
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - fork_exec
    - g_return_val_if_fail
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: fdwalk
      Src: /src/glib/glib/gspawn.c:1433,1
    - Dst: syscall
      Src: /src/glib/glib/gspawn.c:1459,1
    - Dst: cb
      Src: /src/glib/glib/gspawn.c:1469,1
    - Dst: filename_to_fd
      Src: /src/glib/glib/gspawn.c:1465,1
    - Dst: open
      Src: /src/glib/glib/gspawn.c:1445,1
    - Dst: g_close
      Src: /src/glib/glib/gspawn.c:1474,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1498,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1502,1
    - Dst: cb
      Src: /src/glib/glib/gspawn.c:1503,1
    - Dst: safe_fdwalk_with_invalid_fds
      Src: /src/glib/glib/gspawn.c:1509,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 2
    argNames:
    - (*cb)
    - data
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1511
    functionName: safe_fdwalk
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_close
    - fdwalk
    - fcntl
    - cb
    - safe_fdwalk_with_invalid_fds
    - syscall
    - filename_to_fd
    - open
    linkageType: ''
    returnType: int
    signature: 'static int safe_fdwalk (int (*cb)(void *data, int fd), void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/glib/gspawn.c:1727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - gint
    constantsTouched: []
    func_position:
      end: 1731
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1731
    functionName: safe_open
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - open
    linkageType: ''
    returnType: gint
    signature: 'static gint safe_open (const char *path, gint mode) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gspawn.c:2922,1
    - Dst: script_execute
      Src: /src/glib/glib/gspawn.c:2931,1
    - Dst: execve
      Src: /src/glib/glib/gspawn.c:2926,1
    - Dst: strlen
      Src: /src/glib/glib/gspawn.c:2946,1
    - Dst: execv
      Src: /src/glib/glib/gspawn.c:2928,1
    - Dst: strlen
      Src: /src/glib/glib/gspawn.c:2947,1
    - Dst: memcpy
      Src: /src/glib/glib/gspawn.c:2957,1
    - Dst: my_strchrnul
      Src: /src/glib/glib/gspawn.c:2968,1
    - Dst: memcpy
      Src: /src/glib/glib/gspawn.c:2976,1
    - Dst: execve
      Src: /src/glib/glib/gspawn.c:2980,1
    - Dst: execv
      Src: /src/glib/glib/gspawn.c:2982,1
    - Dst: script_execute
      Src: /src/glib/glib/gspawn.c:2985,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: 3042
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 3042
    functionName: g_execute
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - strlen
    - script_execute
    - memcpy
    - my_strchrnul
    - execv
    - execve
    - strchr
    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.c:2884,1
    - Dst: execv
      Src: /src/glib/glib/gspawn.c:2886,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: 2889
      start: 2858
    functionDepth: 0
    functionLinenumber: 2858
    functionLinenumberEnd: 2889
    functionName: script_execute
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - execve
    - execv
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean script_execute (const gchar *file, gchar **argv, gchar
      **argv_buffer, gsize argv_buffer_len, gchar **envp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1320,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1331,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1335,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - old_fd
    - new_fd_min
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1348
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1348
    functionName: dupfd_cloexec
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'static int dupfd_cloexec (int old_fd, int new_fd_min) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/gspawn.c:1373,1
    - Dst: close
      Src: /src/glib/glib/gspawn.c:1374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - fd
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1377
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1377
    functionName: close_func_with_invalid_fds
    functionSourceFile: /src/glib/glib/gspawn.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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/glib/glib/gspawn.c:1689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 1693
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1693
    functionName: safe_dup2
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - dup2
    linkageType: ''
    returnType: gint
    signature: 'static gint safe_dup2 (gint fd1, gint fd2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1296,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1309
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1309
    functionName: unset_cloexec
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: void
    signature: 'static void unset_cloexec (int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close_range
      Src: /src/glib/glib/gspawn.c:1639,1
    - Dst: safe_fdwalk
      Src: /src/glib/glib/gspawn.c:1675,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn.c:1673,1
    - Dst: closefrom
      Src: /src/glib/glib/gspawn.c:1658,1
    - Dst: syscall
      Src: /src/glib/glib/gspawn.c:1666,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:1675,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - lowfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1679
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1679
    functionName: safe_closefrom
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - closefrom
    - GINT_TO_POINTER
    - safe_fdwalk
    - close_range
    - fcntl
    - syscall
    linkageType: ''
    returnType: int
    signature: 'static int safe_closefrom (int lowfd) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1790,1
    - Dst: relocate_fd_out_of_standard_range
      Src: /src/glib/glib/gspawn.c:1789,1
    - Dst: IS_VALID_FILENO
      Src: /src/glib/glib/gspawn.c:1806,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn.c:1808,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1809,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn.c:1812,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn.c:1821,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1822,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn.c:1846,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1847,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:1893,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn.c:1890,1
    - Dst: g_execute
      Src: /src/glib/glib/gspawn.c:1995,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn.c:1907,1
    - Dst: dupfd_cloexec
      Src: /src/glib/glib/gspawn.c:1976,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn.c:1850,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1859,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1982,1
    - Dst: relocate_fd_out_of_standard_range
      Src: /src/glib/glib/gspawn.c:1837,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1838,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn.c:1886,1
    - Dst: safe_closefrom
      Src: /src/glib/glib/gspawn.c:1908,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1909,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn.c:1882,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:1921,1
    - Dst: dupfd_cloexec
      Src: /src/glib/glib/gspawn.c:1954,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1956,1
    - Dst: unset_cloexec
      Src: /src/glib/glib/gspawn.c:1967,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn.c:1981,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1867,1
    - Dst: relocate_fd_out_of_standard_range
      Src: /src/glib/glib/gspawn.c:1866,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn.c:1858,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1906,1
    - Dst: IS_STD_FILENO
      Src: /src/glib/glib/gspawn.c:1785,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1775,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:1812,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1819,1
    - Dst: IS_VALID_FILENO
      Src: /src/glib/glib/gspawn.c:1844,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:1824,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:1850,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1856,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:1861,1
    - Dst: IS_STD_FILENO
      Src: /src/glib/glib/gspawn.c:1864,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1879,1
    - Dst: IS_VALID_FILENO
      Src: /src/glib/glib/gspawn.c:1876,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn.c:1905,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:2001,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1978,1
    - Dst: chdir
      Src: /src/glib/glib/gspawn.c:1774,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn.c:1817,1
    - Dst: IS_STD_FILENO
      Src: /src/glib/glib/gspawn.c:1833,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn.c:1854,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1891,1
    - Dst: safe_fdwalk_set_cloexec
      Src: /src/glib/glib/gspawn.c:1914,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1915,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn.c:1921,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn.c:1937,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn.c:1878,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1888,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:1907,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn.c:1882,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn.c:1942,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn.c:1984,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 148
    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: 2003
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 2003
    functionName: do_exec
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - write_err_and_exit
    - safe_fdwalk_set_cloexec
    - GINT_TO_POINTER
    - unset_cloexec
    - IS_STD_FILENO
    - set_cloexec
    - dupfd_cloexec
    - safe_dup2
    - safe_closefrom
    - g_execute
    - safe_open
    - IS_VALID_FILENO
    - close_and_invalidate
    - MAX
    - chdir
    - relocate_fd_out_of_standard_range
    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_async_with_pipes
      Src: /src/glib/glib/gspawn.c:255,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: 263
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 263
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:883,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:886,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:888,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:887,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:884,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:890,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:891,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:892,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn.c:901,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: 926
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 926
    functionName: g_spawn_async_with_pipes_and_fds
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - fork_exec
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:1097,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/gspawn.c:1105,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn.c:1113,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/gspawn.c:1100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - command_line
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1116
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1116
    functionName: g_spawn_command_line_async
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_spawn_async
    - g_return_val_if_fail
    - g_shell_parse_argv
    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:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - wait_status
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 1236
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1236
    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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1416
    functionName: filename_to_fd
    functionSourceFile: /src/glib/glib/gspawn.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/gspawn.c:1535,1
    - Dst: proc_pidinfo
      Src: /src/glib/glib/gspawn.c:1570,1
    - Dst: getpid
      Src: /src/glib/glib/gspawn.c:1570,1
    - Dst: sysconf
      Src: /src/glib/glib/gspawn.c:1552,1
    - Dst: cb
      Src: /src/glib/glib/gspawn.c:1580,1
    - Dst: cb
      Src: /src/glib/glib/gspawn.c:1589,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 2
    argNames:
    - (*cb)
    - data
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1593
    functionName: safe_fdwalk_with_invalid_fds
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - getrlimit
    - getpid
    - sysconf
    - proc_pidinfo
    - cb
    linkageType: ''
    returnType: int
    signature: 'static int safe_fdwalk_with_invalid_fds (int (*cb)(void *data, int
      fd), void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 3056
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3056
    functionName: g_spawn_close_pid
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_spawn_close_pid (GPid pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_async_with_pipes_and_fds
      Src: /src/glib/glib/gspawn.c:624,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: 636
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 636
    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: 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:
    - strlen
    - g_environ_matches
    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: 1
    argNames:
    - variable
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: g_getenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - getenv
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_getenv (const gchar *variable) '
  - 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:585,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:585,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: 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:598,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:594,1
    - Dst: SetEnvironmentVariableW
      Src: /src/glib/glib/genviron.c:596,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:
    - _wputenv
    - g_free
    - g_utf8_to_utf16
    - g_strconcat
    - g_return_if_fail
    - SetEnvironmentVariableW
    - strchr
    - g_utf8_validate
    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: 1
    argNames:
    - variable
    argTypes:
    - gchar*
    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: g_new0
      Src: /src/glib/glib/genviron.c:618,1
    - Dst: wcslen
      Src: /src/glib/glib/genviron.c:614,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/genviron.c:624,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:627,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: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 642
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 642
    functionName: g_listenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - wcslen
    - FreeEnvironmentStringsW
    - strchr
    - GetEnvironmentStringsW
    - 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:
    - g_ascii_strncasecmp
    - strncmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_environ_matches (const gchar *env, const gchar *variable,
      gsize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/glib/glib/genviron.c:408,1
    - Dst: g_new0
      Src: /src/glib/glib/genviron.c:409,1
    - Dst: g_strndup
      Src: /src/glib/glib/genviron.c:416,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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_strndup
    - g_strv_length
    - g_new0
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_listenv (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:141,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:142,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:143,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_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: 4
    argNames:
    - envp
    - variable
    - value
    - overwrite
    argTypes:
    - gchar**
    - gchar*
    - gchar*
    - gboolean
    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_free
    - g_environ_find
    - g_strdup_printf
    - strchr
    - g_return_val_if_fail
    - g_strv_length
    - g_renew
    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: 3
    argNames:
    - envp
    - variable
    - free_value
    argTypes:
    - gchar**
    - gchar*
    - gboolean
    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:
    - strlen
    - g_free
    - g_environ_matches
    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: wcslen
      Src: /src/glib/glib/genviron.c:653,1
    - Dst: wcslen
      Src: /src/glib/glib/genviron.c:659,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/genviron.c:658,1
    - Dst: g_new
      Src: /src/glib/glib/genviron.c:655,1
    - Dst: FreeEnvironmentStringsW
      Src: /src/glib/glib/genviron.c:661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - wcslen
    - g_new
    - FreeEnvironmentStringsW
    - GetEnvironmentStringsW
    - 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: strlen
      Src: /src/glib/glib/genviron.c:109,1
    - Dst: g_environ_find
      Src: /src/glib/glib/genviron.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - envp
    - variable
    argTypes:
    - gchar**
    - gchar*
    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:
    - strlen
    - g_environ_find
    - g_return_val_if_fail
    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: strchr
      Src: /src/glib/glib/genviron.c:301,1
    - Dst: g_thread_n_created
      Src: /src/glib/glib/genviron.c:307,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:301,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:302,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_strconcat
    - setenv
    - g_thread_n_created
    - g_debug
    - getenv
    - strchr
    - g_return_val_if_fail
    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: 1
    argNames:
    - void
    argTypes:
    - void
    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_environ_unsetenv_internal
      Src: /src/glib/glib/genviron.c:228,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:223,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - envp
    - variable
    argTypes:
    - gchar**
    - gchar*
    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_return_val_if_fail
    - g_environ_unsetenv_internal
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_environ_unsetenv (gchar **envp, const gchar *variable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/genviron.c:364,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: strchr
      Src: /src/glib/glib/genviron.c:365,1
    - Dst: g_thread_n_created
      Src: /src/glib/glib/genviron.c:370,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:
    - g_thread_n_created
    - g_debug
    - unsetenv
    - strchr
    - g_environ_unsetenv_internal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_unsetenv (const gchar *variable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:460,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/genviron.c:484,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/glib/genviron.c:502,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/genviron.c:518,1
    - Dst: GetEnvironmentVariableW
      Src: /src/glib/glib/genviron.c:475,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/genviron.c:461,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/glib/genviron.c:508,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:494,1
    - Dst: g_new
      Src: /src/glib/glib/genviron.c:506,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:514,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: g_quark_from_static_string
      Src: /src/glib/glib/genviron.c:483,1
    - Dst: GetEnvironmentVariableW
      Src: /src/glib/glib/genviron.c:491,1
    - Dst: wcschr
      Src: /src/glib/glib/genviron.c:498,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:510,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:521,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:461,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/genviron.c:473,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
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - variable
    argTypes:
    - gchar*
    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_quark_from_static_string
    - wcschr
    - g_free
    - g_utf8_to_utf16
    - g_quark_to_string
    - g_new
    - ExpandEnvironmentStringsW
    - GetLastError
    - g_utf16_to_utf8
    - g_quark_from_string
    - GetEnvironmentVariableW
    - g_return_val_if_fail
    - g_utf8_validate
    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:539,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:542,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:573,1
    - Dst: _wputenv
      Src: /src/glib/glib/genviron.c:567,1
    - Dst: g_strconcat
      Src: /src/glib/glib/genviron.c:563,1
    - 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_to_utf16
      Src: /src/glib/glib/genviron.c:562,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/genviron.c:564,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:539,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/genviron.c:541,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/genviron.c:561,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:566,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:572,1
    - Dst: SetEnvironmentVariableW
      Src: /src/glib/glib/genviron.c:570,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:
    - _wputenv
    - g_free
    - g_utf8_to_utf16
    - g_strconcat
    - g_getenv
    - SetEnvironmentVariableW
    - strchr
    - g_return_val_if_fail
    - g_utf8_validate
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_setenv (const gchar *variable, const gchar *value, gboolean
      overwrite) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:629,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gthread.c:632,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:643,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:639,1
    - Dst: func
      Src: /src/glib/glib/gthread.c:641,1
    - Dst: __atomic_store_n
      Src: /src/glib/glib/gthread.c:650,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gthread.c:655,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - once
    - func
    - arg
    argTypes:
    - GOnce*
    - GThreadFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 661
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 661
    functionName: g_once_impl
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - __atomic_store_n
    - g_cond_wait
    - g_cond_broadcast
    - g_mutex_unlock
    - func
    - g_mutex_lock
    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:745,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:750,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthread.c:748,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthread.c:751,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/gthread.c:747,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gthread.c:752,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gthread.c:753,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - location
    - result
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 755
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 755
    functionName: (g_once_init_leave)
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - g_atomic_pointer_exchange
    - g_cond_broadcast
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_once_init_leave) (volatile void *location, gsize result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gthread.c:797,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread.c:802,1
    - Dst: g_system_thread_free
      Src: /src/glib/glib/gthread.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GThread*
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: g_thread_unref
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_slice_free
    - g_system_thread_free
    linkageType: ''
    returnType: void
    signature: 'void g_thread_unref (GThread *thread) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gthread.c:817,1
    - Dst: GLIB_THREAD_SPAWNED
      Src: /src/glib/glib/gthread.c:820,1
    - Dst: TRACE
      Src: /src/glib/glib/gthread.c:820,1
    - Dst: g_private_set
      Src: /src/glib/glib/gthread.c:818,1
    - Dst: g_system_thread_set_name
      Src: /src/glib/glib/gthread.c:825,1
    - Dst: g_free
      Src: /src/glib/glib/gthread.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 833
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 833
    functionName: g_thread_proxy
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_free
    - g_private_set
    - g_assert
    - TRACE
    - GLIB_THREAD_SPAWNED
    - g_system_thread_set_name
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_thread_proxy (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new_internal
      Src: /src/glib/glib/gthread.c:887,1
    - Dst: g_error
      Src: /src/glib/glib/gthread.c:890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - name
    - func
    - data
    argTypes:
    - gchar*
    - GThreadFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 893
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 893
    functionName: g_thread_new
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_thread_new_internal
    - g_error
    linkageType: ''
    returnType: GThread*
    signature: 'GThread *g_thread_new (const gchar *name, GThreadFunc func, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthread.c:929,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthread.c:931,1
    - Dst: g_system_thread_new
      Src: /src/glib/glib/gthread.c:934,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gthread.c:933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 6
    argNames:
    - name
    - proxy
    - func
    - data
    - stack_size
    - error
    argTypes:
    - gchar*
    - GThreadFunc
    - GThreadFunc
    - gpointer
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 935
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 935
    functionName: g_thread_new_internal
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_system_thread_new
    - g_return_val_if_fail
    - g_atomic_int_inc
    - 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_return_val_if_fail
      Src: /src/glib/glib/gthread.c:997,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthread.c:998,1
    - Dst: g_system_thread_wait
      Src: /src/glib/glib/gthread.c:1000,1
    - Dst: g_thread_unref
      Src: /src/glib/glib/gthread.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GThread*
    constantsTouched: []
    func_position:
      end: 1010
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1010
    functionName: g_thread_join
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_thread_unref
    - g_system_thread_wait
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_thread_join (GThread *thread) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetNativeSystemInfo
      Src: /src/glib/glib/gthread.c:1069,1
    - Dst: GetProcessAffinityMask
      Src: /src/glib/glib/gthread.c:1072,1
    - Dst: sysconf
      Src: /src/glib/glib/gthread.c:1092,1
    - Dst: sysctl
      Src: /src/glib/glib/gthread.c:1105,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gthread.c:1072,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1111
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1111
    functionName: g_get_num_processors
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - GetNativeSystemInfo
    - GetProcessAffinityMask
    - sysctl
    - sysconf
    - GetCurrentProcess
    linkageType: ''
    returnType: guint
    signature: 'guint g_get_num_processors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/glib/gthread.c:543,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gthread.c:547,1
    - Dst: g_private_set
      Src: /src/glib/glib/gthread.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - GPrivate*
    - gsize
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: g_private_set_alloc0
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_malloc0
    - g_steal_pointer
    - g_private_set
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_private_set_alloc0 (GPrivate *key, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_unref
      Src: /src/glib/glib/gthread.c:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    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_atomic_int_get
      Src: /src/glib/glib/gthread.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 839
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 839
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:704,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gthread.c:710,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gthread.c:707,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread.c:705,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gthread.c:714,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gthread.c:715,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - location
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 719
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 719
    functionName: (g_once_init_enter)
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_slist_find
    - g_cond_wait
    - g_mutex_unlock
    - g_slist_prepend
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_once_init_enter) (volatile void *location) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new_internal
      Src: /src/glib/glib/gthread.c:918,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - name
    - func
    - data
    - error
    argTypes:
    - gchar*
    - GThreadFunc
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/glib/gthread.c:958,1
    - Dst: g_error
      Src: /src/glib/glib/gthread.c:961,1
    - Dst: g_system_thread_exit
      Src: /src/glib/glib/gthread.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - retval
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 966
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 966
    functionName: g_thread_exit
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_system_thread_exit
    - g_error
    - g_thread_self
    linkageType: ''
    returnType: void
    signature: 'void g_thread_exit (gpointer retval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/glib/gthread.c:1030,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gthread.c:1038,1
    - Dst: g_private_set
      Src: /src/glib/glib/gthread.c:1041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: g_thread_self
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_private_set
    - g_slice_new0
    - g_private_get
    linkageType: ''
    returnType: GThread*
    signature: 'GThread *g_thread_self (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthread.c:774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GThread*
    constantsTouched: []
    func_position:
      end: 777
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 777
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:226,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:227,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:226,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:
    - IS
    - TYPE
    - OR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isprint (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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:419,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:431,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:422,1
    - Dst: ISZEROWIDTHTYPE
      Src: /src/glib/glib/guniprop.c:422,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:
    - ISZEROWIDTHTYPE
    - TYPE
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_iszerowidth (gunichar c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_iswide_bsearch
      Src: /src/glib/glib/guniprop.c:501,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/guniprop.c:504,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:506,1
    - Dst: bsearch
      Src: /src/glib/glib/guniprop.c:504,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/guniprop.c:503,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:
    - GUINT_TO_POINTER
    - bsearch
    - g_unichar_type
    - G_N_ELEMENTS
    - g_unichar_iswide_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:
    - ATTTABLE
    - TYPE
    linkageType: ''
    returnType: int
    signature: 'int g_unichar_digit_value (gunichar c) '
  - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:291,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
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:293,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:
    - IS
    - TYPE
    - OR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isspace (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: OR
      Src: /src/glib/glib/guniprop.c:393,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:392,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:
    - IS
    - TYPE
    - OR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isdefined (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: 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guniprop.c:1195,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:1204,1
    - Dst: g_string_new
      Src: /src/glib/glib/guniprop.c:1197,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: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    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_new
    - g_string_append
    - g_string_free
    - g_utf8_get_char
    - g_unichar_tolower
    - g_string_append_unichar
    - G_N_ELEMENTS
    - g_return_val_if_fail
    - g_utf8_next_char
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_casefold (const gchar *str,\t\t gssize len) "
  - 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:187,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:186,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:188,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:
    - IS
    - TYPE
    - 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: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:616,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:628,1
    - Dst: ATTTABLE
      Src: /src/glib/glib/guniprop.c:612,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:
    - ATTTABLE
    - TYPE
    - g_utf8_get_char
    - G_N_ELEMENTS
    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: ISMARK
      Src: /src/glib/glib/guniprop.c:786,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:789,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:790,1
    - Dst: TYPE
      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:
    - ISMARK
    - g_unichar_to_utf8
    - TYPE
    - g_utf8_get_char
    - g_utf8_next_char
    linkageType: ''
    returnType: gint
    signature: "static gint output_marks (const char **p_inout,\t char *out_buffer,\t
      gboolean remove_dot) "
  - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:810,1
    - Dst: memcpy
      Src: /src/glib/glib/guniprop.c:817,1
    - Dst: strlen
      Src: /src/glib/glib/guniprop.c:815,1
    - Dst: strlen
      Src: /src/glib/glib/guniprop.c:813,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:
    - strlen
    - memcpy
    - g_utf8_next_char
    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: 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_unichar_iswide
      Src: /src/glib/glib/guniprop.c:537,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:547,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/guniprop.c:545,1
    - Dst: bsearch
      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
    - bsearch
    - g_unichar_iswide
    - GUINT_TO_POINTER
    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: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:587,1
    - Dst: ATTTABLE
      Src: /src/glib/glib/guniprop.c:572,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:576,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:
    - ATTTABLE
    - TYPE
    - g_utf8_get_char
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gunichar
    signature: 'gunichar g_unichar_toupper (gunichar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:1592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - iso15924
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 1597
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1597
    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: 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: 13
    BranchProfiles: []
    Callsites:
    - 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: output_special_case
      Src: /src/glib/glib/guniprop.c:898,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:840,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:891,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_fully_decompose
      Src: /src/glib/glib/guniprop.c:857,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:857,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/guniprop.c:861,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:877,1
    - Dst: output_marks
      Src: /src/glib/glib/guniprop.c:884,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:890,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:919,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:906,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:836,1
    - Dst: ISMARK
      Src: /src/glib/glib/guniprop.c:869,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: ATTTABLE
      Src: /src/glib/glib/guniprop.c:894,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:
    - IS
    - g_unichar_toupper
    - OR
    - ATTTABLE
    - memcpy
    - output_marks
    - g_unichar_to_utf8
    - ISMARK
    - output_special_case
    - g_unichar_fully_decompose
    - TYPE
    - g_utf8_get_char
    - G_N_ELEMENTS
    - g_utf8_next_char
    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: 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:1555,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:1558,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:1558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - script
    argTypes:
    - GUnicodeScript
    constantsTouched: []
    func_position:
      end: 1562
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1562
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:247,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:249,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:250,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:248,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:247,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:257,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:258,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:256,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:
    - IS
    - TYPE
    - OR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_ispunct (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:
    - ATTTABLE
    - TYPE
    linkageType: ''
    returnType: int
    signature: 'int g_unichar_xdigit_value (gunichar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_combining_class
      Src: /src/glib/glib/guniprop.c:984,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:984,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:990,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_get_char
    - g_utf8_next_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: real_tolower
      Src: /src/glib/glib/guniprop.c:1162,1
    - Dst: real_tolower
      Src: /src/glib/glib/guniprop.c:1160,1
    - Dst: get_locale_type
      Src: /src/glib/glib/guniprop.c:1155,1
    - Dst: g_malloc
      Src: /src/glib/glib/guniprop.c:1161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    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:
    - get_locale_type
    - g_return_val_if_fail
    - real_tolower
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_strdown (const gchar *str,\t\tgssize len) "
  - 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_getlocale
      Src: /src/glib/glib/guniprop.c:742,1
    - Dst: setlocale
      Src: /src/glib/glib/guniprop.c:749,1
    - Dst: g_free
      Src: /src/glib/glib/guniprop.c:747,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:1031,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1061,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1051,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1084,1
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:1086,1
    - Dst: output_special_case
      Src: /src/glib/glib/guniprop.c:1095,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1114,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:1045,1
    - Dst: ISALPHA
      Src: /src/glib/glib/guniprop.c:1076,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/guniprop.c:1060,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:1067,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: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:1039,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:1068,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: TYPE
      Src: /src/glib/glib/guniprop.c:1009,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1040,1
    - Dst: has_more_above
      Src: /src/glib/glib/guniprop.c:1058,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1048,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1060,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:1087,1
    - Dst: memcpy
      Src: /src/glib/glib/guniprop.c:1122,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:
    - IS
    - ISALPHA
    - OR
    - ATTTABLE
    - memcpy
    - g_unichar_to_utf8
    - output_special_case
    - TYPE
    - g_utf8_get_char
    - g_unichar_tolower
    - G_N_ELEMENTS
    - has_more_above
    - g_utf8_next_char
    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: 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: get_locale_type
      Src: /src/glib/glib/guniprop.c:961,1
    - Dst: real_toupper
      Src: /src/glib/glib/guniprop.c:968,1
    - Dst: g_malloc
      Src: /src/glib/glib/guniprop.c:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    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:
    - get_locale_type
    - g_return_val_if_fail
    - g_malloc
    - real_toupper
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_strup (const gchar *str,\t gssize len) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _snwprintf_s
      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:44,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32-private.c:45,1
    - Dst: wcslen
      Src: /src/glib/glib/gwin32-private.c:46,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:
    - wcslen
    - G_N_ELEMENTS
    - _snwprintf_s
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gtimezone.c:231,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:244,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:233,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gtimezone.c:242,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gtimezone.c:239,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gtimezone.c:249,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:250,1
    - Dst: g_array_index
      Src: /src/glib/glib/gtimezone.c:258,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:259,1
    - Dst: g_array_free
      Src: /src/glib/glib/gtimezone.c:261,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtimezone.c:267,1
    - Dst: g_array_free
      Src: /src/glib/glib/gtimezone.c:264,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:265,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gtimezone.c:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - tz
    argTypes:
    - GTimeZone*
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: g_time_zone_unref
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_free
    - G_LOCK
    - g_assert
    - g_array_index
    - G_UNLOCK
    - g_hash_table_remove
    - g_atomic_int_get
    - g_array_free
    - g_slice_free
    - g_atomic_int_compare_and_exchange
    linkageType: ''
    returnType: void
    signature: 'void g_time_zone_unref (GTimeZone *tz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/gtimezone.c:1709,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtimezone.c:1722,1
    - Dst: init_zone_from_rules
      Src: /src/glib/glib/gtimezone.c:1723,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1719,1
    - Dst: rules_from_identifier
      Src: /src/glib/glib/gtimezone.c:1717,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - footer
    - footerlen
    argTypes:
    - gchar*
    - size_t
    constantsTouched: []
    func_position:
      end: 1728
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1728
    functionName: parse_footertz
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - init_zone_from_rules
    - g_free
    - g_slice_new0
    - rules_from_identifier
    - g_strndup
    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:2038,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/gtimezone.c:2044,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtimezone.c:2045,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gtimezone.c:2041,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtimezone.c:2044,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gtimezone.c:2048,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gtimezone.c:2050,1
    - Dst: g_time_zone_ref
      Src: /src/glib/glib/gtimezone.c:2052,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:2054,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2057
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2057
    functionName: g_time_zone_new_local
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_strcmp0
    - g_clear_pointer
    - g_time_zone_get_identifier
    - g_time_zone_new_identifier
    - G_UNLOCK
    - g_getenv
    - g_time_zone_new_utc
    - g_time_zone_ref
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new_local (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2461,1
    - Dst: interval_isdst
      Src: /src/glib/glib/gtimezone.c:2466,1
    - Dst: interval_valid
      Src: /src/glib/glib/gtimezone.c:2461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - gint
    constantsTouched: []
    func_position:
      end: 2467
      start: 2457
    functionDepth: 0
    functionLinenumber: 2457
    functionLinenumberEnd: 2467
    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: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tz
    argTypes:
    - GTimeZone*
    constantsTouched: []
    func_position:
      end: 2491
      start: 2485
    functionDepth: 0
    functionLinenumber: 2485
    functionLinenumberEnd: 2491
    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_getenv
      Src: /src/glib/glib/gtimezone.c:650,1
    - Dst: zone_info_base_dir
      Src: /src/glib/glib/gtimezone.c:652,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:664,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gtimezone.c:663,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtimezone.c:666,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:673,1
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/gtimezone.c:676,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gtimezone.c:679,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/gtimezone.c:679,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/gtimezone.c:680,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/gtimezone.c:683,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:689,1
    - Dst: g_mapped_file_ref
      Src: /src/glib/glib/gtimezone.c:682,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:686,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - identifier
    - resolved_identifier
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 692
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 692
    functionName: zone_info_unix
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_bytes_new_with_free_func
    - g_mapped_file_ref
    - zone_info_base_dir
    - g_free
    - g_assert
    - g_mapped_file_unref
    - g_mapped_file_new
    - g_build_filename
    - g_getenv
    - g_mapped_file_get_contents
    - g_mapped_file_get_length
    - g_path_is_absolute
    linkageType: ''
    returnType: GBytes*
    signature: 'static GBytes *zone_info_unix (const gchar *identifier, const gchar
      *resolved_identifier) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gtimezone.c:1752,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1760,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gtimezone.c:1756,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1761
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1761
    functionName: g_time_zone_new
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_steal_pointer
    - g_time_zone_new_identifier
    - g_time_zone_new_utc
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new (const gchar *identifier) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: interval_end
      Src: /src/glib/glib/gtimezone.c:2263,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:2266,1
    - Dst: interval_start
      Src: /src/glib/glib/gtimezone.c:2266,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2270,1
    - Dst: interval_end
      Src: /src/glib/glib/gtimezone.c:2266,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2276,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2280,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2284,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2290,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2292,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2307,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2303,1
    - Dst: interval_isdst
      Src: /src/glib/glib/gtimezone.c:2297,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - tz
    - type
    - time_
    argTypes:
    - GTimeZone*
    - GTimeType
    - gint64*
    constantsTouched: []
    func_position:
      end: 2314
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2314
    functionName: g_time_zone_adjust_time
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_end
    - interval_local_start
    - g_assert
    - interval_isdst
    - interval_start
    - interval_local_end
    linkageType: ''
    returnType: gint
    signature: 'gint g_time_zone_adjust_time (GTimeZone *tz, GTimeType type, gint64
      *time_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2414,1
    - Dst: interval_valid
      Src: /src/glib/glib/gtimezone.c:2414,1
    - Dst: interval_abbrev
      Src: /src/glib/glib/gtimezone.c:2416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - gint
    constantsTouched: []
    func_position:
      end: 2417
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2417
    functionName: g_time_zone_get_abbreviation
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - interval_abbrev
    - interval_valid
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_time_zone_get_abbreviation (GTimeZone *tz, gint interval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gtimezone.c:854,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gtimezone.c:858,1
    - Dst: copy_windows_systemtime
      Src: /src/glib/glib/gtimezone.c:870,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:861,1
    - Dst: copy_windows_systemtime
      Src: /src/glib/glib/gtimezone.c:872,1
    - Dst: strncpy
      Src: /src/glib/glib/gtimezone.c:880,1
    - Dst: strncpy
      Src: /src/glib/glib/gtimezone.c:881,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:883,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:884,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - rule
    - tzi
    argTypes:
    - TimeZoneRule*
    - TIME_ZONE_INFORMATION*
    constantsTouched: []
    func_position:
      end: 887
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 887
    functionName: rule_from_windows_time_zone_info
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - strncpy
    - g_utf16_to_utf8
    - g_free
    - copy_windows_systemtime
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean rule_from_windows_time_zone_info (TimeZoneRule *rule,
      TIME_ZONE_INFORMATION *tzi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2216
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2216
    functionName: interval_valid
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean interval_valid (GTimeZone *tz, guint interval) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: interval_end
      Src: /src/glib/glib/gtimezone.c:2357,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2363,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2369,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2371,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2365,1
    - Dst: interval_isdst
      Src: /src/glib/glib/gtimezone.c:2377,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2381,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2384,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - tz
    - type
    - time_
    argTypes:
    - GTimeZone*
    - GTimeType
    - gint64
    constantsTouched: []
    func_position:
      end: 2390
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2390
    functionName: g_time_zone_find_interval
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_end
    - interval_local_start
    - interval_isdst
    - interval_local_end
    linkageType: ''
    returnType: gint
    signature: 'gint g_time_zone_find_interval (GTimeZone *tz, GTimeType type, gint64
      time_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2440,1
    - Dst: interval_offset
      Src: /src/glib/glib/gtimezone.c:2442,1
    - Dst: interval_valid
      Src: /src/glib/glib/gtimezone.c:2440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - gint
    constantsTouched: []
    func_position:
      end: 2443
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2443
    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: parse_constant_offset
      Src: /src/glib/glib/gtimezone.c:432,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:441,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:439,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:440,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - gtz
    - name
    argTypes:
    - GTimeZone*
    - gchar*
    constantsTouched: []
    func_position:
      end: 445
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 445
    functionName: zone_for_constant_offset
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_array_append_val
    - g_strdup
    - parse_constant_offset
    - g_array_sized_new
    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:520,1
    - Dst: g_file_test
      Src: /src/glib/glib/gtimezone.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 527
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 527
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s_time
    - tzdate
    argTypes:
    - SYSTEMTIME*
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 845
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 845
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gtimezone.c:897,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:901,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:910,1
    - Dst: g_malloc
      Src: /src/glib/glib/gtimezone.c:904,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:907,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gtimezone.c:914,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gtimezone.c:916,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 919
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 919
    functionName: windows_default_tzname
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_free
    - RegCloseKey
    - RegOpenKeyExW
    - RegQueryValueExW
    - g_utf16_to_utf8
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *windows_default_tzname (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:549,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtimezone.c:568,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gtimezone.c:573,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:613,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gtimezone.c:622,1
    - Dst: strlen
      Src: /src/glib/glib/gtimezone.c:624,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:633,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gtimezone.c:576,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:614,1
    - Dst: defined
      Src: /src/glib/glib/gtimezone.c:596,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gtimezone.c:593,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtimezone.c:617,1
    - Dst: zone_info_base_dir
      Src: /src/glib/glib/gtimezone.c:619,1
    - Dst: memmove
      Src: /src/glib/glib/gtimezone.c:630,1
    - Dst: strlen
      Src: /src/glib/glib/gtimezone.c:631,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gtimezone.c:545,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtimezone.c:562,1
    - Dst: g_strchomp
      Src: /src/glib/glib/gtimezone.c:601,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/glib/gtimezone.c:612,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gtimezone.c:590,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/gtimezone.c:541,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:548,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtimezone.c:547,1
    - Dst: g_lstat
      Src: /src/glib/glib/gtimezone.c:552,1
    - Dst: zone_identifier_illumos
      Src: /src/glib/glib/gtimezone.c:598,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:605,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:636,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 639
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 639
    functionName: zone_identifier_unix
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_lstat
    - g_clear_pointer
    - g_file_read_link
    - g_clear_error
    - g_steal_pointer
    - memmove
    - zone_identifier_illumos
    - strlen
    - g_error_matches
    - g_canonicalize_filename
    - g_strchomp
    - g_str_has_prefix
    - zone_info_base_dir
    - defined
    - g_build_filename
    - g_free
    - g_assert
    - g_getenv
    - g_file_get_contents
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *zone_identifier_unix (void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/glib/gtimezone.c:994,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1016,1
    - Dst: RegLoadMUIStringW
      Src: /src/glib/glib/gtimezone.c:1025,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gtimezone.c:1035,1
    - Dst: swprintf_s
      Src: /src/glib/glib/gtimezone.c:1057,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1047,1
    - Dst: rule_from_windows_time_zone_info
      Src: /src/glib/glib/gtimezone.c:1081,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1121,1
    - Dst: GetSystemDirectoryW
      Src: /src/glib/glib/gtimezone.c:978,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtimezone.c:999,1
    - Dst: RegLoadMUIStringW
      Src: /src/glib/glib/gtimezone.c:1012,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1029,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1062,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1069,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gtimezone.c:1096,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1100,1
    - Dst: register_tzi_to_tzi
      Src: /src/glib/glib/gtimezone.c:1105,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1109,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gtimezone.c:995,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:981,1
    - Dst: g_new0
      Src: /src/glib/glib/gtimezone.c:1052,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1042,1
    - Dst: register_tzi_to_tzi
      Src: /src/glib/glib/gtimezone.c:1079,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1083,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gtimezone.c:1114,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1119,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gtimezone.c:1000,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gtimezone.c:1004,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gtimezone.c:1034,1
    - Dst: memcmp
      Src: /src/glib/glib/gtimezone.c:1074,1
    - Dst: memcpy
      Src: /src/glib/glib/gtimezone.c:1077,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gtimezone.c:1094,1
    - Dst: g_new0
      Src: /src/glib/glib/gtimezone.c:1104,1
    - Dst: rule_from_windows_time_zone_info
      Src: /src/glib/glib/gtimezone.c:1107,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1118,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1120,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 121
    argCount: 3
    argNames:
    - identifier
    - resolved_identifier
    - rules
    argTypes:
    - gchar*
    - gchar*
    - TimeZoneRule**
    constantsTouched: []
    func_position:
      end: 1135
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 1135
    functionName: rules_from_windows_time_zone
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - memcpy
    - RegLoadMUIStringW
    - g_free
    - g_new0
    - GetSystemDirectoryW
    - g_utf8_to_utf16
    - g_assert
    - swprintf_s
    - register_tzi_to_tzi
    - rule_from_windows_time_zone_info
    - RegCloseKey
    - RegOpenKeyExW
    - RegQueryValueExW
    - g_strconcat
    - 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:1144,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gtimezone.c:1150,1
    - Dst: g_date_add_days
      Src: /src/glib/glib/gtimezone.c:1152,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gtimezone.c:1151,1
    - Dst: g_date_add_days
      Src: /src/glib/glib/gtimezone.c:1154,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/gtimezone.c:1155,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/gtimezone.c:1156,1
    - Dst: g_date_get_days_in_month
      Src: /src/glib/glib/gtimezone.c:1162,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gtimezone.c:1165,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gtimezone.c:1166,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/gtimezone.c:1182,1
    - Dst: g_date_add_days
      Src: /src/glib/glib/gtimezone.c:1180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1184
    functionName: find_relative_date
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_date_clear
    - g_date_set_dmy
    - g_date_get_day
    - g_date_get_weekday
    - g_date_add_days
    - g_date_get_month
    - g_date_get_days_in_month
    - g_date_is_leap_year
    linkageType: ''
    returnType: void
    signature: 'static void find_relative_date (TimeZoneDate *buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gtimezone.c:2008,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gtimezone.c:2010,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gtimezone.c:2012,1
    - Dst: g_time_zone_ref
      Src: /src/glib/glib/gtimezone.c:2015,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:2011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2016
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2016
    functionName: g_time_zone_new_utc
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_assert
    - g_time_zone_new_identifier
    - g_once_init_leave
    - g_time_zone_ref
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new_utc (void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 64
    argCount: 3
    argNames:
    - time_
    - offset
    - rfc8536
    argTypes:
    - gchar*
    - gint32*
    - gboolean
    constantsTouched: []
    func_position:
      end: 384
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 384
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:933,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - orig
    - target
    argTypes:
    - SYSTEMTIME*
    - SYSTEMTIME*
    constantsTouched: []
    func_position:
      end: 944
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 944
    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:1206,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gtimezone.c:1210,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1209,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/gtimezone.c:1212,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gtimezone.c:1211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - boundary
    - year
    - offset
    argTypes:
    - TimeZoneDate*
    - gint
    - gint32
    constantsTouched: []
    func_position:
      end: 1214
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1214
    functionName: boundary_for_year
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_date_get_julian
    - g_date_clear
    - g_assert
    - g_date_set_dmy
    - find_relative_date
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 boundary_for_year (TimeZoneDate *boundary, gint year,
      gint32 offset) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 2
    argNames:
    - pos
    - boundary
    argTypes:
    - gchar**
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1435
    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:
    - Dst: g_new0
      Src: /src/glib/glib/gtimezone.c:1534,1
    - Dst: strcpy
      Src: /src/glib/glib/gtimezone.c:1543,1
    - Dst: strcpy
      Src: /src/glib/glib/gtimezone.c:1544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rules
    - rule
    argTypes:
    - TimeZoneRule**
    - TimeZoneRule*
    constantsTouched: []
    func_position:
      end: 1546
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1546
    functionName: create_ruleset_from_rule
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - strcpy
    - g_new0
    linkageType: ''
    returnType: guint
    signature: 'static guint create_ruleset_from_rule (TimeZoneRule **rules, TimeZoneRule
      *rule) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/gtimezone.c:1575,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1577,1
    - Dst: parse_tz_boundary
      Src: /src/glib/glib/gtimezone.c:1576,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pos
    - target
    argTypes:
    - gchar**
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 1580
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1580
    functionName: parse_identifier_boundary
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_strndup
    - parse_tz_boundary
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_identifier_boundary (gchar **pos, TimeZoneDate
      *target) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gtimezone.c:1847,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtimezone.c:1854,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gtimezone.c:1874,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1899,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gtimezone.c:1909,1
    - Dst: rule_from_windows_time_zone_info
      Src: /src/glib/glib/gtimezone.c:1933,1
    - Dst: memset
      Src: /src/glib/glib/gtimezone.c:1935,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1950,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtimezone.c:1955,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1960,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtimezone.c:1977,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1908,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1980,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1855,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gtimezone.c:1849,1
    - Dst: zone_for_constant_offset
      Src: /src/glib/glib/gtimezone.c:1893,1
    - Dst: g_time_zone_ref
      Src: /src/glib/glib/gtimezone.c:1881,1
    - Dst: rules_from_windows_time_zone
      Src: /src/glib/glib/gtimezone.c:1912,1
    - Dst: init_zone_from_rules
      Src: /src/glib/glib/gtimezone.c:1916,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1916,1
    - Dst: GetTimeZoneInformation
      Src: /src/glib/glib/gtimezone.c:1929,1
    - Dst: g_new0
      Src: /src/glib/glib/gtimezone.c:1931,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1944,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1982,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gtimezone.c:1969,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1966,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:1859,1
    - Dst: zone_identifier_unix
      Src: /src/glib/glib/gtimezone.c:1865,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtimezone.c:1877,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1884,1
    - Dst: zone_info_unix
      Src: /src/glib/glib/gtimezone.c:1905,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1917,1
    - Dst: memset
      Src: /src/glib/glib/gtimezone.c:1936,1
    - Dst: init_zone_from_rules
      Src: /src/glib/glib/gtimezone.c:1941,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1941,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1958,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gtimezone.c:1851,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gtimezone.c:1863,1
    - Dst: windows_default_tzname
      Src: /src/glib/glib/gtimezone.c:1867,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtimezone.c:1875,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1882,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtimezone.c:1890,1
    - Dst: rules_from_identifier
      Src: /src/glib/glib/gtimezone.c:1896,1
    - Dst: init_zone_from_rules
      Src: /src/glib/glib/gtimezone.c:1898,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1898,1
    - Dst: init_zone_from_iana_info
      Src: /src/glib/glib/gtimezone.c:1908,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtimezone.c:1973,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1965,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 95
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1985
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1985
    functionName: g_time_zone_new_identifier
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - rules_from_identifier
    - g_clear_pointer
    - g_hash_table_insert
    - rule_from_windows_time_zone_info
    - g_steal_pointer
    - zone_for_constant_offset
    - zone_info_unix
    - g_slice_free
    - windows_default_tzname
    - g_strcmp0
    - GetTimeZoneInformation
    - g_bytes_unref
    - memset
    - g_hash_table_new
    - g_atomic_int_inc
    - init_zone_from_iana_info
    - g_str_equal
    - g_strdup
    - init_zone_from_rules
    - rules_from_windows_time_zone
    - g_free
    - g_new0
    - G_LOCK
    - g_assert
    - G_UNLOCK
    - zone_identifier_unix
    - g_hash_table_lookup
    - g_time_zone_ref
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new_identifier (const gchar *identifier) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2124,1
    - Dst: TRANSITION_INFO
      Src: /src/glib/glib/gtimezone.c:2131,1
    - Dst: TRANSITION
      Src: /src/glib/glib/gtimezone.c:2126,1
    - Dst: TRANSITION_INFO
      Src: /src/glib/glib/gtimezone.c:2138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2139
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2139
    functionName: interval_info
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - TRANSITION_INFO
    - g_return_val_if_fail
    - TRANSITION
    linkageType: ''
    returnType: TransitionInfo*
    signature: 'inline static const TransitionInfo *interval_info (GTimeZone *tz,
      guint interval) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtimezone.c:393,1
    - Dst: parse_time
      Src: /src/glib/glib/gtimezone.c:410,1
    - Dst: parse_time
      Src: /src/glib/glib/gtimezone.c:400,1
    - Dst: parse_time
      Src: /src/glib/glib/gtimezone.c:413,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - name
    - offset
    - rfc8536
    argTypes:
    - gchar*
    - gint32*
    - gboolean
    constantsTouched: []
    func_position:
      end: 424
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 424
    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: g_bytes_get_data
      Src: /src/glib/glib/gtimezone.c:705,1
    - Dst: memcmp
      Src: /src/glib/glib/gtimezone.c:713,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:722,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:731,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:751,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:763,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:775,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:788,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:819,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gtimezone.c:823,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:712,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:724,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:725,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:726,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:736,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:741,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:774,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:787,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:804,1
    - Dst: g_array_index
      Src: /src/glib/glib/gtimezone.c:812,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:803,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:723,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:727,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:744,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:738,1
    - Dst: parse_footertz
      Src: /src/glib/glib/gtimezone.c:750,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:746,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:762,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:765,1
    - Dst: gint32_from_be
      Src: /src/glib/glib/gtimezone.c:772,1
    - Dst: gint64_from_be
      Src: /src/glib/glib/gtimezone.c:782,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:730,1
    - Dst: memchr
      Src: /src/glib/glib/gtimezone.c:745,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:737,1
    - Dst: g_array_index
      Src: /src/glib/glib/gtimezone.c:800,1
    - Dst: gint32_from_be
      Src: /src/glib/glib/gtimezone.c:784,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:789,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 135
    argCount: 3
    argNames:
    - gtz
    - zoneinfo
    - identifier
    - /* (transfer full) */
    argTypes:
    - GTimeZone*
    - GBytes*
    - gchar*
    constantsTouched: []
    func_position:
      end: 825
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 825
    functionName: init_zone_from_iana_info
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_bytes_get_data
    - g_time_zone_unref
    - parse_footertz
    - g_assert
    - g_array_sized_new
    - gint64_from_be
    - guint32_from_be
    - g_array_index
    - g_array_append_val
    - g_steal_pointer
    - gint32_from_be
    - memcmp
    - memchr
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void init_zone_from_iana_info (GTimeZone *gtz, GBytes *zoneinfo,
      gchar *identifier /* (transfer full) */) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:949,1
    - Dst: system_time_copy
      Src: /src/glib/glib/gtimezone.c:954,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:950,1
    - Dst: system_time_copy
      Src: /src/glib/glib/gtimezone.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - reg
    - tzi
    argTypes:
    - RegTZI*
    - TIME_ZONE_INFORMATION*
    constantsTouched: []
    func_position:
      end: 956
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 956
    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:1228,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtimezone.c:1231,1
    - Dst: abs
      Src: /src/glib/glib/gtimezone.c:1233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - info
    - rule
    - is_dst
    argTypes:
    - TransitionInfo*
    - TimeZoneRule*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1234
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1234
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/gtimezone.c:1559,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1561,1
    - Dst: parse_constant_offset
      Src: /src/glib/glib/gtimezone.c:1560,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - pos
    - target
    argTypes:
    - gchar**
    - gint32*
    constantsTouched: []
    func_position:
      end: 1564
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1564
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1589,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gtimezone.c:1601,1
    - Dst: memset
      Src: /src/glib/glib/gtimezone.c:1610,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gtimezone.c:1596,1
    - Dst: strncpy
      Src: /src/glib/glib/gtimezone.c:1613,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - pos
    - buffer
    - size
    argTypes:
    - gchar**
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1616
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1616
    functionName: set_tz_name
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    - strncpy
    - g_assert
    - memset
    - g_ascii_isalnum
    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:2149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2150
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2150
    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:
    - Dst: interval_end
      Src: /src/glib/glib/gtimezone.c:2204,1
    - Dst: interval_offset
      Src: /src/glib/glib/gtimezone.c:2204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2207
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2207
    functionName: interval_local_end
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_end
    - interval_offset
    linkageType: ''
    returnType: gint64
    signature: 'inline static gint64 interval_local_end (GTimeZone *tz, guint interval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gtimezone.c:114,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/glib/gtimezone.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - be
    argTypes:
    - guint32_be
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: guint32_from_be
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - GUINT32_FROM_BE
    - memcpy
    linkageType: ''
    returnType: guint32
    signature: 'static inline guint32 guint32_from_be (const guint32_be be) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1265,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:1267,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1279,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:1266,1
    - Dst: boundary_for_year
      Src: /src/glib/glib/gtimezone.c:1290,1
    - Dst: fill_transition_info_from_rule
      Src: /src/glib/glib/gtimezone.c:1313,1
    - Dst: fill_transition_info_from_rule
      Src: /src/glib/glib/gtimezone.c:1314,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1350,1
    - Dst: boundary_for_year
      Src: /src/glib/glib/gtimezone.c:1332,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1371,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1317,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1352,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1375,1
    - Dst: boundary_for_year
      Src: /src/glib/glib/gtimezone.c:1372,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1316,1
    - Dst: fill_transition_info_from_rule
      Src: /src/glib/glib/gtimezone.c:1370,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1343,1
    - Dst: fill_transition_info_from_rule
      Src: /src/glib/glib/gtimezone.c:1278,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1293,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1345,1
    - Dst: boundary_for_year
      Src: /src/glib/glib/gtimezone.c:1330,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: 1377
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1377
    functionName: init_zone_from_rules
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_array_sized_new
    - g_array_append_val
    - g_steal_pointer
    - fill_transition_info_from_rule
    - boundary_for_year
    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:1645,1
    - Dst: memset
      Src: /src/glib/glib/gtimezone.c:1653,1
    - Dst: create_ruleset_from_rule
      Src: /src/glib/glib/gtimezone.c:1661,1
    - Dst: parse_offset
      Src: /src/glib/glib/gtimezone.c:1656,1
    - Dst: set_tz_name
      Src: /src/glib/glib/gtimezone.c:1655,1
    - Dst: set_tz_name
      Src: /src/glib/glib/gtimezone.c:1665,1
    - Dst: parse_offset
      Src: /src/glib/glib/gtimezone.c:1667,1
    - Dst: rules_from_windows_time_zone
      Src: /src/glib/glib/gtimezone.c:1678,1
    - Dst: strcpy
      Src: /src/glib/glib/gtimezone.c:1686,1
    - Dst: strcpy
      Src: /src/glib/glib/gtimezone.c:1687,1
    - Dst: parse_identifier_boundaries
      Src: /src/glib/glib/gtimezone.c:1699,1
    - Dst: create_ruleset_from_rule
      Src: /src/glib/glib/gtimezone.c:1702,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - identifier
    - rules
    argTypes:
    - gchar*
    - TimeZoneRule**
    constantsTouched: []
    func_position:
      end: 1703
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1703
    functionName: rules_from_identifier
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - rules_from_windows_time_zone
    - parse_identifier_boundaries
    - create_ruleset_from_rule
    - g_assert
    - strcpy
    - memset
    - set_tz_name
    - parse_offset
    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:2194,1
    - Dst: interval_offset
      Src: /src/glib/glib/gtimezone.c:2194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2197
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2197
    functionName: interval_local_start
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_start
    - interval_offset
    linkageType: ''
    returnType: gint64
    signature: 'inline static gint64 interval_local_start (GTimeZone *tz, guint interval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gtimezone.c:106,1
    - Dst: GINT64_FROM_BE
      Src: /src/glib/glib/gtimezone.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - be
    argTypes:
    - gint64_be
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gtimezone.c:461,1
    - Dst: g_strndup
      Src: /src/glib/glib/gtimezone.c:503,1
    - Dst: strstr
      Src: /src/glib/glib/gtimezone.c:473,1
    - Dst: g_strchomp
      Src: /src/glib/glib/gtimezone.c:504,1
    - Dst: strncmp
      Src: /src/glib/glib/gtimezone.c:465,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:505,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:506,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 510
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 510
    functionName: zone_identifier_illumos
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strndup
    - g_strchomp
    - strstr
    - g_steal_pointer
    - g_file_get_contents
    - strncmp
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *zone_identifier_illumos (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_date_clear
      Src: /src/glib/glib/gtimezone.c:1480,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/gtimezone.c:1481,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/gtimezone.c:1483,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/gtimezone.c:1484,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - pos
    - boundary
    - ignore_leap
    argTypes:
    - gchar**
    - TimeZoneDate*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1488
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1488
    functionName: parse_julian_boundary
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_date_get_month
    - g_date_get_day
    - g_date_set_julian
    - g_date_clear
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_julian_boundary (gchar** pos, TimeZoneDate *boundary,
      gboolean ignore_leap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_identifier_boundary
      Src: /src/glib/glib/gtimezone.c:1625,1
    - Dst: parse_identifier_boundary
      Src: /src/glib/glib/gtimezone.c:1629,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pos
    - tzr
    argTypes:
    - gchar**
    - TimeZoneRule*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1632
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRANSITION
      Src: /src/glib/glib/gtimezone.c:2158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2162
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2162
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2176,1
    - Dst: interval_info
      Src: /src/glib/glib/gtimezone.c:2177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2178
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2178
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gtimezone.c:110,1
    - Dst: GINT32_FROM_BE
      Src: /src/glib/glib/gtimezone.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - be
    argTypes:
    - gint32_be
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_mwd_boundary
      Src: /src/glib/glib/gtimezone.c:1501,1
    - Dst: parse_julian_boundary
      Src: /src/glib/glib/gtimezone.c:1508,1
    - Dst: parse_julian_boundary
      Src: /src/glib/glib/gtimezone.c:1514,1
    - Dst: parse_constant_offset
      Src: /src/glib/glib/gtimezone.c:1523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - identifier
    - boundary
    argTypes:
    - gchar*
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1529
    functionName: parse_tz_boundary
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - parse_constant_offset
    - parse_mwd_boundary
    - parse_julian_boundary
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_tz_boundary (const gchar *identifier, TimeZoneDate
      *boundary) '
  - 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_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2185,1
    - Dst: interval_info
      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: 2187
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2187
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:289,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtimezone.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tz
    argTypes:
    - GTimeZone*
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: g_time_zone_ref
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_inc
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_ref (GTimeZone *tz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtimezone.c:2089,1
    - Dst: ABS
      Src: /src/glib/glib/gtimezone.c:2092,1
    - Dst: ABS
      Src: /src/glib/glib/gtimezone.c:2093,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gtimezone.c:2094,1
    - Dst: ABS
      Src: /src/glib/glib/gtimezone.c:2091,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gtimezone.c:2097,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:2099,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gtimezone.c:2099,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:2101,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:2102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - gint32
    constantsTouched: []
    func_position:
      end: 2105
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2105
    functionName: g_time_zone_new_offset
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_time_zone_new_identifier
    - g_strdup_printf
    - g_time_zone_new_utc
    - g_time_zone_get_offset
    - ABS
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new_offset (gint32 seconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pp
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    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_malloc
      Src: /src/glib/glib/gbsearcharray.h:131,1
    - Dst: G_BSEARCH_UPPER_POWER2
      Src: /src/glib/glib/gbsearcharray.h:130,1
    - Dst: memset
      Src: /src/glib/glib/gbsearcharray.h:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - bconfig
    argTypes:
    - GBSearchConfig*
    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:
    - memset
    - g_return_val_if_fail
    - g_malloc
    - G_BSEARCH_UPPER_POWER2
    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: G_LIKELY
      Src: /src/glib/glib/gbsearcharray.h:168,1
    - Dst: cmp_nodes
      Src: /src/glib/glib/gbsearcharray.h:158,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:
    - G_BSEARCH_ARRAY_NODES
    - cmp_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_LIKELY
      Src: /src/glib/glib/gbsearcharray.h:232,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_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: 3
    argNames:
    - barray
    - bconfig
    - key_node
    argTypes:
    - GBSearchArray*
    - GBSearchConfig*
    - gconstpointer
    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:
    - memcpy
    - G_UNLIKELY
    - G_BSEARCH_ARRAY_NODES
    - g_bsearch_array_get_index
    - g_bsearch_array_lookup_insertion
    - G_LIKELY
    - g_bsearch_array_grow
    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_BSEARCH_ARRAY_NODES
      Src: /src/glib/glib/gbsearcharray.h:268,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gbsearcharray.h:270,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gbsearcharray.h:275,1
    - Dst: memmove
      Src: /src/glib/glib/gbsearcharray.h:269,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: 3
    argNames:
    - barray
    - bconfig
    - index_
    argTypes:
    - GBSearchArray*
    - GBSearchConfig*
    - guint
    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_realloc
    - G_UNLIKELY
    - G_BSEARCH_ARRAY_NODES
    - memmove
    - G_BSEARCH_UPPER_POWER2
    - g_return_val_if_fail
    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:205,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gbsearcharray.h:203,1
    - Dst: G_BSEARCH_UPPER_POWER2
      Src: /src/glib/glib/gbsearcharray.h:206,1
    - Dst: g_realloc
      Src: /src/glib/glib/gbsearcharray.h:208,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: 3
    argNames:
    - barray
    - bconfig
    - index_
    argTypes:
    - GBSearchArray*
    - GBSearchConfig*
    - guint
    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_realloc
    - G_UNLIKELY
    - G_BSEARCH_ARRAY_NODES
    - memmove
    - G_BSEARCH_UPPER_POWER2
    - g_return_val_if_fail
    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: memcpy
      Src: /src/glib/glib/gbsearcharray.h:253,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gbsearcharray.h:252,1
    - Dst: g_bsearch_array_insert
      Src: /src/glib/glib/gbsearcharray.h:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - barray
    - bconfig
    - key_node
    argTypes:
    - GBSearchArray*
    - GBSearchConfig*
    - gconstpointer
    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_lookup
    - memcpy
    - G_LIKELY
    - g_bsearch_array_insert
    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:95,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    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:146,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    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:184,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:194,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    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:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - time_
    - microseconds
    argTypes:
    - GTimeVal*
    - glong
    constantsTouched: []
    func_position:
      end: 326
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 326
    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:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 361
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 361
    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:612,1
    - Dst: gmtime
      Src: /src/glib/glib/gtimer.c:618,1
    - Dst: gmtime_r
      Src: /src/glib/glib/gtimer.c:621,1
    - Dst: gmtime
      Src: /src/glib/glib/gtimer.c:623,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtimer.c:636,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtimer.c:650,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - time_
    argTypes:
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 660
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 660
    functionName: g_time_val_to_iso8601
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - gmtime_r
    - g_return_val_if_fail
    - gmtime
    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:112,1
    - Dst: g_free
      Src: /src/glib/glib/gtimer.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:164,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:129,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimer.c:225,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - timer
    - microseconds
    argTypes:
    - GTimer*
    - gulong*
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: g_timer_elapsed
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_get_monotonic_time
    linkageType: ''
    returnType: gdouble
    signature: "gdouble g_timer_elapsed (GTimer *timer,\t\t gulong *microseconds) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/glib/glib/gtimer.c:276,1
    - Dst: nanosleep
      Src: /src/glib/glib/gtimer.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - microseconds
    argTypes:
    - gulong
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 284
    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:417,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimer.c:403,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:465,1
    - Dst: mktime_utc
      Src: /src/glib/glib/gtimer.c:539,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gtimer.c:505,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:428,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:459,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:525,1
    - Dst: mktime
      Src: /src/glib/glib/gtimer.c:545,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gtimer.c:414,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gtimer.c:408,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:424,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gtimer.c:456,1
    - Dst: mktime_utc
      Src: /src/glib/glib/gtimer.c:513,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:519,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimer.c:402,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:470,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gtimer.c:498,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gtimer.c:548,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 124
    argCount: 2
    argNames:
    - iso_date
    - time_
    argTypes:
    - gchar*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 552
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 552
    functionName: g_time_val_from_iso8601
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - mktime
    - g_ascii_isdigit
    - strtoul
    - mktime_utc
    - g_return_val_if_fail
    - g_ascii_isspace
    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: 3
    argNames:
    - required_major
    - required_minor
    - required_micro
    argTypes:
    - guint
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 196
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 196
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/giounix.c:196,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:216,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giounix.c:215,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_strerror
    - read
    - g_io_channel_error_from_errno
    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: 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_io_channel_get_buffer_condition
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_io_unix_dispatch (GSource *source,\t\t GSourceFunc
      callback,\t\t gpointer user_data) "
  - 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: 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:297,1
    - Dst: lseek
      Src: /src/glib/glib/giounix.c:303,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:
    - lseek
    - g_strerror
    - g_assert_not_reached
    - g_io_channel_error_from_errno
    - g_set_error_literal
    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_set_error_literal
      Src: /src/glib/glib/giounix.c:392,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:394,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_strerror
    - fcntl
    - g_io_channel_error_from_errno
    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: fstat
      Src: /src/glib/glib/giounix.c:633,1
    - Dst: S_ISREG
      Src: /src/glib/glib/giounix.c:634,1
    - Dst: S_ISCHR
      Src: /src/glib/glib/giounix.c:634,1
    - Dst: g_io_channel_init
      Src: /src/glib/glib/giounix.c:622,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: 1
    argNames:
    - fd
    argTypes:
    - gint
    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_ISREG
    - fstat
    - S_ISCHR
    - g_io_unix_get_flags
    - g_new
    - g_io_channel_init
    - S_ISBLK
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_unix_new (gint fd) '
  - 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: 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: 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_io_channel_error_from_errno
      Src: /src/glib/glib/giounix.c:256,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:255,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:
    - g_strerror
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - write
    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_io_channel_error_from_errno
      Src: /src/glib/glib/giounix.c:328,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:327,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_strerror
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - close
    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: 2
    argNames:
    - channel
    - condition
    argTypes:
    - GIOChannel*
    - GIOCondition
    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_set_static_name
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_io_unix_create_watch (GIOChannel *channel,\t\t\tGIOCondition
      condition) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/giounix.c:408,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
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:414,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
    - fcntl
    - g_assert_not_reached
    - g_warning
    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: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_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_set_error_literal
      Src: /src/glib/glib/giounix.c:545,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giounix.c:469,1
    - Dst: g_warning
      Src: /src/glib/glib/giounix.c:499,1
    - Dst: g_warning
      Src: /src/glib/glib/giounix.c:483,1
    - Dst: g_open
      Src: /src/glib/glib/giounix.c:531,1
    - Dst: S_ISBLK
      Src: /src/glib/glib/giounix.c:554,1
    - Dst: fstat
      Src: /src/glib/glib/giounix.c:541,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_assert_not_reached
      Src: /src/glib/glib/giounix.c:575,1
    - Dst: g_io_channel_init
      Src: /src/glib/glib/giounix.c:578,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 84
    argCount: 3
    argNames:
    - filename
    - mode
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    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_open
    - S_ISREG
    - fstat
    - g_strerror
    - S_ISCHR
    - g_assert_not_reached
    - g_new
    - g_warning
    - close
    - g_file_error_from_errno
    - g_set_error_literal
    - g_return_val_if_fail
    - g_io_channel_init
    - S_ISBLK
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_new_file (const gchar *filename, const gchar
      *mode, GError **error) '
  - 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_list_free1
      Src: /src/glib/glib/glist.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    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:
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:286,1
    - Dst: g_list_last
      Src: /src/glib/glib/glist.c:292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 304
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 304
    functionName: g_list_append
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_last
    - _g_list_alloc
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_append (GList *list, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 1013
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1013
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    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:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - list
    - compare_func
    argTypes:
    - GList*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 1304
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1304
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GList*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 901
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 901
    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: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GList*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 992
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 992
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1034
    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: 878
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 878
    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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - list
    - llink
    argTypes:
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 963
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 963
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - list
    - func
    - user_data
    argTypes:
    - GList*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1094
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1094
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - l1
    - l2
    - compare_func
    - user_data
    argTypes:
    - GList*
    - GList*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1240
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1240
    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:1106,1
    - Dst: _g_list_alloc0
      Src: /src/glib/glib/glist.c:1124,1
    - Dst: _g_list_alloc0
      Src: /src/glib/glib/glist.c:1110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - list
    - data
    - func
    - user_data
    argTypes:
    - GList*
    - gpointer
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1146
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1146
    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:1266,1
    - Dst: g_list_sort_real
      Src: /src/glib/glib/glist.c:1267,1
    - Dst: g_list_sort_real
      Src: /src/glib/glib/glist.c:1266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - list
    - compare_func
    - user_data
    argTypes:
    - GList*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1270
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1270
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:924,1
    - Dst: func
      Src: /src/glib/glib/glist.c:928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - list
    - data
    - func
    argTypes:
    - GList*
    - gconstpointer
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 934
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 934
    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:1203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - list
    - data
    - func
    - user_data
    argTypes:
    - GList*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1204
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1204
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_last
      Src: /src/glib/glib/glist.c:535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 544
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 544
    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:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    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:
    - Dst: g_list_insert_sorted_real
      Src: /src/glib/glib/glist.c:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - list
    - data
    - func
    argTypes:
    - GList*
    - gpointer
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 1173
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1173
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free_chain
      Src: /src/glib/glib/glist.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    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:411,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:413,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:412,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:432,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - list
    - sibling
    - link_
    argTypes:
    - GList*
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 448
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 448
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_alloc
      Src: /src/glib/glib/glist.c:468,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:470,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:489,1
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:499,1
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - list
    - sibling
    - data
    argTypes:
    - GList*
    - GList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 506
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 506
    functionName: g_list_insert_before
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_alloc
    - _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:692,1
    - Dst: _g_list_free1
      Src: /src/glib/glib/glist.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - list
    - link_
    argTypes:
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: g_list_delete_link
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_free1
    - _g_list_remove_link
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_delete_link (GList *list, GList *link_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_alloc0
      Src: /src/glib/glib/glist.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/glist.c:374,1
    - Dst: g_list_append
      Src: /src/glib/glib/glist.c:380,1
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:382,1
    - Dst: g_list_nth
      Src: /src/glib/glib/glist.c:378,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/glist.c:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - list
    - data
    - position
    argTypes:
    - GList*
    - gpointer
    - gint
    constantsTouched: []
    func_position:
      end: 390
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 390
    functionName: g_list_insert
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_list_nth
    - g_list_prepend
    - _g_list_alloc
    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:601,1
    - Dst: _g_list_free1
      Src: /src/glib/glib/glist.c:602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GList*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 608
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 608
    functionName: g_list_remove
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_free1
    - _g_list_remove_link
    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:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - list
    - llink
    argTypes:
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 675
    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: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 810
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 810
    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: 2
    argNames:
    - list
    - n
    argTypes:
    - GList*
    - guint
    constantsTouched: []
    func_position:
      end: 854
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 854
    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:1362,1
    - Dst: g_list_free
      Src: /src/glib/glib/glist.c:1364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - list_ptr
    - destroy
    argTypes:
    - GList**
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1366
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1366
    functionName: (g_clear_list)
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'void (g_clear_list) (GList **list_ptr, GDestroyNotify destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_foreach
      Src: /src/glib/glib/glist.c:245,1
    - Dst: g_list_free
      Src: /src/glib/glib/glist.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - list
    - free_func
    argTypes:
    - GList*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: g_list_free_full
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_foreach
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'void g_list_free_full (GList *list, GDestroyNotify free_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 351
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 351
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/glist.c:558,1
    - Dst: g_warning
      Src: /src/glib/glib/glist.c:565,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - list
    - link
    argTypes:
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 575
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 575
    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:643,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GList*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 648
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 648
    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:761,1
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:771,1
    - Dst: func
      Src: /src/glib/glib/glist.c:775,1
    - Dst: func
      Src: /src/glib/glib/glist.c:763,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - list
    - func
    - user_data
    argTypes:
    - GList*
    - GCopyFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 784
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 784
    functionName: g_list_copy_deep
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - func
    - _g_list_alloc
    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: 2
    argNames:
    - list
    - n
    argTypes:
    - GList*
    - guint
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 834
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_sort_real
      Src: /src/glib/glib/glist.c:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - list
    - compare_func
    - user_data
    argTypes:
    - GList*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1337
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1337
    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_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:183,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gbytes.c:190,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gbytes.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - data
    - size
    - free_func
    - user_data
    argTypes:
    - gconstpointer
    - gsize
    - GDestroyNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: g_bytes_new_with_free_func
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_init
    - g_return_val_if_fail
    - g_slice_new
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_bytes_new_with_free_func (gconstpointer data, gsize size,
      GDestroyNotify free_func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gbytes.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - GBytes*
    - gsize*
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 276
    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:333,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gbytes.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: g_bytes_unref
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_slice_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:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 396
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:428,1
    - Dst: MIN
      Src: /src/glib/glib/gbytes.c:431,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:429,1
    - Dst: memcmp
      Src: /src/glib/glib/gbytes.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - bytes1
    - bytes2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 435
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 435
    functionName: g_bytes_compare
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - memcmp
    - g_return_val_if_fail
    - MIN
    linkageType: ''
    returnType: gint
    signature: 'gint g_bytes_compare (gconstpointer bytes1, gconstpointer bytes2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:535,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/gbytes.c:537,1
    - Dst: g_byte_array_new_take
      Src: /src/glib/glib/gbytes.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 539
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 539
    functionName: g_bytes_unref_to_array
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_byte_array_new_take
    - g_bytes_unref_to_data
    - g_return_val_if_fail
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_bytes_unref_to_array (GBytes *bytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:582,1
    - Dst: g_size_checked_mul
      Src: /src/glib/glib/gbytes.c:588,1
    - Dst: g_size_checked_add
      Src: /src/glib/glib/gbytes.c:591,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: 611
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 611
    functionName: g_bytes_get_region
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_size_checked_add
    - g_size_checked_mul
    - g_return_val_if_fail
    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:449,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gbytes.c:453,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - bytes
    - free_func
    - size
    argTypes:
    - GBytes*
    - GDestroyNotify
    - gsize*
    constantsTouched: []
    func_position:
      end: 458
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 458
    functionName: try_steal_and_unref
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_atomic_ref_count_compare
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer try_steal_and_unref (GBytes *bytes, GDestroyNotify
      free_func, gsize *size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:97,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gbytes.c:99,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gbytes.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: g_bytes_new
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new_take
    - g_return_val_if_fail
    - 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:225,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:241,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gbytes.c:231,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:226,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:227,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:242,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:243,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:244,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gbytes.c:246,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gbytes.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - bytes
    - offset
    - length
    argTypes:
    - GBytes*
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 248
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 248
    functionName: g_bytes_new_from_bytes
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_bytes_ref
    - g_bytes_new_with_free_func
    - g_return_val_if_fail
    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:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    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:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    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:311,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/gbytes.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: g_bytes_ref
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_inc
    - g_return_val_if_fail
    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:363,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:364,1
    - Dst: memcmp
      Src: /src/glib/glib/gbytes.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes1
    - bytes2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 368
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 368
    functionName: g_bytes_equal
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - memcmp
    - g_return_val_if_fail
    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:486,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:487,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gbytes.c:503,1
    - Dst: try_steal_and_unref
      Src: /src/glib/glib/gbytes.c:494,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gbytes.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - GBytes*
    - gsize*
    constantsTouched: []
    func_position:
      end: 507
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 507
    functionName: g_bytes_unref_to_data
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_memdup2
    - try_steal_and_unref
    - g_return_val_if_fail
    - g_bytes_unref
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_bytes_unref_to_data (GBytes *bytes, gsize *size) '
  - 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:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - grefcount*
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    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_if_fail
      Src: /src/glib/glib/grefcount.c:122,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:126,1
    - Dst: g_critical
      Src: /src/glib/glib/grefcount.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rc
    argTypes:
    - grefcount*
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 138
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:192,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rc
    - val
    argTypes:
    - grefcount*
    - gint
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 201
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:268,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/grefcount.c:269,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arc
    argTypes:
    - gatomicrefcount*
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    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:291,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:292,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/grefcount.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - arc
    - val
    argTypes:
    - gatomicrefcount*
    - gint
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: (g_atomic_ref_count_compare)
    functionSourceFile: /src/glib/glib/grefcount.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_ref_count_compare) (gatomicrefcount *arc, gint
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - arc
    argTypes:
    - gatomicrefcount*
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    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_val_if_fail
      Src: /src/glib/glib/grefcount.c:159,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rc
    argTypes:
    - grefcount*
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 172
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:241,1
    - Dst: g_critical
      Src: /src/glib/glib/grefcount.c:246,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:243,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/grefcount.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - arc
    argTypes:
    - gatomicrefcount*
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 247
    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: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: strlen
      Src: /src/glib/glib/gstrfuncs.h:315,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: 1
    argNames:
    - str
    argTypes:
    - char*
    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:
    - strlen
    - memcpy
    - g_strdup
    - __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:491,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.h:494,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.h:495,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - str_pointer
    - new_str
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: g_set_str
    functionSourceFile: /src/glib/glib/gstrfuncs.h
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:669,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - array
    - n_items
    argTypes:
    - AST**
    - gint
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 671
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/gvariant-parser.c:802,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/gvariant-parser.c:817,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant-parser.c:805,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:809,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:803,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 818
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 818
    functionName: maybe_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_maybe
    - g_variant_new_maybe
    - ast_get_value
    - g_variant_type_element
    - ast_type_error
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *maybe_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:2207,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:2210,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2216,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:2208,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/gvariant-parser.c:2212,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:2223,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2224,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - stream
    - app
    - error
    argTypes:
    - TokenStream*
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 2227
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2227
    functionName: positional_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_free
    - token_stream_next
    - g_assert
    - token_stream_set_error
    - g_variant_new_va
    - token_stream_get
    - g_slice_new
    linkageType: ''
    returnType: AST*
    signature: 'static AST *positional_parse (TokenStream *stream, va_list *app, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gvariant-parser.c:568,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant-parser.c:573,1
    - Dst: parser_set_error_va
      Src: /src/glib/glib/gvariant-parser.c:569,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: 574
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 574
    functionName: ast_set_error
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - va_end
    - parser_set_error_va
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void ast_set_error (AST *ast, GError **error, AST *other_ast,
      gint code, const gchar *format, ...) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:684,1
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:693,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:702,1
    - Dst: pattern_coalesce
      Src: /src/glib/glib/gvariant-parser.c:701,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:697,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:724,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:727,1
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:731,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:732,1
    - Dst: pattern_coalesce
      Src: /src/glib/glib/gvariant-parser.c:734,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:756,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:735,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:736,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:747,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:744,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - array
    - n_items
    - error
    argTypes:
    - AST**
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 760
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 760
    functionName: ast_array_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_free
    - pattern_coalesce
    - g_assert
    - ast_get_pattern
    - ast_set_error
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *ast_array_get_pattern (AST **array, gint n_items, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:826,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: maybe_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void maybe_free (AST *ast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:2121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 2122
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2122
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:2154,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant-parser.c:2154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 2155
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2155
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:2134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 2139
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2139
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_assert
      Src: /src/glib/glib/gvariant-parser.c:1285,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1286,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1291,1
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:1293,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - stream
    - max_depth
    - app
    - error
    argTypes:
    - TokenStream*
    - guint
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 1302
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1302
    functionName: variant_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_free
    - token_stream_assert
    - parse
    - token_stream_require
    - g_slice_new
    linkageType: ''
    returnType: AST*
    signature: 'static AST *variant_parse (TokenStream *stream, guint max_depth, va_list
      *app, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/glib/gvariant-parser.c:657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - array
    - n_items
    - ast
    argTypes:
    - AST***
    - gint*
    - AST*
    constantsTouched: []
    func_position:
      end: 660
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 660
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gvariant-parser.c:105,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant-parser.c:115,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:110,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant-parser.c:108,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_string_new
    - g_assert
    - g_string_append_printf
    - g_string_append_c
    - g_string_append_vprintf
    - g_string_free
    - g_set_error_literal
    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: 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: 23
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_start_ref
      Src: /src/glib/glib/gvariant-parser.c:1818,1
    - Dst: token_stream_end_ref
      Src: /src/glib/glib/gvariant-parser.c:1820,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1821,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:1822,1
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:1819,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-parser.c:1825,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1826,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1833,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1836,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1837,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1847,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1883,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1844,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:1889,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1885,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1848,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 59
    argCount: 3
    argNames:
    - stream
    - app
    - error
    argTypes:
    - TokenStream*
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 1892
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1892
    functionName: bytestring_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - token_stream_next
    - token_stream_start_ref
    - g_assert
    - token_stream_end_ref
    - token_stream_get
    - g_slice_new
    - g_malloc
    - parser_set_error
    linkageType: ''
    returnType: AST*
    signature: 'static AST *bytestring_parse (TokenStream *stream, va_list *app, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:2261,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:2263,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant-parser.c:2262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 2264
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2264
    functionName: typedecl_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_free
    - g_variant_type_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void typedecl_free (AST *ast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant-parser.c:2243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 2244
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2244
    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: 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:
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:2253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 2254
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2254
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2292,1
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:2285,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2329,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2328,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2325,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2334,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2335,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2343,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2344,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2349,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2353,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2350,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:2373,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2289,1
    - Dst: g_variant_type_new
      Src: /src/glib/glib/gvariant-parser.c:2307,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant-parser.c:2309,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:2320,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2366,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:2379,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2346,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2347,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2361,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2281,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2302,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2326,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant-parser.c:2314,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2321,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2331,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2332,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2337,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2338,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2340,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2358,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2362,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant-parser.c:2375,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2359,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2341,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/gvariant-parser.c:2287,1
    - Dst: g_variant_type_string_get_depth_
      Src: /src/glib/glib/gvariant-parser.c:2297,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2299,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2311,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2315,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2356,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2355,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2352,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 4
    argNames:
    - stream
    - max_depth
    - app
    - error
    argTypes:
    - TokenStream*
    - guint
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 2385
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2385
    functionName: typedecl_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_string_is_valid
    - g_variant_type_free
    - g_free
    - token_stream_next
    - token_stream_consume
    - token_stream_set_error
    - parse
    - g_slice_new
    - token_stream_get
    - token_stream_peek
    - g_variant_type_is_definite
    - g_variant_type_new
    - g_variant_type_string_get_depth_
    - g_variant_type_copy
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:2165,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:2168,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:2175,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant-parser.c:2167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 2180
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2180
    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: va_start
      Src: /src/glib/glib/gvariant-parser.c:2728,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant-parser.c:2730,1
    - Dst: g_variant_new_parsed_va
      Src: /src/glib/glib/gvariant-parser.c:2729,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:2729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - builder
    - format
    - '...'
    argTypes:
    - GVariantBuilder*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2731
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2731
    functionName: g_variant_builder_add_parsed
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_builder_add_value
    - g_variant_new_parsed_va
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_add_parsed (GVariantBuilder *builder, const
      gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:2190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 2191
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2191
    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: 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: 1
    argNames:
    - stream
    argTypes:
    - TokenStream*
    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:
    - token_stream_prepare
    - g_strndup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *token_stream_get (TokenStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 541
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/gvariant-parser.c:2741,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - num
    - limit
    - result
    argTypes:
    - gchar*
    - gchar*
    - guint*
    constantsTouched: []
    func_position:
      end: 2752
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2752
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1039,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1045,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1055,1
    - Dst: token_stream_assert
      Src: /src/glib/glib/gvariant-parser.c:1044,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1050,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1060,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1067,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1068,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - stream
    - max_depth
    - app
    - error
    argTypes:
    - TokenStream*
    - guint
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 1071
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1071
    functionName: array_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_consume
    - token_stream_assert
    - parse
    - ast_array_append
    - ast_array_free
    - token_stream_require
    - g_slice_new
    - g_slice_free
    linkageType: ''
    returnType: AST*
    signature: 'static AST *array_parse (TokenStream *stream, guint max_depth, va_list
      *app, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:1907,1
    - Dst: strstr
      Src: /src/glib/glib/gvariant-parser.c:1910,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gvariant-parser.c:1908,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:1908,1
    - Dst: strstr
      Src: /src/glib/glib/gvariant-parser.c:1909,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1911,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1913,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 1914
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1914
    functionName: number_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - strchr
    - strstr
    - g_str_has_prefix
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *number_get_pattern (AST *ast, GError **error) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1951,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1972,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gvariant-parser.c:1969,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2011,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/gvariant-parser.c:2020,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant-parser.c:2026,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/gvariant-parser.c:2033,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant-parser.c:2039,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2050,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1993,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/gvariant-parser.c:2007,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2032,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant-parser.c:2027,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2019,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant-parser.c:2040,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/gvariant-parser.c:1948,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/gvariant-parser.c:2000,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2006,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant-parser.c:2013,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2024,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2037,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/gvariant-parser.c:2046,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant-parser.c:2052,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1943,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvariant-parser.c:2002,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant-parser.c:2014,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2045,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant-parser.c:2053,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:2057,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 89
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 2059
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 2059
    functionName: number_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_ascii_strtod
    - g_variant_type_equal
    - g_variant_type_peek_string
    - number_overflow
    - g_variant_new_uint16
    - g_variant_new_handle
    - g_variant_new_uint32
    - g_variant_new_int32
    - g_variant_new_int64
    - ast_set_error
    - g_ascii_strtoull
    - ast_type_error
    - g_variant_new_double
    - g_variant_new_byte
    - g_variant_new_uint64
    - g_variant_new_int16
    - parser_set_error
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *number_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strchomp
      Src: /src/glib/glib/gvariant-parser.c:2769,1
    - Dst: strrchr
      Src: /src/glib/glib/gvariant-parser.c:2770,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:2769,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2781,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2783,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2785,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2786,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant-parser.c:2788,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2789,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2790,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - err
    - str
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2791
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2791
    functionName: add_last_line
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_append
    - g_free
    - strrchr
    - g_string_append_c
    - g_strchomp
    linkageType: ''
    returnType: void
    signature: 'static void add_last_line (GString *err, const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1921,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvariant-parser.c:1924,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1926
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1926
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2066,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:2067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 2068
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2068
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/glib/glib/gvariant-parser.c:2805,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2812,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2814,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant-parser.c:2820,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gvariant-parser.c:2813,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant-parser.c:2822,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant-parser.c:2824,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: 2832
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2832
    functionName: add_lines_from_range
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_string_append_len
    - g_string_append_c
    - 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 549
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    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:971,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gvariant-parser.c:978,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:979,1
    - Dst: ast_array_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 982
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 982
    functionName: array_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strdup_printf
    - ast_array_get_pattern
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *array_get_pattern (AST *ast, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:845,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:847,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:860,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:852,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:854,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - stream
    - max_depth
    - app
    - error
    argTypes:
    - TokenStream*
    - guint
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 865
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 865
    functionName: maybe_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_set_error
    - token_stream_consume
    - parse
    - g_slice_new
    linkageType: ''
    returnType: AST*
    signature: 'static AST *maybe_parse (TokenStream *stream, guint max_depth, va_list
      *app, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/gvariant-parser.c:884,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant-parser.c:912,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-parser.c:927,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant-parser.c:930,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant-parser.c:945,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant-parser.c:945,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gvariant-parser.c:947,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant-parser.c:885,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant-parser.c:926,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:932,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:935,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant-parser.c:949,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-parser.c:928,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant-parser.c:951,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-parser.c:938,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant-parser.c:890,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/gvariant-parser.c:946,1
    - Dst: g_variant_store
      Src: /src/glib/glib/gvariant-parser.c:939,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 952
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 952
    functionName: maybe_wrapper
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_maybe
    - g_assert
    - g_variant_store
    - g_variant_new_from_bytes
    - g_variant_unref
    - g_bytes_new_take
    - g_bytes_unref
    - g_variant_type_info_query
    - g_steal_pointer
    - g_variant_type_element
    - g_variant_type_info_unref
    - g_variant_type_info_get
    - g_variant_is_trusted
    - g_malloc
    - g_variant_get_size
    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:1240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 1241
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1241
    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:1567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 1568
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1568
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1251,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1252,1
    - Dst: ast_resolve
      Src: /src/glib/glib/gvariant-parser.c:1254,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/gvariant-parser.c:1259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1260
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1260
    functionName: variant_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_new_variant
    - ast_resolve
    - g_variant_type_equal
    - ast_type_error
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *variant_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: array_parse
      Src: /src/glib/glib/gvariant-parser.c:2408,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2433,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2441,1
    - Dst: string_parse
      Src: /src/glib/glib/gvariant-parser.c:2443,1
    - Dst: token_stream_peek2
      Src: /src/glib/glib/gvariant-parser.c:2445,1
    - Dst: token_stream_end_ref
      Src: /src/glib/glib/gvariant-parser.c:2459,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2416,1
    - Dst: positional_parse
      Src: /src/glib/glib/gvariant-parser.c:2420,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2425,1
    - Dst: dictionary_parse
      Src: /src/glib/glib/gvariant-parser.c:2417,1
    - Dst: boolean_new
      Src: /src/glib/glib/gvariant-parser.c:2426,1
    - Dst: number_parse
      Src: /src/glib/glib/gvariant-parser.c:2431,1
    - Dst: typedecl_parse
      Src: /src/glib/glib/gvariant-parser.c:2439,1
    - Dst: bytestring_parse
      Src: /src/glib/glib/gvariant-parser.c:2447,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2407,1
    - Dst: token_stream_start_ref
      Src: /src/glib/glib/gvariant-parser.c:2405,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2413,1
    - Dst: variant_parse
      Src: /src/glib/glib/gvariant-parser.c:2414,1
    - Dst: token_stream_is_numeric
      Src: /src/glib/glib/gvariant-parser.c:2428,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2434,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2437,1
    - Dst: token_stream_is_keyword
      Src: /src/glib/glib/gvariant-parser.c:2438,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2442,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2451,1
    - Dst: token_stream_peek2
      Src: /src/glib/glib/gvariant-parser.c:2446,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2398,1
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:2404,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2410,1
    - Dst: tuple_parse
      Src: /src/glib/glib/gvariant-parser.c:2411,1
    - Dst: boolean_new
      Src: /src/glib/glib/gvariant-parser.c:2423,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2422,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2419,1
    - Dst: token_stream_peek_string
      Src: /src/glib/glib/gvariant-parser.c:2429,1
    - Dst: token_stream_peek_string
      Src: /src/glib/glib/gvariant-parser.c:2430,1
    - Dst: maybe_parse
      Src: /src/glib/glib/gvariant-parser.c:2435,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 4
    argNames:
    - stream
    - max_depth
    - app
    - error
    argTypes:
    - TokenStream*
    - guint
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 2464
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2464
    functionName: parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - dictionary_parse
    - token_stream_consume
    - boolean_new
    - typedecl_parse
    - token_stream_peek
    - tuple_parse
    - token_stream_prepare
    - number_parse
    - token_stream_set_error
    - token_stream_peek2
    - string_parse
    - variant_parse
    - token_stream_is_keyword
    - array_parse
    - bytestring_parse
    - positional_parse
    - token_stream_end_ref
    - token_stream_is_numeric
    - token_stream_start_ref
    - maybe_parse
    - token_stream_peek_string
    linkageType: ''
    returnType: AST*
    signature: 'static AST *parse (TokenStream *stream, guint max_depth, va_list *app,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:1267,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1269
    functionName: variant_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void variant_free (AST *ast) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1577,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1584,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant-parser.c:1578,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1580,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/glib/gvariant-parser.c:1582,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/gvariant-parser.c:1590,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1593,1
    - Dst: g_variant_is_signature
      Src: /src/glib/glib/gvariant-parser.c:1595,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1597,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/gvariant-parser.c:1603,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1607,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1608
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1608
    functionName: string_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_variant_new_string
    - g_variant_new_signature
    - g_variant_is_object_path
    - ast_set_error
    - g_variant_is_signature
    - ast_type_error
    - g_variant_new_object_path
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *string_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gvariant-parser.c:2679,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant-parser.c:2681,1
    - Dst: g_variant_new_parsed_va
      Src: /src/glib/glib/gvariant-parser.c:2680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2684
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2684
    functionName: g_variant_new_parsed
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_new_parsed_va
    - va_start
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_parsed (const gchar *format, ...) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gvariant-parser.c:2900,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2901,1
    - Dst: add_lines_from_range
      Src: /src/glib/glib/gvariant-parser.c:2916,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2929,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2930,1
    - Dst: add_lines_from_range
      Src: /src/glib/glib/gvariant-parser.c:2933,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2930,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2881,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:2894,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:2911,1
    - Dst: add_lines_from_range
      Src: /src/glib/glib/gvariant-parser.c:2945,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:2895,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2908,1
    - Dst: add_last_line
      Src: /src/glib/glib/gvariant-parser.c:2913,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:2927,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2942,1
    - Dst: g_string_free
      Src: /src/glib/glib/gvariant-parser.c:2952,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:2893,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2929,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2942,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 2
    argNames:
    - error
    - source_str
    argTypes:
    - GError*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2953
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2953
    functionName: g_variant_parse_error_print_context
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_new
    - g_string_append
    - parse_num
    - g_string_free
    - add_last_line
    - strchr
    - add_lines_from_range
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_variant_parse_error_print_context (GError *error, const gchar
      *source_str) '
  - 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_end
    - parser_set_error_va
    - va_start
    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: g_free
      Src: /src/glib/glib/gvariant-parser.c:1615,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1617
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1617
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2523,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2524,1
    - Dst: ast_resolve
      Src: /src/glib/glib/gvariant-parser.c:2533,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:2530,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:2535,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant-parser.c:2539,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gvariant-parser.c:2544,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:2552,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant-parser.c:2555,1
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:2564,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - type
    - text
    - limit
    - endptr
    - error
    argTypes:
    - GVariantType*
    - gchar*
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 2568
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2568
    functionName: g_variant_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_free
    - ast_resolve
    - parse
    - g_variant_unref
    - ast_get_value
    - parser_set_error
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_ascii_isspace
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_parse (const GVariantType *type, const gchar *text,
      const gchar *limit, const gchar **endptr, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2608,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:2615,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2609,1
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:2618,1
    - Dst: ast_resolve
      Src: /src/glib/glib/gvariant-parser.c:2617,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant-parser.c:2622,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant-parser.c:2625,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gvariant-parser.c:2627,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - format
    - app
    argTypes:
    - gchar*
    - va_list*
    constantsTouched: []
    func_position:
      end: 2630
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2630
    functionName: g_variant_new_parsed_va
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_free
    - g_error
    - ast_resolve
    - parse
    - g_clear_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_parsed_va (const gchar *format, va_list *app) '
  - 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_array_free
      Src: /src/glib/glib/gvariant-parser.c:1160,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1162
    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:1453,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1455,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1456
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1179,1
    - Dst: token_stream_assert
      Src: /src/glib/glib/gvariant-parser.c:1184,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1185,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1190,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1195,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1200,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1210,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1223,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1224,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 4
    argNames:
    - stream
    - max_depth
    - app
    - error
    argTypes:
    - TokenStream*
    - guint
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 1227
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1227
    functionName: tuple_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_consume
    - token_stream_assert
    - parse
    - ast_array_append
    - ast_array_free
    - token_stream_require
    - g_slice_new
    - g_slice_free
    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:1480,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1491,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1482,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1544,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1541,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1521,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1536,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1550,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1503,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1511,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1551,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1474,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1488,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1493,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1525,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1530,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1517,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1552,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1495,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1500,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1507,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1532,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    argCount: 4
    argNames:
    - stream
    - max_depth
    - app
    - error
    argTypes:
    - TokenStream*
    - guint
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 1555
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1555
    functionName: dictionary_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_consume
    - token_stream_assert
    - g_assert
    - parse
    - ast_array_append
    - ast_array_free
    - token_stream_require
    - g_slice_new
    - g_slice_free
    linkageType: ''
    returnType: AST*
    signature: 'static AST *dictionary_parse (TokenStream *stream, guint max_depth,
      va_list *app, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/gvariant-parser.c:994,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:995,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant-parser.c:998,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant-parser.c:997,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1004,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1006,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1010,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant-parser.c:1013,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1014
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1014
    functionName: array_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_type_is_array
    - g_variant_builder_clear
    - ast_get_value
    - g_variant_builder_add_value
    - g_variant_type_element
    - g_variant_builder_init
    - ast_type_error
    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:1090,1
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:1096,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/gvariant-parser.c:1100,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1105,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1104,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 1108
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1108
    functionName: tuple_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_get_pattern
    - g_free
    - g_new
    - g_strjoinv
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *tuple_get_pattern (AST *ast, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1637,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1656,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gvariant-parser.c:1646,1
    - Dst: strncpy
      Src: /src/glib/glib/gvariant-parser.c:1638,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/gvariant-parser.c:1642,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1662,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gvariant-parser.c:1664,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: 1668
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1668
    functionName: unicode_unescape
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - strncpy
    - g_assert
    - g_unichar_to_utf8
    - g_ascii_strtoull
    - g_ascii_isxdigit
    - parser_set_error
    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: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1785,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1786,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/glib/gvariant-parser.c:1788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: bytestring_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_new_bytestring
    - g_variant_type_equal
    - ast_type_error
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *bytestring_get_value (AST *ast, const GVariantType
      *type, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:780,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:786,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gvariant-parser.c:785,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:791,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 792
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 792
    functionName: maybe_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_get_pattern
    - g_strdup_printf
    - g_strdup
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *maybe_get_pattern (AST *ast, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1021,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1023
    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:1120,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1132,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1121,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant-parser.c:1123,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvariant-parser.c:1124,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1133,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1136,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1138,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1142,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvariant-parser.c:1143,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1148,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1149,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant-parser.c:1152,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1153
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1153
    functionName: tuple_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_type_is_tuple
    - g_variant_type_first
    - g_variant_builder_clear
    - ast_get_value
    - g_variant_builder_add_value
    - g_variant_type_next
    - g_variant_builder_init
    - ast_type_error
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *tuple_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:1691,1
    - Dst: unicode_unescape
      Src: /src/glib/glib/gvariant-parser.c:1730,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1716,1
    - Dst: unicode_unescape
      Src: /src/glib/glib/gvariant-parser.c:1721,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-parser.c:1694,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1705,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1713,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1724,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1733,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1754,1
    - Dst: token_stream_start_ref
      Src: /src/glib/glib/gvariant-parser.c:1688,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1702,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1717,1
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:1689,1
    - Dst: token_stream_end_ref
      Src: /src/glib/glib/gvariant-parser.c:1690,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1695,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1706,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1732,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1723,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1756,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:1760,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 50
    argCount: 3
    argNames:
    - stream
    - app
    - error
    argTypes:
    - TokenStream*
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 1763
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1763
    functionName: string_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - token_stream_next
    - unicode_unescape
    - token_stream_start_ref
    - g_assert
    - token_stream_end_ref
    - token_stream_get
    - g_slice_new
    - g_malloc
    - parser_set_error
    linkageType: ''
    returnType: AST*
    signature: 'static AST *string_parse (TokenStream *stream, va_list *app, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 1776
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1776
    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:1796,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1798
    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: 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_end
    - parser_set_error_va
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void token_stream_set_error (TokenStream *stream, GError **error,
      gboolean this_token, gint code, const gchar *format, ...) '
  - 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:
    - token_stream_prepare
    - g_ascii_isdigit
    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_next
    - token_stream_peek_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_consume (TokenStream *stream, const gchar
      *token) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant-parser.c:583,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:584,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 591
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 591
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:2082,1
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:2084,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:2085,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - app
    - error
    argTypes:
    - TokenStream*
    - va_list*
    - GError**
    constantsTouched: []
    func_position:
      end: 2088
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2088
    functionName: number_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_get
    - token_stream_next
    - g_slice_new
    linkageType: ''
    returnType: AST*
    signature: 'static AST *number_parse (TokenStream *stream, va_list *app, GError
      **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1324,1
    - Dst: ast_array_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:1326,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1339,1
    - Dst: abs
      Src: /src/glib/glib/gvariant-parser.c:1327,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:1344,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1346,1
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:1352,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gvariant-parser.c:1357,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1360,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 1363
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1363
    functionName: dictionary_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - ast_get_pattern
    - strchr
    - g_strdup_printf
    - ast_set_error
    - abs
    - ast_array_get_pattern
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *dictionary_get_pattern (AST *ast, GError **error) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gvariant-parser.c:183,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:266,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
    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_assert
    - g_ascii_isalnum
    - g_ascii_isspace
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_prepare (TokenStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:329,1
    - Dst: memcmp
      Src: /src/glib/glib/gvariant-parser.c:333,1
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:331,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:
    - strlen
    - memcmp
    - 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_set_error
    - token_stream_consume
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_require (TokenStream *stream, const gchar
      *token, const gchar *purpose, GError **error) '
  - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:601,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:619,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/gvariant-parser.c:639,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:639,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:616,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:640,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 643
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 643
    functionName: ast_resolve
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_free
    - ast_get_pattern
    - ast_get_value
    - ast_set_error
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *ast_resolve (AST *ast, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1379,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1386,1
    - Dst: g_variant_type_value
      Src: /src/glib/glib/gvariant-parser.c:1391,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1392,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant-parser.c:1410,1
    - Dst: g_variant_type_key
      Src: /src/glib/glib/gvariant-parser.c:1411,1
    - Dst: g_variant_type_value
      Src: /src/glib/glib/gvariant-parser.c:1412,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant-parser.c:1414,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1422,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1429,1
    - Dst: g_variant_builder_close
      Src: /src/glib/glib/gvariant-parser.c:1435,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant-parser.c:1381,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1427,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1434,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant-parser.c:1438,1
    - Dst: g_variant_type_key
      Src: /src/glib/glib/gvariant-parser.c:1383,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1384,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1394,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/gvariant-parser.c:1407,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/gvariant-parser.c:1420,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant-parser.c:1399,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1424,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1431,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/gvariant-parser.c:1378,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1389,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1397,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1408,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1440
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1440
    functionName: dictionary_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_type_value
    - g_variant_builder_close
    - g_variant_type_is_dict_entry
    - g_variant_builder_clear
    - ast_get_value
    - g_variant_builder_add_value
    - g_variant_type_element
    - g_variant_builder_init
    - g_variant_type_key
    - ast_type_error
    - g_variant_builder_open
    - g_variant_type_is_subtype_of
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *dictionary_get_value (AST *ast, const GVariantType
      *type, GError **error) '
  - 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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-parser.c:441,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:441,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:472,1
    - Dst: pattern_copy
      Src: /src/glib/glib/gvariant-parser.c:458,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:441,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:478,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:497,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 48
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 504
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 504
    functionName: pattern_coalesce
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - pattern_copy
    - strchr
    - g_malloc
    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:2100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ast
    - error
    argTypes:
    - AST*
    - GError**
    constantsTouched: []
    func_position:
      end: 2101
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2101
    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:304,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gvariant-parser.c:308,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gvariant-parser.c:309,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:
    - token_stream_prepare
    - g_ascii_isalpha
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_is_keyword (TokenStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:2110,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/gvariant-parser.c:2113,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:2111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - ast
    - type
    - error
    argTypes:
    - AST*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 2114
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2114
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 423
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 423
    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: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/glib/gregex.c:481,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:505,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:488,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:486,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:503,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:507,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:513,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:515,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:517,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:520,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 12
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 525
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 525
    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:867,1
    - Dst: IS_PCRE2_ERROR
      Src: /src/glib/glib/gregex.c:867,1
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:874,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:878,1
    - Dst: pcre2_get_ovector_count
      Src: /src/glib/glib/gregex.c:876,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:879,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:880,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/glib/glib/gregex.c:886,1
    - Dst: g_realloc_n
      Src: /src/glib/glib/gregex.c:890,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - match_info
    - error
    argTypes:
    - GMatchInfo*
    - GError**
    constantsTouched: []
    func_position:
      end: 901
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 901
    functionName: recalc_match_offsets
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_realloc_n
    - _
    - pcre2_get_ovector_count
    - IS_PCRE2_ERROR
    - g_assert
    - pcre2_get_ovector_pointer
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean recalc_match_offsets (GMatchInfo *match_info, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1426,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/gregex.c:1431,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:1436,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:1434,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - match_info
    - match_num
    argTypes:
    - GMatchInfo*
    - gint
    constantsTouched: []
    func_position:
      end: 1439
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1439
    functionName: g_match_info_fetch
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_match_info_fetch_pos
    - g_strdup
    - g_strndup
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_match_info_fetch (const GMatchInfo *match_info, gint match_num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/gregex.c:2136,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/gregex.c:2140,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/gregex.c:2139,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: 2142
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2142
    functionName: g_regex_match_simple
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_regex_unref
    - g_regex_new
    - 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: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - compile_flags
    argTypes:
    - GRegexCompileFlags
    constantsTouched: []
    func_position:
      end: 306
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 306
    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:530,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:541,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:541,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:534,1
    - Dst: get_pcre2_error_string
      Src: /src/glib/glib/gregex.c:536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 542
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 542
    functionName: get_match_error_message
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - get_pcre2_error_string
    - g_strdup
    - 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:929,1
    - Dst: pcre2_jit_stack_assign
      Src: /src/glib/glib/gregex.c:941,1
    - Dst: g_debug
      Src: /src/glib/glib/gregex.c:950,1
    - Dst: pcre2_jit_compile
      Src: /src/glib/glib/gregex.c:933,1
    - Dst: pcre2_jit_stack_create
      Src: /src/glib/glib/gregex.c:940,1
    - Dst: g_debug
      Src: /src/glib/glib/gregex.c:955,1
    - Dst: g_debug
      Src: /src/glib/glib/gregex.c:960,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gregex.c:970,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - match_info
    - match_options
    argTypes:
    - GMatchInfo*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 971
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 971
    functionName: enable_jit_with_match_options
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_jit_compile
    - g_assert
    - pcre2_jit_stack_create
    - g_assert_not_reached
    - g_debug
    - 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:1673,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gregex.c:1674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 1676
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1676
    functionName: g_regex_ref
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GRegex*
    signature: 'GRegex *g_regex_ref (GRegex *regex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:2848,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:2849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - InterpolationData*
    constantsTouched: []
    func_position:
      end: 2850
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2850
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/glib/gregex.c:3167,1
    - Dst: g_string_append
      Src: /src/glib/glib/gregex.c:3173,1
    - Dst: CHANGE_CASE
      Src: /src/glib/glib/gregex.c:3172,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/gregex.c:3172,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gregex.c:3171,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3173,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gregex.c:3180,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/gregex.c:3181,1
    - Dst: CHANGE_CASE
      Src: /src/glib/glib/gregex.c:3181,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - string
    - text
    - change_case
    argTypes:
    - GString*
    - gchar*
    - ChangeCase*
    constantsTouched: []
    func_position:
      end: 3185
      start: 3155
    functionDepth: 0
    functionLinenumber: 3155
    functionLinenumberEnd: 3185
    functionName: string_append
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_string_append
    - CHANGE_CASE
    - g_utf8_get_char
    - g_string_append_unichar
    - g_utf8_next_char
    linkageType: ''
    returnType: void
    signature: 'static void string_append (GString *string, const gchar *text, ChangeCase
      *change_case) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1560,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1561,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/gregex.c:1567,1
    - Dst: get_matched_substring_number
      Src: /src/glib/glib/gregex.c:1563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - match_info
    - name
    argTypes:
    - GMatchInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1568
    functionName: g_match_info_fetch_named
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - get_matched_substring_number
    - g_match_info_fetch
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_match_info_fetch_named (const GMatchInfo *match_info, const
      gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2096,1
    - Dst: g_regex_match_flags_from_pcre2
      Src: /src/glib/glib/gregex.c:2098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 2103
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2103
    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: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2688,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2689,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:2701,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:2735,1
    - Dst: PREV_CHAR
      Src: /src/glib/glib/gregex.c:2773,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/gregex.c:2746,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:2780,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:2800,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:2691,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:2706,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/gregex.c:2742,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:2757,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:2782,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/gregex.c:2797,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:2801,1
    - Dst: g_list_last
      Src: /src/glib/glib/gregex.c:2807,1
    - Dst: g_list_previous
      Src: /src/glib/glib/gregex.c:2807,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2690,1
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:2697,1
    - Dst: PREV_CHAR
      Src: /src/glib/glib/gregex.c:2793,1
    - Dst: g_list_length
      Src: /src/glib/glib/gregex.c:2805,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:2705,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/gregex.c:2716,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:2746,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:2755,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:2737,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:2795,1
    - Dst: g_new
      Src: /src/glib/glib/gregex.c:2805,1
    - Dst: g_list_free
      Src: /src/glib/glib/gregex.c:2810,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 106
    argCount: 7
    argNames:
    - regex
    - string
    - string_len
    - start_position
    - match_options
    - max_tokens
    - error
    argTypes:
    - GRegex*
    - gchar*
    - gssize
    - gint
    - GRegexMatchFlags
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 2813
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2813
    functionName: g_regex_split_full
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - strlen
    - g_match_info_next
    - g_new0
    - PREV_CHAR
    - g_strndup
    - g_list_last
    - g_list_prepend
    - g_match_info_free
    - g_new
    - g_list_length
    - g_match_info_fetch
    - g_list_free
    - g_propagate_error
    - g_list_previous
    - g_match_info_get_match_count
    - g_return_val_if_fail
    - g_list_free_full
    - g_regex_match_full
    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: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3640,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3670,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3671,1
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:3643,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gregex.c:3647,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3673,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3675,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3679,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3685,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:3687,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 30
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 3688
      start: 3633
    functionDepth: 0
    functionLinenumber: 3633
    functionLinenumberEnd: 3688
    functionName: g_regex_escape_string
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - g_string_append_c
    - g_string_append_len
    - g_string_free
    - g_return_val_if_fail
    - g_utf8_next_char
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_regex_escape_string (const gchar *string, gint length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: string_append
      Src: /src/glib/glib/gregex.c:3203,1
    - Dst: CHANGE_CASE
      Src: /src/glib/glib/gregex.c:3206,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3206,1
    - Dst: string_append
      Src: /src/glib/glib/gregex.c:3214,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/gregex.c:3211,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:3215,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/gregex.c:3219,1
    - Dst: string_append
      Src: /src/glib/glib/gregex.c:3222,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:3223,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - match_info
    - result
    - data
    argTypes:
    - GMatchInfo*
    - GString*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3233
      start: 3187
    functionDepth: 0
    functionLinenumber: 3187
    functionLinenumberEnd: 3233
    functionName: interpolate_replacement
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_free
    - g_match_info_fetch_named
    - CHANGE_CASE
    - string_append
    - g_string_append_c
    - g_match_info_fetch
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean interpolate_replacement (const GMatchInfo *match_info,
      GString *result, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1009
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1009
    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:1041,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/gregex.c:1043,1
    - Dst: pcre2_match_context_free
      Src: /src/glib/glib/gregex.c:1045,1
    - Dst: pcre2_jit_stack_free
      Src: /src/glib/glib/gregex.c:1047,1
    - Dst: pcre2_match_data_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
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1052,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1054
    functionName: g_match_info_unref
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_match_context_free
    - g_atomic_int_dec_and_test
    - g_regex_unref
    - g_free
    - pcre2_jit_stack_free
    - pcre2_match_data_free
    linkageType: ''
    returnType: void
    signature: 'void g_match_info_unref (GMatchInfo *match_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_match_info_unref
      Src: /src/glib/glib/gregex.c:1071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1072
    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:1266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1277
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1277
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1327
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_compile_context_create
      Src: /src/glib/glib/gregex.c:1816,1
    - Dst: pcre2_compile_context_free
      Src: /src/glib/glib/gregex.c:1824,1
    - Dst: pcre2_set_bsr
      Src: /src/glib/glib/gregex.c:1829,1
    - Dst: pcre2_set_newline
      Src: /src/glib/glib/gregex.c:1819,1
    - Dst: pcre2_compile_context_free
      Src: /src/glib/glib/gregex.c:1834,1
    - Dst: pcre2_compile
      Src: /src/glib/glib/gregex.c:1845,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1869,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gregex.c:1884,1
    - Dst: g_utf8_pointer_to_offset
      Src: /src/glib/glib/gregex.c:1874,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:1821,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:1831,1
    - Dst: translate_compile_error
      Src: /src/glib/glib/gregex.c:1865,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1878,1
    - Dst: get_pcre2_error_string
      Src: /src/glib/glib/gregex.c:1870,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:1882,1
    - Dst: g_error_new
      Src: /src/glib/glib/gregex.c:1877,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1883,1
    - Dst: pcre2_compile_context_free
      Src: /src/glib/glib/gregex.c:1851,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gregex.c:1876,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 5
    argNames:
    - pattern
    - compile_options
    - newline_options
    - bsr_options
    - error
    argTypes:
    - gchar*
    - uint32_t
    - uint32_t
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1890
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1890
    functionName: regex_compile
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - pcre2_compile
    - g_error_new
    - g_clear_pointer
    - pcre2_compile_context_create
    - translate_compile_error
    - get_pcre2_error_string
    - pcre2_set_bsr
    - g_strdup_printf
    - g_utf8_pointer_to_offset
    - pcre2_compile_context_free
    - g_propagate_error
    - pcre2_set_newline
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_match_all_full
      Src: /src/glib/glib/gregex.c:2336,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: 2338
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2338
    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:2580,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/gregex.c:2585,1
    - Dst: g_regex_split_full
      Src: /src/glib/glib/gregex.c:2584,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - pattern
    - string
    - compile_options
    - match_options
    argTypes:
    - gchar*
    - gchar*
    - GRegexCompileFlags
    - GRegexMatchFlags
    constantsTouched: []
    func_position:
      end: 2587
      start: 2571
    functionDepth: 0
    functionLinenumber: 2571
    functionLinenumberEnd: 2587
    functionName: g_regex_split_simple
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_regex_split_full
    - g_regex_unref
    - g_regex_new
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_regex_split_simple (const gchar *pattern, const gchar *string,
      GRegexCompileFlags compile_options, GRegexMatchFlags match_options) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:1903,1
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:1910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - re
    - compile_options
    argTypes:
    - pcre2_code*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1916
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1916
    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: 3
    BranchProfiles: []
    Callsites:
    - 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:3315,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:3314,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3316,1
    - Dst: split_replacement
      Src: /src/glib/glib/gregex.c:3318,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3321,1
    - Dst: g_regex_replace_eval
      Src: /src/glib/glib/gregex.c:3325,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3332,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:3334,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 7
    argNames:
    - regex
    - string
    - string_len
    - start_position
    - replacement
    - match_options
    - error
    argTypes:
    - GRegex*
    - gchar*
    - gssize
    - gint
    - gchar*
    - GRegexMatchFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 3337
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3337
    functionName: g_regex_replace
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_regex_replace_eval
    - split_replacement
    - g_return_val_if_fail
    - g_list_free_full
    - g_propagate_error
    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:3344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - match_info
    - result
    - data
    argTypes:
    - GMatchInfo*
    - GString*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3346
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3346
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 990
    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:1024,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gregex.c:1025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1027
    functionName: g_match_info_ref
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GMatchInfo*
    signature: 'GMatchInfo *g_match_info_ref (GMatchInfo *match_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1244
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1476,1
    - Dst: MAX
      Src: /src/glib/glib/gregex.c:1486,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1477,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: 1496
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1496
    functionName: g_match_info_fetch_pos
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - MAX
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_match_info_fetch_pos (const GMatchInfo *match_info, gint
      match_num, gint *start_pos, gint *end_pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2521,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2522,1
    - Dst: pcre2_substring_number_from_name
      Src: /src/glib/glib/gregex.c:2524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - regex
    - name
    argTypes:
    - GRegex*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2529
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2529
    functionName: g_regex_get_string_number
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_substring_number_from_name
    - g_return_val_if_fail
    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:3532,1
    - Dst: interpolation_list_needs_match
      Src: /src/glib/glib/gregex.c:3541,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3536,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:3543,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - replacement
    - has_references
    - error
    argTypes:
    - gchar*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 3546
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3546
    functionName: g_regex_check_replacement
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - split_replacement
    - interpolation_list_needs_match
    - g_propagate_error
    - g_list_free_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_regex_check_replacement (const gchar *replacement, gboolean
      *has_references, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 1
    argNames:
    - match_flags
    argTypes:
    - GRegexMatchFlags
    constantsTouched: []
    func_position:
      end: 431
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 431
    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: 94
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/glib/gregex.c:575,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:571,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:566,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:579,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:583,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:587,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:591,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:732,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:675,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:756,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:748,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:695,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:596,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:614,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:622,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:618,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:626,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:630,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:659,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:663,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:683,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:687,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:744,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:728,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:736,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:562,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:655,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:699,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:704,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:708,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:712,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:716,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:720,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:724,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:752,1
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:804,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:691,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:679,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:600,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:604,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:608,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:634,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:638,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:642,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:646,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:650,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:667,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:671,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:740,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 152
    argCount: 2
    argNames:
    - errcode
    - errmsg
    argTypes:
    - gint*
    - gchar**
    constantsTouched: []
    func_position:
      end: 805
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 805
    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:1599,1
    - Dst: get_matched_substring_number
      Src: /src/glib/glib/gregex.c:1602,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1600,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/gregex.c:1606,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: 1607
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1607
    functionName: g_match_info_fetch_named_pos
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_match_info_fetch_pos
    - g_return_val_if_fail
    - get_matched_substring_number
    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:1932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 1935
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1935
    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:1974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 1977
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1977
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2042,1
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:2068,1
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:2048,1
    - Dst: g_regex_compile_flags_from_pcre2
      Src: /src/glib/glib/gregex.c:2078,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 2079
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2079
    functionName: g_regex_get_compile_flags
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_pattern_info
    - g_return_val_if_fail
    - g_regex_compile_flags_from_pcre2
    linkageType: ''
    returnType: GRegexCompileFlags
    signature: 'GRegexCompileFlags g_regex_get_compile_flags (const GRegex *regex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_match_full
      Src: /src/glib/glib/gregex.c:2203,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: 2205
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2205
    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: 43
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/gregex.c:2915,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gregex.c:2993,1
    - Dst: g_ascii_digit_value
      Src: /src/glib/glib/gregex.c:2998,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:3026,1
    - Dst: g_ascii_digit_value
      Src: /src/glib/glib/gregex.c:3034,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gregex.c:3017,1
    - Dst: g_ascii_digit_value
      Src: /src/glib/glib/gregex.c:3053,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3034,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gregex.c:3073,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3082,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2918,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/gregex.c:2931,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2990,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3001,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3019,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:3072,1
    - Dst: g_error_new
      Src: /src/glib/glib/gregex.c:3094,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2934,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:2942,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gregex.c:2943,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2974,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2983,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3037,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3086,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3096,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3101,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 156
    argCount: 4
    argNames:
    - replacement
    - p
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - InterpolationData*
    - GError**
    constantsTouched: []
    func_position:
      end: 3104
      start: 2852
    functionDepth: 0
    functionLinenumber: 2852
    functionLinenumberEnd: 3104
    functionName: expand_escape
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - _
    - g_new0
    - g_error_new
    - g_unichar_to_utf8
    - g_ascii_xdigit_value
    - g_ascii_digit_value
    - g_ascii_isdigit
    - g_strndup
    - g_ascii_isalnum
    - g_propagate_error
    - g_utf8_next_char
    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: 440
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 440
    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:3119,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:3123,1
    - Dst: free_interpolation_data
      Src: /src/glib/glib/gregex.c:3124,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:3128,1
    - Dst: expand_escape
      Src: /src/glib/glib/gregex.c:3120,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:3137,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:3138,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:3140,1
    - Dst: g_list_reverse
      Src: /src/glib/glib/gregex.c:3146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - replacement
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3147
      start: 3106
    functionDepth: 0
    functionLinenumber: 3106
    functionLinenumberEnd: 3147
    functionName: split_replacement
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_new0
    - expand_escape
    - g_strndup
    - g_list_prepend
    - g_list_reverse
    - g_list_free_full
    - free_interpolation_data
    linkageType: ''
    returnType: GList*
    signature: 'static GList *split_replacement (const gchar *replacement, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3380,1
    - Dst: g_regex_replace_eval
      Src: /src/glib/glib/gregex.c:3383,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 7
    argNames:
    - regex
    - string
    - string_len
    - start_position
    - replacement
    - match_options
    - error
    argTypes:
    - GRegex*
    - gchar*
    - gssize
    - gint
    - gchar*
    - GRegexMatchFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 3389
      start: 3371
    functionDepth: 0
    functionLinenumber: 3371
    functionLinenumberEnd: 3389
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match
      Src: /src/glib/glib/gregex.c:1139,1
    - Dst: get_match_error_message
      Src: /src/glib/glib/gregex.c:1150,1
    - Dst: NEXT_CHAR
      Src: /src/glib/glib/gregex.c:1193,1
    - Dst: pcre2_match_data_create
      Src: /src/glib/glib/gregex.c:1167,1
    - Dst: recalc_match_offsets
      Src: /src/glib/glib/gregex.c:1178,1
    - Dst: pcre2_match_data_free
      Src: /src/glib/glib/gregex.c:1166,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:1221,1
    - Dst: enable_jit_with_match_options
      Src: /src/glib/glib/gregex.c:1116,1
    - Dst: IS_PCRE2_ERROR
      Src: /src/glib/glib/gregex.c:1148,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1100,1
    - Dst: pcre2_jit_match
      Src: /src/glib/glib/gregex.c:1119,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1101,1
    - Dst: g_debug
      Src: /src/glib/glib/gregex.c:1130,1
    - Dst: g_realloc_n
      Src: /src/glib/glib/gregex.c:1162,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:1169,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1099,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:1152,1
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:1202,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1153,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gregex.c:1155,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 2
    argNames:
    - match_info
    - error
    argTypes:
    - GMatchInfo*
    - GError**
    constantsTouched: []
    func_position:
      end: 1225
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1225
    functionName: g_match_info_next
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_set_error
    - enable_jit_with_match_options
    - g_realloc_n
    - _
    - g_match_info_next
    - IS_PCRE2_ERROR
    - g_clear_pointer
    - g_assert
    - get_match_error_message
    - pcre2_jit_match
    - pcre2_match_data_free
    - pcre2_match_data_create
    - g_debug
    - NEXT_CHAR
    - g_return_val_if_fail
    - pcre2_match
    - recalc_match_offsets
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_match_info_next (GMatchInfo *match_info, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1366,1
    - Dst: split_replacement
      Src: /src/glib/glib/gregex.c:1369,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1367,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:1372,1
    - Dst: interpolation_list_needs_match
      Src: /src/glib/glib/gregex.c:1376,1
    - Dst: g_critical
      Src: /src/glib/glib/gregex.c:1378,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gregex.c:1384,1
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:1384,1
    - Dst: interpolate_replacement
      Src: /src/glib/glib/gregex.c:1385,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:1387,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:1389,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - match_info
    - string_to_expand
    - error
    argTypes:
    - GMatchInfo*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1390
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1390
    functionName: g_match_info_expand_references
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - interpolate_replacement
    - g_critical
    - g_string_free
    - g_list_free_full
    - split_replacement
    - g_return_val_if_fail
    - interpolation_list_needs_match
    - g_propagate_error
    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:1747,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gregex.c:1755,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gregex.c:1758,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gregex.c:1760,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1761,1
    - Dst: get_pcre2_inline_compile_options
      Src: /src/glib/glib/gregex.c:1789,1
    - Dst: get_pcre2_bsr_match_options
      Src: /src/glib/glib/gregex.c:1779,1
    - Dst: pcre2_config
      Src: /src/glib/glib/gregex.c:1751,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1753,1
    - Dst: get_pcre2_newline_match_options
      Src: /src/glib/glib/gregex.c:1768,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:1774,1
    - Dst: get_pcre2_match_options
      Src: /src/glib/glib/gregex.c:1766,1
    - Dst: get_pcre2_bsr_compile_options
      Src: /src/glib/glib/gregex.c:1781,1
    - Dst: get_pcre2_newline_compile_options
      Src: /src/glib/glib/gregex.c:1770,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:1791,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1739,1
    - Dst: g_critical
      Src: /src/glib/glib/gregex.c:1753,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1740,1
    - Dst: regex_compile
      Src: /src/glib/glib/gregex.c:1783,1
    - Dst: get_pcre2_compile_options
      Src: /src/glib/glib/gregex.c:1765,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:1793,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 4
    argNames:
    - pattern
    - compile_options
    - match_options
    - error
    argTypes:
    - gchar*
    - GRegexCompileFlags
    - GRegexMatchFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1801
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1801
    functionName: g_regex_new
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - _
    - get_pcre2_match_options
    - get_pcre2_inline_compile_options
    - g_return_val_if_fail
    - get_pcre2_bsr_compile_options
    - regex_compile
    - pcre2_config
    - g_set_error_literal
    - get_pcre2_compile_options
    - G_UNLIKELY
    - g_critical
    - g_once_init_leave
    - g_set_error
    - g_strdup
    - get_pcre2_newline_compile_options
    - get_pcre2_bsr_match_options
    - g_new0
    - g_once_init_enter
    - get_pcre2_newline_match_options
    linkageType: ''
    returnType: GRegex*
    signature: 'GRegex *g_regex_new (const gchar *pattern, GRegexCompileFlags compile_options,
      GRegexMatchFlags match_options, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:2016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 2020
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2020
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_pcre2_newline_match_options
      Src: /src/glib/glib/gregex.c:2416,1
    - Dst: get_pcre2_newline_compile_options
      Src: /src/glib/glib/gregex.c:2418,1
    - Dst: g_realloc_n
      Src: /src/glib/glib/gregex.c:2463,1
    - Dst: match_info_new
      Src: /src/glib/glib/gregex.c:2436,1
    - Dst: get_match_error_message
      Src: /src/glib/glib/gregex.c:2472,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:2474,1
    - Dst: pcre2_code_free
      Src: /src/glib/glib/gregex.c:2486,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2410,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2411,1
    - Dst: IS_PCRE2_ERROR
      Src: /src/glib/glib/gregex.c:2470,1
    - Dst: pcre2_dfa_match
      Src: /src/glib/glib/gregex.c:2443,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/gregex.c:2498,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2412,1
    - Dst: g_realloc_n
      Src: /src/glib/glib/gregex.c:2454,1
    - Dst: pcre2_match_data_create
      Src: /src/glib/glib/gregex.c:2467,1
    - Dst: pcre2_match_data_free
      Src: /src/glib/glib/gregex.c:2466,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2413,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2414,1
    - Dst: get_pcre2_bsr_match_options
      Src: /src/glib/glib/gregex.c:2420,1
    - Dst: get_pcre2_bsr_compile_options
      Src: /src/glib/glib/gregex.c:2422,1
    - Dst: regex_compile
      Src: /src/glib/glib/gregex.c:2430,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2475,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gregex.c:2477,1
    - Dst: recalc_match_offsets
      Src: /src/glib/glib/gregex.c:2481,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: 2501
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2501
    functionName: g_regex_match_all_full
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - _
    - g_clear_pointer
    - pcre2_match_data_free
    - g_return_val_if_fail
    - recalc_match_offsets
    - get_pcre2_bsr_compile_options
    - regex_compile
    - g_realloc_n
    - pcre2_code_free
    - get_match_error_message
    - g_match_info_free
    - pcre2_match_data_create
    - match_info_new
    - pcre2_dfa_match
    - g_set_error
    - get_pcre2_newline_compile_options
    - get_pcre2_bsr_match_options
    - IS_PCRE2_ERROR
    - get_pcre2_newline_match_options
    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:3468,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:3469,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3472,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3470,1
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:3475,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gregex.c:3477,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/gregex.c:3480,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/gregex.c:3482,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3484,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:3495,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/gregex.c:3491,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:3489,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3499,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:3500,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3494,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 8
    argNames:
    - regex
    - string
    - string_len
    - start_position
    - match_options
    - eval
    - user_data
    - error
    argTypes:
    - GRegex*
    - gchar*
    - gssize
    - gint
    - GRegexMatchFlags
    - GRegexEvalCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3501
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3501
    functionName: g_regex_replace_eval
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - g_match_info_matches
    - g_match_info_next
    - g_match_info_free
    - g_string_free
    - g_string_append_len
    - g_propagate_error
    - g_return_val_if_fail
    - g_regex_match_full
    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: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - match_flags
    - compile_flags
    argTypes:
    - GRegexMatchFlags
    - GRegexCompileFlags
    constantsTouched: []
    func_position:
      end: 334
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 334
    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: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - pcre2_flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 388
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 388
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - match_flags
    argTypes:
    - GRegexMatchFlags
    constantsTouched: []
    func_position:
      end: 452
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 452
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_number_from_name
      Src: /src/glib/glib/gregex.c:1513,1
    - Dst: pcre2_substring_nametable_scan
      Src: /src/glib/glib/gregex.c:1517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - match_info
    - name
    argTypes:
    - GMatchInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1533
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1533
    functionName: get_matched_substring_number
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_substring_number_from_name
    - pcre2_substring_nametable_scan
    linkageType: ''
    returnType: gint
    signature: 'static gint get_matched_substring_number (const GMatchInfo *match_info,
      const gchar *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gregex.c:1690,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1697,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1694,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gregex.c:1692,1
    - Dst: pcre2_code_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: 1699
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1699
    functionName: g_regex_unref
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_code_free
    - g_atomic_int_dec_and_test
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_regex_unref (GRegex *regex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_split_full
      Src: /src/glib/glib/gregex.c:2623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - regex
    - string
    - match_options
    argTypes:
    - GRegex*
    - gchar*
    - GRegexMatchFlags
    constantsTouched: []
    func_position:
      end: 2625
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2625
    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: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - pcre2_flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 365
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 365
    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: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 1
    argNames:
    - compile_flags
    argTypes:
    - GRegexCompileFlags
    constantsTouched: []
    func_position:
      end: 411
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 411
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_error_message
      Src: /src/glib/glib/gregex.c:460,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gregex.c:461,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gregex.c:467,1
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:467,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gregex.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 469
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 469
    functionName: get_pcre2_error_string
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_N_ELEMENTS
    - g_memdup2
    - pcre2_get_error_message
    linkageType: ''
    returnType: char*
    signature: 'static char *get_pcre2_error_string (int errcode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:820,1
    - Dst: get_pcre2_match_options
      Src: /src/glib/glib/gregex.c:830,1
    - Dst: g_regex_ref
      Src: /src/glib/glib/gregex.c:824,1
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:832,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:822,1
    - Dst: pcre2_match_context_create
      Src: /src/glib/glib/gregex.c:835,1
    - Dst: g_new
      Src: /src/glib/glib/gregex.c:842,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:846,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/glib/glib/gregex.c:851,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - regex
    - string
    - string_len
    - start_position
    - match_options
    - is_dfa
    argTypes:
    - GRegex*
    - gchar*
    - gint
    - gint
    - GRegexMatchFlags
    - gboolean
    constantsTouched: []
    func_position:
      end: 856
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 856
    functionName: match_info_new
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - strlen
    - pcre2_match_data_create_from_pattern
    - g_new0
    - get_pcre2_match_options
    - g_regex_ref
    - pcre2_match_context_create
    - g_new
    - pcre2_pattern_info
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1642,1
    - Dst: g_new
      Src: /src/glib/glib/gregex.c:1647,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/gregex.c:1649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1653
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:1954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1957
    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:1994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 1997
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1997
    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: 2
    BranchProfiles: []
    Callsites:
    - 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:2287,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2290,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2289,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2288,1
    - Dst: match_info_new
      Src: /src/glib/glib/gregex.c:2292,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:2294,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/gregex.c:2298,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: 2301
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2301
    functionName: g_regex_match_full
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - match_info_new
    - g_return_val_if_fail
    - g_match_info_next
    - g_match_info_free
    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: 3255
      start: 3238
    functionDepth: 0
    functionLinenumber: 3238
    functionLinenumberEnd: 3255
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3571,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3589,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gregex.c:3578,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:3574,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_string_append_c
      Src: /src/glib/glib/gregex.c:3595,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3605,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3611,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:3613,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 3614
      start: 3563
    functionDepth: 0
    functionLinenumber: 3563
    functionLinenumberEnd: 3614
    functionName: g_regex_escape_nul
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_sized_new
    - g_string_append_c
    - g_string_append_len
    - g_string_free
    - g_return_val_if_fail
    - g_utf8_next_char
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_regex_escape_nul (const gchar *string, gint length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 381
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 381
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1533,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/gspawn-win32.c:1536,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/gspawn-win32.c:1541,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:1549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - command_line
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1552
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1552
    functionName: g_spawn_command_line_async
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_spawn_async
    - g_return_val_if_fail
    - g_shell_parse_argv
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_command_line_async (const gchar *command_line, GError
      **error) '
  - 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:
    - ensure_cmd_environment
    - _wspawnvpe
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/glib/glib/gspawn-win32.c:1560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 1561
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1561
    functionName: g_spawn_close_pid
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'void g_spawn_close_pid (GPid pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:357,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/gspawn-win32.c:359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    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: 367
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 367
    functionName: g_spawn_async
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - 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: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:581,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:588,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gspawn-win32.c:585,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:589,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:602,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:614,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:633,1
    - Dst: _g_spawn_exec_err_to_g_error
      Src: /src/glib/glib/gspawn-win32.c:638,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:591,1
    - Dst: utf8_charv_to_wcharv
      Src: /src/glib/glib/gspawn-win32.c:596,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:601,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:610,1
    - Dst: _wspawnvp
      Src: /src/glib/glib/gspawn-win32.c:623,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:609,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:613,1
    - Dst: _wspawnv
      Src: /src/glib/glib/gspawn-win32.c:628,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:632,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:638,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:640,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:598,1
    - Dst: safe_wspawnvpe
      Src: /src/glib/glib/gspawn-win32.c:621,1
    - Dst: safe_wspawnve
      Src: /src/glib/glib/gspawn-win32.c:626,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:612,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:634,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gspawn-win32.c:650,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:599,1
    - Dst: utf8_charv_to_wcharv
      Src: /src/glib/glib/gspawn-win32.c:607,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:639,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: 659
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 659
    functionName: do_spawn_directly
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_utf8_to_utf16
    - _wspawnvp
    - g_assert
    - g_strerror
    - utf8_charv_to_wcharv
    - g_error_free
    - safe_wspawnve
    - _g_spawn_exec_err_to_g_error
    - CloseHandle
    - g_strfreev
    - _wspawnv
    - safe_wspawnvpe
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1367,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1373,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1370,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1368,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn-win32.c:1376,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    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: 1394
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1394
    functionName: g_spawn_async_with_pipes
    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 (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_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:
    - g_mutex_unlock
    - _wspawnve
    - 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_mutex_lock
      Src: /src/glib/glib/gspawn-win32.c:158,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gspawn-win32.c:160,1
    - Dst: _wspawnvpe
      Src: /src/glib/glib/gspawn-win32.c:159,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:
    - g_mutex_unlock
    - g_mutex_lock
    - _wspawnvpe
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/gspawn-win32.c:401,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:415,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gspawn-win32.c:407,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gspawn-win32.c:414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - str
    - iochannel
    - error
    argTypes:
    - GString*
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 421
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 421
    functionName: read_data
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_io_channel_read_chars
    - _
    - g_string_append_len
    linkageType: ''
    returnType: ReadResult
    signature: 'static ReadResult read_data (GString *str, GIOChannel *iochannel,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AttachConsole
      Src: /src/glib/glib/gspawn-win32.c:666,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/glib/gspawn-win32.c:666,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:667,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/glib/gspawn-win32.c:680,1
    - Dst: GetLastError
      Src: /src/glib/glib/gspawn-win32.c:669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 681
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 681
    functionName: might_be_console_process
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - GetCurrentProcessId
    - AttachConsole
    - GetLastError
    - g_return_val_if_fail
    - g_return_val_if_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean might_be_console_process (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1409,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn-win32.c:1418,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1410,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1412,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1415,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    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: 1437
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1437
    functionName: g_spawn_async_with_fds
    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_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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:456,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:470,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:465,1
    - Dst: read
      Src: /src/glib/glib/gspawn-win32.c:460,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:471,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:472,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:478,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:479,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - fd
    - report
    - error
    argTypes:
    - int
    - gintptr
    - GError**
    constantsTouched: []
    func_position:
      end: 491
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 491
    functionName: read_helper_report
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - read
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean read_helper_report (int fd,\t\t gintptr report[2],\t\t
      GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:501,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:508,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:504,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:502,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:507,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:509,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:512,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:513,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:514,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:517,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:518,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gspawn-win32.c:522,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - report
    - working_directory
    - error
    argTypes:
    - gintptr
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 524
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 524
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_sync
      Src: /src/glib/glib/gspawn-win32.c:1690,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: 1700
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1700
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gspawn-win32.c:541,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:551,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gspawn-win32.c:545,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:552,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: 561
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 561
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/gspawn-win32.c:1709,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: 1714
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1714
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: _pipe
      Src: /src/glib/glib/gspawn-win32.c:427,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:433,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:432,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 438
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 438
    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: 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: wcslen
      Src: /src/glib/glib/gspawn-win32.c:202,1
    - Dst: FreeEnvironmentStringsW
      Src: /src/glib/glib/gspawn-win32.c:205,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_enter
    - wcslen
    - g_warning
    - g_critical
    - FreeEnvironmentStringsW
    - SetEnvironmentVariableW
    - GetLastError
    - g_once_init_leave
    - GetEnvironmentStringsW
    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: 1
    argNames:
    - string
    argTypes:
    - gchar*
    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: 59
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:725,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:858,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gspawn-win32.c:912,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:964,1
    - Dst: utf8_charv_to_wcharv
      Src: /src/glib/glib/gspawn-win32.c:952,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:958,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:992,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1096,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:928,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:747,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:759,1
    - Dst: g_win32_reopen_noninherited
      Src: /src/glib/glib/gspawn-win32.c:813,1
    - Dst: protect_argv_string
      Src: /src/glib/glib/gspawn-win32.c:885,1
    - Dst: g_strdup
      Src: /src/glib/glib/gspawn-win32.c:905,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:942,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:999,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gspawn-win32.c:1060,1
    - Dst: strcat
      Src: /src/glib/glib/gspawn-win32.c:823,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gspawn-win32.c:969,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:989,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:1039,1
    - Dst: set_child_error
      Src: /src/glib/glib/gspawn-win32.c:1052,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1065,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1094,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:938,1
    - Dst: protect_argv_string
      Src: /src/glib/glib/gspawn-win32.c:803,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:826,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:739,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn-win32.c:796,1
    - Dst: g_strdup
      Src: /src/glib/glib/gspawn-win32.c:887,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:961,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1046,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32.c:1050,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1051,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:872,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:934,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:945,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gspawn-win32.c:1037,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1066,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:970,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:963,1
    - Dst: protect_argv
      Src: /src/glib/glib/gspawn-win32.c:765,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:792,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:957,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:980,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:993,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1022,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gspawn-win32.c:1081,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1083,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:955,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:726,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:786,1
    - Dst: might_be_console_process
      Src: /src/glib/glib/gspawn-win32.c:797,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:947,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:941,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1014,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1067,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:926,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:757,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:760,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:780,1
    - Dst: safe_wspawnvpe
      Src: /src/glib/glib/gspawn-win32.c:973,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gspawn-win32.c:1034,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32.c:1045,1
    - Dst: do_spawn_directly
      Src: /src/glib/glib/gspawn-win32.c:777,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1085,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1098,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gspawn-win32.c:915,1
    - Dst: g_warning
      Src: /src/glib/glib/gspawn-win32.c:732,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:737,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:740,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:805,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:959,1
    - Dst: read_helper_report
      Src: /src/glib/glib/gspawn-win32.c:1019,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1087,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:943,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:724,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:939,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:979,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:986,1
    - Dst: GetLastError
      Src: /src/glib/glib/gspawn-win32.c:1037,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:916,1
    - Dst: g_win32_reopen_noninherited
      Src: /src/glib/glib/gspawn-win32.c:835,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:962,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:981,1
    - Dst: SETUP_DEBUG
      Src: /src/glib/glib/gspawn-win32.c:922,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:749,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:793,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:991,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1100,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:727,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:787,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:935,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:946,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:987,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:954,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1038,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1089,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:994,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:1001,1
    - Dst: _wspawnvp
      Src: /src/glib/glib/gspawn-win32.c:975,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:790,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:842,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn-win32.c:908,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:960,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:1011,1
    - Dst: DuplicateHandle
      Src: /src/glib/glib/gspawn-win32.c:1033,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1102,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:944,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:750,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:784,1
    - Dst: g_win32_find_helper_executable_path
      Src: /src/glib/glib/gspawn-win32.c:802,1
    - Dst: utf8_charv_to_wcharv
      Src: /src/glib/glib/gspawn-win32.c:931,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:1000,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32.c:1013,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1092,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: 1105
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 1105
    functionName: fork_exec
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - might_be_console_process
    - _
    - do_spawn_directly
    - _wspawnvp
    - g_strfreev
    - GetCurrentProcess
    - protect_argv_string
    - read_helper_report
    - g_win32_reopen_noninherited
    - DuplicateHandle
    - g_utf8_to_utf16
    - g_strerror
    - utf8_charv_to_wcharv
    - CloseHandle
    - close
    - make_pipe
    - g_string_free
    - g_print
    - set_child_error
    - _g_spawn_invalid_source_fd
    - g_error_free
    - g_warning
    - g_string_truncate
    - _g_sprintf
    - SETUP_DEBUG
    - close_and_invalidate
    - strcat
    - g_win32_find_helper_executable_path
    - g_win32_error_message
    - write
    - g_set_error
    - g_strdup
    - g_string_new
    - g_free
    - g_assert
    - protect_argv
    - g_string_append_printf
    - g_new
    - GetLastError
    - safe_wspawnvpe
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1458,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1464,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1461,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1459,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1467,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1468,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1469,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn-win32.c:1471,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: 1491
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1491
    functionName: g_spawn_async_with_pipes_and_fds
    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 (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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:1573,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:1574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - wait_status
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 1582
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1582
    functionName: g_spawn_check_wait_status
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    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_async
      Src: /src/glib/glib/gspawn-win32.c:1642,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: 1650
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1650
    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: 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:
    - ensure_cmd_environment
    - _wspawnve
    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_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: 43
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_win32_new_fd
      Src: /src/glib/glib/gspawn-win32.c:1178,1
    - Dst: g_io_channel_win32_new_fd
      Src: /src/glib/glib/gspawn-win32.c:1191,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1245,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/gspawn-win32.c:1272,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/gspawn-win32.c:1327,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:1336,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:1338,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:1348,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:1345,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1139,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn-win32.c:1151,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1136,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn-win32.c:1190,1
    - Dst: read_data
      Src: /src/glib/glib/gspawn-win32.c:1262,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1266,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1274,1
    - Dst: read_helper_report
      Src: /src/glib/glib/gspawn-win32.c:1302,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/gspawn-win32.c:1325,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1329,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1331,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/gspawn-win32.c:1246,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1271,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1137,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/gspawn-win32.c:1180,1
    - Dst: g_io_channel_win32_make_pollfd
      Src: /src/glib/glib/gspawn-win32.c:1181,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1185,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/gspawn-win32.c:1193,1
    - Dst: g_io_channel_win32_make_pollfd
      Src: /src/glib/glib/gspawn-win32.c:1194,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1219,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1198,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gspawn-win32.c:1228,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:1229,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1318,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1278,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1135,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn-win32.c:1177,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/gspawn-win32.c:1179,1
    - Dst: g_io_channel_win32_poll
      Src: /src/glib/glib/gspawn-win32.c:1222,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/gspawn-win32.c:1192,1
    - Dst: read_data
      Src: /src/glib/glib/gspawn-win32.c:1236,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1240,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1248,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1252,1
    - Dst: set_child_error
      Src: /src/glib/glib/gspawn-win32.c:1313,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: 1352
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1352
    functionName: g_spawn_sync
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_io_channel_set_encoding
    - g_string_new
    - g_io_channel_win32_make_pollfd
    - _
    - read_helper_report
    - g_io_channel_win32_poll
    - g_set_error_literal
    - g_io_channel_set_buffered
    - g_io_channel_win32_new_fd
    - fork_exec
    - g_io_channel_unref
    - g_string_free
    - close_and_invalidate
    - read_data
    - g_print
    - g_return_val_if_fail
    - set_child_error
    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-win32.c:1503,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/gspawn-win32.c:1511,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/gspawn-win32.c:1506,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:1521,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: 1524
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1524
    functionName: g_spawn_command_line_sync
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_spawn_sync
    - g_return_val_if_fail
    - g_shell_parse_argv
    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
      Src: /src/glib/glib/gspawn-win32.c:1588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - wait_status
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 1589
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1589
    functionName: g_spawn_check_exit_status
    functionSourceFile: /src/glib/glib/gspawn-win32.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_spawn_async_with_pipes
      Src: /src/glib/glib/gspawn-win32.c:1665,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: 1676
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1676
    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:1720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - command_line
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1721
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1721
    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: 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TryAcquireSRWLockExclusive
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mutex_trylock (GMutex *mutex) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - InitializeSRWLock
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_init (GRWLock *lock) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - SleepConditionVariableSRW
    linkageType: ''
    returnType: void
    signature: 'void g_cond_wait (GCond *cond, GMutex *entered_mutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_win32_load_library
      Src: /src/glib/glib/gthread-win32.c:652,1
    - Dst: GetCurrentThread
      Src: /src/glib/glib/gthread-win32.c:659,1
    - Dst: SetThreadDescriptionFunc
      Src: /src/glib/glib/gthread-win32.c:659,1
    - Dst: g_free
      Src: /src/glib/glib/gthread-win32.c:661,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gthread-win32.c:655,1
    - Dst: SUCCEEDED
      Src: /src/glib/glib/gthread-win32.c:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 663
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 663
    functionName: g_thread_win32_set_thread_desc
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - GetCurrentThread
    - g_free
    - g_utf8_to_utf16
    - SetThreadDescriptionFunc
    - g_thread_win32_load_library
    - SUCCEEDED
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_thread_win32_set_thread_desc (const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/glib/glib/gthread-win32.c:680,1
    - Dst: AddVectoredExceptionHandler
      Src: /src/glib/glib/gthread-win32.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 689
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 689
    functionName: g_thread_win32_init
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - AddVectoredExceptionHandler
    - InitializeCriticalSection
    linkageType: ''
    returnType: void
    signature: 'void g_thread_win32_init (void) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - ReleaseSRWLockExclusive
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_unlock (GMutex *mutex) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_clear (GRWLock *lock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gthread-win32.c:264,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/gthread-win32.c:271,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gthread-win32.c:287,1
    - Dst: SleepConditionVariableSRW
      Src: /src/glib/glib/gthread-win32.c:281,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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - SleepConditionVariableSRW
    - g_get_monotonic_time
    - G_GINT64_CONSTANT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cond_wait_until (GCond *cond, GMutex *entered_mutex, gint64
      end_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RaiseException
      Src: /src/glib/glib/gthread-win32.c:600,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gthread-win32.c:610,1
    - Dst: RaiseException
      Src: /src/glib/glib/gthread-win32.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - dwThreadID
    - szThreadName
    argTypes:
    - DWORD
    - LPCSTR
    constantsTouched: []
    func_position:
      end: 615
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 615
    functionName: SetThreadName
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - RaiseException
    - IsDebuggerPresent
    linkageType: ''
    returnType: void
    signature: 'static void SetThreadName (DWORD dwThreadID, LPCSTR szThreadName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_win32_set_thread_desc
      Src: /src/glib/glib/gthread-win32.c:671,1
    - Dst: SetThreadName
      Src: /src/glib/glib/gthread-win32.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: g_system_thread_set_name
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - SetThreadName
    - g_thread_win32_set_thread_desc
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_set_name (const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-win32.c:709,1
    - Dst: TlsSetValue
      Src: /src/glib/glib/gthread-win32.c:717,1
    - Dst: TlsGetValue
      Src: /src/glib/glib/gthread-win32.c:713,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 724
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 724
    functionName: g_thread_win32_thread_detach
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TlsGetValue
    - g_atomic_pointer_get
    - TlsSetValue
    linkageType: ''
    returnType: void
    signature: 'void g_thread_win32_thread_detach (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RemoveVectoredExceptionHandler
      Src: /src/glib/glib/gthread-win32.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 736
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 736
    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: 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: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - InitializeCriticalSection
    - g_slice_new
    linkageType: ''
    returnType: CRITICAL_SECTION*
    signature: 'static CRITICAL_SECTION *g_rec_mutex_impl_new (void) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_free
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_clear (GRecMutex *mutex) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_unlock (GRecMutex *mutex) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - InitializeConditionVariable
    linkageType: ''
    returnType: void
    signature: 'void g_cond_init (GCond *cond) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gthread-win32.c:311,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/gthread-win32.c:315,1
    - Dst: TlsAlloc
      Src: /src/glib/glib/gthread-win32.c:328,1
    - Dst: TlsFree
      Src: /src/glib/glib/gthread-win32.c:329,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_thread_abort
      Src: /src/glib/glib/gthread-win32.c:359,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-win32.c:358,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-win32.c:354,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/gthread-win32.c:361,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gthread-win32.c:358,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:
    - g_atomic_pointer_get
    - GPOINTER_TO_UINT
    - TlsFree
    - g_atomic_pointer_compare_and_exchange
    - malloc
    - GUINT_TO_POINTER
    - LeaveCriticalSection
    - EnterCriticalSection
    - g_thread_abort
    - TlsAlloc
    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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_private_get_impl
    - TlsSetValue
    linkageType: ''
    returnType: void
    signature: 'void g_private_set (GPrivate *key, gpointer value) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - InitializeSRWLock
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_init (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:
    - g_slice_free
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: 'static void g_rec_mutex_impl_free (CRITICAL_SECTION *cs) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_get_impl
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_lock (GRecMutex *mutex) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TryEnterCriticalSection
    - g_rec_mutex_get_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_rec_mutex_trylock (GRecMutex *mutex) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_cond_clear (GCond *cond) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TlsGetValue
    - g_private_get_impl
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_private_get (GPrivate *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get_impl
      Src: /src/glib/glib/gthread-win32.c:384,1
    - Dst: TlsGetValue
      Src: /src/glib/glib/gthread-win32.c:387,1
    - Dst: TlsSetValue
      Src: /src/glib/glib/gthread-win32.c:388,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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TlsGetValue
    - g_private_get_impl
    - TlsSetValue
    linkageType: ''
    returnType: void
    signature: 'void g_private_replace (GPrivate *key, gpointer value) '
  - 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:
    - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TryAcquireSRWLockShared
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_rw_lock_reader_trylock (GRWLock *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gthread-win32.c:460,1
    - Dst: g_system_thread_exit
      Src: /src/glib/glib/gthread-win32.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 463
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 463
    functionName: g_thread_win32_proxy
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_system_thread_exit
    - g_assert_not_reached
    linkageType: ''
    returnType: guint
    signature: 'static guint __stdcall g_thread_win32_proxy (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/glib/glib/gthread-win32.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: g_thread_yield
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: void
    signature: 'void g_thread_yield (void) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - ReleaseSRWLockShared
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_reader_unlock (GRWLock *lock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gthread-win32.c:479,1
    - Dst: GetCurrentThread
      Src: /src/glib/glib/gthread-win32.c:508,1
    - Dst: g_strdup
      Src: /src/glib/glib/gthread-win32.c:488,1
    - Dst: _beginthreadex
      Src: /src/glib/glib/gthread-win32.c:490,1
    - Dst: GetThreadPriority
      Src: /src/glib/glib/gthread-win32.c:509,1
    - Dst: SetThreadPriority
      Src: /src/glib/glib/gthread-win32.c:518,1
    - Dst: ResumeThread
      Src: /src/glib/glib/gthread-win32.c:524,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gthread-win32.c:534,1
    - Dst: GetLastError
      Src: /src/glib/glib/gthread-win32.c:534,1
    - Dst: g_set_error
      Src: /src/glib/glib/gthread-win32.c:535,1
    - Dst: g_free
      Src: /src/glib/glib/gthread-win32.c:537,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread-win32.c:540,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gthread-win32.c:539,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 6
    argNames:
    - proxy
    - stack_size
    - name
    - func
    - data
    - error
    argTypes:
    - GThreadFunc
    - gulong
    - char*
    - GThreadFunc
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 543
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 543
    functionName: g_system_thread_new
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - GetCurrentThread
    - g_slice_new0
    - _beginthreadex
    - g_free
    - GetThreadPriority
    - CloseHandle
    - SetThreadPriority
    - ResumeThread
    - GetLastError
    - g_slice_free
    - g_win32_error_message
    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: win32_check_for_error
      Src: /src/glib/glib/gthread-win32.c:556,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/gthread-win32.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GRealThread*
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: g_system_thread_wait
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - win32_check_for_error
    - WaitForSingleObject
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_wait (GRealThread *thread) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_clear (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: 1
    argNames:
    - mutex
    argTypes:
    - GRecMutex*
    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:
    - InterlockedCompareExchangePointer
    - g_rec_mutex_impl_free
    - g_rec_mutex_impl_new
    linkageType: ''
    returnType: CRITICAL_SECTION*
    signature: 'static CRITICAL_SECTION *g_rec_mutex_get_impl (GRecMutex *mutex) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - AcquireSRWLockExclusive
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_writer_lock (GRWLock *lock) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - ReleaseSRWLockExclusive
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_writer_unlock (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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - WakeConditionVariable
    linkageType: ''
    returnType: void
    signature: 'void g_cond_signal (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: win32_check_for_error
      Src: /src/glib/glib/gthread-win32.c:419,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread-win32.c:420,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gthread-win32.c:419,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:
    - win32_check_for_error
    - CloseHandle
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_free (GRealThread *thread) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - AcquireSRWLockExclusive
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_lock (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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_new
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_init (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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TryAcquireSRWLockExclusive
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_rw_lock_writer_trylock (GRWLock *lock) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - AcquireSRWLockShared
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_reader_lock (GRWLock *lock) '
  - 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
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - WakeAllConditionVariable
    linkageType: ''
    returnType: void
    signature: 'void g_cond_broadcast (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_win32_thread_detach
      Src: /src/glib/glib/gthread-win32.c:445,1
    - Dst: _endthreadex
      Src: /src/glib/glib/gthread-win32.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 449
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 449
    functionName: g_system_thread_exit
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - _endthreadex
    - g_thread_win32_thread_detach
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_exit (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ExceptionInfo
    argTypes:
    - PEXCEPTION_POINTERS
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gthread-win32.c:628,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/gthread-win32.c:637,1
    - Dst: GetProcAddress
      Src: /src/glib/glib/gthread-win32.c:634,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gthread-win32.c:639,1
    - Dst: LoadLibraryW
      Src: /src/glib/glib/gthread-win32.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 644
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 644
    functionName: g_thread_win32_load_library
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - LoadLibraryW
    - GetProcAddress
    - g_once_init_enter
    - FreeLibrary
    - g_once_init_leave
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_thread_win32_load_library (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/guri.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ch
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    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:391,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: 393
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 393
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:804,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - scheme
    - port
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 809
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 809
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1171,1
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1174,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1172,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: 1178
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1178
    functionName: g_uri_split_with_user
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_uri_split_internal
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2008,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/guri.c:2010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2011
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2011
    functionName: g_uri_to_string
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_uri_to_string_partial
    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:2382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2385
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2385
    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:2422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2425
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2425
    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:2466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2469
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2469
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:318,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:331,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/guri.c:343,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/guri.c:342,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:348,1
    - Dst: g_ascii_isgraph
      Src: /src/glib/glib/guri.c:355,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/guri.c:356,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:369,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/guri.c:309,1
    - Dst: HEXCHAR
      Src: /src/glib/glib/guri.c:330,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:333,1
    - Dst: _
      Src: /src/glib/glib/guri.c:334,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:315,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/guri.c:310,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:326,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:341,1
    - Dst: g_assert
      Src: /src/glib/glib/guri.c:362,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:367,1
    - Dst: _
      Src: /src/glib/glib/guri.c:368,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:374,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:303,1
    - Dst: _
      Src: /src/glib/glib/guri.c:317,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:335,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:343,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:342,1
    - Dst: g_uri_char_is_unreserved
      Src: /src/glib/glib/guri.c:338,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:353,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:358,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/guri.c:365,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:376,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: 379
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 379
    functionName: uri_decoder
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_ascii_toupper
    - g_string_sized_new
    - g_ascii_isgraph
    - _
    - g_assert
    - g_string_append_printf
    - g_utf8_validate
    - g_string_append_c
    - strchr
    - g_uri_char_is_unreserved
    - g_ascii_isxdigit
    - g_string_free
    - g_set_error_literal
    - HEXCHAR
    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:403,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: 405
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 405
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:814,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:820,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:817,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:814,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:817,1
    - Dst: strstr
      Src: /src/glib/glib/guri.c:823,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 827
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 827
    functionName: g_uri_get_default_scheme_port
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strstr
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int g_uri_get_default_scheme_port (const char *scheme) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1578,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1579,1
    - Dst: g_uri_parse
      Src: /src/glib/glib/guri.c:1585,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/guri.c:1592,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/guri.c:1594,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/guri.c:1598,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/guri.c:1599,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1600,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - base_uri_string
    - uri_ref
    - flags
    - error
    argTypes:
    - gchar*
    - gchar*
    - GUriFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1601
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1601
    functionName: g_uri_resolve_relative
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_unref
    - g_uri_parse
    - g_steal_pointer
    - g_uri_parse_relative
    - g_uri_to_string
    - g_return_val_if_fail
    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:1789,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1790,1
    - Dst: g_uri_join_internal
      Src: /src/glib/glib/guri.c:1792,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 8
    argNames:
    - flags
    - scheme
    - userinfo
    - host
    - port
    - path
    - query
    - fragment
    argTypes:
    - GUriFlags
    - gchar*
    - gchar*
    - gchar*
    - gint
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1800
    functionName: g_uri_join
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_join_internal
    - g_return_val_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1950,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1956,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1974,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:1977,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1947,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1957,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1960,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1962,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1975,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1980,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:1954,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1961,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1958,1
    - Dst: g_string_new
      Src: /src/glib/glib/guri.c:1966,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1969,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1946,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1948,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1949,1
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/glib/guri.c:1952,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1955,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1970,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 10
    argNames:
    - flags
    - scheme
    - user
    - password
    - auth_params
    - host
    - port
    - path
    - query
    - fragment
    argTypes:
    - GUriFlags
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gint
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1981
    functionName: g_uri_build_with_user
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_new
    - g_string_append
    - g_ascii_strdown
    - g_string_append_c
    - g_atomic_rc_box_new0
    - g_steal_pointer
    - g_string_free
    - g_return_val_if_fail
    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:2336,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/guri.c:2343,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2338,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2339,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2337,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/guri.c:2349,1
    - Dst: g_uri_params_iter_init
      Src: /src/glib/glib/guri.c:2353,1
    - Dst: g_uri_params_iter_next
      Src: /src/glib/glib/guri.c:2355,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/guri.c:2356,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/guri.c:2360,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:2360,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/guri.c:2361,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:2365,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 5
    argNames:
    - params
    - length
    - separators
    - flags
    - error
    argTypes:
    - gchar*
    - gssize
    - gchar*
    - GUriParamsFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 2366
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2366
    functionName: g_uri_parse_params
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_params_iter_next
    - g_hash_table_destroy
    - g_hash_table_insert
    - g_uri_params_iter_init
    - g_steal_pointer
    - g_propagate_error
    - g_hash_table_new_full
    - g_return_val_if_fail
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *g_uri_parse_params (const gchar *params, gssize length,
      const gchar *separators, GUriParamsFlags flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2404
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2404
    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:2442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2445
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2445
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2856,1
    - Dst: g_uri_scheme_length
      Src: /src/glib/glib/guri.c:2858,1
    - Dst: g_strndup
      Src: /src/glib/glib/guri.c:2859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2860
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2860
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:268,1
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/glib/guri.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_char_is_unreserved
      Src: /src/glib/glib/guri.c:411,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - c
    - reserved_chars_allowed
    argTypes:
    - guchar
    - gchar*
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: is_valid
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_char_is_unreserved
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid (guchar c, const gchar *reserved_chars_allowed) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/guri.c:496,1
    - Dst: g_assert
      Src: /src/glib/glib/guri.c:520,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/guri.c:524,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:500,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:524,1
    - Dst: uri_decode
      Src: /src/glib/glib/guri.c:529,1
    - Dst: g_strconcat
      Src: /src/glib/glib/guri.c:535,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:537,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:539,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:540,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:545,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:546,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:547,1
    - Dst: _
      Src: /src/glib/glib/guri.c:548,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: 552
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 552
    functionName: parse_ip_literal
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_free
    - _
    - g_strndup
    - g_assert
    - g_strconcat
    - uri_decode
    - g_hostname_is_ip_address
    - g_steal_pointer
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_ip_literal (const gchar *start, gsize length,
      GUriFlags flags, gchar **out, GError **error) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1639,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1667,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1696,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:1699,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1680,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1692,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/guri.c:1699,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1703,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1711,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1723,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1741,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1637,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1658,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1663,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1678,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1701,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/guri.c:1717,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1735,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1739,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1638,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:1654,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1690,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1682,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1673,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1705,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1713,1
    - Dst: normalize_port
      Src: /src/glib/glib/guri.c:1716,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1725,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1727,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1733,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:1645,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1649,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1650,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1688,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1706,1
    - Dst: should_normalize_empty_path
      Src: /src/glib/glib/guri.c:1720,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1721,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1743,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1731,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:1746,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 87
    argCount: 11
    argNames:
    - flags
    - scheme
    - userinfo
    - user
    - password
    - auth_params
    - host
    - port
    - path
    - query
    - fragment
    argTypes:
    - GUriFlags
    - gchar*
    - gboolean
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gint
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1747
    functionName: g_uri_join_internal
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_free
    - g_ascii_strdown
    - should_normalize_empty_path
    - normalize_port
    - g_string_append_printf
    - g_string_append_c
    - g_hostname_is_ip_address
    - g_string_free
    - strchr
    - g_string_append_uri_escaped
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2510,1
    - Dst: g_uri_get_default_scheme_port
      Src: /src/glib/glib/guri.c:2513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2516
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2516
    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:2554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2557
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2557
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2595
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2595
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2806,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:2808,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:2813,1
    - Dst: _uri_encoder
      Src: /src/glib/glib/guri.c:2810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - unescaped
    - length
    - reserved_chars_allowed
    argTypes:
    - guint8*
    - gsize
    - gchar*
    constantsTouched: []
    func_position:
      end: 2814
      start: 2799
    functionDepth: 0
    functionLinenumber: 2799
    functionLinenumberEnd: 2814
    functionName: g_uri_escape_bytes
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - _uri_encoder
    - g_string_sized_new
    - g_return_val_if_fail
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_escape_bytes (const guint8 *unescaped, gsize length,
      const gchar *reserved_chars_allowed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/guri.c:436,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:447,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/guri.c:442,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:452,1
    - Dst: is_valid
      Src: /src/glib/glib/guri.c:445,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:453,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:454,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: 458
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 458
    functionName: _uri_encoder
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - is_valid
    - g_utf8_get_char_validated
    - g_string_append_c
    - 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: 12
    BranchProfiles: []
    Callsites:
    - Dst: parse_ip_literal
      Src: /src/glib/glib/guri.c:566,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/guri.c:571,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:601,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:602,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/guri.c:610,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:629,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:579,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/guri.c:574,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/guri.c:599,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/glib/guri.c:608,1
    - Dst: _
      Src: /src/glib/glib/guri.c:615,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:628,1
    - Dst: g_strndup
      Src: /src/glib/glib/guri.c:573,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:587,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:613,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:627,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:614,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:622,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:584,1
    - Dst: uri_decode
      Src: /src/glib/glib/guri.c:592,1
    - Dst: _
      Src: /src/glib/glib/guri.c:603,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: 632
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 632
    functionName: parse_host
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_free
    - _
    - g_strndup
    - g_hostname_is_non_ascii
    - g_ascii_isdigit
    - g_hostname_to_ascii
    - uri_decode
    - parse_ip_literal
    - g_hostname_is_ip_address
    - g_steal_pointer
    - uri_normalize
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_host (const gchar *start, gsize length, GUriFlags
      flags, gchar **out, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/guri.c:2822,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/guri.c:2825,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - uri
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2832
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2832
    functionName: g_uri_scheme_length
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_ascii_isalnum
    - g_ascii_isalpha
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_uri_scheme_length (const gchar *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/guri.c:243,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:245,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:244,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:247,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:246,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:248,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:249,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:250,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1451,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/guri.c:1466,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1488,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/guri.c:1504,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1489,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/guri.c:1510,1
    - Dst: normalize_port
      Src: /src/glib/glib/guri.c:1538,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1543,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:1442,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/guri.c:1458,1
    - Dst: strrchr
      Src: /src/glib/glib/guri.c:1501,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1513,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1519,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1522,1
    - Dst: should_normalize_empty_path
      Src: /src/glib/glib/guri.c:1532,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1534,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1535,1
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/glib/guri.c:1448,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1443,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1491,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1515,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1444,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:1464,1
    - Dst: _
      Src: /src/glib/glib/guri.c:1465,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1478,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1481,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1483,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1496,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1512,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1520,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1521,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1523,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 4
    argNames:
    - base_uri
    - uri_ref
    - flags
    - error
    argTypes:
    - GUri*
    - gchar*
    - GUriFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1547
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1547
    functionName: g_uri_parse_relative
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_uri_unref
    - _
    - g_free
    - strrchr
    - normalize_port
    - g_uri_split_internal
    - g_atomic_rc_box_new0
    - g_strdup_printf
    - g_steal_pointer
    - remove_dot_segments
    - should_normalize_empty_path
    - g_set_error_literal
    - g_return_val_if_fail
    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:2492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2495
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2495
    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:2532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2535
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2535
    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:2573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2576
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2576
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:1327,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:1338,1
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:1329,1
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:1347,1
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:1336,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:1359,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:1375,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:1375,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1391
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1412,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1413,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/guri.c:1415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - uri_string
    - flags
    - error
    argTypes:
    - gchar*
    - GUriFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1416
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1416
    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:1888,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:1894,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1889,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1890,1
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/glib/guri.c:1892,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1895,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1896,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:1900,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1902,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 8
    argNames:
    - flags
    - scheme
    - userinfo
    - host
    - port
    - path
    - query
    - fragment
    argTypes:
    - GUriFlags
    - gchar*
    - gchar*
    - gchar*
    - gint
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1903
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1903
    functionName: g_uri_build
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ascii_strdown
    - g_atomic_rc_box_new0
    - g_steal_pointer
    - g_return_val_if_fail
    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:2070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2073
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2073
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2756,1
    - Dst: uri_decoder
      Src: /src/glib/glib/guri.c:2762,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/guri.c:2772,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:2760,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - escaped_string
    - length
    - illegal_characters
    - error
    argTypes:
    - gchar*
    - gssize
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 2773
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2773
    functionName: g_uri_unescape_bytes
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strlen
    - uri_decoder
    - g_return_val_if_fail
    - g_bytes_new_take
    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:235,1
    - Dst: g_atomic_rc_box_acquire
      Src: /src/glib/glib/guri.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    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_return_val_if_fail
      Src: /src/glib/glib/guri.c:1281,1
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1284,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1282,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:1292,1
    - Dst: _
      Src: /src/glib/glib/guri.c:1293,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - uri_string
    - flags
    - error
    argTypes:
    - gchar*
    - GUriFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1301
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1301
    functionName: g_uri_is_valid
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_uri_split_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_uri_is_valid (const gchar *uri_string, GUriFlags flags,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1843,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1844,1
    - Dst: g_uri_join_internal
      Src: /src/glib/glib/guri.c:1846,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 10
    argNames:
    - flags
    - scheme
    - user
    - password
    - auth_params
    - host
    - port
    - path
    - query
    - fragment
    argTypes:
    - GUriFlags
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gint
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1854
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1854
    functionName: g_uri_join_with_user
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_join_internal
    - g_return_val_if_fail
    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:2036,1
    - Dst: g_uri_join
      Src: /src/glib/glib/guri.c:2052,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/guri.c:2040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - uri
    - flags
    argTypes:
    - GUri*
    - GUriHideFlags
    constantsTouched: []
    func_position:
      end: 2060
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2060
    functionName: g_uri_to_string_partial
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_join
    - g_return_val_if_fail
    - g_uri_join_with_user
    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:2225,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:2247,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:2250,1
    - Dst: _
      Src: /src/glib/glib/guri.c:2251,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2226,1
    - Dst: uri_decode
      Src: /src/glib/glib/guri.c:2254,1
    - Dst: uri_decode
      Src: /src/glib/glib/guri.c:2261,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2264,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:2269,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:2271,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2273,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2274,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 4
    argNames:
    - iter
    - attribute
    - value
    - error
    argTypes:
    - GUriParamsIter*
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 2278
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2278
    functionName: g_uri_params_iter_next
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - _
    - g_free
    - uri_decode
    - g_return_val_if_fail
    - g_steal_pointer
    - g_set_error_literal
    - memchr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_uri_params_iter_next (GUriParamsIter *iter, gchar **attribute,
      gchar **value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_unescape_segment
      Src: /src/glib/glib/guri.c:2681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - escaped_string
    - illegal_characters
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2682
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2682
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2712,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:2714,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:2716,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:2718,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:2714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - unescaped
    - reserved_chars_allowed
    - allow_utf8
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2719
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2719
    functionName: g_uri_escape_string
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - g_string_free
    - g_string_append_uri_escaped
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_escape_string (const gchar *unescaped, const gchar *reserved_chars_allowed,
      gboolean allow_utf8) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/guri.c:644,1
    - Dst: _
      Src: /src/glib/glib/guri.c:647,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:646,1
    - Dst: strtoul
      Src: /src/glib/glib/guri.c:655,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:658,1
    - Dst: _
      Src: /src/glib/glib/guri.c:659,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:665,1
    - Dst: _
      Src: /src/glib/glib/guri.c:666,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - start
    - length
    - out
    - error
    argTypes:
    - gchar*
    - gsize
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 674
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 674
    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:741,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:745,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:754,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/guri.c:746,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:750,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/guri.c:755,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:758,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:762,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - uri_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 763
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 763
    functionName: uri_cleanup
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - g_string_append
    - g_string_append_c
    - g_string_free
    - g_ascii_isspace
    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:1107,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1108,1
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1110,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: 1114
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1114
    functionName: g_uri_split
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_uri_split_internal
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:2170,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:2172,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:2178,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:2173,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:2171,1
    - Dst: memset
      Src: /src/glib/glib/guri.c:2182,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: 2187
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2187
    functionName: g_uri_params_iter_init
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/guri.c:2638,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:2649,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2651,1
    - Dst: uri_decoder
      Src: /src/glib/glib/guri.c:2640,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - escaped_string
    - escaped_string_end
    - illegal_characters
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2656
      start: 2623
    functionDepth: 0
    functionLinenumber: 2623
    functionLinenumberEnd: 2656
    functionName: g_uri_unescape_segment
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strlen
    - uri_decoder
    - memchr
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_unescape_segment (const gchar *escaped_string, const
      gchar *escaped_string_end, const gchar *illegal_characters) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/glib/glib/guri.c:689,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:697,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:704,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:708,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:693,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:718,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:722,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:724,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: 732
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 732
    functionName: parse_userinfo
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - uri_normalize
    - memchr
    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:770,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:772,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 776
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 776
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2890,1
    - Dst: g_intern_string
      Src: /src/glib/glib/guri.c:2897,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2898,1
    - Dst: g_uri_scheme_length
      Src: /src/glib/glib/guri.c:2892,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:2896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - uri
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2901
      start: 2883
    functionDepth: 0
    functionLinenumber: 2883
    functionLinenumberEnd: 2901
    functionName: g_uri_peek_scheme
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_intern_string
    - g_free
    - g_uri_scheme_length
    - g_ascii_strdown
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_peek_scheme (const gchar *uri) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/glib/glib/guri.c:971,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:1001,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:1008,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1036,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1048,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1038,1
    - Dst: strpbrk
      Src: /src/glib/glib/guri.c:870,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:918,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:934,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:943,1
    - Dst: strcspn
      Src: /src/glib/glib/guri.c:988,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:991,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:964,1
    - Dst: g_uri_get_default_scheme_port
      Src: /src/glib/glib/guri.c:1025,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1046,1
    - Dst: uri_cleanup
      Src: /src/glib/glib/guri.c:872,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/guri.c:878,1
    - Dst: parse_host
      Src: /src/glib/glib/guri.c:974,1
    - Dst: parse_port
      Src: /src/glib/glib/guri.c:980,1
    - Dst: parse_userinfo
      Src: /src/glib/glib/guri.c:928,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:991,1
    - Dst: should_normalize_empty_path
      Src: /src/glib/glib/guri.c:1018,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1020,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1029,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1044,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1049,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1042,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:885,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/guri.c:879,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:887,1
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:898,1
    - Dst: strcspn
      Src: /src/glib/glib/guri.c:902,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:903,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:998,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1021,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1028,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1034,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: 1051
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 1051
    functionName: g_uri_split_internal
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    - g_clear_pointer
    - parse_userinfo
    - g_steal_pointer
    - uri_normalize
    - strncmp
    - strlen
    - parse_port
    - g_ascii_isdigit
    - uri_cleanup
    - strchr
    - parse_host
    - g_uri_get_default_scheme_port
    - memchr
    - strcspn
    - g_strdup
    - g_free
    - g_ascii_strdown
    - strpbrk
    - should_normalize_empty_path
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1215,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:1228,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1216,1
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1218,1
    - Dst: _
      Src: /src/glib/glib/guri.c:1229,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:1234,1
    - Dst: _
      Src: /src/glib/glib/guri.c:1235,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1238,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1239,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1245,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1249,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1250,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1247,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: 1253
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1253
    functionName: g_uri_split_network
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_uri_split_internal
    - g_steal_pointer
    - g_return_val_if_fail
    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_ascii_strcasecmp
      Src: /src/glib/glib/guri.c:2082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2083
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2083
    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: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1807,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1814,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1808,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1808,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1809,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1818,1
    - Dst: GLIB_SOURCE_SET_CALLBACK_INDIRECT
      Src: /src/glib/glib/gmain.c:1818,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1831,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - source
    - callback_data
    - callback_funcs
    argTypes:
    - GSource*
    - gpointer
    - GSourceCallbackFuncs*
    constantsTouched: []
    func_position:
      end: 1835
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1835
    functionName: g_source_set_callback_indirect
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - GLIB_SOURCE_SET_CALLBACK_INDIRECT
    - TRACE
    - LOCK_CONTEXT
    - g_return_if_fail
    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:2313,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2316,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2316,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:2318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2321
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2321
    functionName: g_source_ref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_source_ref (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/glib/glib/gmain.c:2964,1
    - Dst: memmove
      Src: /src/glib/glib/gmain.c:2972,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/gmain.c:2977,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/glib/glib/gmain.c:2971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2982
      start: 2937
    functionDepth: 0
    functionLinenumber: 2937
    functionLinenumberEnd: 2982
    functionName: g_get_real_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - memmove
    - GetSystemTimeAsFileTime
    - gettimeofday
    - G_GINT64_CONSTANT
    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 g_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. g_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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:3543,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3549,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3545,1
    - Dst: g_main_context_acquire_unlocked
      Src: /src/glib/glib/gmain.c:3547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3552
      start: 3537
    functionDepth: 0
    functionLinenumber: 3537
    functionLinenumberEnd: 3552
    functionName: g_main_context_acquire
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_main_context_acquire_unlocked
    - g_main_context_default
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_acquire (GMainContext *context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4511,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:4518,1
    - Dst: g_main_context_wait_internal
      Src: /src/glib/glib/gmain.c:4521,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/gmain.c:4531,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:4542,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:4535,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4543,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:4548,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4530,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/gmain.c:4544,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/gmain.c:4556,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4505,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4506,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4506,1
    - Dst: g_main_context_acquire_unlocked
      Src: /src/glib/glib/gmain.c:4513,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4520,1
    - Dst: g_main_context_iterate_unlocked
      Src: /src/glib/glib/gmain.c:4550,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:4509,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4525,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:4540,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:4528,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4549,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:4552,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4554,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4557
      start: 4500
    functionDepth: 0
    functionLinenumber: 4500
    functionLinenumberEnd: 4557
    functionName: g_main_loop_run
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_acquire_unlocked
    - g_assert
    - g_main_context_release_unlocked
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - g_main_loop_unref
    - g_warning
    - g_main_context_wait_internal
    - g_main_context_iterate_unlocked
    - LOCK_CONTEXT
    - g_atomic_int_set
    - g_atomic_int_inc
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_main_loop_run (GMainLoop *loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4730,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4732,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4735,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4733,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4732,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:4736,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - context
    - fd
    - priority
    argTypes:
    - GMainContext*
    - GPollFD*
    - gint
    constantsTouched: []
    func_position:
      end: 4738
      start: 4724
    functionDepth: 0
    functionLinenumber: 4724
    functionLinenumberEnd: 4738
    functionName: g_main_context_add_poll
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_add_poll_unlocked
    - g_main_context_default
    - g_atomic_int_get
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_main_context_add_poll (GMainContext *context,\t\t\t GPollFD
      *fd,\t\t\t gint priority) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:5034,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:5038,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:5036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 5041
      start: 5028
    functionDepth: 0
    functionLinenumber: 5028
    functionLinenumberEnd: 5041
    functionName: g_main_context_is_owner
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_main_context_default
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_is_owner (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_add_full
      Src: /src/glib/glib/gmain.c:5268,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: 5269
      start: 5261
    functionDepth: 0
    functionLinenumber: 5261
    functionLinenumberEnd: 5269
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:3562,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3563,1
    - Dst: GLIB_MAIN_CONTEXT_ACQUIRE
      Src: /src/glib/glib/gmain.c:3573,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3573,1
    - Dst: GLIB_MAIN_CONTEXT_ACQUIRE
      Src: /src/glib/glib/gmain.c:3563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3576
      start: 3554
    functionDepth: 0
    functionLinenumber: 3554
    functionLinenumberEnd: 3576
    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_LOCK
      Src: /src/glib/glib/gmain.c:5671,1
    - Dst: dispatch_unix_signals_unlocked
      Src: /src/glib/glib/gmain.c:5672,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5674
      start: 5668
    functionDepth: 0
    functionLinenumber: 5668
    functionLinenumberEnd: 5674
    functionName: dispatch_unix_signals
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - dispatch_unix_signals_unlocked
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void dispatch_unix_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2149,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2150,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2153
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2153
    functionName: g_source_get_can_recurse
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_source_get_can_recurse (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2292,1
    - Dst: g_source_set_name
      Src: /src/glib/glib/gmain.c:2298,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/gmain.c:2294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tag
    - name
    argTypes:
    - guint
    - char*
    constantsTouched: []
    func_position:
      end: 2299
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2299
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2903,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2904,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2904,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gmain.c:2905,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - source
    - tag
    argTypes:
    - GSource*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2910
      start: 2897
    functionDepth: 0
    functionLinenumber: 2897
    functionLinenumberEnd: 2910
    functionName: g_source_query_unix_fd
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - g_slist_find
    linkageType: ''
    returnType: GIOCondition
    signature: 'GIOCondition g_source_query_unix_fd (GSource *source, gpointer tag) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4651,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmain.c:4660,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4704,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4691,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4695,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4698,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4644,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4653,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4669,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/gmain.c:4672,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4693,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4689,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4685,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/gmain.c:4673,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4687,1
    - Dst: g_timer_new
      Src: /src/glib/glib/gmain.c:4646,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:4659,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4697,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 5
    argNames:
    - context
    - timeout
    - priority
    - fds
    - n_fds
    argTypes:
    - GMainContext*
    - int
    - int
    - GPollFD*
    - int
    constantsTouched: []
    func_position:
      end: 4708
      start: 4621
    functionDepth: 0
    functionLinenumber: 4621
    functionLinenumberEnd: 4708
    functionName: g_main_context_poll_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_timer_destroy
    - g_timer_elapsed
    - g_warning
    - UNLOCK_CONTEXT
    - g_timer_new
    - LOCK_CONTEXT
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void g_main_context_poll_unlocked (GMainContext *context, int
      timeout, int priority, GPollFD *fds, int n_fds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:5207,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gmain.c:5215,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:5212,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gmain.c:5214,1
    - Dst: timeout_source_new
      Src: /src/glib/glib/gmain.c:5209,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:5217,1
    - Dst: GLIB_TIMEOUT_ADD
      Src: /src/glib/glib/gmain.c:5217,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:5217,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gmain.c:5219,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: 5222
      start: 5195
    functionDepth: 0
    functionLinenumber: 5195
    functionLinenumberEnd: 5222
    functionName: timeout_add_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - GLIB_TIMEOUT_ADD
    - g_source_set_priority
    - g_main_context_default
    - TRACE
    - g_source_unref
    - g_return_val_if_fail
    - g_source_attach
    - timeout_source_new
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_add_full
      Src: /src/glib/glib/gmain.c:5473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - interval
    - function
    - data
    argTypes:
    - guint
    - GSourceOnceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5474
      start: 5468
    functionDepth: 0
    functionLinenumber: 5468
    functionLinenumberEnd: 5474
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - iter
    - context
    - may_modify
    argTypes:
    - GSourceIter*
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1110
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1110
    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_val_if_fail
      Src: /src/glib/glib/gmain.c:1508,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1509,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1512,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1509,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1510,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1517
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1517
    functionName: g_source_get_id
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - UNLOCK_CONTEXT
    - g_return_val_if_fail
    - 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:2098,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2099,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2102
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2102
    functionName: g_source_get_ready_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_source_get_ready_time (GSource *source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2120,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2121,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2121,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2126,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - source
    - can_recurse
    argTypes:
    - GSource*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2135
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2135
    functionName: g_source_set_can_recurse
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - 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_if_fail
      Src: /src/glib/glib/gmain.c:2816,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gmain.c:2818,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2817,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2818,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2817,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/glib/gmain.c:2826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - source
    - tag
    - new_events
    argTypes:
    - GSource*
    - gpointer
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 2827
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2827
    functionName: g_source_modify_unix_fd
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_main_context_wakeup
    - g_slist_find
    - 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_main_context_default
      Src: /src/glib/glib/gmain.c:3756,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3758,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3762,1
    - Dst: g_main_context_prepare_unlocked
      Src: /src/glib/glib/gmain.c:3760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - context
    - priority
    argTypes:
    - GMainContext*
    - gint*
    constantsTouched: []
    func_position:
      end: 3765
      start: 3749
    functionDepth: 0
    functionLinenumber: 3749
    functionLinenumberEnd: 3765
    functionName: g_main_context_prepare
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_prepare_unlocked
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_main_context_default
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_main_context_prepare (GMainContext *context,\t\t\tgint
      *priority) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:5517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 5520
      start: 5502
    functionDepth: 0
    functionLinenumber: 5502
    functionLinenumberEnd: 5520
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_MAIN_CONTEXT_BEFORE_PREPARE
      Src: /src/glib/glib/gmain.c:3786,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:3804,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/gmain.c:3806,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:3813,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3817,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:3817,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3845,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3845,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3848,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:3781,1
    - Dst: g_main_dispatch
      Src: /src/glib/glib/gmain.c:3793,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3908,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:3842,1
    - Dst: GLIB_MAIN_AFTER_PREPARE
      Src: /src/glib/glib/gmain.c:3840,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:3906,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_PREPARE
      Src: /src/glib/glib/gmain.c:3908,1
    - Dst: MIN
      Src: /src/glib/glib/gmain.c:3875,1
    - Dst: MIN
      Src: /src/glib/glib/gmain.c:3903,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3786,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:3812,1
    - Dst: gboolean
      Src: /src/glib/glib/gmain.c:3825,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3835,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3840,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gmain.c:3858,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 2
    argNames:
    - context
    - priority
    argTypes:
    - GMainContext*
    - gint*
    constantsTouched: []
    func_position:
      end: 3914
      start: 3767
    functionDepth: 0
    functionLinenumber: 3767
    functionLinenumberEnd: 3914
    functionName: g_main_context_prepare_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - MIN
    - g_trace_mark
    - LOCK_CONTEXT
    - g_ptr_array_set_size
    - SOURCE_BLOCKED
    - g_source_iter_next
    - g_source_iter_clear
    - gboolean
    - g_get_monotonic_time
    - GLIB_MAIN_CONTEXT_BEFORE_PREPARE
    - g_source_unref_internal
    - SOURCE_DESTROYED
    - g_warning
    - g_source_get_name
    - g_main_dispatch
    - GLIB_MAIN_CONTEXT_AFTER_PREPARE
    - g_source_iter_init
    - GLIB_MAIN_AFTER_PREPARE
    - TRACE
    - UNLOCK_CONTEXT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_main_context_prepare_unlocked (GMainContext *context,
      gint *priority) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:5540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5544
      start: 5522
    functionDepth: 0
    functionLinenumber: 5522
    functionLinenumberEnd: 5544
    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_if_fail
      Src: /src/glib/glib/gmain.c:1094,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1096,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1096,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - source
    - dispose
    argTypes:
    - GSource*
    - GSourceDisposeFunc
    constantsTouched: []
    func_position:
      end: 1098
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1098
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1476,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1477,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1477,1
    - Dst: g_source_destroy_internal
      Src: /src/glib/glib/gmain.c:1482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1485
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1485
    functionName: g_source_destroy
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_source_destroy_internal
    - 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:2054,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2055,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2065,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2060,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2055,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:2072,1
    - Dst: GLIB_SOURCE_SET_READY_TIME
      Src: /src/glib/glib/gmain.c:2072,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:2077,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:2078,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2079,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - source
    - ready_time
    argTypes:
    - GSource*
    - gint64
    constantsTouched: []
    func_position:
      end: 2081
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2081
    functionName: g_source_set_ready_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_wakeup_signal
    - g_atomic_int_get
    - LOCK_CONTEXT
    - TRACE
    - GLIB_SOURCE_SET_READY_TIME
    - UNLOCK_CONTEXT
    - SOURCE_BLOCKED
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_source_set_ready_time (GSource *source, gint64 ready_time) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2762,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2763,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2763,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2764,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2764,1
    - Dst: g_new
      Src: /src/glib/glib/gmain.c:2766,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2774,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:2776,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:2780,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:2781,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2782,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - source
    - fd
    - events
    argTypes:
    - GSource*
    - gint
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 2786
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2786
    functionName: g_source_add_unix_fd
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_add_poll_unlocked
    - SOURCE_DESTROYED
    - g_new
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - g_slist_prepend
    - LOCK_CONTEXT
    - g_return_val_if_fail
    - SOURCE_BLOCKED
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_source_add_unix_fd (GSource *source, gint fd, GIOCondition
      events) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:5451,1
    - Dst: g_timeout_add_seconds_full
      Src: /src/glib/glib/gmain.c:5453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - interval
    - function
    - data
    argTypes:
    - guint
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5454
      start: 5446
    functionDepth: 0
    functionLinenumber: 5446
    functionLinenumberEnd: 5454
    functionName: g_timeout_add_seconds
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_timeout_add_seconds_full
    linkageType: ''
    returnType: guint
    signature: 'guint g_timeout_add_seconds (guint interval, GSourceFunc function,
      gpointer data) '
  - 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: 1772
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1772
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_dispatch
      Src: /src/glib/glib/gmain.c:3419,1
    - Dst: GLIB_MAIN_BEFORE_DISPATCH
      Src: /src/glib/glib/gmain.c:3473,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:3479,1
    - Dst: GLIB_MAIN_AFTER_DISPATCH
      Src: /src/glib/glib/gmain.c:3476,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:3496,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3496,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3502,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:3504,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3431,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:3427,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3473,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3473,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3476,1
    - Dst: block_source
      Src: /src/glib/glib/gmain.c:3454,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3462,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3476,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3482,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3491,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3482,1
    - Dst: unblock_source
      Src: /src/glib/glib/gmain.c:3497,1
    - Dst: g_source_destroy_internal
      Src: /src/glib/glib/gmain.c:3505,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:3509,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/gmain.c:3512,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3513
      start: 3416
    functionDepth: 0
    functionLinenumber: 3416
    functionLinenumberEnd: 3513
    functionName: g_main_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - block_source
    - SOURCE_DESTROYED
    - g_source_unref_internal
    - g_assert
    - SOURCE_BLOCKED
    - g_ptr_array_set_size
    - g_trace_mark
    - unblock_source
    - get_dispatch
    - GLIB_MAIN_BEFORE_DISPATCH
    - TRACE
    - LOCK_CONTEXT
    - g_source_destroy_internal
    - UNLOCK_CONTEXT
    - GLIB_MAIN_AFTER_DISPATCH
    - g_source_get_name
    linkageType: ''
    returnType: void
    signature: 'static void g_main_dispatch (GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:3389,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:3390,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:3389,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3390,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:3397,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:3402,1
    - Dst: unblock_source
      Src: /src/glib/glib/gmain.c:3409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 3413
      start: 3384
    functionDepth: 0
    functionLinenumber: 3384
    functionLinenumberEnd: 3413
    functionName: unblock_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_add_poll_unlocked
    - SOURCE_DESTROYED
    - unblock_source
    - SOURCE_BLOCKED
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void unblock_source (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2256,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2257,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2260
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2260
    functionName: g_source_get_name
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *g_source_get_name (GSource *source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2524,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:2531,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:2532,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2529,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:2527,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2534,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:2547,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - context
    - funcs
    - user_data
    argTypes:
    - GMainContext*
    - GSourceFuncs*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2552
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2552
    functionName: g_main_context_find_source_by_funcs_user_data
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_iter_next
    - SOURCE_DESTROYED
    - g_source_iter_clear
    - g_source_iter_init
    - g_main_context_default
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_return_val_if_fail
    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: idle_source_new
      Src: /src/glib/glib/gmain.c:6324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 6325
      start: 6321
    functionDepth: 0
    functionLinenumber: 6321
    functionLinenumberEnd: 6325
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_set_name_full
      Src: /src/glib/glib/gmain.c:2239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - source
    - name
    argTypes:
    - GSource*
    - char*
    constantsTouched: []
    func_position:
      end: 2240
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2240
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2488,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:2491,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gmain.c:2494,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2493,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmain.c:2494,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2495,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - context
    - source_id
    argTypes:
    - GMainContext*
    - guint
    constantsTouched: []
    func_position:
      end: 2501
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2501
    functionName: g_main_context_find_source_by_id
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - SOURCE_DESTROYED
    - GUINT_TO_POINTER
    - g_main_context_default
    - g_return_val_if_fail
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_hash_table_lookup
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_main_context_find_source_by_id (GMainContext *context,
      guint source_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mach_timebase_info
      Src: /src/glib/glib/gmain.c:3051,1
    - Dst: mach_absolute_time
      Src: /src/glib/glib/gmain.c:3052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3081
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3081
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/gmain.c:4861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - source
    - timeval
    argTypes:
    - GSource*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 4862
      start: 4856
    functionDepth: 0
    functionLinenumber: 4856
    functionLinenumberEnd: 4862
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/gmain.c:6295,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/gmain.c:6303,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:6300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - one_shot
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 6306
      start: 6289
    functionDepth: 0
    functionLinenumber: 6289
    functionLinenumberEnd: 6306
    functionName: idle_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_static_name
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *idle_source_new (gboolean one_shot) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmain.c:3030,1
    - Dst: GetLastError
      Src: /src/glib/glib/gmain.c:3037,1
    - Dst: QueryPerformanceCounter
      Src: /src/glib/glib/gmain.c:3034,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:3037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3042
      start: 3027
    functionDepth: 0
    functionLinenumber: 3027
    functionLinenumberEnd: 3042
    functionName: g_get_monotonic_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - QueryPerformanceCounter
    - G_LIKELY
    - GetLastError
    - 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:6589,1
    - Dst: pthread_sigmask
      Src: /src/glib/glib/gmain.c:6597,1
    - Dst: sigfillset
      Src: /src/glib/glib/gmain.c:6596,1
    - Dst: g_thread_new
      Src: /src/glib/glib/gmain.c:6600,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/gmain.c:6599,1
    - Dst: pthread_sigmask
      Src: /src/glib/glib/gmain.c:6602,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gmain.c:6604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 6608
      start: 6584
    functionDepth: 0
    functionLinenumber: 6584
    functionLinenumberEnd: 6608
    functionName: g_get_worker_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - pthread_sigmask
    - g_thread_new
    - g_once_init_leave
    - sigfillset
    - g_main_context_new
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_get_worker_context (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1873,1
    - Dst: GLIB_SOURCE_SET_CALLBACK
      Src: /src/glib/glib/gmain.c:1876,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1874,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1874,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1876,1
    - Dst: g_new
      Src: /src/glib/glib/gmain.c:1878,1
    - Dst: g_source_set_callback_indirect
      Src: /src/glib/glib/gmain.c:1885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - source
    - func
    - data
    - notify
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1886
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1886
    functionName: g_source_set_callback
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_new
    - g_atomic_int_get
    - g_source_set_callback_indirect
    - TRACE
    - GLIB_SOURCE_SET_CALLBACK
    - g_return_if_fail
    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:4572,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4573,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4575,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4573,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:4576,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:4577,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gmain.c:4579,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4581,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4583,1
    - Dst: GLIB_MAIN_LOOP_QUIT
      Src: /src/glib/glib/gmain.c:4583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4584
      start: 4569
    functionDepth: 0
    functionLinenumber: 4569
    functionLinenumberEnd: 4584
    functionName: g_main_loop_quit
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_wakeup_signal
    - g_atomic_int_get
    - g_cond_broadcast
    - UNLOCK_CONTEXT
    - TRACE
    - LOCK_CONTEXT
    - GLIB_MAIN_LOOP_QUIT
    - g_atomic_int_set
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_main_loop_quit (GMainLoop *loop) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/glib/gmain.c:4831,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:4843,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - context
    - fd
    argTypes:
    - GMainContext*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 4844
      start: 4809
    functionDepth: 0
    functionLinenumber: 4809
    functionLinenumberEnd: 4844
    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:5063,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/gmain.c:5094,1
    - Dst: g_str_hash
      Src: /src/glib/glib/gmain.c:5067,1
    - Dst: g_getenv
      Src: /src/glib/glib/gmain.c:5065,1
    - Dst: ABS
      Src: /src/glib/glib/gmain.c:5067,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - timeout_source
    - current_time
    argTypes:
    - GTimeoutSource*
    - gint64
    constantsTouched: []
    func_position:
      end: 5095
      start: 5045
    functionDepth: 0
    functionLinenumber: 5045
    functionLinenumberEnd: 5095
    functionName: g_timeout_set_expiration
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_ready_time
    - g_getenv
    - ABS
    - g_str_hash
    linkageType: ''
    returnType: void
    signature: 'static void g_timeout_set_expiration (GTimeoutSource *timeout_source,
      gint64 current_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_invoke_full
      Src: /src/glib/glib/gmain.c:6492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - context
    - function
    - data
    argTypes:
    - GMainContext*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6495
      start: 6487
    functionDepth: 0
    functionLinenumber: 6487
    functionLinenumberEnd: 6495
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:1166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSourceIter*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1169
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:1696,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:1700,1
    - Dst: g_source_destroy_internal
      Src: /src/glib/glib/gmain.c:1699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - child_source
    - context
    argTypes:
    - GSource*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 1701
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1701
    functionName: g_child_source_remove_internal
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_destroy_internal
    - g_source_unref_internal
    - g_slist_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_child_source_remove_internal (GSource *child_source,
      GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:5597,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5601,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:5600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5602
      start: 5567
    functionDepth: 0
    functionLinenumber: 5567
    functionLinenumberEnd: 5602
    functionName: wake_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_wakeup_signal
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void wake_source (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:6337,1
    - Dst: idle_source_new
      Src: /src/glib/glib/gmain.c:6339,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gmain.c:6344,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gmain.c:6345,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:6342,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:6347,1
    - Dst: GLIB_IDLE_ADD
      Src: /src/glib/glib/gmain.c:6347,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:6347,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gmain.c:6349,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: 6352
      start: 6327
    functionDepth: 0
    functionLinenumber: 6327
    functionLinenumberEnd: 6352
    functionName: idle_add_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_main_context_default
    - idle_source_new
    - TRACE
    - g_source_unref
    - GLIB_IDLE_ADD
    - g_return_val_if_fail
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: guint
    signature: 'static guint idle_add_full (gint priority, gboolean one_shot, GSourceFunc
      function, gpointer data, GDestroyNotify notify) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:5612,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gmain.c:5649,1
    - Dst: wake_source
      Src: /src/glib/glib/gmain.c:5650,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gmain.c:5631,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gmain.c:5660,1
    - Dst: wake_source
      Src: /src/glib/glib/gmain.c:5662,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5666
      start: 5604
    functionDepth: 0
    functionLinenumber: 5604
    functionLinenumberEnd: 5666
    functionName: dispatch_unix_signals_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - wake_source
    - g_atomic_int_compare_and_exchange
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void dispatch_unix_signals_unlocked (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_acquire
      Src: /src/glib/glib/gmain.c:908,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:911,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmain.c:916,1
    - Dst: g_main_context_ref
      Src: /src/glib/glib/gmain.c:914,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:909,1
    - Dst: g_queue_new
      Src: /src/glib/glib/gmain.c:919,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmain.c:920,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/gmain.c:923,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:925,1
    - Dst: GLIB_MAIN_CONTEXT_PUSH_THREAD_DEFAULT
      Src: /src/glib/glib/gmain.c:925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 926
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 926
    functionName: g_main_context_push_thread_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_acquire
    - g_private_set
    - g_main_context_ref
    - g_queue_new
    - g_main_context_default
    - TRACE
    - g_private_get
    - GLIB_MAIN_CONTEXT_PUSH_THREAD_DEFAULT
    - g_queue_push_head
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_push_thread_default (GMainContext *context) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:1148,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:1151,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 2
    argNames:
    - iter
    - source
    argTypes:
    - GSourceIter*
    - GSource**
    constantsTouched: []
    func_position:
      end: 1156
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1156
    functionName: g_source_iter_next
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_unref_internal
    - g_source_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_source_iter_next (GSourceIter *iter, GSource **source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2854,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2856,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2855,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gmain.c:2856,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2855,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2862,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:2864,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:2868,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:2869,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2871,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:2874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - source
    - tag
    argTypes:
    - GSource*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2875
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2875
    functionName: g_source_remove_unix_fd
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_free
    - g_slist_remove
    - g_slist_find
    - g_main_context_remove_poll_unlocked
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - LOCK_CONTEXT
    - SOURCE_BLOCKED
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_source_remove_unix_fd (GSource *source, gpointer tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:6182,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:6190,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/gmain.c:6187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:6184,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gmain.c:6192,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gmain.c:6193,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gmain.c:6194,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: 6197
      start: 6172
    functionDepth: 0
    functionLinenumber: 6172
    functionLinenumberEnd: 6197
    functionName: g_child_watch_add_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_attach
    - g_source_unref
    - g_return_val_if_fail
    - g_child_watch_source_new
    - g_source_set_priority
    linkageType: ''
    returnType: guint
    signature: "guint g_child_watch_add_full (gint priority,\t\t\tGPid pid,\t\t\tGChildWatchFunc
      function,\t\t\tgpointer data,\t\t\tGDestroyNotify notify) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:6077,1
    - Dst: g_source_new
      Src: /src/glib/glib/gmain.c:6080,1
    - Dst: syscall
      Src: /src/glib/glib/gmain.c:6104,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/gmain.c:6092,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/gmain.c:6084,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/gmain.c:6109,1
    - Dst: g_debug
      Src: /src/glib/glib/gmain.c:6114,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmain.c:6115,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:6124,1
    - Dst: ref_unix_signal_handler_unlocked
      Src: /src/glib/glib/gmain.c:6125,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:6126,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:6127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 6131
      start: 6067
    functionDepth: 0
    functionLinenumber: 6067
    functionLinenumberEnd: 6131
    functionName: g_child_watch_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_static_name
    - G_LOCK
    - g_strerror
    - G_UNLOCK
    - g_source_add_poll
    - g_debug
    - g_slist_prepend
    - g_source_new
    - g_return_val_if_fail
    - syscall
    - ref_unix_signal_handler_unlocked
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_child_watch_source_new (GPid pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove_by_funcs_user_data
      Src: /src/glib/glib/gmain.c:6453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 6454
      start: 6450
    functionDepth: 0
    functionLinenumber: 6450
    functionLinenumberEnd: 6454
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4614,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4615,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4618
      start: 4611
    functionDepth: 0
    functionLinenumber: 4611
    functionLinenumberEnd: 4618
    functionName: g_main_loop_get_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_loop_get_context (GMainLoop *loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2930,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gmain.c:2932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - result
    argTypes:
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 2936
      start: 2924
    functionDepth: 0
    functionLinenumber: 2924
    functionLinenumberEnd: 2936
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gmain.c:3109,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmain.c:3112,1
    - Dst: g_private_set_alloc0
      Src: /src/glib/glib/gmain.c:3115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3118
      start: 3106
    functionDepth: 0
    functionLinenumber: 3106
    functionLinenumberEnd: 3118
    functionName: get_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - g_private_get
    linkageType: ''
    returnType: GMainDispatch*
    signature: 'static GMainDispatch *get_dispatch (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1571,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1573,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1572,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1574,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1572,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1574,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1579,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:1581,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1585,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1586,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - source
    - fd
    argTypes:
    - GSource*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1589
    functionName: g_source_add_poll
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_add_poll_unlocked
    - SOURCE_DESTROYED
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - g_slist_prepend
    - LOCK_CONTEXT
    - SOURCE_BLOCKED
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_source_add_poll (GSource *source,\t\t GPollFD *fd) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4799,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4801,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4804,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4802,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4801,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:4805,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - context
    - fd
    argTypes:
    - GMainContext*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 4807
      start: 4794
    functionDepth: 0
    functionLinenumber: 4794
    functionLinenumberEnd: 4807
    functionName: g_main_context_remove_poll
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_remove_poll_unlocked
    - g_main_context_default
    - g_atomic_int_get
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_main_context_remove_poll (GMainContext *context,\t\t\t GPollFD
      *fd) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_add_full
      Src: /src/glib/glib/gmain.c:5409,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: 5410
      start: 5402
    functionDepth: 0
    functionLinenumber: 5402
    functionLinenumberEnd: 5410
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 6256
      start: 6252
    functionDepth: 0
    functionLinenumber: 6252
    functionLinenumberEnd: 6256
    functionName: g_idle_check
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_idle_check (GSource *source) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:6525,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:6528,1
    - Dst: function
      Src: /src/glib/glib/gmain.c:6532,1
    - Dst: g_main_context_is_owner
      Src: /src/glib/glib/gmain.c:6530,1
    - Dst: notify
      Src: /src/glib/glib/gmain.c:6534,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/glib/gmain.c:6541,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:6544,1
    - Dst: g_main_context_acquire
      Src: /src/glib/glib/gmain.c:6546,1
    - Dst: function
      Src: /src/glib/glib/gmain.c:6548,1
    - Dst: g_main_context_release
      Src: /src/glib/glib/gmain.c:6550,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gmain.c:6561,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gmain.c:6562,1
    - Dst: notify
      Src: /src/glib/glib/gmain.c:6553,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:6560,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/gmain.c:6559,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gmain.c:6563,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: 6566
      start: 6518
    functionDepth: 0
    functionLinenumber: 6518
    functionLinenumberEnd: 6566
    functionName: g_main_context_invoke_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - function
    - g_main_context_acquire
    - g_source_set_callback
    - g_main_context_release
    - g_main_context_default
    - g_main_context_is_owner
    - notify
    - g_source_unref
    - g_idle_source_new
    - g_main_context_get_thread_default
    - g_source_attach
    - g_source_set_priority
    - g_return_if_fail
    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_warning
      Src: /src/glib/glib/gmain.c:6268,1
    - Dst: callback
      Src: /src/glib/glib/gmain.c:6281,1
    - Dst: once_callback
      Src: /src/glib/glib/gmain.c:6276,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:6284,1
    - Dst: GLIB_IDLE_DISPATCH
      Src: /src/glib/glib/gmain.c:6284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6287
      start: 6258
    functionDepth: 0
    functionLinenumber: 6258
    functionLinenumberEnd: 6287
    functionName: g_idle_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_IDLE_DISPATCH
    - callback
    - once_callback
    - g_warning
    - TRACE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_idle_dispatch (GSource *source, \t\t GSourceFunc
      callback,\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/gmain.c:6573,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:6576,1
    - Dst: dispatch_unix_signals
      Src: /src/glib/glib/gmain.c:6577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 6582
      start: 6568
    functionDepth: 0
    functionLinenumber: 6568
    functionLinenumberEnd: 6582
    functionName: glib_worker_main
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - dispatch_unix_signals
    - g_main_context_iteration
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer glib_worker_main (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_source_list_for_priority
      Src: /src/glib/glib/gmain.c:1231,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:1235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - source
    - context
    argTypes:
    - GSource*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 1258
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1258
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1539,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1540,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1540,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1541,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1544
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1544
    functionName: g_source_get_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - SOURCE_DESTROYED
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_source_get_context (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:3101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dispatch
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3102
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3102
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gmain.c:4747,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:4782,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - context
    - priority
    - fd
    argTypes:
    - GMainContext*
    - gint
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 4783
      start: 4741
    functionDepth: 0
    functionLinenumber: 4741
    functionLinenumberEnd: 4783
    functionName: g_main_context_add_poll_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_wakeup_signal
    - g_slice_new
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_add_full
      Src: /src/glib/glib/gmain.c:5346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - interval
    - function
    - data
    argTypes:
    - guint32
    - GSourceOnceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5347
      start: 5341
    functionDepth: 0
    functionLinenumber: 5341
    functionLinenumberEnd: 5347
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gmain.c:1194,1
    - Dst: g_list_append
      Src: /src/glib/glib/gmain.c:1210,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gmain.c:1206,1
    - Dst: g_list_append
      Src: /src/glib/glib/gmain.c:1216,1
    - Dst: g_list_insert_before
      Src: /src/glib/glib/gmain.c:1196,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - context
    - priority
    - create
    argTypes:
    - GMainContext*
    - gint
    - gboolean
    constantsTouched: []
    func_position:
      end: 1220
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1220
    functionName: find_source_list_for_priority
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_list_insert_before
    - 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_main_context_default
      Src: /src/glib/glib/gmain.c:3595,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:3598,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3597,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3600
      start: 3591
    functionDepth: 0
    functionLinenumber: 3591
    functionLinenumberEnd: 3600
    functionName: g_main_context_release
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_release_unlocked
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_main_context_default
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_release (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_add_full
      Src: /src/glib/glib/gmain.c:5318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - interval
    - function
    - data
    argTypes:
    - guint32
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5320
      start: 5313
    functionDepth: 0
    functionLinenumber: 5313
    functionLinenumberEnd: 5320
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:3617,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmain.c:3633,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/gmain.c:3630,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3622,1
    - Dst: GLIB_MAIN_CONTEXT_RELEASE
      Src: /src/glib/glib/gmain.c:3622,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gmain.c:3635,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmain.c:3638,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3641
      start: 3602
    functionDepth: 0
    functionLinenumber: 3602
    functionLinenumberEnd: 3641
    functionName: g_main_context_release_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_slist_delete_link
    - g_mutex_unlock
    - TRACE
    - GLIB_MAIN_CONTEXT_RELEASE
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_main_context_release_unlocked (GMainContext *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1722,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1725,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1724,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1723,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1723,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1725,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1726,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1727,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1727,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1728,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1738,1
    - Dst: g_child_source_remove_internal
      Src: /src/glib/glib/gmain.c:1735,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1733,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - source
    - child_source
    argTypes:
    - GSource*
    - GSource*
    constantsTouched: []
    func_position:
      end: 1739
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1739
    functionName: g_source_remove_child_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - SOURCE_DESTROYED
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - g_child_source_remove_internal
    - LOCK_CONTEXT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_source_remove_child_source (GSource *source,\t\t\t GSource
      *child_source) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: W_EXITCODE
      Src: /src/glib/glib/gmain.c:5487,1
    - Dst: W_EXITCODE
      Src: /src/glib/glib/gmain.c:5489,1
    - Dst: W_EXITCODE
      Src: /src/glib/glib/gmain.c:5491,1
    - Dst: W_STOPCODE
      Src: /src/glib/glib/gmain.c:5497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - siginfo_t*
    constantsTouched: []
    func_position:
      end: 5499
      start: 5479
    functionDepth: 0
    functionLinenumber: 5479
    functionLinenumberEnd: 5499
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: idle_add_full
      Src: /src/glib/glib/gmain.c:6385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - priority
    - function
    - data
    - notify
    argTypes:
    - gint
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 6386
      start: 6379
    functionDepth: 0
    functionLinenumber: 6379
    functionLinenumberEnd: 6386
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:596,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gmain.c:598,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 602
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 602
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gmain.c:748,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:760,1
    - Dst: g_new0
      Src: /src/glib/glib/gmain.c:758,1
    - Dst: g_getenv
      Src: /src/glib/glib/gmain.c:751,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gmain.c:755,1
    - Dst: GLIB_MAIN_CONTEXT_NEW
      Src: /src/glib/glib/gmain.c:760,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/gmain.c:762,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gmain.c:763,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gmain.c:765,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gmain.c:781,1
    - Dst: g_wakeup_get_pollfd
      Src: /src/glib/glib/gmain.c:786,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:787,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:794,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gmain.c:790,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:797,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:789,1
    - Dst: g_wakeup_new
      Src: /src/glib/glib/gmain.c:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GMainContextFlags
    constantsTouched: []
    func_position:
      end: 800
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 800
    functionName: g_main_context_new_with_flags
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_add_poll_unlocked
    - g_new0
    - g_once_init_enter
    - g_wakeup_get_pollfd
    - G_LOCK
    - G_UNLOCK
    - g_slist_append
    - g_hash_table_new
    - g_wakeup_new
    - TRACE
    - g_getenv
    - g_once_init_leave
    - g_mutex_init
    - g_print
    - g_ptr_array_new
    - GLIB_MAIN_CONTEXT_NEW
    - g_cond_init
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_new_with_flags (GMainContextFlags flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:943,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:949,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:948,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/gmain.c:949,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmain.c:946,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:951,1
    - Dst: GLIB_MAIN_CONTEXT_POP_THREAD_DEFAULT
      Src: /src/glib/glib/gmain.c:951,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/gmain.c:953,1
    - Dst: g_main_context_release
      Src: /src/glib/glib/gmain.c:955,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/gmain.c:957,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 958
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 958
    functionName: g_main_context_pop_thread_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_queue_pop_head
    - GLIB_MAIN_CONTEXT_POP_THREAD_DEFAULT
    - g_main_context_release
    - g_main_context_unref
    - g_main_context_default
    - TRACE
    - g_private_get
    - g_queue_peek_head
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_pop_thread_default (GMainContext *context) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3655,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gmain.c:3664,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gmain.c:3668,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3670,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3667,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:3672,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:3678,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - context
    - cond
    - mutex
    argTypes:
    - GMainContext*
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 3691
      start: 3643
    functionDepth: 0
    functionLinenumber: 3643
    functionLinenumberEnd: 3691
    functionName: g_main_context_wait_internal
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - g_assert
    - g_cond_wait
    - g_slist_append
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_main_context_wait_internal (GMainContext *context,
      GCond *cond, GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4059,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4063,1
    - Dst: g_main_context_check_unlocked
      Src: /src/glib/glib/gmain.c:4061,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: 4066
      start: 4051
    functionDepth: 0
    functionLinenumber: 4051
    functionLinenumberEnd: 4066
    functionName: g_main_context_check
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_check_unlocked
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    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:4410,1
    - Dst: g_main_context_iterate_unlocked
      Src: /src/glib/glib/gmain.c:4413,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4412,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - context
    - may_block
    argTypes:
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4417
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4417
    functionName: g_main_context_iteration
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_main_context_iterate_unlocked
    - g_main_context_default
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_iteration (GMainContext *context, gboolean
      may_block) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4481,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:4484,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4482,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4482,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/gmain.c:4487,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:4488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4489
      start: 4478
    functionDepth: 0
    functionLinenumber: 4478
    functionLinenumberEnd: 4489
    functionName: g_main_loop_unref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_main_context_unref
    - g_atomic_int_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_main_loop_unref (GMainLoop *loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:5005,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:5007,1
    - Dst: GLIB_MAIN_CONTEXT_WAKEUP
      Src: /src/glib/glib/gmain.c:5009,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:5009,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:5007,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:5011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 5012
      start: 5001
    functionDepth: 0
    functionLinenumber: 5001
    functionLinenumberEnd: 5012
    functionName: g_main_context_wakeup
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_default
    - g_atomic_int_get
    - g_wakeup_signal
    - TRACE
    - GLIB_MAIN_CONTEXT_WAKEUP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_wakeup (GMainContext *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:3355,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:3355,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:3369,1
    - Dst: block_source
      Src: /src/glib/glib/gmain.c:3377,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:3364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 3381
      start: 3350
    functionDepth: 0
    functionLinenumber: 3350
    functionLinenumberEnd: 3381
    functionName: block_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_remove_poll_unlocked
    - SOURCE_BLOCKED
    - block_source
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void block_source (GSource *source) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4081,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:4085,1
    - Dst: g_wakeup_acknowledge
      Src: /src/glib/glib/gmain.c:4099,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_CHECK
      Src: /src/glib/glib/gmain.c:4110,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:4145,1
    - Dst: GLIB_MAIN_AFTER_CHECK
      Src: /src/glib/glib/gmain.c:4172,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:4177,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:4177,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4180,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gmain.c:4233,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:4243,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4098,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4090,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:4124,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:4146,1
    - Dst: gboolean
      Src: /src/glib/glib/gmain.c:4156,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:4148,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4172,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:4148,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gmain.c:4210,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_CHECK
      Src: /src/glib/glib/gmain.c:4245,1
    - Dst: GLIB_MAIN_CONTEXT_BEFORE_CHECK
      Src: /src/glib/glib/gmain.c:4090,1
    - Dst: GLIB_MAIN_CONTEXT_WAKEUP_ACKNOWLEDGE
      Src: /src/glib/glib/gmain.c:4098,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4110,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4166,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:4174,1
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:4232,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4245,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: 4248
      start: 4068
    functionDepth: 0
    functionLinenumber: 4068
    functionLinenumberEnd: 4248
    functionName: g_main_context_check_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_wakeup_acknowledge
    - g_main_context_default
    - g_trace_mark
    - LOCK_CONTEXT
    - GLIB_MAIN_AFTER_CHECK
    - SOURCE_BLOCKED
    - g_source_iter_next
    - g_source_iter_clear
    - gboolean
    - g_get_monotonic_time
    - GLIB_MAIN_CONTEXT_AFTER_CHECK
    - GLIB_MAIN_CONTEXT_BEFORE_CHECK
    - SOURCE_DESTROYED
    - g_warning
    - g_ptr_array_add
    - g_source_get_name
    - GLIB_MAIN_CONTEXT_WAKEUP_ACKNOWLEDGE
    - g_assert
    - g_source_iter_init
    - TRACE
    - UNLOCK_CONTEXT
    - g_source_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_main_context_check_unlocked (GMainContext *context,
      gint max_priority, GPollFD *fds, gint n_fds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:3340,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3342,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:3341,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:3341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 3343
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3343
    functionName: g_source_is_destroyed
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - SOURCE_DESTROYED
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_source_is_destroyed (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4463,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4464,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:4466,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4469
      start: 4460
    functionDepth: 0
    functionLinenumber: 4460
    functionLinenumberEnd: 4469
    functionName: g_main_loop_ref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GMainLoop*
    signature: 'GMainLoop *g_main_loop_ref (GMainLoop *loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4956,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4960,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4962,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4958,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4965
      start: 4950
    functionDepth: 0
    functionLinenumber: 4950
    functionLinenumberEnd: 4965
    functionName: g_main_context_get_poll_func
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_default
    - g_atomic_int_get
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    - g_return_val_if_fail
    linkageType: ''
    returnType: GPollFunc
    signature: 'GPollFunc g_main_context_get_poll_func (GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5709,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:5714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5719
      start: 5697
    functionDepth: 0
    functionLinenumber: 5697
    functionLinenumberEnd: 5719
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:5832,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5782,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5794,1
    - Dst: ref_unix_signal_handler_unlocked
      Src: /src/glib/glib/gmain.c:5833,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5776,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5785,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5797,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5803,1
    - Dst: _g_main_create_unix_signal_watch
      Src: /src/glib/glib/gmain.c:5818,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5769,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5771,1
    - Dst: g_source_new
      Src: /src/glib/glib/gmain.c:5823,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/gmain.c:5830,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:5834,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5836,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5770,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5772,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5788,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5806,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5800,1
    - Dst: signum_to_string
      Src: /src/glib/glib/gmain.c:5830,1
    - Dst: dispatch_unix_signals_unlocked
      Src: /src/glib/glib/gmain.c:5835,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5779,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5791,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - SIGFPE
    argTypes:
    - SIGFPE
    constantsTouched: []
    func_position:
      end: 5839
      start: 5767
    functionDepth: 0
    functionLinenumber: 5767
    functionLinenumberEnd: 5839
    functionName: SIGNAL
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - _g_main_create_unix_signal_watch
    - signum_to_string
    - g_source_set_static_name
    - G_LOCK
    - SIGNAL
    - dispatch_unix_signals_unlocked
    - G_UNLOCK
    - g_slist_prepend
    - g_source_new
    - ref_unix_signal_handler_unlocked
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_worker_context
      Src: /src/glib/glib/gmain.c:5725,1
    - Dst: sigaction
      Src: /src/glib/glib/gmain.c:5737,1
    - Dst: sigemptyset
      Src: /src/glib/glib/gmain.c:5731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5739
      start: 5721
    functionDepth: 0
    functionLinenumber: 5721
    functionLinenumberEnd: 5739
    functionName: ref_unix_signal_handler_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - sigemptyset
    - g_get_worker_context
    - sigaction
    linkageType: ''
    returnType: void
    signature: 'static void ref_unix_signal_handler_unlocked (int signum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:5848,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5851,1
    - Dst: unref_unix_signal_handler_unlocked
      Src: /src/glib/glib/gmain.c:5849,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:5850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5852
      start: 5841
    functionDepth: 0
    functionLinenumber: 5841
    functionLinenumberEnd: 5852
    functionName: g_unix_signal_watch_finalize
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - unref_unix_signal_handler_unlocked
    - g_slist_remove
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_signal_watch_finalize (GSource *source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1660,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1660,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1665,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1666,1
    - Dst: g_source_attach_unlocked
      Src: /src/glib/glib/gmain.c:1684,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1662,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1662,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1663,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1663,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1664,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1664,1
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:1676,1
    - Dst: g_source_set_priority_unlocked
      Src: /src/glib/glib/gmain.c:1678,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1685,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1659,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1661,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1671,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1673,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1679,1
    - Dst: block_source
      Src: /src/glib/glib/gmain.c:1680,1
    - Dst: GLIB_SOURCE_ADD_CHILD_SOURCE
      Src: /src/glib/glib/gmain.c:1673,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:1675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - source
    - child_source
    argTypes:
    - GSource*
    - GSource*
    constantsTouched: []
    func_position:
      end: 1687
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1687
    functionName: g_source_add_child_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - block_source
    - SOURCE_DESTROYED
    - g_source_set_priority_unlocked
    - g_source_ref
    - g_atomic_int_get
    - g_source_attach_unlocked
    - GLIB_SOURCE_ADD_CHILD_SOURCE
    - g_slist_prepend
    - TRACE
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - SOURCE_BLOCKED
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_source_add_child_source (GSource *source,\t\t\t GSource *child_source) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:629,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:629,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:635,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:636,1
    - Dst: g_source_destroy_internal
      Src: /src/glib/glib/gmain.c:668,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:680,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:701,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:628,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:643,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:659,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmain.c:674,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gmain.c:683,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:684,1
    - Dst: poll_rec_list_free
      Src: /src/glib/glib/gmain.c:686,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/gmain.c:689,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:631,1
    - Dst: g_list_free
      Src: /src/glib/glib/gmain.c:676,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gmain.c:678,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:657,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/gmain.c:681,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gmain.c:703,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:634,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:640,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:653,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:654,1
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:657,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/gmain.c:688,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:691,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 704
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 704
    functionName: g_main_context_unref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_wakeup_free
    - LOCK_CONTEXT
    - g_slice_free
    - g_source_iter_next
    - g_source_iter_clear
    - g_atomic_int_get
    - g_slist_prepend
    - g_source_unref_internal
    - g_slist_remove
    - g_hash_table_destroy
    - g_source_destroy_internal
    - g_return_if_fail
    - g_slist_free
    - g_mutex_clear
    - g_free
    - G_LOCK
    - poll_rec_list_free
    - g_ptr_array_free
    - G_UNLOCK
    - g_source_iter_init
    - g_list_free
    - UNLOCK_CONTEXT
    - g_cond_clear
    - g_source_ref
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_unref (GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:3948,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3954,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3950,1
    - Dst: g_main_context_query_unlocked
      Src: /src/glib/glib/gmain.c:3952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - context
    - max_priority
    - timeout
    - fds
    - n_fds
    argTypes:
    - GMainContext*
    - gint
    - gint*
    - GPollFD*
    - gint
    constantsTouched: []
    func_position:
      end: 3957
      start: 3938
    functionDepth: 0
    functionLinenumber: 3938
    functionLinenumberEnd: 3957
    functionName: g_main_context_query
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - UNLOCK_CONTEXT
    - g_main_context_query_unlocked
    - LOCK_CONTEXT
    - g_main_context_default
    linkageType: ''
    returnType: gint
    signature: "gint g_main_context_query (GMainContext *context,\t\t gint max_priority,\t\t
      gint *timeout,\t\t GPollFD *fds,\t\t gint n_fds) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4597,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4598,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4600,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4601
      start: 4594
    functionDepth: 0
    functionLinenumber: 4594
    functionLinenumberEnd: 4601
    functionName: g_main_loop_is_running
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_loop_is_running (GMainLoop *loop) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4927,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4931,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4938,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4929,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - context
    - func
    argTypes:
    - GMainContext*
    - GPollFunc
    constantsTouched: []
    func_position:
      end: 4939
      start: 4922
    functionDepth: 0
    functionLinenumber: 4922
    functionLinenumberEnd: 4939
    functionName: g_main_context_set_poll_func
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_default
    - g_atomic_int_get
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_main_context_set_poll_func (GMainContext *context,\t\t\t GPollFunc
      func) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5107,1
    - Dst: once_callback
      Src: /src/glib/glib/gmain.c:5115,1
    - Dst: callback
      Src: /src/glib/glib/gmain.c:5120,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:5123,1
    - Dst: GLIB_TIMEOUT_DISPATCH
      Src: /src/glib/glib/gmain.c:5123,1
    - Dst: g_timeout_set_expiration
      Src: /src/glib/glib/gmain.c:5126,1
    - Dst: g_source_get_time
      Src: /src/glib/glib/gmain.c:5126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5129
      start: 5097
    functionDepth: 0
    functionLinenumber: 5097
    functionLinenumberEnd: 5129
    functionName: g_timeout_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_TIMEOUT_DISPATCH
    - callback
    - once_callback
    - g_warning
    - TRACE
    - g_timeout_set_expiration
    - g_source_get_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_timeout_dispatch (GSource *source, GSourceFunc callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idle_add_full
      Src: /src/glib/glib/gmain.c:6439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - function
    - data
    argTypes:
    - GSourceOnceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6440
      start: 6435
    functionDepth: 0
    functionLinenumber: 6435
    functionLinenumberEnd: 6440
    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: clear_func
      Src: /src/glib/glib/gmain.c:2725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tag_ptr
    - clear_func
    argTypes:
    - guint*
    - GClearHandleFunc
    constantsTouched: []
    func_position:
      end: 2727
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2727
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3970,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_QUERY
      Src: /src/glib/glib/gmain.c:4023,1
    - Dst: GLIB_MAIN_CONTEXT_BEFORE_QUERY
      Src: /src/glib/glib/gmain.c:3970,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4023,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - context
    - max_priority
    - timeout
    - fds
    - n_fds
    argTypes:
    - GMainContext*
    - gint
    - gint*
    - GPollFD*
    - gint
    constantsTouched: []
    func_position:
      end: 4027
      start: 3959
    functionDepth: 0
    functionLinenumber: 3959
    functionLinenumberEnd: 4027
    functionName: g_main_context_query_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_MAIN_CONTEXT_AFTER_QUERY
    - TRACE
    - GLIB_MAIN_CONTEXT_BEFORE_QUERY
    linkageType: ''
    returnType: gint
    signature: 'static gint g_main_context_query_unlocked (GMainContext *context,
      gint max_priority, gint *timeout, GPollFD *fds, gint n_fds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/gmain.c:5136,1
    - Dst: g_timeout_set_expiration
      Src: /src/glib/glib/gmain.c:5143,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gmain.c:5143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - interval
    - seconds
    - one_shot
    argTypes:
    - guint
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 5146
      start: 5131
    functionDepth: 0
    functionLinenumber: 5131
    functionLinenumberEnd: 5146
    functionName: timeout_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_timeout_set_expiration
    - g_get_monotonic_time
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *timeout_source_new (guint interval, gboolean seconds,
      gboolean one_shot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free_chain
      Src: /src/glib/glib/gmain.c:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - context
    - list
    argTypes:
    - GMainContext*
    - GPollRec*
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 609
    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:4887,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4889,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4888,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4893,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4888,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gmain.c:4897,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 4906
      start: 4863
    functionDepth: 0
    functionLinenumber: 4863
    functionLinenumberEnd: 4906
    functionName: g_source_get_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - LOCK_CONTEXT
    - g_get_monotonic_time
    - UNLOCK_CONTEXT
    - g_return_val_if_fail
    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 g_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 g_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_idle_add_full
      Src: /src/glib/glib/gmain.c:6414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - function
    - data
    argTypes:
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6415
      start: 6410
    functionDepth: 0
    functionLinenumber: 6410
    functionLinenumberEnd: 6415
    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_val_if_fail
      Src: /src/glib/glib/gmain.c:1043,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1059,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gmain.c:1047,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gmain.c:1046,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1044,1
    - Dst: GLIB_SOURCE_NEW
      Src: /src/glib/glib/gmain.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - source_funcs
    - struct_size
    argTypes:
    - GSourceFuncs*
    - guint
    constantsTouched: []
    func_position:
      end: 1064
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1064
    functionName: g_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_malloc0
    - GLIB_SOURCE_NEW
    - TRACE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_source_new (GSourceFuncs *source_funcs,\t guint struct_size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new_with_flags
      Src: /src/glib/glib/gmain.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 729
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/glib/gmain.c:1012,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:1014,1
    - Dst: g_main_context_ref
      Src: /src/glib/glib/gmain.c:1015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1016
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1016
    functionName: g_main_context_ref_thread_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_ref
    - g_main_context_get_thread_default
    - g_main_context_default
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_ref_thread_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1903,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1905,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1905,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1904,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - source
    - funcs
    argTypes:
    - GSource*
    - GSourceFuncs*
    constantsTouched: []
    func_position:
      end: 1909
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1909
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2011,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2012,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2015
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2015
    functionName: g_source_get_priority
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_source_get_priority (GSource *source) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1918,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1921,1
    - Dst: source_add_to_context
      Src: /src/glib/glib/gmain.c:1935,1
    - Dst: GLIB_SOURCE_SET_PRIORITY
      Src: /src/glib/glib/gmain.c:1921,1
    - Dst: source_remove_from_context
      Src: /src/glib/glib/gmain.c:1928,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1937,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1942,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1943,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1950,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1951,1
    - Dst: g_source_set_priority_unlocked
      Src: /src/glib/glib/gmain.c:1961,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - source
    - context
    - priority
    argTypes:
    - GSource*
    - GMainContext*
    - gint
    constantsTouched: []
    func_position:
      end: 1965
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1965
    functionName: g_source_set_priority_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_add_poll_unlocked
    - GLIB_SOURCE_SET_PRIORITY
    - g_source_set_priority_unlocked
    - g_main_context_remove_poll_unlocked
    - source_add_to_context
    - TRACE
    - SOURCE_BLOCKED
    - source_remove_from_context
    - g_return_if_fail
    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: clock_gettime
      Src: /src/glib/glib/gmain.c:3089,1
    - Dst: g_error
      Src: /src/glib/glib/gmain.c:3092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3095
      start: 3083
    functionDepth: 0
    functionLinenumber: 3083
    functionLinenumberEnd: 3095
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/gmain.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - next_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 716
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 716
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gmain.c:817,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/gmain.c:821,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:823,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:827,1
    - Dst: GLIB_MAIN_CONTEXT_DEFAULT
      Src: /src/glib/glib/gmain.c:823,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gmain.c:830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 834
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 834
    functionName: g_main_context_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - TRACE
    - g_once_init_leave
    - g_print
    - GLIB_MAIN_CONTEXT_DEFAULT
    - g_main_context_new
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_default (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/glib/gmain.c:985,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/gmain.c:987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 990
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 990
    functionName: g_main_context_get_thread_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_queue_peek_head
    - g_private_get
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_get_thread_default (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1987,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1988,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1989,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1994,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1988,1
    - Dst: g_source_set_priority_unlocked
      Src: /src/glib/glib/gmain.c:1995,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - source
    - priority
    argTypes:
    - GSource*
    - gint
    constantsTouched: []
    func_position:
      end: 1998
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1998
    functionName: g_source_set_priority
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_priority_unlocked
    - g_atomic_int_get
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_source_set_priority (GSource *source,\t\t gint priority) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:3716,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmain.c:3718,1
    - Dst: g_critical
      Src: /src/glib/glib/gmain.c:3724,1
    - Dst: g_main_context_wait_internal
      Src: /src/glib/glib/gmain.c:3730,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - context
    - cond
    - mutex
    argTypes:
    - GMainContext*
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 3731
      start: 3710
    functionDepth: 0
    functionLinenumber: 3710
    functionLinenumberEnd: 3731
    functionName: g_main_context_wait
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_critical
    - G_UNLIKELY
    - g_main_context_wait_internal
    - g_main_context_default
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_wait (GMainContext *context, GCond *cond,
      GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4438,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4447,1
    - Dst: GLIB_MAIN_LOOP_NEW
      Src: /src/glib/glib/gmain.c:4447,1
    - Dst: g_new0
      Src: /src/glib/glib/gmain.c:4442,1
    - Dst: g_main_context_ref
      Src: /src/glib/glib/gmain.c:4440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - context
    - is_running
    argTypes:
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4450
      start: 4431
    functionDepth: 0
    functionLinenumber: 4431
    functionLinenumberEnd: 4450
    functionName: g_main_loop_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_main_context_ref
    - g_main_context_default
    - TRACE
    - GLIB_MAIN_LOOP_NEW
    linkageType: ''
    returnType: GMainLoop*
    signature: "GMainLoop *g_main_loop_new (GMainContext *context,\t\t gboolean is_running) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:1746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1747
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1747
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2455,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2456,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2456,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:2458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2459
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2459
    functionName: g_source_unref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_source_unref_internal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_source_unref (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2631,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/gmain.c:2635,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/gmain.c:2633,1
    - Dst: g_critical
      Src: /src/glib/glib/gmain.c:2637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tag
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 2640
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2640
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:1754,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:1758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1760
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1760
    functionName: g_source_callback_unref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_source_callback_unref (gpointer cb_data) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2350,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2357,1
    - Dst: GLIB_SOURCE_BEFORE_FREE
      Src: /src/glib/glib/gmain.c:2362,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gmain.c:2377,1
    - Dst: source_remove_from_context
      Src: /src/glib/glib/gmain.c:2375,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2391,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmain.c:2434,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:2338,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:2354,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmain.c:2377,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:2374,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gmain.c:2392,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2404,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gmain.c:2411,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:2415,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gmain.c:2418,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:2428,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2333,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2336,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2347,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2373,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2388,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:2402,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2409,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:2437,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:2431,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2441,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:2345,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:2362,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:2386,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gmain.c:2393,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gmain.c:2410,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmain.c:2421,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 3
    argNames:
    - source
    - context
    - have_lock
    argTypes:
    - GSource*
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2442
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2442
    functionName: g_source_unref_internal
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - GUINT_TO_POINTER
    - LOCK_CONTEXT
    - g_slice_free
    - source_remove_from_context
    - SOURCE_DESTROYED
    - g_slist_remove
    - g_source_unref_internal
    - g_warn_if_fail
    - g_hash_table_remove
    - g_warning
    - g_slist_free
    - g_atomic_int_inc
    - g_atomic_int_add
    - g_free
    - GLIB_SOURCE_BEFORE_FREE
    - g_slist_free_full
    - TRACE
    - UNLOCK_CONTEXT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void g_source_unref_internal (GSource *source,\t\t\t GMainContext
      *context,\t\t\t gboolean have_lock) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:2574,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:2578,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2576,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2581,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:2579,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:2593,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - context
    - user_data
    argTypes:
    - GMainContext*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2598
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2598
    functionName: g_main_context_find_source_by_user_data
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_iter_next
    - SOURCE_DESTROYED
    - g_source_iter_clear
    - g_source_iter_init
    - g_main_context_default
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_main_context_find_source_by_user_data (GMainContext *context,\t\t\t\t\t
      gpointer user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_source_list_for_priority
      Src: /src/glib/glib/gmain.c:1268,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1269,1
    - Dst: g_list_remove
      Src: /src/glib/glib/gmain.c:1286,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmain.c:1287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - source
    - context
    argTypes:
    - GSource*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1289
    functionName: source_remove_from_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_list_remove
    - 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:1374,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1375,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1376,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1375,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1377,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1377,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:1380,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1382,1
    - Dst: g_source_attach_unlocked
      Src: /src/glib/glib/gmain.c:1384,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1386,1
    - Dst: GLIB_MAIN_SOURCE_ATTACH
      Src: /src/glib/glib/gmain.c:1386,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1389,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:1386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - source
    - context
    argTypes:
    - GSource*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1392
    functionName: g_source_attach
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - SOURCE_DESTROYED
    - GLIB_MAIN_SOURCE_ATTACH
    - g_main_context_default
    - g_atomic_int_get
    - g_source_attach_unlocked
    - UNLOCK_CONTEXT
    - TRACE
    - LOCK_CONTEXT
    - g_return_val_if_fail
    - g_source_get_name
    linkageType: ''
    returnType: guint
    signature: "guint g_source_attach (GSource *source,\t\t GMainContext *context) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4267,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4269,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4273,1
    - Dst: g_main_context_dispatch_unlocked
      Src: /src/glib/glib/gmain.c:4271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4274
      start: 4263
    functionDepth: 0
    functionLinenumber: 4263
    functionLinenumberEnd: 4274
    functionName: g_main_context_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - UNLOCK_CONTEXT
    - g_main_context_dispatch_unlocked
    - LOCK_CONTEXT
    - g_main_context_default
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_dispatch (GMainContext *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/gmain.c:1304,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmain.c:1310,1
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:1308,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gmain.c:1310,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmain.c:1304,1
    - Dst: source_add_to_context
      Src: /src/glib/glib/gmain.c:1312,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1314,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1319,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1324,1
    - Dst: g_source_attach_unlocked
      Src: /src/glib/glib/gmain.c:1330,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:1341,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:1344,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:1347,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:1347,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - source
    - context
    - do_wakeup
    argTypes:
    - GSource*
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1351
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1351
    functionName: g_source_attach_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_add_poll_unlocked
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - g_wakeup_signal
    - g_source_attach_unlocked
    - g_trace_mark
    - source_add_to_context
    - SOURCE_BLOCKED
    - g_hash_table_contains
    - g_source_get_name
    - g_source_ref
    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:1399,1
    - Dst: GLIB_MAIN_SOURCE_DESTROY
      Src: /src/glib/glib/gmain.c:1399,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:1399,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1403,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1405,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1421,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1423,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1426,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1431,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:1445,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1449,1
    - Dst: g_child_source_remove_internal
      Src: /src/glib/glib/gmain.c:1440,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1436,1
    - Dst: g_child_source_remove_internal
      Src: /src/glib/glib/gmain.c:1443,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - source
    - context
    - have_lock
    argTypes:
    - GSource*
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1450
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1450
    functionName: g_source_destroy_internal
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - SOURCE_DESTROYED
    - g_source_unref_internal
    - g_main_context_remove_poll_unlocked
    - UNLOCK_CONTEXT
    - TRACE
    - g_child_source_remove_internal
    - LOCK_CONTEXT
    - GLIB_MAIN_SOURCE_DESTROY
    - SOURCE_BLOCKED
    - g_source_get_name
    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: QueryPerformanceFrequency
      Src: /src/glib/glib/gmain.c:3017,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gmain.c:3020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3025
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3025
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4279,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4286,1
    - Dst: GLIB_MAIN_CONTEXT_BEFORE_DISPATCH
      Src: /src/glib/glib/gmain.c:4279,1
    - Dst: g_main_dispatch
      Src: /src/glib/glib/gmain.c:4283,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_DISPATCH
      Src: /src/glib/glib/gmain.c:4286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4287
      start: 4276
    functionDepth: 0
    functionLinenumber: 4276
    functionLinenumberEnd: 4287
    functionName: g_main_context_dispatch_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_MAIN_CONTEXT_AFTER_DISPATCH
    - g_main_dispatch
    - TRACE
    - GLIB_MAIN_CONTEXT_BEFORE_DISPATCH
    linkageType: ''
    returnType: void
    signature: 'static void g_main_context_dispatch_unlocked (GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/gmain.c:5554,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:5559,1
    - Dst: unref_unix_signal_handler_unlocked
      Src: /src/glib/glib/gmain.c:5560,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5561,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:5558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5563
      start: 5546
    functionDepth: 0
    functionLinenumber: 5546
    functionLinenumberEnd: 5563
    functionName: g_child_watch_finalize
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - G_LOCK
    - unref_unix_signal_handler_unlocked
    - G_UNLOCK
    - close
    linkageType: ''
    returnType: void
    signature: 'static void g_child_watch_finalize (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gmain.c:5748,1
    - Dst: sigemptyset
      Src: /src/glib/glib/gmain.c:5750,1
    - Dst: sigaction
      Src: /src/glib/glib/gmain.c:5751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5753
      start: 5741
    functionDepth: 0
    functionLinenumber: 5741
    functionLinenumberEnd: 5753
    functionName: unref_unix_signal_handler_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - memset
    - sigemptyset
    - sigaction
    linkageType: ''
    returnType: void
    signature: 'static void unref_unix_signal_handler_unlocked (int signum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:841,1
    - Dst: GLIB_MAIN_CONTEXT_FREE
      Src: /src/glib/glib/gmain.c:841,1
    - Dst: g_main_context_release
      Src: /src/glib/glib/gmain.c:843,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/gmain.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: free_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - GLIB_MAIN_CONTEXT_FREE
    - TRACE
    - g_main_context_release
    linkageType: ''
    returnType: void
    signature: 'static void free_context (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1608,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1610,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1609,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1609,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1611,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1611,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1616,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:1618,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1622,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1623,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - source
    - fd
    argTypes:
    - GSource*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1626
    functionName: g_source_remove_poll
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - SOURCE_DESTROYED
    - g_slist_remove
    - g_main_context_remove_poll_unlocked
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - LOCK_CONTEXT
    - SOURCE_BLOCKED
    - g_return_if_fail
    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:2221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - source
    - name
    argTypes:
    - GSource*
    - char*
    constantsTouched: []
    func_position:
      end: 2222
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2222
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2684,1
    - Dst: g_main_context_find_source_by_funcs_user_data
      Src: /src/glib/glib/gmain.c:2686,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/gmain.c:2689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - funcs
    - user_data
    argTypes:
    - GSourceFuncs*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2694
      start: 2678
    functionDepth: 0
    functionLinenumber: 2678
    functionLinenumberEnd: 2694
    functionName: g_source_remove_by_funcs_user_data
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_find_source_by_funcs_user_data
    - g_return_val_if_fail
    - g_source_destroy
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,\t\t\t\t
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dispatch
      Src: /src/glib/glib/gmain.c:3246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3248
      start: 3243
    functionDepth: 0
    functionLinenumber: 3243
    functionLinenumberEnd: 3248
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:5684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 5685
      start: 5676
    functionDepth: 0
    functionLinenumber: 5676
    functionLinenumberEnd: 5685
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_free_full
      Src: /src/glib/glib/gmain.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:5694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5695
      start: 5687
    functionDepth: 0
    functionLinenumber: 5687
    functionLinenumberEnd: 5695
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2162,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2163,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2168,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2163,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:2170,1
    - Dst: GLIB_SOURCE_SET_NAME
      Src: /src/glib/glib/gmain.c:2170,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:2178,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmain.c:2183,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - source
    - name
    - is_static
    argTypes:
    - GSource*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2189
      start: 2155
    functionDepth: 0
    functionLinenumber: 2155
    functionLinenumberEnd: 2189
    functionName: g_source_set_name_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - GLIB_SOURCE_SET_NAME
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - TRACE
    - LOCK_CONTEXT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_source_set_name_full (GSource *source, const char *name,
      gboolean is_static) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_find_source_by_user_data
      Src: /src/glib/glib/gmain.c:2657,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/gmain.c:2660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2665
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2665
    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: get_dispatch
      Src: /src/glib/glib/gmain.c:3230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3232
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3232
    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_atomic_int_set
      Src: /src/glib/glib/gmain.c:6002,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:6010,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:6003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6013
      start: 5996
    functionDepth: 0
    functionLinenumber: 5996
    functionLinenumberEnd: 6013
    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: 6250
      start: 6243
    functionDepth: 0
    functionLinenumber: 6243
    functionLinenumberEnd: 6250
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4374,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4376,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4378,1
    - Dst: g_main_context_iterate_unlocked
      Src: /src/glib/glib/gmain.c:4377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4381
      start: 4368
    functionDepth: 0
    functionLinenumber: 4368
    functionLinenumberEnd: 4381
    functionName: g_main_context_pending
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_main_context_iterate_unlocked
    - g_main_context_default
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_pending (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_source_new
      Src: /src/glib/glib/gmain.c:5192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 5193
      start: 5189
    functionDepth: 0
    functionLinenumber: 5189
    functionLinenumberEnd: 5193
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetExitCodeProcess
      Src: /src/glib/glib/gmain.c:5882,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:5886,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gmain.c:5884,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5885,1
    - Dst: GetLastError
      Src: /src/glib/glib/gmain.c:5884,1
    - Dst: waitid
      Src: /src/glib/glib/gmain.c:5909,1
    - Dst: siginfo_t_to_wait_status
      Src: /src/glib/glib/gmain.c:5919,1
    - Dst: g_debug
      Src: /src/glib/glib/gmain.c:5924,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5933,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmain.c:5934,1
    - Dst: waitpid
      Src: /src/glib/glib/gmain.c:5954,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5971,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:5952,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5983,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmain.c:5956,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmain.c:5972,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5992
      start: 5856
    functionDepth: 0
    functionLinenumber: 5856
    functionLinenumberEnd: 5992
    functionName: g_child_watch_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - siginfo_t_to_wait_status
    - g_free
    - G_UNLIKELY
    - g_strerror
    - g_warning
    - g_debug
    - waitid
    - GetLastError
    - g_win32_error_message
    - g_atomic_int_set
    - waitpid
    - GetExitCodeProcess
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_child_watch_dispatch (GSource *source, \t\t\tGSourceFunc
      callback,\t\t\tgpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_child_watch_add_full
      Src: /src/glib/glib/gmain.c:6237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - pid
    - function
    - data
    argTypes:
    - GPid
    - GChildWatchFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6238
      start: 6232
    functionDepth: 0
    functionLinenumber: 6232
    functionLinenumberEnd: 6238
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_acquire_unlocked
      Src: /src/glib/glib/gmain.c:4305,1
    - Dst: g_main_context_wait_internal
      Src: /src/glib/glib/gmain.c:4312,1
    - Dst: g_new
      Src: /src/glib/glib/gmain.c:4323,1
    - Dst: g_main_context_prepare_unlocked
      Src: /src/glib/glib/gmain.c:4329,1
    - Dst: g_main_context_query_unlocked
      Src: /src/glib/glib/gmain.c:4331,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:4335,1
    - Dst: g_new
      Src: /src/glib/glib/gmain.c:4337,1
    - Dst: g_main_context_poll_unlocked
      Src: /src/glib/glib/gmain.c:4343,1
    - Dst: g_main_context_check_unlocked
      Src: /src/glib/glib/gmain.c:4345,1
    - Dst: g_main_context_dispatch_unlocked
      Src: /src/glib/glib/gmain.c:4348,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:4350,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:4352,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - context
    - block
    - dispatch
    - self
    argTypes:
    - GMainContext*
    - gboolean
    - gboolean
    - GThread*
    constantsTouched: []
    func_position:
      end: 4357
      start: 4290
    functionDepth: 0
    functionLinenumber: 4290
    functionLinenumberEnd: 4357
    functionName: g_main_context_iterate_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_check_unlocked
    - g_free
    - g_main_context_acquire_unlocked
    - g_main_context_query_unlocked
    - g_main_context_prepare_unlocked
    - g_main_context_dispatch_unlocked
    - g_new
    - g_trace_mark
    - g_main_context_wait_internal
    - g_main_context_poll_unlocked
    - g_main_context_release_unlocked
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_main_context_iterate_unlocked (GMainContext *context,
      gboolean block, gboolean dispatch, GThread *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_source_new
      Src: /src/glib/glib/gmain.c:5166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 5167
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5167
    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_pointer_bit_unlock
      Src: /src/glib/glib/gdataset.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:852,1
    - Dst: g_data_set_internal
      Src: /src/glib/glib/gdataset.c:855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - datalist
    - key_id
    argTypes:
    - GData**
    - GQuark
    constantsTouched: []
    func_position:
      end: 858
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 858
    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\tGQuark
      key_id) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1140,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/gdataset.c:1151,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdataset.c:1151,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:1144,1
    - Dst: g_datalist_lock
      Src: /src/glib/glib/gdataset.c:1142,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:1160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - datalist
    - key
    argTypes:
    - GData**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1163
    functionName: g_datalist_get_data
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_quark_to_string
    - g_datalist_unlock
    - g_datalist_lock
    - G_DATALIST_GET_POINTER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_datalist_get_data (GData\t **datalist,\t\t const gchar
      *key) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1311,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/gdataset.c:1314,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - datalist
    - flags
    argTypes:
    - GData**
    - guint
    constantsTouched: []
    func_position:
      end: 1315
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1315
    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: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1334,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/glib/gdataset.c:1337,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - datalist
    - flags
    argTypes:
    - GData**
    - guint
    constantsTouched: []
    func_position:
      end: 1338
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1338
    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:1363,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gdataset.c:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1367
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1367
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:230,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:235,1
    - Dst: G_DATALIST_SET_POINTER
      Src: /src/glib/glib/gdataset.c:231,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:241,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: g_datalist_clear_i
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_free
    - G_LOCK
    - G_UNLOCK
    - G_DATALIST_SET_POINTER
    - G_DATALIST_GET_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void g_datalist_clear_i (GData **datalist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:886,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:893,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/gdataset.c:895,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:897,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:888,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - dataset_location
    - key_id
    argTypes:
    - gconstpointer
    - GQuark
    constantsTouched: []
    func_position:
      end: 900
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 900
    functionName: g_dataset_id_get_data
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_datalist_id_get_data
    - G_LOCK
    - G_UNLOCK
    - g_dataset_lookup
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_dataset_id_get_data (gconstpointer dataset_location,\t\t
      GQuark key_id) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:751,1
    - Dst: g_data_set_internal
      Src: /src/glib/glib/gdataset.c:762,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:757,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:753,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: 763
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 763
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gdataset.c:292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - dataset_location
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 297
    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:332,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:343,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:339,1
    - Dst: g_dataset_destroy_internal
      Src: /src/glib/glib/gdataset.c:341,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - dataset_location
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 344
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 344
    functionName: g_dataset_destroy
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_dataset_destroy_internal
    - G_UNLOCK
    - g_dataset_lookup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dataset_destroy (gconstpointer dataset_location) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_lock
      Src: /src/glib/glib/gdataset.c:357,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:386,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:445,1
    - Dst: g_dataset_destroy_internal
      Src: /src/glib/glib/gdataset.c:392,1
    - Dst: g_realloc
      Src: /src/glib/glib/gdataset.c:474,1
    - Dst: G_DATALIST_SET_POINTER
      Src: /src/glib/glib/gdataset.c:477,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:485,1
    - Dst: G_DATALIST_SET_POINTER
      Src: /src/glib/glib/gdataset.c:381,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:359,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:412,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:437,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:452,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:455,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:382,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:396,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:409,1
    - Dst: g_malloc
      Src: /src/glib/glib/gdataset.c:467,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 5
    argNames:
    - datalist
    - key_id
    - new_data
    - new_destroy_func
    - dataset
    argTypes:
    - GData**
    - GQuark
    - gpointer
    - GDestroyNotify
    - GDataset*
    constantsTouched: []
    func_position:
      end: 489
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 489
    functionName: g_data_set_internal
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_realloc
    - g_free
    - G_LOCK
    - g_dataset_destroy_internal
    - g_datalist_unlock
    - g_datalist_lock
    - G_UNLOCK
    - G_DATALIST_SET_POINTER
    - G_DATALIST_GET_POINTER
    - g_malloc
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1241,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1242,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:1244,1
    - Dst: g_new
      Src: /src/glib/glib/gdataset.c:1251,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:1259,1
    - Dst: func
      Src: /src/glib/glib/gdataset.c:1266,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:1271,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - datalist
    - func
    - user_data
    argTypes:
    - GData**
    - GDataForeachFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1272
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1272
    functionName: g_datalist_foreach
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new
    - func
    - G_DATALIST_GET_POINTER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_datalist_foreach (GData\t **datalist,\t\t GDataForeachFunc
      func,\t\t gpointer user_data) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_lock
      Src: /src/glib/glib/gdataset.c:498,1
    - Dst: G_DATALIST_SET_POINTER
      Src: /src/glib/glib/gdataset.c:549,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:500,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:550,1
    - Dst: g_newa0
      Src: /src/glib/glib/gdataset.c:512,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:562,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:577,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 3
    argNames:
    - datalist
    - keys
    - n_keys
    argTypes:
    - GData**
    - GQuark*
    - gsize
    constantsTouched: []
    func_position:
      end: 578
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 578
    functionName: g_data_remove_internal
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_free
    - g_datalist_unlock
    - g_datalist_lock
    - G_DATALIST_SET_POINTER
    - G_DATALIST_GET_POINTER
    - g_newa0
    linkageType: ''
    returnType: void
    signature: 'static inline void g_data_remove_internal (GData **datalist, GQuark
      *keys, gsize n_keys) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:262,1
    - Dst: g_datalist_lock
      Src: /src/glib/glib/gdataset.c:264,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:269,1
    - Dst: G_DATALIST_SET_POINTER
      Src: /src/glib/glib/gdataset.c:267,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:266,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 281
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 281
    functionName: g_datalist_clear
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_free
    - g_datalist_unlock
    - g_datalist_lock
    - G_DATALIST_SET_POINTER
    - G_DATALIST_GET_POINTER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_datalist_clear (GData **datalist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:308,1
    - Dst: g_datalist_clear_i
      Src: /src/glib/glib/gdataset.c:317,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gdataset.c:313,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gdataset.c:312,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - dataset
    argTypes:
    - GDataset*
    constantsTouched: []
    func_position:
      end: 320
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 320
    functionName: g_dataset_destroy_internal
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_datalist_clear_i
    - g_dataset_lookup
    - g_hash_table_remove
    - G_DATALIST_GET_POINTER
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dataset_destroy_internal (GDataset *dataset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1198,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:1204,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:1201,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:1205,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1199,1
    - Dst: g_datalist_foreach
      Src: /src/glib/glib/gdataset.c:1207,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:1211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - dataset_location
    - func
    - user_data
    argTypes:
    - gconstpointer
    - GDataForeachFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1213
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1213
    functionName: g_dataset_foreach
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - G_UNLOCK
    - g_dataset_lookup
    - g_datalist_foreach
    - g_return_if_fail
    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_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1354,1
    - Dst: G_DATALIST_GET_FLAGS
      Src: /src/glib/glib/gdataset.c:1356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 1357
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1357
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:649,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:660,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:655,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:651,1
    - Dst: g_data_initialize
      Src: /src/glib/glib/gdataset.c:662,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:664,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gdataset.c:667,1
    - Dst: g_datalist_init
      Src: /src/glib/glib/gdataset.c:669,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gdataset.c:670,1
    - Dst: g_data_set_internal
      Src: /src/glib/glib/gdataset.c:675,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:676,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: 677
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 677
    functionName: g_dataset_id_set_data_full
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_datalist_init
    - g_hash_table_insert
    - g_dataset_lookup
    - G_UNLOCK
    - g_data_initialize
    - g_slice_new
    - g_data_set_internal
    - g_return_if_fail
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1041,1
    - Dst: g_datalist_lock
      Src: /src/glib/glib/gdataset.c:1047,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:1049,1
    - Dst: G_DATALIST_SET_POINTER
      Src: /src/glib/glib/gdataset.c:1079,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1042,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:1080,1
    - Dst: g_malloc
      Src: /src/glib/glib/gdataset.c:1098,1
    - Dst: g_realloc
      Src: /src/glib/glib/gdataset.c:1105,1
    - Dst: G_DATALIST_SET_POINTER
      Src: /src/glib/glib/gdataset.c:1108,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:1116,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 6
    argNames:
    - datalist
    - key_id
    - oldval
    - newval
    - destroy
    - old_destroy
    argTypes:
    - GData**
    - GQuark
    - gpointer
    - gpointer
    - GDestroyNotify
    - GDestroyNotify*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1119
    functionName: g_datalist_id_replace_data
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_realloc
    - g_free
    - g_datalist_unlock
    - g_datalist_lock
    - G_DATALIST_SET_POINTER
    - G_DATALIST_GET_POINTER
    - g_return_val_if_fail
    - g_malloc
    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:1284,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/gdataset.c:1286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 1287
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1287
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pointer_bit_lock
      Src: /src/glib/glib/gdataset.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: g_datalist_lock
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_pointer_bit_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_datalist_lock (GData **datalist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:812,1
    - Dst: g_data_set_internal
      Src: /src/glib/glib/gdataset.c:821,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:823,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:819,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - dataset_location
    - key_id
    argTypes:
    - gconstpointer
    - GQuark
    constantsTouched: []
    func_position:
      end: 826
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 826
    functionName: g_dataset_id_remove_no_notify
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - G_UNLOCK
    - g_dataset_lookup
    - g_data_set_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location,\t\t\t
      GQuark key_id) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_lock
      Src: /src/glib/glib/gdataset.c:972,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:996,1
    - Dst: dup_func
      Src: /src/glib/glib/gdataset.c:992,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:974,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - datalist
    - key_id
    - dup_func
    - user_data
    argTypes:
    - GData**
    - GQuark
    - GDuplicateFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 999
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 999
    functionName: g_datalist_id_dup_data
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - dup_func
    - g_datalist_unlock
    - G_DATALIST_GET_POINTER
    - g_datalist_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_datalist_id_dup_data (GData **datalist, GQuark key_id,
      GDuplicateFunc dup_func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:783,1
    - Dst: g_data_remove_internal
      Src: /src/glib/glib/gdataset.c:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - datalist
    - keys
    - n_keys
    argTypes:
    - GData**
    - GQuark*
    - gsize
    constantsTouched: []
    func_position:
      end: 786
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 786
    functionName: g_datalist_id_remove_multiple
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_data_remove_internal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_datalist_id_remove_multiple (GData **datalist, GQuark *keys,
      gsize n_keys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_id_dup_data
      Src: /src/glib/glib/gdataset.c:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - datalist
    - key_id
    argTypes:
    - GData**
    - GQuark
    constantsTouched: []
    func_position:
      end: 917
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 917
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gstringchunk.c:101,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/gstringchunk.c:104,1
    - Dst: MAX
      Src: /src/glib/glib/gstringchunk.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: g_string_chunk_new
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - MAX
    - g_nearest_pow
    - g_new
    linkageType: ''
    returnType: GStringChunk*
    signature: 'GStringChunk *g_string_chunk_new (gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstringchunk.c:189,1
    - Dst: g_string_chunk_insert_len
      Src: /src/glib/glib/gstringchunk.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - chunk
    - string
    argTypes:
    - GStringChunk*
    - gchar*
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: g_string_chunk_insert
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - g_string_chunk_insert_len
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_string_chunk_insert (GStringChunk *chunk, const gchar *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstringchunk.c:150,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gstringchunk.c:154,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/gstringchunk.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - GStringChunk*
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: g_string_chunk_clear
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_all
    - g_slist_free_full
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_string_chunk_clear (GStringChunk *chunk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstringchunk.c:267,1
    - Dst: MAX
      Src: /src/glib/glib/gstringchunk.c:276,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/gstringchunk.c:276,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gstringchunk.c:283,1
    - Dst: strlen
      Src: /src/glib/glib/gstringchunk.c:270,1
    - Dst: g_new
      Src: /src/glib/glib/gstringchunk.c:284,1
    - Dst: memcpy
      Src: /src/glib/glib/gstringchunk.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - chunk
    - string
    - len
    argTypes:
    - GStringChunk*
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 299
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 299
    functionName: g_string_chunk_insert_len
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_new
    - g_nearest_pow
    - g_slist_prepend
    - MAX
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_string_chunk_insert_len (GStringChunk *chunk, const gchar
      *string, gssize len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstringchunk.c:126,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gstringchunk.c:132,1
    - Dst: g_free
      Src: /src/glib/glib/gstringchunk.c:134,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gstringchunk.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - GStringChunk*
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: g_string_chunk_free
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - g_hash_table_destroy
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_string_chunk_free (GStringChunk *chunk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstringchunk.c:222,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gstringchunk.c:225,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gstringchunk.c:227,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gstringchunk.c:232,1
    - Dst: g_string_chunk_insert
      Src: /src/glib/glib/gstringchunk.c:231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - chunk
    - string
    argTypes:
    - GStringChunk*
    - gchar*
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: g_string_chunk_insert_const
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - g_hash_table_add
    - g_string_chunk_insert
    - g_hash_table_lookup
    - g_hash_table_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_string_chunk_insert_const (GStringChunk *chunk, const gchar
      *string) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gmappedfile.c:197,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_strerror
      Src: /src/glib/glib/gmappedfile.c:205,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gmappedfile.c:122,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmappedfile.c:131,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gmappedfile.c:129,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmappedfile.c:139,1
    - Dst: S_ISREG
      Src: /src/glib/glib/gmappedfile.c:148,1
    - Dst: mmap
      Src: /src/glib/glib/gmappedfile.c:165,1
    - Dst: _
      Src: /src/glib/glib/gmappedfile.c:200,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gmappedfile.c:185,1
    - Dst: _
      Src: /src/glib/glib/gmappedfile.c:134,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gmappedfile.c:199,1
    - Dst: CreateFileMapping
      Src: /src/glib/glib/gmappedfile.c:172,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: fstat
      Src: /src/glib/glib/gmappedfile.c:126,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gmappedfile.c:133,1
    - Dst: g_free
      Src: /src/glib/glib/gmappedfile.c:140,1
    - Dst: MapViewOfFile
      Src: /src/glib/glib/gmappedfile.c:178,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 4
    argNames:
    - fd
    - writable
    - filename
    - error
    argTypes:
    - int
    - gboolean
    - gchar*
    - GError**
    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
    - S_ISREG
    - mmap
    - CreateFileMapping
    - fstat
    - g_slice_new0
    - _
    - g_free
    - g_strerror
    - CloseHandle
    - g_filename_display_name
    - MapViewOfFile
    - g_file_error_from_errno
    - g_slice_free
    - _get_osfhandle
    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: 3
    argNames:
    - fd
    - writable
    - error
    argTypes:
    - gint
    - gboolean
    - GError**
    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: 1
    argNames:
    - file
    argTypes:
    - GMappedFile*
    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_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GMappedFile*
    signature: 'GMappedFile *g_mapped_file_ref (GMappedFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/glib/glib/gmappedfile.c:102,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gmappedfile.c:106,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmappedfile.c:110,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:
    - CloseHandle
    - g_slice_free
    - munmap
    - UnmapViewOfFile
    linkageType: ''
    returnType: void
    signature: 'static void g_mapped_file_destroy (GMappedFile *file) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmappedfile.c:255,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gmappedfile.c:262,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmappedfile.c:256,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: 3
    argNames:
    - filename
    - writable
    - error
    argTypes:
    - gchar*
    - gboolean
    - GError**
    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_open
    - g_set_error
    - _
    - g_free
    - mapped_file_new_from_fd
    - g_strerror
    - close
    - g_filename_display_name
    - g_file_error_from_errno
    - g_return_val_if_fail
    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:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - GMappedFile*
    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_atomic_int_dec_and_test
      Src: /src/glib/glib/gmappedfile.c:407,1
    - Dst: g_mapped_file_destroy
      Src: /src/glib/glib/gmappedfile.c:408,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: 1
    argNames:
    - file
    argTypes:
    - GMappedFile*
    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_bytes_new_with_free_func
    - g_mapped_file_ref
    - g_return_val_if_fail
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_mapped_file_get_bytes (GMappedFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:293,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:296,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:294,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gasyncqueue.c:297,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: g_async_queue_push
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_async_queue_push_unlocked
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_push (GAsyncQueue *queue, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:653,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gasyncqueue.c:657,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:663,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gasyncqueue.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - queue
    - end_time
    argTypes:
    - GAsyncQueue*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 664
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 664
    functionName: g_async_queue_timed_pop_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_get_real_time
    - g_return_val_if_fail
    - g_get_monotonic_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:275,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    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:350,1
    - Dst: g_async_queue_push_sorted_unlocked
      Src: /src/glib/glib/gasyncqueue.c:353,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:354,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - queue
    - data
    - func
    - user_data
    argTypes:
    - GAsyncQueue*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: g_async_queue_push_sorted
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_async_queue_push_sorted_unlocked
    - g_mutex_lock
    - 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_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:498,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:502,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:501,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 505
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 505
    functionName: g_async_queue_try_pop
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop_intern_unlocked
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_queue_try_pop (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gasyncqueue.c:544,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:550,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:549,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:551,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - queue
    - timeout
    argTypes:
    - GAsyncQueue*
    - guint64
    constantsTouched: []
    func_position:
      end: 554
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 554
    functionName: g_async_queue_timeout_pop
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_get_monotonic_time
    - g_async_queue_pop_intern_unlocked
    - g_mutex_lock
    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:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 911
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 911
    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:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    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:316,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:317,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/gasyncqueue.c:319,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gasyncqueue.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 322
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 322
    functionName: g_async_queue_push_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_queue_push_head
    - g_cond_signal
    - 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:478,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: g_async_queue_pop_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop_intern_unlocked
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:522,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: g_async_queue_try_pop_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop_intern_unlocked
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:790,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/gasyncqueue.c:796,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - queue
    - func
    - user_data
    argTypes:
    - GAsyncQueue*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 799
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 799
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:893,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/gasyncqueue.c:896,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gasyncqueue.c:898,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - queue
    - item
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 899
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 899
    functionName: g_async_queue_push_front_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_queue_push_tail
    - g_cond_signal
    - 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_if_fail
      Src: /src/glib/glib/gasyncqueue.c:757,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:758,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:760,1
    - Dst: g_async_queue_sort_unlocked
      Src: /src/glib/glib/gasyncqueue.c:761,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - queue
    - func
    - user_data
    argTypes:
    - GAsyncQueue*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 763
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 763
    functionName: g_async_queue_sort
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_async_queue_sort_unlocked
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_sort (GAsyncQueue *queue, GCompareDataFunc func,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:867,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:870,1
    - Dst: g_async_queue_push_front_unlocked
      Src: /src/glib/glib/gasyncqueue.c:871,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:868,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - queue
    - item
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 873
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 873
    functionName: g_async_queue_push_front
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_push_front_unlocked
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_push_front (GAsyncQueue *queue, gpointer item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:257,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    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:398,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gasyncqueue.c:408,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/gasyncqueue.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - queue
    - data
    - func
    - user_data
    argTypes:
    - GAsyncQueue*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 409
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 409
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:226,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gasyncqueue.c:228,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/gasyncqueue.c:231,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:230,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/gasyncqueue.c:232,1
    - Dst: g_queue_foreach
      Src: /src/glib/glib/gasyncqueue.c:234,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/gasyncqueue.c:235,1
    - Dst: g_free
      Src: /src/glib/glib/gasyncqueue.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: g_async_queue_unref
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_queue_clear
    - g_queue_foreach
    - g_cond_clear
    - g_mutex_clear
    - g_return_if_fail
    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: 363
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 363
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:455,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:457,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:458,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 462
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 462
    functionName: g_async_queue_pop
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop_intern_unlocked
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_queue_pop (GAsyncQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:608,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gasyncqueue.c:613,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gasyncqueue.c:612,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:619,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:618,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - queue
    - end_time
    argTypes:
    - GAsyncQueue*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 623
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 623
    functionName: g_async_queue_timed_pop
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop_intern_unlocked
    - g_mutex_unlock
    - g_get_monotonic_time
    - g_get_real_time
    - g_return_val_if_fail
    - g_mutex_lock
    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:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 719
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 719
    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:845,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:846,1
    - Dst: g_queue_remove
      Src: /src/glib/glib/gasyncqueue.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - item
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 849
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 849
    functionName: g_async_queue_remove_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_queue_remove
    - g_return_val_if_fail
    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:165,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gasyncqueue.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: g_async_queue_ref
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GAsyncQueue*
    signature: 'GAsyncQueue *g_async_queue_ref (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:206,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:208,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/gasyncqueue.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: g_async_queue_unref_and_unlock
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_async_queue_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_unref_and_unlock (GAsyncQueue *queue) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/gasyncqueue.c:418,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gasyncqueue.c:424,1
    - Dst: g_cond_wait_until
      Src: /src/glib/glib/gasyncqueue.c:427,1
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/gasyncqueue.c:421,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/gasyncqueue.c:434,1
    - Dst: g_assert
      Src: /src/glib/glib/gasyncqueue.c:436,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - queue
    - wait
    - end_time
    argTypes:
    - GAsyncQueue*
    - gboolean
    - gint64
    constantsTouched: []
    func_position:
      end: 439
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 439
    functionName: g_async_queue_pop_intern_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_queue_pop_tail
    - g_assert
    - g_queue_peek_tail_link
    - g_cond_wait
    - g_cond_wait_until
    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_get_monotonic_time
      Src: /src/glib/glib/gasyncqueue.c:575,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:579,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - timeout
    argTypes:
    - GAsyncQueue*
    - guint64
    constantsTouched: []
    func_position:
      end: 580
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 580
    functionName: g_async_queue_timeout_pop_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop_intern_unlocked
    - g_return_val_if_fail
    - g_get_monotonic_time
    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:687,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:691,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 694
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 694
    functionName: g_async_queue_length
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_return_val_if_fail
    - 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:818,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:819,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:823,1
    - Dst: g_async_queue_remove_unlocked
      Src: /src/glib/glib/gasyncqueue.c:822,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - queue
    - item
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 826
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 826
    functionName: g_async_queue_remove
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_remove_unlocked
    - g_mutex_unlock
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_async_queue_remove (GAsyncQueue *queue, gpointer item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gasyncqueue.c:142,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/gasyncqueue.c:143,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gasyncqueue.c:144,1
    - Dst: g_queue_init
      Src: /src/glib/glib/gasyncqueue.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - item_free_func
    argTypes:
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: g_async_queue_new_full
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_queue_init
    - g_cond_init
    - g_mutex_init
    - g_new
    linkageType: ''
    returnType: GAsyncQueue*
    signature: 'GAsyncQueue *g_async_queue_new_full (GDestroyNotify item_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:185,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gasyncqueue.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - uuid
    - version
    argTypes:
    - GUuid*
    - guint
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 166
    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:96,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/guuid.c:109,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/guuid.c:110,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - str
    - uuid
    argTypes:
    - gchar*
    - GUuid*
    constantsTouched: []
    func_position:
      end: 122
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 122
    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_val_if_fail
      Src: /src/glib/glib/guuid.c:143,1
    - Dst: uuid_parse_string
      Src: /src/glib/glib/guuid.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    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_return_if_fail
      Src: /src/glib/glib/guuid.c:182,1
    - Dst: uuid_set_version
      Src: /src/glib/glib/guuid.c:189,1
    - Dst: g_random_int
      Src: /src/glib/glib/guuid.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - GUuid*
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: g_uuid_generate_v4
    functionSourceFile: /src/glib/glib/guuid.c
    functionUses: []
    functionsReached:
    - uuid_set_version
    - g_random_int
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_uuid_generate_v4 (GUuid *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uuid_generate_v4
      Src: /src/glib/glib/guuid.c:207,1
    - Dst: g_uuid_to_string
      Src: /src/glib/glib/guuid.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: g_uuid_string_random
    functionSourceFile: /src/glib/glib/guuid.c
    functionUses: []
    functionsReached:
    - g_uuid_to_string
    - g_uuid_generate_v4
    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:75,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/guuid.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - GUuid*
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: g_uuid_to_string
    functionSourceFile: /src/glib/glib/guuid.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_uuid_to_string (const GUuid *uuid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 289
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 289
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:360,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:366,1
    - Dst: g_tree_node_first
      Src: /src/glib/glib/gtree.c:362,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtree.c:372,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:375,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 390
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 390
    functionName: g_tree_remove_all
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_next
    - g_assert
    - g_tree_node_first
    - g_slice_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tree_remove_all (GTree *tree) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gtree.c:581,1
    - Dst: g_error
      Src: /src/glib/glib/gtree.c:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - overflow_fatal
    argTypes:
    - GTree*
    - gboolean
    constantsTouched: []
    func_position:
      end: 594
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 594
    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:1121,1
    - Dst: g_tree_find_node
      Src: /src/glib/glib/gtree.c:1123,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: 1135
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1135
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_rotate_left
      Src: /src/glib/glib/gtree.c:1514,1
    - Dst: g_tree_node_rotate_left
      Src: /src/glib/glib/gtree.c:1521,1
    - Dst: g_tree_node_rotate_right
      Src: /src/glib/glib/gtree.c:1515,1
    - Dst: g_tree_node_rotate_right
      Src: /src/glib/glib/gtree.c:1520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1525
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1525
    functionName: g_tree_node_balance
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_rotate_left
    - g_tree_node_rotate_right
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_node_balance (GTreeNode *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1558
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1558
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 260
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:453,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/gtree.c:456,1
    - Dst: g_tree_remove_all
      Src: /src/glib/glib/gtree.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: g_tree_destroy
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_unref
    - g_tree_remove_all
    - 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:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - key
    - value
    argTypes:
    - GTree*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 558
    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:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - key
    - value
    argTypes:
    - GTree*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 575
    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: 28
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:821,1
    - Dst: g_tree_node_previous
      Src: /src/glib/glib/gtree.c:903,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:882,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:858,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:977,1
    - Dst: g_tree_node_balance
      Src: /src/glib/glib/gtree.c:982,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtree.c:1010,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 124
    argCount: 3
    argNames:
    - tree
    - key
    - steal
    argTypes:
    - GTree*
    - gconstpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 1015
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 1015
    functionName: g_tree_remove_internal
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_next
    - g_assert
    - g_tree_node_previous
    - g_tree_node_balance
    - g_slice_free
    - g_return_val_if_fail
    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:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1051
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_search_node
      Src: /src/glib/glib/gtree.c:1337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - tree
    - search_func
    - user_data
    argTypes:
    - GTree*
    - GCompareFunc
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1340
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1340
    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:1421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1448
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1448
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:219,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gtree.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - key_compare_func
    - key_compare_data
    - key_destroy_func
    - value_destroy_func
    argTypes:
    - GCompareDataFunc
    - gpointer
    - GDestroyNotify
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 231
    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:168,1
    - Dst: g_tree_new_full
      Src: /src/glib/glib/gtree.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key_compare_func
    argTypes:
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    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:430,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtree.c:435,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gtree.c:432,1
    - Dst: g_tree_remove_all
      Src: /src/glib/glib/gtree.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: g_tree_unref
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_atomic_int_dec_and_test
    - g_tree_remove_all
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tree_unref (GTree *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_insert_replace_node_internal
      Src: /src/glib/glib/gtree.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - key
    - value
    argTypes:
    - GTree*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 529
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:799,1
    - Dst: g_tree_remove_internal
      Src: /src/glib/glib/gtree.c:801,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 808
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 808
    functionName: g_tree_steal
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_check
    - g_return_val_if_fail
    - g_tree_remove_internal
    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:1030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1033
    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:1094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1097
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1097
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1303,1
    - Dst: g_tree_node_search
      Src: /src/glib/glib/gtree.c:1308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - tree
    - search_func
    - user_data
    argTypes:
    - GTree*
    - GCompareFunc
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1309
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1309
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1367,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1394
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1394
    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_post_order
      Src: /src/glib/glib/gtree.c:1613,1
    - Dst: g_tree_node_post_order
      Src: /src/glib/glib/gtree.c:1619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - node
    - traverse_func
    - data
    argTypes:
    - GTreeNode*
    - GTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1627
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1627
    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: 3
    argNames:
    - node
    - search_func
    - data
    argTypes:
    - GTreeNode*
    - GCompareFunc
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1659
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1659
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gtree.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 151
    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:188,1
    - Dst: g_tree_new_full
      Src: /src/glib/glib/gtree.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key_compare_func
    - key_compare_data
    argTypes:
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1071,1
    - Dst: g_tree_find_node
      Src: /src/glib/glib/gtree.c:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1074
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1074
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:1252,1
    - Dst: g_tree_node_pre_order
      Src: /src/glib/glib/gtree.c:1260,1
    - Dst: g_warning
      Src: /src/glib/glib/gtree.c:1272,1
    - Dst: g_tree_node_in_order
      Src: /src/glib/glib/gtree.c:1264,1
    - Dst: g_tree_node_post_order
      Src: /src/glib/glib/gtree.c:1268,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: 1275
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1275
    functionName: g_tree_traverse
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_tree_node_in_order
    - g_tree_node_pre_order
    - g_tree_node_post_order
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tree_traverse (GTree *tree, GTraverseFunc traverse_func, GTraverseType
      traverse_type, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 343
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:1201,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:1213,1
    - Dst: g_tree_node_first
      Src: /src/glib/glib/gtree.c:1206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - tree
    - func
    - user_data
    argTypes:
    - GTree*
    - GTraverseNodeFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1215
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1215
    functionName: g_tree_foreach_node
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_next
    - g_tree_node_first
    - 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:1503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 1506
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1506
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_pre_order
      Src: /src/glib/glib/gtree.c:1570,1
    - Dst: g_tree_node_pre_order
      Src: /src/glib/glib/gtree.c:1576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - node
    - traverse_func
    - data
    argTypes:
    - GTreeNode*
    - GTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1581
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1581
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_height
      Src: /src/glib/glib/gtree.c:1756,1
    - Dst: MAX
      Src: /src/glib/glib/gtree.c:1761,1
    - Dst: g_tree_node_height
      Src: /src/glib/glib/gtree.c:1759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1765
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1765
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_in_order
      Src: /src/glib/glib/gtree.c:1590,1
    - Dst: g_tree_node_in_order
      Src: /src/glib/glib/gtree.c:1599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - node
    - traverse_func
    - data
    argTypes:
    - GTreeNode*
    - GTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1604
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1604
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_previous
      Src: /src/glib/glib/gtree.c:1779,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:1780,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:1786,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:1785,1
    - Dst: g_tree_node_height
      Src: /src/glib/glib/gtree.c:1793,1
    - Dst: g_tree_node_height
      Src: /src/glib/glib/gtree.c:1795,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:1798,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:1801,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:1803,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1805
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1805
    functionName: g_tree_node_check
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_next
    - g_tree_node_height
    - g_tree_node_previous
    - g_assert
    - g_tree_node_check
    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:1811,1
    - Dst: g_print
      Src: /src/glib/glib/gtree.c:1815,1
    - Dst: g_tree_node_dump
      Src: /src/glib/glib/gtree.c:1816,1
    - Dst: g_print
      Src: /src/glib/glib/gtree.c:1819,1
    - Dst: g_print
      Src: /src/glib/glib/gtree.c:1823,1
    - Dst: g_tree_node_dump
      Src: /src/glib/glib/gtree.c:1824,1
    - Dst: g_print
      Src: /src/glib/glib/gtree.c:1827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - node
    - indent
    argTypes:
    - GTreeNode*
    - gint
    constantsTouched: []
    func_position:
      end: 1828
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1828
    functionName: g_tree_node_dump
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_print
    - g_tree_node_dump
    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:1834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 1835
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1835
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 316
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:769,1
    - Dst: g_tree_remove_internal
      Src: /src/glib/glib/gtree.c:771,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 778
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 778
    functionName: g_tree_remove
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_check
    - g_return_val_if_fail
    - g_tree_remove_internal
    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:1468,1
    - Dst: MAX
      Src: /src/glib/glib/gtree.c:1478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 1485
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1485
    functionName: g_tree_height
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - MAX
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_tree_height (GTree *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_insert_replace_node_internal
      Src: /src/glib/glib/gtree.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - key
    - value
    argTypes:
    - GTree*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 510
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:608,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:615,1
    - Dst: g_tree_node_new
      Src: /src/glib/glib/gtree.c:612,1
    - Dst: g_tree_nnodes_inc_checked
      Src: /src/glib/glib/gtree.c:664,1
    - Dst: g_tree_node_new
      Src: /src/glib/glib/gtree.c:669,1
    - Dst: g_tree_nnodes_inc_checked
      Src: /src/glib/glib/gtree.c:691,1
    - Dst: g_tree_node_balance
      Src: /src/glib/glib/gtree.c:721,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:717,1
    - Dst: g_tree_node_new
      Src: /src/glib/glib/gtree.c:696,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 83
    argCount: 5
    argNames:
    - tree
    - key
    - value
    - replace
    - null_ret_ok
    argTypes:
    - GTree*
    - gpointer
    - gpointer
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 742
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 742
    functionName: g_tree_insert_internal
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_tree_node_balance
    - g_tree_node_new
    - g_return_val_if_fail
    - g_tree_nnodes_inc_checked
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_insert_internal (GTree *tree, gpointer key,
      gpointer value, gboolean replace, gboolean null_ret_ok) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1700
    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: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1741
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:407,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtree.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: g_tree_ref
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GTree*
    signature: 'GTree *g_tree_ref (GTree *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:468,1
    - Dst: g_tree_insert_internal
      Src: /src/glib/glib/gtree.c:470,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - tree
    - key
    - value
    - replace
    - null_ret_ok
    argTypes:
    - GTree*
    - gpointer
    - gpointer
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 477
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 477
    functionName: g_tree_insert_replace_node_internal
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_tree_node_check
    - g_tree_insert_internal
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:1160,1
    - Dst: g_tree_node_first
      Src: /src/glib/glib/gtree.c:1165,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:1172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - tree
    - func
    - user_data
    argTypes:
    - GTree*
    - GTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1174
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1174
    functionName: g_tree_foreach
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_next
    - g_tree_node_first
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tree_foreach (GTree *tree, GTraverseFunc func, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:475,1
    - Dst: HASH_IS_UNUSED
      Src: /src/glib/glib/ghash.c:483,1
    - Dst: g_hash_table_hash_to_index
      Src: /src/glib/glib/ghash.c:480,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/ghash.c:475,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:491,1
    - Dst: HASH_IS_TOMBSTONE
      Src: /src/glib/glib/ghash.c:503,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - hash_table
    - key
    - hash_return
    argTypes:
    - GHashTable*
    - gconstpointer
    - guint*
    constantsTouched: []
    func_position:
      end: 519
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 519
    functionName: g_hash_table_lookup_node
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - HASH_IS_TOMBSTONE
    - HASH_IS_REAL
    - HASH_IS_UNUSED
    - g_hash_table_fetch_key_or_value
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/ghash.c:1074,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/ghash.c:1075,1
    - Dst: g_hash_table_setup_storage
      Src: /src/glib/glib/ghash.c:1086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - hash_func
    - key_equal_func
    - key_destroy_func
    - value_destroy_func
    argTypes:
    - GHashFunc
    - GEqualFunc
    - GDestroyNotify
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1089
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1089
    functionName: g_hash_table_new_full
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_setup_storage
    - g_atomic_ref_count_init
    - g_slice_new
    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:1466,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/ghash.c:1468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1471
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1471
    functionName: g_hash_table_ref
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *g_hash_table_ref (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1514,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/ghash.c:1516,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/ghash.c:1517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1518
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1518
    functionName: g_hash_table_destroy
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_all
    - g_hash_table_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_destroy (GHashTable *hash_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2449,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2456,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2454,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/ghash.c:2456,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/ghash.c:2451,1
    - Dst: g_assert
      Src: /src/glib/glib/ghash.c:2460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 2463
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2463
    functionName: g_hash_table_get_values_as_ptr_array
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_assert
    - HASH_IS_REAL
    - g_ptr_array_sized_new
    - g_return_val_if_fail
    - g_hash_table_fetch_key_or_value
    - g_ptr_array_add
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_hash_table_get_values_as_ptr_array (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - hash_table
    - hash
    argTypes:
    - GHashTable*
    - guint
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_set_shift
      Src: /src/glib/glib/ghash.c:587,1
    - Dst: g_hash_table_realloc_key_or_value_array
      Src: /src/glib/glib/ghash.c:592,1
    - Dst: g_new0
      Src: /src/glib/glib/ghash.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: g_hash_table_setup_storage
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_hash_table_set_shift
    - g_hash_table_realloc_key_or_value_array
    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:1626,1
    - Dst: g_hash_table_insert_node
      Src: /src/glib/glib/ghash.c:1630,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1628,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: 1631
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1631
    functionName: g_hash_table_insert_internal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup_node
    - g_return_val_if_fail
    - g_hash_table_insert_node
    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:1740,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1742,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1745
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1745
    functionName: g_hash_table_contains
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup_node
    - g_return_val_if_fail
    - HASH_IS_REAL
    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:2003,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/glib/ghash.c:2012,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/glib/ghash.c:2005,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:2011,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/ghash.c:2014,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:2015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 2018
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2018
    functionName: g_hash_table_steal_all_values
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_ptr_array_set_free_func
    - g_hash_table_remove_all
    - g_steal_pointer
    - g_hash_table_get_values_as_ptr_array
    - g_return_val_if_fail
    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: 2633
      start: 2628
    functionDepth: 0
    functionLinenumber: 2628
    functionLinenumberEnd: 2633
    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: 2699
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2699
    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: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1966,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/ghash.c:1977,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/glib/ghash.c:1968,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:1974,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/glib/ghash.c:1975,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:1978,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1981
    functionName: g_hash_table_steal_all_keys
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_ptr_array_set_free_func
    - g_hash_table_remove_all
    - g_steal_pointer
    - g_hash_table_get_keys_as_ptr_array
    - g_return_val_if_fail
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_hash_table_steal_all_keys (GHashTable *hash_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/ghash.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - a
    - index
    - is_big
    - v
    argTypes:
    - gpointer
    - guint
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 407
    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:648,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:681,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:683,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:715,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:717,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:698,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:644,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:650,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:718,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:651,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:682,1
    - Dst: g_hash_table_setup_storage
      Src: /src/glib/glib/ghash.c:687,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:695,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:703,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:647,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:697,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:702,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - hash_table
    - notify
    - destruction
    argTypes:
    - GHashTable*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 719
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 719
    functionName: g_hash_table_remove_all_nodes
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_setup_storage
    - g_free
    - HASH_IS_REAL
    - memset
    - g_steal_pointer
    - g_hash_table_assign_key_or_value
    - g_hash_table_fetch_key_or_value
    linkageType: ''
    returnType: void
    signature: 'static void g_hash_table_remove_all_nodes (GHashTable *hash_table,
      gboolean notify, gboolean destruction) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_resize
      Src: /src/glib/glib/ghash.c:918,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 919
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 919
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1181,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1183,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1198,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1201,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1185,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1203,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - iter
    - key
    - value
    argTypes:
    - GHashTableIter*
    - gpointer*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1207
    functionName: g_hash_table_iter_next
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - g_return_val_if_fail
    - HASH_IS_REAL
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_iter_next (GHashTableIter *iter, gpointer *key,
      gpointer *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iter_remove_or_steal
      Src: /src/glib/glib/ghash.c:1448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GHashTableIter*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1449
    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:1659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - hash_table
    - key
    - value
    argTypes:
    - GHashTable*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1660
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1660
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove_internal
      Src: /src/glib/glib/ghash.c:1820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1821
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1821
    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:1935,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1943,1
    - Dst: g_hash_table_remove_all_nodes
      Src: /src/glib/glib/ghash.c:1942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1944
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1944
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/ghash.c:423,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/ghash.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - a
    - index
    - is_big
    - v
    argTypes:
    - gpointer
    - guint
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 427
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 427
    functionName: g_hash_table_evict_key_or_value
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - GUINT_TO_POINTER
    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:724,1
    - Dst: g_hash_table_realloc_key_or_value_array
      Src: /src/glib/glib/ghash.c:725,1
    - Dst: g_hash_table_realloc_key_or_value_array
      Src: /src/glib/glib/ghash.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hash_table
    - is_a_set
    argTypes:
    - GHashTable*
    - gboolean
    constantsTouched: []
    func_position:
      end: 731
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 731
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2525
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2525
    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_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1110,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/ghash.c:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - other_hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1116
    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:1149,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - iter
    - hash_table
    argTypes:
    - GHashTableIter*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1157
    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:1414,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1418,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1419,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1423,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1416,1
    - Dst: g_hash_table_insert_node
      Src: /src/glib/glib/ghash.c:1425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - iter
    - value
    argTypes:
    - GHashTableIter*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1431
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1431
    functionName: g_hash_table_iter_replace
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - g_hash_table_insert_node
    - 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:1487,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:1494,1
    - Dst: g_hash_table_remove_all_nodes
      Src: /src/glib/glib/ghash.c:1491,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:1493,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/ghash.c:1489,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:1495,1
    - Dst: g_slice_free
      Src: /src/glib/glib/ghash.c:1496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1498
    functionName: g_hash_table_unref
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_remove_all_nodes
    - g_slice_free
    - g_atomic_ref_count_dec
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_unref (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1539,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1541,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1543,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1546
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1546
    functionName: g_hash_table_lookup
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup_node
    - g_hash_table_fetch_key_or_value
    - g_return_val_if_fail
    - HASH_IS_REAL
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_hash_table_lookup (GHashTable *hash_table, gconstpointer
      key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1912,1
    - Dst: g_hash_table_remove_all_nodes
      Src: /src/glib/glib/ghash.c:1919,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1921
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1921
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2567
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2567
    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:
    - Dst: strcmp
      Src: /src/glib/glib/ghash.c:2491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2492
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2492
    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: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bitmap
    - index
    argTypes:
    - guint32*
    - guint
    constantsTouched: []
    func_position:
      end: 745
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 745
    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: 927
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 927
    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: iter_remove_or_steal
      Src: /src/glib/glib/ghash.c:1273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GHashTableIter*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1274
    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_remove_internal
      Src: /src/glib/glib/ghash.c:1803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1804
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1804
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 2263
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2263
    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:2414,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/ghash.c:2420,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2420,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 2424
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2424
    functionName: g_hash_table_get_values
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - g_return_val_if_fail
    - g_list_prepend
    - HASH_IS_REAL
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_hash_table_get_values (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2655
      start: 2649
    functionDepth: 0
    functionLinenumber: 2649
    functionLinenumberEnd: 2655
    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_assert
      Src: /src/glib/glib/ghash.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - hash_table
    - shift
    argTypes:
    - GHashTable*
    - gint
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 354
    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: 751
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 751
    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:932,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:945,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/ghash.c:942,1
    - Dst: g_new
      Src: /src/glib/glib/ghash.c:938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - a_p
    - v
    - ht_size
    argTypes:
    - gpointer*
    - gpointer
    - gint
    constantsTouched: []
    func_position:
      end: 951
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 951
    functionName: g_hash_table_maybe_make_big_keys_or_values
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - entry_is_big
    - GUINT_TO_POINTER
    - g_free
    - 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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2099,1
    - Dst: g_hash_table_foreach_remove_or_steal
      Src: /src/glib/glib/ghash.c:2102,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hash_table
    - func
    - user_data
    argTypes:
    - GHashTable*
    - GHRFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2103
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2103
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2289,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/ghash.c:2295,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2295,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 2299
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2299
    functionName: g_hash_table_get_keys
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - g_return_val_if_fail
    - g_list_prepend
    - HASH_IS_REAL
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_hash_table_get_keys (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert_internal
      Src: /src/glib/glib/ghash.c:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - hash_table
    - key
    - value
    argTypes:
    - GHashTable*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1688
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1688
    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:1768,1
    - Dst: g_hash_table_remove_node
      Src: /src/glib/glib/ghash.c:1775,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1770,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1772,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - hash_table
    - key
    - notify
    argTypes:
    - GHashTable*
    - gconstpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 1783
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1783
    functionName: g_hash_table_remove_internal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup_node
    - HASH_IS_REAL
    - g_hash_table_remove_node
    - g_hash_table_maybe_resize
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_hash_table_remove_internal (GHashTable *hash_table,
      gconstpointer key, gboolean notify) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1861,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:1877,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1876,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1863,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1865,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1882,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:1883,1
    - Dst: g_hash_table_remove_node
      Src: /src/glib/glib/ghash.c:1886,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1887,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - hash_table
    - lookup_key
    - stolen_key
    - stolen_value
    argTypes:
    - GHashTable*
    - gconstpointer
    - gpointer*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1894
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1894
    functionName: g_hash_table_steal_extended
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup_node
    - HASH_IS_REAL
    - g_hash_table_remove_node
    - g_hash_table_assign_key_or_value
    - g_hash_table_fetch_key_or_value
    - g_hash_table_maybe_resize
    - g_return_val_if_fail
    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:2161,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2172,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2171,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:2162,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2174,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:2178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - hash_table
    - func
    - user_data
    argTypes:
    - GHashTable*
    - GHFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2181
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2181
    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:2220,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2235,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2233,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2232,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2221,1
    - Dst: predicate
      Src: /src/glib/glib/ghash.c:2236,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - hash_table
    - predicate
    - user_data
    argTypes:
    - GHashTable*
    - GHRFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2247
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2247
    functionName: g_hash_table_find
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - predicate
    - HASH_IS_REAL
    - g_return_val_if_fail
    - g_hash_table_fetch_key_or_value
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_hash_table_find (GHashTable *hash_table, GHRFunc predicate,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/ghash.c:2336,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2340,1
    - Dst: g_assert
      Src: /src/glib/glib/ghash.c:2342,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2339,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - hash_table
    - length
    argTypes:
    - GHashTable*
    - guint*
    constantsTouched: []
    func_position:
      end: 2349
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2349
    functionName: g_hash_table_get_keys_as_array
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_assert
    - HASH_IS_REAL
    - g_new
    - g_hash_table_fetch_key_or_value
    linkageType: ''
    returnType: gpointer*
    signature: 'gpointer *g_hash_table_get_keys_as_array (GHashTable *hash_table,
      guint *length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2374,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2381,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2379,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/ghash.c:2381,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/ghash.c:2376,1
    - Dst: g_assert
      Src: /src/glib/glib/ghash.c:2385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 2388
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2388
    functionName: g_hash_table_get_keys_as_ptr_array
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_assert
    - HASH_IS_REAL
    - g_ptr_array_sized_new
    - g_return_val_if_fail
    - g_hash_table_fetch_key_or_value
    - 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:2544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2545
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2545
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2126,1
    - Dst: g_hash_table_foreach_remove_or_steal
      Src: /src/glib/glib/ghash.c:2129,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hash_table
    - func
    - user_data
    argTypes:
    - GHashTable*
    - GHRFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2130
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2130
    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:
    - Dst: g_realloc
      Src: /src/glib/glib/ghash.c:382,1
    - Dst: g_renew
      Src: /src/glib/glib/ghash.c:384,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: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    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: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:541,1
    - Dst: g_assert
      Src: /src/glib/glib/ghash.c:551,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:548,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:542,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - hash_table
    - i
    - notify
    argTypes:
    - GHashTable*
    - gint
    - gboolean
    constantsTouched: []
    func_position:
      end: 560
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 560
    functionName: g_hash_table_remove_node
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_assign_key_or_value
    - g_hash_table_fetch_key_or_value
    linkageType: ''
    returnType: void
    signature: 'static void g_hash_table_remove_node (GHashTable *hash_table, gint
      i, gboolean notify) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_set_shift_from_size
      Src: /src/glib/glib/ghash.c:874,1
    - Dst: g_new0
      Src: /src/glib/glib/ghash.c:885,1
    - Dst: g_new0
      Src: /src/glib/glib/ghash.c:881,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:879,1
    - Dst: realloc_arrays
      Src: /src/glib/glib/ghash.c:878,1
    - Dst: resize_set
      Src: /src/glib/glib/ghash.c:889,1
    - Dst: resize_map
      Src: /src/glib/glib/ghash.c:891,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:893,1
    - Dst: realloc_arrays
      Src: /src/glib/glib/ghash.c:896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 899
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 899
    functionName: g_hash_table_resize
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - resize_set
    - g_hash_table_set_shift_from_size
    - g_free
    - g_new0
    - realloc_arrays
    - resize_map
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void g_hash_table_resize (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/ghash.c:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - hash_func
    - key_equal_func
    argTypes:
    - GHashFunc
    - GEqualFunc
    constantsTouched: []
    func_position:
      end: 1038
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1038
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GHashTableIter*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1225
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1576,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1591,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1594,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1578,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1580,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: 1597
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1597
    functionName: g_hash_table_lookup_extended
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup_node
    - g_hash_table_fetch_key_or_value
    - g_return_val_if_fail
    - HASH_IS_REAL
    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:1719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1720
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1720
    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_hash_table_find_closest_shift
      Src: /src/glib/glib/ghash.c:372,1
    - Dst: g_hash_table_set_shift
      Src: /src/glib/glib/ghash.c:375,1
    - Dst: MAX
      Src: /src/glib/glib/ghash.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hash_table
    - size
    argTypes:
    - GHashTable*
    - gint
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    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:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - index
    - is_big
    argTypes:
    - gpointer
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    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:1230,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1235,1
    - Dst: g_hash_table_remove_node
      Src: /src/glib/glib/ghash.c:1237,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1234,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ri
    - notify
    argTypes:
    - RealIter*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1243
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1243
    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: 2591
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2591
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2611
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2611
    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:968,1
    - Dst: g_hash_table_maybe_make_big_keys_or_values
      Src: /src/glib/glib/ghash.c:985,1
    - Dst: g_memdup2
      Src: /src/glib/glib/ghash.c:1004,1
    - Dst: g_memdup2
      Src: /src/glib/glib/ghash.c:976,1
    - Dst: g_hash_table_maybe_make_big_keys_or_values
      Src: /src/glib/glib/ghash.c:997,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - hash_table
    - key
    - value
    argTypes:
    - GHashTable*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1007
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1007
    functionName: g_hash_table_ensure_keyval_fits
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_memdup2
    - g_hash_table_maybe_make_big_keys_or_values
    linkageType: ''
    returnType: void
    signature: 'static inline void g_hash_table_ensure_keyval_fits (GHashTable *hash_table,
      gpointer key, gpointer value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1310,1
    - Dst: g_hash_table_ensure_keyval_fits
      Src: /src/glib/glib/ghash.c:1356,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1336,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1346,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1340,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:1357,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:1360,1
    - Dst: HASH_IS_UNUSED
      Src: /src/glib/glib/ghash.c:1367,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1371,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: 1388
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1388
    functionName: g_hash_table_insert_node
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - HASH_IS_REAL
    - HASH_IS_UNUSED
    - g_hash_table_assign_key_or_value
    - g_hash_table_ensure_keyval_fits
    - g_hash_table_fetch_key_or_value
    - g_hash_table_maybe_resize
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2052,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2053,1
    - Dst: g_hash_table_remove_node
      Src: /src/glib/glib/ghash.c:2058,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2055,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2063,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:2067,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: 2075
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2075
    functionName: g_hash_table_foreach_remove_or_steal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - HASH_IS_REAL
    - g_hash_table_remove_node
    - g_hash_table_fetch_key_or_value
    - g_hash_table_maybe_resize
    - g_return_val_if_fail
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2677
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2677
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:269,1
    - Dst: g_malloc
      Src: /src/glib/glib/gbase64.c:275,1
    - Dst: g_base64_encode_close
      Src: /src/glib/glib/gbase64.c:278,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:273,1
    - Dst: g_base64_encode_step
      Src: /src/glib/glib/gbase64.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 282
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 282
    functionName: g_base64_encode
    functionSourceFile: /src/glib/glib/gbase64.c
    functionUses: []
    functionsReached:
    - g_base64_encode_close
    - g_return_val_if_fail
    - 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:215,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:216,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:217,1
    - Dst: g_assert
      Src: /src/glib/glib/gbase64.c:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - break_lines
    - out
    - state
    - save
    argTypes:
    - gboolean
    - gchar*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 245
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 245
    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:418,1
    - Dst: g_base64_decode_step
      Src: /src/glib/glib/gbase64.c:427,1
    - Dst: strlen
      Src: /src/glib/glib/gbase64.c:421,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:419,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gbase64.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - text
    - out_len
    argTypes:
    - gchar*
    - gsize*
    constantsTouched: []
    func_position:
      end: 430
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 430
    functionName: g_base64_decode
    functionSourceFile: /src/glib/glib/gbase64.c
    functionUses: []
    functionsReached:
    - strlen
    - g_malloc0
    - g_return_val_if_fail
    - g_base64_decode_step
    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:104,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:105,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:107,1
    - Dst: g_assert
      Src: /src/glib/glib/gbase64.c:164,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:106,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: 185
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 185
    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:339,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:340,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:342,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:341,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: 391
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 391
    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:453,1
    - Dst: g_base64_decode_step
      Src: /src/glib/glib/gbase64.c:460,1
    - Dst: strlen
      Src: /src/glib/glib/gbase64.c:456,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:454,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - text
    - out_len
    argTypes:
    - gchar*
    - gsize*
    constantsTouched: []
    func_position:
      end: 463
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 463
    functionName: g_base64_decode_inplace
    functionSourceFile: /src/glib/glib/gbase64.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - g_base64_decode_step
    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:95,1
    - Dst: sysprof_collector_mark_vprintf
      Src: /src/glib/glib/gtrace.c:96,1
    - Dst: va_end
      Src: /src/glib/glib/gtrace.c:97,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: 99
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: (g_trace_mark)
    functionSourceFile: /src/glib/glib/gtrace.c
    functionUses: []
    functionsReached:
    - va_end
    - sysprof_collector_mark_vprintf
    - va_start
    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:128,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gtrace.c:136,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gtrace.c:137,1
    - Dst: sysprof_collector_define_counters
      Src: /src/glib/glib/gtrace.c:140,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gtrace.c:138,1
    - Dst: g_assert
      Src: /src/glib/glib/gtrace.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - group
    - name
    - description
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 148
    functionName: (g_trace_define_int64_counter)
    functionSourceFile: /src/glib/glib/gtrace.c
    functionUses: []
    functionsReached:
    - g_assert
    - sysprof_collector_define_counters
    - g_strlcpy
    - sysprof_collector_request_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:169,1
    - Dst: sysprof_collector_set_counters
      Src: /src/glib/glib/gtrace.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - id
    - val
    argTypes:
    - guint
    - gint64
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 178
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:163,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:177,1
    - Dst: g_usleep
      Src: /src/glib/glib/gthreadpool.c:211,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:223,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:200,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:164,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/gthreadpool.c:187,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:222,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:178,1
    - Dst: g_async_queue_timeout_pop
      Src: /src/glib/glib/gthreadpool.c:180,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:186,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:225,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/gthreadpool.c:204,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:169,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:165,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:186,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:192,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gthreadpool.c:216,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:202,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 236
    functionName: g_thread_pool_wait_for_new_pool
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_async_queue_timeout_pop
    - g_thread_self
    - g_async_queue_push
    - g_atomic_int_get
    - DEBUG_MSG
    - g_usleep
    - g_async_queue_pop
    linkageType: ''
    returnType: GRealThreadPool*
    signature: 'static GRealThreadPool *g_thread_pool_wait_for_new_pool (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new_full
      Src: /src/glib/glib/gthreadpool.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - func
    - user_data
    - max_threads
    - exclusive
    - error
    argTypes:
    - GFunc
    - gpointer
    - gint
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 563
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 563
    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:872,1
    - Dst: g_async_queue_length
      Src: /src/glib/glib/gthreadpool.c:875,1
    - Dst: MAX
      Src: /src/glib/glib/gthreadpool.c:877,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GThreadPool*
    constantsTouched: []
    func_position:
      end: 878
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 878
    functionName: g_thread_pool_unprocessed
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - MAX
    - g_return_val_if_fail
    - g_async_queue_length
    linkageType: ''
    returnType: guint
    signature: 'guint g_thread_pool_unprocessed (GThreadPool *pool) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:910,1
    - Dst: g_async_queue_length
      Src: /src/glib/glib/gthreadpool.c:918,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:911,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:916,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:920,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:928,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gthreadpool.c:930,1
    - Dst: _g_async_queue_get_mutex
      Src: /src/glib/glib/gthreadpool.c:930,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:933,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:941,1
    - Dst: g_thread_pool_free_internal
      Src: /src/glib/glib/gthreadpool.c:942,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:951,1
    - Dst: g_thread_pool_wakeup_and_stop_all
      Src: /src/glib/glib/gthreadpool.c:946,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - pool
    - immediate
    - wait_
    argTypes:
    - GThreadPool*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 952
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 952
    functionName: g_thread_pool_free
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_length
    - g_async_queue_unlock
    - g_async_queue_lock
    - g_cond_wait
    - _g_async_queue_get_mutex
    - g_async_queue_length_unlocked
    - g_thread_pool_wakeup_and_stop_all
    - g_thread_pool_free_internal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_thread_pool_free (GThreadPool *pool, gboolean immediate, gboolean
      wait_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gthreadpool.c:1176,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:1182,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthreadpool.c:1181,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:1186,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:1178,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:1191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - interval
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 1193
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1193
    functionName: g_thread_pool_set_max_idle_time
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_unlock
    - g_async_queue_push_unlocked
    - g_async_queue_lock
    - g_atomic_int_get
    - g_atomic_int_set
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'void g_thread_pool_set_max_idle_time (guint interval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:244,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:258,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:251,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:250,1
    - Dst: g_async_queue_pop_unlocked
      Src: /src/glib/glib/gthreadpool.c:256,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:260,1
    - Dst: g_async_queue_length_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
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:271,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:282,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:285,1
    - Dst: g_async_queue_timeout_pop_unlocked
      Src: /src/glib/glib/gthreadpool.c:273,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GRealThreadPool*
    constantsTouched: []
    func_position:
      end: 289
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 289
    functionName: g_thread_pool_wait_for_new_task
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop_unlocked
    - g_thread_self
    - g_async_queue_timeout_pop_unlocked
    - DEBUG_MSG
    - g_async_queue_length_unlocked
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_thread_pool_wait_for_new_task (GRealThreadPool *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:957,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:959,1
    - Dst: g_async_queue_remove
      Src: /src/glib/glib/gthreadpool.c:964,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:958,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gthreadpool.c:964,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/gthreadpool.c:966,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/gthreadpool.c:967,1
    - Dst: g_free
      Src: /src/glib/glib/gthreadpool.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GRealThreadPool*
    constantsTouched: []
    func_position:
      end: 970
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 970
    functionName: g_thread_pool_free_internal
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_free
    - g_async_queue_remove
    - g_async_queue_unref
    - GUINT_TO_POINTER
    - g_cond_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_thread_pool_free_internal (GRealThreadPool* pool) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:438,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:446,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:442,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:440,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gthreadpool.c:450,1
    - Dst: g_snprintf
      Src: /src/glib/glib/gthreadpool.c:455,1
    - Dst: g_thread_try_new
      Src: /src/glib/glib/gthreadpool.c:464,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:475,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:477,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gthreadpool.c:480,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gthreadpool.c:484,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gthreadpool.c:484,1
    - Dst: _g_async_queue_get_mutex
      Src: /src/glib/glib/gthreadpool.c:480,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:485,1
    - Dst: g_thread_unref
      Src: /src/glib/glib/gthreadpool.c:491,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - pool
    - error
    argTypes:
    - GRealThreadPool*
    - GError**
    constantsTouched: []
    func_position:
      end: 500
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 500
    functionName: g_thread_pool_start_thread
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_unlock
    - g_async_queue_push_unlocked
    - g_get_prgname
    - g_async_queue_lock
    - g_cond_wait
    - g_thread_unref
    - g_steal_pointer
    - _g_async_queue_get_mutex
    - g_snprintf
    - g_async_queue_length_unlocked
    - g_propagate_error
    - g_thread_try_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_thread_pool_start_thread (GRealThreadPool *pool,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:846,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:847,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:849,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GThreadPool*
    constantsTouched: []
    func_position:
      end: 854
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 854
    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_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:1108,1
    - Dst: g_async_queue_sort_unlocked
      Src: /src/glib/glib/gthreadpool.c:1117,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:1109,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:1121,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:1111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pool
    - func
    - user_data
    argTypes:
    - GThreadPool*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1122
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1122
    functionName: g_thread_pool_set_sort_function
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_lock
    - g_async_queue_sort_unlocked
    - g_async_queue_unlock
    - 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:1143,1
    - Dst: g_async_queue_remove_unlocked
      Src: /src/glib/glib/gthreadpool.c:1145,1
    - Dst: g_async_queue_push_front_unlocked
      Src: /src/glib/glib/gthreadpool.c:1147,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:1149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pool
    - data
    argTypes:
    - GThreadPool*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1152
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1152
    functionName: g_thread_pool_move_to_front
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_remove_unlocked
    - g_async_queue_lock
    - g_async_queue_unlock
    - g_async_queue_push_front_unlocked
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_thread_pool_move_to_front (GThreadPool *pool, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:820,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:825,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:821,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GThreadPool*
    constantsTouched: []
    func_position:
      end: 828
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 828
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:977,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:978,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:979,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gthreadpool.c:990,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GRealThreadPool*
    constantsTouched: []
    func_position:
      end: 991
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 991
    functionName: g_thread_pool_wakeup_and_stop_all
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_async_queue_push_unlocked
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_thread_pool_wakeup_and_stop_all (GRealThreadPool *pool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:771,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:778,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:772,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:774,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:773,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:785,1
    - Dst: g_thread_pool_start_thread
      Src: /src/glib/glib/gthreadpool.c:791,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gthreadpool.c:793,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:799,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - pool
    - max_threads
    - error
    argTypes:
    - GThreadPool*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 802
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 802
    functionName: g_thread_pool_set_max_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_unlock
    - g_async_queue_lock
    - g_thread_pool_start_thread
    - g_propagate_error
    - g_return_val_if_fail
    - 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_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1215
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1215
    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_get_prgname
      Src: /src/glib/glib/gthreadpool.c:299,1
    - Dst: g_thread_try_new
      Src: /src/glib/glib/gthreadpool.c:311,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:305,1
    - Dst: g_async_queue_pop_unlocked
      Src: /src/glib/glib/gthreadpool.c:310,1
    - Dst: g_snprintf
      Src: /src/glib/glib/gthreadpool.c:303,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gthreadpool.c:313,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gthreadpool.c:314,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gthreadpool.c:316,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 321
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 321
    functionName: g_thread_pool_spawn_thread
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop_unlocked
    - g_async_queue_unlock
    - g_get_prgname
    - g_async_queue_lock
    - g_cond_broadcast
    - g_steal_pointer
    - g_snprintf
    - g_thread_try_new
    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:705,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:712,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:706,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:710,1
    - Dst: g_thread_pool_start_thread
      Src: /src/glib/glib/gthreadpool.c:717,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gthreadpool.c:719,1
    - Dst: g_thread_pool_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:724,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pool
    - data
    - error
    argTypes:
    - GThreadPool*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 728
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 728
    functionName: g_thread_pool_push
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_unlock
    - g_async_queue_lock
    - g_thread_pool_queue_push_unlocked
    - g_thread_pool_start_thread
    - g_propagate_error
    - g_return_val_if_fail
    - g_async_queue_length_unlocked
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_thread_pool_push (GThreadPool *pool, gpointer data, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_push_sorted_unlocked
      Src: /src/glib/glib/gthreadpool.c:145,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - data
    argTypes:
    - GRealThreadPool*
    - gpointer
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: g_thread_pool_queue_push_unlocked
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_push_sorted_unlocked
    - g_async_queue_push_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:347,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:348,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:389,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:330,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:332,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:346,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:330,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:415,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:416,1
    - Dst: g_thread_pool_wait_for_new_task
      Src: /src/glib/glib/gthreadpool.c:338,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:358,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:383,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gthreadpool.c:397,1
    - Dst: g_thread_pool_wakeup_and_stop_all
      Src: /src/glib/glib/gthreadpool.c:385,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:359,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:350,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthreadpool.c:401,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:402,1
    - Dst: g_thread_pool_free_internal
      Src: /src/glib/glib/gthreadpool.c:405,1
    - Dst: g_thread_pool_wait_for_new_pool
      Src: /src/glib/glib/gthreadpool.c:407,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gthreadpool.c:408,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:413,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 426
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 426
    functionName: g_thread_pool_thread_proxy
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_async_queue_unlock
    - g_async_queue_lock
    - g_thread_self
    - g_thread_pool_wait_for_new_task
    - DEBUG_MSG
    - g_cond_broadcast
    - g_async_queue_length_unlocked
    - g_thread_pool_wakeup_and_stop_all
    - g_thread_pool_free_internal
    - g_atomic_int_inc
    - g_thread_pool_wait_for_new_pool
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_thread_pool_thread_proxy (gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/glib/gthreadpool.c:598,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:600,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:601,1
    - Dst: g_new
      Src: /src/glib/glib/gthreadpool.c:604,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:602,1
    - Dst: g_async_queue_new_full
      Src: /src/glib/glib/gthreadpool.c:609,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gthreadpool.c:610,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gthreadpool.c:619,1
    - Dst: g_async_queue_new
      Src: /src/glib/glib/gthreadpool.c:621,1
    - Dst: g_async_queue_new
      Src: /src/glib/glib/gthreadpool.c:644,1
    - Dst: g_thread_new
      Src: /src/glib/glib/gthreadpool.c:646,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gthreadpool.c:661,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gthreadpool.c:645,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:653,1
    - Dst: g_thread_pool_start_thread
      Src: /src/glib/glib/gthreadpool.c:659,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:666,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gthreadpool.c:649,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gthreadpool.c:647,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 6
    argNames:
    - func
    - user_data
    - item_free_func
    - max_threads
    - exclusive
    - error
    argTypes:
    - GFunc
    - gpointer
    - GDestroyNotify
    - gint
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 670
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 670
    functionName: g_thread_pool_new_full
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_unlock
    - G_LOCK_DEFINE_STATIC
    - G_LOCK
    - g_ignore_leak
    - g_async_queue_lock
    - g_async_queue_new_full
    - g_new
    - G_UNLOCK
    - g_thread_new
    - g_thread_pool_start_thread
    - g_async_queue_new
    - g_return_val_if_fail
    - g_propagate_error
    - g_cond_init
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:1006,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:1012,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthreadpool.c:1016,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gthreadpool.c:1008,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gthreadpool.c:1015,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:1018,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:1022,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:1027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - max_threads
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 1030
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1030
    functionName: g_thread_pool_set_max_unused_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_unlock
    - g_async_queue_push_unlocked
    - g_async_queue_lock
    - g_atomic_int_get
    - g_atomic_int_set
    - g_atomic_int_inc
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_thread_pool_set_max_unused_threads (gint max_threads) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_get_max_unused_threads
      Src: /src/glib/glib/gthreadpool.c:1070,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/gthreadpool.c:1072,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/gthreadpool.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1074
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1074
    functionName: g_thread_pool_stop_unused_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_thread_pool_set_max_unused_threads
    - g_thread_pool_get_max_unused_threads
    linkageType: ''
    returnType: void
    signature: 'void g_thread_pool_stop_unused_threads (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1043
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1043
    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_return_val_if_fail
      Src: /src/glib/glib/grefstring.c:247,1
    - Dst: g_atomic_rc_box_acquire
      Src: /src/glib/glib/grefstring.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: g_ref_string_acquire
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_acquire
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_ref_string_acquire (char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefstring.c:153,1
    - Dst: memcpy
      Src: /src/glib/glib/grefstring.c:160,1
    - Dst: g_atomic_rc_box_alloc
      Src: /src/glib/glib/grefstring.c:159,1
    - Dst: g_ref_string_new
      Src: /src/glib/glib/grefstring.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gssize
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    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_atomic_rc_box_alloc
    linkageType: ''
    returnType: char*
    signature: 'char *g_ref_string_new_len (const char *str, gssize len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/grefstring.c:257,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/grefstring.c:261,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/grefstring.c:259,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/grefstring.c:263,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/grefstring.c:264,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grefstring.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 268
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 268
    functionName: remove_if_interned
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_clear_pointer
    - g_hash_table_size
    - g_hash_table_remove
    - G_UNLOCK
    - G_LIKELY
    linkageType: ''
    returnType: void
    signature: 'static void remove_if_interned (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefstring.c:300,1
    - Dst: g_atomic_rc_box_get_size
      Src: /src/glib/glib/grefstring.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: g_ref_string_length
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_get_size
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_ref_string_length (char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefstring.c:124,1
    - Dst: g_atomic_rc_box_dup
      Src: /src/glib/glib/grefstring.c:128,1
    - Dst: strlen
      Src: /src/glib/glib/grefstring.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: g_ref_string_new
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - g_atomic_rc_box_dup
    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:207,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/grefstring.c:211,1
    - Dst: G_LOCK
      Src: /src/glib/glib/grefstring.c:209,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/grefstring.c:212,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/grefstring.c:214,1
    - Dst: g_atomic_rc_box_acquire
      Src: /src/glib/glib/grefstring.c:222,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grefstring.c:223,1
    - Dst: g_ref_string_new
      Src: /src/glib/glib/grefstring.c:227,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/grefstring.c:228,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grefstring.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 232
    functionName: g_ref_string_new_intern
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_ref_string_new
    - g_hash_table_add
    - G_LOCK
    - G_UNLOCK
    - g_hash_table_lookup
    - g_hash_table_new
    - g_atomic_rc_box_acquire
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_ref_string_new_intern (const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/grefstring.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 184
    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_if_fail
      Src: /src/glib/glib/grefstring.c:282,1
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/glib/grefstring.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: g_ref_string_release
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_release_full
    - g_return_if_fail
    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: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - __builtin_clzl
    - G_LIKELY
    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:103,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gpattern.c:129,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gpattern.c:116,1
    - Dst: g_pattern_ph_match
      Src: /src/glib/glib/gpattern.c:132,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: 159
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 159
    functionName: g_pattern_ph_match
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - g_pattern_ph_match
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:197,1
    - Dst: g_utf8_strreverse
      Src: /src/glib/glib/gpattern.c:216,1
    - Dst: g_pattern_ph_match
      Src: /src/glib/glib/gpattern.c:208,1
    - Dst: g_pattern_ph_match
      Src: /src/glib/glib/gpattern.c:211,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:198,1
    - Dst: g_pattern_ph_match
      Src: /src/glib/glib/gpattern.c:217,1
    - Dst: g_free
      Src: /src/glib/glib/gpattern.c:218,1
    - Dst: strcmp
      Src: /src/glib/glib/gpattern.c:223,1
    - Dst: strncmp
      Src: /src/glib/glib/gpattern.c:225,1
    - Dst: strcmp
      Src: /src/glib/glib/gpattern.c:230,1
    - Dst: strcmp
      Src: /src/glib/glib/gpattern.c:237,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:239,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: 242
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 242
    functionName: g_pattern_spec_match
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_free
    - g_pattern_ph_match
    - g_utf8_strreverse
    - strcmp
    - g_return_val_if_fail
    - strncmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pattern_spec_match (GPatternSpec *pspec, gsize 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:302,1
    - Dst: g_new
      Src: /src/glib/glib/gpattern.c:305,1
    - Dst: g_new
      Src: /src/glib/glib/gpattern.c:309,1
    - Dst: strlen
      Src: /src/glib/glib/gpattern.c:306,1
    - Dst: memmove
      Src: /src/glib/glib/gpattern.c:365,1
    - Dst: g_utf8_strreverse
      Src: /src/glib/glib/gpattern.c:392,1
    - Dst: g_free
      Src: /src/glib/glib/gpattern.c:393,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 396
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 396
    functionName: g_pattern_spec_new
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - g_new
    - memmove
    - g_utf8_strreverse
    - g_return_val_if_fail
    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:451,1
    - Dst: strcmp
      Src: /src/glib/glib/gpattern.c:456,1
    - Dst: g_return_val_if_fail
      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: 457
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 457
    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:476,1
    - Dst: g_pattern_spec_match
      Src: /src/glib/glib/gpattern.c:479,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:477,1
    - Dst: strlen
      Src: /src/glib/glib/gpattern.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pspec
    - string
    argTypes:
    - GPatternSpec*
    - gchar*
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: g_pattern_spec_match_string
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_pattern_spec_match
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pattern_spec_match_string (GPatternSpec *pspec, const gchar
      *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:520,1
    - Dst: strlen
      Src: /src/glib/glib/gpattern.c:524,1
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/gpattern.c:523,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:521,1
    - Dst: g_pattern_spec_match
      Src: /src/glib/glib/gpattern.c:524,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/gpattern.c:525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pattern
    - string
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 528
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 528
    functionName: g_pattern_match_simple
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - strlen
    - g_pattern_spec_match
    - g_pattern_spec_new
    - g_return_val_if_fail
    - 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: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:413,1
    - Dst: g_strndup
      Src: /src/glib/glib/gpattern.c:417,1
    - Dst: g_new
      Src: /src/glib/glib/gpattern.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GPatternSpec*
    constantsTouched: []
    func_position:
      end: 420
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 420
    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_pattern_spec_match
      Src: /src/glib/glib/gpattern.c:279,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: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gpattern.c:431,1
    - Dst: g_free
      Src: /src/glib/glib/gpattern.c:434,1
    - Dst: g_free
      Src: /src/glib/glib/gpattern.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GPatternSpec*
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 435
    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: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:449,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:606,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:750,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:527,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:683,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:819,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: 1713
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 1713
    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: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:387,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:410,1
    - Dst: _stricmp
      Src: /src/glib/glib/gfileutils.c:417,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gfileutils.c:431,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:432,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:444,1
    - Dst: access
      Src: /src/glib/glib/gfileutils.c:460,1
    - Dst: lstat
      Src: /src/glib/glib/gfileutils.c:480,1
    - Dst: S_ISREG
      Src: /src/glib/glib/gfileutils.c:492,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:370,1
    - Dst: _stricmp
      Src: /src/glib/glib/gfileutils.c:419,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:453,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:439,1
    - Dst: memcmp
      Src: /src/glib/glib/gfileutils.c:441,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:454,1
    - Dst: getuid
      Src: /src/glib/glib/gfileutils.c:465,1
    - Dst: S_ISLNK
      Src: /src/glib/glib/gfileutils.c:480,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gfileutils.c:429,1
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:437,1
    - Dst: GetFileAttributesW
      Src: /src/glib/glib/gfileutils.c:385,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gfileutils.c:380,1
    - Dst: _stricmp
      Src: /src/glib/glib/gfileutils.c:418,1
    - Dst: _stricmp
      Src: /src/glib/glib/gfileutils.c:420,1
    - Dst: g_getenv
      Src: /src/glib/glib/gfileutils.c:425,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:443,1
    - Dst: access
      Src: /src/glib/glib/gfileutils.c:463,1
    - Dst: stat
      Src: /src/glib/glib/gfileutils.c:490,1
    - Dst: S_ISDIR
      Src: /src/glib/glib/gfileutils.c:495,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 102
    argCount: 2
    argNames:
    - filename
    - test
    argTypes:
    - gchar*
    - GFileTest
    constantsTouched: []
    func_position:
      end: 510
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 510
    functionName: g_file_test
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - strlen
    - stat
    - S_ISREG
    - g_free
    - g_utf8_casefold
    - g_utf8_to_utf16
    - strrchr
    - lstat
    - GetFileAttributesW
    - getuid
    - S_ISLNK
    - access
    - g_getenv
    - _stricmp
    - strchr
    - memcmp
    - g_return_val_if_fail
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_test (const gchar *filename, GFileTest test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:676,1
    - Dst: g_strerror
      Src: /src/glib/glib/gfileutils.c:677,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:678,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gfileutils.c:677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - filename
    - format_string
    - saved_errno
    argTypes:
    - gchar*
    - gchar*
    - int
    constantsTouched: []
    func_position:
      end: 681
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 681
    functionName: format_error_message
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strerror
    - g_filename_display_name
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *format_error_message (const gchar *filename, const gchar
      *format_string, int saved_errno) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_error_message
      Src: /src/glib/glib/gfileutils.c:696,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gfileutils.c:698,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:700,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gfileutils.c:698,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: 701
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 701
    functionName: set_file_error
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_free
    - format_error_message
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2616,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2623,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:2621,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2628,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2619,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2632,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2635,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2639,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2644,1
    - Dst: g_malloc
      Src: /src/glib/glib/gfileutils.c:2650,1
    - Dst: memcpy
      Src: /src/glib/glib/gfileutils.c:2651,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2655
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2655
    functionName: g_path_get_basename
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_ascii_isalpha
    - memcpy
    - G_IS_DIR_SEPARATOR
    - g_return_val_if_fail
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_path_get_basename (const gchar *file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:3041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - test
    argTypes:
    - gchar*
    - GFileTest
    constantsTouched: []
    func_position:
      end: 3042
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3042
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkstemp
      Src: /src/glib/glib/gfileutils.c:3056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3057
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3057
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:755,1
    - Dst: ferror
      Src: /src/glib/glib/gfileutils.c:763,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:765,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:766,1
    - Dst: g_strerror
      Src: /src/glib/glib/gfileutils.c:771,1
    - Dst: fclose
      Src: /src/glib/glib/gfileutils.c:783,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:777,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:772,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gfileutils.c:768,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:787,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:807,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:811,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:718,1
    - Dst: g_try_realloc
      Src: /src/glib/glib/gfileutils.c:744,1
    - Dst: MIN
      Src: /src/glib/glib/gfileutils.c:741,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:748,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:749,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:769,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:805,1
    - Dst: fclose
      Src: /src/glib/glib/gfileutils.c:812,1
    - Dst: feof
      Src: /src/glib/glib/gfileutils.c:720,1
    - Dst: fread
      Src: /src/glib/glib/gfileutils.c:724,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gfileutils.c:752,1
    - Dst: memcpy
      Src: /src/glib/glib/gfileutils.c:778,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:801,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:802,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 5
    argNames:
    - filename
    - f
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - FILE*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 815
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 815
    functionName: get_contents_stdio
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - ferror
    - g_free
    - _
    - g_assert
    - g_strerror
    - MIN
    - g_dngettext
    - g_try_realloc
    - g_new
    - fclose
    - g_filename_display_name
    - feof
    - fread
    - g_file_error_from_errno
    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_file_get_contents
      Src: /src/glib/glib/gfileutils.c:3050,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 3051
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3051
    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_open_tmp
      Src: /src/glib/glib/gfileutils.c:3064,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - tmpl
    - name_used
    - error
    argTypes:
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 3065
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3065
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gfileutils.c:3070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3071
      start: 3067
    functionDepth: 0
    functionLinenumber: 3067
    functionLinenumberEnd: 3071
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: fallocate
      Src: /src/glib/glib/gfileutils.c:1186,1
    - Dst: write
      Src: /src/glib/glib/gfileutils.c:1198,1
    - Dst: MIN
      Src: /src/glib/glib/gfileutils.c:1195,1
    - Dst: write
      Src: /src/glib/glib/gfileutils.c:1195,1
    - Dst: MIN
      Src: /src/glib/glib/gfileutils.c:1198,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1207,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1208,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:1210,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:1215,1
    - Dst: g_fsync
      Src: /src/glib/glib/gfileutils.c:1224,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:1231,1
    - Dst: g_close
      Src: /src/glib/glib/gfileutils.c:1238,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1229,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1228,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: 1242
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1242
    functionName: write_to_file
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_close
    - _
    - g_assert
    - MIN
    - close
    - g_fsync
    - set_file_error
    - fallocate
    - write
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2364,1
    - Dst: g_malloc
      Src: /src/glib/glib/gfileutils.c:2368,1
    - Dst: readlink
      Src: /src/glib/glib/gfileutils.c:2372,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2365,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:2377,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:2379,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2381,1
    - Dst: g_realloc
      Src: /src/glib/glib/gfileutils.c:2392,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2398,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2399,1
    - Dst: strdup
      Src: /src/glib/glib/gfileutils.c:2413,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:2423,1
    - Dst: g_win32_readlink_utf8
      Src: /src/glib/glib/gfileutils.c:2401,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2417,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:2408,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gfileutils.c:2420,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2418,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:2406,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - filename
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2427
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2427
    functionName: g_file_read_link
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - readlink
    - g_win32_readlink_utf8
    - g_realloc
    - _
    - g_free
    - strdup
    - set_file_error
    - g_set_error_literal
    - g_return_val_if_fail
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_file_read_link (const gchar *filename,\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2492,1
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:2502,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2499,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2496,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2497,1
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:2508,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:2522,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2531,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2533,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2542,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2540,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2547
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2547
    functionName: g_path_skip_root
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - g_ascii_isalpha
    - g_return_val_if_fail
    - strchr
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_path_skip_root (const gchar *file_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2570,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:2577,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2587,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:2572,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2592
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2592
    functionName: g_basename
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_ascii_isalpha
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_basename (const gchar *file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkdtemp_full
      Src: /src/glib/glib/gfileutils.c:1675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1676
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1676
    functionName: g_mkdtemp
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_mkdtemp_full
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_mkdtemp (gchar *tmpl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_path_va
      Src: /src/glib/glib/gfileutils.c:2039,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - separator
    - args
    argTypes:
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 2040
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2040
    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: GetCurrentDirectoryW
      Src: /src/glib/glib/gfileutils.c:2957,1
    - Dst: GetCurrentDirectoryW
      Src: /src/glib/glib/gfileutils.c:2960,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:2958,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gfileutils.c:2961,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2963,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2966,1
    - Dst: g_getenv
      Src: /src/glib/glib/gfileutils.c:2977,1
    - Dst: g_stat
      Src: /src/glib/glib/gfileutils.c:2979,1
    - Dst: g_stat
      Src: /src/glib/glib/gfileutils.c:2979,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2981,1
    - Dst: strnlen
      Src: /src/glib/glib/gfileutils.c:3002,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:3013,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:3002,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:3012,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2988,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:2989,1
    - Dst: getcwd
      Src: /src/glib/glib/gfileutils.c:2991,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:3007,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3018
      start: 2948
    functionDepth: 0
    functionLinenumber: 2948
    functionLinenumberEnd: 3018
    functionName: g_get_current_dir
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - GetCurrentDirectoryW
    - g_free
    - g_assert
    - strnlen
    - g_new
    - getcwd
    - g_stat
    - g_getenv
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_get_current_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_tmp_file
      Src: /src/glib/glib/gfileutils.c:1640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - tmpl
    - mode
    argTypes:
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 1644
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1644
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_try_malloc
      Src: /src/glib/glib/gfileutils.c:836,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gfileutils.c:844,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:847,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:840,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:841,1
    - Dst: read
      Src: /src/glib/glib/gfileutils.c:856,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:864,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:865,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:866,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gfileutils.c:868,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:872,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:889,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:895,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:869,1
    - Dst: g_strerror
      Src: /src/glib/glib/gfileutils.c:871,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 6
    argNames:
    - filename
    - stat_buf
    - fd
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - struct stat*
    - gint
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 898
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 898
    functionName: get_contents_regfile
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_free
    - _
    - g_strerror
    - g_dngettext
    - close
    - read
    - g_filename_display_name
    - g_file_error_from_errno
    - g_try_malloc
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_fopen
      Src: /src/glib/glib/gfileutils.c:986,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:994,1
    - Dst: get_contents_stdio
      Src: /src/glib/glib/gfileutils.c:1000,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:992,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1003
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1003
    functionName: get_contents_win32
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_fopen
    - get_contents_stdio
    - _
    - set_file_error
    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:1034,1
    - Dst: get_contents_win32
      Src: /src/glib/glib/gfileutils.c:1042,1
    - Dst: get_contents_posix
      Src: /src/glib/glib/gfileutils.c:1044,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1035,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1046
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1046
    functionName: g_file_get_contents
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - get_contents_posix
    - g_return_val_if_fail
    - get_contents_win32
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_get_contents (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:1267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar*
    - gssize
    - GError**
    constantsTouched: []
    func_position:
      end: 1271
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1271
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_rename
      Src: /src/glib/glib/gfileutils.c:1055,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:1058,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gfileutils.c:1063,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:1061,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:1059,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1064,1
    - Dst: g_strerror
      Src: /src/glib/glib/gfileutils.c:1067,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1069,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1070,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/gfileutils.c:1084,1
    - Dst: g_fsync
      Src: /src/glib/glib/gfileutils.c:1089,1
    - Dst: g_close
      Src: /src/glib/glib/gfileutils.c:1090,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1093,1
    - Dst: g_open
      Src: /src/glib/glib/gfileutils.c:1085,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: 1098
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1098
    functionName: rename_file
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_open
    - g_close
    - _
    - g_free
    - g_strerror
    - g_rename
    - g_fsync
    - g_path_get_dirname
    - g_filename_display_name
    - g_file_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean rename_file (const char *old_name, const char *new_name,
      gboolean do_fsync, GError **err) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1856,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1868,1
    - Dst: g_get_tmp_name
      Src: /src/glib/glib/gfileutils.c:1858,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - tmpl
    - name_used
    - error
    argTypes:
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 1872
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1872
    functionName: g_file_open_tmp
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_free
    - g_get_tmp_name
    linkageType: ''
    returnType: gint
    signature: 'gint g_file_open_tmp (const gchar *tmpl, gchar **name_used, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2463,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2471,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2465,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2476
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2476
    functionName: g_path_is_absolute
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - g_ascii_isalpha
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_path_is_absolute (const gchar *file_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/glib/gfileutils.c:910,1
    - Dst: fstat
      Src: /src/glib/glib/gfileutils.c:926,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:919,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:930,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:917,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:932,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:934,1
    - Dst: S_ISREG
      Src: /src/glib/glib/gfileutils.c:939,1
    - Dst: get_contents_regfile
      Src: /src/glib/glib/gfileutils.c:941,1
    - Dst: fdopen
      Src: /src/glib/glib/gfileutils.c:955,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:961,1
    - Dst: get_contents_stdio
      Src: /src/glib/glib/gfileutils.c:969,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:963,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 973
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 973
    functionName: get_contents_posix
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - fstat
    - _
    - get_contents_regfile
    - fdopen
    - close
    - set_file_error
    - get_contents_stdio
    - open
    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:1125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - test_file
    - flags
    argTypes:
    - int
    - gchar*
    - GFileSetContentsFlags
    constantsTouched: []
    func_position:
      end: 1139
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1139
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1538,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gfileutils.c:1550,1
    - Dst: g_strrstr
      Src: /src/glib/glib/gfileutils.c:1541,1
    - Dst: f
      Src: /src/glib/glib/gfileutils.c:1570,1
    - Dst: strncmp
      Src: /src/glib/glib/gfileutils.c:1543,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - tmpl
    - f
    - flags
    - mode
    argTypes:
    - gchar*
    - GTmpFileCallback
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1584
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1584
    functionName: get_tmp_file
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - f
    - g_get_real_time
    - g_return_val_if_fail
    - g_strrstr
    - strncmp
    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:2221,1
    - Dst: g_build_pathname_va
      Src: /src/glib/glib/gfileutils.c:2223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - first_argument
    - args
    - str_array
    argTypes:
    - gchar*
    - va_list*
    - gchar**
    constantsTouched: []
    func_position:
      end: 2227
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2227
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2894,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2914,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gfileutils.c:2810,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gfileutils.c:2820,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2827,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2868,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2877,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gfileutils.c:2812,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gfileutils.c:2822,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gfileutils.c:2838,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:2868,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2886,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:2870,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2869,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2810,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2823,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/gfileutils.c:2830,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2837,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2843,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2873,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:2869,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2904,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 84
    argCount: 2
    argNames:
    - filename
    - relative_to
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2920
      start: 2804
    functionDepth: 0
    functionLinenumber: 2804
    functionLinenumberEnd: 2920
    functionName: g_canonicalize_filename
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_IS_DIR_SEPARATOR
    - g_free
    - g_assert
    - g_build_filename
    - g_path_skip_root
    - g_get_current_dir
    - g_return_val_if_fail
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_canonicalize_filename (const gchar *filename, const gchar
      *relative_to) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:1758,1
    - Dst: strstr
      Src: /src/glib/glib/gfileutils.c:1779,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1785,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1772,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1774,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:1781,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:1782,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1807,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:1764,1
    - Dst: get_tmp_file
      Src: /src/glib/glib/gfileutils.c:1800,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1805,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/gfileutils.c:1791,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gfileutils.c:1798,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:1793,1
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:1760,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:1769,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1809,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:1793,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1787,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: 1816
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1816
    functionName: g_get_tmp_name
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_DIR_SEPARATOR
    - strlen
    - get_tmp_file
    - g_free
    - _
    - g_get_tmp_dir
    - g_strconcat
    - strstr
    - g_filename_display_name
    - set_file_error
    - strchr
    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:2088,1
    - Dst: va_start
      Src: /src/glib/glib/gfileutils.c:2090,1
    - Dst: va_end
      Src: /src/glib/glib/gfileutils.c:2092,1
    - Dst: g_build_path_va
      Src: /src/glib/glib/gfileutils.c:2091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - separator
    - first_element
    - '...'
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2095
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2095
    functionName: g_build_path
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_build_path_va
    - g_return_val_if_fail
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_build_path (const gchar *separator,\t const gchar *first_element,\t
      ...) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_mkdir
      Src: /src/glib/glib/gfileutils.c:230,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/gfileutils.c:246,1
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:234,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gfileutils.c:245,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:243,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:252,1
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:260,1
    - Dst: g_mkdir
      Src: /src/glib/glib/gfileutils.c:262,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:267,1
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:273,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:275,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:288,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:282,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 2
    argNames:
    - pathname
    - mode
    argTypes:
    - gchar*
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 291
    functionName: g_mkdir_with_parents
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_path_skip_root
    - g_file_test
    - g_mkdir
    - G_IS_DIR_SEPARATOR
    - g_path_is_absolute
    linkageType: ''
    returnType: int
    signature: "int g_mkdir_with_parents (const gchar *pathname,\t\t int mode) "
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 2
    argCount: 1
    argNames:
    - err_no
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 658
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 658
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_ftruncate
      Src: /src/glib/glib/gfileutils.c:1149,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1161,1
    - Dst: ftruncate
      Src: /src/glib/glib/gfileutils.c:1151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - length
    - dest_file
    - error
    argTypes:
    - int
    - off_t
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 1169
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1169
    functionName: truncate_file
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - set_file_error
    - g_win32_ftruncate
    - ftruncate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean truncate_file (int fd, off_t length, const char *dest_file,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkdir
      Src: /src/glib/glib/gfileutils.c:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - G_GNUC_UNUSED
    - mode
    argTypes:
    - gchar*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1599
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1599
    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:1738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1739
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1739
    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:1905,1
    - Dst: g_get_tmp_name
      Src: /src/glib/glib/gfileutils.c:1907,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - tmpl
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1911
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1911
    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:2278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 2279
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2279
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gfileutils.c:2314,1
    - Dst: va_end
      Src: /src/glib/glib/gfileutils.c:2316,1
    - Dst: g_build_filename_va
      Src: /src/glib/glib/gfileutils.c:2315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - first_element
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2319
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2319
    functionName: g_build_filename
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_build_filename_va
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_build_filename (const gchar *first_element, \t\t ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/glib/glib/gfileutils.c:1606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - flags
    - mode
    argTypes:
    - gchar*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1607
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1607
    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:1920,1
    - Dst: va_arg
      Src: /src/glib/glib/gfileutils.c:1947,1
    - Dst: strncmp
      Src: /src/glib/glib/gfileutils.c:1960,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:1964,1
    - Dst: g_string_new
      Src: /src/glib/glib/gfileutils.c:1928,1
    - Dst: strncmp
      Src: /src/glib/glib/gfileutils.c:1969,1
    - Dst: strncmp
      Src: /src/glib/glib/gfileutils.c:1974,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:1985,1
    - Dst: g_string_append
      Src: /src/glib/glib/gfileutils.c:1996,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:1998,1
    - Dst: g_string_free
      Src: /src/glib/glib/gfileutils.c:2004,1
    - Dst: g_string_append
      Src: /src/glib/glib/gfileutils.c:2010,1
    - Dst: g_string_free
      Src: /src/glib/glib/gfileutils.c:2012,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2005,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 57
    argCount: 4
    argNames:
    - separator
    - first_element
    - args
    - str_array
    argTypes:
    - gchar*
    - gchar*
    - va_list*
    - gchar**
    constantsTouched: []
    func_position:
      end: 2014
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 2014
    functionName: g_build_path_va
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_string_new
    - g_string_append
    - g_string_free
    - g_string_append_len
    - va_arg
    - strncmp
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1353,1
    - Dst: fd_should_be_fsynced
      Src: /src/glib/glib/gfileutils.c:1396,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/gfileutils.c:1397,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1421,1
    - Dst: g_error_free
      Src: /src/glib/glib/gfileutils.c:1427,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1435,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1455,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/gfileutils.c:1494,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/gfileutils.c:1509,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1350,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gfileutils.c:1380,1
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:1419,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gfileutils.c:1422,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1433,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1444,1
    - Dst: write_to_file
      Src: /src/glib/glib/gfileutils.c:1509,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:1370,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1390,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1408,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1399,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1429,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1437,1
    - Dst: rename_file
      Src: /src/glib/glib/gfileutils.c:1442,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1500,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1501,1
    - Dst: fd_should_be_fsynced
      Src: /src/glib/glib/gfileutils.c:1506,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1352,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1351,1
    - Dst: g_mkstemp_full
      Src: /src/glib/glib/gfileutils.c:1383,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1389,1
    - Dst: write_to_file
      Src: /src/glib/glib/gfileutils.c:1397,1
    - Dst: rename_file
      Src: /src/glib/glib/gfileutils.c:1404,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gfileutils.c:1409,1
    - Dst: g_open
      Src: /src/glib/glib/gfileutils.c:1471,1
    - Dst: truncate_file
      Src: /src/glib/glib/gfileutils.c:1507,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: 1515
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1515
    functionName: g_file_set_contents_full
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_open
    - g_mkstemp_full
    - _
    - g_free
    - g_file_set_contents_full
    - g_steal_fd
    - fd_should_be_fsynced
    - write_to_file
    - rename_file
    - g_error_free
    - truncate_file
    - g_strdup_printf
    - g_file_test
    - g_unlink
    - set_file_error
    - g_propagate_error
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_tmp_file
      Src: /src/glib/glib/gfileutils.c:1710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - tmpl
    - flags
    - mode
    argTypes:
    - gchar*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 1712
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1712
    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:2116,1
    - Dst: va_arg
      Src: /src/glib/glib/gfileutils.c:2135,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:2191,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:2156,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:2180,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:2193,1
    - Dst: g_string_free
      Src: /src/glib/glib/gfileutils.c:2199,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2200,1
    - Dst: g_string_append
      Src: /src/glib/glib/gfileutils.c:2205,1
    - Dst: g_string_free
      Src: /src/glib/glib/gfileutils.c:2207,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 59
    argCount: 3
    argNames:
    - first_element
    - args
    - str_array
    argTypes:
    - gchar*
    - va_list*
    - gchar**
    constantsTouched: []
    func_position:
      end: 2209
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2209
    functionName: g_build_pathname_va
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_string_new
    - g_string_append
    - g_string_free
    - g_string_append_len
    - va_arg
    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:2251,1
    - Dst: g_build_filename_va
      Src: /src/glib/glib/gfileutils.c:2253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - first_element
    - args
    argTypes:
    - gchar*
    - va_list*
    constantsTouched: []
    func_position:
      end: 2254
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2254
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2706,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2721,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:2752,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2744,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2741,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2759,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2748,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:2697,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:2692,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2718,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:2753,1
    - Dst: strcpy
      Src: /src/glib/glib/gfileutils.c:2754,1
    - Dst: memmove
      Src: /src/glib/glib/gfileutils.c:2772,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2690,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2715,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2738,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2742,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2762,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:2771,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2776
      start: 2684
    functionDepth: 0
    functionLinenumber: 2684
    functionLinenumberEnd: 2776
    functionName: g_path_get_dirname
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_ascii_isalpha
    - strrchr
    - strcpy
    - g_new
    - memmove
    - G_IS_DIR_SEPARATOR
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_path_get_dirname (const gchar *file_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:1345,1
    - Dst: sha512_sum_update
      Src: /src/glib/glib/gchecksum.c:1358,1
    - Dst: PUT_UINT64
      Src: /src/glib/glib/gchecksum.c:1362,1
    - Dst: PUT_UINT64
      Src: /src/glib/glib/gchecksum.c:1354,1
    - Dst: PUT_UINT64
      Src: /src/glib/glib/gchecksum.c:1351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - sha512
    argTypes:
    - Sha512sum*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1363
    functionName: sha512_sum_close
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sha512_sum_update
    - memset
    - PUT_UINT64
    linkageType: ''
    returnType: void
    signature: 'static void sha512_sum_close (Sha512sum *sha512) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gchecksum.c:1828,1
    - Dst: strlen
      Src: /src/glib/glib/gchecksum.c:1831,1
    - Dst: g_compute_checksum_for_data
      Src: /src/glib/glib/gchecksum.c:1833,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - checksum_type
    - str
    - length
    argTypes:
    - GChecksumType
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 1834
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1834
    functionName: g_compute_checksum_for_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - strlen
    - g_compute_checksum_for_data
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_checksum_for_string (GChecksumType checksum_type,
      const gchar *str, gssize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:630,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:631,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:627,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:632,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:629,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:642,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:641,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:660,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:591,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:593,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:651,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:669,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:626,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:635,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:622,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:623,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:624,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:633,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: subRound
      Src: /src/glib/glib/gchecksum.c:636,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:652,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:643,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:658,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:595,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:613,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:668,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:667,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:661,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:659,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:653,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:588,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:616,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:629,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:617,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:620,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:631,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:650,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:669,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:668,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:660,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:599,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:597,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:648,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:651,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:626,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:615,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:623,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:590,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:625,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:624,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:667,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:666,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:658,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:652,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:601,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:646,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:640,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:632,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:665,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:661,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:587,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:592,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:594,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:605,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:616,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:620,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:606,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:617,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:608,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:618,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:654,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:647,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:650,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:663,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:657,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:648,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:614,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:615,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:596,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:603,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:604,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:644,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:645,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:637,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:664,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:621,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:655,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:610,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:665,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:598,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:604,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:600,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:605,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:606,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:608,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:609,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:610,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:638,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:639,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:662,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:656,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:654,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:647,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:666,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:642,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:663,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:657,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:602,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:603,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:633,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:636,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:637,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: expand
      Src: /src/glib/glib/gchecksum.c:643,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:589,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:619,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:653,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:659,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 155
    argCount: 2
    argNames:
    - buf
    - in
    argTypes:
    - guint32
    - guint32
    constantsTouched: []
    func_position:
      end: 677
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 677
    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: digest_to_string
      Src: /src/glib/glib/gchecksum.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sha512
    argTypes:
    - Sha512sum*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1369
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1589,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1590,1
    - Dst: md5_sum_update
      Src: /src/glib/glib/gchecksum.c:1606,1
    - Dst: strlen
      Src: /src/glib/glib/gchecksum.c:1593,1
    - Dst: g_warning
      Src: /src/glib/glib/gchecksum.c:1597,1
    - Dst: sha1_sum_update
      Src: /src/glib/glib/gchecksum.c:1609,1
    - Dst: sha256_sum_update
      Src: /src/glib/glib/gchecksum.c:1612,1
    - Dst: sha512_sum_update
      Src: /src/glib/glib/gchecksum.c:1616,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gchecksum.c:1619,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 3
    argNames:
    - checksum
    - data
    - length
    argTypes:
    - GChecksum*
    - guchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 1622
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1622
    functionName: g_checksum_update
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - strlen
    - sha512_sum_update
    - md5_sum_update
    - sha256_sum_update
    - g_assert_not_reached
    - g_warning
    - sha1_sum_update
    - g_return_if_fail
    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:1794,1
    - Dst: g_strdup
      Src: /src/glib/glib/gchecksum.c:1801,1
    - Dst: g_checksum_get_string
      Src: /src/glib/glib/gchecksum.c:1801,1
    - Dst: g_checksum_new
      Src: /src/glib/glib/gchecksum.c:1796,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/gchecksum.c:1800,1
    - Dst: g_checksum_free
      Src: /src/glib/glib/gchecksum.c:1802,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - checksum_type
    - data
    - length
    argTypes:
    - GChecksumType
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1805
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1805
    functionName: g_compute_checksum_for_data
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_checksum_free
    - g_checksum_get_string
    - g_checksum_update
    - g_return_val_if_fail
    - g_checksum_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_checksum_for_data (GChecksumType checksum_type, const
      guchar *data, gsize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sha256
    argTypes:
    - Sha256sum*
    constantsTouched: []
    func_position:
      end: 836
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 836
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - md5
    argTypes:
    - Md5sum*
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 227
    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:
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:260,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:273,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:274,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:265,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:275,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:276,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:278,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:291,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:311,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:308,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:315,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:295,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:298,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:285,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:312,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:306,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:316,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:296,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:303,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:283,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:320,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:255,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:256,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:259,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:267,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:269,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:270,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:272,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:266,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:294,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:304,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:292,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:318,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:314,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:321,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:309,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:289,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:268,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:302,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:282,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:290,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:319,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:307,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:286,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:310,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:317,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:297,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 137
    argCount: 2
    argNames:
    - buf
    - in
    argTypes:
    - guint32
    - guint32
    constantsTouched: []
    func_position:
      end: 333
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 333
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - md5
    - digest
    argTypes:
    - Md5sum*
    - guint8*
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 458
    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:768,1
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:770,1
    - Dst: sha1_transform
      Src: /src/glib/glib/gchecksum.c:771,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:774,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:779,1
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:786,1
    - Dst: sha1_transform
      Src: /src/glib/glib/gchecksum.c:787,1
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:788,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:790,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:794,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - sha1
    argTypes:
    - Sha1sum*
    constantsTouched: []
    func_position:
      end: 795
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 795
    functionName: sha1_sum_close
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - memset
    - sha_byte_reverse
    - sha1_transform
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void sha1_sum_close (Sha1sum *sha1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1168,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:1172,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1169,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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - sha512
    argTypes:
    - Sha512sum*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1181
    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:1234,1
    - Dst: SIGMA1
      Src: /src/glib/glib/gchecksum.c:1250,1
    - Dst: Ch
      Src: /src/glib/glib/gchecksum.c:1250,1
    - Dst: SIGMA0
      Src: /src/glib/glib/gchecksum.c:1251,1
    - Dst: sigma0
      Src: /src/glib/glib/gchecksum.c:1234,1
    - Dst: Maj
      Src: /src/glib/glib/gchecksum.c:1251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 82
    argCount: 2
    argNames:
    - H
    - data
    argTypes:
    - guint64
    - guint8
    constantsTouched: []
    func_position:
      end: 1271
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1271
    functionName: sha512_transform
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sigma1
    - sigma0
    - Ch
    - Maj
    - SIGMA1
    - SIGMA0
    linkageType: ''
    returnType: void
    signature: 'static void sha512_transform (guint64 H[8], guint8 const data[SHA2_BLOCK_LEN]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_to_string
      Src: /src/glib/glib/gchecksum.c:1374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sha512
    argTypes:
    - Sha512sum*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1375
    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: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - checksum_type
    argTypes:
    - GChecksumType
    constantsTouched: []
    func_position:
      end: 1445
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1445
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:362,1
    - Dst: md5_transform
      Src: /src/glib/glib/gchecksum.c:369,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:368,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:378,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:366,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:380,1
    - Dst: md5_transform
      Src: /src/glib/glib/gchecksum.c:381,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - md5
    - data
    - length
    argTypes:
    - Md5sum*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 389
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 389
    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:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sha1
    argTypes:
    - Sha1sum*
    constantsTouched: []
    func_position:
      end: 801
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 801
    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: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1187,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1188,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1189,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: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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - sha512
    argTypes:
    - Sha512sum*
    constantsTouched: []
    func_position:
      end: 1200
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1200
    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:1293,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1309,1
    - Dst: sha512_transform
      Src: /src/glib/glib/gchecksum.c:1301,1
    - Dst: sha512_transform
      Src: /src/glib/glib/gchecksum.c:1311,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1294,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - sha512
    - buffer
    - length
    argTypes:
    - Sha512sum*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1323
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1323
    functionName: sha512_sum_update
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - memcpy
    - MIN
    - sha512_transform
    linkageType: ''
    returnType: void
    signature: 'static void sha512_sum_update (Sha512sum *sha512, const guchar *buffer,
      gsize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha512
    - digest
    argTypes:
    - Sha512sum*
    - guint8*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1382
    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: memcpy
      Src: /src/glib/glib/gchecksum.c:1388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha512
    - digest
    argTypes:
    - Sha512sum*
    - guint8*
    constantsTouched: []
    func_position:
      end: 1389
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1389
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1497,1
    - Dst: sha256_sum_init
      Src: /src/glib/glib/gchecksum.c:1511,1
    - Dst: md5_sum_init
      Src: /src/glib/glib/gchecksum.c:1505,1
    - Dst: sha1_sum_init
      Src: /src/glib/glib/gchecksum.c:1508,1
    - Dst: g_free
      Src: /src/glib/glib/gchecksum.c:1499,1
    - Dst: sha384_sum_init
      Src: /src/glib/glib/gchecksum.c:1514,1
    - Dst: sha512_sum_init
      Src: /src/glib/glib/gchecksum.c:1517,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gchecksum.c:1520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - GChecksum*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1523
    functionName: g_checksum_reset
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sha384_sum_init
    - sha1_sum_init
    - g_free
    - md5_sum_init
    - sha512_sum_init
    - g_assert_not_reached
    - sha256_sum_init
    - g_return_if_fail
    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:1861,1
    - Dst: g_compute_checksum_for_data
      Src: /src/glib/glib/gchecksum.c:1864,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gchecksum.c:1863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - checksum_type
    - data
    argTypes:
    - GChecksumType
    - GBytes*
    constantsTouched: []
    func_position:
      end: 1865
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1865
    functionName: g_compute_checksum_for_bytes
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_compute_checksum_for_data
    - g_bytes_get_data
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_checksum_for_bytes (GChecksumType checksum_type,
      GBytes *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1050,1
    - Dst: sha256_sum_update
      Src: /src/glib/glib/gchecksum.c:1056,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1059,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1051,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: 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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - sha256
    argTypes:
    - Sha256sum*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1067
    functionName: sha256_sum_close
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sha256_sum_update
    - PUT_UINT32
    linkageType: ''
    returnType: void
    signature: 'static void sha256_sum_close (Sha256sum *sha256) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - guchar*
    - gulong
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VALID_TYPE
      Src: /src/glib/glib/gchecksum.c:1475,1
    - Dst: g_checksum_reset
      Src: /src/glib/glib/gchecksum.c:1481,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gchecksum.c:1478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - checksum_type
    argTypes:
    - GChecksumType
    constantsTouched: []
    func_position:
      end: 1484
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1484
    functionName: g_checksum_new
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - IS_VALID_TYPE
    - g_slice_new0
    - g_checksum_reset
    linkageType: ''
    returnType: GChecksum*
    signature: 'GChecksum *g_checksum_new (GChecksumType checksum_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gchecksum.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - digest
    - digest_len
    argTypes:
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 197
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:414,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:416,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:425,1
    - Dst: md5_transform
      Src: /src/glib/glib/gchecksum.c:417,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:420,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:428,1
    - Dst: md5_transform
      Src: /src/glib/glib/gchecksum.c:434,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:435,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:437,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:440,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - md5
    argTypes:
    - Md5sum*
    constantsTouched: []
    func_position:
      end: 442
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 442
    functionName: md5_sum_close
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - md5_transform
    - memset
    - memcpy
    - md5_byte_reverse
    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: 520
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 520
    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: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - sha1
    - digest
    argTypes:
    - Sha1sum*
    - guint8*
    constantsTouched: []
    func_position:
      end: 811
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 811
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:903,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:915,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:918,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:927,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:940,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:936,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:945,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:949,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:958,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:934,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:858,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:866,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:869,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:910,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:925,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
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:913,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:923,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:950,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:954,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:959,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:963,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:908,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:939,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:921,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:861,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:872,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:930,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:948,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:957,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:919,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:937,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:928,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: R
      Src: /src/glib/glib/gchecksum.c:958,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:964,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:922,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:935,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:864,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:931,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:926,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:944,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:911,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:924,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:933,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:918,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:927,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:859,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:870,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:867,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:906,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:936,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:940,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:945,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:949,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:909,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:920,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:938,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:929,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: P
      Src: /src/glib/glib/gchecksum.c:916,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:862,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:904,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:923,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:932,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:954,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:963,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:934,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:907,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:925,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:937,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:914,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:919,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:928,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:857,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:865,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:902,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:959,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:917,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:921,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:930,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:926,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:939,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:948,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:957,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:860,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:871,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:868,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:912,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:924,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:933,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:935,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:905,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:944,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:938,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:929,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:920,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:863,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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 145
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - guint32
    - guint8
    constantsTouched: []
    func_position:
      end: 986
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 986
    functionName: sha256_transform
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - P
    - R
    - GET_UINT32
    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:1075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sha256
    argTypes:
    - Sha256sum*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1076
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gchecksum.c:1564,1
    - Dst: g_free
      Src: /src/glib/glib/gchecksum.c:1566,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gchecksum.c:1568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - GChecksum*
    constantsTouched: []
    func_position:
      end: 1570
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1570
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1707,1
    - Dst: g_checksum_type_get_length
      Src: /src/glib/glib/gchecksum.c:1709,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1710,1
    - Dst: sha1_sum_close
      Src: /src/glib/glib/gchecksum.c:1727,1
    - Dst: sha256_sum_close
      Src: /src/glib/glib/gchecksum.c:1735,1
    - Dst: sha512_sum_close
      Src: /src/glib/glib/gchecksum.c:1743,1
    - Dst: sha512_sum_close
      Src: /src/glib/glib/gchecksum.c:1751,1
    - Dst: md5_sum_close
      Src: /src/glib/glib/gchecksum.c:1719,1
    - Dst: sha1_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1728,1
    - Dst: sha1_sum_digest
      Src: /src/glib/glib/gchecksum.c:1730,1
    - Dst: sha256_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1736,1
    - Dst: sha512_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1752,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gchecksum.c:1757,1
    - Dst: sha384_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1744,1
    - Dst: sha256_sum_digest
      Src: /src/glib/glib/gchecksum.c:1738,1
    - Dst: sha512_sum_digest
      Src: /src/glib/glib/gchecksum.c:1754,1
    - Dst: sha384_sum_digest
      Src: /src/glib/glib/gchecksum.c:1746,1
    - Dst: md5_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1720,1
    - Dst: md5_sum_digest
      Src: /src/glib/glib/gchecksum.c:1722,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 3
    argNames:
    - checksum
    - buffer
    - digest_len
    argTypes:
    - GChecksum*
    - guint8*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1765
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1765
    functionName: g_checksum_get_digest
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sha512_sum_digest
    - sha256_sum_close
    - md5_sum_digest
    - sha1_sum_digest
    - sha1_sum_to_string
    - md5_sum_to_string
    - sha256_sum_to_string
    - sha384_sum_to_string
    - sha512_sum_to_string
    - sha512_sum_close
    - md5_sum_close
    - sha384_sum_digest
    - g_assert_not_reached
    - sha256_sum_digest
    - g_checksum_type_get_length
    - sha1_sum_close
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_checksum_get_digest (GChecksum *checksum, guint8 *buffer, gsize
      *digest_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gchecksum.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - guint32*
    - gint
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_to_string
      Src: /src/glib/glib/gchecksum.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - md5
    argTypes:
    - Md5sum*
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:722,1
    - Dst: sha1_transform
      Src: /src/glib/glib/gchecksum.c:723,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:716,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:720,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:732,1
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:734,1
    - Dst: sha1_transform
      Src: /src/glib/glib/gchecksum.c:735,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - sha1
    - buffer
    - count
    argTypes:
    - Sha1sum*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 743
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 743
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1010,1
    - Dst: sha256_transform
      Src: /src/glib/glib/gchecksum.c:1021,1
    - Dst: sha256_transform
      Src: /src/glib/glib/gchecksum.c:1012,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1028,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - sha256
    - buffer
    - length
    argTypes:
    - Sha256sum*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1029
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1029
    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: 1086
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1086
    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_return_val_if_fail
      Src: /src/glib/glib/gchecksum.c:1543,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gchecksum.c:1545,1
    - Dst: g_strdup
      Src: /src/glib/glib/gchecksum.c:1548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - GChecksum*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1551
    functionName: g_checksum_copy
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_slice_new
    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:1646,1
    - Dst: md5_sum_close
      Src: /src/glib/glib/gchecksum.c:1654,1
    - Dst: md5_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1655,1
    - Dst: sha1_sum_close
      Src: /src/glib/glib/gchecksum.c:1658,1
    - Dst: sha1_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1659,1
    - Dst: sha256_sum_close
      Src: /src/glib/glib/gchecksum.c:1662,1
    - Dst: sha256_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1663,1
    - Dst: sha512_sum_close
      Src: /src/glib/glib/gchecksum.c:1666,1
    - Dst: sha384_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1667,1
    - Dst: sha512_sum_close
      Src: /src/glib/glib/gchecksum.c:1670,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gchecksum.c:1674,1
    - Dst: sha512_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1671,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - GChecksum*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1681
    functionName: g_checksum_get_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sha256_sum_close
    - sha1_sum_to_string
    - md5_sum_to_string
    - sha256_sum_to_string
    - sha384_sum_to_string
    - sha512_sum_to_string
    - sha512_sum_close
    - md5_sum_close
    - g_assert_not_reached
    - g_return_val_if_fail
    - sha1_sum_close
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_checksum_get_string (GChecksum *checksum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - gchar*
    - gchar*
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:238,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:253,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:258,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:244,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - p
    - max
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 269
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 269
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:374,1
    - Dst: g_utf8_pointer_to_offset
      Src: /src/glib/glib/gutf8.c:390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - str
    - offset
    argTypes:
    - gchar*
    - glong
    constantsTouched: []
    func_position:
      end: 395
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 395
    functionName: g_utf8_offset_to_pointer
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_utf8_pointer_to_offset
    - g_utf8_next_char
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_offset_to_pointer (const gchar *str,\t\t\t glong offset) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char_extended
      Src: /src/glib/glib/gutf8.c:769,1
    - Dst: UNICODE_VALID
      Src: /src/glib/glib/gutf8.c:778,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - p
    - max_len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 782
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 782
    functionName: g_utf8_get_char_validated
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - UNICODE_VALID
    - g_utf8_get_char_extended
    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:812,1
    - Dst: CONT_BYTE_FAST
      Src: /src/glib/glib/gutf8.c:851,1
    - Dst: g_new
      Src: /src/glib/glib/gutf8.c:833,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:828,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:820,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: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:867,1
    - Dst: CONT_BYTE_FAST
      Src: /src/glib/glib/gutf8.c:875,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 3
    argNames:
    - str
    - len
    - items_written
    argTypes:
    - gchar*
    - glong
    - glong*
    constantsTouched: []
    func_position:
      end: 891
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 891
    functionName: g_utf8_to_ucs4_fast
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_new
    - CONT_BYTE_FAST
    - g_return_val_if_fail
    - g_utf8_next_char
    linkageType: ''
    returnType: gunichar*
    signature: "gunichar *g_utf8_to_ucs4_fast (const gchar *str,\t\t glong len, \t\t
      glong *items_written) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:1392,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1407,1
    - Dst: g_utf8_get_char_extended
      Src: /src/glib/glib/gutf8.c:1398,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1410,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1406,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1411,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1420,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1421,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1431,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1432,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:1437,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1440,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gutf8.c:1447,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:1459,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 5
    argNames:
    - str
    - len
    - items_read
    - items_written
    - error
    argTypes:
    - gchar*
    - glong
    - glong*
    - glong*
    - GError**
    constantsTouched: []
    func_position:
      end: 1472
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1472
    functionName: g_utf8_to_utf16
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - _
    - try_malloc_n
    - g_utf8_get_char_extended
    - g_utf8_get_char
    - g_set_error_literal
    - g_return_val_if_fail
    - g_utf8_next_char
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1517,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1518,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1529,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1528,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1537,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 5
    argNames:
    - str
    - len
    - items_read
    - items_written
    - error
    argTypes:
    - gunichar*
    - glong
    - glong*
    - glong*
    - GError**
    constantsTouched: []
    func_position:
      end: 1565
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1565
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: fast_validate_len
      Src: /src/glib/glib/gutf8.c:1797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - str
    - max_len
    - end
    argTypes:
    - char*
    - gsize
    - gchar**
    constantsTouched: []
    func_position:
      end: 1806
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1806
    functionName: g_utf8_validate_len
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - fast_validate_len
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_utf8_validate_len (const char *str, gsize max_len, const
      gchar **end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_try_malloc_n
      Src: /src/glib/glib/gutf8.c:896,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:898,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - n_blocks
    - n_block_bytes
    - error
    argTypes:
    - gsize
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 901
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 901
    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: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - str
    - p
    argTypes:
    - gchar*
    - gchar*
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:1114,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1134,1
    - Dst: SURROGATE_VALUE
      Src: /src/glib/glib/gutf8.c:1128,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1142,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1133,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1143,1
    - Dst: UTF8_LENGTH
      Src: /src/glib/glib/gutf8.c:1157,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1165,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1166,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1173,1
    - Dst: SURROGATE_VALUE
      Src: /src/glib/glib/gutf8.c:1187,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gutf8.c:1199,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 70
    argCount: 5
    argNames:
    - str
    - len
    - items_read
    - items_written
    - error
    argTypes:
    - gunichar2*
    - glong
    - glong*
    - glong*
    - GError**
    constantsTouched: []
    func_position:
      end: 1217
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1217
    functionName: g_utf16_to_utf8
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - _
    - try_malloc_n
    - g_unichar_to_utf8
    - UTF8_LENGTH
    - g_set_error_literal
    - g_return_val_if_fail
    - 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:1255,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1272,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1281,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1282,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1273,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1302,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1303,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1310,1
    - Dst: SURROGATE_VALUE
      Src: /src/glib/glib/gutf8.c:1324,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 67
    argCount: 5
    argNames:
    - str
    - len
    - items_read
    - items_written
    - error
    argTypes:
    - gunichar2*
    - glong
    - glong*
    - glong*
    - GError**
    constantsTouched: []
    func_position:
      end: 1355
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1355
    functionName: g_utf16_to_ucs4
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - _
    - try_malloc_n
    - g_set_error_literal
    - g_return_val_if_fail
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/gutf8.c:1762,1
    - Dst: fast_validate
      Src: /src/glib/glib/gutf8.c:1764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - str
    - max_len
    - end
    argTypes:
    - char*
    - gssize
    - gchar**
    constantsTouched: []
    func_position:
      end: 1773
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1773
    functionName: g_utf8_validate
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - fast_validate
    - g_utf8_validate_len
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_utf8_validate (const char *str,\t\t gssize max_len, \t\t
      const gchar **end) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:296,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:298,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:307,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:303,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gutf8.c:302,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutf8.c:310,1
    - Dst: memcpy
      Src: /src/glib/glib/gutf8.c:311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - str
    - start_pos
    - end_pos
    argTypes:
    - gchar*
    - glong
    - glong
    constantsTouched: []
    func_position:
      end: 315
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 315
    functionName: g_utf8_substring
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_utf8_strlen
    - g_return_val_if_fail
    - g_malloc
    - g_utf8_offset_to_pointer
    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:454,1
    - Dst: strncpy
      Src: /src/glib/glib/gutf8.c:457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 460
    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:
    - Dst: g_utf8_get_char_extended
      Src: /src/glib/glib/gutf8.c:944,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:957,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:953,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:956,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:952,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:964,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:967,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gutf8.c:974,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:975,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 5
    argNames:
    - str
    - len
    - items_read
    - items_written
    - error
    argTypes:
    - gchar*
    - glong
    - glong*
    - glong*
    - GError**
    constantsTouched: []
    func_position:
      end: 987
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 987
    functionName: g_utf8_to_ucs4
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - _
    - try_malloc_n
    - g_utf8_get_char_extended
    - g_utf8_get_char
    - g_set_error_literal
    - g_utf8_next_char
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:1592,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1602,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1605,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1616,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1608,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:1617,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1621,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1624,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1627,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1634,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1644
    functionName: fast_validate
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - VALIDATE_BYTE
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *fast_validate (const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gutf8.c:1856,1
    - Dst: g_new
      Src: /src/glib/glib/gutf8.c:1858,1
    - Dst: g_assert
      Src: /src/glib/glib/gutf8.c:1865,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 1872
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1872
    functionName: g_utf8_strreverse
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert
    - g_new
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_strreverse (const gchar *str,\t\t gssize len) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gutf8.c:1653,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:1669,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:1676,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:1666,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1682,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1685,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1688,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:1693,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1699,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:1700,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1717,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1704,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1707,1
    - Dst: VALIDATE_BYTE
      Src: /src/glib/glib/gutf8.c:1710,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 47
    argCount: 2
    argNames:
    - str
    - max_len
    argTypes:
    - char*
    - gssize
    constantsTouched: []
    func_position:
      end: 1727
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1727
    functionName: fast_validate_len
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_UNLIKELY
    - VALIDATE_BYTE
    linkageType: ''
    returnType: gchar*
    signature: "static const gchar *fast_validate_len (const char *str,\t\t gssize
      max_len) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_pointer_to_offset
      Src: /src/glib/glib/gutf8.c:418,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - str
    - pos
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 427
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 427
    functionName: g_utf8_pointer_to_offset
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_utf8_pointer_to_offset
    - g_utf8_next_char
    linkageType: ''
    returnType: glong
    signature: "glong g_utf8_pointer_to_offset (const gchar *str,\t\t\t const gchar
      *pos) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNICODE_VALID
      Src: /src/glib/glib/gutf8.c:1821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 1822
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1822
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gutf8.c:615,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/gutf8.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - p
    - len
    - c
    argTypes:
    - char*
    - gssize
    - gunichar
    constantsTouched: []
    func_position:
      end: 619
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 619
    functionName: g_utf8_strchr
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_unichar_to_utf8
    - g_strstr_len
    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:643,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/gutf8.c:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - p
    - len
    - c
    argTypes:
    - char*
    - gssize
    - gunichar
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 647
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_COMPUTE
      Src: /src/glib/glib/gutf8.c:337,1
    - Dst: UTF8_GET
      Src: /src/glib/glib/gutf8.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 343
    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:482,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutf8.c:498,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutf8.c:500,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gutf8.c:495,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:493,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:507,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:508,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:510,1
    - Dst: g_assert
      Src: /src/glib/glib/gutf8.c:513,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutf8.c:518,1
    - Dst: memcpy
      Src: /src/glib/glib/gutf8.c:521,1
    - Dst: strncpy
      Src: /src/glib/glib/gutf8.c:522,1
    - Dst: strncpy
      Src: /src/glib/glib/gutf8.c:520,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - string
    - truncate_length
    argTypes:
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 526
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 526
    functionName: g_utf8_truncate_middle
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - strncpy
    - memcpy
    - g_assert
    - g_utf8_strlen
    - g_return_val_if_fail
    - g_malloc
    - g_utf8_offset_to_pointer
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_utf8_truncate_middle (const gchar *string, gsize truncate_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - c
    - outbuf
    argTypes:
    - gunichar
    - gchar*
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    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:1031,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1032,1
    - Dst: UTF8_LENGTH
      Src: /src/glib/glib/gutf8.c:1036,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1039,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gutf8.c:1047,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 5
    argNames:
    - str
    - len
    - items_read
    - items_written
    - error
    argTypes:
    - gunichar*
    - glong
    - glong*
    - glong*
    - GError**
    constantsTouched: []
    func_position:
      end: 1059
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1059
    functionName: g_ucs4_to_utf8
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - _
    - try_malloc_n
    - g_unichar_to_utf8
    - UTF8_LENGTH
    - g_set_error_literal
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:1902,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gutf8.c:1920,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gutf8.c:1913,1
    - Dst: strlen
      Src: /src/glib/glib/gutf8.c:1905,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gutf8.c:1918,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutf8.c:1922,1
    - Dst: g_strndup
      Src: /src/glib/glib/gutf8.c:1929,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gutf8.c:1931,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gutf8.c:1932,1
    - Dst: g_assert
      Src: /src/glib/glib/gutf8.c:1934,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gutf8.c:1934,1
    - Dst: g_string_free
      Src: /src/glib/glib/gutf8.c:1936,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 1937
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1937
    functionName: g_utf8_make_valid
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - g_string_append
    - g_strndup
    - g_assert
    - g_string_append_c
    - g_string_append_len
    - g_string_free
    - g_return_val_if_fail
    - g_utf8_validate
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_utf8_make_valid (const gchar *str, gssize len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:669,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:708,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:734,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:722,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 2
    argNames:
    - p
    - max_len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 738
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 738
    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: G_LIKELY
      Src: /src/glib/glib/gstring.h:197,1
    - Dst: g_string_insert_c
      Src: /src/glib/glib/gstring.h:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - gstring
    - c
    argTypes:
    - GString*
    - gchar
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    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:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - gstring
    - len
    argTypes:
    - GString*
    - gsize
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    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:220,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gstring.h:233,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.h:223,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gstring.h:230,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.h:226,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.h:234,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.h:236,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/gstring.h:242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - gstring
    - val
    - len
    argTypes:
    - GString*
    - char*
    - gssize
    constantsTouched: []
    func_position:
      end: 243
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 243
    functionName: g_string_append_len_inline
    functionSourceFile: /src/glib/glib/gstring.h
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_string_insert_len
    - memmove
    - g_string_append_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:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 454
    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:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - context
    - ignore_unknown
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 479
    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:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - context
    - strict_posix
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 539
    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: 28
    BranchProfiles: []
    Callsites:
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:864,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/goption.c:897,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:888,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/goption.c:905,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:952,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:959,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:969,1
    - Dst: calculate_max_length
      Src: /src/glib/glib/goption.c:974,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:975,1
    - Dst: context_has_h_entry
      Src: /src/glib/glib/goption.c:987,1
    - Dst: _
      Src: /src/glib/glib/goption.c:991,1
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:1037,1
    - Dst: print_entry
      Src: /src/glib/glib/goption.c:1066,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1087,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:989,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1024,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:874,1
    - Dst: _
      Src: /src/glib/glib/goption.c:874,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:892,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/goption.c:898,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/goption.c:926,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/goption.c:927,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/goption.c:941,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:969,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:995,1
    - Dst: _
      Src: /src/glib/glib/goption.c:997,1
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:1018,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1045,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1011,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1086,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/goption.c:1090,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1021,1
    - Dst: group_list_has_visible_entries
      Src: /src/glib/glib/goption.c:1055,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:1086,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1060,1
    - Dst: g_string_free
      Src: /src/glib/glib/goption.c:1092,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1063,1
    - Dst: _
      Src: /src/glib/glib/goption.c:870,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/goption.c:853,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:870,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/goption.c:870,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:892,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:885,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:884,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/goption.c:923,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:947,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:1004,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1020,1
    - Dst: print_entry
      Src: /src/glib/glib/goption.c:1043,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1081,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1060,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1039,1
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:1003,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:1006,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:1020,1
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:1054,1
    - Dst: print_entry
      Src: /src/glib/glib/goption.c:1023,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:851,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:878,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:879,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:885,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:893,1
    - Dst: memset
      Src: /src/glib/glib/goption.c:896,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/goption.c:930,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:951,1
    - Dst: calculate_max_length
      Src: /src/glib/glib/goption.c:958,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:970,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1062,1
    - Dst: print_entry
      Src: /src/glib/glib/goption.c:1076,1
    - Dst: _
      Src: /src/glib/glib/goption.c:990,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1062,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:1040,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 177
    argCount: 3
    argNames:
    - context
    - main_help
    - group
    argTypes:
    - GOptionContext*
    - gboolean
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 1093
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 1093
    functionName: g_option_context_get_help
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_string_append
    - _
    - g_get_prgname
    - g_hash_table_insert
    - g_return_val_if_fail
    - calculate_max_length
    - group_list_has_visible_entries
    - memset
    - context_has_h_entry
    - g_string_free
    - g_hash_table_destroy
    - _g_utf8_strwidth
    - g_hash_table_new
    - g_strdup_printf
    - TRANSLATE
    - MAX
    - g_hash_table_new_full
    - g_string_sized_new
    - group_has_visible_entries
    - g_string_append_printf
    - print_entry
    - g_hash_table_lookup
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_option_context_get_help (GOptionContext *context, gboolean
      main_help, GOptionGroup *group) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1611,1
    - Dst: g_strconcat
      Src: /src/glib/glib/goption.c:1610,1
    - Dst: strlen
      Src: /src/glib/glib/goption.c:1622,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1637,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1673,1
    - Dst: NO_ARG
      Src: /src/glib/glib/goption.c:1604,1
    - Dst: strncmp
      Src: /src/glib/glib/goption.c:1624,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1630,1
    - Dst: g_strconcat
      Src: /src/glib/glib/goption.c:1631,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1668,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1640,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1651,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1675,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1676,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1680,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1657,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1683,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1687,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:1605,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1613,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1615,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1665,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1662,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1648,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: 1694
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1694
    functionName: parse_long_option
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - strlen
    - g_set_error
    - g_free
    - _
    - add_pending_null
    - NO_ARG
    - OPTIONAL_ARG
    - strcmp
    - g_strconcat
    - parse_arg
    - strncmp
    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:1753,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/goption.c:1768,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1772,1
    - Dst: g_list_free
      Src: /src/glib/glib/goption.c:1775,1
    - Dst: g_strfreev
      Src: /src/glib/glib/goption.c:1758,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 2
    argNames:
    - context
    - revert
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1777
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1777
    functionName: free_changes_list
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_strfreev
    - g_free
    - g_list_free
    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:2319,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2322,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2321,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - name
    - description
    - help_description
    - user_data
    - destroy
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 2328
      start: 2309
    functionDepth: 0
    functionLinenumber: 2309
    functionLinenumberEnd: 2328
    functionName: g_option_group_new
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    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:2507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - group
    - error_func
    argTypes:
    - GOptionGroup*
    - GOptionErrorFunc
    constantsTouched: []
    func_position:
      end: 2510
      start: 2503
    functionDepth: 0
    functionLinenumber: 2503
    functionLinenumberEnd: 2510
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:1715,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1719,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1721,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: 1729
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1729
    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:1795,1
    - Dst: g_list_free
      Src: /src/glib/glib/goption.c:1810,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1806,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1800,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1807,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - context
    - perform_nulls
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1812
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1812
    functionName: free_pending_nulls
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - strcpy
    - g_free
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'static void free_pending_nulls (GOptionContext *context, gboolean
      perform_nulls) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:2759,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/goption.c:2763,1
    - Dst: g_strv_length
      Src: /src/glib/glib/goption.c:2762,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - context
    - arguments
    - error
    argTypes:
    - GOptionContext*
    - gchar***
    - GError**
    constantsTouched: []
    func_position:
      end: 2767
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2767
    functionName: g_option_context_parse_strv
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_option_context_parse
    - g_return_val_if_fail
    - g_strv_length
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_option_context_parse_strv (GOptionContext *context, gchar
      ***arguments, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - context
    - help_enabled
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 435
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_next
      Src: /src/glib/glib/goption.c:803,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 815
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 815
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - context
    - func
    - data
    - destroy_notify
    argTypes:
    - GOptionContext*
    - GTranslateFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 2609
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2609
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strtod
      Src: /src/glib/glib/goption.c:1155,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1169,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1159,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1161,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - arg_name
    - arg
    - result
    - error
    argTypes:
    - gchar*
    - gchar*
    - gdouble*
    - GError**
    constantsTouched: []
    func_position:
      end: 1177
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1177
    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: 32
    BranchProfiles: []
    Callsites:
    - Dst: NO_ARG
      Src: /src/glib/glib/goption.c:1267,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1273,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1295,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1316,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1355,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1384,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1389,1
    - Dst: g_renew
      Src: /src/glib/glib/goption.c:1401,1
    - Dst: parse_int
      Src: /src/glib/glib/goption.c:1418,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1423,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1442,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/goption.c:1504,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1287,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1301,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1314,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1353,1
    - Dst: g_renew
      Src: /src/glib/glib/goption.c:1334,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1360,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1382,1
    - Dst: g_new
      Src: /src/glib/glib/goption.c:1397,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1461,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1480,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1446,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1285,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1318,1
    - Dst: g_new
      Src: /src/glib/glib/goption.c:1330,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1391,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1450,1
    - Dst: g_assert
      Src: /src/glib/glib/goption.c:1267,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1267,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1289,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1362,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1324,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1368,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1444,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1463,1
    - Dst: parse_double
      Src: /src/glib/glib/goption.c:1473,1
    - Dst: parse_int64
      Src: /src/glib/glib/goption.c:1490,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1497,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1459,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: 1508
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1508
    functionName: parse_arg
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_free
    - _
    - g_assert
    - get_change
    - g_locale_to_utf8
    - parse_double
    - g_assert_not_reached
    - g_new
    - NO_ARG
    - OPTIONAL_ARG
    - parse_int
    - parse_int64
    - g_renew
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_arg (GOptionContext *context, GOptionGroup *group,
      GOptionEntry *entry, const gchar *value, const gchar *option_name, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2381,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2387,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2385,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2386,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2389,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - group
    argTypes:
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 2399
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2399
    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_UNLIKELY
      Src: /src/glib/glib/goption.c:301,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/goption.c:301,1
    - Dst: g_unichar_iswide
      Src: /src/glib/glib/goption.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: _g_unichar_get_width
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_unichar_iswide
    - G_UNLIKELY
    - g_unichar_iszerowidth
    linkageType: ''
    returnType: int
    signature: 'static int _g_unichar_get_width (gunichar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/goption.c:1190,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1204,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1196,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1194,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - arg_name
    - arg
    - result
    - error
    argTypes:
    - gchar*
    - gchar*
    - gint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 1212
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1212
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/goption.c:1530,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1541,1
    - Dst: NO_ARG
      Src: /src/glib/glib/goption.c:1532,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1540,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1538,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1547,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1552,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1556,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1560,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1562,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1571,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1575,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1568,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1563,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: 1581
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1581
    functionName: parse_short_option
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - add_pending_null
    - NO_ARG
    - g_strdup_printf
    - OPTIONAL_ARG
    - parse_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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:613,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:618,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - context
    - group
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 624
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 624
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:2361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - group
    argTypes:
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 2366
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2366
    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:2672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 2675
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2675
    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: g_return_if_fail
      Src: /src/glib/glib/goption.c:578,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:581,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:580,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:582,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:579,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:589,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:590,1
    - Dst: g_list_append
      Src: /src/glib/glib/goption.c:594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - context
    - group
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 595
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 595
    functionName: g_option_context_add_group
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_warning
    - strcmp
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_add_group (GOptionContext *context, GOptionGroup
      *group) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/goption.c:691,1
    - Dst: NO_ARG
      Src: /src/glib/glib/goption.c:699,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:694,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:700,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:700,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:702,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - group
    - aliases
    argTypes:
    - GOptionGroup*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 706
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 706
    functionName: calculate_max_length
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - _g_utf8_strwidth
    - NO_ARG
    - TRANSLATE
    - MAX
    - g_hash_table_lookup
    linkageType: ''
    returnType: gint
    signature: 'static gint calculate_max_length (GOptionGroup *group, GHashTable
      *aliases) '
  - 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: 770
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 770
    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:1231,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/goption.c:1235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - context
    - arg_type
    - arg_data
    argTypes:
    - GOptionContext*
    - GOptionArg
    - gpointer
    constantsTouched: []
    func_position:
      end: 1240
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1240
    functionName: get_change
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_list_prepend
    - g_new0
    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:2625,1
    - Dst: g_option_context_set_translate_func
      Src: /src/glib/glib/goption.c:2627,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - context
    - domain
    argTypes:
    - GOptionContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2631
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2631
    functionName: g_option_context_set_translation_domain
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_option_context_set_translate_func
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_set_translation_domain (GOptionContext *context,
      const gchar *domain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2652,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2654,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - context
    - summary
    argTypes:
    - GOptionContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2656
      start: 2648
    functionDepth: 0
    functionLinenumber: 2648
    functionLinenumberEnd: 2656
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/goption.c:724,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:736,1
    - Dst: g_string_new
      Src: /src/glib/glib/goption.c:728,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:733,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:731,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:736,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:738,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:739,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:740,1
    - Dst: g_string_free
      Src: /src/glib/glib/goption.c:741,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - group
    - max_length
    - entry
    - string
    - aliases
    argTypes:
    - GOptionGroup*
    - gint
    - GOptionEntry*
    - GString*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 742
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 742
    functionName: print_entry
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append_printf
    - _g_utf8_strwidth
    - TRANSLATE
    - g_string_free
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void print_entry (GOptionGroup *group, gint max_length, const
      GOptionEntry *entry, GString *string, GHashTable *aliases) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - context
    - group_list
    - main_entries
    argTypes:
    - GOptionContext*
    - GList*
    - gboolean
    constantsTouched: []
    func_position:
      end: 786
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 786
    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:1249,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/goption.c:1253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - context
    - ptr
    - value
    argTypes:
    - GOptionContext*
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1254
    functionName: add_pending_null
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_list_prepend
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void add_pending_null (GOptionContext *context, gchar **ptr,
      gchar *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:395,1
    - Dst: free_changes_list
      Src: /src/glib/glib/goption.c:402,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/goption.c:397,1
    - Dst: free_pending_nulls
      Src: /src/glib/glib/goption.c:403,1
    - Dst: g_option_group_unref
      Src: /src/glib/glib/goption.c:400,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:405,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:406,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:407,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 413
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 413
    functionName: g_option_context_free
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - free_changes_list
    - g_free
    - free_pending_nulls
    - g_option_group_unref
    - g_list_free_full
    - g_return_if_fail
    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:664,1
    - Dst: g_option_group_set_translation_domain
      Src: /src/glib/glib/goption.c:671,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/goption.c:670,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:665,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/goption.c:668,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - context
    - entries
    - translation_domain
    argTypes:
    - GOptionContext*
    - GOptionEntry*
    - gchar*
    constantsTouched: []
    func_position:
      end: 672
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 672
    functionName: g_option_context_add_main_entries
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_option_group_add_entries
    - g_option_group_set_translation_domain
    - g_option_group_new
    - 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: 55
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:1963,1
    - Dst: parse_long_option
      Src: /src/glib/glib/goption.c:2057,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:2038,1
    - Dst: print_help
      Src: /src/glib/glib/goption.c:2039,1
    - Dst: print_help
      Src: /src/glib/glib/goption.c:2049,1
    - Dst: strlen
      Src: /src/glib/glib/goption.c:2116,1
    - Dst: parse_short_option
      Src: /src/glib/glib/goption.c:2136,1
    - Dst: parse_remaining_arg
      Src: /src/glib/glib/goption.c:2196,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:2206,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:2173,1
    - Dst: _
      Src: /src/glib/glib/goption.c:2185,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:2048,1
    - Dst: g_malloc
      Src: /src/glib/glib/goption.c:2162,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:2183,1
    - Dst: free_pending_nulls
      Src: /src/glib/glib/goption.c:2235,1
    - Dst: free_changes_list
      Src: /src/glib/glib/goption.c:2277,1
    - Dst: platform_get_argv0
      Src: /src/glib/glib/goption.c:1973,1
    - Dst: parse_long_option
      Src: /src/glib/glib/goption.c:2070,1
    - Dst: strncmp
      Src: /src/glib/glib/goption.c:2040,1
    - Dst: parse_long_option
      Src: /src/glib/glib/goption.c:2095,1
    - Dst: g_newa0
      Src: /src/glib/glib/goption.c:2117,1
    - Dst: print_help
      Src: /src/glib/glib/goption.c:2122,1
    - Dst: parse_short_option
      Src: /src/glib/glib/goption.c:2125,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:2168,1
    - Dst: free_pending_nulls
      Src: /src/glib/glib/goption.c:2278,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/goption.c:1966,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/goption.c:1971,1
    - Dst: g_set_prgname
      Src: /src/glib/glib/goption.c:1976,1
    - Dst: g_set_prgname
      Src: /src/glib/glib/goption.c:1978,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1980,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:2036,1
    - Dst: strchr
      Src: /src/glib/glib/goption.c:2084,1
    - Dst: print_help
      Src: /src/glib/glib/goption.c:2037,1
    - Dst: strncmp
      Src: /src/glib/glib/goption.c:2093,1
    - Dst: context_has_h_entry
      Src: /src/glib/glib/goption.c:2114,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 191
    argCount: 4
    argNames:
    - context
    - argc
    - argv
    - error
    argTypes:
    - GOptionContext*
    - gint*
    - gchar***
    - GError**
    constantsTouched: []
    func_position:
      end: 2281
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 2281
    functionName: g_option_context_parse
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - _
    - g_path_get_basename
    - g_get_prgname
    - free_pending_nulls
    - g_return_val_if_fail
    - print_help
    - strncmp
    - strlen
    - context_has_h_entry
    - strcmp
    - strchr
    - g_newa0
    - parse_remaining_arg
    - parse_long_option
    - add_pending_null
    - g_malloc
    - g_set_error
    - free_changes_list
    - g_free
    - g_set_prgname
    - platform_get_argv0
    - 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:2484,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: 2488
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2488
    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:2566,1
    - Dst: g_option_group_set_translate_func
      Src: /src/glib/glib/goption.c:2568,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - group
    - domain
    argTypes:
    - GOptionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2572
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2572
    functionName: g_option_group_set_translation_domain
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_option_group_set_translate_func
    - g_strdup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_group_set_translation_domain (GOptionGroup *group, const
      gchar *domain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:316,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/goption.c:321,1
    - Dst: _g_unichar_get_width
      Src: /src/glib/glib/goption.c:320,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/goption.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: _g_utf8_strwidth
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - _g_unichar_get_width
    - g_utf8_get_char
    - g_return_val_if_fail
    - g_utf8_next_char
    linkageType: ''
    returnType: glong
    signature: 'static glong _g_utf8_strwidth (const gchar *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/goption.c:366,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - parameter_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: g_option_context_new
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    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:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 644
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 644
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_get_help
      Src: /src/glib/glib/goption.c:1103,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1105,1
    - Dst: g_print
      Src: /src/glib/glib/goption.c:1104,1
    - Dst: exit
      Src: /src/glib/glib/goption.c:1107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - context
    - main_help
    - group
    argTypes:
    - GOptionContext*
    - gboolean
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1108
    functionName: print_help
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - exit
    - g_option_context_get_help
    - g_print
    - g_free
    linkageType: ''
    returnType: G_NORETURN
    signature: 'G_NORETURN static void print_help (GOptionContext *context, gboolean
      main_help, GOptionGroup *group) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/glib/goption.c:1827,1
    - Dst: memchr
      Src: /src/glib/glib/goption.c:1836,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1868,1
    - Dst: GetCommandLineW
      Src: /src/glib/glib/goption.c:1878,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/goption.c:1905,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1913,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1843,1
    - Dst: g_malloc0
      Src: /src/glib/glib/goption.c:1855,1
    - Dst: sysctl
      Src: /src/glib/glib/goption.c:1857,1
    - Dst: g_assert
      Src: /src/glib/glib/goption.c:1836,1
    - Dst: sysctl
      Src: /src/glib/glib/goption.c:1852,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1859,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/goption.c:1901,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/goption.c:1897,1
    - Dst: LocalFree
      Src: /src/glib/glib/goption.c:1903,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/goption.c:1912,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/goption.c:1842,1
    - Dst: getpid
      Src: /src/glib/glib/goption.c:1850,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/goption.c:1852,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/goption.c:1867,1
    - Dst: CommandLineToArgvW
      Src: /src/glib/glib/goption.c:1896,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/goption.c:1857,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/goption.c:1879,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1918
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1918
    functionName: platform_get_argv0
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - getpid
    - g_free
    - G_UNLIKELY
    - g_path_get_basename
    - g_assert
    - g_malloc0
    - sysctl
    - CommandLineToArgvW
    - GetCommandLineW
    - g_utf16_to_utf8
    - G_N_ELEMENTS
    - g_file_get_contents
    - memchr
    - LocalFree
    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:2416,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2417,1
    - Dst: g_renew
      Src: /src/glib/glib/goption.c:2423,1
    - Dst: memcpy
      Src: /src/glib/glib/goption.c:2428,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2421,1
    - Dst: g_ascii_isprint
      Src: /src/glib/glib/goption.c:2434,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:2436,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:2444,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:2453,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - group
    - entries
    argTypes:
    - GOptionGroup*
    - GOptionEntry*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2461
    functionName: g_option_group_add_entries
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_warning
    - g_return_if_fail
    - g_renew
    - 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:2549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - msgid
    - domainname
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2550
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2550
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:2715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 2718
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2718
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/glib/glib/goption.c:1120,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1136,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1126,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1134,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - arg_name
    - arg
    - result
    - error
    argTypes:
    - gchar*
    - gchar*
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 1142
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1142
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    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:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_group_unref
      Src: /src/glib/glib/goption.c:2345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 2346
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2346
    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:2535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - group
    - func
    - data
    - destroy_notify
    argTypes:
    - GOptionGroup*
    - GTranslateFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 2543
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2543
    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:2695,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2698,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - context
    - description
    argTypes:
    - GOptionContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2699
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2699
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gquark.c:187,1
    - Dst: TRACE
      Src: /src/glib/glib/gquark.c:192,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gquark.c:187,1
    - Dst: quark_new
      Src: /src/glib/glib/gquark.c:191,1
    - Dst: quark_strdup
      Src: /src/glib/glib/gquark.c:191,1
    - Dst: GLIB_QUARK_NEW
      Src: /src/glib/glib/gquark.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - string
    - duplicate
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: quark_from_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - quark_strdup
    - GPOINTER_TO_UINT
    - TRACE
    - GLIB_QUARK_NEW
    - quark_new
    - g_hash_table_lookup
    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:159,1
    - Dst: g_malloc
      Src: /src/glib/glib/gquark.c:169,1
    - Dst: memcpy
      Src: /src/glib/glib/gquark.c:174,1
    - Dst: g_strdup
      Src: /src/glib/glib/gquark.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: quark_strdup
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_malloc
    - memcpy
    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:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gquark.c:278,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gquark.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - quark
    argTypes:
    - GQuark
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: g_quark_to_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_pointer_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:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    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:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    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_hash_table_new
      Src: /src/glib/glib/gquark.c:63,1
    - Dst: g_new
      Src: /src/glib/glib/gquark.c:64,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:207,1
    - Dst: quark_from_string
      Src: /src/glib/glib/gquark.c:208,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gquark.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - string
    - duplicate
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: quark_from_string_locked
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - quark_from_string
    - G_UNLOCK
    - G_LOCK
    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:145,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gquark.c:146,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gquark.c:147,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gquark.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: g_quark_try_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_hash_table_lookup
    - GPOINTER_TO_UINT
    - G_LOCK
    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:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gquark.c:296,1
    - Dst: memcpy
      Src: /src/glib/glib/gquark.c:298,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gquark.c:304,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gquark.c:304,1
    - Dst: memset
      Src: /src/glib/glib/gquark.c:299,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/gquark.c:305,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/gquark.c:309,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gquark.c:310,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gquark.c:310,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gquark.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 314
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 314
    functionName: quark_new
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_atomic_pointer_get
    - g_ignore_leak
    - g_hash_table_insert
    - g_new
    - GUINT_TO_POINTER
    - memset
    - g_atomic_pointer_set
    - g_atomic_int_inc
    linkageType: ''
    returnType: GQuark
    signature: 'static inline GQuark quark_new (gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gquark.c:326,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gquark.c:329,1
    - Dst: quark_from_string
      Src: /src/glib/glib/gquark.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - string
    - duplicate
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 332
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 332
    functionName: quark_intern_string_locked
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - quark_from_string
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'static inline const gchar *quark_intern_string_locked (const gchar
      *string, gboolean duplicate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/gthread.h:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    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_rec_mutex_lock
      Src: /src/glib/glib/gthread.h:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    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_rec_mutex_unlock
      Src: /src/glib/glib/gthread.h:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - locker
    argTypes:
    - GRecMutexLocker*
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    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_rw_lock_writer_unlock
      Src: /src/glib/glib/gthread.h:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - locker
    argTypes:
    - GRWLockWriterLocker*
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 542
    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_rw_lock_reader_lock
      Src: /src/glib/glib/gthread.h:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 577
    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:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - locker
    argTypes:
    - GRWLockReaderLocker*
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 597
    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:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 336
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.h:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - locker
    argTypes:
    - GMutexLocker*
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: pipe2
      Src: /src/glib/glib/glib-unixprivate.h:58,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unixprivate.h:73,1
    - Dst: pipe
      Src: /src/glib/glib/glib-unixprivate.h:68,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unixprivate.h:74,1
    - Dst: close
      Src: /src/glib/glib/glib-unixprivate.h:78,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:
    - pipe
    - fcntl
    - pipe2
    - close
    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:796,1
    - Dst: make_csconv
      Src: /src/glib/glib/win_iconv.c:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - cd
    - tocode
    - fromcode
    argTypes:
    - rec_iconv_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 803
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 803
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1598,1
    - Dst: ucs4_to_utf16
      Src: /src/glib/glib/win_iconv.c:1622,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1621,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: 1624
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1624
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - UNUSED
    argTypes:
    - iconv_t
    constantsTouched: []
    func_position:
      end: 809
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 809
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1637,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1639,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1650,1
    - Dst: utf32_wctomb
      Src: /src/glib/glib/win_iconv.c:1643,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1641,1
    - Dst: utf16_to_ucs4
      Src: /src/glib/glib/win_iconv.c:1651,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: 1667
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1667
    functionName: utf32_wctomb
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - utf16_to_ucs4
    - memcpy
    - utf32_wctomb
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int utf32_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize,
      uchar *buf, int bufsize) '
  - 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: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    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: 1967
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1967
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - codepage
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1125
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1125
    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: IsDBCSLeadByteEx
      Src: /src/glib/glib/win_iconv.c:1304,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1308
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1308
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/glib/win_iconv.c:1740,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1747,1
    - Dst: strncmp
      Src: /src/glib/glib/win_iconv.c:1745,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1781,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1801,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1789,1
    - Dst: ConvertINetMultiByteToUnicode
      Src: /src/glib/glib/win_iconv.c:1805,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1784,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1786,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/glib/glib/win_iconv.c:1770,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1813,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1817,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1818,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1741,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1769,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1800,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1754,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1758,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1758,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1764,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1764,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1792,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1808,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1814,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: 1821
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1821
    functionName: iso2022jp_mbtowc
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - seterror
    - ISO2022_MODE_CS
    - ISO2022_MODE
    - ISO2022_MODE_SHIFT
    - ConvertINetMultiByteToUnicode
    - strncmp
    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:1130,1
    - Dst: strncmp
      Src: /src/glib/glib/win_iconv.c:1134,1
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:1131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - str
    - token
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1137
    functionName: strrstr
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static char *strrstr(const char *str, const char *token) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1325,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1329,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1330
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1330
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: ConvertINetUnicodeToMultiByte
      Src: /src/glib/glib/win_iconv.c:1844,1
    - Dst: strncmp
      Src: /src/glib/glib/win_iconv.c:1861,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1849,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1869,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1847,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1884,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1886,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1888,1
    - Dst: memmove
      Src: /src/glib/glib/win_iconv.c:1892,1
    - Dst: memmove
      Src: /src/glib/glib/win_iconv.c:1900,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1901,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1913,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/glib/glib/win_iconv.c:1903,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1914,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1915,1
    - Dst: memmove
      Src: /src/glib/glib/win_iconv.c:1906,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1907,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: 1917
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1917
    functionName: iso2022jp_wctomb
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - seterror
    - memmove
    - ConvertINetUnicodeToMultiByte
    - ISO2022_MODE
    - ISO2022_MODE_SHIFT
    - strncmp
    linkageType: ''
    returnType: int
    signature: 'static int iso2022jp_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize,
      uchar *buf, int bufsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - wbuf
    argTypes:
    - ushort*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1067
    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: 1084
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1084
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1925,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/glib/glib/win_iconv.c:1936,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1933,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/glib/glib/win_iconv.c:1928,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1930,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1938,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1941,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1943,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1950
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1950
    functionName: iso2022jp_flush
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - seterror
    - ISO2022_MODE_CS
    - ISO2022_MODE
    - ISO2022_MODE_SHIFT
    linkageType: ''
    returnType: int
    signature: 'static int iso2022jp_flush(csconv_t *cv, uchar *buf, int bufsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TO_NT_HEADERS
      Src: /src/glib/glib/win_iconv.c:1249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - Base
    - MappedAsImage
    - DirectoryEntry
    - Size
    argTypes:
    - LPVOID
    - BOOLEAN
    - USHORT
    - PULONG
    constantsTouched: []
    func_position:
      end: 1256
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1256
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2013,1
    - Dst: fprintf
      Src: /src/glib/glib/win_iconv.c:2018,1
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:2044,1
    - Dst: fread
      Src: /src/glib/glib/win_iconv.c:2061,1
    - Dst: fwrite
      Src: /src/glib/glib/win_iconv.c:2081,1
    - Dst: perror
      Src: /src/glib/glib/win_iconv.c:2084,1
    - Dst: _setmode
      Src: /src/glib/glib/win_iconv.c:1995,1
    - Dst: _setmode
      Src: /src/glib/glib/win_iconv.c:1996,1
    - Dst: _fileno
      Src: /src/glib/glib/win_iconv.c:1995,1
    - Dst: _fileno
      Src: /src/glib/glib/win_iconv.c:1996,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2007,1
    - Dst: fopen
      Src: /src/glib/glib/win_iconv.c:2015,1
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:2044,1
    - Dst: fprintf
      Src: /src/glib/glib/win_iconv.c:2027,1
    - Dst: perror
      Src: /src/glib/glib/win_iconv.c:2047,1
    - Dst: strcat
      Src: /src/glib/glib/win_iconv.c:2051,1
    - Dst: iconv
      Src: /src/glib/glib/win_iconv.c:2080,1
    - Dst: printf
      Src: /src/glib/glib/win_iconv.c:2003,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2009,1
    - Dst: fopen
      Src: /src/glib/glib/win_iconv.c:2024,1
    - Dst: fwrite
      Src: /src/glib/glib/win_iconv.c:2069,1
    - Dst: memmove
      Src: /src/glib/glib/win_iconv.c:2075,1
    - Dst: feof
      Src: /src/glib/glib/win_iconv.c:2070,1
    - Dst: iconv_close
      Src: /src/glib/glib/win_iconv.c:2088,1
    - Dst: fclose
      Src: /src/glib/glib/win_iconv.c:2093,1
    - Dst: fclose
      Src: /src/glib/glib/win_iconv.c:2091,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2000,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2011,1
    - Dst: printf
      Src: /src/glib/glib/win_iconv.c:2036,1
    - Dst: malloc
      Src: /src/glib/glib/win_iconv.c:2044,1
    - Dst: strcpy
      Src: /src/glib/glib/win_iconv.c:2050,1
    - Dst: iconv_open
      Src: /src/glib/glib/win_iconv.c:2054,1
    - Dst: perror
      Src: /src/glib/glib/win_iconv.c:2057,1
    - Dst: iconv
      Src: /src/glib/glib/win_iconv.c:2068,1
    - Dst: perror
      Src: /src/glib/glib/win_iconv.c:2072,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 105
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2096
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 2096
    functionName: main
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - strcpy
    - malloc
    - fprintf
    - fwrite
    - memmove
    - iconv
    - strlen
    - printf
    - fclose
    - iconv_open
    - strcmp
    - iconv_close
    - feof
    - strcat
    - _fileno
    - perror
    - _setmode
    - fopen
    - fread
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:1040,1
    - Dst: _strnicmp
      Src: /src/glib/glib/win_iconv.c:1044,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:1042,1
    - Dst: GetACP
      Src: /src/glib/glib/win_iconv.c:1041,1
    - Dst: atoi
      Src: /src/glib/glib/win_iconv.c:1045,1
    - Dst: atoi
      Src: /src/glib/glib/win_iconv.c:1047,1
    - Dst: _strnicmp
      Src: /src/glib/glib/win_iconv.c:1048,1
    - Dst: atoi
      Src: /src/glib/glib/win_iconv.c:1049,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:1052,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1055
    functionName: name_to_codepage
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - _strnicmp
    - atoi
    - _stricmp
    - strcmp
    - GetACP
    linkageType: ''
    returnType: int
    signature: 'static int name_to_codepage(const char *name) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/glib/glib/win_iconv.c:1174,1
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:1184,1
    - Dst: strchr
      Src: /src/glib/glib/win_iconv.c:1180,1
    - Dst: xstrndup
      Src: /src/glib/glib/win_iconv.c:1185,1
    - Dst: LoadLibraryA
      Src: /src/glib/glib/win_iconv.c:1188,1
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:1189,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/win_iconv.c:1194,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1205,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1207,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1208,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1210,1
    - Dst: find_imported_function
      Src: /src/glib/glib/win_iconv.c:1214,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/win_iconv.c:1228,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1211,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1213,1
    - Dst: _iconv_open
      Src: /src/glib/glib/win_iconv.c:1219,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 3
    argNames:
    - cd
    - tocode
    - fromcode
    argTypes:
    - rec_iconv_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1230
    functionName: libiconv_iconv_open
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - strlen
    - find_imported_function
    - free
    - strchr
    - FreeLibrary
    - GetProcAddressA
    - _iconv_open
    - getenv
    - xstrndup
    - LoadLibraryA
    linkageType: ''
    returnType: int
    signature: 'static int libiconv_iconv_open(rec_iconv_t *cd, const char *tocode,
      const char *fromcode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1544,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1548,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1546,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1557,1
    - Dst: utf16_wctomb
      Src: /src/glib/glib/win_iconv.c:1550,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1571,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: 1585
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1585
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:779,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/win_iconv.c:777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - _cd
    argTypes:
    - iconv_t
    constantsTouched: []
    func_position:
      end: 782
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 782
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/glib/glib/win_iconv.c:731,1
    - Dst: TEXT
      Src: /src/glib/glib/win_iconv.c:731,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:736,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:735,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:734,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:737,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:738,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 741
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 741
    functionName: load_mlang
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - TEXT
    - LoadLibrary
    - GetProcAddressA
    linkageType: ''
    returnType: int
    signature: 'static int load_mlang(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ucs4_to_utf16
      Src: /src/glib/glib/win_iconv.c:888,1
    - Dst: utf16_to_ucs4
      Src: /src/glib/glib/win_iconv.c:882,1
    - Dst: utf16_to_ucs4
      Src: /src/glib/glib/win_iconv.c:896,1
    - Dst: ucs4_to_utf16
      Src: /src/glib/glib/win_iconv.c:902,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: 931
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 931
    functionName: win_iconv
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - utf16_to_ucs4
    - ucs4_to_utf16
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/win_iconv.c:1144,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1150
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1150
    functionName: xstrndup
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *xstrndup(const char *s, size_t n) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1345,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1347,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - UNUSED
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1349
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1349
    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: seterror
      Src: /src/glib/glib/win_iconv.c:1397,1
    - Dst: mbtowc_flags
      Src: /src/glib/glib/win_iconv.c:1398,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1401,1
    - Dst: MultiByteToWideChar
      Src: /src/glib/glib/win_iconv.c:1398,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: 1403
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1403
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1460,1
    - Dst: ConvertINetMultiByteToUnicode
      Src: /src/glib/glib/win_iconv.c:1457,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: 1462
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1462
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1494,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1527,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1517,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1521,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: 1533
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1533
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/glib/win_iconv.c:748,1
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:764,1
    - Dst: libiconv_iconv_open
      Src: /src/glib/glib/win_iconv.c:754,1
    - Dst: win_iconv_open
      Src: /src/glib/glib/win_iconv.c:761,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - tocode
    - fromcode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 767
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 767
    functionName: iconv_open
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - calloc
    - win_iconv_open
    - libiconv_iconv_open
    - free
    linkageType: ''
    returnType: iconv_t
    signature: 'iconv_t iconv_open(const char *tocode, const char *fromcode) '
  - 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: 791
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 791
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:942,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:949,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:969,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:976,1
    - Dst: xstrndup
      Src: /src/glib/glib/win_iconv.c:942,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:951,1
    - Dst: GetCPInfo
      Src: /src/glib/glib/win_iconv.c:999,1
    - Dst: load_mlang
      Src: /src/glib/glib/win_iconv.c:986,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:977,1
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:1013,1
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:1029,1
    - Dst: strrstr
      Src: /src/glib/glib/win_iconv.c:947,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:953,1
    - Dst: name_to_codepage
      Src: /src/glib/glib/win_iconv.c:963,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:968,1
    - Dst: load_mlang
      Src: /src/glib/glib/win_iconv.c:992,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:969,1
    - Dst: IsValidCodePage
      Src: /src/glib/glib/win_iconv.c:998,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:968,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:977,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:976,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 110
    argCount: 2
    argNames:
    - _name
    - cv
    argTypes:
    - char*
    - csconv_t*
    constantsTouched: []
    func_position:
      end: 1032
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 1032
    functionName: make_csconv
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - strlen
    - IsValidCodePage
    - GetCPInfo
    - load_mlang
    - free
    - name_to_codepage
    - strrstr
    - _stricmp
    - xstrndup
    linkageType: ''
    returnType: int
    signature: 'static int make_csconv(const char *_name, csconv_t *cv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1157
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1157
    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:1269,1
    - Dst: IMAGE_SNAP_BY_ORDINAL
      Src: /src/glib/glib/win_iconv.c:1282,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:1286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - hModule
    - funcname
    argTypes:
    - HMODULE
    - char*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1292
    functionName: find_imported_function
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - IMAGE_SNAP_BY_ORDINAL
    - MyImageDirectoryEntryToData
    - strcmp
    linkageType: ''
    returnType: FARPROC
    signature: 'static FARPROC find_imported_function(HMODULE hModule, const char
      *funcname) '
  - 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: 1299
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1299
    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:1359,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1376,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1367,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1370,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1361,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1379,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 3
    argNames:
    - UNUSED
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1382
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1382
    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:1414,1
    - Dst: GetLastError
      Src: /src/glib/glib/win_iconv.c:1427,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1428,1
    - Dst: must_use_null_useddefaultchar
      Src: /src/glib/glib/win_iconv.c:1415,1
    - Dst: WideCharToMultiByte
      Src: /src/glib/glib/win_iconv.c:1423,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1429,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1432,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1434,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: 1436
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1436
    functionName: kernel_wctomb
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - WideCharToMultiByte
    - must_use_null_useddefaultchar
    - GetLastError
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int kernel_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize,
      uchar *buf, int bufsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - codepage
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1105
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1105
    functionName: mbtowc_flags
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int mbtowc_flags(int codepage) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ConvertINetUnicodeToMultiByte
      Src: /src/glib/glib/win_iconv.c:1472,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1475,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1479,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1477,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1480,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: 1482
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1482
    functionName: mlang_wctomb
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - ConvertINetUnicodeToMultiByte
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int mlang_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize,
      uchar *buf, int bufsize) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:151,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gpoll.c:158,1
    - Dst: GetLastError
      Src: /src/glib/glib/gpoll.c:158,1
    - Dst: MsgWaitForMultipleObjectsEx
      Src: /src/glib/glib/gpoll.c:153,1
    - Dst: g_warning
      Src: /src/glib/glib/gpoll.c:159,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:160,1
    - Dst: WaitForSingleObjectEx
      Src: /src/glib/glib/gpoll.c:171,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gpoll.c:171,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:181,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/glib/glib/gpoll.c:183,1
    - Dst: g_warning
      Src: /src/glib/glib/gpoll.c:187,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:193,1
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:246,1
    - Dst: GetLastError
      Src: /src/glib/glib/gpoll.c:186,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:188,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gpoll.c:186,1
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:217,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:227,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: 253
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 253
    functionName: poll_rest
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - g_free
    - MsgWaitForMultipleObjectsEx
    - poll_rest
    - g_warning
    - WaitForSingleObjectEx
    - GetCurrentProcess
    - GetLastError
    - g_print
    - g_win32_error_message
    - WaitForMultipleObjectsEx
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:276,1
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:283,1
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:290,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - GWin32PollThreadData*
    constantsTouched: []
    func_position:
      end: 294
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 294
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/glib/glib/gpoll.c:516,1
    - Dst: FD_ZERO
      Src: /src/glib/glib/gpoll.c:518,1
    - Dst: FD_SET
      Src: /src/glib/glib/gpoll.c:524,1
    - Dst: FD_SET
      Src: /src/glib/glib/gpoll.c:526,1
    - Dst: FD_ZERO
      Src: /src/glib/glib/gpoll.c:517,1
    - Dst: FD_SET
      Src: /src/glib/glib/gpoll.c:528,1
    - Dst: select
      Src: /src/glib/glib/gpoll.c:536,1
    - Dst: FD_ISSET
      Src: /src/glib/glib/gpoll.c:544,1
    - Dst: FD_ISSET
      Src: /src/glib/glib/gpoll.c:546,1
    - Dst: FD_ISSET
      Src: /src/glib/glib/gpoll.c:548,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - GPollFD*
    - guint
    - gint
    constantsTouched: []
    func_position:
      end: 554
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 554
    functionName: g_poll
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - FD_ZERO
    - FD_SET
    - select
    - FD_ISSET
    linkageType: ''
    returnType: gint
    signature: "gint g_poll (GPollFD *fds,\tguint nfds,\tgint timeout) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:310,1
    - Dst: g_assert
      Src: /src/glib/glib/gpoll.c:312,1
    - Dst: g_warning
      Src: /src/glib/glib/gpoll.c:324,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:331,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:337,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: 344
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: fill_poll_thread_data
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_print
    - g_warning
    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: g_print
      Src: /src/glib/glib/gpoll.c:405,1
    - Dst: g_warning
      Src: /src/glib/glib/gpoll.c:414,1
    - Dst: CreateEventW
      Src: /src/glib/glib/gpoll.c:419,1
    - Dst: fill_poll_thread_data
      Src: /src/glib/glib/gpoll.c:436,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gpoll.c:459,1
    - Dst: g_warning
      Src: /src/glib/glib/gpoll.c:460,1
    - Dst: WaitForMultipleObjects
      Src: /src/glib/glib/gpoll.c:465,1
    - Dst: poll_single_thread
      Src: /src/glib/glib/gpoll.c:396,1
    - Dst: CreateEventW
      Src: /src/glib/glib/gpoll.c:421,1
    - Dst: g_new0
      Src: /src/glib/glib/gpoll.c:425,1
    - Dst: GetLastError
      Src: /src/glib/glib/gpoll.c:459,1
    - Dst: MsgWaitForMultipleObjectsEx
      Src: /src/glib/glib/gpoll.c:451,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:389,1
    - Dst: fill_poll_thread_data
      Src: /src/glib/glib/gpoll.c:391,1
    - Dst: _beginthreadex
      Src: /src/glib/glib/gpoll.c:446,1
    - Dst: WaitForMultipleObjects
      Src: /src/glib/glib/gpoll.c:454,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:461,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:487,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:394,1
    - Dst: SetEvent
      Src: /src/glib/glib/gpoll.c:457,1
    - Dst: GetExitCodeThread
      Src: /src/glib/glib/gpoll.c:477,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gpoll.c:480,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gpoll.c:488,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - GPollFD*
    - guint
    - gint
    constantsTouched: []
    func_position:
      end: 491
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 491
    functionName: g_poll
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - _beginthreadex
    - CreateEventW
    - MsgWaitForMultipleObjectsEx
    - fill_poll_thread_data
    - CloseHandle
    - g_warning
    - poll_single_thread
    - GetExitCodeThread
    - GetLastError
    - SetEvent
    - g_print
    - WaitForMultipleObjects
    - g_win32_error_message
    linkageType: ''
    returnType: gint
    signature: "gint g_poll (GPollFD *fds,\tguint nfds,\tgint timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _endthreadex
      Src: /src/glib/glib/gpoll.c:354,1
    - Dst: poll_single_thread
      Src: /src/glib/glib/gpoll.c:354,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gpoll.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 359
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 359
    functionName: poll_thread_run
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - poll_single_thread
    - g_assert_not_reached
    - _endthreadex
    linkageType: ''
    returnType: guint
    signature: 'static guint __stdcall poll_thread_run (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/glib/glib/gpoll.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - GPollFD*
    - guint
    - gint
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    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_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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1518,1
    - Dst: send
      Src: /src/glib/glib/giowin32.c:1521,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1523,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1526,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1530,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:
    - g_free
    - g_set_error_literal
    - WSAGetLastError
    - g_print
    - g_win32_error_message
    - send
    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_set_error_literal
      Src: /src/glib/glib/giowin32.c:1764,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
    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_print
    - g_win32_print_gioflags
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1860,1
    - Dst: ioctlsocket
      Src: /src/glib/glib/giowin32.c:1868,1
    - Dst: g_win32_print_gioflags
      Src: /src/glib/glib/giowin32.c:1861,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1870,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1862,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_free
      Src: /src/glib/glib/giowin32.c:1890,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1885,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1887,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_free
    - g_win32_print_gioflags
    - g_set_error_literal
    - ioctlsocket
    - WSAGetLastError
    - g_print
    - g_win32_error_message
    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: _fstati64
      Src: /src/glib/glib/giowin32.c:2058,1
    - Dst: g_io_channel_win32_new_fd_internal
      Src: /src/glib/glib/giowin32.c:2064,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:2060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint
    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
    - _fstati64
    - g_warning
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_win32_new_fd (gint fd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _fstati64
      Src: /src/glib/glib/giowin32.c:2119,1
    - Dst: getsockopt
      Src: /src/glib/glib/giowin32.c:2122,1
    - Dst: g_io_channel_win32_new_fd_internal
      Src: /src/glib/glib/giowin32.c:2128,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:2125,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:2133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint
    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_io_channel_win32_new_socket
    - getsockopt
    - _fstati64
    - g_io_channel_win32_new_fd_internal
    - g_warning
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_unix_new (gint fd) '
  - 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: 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:
    - closesocket
    - g_print
    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
    - GetLastError
    - PeekNamedPipe
    - _get_osfhandle
    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: 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_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_get_buffer_condition
      Src: /src/glib/glib/giowin32.c:961,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:965,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:972,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:971,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:
    - condition_to_string
    - g_print
    - g_io_channel_get_buffer_condition
    - g_warning
    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: memmove
      Src: /src/glib/glib/giowin32.c:1081,1
    - Dst: GetLastError
      Src: /src/glib/glib/giowin32.c:1084,1
    - Dst: PostMessage
      Src: /src/glib/glib/giowin32.c:1082,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:
    - PostMessage
    - g_free
    - memmove
    - GetLastError
    - g_set_error_literal
    - g_win32_error_message
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1202,1
    - Dst: read
      Src: /src/glib/glib/giowin32.c:1210,1
    - Dst: buffer_read
      Src: /src/glib/glib/giowin32.c:1207,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1214,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1227,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
    - read
    - g_print
    - g_io_channel_error_from_errno
    - g_set_error_literal
    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_source_new
      Src: /src/glib/glib/giowin32.c:1371,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1386,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:1388,1
    - Dst: create_events
      Src: /src/glib/glib/giowin32.c:1380,1
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:1375,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: 2
    argNames:
    - channel
    - condition
    argTypes:
    - GIOChannel*
    - GIOCondition
    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:
    - condition_to_string
    - g_source_add_poll
    - LeaveCriticalSection
    - create_thread
    - g_source_new
    - g_io_channel_ref
    - g_print
    - create_events
    - EnterCriticalSection
    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_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_print
      Src: /src/glib/glib/giowin32.c:1608,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/giowin32.c:1612,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - channel
    - condition
    argTypes:
    - GIOChannel*
    - GIOCondition
    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:
    - condition_to_string
    - g_source_add_poll
    - g_source_new
    - g_io_channel_ref
    - g_print
    - WSACreateEvent
    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: g_io_win32_fd_get_flags_internal
      Src: /src/glib/glib/giowin32.c:1812,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
    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_return_val_if_fail
    - g_io_win32_fd_get_flags_internal
    - _fstati64
    linkageType: ''
    returnType: GIOFlags
    signature: 'static GIOFlags g_io_win32_fd_get_flags (GIOChannel *channel) '
  - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:195,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:199,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:201,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:197,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:203,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: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:988,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_print
      Src: /src/glib/glib/giowin32.c:999,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:994,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_print
    - g_assert_not_reached
    - g_io_channel_unref
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: buffer_write
      Src: /src/glib/glib/giowin32.c:1252,1
    - Dst: write
      Src: /src/glib/glib/giowin32.c:1255,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giowin32.c:1274,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_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:
    - g_set_error_literal
    - g_strerror
    - g_io_channel_error_from_errno
    - buffer_write
    - g_print
    - write
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/giowin32.c:1411,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1414,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
    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_strerror
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - close
    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_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_return_val_if_fail
      Src: /src/glib/glib/giowin32.c:1635,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_print
      Src: /src/glib/glib/giowin32.c:1708,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_abort
      Src: /src/glib/glib/giowin32.c:1744,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
    - Dst: g_win32_print_access_mode
      Src: /src/glib/glib/giowin32.c:1707,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giowin32.c:1743,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 79
    argCount: 3
    argNames:
    - filename
    - mode
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    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_open
    - g_win32_print_access_mode
    - g_set_error_literal
    - g_abort
    - g_strerror
    - g_assert_not_reached
    - g_warning
    - g_io_channel_win32_new_fd
    - g_io_win32_get_debug_flag
    - g_file_error_from_errno
    - g_print
    - g_return_val_if_fail
    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:
    - PeekConsoleInput
    - WriteFile
    - _get_osfhandle
    linkageType: ''
    returnType: GIOFlags
    signature: 'static GIOFlags g_io_win32_console_get_flags_internal (GIOChannel
      *channel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/glib/glib/giowin32.c:303,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: CreateEvent
      Src: /src/glib/glib/giowin32.c:304,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_free
    - g_error
    - CreateEvent
    - GetLastError
    - g_win32_error_message
    linkageType: ''
    returnType: void
    signature: 'static void create_events (GIOWin32Channel *channel) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1112,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1133,1
    - Dst: WSAEventSelect
      Src: /src/glib/glib/giowin32.c:1142,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
    - Dst: GetLastError
      Src: /src/glib/glib/giowin32.c:1120,1
    - Dst: CloseHandle
      Src: /src/glib/glib/giowin32.c:1117,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1122,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1137,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_print
      Src: /src/glib/glib/giowin32.c:1147,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1145,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: CloseHandle
      Src: /src/glib/glib/giowin32.c:1130,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1135,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1145,1
    - Dst: GetLastError
      Src: /src/glib/glib/giowin32.c:1133,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_free
    - CloseHandle
    - DeleteCriticalSection
    - WSAEventSelect
    - WSACloseEvent
    - GetLastError
    - WSAGetLastError
    - g_print
    - g_win32_error_message
    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_set_error_literal
      Src: /src/glib/glib/giowin32.c:1317,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giowin32.c:1318,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:1309,1
    - Dst: _lseeki64
      Src: /src/glib/glib/giowin32.c:1312,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:
    - g_abort
    - g_strerror
    - g_assert_not_reached
    - g_io_channel_error_from_errno
    - g_set_error_literal
    - _lseeki64
    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: _get_osfhandle
      Src: /src/glib/glib/giowin32.c:1436,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/giowin32.c:1439,1
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:1432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - channel
    - condition
    argTypes:
    - GIOChannel*
    - GIOCondition
    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:
    - g_io_channel_ref
    - g_source_add_poll
    - _get_osfhandle
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_io_win32_console_create_watch (GIOChannel *channel,\t\t\t\t
      GIOCondition condition) "
  - 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_io_win32_console_get_flags_internal
    - g_return_val_if_fail
    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: IsWindow
      Src: /src/glib/glib/giowin32.c:1981,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1974,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: 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_io_channel_win32_init
    - g_new
    - g_io_channel_init
    - IsWindow
    - g_print
    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: []
    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: create_thread
      Src: /src/glib/glib/giowin32.c:2187,1
    - Dst: create_thread
      Src: /src/glib/glib/giowin32.c:2189,1
    - Dst: WSACreateEvent
      Src: /src/glib/glib/giowin32.c:2198,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:
    - g_abort
    - g_assert_not_reached
    - create_thread
    - WSACreateEvent
    - create_events
    - _get_osfhandle
    linkageType: ''
    returnType: void
    signature: "void g_io_channel_win32_make_pollfd (GIOChannel *channel,\t\t\t\tGIOCondition
      condition,\t\t\t\tGPollFD *fd) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:320,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:336,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:385,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:412,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/giowin32.c:414,1
    - Dst: g_malloc
      Src: /src/glib/glib/giowin32.c:330,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/giowin32.c:353,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:356,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:323,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:334,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:350,1
    - Dst: read
      Src: /src/glib/glib/giowin32.c:374,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:369,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:393,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: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:352,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:376,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:354,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:372,1
    - Dst: MIN
      Src: /src/glib/glib/giowin32.c:365,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:395,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:409,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:
    - MIN
    - close
    - LeaveCriticalSection
    - WaitForSingleObject
    - ResetEvent
    - read
    - g_io_channel_unref
    - SetEvent
    - EnterCriticalSection
    - g_io_channel_ref
    - g_print
    - g_malloc
    linkageType: ''
    returnType: unsigned
    signature: 'static unsigned __stdcall read_thread (void *parameter) '
  - 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_add_poll
      Src: /src/glib/glib/giowin32.c:1185,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/giowin32.c:1174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - channel
    - condition
    argTypes:
    - GIOChannel*
    - GIOCondition
    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_set_static_name
    - g_source_new
    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: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:1336,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:1347,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:1345,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1340,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:
    - close
    - LeaveCriticalSection
    - EnterCriticalSection
    - SetEvent
    - g_print
    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: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1462,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1465,1
    - Dst: recv
      Src: /src/glib/glib/giowin32.c:1460,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:
    - g_free
    - g_set_error_literal
    - recv
    - WSAGetLastError
    - g_print
    - g_win32_error_message
    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: 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_win32_init
      Src: /src/glib/glib/giowin32.c:2000,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_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: 2
    argNames:
    - fd
    - st
    argTypes:
    - gint
    - struct _stati64*
    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_io_win32_fd_get_flags_internal
    - g_io_channel_win32_init
    - g_new
    - g_io_channel_init
    - g_io_win32_console_get_flags_internal
    - g_print
    linkageType: ''
    returnType: GIOChannel*
    signature: "static GIOChannel *g_io_channel_win32_new_fd_internal (gint fd,\t\t\t\t
      struct _stati64 *st) "
  - 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: 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_win32_init
      Src: /src/glib/glib/giowin32.c:2097,1
    - Dst: g_io_channel_init
      Src: /src/glib/glib/giowin32.c:2096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - socket
    argTypes:
    - int
    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_print
    - g_io_channel_win32_init
    - g_new
    - g_io_channel_init
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_win32_new_socket (int socket) '
  - 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: 1
    argNames:
    - socket
    argTypes:
    - int
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:218,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:221,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: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: g_quark_from_string
      Src: /src/glib/glib/giowin32.c:234,1
    - Dst: sprintf
      Src: /src/glib/glib/giowin32.c:232,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/giowin32.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - mask
    argTypes:
    - int
    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:
    - g_quark_to_string
    - sprintf
    - g_quark_from_string
    - BIT
    linkageType: ''
    returnType: char*
    signature: 'static const char *event_mask_to_string (int mask) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/giowin32.c:441,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:474,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:471,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:513,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:445,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:467,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: SetEvent
      Src: /src/glib/glib/giowin32.c:470,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/giowin32.c:472,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:490,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:498,1
    - Dst: write
      Src: /src/glib/glib/giowin32.c:494,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:522,1
    - Dst: close
      Src: /src/glib/glib/giowin32.c:524,1
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:431,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:463,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:465,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:479,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:493,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:495,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:515,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:528,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:
    - close
    - LeaveCriticalSection
    - WaitForSingleObject
    - ResetEvent
    - g_io_channel_unref
    - SetEvent
    - EnterCriticalSection
    - g_io_channel_ref
    - g_print
    - g_malloc
    - write
    linkageType: ''
    returnType: unsigned
    signature: 'static unsigned __stdcall write_thread (void *parameter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:617,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:619,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:606,1
    - Dst: memcpy
      Src: /src/glib/glib/giowin32.c:603,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:621,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:570,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:582,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:587,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:601,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:610,1
    - Dst: MIN
      Src: /src/glib/glib/giowin32.c:599,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:579,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:583,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:598,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:609,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/giowin32.c:580,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:572,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:577,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:588,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:612,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
    - MIN
    - LeaveCriticalSection
    - ResetEvent
    - EnterCriticalSection
    - SetEvent
    - g_print
    - WaitForSingleObject
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus buffer_read (GIOWin32Channel *channel,\t gchar *dest,\t
      gsize count,\t gsize *bytes_read,\t GError **err) "
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:723,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:741,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:778,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:755,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: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:805,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:718,1
    - Dst: event_mask_to_string
      Src: /src/glib/glib/giowin32.c:773,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:771,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:751,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: g_print
      Src: /src/glib/glib/giowin32.c:760,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:781,1
    - 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:728,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:733,1
    - Dst: WSAEventSelect
      Src: /src/glib/glib/giowin32.c:774,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:778,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:802,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:
    - WSASetEvent
    - event_mask_to_string
    - g_io_channel_get_buffer_condition
    - g_free
    - g_abort
    - condition_to_string
    - g_assert_not_reached
    - LeaveCriticalSection
    - WSAEventSelect
    - EnterCriticalSection
    - WSAGetLastError
    - g_print
    - g_win32_error_message
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_io_win32_prepare (GSource *source,\t\t gint *timeout) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:249,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:252,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:250,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: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: 1
    argNames:
    - condition
    argTypes:
    - GIOCondition
    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:
    - g_quark_to_string
    - sprintf
    - g_quark_from_string
    - BIT
    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: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:551,1
    - Dst: g_strerror
      Src: /src/glib/glib/giowin32.c:548,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:547,1
    - Dst: CloseHandle
      Src: /src/glib/glib/giowin32.c:549,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_free
    - _beginthreadex
    - g_strerror
    - CloseHandle
    - g_warning
    - GetLastError
    - g_win32_error_message
    - WaitForSingleObject
    linkageType: ''
    returnType: void
    signature: "static void create_thread (GIOWin32Channel *channel,\t GIOCondition
      condition,\t unsigned (__stdcall *thread) (void *parameter)) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:641,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:643,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/giowin32.c:657,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:675,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:667,1
    - Dst: memcpy
      Src: /src/glib/glib/giowin32.c:672,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:654,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:670,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:681,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:660,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:679,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:692,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:650,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:652,1
    - Dst: MIN
      Src: /src/glib/glib/giowin32.c:664,1
    - Dst: MIN
      Src: /src/glib/glib/giowin32.c:668,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:687,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:689,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
    - MIN
    - LeaveCriticalSection
    - ResetEvent
    - EnterCriticalSection
    - SetEvent
    - g_print
    - WaitForSingleObject
    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: 29
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_get_buffer_condition
      Src: /src/glib/glib/giowin32.c:816,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: 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: g_print
      Src: /src/glib/glib/giowin32.c:873,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:869,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/glib/glib/giowin32.c:878,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:894,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:898,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:831,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:820,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:836,1
    - Dst: PeekConsoleInput
      Src: /src/glib/glib/giowin32.c:851,1
    - Dst: ReadConsoleInput
      Src: /src/glib/glib/giowin32.c:862,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:884,1
    - Dst: _kbhit
      Src: /src/glib/glib/giowin32.c:858,1
    - Dst: WSAEventSelect
      Src: /src/glib/glib/giowin32.c:896,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:949,1
    - 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:881,1
    - Dst: event_mask_to_string
      Src: /src/glib/glib/giowin32.c:886,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
    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
    - g_io_channel_get_buffer_condition
    - WSAEnumNetworkEvents
    - ReadConsoleInput
    - g_abort
    - condition_to_string
    - g_assert_not_reached
    - _kbhit
    - PeekConsoleInput
    - PeekMessage
    - WSAEventSelect
    - ResetEvent
    - g_print
    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: PeekMessage
      Src: /src/glib/glib/giowin32.c:1052,1
    - Dst: memmove
      Src: /src/glib/glib/giowin32.c:1055,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1050,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
    - g_print
    - PeekMessage
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/giowin32.c:2237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - mode
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:670,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - domain
    argTypes:
    - GLogDomain*
    constantsTouched: []
    func_position:
      end: 678
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 678
    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_mutex_lock
      Src: /src/glib/glib/gmessages.c:787,1
    - Dst: g_log_find_domain_L
      Src: /src/glib/glib/gmessages.c:789,1
    - Dst: g_log_domain_check_free_L
      Src: /src/glib/glib/gmessages.c:795,1
    - Dst: g_log_domain_new_L
      Src: /src/glib/glib/gmessages.c:791,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - log_domain
    - fatal_mask
    argTypes:
    - gchar*
    - GLogLevelFlags
    constantsTouched: []
    func_position:
      end: 800
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 800
    functionName: g_log_set_fatal_mask
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log_domain_check_free_L
    - g_log_domain_new_L
    - g_mutex_unlock
    - g_log_find_domain_L
    - g_mutex_lock
    linkageType: ''
    returnType: GLogLevelFlags
    signature: "GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain,\t\t
      GLogLevelFlags fatal_mask) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:891,1
    - Dst: g_new
      Src: /src/glib/glib/gmessages.c:897,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:899,1
    - Dst: g_log_find_domain_L
      Src: /src/glib/glib/gmessages.c:901,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:892,1
    - Dst: g_log_domain_new_L
      Src: /src/glib/glib/gmessages.c:903,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:913,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: 916
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 916
    functionName: g_log_set_handler_full
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log_domain_new_L
    - g_new
    - g_mutex_unlock
    - g_log_find_domain_L
    - g_return_val_if_fail
    - g_mutex_lock
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:1730,1
    - Dst: va_arg
      Src: /src/glib/glib/gmessages.c:1738,1
    - Dst: va_arg
      Src: /src/glib/glib/gmessages.c:1744,1
    - Dst: va_arg
      Src: /src/glib/glib/gmessages.c:1740,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:1739,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gmessages.c:1763,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gmessages.c:1764,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gmessages.c:1767,1
    - Dst: g_array_free
      Src: /src/glib/glib/gmessages.c:1774,1
    - Dst: va_arg
      Src: /src/glib/glib/gmessages.c:1776,1
    - Dst: log_level_to_priority
      Src: /src/glib/glib/gmessages.c:1799,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/gmessages.c:1810,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1813,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:1815,1
    - Dst: _g_vsnprintf
      Src: /src/glib/glib/gmessages.c:1785,1
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:1790,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1812,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - log_domain
    - log_level
    - '...'
    argTypes:
    - gchar*
    - GLogLevelFlags
    constantsTouched: []
    func_position:
      end: 1816
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1816
    functionName: g_log_structured
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - va_end
    - g_array_append_vals
    - format_string
    - g_free
    - g_log_structured_array
    - _g_vsnprintf
    - g_array_sized_new
    - log_level_to_priority
    - va_start
    - g_array_append_val
    - g_array_free
    - strcmp
    - va_arg
    linkageType: ''
    returnType: void
    signature: 'void g_log_structured (const gchar *log_domain, GLogLevelFlags log_level,
      ...) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2106,1
    - Dst: _isatty
      Src: /src/glib/glib/gmessages.c:2137,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gmessages.c:2139,1
    - Dst: g_win32_push_empty_invalid_parameter_handler
      Src: /src/glib/glib/gmessages.c:2130,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gmessages.c:2132,1
    - Dst: GetConsoleMode
      Src: /src/glib/glib/gmessages.c:2141,1
    - Dst: SetConsoleMode
      Src: /src/glib/glib/gmessages.c:2147,1
    - Dst: win32_is_pipe_tty
      Src: /src/glib/glib/gmessages.c:2159,1
    - Dst: g_win32_pop_invalid_parameter_handler
      Src: /src/glib/glib/gmessages.c:2162,1
    - Dst: isatty
      Src: /src/glib/glib/gmessages.c:2166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - output_fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 2168
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2168
    functionName: g_log_writer_supports_color
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - GetConsoleMode
    - g_win32_check_windows_version
    - g_win32_push_empty_invalid_parameter_handler
    - _isatty
    - SetConsoleMode
    - isatty
    - win32_is_pipe_tty
    - g_return_val_if_fail
    - g_win32_pop_invalid_parameter_handler
    - _get_osfhandle
    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:2371,1
    - Dst: memset
      Src: /src/glib/glib/gmessages.c:2387,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gmessages.c:2384,1
    - Dst: open_journal
      Src: /src/glib/glib/gmessages.c:2377,1
    - Dst: memset
      Src: /src/glib/glib/gmessages.c:2382,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2389,1
    - Dst: sendmsg
      Src: /src/glib/glib/gmessages.c:2394,1
    - Dst: mkostemp
      Src: /src/glib/glib/gmessages.c:2406,1
    - Dst: unlink
      Src: /src/glib/glib/gmessages.c:2409,1
    - Dst: close
      Src: /src/glib/glib/gmessages.c:2411,1
    - Dst: writev
      Src: /src/glib/glib/gmessages.c:2415,1
    - Dst: memset
      Src: /src/glib/glib/gmessages.c:2424,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/glib/glib/gmessages.c:2428,1
    - Dst: sendmsg
      Src: /src/glib/glib/gmessages.c:2437,1
    - Dst: close
      Src: /src/glib/glib/gmessages.c:2417,1
    - Dst: CMSG_DATA
      Src: /src/glib/glib/gmessages.c:2432,1
    - Dst: memcpy
      Src: /src/glib/glib/gmessages.c:2432,1
    - Dst: CMSG_LEN
      Src: /src/glib/glib/gmessages.c:2431,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 2
    argNames:
    - iov
    - iovlen
    argTypes:
    - struct iovec*
    - gsize
    constantsTouched: []
    func_position:
      end: 2444
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2444
    functionName: journal_sendv
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - unlink
    - open_journal
    - writev
    - sendmsg
    - close
    - memset
    - CMSG_FIRSTHDR
    - CMSG_SPACE
    - CMSG_LEN
    - mkostemp
    - CMSG_DATA
    - g_strlcpy
    linkageType: ''
    returnType: int
    signature: 'static int journal_sendv (struct iovec *iov, gsize iovlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mklevel_prefix
      Src: /src/glib/glib/gmessages.c:3114,1
    - Dst: format_unsigned
      Src: /src/glib/glib/gmessages.c:3119,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3125,1
    - Dst: getpid
      Src: /src/glib/glib/gmessages.c:3119,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3123,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3128,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3129,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3130,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3135,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3136,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3138,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3139,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3140,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3141,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: 3142
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3142
    functionName: _g_log_fallback_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - format_unsigned
    - mklevel_prefix
    - write_string
    - getpid
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/gmessages.c:3312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - GPrintFunc
    constantsTouched: []
    func_position:
      end: 3314
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3314
    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: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - domain
    - log_level
    - data
    argTypes:
    - GLogDomain*
    - GLogLevelFlags
    - gpointer*
    constantsTouched: []
    func_position:
      end: 703
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 703
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_get_console_charset
      Src: /src/glib/glib/gmessages.c:3323,1
    - Dst: fputs
      Src: /src/glib/glib/gmessages.c:3326,1
    - Dst: fputs
      Src: /src/glib/glib/gmessages.c:3332,1
    - Dst: strdup_convert
      Src: /src/glib/glib/gmessages.c:3330,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3333,1
    - Dst: fflush
      Src: /src/glib/glib/gmessages.c:3342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - string
    argTypes:
    - FILE*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3343
      start: 3316
    functionDepth: 0
    functionLinenumber: 3316
    functionLinenumberEnd: 3343
    functionName: print_string
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_get_console_charset
    - g_free
    - fflush
    - strdup_convert
    - fputs
    linkageType: ''
    returnType: void
    signature: 'static void print_string (FILE *stream, const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_string
      Src: /src/glib/glib/gmessages.c:3370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3371
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3371
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3468,1
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:3470,1
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:3471,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:3472,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gmessages.c:3474,1
    - Dst: local_glib_printerr_func
      Src: /src/glib/glib/gmessages.c:3475,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3477
      start: 3459
    functionDepth: 0
    functionLinenumber: 3459
    functionLinenumberEnd: 3477
    functionName: g_printerr
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - va_end
    - g_atomic_pointer_get
    - format_string
    - g_free
    - va_start
    - local_glib_printerr_func
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_printerr (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:743,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fatal_mask
    argTypes:
    - GLogLevelFlags
    constantsTouched: []
    func_position:
      end: 749
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 749
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_handler_full
      Src: /src/glib/glib/gmessages.c:856,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: 857
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 857
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: should_drop_message
      Src: /src/glib/glib/gmessages.c:2716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - log_level
    - log_domain
    argTypes:
    - GLogLevelFlags
    - char*
    constantsTouched: []
    func_position:
      end: 2717
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2717
    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:2912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 2913
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2913
    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:3070,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gmessages.c:3074,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmessages.c:3071,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3075,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - domain
    - file
    - line
    - func
    argTypes:
    - char*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3077
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3077
    functionName: g_test_assert_expected_messages_internal
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_assertion_message
    - mklevel_prefix
    - g_strdup_printf
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_test_assert_expected_messages_internal (const char *domain,
      const char *file, int line, const char *func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3404,1
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:3406,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:3408,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gmessages.c:3410,1
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:3407,1
    - Dst: local_glib_print_func
      Src: /src/glib/glib/gmessages.c:3411,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3413
      start: 3395
    functionDepth: 0
    functionLinenumber: 3395
    functionLinenumberEnd: 3413
    functionName: g_print
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - va_end
    - g_atomic_pointer_get
    - format_string
    - g_free
    - va_start
    - local_glib_print_func
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_print (const gchar *format, ...) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:1006,1
    - Dst: g_log_find_domain_L
      Src: /src/glib/glib/gmessages.c:1012,1
    - Dst: g_log_domain_check_free_L
      Src: /src/glib/glib/gmessages.c:1027,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:1028,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:1011,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1031,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:1038,1
    - Dst: g_warning
      Src: /src/glib/glib/gmessages.c:1039,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - log_domain
    - handler_id
    argTypes:
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1041
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1041
    functionName: g_log_remove_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log_domain_check_free_L
    - g_free
    - g_warning
    - g_mutex_unlock
    - g_log_find_domain_L
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_log_remove_handler (const gchar *log_domain,\t\t guint\t handler_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:1203,1
    - Dst: g_thread_n_created
      Src: /src/glib/glib/gmessages.c:1203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - use_stderr
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 1205
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1205
    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: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - log_level
    - use_color
    argTypes:
    - GLogLevelFlags
    - gboolean
    constantsTouched: []
    func_position:
      end: 1524
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1524
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gmessages.c:1969,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmessages.c:1969,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:1972,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:1977,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmessages.c:1980,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmessages.c:1980,1
    - Dst: g_assert
      Src: /src/glib/glib/gmessages.c:1982,1
    - Dst: writer_func
      Src: /src/glib/glib/gmessages.c:1983,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmessages.c:1985,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmessages.c:1985,1
    - Dst: _g_log_abort
      Src: /src/glib/glib/gmessages.c:1989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - log_level
    - fields
    - n_fields
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    constantsTouched: []
    func_position:
      end: 1990
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1990
    functionName: g_log_structured_array
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_private_set
    - GPOINTER_TO_UINT
    - writer_func
    - g_assert
    - _g_log_abort
    - GUINT_TO_POINTER
    - g_mutex_unlock
    - g_private_get
    - g_mutex_lock
    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:2069,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:2071,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:2084,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:2075,1
    - Dst: g_error
      Src: /src/glib/glib/gmessages.c:2076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - func
    - user_data
    - user_data_free
    argTypes:
    - GLogWriterFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 2085
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2085
    functionName: g_log_set_writer_func
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_error
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_log_set_writer_func (GLogWriterFunc func, gpointer user_data,
      GDestroyNotify user_data_free) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_fd_is_journal
      Src: /src/glib/glib/gmessages.c:2216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output_fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 2220
      start: 2212
    functionDepth: 0
    functionLinenumber: 2212
    functionLinenumberEnd: 2220
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_log_get_debug_enabled
      Src: /src/glib/glib/gmessages.c:2643,1
    - Dst: g_getenv
      Src: /src/glib/glib/gmessages.c:2648,1
    - Dst: strstr
      Src: /src/glib/glib/gmessages.c:2667,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2658,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2666,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - log_level
    - log_domain
    - fields
    - n_fields
    argTypes:
    - GLogLevelFlags
    - char*
    - GLogField*
    - gsize
    constantsTouched: []
    func_position:
      end: 2672
      start: 2634
    functionDepth: 0
    functionLinenumber: 2634
    functionLinenumberEnd: 2672
    functionName: should_drop_message
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log_get_debug_enabled
    - g_strcmp0
    - strstr
    - g_getenv
    - strcmp
    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:2893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2894
      start: 2890
    functionDepth: 0
    functionLinenumber: 2890
    functionLinenumberEnd: 2894
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/glib/glib/gmessages.c:1214,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1225,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1222,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1219,1
    - Dst: log_level_to_color
      Src: /src/glib/glib/gmessages.c:1214,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1228,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1231,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1234,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1239,1
    - Dst: format_unsigned
      Src: /src/glib/glib/gmessages.c:1240,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1252,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1247,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gmessages.c:1255,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1243,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1250,1
    - Dst: log_level_to_file
      Src: /src/glib/glib/gmessages.c:1258,1
    - Dst: color_reset
      Src: /src/glib/glib/gmessages.c:1247,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - level_prefix
    - log_level
    - use_color
    argTypes:
    - gchar
    - GLogLevelFlags
    - gboolean
    constantsTouched: []
    func_position:
      end: 1259
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1259
    functionName: mklevel_prefix
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - log_level_to_color
    - strcpy
    - format_unsigned
    - g_test_initialized
    - log_level_to_file
    - strcat
    - color_reset
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE *mklevel_prefix (gchar level_prefix[STRING_BUFFER_SIZE],
      GLogLevelFlags log_level, gboolean use_color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - use_color
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 1535
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1535
    functionName: color_reset
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *color_reset (gboolean use_color) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:983,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - log_func
    - user_data
    argTypes:
    - GTestLogFatalFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 987
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 987
    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: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - buf
    - num
    - radix
    argTypes:
    - gchar*
    - gulong
    - guint
    constantsTouched: []
    func_position:
      end: 1161
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1161
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_level_to_priority
      Src: /src/glib/glib/gmessages.c:2006,1
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:2034,1
    - Dst: _g_vsnprintf
      Src: /src/glib/glib/gmessages.c:2029,1
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:2020,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:2037,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gmessages.c:2039,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/gmessages.c:2040,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:2042,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: 2043
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2043
    functionName: g_log_structured_standard
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - va_end
    - format_string
    - g_free
    - g_log_structured_array
    - _g_vsnprintf
    - log_level_to_priority
    - va_start
    - G_N_ELEMENTS
    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_strcmp0
      Src: /src/glib/glib/gmessages.c:2624,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fields
    - n_fields
    argTypes:
    - GLogField*
    - gsize
    constantsTouched: []
    func_position:
      end: 2626
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2626
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log
      Src: /src/glib/glib/gmessages.c:2929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - log_domain
    - pretty_function
    - expression
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2934
      start: 2924
    functionDepth: 0
    functionLinenumber: 2924
    functionLinenumberEnd: 2934
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/gmessages.c:3154,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gmessages.c:3165,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmessages.c:3164,1
    - Dst: g_string_insert
      Src: /src/glib/glib/gmessages.c:3166,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3170,1
    - Dst: CHAR_IS_SAFE
      Src: /src/glib/glib/gmessages.c:3179,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmessages.c:3192,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gmessages.c:3193,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gmessages.c:3193,1
    - Dst: g_string_insert
      Src: /src/glib/glib/gmessages.c:3194,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3195,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gmessages.c:3200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 3202
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3202
    functionName: escape_string
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_string_insert
    - g_free
    - g_utf8_get_char_validated
    - CHAR_IS_SAFE
    - g_strdup_printf
    - g_string_erase
    - g_utf8_next_char
    linkageType: ''
    returnType: void
    signature: 'static void escape_string (GString *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/gmessages.c:3441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - GPrintFunc
    constantsTouched: []
    func_position:
      end: 3443
      start: 3438
    functionDepth: 0
    functionLinenumber: 3438
    functionLinenumberEnd: 3443
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gmessages.c:1553,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1569,1
    - Dst: GetFileType
      Src: /src/glib/glib/gmessages.c:1555,1
    - Dst: GetFileInformationByHandleEx
      Src: /src/glib/glib/gmessages.c:1563,1
    - Dst: g_try_malloc
      Src: /src/glib/glib/gmessages.c:1560,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1570,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1572,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1573,1
    - Dst: wcsspn
      Src: /src/glib/glib/gmessages.c:1578,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1583,1
    - Dst: wcsspn
      Src: /src/glib/glib/gmessages.c:1588,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1596,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1605,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1584,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1593,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1597,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1594,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1608
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1608
    functionName: win32_is_pipe_tty
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_free
    - wcslen
    - GetFileType
    - wcsncmp
    - wcsspn
    - GetFileInformationByHandleEx
    - g_try_malloc
    - _get_osfhandle
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean win32_is_pipe_tty (int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmessages.c:3351,1
    - Dst: strchr
      Src: /src/glib/glib/gmessages.c:3355,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmessages.c:3362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - format
    - args
    - out_allocated_string
    argTypes:
    - char*
    - va_list
    - char**
    constantsTouched: []
    func_position:
      end: 3365
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3365
    functionName: format_string
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_strdup_vprintf
    - strchr
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:941,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - log_func
    - user_data
    argTypes:
    - GLogFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 948
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 948
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2594,1
    - Dst: g_log_writer_format_fields
      Src: /src/glib/glib/gmessages.c:2601,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2595,1
    - Dst: fileno
      Src: /src/glib/glib/gmessages.c:2598,1
    - Dst: log_level_to_file
      Src: /src/glib/glib/gmessages.c:2597,1
    - Dst: g_log_writer_supports_color
      Src: /src/glib/glib/gmessages.c:2602,1
    - Dst: fileno
      Src: /src/glib/glib/gmessages.c:2602,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gmessages.c:2603,1
    - Dst: fflush
      Src: /src/glib/glib/gmessages.c:2604,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:2605,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: 2608
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2608
    functionName: g_log_writer_standard_streams
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_free
    - fileno
    - _g_fprintf
    - fflush
    - g_log_writer_supports_color
    - g_log_writer_format_fields
    - log_level_to_file
    - g_return_val_if_fail
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'GLogWriterOutput g_log_writer_standard_streams (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2760,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gmessages.c:2773,1
    - Dst: log_is_old_api
      Src: /src/glib/glib/gmessages.c:2769,1
    - Dst: should_drop_message
      Src: /src/glib/glib/gmessages.c:2763,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2761,1
    - Dst: g_log_writer_is_journald
      Src: /src/glib/glib/gmessages.c:2775,1
    - Dst: fileno
      Src: /src/glib/glib/gmessages.c:2775,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gmessages.c:2776,1
    - Dst: g_log_writer_journald
      Src: /src/glib/glib/gmessages.c:2780,1
    - Dst: g_log_writer_standard_streams
      Src: /src/glib/glib/gmessages.c:2786,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:2807,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gmessages.c:2799,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gmessages.c:2803,1
    - Dst: _g_log_abort
      Src: /src/glib/glib/gmessages.c:2811,1
    - Dst: MessageBoxW
      Src: /src/glib/glib/gmessages.c:2805,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: 2815
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2815
    functionName: g_log_writer_default
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log_writer_journald
    - g_log_writer_standard_streams
    - fileno
    - g_once_init_enter
    - g_utf8_to_utf16
    - g_free
    - g_test_initialized
    - should_drop_message
    - _g_log_abort
    - g_log_writer_is_journald
    - log_is_old_api
    - g_once_init_leave
    - g_return_val_if_fail
    - MessageBoxW
    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: memcpy
      Src: /src/glib/glib/gmessages.c:578,1
    - Dst: write
      Src: /src/glib/glib/gmessages.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - int
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 587
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 587
    functionName: dowrite
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - memcpy
    - write
    linkageType: ''
    returnType: int
    signature: "static inline int dowrite (int fd,\t const void *buf,\t unsigned int
      len) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2483,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2484,1
    - Dst: g_alloca
      Src: /src/glib/glib/gmessages.c:2494,1
    - Dst: g_alloca
      Src: /src/glib/glib/gmessages.c:2493,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2505,1
    - Dst: strchr
      Src: /src/glib/glib/gmessages.c:2506,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2519,1
    - Dst: GUINT64_TO_LE
      Src: /src/glib/glib/gmessages.c:2524,1
    - Dst: memcpy
      Src: /src/glib/glib/gmessages.c:2525,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2535,1
    - Dst: journal_sendv
      Src: /src/glib/glib/gmessages.c:2550,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: 2556
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2556
    functionName: g_log_writer_journald
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - GUINT64_TO_LE
    - journal_sendv
    - g_alloca
    - strchr
    - g_return_val_if_fail
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'GLogWriterOutput g_log_writer_journald (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2845,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2849,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2851,1
    - Dst: log_level_to_file
      Src: /src/glib/glib/gmessages.c:2833,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2844,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2848,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2850,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:2856,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2847,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:2866,1
    - Dst: format_unsigned
      Src: /src/glib/glib/gmessages.c:2865,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2853,1
    - Dst: getpid
      Src: /src/glib/glib/gmessages.c:2865,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2846,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2843,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:2857,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:2867,1
    - Dst: write_string_sized
      Src: /src/glib/glib/gmessages.c:2858,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2852,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: 2872
      start: 2817
    functionDepth: 0
    functionLinenumber: 2817
    functionLinenumberEnd: 2872
    functionName: _g_log_writer_fallback
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - getpid
    - format_unsigned
    - write_string_sized
    - write_string
    - log_level_to_file
    - strcmp
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'static GLogWriterOutput _g_log_writer_fallback (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/gmessages.c:2955,1
    - Dst: g_log
      Src: /src/glib/glib/gmessages.c:2964,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gmessages.c:2961,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:2965,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gmessages.c:2957,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: 2966
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2966
    functionName: g_warn_message
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_log
    - g_free
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'void g_warn_message (const char *domain, const char *file, int line,
      const char *func, const char *warnexpr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:1459,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:1461,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.c:1460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - log_domain
    - log_level
    - format
    - '...'
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    constantsTouched: []
    func_position:
      end: 1462
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1462
    functionName: g_log
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - va_end
    - g_logv
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_log (const gchar *log_domain, GLogLevelFlags log_level, const
      gchar *format, ...) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gmessages.c:2286,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2276,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2290,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmessages.c:2299,1
    - Dst: strcpy
      Src: /src/glib/glib/gmessages.c:2319,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2309,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gmessages.c:2307,1
    - Dst: g_string_new_len
      Src: /src/glib/glib/gmessages.c:2335,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/gmessages.c:2338,1
    - Dst: mklevel_prefix
      Src: /src/glib/glib/gmessages.c:2284,1
    - Dst: getpid
      Src: /src/glib/glib/gmessages.c:2296,1
    - Dst: _g_localtime
      Src: /src/glib/glib/gmessages.c:2316,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2271,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2288,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gmessages.c:2295,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmessages.c:2306,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2311,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2341,1
    - Dst: strdup_convert
      Src: /src/glib/glib/gmessages.c:2345,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmessages.c:2353,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmessages.c:2301,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gmessages.c:2314,1
    - Dst: strftime
      Src: /src/glib/glib/gmessages.c:2317,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmessages.c:2321,1
    - Dst: color_reset
      Src: /src/glib/glib/gmessages.c:2324,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2328,1
    - Dst: escape_string
      Src: /src/glib/glib/gmessages.c:2336,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2346,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:2347,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmessages.c:2350,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - use_color
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gboolean
    constantsTouched: []
    func_position:
      end: 2354
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2354
    functionName: g_log_writer_format_fields
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_get_prgname
    - strcpy
    - g_string_append_c
    - _g_localtime
    - g_string_append_len
    - mklevel_prefix
    - escape_string
    - g_strcmp0
    - g_string_new_len
    - g_string_free
    - g_get_console_charset
    - g_get_real_time
    - strftime
    - g_string_new
    - getpid
    - g_free
    - g_string_append_printf
    - strdup_convert
    - color_reset
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_log_writer_format_fields (GLogLevelFlags log_level, const
      GLogField *fields, gsize n_fields, gboolean use_color) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_log_fallback_handler
      Src: /src/glib/glib/gmessages.c:3251,1
    - Dst: log_level_to_priority
      Src: /src/glib/glib/gmessages.c:3266,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/gmessages.c:3283,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: 3284
      start: 3239
    functionDepth: 0
    functionLinenumber: 3239
    functionLinenumberEnd: 3284
    functionName: g_log_default_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - _g_log_fallback_handler
    - log_level_to_priority
    - g_log_structured_array
    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: print_string
      Src: /src/glib/glib/gmessages.c:3376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3377
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3377
    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_vsnprintf
      Src: /src/glib/glib/gmessages.c:3494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 3495
      start: 3489
    functionDepth: 0
    functionLinenumber: 3489
    functionLinenumberEnd: 3495
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/gmessages.c:537,1
    - Dst: _exit
      Src: /src/glib/glib/gmessages.c:544,1
    - Dst: g_abort
      Src: /src/glib/glib/gmessages.c:557,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gmessages.c:548,1
    - Dst: G_BREAKPOINT
      Src: /src/glib/glib/gmessages.c:555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - breakpoint
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 558
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 558
    functionName: _g_log_abort
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - _exit
    - g_abort
    - IsDebuggerPresent
    - G_BREAKPOINT
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void _g_log_abort (gboolean breakpoint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:628,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - log_domain
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 633
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/glib/glib/gmessages.c:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - string
    argTypes:
    - FILE*
    - gchar*
    constantsTouched: []
    func_position:
      end: 602
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 602
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gmessages.c:1051,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmessages.c:1063,1
    - Dst: CHAR_IS_SAFE
      Src: /src/glib/glib/gmessages.c:1058,1
    - Dst: g_string_new
      Src: /src/glib/glib/gmessages.c:1053,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gmessages.c:1061,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmessages.c:1066,1
    - Dst: g_convert_with_fallback
      Src: /src/glib/glib/gmessages.c:1072,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gmessages.c:1083,1
    - Dst: g_error_free
      Src: /src/glib/glib/gmessages.c:1085,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:1087,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - string
    - charset
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1090
    functionName: strdup_convert
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_new
    - _g_fprintf
    - g_string_append_printf
    - CHAR_IS_SAFE
    - g_string_append_c
    - g_error_free
    - g_string_free
    - g_convert_with_fallback
    - g_utf8_validate
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *strdup_convert (const gchar *string,\t\tconst gchar
      *charset) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:1318,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmessages.c:1389,1
    - Dst: MessageBoxW
      Src: /src/glib/glib/gmessages.c:1411,1
    - Dst: _g_vsnprintf
      Src: /src/glib/glib/gmessages.c:1313,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:1325,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1331,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1334,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/gmessages.c:1353,1
    - Dst: g_log_default_handler
      Src: /src/glib/glib/gmessages.c:1346,1
    - Dst: g_log_domain_get_handler_L
      Src: /src/glib/glib/gmessages.c:1385,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmessages.c:1389,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gmessages.c:1409,1
    - Dst: g_pattern_match_simple
      Src: /src/glib/glib/gmessages.c:1327,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1332,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1333,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/gmessages.c:1353,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gmessages.c:1374,1
    - Dst: g_log_find_domain_L
      Src: /src/glib/glib/gmessages.c:1375,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:1387,1
    - Dst: fatal_log_func
      Src: /src/glib/glib/gmessages.c:1397,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1414,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmessages.c:1422,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/gmessages.c:1329,1
    - Dst: mklevel_prefix
      Src: /src/glib/glib/gmessages.c:1342,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmessages.c:1343,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:1373,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmessages.c:1374,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1347,1
    - Dst: log_func
      Src: /src/glib/glib/gmessages.c:1391,1
    - Dst: _g_log_abort
      Src: /src/glib/glib/gmessages.c:1418,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmessages.c:1422,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1426,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: 1427
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1427
    functionName: g_logv
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - format_string
    - fatal_log_func
    - GPOINTER_TO_UINT
    - GUINT_TO_POINTER
    - mklevel_prefix
    - g_slist_delete_link
    - g_utf8_to_utf16
    - g_strcmp0
    - _g_log_abort
    - MessageBoxW
    - g_private_set
    - g_pattern_match_simple
    - g_strdup_printf
    - g_log_find_domain_L
    - g_bit_nth_msf
    - log_func
    - g_log_domain_get_handler_L
    - g_free
    - _g_vsnprintf
    - g_mutex_unlock
    - g_private_get
    - g_log_default_handler
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void g_logv (const gchar *log_domain,\tGLogLevelFlags log_level,\tconst
      gchar *format,\tva_list\t args) "
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - log_level
    argTypes:
    - GLogLevelFlags
    constantsTouched: []
    func_position:
      end: 1485
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1485
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/gmessages.c:1874,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gmessages.c:1884,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gmessages.c:1911,1
    - Dst: g_array_free
      Src: /src/glib/glib/gmessages.c:1922,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gmessages.c:1856,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gmessages.c:1864,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gmessages.c:1871,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmessages.c:1907,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmessages.c:1913,1
    - Dst: g_variant_print
      Src: /src/glib/glib/gmessages.c:1905,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gmessages.c:1896,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmessages.c:1924,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmessages.c:1890,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gmessages.c:1886,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gmessages.c:1916,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/gmessages.c:1920,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmessages.c:1923,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:1856,1
    - Dst: log_level_to_priority
      Src: /src/glib/glib/gmessages.c:1862,1
    - Dst: g_array_new
      Src: /src/glib/glib/gmessages.c:1859,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/gmessages.c:1875,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gmessages.c:1882,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/glib/gmessages.c:1889,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmessages.c:1914,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - log_domain
    - log_level
    - fields
    argTypes:
    - gchar*
    - GLogLevelFlags
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1925
    functionName: g_log_variant
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - _g_fprintf
    - g_variant_get_fixed_array
    - g_variant_print
    - g_variant_iter_init
    - g_log_structured_array
    - g_variant_unref
    - log_level_to_priority
    - g_array_new
    - G_LIKELY
    - g_array_append_val
    - g_slist_free_full
    - g_slist_prepend
    - g_array_free
    - g_variant_get_string
    - g_variant_iter_next
    - g_variant_is_of_type
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_log_variant (const gchar *log_domain, GLogLevelFlags log_level,
      GVariant *fields) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3044,1
    - Dst: g_new
      Src: /src/glib/glib/gmessages.c:3048,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3046,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3045,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:3049,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:3051,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gmessages.c:3053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - log_domain
    - log_level
    - pattern
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    constantsTouched: []
    func_position:
      end: 3054
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3054
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:611,1
    - Dst: fwrite
      Src: /src/glib/glib/gmessages.c:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - string
    - length
    argTypes:
    - FILE*
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 618
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 618
    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_new
      Src: /src/glib/glib/gmessages.c:640,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - log_domain
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 649
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 649
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - log_level
    argTypes:
    - GLogLevelFlags
    constantsTouched: []
    func_position:
      end: 1498
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1498
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/glib/glib/gmessages.c:2182,1
    - Dst: close
      Src: /src/glib/glib/gmessages.c:2188,1
    - Dst: fcntl
      Src: /src/glib/glib/gmessages.c:2186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2192
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2192
    functionName: open_journal
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - socket
    - fcntl
    - close
    linkageType: ''
    returnType: void
    signature: 'static void open_journal (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_log
      Src: /src/glib/glib/gmessages.c:2976,1
    - Dst: _g_log_abort
      Src: /src/glib/glib/gmessages.c:2990,1
    - Dst: g_log
      Src: /src/glib/glib/gmessages.c:2984,1
    - Dst: g_abort
      Src: /src/glib/glib/gmessages.c:2991,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: 2992
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2992
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - dig
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: encode_digit
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar
    signature: 'static inline gchar encode_digit (guint dig) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:233,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/ghostutils.c:241,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/ghostutils.c:235,1
    - Dst: idna_is_junk
      Src: /src/glib/glib/ghostutils.c:236,1
    - Dst: g_string_new
      Src: /src/glib/glib/ghostutils.c:240,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/ghostutils.c:245,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 252
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 252
    functionName: remove_junk
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_string_new
    - idna_is_junk
    - g_string_free
    - g_utf8_get_char
    - g_string_append_len
    - g_string_append_unichar
    - g_utf8_next_char
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *remove_junk (const gchar *str, gint len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/ghostutils.c:137,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:149,1
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/ghostutils.c:149,1
    - Dst: PUNYCODE_IS_BASIC
      Src: /src/glib/glib/ghostutils.c:147,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:154,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:197,1
    - Dst: encode_digit
      Src: /src/glib/glib/ghostutils.c:197,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:201,1
    - Dst: encode_digit
      Src: /src/glib/glib/ghostutils.c:201,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:215,1
    - Dst: adapt
      Src: /src/glib/glib/ghostutils.c:202,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 3
    argNames:
    - input_utf8
    - input_utf8_length
    - output
    argTypes:
    - gchar*
    - gsize
    - GString*
    constantsTouched: []
    func_position:
      end: 217
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 217
    functionName: punycode_encode
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_utf8_to_ucs4
    - g_ascii_tolower
    - encode_digit
    - g_string_append_c
    - PUNYCODE_IS_BASIC
    - adapt
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean punycode_encode (const gchar *input_utf8, gsize input_utf8_length,\t\t
      GString *output) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - dig
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: decode_digit
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static inline guint decode_digit (gchar dig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: remove_junk
      Src: /src/glib/glib/ghostutils.c:330,1
    - Dst: contains_uppercase_letters
      Src: /src/glib/glib/ghostutils.c:340,1
    - Dst: contains_non_ascii
      Src: /src/glib/glib/ghostutils.c:349,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:343,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/ghostutils.c:342,1
    - Dst: g_strdup
      Src: /src/glib/glib/ghostutils.c:353,1
    - Dst: g_strndup
      Src: /src/glib/glib/ghostutils.c:353,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/ghostutils.c:361,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:362,1
    - Dst: contains_uppercase_letters
      Src: /src/glib/glib/ghostutils.c:375,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:383,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:388,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/ghostutils.c:377,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/ghostutils.c:385,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:378,1
    - Dst: idna_is_prohibited
      Src: /src/glib/glib/ghostutils.c:385,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - hostname
    - len
    - is_unicode
    argTypes:
    - gchar*
    - gint
    - gboolean*
    constantsTouched: []
    func_position:
      end: 399
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 399
    functionName: nameprep
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - contains_non_ascii
    - g_strndup
    - g_utf8_normalize
    - contains_uppercase_letters
    - g_utf8_get_char
    - remove_junk
    - idna_is_prohibited
    - g_utf8_next_char
    - g_utf8_strdown
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *nameprep (const gchar *hostname, gint len, gboolean
      *is_unicode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:413,1
    - Dst: idna_is_dot
      Src: /src/glib/glib/ghostutils.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 419
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - str
    - comparison_length
    argTypes:
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 458
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 458
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:260,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/ghostutils.c:262,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/ghostutils.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: contains_uppercase_letters
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_unichar_isupper
    - g_utf8_get_char
    - g_utf8_next_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:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 442
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 442
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - delta
    - numpoints
    - firsttime
    argTypes:
    - guint
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: adapt
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint adapt (guint delta, guint numpoints, gboolean firsttime) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_type
      Src: /src/glib/glib/ghostutils.c:286,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 13
    argCount: 1
    argNames:
    - ch
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 312
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 312
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_hostname_max_length_bytes
      Src: /src/glib/glib/ghostutils.c:480,1
    - Dst: MAX
      Src: /src/glib/glib/ghostutils.c:504,1
    - Dst: nameprep
      Src: /src/glib/glib/ghostutils.c:507,1
    - Dst: strlen_greater_than
      Src: /src/glib/glib/ghostutils.c:504,1
    - Dst: g_string_new
      Src: /src/glib/glib/ghostutils.c:511,1
    - Dst: idna_is_dot
      Src: /src/glib/glib/ghostutils.c:516,1
    - Dst: strncmp
      Src: /src/glib/glib/ghostutils.c:526,1
    - Dst: g_string_append
      Src: /src/glib/glib/ghostutils.c:529,1
    - Dst: punycode_encode
      Src: /src/glib/glib/ghostutils.c:530,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/ghostutils.c:534,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:543,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:547,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:552,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:551,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:548,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:541,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 554
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 554
    functionName: g_hostname_to_ascii
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - strlen_greater_than
    - get_hostname_max_length_bytes
    - punycode_encode
    - g_free
    - idna_is_dot
    - g_string_append_c
    - nameprep
    - g_string_append_len
    - g_string_free
    - MAX
    - g_utf8_next_char
    - strncmp
    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:601,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/ghostutils.c:609,1
    - Dst: PUNYCODE_IS_BASIC
      Src: /src/glib/glib/ghostutils.c:607,1
    - Dst: g_array_new
      Src: /src/glib/glib/ghostutils.c:614,1
    - Dst: decode_digit
      Src: /src/glib/glib/ghostutils.c:624,1
    - Dst: adapt
      Src: /src/glib/glib/ghostutils.c:643,1
    - Dst: g_array_insert_val
      Src: /src/glib/glib/ghostutils.c:650,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/ghostutils.c:654,1
    - Dst: g_array_index
      Src: /src/glib/glib/ghostutils.c:654,1
    - Dst: g_array_free
      Src: /src/glib/glib/ghostutils.c:655,1
    - Dst: g_array_free
      Src: /src/glib/glib/ghostutils.c:659,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 3
    argNames:
    - input
    - input_length
    - output
    argTypes:
    - gchar*
    - gsize
    - GString*
    constantsTouched: []
    func_position:
      end: 661
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 661
    functionName: punycode_decode
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - decode_digit
    - g_array_sized_new
    - g_array_new
    - g_array_index
    - g_array_append_val
    - g_array_insert_val
    - g_array_free
    - g_string_append_unichar
    - PUNYCODE_IS_BASIC
    - adapt
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean punycode_decode (const gchar *input, gsize input_length,
      GString *output) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_hostname_max_length_bytes
      Src: /src/glib/glib/ghostutils.c:685,1
    - Dst: idna_end_of_label
      Src: /src/glib/glib/ghostutils.c:696,1
    - Dst: strlen_greater_than
      Src: /src/glib/glib/ghostutils.c:689,1
    - Dst: g_string_new
      Src: /src/glib/glib/ghostutils.c:692,1
    - Dst: MAX
      Src: /src/glib/glib/ghostutils.c:689,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/ghostutils.c:697,1
    - Dst: punycode_decode
      Src: /src/glib/glib/ghostutils.c:701,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:703,1
    - Dst: nameprep
      Src: /src/glib/glib/ghostutils.c:710,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:714,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:718,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:729,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:723,1
    - Dst: g_string_append
      Src: /src/glib/glib/ghostutils.c:717,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:725,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 730
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 730
    functionName: g_hostname_to_unicode
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - strlen_greater_than
    - get_hostname_max_length_bytes
    - idna_end_of_label
    - punycode_decode
    - g_free
    - g_string_append_c
    - nameprep
    - g_string_free
    - MAX
    - g_ascii_strncasecmp
    - g_utf8_next_char
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_hostname_to_unicode (const gchar *hostname) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/ghostutils.c:755,1
    - Dst: idna_end_of_label
      Src: /src/glib/glib/ghostutils.c:757,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 763
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 763
    functionName: g_hostname_is_ascii_encoded
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_ascii_strncasecmp
    - idna_end_of_label
    - g_utf8_next_char
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hostname_is_ascii_encoded (const gchar *hostname) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/ghostutils.c:791,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/ghostutils.c:832,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/ghostutils.c:873,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 73
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 889
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 889
    functionName: g_hostname_is_ip_address
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - strchr
    - g_ascii_isdigit
    - g_ascii_isxdigit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hostname_is_ip_address (const gchar *hostname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains_non_ascii
      Src: /src/glib/glib/ghostutils.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error_allocate
      Src: /src/glib/glib/gerror.c:723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - domain
    - code
    - message
    - out_info
    argTypes:
    - GQuark
    - gint
    - gchar*
    - ErrorDomainInfo*
    constantsTouched: []
    func_position:
      end: 735
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 735
    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:818,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:819,1
    - Dst: g_strdup
      Src: /src/glib/glib/gerror.c:821,1
    - Dst: g_error_new_steal
      Src: /src/glib/glib/gerror.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - domain
    - code
    - message
    argTypes:
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 822
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 822
    functionName: g_error_new_literal
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_error_new_steal
    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:963,1
    - Dst: g_error_free
      Src: /src/glib/glib/gerror.c:972,1
    - Dst: g_warning
      Src: /src/glib/glib/gerror.c:971,1
    - Dst: va_end
      Src: /src/glib/glib/gerror.c:965,1
    - Dst: g_error_new_valist
      Src: /src/glib/glib/gerror.c:964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - err
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GError**
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 974
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 974
    functionName: g_set_error
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - va_end
    - g_error_free
    - g_warning
    - g_error_new_valist
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_set_error (GError **err, GQuark domain, gint code, const gchar
      *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/glib/gerror.c:1125,1
    - Dst: g_free
      Src: /src/glib/glib/gerror.c:1126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - err
    - prefix
    argTypes:
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1128
    functionName: g_prefix_error_literal
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_free
    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:1149,1
    - Dst: g_error_add_prefix
      Src: /src/glib/glib/gerror.c:1157,1
    - Dst: va_end
      Src: /src/glib/glib/gerror.c:1158,1
    - Dst: va_start
      Src: /src/glib/glib/gerror.c:1156,1
    - Dst: g_assert
      Src: /src/glib/glib/gerror.c:1155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - dest
    - src
    - format
    - '...'
    argTypes:
    - GError**
    - GError*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1160
    functionName: g_propagate_prefixed_error
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - va_end
    - g_assert
    - g_error_add_prefix
    - va_start
    - g_propagate_error
    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:1069,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gerror.c:1071,1
    - Dst: g_free
      Src: /src/glib/glib/gerror.c:1073,1
    - Dst: g_free
      Src: /src/glib/glib/gerror.c:1072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - string
    - format
    - ap
    argTypes:
    - gchar**
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 1074
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1074
    functionName: g_error_add_prefix
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_free
    - g_strdup_vprintf
    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:790,1
    - Dst: g_error_new_valist
      Src: /src/glib/glib/gerror.c:794,1
    - Dst: va_start
      Src: /src/glib/glib/gerror.c:793,1
    - Dst: va_end
      Src: /src/glib/glib/gerror.c:795,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 798
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 798
    functionName: g_error_new
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_error_new_valist
    - va_end
    - g_return_val_if_fail
    - va_start
    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:889,1
    - Dst: g_strdup
      Src: /src/glib/glib/gerror.c:897,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:890,1
    - Dst: g_error_new_steal
      Src: /src/glib/glib/gerror.c:895,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gerror.c:893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 903
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 903
    functionName: g_error_copy
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - g_return_val_if_fail
    - g_error_new_steal
    linkageType: ''
    returnType: GError*
    signature: 'GError *g_error_copy (const GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gerror.c:1100,1
    - Dst: g_error_add_prefix
      Src: /src/glib/glib/gerror.c:1101,1
    - Dst: va_end
      Src: /src/glib/glib/gerror.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - err
    - format
    - '...'
    argTypes:
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1104
    functionName: g_prefix_error
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - va_end
    - g_error_add_prefix
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_prefix_error (GError **err, const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:617,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:621,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:618,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:620,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:619,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/gerror.c:623,1
    - Dst: error_domain_register
      Src: /src/glib/glib/gerror.c:624,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: 630
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 630
    functionName: g_error_domain_register_static
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - error_domain_register
    - g_quark_from_static_string
    - g_return_val_if_fail
    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:837,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gerror.c:846,1
    - Dst: error_domain_lookup
      Src: /src/glib/glib/gerror.c:840,1
    - Dst: clear
      Src: /src/glib/glib/gerror.c:847,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/gerror.c:839,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gerror.c:851,1
    - Dst: g_free
      Src: /src/glib/glib/gerror.c:855,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:863,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:864,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/gerror.c:866,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:867,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/gerror.c:872,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/glib/gerror.c:868,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/glib/gerror.c:867,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 873
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 873
    functionName: g_error_free
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_free
    - g_rw_lock_reader_unlock
    - error_domain_lookup
    - g_slice_free1
    - clear
    - g_rw_lock_reader_lock
    - VALGRIND_FREELIKE_BLOCK
    - ALIGN_STRUCT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_error_free (GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/gerror.c:557,1
    - Dst: g_new
      Src: /src/glib/glib/gerror.c:560,1
    - Dst: error_domain_lookup
      Src: /src/glib/glib/gerror.c:558,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gerror.c:566,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:561,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gerror.c:567,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/gerror.c:572,1
    - Dst: g_critical
      Src: /src/glib/glib/gerror.c:574,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/gerror.c:576,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: 577
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 577
    functionName: error_domain_register
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_quark_to_string
    - g_rw_lock_writer_unlock
    - g_hash_table_insert
    - error_domain_lookup
    - g_new
    - GUINT_TO_POINTER
    - g_rw_lock_writer_lock
    - g_critical
    - ALIGN_STRUCT
    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:656,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:658,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:659,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:657,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:660,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/gerror.c:662,1
    - Dst: error_domain_register
      Src: /src/glib/glib/gerror.c:663,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: 669
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 669
    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: 932
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 932
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gerror.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    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:679,1
    - Dst: error_domain_lookup
      Src: /src/glib/glib/gerror.c:680,1
    - Dst: memset
      Src: /src/glib/glib/gerror.c:692,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gerror.c:690,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gerror.c:686,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:701,1
    - Dst: g_slice_alloc0
      Src: /src/glib/glib/gerror.c:702,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:703,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/glib/gerror.c:704,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/glib/gerror.c:705,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:705,1
    - Dst: g_slice_alloc0
      Src: /src/glib/glib/gerror.c:709,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:705,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - domain
    - out_info
    argTypes:
    - GQuark
    - ErrorDomainInfo*
    constantsTouched: []
    func_position:
      end: 713
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 713
    functionName: g_error_allocate
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_unlock
    - error_domain_lookup
    - memset
    - g_rw_lock_reader_lock
    - ALIGN_STRUCT
    - VALGRIND_MALLOCLIKE_BLOCK
    - g_slice_alloc0
    linkageType: ''
    returnType: GError*
    signature: 'static GError *g_error_allocate (GQuark domain, ErrorDomainInfo *out_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_error_free
      Src: /src/glib/glib/gerror.c:1055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - err
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 1058
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1058
    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_lookup
      Src: /src/glib/glib/gerror.c:541,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gerror.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - domain
    argTypes:
    - GQuark
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: error_domain_lookup
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: ErrorDomainInfo*
    signature: 'static inline ErrorDomainInfo *error_domain_lookup (GQuark domain) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gerror.c:1024,1
    - Dst: g_warning
      Src: /src/glib/glib/gerror.c:1035,1
    - Dst: g_error_free
      Src: /src/glib/glib/gerror.c:1036,1
    - Dst: g_error_free
      Src: /src/glib/glib/gerror.c:1028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - GError**
    - GError*
    constantsTouched: []
    func_position:
      end: 1041
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1041
    functionName: g_propagate_error
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_error_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_propagate_error (GError **dest,\t\t GError *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:757,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gerror.c:766,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gerror.c:764,1
    - Dst: g_error_new_steal
      Src: /src/glib/glib/gerror.c:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - domain
    - code
    - format
    - args
    argTypes:
    - GQuark
    - gint
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 767
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 767
    functionName: g_error_new_valist
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_return_val_if_fail
    - g_strdup_vprintf
    - 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:1001,1
    - Dst: g_warning
      Src: /src/glib/glib/gerror.c:1003,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - err
    - domain
    - code
    - message
    argTypes:
    - GError**
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1004
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1004
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:390,1
    - Dst: memcpy
      Src: /src/glib/glib/grcbox.c:394,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/grcbox.c:393,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - block_size
    - mem_block
    argTypes:
    - gsize
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 397
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 397
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:304,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/grcbox.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    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:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    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: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:218,1
    - Dst: g_assert
      Src: /src/glib/glib/grcbox.c:196,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:226,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/glib/grcbox.c:228,1
    - Dst: g_assert
      Src: /src/glib/glib/grcbox.c:218,1
    - Dst: g_malloc0
      Src: /src/glib/glib/grcbox.c:222,1
    - Dst: g_malloc
      Src: /src/glib/glib/grcbox.c:224,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:229,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/grcbox.c:257,1
    - Dst: g_malloc
      Src: /src/glib/glib/grcbox.c:237,1
    - Dst: g_ref_count_init
      Src: /src/glib/glib/grcbox.c:276,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/glib/grcbox.c:229,1
    - Dst: g_malloc0
      Src: /src/glib/glib/grcbox.c:235,1
    - Dst: GLIB_RCBOX_ALLOC
      Src: /src/glib/glib/grcbox.c:279,1
    - Dst: g_assert
      Src: /src/glib/glib/grcbox.c:187,1
    - Dst: g_assert
      Src: /src/glib/glib/grcbox.c:205,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:219,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:229,1
    - Dst: TRACE
      Src: /src/glib/glib/grcbox.c:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 71
    argCount: 4
    argNames:
    - block_size
    - alignment
    - atomic
    - clear
    argTypes:
    - gsize
    - gsize
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 282
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 282
    functionName: g_rc_box_alloc_full
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_malloc0
    - GLIB_RCBOX_ALLOC
    - g_atomic_ref_count_init
    - TRACE
    - ALIGN_STRUCT
    - VALGRIND_MALLOCLIKE_BLOCK
    - g_malloc
    - 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_RC_BOX
      Src: /src/glib/glib/grcbox.c:413,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:415,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:417,1
    - Dst: g_ref_count_inc
      Src: /src/glib/glib/grcbox.c:420,1
    - Dst: TRACE
      Src: /src/glib/glib/grcbox.c:422,1
    - Dst: GLIB_RCBOX_ACQUIRE
      Src: /src/glib/glib/grcbox.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 425
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 425
    functionName: (g_rc_box_acquire)
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - G_RC_BOX
    - g_ref_count_inc
    - GLIB_RCBOX_ACQUIRE
    - TRACE
    - g_return_val_if_fail
    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:331,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/grcbox.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_RC_BOX
      Src: /src/glib/glib/grcbox.c:461,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grcbox.c:465,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grcbox.c:463,1
    - Dst: TRACE
      Src: /src/glib/glib/grcbox.c:472,1
    - Dst: g_ref_count_dec
      Src: /src/glib/glib/grcbox.c:468,1
    - Dst: GLIB_RCBOX_RELEASE
      Src: /src/glib/glib/grcbox.c:472,1
    - Dst: clear_func
      Src: /src/glib/glib/grcbox.c:475,1
    - Dst: TRACE
      Src: /src/glib/glib/grcbox.c:477,1
    - Dst: GLIB_RCBOX_FREE
      Src: /src/glib/glib/grcbox.c:477,1
    - Dst: g_free
      Src: /src/glib/glib/grcbox.c:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - mem_block
    - clear_func
    argTypes:
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 480
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 480
    functionName: g_rc_box_release_full
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - G_RC_BOX
    - g_free
    - clear_func
    - GLIB_RCBOX_RELEASE
    - g_ref_count_dec
    - TRACE
    - GLIB_RCBOX_FREE
    - g_return_if_fail
    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:495,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:497,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 503
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 503
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1611,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1615,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1621,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1613,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1614,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:1622,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1623,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - GVariant*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1631
    functionName: g_variant_get_strv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_unref
    - g_new
    - TYPE_CHECK
    - g_variant_get_string
    - g_variant_get_data
    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:1989,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1992,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1991,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1999,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1993,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/gvariant.c:2000,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2001,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - GVariant*
    - gsize*
    constantsTouched: []
    func_position:
      end: 2009
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2009
    functionName: g_variant_get_bytestring_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_unref
    - g_new
    - g_variant_get_bytestring
    - TYPE_CHECK
    - g_variant_get_data
    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:2683,1
    - Dst: g_str_hash
      Src: /src/glib/glib/gvariant.c:2688,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2688,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:2692,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:2695,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2702,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2716,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2733,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2742,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/gvariant.c:2742,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:2743,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 21
    argCount: 1
    argNames:
    - value_
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2745
      start: 2678
    functionDepth: 0
    functionLinenumber: 2678
    functionLinenumberEnd: 2745
    functionName: g_variant_hash
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_is_container
    - g_variant_get_boolean
    - g_variant_classify
    - g_assert_not_reached
    - g_str_hash
    - g_variant_get_byte
    - g_variant_get_string
    - g_return_val_if_fail
    - g_variant_get_data
    linkageType: ''
    returnType: guint
    signature: 'guint g_variant_hash (gconstpointer value_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant.c:3290,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3292,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3293,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:3291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 3296
      start: 3285
    functionDepth: 0
    functionLinenumber: 3285
    functionLinenumberEnd: 3296
    functionName: g_variant_builder_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - GVHB
    - g_variant_builder_init
    - g_slice_new
    linkageType: ''
    returnType: GVariantBuilder*
    signature: 'GVariantBuilder *g_variant_builder_new (const GVariantType *type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3438,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3443,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3439,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3444,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3467,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvariant.c:3495,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3496,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3513,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:3515,1
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/gvariant.c:3493,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3497,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3485,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3477,1
    - Dst: g_variant_type_is_container
      Src: /src/glib/glib/gvariant.c:3439,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3445,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3462,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:3461,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3463,1
    - Dst: g_variant_type_key
      Src: /src/glib/glib/gvariant.c:3479,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3480,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3481,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3486,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3487,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3488,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3494,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3515,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:3502,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3496,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3516,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3489,1
    - Dst: memset
      Src: /src/glib/glib/gvariant.c:3441,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant.c:3443,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3451,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3459,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3461,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3460,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3452,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:3470,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3471,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3472,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3495,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3450,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3454,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3453,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3458,1
    - Dst: GVSB
      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:3470,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3476,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3479,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3493,1
    - Dst: g_new0
      Src: /src/glib/glib/gvariant.c:3512,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3497,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3478,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3512,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3498,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 96
    argCount: 2
    argNames:
    - builder
    - type
    argTypes:
    - GVariantBuilder*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 3518
      start: 3434
    functionDepth: 0
    functionLinenumber: 3434
    functionLinenumberEnd: 3518
    functionName: g_variant_builder_init
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_n_items
    - g_new0
    - g_variant_type_first
    - g_assert_not_reached
    - g_new
    - memset
    - g_variant_type_element
    - g_return_if_fail
    - g_variant_type_key
    - g_variant_type_is_container
    - GVSB
    - g_variant_type_copy
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_init (GVariantBuilder *builder, const GVariantType
      *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3375,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3381,1
    - Dst: return_if_invalid_builder
      Src: /src/glib/glib/gvariant.c:3379,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3383,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:3381,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:3384,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3384,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:3386,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3386,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3388,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3391,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3390,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant.c:3390,1
    - Dst: memset
      Src: /src/glib/glib/gvariant.c:3394,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant.c:3391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3395
      start: 3370
    functionDepth: 0
    functionLinenumber: 3370
    functionLinenumberEnd: 3395
    functionName: g_variant_builder_clear
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_free
    - g_variant_unref
    - g_variant_builder_clear
    - return_if_invalid_builder
    - memset
    - g_slice_free
    - GVSB
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_clear (GVariantBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:723,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:729,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:727,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gvariant.c:728,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 730
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 730
    functionName: g_variant_new_variant
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_memdup2
    - g_variant_new_from_children
    - g_variant_ref_sink
    - g_variant_is_trusted
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_variant (GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1947,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:1955,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gvariant.c:1950,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1953,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/glib/gvariant.c:1955,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:1957,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - strv
    - length
    argTypes:
    - gchar**
    - gssize
    constantsTouched: []
    func_position:
      end: 1959
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1959
    functionName: g_variant_new_bytestring_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_new
    - g_variant_new_bytestring
    - g_variant_new_from_children
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_strv_length
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_bytestring_array (const gchar * const *strv,
      gssize length) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/gvariant.c:4753,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gvariant.c:4766,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/gvariant.c:4757,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4760,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gvariant.c:4762,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4768,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4774,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:4781,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:4788,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 15
    argCount: 2
    argNames:
    - str
    - ptr
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4790
      start: 4746
    functionDepth: 0
    functionLinenumber: 4746
    functionLinenumberEnd: 4790
    functionName: g_variant_valist_free_nnp
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_free
    - g_variant_unref
    - g_assert_not_reached
    - g_variant_iter_free
    - g_str_has_suffix
    - g_strfreev
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_valist_free_nnp (const gchar *str, gpointer
      ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:698,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:701,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 704
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 704
    functionName: g_variant_get_maybe
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_child_value
    - g_variant_n_children
    - TYPE_CHECK
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_get_maybe (GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1569,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant.c:1577,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1575,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:1577,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gvariant.c:1572,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:1579,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - strv
    - length
    argTypes:
    - gchar**
    - gssize
    constantsTouched: []
    func_position:
      end: 1581
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1581
    functionName: g_variant_new_strv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_new
    - g_variant_new_from_children
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_strv_length
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_strv (const gchar * const *strv, gssize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4743
      start: 4737
    functionDepth: 0
    functionLinenumber: 4737
    functionLinenumberEnd: 4743
    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_strdup
      Src: /src/glib/glib/gvariant.c:1545,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:1545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - GVariant*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1546
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1546
    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: 47
    BranchProfiles: []
    Callsites:
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4373,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4385,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:4389,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4400,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4408,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4421,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:4381,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4392,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4457,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:4414,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4429,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4427,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4433,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4443,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4431,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4465,1
    - Dst: peek_char
      Src: /src/glib/glib/gvariant.c:4388,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4396,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:4418,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4455,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 78
    argCount: 3
    argNames:
    - string
    - limit
    - endptr
    argTypes:
    - gchar*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 4483
      start: 4364
    functionDepth: 0
    functionLinenumber: 4364
    functionLinenumberEnd: 4483
    functionName: g_variant_format_string_scan
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - peek_char
    - g_variant_format_string_scan
    - next_char
    - g_variant_type_string_scan
    - strchr
    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_slice_new
      Src: /src/glib/glib/gvariant.c:2987,1
    - Dst: GVHI
      Src: /src/glib/glib/gvariant.c:2989,1
    - Dst: GVHI
      Src: /src/glib/glib/gvariant.c:2988,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/gvariant.c:2991,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:2988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2994
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2994
    functionName: g_variant_iter_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - GVHI
    - g_variant_ref
    - g_variant_iter_init
    - g_slice_new
    linkageType: ''
    returnType: GVariantIter*
    signature: 'GVariantIter *g_variant_iter_new (GVariant *value) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4530,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:4542,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:4561,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4574,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 17
    argCount: 3
    argNames:
    - value
    - format_string
    - copy_only
    argTypes:
    - GVariant*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4587
      start: 4510
    functionDepth: 0
    functionLinenumber: 4510
    functionLinenumberEnd: 4587
    functionName: g_variant_check_format_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - strchr
    - g_variant_type_string_scan
    - g_variant_get_type_string
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_check_format_string (GVariant *value, const gchar
      *format_string, gboolean copy_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1661,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1663,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1664,1
    - Dst: g_variant_dup_string
      Src: /src/glib/glib/gvariant.c:1671,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1670,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1672,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - GVariant*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1680
    functionName: g_variant_dup_strv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_dup_string
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_unref
    - g_new
    - TYPE_CHECK
    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:2767,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:2783,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:2770,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:2782,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:2769,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:2788,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:2789,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2794,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2795,1
    - Dst: memcmp
      Src: /src/glib/glib/gvariant.c:2798,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:2809,1
    - Dst: strcmp
      Src: /src/glib/glib/gvariant.c:2808,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:2810,1
    - Dst: g_variant_print
      Src: /src/glib/glib/gvariant.c:2807,1
    - Dst: g_variant_print
      Src: /src/glib/glib/gvariant.c:2806,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2814
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2814
    functionName: g_variant_equal
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_info
    - g_free
    - g_variant_print
    - strcmp
    - memcmp
    - g_variant_is_trusted
    - g_return_val_if_fail
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_equal (gconstpointer one, gconstpointer two) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:837,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:840,1
    - Dst: g_variant_type_new_tuple
      Src: /src/glib/glib/gvariant.c:842,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:843,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - children
    - n_children
    argTypes:
    - GVariant**
    - gsize
    constantsTouched: []
    func_position:
      end: 846
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 846
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3092,1
    - Dst: GVHI
      Src: /src/glib/glib/gvariant.c:3095,1
    - Dst: GVHI
      Src: /src/glib/glib/gvariant.c:3094,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:3094,1
    - Dst: is_valid_heap_iter
      Src: /src/glib/glib/gvariant.c:3092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 3098
      start: 3089
    functionDepth: 0
    functionLinenumber: 3089
    functionLinenumberEnd: 3098
    functionName: g_variant_iter_free
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - GVHI
    - g_variant_unref
    - is_valid_heap_iter
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_iter_free (GVariantIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4161,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/glib/gvariant.c:4166,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4162,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:4165,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4163,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/gvariant.c:4166,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:4167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - dict
    - key
    - format_string
    - '...'
    argTypes:
    - GVariantDict*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4168
      start: 4153
    functionDepth: 0
    functionLinenumber: 4153
    functionLinenumberEnd: 4168
    functionName: g_variant_dict_insert
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_new_va
    - va_start
    - g_return_if_fail
    - return_if_invalid_dict
    - g_variant_dict_insert_value
    linkageType: ''
    returnType: void
    signature: 'void g_variant_dict_insert (GVariantDict *dict, const gchar *key,
      const gchar *format_string, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant.c:6138,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant.c:6146,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/gvariant.c:6147,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:6157,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:6152,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant.c:6159,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:6124,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant.c:6126,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:6136,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/gvariant.c:6128,1
    - Dst: g_variant_get_depth
      Src: /src/glib/glib/gvariant.c:6139,1
    - Dst: g_variant_store
      Src: /src/glib/glib/gvariant.c:6142,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:6147,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:6157,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gvariant.c:6148,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:6152,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:6137,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:6147,1
    - Dst: g_variant_serialised_byteswap
      Src: /src/glib/glib/gvariant.c:6144,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/gvariant.c:6155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 6160
      start: 6117
    functionDepth: 0
    functionLinenumber: 6117
    functionLinenumberEnd: 6160
    functionName: g_variant_byteswap
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_info
    - g_variant_is_normal_form
    - g_assert
    - g_variant_store
    - g_variant_new_from_bytes
    - g_bytes_new_take
    - g_bytes_unref
    - g_variant_type_info_query
    - g_variant_get_type
    - g_variant_deep_copy
    - g_variant_ref_sink
    - g_steal_pointer
    - g_variant_get_normal_form
    - g_variant_get_depth
    - g_variant_serialised_byteswap
    - g_variant_is_trusted
    - g_malloc
    - g_variant_get_size
    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:653,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:656,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:653,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:657,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:655,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:661,1
    - Dst: g_variant_type_new_maybe
      Src: /src/glib/glib/gvariant.c:663,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:670,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:671,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:672,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:677,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:679,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:674,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - child_type
    - child
    argTypes:
    - GVariantType*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 682
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 682
    functionName: g_variant_new_maybe
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_variant_type_new_maybe
    - g_new
    - g_variant_get_type
    - g_variant_new_from_children
    - g_variant_type_is_definite
    - g_variant_ref_sink
    - g_variant_is_trusted
    - g_return_val_if_fail
    - g_variant_is_of_type
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_maybe (const GVariantType *child_type, GVariant
      *child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2080,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:2082,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/gvariant.c:2084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2085
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2085
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:368,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 373
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:2039,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2041,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2042,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2049,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:2043,1
    - Dst: g_variant_dup_bytestring
      Src: /src/glib/glib/gvariant.c:2050,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2051,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - GVariant*
    - gsize*
    constantsTouched: []
    func_position:
      end: 2059
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2059
    functionName: g_variant_dup_bytestring_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_unref
    - g_new
    - TYPE_CHECK
    - g_variant_dup_bytestring
    - g_variant_get_data
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_variant_dup_bytestring_array (GVariant *value, gsize *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3074,1
    - Dst: is_valid_iter
      Src: /src/glib/glib/gvariant.c:3074,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 3077
      start: 3071
    functionDepth: 0
    functionLinenumber: 3071
    functionLinenumberEnd: 3077
    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_variant_is_normal_form
      Src: /src/glib/glib/gvariant.c:6082,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:6086,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:6083,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:6086,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:6085,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:6088,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 6089
      start: 6077
    functionDepth: 0
    functionLinenumber: 6077
    functionLinenumberEnd: 6089
    functionName: g_variant_get_normal_form
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_is_normal_form
    - g_assert
    - g_variant_deep_copy
    - g_variant_ref
    - g_variant_ref_sink
    - g_variant_is_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_get_normal_form (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_new_array
      Src: /src/glib/glib/gvariant.c:3713,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:3713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - element
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3714
      start: 3710
    functionDepth: 0
    functionLinenumber: 3710
    functionLinenumberEnd: 3714
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_valist_new_nnp
      Src: /src/glib/glib/gvariant.c:5068,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5073,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5068,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5076,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant.c:5079,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5082,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5094,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant.c:5091,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant.c:5085,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5088,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant.c:5097,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/gvariant.c:5100,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/gvariant.c:5073,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:5103,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5067,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/gvariant.c:5076,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5079,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/gvariant.c:5082,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5091,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5085,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/gvariant.c:5094,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/gvariant.c:5088,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5097,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5100,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - str
    - app
    argTypes:
    - gchar**
    - va_list*
    constantsTouched: []
    func_position:
      end: 5105
      start: 5063
    functionDepth: 0
    functionLinenumber: 5063
    functionLinenumberEnd: 5105
    functionName: g_variant_valist_new_leaf
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_double
    - g_variant_new_byte
    - g_variant_new_uint16
    - g_variant_new_handle
    - g_variant_new_uint32
    - g_variant_new_int32
    - g_assert_not_reached
    - g_variant_new_boolean
    - g_variant_format_string_is_nnp
    - g_variant_new_int64
    - g_variant_new_uint64
    - va_arg
    - g_variant_valist_new_nnp
    - g_variant_new_int16
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_valist_new_leaf (const gchar **str, va_list
      *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5518,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5519,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5519,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:5523,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:5522,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5525,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/gvariant.c:5526,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - value
    - format_string
    - '...'
    argTypes:
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5528
      start: 5511
    functionDepth: 0
    functionLinenumber: 5511
    functionLinenumberEnd: 5528
    functionName: g_variant_get
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - valid_format_string
    - va_start
    - g_variant_get_va
    - strchr
    - g_variant_get_data
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_get (GVariant *value, const gchar *format_string, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1222,1
    - Dst: g_variant_type_new_array
      Src: /src/glib/glib/gvariant.c:1225,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:1222,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1223,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant.c:1226,1
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/gvariant.c:1227,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1231,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1235,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gvariant.c:1239,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/gvariant.c:1240,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:1244,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant.c:1245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - element_type
    - elements
    - n_elements
    - element_size
    argTypes:
    - GVariantType*
    - gconstpointer
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 1248
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1248
    functionName: g_variant_new_fixed_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_variant_type_new_array
    - g_variant_type_info_query_element
    - g_critical
    - g_memdup2
    - g_variant_new_from_data
    - g_variant_type_is_definite
    - g_variant_type_info_unref
    - g_variant_type_info_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_fixed_array (const GVariantType *element_type,
      gconstpointer elements, gsize n_elements, gsize element_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_new_maybe
      Src: /src/glib/glib/gvariant.c:3701,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:3701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - element
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3702
      start: 3698
    functionDepth: 0
    functionLinenumber: 3698
    functionLinenumberEnd: 3702
    functionName: g_variant_make_maybe_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    - g_variant_type_new_maybe
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *g_variant_make_maybe_type (GVariant *element) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4062,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4064,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4063,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gvariant.c:4066,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4066,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/gvariant.c:4068,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:4071,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/gvariant.c:4072,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:4073,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - dict
    - key
    - format_string
    - '...'
    argTypes:
    - GVariantDict*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4076
      start: 4053
    functionDepth: 0
    functionLinenumber: 4053
    functionLinenumberEnd: 4076
    functionName: g_variant_dict_lookup
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - return_val_if_invalid_dict
    - g_hash_table_lookup
    - va_start
    - g_variant_get_va
    - g_variant_check_format_string
    - GVSD
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_dict_lookup (GVariantDict *dict, const gchar *key,
      const gchar *format_string, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4133,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/gvariant.c:4136,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4134,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - GVariantDict*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4137
      start: 4129
    functionDepth: 0
    functionLinenumber: 4129
    functionLinenumberEnd: 4137
    functionName: g_variant_dict_contains
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_val_if_invalid_dict
    - g_return_val_if_fail
    - g_hash_table_contains
    - GVSD
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_dict_contains (GVariantDict *dict, const gchar
      *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5474,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5476,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5474,1
    - Dst: g_variant_valist_new
      Src: /src/glib/glib/gvariant.c:5478,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - format_string
    - endptr
    - app
    argTypes:
    - gchar*
    - gchar**
    - va_list*
    constantsTouched: []
    func_position:
      end: 5484
      start: 5467
    functionDepth: 0
    functionLinenumber: 5467
    functionLinenumberEnd: 5484
    functionName: g_variant_new_va
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - valid_format_string
    - g_return_val_if_fail
    - g_variant_valist_new
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_va (const gchar *format_string, const gchar
      **endptr, va_list *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4327,1
    - Dst: is_valid_heap_dict
      Src: /src/glib/glib/gvariant.c:4327,1
    - Dst: g_variant_dict_clear
      Src: /src/glib/glib/gvariant.c:4331,1
    - Dst: GVHD
      Src: /src/glib/glib/gvariant.c:4329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - dict
    argTypes:
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 4334
      start: 4324
    functionDepth: 0
    functionLinenumber: 4324
    functionLinenumberEnd: 4334
    functionName: g_variant_dict_unref
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_dict_clear
    - is_valid_heap_dict
    - GVHD
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_dict_unref (GVariantDict *dict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4735
      start: 4731
    functionDepth: 0
    functionLinenumber: 4731
    functionLinenumberEnd: 4735
    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_string_free
      Src: /src/glib/glib/gvariant.c:2655,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - value
    - type_annotate
    argTypes:
    - GVariant*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2657
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2657
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/gvariant.c:4646,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:4654,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:4663,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:4658,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:4651,1
    - Dst: g_strndup
      Src: /src/glib/glib/gvariant.c:4668,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant.c:4669,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:4671,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4673,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:4675,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4676,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4677,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:4682,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - format_string
    - single
    - value
    argTypes:
    - gchar*
    - gboolean
    - GVariant*
    constantsTouched: []
    func_position:
      end: 4685
      start: 4638
    functionDepth: 0
    functionLinenumber: 4638
    functionLinenumberEnd: 4685
    functionName: valid_format_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_dup_string
    - g_variant_type_free
    - g_variant_get_type_string
    - g_free
    - g_strndup
    - g_critical
    - g_variant_format_string_scan_type
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean valid_format_string (const gchar *format_string, gboolean
      single, GVariant *value) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2256,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2518,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2522,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2534,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2571,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2384,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2225,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:2248,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2471,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/gvariant.c:2446,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2359,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/gvariant.c:2481,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2623,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2357,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2434,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:2216,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2255,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2296,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2404,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2461,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:2594,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2617,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2410,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2375,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2227,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2312,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2339,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2363,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2485,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2502,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:2536,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2549,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2615,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2335,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2348,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2352,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2371,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2431,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2452,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2436,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2468,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2577,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:2252,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant.c:2257,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2420,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:2543,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2379,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2455,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2453,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2393,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gvariant.c:2475,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/gvariant.c:2249,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2343,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2351,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2358,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:2579,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2438,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2266,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2310,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2463,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/gvariant.c:2480,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2498,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2514,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2535,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2557,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:2558,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:2314,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2432,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2490,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/gvariant.c:2565,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:2586,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/gvariant.c:2594,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2255,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:2297,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2354,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2440,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:2469,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gvariant.c:2525,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2542,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2563,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2584,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:2460,1
    - Dst: g_string_new
      Src: /src/glib/glib/gvariant.c:2219,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2271,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2353,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2389,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2402,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2451,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2528,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2541,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2578,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gvariant.c:2419,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2409,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2412,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2338,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2360,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2374,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2411,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2494,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2510,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2570,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gvariant.c:2274,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2390,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2548,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2564,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:2572,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2585,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2609,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:2250,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2356,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2437,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2387,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2428,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2622,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2624,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:2309,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2616,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:2628,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2430,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2265,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2277,1
    - Dst: g_strescape
      Src: /src/glib/glib/gvariant.c:2306,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2478,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2506,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:2550,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 215
    argCount: 3
    argNames:
    - value
    - string
    - type_annotate
    argTypes:
    - GVariant*
    - GString*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2632
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2632
    functionName: g_variant_print_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_variant_type_is_maybe
    - g_variant_get_boolean
    - g_clear_pointer
    - g_variant_get_child_value
    - g_variant_get_int16
    - g_string_append_c
    - g_steal_pointer
    - g_variant_type_element
    - g_variant_ref
    - g_variant_print_string
    - g_variant_get_uint64
    - g_variant_get_type_string
    - g_ascii_dtostr
    - g_variant_get_double
    - g_assert_not_reached
    - strchr
    - g_variant_get_string
    - g_variant_get_data
    - g_utf8_next_char
    - g_unichar_isprint
    - g_variant_unref
    - g_variant_get_variant
    - g_variant_get_type
    - g_string_truncate
    - g_utf8_get_char
    - g_variant_get_handle
    - g_variant_get_int64
    - g_variant_get_size
    - g_string_new
    - g_strescape
    - g_free
    - g_variant_get_int32
    - g_variant_n_children
    - g_variant_get_uint16
    - g_string_append_printf
    - g_variant_get_uint32
    - g_variant_get_byte
    - g_string_append_unichar
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_variant_print_string (GVariant *value, GString *string,
      gboolean type_annotate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:876,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:884,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:878,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:883,1
    - Dst: g_variant_make_tuple_type
      Src: /src/glib/glib/gvariant.c:887,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:888,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:890,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - children
    - n_children
    argTypes:
    - GVariant**
    - gsize
    constantsTouched: []
    func_position:
      end: 893
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 893
    functionName: g_variant_new_tuple
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_new
    - g_variant_new_from_children
    - g_variant_ref_sink
    - g_variant_is_trusted
    - g_return_val_if_fail
    - g_variant_make_tuple_type
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_tuple (GVariant * const *children, gsize n_children) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4187,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4191,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4189,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4188,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gvariant.c:4191,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant.c:4191,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:4191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - dict
    - key
    - value
    argTypes:
    - GVariantDict*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 4192
      start: 4182
    functionDepth: 0
    functionLinenumber: 4182
    functionLinenumberEnd: 4192
    functionName: g_variant_dict_insert_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_insert
    - g_variant_ref_sink
    - GVSD
    - return_if_invalid_dict
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_dict_insert_value (GVariantDict *dict, const gchar
      *key, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_alloc
      Src: /src/glib/glib/gvariant.c:3979,1
    - Dst: GVHD
      Src: /src/glib/glib/gvariant.c:3982,1
    - Dst: g_variant_dict_init
      Src: /src/glib/glib/gvariant.c:3980,1
    - Dst: GVHD
      Src: /src/glib/glib/gvariant.c:3981,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - from_asv
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3985
      start: 3974
    functionDepth: 0
    functionLinenumber: 3974
    functionLinenumberEnd: 3985
    functionName: g_variant_dict_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_dict_init
    - GVHD
    - g_slice_alloc
    linkageType: ''
    returnType: GVariantDict*
    signature: 'GVariantDict *g_variant_dict_new (GVariant *from_asv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - str
    - constant
    - arrays
    argTypes:
    - gchar**
    - gboolean*
    - guint*
    constantsTouched: []
    func_position:
      end: 4813
      start: 4792
    functionDepth: 0
    functionLinenumber: 4792
    functionLinenumberEnd: 4813
    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:5223,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5230,1
    - Dst: g_variant_valist_skip
      Src: /src/glib/glib/gvariant.c:5233,1
    - Dst: g_variant_valist_skip_leaf
      Src: /src/glib/glib/gvariant.c:5224,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5231,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:5237,1
    - Dst: g_variant_valist_skip
      Src: /src/glib/glib/gvariant.c:5240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - str
    - app
    argTypes:
    - gchar**
    - va_list*
    constantsTouched: []
    func_position:
      end: 5243
      start: 5219
    functionDepth: 0
    functionLinenumber: 5219
    functionLinenumberEnd: 5243
    functionName: g_variant_valist_skip
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_format_string_is_leaf
    - g_variant_valist_skip_leaf
    - g_assert
    - g_variant_format_string_is_nnp
    - g_variant_valist_skip
    - va_arg
    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:4830,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:4831,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/gvariant.c:4833,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4834,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:4838,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/gvariant.c:4840,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant.c:4842,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4843,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant.c:4873,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant.c:4876,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/gvariant.c:4933,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4913,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4928,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4836,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4862,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4849,1
    - Dst: g_variant_scan_convenience
      Src: /src/glib/glib/gvariant.c:4893,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/glib/gvariant.c:4904,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4917,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4926,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4934,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4936,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:4944,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4845,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4846,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4859,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/gvariant.c:4885,1
    - Dst: g_variant_new_strv
      Src: /src/glib/glib/gvariant.c:4896,1
    - Dst: g_variant_new_objv
      Src: /src/glib/glib/gvariant.c:4899,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/glib/gvariant.c:4902,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:4908,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant.c:4910,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4911,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:4925,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:4861,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/gvariant.c:4866,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/gvariant.c:4882,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/gvariant.c:4941,1
    - Dst: g_variant_type_is_basic
      Src: /src/glib/glib/gvariant.c:4925,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:4933,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4914,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 68
    argCount: 2
    argNames:
    - str
    - ptr
    argTypes:
    - gchar**
    - gpointer
    constantsTouched: []
    func_position:
      end: 4946
      start: 4815
    functionDepth: 0
    functionLinenumber: 4815
    functionLinenumberEnd: 4946
    functionName: g_variant_valist_new_nnp
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_variant_type_is_array
    - g_variant_type_string_scan
    - g_variant_type_element
    - g_variant_new_bytestring
    - g_variant_get_type_string
    - g_variant_new_bytestring_array
    - g_variant_new_string
    - g_variant_new_objv
    - g_error
    - g_assert_not_reached
    - g_variant_type_is_subtype_of
    - g_variant_new_array
    - g_variant_type_is_tuple
    - g_variant_get_type
    - g_variant_type_is_basic
    - g_variant_builder_end
    - g_variant_type_dup_string
    - g_free
    - g_variant_new_signature
    - g_variant_new_variant
    - g_variant_scan_convenience
    - g_variant_type_is_definite
    - g_variant_new_object_path
    - g_variant_is_of_type
    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:5249,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5261,1
    - Dst: g_variant_valist_new_leaf
      Src: /src/glib/glib/gvariant.c:5250,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5259,1
    - Dst: g_variant_valist_new_nnp
      Src: /src/glib/glib/gvariant.c:5264,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/gvariant.c:5266,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5270,1
    - Dst: g_variant_valist_new
      Src: /src/glib/glib/gvariant.c:5273,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/gvariant.c:5276,1
    - Dst: g_variant_valist_skip
      Src: /src/glib/glib/gvariant.c:5277,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:5293,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:5296,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/gvariant.c:5281,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:5302,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:5284,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:5297,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:5305,1
    - Dst: g_variant_valist_new
      Src: /src/glib/glib/gvariant.c:5302,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - str
    - app
    argTypes:
    - gchar**
    - va_list*
    constantsTouched: []
    func_position:
      end: 5307
      start: 5245
    functionDepth: 0
    functionLinenumber: 5245
    functionLinenumberEnd: 5307
    functionName: g_variant_valist_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_valist_new
    - g_variant_type_free
    - g_variant_format_string_is_leaf
    - g_assert
    - g_variant_new_maybe
    - g_variant_builder_add_value
    - g_variant_format_string_is_nnp
    - g_variant_valist_new_leaf
    - g_variant_format_string_scan_type
    - g_variant_builder_init
    - g_variant_valist_skip
    - va_arg
    - g_variant_valist_new_nnp
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_valist_new (const gchar **str, va_list
      *app) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1061,1
    - Dst: strcmp
      Src: /src/glib/glib/gvariant.c:1062,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:1062,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1084,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/gvariant.c:1081,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1050,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1063,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1068,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1093,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/gvariant.c:1054,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1075,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1082,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1048,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1048,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/gvariant.c:1049,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/gvariant.c:1051,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/gvariant.c:1056,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1074,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1086,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1077,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1094,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 3
    argNames:
    - dictionary
    - key
    - expected_type
    argTypes:
    - GVariant*
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1097
    functionName: g_variant_lookup_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_iter_next_value
    - g_variant_iter_init
    - g_variant_get_child_value
    - g_variant_unref
    - g_variant_get_variant
    - strcmp
    - g_variant_get_string
    - g_return_val_if_fail
    - g_variant_is_of_type
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_lookup_value (GVariant *dictionary, const gchar
      *key, const GVariantType *expected_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2186,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:2188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2189
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2189
    functionName: g_variant_classify
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariantClass
    signature: 'GVariantClass g_variant_classify (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5407,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/gvariant.c:5413,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5412,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5407,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - format_string
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 5417
      start: 5400
    functionDepth: 0
    functionLinenumber: 5400
    functionLinenumberEnd: 5417
    functionName: g_variant_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - valid_format_string
    - g_variant_new_va
    - va_start
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new (const gchar *format_string, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:985,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:995,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:989,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/gvariant.c:987,1
    - Dst: g_variant_lookup_value
      Src: /src/glib/glib/gvariant.c:988,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/gvariant.c:996,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:997,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:998,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - dictionary
    - key
    - format_string
    - '...'
    argTypes:
    - GVariant*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1005
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 1005
    functionName: g_variant_lookup
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_type_free
    - g_variant_unref
    - va_start
    - g_variant_get_va
    - g_variant_format_string_scan_type
    - g_variant_lookup_value
    - g_variant_get_data
    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:1748,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1751,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1750,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1752,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1758,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:1759,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1760,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - GVariant*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1768
    functionName: g_variant_get_objv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_unref
    - g_new
    - TYPE_CHECK
    - g_variant_get_string
    - g_variant_get_data
    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:2142,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:2142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2143
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2143
    functionName: g_variant_is_container
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    - g_variant_type_is_container
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_container (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3342,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3344,1
    - Dst: is_valid_heap_builder
      Src: /src/glib/glib/gvariant.c:3342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3347
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3347
    functionName: g_variant_builder_ref
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - GVHB
    - g_return_val_if_fail
    - is_valid_heap_builder
    linkageType: ''
    returnType: GVariantBuilder*
    signature: 'GVariantBuilder *g_variant_builder_ref (GVariantBuilder *builder) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_is_leaf
      Src: /src/glib/glib/gvariant.c:5315,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5325,1
    - Dst: g_variant_get_maybe
      Src: /src/glib/glib/gvariant.c:5323,1
    - Dst: g_variant_valist_get_leaf
      Src: /src/glib/glib/gvariant.c:5316,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5327,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5333,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5336,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:5343,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:5350,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5351,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5355,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5352,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 4
    argNames:
    - str
    - value
    - free
    - app
    argTypes:
    - gchar**
    - GVariant*
    - gboolean
    - va_list*
    constantsTouched: []
    func_position:
      end: 5359
      start: 5309
    functionDepth: 0
    functionLinenumber: 5309
    functionLinenumberEnd: 5359
    functionName: g_variant_valist_get
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_valist_get_leaf
    - g_variant_valist_get
    - g_variant_format_string_is_leaf
    - g_assert
    - g_variant_get_maybe
    - g_variant_unref
    - g_variant_get_child_value
    - g_variant_format_string_is_nnp
    - va_arg
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_valist_get (const gchar **str, GVariant *value,
      gboolean free, va_list *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1706,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/gvariant.c:1714,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:1714,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1712,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gvariant.c:1709,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:1716,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - strv
    - length
    argTypes:
    - gchar**
    - gssize
    constantsTouched: []
    func_position:
      end: 1718
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1718
    functionName: g_variant_new_objv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_object_path
    - g_new
    - g_variant_new_from_children
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_strv_length
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_objv (const gchar * const *strv, gssize length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3315,1
    - Dst: is_valid_heap_builder
      Src: /src/glib/glib/gvariant.c:3315,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3317,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant.c:3320,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3324
      start: 3312
    functionDepth: 0
    functionLinenumber: 3312
    functionLinenumberEnd: 3324
    functionName: g_variant_builder_unref
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - GVHB
    - is_valid_heap_builder
    - g_variant_builder_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_unref (GVariantBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1147,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:1152,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1150,1
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/gvariant.c:1153,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1149,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1155,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1160,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1166,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1171,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:1172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - value
    - n_elements
    - element_size
    argTypes:
    - GVariant*
    - gsize*
    - gsize
    constantsTouched: []
    func_position:
      end: 1183
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1183
    functionName: g_variant_get_fixed_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_info
    - g_variant_type_info_query_element
    - g_critical
    - TYPE_CHECK
    - g_return_val_if_fail
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: gconstpointer
    signature: 'gconstpointer g_variant_get_fixed_array (GVariant *value, gsize *n_elements,
      gsize element_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_builder
      Src: /src/glib/glib/gvariant.c:3232,1
    - Dst: memcmp
      Src: /src/glib/glib/gvariant.c:3241,1
    - Dst: is_valid_builder
      Src: /src/glib/glib/gvariant.c:3246,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:3244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3247
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3247
    functionName: ensure_valid_builder
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - is_valid_builder
    - g_variant_builder_init
    - 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:3680,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3681,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3683,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3684,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3681,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:3686,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:3686,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant.c:3689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3690
      start: 3675
    functionDepth: 0
    functionLinenumber: 3675
    functionLinenumberEnd: 3690
    functionName: g_variant_builder_close
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_builder_add_value
    - return_if_invalid_builder
    - g_slice_free
    - GVSB
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_close (GVariantBuilder *builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4019,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/gvariant.c:4024,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/gvariant.c:4025,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4020,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gvariant.c:4019,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gvariant.c:4026,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4026,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - dict
    - from_asv
    argTypes:
    - GVariantDict*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 4028
      start: 4011
    functionDepth: 0
    functionLinenumber: 4011
    functionLinenumberEnd: 4028
    functionName: g_variant_dict_init
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_hash_table_insert
    - GVSD
    - g_hash_table_new_full
    - g_variant_iter_next
    linkageType: ''
    returnType: void
    signature: 'void g_variant_dict_init (GVariantDict *dict, GVariant *from_asv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4107,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4110,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4108,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gvariant.c:4110,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:4112,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:4113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - dict
    - key
    - expected_type
    argTypes:
    - GVariantDict*
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 4116
      start: 4100
    functionDepth: 0
    functionLinenumber: 4100
    functionLinenumberEnd: 4116
    functionName: g_variant_dict_lookup_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_val_if_invalid_dict
    - g_hash_table_lookup
    - g_variant_ref
    - GVSD
    - g_return_val_if_fail
    - g_variant_is_of_type
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_dict_lookup_value (GVariantDict *dict, const gchar
      *key, const GVariantType *expected_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4239,1
    - Dst: return_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4243,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4245,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/gvariant.c:4245,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4246,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dict
    argTypes:
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 4249
      start: 4236
    functionDepth: 0
    functionLinenumber: 4236
    functionLinenumberEnd: 4249
    functionName: g_variant_dict_clear
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_if_invalid_dict
    - g_hash_table_unref
    - GVSD
    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:4303,1
    - Dst: GVHD
      Src: /src/glib/glib/gvariant.c:4305,1
    - Dst: is_valid_heap_dict
      Src: /src/glib/glib/gvariant.c:4303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - dict
    argTypes:
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 4308
      start: 4300
    functionDepth: 0
    functionLinenumber: 4300
    functionLinenumberEnd: 4308
    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: va_start
      Src: /src/glib/glib/gvariant.c:5634,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/gvariant.c:5635,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:5638,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - builder
    - format_string
    - '...'
    argTypes:
    - GVariantBuilder*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5639
      start: 5626
    functionDepth: 0
    functionLinenumber: 5626
    functionLinenumberEnd: 5639
    functionName: g_variant_builder_add
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_new_va
    - g_variant_builder_add_value
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_add (GVariantBuilder *builder, const gchar
      *format_string, ...) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:5890,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:5888,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:5948,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:5944,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:5962,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/gvariant.c:5966,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:5969,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant.c:5973,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:5973,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant.c:5975,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:5981,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant.c:5997,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:5997,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant.c:6031,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:6003,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant.c:5987,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:5993,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/gvariant.c:6003,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/gvariant.c:6037,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/gvariant.c:6034,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6009,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:5892,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:5893,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:5929,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:5944,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:5952,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:5931,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:5953,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:5954,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant.c:5999,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6024,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:6005,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant.c:6011,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:5985,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant.c:5985,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:5991,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:5878,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:5893,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:5929,1
    - Dst: g_variant_maybe_get_child_value
      Src: /src/glib/glib/gvariant.c:5936,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:5966,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/gvariant.c:5969,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:5973,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:5975,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:5979,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/gvariant.c:5981,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/gvariant.c:5991,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:5987,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:5997,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:6031,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:6040,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6003,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:6037,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/gvariant.c:6009,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/gvariant.c:5993,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant.c:6009,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:5888,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5894,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:5897,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:5953,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gvariant.c:5957,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gvariant.c:5960,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:5999,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/gvariant.c:6025,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:6028,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:6034,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:6023,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/gvariant.c:6005,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:5979,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/gvariant.c:5979,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:5985,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/gvariant.c:6011,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/gvariant.c:6028,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:5991,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 99
    argCount: 2
    argNames:
    - value
    - byteswap
    argTypes:
    - GVariant*
    - gboolean
    constantsTouched: []
    func_position:
      end: 6041
      start: 5874
    functionDepth: 0
    functionLinenumber: 5874
    functionLinenumberEnd: 6041
    functionName: g_variant_deep_copy
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_boolean
    - g_clear_pointer
    - g_variant_get_child_value
    - g_variant_get_int16
    - g_variant_new_int32
    - GUINT32_SWAP_LE_BE
    - g_variant_new_uint64
    - g_variant_get_uint64
    - g_variant_maybe_get_child_value
    - GUINT64_SWAP_LE_BE
    - g_variant_new_uint16
    - g_variant_new_string
    - g_variant_get_double
    - g_assert_not_reached
    - g_variant_builder_add_value
    - g_variant_new_int64
    - g_variant_new_double
    - g_variant_get_string
    - g_variant_new_handle
    - g_variant_unref
    - g_variant_new_boolean
    - g_variant_get_type
    - g_variant_deep_copy
    - g_variant_builder_init
    - g_variant_new_byte
    - g_variant_ref_sink
    - g_variant_get_handle
    - g_variant_new_int16
    - g_variant_get_int64
    - g_variant_builder_end
    - g_variant_get_int32
    - g_variant_new_signature
    - g_variant_n_children
    - g_variant_get_uint16
    - g_variant_classify
    - g_variant_new_uint32
    - GUINT16_SWAP_LE_BE
    - g_variant_get_uint32
    - g_variant_get_byte
    - g_variant_new_object_path
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_deep_copy (GVariant *value, gboolean byteswap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4274,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/gvariant.c:4279,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4278,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/gvariant.c:4278,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:4276,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/gvariant.c:4280,1
    - Dst: g_variant_dict_clear
      Src: /src/glib/glib/gvariant.c:4282,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:4284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - dict
    argTypes:
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 4285
      start: 4267
    functionDepth: 0
    functionLinenumber: 4267
    functionLinenumberEnd: 4285
    functionName: g_variant_dict_end
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_dict_clear
    - g_variant_builder_end
    - return_val_if_invalid_dict
    - g_hash_table_iter_next
    - g_variant_builder_add
    - g_hash_table_iter_init
    - g_variant_builder_init
    - GVSD
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_dict_end (GVariantDict *dict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/gvariant.c:325,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gvariant.c:327,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/gvariant.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - type
    - data
    - size
    argTypes:
    - GVariantType*
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: g_variant_new_from_trusted
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_variant_new_from_bytes
    - g_bytes_unref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_new_from_trusted (const GVariantType *type,
      gconstpointer data, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1412,1
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:1414,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1415,1
    - Dst: g_variant_is_signature
      Src: /src/glib/glib/gvariant.c:1412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - signature
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1416
    functionName: g_variant_new_signature
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_is_signature
    - g_return_val_if_fail
    - 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:1839,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1842,1
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:1841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1843
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1843
    functionName: g_variant_new_bytestring
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - g_variant_new_from_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_bytestring (const gchar *string) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2854,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:2859,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:2860,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:2885,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:2876,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:2908,1
    - Dst: strcmp
      Src: /src/glib/glib/gvariant.c:2917,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:2854,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:2863,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:2864,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:2867,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:2868,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:2893,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:2872,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:2884,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:2871,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2918,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2921,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:2892,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:2901,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2917,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:2922,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:2856,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:2854,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:2900,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:2877,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:2909,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/gvariant.c:2921,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2924
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2924
    functionName: g_variant_compare
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_int32
    - g_variant_is_container
    - g_variant_get_boolean
    - g_variant_get_uint16
    - g_variant_classify
    - g_variant_get_int16
    - g_variant_get_double
    - g_assert_not_reached
    - strcmp
    - g_variant_get_uint32
    - g_variant_get_byte
    - g_variant_get_string
    - g_return_val_if_fail
    - g_variant_get_uint64
    - g_variant_get_int64
    linkageType: ''
    returnType: gint
    signature: 'gint g_variant_compare (gconstpointer one, gconstpointer two) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3635,1
    - Dst: g_variant_type_is_variant
      Src: /src/glib/glib/gvariant.c:3655,1
    - Dst: return_if_invalid_builder
      Src: /src/glib/glib/gvariant.c:3634,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3635,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3635,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3652,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3648,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvariant.c:3653,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3645,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3655,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3636,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3636,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3639,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3639,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3640,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3650,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3653,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3657,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:3658,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/gvariant.c:3637,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3638,1
    - Dst: g_slice_dup
      Src: /src/glib/glib/gvariant.c:3643,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/gvariant.c:3640,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:3644,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3658,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - builder
    - type
    argTypes:
    - GVariantBuilder*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 3660
      start: 3628
    functionDepth: 0
    functionLinenumber: 3628
    functionLinenumberEnd: 3660
    functionName: g_variant_builder_open
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_variant
    - g_variant_type_first
    - return_if_invalid_builder
    - g_slice_dup
    - g_variant_type_element
    - g_variant_builder_init
    - g_variant_type_is_subtype_of
    - GVSB
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_open (GVariantBuilder *builder, const GVariantType
      *type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_builder
      Src: /src/glib/glib/gvariant.c:3748,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3749,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3753,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:3756,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3759,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant.c:3757,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/gvariant.c:3762,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3760,1
    - Dst: g_variant_make_dict_entry_type
      Src: /src/glib/glib/gvariant.c:3770,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3778,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant.c:3784,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3749,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3751,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3757,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3762,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3756,1
    - Dst: g_variant_make_maybe_type
      Src: /src/glib/glib/gvariant.c:3760,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3763,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/gvariant.c:3765,1
    - Dst: g_renew
      Src: /src/glib/glib/gvariant.c:3776,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3780,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3782,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3752,1
    - Dst: g_variant_make_array_type
      Src: /src/glib/glib/gvariant.c:3763,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3765,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3766,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/gvariant.c:3769,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3771,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3777,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:3785,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3779,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3749,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3751,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:3753,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/gvariant.c:3759,1
    - Dst: g_variant_make_tuple_type
      Src: /src/glib/glib/gvariant.c:3766,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3767,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3769,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3770,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:3773,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:3775,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3781,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3788
      start: 3742
    functionDepth: 0
    functionLinenumber: 3742
    functionLinenumberEnd: 3788
    functionName: g_variant_builder_end
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_variant_type_is_array
    - g_variant_type_is_dict_entry
    - g_variant_type_is_maybe
    - g_variant_type_is_tuple
    - g_variant_make_dict_entry_type
    - return_val_if_invalid_builder
    - g_assert_not_reached
    - g_variant_builder_clear
    - g_variant_make_maybe_type
    - g_variant_make_array_type
    - g_variant_new_from_children
    - g_variant_type_is_definite
    - g_variant_make_tuple_type
    - g_return_val_if_fail
    - GVSB
    - g_renew
    - g_variant_type_copy
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_builder_end (GVariantBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4209,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gvariant.c:4212,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4212,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - GVariantDict*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4213
      start: 4205
    functionDepth: 0
    functionLinenumber: 4205
    functionLinenumberEnd: 4213
    functionName: g_variant_dict_remove
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_val_if_invalid_dict
    - g_return_val_if_fail
    - g_hash_table_remove
    - GVSD
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_dict_remove (GVariantDict *dict, const gchar *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5571,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5571,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:5576,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5573,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5572,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:5577,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5579,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: 5583
      start: 5565
    functionDepth: 0
    functionLinenumber: 5565
    functionLinenumberEnd: 5583
    functionName: g_variant_get_va
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_valist_get
    - valid_format_string
    - strchr
    - g_variant_get_data
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_get_va (GVariant *value, const gchar *format_string,
      const gchar **endptr, va_list *app) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5840,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5844,1
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:5850,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5850,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5845,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5851,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:5853,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:5854,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5854,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/gvariant.c:5857,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5863,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5860,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5868,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5864,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5865,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5859,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - iter
    - format_string
    - '...'
    argTypes:
    - GVariantIter*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5871
      start: 5835
    functionDepth: 0
    functionLinenumber: 5835
    functionLinenumberEnd: 5871
    functionName: g_variant_iter_loop
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_iter_next_value
    - g_variant_valist_get
    - valid_format_string
    - g_variant_unref
    - va_start
    - TYPE_CHECK
    - strchr
    - g_return_val_if_fail
    - GVSI
    - g_variant_get_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_iter_loop (GVariantIter *iter, const gchar *format_string,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1392,1
    - Dst: g_variant_serialiser_is_object_path
      Src: /src/glib/glib/gvariant.c:1394,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1395
    functionName: g_variant_is_object_path
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_serialiser_is_object_path
    - g_return_val_if_fail
    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:1798,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1800,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1801,1
    - Dst: g_variant_dup_string
      Src: /src/glib/glib/gvariant.c:1808,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1807,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1809,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - GVariant*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1817
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1817
    functionName: g_variant_dup_objv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_dup_string
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_unref
    - g_new
    - TYPE_CHECK
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_variant_dup_objv (GVariant *value, gsize *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3049,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3052,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3051,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/gvariant.c:3051,1
    - Dst: is_valid_iter
      Src: /src/glib/glib/gvariant.c:3049,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3052,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 3055
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3055
    functionName: g_variant_iter_copy
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - is_valid_iter
    - g_variant_iter_new
    - g_return_val_if_fail
    - GVSI
    linkageType: ''
    returnType: GVariantIter*
    signature: 'GVariantIter *g_variant_iter_copy (GVariantIter *iter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3139,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3141,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3141,1
    - Dst: is_valid_iter
      Src: /src/glib/glib/gvariant.c:3139,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:3143,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3148,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3150,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3150,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:3151,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3151,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 3154
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3154
    functionName: g_variant_iter_next_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_child_value
    - g_critical
    - is_valid_iter
    - g_return_val_if_fail
    - GVSI
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_iter_next_value (GVariantIter *iter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3554,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:3556,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3557,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3558,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3560,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:3562,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvariant.c:3569,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3568,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3571,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3578,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3562,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3569,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:3559,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3572,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvariant.c:3573,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3580,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3555,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3554,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3558,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3564,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3573,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:3581,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3580,1
    - Dst: return_if_invalid_builder
      Src: /src/glib/glib/gvariant.c:3553,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3554,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3555,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3567,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3576,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:3576,1
    - Dst: g_variant_builder_make_room
      Src: /src/glib/glib/gvariant.c:3578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GVariantBuilder*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3582
      start: 3549
    functionDepth: 0
    functionLinenumber: 3549
    functionLinenumberEnd: 3582
    functionName: g_variant_builder_add_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_make_room
    - return_if_invalid_builder
    - g_variant_get_type
    - g_variant_type_next
    - g_variant_ref_sink
    - g_variant_is_trusted
    - GVSB
    - g_variant_is_of_type
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_add_value (GVariantBuilder *builder, GVariant
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3016,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:3018,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3017,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3018,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3019,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3020,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - iter
    - value
    argTypes:
    - GVariantIter*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3023
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3023
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/glib/gvariant.c:3526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - builder
    argTypes:
    - struct stack_builder*
    constantsTouched: []
    func_position:
      end: 3529
      start: 3520
    functionDepth: 0
    functionLinenumber: 3520
    functionLinenumberEnd: 3529
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_dict
      Src: /src/glib/glib/gvariant.c:3919,1
    - Dst: memcmp
      Src: /src/glib/glib/gvariant.c:3928,1
    - Dst: g_variant_dict_init
      Src: /src/glib/glib/gvariant.c:3931,1
    - Dst: is_valid_dict
      Src: /src/glib/glib/gvariant.c:3933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - dict
    argTypes:
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 3934
      start: 3914
    functionDepth: 0
    functionLinenumber: 3914
    functionLinenumberEnd: 3934
    functionName: ensure_valid_dict
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - memcmp
    - is_valid_dict
    - g_variant_dict_init
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_valid_dict (GVariantDict *dict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1303,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1306,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1304,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gvariant.c:1304,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant.c:1306,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/gvariant.c:1307,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gvariant.c:1308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1311
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1311
    functionName: g_variant_new_take_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_new_from_bytes
    - g_bytes_unref
    - g_bytes_new_take
    - g_return_val_if_fail
    - 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:1366,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/glib/gvariant.c:1366,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1369,1
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object_path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1370
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1370
    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:1477,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1481,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1480,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1479,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1478,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1483,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:1484,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:1486,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:1488,1
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/gvariant.c:1491,1
    - Dst: g_variant_serialiser_is_signature
      Src: /src/glib/glib/gvariant.c:1507,1
    - Dst: g_variant_serialiser_is_object_path
      Src: /src/glib/glib/gvariant.c:1499,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:1515,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - GVariant*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1523
    functionName: g_variant_get_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_is_of_type
    - g_variant_serialiser_is_string
    - g_variant_serialiser_is_object_path
    - g_variant_serialiser_is_signature
    - g_variant_classify
    - g_assert_not_reached
    - g_variant_is_trusted
    - g_return_val_if_fail
    - g_variant_get_data
    - g_variant_get_size
    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:1911,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1918,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gvariant.c:1923,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - GVariant*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1924
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1924
    functionName: g_variant_dup_bytestring
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_get_bytestring
    - g_memdup2
    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:2126,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:2126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - value
    - type
    argTypes:
    - GVariant*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2127
    functionName: g_variant_is_of_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    - g_variant_type_is_subtype_of
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_of_type (GVariant *value, const GVariantType
      *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1268,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1269,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gvariant.c:1269,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1272,1
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:1271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1273
    functionName: g_variant_new_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - g_variant_new_from_trusted
    - g_utf8_validate
    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:1338,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gvariant.c:1341,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:1342,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant.c:1344,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:1340,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1344,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/gvariant.c:1345,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gvariant.c:1346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - format_string
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1349
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1349
    functionName: g_variant_new_printf
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - strlen
    - g_strdup_vprintf
    - g_variant_new_from_bytes
    - g_bytes_unref
    - va_start
    - g_bytes_new_take
    - g_return_val_if_fail
    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:1436,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1438,1
    - Dst: g_variant_serialiser_is_signature
      Src: /src/glib/glib/gvariant.c:1438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1439
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1439
    functionName: g_variant_is_signature
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_val_if_fail
    - g_variant_serialiser_is_signature
    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:1879,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1882,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:1883,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1889
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1889
    functionName: g_variant_get_bytestring
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - TYPE_CHECK
    - g_variant_get_data
    - g_variant_get_size
    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:2104,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/gvariant.c:2108,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:2106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2109
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2109
    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: 26
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5117,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:5121,1
    - Dst: g_variant_valist_free_nnp
      Src: /src/glib/glib/gvariant.c:5130,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5125,1
    - Dst: g_variant_valist_get_nnp
      Src: /src/glib/glib/gvariant.c:5135,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:5137,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:5147,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:5151,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:5155,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:5159,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:5167,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/gvariant.c:5179,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:5175,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:5215,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:5163,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:5171,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:5183,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 45
    argCount: 4
    argNames:
    - str
    - value
    - free
    - app
    argTypes:
    - gchar**
    - GVariant*
    - gboolean
    - va_list*
    constantsTouched: []
    func_position:
      end: 5216
      start: 5111
    functionDepth: 0
    functionLinenumber: 5111
    functionLinenumberEnd: 5216
    functionName: g_variant_valist_get_leaf
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_int32
    - g_variant_format_string_scan
    - g_variant_get_boolean
    - g_variant_get_uint16
    - g_variant_valist_get_nnp
    - g_variant_get_int16
    - g_variant_valist_free_nnp
    - g_variant_get_double
    - g_assert_not_reached
    - g_variant_format_string_is_nnp
    - g_variant_get_uint32
    - g_variant_get_byte
    - va_arg
    - g_variant_get_handle
    - g_variant_get_uint64
    - g_variant_get_int64
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_valist_get_leaf (const gchar **str, GVariant
      *value, gboolean free, va_list *app) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:4623,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant.c:4626,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/gvariant.c:4635,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - string
    - limit
    - endptr
    argTypes:
    - gchar*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 4636
      start: 4611
    functionDepth: 0
    functionLinenumber: 4611
    functionLinenumberEnd: 4636
    functionName: g_variant_format_string_scan_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_format_string_scan
    - 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_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:789,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:792,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:791,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:790,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:794,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:798,1
    - Dst: g_variant_type_new_array
      Src: /src/glib/glib/gvariant.c:799,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:803,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:807,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:808,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:809,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:812,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:817,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:815,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:811,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - child_type
    - children
    - n_children
    argTypes:
    - GVariantType*
    - GVariant**
    - gsize
    constantsTouched: []
    func_position:
      end: 820
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 820
    functionName: g_variant_new_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_free
    - g_variant_type_new_array
    - g_variant_unref
    - g_new
    - g_variant_get_type
    - g_variant_new_from_children
    - g_variant_type_is_definite
    - g_variant_ref_sink
    - g_variant_is_trusted
    - g_return_val_if_fail
    - g_variant_is_of_type
    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_variant_iter_next_value
      Src: /src/glib/glib/gvariant.c:5742,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5751,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5752,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5744,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5744,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5753,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5755,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - iter
    - format_string
    - '...'
    argTypes:
    - GVariantIter*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5759
      start: 5735
    functionDepth: 0
    functionLinenumber: 5735
    functionLinenumberEnd: 5759
    functionName: g_variant_iter_next
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_iter_next_value
    - g_variant_valist_get
    - valid_format_string
    - g_variant_unref
    - va_start
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_iter_next (GVariantIter *iter, const gchar *format_string,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:746,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 749
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 749
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5030,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5051,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5033,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:5032,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5046,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5055,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:5059,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 10
    argCount: 2
    argNames:
    - str
    - app
    argTypes:
    - gchar**
    - va_list*
    constantsTouched: []
    func_position:
      end: 5061
      start: 5026
    functionDepth: 0
    functionLinenumber: 5026
    functionLinenumberEnd: 5061
    functionName: g_variant_valist_skip_leaf
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_arg
    - g_variant_format_string_is_nnp
    - g_assert_not_reached
    - g_variant_format_string_scan
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_valist_skip_leaf (const gchar **str, va_list
      *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:5670,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5674,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5674,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:5671,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:5673,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5676,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/gvariant.c:5677,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5678,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - value
    - index_
    - format_string
    - '...'
    argTypes:
    - GVariant*
    - gsize
    - gchar*
    constantsTouched: []
    func_position:
      end: 5681
      start: 5660
    functionDepth: 0
    functionLinenumber: 5660
    functionLinenumberEnd: 5681
    functionName: g_variant_get_child
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - valid_format_string
    - g_variant_get_child_value
    - g_variant_unref
    - va_start
    - g_variant_get_va
    - strchr
    - g_variant_get_data
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_get_child (GVariant *value, gsize index_, const gchar
      *format_string, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:6216,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gvariant.c:6220,1
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/gvariant.c:6222,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:6217,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:6216,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/gvariant.c:6224,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gvariant.c:6225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - type
    - data
    - size
    - trusted
    - notify
    - user_data
    argTypes:
    - GVariantType*
    - gconstpointer
    - gsize
    - gboolean
    - GDestroyNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 6228
      start: 6205
    functionDepth: 0
    functionLinenumber: 6205
    functionLinenumberEnd: 6228
    functionName: g_variant_new_from_data
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    - g_bytes_new_static
    - g_variant_new_from_bytes
    - g_bytes_unref
    - g_variant_type_is_definite
    - g_return_val_if_fail
    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:934,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:937,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:938,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:935,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/gvariant.c:935,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:939,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:940,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:940,1
    - Dst: g_variant_make_dict_entry_type
      Src: /src/glib/glib/gvariant.c:942,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:943,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:944,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 947
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 947
    functionName: g_variant_new_dict_entry
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_new
    - g_variant_new_from_children
    - g_variant_is_container
    - g_variant_ref_sink
    - g_variant_is_trusted
    - g_return_val_if_fail
    - g_variant_make_dict_entry_type
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_dict_entry (GVariant *key, GVariant *value) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4955,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/gvariant.c:4956,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:4960,1
    - Dst: g_variant_dup_string
      Src: /src/glib/glib/gvariant.c:4965,1
    - Dst: g_variant_scan_convenience
      Src: /src/glib/glib/gvariant.c:4973,1
    - Dst: g_variant_get_strv
      Src: /src/glib/glib/gvariant.c:4978,1
    - Dst: g_variant_dup_strv
      Src: /src/glib/glib/gvariant.c:4980,1
    - Dst: g_variant_get_objv
      Src: /src/glib/glib/gvariant.c:4986,1
    - Dst: g_variant_dup_objv
      Src: /src/glib/glib/gvariant.c:4988,1
    - Dst: g_variant_get_bytestring_array
      Src: /src/glib/glib/gvariant.c:4994,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:5009,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:5021,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/gvariant.c:5018,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/glib/gvariant.c:4996,1
    - Dst: g_variant_dup_bytestring
      Src: /src/glib/glib/gvariant.c:5004,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:5015,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/gvariant.c:5002,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 28
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - gchar**
    - GVariant*
    constantsTouched: []
    func_position:
      end: 5023
      start: 4948
    functionDepth: 0
    functionLinenumber: 4948
    functionLinenumberEnd: 5023
    functionName: g_variant_valist_get_nnp
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_dup_string
    - g_variant_iter_new
    - g_variant_get_variant
    - g_assert_not_reached
    - g_variant_dup_bytestring_array
    - g_variant_scan_convenience
    - g_variant_dup_bytestring
    - g_variant_type_string_scan
    - g_variant_get_strv
    - g_variant_get_objv
    - g_variant_dup_objv
    - g_variant_get_bytestring
    - g_variant_ref
    - g_variant_get_string
    - g_variant_dup_strv
    - g_variant_get_bytestring_array
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_variant_valist_get_nnp (const gchar **str, GVariant
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_new_dict_entry
      Src: /src/glib/glib/gvariant.c:907,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:907,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 909
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 909
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/glib/glib/gwakeup.c:77,1
    - Dst: GetLastError
      Src: /src/glib/glib/gwakeup.c:81,1
    - Dst: g_error
      Src: /src/glib/glib/gwakeup.c:80,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gwakeup.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: g_wakeup_new
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - g_error
    - CreateEvent
    - GetLastError
    - 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:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    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:143,1
    - Dst: eventfd
      Src: /src/glib/glib/gwakeup.c:148,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/gwakeup.c:162,1
    - Dst: g_error
      Src: /src/glib/glib/gwakeup.c:163,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/gwakeup.c:165,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/gwakeup.c:166,1
    - Dst: g_error
      Src: /src/glib/glib/gwakeup.c:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 170
    functionName: g_wakeup_new
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - g_unix_set_fd_nonblocking
    - g_unix_open_pipe
    - g_error
    - g_slice_new
    - eventfd
    linkageType: ''
    returnType: GWakeup*
    signature: 'GWakeup *g_wakeup_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/glib/gwakeup.c:257,1
    - Dst: write
      Src: /src/glib/glib/gwakeup.c:267,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gwakeup.c:268,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gwakeup.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 270
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 270
    functionName: g_wakeup_signal
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - write
    linkageType: ''
    returnType: void
    signature: 'void g_wakeup_signal (GWakeup *wakeup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/gwakeup.c:284,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gwakeup.c:289,1
    - Dst: close
      Src: /src/glib/glib/gwakeup.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 290
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/glib/glib/gwakeup.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    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:
    - Dst: SetEvent
      Src: /src/glib/glib/gwakeup.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - wakeup
    - poll_fd
    argTypes:
    - GWakeup*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    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: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    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: read
      Src: /src/glib/glib/gwakeup.c:217,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gwakeup.c:227,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gwakeup.c:218,1
    - Dst: read
      Src: /src/glib/glib/gwakeup.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 229
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/glib/glib/gwin32.c:671,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:696,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gwin32.c:683,1
    - Dst: WideCharToMultiByte
      Src: /src/glib/glib/gwin32.c:685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - wstring
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 699
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 699
    functionName: special_wchar_to_locale_encoding
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_malloc0
    - WideCharToMultiByte
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *special_wchar_to_locale_encoding (wchar_t *wstring) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: AllocConsole
      Src: /src/glib/glib/gwin32.c:890,1
    - Dst: AttachConsole
      Src: /src/glib/glib/gwin32.c:900,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gwin32.c:908,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:913,1
    - Dst: GetStdHandle
      Src: /src/glib/glib/gwin32.c:936,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32.c:918,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:958,1
    - Dst: strerror
      Src: /src/glib/glib/gwin32.c:961,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:969,1
    - Dst: _open_osfhandle
      Src: /src/glib/glib/gwin32.c:975,1
    - Dst: _dup2
      Src: /src/glib/glib/gwin32.c:1018,1
    - Dst: _dup2
      Src: /src/glib/glib/gwin32.c:1045,1
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:889,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gwin32.c:902,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:932,1
    - Dst: ferror
      Src: /src/glib/glib/gwin32.c:930,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:979,1
    - Dst: dup
      Src: /src/glib/glib/gwin32.c:984,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:987,1
    - Dst: strerror
      Src: /src/glib/glib/gwin32.c:1006,1
    - Dst: _close
      Src: /src/glib/glib/gwin32.c:1048,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:1005,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:1046,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gwin32.c:889,1
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:892,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gwin32.c:906,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gwin32.c:910,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gwin32.c:916,1
    - Dst: freopen
      Src: /src/glib/glib/gwin32.c:955,1
    - Dst: GetLastError
      Src: /src/glib/glib/gwin32.c:940,1
    - Dst: _close
      Src: /src/glib/glib/gwin32.c:1008,1
    - Dst: _close
      Src: /src/glib/glib/gwin32.c:1025,1
    - Dst: _close
      Src: /src/glib/glib/gwin32.c:1032,1
    - Dst: strerror
      Src: /src/glib/glib/gwin32.c:1022,1
    - Dst: fileno
      Src: /src/glib/glib/gwin32.c:946,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:941,1
    - Dst: fileno
      Src: /src/glib/glib/gwin32.c:965,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:1021,1
    - Dst: _dup2
      Src: /src/glib/glib/gwin32.c:1002,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1050
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 1050
    functionName: g_console_win32_init
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - ferror
    - dup
    - fileno
    - strerror
    - _dup2
    - g_strcmp0
    - freopen
    - AttachConsole
    - g_warning
    - g_strsplit
    - _open_osfhandle
    - g_strfreev
    - g_getenv
    - GetLastError
    - AllocConsole
    - G_N_ELEMENTS
    - _close
    - GetStdHandle
    linkageType: ''
    returnType: void
    signature: 'void g_console_win32_init (void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:1158,1
    - Dst: CreateProcessW
      Src: /src/glib/glib/gwin32.c:1163,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/gwin32.c:1173,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1188,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1197,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1205,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1212,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1216,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1217,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1220,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gwin32.c:1238,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1221,1
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:1159,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gwin32.c:1166,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1177,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1179,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1183,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1199,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1214,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1224,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1219,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gwin32.c:1135,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gwin32.c:1165,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1187,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1201,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1223,1
    - Dst: OutputDebugStringA
      Src: /src/glib/glib/gwin32.c:1231,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1180,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1185,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1181,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1184,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1195,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1193,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1202,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1204,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1208,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1210,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1230,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 91
    argCount: 1
    argNames:
    - ExceptionInfo
    argTypes:
    - PEXCEPTION_POINTERS
    constantsTouched: []
    func_position:
      end: 1242
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1242
    functionName: g_win32_veh_handler
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - OutputDebugStringA
    - CreateProcessW
    - CloseHandle
    - copy_chars
    - memset
    - _ui64toa_s
    - IsDebuggerPresent
    - WaitForSingleObject
    linkageType: ''
    returnType: LONG
    signature: 'static LONG __stdcall g_win32_veh_handler (PEXCEPTION_POINTERS ExceptionInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wcstoul
      Src: /src/glib/glib/gwin32.c:1259,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - catch_buffer
    - exceptions
    - num_exceptions
    argTypes:
    - wchar_t*
    - DWORD*
    - gsize
    constantsTouched: []
    func_position:
      end: 1270
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1270
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gwin32.c:652,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gwin32.c:653,1
    - Dst: GetVersion
      Src: /src/glib/glib/gwin32.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 656
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 656
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommandLineToArgvW
      Src: /src/glib/glib/gwin32.c:802,1
    - Dst: g_new
      Src: /src/glib/glib/gwin32.c:804,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:806,1
    - Dst: LocalFree
      Src: /src/glib/glib/gwin32.c:809,1
    - Dst: GetCommandLineW
      Src: /src/glib/glib/gwin32.c:802,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 811
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 811
    functionName: g_win32_get_command_line
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_new
    - CommandLineToArgvW
    - g_utf16_to_utf8
    - GetCommandLineW
    - LocalFree
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_win32_get_command_line (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strerror
      Src: /src/glib/glib/gwin32.c:1502,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gwin32.c:1503,1
    - Dst: g_win32_handle_is_socket
      Src: /src/glib/glib/gwin32.c:1508,1
    - Dst: WSADuplicateSocket
      Src: /src/glib/glib/gwin32.c:1512,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/glib/gwin32.c:1513,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/gwin32.c:1516,1
    - Dst: g_set_error
      Src: /src/glib/glib/gwin32.c:1517,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gwin32.c:1529,1
    - Dst: _open_osfhandle
      Src: /src/glib/glib/gwin32.c:1548,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gwin32.c:1553,1
    - Dst: g_close
      Src: /src/glib/glib/gwin32.c:1557,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/gwin32.c:1529,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1532,1
    - Dst: DuplicateHandle
      Src: /src/glib/glib/gwin32.c:1536,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gwin32.c:1536,1
    - Dst: g_set_error
      Src: /src/glib/glib/gwin32.c:1530,1
    - Dst: GetLastError
      Src: /src/glib/glib/gwin32.c:1540,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1543,1
    - Dst: WSASocket
      Src: /src/glib/glib/gwin32.c:1523,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1519,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gwin32.c:1497,1
    - Dst: g_set_error
      Src: /src/glib/glib/gwin32.c:1503,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gwin32.c:1516,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gwin32.c:1537,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gwin32.c:1540,1
    - Dst: g_set_error
      Src: /src/glib/glib/gwin32.c:1541,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gwin32.c:1551,1
    - Dst: g_close
      Src: /src/glib/glib/gwin32.c:1560,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - fd
    - mode
    - error
    argTypes:
    - int
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 1565
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1565
    functionName: g_win32_reopen_noninherited
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - WSADuplicateSocket
    - DuplicateHandle
    - g_free
    - g_close
    - g_strerror
    - CloseHandle
    - WSASocket
    - GetCurrentProcessId
    - _open_osfhandle
    - GetCurrentProcess
    - g_win32_handle_is_socket
    - g_file_error_from_errno
    - GetLastError
    - WSAGetLastError
    - g_set_error_literal
    - g_win32_error_message
    - _get_osfhandle
    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:214,1
    - Dst: LocalFree
      Src: /src/glib/glib/gwin32.c:228,1
    - Dst: wcslen
      Src: /src/glib/glib/gwin32.c:221,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:226,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - error
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: g_win32_error_message
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - wcslen
    - FormatMessageW
    - g_utf16_to_utf8
    - LocalFree
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_error_message (gint error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gwin32.c:736,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32.c:748,1
    - Dst: special_wchar_to_locale_encoding
      Src: /src/glib/glib/gwin32.c:741,1
    - Dst: GetShortPathNameW
      Src: /src/glib/glib/gwin32.c:748,1
    - Dst: special_wchar_to_locale_encoding
      Src: /src/glib/glib/gwin32.c:749,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:752,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - utf8filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 755
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 755
    functionName: g_win32_locale_filename_from_utf8
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_free
    - g_utf8_to_utf16
    - special_wchar_to_locale_encoding
    - G_N_ELEMENTS
    - GetShortPathNameW
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_locale_filename_from_utf8 (const gchar *utf8filename) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:129,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:132,1
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:131,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/gwin32.c:134,1
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:130,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gwin32.c:136,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gwin32.c:137,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:138,1
    - Dst: LANGIDFROMLCID
      Src: /src/glib/glib/gwin32.c:141,1
    - Dst: PRIMARYLANGID
      Src: /src/glib/glib/gwin32.c:144,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:183,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:184,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gwin32.c:186,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:188,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:189,1
    - Dst: SUBLANGID
      Src: /src/glib/glib/gwin32.c:145,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 192
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 192
    functionName: g_win32_getlocale
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - GetLocaleInfoW
    - g_free
    - GetThreadLocale
    - PRIMARYLANGID
    - SUBLANGID
    - g_getenv
    - LANGIDFROMLCID
    - g_strconcat
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_getlocale (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/glib/glib/gwin32.c:1470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - HANDLE
    constantsTouched: []
    func_position:
      end: 1474
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1474
    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:488,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:492,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gwin32.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - package
    - dll_name
    - subdir
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 495
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 495
    functionName: g_win32_get_package_installation_subdirectory
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - g_free
    - g_win32_get_package_installation_directory
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_get_package_installation_subdirectory (const gchar
      *package, const gchar *dll_name, const gchar *subdir) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32.c:1384,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:1393,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:1400,1
    - Dst: GetModuleFileNameW
      Src: /src/glib/glib/gwin32.c:1395,1
    - Dst: strrchr
      Src: /src/glib/glib/gwin32.c:1404,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1407,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gwin32.c:1425,1
    - Dst: g_assert
      Src: /src/glib/glib/gwin32.c:1426,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gwin32.c:1426,1
    - Dst: g_file_test
      Src: /src/glib/glib/gwin32.c:1427,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1430,1
    - Dst: strrchr
      Src: /src/glib/glib/gwin32.c:1438,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1444,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/gwin32.c:1449,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:1451,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 2
    argNames:
    - executable_name
    - dll_handle
    argTypes:
    - gchar*
    - void*
    constantsTouched: []
    func_position:
      end: 1455
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1455
    functionName: g_win32_find_helper_executable_path
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - strrchr
    - g_assert
    - g_find_program_in_path
    - g_build_filename
    - g_file_test
    - GetModuleFileNameW
    - G_N_ELEMENTS
    - g_utf16_to_utf8
    - g_return_val_if_fail
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_find_helper_executable_path (const gchar *executable_name,
      void *dll_handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _chsize
      Src: /src/glib/glib/gwin32.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - gint
    - guint
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    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:281,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:289,1
    - Dst: strrchr
      Src: /src/glib/glib/gwin32.c:286,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:284,1
    - Dst: strrchr
      Src: /src/glib/glib/gwin32.c:293,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gwin32.c:299,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gwin32.c:300,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:307,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:311,1
    - Dst: cygwin_conv_to_posix_path
      Src: /src/glib/glib/gwin32.c:318,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:319,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:320,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - hmodule
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 325
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 325
    functionName: g_win32_get_package_installation_directory_of_module
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ascii_strcasecmp
    - g_free
    - strrchr
    - GetModuleFileNameW
    - g_utf16_to_utf8
    - cygwin_conv_to_posix_path
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_get_package_installation_directory_of_module (gpointer
      hmodule) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:439,1
    - Dst: get_package_directory_from_module
      Src: /src/glib/glib/gwin32.c:442,1
    - Dst: get_package_directory_from_module
      Src: /src/glib/glib/gwin32.c:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - package
    - dll_name
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 448
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 448
    functionName: g_win32_get_package_installation_directory
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - get_package_directory_from_module
    - g_warning
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_get_package_installation_directory (const gchar *package,
      const gchar *dll_name) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:575,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:576,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:615,1
    - Dst: _g_win32_call_rtl_version
      Src: /src/glib/glib/gwin32.c:581,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:579,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 4
    argNames:
    - major
    - minor
    - spver
    - os_type
    argTypes:
    - gint
    - gint
    - gint
    - GWin32OSType
    constantsTouched: []
    func_position:
      end: 621
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 621
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 2
    argNames:
    - package
    - dll_name
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 829
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 829
    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:1289,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32.c:1299,1
    - Dst: CreateEvent
      Src: /src/glib/glib/gwin32.c:1296,1
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:1293,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/gwin32.c:1299,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/glib/gwin32.c:1300,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gwin32.c:1303,1
    - Dst: GetEnvironmentVariableW
      Src: /src/glib/glib/gwin32.c:1311,1
    - Dst: parse_catch_list
      Src: /src/glib/glib/gwin32.c:1313,1
    - Dst: g_new0
      Src: /src/glib/glib/gwin32.c:1316,1
    - Dst: parse_catch_list
      Src: /src/glib/glib/gwin32.c:1317,1
    - Dst: GetEnvironmentVariableW
      Src: /src/glib/glib/gwin32.c:1321,1
    - Dst: AddVectoredExceptionHandler
      Src: /src/glib/glib/gwin32.c:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1327
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1327
    functionName: g_crash_handler_win32_init
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_new0
    - CloseHandle
    - parse_catch_list
    - GetCurrentProcessId
    - memset
    - CreateEvent
    - AddVectoredExceptionHandler
    - G_N_ELEMENTS
    - GetEnvironmentVariableW
    - _g_win32_subst_pid_and_event_w
    linkageType: ''
    returnType: void
    signature: 'void g_crash_handler_win32_init (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/glib/gwin32.c:331,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gwin32.c:338,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gwin32.c:335,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gwin32.c:344,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gwin32.c:340,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:345,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gwin32.c:350,1
    - Dst: GetModuleHandleW
      Src: /src/glib/glib/gwin32.c:351,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:352,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gwin32.c:356,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gwin32.c:369,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:369,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/gwin32.c:361,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gwin32.c:371,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:373,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gwin32.c:365,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - module_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 374
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 374
    functionName: get_package_directory_from_module
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - GetModuleHandleW
    - g_free
    - g_utf8_to_utf16
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - g_hash_table_lookup
    - g_hash_table_new
    - g_win32_get_package_installation_directory_of_module
    - G_LOCK_DEFINE_STATIC
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_package_directory_from_module (const gchar *module_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 3
    argNames:
    - package
    - dll_name
    - subdir
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 841
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 841
    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:1076,1
    - Dst: strlen
      Src: /src/glib/glib/gwin32.c:1076,1
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:1077,1
    - Dst: strncpy_s
      Src: /src/glib/glib/gwin32.c:1078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - buffer_size
    - to_copy
    argTypes:
    - char*
    - gsize*
    - char*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1081
    functionName: copy_chars
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - MIN
    - strncpy_s
    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:1333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1336
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1336
    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: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:507,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:517,1
    - Dst: GetProcAddress
      Src: /src/glib/glib/gwin32.c:519,1
    - Dst: LoadLibraryW
      Src: /src/glib/glib/gwin32.c:516,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gwin32.c:509,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:520,1
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:523,1
    - Dst: RtlGetVersion
      Src: /src/glib/glib/gwin32.c:526,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/gwin32.c:529,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gwin32.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSVERSIONINFOEXW*
    constantsTouched: []
    func_position:
      end: 537
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 537
    functionName: _g_win32_call_rtl_version
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - LoadLibraryW
    - GetProcAddress
    - g_once_init_enter
    - memset
    - FreeLibrary
    - RtlGetVersion
    - g_once_init_leave
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_win32_call_rtl_version (OSVERSIONINFOEXW *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ckey
    - value
    argTypes:
    - GSliceConfig
    - gint64
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ckey
    - address
    - n_values
    argTypes:
    - GSliceConfig
    - gint64
    - guint*
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gslice.c:251,1
    - Dst: TRACE
      Src: /src/glib/glib/gslice.c:252,1
    - Dst: GLIB_SLICE_ALLOC
      Src: /src/glib/glib/gslice.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mem_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: g_slice_alloc
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached:
    - g_malloc
    - TRACE
    - GLIB_SLICE_ALLOC
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_slice_alloc (gsize mem_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_alloc
      Src: /src/glib/glib/gslice.c:275,1
    - Dst: memset
      Src: /src/glib/glib/gslice.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mem_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    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:333,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gslice.c:335,1
    - Dst: TRACE
      Src: /src/glib/glib/gslice.c:336,1
    - Dst: memset
      Src: /src/glib/glib/gslice.c:334,1
    - Dst: GLIB_SLICE_FREE
      Src: /src/glib/glib/gslice.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mem_size
    - mem_block
    argTypes:
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: g_slice_free1
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - memset
    - GLIB_SLICE_FREE
    - TRACE
    - g_free_sized
    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: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    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:303,1
    - Dst: memcpy
      Src: /src/glib/glib/gslice.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - mem_size
    - mem_block
    argTypes:
    - gsize
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    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:371,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gslice.c:373,1
    - Dst: memset
      Src: /src/glib/glib/gslice.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - mem_size
    - mem_chain
    - next_offset
    argTypes:
    - gsize
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 375
    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:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_unlock
      Src: /src/glib/glib/gvariant-core.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 771
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1252,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant-core.c:1257,1
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1259,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gvariant-core.c:1254,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1257,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant-core.c:1265,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1266,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1271,1
    - Dst: g_variant_to_serialised
      Src: /src/glib/glib/gvariant-core.c:1275,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/gvariant-core.c:1281,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-core.c:1285,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-core.c:1289,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant-core.c:1290,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariant*
    - gsize
    constantsTouched: []
    func_position:
      end: 1292
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1292
    functionName: g_variant_maybe_get_child_value
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_serialised_get_child
    - g_variant_n_children
    - g_variant_get_child_value
    - g_variant_to_serialised
    - g_variant_unlock
    - g_atomic_int_get
    - g_variant_ref
    - g_variant_type_info_unref
    - g_variant_lock
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_maybe_get_child_value (GVariant *value, gsize
      index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_lock
      Src: /src/glib/glib/gvariant-core.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:524,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:531,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-core.c:533,1
    - Dst: g_variant_ensure_size
      Src: /src/glib/glib/gvariant-core.c:532,1
    - Dst: GLIB_VARIANT_START_SERIALISE
      Src: /src/glib/glib/gvariant-core.c:531,1
    - Dst: g_variant_serialise
      Src: /src/glib/glib/gvariant-core.c:534,1
    - Dst: g_variant_release_children
      Src: /src/glib/glib/gvariant-core.c:536,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant-core.c:538,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:539,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:544,1
    - Dst: GLIB_VARIANT_END_SERIALISE
      Src: /src/glib/glib/gvariant-core.c:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 546
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 546
    functionName: g_variant_ensure_serialised
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - GLIB_VARIANT_START_SERIALISE
    - g_variant_release_children
    - g_bytes_get_data
    - g_variant_serialise
    - g_assert
    - GLIB_VARIANT_END_SERIALISE
    - TRACE
    - g_bytes_new_take
    - g_variant_ensure_size
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_ensure_serialised (GVariant *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:474,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:480,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:476,1
    - Dst: g_variant_ensure_size
      Src: /src/glib/glib/gvariant-core.c:475,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:484,1
    - Dst: g_variant_store
      Src: /src/glib/glib/gvariant-core.c:502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - serialised
    - data
    argTypes:
    - GVariantSerialised*
    - gpointer
    constantsTouched: []
    func_position:
      end: 503
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 503
    functionName: g_variant_fill_gvs
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_store
    - g_variant_unlock
    - g_variant_lock
    - g_variant_ensure_size
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_fill_gvs (GVariantSerialised *serialised, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 734
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 734
    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: 756
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 756
    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:926,1
    - Dst: GLIB_VARIANT_TAKE_REF
      Src: /src/glib/glib/gvariant-core.c:929,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:927,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:929,1
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/gvariant-core.c:927,1
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/gvariant-core.c:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 933
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 933
    functionName: g_variant_take_ref
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - GLIB_VARIANT_TAKE_REF
    - TRACE
    - g_atomic_int_and
    - g_return_val_if_fail
    - g_atomic_ref_count_compare
    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:984,1
    - Dst: g_variant_ensure_size
      Src: /src/glib/glib/gvariant-core.c:985,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 989
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 989
    functionName: g_variant_get_size
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_lock
    - g_variant_ensure_size
    - g_variant_unlock
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_get_size (GVariant *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1361,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-core.c:1368,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/gvariant-core.c:1377,1
    - Dst: g_variant_to_serialised
      Src: /src/glib/glib/gvariant-core.c:1368,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1386
    functionName: g_variant_is_normal_form
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_is_normal_form
    - g_variant_to_serialised
    - g_variant_unlock
    - g_variant_serialised_is_normal
    - g_variant_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_normal_form (GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:378,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/gvariant-core.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 391
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 391
    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_assert
      Src: /src/glib/glib/gvariant-core.c:435,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:436,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/gvariant-core.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - value
    - data
    argTypes:
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 450
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 450
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/glib/glib/gvariant-core.c:636,1
    - Dst: memcpy
      Src: /src/glib/glib/gvariant-core.c:641,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gvariant-core.c:643,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gvariant-core.c:657,1
    - Dst: g_variant_alloc
      Src: /src/glib/glib/gvariant-core.c:610,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-core.c:627,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant-core.c:638,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:652,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:681,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/gvariant-core.c:653,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/gvariant-core.c:659,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:622,1
    - Dst: MAX
      Src: /src/glib/glib/gvariant-core.c:636,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:641,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gvariant-core.c:679,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/gvariant-core.c:652,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/gvariant-core.c:631,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-core.c:612,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:673,1
    - Dst: GLIB_VARIANT_FROM_BUFFER
      Src: /src/glib/glib/gvariant-core.c:681,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - type
    - bytes
    - trusted
    argTypes:
    - GVariantType*
    - GBytes*
    - gboolean
    constantsTouched: []
    func_position:
      end: 684
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 684
    functionName: g_variant_new_from_bytes
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_bytes_new_with_free_func
    - g_bytes_get_data
    - g_clear_pointer
    - g_bytes_new
    - g_variant_alloc
    - posix_memalign
    - g_error
    - GLIB_VARIANT_FROM_BUFFER
    - g_variant_serialised_check
    - g_variant_type_info_query
    - TRACE
    - g_bytes_ref
    - MAX
    - g_bytes_get_size
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_from_bytes (const GVariantType *type, GBytes
      *bytes, gboolean trusted) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant-core.c:787,1
    - Dst: GLIB_VARIANT_UNREF
      Src: /src/glib/glib/gvariant-core.c:789,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/gvariant-core.c:791,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:789,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant-core.c:794,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-core.c:799,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gvariant-core.c:802,1
    - Dst: g_variant_release_children
      Src: /src/glib/glib/gvariant-core.c:804,1
    - Dst: memset
      Src: /src/glib/glib/gvariant-core.c:806,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-core.c:807,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 809
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 809
    functionName: g_variant_unref
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_release_children
    - GLIB_VARIANT_UNREF
    - g_bytes_unref
    - g_critical
    - memset
    - TRACE
    - g_variant_type_info_unref
    - g_slice_free
    - g_atomic_ref_count_dec
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_unref (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1028,1
    - Dst: g_variant_ensure_serialised
      Src: /src/glib/glib/gvariant-core.c:1029,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1033
    functionName: g_variant_get_data
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_lock
    - g_variant_ensure_serialised
    - g_variant_unlock
    linkageType: ''
    returnType: gconstpointer
    signature: 'gconstpointer g_variant_get_data (GVariant *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1153,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1172,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:1199,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:1218,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant-core.c:1158,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant-core.c:1166,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-core.c:1205,1
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1160,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/gvariant-core.c:1183,1
    - Dst: g_variant_type_info_query_depth
      Src: /src/glib/glib/gvariant-core.c:1196,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-core.c:1200,1
    - Dst: g_variant_new_tuple
      Src: /src/glib/glib/gvariant-core.c:1201,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gvariant-core.c:1210,1
    - Dst: MAX
      Src: /src/glib/glib/gvariant-core.c:1187,1
    - Dst: MAX
      Src: /src/glib/glib/gvariant-core.c:1186,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gvariant-core.c:1213,1
    - Dst: GLIB_VARIANT_FROM_PARENT
      Src: /src/glib/glib/gvariant-core.c:1218,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1158,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gvariant-core.c:1155,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1167,1
    - Dst: g_variant_to_serialised
      Src: /src/glib/glib/gvariant-core.c:1176,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant-core.c:1199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariant*
    - gsize
    constantsTouched: []
    func_position:
      end: 1222
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1222
    functionName: g_variant_get_child_value
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query_depth
    - g_variant_ref
    - g_atomic_ref_count_init
    - g_return_val_if_fail
    - g_variant_serialised_get_child
    - g_variant_unlock
    - g_atomic_int_get
    - g_variant_type_info_unref
    - g_variant_lock
    - g_variant_to_serialised
    - g_slice_new
    - g_bytes_ref
    - MAX
    - g_variant_new_tuple
    - g_assert
    - g_variant_n_children
    - GLIB_VARIANT_FROM_PARENT
    - TRACE
    - g_variant_is_of_type
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_get_child_value (GVariant *value, gsize index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:302,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant-core.c:306,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-core.c:308,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 309
    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:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 414
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 414
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-core.c:567,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant-core.c:568,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gvariant-core.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - type
    - serialised
    - trusted
    argTypes:
    - GVariantType*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 577
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 577
    functionName: g_variant_alloc
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_get
    - g_atomic_ref_count_init
    - g_slice_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_alloc (const GVariantType *type, gboolean
      serialised, gboolean trusted) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1103,1
    - Dst: g_variant_to_serialised
      Src: /src/glib/glib/gvariant-core.c:1107,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/gvariant-core.c:1106,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1114
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1114
    functionName: g_variant_n_children
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_lock
    - g_variant_to_serialised
    - g_variant_serialised_n_children
    - g_variant_unlock
    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:1318,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1330,1
    - Dst: memcpy
      Src: /src/glib/glib/gvariant-core.c:1323,1
    - Dst: g_variant_serialise
      Src: /src/glib/glib/gvariant-core.c:1328,1
    - Dst: memset
      Src: /src/glib/glib/gvariant-core.c:1325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - value
    - data
    argTypes:
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1331
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1331
    functionName: g_variant_store
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_variant_serialise
    - g_variant_unlock
    - memset
    - g_variant_lock
    linkageType: ''
    returnType: void
    signature: 'void g_variant_store (GVariant *value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:824,1
    - Dst: GLIB_VARIANT_REF
      Src: /src/glib/glib/gvariant-core.c:826,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/gvariant-core.c:828,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 831
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 831
    functionName: g_variant_ref
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - GLIB_VARIANT_REF
    - g_return_val_if_fail
    - TRACE
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_ref (GVariant *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1056,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:1066,1
    - Dst: g_variant_ensure_serialised
      Src: /src/glib/glib/gvariant-core.c:1057,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:1060,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1058,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gvariant-core.c:1071,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/gvariant-core.c:1073,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1075
    functionName: g_variant_get_data_as_bytes
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_bytes_new_from_bytes
    - g_assert
    - g_variant_ensure_serialised
    - g_variant_unlock
    - g_bytes_ref
    - g_variant_lock
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_variant_get_data_as_bytes (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_alloc
      Src: /src/glib/glib/gvariant-core.c:712,1
    - Dst: GLIB_VARIANT_FROM_CHILDREN
      Src: /src/glib/glib/gvariant-core.c:715,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - type
    - children
    - n_children
    - trusted
    argTypes:
    - GVariantType*
    - GVariant**
    - gsize
    - gboolean
    constantsTouched: []
    func_position:
      end: 718
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 718
    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:867,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:872,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:868,1
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:870,1
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/gvariant-core.c:868,1
    - Dst: GLIB_VARIANT_REF_SINK
      Src: /src/glib/glib/gvariant-core.c:872,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant-core.c:875,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:879,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 882
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 882
    functionName: g_variant_ref_sink
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_unlock
    - g_variant_ref
    - TRACE
    - g_variant_lock
    - g_return_val_if_fail
    - g_atomic_ref_count_compare
    - GLIB_VARIANT_REF_SINK
    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:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 959
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 959
    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: 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:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 303
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 303
    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:335,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gbitlock.c:341,1
    - Dst: g_futex_wake
      Src: /src/glib/glib/gbitlock.c:342,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gbitlock.c:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 344
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 344
    functionName: g_bit_unlock
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_and
    - g_futex_wake
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'void g_bit_unlock (volatile gint *address, gint lock_bit) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbitlock.c:411,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gbitlock.c:433,1
    - Dst: g_futex_wait
      Src: /src/glib/glib/gbitlock.c:436,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:435,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gbitlock.c:430,1
    - Dst: g_futex_int_address
      Src: /src/glib/glib/gbitlock.c:436,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:437,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/gbitlock.c:447,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gbitlock.c:451,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:453,1
    - Dst: g_futex_int_address
      Src: /src/glib/glib/gbitlock.c:454,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:455,1
    - Dst: g_futex_wait
      Src: /src/glib/glib/gbitlock.c:454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - void*
    - gint
    constantsTouched: []
    func_position:
      end: 461
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 461
    functionName: (g_pointer_bit_lock)
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_atomic_pointer_get
    - g_futex_wait
    - g_futex_int_address
    - g_atomic_pointer_or
    - G_N_ELEMENTS
    - g_return_if_fail
    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:536,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/glib/gbitlock.c:548,1
    - Dst: g_futex_wake
      Src: /src/glib/glib/gbitlock.c:554,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gbitlock.c:553,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gbitlock.c:552,1
    - Dst: g_futex_int_address
      Src: /src/glib/glib/gbitlock.c:554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - void*
    - gint
    constantsTouched: []
    func_position:
      end: 557
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 557
    functionName: (g_pointer_bit_unlock)
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_and
    - g_atomic_int_get
    - g_futex_int_address
    - g_futex_wake
    - G_N_ELEMENTS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_pointer_bit_unlock) (volatile void *address, gint lock_bit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gbitlock.c:166,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gbitlock.c:168,1
    - Dst: g_futex_find_address
      Src: /src/glib/glib/gbitlock.c:167,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_mutex_unlock
    - g_futex_find_address
    - g_cond_signal
    - 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_futex_find_address
      Src: /src/glib/glib/gbitlock.c:131,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gbitlock.c:127,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gbitlock.c:135,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gbitlock.c:133,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_futex_find_address
    - g_mutex_lock
    - g_cond_wait
    - g_atomic_int_get
    - g_mutex_unlock
    - g_slist_prepend
    - g_slice_new
    - g_cond_clear
    - g_slice_free
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'static void g_futex_wait (const gint *address, gint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - gint*
    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: 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gbitlock.c:225,1
    - Dst: g_futex_wait
      Src: /src/glib/glib/gbitlock.c:231,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:230,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gbitlock.c:228,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:232,1
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/gbitlock.c:241,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gbitlock.c:245,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:247,1
    - Dst: g_futex_wait
      Src: /src/glib/glib/gbitlock.c:248,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 254
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 254
    functionName: g_bit_lock
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_futex_wait
    - g_atomic_int_get
    - G_N_ELEMENTS
    - g_atomic_int_or
    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:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - address
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 387
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 387
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbitlock.c:485,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbitlock.c:505,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/gbitlock.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - void*
    - gint
    constantsTouched: []
    func_position:
      end: 512
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 512
    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: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - stack_p
    - data_p
    argTypes:
    - GTrashStack**
    - gpointer
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    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: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    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: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    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: 109
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 109
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariable
      Src: /src/glib/glib/glib-init.c:316,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/glib-init.c:327,1
    - Dst: getenv
      Src: /src/glib/glib/glib-init.c:321,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: 328
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: g_parse_debug_envvar
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - getenv
    - GetEnvironmentVariable
    - g_parse_debug_string
    linkageType: ''
    returnType: guint
    signature: 'static guint g_parse_debug_envvar (const gchar *envvar, const GDebugKey
      *keys, gint n_keys, guint default_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_parse_debug_envvar
      Src: /src/glib/glib/glib-init.c:355,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/glib-init.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: g_debug_init
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - g_parse_debug_envvar
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_crash_handler_win32_init
      Src: /src/glib/glib/glib-init.c:392,1
    - Dst: g_console_win32_init
      Src: /src/glib/glib/glib-init.c:400,1
    - Dst: g_thread_win32_init
      Src: /src/glib/glib/glib-init.c:394,1
    - Dst: glib_init
      Src: /src/glib/glib/glib-init.c:398,1
    - Dst: g_clock_win32_init
      Src: /src/glib/glib/glib-init.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: glib_win32_init
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - glib_init
    - g_crash_handler_win32_init
    - g_console_win32_init
    - g_thread_win32_init
    - g_clock_win32_init
    linkageType: ''
    returnType: void
    signature: 'void glib_win32_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/glib/glib/glib-init.c:195,1
    - Dst: tolower
      Src: /src/glib/glib/glib-init.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - key
    - token
    - length
    argTypes:
    - gchar*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 203
    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:342,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/glib-init.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 343
    functionName: g_messages_prefixed_init
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - g_parse_debug_envvar
    - G_N_ELEMENTS
    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:372,1
    - Dst: g_debug_init
      Src: /src/glib/glib/glib-init.c:373,1
    - Dst: g_quark_init
      Src: /src/glib/glib/glib-init.c:374,1
    - Dst: g_error_init
      Src: /src/glib/glib/glib-init.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: glib_init
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - g_quark_init
    - g_debug_init
    - g_error_init
    - g_messages_prefixed_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:409,1
    - Dst: g_crash_handler_win32_deinit
      Src: /src/glib/glib/glib-init.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - detach_thread
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    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:429,1
    - Dst: g_thread_win32_thread_detach
      Src: /src/glib/glib/glib-init.c:434,1
    - Dst: glib_win32_deinit
      Src: /src/glib/glib/glib-init.c:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 448
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 448
    functionName: DllMain
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - glib_win32_deinit
    - g_thread_win32_thread_detach
    - glib_win32_init
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_win32_init
      Src: /src/glib/glib/glib-init.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: glib_init_ctor
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - glib_win32_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: glib_win32_deinit
      Src: /src/glib/glib/glib-init.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 472
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 472
    functionName: glib_init_dtor
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - glib_win32_deinit
    linkageType: ''
    returnType: G_DEFINE_DESTRUCTOR (glib_init_dtor)
    signature: 'G_DEFINE_DESTRUCTOR (glib_init_dtor) static void glib_init_dtor (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_init
      Src: /src/glib/glib/glib-init.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 489
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/glib/glib/glib-init.c:254,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-init.c:260,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-init.c:257,1
    - Dst: strpbrk
      Src: /src/glib/glib/glib-init.c:270,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-init.c:259,1
    - Dst: strlen
      Src: /src/glib/glib/glib-init.c:272,1
    - Dst: debug_key_matches
      Src: /src/glib/glib/glib-init.c:274,1
    - Dst: debug_key_matches
      Src: /src/glib/glib/glib-init.c:281,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - string
    - keys
    - nkeys
    argTypes:
    - gchar*
    - GDebugKey*
    - guint
    constantsTouched: []
    func_position:
      end: 302
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 302
    functionName: g_parse_debug_string
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - strlen
    - debug_key_matches
    - strcasecmp
    - fprintf
    - strpbrk
    linkageType: ''
    returnType: guint
    signature: 'guint g_parse_debug_string (const gchar *string, const GDebugKey *keys,
      guint nkeys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - GDateMonth
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:802,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:802,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:807,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:809,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:805,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:811,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:813,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/gdate.c:815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 818
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 818
    functionName: g_date_get_sunday_week_of_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_clear
    - g_date_set_dmy
    - g_date_get_day_of_year
    - g_date_get_weekday
    - g_date_update_dmy
    - g_return_val_if_fail
    - g_date_valid
    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:890,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:891,1
    - Dst: memset
      Src: /src/glib/glib/gdate.c:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - d
    - ndates
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 894
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 894
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_set_time_t
      Src: /src/glib/glib/gdate.c:1528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - date
    - timeval
    argTypes:
    - GDate*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1529
    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_val_if_fail
      Src: /src/glib/glib/gdate.c:1671,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1671,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1676,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1680
    functionName: g_date_is_first_of_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_valid
    - g_date_update_dmy
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_is_first_of_month (const GDate *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2191,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2191,1
    - Dst: g_date_compare
      Src: /src/glib/glib/gdate.c:2194,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2192,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - date1
    - date2
    argTypes:
    - GDate*
    - GDate*
    constantsTouched: []
    func_position:
      end: 2200
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2200
    functionName: g_date_order
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_compare
    - g_date_valid
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_order (GDate *date1, GDate *date2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1544,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1545,1
    - Dst: g_date_valid_month
      Src: /src/glib/glib/gdate.c:1545,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1547,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - d
    - m
    argTypes:
    - GDate*
    - GDateMonth
    constantsTouched: []
    func_position:
      end: 1556
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1556
    functionName: g_date_set_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_dmy
    - g_date_valid_month
    - g_date_update_dmy
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:542,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:545,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:545,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:543,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:544,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:561,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:565,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/gdate.c:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - const_d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 568
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 568
    functionName: g_date_update_julian
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_dmy
    - g_date_valid_julian
    - g_date_is_leap_year
    - 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:871,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:872,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:871,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/gdate.c:874,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:872,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/gdate.c:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - d1
    - d2
    argTypes:
    - GDate*
    - GDate*
    constantsTouched: []
    func_position:
      end: 875
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 875
    functionName: g_date_days_between
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_get_julian
    - g_return_val_if_fail
    - g_date_valid
    linkageType: ''
    returnType: gint
    signature: "gint g_date_days_between (const GDate *d1,\t\t const GDate *d2) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2161,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2164,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2161,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2167,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2164,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2167,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2170,1
    - Dst: g_date_compare
      Src: /src/glib/glib/gdate.c:2170,1
    - Dst: g_date_compare
      Src: /src/glib/glib/gdate.c:2172,1
    - Dst: g_date_compare
      Src: /src/glib/glib/gdate.c:2175,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - date
    - min_date
    - max_date
    argTypes:
    - GDate*
    - GDate*
    - GDate*
    constantsTouched: []
    func_position:
      end: 2177
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2177
    functionName: g_date_clamp
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_compare
    - g_date_valid
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:341,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/gdate.c:341,1
    - Dst: g_new
      Src: /src/glib/glib/gdate.c:343,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:350,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - julian_day
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 353
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 353
    functionName: g_date_new_julian
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_new
    - g_return_val_if_fail
    - g_date_valid_julian
    - g_date_valid
    linkageType: ''
    returnType: GDate*
    signature: 'GDate *g_date_new_julian (guint32 julian_day) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDateDay
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    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:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - d
    - m
    - y
    argTypes:
    - GDateDay
    - GDateMonth
    - GDateYear
    constantsTouched: []
    func_position:
      end: 529
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 529
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:670,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:675,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:670,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: g_date_get_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_valid
    - g_date_update_dmy
    linkageType: ''
    returnType: GDateYear
    signature: 'GDateYear g_date_get_year (const GDate *d) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1267,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdate.c:1282,1
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/gdate.c:1279,1
    - Dst: strlen
      Src: /src/glib/glib/gdate.c:1274,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:1270,1
    - Dst: g_date_prepare_to_parse
      Src: /src/glib/glib/gdate.c:1284,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1286,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdate.c:1292,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:1301,1
    - Dst: convert_twodigit_year
      Src: /src/glib/glib/gdate.c:1339,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1400,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdate.c:1403,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1390,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1351,1
    - Dst: convert_twodigit_year
      Src: /src/glib/glib/gdate.c:1384,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 90
    argCount: 2
    argNames:
    - d
    - str
    argTypes:
    - GDate*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1404
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1404
    functionName: g_date_set_parse
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - strlen
    - G_LOCK
    - g_date_clear
    - g_assert
    - g_date_prepare_to_parse
    - g_date_valid_dmy
    - G_UNLOCK
    - DEBUG_MSG
    - g_return_if_fail
    - convert_twodigit_year
    - g_utf8_validate_len
    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:1959,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1962,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:1959,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1960,1
    - Dst: g_date_valid_month
      Src: /src/glib/glib/gdate.c:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - month
    - year
    argTypes:
    - GDateMonth
    - GDateYear
    constantsTouched: []
    func_position:
      end: 1965
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1965
    functionName: g_date_get_days_in_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_year
    - g_return_val_if_fail
    - g_date_valid_month
    - g_date_is_leap_year
    linkageType: ''
    returnType: guint8
    signature: 'guint8 g_date_get_days_in_month (GDateMonth month, GDateYear year) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/gdate.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:308,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:308,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:319,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:319,1
    - Dst: g_new
      Src: /src/glib/glib/gdate.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - day
    - m
    - y
    argTypes:
    - GDateDay
    - GDateMonth
    - GDateYear
    constantsTouched: []
    func_position:
      end: 322
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 322
    functionName: g_date_new_dmy
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_date_valid_dmy
    - g_new
    - g_return_val_if_fail
    - g_date_valid
    linkageType: ''
    returnType: GDate*
    signature: 'GDate *g_date_new_dmy (GDateDay day, GDateMonth m, GDateYear y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - GDateYear
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    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:649,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:649,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:654,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 657
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 657
    functionName: g_date_get_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_valid
    - g_date_update_dmy
    linkageType: ''
    returnType: GDateMonth
    signature: 'GDateMonth g_date_get_month (const GDate *d) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/gdate.c:1074,1
    - Dst: strcmp
      Src: /src/glib/glib/gdate.c:1082,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1078,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1104,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1111,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1114,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1110,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1121,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1193,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1217,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1218,1
    - Dst: g_strdup
      Src: /src/glib/glib/gdate.c:1093,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1102,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1115,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1125,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1127,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1181,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1188,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1104,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1106,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1109,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1119,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1122,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1123,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1126,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1138,1
    - Dst: g_date_fill_parse_tokens
      Src: /src/glib/glib/gdate.c:1142,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1184,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1177,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1091,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:1080,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1117,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1108,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1116,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1113,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1120,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1128,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1129,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1140,1
    - Dst: g_date_fill_parse_tokens
      Src: /src/glib/glib/gdate.c:1223,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 93
    argCount: 2
    argNames:
    - str
    - pt
    argTypes:
    - gchar*
    - GDateParseTokens*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1224
    functionName: g_date_prepare_to_parse
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - g_free
    - g_utf8_casefold
    - g_date_clear
    - g_date_set_dmy
    - g_utf8_normalize
    - DEBUG_MSG
    - g_date_strftime
    - strcmp
    - g_date_fill_parse_tokens
    - g_date_valid
    - g_return_if_fail
    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: 1240
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1240
    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:1937,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:1937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - year
    argTypes:
    - GDateYear
    constantsTouched: []
    func_position:
      end: 1941
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1941
    functionName: g_date_is_leap_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_year
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_is_leap_year (GDateYear year) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:385,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:387,1
    - Dst: g_date_new
      Src: /src/glib/glib/gdate.c:391,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/gdate.c:388,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/gdate.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - date
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 396
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 396
    functionName: g_date_copy
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_get_julian
    - g_date_new
    - g_return_val_if_fail
    - g_date_valid
    - g_date_new_julian
    linkageType: ''
    returnType: GDate*
    signature: 'GDate *g_date_copy (const GDate *date) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gdate.c:966,1
    - Dst: strstr
      Src: /src/glib/glib/gdate.c:970,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - longest
    - haystack
    - needle
    argTypes:
    - gsize*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 975
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 975
    functionName: update_month_match
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - strlen
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean update_month_match (gsize *longest, const gchar
      *haystack, const gchar *needle) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gdate.c:998,1
    - Dst: atoi
      Src: /src/glib/glib/gdate.c:1018,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1028,1
    - Dst: atoi
      Src: /src/glib/glib/gdate.c:1017,1
    - Dst: atoi
      Src: /src/glib/glib/gdate.c:1016,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1029,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1030,1
    - Dst: update_month_match
      Src: /src/glib/glib/gdate.c:1043,1
    - Dst: update_month_match
      Src: /src/glib/glib/gdate.c:1051,1
    - Dst: update_month_match
      Src: /src/glib/glib/gdate.c:1058,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1065,1
    - Dst: update_month_match
      Src: /src/glib/glib/gdate.c:1061,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - str
    - pt
    argTypes:
    - gchar*
    - GDateParseTokens*
    constantsTouched: []
    func_position:
      end: 1067
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1067
    functionName: g_date_fill_parse_tokens
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_utf8_casefold
    - g_free
    - update_month_match
    - g_utf8_normalize
    - g_ascii_isdigit
    - atoi
    linkageType: ''
    returnType: void
    signature: 'static void g_date_fill_parse_tokens (const gchar *str, GDateParseTokens
      *pt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1596,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1597,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1604,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:1597,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - d
    - y
    argTypes:
    - GDate*
    - GDateYear
    constantsTouched: []
    func_position:
      end: 1608
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1608
    functionName: g_date_set_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_year
    - g_date_valid_dmy
    - 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:1651,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/gdate.c:1652,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - d
    - j
    argTypes:
    - GDate*
    - guint32
    constantsTouched: []
    func_position:
      end: 1657
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1657
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1822,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1832,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1825,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1822,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1827,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1844,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1851,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - d
    - nmonths
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1852
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1852
    functionName: g_date_subtract_months
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_dmy
    - g_date_valid
    - g_date_is_leap_year
    - 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:2022,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2026,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:2022,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:2024,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:2025,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:2027,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2028,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:2029,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:2031,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2032,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:2033,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2034,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - year
    argTypes:
    - GDateYear
    constantsTouched: []
    func_position:
      end: 2037
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2037
    functionName: g_date_get_sunday_weeks_in_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_year
    - g_date_clear
    - g_date_set_dmy
    - g_date_get_weekday
    - g_return_val_if_fail
    - g_date_is_leap_year
    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:2113,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:2117,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2119,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2113,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2114,1
    - Dst: memset
      Src: /src/glib/glib/gdate.c:2129,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2135,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/gdate.c:2140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - d
    - tm
    argTypes:
    - GDate*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 2142
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2142
    functionName: g_date_to_struct_tm
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_get_day_of_year
    - g_date_get_weekday
    - g_date_update_dmy
    - memset
    - g_date_valid
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_to_struct_tm (const GDate *d, struct tm *tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:364,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - date
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1570,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1573,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1578,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1571,1
    - Dst: g_date_valid_day
      Src: /src/glib/glib/gdate.c:1571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - d
    - day
    argTypes:
    - GDate*
    - GDateDay
    constantsTouched: []
    func_position:
      end: 1582
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1582
    functionName: g_date_set_day
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_dmy
    - g_date_valid_day
    - 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:1628,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1629,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - d
    - day
    - m
    - y
    argTypes:
    - GDate*
    - GDateDay
    - GDateMonth
    - GDateYear
    constantsTouched: []
    func_position:
      end: 1638
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1638
    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:1777,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1780,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1777,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1783,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1782,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1790,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1795,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1802,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - d
    - nmonths
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1803
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1803
    functionName: g_date_add_months
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_dmy
    - g_date_valid
    - g_date_is_leap_year
    - 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:1986,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:1990,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:1988,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1989,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:1986,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1991,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:1992,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1993,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1995,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:1996,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1997,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:1998,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - year
    argTypes:
    - GDateYear
    constantsTouched: []
    func_position:
      end: 2001
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2001
    functionName: g_date_get_monday_weeks_in_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_year
    - g_date_clear
    - g_date_set_dmy
    - g_date_get_weekday
    - g_return_val_if_fail
    - g_date_is_leap_year
    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:2054,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2056,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2055,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2056,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2057,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2057,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:2089,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:2090,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2091,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2092,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - GDate*
    - GDate*
    constantsTouched: []
    func_position:
      end: 2097
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2097
    functionName: g_date_compare
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_julian
    - g_return_val_if_fail
    - g_date_valid
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_compare (const GDate *lhs, const GDate *rhs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 414
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    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:628,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:633,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:628,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 636
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 636
    functionName: g_date_get_weekday
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_julian
    - g_return_val_if_fail
    - g_date_valid
    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:715,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:718,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:720,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 723
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 723
    functionName: g_date_get_julian
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_julian
    - g_return_val_if_fail
    - g_date_valid
    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:768,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:771,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:775,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:768,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:773,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:777,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:779,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/gdate.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 783
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 783
    functionName: g_date_get_monday_week_of_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_clear
    - g_date_set_dmy
    - g_date_get_day_of_year
    - g_date_get_weekday
    - g_date_update_dmy
    - g_return_val_if_fail
    - g_date_valid
    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:1459,1
    - Dst: g_return_if_fail_warning
      Src: /src/glib/glib/gdate.c:1484,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1478,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1478,1
    - Dst: _g_localtime
      Src: /src/glib/glib/gdate.c:1461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - date
    - timet
    argTypes:
    - GDate*
    - time_t
    constantsTouched: []
    func_position:
      end: 1486
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1486
    functionName: g_date_set_time_t
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_if_fail_warning
    - _g_localtime
    - g_date_valid_dmy
    - 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:1504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - date
    - time_
    argTypes:
    - GDate*
    - GTime
    constantsTouched: []
    func_position:
      end: 1505
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1505
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1747,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1753,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:1750,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1752,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - d
    - ndays
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1757
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1757
    functionName: g_date_subtract_days
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_julian
    - g_date_valid
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_subtract_days (GDate *d, guint ndays) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1902,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1902,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1905,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1907,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1908,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - d
    - nyears
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1919
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1919
    functionName: g_date_subtract_years
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_dmy
    - g_date_valid
    - g_date_is_leap_year
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_subtract_years (GDate *d, guint nyears) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2217,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2221,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2226,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2222,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2238,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2242,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2243,1
    - Dst: memmove
      Src: /src/glib/glib/gdate.c:2251,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2254,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: 2258
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2258
    functionName: append_month_name
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - GetDateFormatW
    - GetLocaleInfoW
    - g_array_set_size
    - memmove
    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: 57
    BranchProfiles: []
    Callsites:
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2335,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2343,1
    - Dst: append_month_name
      Src: /src/glib/glib/gdate.c:2350,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2366,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2401,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2433,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:2472,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2488,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:2517,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2446,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gdate.c:2289,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gdate.c:2294,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gdate.c:2307,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:2445,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2434,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2443,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2457,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2389,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2383,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2493,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:2506,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2556,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2575,1
    - Dst: GetTimeZoneInformation
      Src: /src/glib/glib/gdate.c:2580,1
    - Dst: g_ucs4_to_utf16
      Src: /src/glib/glib/gdate.c:2601,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gdate.c:2605,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2549,1
    - Dst: g_utf8_find_prev_char
      Src: /src/glib/glib/gdate.c:2621,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2391,1
    - Dst: g_array_free
      Src: /src/glib/glib/gdate.c:2318,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2336,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2369,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2374,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2390,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2499,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2565,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2564,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2334,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2453,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2476,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2487,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/gdate.c:2547,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2574,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2587,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2388,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2497,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:2524,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2535,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/gdate.c:2539,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:2576,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2577,1
    - Dst: wcslen
      Src: /src/glib/glib/gdate.c:2582,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gdate.c:2323,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2387,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2393,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2394,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2480,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2498,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2521,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/gdate.c:2534,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2544,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2570,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2561,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2400,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gdate.c:2297,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2362,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2379,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2552,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2566,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:2622,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gdate.c:2314,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2345,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2416,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2450,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2435,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2519,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2523,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2540,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gdate.c:2608,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2365,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2424,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2469,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2466,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2421,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2555,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2582,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2531,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2536,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2594,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2438,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2428,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2473,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2479,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2346,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2370,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2398,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2475,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2511,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2548,1
    - Dst: strlen
      Src: /src/glib/glib/gdate.c:2289,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2344,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2367,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2496,1
    - Dst: wcslen
      Src: /src/glib/glib/gdate.c:2584,1
    - Dst: memcpy
      Src: /src/glib/glib/gdate.c:2631,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:2617,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2507,1
    - Dst: g_array_free
      Src: /src/glib/glib/gdate.c:2609,1
    - Dst: MAX
      Src: /src/glib/glib/gdate.c:2289,1
    - Dst: g_array_free
      Src: /src/glib/glib/gdate.c:2301,1
    - Dst: append_month_name
      Src: /src/glib/glib/gdate.c:2356,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2380,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2483,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2486,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2603,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2633,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2602,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2557,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2415,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2439,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2413,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/gdate.c:2288,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2333,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2373,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2478,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2477,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2456,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2515,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2458,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2481,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2375,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2392,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2518,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2522,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2529,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2541,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2584,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: 2636
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2636
    functionName: win32_strftime_helper
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_ucs4_to_utf16
    - g_date_get_sunday_week_of_year
    - strlen
    - g_array_append_vals
    - GetTimeZoneInformation
    - g_array_set_size
    - g_array_sized_new
    - wcslen
    - append_month_name
    - g_date_get_monday_week_of_year
    - g_array_free
    - g_date_get_iso8601_week_of_year
    - g_utf8_find_prev_char
    - g_utf8_next_char
    - memcpy
    - GetThreadLocale
    - g_utf8_get_char
    - GetTimeFormatW
    - MAX
    - GetLocaleInfoW
    - GetDateFormatW
    - g_free
    - g_assert
    - g_utf16_to_utf8
    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:2685,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2685,1
    - Dst: g_error_free
      Src: /src/glib/glib/gdate.c:2706,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2731,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2743,1
    - Dst: g_warning
      Src: /src/glib/glib/gdate.c:2747,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:2750,1
    - Dst: g_utf8_find_prev_char
      Src: /src/glib/glib/gdate.c:2760,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:2761,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2688,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2687,1
    - Dst: win32_strftime_helper
      Src: /src/glib/glib/gdate.c:2698,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/gdate.c:2742,1
    - Dst: strftime
      Src: /src/glib/glib/gdate.c:2721,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2740,1
    - Dst: g_warning
      Src: /src/glib/glib/gdate.c:2730,1
    - Dst: MAX
      Src: /src/glib/glib/gdate.c:2712,1
    - Dst: memcpy
      Src: /src/glib/glib/gdate.c:2771,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2686,1
    - Dst: g_date_to_struct_tm
      Src: /src/glib/glib/gdate.c:2690,1
    - Dst: g_malloc
      Src: /src/glib/glib/gdate.c:2715,1
    - Dst: g_error_free
      Src: /src/glib/glib/gdate.c:2748,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2773,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gdate.c:2693,1
    - Dst: g_locale_from_utf8
      Src: /src/glib/glib/gdate.c:2701,1
    - Dst: g_warning
      Src: /src/glib/glib/gdate.c:2705,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2725,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 4
    argNames:
    - s
    - slen
    - format
    - d
    argTypes:
    - gchar*
    - gsize
    - gchar*
    - GDate*
    constantsTouched: []
    func_position:
      end: 2777
      start: 2666
    functionDepth: 0
    functionLinenumber: 2666
    functionLinenumberEnd: 2777
    functionName: g_date_strftime
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - memcpy
    - win32_strftime_helper
    - strftime
    - g_free
    - g_locale_from_utf8
    - g_assert
    - g_locale_to_utf8
    - g_error_free
    - g_warning
    - g_date_to_struct_tm
    - MAX
    - g_utf8_find_prev_char
    - g_return_val_if_fail
    - g_malloc
    - g_date_valid
    - g_utf8_validate
    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: 487
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 487
    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_if_fail
      Src: /src/glib/glib/gdate.c:580,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:581,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/gdate.c:583,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:583,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:582,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:605,1
    - Dst: g_warning
      Src: /src/glib/glib/gdate.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 1
    argNames:
    - const_d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 615
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 615
    functionName: g_date_update_dmy
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_date_valid_dmy
    - g_date_valid_julian
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_date_update_dmy (const GDate *const_d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:691,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:696,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:694,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 699
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 699
    functionName: g_date_get_day
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_valid
    - 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:739,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:742,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:739,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:744,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 749
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 749
    functionName: g_date_get_day_of_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_valid
    - g_date_is_leap_year
    - 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:836,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:841,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:839,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 854
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 854
    functionName: g_date_get_iso8601_week_of_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_julian
    - g_return_val_if_fail
    - g_date_valid
    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:1412,1
    - Dst: memcpy
      Src: /src/glib/glib/gdate.c:1426,1
    - Dst: localtime
      Src: /src/glib/glib/gdate.c:1416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - timet
    - out_tm
    argTypes:
    - time_t
    - struct tm*
    constantsTouched: []
    func_position:
      end: 1431
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1431
    functionName: _g_localtime
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - memcpy
    - localtime
    - localtime_r
    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:1696,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1701,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1699,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1696,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1707
    functionName: g_date_is_last_of_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_valid
    - g_date_is_leap_year
    - 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:1722,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1727,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1722,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1728,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:1725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - d
    - ndays
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1732
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1732
    functionName: g_date_add_days
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_julian
    - g_date_valid
    - 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:1868,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1868,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1873,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1871,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1874,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1880,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - d
    - nyears
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1885
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1885
    functionName: g_date_add_years
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_update_dmy
    - g_date_valid
    - g_date_is_leap_year
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_add_years (GDate *d, guint nyears) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gstdio.c:703,1
    - Dst: GetFileInformationByHandle
      Src: /src/glib/glib/gstdio.c:708,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:718,1
    - Dst: GetFileInformationByHandleEx
      Src: /src/glib/glib/gstdio.c:714,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:710,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:
    - w32_error_to_errno
    - _fstat64
    - GetLastError
    - _g_win32_readlink_handle_raw
    - _g_win32_fill_privatestat
    - GetFileInformationByHandleEx
    - GetFileInformationByHandle
    - _get_osfhandle
    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: creat
      Src: /src/glib/glib/gstdio.c:1135,1
    - Dst: _wcreat
      Src: /src/glib/glib/gstdio.c:1127,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1130,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:
    - creat
    - g_free
    - g_utf8_to_utf16
    - _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: g_free
      Src: /src/glib/glib/gstdio.c:1176,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1172,1
    - Dst: MoveFileExW
      Src: /src/glib/glib/gstdio.c:1181,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:1186,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_free
    - g_utf8_to_utf16
    - w32_error_to_errno
    - MoveFileExW
    - GetLastError
    - rename
    linkageType: ''
    returnType: int
    signature: "int g_rename (const gchar *oldfilename,\t const gchar *newfilename) "
  - 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: _wrmdir
      Src: /src/glib/glib/gstdio.c:1487,1
    - Dst: _wremove
      Src: /src/glib/glib/gstdio.c:1485,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1490,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:
    - _wrmdir
    - g_free
    - g_utf8_to_utf16
    - remove
    - _wremove
    linkageType: ''
    returnType: int
    signature: 'int g_remove (const gchar *filename) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstdio.c:542,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/gstdio.c:574,1
    - Dst: _g_win32_readlink_handle_raw
      Src: /src/glib/glib/gstdio.c:551,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_strip_extended_ntobjm_prefix
    - _g_win32_readlink_handle_raw
    - g_return_val_if_fail
    - _g_win32_readlink_utf16_raw
    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:630,1
    - Dst: CreateFileW
      Src: /src/glib/glib/gstdio.c:622,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:605,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:606,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: CloseHandle
      Src: /src/glib/glib/gstdio.c:650,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:651,1
    - Dst: _g_win32_fill_privatestat
      Src: /src/glib/glib/gstdio.c:680,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gstdio.c:673,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gstdio.c:669,1
    - Dst: _g_win32_fill_statbuf_from_handle_info
      Src: /src/glib/glib/gstdio.c:675,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
    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_readlink_utf16_handle
    - g_free
    - w32_error_to_errno
    - GetFileAttributesW
    - CloseHandle
    - _g_win32_fill_statbuf_from_handle_info
    - CreateFileW
    - GetLastError
    - _g_win32_fill_privatestat
    - GetFileInformationByHandleEx
    - GetFileInformationByHandle
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_stat_utf16_no_trailing_slashes (const gunichar2
      *filename, GWin32PrivateStat *buf, gboolean for_symlink) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1054,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstdio.c:1075,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1067,1
    - Dst: open
      Src: /src/glib/glib/gstdio.c:1074,1
    - Dst: _wopen
      Src: /src/glib/glib/gstdio.c:1064,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:
    - g_free
    - _wopen
    - g_utf8_to_utf16
    - G_UNLIKELY
    - open
    linkageType: ''
    returnType: int
    signature: "int g_open (const gchar *filename,\tint flags,\tint mode) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetFileAttributesW
      Src: /src/glib/glib/gstdio.c:468,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:471,1
    - Dst: CreateFileW
      Src: /src/glib/glib/gstdio.c:484,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:470,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:495,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:
    - w32_error_to_errno
    - GetFileAttributesW
    - CloseHandle
    - CreateFileW
    - _g_win32_readlink_handle_raw
    - GetLastError
    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_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: 10
    BranchProfiles: []
    Callsites:
    - Dst: _alloca
      Src: /src/glib/glib/gstdio.c:226,1
    - Dst: iswascii
      Src: /src/glib/glib/gstdio.c:241,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: _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: wcsicmp
      Src: /src/glib/glib/gstdio.c:296,1
    - Dst: wcsicmp
      Src: /src/glib/glib/gstdio.c:297,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
    - Dst: _g_win32_filetime_to_unix_time
      Src: /src/glib/glib/gstdio.c:305,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:
    - wcschr
    - wcsicmp
    - toupper
    - wctomb
    - iswalpha
    - iswascii
    - _alloca
    - _g_win32_filetime_to_unix_time
    - _getdrive
    - S_ISDIR
    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: DeviceIoControl
      Src: /src/glib/glib/gstdio.c:398,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:404,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:
    - w32_error_to_errno
    - _g_win32_copy_and_maybe_terminate
    - DeviceIoControl
    - GetLastError
    - g_return_val_if_fail
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstdio.c:862,1
    - Dst: _g_win32_readlink_utf16_handle
      Src: /src/glib/glib/gstdio.c:874,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gstdio.c:882,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:877,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:866,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_win32_readlink_utf16_handle
    - g_free
    - g_utf8_to_utf16
    - g_utf16_to_utf8
    - g_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: 'int g_win32_readlink_utf8 (const gchar *filename, gchar *buf, gsize
      buf_size, gchar **alloc_buf, gboolean terminate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:995,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1008,1
    - Dst: chmod
      Src: /src/glib/glib/gstdio.c:1013,1
    - Dst: _wchmod
      Src: /src/glib/glib/gstdio.c:1005,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:
    - chmod
    - g_free
    - _wchmod
    - g_utf8_to_utf16
    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: g_free
      Src: /src/glib/glib/gstdio.c:1737,1
    - Dst: _wutime
      Src: /src/glib/glib/gstdio.c:1734,1
    - Dst: utime
      Src: /src/glib/glib/gstdio.c:1742,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:
    - _wutime
    - utime
    - g_free
    - g_utf8_to_utf16
    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: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:943,1
    - Dst: access
      Src: /src/glib/glib/gstdio.c:965,1
    - Dst: _waccess
      Src: /src/glib/glib/gstdio.c:957,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:960,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:
    - access
    - _waccess
    - g_utf8_to_utf16
    - g_free
    linkageType: ''
    returnType: int
    signature: "int g_access (const gchar *filename,\t int mode) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _commit
      Src: /src/glib/glib/gstdio.c:1687,1
    - Dst: fcntl
      Src: /src/glib/glib/gstdio.c:1692,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstdio.c:1696,1
    - Dst: fsync
      Src: /src/glib/glib/gstdio.c:1694,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:
    - _commit
    - fcntl
    - fsync
    - G_UNLIKELY
    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_file_error_from_errno
      Src: /src/glib/glib/gstdio.c:1811,1
    - Dst: g_strerror
      Src: /src/glib/glib/gstdio.c:1812,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gstdio.c:1810,1
    - Dst: g_critical
      Src: /src/glib/glib/gstdio.c:1825,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_critical
    - close
    - g_file_error_from_errno
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_close (gint fd, GError **error) '
  - 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: 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:
    - stat
    - g_win32_stat_utf8
    linkageType: ''
    returnType: int
    signature: "int g_stat (const gchar *filename,\tGStatBuf *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: 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: g_free
      Src: /src/glib/glib/gstdio.c:1274,1
    - Dst: chdir
      Src: /src/glib/glib/gstdio.c:1279,1
    - Dst: _wchdir
      Src: /src/glib/glib/gstdio.c:1271,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:
    - chdir
    - g_free
    - _wchdir
    - g_utf8_to_utf16
    linkageType: ''
    returnType: int
    signature: 'int g_chdir (const gchar *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1422,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1435,1
    - Dst: unlink
      Src: /src/glib/glib/gstdio.c:1440,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:
    - _wunlink
    - unlink
    - g_free
    - g_utf8_to_utf16
    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: 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: _wfreopen
      Src: /src/glib/glib/gstdio.c:1652,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: 3
    argNames:
    - filename
    - mode
    - stream
    argTypes:
    - gchar*
    - gchar*
    - FILE*
    constantsTouched: []
    func_position:
      end: 1663
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1663
    functionName: g_freopen
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_free
    - g_utf8_to_utf16
    - _g_win32_fix_mode
    - freopen
    - _wfreopen
    linkageType: ''
    returnType: FILE*
    signature: "FILE *g_freopen (const gchar *filename,\t const gchar *mode,\t FILE
      *stream) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstdio.c:763,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/gstdio.c:769,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gstdio.c:765,1
    - Dst: g_path_is_absolute
      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_free
    - g_utf8_to_utf16
    - g_path_skip_root
    - G_IS_DIR_SEPARATOR
    - g_path_is_absolute
    - _g_win32_stat_utf16_no_trailing_slashes
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_stat_utf8 (const gchar *filename, GWin32PrivateStat
      *buf, gboolean for_symlink) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/glib/glib/gstdio.c:1376,1
    - Dst: g_win32_lstat_utf8
      Src: /src/glib/glib/gstdio.c:1379,1
    - Dst: g_stat
      Src: /src/glib/glib/gstdio.c:1395,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:
    - lstat
    - g_stat
    - g_win32_lstat_utf8
    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_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1585,1
    - Dst: _g_win32_fix_mode
      Src: /src/glib/glib/gstdio.c:1594,1
    - Dst: _wfopen
      Src: /src/glib/glib/gstdio.c:1595,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1589,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: 2
    argNames:
    - filename
    - mode
    argTypes:
    - gchar*
    - gchar*
    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_free
    - g_utf8_to_utf16
    - _wfopen
    - _g_win32_fix_mode
    - fopen
    linkageType: ''
    returnType: FILE*
    signature: "FILE *g_fopen (const gchar *filename,\t const gchar *mode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1221,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1234,1
    - Dst: mkdir
      Src: /src/glib/glib/gstdio.c:1239,1
    - Dst: _wmkdir
      Src: /src/glib/glib/gstdio.c:1231,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:
    - mkdir
    - _wmkdir
    - g_utf8_to_utf16
    - g_free
    linkageType: ''
    returnType: int
    signature: "int g_mkdir (const gchar *filename,\t int mode) "
  - 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:
    - rmdir
    - _wrmdir
    - g_free
    - g_utf8_to_utf16
    linkageType: ''
    returnType: int
    signature: 'int g_rmdir (const gchar *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gprintf.c:171,1
    - Dst: va_end
      Src: /src/glib/glib/gprintf.c:173,1
    - Dst: g_vsnprintf
      Src: /src/glib/glib/gprintf.c:172,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:
    - va_end
    - g_vsnprintf
    - va_start
    linkageType: ''
    returnType: gint
    signature: "gint g_snprintf (gchar\t*string,\t gulong\t n,\t gchar const *format,\t
      ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gprintf.c:87,1
    - Dst: g_vfprintf
      Src: /src/glib/glib/gprintf.c:88,1
    - Dst: va_end
      Src: /src/glib/glib/gprintf.c:89,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:
    - va_end
    - g_vfprintf
    - va_start
    linkageType: ''
    returnType: gint
    signature: "gint g_fprintf (FILE *file, 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_return_val_if_fail
    - _g_vfprintf
    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:249,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gprintf.c:250,1
    - Dst: _g_vsprintf
      Src: /src/glib/glib/gprintf.c:252,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_return_val_if_fail
    - _g_vsprintf
    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: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_end
    - va_start
    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:
    - va_end
    - g_vsprintf
    - va_start
    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: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_return_val_if_fail
    - _g_vsnprintf
    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:327,1
    - Dst: vasprintf
      Src: /src/glib/glib/gprintf.c:339,1
    - Dst: fputs
      Src: /src/glib/glib/gprintf.c:348,1
    - Dst: fputs
      Src: /src/glib/glib/gprintf.c:349,1
    - Dst: _g_gnulib_vasprintf
      Src: /src/glib/glib/gprintf.c:331,1
    - Dst: g_abort
      Src: /src/glib/glib/gprintf.c:350,1
    - Dst: va_copy
      Src: /src/glib/glib/gprintf.c:362,1
    - Dst: g_new
      Src: /src/glib/glib/gprintf.c:364,1
    - Dst: g_printf_string_upper_bound
      Src: /src/glib/glib/gprintf.c:364,1
    - Dst: _g_vsprintf
      Src: /src/glib/glib/gprintf.c:366,1
    - Dst: va_end
      Src: /src/glib/glib/gprintf.c:367,1
    - Dst: g_free
      Src: /src/glib/glib/gprintf.c:371,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - string
    - format
    - args
    argTypes:
    - gchar**
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 378
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 378
    functionName: g_vasprintf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - vasprintf
    - va_copy
    - g_printf_string_upper_bound
    - g_abort
    - _g_gnulib_vasprintf
    - _g_vsprintf
    - g_new
    - fputs
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_vasprintf (gchar **string,\t gchar const *format,\t va_list
      args) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gstring.c:143,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gstring.c:149,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:151,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - init
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: g_string_new
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - g_string_append_len
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_new (const gchar *init) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gstring.c:214,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gstring.c:217,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - init
    - len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: g_string_new_len
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append_len
    - g_string_sized_new
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_new_len (const gchar *init, gssize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:420,1
    - Dst: MIN
      Src: /src/glib/glib/gstring.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - GString*
    - gsize
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 426
    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:485,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:486,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:492,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:500,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstring.c:508,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:513,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:519,1
    - Dst: MIN
      Src: /src/glib/glib/gstring.c:525,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:526,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:531,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:551,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:538,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:544,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 4
    argNames:
    - string
    - pos
    - val
    - len
    argTypes:
    - GString*
    - gssize
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 559
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 559
    functionName: g_string_insert_len
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - G_UNLIKELY
    - MIN
    - memmove
    - g_return_val_if_fail
    - g_string_maybe_expand
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_insert_len (GString *string, gssize pos, const gchar
      *val, gssize len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:935,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:944,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:949,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:941,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:940,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:951,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - string
    - pos
    - val
    - len
    argTypes:
    - GString*
    - gsize
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 960
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 960
    functionName: g_string_overwrite_len
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_return_val_if_fail
    - g_string_maybe_expand
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_overwrite_len (GString *string, gsize pos, const
      gchar *val, gssize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gstring.c:180,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:186,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gstring.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - init
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: g_string_new_take
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_new
    - g_slice_new
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_new_take (gchar *init) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gstring.c:116,1
    - Dst: g_string_expand
      Src: /src/glib/glib/gstring.c:122,1
    - Dst: MAX
      Src: /src/glib/glib/gstring.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dfl_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: g_string_sized_new
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - MAX
    - g_string_expand
    - g_slice_new
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_sized_new (gsize dfl_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:785,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:787,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:797,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:792,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - string
    - pos
    - c
    argTypes:
    - GString*
    - gssize
    - gchar
    constantsTouched: []
    func_position:
      end: 807
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 807
    functionName: g_string_insert_c
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - memmove
    - g_return_val_if_fail
    - g_string_maybe_expand
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_insert_c (GString *string, gssize pos, gchar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstring.c:1221,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstring.c:1222,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:1228,1
    - Dst: g_vasprintf
      Src: /src/glib/glib/gstring.c:1224,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:1229,1
    - Dst: g_free
      Src: /src/glib/glib/gstring.c:1231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - string
    - format
    - args
    argTypes:
    - GString*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 1233
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1233
    functionName: g_string_append_vprintf
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_free
    - g_vasprintf
    - g_string_maybe_expand
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_string_append_vprintf (GString *string, const gchar *format,
      va_list args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/gstring.c:82,1
    - Dst: g_realloc
      Src: /src/glib/glib/gstring.c:91,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/gstring.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - GString*
    - gsize
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: g_string_expand
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_nearest_pow
    - g_error
    - g_realloc
    linkageType: ''
    returnType: void
    signature: 'static void g_string_expand (GString *string, gsize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:248,1
    - Dst: g_free
      Src: /src/glib/glib/gstring.c:252,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gstring.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - string
    - free_segment
    argTypes:
    - GString*
    - gboolean
    constantsTouched: []
    func_position:
      end: 261
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 261
    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:708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - string
    - val
    - len
    argTypes:
    - GString*
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 709
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 709
    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:744,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/gstring.c:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - string
    - wc
    argTypes:
    - GString*
    - gunichar
    constantsTouched: []
    func_position:
      end: 747
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 747
    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:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - string
    - pos
    - val
    argTypes:
    - GString*
    - gssize
    - gchar*
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 766
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1184,1
    - Dst: islower
      Src: /src/glib/glib/gstring.c:1191,1
    - Dst: toupper
      Src: /src/glib/glib/gstring.c:1192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1198
    functionName: g_string_up
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - toupper
    - islower
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_up (GString *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstring.c:98,1
    - Dst: g_string_expand
      Src: /src/glib/glib/gstring.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - GString*
    - gsize
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    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_string_insert_len
      Src: /src/glib/glib/gstring.c:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - string
    - val
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 683
    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:725,1
    - Dst: g_string_insert_c
      Src: /src/glib/glib/gstring.c:727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - string
    - c
    argTypes:
    - GString*
    - gchar
    constantsTouched: []
    func_position:
      end: 728
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 728
    functionName: g_string_prepend_c
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_insert_c
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_prepend_c (GString *string, gchar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1086,1
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/gstring.c:1093,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 1099
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1099
    functionName: g_string_ascii_down
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_ascii_tolower
    - g_return_val_if_fail
    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:1150,1
    - Dst: isupper
      Src: /src/glib/glib/gstring.c:1157,1
    - Dst: tolower
      Src: /src/glib/glib/gstring.c:1158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1164
    functionName: g_string_down
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - isupper
    - g_return_val_if_fail
    - tolower
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_down (GString *string) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1039,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1040,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:1043,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:1044,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1041,1
    - Dst: strstr
      Src: /src/glib/glib/gstring.c:1047,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gstring.c:1050,1
    - Dst: g_string_insert
      Src: /src/glib/glib/gstring.c:1051,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - string
    - find
    - replace
    - limit
    argTypes:
    - GString*
    - gchar*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1068
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1068
    functionName: g_string_replace
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_insert
    - strstr
    - g_string_erase
    - g_return_val_if_fail
    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:1117,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/gstring.c:1124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1130
    functionName: g_string_ascii_up
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_ascii_toupper
    - g_return_val_if_fail
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_ascii_up (GString *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:391,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gstring.c:400,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:392,1
    - Dst: g_string_append
      Src: /src/glib/glib/gstring.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - string
    - rval
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: g_string_assign
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_truncate
    - g_return_val_if_fail
    - g_string_append
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_assign (GString *string, const gchar *rval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_insert_len
      Src: /src/glib/glib/gstring.c:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - string
    - val
    - len
    argTypes:
    - GString*
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 628
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 628
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:909,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/gstring.c:910,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - string
    - pos
    - val
    argTypes:
    - GString*
    - gsize
    - gchar*
    constantsTouched: []
    func_position:
      end: 911
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 911
    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_string_truncate
      Src: /src/glib/glib/gstring.c:1290,1
    - Dst: va_start
      Src: /src/glib/glib/gstring.c:1292,1
    - Dst: g_string_append_vprintf
      Src: /src/glib/glib/gstring.c:1293,1
    - Dst: va_end
      Src: /src/glib/glib/gstring.c:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1295
    functionName: g_string_printf
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - va_end
    - g_string_truncate
    - g_string_append_vprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_string_printf (GString *string, const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gstring.c:1327,1
    - Dst: g_string_append_vprintf
      Src: /src/glib/glib/gstring.c:1328,1
    - Dst: va_end
      Src: /src/glib/glib/gstring.c:1329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1330
    functionName: g_string_append_printf
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - va_end
    - g_string_append_vprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_string_append_printf (GString *string, const gchar *format,
      ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - v
    - v2
    argTypes:
    - GString*
    - GString*
    constantsTouched: []
    func_position:
      end: 347
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 347
    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: 372
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 372
    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:601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - string
    - val
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 602
    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:663,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/gstring.c:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - string
    - wc
    argTypes:
    - GString*
    - gunichar
    constantsTouched: []
    func_position:
      end: 666
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 666
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:829,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:869,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:873,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:864,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - string
    - pos
    - wc
    argTypes:
    - GString*
    - gssize
    - gunichar
    constantsTouched: []
    func_position:
      end: 890
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 890
    functionName: g_string_insert_unichar
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - memmove
    - g_return_val_if_fail
    - g_string_maybe_expand
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_insert_unichar (GString *string, gssize pos, gunichar
      wc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_truncate
      Src: /src/glib/glib/gstring.c:1252,1
    - Dst: g_string_append_vprintf
      Src: /src/glib/glib/gstring.c:1253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - string
    - format
    - args
    argTypes:
    - GString*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 1254
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1254
    functionName: g_string_vprintf
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_truncate
    - g_string_append_vprintf
    linkageType: ''
    returnType: void
    signature: 'void g_string_vprintf (GString *string, const gchar *format, va_list
      args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:304,1
    - Dst: g_string_free
      Src: /src/glib/glib/gstring.c:308,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gstring.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: g_string_free_to_bytes
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_return_val_if_fail
    - g_bytes_new_take
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_string_free_to_bytes (GString *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:445,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - GString*
    - gsize
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: g_string_set_size
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_maybe_expand
    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:582,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - string
    - unescaped
    - reserved_chars_allowed
    - allow_utf8
    argTypes:
    - GString*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 585
    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:644,1
    - Dst: g_string_insert_c
      Src: /src/glib/glib/gstring.c:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - string
    - c
    argTypes:
    - GString*
    - gchar
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: (g_string_append_c)
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_insert_c
    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:981,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:992,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:995,1
    - Dst: g_return_val_if_fail
      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: 3
    argNames:
    - string
    - pos
    - len
    argTypes:
    - GString*
    - gssize
    - gssize
    constantsTouched: []
    func_position:
      end: 1005
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1005
    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: __lsan_ignore_object
      Src: /src/glib/glib/glib-private.h:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ignore_leak
      Src: /src/glib/glib/glib-private.h:80,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/glib-private.h:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - strv
    argTypes:
    - GStrv
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: g_ignore_strv_leak
    functionSourceFile: /src/glib/glib/glib-private.h
    functionUses: []
    functionsReached:
    - g_ignore_leak
    linkageType: ''
    returnType: void
    signature: 'static inline void g_ignore_strv_leak (GStrv strv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __lsan_enable
      Src: /src/glib/glib/glib-private.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    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:
    - Dst: __lsan_disable
      Src: /src/glib/glib/glib-private.h: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: 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: 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: 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: 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: 2
    argNames:
    - key
    - key_len
    argTypes:
    - UCCollationValue*
    - gsize
    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: 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_new
      Src: /src/glib/glib/gunicollate.c:279,1
    - Dst: UCGetCollationKey
      Src: /src/glib/glib/gunicollate.c:284,1
    - Dst: g_renew
      Src: /src/glib/glib/gunicollate.c:289,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: 3
    argNames:
    - str
    - len
    - collator
    argTypes:
    - gchar*
    - gssize
    - CollatorRef
    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_renew
    - g_strdup
    - g_free
    - UCGetCollationKey
    - g_utf8_to_utf16
    - g_new
    - collate_key_to_string
    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: g_strdup
      Src: /src/glib/glib/gunicollate.c:322,1
    - Dst: carbon_collate_key_with_collator
      Src: /src/glib/glib/gunicollate.c:326,1
    - Dst: UCCreateCollator
      Src: /src/glib/glib/gunicollate.c:314,1
    - Dst: g_warning
      Src: /src/glib/glib/gunicollate.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    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:
    - carbon_collate_key_with_collator
    - g_strdup
    - G_UNLIKELY
    - g_warning
    - UCCreateCollator
    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: g_strdup
      Src: /src/glib/glib/gunicollate.c:353,1
    - Dst: carbon_collate_key_with_collator
      Src: /src/glib/glib/gunicollate.c:357,1
    - Dst: g_warning
      Src: /src/glib/glib/gunicollate.c:351,1
    - Dst: UCCreateCollator
      Src: /src/glib/glib/gunicollate.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    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:
    - carbon_collate_key_with_collator
    - g_strdup
    - G_UNLIKELY
    - g_warning
    - UCCreateCollator
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *carbon_collate_key_for_filename (const gchar *str, gssize
      len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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
    - 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: g_get_charset
      Src: /src/glib/glib/gunicollate.c:138,1
    - Dst: wcscoll
      Src: /src/glib/glib/gunicollate.c:121,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:160,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_utf8_normalize
      Src: /src/glib/glib/gunicollate.c:135,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:133,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:132,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:97,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:107,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gunicollate.c:136,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:124,1
    - Dst: _g_utf8_normalize_wc
      Src: /src/glib/glib/gunicollate.c:119,1
    - Dst: strcoll
      Src: /src/glib/glib/gunicollate.c:140,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:156,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:
    - g_free
    - g_utf8_to_utf16
    - UCCompareTextDefault
    - g_utf8_normalize
    - wcscoll
    - strcmp
    - g_get_charset
    - g_return_val_if_fail
    - _g_utf8_normalize_wc
    - strcoll
    - g_convert
    linkageType: ''
    returnType: gint
    signature: "gint g_utf8_collate (const gchar *str1,\t\tconst gchar *str2) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:388,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:399,1
    - Dst: carbon_collate_key
      Src: /src/glib/glib/gunicollate.c:389,1
    - Dst: _g_utf8_normalize_wc
      Src: /src/glib/glib/gunicollate.c:401,1
    - Dst: wcsxfrm
      Src: /src/glib/glib/gunicollate.c:405,1
    - Dst: g_new
      Src: /src/glib/glib/gunicollate.c:406,1
    - Dst: wcsxfrm
      Src: /src/glib/glib/gunicollate.c:407,1
    - Dst: utf8_encode
      Src: /src/glib/glib/gunicollate.c:410,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:429,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunicollate.c:440,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunicollate.c:470,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:476,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gunicollate.c:435,1
    - Dst: strlen
      Src: /src/glib/glib/gunicollate.c:469,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:403,1
    - Dst: utf8_encode
      Src: /src/glib/glib/gunicollate.c:415,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:420,1
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:437,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gunicollate.c:431,1
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:441,1
    - Dst: g_convert
      Src: /src/glib/glib/gunicollate.c:446,1
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:450,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunicollate.c:459,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:463,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunicollate.c:412,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:419,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:453,1
    - Dst: memcpy
      Src: /src/glib/glib/gunicollate.c:472,1
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:461,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 480
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 480
    functionName: g_utf8_collate_key
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_free
    - utf8_encode
    - g_utf8_normalize
    - carbon_collate_key
    - g_new
    - wcsxfrm
    - strxfrm
    - g_get_charset
    - g_return_val_if_fail
    - g_malloc
    - _g_utf8_normalize_wc
    - g_convert
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_collate_key (const gchar *str,\t\t gssize len) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_collate_key
      Src: /src/glib/glib/gunicollate.c:587,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:592,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/glib/gunicollate.c:610,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gunicollate.c:659,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gunicollate.c:664,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gunicollate.c:653,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/glib/gunicollate.c:678,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:683,1
    - Dst: g_string_free
      Src: /src/glib/glib/gunicollate.c:684,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gunicollate.c:575,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gunicollate.c:574,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:612,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gunicollate.c:635,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:615,1
    - Dst: strlen
      Src: /src/glib/glib/gunicollate.c:572,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:588,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:589,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:611,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:680,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:679,1
    - Dst: g_string_free
      Src: /src/glib/glib/gunicollate.c:686,1
    - Dst: carbon_collate_key_for_filename
      Src: /src/glib/glib/gunicollate.c:688,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 72
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 690
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 690
    functionName: g_utf8_collate_key_for_filename
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - strlen
    - carbon_collate_key_for_filename
    - g_string_sized_new
    - g_string_append
    - g_free
    - g_ascii_isdigit
    - g_string_append_c
    - g_string_append_len
    - g_utf8_collate_key
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_collate_key_for_filename (const gchar *str,\t\t\t\t
      gssize len) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/glib/glib/gutils.c:168,1
    - Dst: g_strerror
      Src: /src/glib/glib/gutils.c:173,1
    - Dst: g_error
      Src: /src/glib/glib/gutils.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - func
    argTypes:
    - GVoidFunc
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 175
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gutils.c:1067,1
    - Dst: gethostname
      Src: /src/glib/glib/gutils.c:1102,1
    - Dst: sysconf
      Src: /src/glib/glib/gutils.c:1087,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:1101,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1106,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:1107,1
    - Dst: gethostname
      Src: /src/glib/glib/gutils.c:1108,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gutils.c:1112,1
    - Dst: GetComputerNameW
      Src: /src/glib/glib/gutils.c:1117,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:1119,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1124,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gutils.c:1124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1128
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1128
    functionName: g_get_host_name
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_once_init_enter
    - g_clear_pointer
    - sysconf
    - GetComputerNameW
    - g_once_init_leave
    - g_utf16_to_utf8
    - gethostname
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_host_name (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2406,1
    - Dst: g_new0
      Src: /src/glib/glib/gutils.c:2415,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2429,1
    - Dst: load_user_special_dirs
      Src: /src/glib/glib/gutils.c:2416,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:2426,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2433,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2437,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2441
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2441
    functionName: g_reload_user_special_dirs_cache
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - load_user_special_dirs
    - g_free
    - g_new0
    - G_LOCK
    - g_strcmp0
    - G_UNLOCK
    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:2759,1
    - Dst: g_build_system_data_dirs
      Src: /src/glib/glib/gutils.c:2762,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2768
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2768
    functionName: g_get_system_data_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_build_system_data_dirs
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const * g_get_system_data_dirs (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2837,1
    - Dst: g_build_system_config_dirs
      Src: /src/glib/glib/gutils.c:2840,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2846
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2846
    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:
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/gutils.c:3256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - program
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3257
      start: 3253
    functionDepth: 0
    functionLinenumber: 3253
    functionLinenumberEnd: 3257
    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:3260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3260
      start: 3260
    functionDepth: 0
    functionLinenumber: 3260
    functionLinenumberEnd: 3260
    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:200,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:203,1
    - Dst: g_build_path
      Src: /src/glib/glib/gutils.c:207,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:206,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:204,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:209,1
    - Dst: my_strchrnul
      Src: /src/glib/glib/gutils.c:218,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:220,1
    - Dst: memcpy
      Src: /src/glib/glib/gutils.c:221,1
    - Dst: memcpy
      Src: /src/glib/glib/gutils.c:222,1
    - Dst: inner_find_program_in_path
      Src: /src/glib/glib/gutils.c:225,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:235,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:226,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:230,1
    - Dst: inner_find_program_in_path
      Src: /src/glib/glib/gutils.c:239,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - program
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 240
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 240
    functionName: g_find_program_in_path
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_free
    - g_build_path
    - strrchr
    - my_strchrnul
    - inner_find_program_in_path
    - g_getenv
    - strchr
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_find_program_in_path (const gchar *program) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gutils.c:2266,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2264,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2272,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gutils.c:2273,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2285,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2306,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2296,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2311,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2321,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2331,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:2372,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2381,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:2377,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gutils.c:2380,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2274,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2298,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2298,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2313,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2313,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2323,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2323,1
    - Dst: strrchr
      Src: /src/glib/glib/gutils.c:2358,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2373,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2374,1
    - Dst: g_build_user_config_dir
      Src: /src/glib/glib/gutils.c:2260,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2301,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2316,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2326,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2350,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2366,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2328,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2261,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2268,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2293,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2293,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2303,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2308,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2303,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2308,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2318,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2318,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2328,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 120
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2382
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2382
    functionName: load_user_special_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - g_build_home_dir
    - strrchr
    - g_build_filename
    - g_strsplit
    - g_strfreev
    - g_file_get_contents
    - g_strv_length
    - strncmp
    - g_build_user_config_dir
    linkageType: ''
    returnType: void
    signature: 'static void load_user_special_dirs (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:2774,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2788,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2782,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2778,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2785,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2790,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2796,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2799,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2800
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2800
    functionName: g_build_system_config_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - get_special_folder
    - g_free
    - g_strsplit
    - g_steal_pointer
    - g_getenv
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_build_system_config_dirs (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3200,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3213,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3218,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3200,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3213,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3218,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3223,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3223,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3228,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3228,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3233,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3238,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3233,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - size
    argTypes:
    - goffset
    constantsTouched: []
    func_position:
      end: 3241
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3241
    functionName: g_format_size_for_display
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - _
    - g_dngettext
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_format_size_for_display (goffset size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_name
      Src: /src/glib/glib/gutils.c:3259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3259
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3259
    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:3261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3261
      start: 3261
    functionDepth: 0
    functionLinenumber: 3261
    functionLinenumberEnd: 3261
    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_find_program_for_path
      Src: /src/glib/glib/gutils.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - program
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHGetKnownFolderPath
      Src: /src/glib/glib/gutils.c:621,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:624,1
    - Dst: SUCCEEDED
      Src: /src/glib/glib/gutils.c:623,1
    - Dst: CoTaskMemFree
      Src: /src/glib/glib/gutils.c:626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - known_folder_guid_ptr
    argTypes:
    - REFKNOWNFOLDERID
    constantsTouched: []
    func_position:
      end: 629
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 629
    functionName: get_special_folder
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - SHGetKnownFolderPath
    - CoTaskMemFree
    - g_utf16_to_utf8
    - SUCCEEDED
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_special_folder (REFKNOWNFOLDERID known_folder_guid_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_database_entry
      Src: /src/glib/glib/gutils.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 813
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 813
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:940,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:943,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 949
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 949
    functionName: g_get_home_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_build_home_dir
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_home_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:954,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:959,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gutils.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 960
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 960
    functionName: _g_unset_cached_tmp_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_ignore_leak
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void _g_unset_cached_tmp_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1244,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1249,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1248,1
    - Dst: g_warning
      Src: /src/glib/glib/gutils.c:1252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - application_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1253
    functionName: g_set_application_name
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warning
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_set_application_name (const gchar *application_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1762,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gutils.c:1768,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1769,1
    - Dst: g_debug
      Src: /src/glib/glib/gutils.c:1764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - global_str
    - type
    - new_value
    argTypes:
    - gchar**
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1771
    functionName: set_str_if_different
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_debug
    - g_strdup
    - g_ignore_leak
    linkageType: ''
    returnType: void
    signature: 'static void set_str_if_different (gchar **global_str, const gchar
      *type, const gchar *new_value) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gutils.c:1831,1
    - Dst: va_arg
      Src: /src/glib/glib/gutils.c:1833,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1838,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1840,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1842,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1844,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1846,1
    - Dst: va_end
      Src: /src/glib/glib/gutils.c:1858,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1839,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1841,1
    - Dst: set_strv_if_different
      Src: /src/glib/glib/gutils.c:1843,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1845,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gutils.c:1855,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1860,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1829,1
    - Dst: g_assert
      Src: /src/glib/glib/gutils.c:1836,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1848,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1850,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1852,1
    - Dst: va_arg
      Src: /src/glib/glib/gutils.c:1835,1
    - Dst: set_strv_if_different
      Src: /src/glib/glib/gutils.c:1847,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1849,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1851,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1853,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - first_dir_type
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1861
    functionName: g_set_user_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - va_end
    - set_strv_if_different
    - G_LOCK
    - g_assert
    - set_str_if_different
    - g_assert_not_reached
    - G_UNLOCK
    - va_start
    - va_arg
    linkageType: ''
    returnType: void
    signature: 'void g_set_user_dirs (const gchar *first_dir_type, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowsDirectoryW
      Src: /src/glib/glib/gutils.c:636,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:645,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/gutils.c:647,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:641,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gutils.c:636,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gutils.c:648,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 655
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 655
    functionName: get_windows_directory_root
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - GetWindowsDirectoryW
    - g_strdup
    - g_path_skip_root
    - G_IS_DIR_SEPARATOR
    - G_N_ELEMENTS
    - g_utf16_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *get_windows_directory_root (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_equal
      Src: /src/glib/glib/gutils.c:1779,1
    - Dst: g_debug
      Src: /src/glib/glib/gutils.c:1782,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1783,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/gutils.c:1781,1
    - Dst: g_ignore_strv_leak
      Src: /src/glib/glib/gutils.c:1787,1
    - Dst: g_strdupv
      Src: /src/glib/glib/gutils.c:1788,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - global_strv
    - type
    - new_value
    argTypes:
    - gchar***
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1790
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1790
    functionName: set_strv_if_different
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_ignore_strv_leak
    - g_free
    - g_strdupv
    - g_strv_equal
    - g_debug
    - g_strjoinv
    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:1867,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1870,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:1877,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:1873,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: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1883
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1883
    functionName: g_build_user_data_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - get_special_folder
    - g_free
    - g_build_home_dir
    - g_build_filename
    - g_steal_pointer
    - g_getenv
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_user_data_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:1931,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:1942,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1934,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_free
      Src: /src/glib/glib/gutils.c:1943,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1946,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1947
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1947
    functionName: g_build_user_config_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - get_special_folder
    - g_free
    - g_build_home_dir
    - g_build_filename
    - g_steal_pointer
    - g_getenv
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_user_config_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:1994,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2000,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2005,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:2004,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1997,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2006,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2009,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2010
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2010
    functionName: g_build_user_cache_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - get_special_folder
    - g_free
    - g_build_home_dir
    - g_build_filename
    - g_steal_pointer
    - g_getenv
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_user_cache_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:2056,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:2066,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:2059,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2067,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2062,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2068,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2071,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2072
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2072
    functionName: g_build_user_state_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - get_special_folder
    - g_free
    - g_build_home_dir
    - g_build_filename
    - g_steal_pointer
    - g_getenv
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_user_state_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleExW
      Src: /src/glib/glib/gutils.c:2509,1
    - Dst: VirtualQuery
      Src: /src/glib/glib/gutils.c:2514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - address
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2519
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2519
    functionName: get_module_for_address
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - VirtualQuery
    - GetModuleHandleExW
    linkageType: ''
    returnType: HMODULE
    signature: 'static HMODULE get_module_for_address (gconstpointer address) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_module_for_address
      Src: /src/glib/glib/gutils.c:2553,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gutils.c:2557,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/gutils.c:2618,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2622,1
    - Dst: g_array_free
      Src: /src/glib/glib/gutils.c:2624,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2564,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2574,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2579,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2615,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2607,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gutils.c:2629,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2619,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2630,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2552,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gutils.c:2560,1
    - Dst: g_array_new
      Src: /src/glib/glib/gutils.c:2571,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2576,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2581,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2612,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2614,1
    - Dst: get_module_share_dir
      Src: /src/glib/glib/gutils.c:2605,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/gutils.c:2611,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2621,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 1
    argNames:
    - (*address_of_function)
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2634
      start: 2539
    functionDepth: 0
    functionLinenumber: 2539
    functionLinenumberEnd: 2634
    functionName: g_win32_get_system_data_dirs_for_module_real
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - get_special_folder
    - get_module_for_address
    - g_free
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - g_array_new
    - get_module_share_dir
    - g_array_append_val
    - g_hash_table_new
    - g_build_filename
    - g_win32_get_package_installation_directory_of_module
    - g_array_free
    - g_hash_table_lookup
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *g_win32_get_system_data_dirs_for_module_real
      (void (*address_of_function)(void)) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:692,1
    - Dst: getpwuid_r
      Src: /src/glib/glib/gutils.c:706,1
    - Dst: g_warning
      Src: /src/glib/glib/gutils.c:719,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:752,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:720,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:754,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/gutils.c:755,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:759,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:766,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gutils.c:665,1
    - Dst: getpwuid_r
      Src: /src/glib/glib/gutils.c:703,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:738,1
    - Dst: g_strerror
      Src: /src/glib/glib/gutils.c:726,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:706,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:753,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/gutils.c:756,1
    - Dst: GetUserNameW
      Src: /src/glib/glib/gutils.c:776,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:779,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:787,1
    - Dst: sysconf
      Src: /src/glib/glib/gutils.c:680,1
    - Dst: getpwnam_r
      Src: /src/glib/glib/gutils.c:700,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:701,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:703,1
    - Dst: g_warning
      Src: /src/glib/glib/gutils.c:725,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gutils.c:757,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:778,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gutils.c:789,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:688,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:696,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:742,1
    - Dst: getpwuid
      Src: /src/glib/glib/gutils.c:738,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gutils.c:758,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:764,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:785,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 93
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 793
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 793
    functionName: g_get_user_database_entry
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_strjoinv
    - getpwnam_r
    - getpwuid
    - getpwuid_r
    - g_ascii_toupper
    - g_strerror
    - GetUserNameW
    - getuid
    - g_strsplit
    - sysconf
    - g_warning
    - g_once_init_leave
    - g_malloc
    - g_strdup
    - g_free
    - g_once_init_enter
    - g_getenv
    - g_utf16_to_utf8
    linkageType: ''
    returnType: UserDatabaseEntry*
    signature: 'static UserDatabaseEntry *g_get_user_database_entry (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:845,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gutils.c:860,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:845,1
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:859,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:858,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:869,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:876,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:877,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:877,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:881,1
    - Dst: get_windows_directory_root
      Src: /src/glib/glib/gutils.c:884,1
    - Dst: g_warning
      Src: /src/glib/glib/gutils.c:901,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:906,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:903,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:893,1
    - Dst: g_get_user_database_entry
      Src: /src/glib/glib/gutils.c:892,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 907
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 907
    functionName: g_build_home_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - get_special_folder
    - g_clear_pointer
    - g_get_user_database_entry
    - g_warning
    - g_steal_pointer
    - g_file_test
    - g_getenv
    - strchr
    - g_path_is_absolute
    - get_windows_directory_root
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_home_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1211,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1213,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gutils.c:1216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1219
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1219
    functionName: g_get_application_name
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_get_prgname
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_application_name (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:2469,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutils.c:2474,1
    - Dst: load_user_special_dirs
      Src: /src/glib/glib/gutils.c:2478,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2472,1
    - Dst: g_new0
      Src: /src/glib/glib/gutils.c:2476,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:2483,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2484,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2485,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - directory
    argTypes:
    - GUserDirectory
    constantsTouched: []
    func_position:
      end: 2493
      start: 2464
    functionDepth: 0
    functionLinenumber: 2464
    functionLinenumberEnd: 2493
    functionName: g_get_user_special_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - load_user_special_dirs
    - G_UNLIKELY
    - g_new0
    - g_build_home_dir
    - G_LOCK
    - g_free
    - G_UNLOCK
    - g_build_filename
    - g_return_val_if_fail
    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:2857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - nullify_location
    argTypes:
    - gpointer*
    constantsTouched: []
    func_position:
      end: 2860
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2860
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/glib/glib/gutils.c:3278,1
    - Dst: issetugid
      Src: /src/glib/glib/gutils.c:3290,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gutils.c:3298,1
    - Dst: g_strerror
      Src: /src/glib/glib/gutils.c:3281,1
    - Dst: g_error
      Src: /src/glib/glib/gutils.c:3281,1
    - Dst: getresuid
      Src: /src/glib/glib/gutils.c:3306,1
    - Dst: getresgid
      Src: /src/glib/glib/gutils.c:3307,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:3310,1
    - Dst: getgid
      Src: /src/glib/glib/gutils.c:3311,1
    - Dst: geteuid
      Src: /src/glib/glib/gutils.c:3312,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gutils.c:3319,1
    - Dst: getegid
      Src: /src/glib/glib/gutils.c:3313,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3325
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3325
    functionName: g_check_setuid
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - getauxval
    - g_once_init_enter
    - g_strerror
    - g_error
    - getuid
    - issetugid
    - getegid
    - g_once_init_leave
    - getresuid
    - getresgid
    - geteuid
    - getgid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_check_setuid (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1916,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1922,1
    - Dst: g_build_user_data_dir
      Src: /src/glib/glib/gutils.c:1919,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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_build_user_data_dir
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_data_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1154,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1159
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1159
    functionName: g_get_prgname
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_prgname (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_nth_lsf_impl
      Src: /src/glib/glib/gutils.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 550
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_storage_impl
      Src: /src/glib/glib/gutils.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - gulong
    constantsTouched: []
    func_position:
      end: 587
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 587
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_string
      Src: /src/glib/glib/gutils.c:1181,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/gutils.c:1183,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1182,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - prgname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1185
    functionName: g_set_prgname
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_quark_to_string
    - G_UNLOCK
    - g_quark_from_string
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_set_prgname (const gchar *prgname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2180,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2186,1
    - Dst: g_build_user_runtime_dir
      Src: /src/glib/glib/gutils.c:2183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2189
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2189
    functionName: g_get_user_runtime_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_build_user_runtime_dir
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_runtime_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_format_size_full
      Src: /src/glib/glib/gutils.c:2902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 2903
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2903
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gutils.c:1376,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1412,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1386,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1416,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1462,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:1454,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:1441,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1440,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1466,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1469,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1414,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1418,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1460,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1467,1
    - Dst: get_windows_8_1_update
      Src: /src/glib/glib/gutils.c:1471,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1487,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1489,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1499,1
    - Dst: g_string_free
      Src: /src/glib/glib/gutils.c:1521,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1379,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1422,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1424,1
    - Dst: get_registry_str
      Src: /src/glib/glib/gutils.c:1446,1
    - Dst: get_registry_str
      Src: /src/glib/glib/gutils.c:1431,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:1474,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1497,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1507,1
    - Dst: g_string_free
      Src: /src/glib/glib/gutils.c:1513,1
    - Dst: _g_win32_call_rtl_version
      Src: /src/glib/glib/gutils.c:1394,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:1456,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1444,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1476,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1484,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1503,1
    - Dst: g_string_prepend
      Src: /src/glib/glib/gutils.c:1519,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1501,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 1
    argNames:
    - with_windows
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 1522
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1522
    functionName: get_windows_version
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_free
    - g_win32_check_windows_version
    - g_string_prepend
    - g_strcmp0
    - g_string_append_printf
    - get_registry_str
    - get_windows_8_1_update
    - g_string_free
    - _g_win32_call_rtl_version
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_windows_version (gboolean with_windows) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2645,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2655,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:2649,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/glib/gutils.c:2679,1
    - Dst: g_win32_get_system_data_dirs_for_module_real
      Src: /src/glib/glib/gutils.c:2681,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - (*address_of_function)
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2682
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2682
    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_LOCK
    - g_get_system_data_dirs
    - G_UNLOCK
    - g_getenv
    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:2690,1
    - Dst: g_strdupv
      Src: /src/glib/glib/gutils.c:2702,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2699,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2704,1
    - Dst: g_win32_get_system_data_dirs_for_module_real
      Src: /src/glib/glib/gutils.c:2702,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2707,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2708
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2708
    functionName: g_build_system_data_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_win32_get_system_data_dirs_for_module_real
    - g_strdupv
    - g_strsplit
    - g_steal_pointer
    - g_getenv
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_build_system_data_dirs (void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:342,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:351,1
    - Dst: GetModuleFileNameW
      Src: /src/glib/glib/gutils.c:400,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gutils.c:357,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:454,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:459,1
    - Dst: memcpy
      Src: /src/glib/glib/gutils.c:464,1
    - Dst: my_strchrnul
      Src: /src/glib/glib/gutils.c:476,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:487,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gutils.c:501,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:522,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:461,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:489,1
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:494,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:358,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gutils.c:368,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:359,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:402,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:406,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:410,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:418,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:424,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:432,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:439,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:497,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:520,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:503,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:519,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:460,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:498,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:502,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:327,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:332,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:339,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:340,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:330,1
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:347,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:378,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:364,1
    - Dst: GetSystemDirectoryW
      Src: /src/glib/glib/gutils.c:404,1
    - Dst: GetWindowsDirectoryW
      Src: /src/glib/glib/gutils.c:408,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gutils.c:431,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gutils.c:445,1
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:493,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:507,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:510,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gutils.c:438,1
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:346,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:353,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:370,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:362,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/gutils.c:414,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:415,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:425,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:433,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:446,1
    - Dst: memcpy
      Src: /src/glib/glib/gutils.c:484,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:506,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:515,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:447,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gutils.c:423,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:508,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 157
    argCount: 3
    argNames:
    - program
    - path
    - working_dir
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 526
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 526
    functionName: g_find_program_for_path
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_path_get_dirname
    - g_steal_pointer
    - g_get_current_dir
    - g_return_val_if_fail
    - strlen
    - g_strconcat
    - strchr
    - memcpy
    - my_strchrnul
    - g_build_filename
    - GetModuleFileNameW
    - g_malloc
    - GetWindowsDirectoryW
    - g_strdup
    - g_free
    - GetSystemDirectoryW
    - g_file_test
    - g_getenv
    - g_utf16_to_utf8
    - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:985,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:991,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:995,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:996,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:991,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:996,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1008,1
    - Dst: get_windows_directory_root
      Src: /src/glib/glib/gutils.c:1009,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1017,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1018,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:1019,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1032,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1027,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1035,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1028,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gutils.c:1020,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1038
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1038
    functionName: g_get_tmp_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - G_LOCK
    - G_UNLOCK
    - g_steal_pointer
    - g_getenv
    - G_IS_DIR_SEPARATOR
    - get_windows_directory_root
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_tmp_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2207,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2208,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2214,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2212,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2210,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2215,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2217,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2219,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2221,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2223
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2223
    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:3349,1
    - Dst: ExitProcess
      Src: /src/glib/glib/gutils.c:3354,1
    - Dst: DebugBreak
      Src: /src/glib/glib/gutils.c:3350,1
    - Dst: abort
      Src: /src/glib/glib/gutils.c:3352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3355
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3355
    functionName: g_abort
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - abort
    - DebugBreak
    - ExitProcess
    - IsDebuggerPresent
    linkageType: ''
    returnType: void
    signature: 'void g_abort (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1979,1
    - Dst: g_build_user_config_dir
      Src: /src/glib/glib/gutils.c:1982,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1988
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1988
    functionName: g_get_user_config_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_build_user_config_dir
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_config_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - str
    - c
    argTypes:
    - gchar*
    - gchar
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_database_entry
      Src: /src/glib/glib/gutils.c:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 834
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:1535,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gutils.c:1542,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:1536,1
    - Dst: g_shell_unquote
      Src: /src/glib/glib/gutils.c:1545,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:1544,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1547,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gutils.c:1551,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1552,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1558,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1559,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1561,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1562,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1560,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1567,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1563,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - key_name
    - buffer
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1568
    functionName: get_os_info_from_os_release
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_str_equal
    - g_free
    - g_shell_unquote
    - g_strsplit
    - g_strdup_printf
    - g_str_has_prefix
    - g_strfreev
    - g_steal_pointer
    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_LOCK
      Src: /src/glib/glib/gutils.c:2105,1
    - Dst: g_build_user_state_dir
      Src: /src/glib/glib/gutils.c:2108,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2114
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2114
    functionName: g_get_user_state_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_build_user_state_dir
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_state_dir (void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2981,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2993,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3001,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3003,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3011,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3013,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3015,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3017,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gutils.c:3045,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3059,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:3104,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:3166,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2965,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2983,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2985,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2989,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2995,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2987,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:3026,1
    - Dst: g_string_new
      Src: /src/glib/glib/gutils.c:3028,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3055,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:3063,1
    - Dst: C_
      Src: /src/glib/glib/gutils.c:3114,1
    - Dst: C_
      Src: /src/glib/glib/gutils.c:3108,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2967,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2999,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3007,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2997,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:3025,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gutils.c:3067,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gutils.c:3072,1
    - Dst: C_
      Src: /src/glib/glib/gutils.c:3072,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gutils.c:3079,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3100,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gutils.c:3108,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:3164,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3154,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2973,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2971,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2969,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2975,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2979,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3009,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:3024,1
    - Dst: C_
      Src: /src/glib/glib/gutils.c:3067,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gutils.c:3114,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:3163,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:3165,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3161,1
    - Dst: g_string_free
      Src: /src/glib/glib/gutils.c:3169,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3159,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 122
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - guint64
    - GFormatSizeFlags
    constantsTouched: []
    func_position:
      end: 3170
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 3170
    functionName: g_format_size_full
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - _
    - g_free
    - g_string_append_printf
    - g_assert_not_reached
    - g_dngettext
    - g_strdup_printf
    - C_
    - g_string_printf
    - g_string_free
    - G_N_ELEMENTS
    - g_return_val_if_fail
    - N_
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_format_size_full (guint64 size, GFormatSizeFlags flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gutils.c:1293,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gutils.c:1315,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gutils.c:1298,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gutils.c:1307,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:1312,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:1325,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1331,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gutils.c:1332,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - root_key
    - path
    - value_name
    argTypes:
    - HKEY
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1335
    functionName: get_registry_str
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_free
    - RegCloseKey
    - RegOpenKeyExW
    - RegQueryValueExW
    - g_utf16_to_utf8
    - g_malloc
    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: strcmp
      Src: /src/glib/glib/gutils.c:1578,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1582,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gutils.c:1628,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1629,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1636,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1579,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1591,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1602,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1608,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1617,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1626,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1630,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1643,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1646,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1649,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1580,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:1583,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1586,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1615,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1621,1
    - Dst: MIN
      Src: /src/glib/glib/gutils.c:1637,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1638,1
    - Dst: MIN
      Src: /src/glib/glib/gutils.c:1639,1
    - Dst: g_strcanon
      Src: /src/glib/glib/gutils.c:1648,1
    - Dst: uname
      Src: /src/glib/glib/gutils.c:1575,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1581,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1584,1
    - Dst: g_strcanon
      Src: /src/glib/glib/gutils.c:1588,1
    - Dst: MIN
      Src: /src/glib/glib/gutils.c:1611,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1610,1
    - Dst: MIN
      Src: /src/glib/glib/gutils.c:1609,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1589,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 1
    argNames:
    - key_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1653
    functionName: get_os_info_from_uname
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ascii_strdown
    - MIN
    - g_strcanon
    - g_strdup_printf
    - g_steal_pointer
    - uname
    - g_str_has_prefix
    - strcmp
    - strchr
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_os_info_from_uname (const gchar *key_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:2120,1
    - Dst: g_build_user_cache_dir
      Src: /src/glib/glib/gutils.c:2133,1
    - Dst: g_mkdir
      Src: /src/glib/glib/gutils.c:2147,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2150,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:2124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2151
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2151
    functionName: g_build_user_runtime_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_build_user_cache_dir
    - g_steal_pointer
    - g_mkdir
    - g_getenv
    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:2199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2200
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2200
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_module_for_address
      Src: /src/glib/glib/gutils.c:2528,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2533,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/gutils.c:2532,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - address
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2537
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2537
    functionName: get_module_share_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - get_module_for_address
    - g_win32_get_package_installation_directory_of_module
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_module_share_dir (gconstpointer address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/gutils.c:3262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3262
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3262
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_nth_msf_impl
      Src: /src/glib/glib/gutils.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 571
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_registry_str
      Src: /src/glib/glib/gutils.c:1346,1
    - Dst: wcstol
      Src: /src/glib/glib/gutils.c:1356,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1364,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gutils.c:1368,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1371
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1371
    functionName: get_windows_8_1_update
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - get_registry_str
    - g_strdup
    - wcstol
    - g_clear_pointer
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_windows_8_1_update (void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_error_matches
      Src: /src/glib/glib/gutils.c:1698,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1713,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1717,1
    - Dst: get_windows_version
      Src: /src/glib/glib/gutils.c:1727,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1732,1
    - Dst: g_strcanon
      Src: /src/glib/glib/gutils.c:1735,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1739,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1743,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gutils.c:1695,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gutils.c:1690,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1714,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1711,1
    - Dst: get_windows_version
      Src: /src/glib/glib/gutils.c:1722,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1733,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1740,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1744,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1678,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gutils.c:1699,1
    - Dst: get_os_info_from_os_release
      Src: /src/glib/glib/gutils.c:1706,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1710,1
    - Dst: get_windows_version
      Src: /src/glib/glib/gutils.c:1719,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1715,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1723,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1737,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1741,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1745,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1679,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:1688,1
    - Dst: get_os_info_from_uname
      Src: /src/glib/glib/gutils.c:1708,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1716,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1720,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1738,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1742,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1746,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 1
    argNames:
    - key_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1750
    functionName: g_get_os_info
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - get_os_info_from_uname
    - get_os_info_from_os_release
    - g_free
    - g_ascii_strdown
    - g_strcmp0
    - g_error_matches
    - get_windows_version
    - g_strcanon
    - g_clear_error
    - g_steal_pointer
    - G_N_ELEMENTS
    - g_file_get_contents
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_get_os_info (const gchar *key_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2041,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2047,1
    - Dst: g_build_user_cache_dir
      Src: /src/glib/glib/gutils.c:2044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2050
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2050
    functionName: g_get_user_cache_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_build_user_cache_dir
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_cache_dir (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: 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: 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: 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:1250,1
    - Dst: g_get_language_names
      Src: /src/glib/glib/gkeyfile.c:1251,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/gkeyfile.c:1257,1
    - Dst: g_strdupv
      Src: /src/glib/glib/gkeyfile.c:1251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - key_file
    - locale
    - locale_len
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1263
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1263
    functionName: g_key_file_locale_is_interesting
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_get_language_names
    - g_ascii_strncasecmp
    - g_strdupv
    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:1319,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1321,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:1323,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - key_file
    - line
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1327
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1327
    functionName: g_key_file_parse_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_warn_if_fail
    - g_list_prepend
    - g_new
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1730,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 1736
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1736
    functionName: g_key_file_get_start_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_key_file_get_start_group (GKeyFile *key_file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2245,1
    - Dst: g_get_locale_variants
      Src: /src/glib/glib/gkeyfile.c:2255,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2246,1
    - Dst: g_get_language_names
      Src: /src/glib/glib/gkeyfile.c:2260,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2247,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2266,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/gkeyfile.c:2268,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2271,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/gkeyfile.c:2281,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2285,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:2289,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - locale
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2292
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2292
    functionName: g_key_file_get_locale_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    - g_free
    - g_get_locale_variants
    - g_get_language_names
    - g_strdup_printf
    - g_strfreev
    - g_propagate_error
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gkeyfile.c:4041,1
    - Dst: g_list_insert_before
      Src: /src/glib/glib/gkeyfile.c:4042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - key_file
    - group
    - pair
    - sibling
    argTypes:
    - GKeyFile*
    - GKeyFileGroup*
    - GKeyFileKeyValuePair*
    - GList*
    constantsTouched: []
    func_position:
      end: 4043
      start: 4035
    functionDepth: 0
    functionLinenumber: 4035
    functionLinenumberEnd: 4043
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_has_key_full
      Src: /src/glib/glib/gkeyfile.c:3820,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3826,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: 3829
      start: 3811
    functionDepth: 0
    functionLinenumber: 3811
    functionLinenumberEnd: 3829
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1274,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1275,1
    - Dst: g_key_file_line_is_comment
      Src: /src/glib/glib/gkeyfile.c:1281,1
    - Dst: g_key_file_parse_comment
      Src: /src/glib/glib/gkeyfile.c:1282,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:1278,1
    - Dst: g_key_file_line_is_group
      Src: /src/glib/glib/gkeyfile.c:1283,1
    - Dst: g_key_file_parse_group
      Src: /src/glib/glib/gkeyfile.c:1284,1
    - Dst: g_key_file_line_is_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1287,1
    - Dst: g_key_file_parse_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1288,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:1293,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1294,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1305,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1296,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1299,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - key_file
    - line
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1306
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1306
    functionName: g_key_file_parse_line
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_key_file_parse_key_value_pair
    - _
    - g_key_file_parse_comment
    - g_free
    - g_key_file_line_is_group
    - g_key_file_line_is_comment
    - g_utf8_make_valid
    - g_key_file_parse_group
    - g_return_if_fail
    - g_key_file_line_is_key_value_pair
    - g_propagate_error
    - g_ascii_isspace
    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:1346,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1354,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1353,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1351,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:1349,1
    - Dst: g_key_file_add_group
      Src: /src/glib/glib/gkeyfile.c:1358,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - key_file
    - line
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1360
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1360
    functionName: g_key_file_parse_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_strndup
    - g_key_file_add_group
    - g_key_file_is_group_name
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:4054,1
    - Dst: g_key_file_add_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:4063,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:4056,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:4055,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - key_file
    - group
    - key
    - value
    argTypes:
    - GKeyFile*
    - GKeyFileGroup*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4064
      start: 4045
    functionDepth: 0
    functionLinenumber: 4045
    functionLinenumberEnd: 4064
    functionName: g_key_file_add_key
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_key_file_add_key_value_pair
    - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3838,1
    - Dst: g_new0
      Src: /src/glib/glib/gkeyfile.c:3848,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3841,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3839,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:3839,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:3849,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gkeyfile.c:3850,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:3851,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/gkeyfile.c:3867,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3869,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gkeyfile.c:3877,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gkeyfile.c:3879,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:3872,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:3871,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - key_file
    - group_name
    - created
    argTypes:
    - GKeyFile*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3880
      start: 3831
    functionDepth: 0
    functionLinenumber: 3831
    functionLinenumberEnd: 3880
    functionName: g_key_file_add_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strstr_len
    - g_new0
    - g_hash_table_insert
    - g_list_prepend
    - g_new
    - g_key_file_is_group_name
    - g_hash_table_new
    - g_key_file_lookup_group
    - g_return_if_fail
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2402,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2404,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2403,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/glib/gkeyfile.c:2408,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2413,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:2422,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gkeyfile.c:2428,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2430,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gkeyfile.c:2433,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 6
    argNames:
    - key_file
    - group_name
    - key
    - locale
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2436
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2436
    functionName: g_key_file_get_locale_string_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_key_file_get_locale_string
    - g_free
    - g_strsplit
    - g_propagate_error
    - g_return_val_if_fail
    - g_strv_length
    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_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2682,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:2685,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2683,1
    - Dst: g_key_file_parse_boolean_as_value
      Src: /src/glib/glib/gkeyfile.c:2690,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:2692,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:2693,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2696,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:2697,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: 2698
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2698
    functionName: g_key_file_set_boolean_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_string_append_c
    - g_key_file_parse_boolean_as_value
    - g_string_free
    - g_key_file_set_value
    - g_return_if_fail
    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_hash_table_lookup
      Src: /src/glib/glib/gkeyfile.c:4169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - key_file
    - group
    - key
    argTypes:
    - GKeyFile*
    - GKeyFileGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4170
      start: 4164
    functionDepth: 0
    functionLinenumber: 4164
    functionLinenumberEnd: 4170
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1759,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1767,1
    - Dst: g_list_length
      Src: /src/glib/glib/gkeyfile.c:1761,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:1765,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1763,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1774,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:1786,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1788,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - key_file
    - length
    argTypes:
    - GKeyFile*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1796
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1796
    functionName: g_key_file_get_groups
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_list_last
    - g_warn_if_fail
    - g_new
    - g_list_length
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_key_file_get_groups (GKeyFile *key_file,\t\t gsize *length) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2327,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2328,1
    - Dst: g_get_locale_variants
      Src: /src/glib/glib/gkeyfile.c:2333,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2329,1
    - Dst: g_get_language_names
      Src: /src/glib/glib/gkeyfile.c:2337,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2343,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/gkeyfile.c:2344,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2345,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2346,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:2352,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:2354,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - locale
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2357
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2357
    functionName: g_key_file_get_locale_for_key
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_key_file_get_string
    - g_free
    - g_get_locale_variants
    - g_get_language_names
    - g_strdup_printf
    - g_strfreev
    - g_return_val_if_fail
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2615,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2628,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2616,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/gkeyfile.c:2624,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2617,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:2633,1
    - Dst: g_key_file_parse_value_as_boolean
      Src: /src/glib/glib/gkeyfile.c:2637,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2643,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:2644,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2645,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:2650,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2656
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2656
    functionName: g_key_file_get_boolean_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_key_file_get_string_list
    - g_key_file_parse_value_as_boolean
    - g_new
    - g_strfreev
    - g_propagate_error
    - g_return_val_if_fail
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:761,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:773,1
    - Dst: strchr
      Src: /src/glib/glib/gkeyfile.c:777,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gkeyfile.c:766,1
    - Dst: g_open
      Src: /src/glib/glib/gkeyfile.c:769,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:784,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:785,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:793,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:799,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:801,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:806,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:808,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 4
    argNames:
    - file
    - dirs
    - output_file
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 811
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 811
    functionName: find_file_in_data_dirs
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_open
    - g_strdup
    - g_free
    - _
    - g_strndup
    - g_build_filename
    - strchr
    - g_set_error_literal
    linkageType: ''
    returnType: gint
    signature: 'static gint find_file_in_data_dirs (const gchar *file, const gchar
      **dirs, gchar **output_file, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2986,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2988,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2987,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/gkeyfile.c:2993,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2997,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3002,1
    - Dst: g_key_file_parse_value_as_integer
      Src: /src/glib/glib/gkeyfile.c:3006,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3012,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:3013,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3014,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:3019,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 3025
      start: 2974
    functionDepth: 0
    functionLinenumber: 2974
    functionLinenumberEnd: 3025
    functionName: g_key_file_get_integer_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_parse_value_as_integer
    - g_free
    - g_key_file_get_string_list
    - g_new
    - g_strfreev
    - g_propagate_error
    - g_return_val_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3100,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3101,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3102,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:3106,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3110,1
    - Dst: g_key_file_parse_value_as_double
      Src: /src/glib/glib/gkeyfile.c:3114,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3116,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:3120,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3124,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3126,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:3129,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3132,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: 3136
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3136
    functionName: g_key_file_get_double
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_free
    - _
    - g_key_file_parse_value_as_double
    - g_error_matches
    - g_error_free
    - g_key_file_get_value
    - g_propagate_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_key_file_get_double (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3497,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3504,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3502,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3499,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:3497,1
    - Dst: g_key_file_lookup_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:3513,1
    - Dst: set_not_found_key_error
      Src: /src/glib/glib/gkeyfile.c:3517,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:3549,1
    - Dst: g_key_file_parse_value_as_comment
      Src: /src/glib/glib/gkeyfile.c:3551,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:3553,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/gkeyfile.c:3560,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gkeyfile.c:3560,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3554,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3565
      start: 3485
    functionDepth: 0
    functionLinenumber: 3485
    functionLinenumberEnd: 3565
    functionName: g_key_file_get_key_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_string_sized_new
    - g_string_append
    - _
    - g_free
    - g_string_free_and_steal
    - set_not_found_key_error
    - g_key_file_lookup_key_value_pair_node
    - g_key_file_parse_value_as_comment
    - g_key_file_is_group_name
    - g_steal_pointer
    - g_return_val_if_fail
    - g_key_file_lookup_group
    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:4088,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4090,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4097,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4089,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:4094,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4099,1
    - Dst: g_key_file_lookup_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:4104,1
    - Dst: set_not_found_key_error
      Src: /src/glib/glib/gkeyfile.c:4108,1
    - Dst: g_list_remove
      Src: /src/glib/glib/gkeyfile.c:4112,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gkeyfile.c:4113,1
    - Dst: g_key_file_key_value_pair_free
      Src: /src/glib/glib/gkeyfile.c:4114,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: 4117
      start: 4079
    functionDepth: 0
    functionLinenumber: 4079
    functionLinenumberEnd: 4117
    functionName: g_key_file_remove_key
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - set_not_found_key_error
    - g_hash_table_remove
    - g_key_file_lookup_key_value_pair
    - g_list_remove
    - g_return_val_if_fail
    - g_key_file_lookup_group
    - 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/glib/glib/gkeyfile.c:825,1
    - Dst: g_strerror
      Src: /src/glib/glib/gkeyfile.c:830,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gkeyfile.c:829,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:828,1
    - Dst: S_ISREG
      Src: /src/glib/glib/gkeyfile.c:834,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:836,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:838,1
    - Dst: g_key_file_clear
      Src: /src/glib/glib/gkeyfile.c:843,1
    - Dst: g_key_file_init
      Src: /src/glib/glib/gkeyfile.c:844,1
    - Dst: read
      Src: /src/glib/glib/gkeyfile.c:852,1
    - Dst: g_key_file_flush_parse_buffer
      Src: /src/glib/glib/gkeyfile.c:881,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:877,1
    - Dst: g_strerror
      Src: /src/glib/glib/gkeyfile.c:865,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:885,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gkeyfile.c:864,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:863,1
    - Dst: g_key_file_parse_data
      Src: /src/glib/glib/gkeyfile.c:869,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - key_file
    - fd
    - flags
    - error
    argTypes:
    - GKeyFile*
    - gint
    - GKeyFileFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 890
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 890
    functionName: g_key_file_load_from_fd
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - g_key_file_init
    - fstat
    - _
    - g_strerror
    - g_key_file_parse_data
    - g_key_file_flush_parse_buffer
    - read
    - g_file_error_from_errno
    - g_propagate_error
    - g_set_error_literal
    - g_key_file_clear
    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:3604,1
    - Dst: g_key_file_parse_value_as_comment
      Src: /src/glib/glib/gkeyfile.c:3606,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:3608,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3609,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:3615,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 3
    argNames:
    - key_file
    - group
    - error
    argTypes:
    - GKeyFile*
    - GKeyFileGroup*
    - GError**
    constantsTouched: []
    func_position:
      end: 3618
      start: 3567
    functionDepth: 0
    functionLinenumber: 3567
    functionLinenumberEnd: 3618
    functionName: get_group_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_free
    - g_key_file_parse_value_as_comment
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *get_group_comment (GKeyFile *key_file,\t\t GKeyFileGroup
      *group,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:4125,1
    - Dst: g_list_find
      Src: /src/glib/glib/gkeyfile.c:4129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - key_file
    - group_name
    argTypes:
    - GKeyFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4130
      start: 4119
    functionDepth: 0
    functionLinenumber: 4119
    functionLinenumberEnd: 4130
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1948,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:1954,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1958,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1950,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1949,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gkeyfile.c:1962,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:1964,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1965,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1967,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1969,1
    - Dst: g_key_file_parse_value_as_string
      Src: /src/glib/glib/gkeyfile.c:1975,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:1981,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1987,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:1990,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1970,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1985,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1977,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1993,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1997
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1997
    functionName: g_key_file_get_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_error_matches
    - g_key_file_parse_value_as_string
    - g_error_free
    - g_key_file_get_value
    - g_utf8_make_valid
    - g_propagate_error
    - g_return_val_if_fail
    - g_utf8_validate
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2194,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2197,1
    - Dst: g_key_file_parse_string_as_value
      Src: /src/glib/glib/gkeyfile.c:2199,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2195,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2196,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2200,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2201,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2202,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - locale
    - string
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2204
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2204
    functionName: g_key_file_set_locale_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strdup_printf
    - g_key_file_parse_string_as_value
    - g_key_file_set_value
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2866,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2870,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2869,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2868,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: 2871
      start: 2858
    functionDepth: 0
    functionLinenumber: 2858
    functionLinenumberEnd: 2871
    functionName: g_key_file_set_int64
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_value
    - g_strdup_printf
    - g_free
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2943,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2946,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2947,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2945,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: 2948
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2948
    functionName: g_key_file_set_uint64
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_value
    - g_strdup_printf
    - g_free
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3050,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:3060,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3051,1
    - Dst: g_key_file_parse_integer_as_value
      Src: /src/glib/glib/gkeyfile.c:3058,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:3053,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:3061,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3063,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:3066,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:3067,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: 3068
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3068
    functionName: g_key_file_set_integer_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_free
    - g_string_append_c
    - g_string_free
    - g_key_file_set_value
    - g_key_file_parse_integer_as_value
    - g_return_if_fail
    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:3158,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/gkeyfile.c:3160,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:3161,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: 3162
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3162
    functionName: g_key_file_set_double
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_value
    - g_ascii_dtostr
    - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1494,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1495,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:1500,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gkeyfile.c:1510,1
    - Dst: g_key_file_flush_parse_buffer
      Src: /src/glib/glib/gkeyfile.c:1519,1
    - Dst: g_key_file_parse_comment
      Src: /src/glib/glib/gkeyfile.c:1521,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1525,1
    - Dst: memchr
      Src: /src/glib/glib/gkeyfile.c:1537,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gkeyfile.c:1544,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 4
    argNames:
    - key_file
    - data
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1548
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1548
    functionName: g_key_file_parse_data
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_key_file_parse_comment
    - g_key_file_flush_parse_buffer
    - g_string_erase
    - g_string_append_len
    - g_propagate_error
    - memchr
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3628,1
    - Dst: get_group_comment
      Src: /src/glib/glib/gkeyfile.c:3642,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3633,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3631,1
    - Dst: g_key_file_lookup_group_node
      Src: /src/glib/glib/gkeyfile.c:3639,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - key_file
    - group_name
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3643
      start: 3620
    functionDepth: 0
    functionLinenumber: 3620
    functionLinenumberEnd: 3643
    functionName: g_key_file_get_group_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - get_group_comment
    - _
    - g_key_file_lookup_group_node
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3292,1
    - Dst: set_not_found_key_error
      Src: /src/glib/glib/gkeyfile.c:3310,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3297,1
    - Dst: g_key_file_lookup_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:3306,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3295,1
    - Dst: g_key_file_remove_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:3327,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3336,1
    - Dst: g_key_file_parse_comment_as_value
      Src: /src/glib/glib/gkeyfile.c:3338,1
    - Dst: g_list_insert
      Src: /src/glib/glib/gkeyfile.c:3340,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: 3344
      start: 3281
    functionDepth: 0
    functionLinenumber: 3281
    functionLinenumberEnd: 3344
    functionName: g_key_file_set_key_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - set_not_found_key_error
    - g_key_file_lookup_key_value_pair_node
    - g_list_insert
    - g_key_file_remove_key_value_pair_node
    - g_new
    - g_key_file_parse_comment_as_value
    - g_key_file_lookup_group
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1556,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1572,1
    - Dst: g_key_file_parse_line
      Src: /src/glib/glib/gkeyfile.c:1565,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gkeyfile.c:1568,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - key_file
    - error
    argTypes:
    - GKeyFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 1576
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1576
    functionName: g_key_file_flush_parse_buffer
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_string_erase
    - g_key_file_parse_line
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3358,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gkeyfile.c:3366,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:3359,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3361,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3372,1
    - Dst: g_key_file_parse_comment_as_value
      Src: /src/glib/glib/gkeyfile.c:3374,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:3377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - key_file
    - comment
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3380
      start: 3346
    functionDepth: 0
    functionLinenumber: 3346
    functionLinenumberEnd: 3380
    functionName: g_key_file_set_top_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_parse_comment_as_value
    - g_list_last
    - g_warn_if_fail
    - g_list_prepend
    - g_new
    - g_list_free_full
    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:3655,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:3656,1
    - Dst: get_group_comment
      Src: /src/glib/glib/gkeyfile.c:3660,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - key_file
    - error
    argTypes:
    - GKeyFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 3661
      start: 3645
    functionDepth: 0
    functionLinenumber: 3645
    functionLinenumberEnd: 3661
    functionName: g_key_file_get_top_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_list_last
    - g_warn_if_fail
    - get_group_comment
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_key_file_get_top_comment (GKeyFile *key_file, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1226,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gkeyfile.c:1231,1
    - Dst: g_key_file_clear
      Src: /src/glib/glib/gkeyfile.c:1230,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gkeyfile.c:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1233
    functionName: g_key_file_unref
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_free_sized
    - g_atomic_int_dec_and_test
    - g_key_file_clear
    - 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:1840,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1842,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1848,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:1844,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1841,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1850,1
    - Dst: g_key_file_lookup_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1855,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1858,1
    - Dst: set_not_found_key_error
      Src: /src/glib/glib/gkeyfile.c:1860,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1863
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1863
    functionName: g_key_file_get_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - set_not_found_key_error
    - g_key_file_lookup_key_value_pair
    - g_return_val_if_fail
    - g_key_file_lookup_group
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3722,1
    - Dst: g_key_file_set_key_comment
      Src: /src/glib/glib/gkeyfile.c:3725,1
    - Dst: g_key_file_set_group_comment
      Src: /src/glib/glib/gkeyfile.c:3727,1
    - Dst: g_key_file_set_top_comment
      Src: /src/glib/glib/gkeyfile.c:3729,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: 3730
      start: 3716
    functionDepth: 0
    functionLinenumber: 3716
    functionLinenumberEnd: 3730
    functionName: g_key_file_remove_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_set_group_comment
    - g_key_file_set_key_comment
    - g_key_file_set_top_comment
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_key_file_remove_comment (GKeyFile *key_file, const gchar
      *group_name, const gchar *key, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1144,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/glib/gkeyfile.c:1148,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1145,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/glib/gkeyfile.c:1147,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gkeyfile.c:1145,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1149,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gkeyfile.c:1149,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1152,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1156,1
    - Dst: g_key_file_load_from_dirs
      Src: /src/glib/glib/gkeyfile.c:1159,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:1166,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: 1169
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1169
    functionName: g_key_file_load_from_data_dirs
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strv_length
    - g_get_system_data_dirs
    - g_new
    - g_get_user_data_dir
    - g_strfreev
    - g_key_file_load_from_dirs
    - g_return_val_if_fail
    - 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:2022,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2026,1
    - Dst: g_key_file_parse_string_as_value
      Src: /src/glib/glib/gkeyfile.c:2025,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2027,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2023,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: 2028
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2028
    functionName: g_key_file_set_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_parse_string_as_value
    - g_free
    - g_key_file_set_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:3263,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3264,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:3273,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:3266,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/gkeyfile.c:3271,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:3274,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:3277,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:3278,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: 3279
      start: 3253
    functionDepth: 0
    functionLinenumber: 3253
    functionLinenumberEnd: 3279
    functionName: g_key_file_set_double_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_ascii_dtostr
    - g_string_append_c
    - g_string_free
    - g_key_file_set_value
    - g_return_if_fail
    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:4016,1
    - Dst: g_key_file_lookup_group_node
      Src: /src/glib/glib/gkeyfile.c:4019,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4017,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4023,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4025,1
    - Dst: g_key_file_remove_group_node
      Src: /src/glib/glib/gkeyfile.c:4030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - key_file
    - group_name
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4033
      start: 4009
    functionDepth: 0
    functionLinenumber: 4009
    functionLinenumberEnd: 4033
    functionName: g_key_file_remove_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_key_file_remove_group_node
    - _
    - g_key_file_lookup_group_node
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/gkeyfile.c:4584,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:4588,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4594,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4591,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4589,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - key_file
    - value
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4600
      start: 4576
    functionDepth: 0
    functionLinenumber: 4576
    functionLinenumberEnd: 4600
    functionName: g_key_file_parse_value_as_double
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ascii_strtod
    - _
    - g_free
    - g_utf8_make_valid
    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:4605,1
    - Dst: MAX
      Src: /src/glib/glib/gkeyfile.c:4606,1
    - Dst: strncmp
      Src: /src/glib/glib/gkeyfile.c:4606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - s1
    - len1
    - s2
    argTypes:
    - gchar*
    - size_t
    - gchar*
    constantsTouched: []
    func_position:
      end: 4607
      start: 4602
    functionDepth: 0
    functionLinenumber: 4602
    functionLinenumberEnd: 4607
    functionName: strcmp_sized
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - MAX
    - strncmp
    linkageType: ''
    returnType: gint
    signature: 'static gint strcmp_sized (const gchar *s1, size_t len1, const gchar
      *s2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3199,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/gkeyfile.c:3206,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3201,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3210,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3200,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3215,1
    - Dst: g_key_file_parse_value_as_double
      Src: /src/glib/glib/gkeyfile.c:3219,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3225,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:3226,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3227,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:3232,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 3238
      start: 3187
    functionDepth: 0
    functionLinenumber: 3187
    functionLinenumberEnd: 3238
    functionName: g_key_file_get_double_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_key_file_get_string_list
    - g_key_file_parse_value_as_double
    - g_new
    - g_strfreev
    - g_propagate_error
    - g_return_val_if_fail
    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:3932,1
    - Dst: g_key_file_remove_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:3980,1
    - Dst: g_list_remove_link
      Src: /src/glib/glib/gkeyfile.c:3971,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:3955,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gkeyfile.c:3933,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3983,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gkeyfile.c:3987,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3991,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gkeyfile.c:3992,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gkeyfile.c:3993,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - key_file
    - group_node
    argTypes:
    - GKeyFile*
    - GList*
    constantsTouched: []
    func_position:
      end: 3994
      start: 3921
    functionDepth: 0
    functionLinenumber: 3921
    functionLinenumberEnd: 3994
    functionName: g_key_file_remove_group_node
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_list_free_1
    - g_free
    - g_hash_table_destroy
    - g_assert
    - g_list_last
    - g_list_remove_link
    - g_warn_if_fail
    - g_hash_table_remove
    - g_key_file_remove_key_value_pair_node
    - g_free_sized
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_remove_group_node (GKeyFile *key_file,\t\t\t
      GList *group_node) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2789,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2792,1
    - Dst: g_key_file_parse_integer_as_value
      Src: /src/glib/glib/gkeyfile.c:2791,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2793,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: 2794
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2794
    functionName: g_key_file_set_integer
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_value
    - g_key_file_parse_integer_as_value
    - g_free
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2465,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:2470,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2466,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2468,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2467,1
    - Dst: g_key_file_parse_string_as_value
      Src: /src/glib/glib/gkeyfile.c:2475,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:2476,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:2477,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2479,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2482,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2483,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:2485,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2484,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 6
    argNames:
    - key_file
    - group_name
    - key
    - locale
    - list
    - length
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 2486
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2486
    functionName: g_key_file_set_locale_string_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_free
    - g_string_append_c
    - g_strdup_printf
    - g_string_free
    - g_key_file_parse_string_as_value
    - g_key_file_set_value
    - g_return_if_fail
    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:2731,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2737,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2732,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2741,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2733,1
    - Dst: g_key_file_parse_value_as_integer
      Src: /src/glib/glib/gkeyfile.c:2745,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2747,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:2751,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2755,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2757,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:2760,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2763,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: 2767
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2767
    functionName: g_key_file_get_integer
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_key_file_parse_value_as_integer
    - g_free
    - _
    - g_error_matches
    - g_error_free
    - g_key_file_get_value
    - g_propagate_error
    - g_return_val_if_fail
    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: 4180
      start: 4176
    functionDepth: 0
    functionLinenumber: 4176
    functionLinenumberEnd: 4180
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1204,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gkeyfile.c:1209,1
    - Dst: g_key_file_clear
      Src: /src/glib/glib/gkeyfile.c:1206,1
    - Dst: g_key_file_init
      Src: /src/glib/glib/gkeyfile.c:1211,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gkeyfile.c:1208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1212
    functionName: g_key_file_free
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free_sized
    - g_key_file_init
    - g_key_file_clear
    - g_return_if_fail
    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:1803,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1805,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - group_name
    - key
    - error
    argTypes:
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 1807
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1807
    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:3689,1
    - Dst: g_key_file_get_group_comment
      Src: /src/glib/glib/gkeyfile.c:3694,1
    - Dst: g_key_file_get_top_comment
      Src: /src/glib/glib/gkeyfile.c:3696,1
    - Dst: g_key_file_get_key_comment
      Src: /src/glib/glib/gkeyfile.c:3692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3697
      start: 3683
    functionDepth: 0
    functionLinenumber: 3683
    functionLinenumberEnd: 3697
    functionName: g_key_file_get_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_get_top_comment
    - g_key_file_get_group_comment
    - g_return_val_if_fail
    - g_key_file_get_key_comment
    linkageType: ''
    returnType: gchar*
    signature: 'gchar * g_key_file_get_comment (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:1375,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1377,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:1395,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1399,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:1405,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/gkeyfile.c:1424,1
    - Dst: strcmp
      Src: /src/glib/glib/gkeyfile.c:1421,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:1390,1
    - Dst: g_key_file_is_key_name
      Src: /src/glib/glib/gkeyfile.c:1397,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:1414,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1431,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1446,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gkeyfile.c:1447,1
    - Dst: strchr
      Src: /src/glib/glib/gkeyfile.c:1381,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:1383,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:1409,1
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:1417,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1429,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1433,1
    - Dst: key_get_locale
      Src: /src/glib/glib/gkeyfile.c:1440,1
    - Dst: g_key_file_locale_is_interesting
      Src: /src/glib/glib/gkeyfile.c:1442,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:1448,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1454,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1401,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:1426,1
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:1418,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1427,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:1423,1
    - Dst: g_key_file_add_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1450,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 4
    argNames:
    - key_file
    - line
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1455
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1455
    functionName: g_key_file_parse_key_value_pair
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - _
    - g_strndup
    - g_steal_pointer
    - g_key_file_add_key_value_pair
    - g_ascii_strncasecmp
    - g_ascii_isspace
    - strlen
    - g_key_file_locale_is_interesting
    - strcmp
    - strchr
    - g_set_error_literal
    - g_warn_if_fail
    - g_utf8_make_valid
    - g_set_error
    - key_get_locale
    - g_free
    - g_assert
    - g_key_file_is_key_name
    - g_new
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4728,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/gkeyfile.c:4732,1
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:4733,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4730,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4729,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/gkeyfile.c:4735,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4736,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - key_file
    - filename
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4739
      start: 4719
    functionDepth: 0
    functionLinenumber: 4719
    functionLinenumberEnd: 4739
    functionName: g_key_file_save_to_file
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_file_set_contents
    - g_assert
    - g_key_file_to_data
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_key_file_save_to_file (GKeyFile *key_file, const gchar
      *filename, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strrstr
      Src: /src/glib/glib/gkeyfile.c:1464,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:1466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - key
    - len_out
    argTypes:
    - gchar*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1483
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1483
    functionName: key_get_locale
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strrstr
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *key_get_locale (const gchar *key, gsize *len_out) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3464,1
    - Dst: g_key_file_set_group_comment
      Src: /src/glib/glib/gkeyfile.c:3473,1
    - Dst: g_key_file_set_key_comment
      Src: /src/glib/glib/gkeyfile.c:3468,1
    - Dst: g_key_file_set_top_comment
      Src: /src/glib/glib/gkeyfile.c:3478,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: 3483
      start: 3457
    functionDepth: 0
    functionLinenumber: 3457
    functionLinenumberEnd: 3483
    functionName: g_key_file_set_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_set_group_comment
    - g_key_file_set_key_comment
    - g_key_file_set_top_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:642,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 649
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 649
    functionName: g_key_file_init
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_list_prepend
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_key_file_init (GKeyFile *key_file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2518,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2520,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2526,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2519,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2522,1
    - Dst: g_key_file_parse_value_as_boolean
      Src: /src/glib/glib/gkeyfile.c:2530,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2532,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:2536,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2540,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2542,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2548,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:2545,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: 2552
      start: 2508
    functionDepth: 0
    functionLinenumber: 2508
    functionLinenumberEnd: 2552
    functionName: g_key_file_get_boolean
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_free
    - _
    - g_key_file_parse_value_as_boolean
    - g_error_matches
    - g_error_free
    - g_key_file_get_value
    - g_propagate_error
    - g_return_val_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:4619,1
    - Dst: strcmp_sized
      Src: /src/glib/glib/gkeyfile.c:4624,1
    - Dst: strcmp_sized
      Src: /src/glib/glib/gkeyfile.c:4622,1
    - Dst: strcmp_sized
      Src: /src/glib/glib/gkeyfile.c:4622,1
    - Dst: strcmp_sized
      Src: /src/glib/glib/gkeyfile.c:4624,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:4627,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4628,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4630,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4632,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - key_file
    - value
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4635
      start: 4609
    functionDepth: 0
    functionLinenumber: 4609
    functionLinenumberEnd: 4635
    functionName: g_key_file_parse_value_as_boolean
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - strcmp_sized
    - g_free
    - g_utf8_make_valid
    - g_ascii_isspace
    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:658,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gkeyfile.c:679,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:665,1
    - Dst: g_key_file_remove_group_node
      Src: /src/glib/glib/gkeyfile.c:674,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:683,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 684
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 684
    functionName: g_key_file_clear
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_remove_group_node
    - g_hash_table_destroy
    - g_warn_if_fail
    - g_strfreev
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void g_key_file_clear (GKeyFile *key_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - key_file
    - value
    argTypes:
    - GKeyFile*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4645
      start: 4637
    functionDepth: 0
    functionLinenumber: 4637
    functionLinenumberEnd: 4645
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:4318,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:4354,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:4320,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:4320,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gkeyfile.c:4353,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4356,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gkeyfile.c:4390,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4391,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4393,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gkeyfile.c:4405,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gkeyfile.c:4421,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:4421,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/gkeyfile.c:4422,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gkeyfile.c:4429,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4428,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:4405,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 61
    argCount: 4
    argNames:
    - key_file
    - value
    - pieces
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GSList**
    - GError**
    constantsTouched: []
    func_position:
      end: 4432
      start: 4308
    functionDepth: 0
    functionLinenumber: 4308
    functionLinenumberEnd: 4432
    functionName: g_key_file_parse_value_as_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_set_error
    - _
    - g_free
    - g_assert
    - g_strndup
    - g_slist_reverse
    - g_new
    - g_slist_free_full
    - g_clear_error
    - g_slist_prepend
    - g_set_error_literal
    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:4444,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4464,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:4449,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4477,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4488,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4493,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4498,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4506,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - key_file
    - string
    - escape_separator
    argTypes:
    - GKeyFile*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4523
      start: 4434
    functionDepth: 0
    functionLinenumber: 4434
    functionLinenumberEnd: 4523
    functionName: g_key_file_parse_string_as_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    - g_new
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1184,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gkeyfile.c:1186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1189
    functionName: g_key_file_ref
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *g_key_file_ref (GKeyFile *key_file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2063,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gkeyfile.c:2078,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:2080,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2086,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2109,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gkeyfile.c:2111,1
    - Dst: g_slist_length
      Src: /src/glib/glib/gkeyfile.c:2115,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2074,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2081,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2103,1
    - Dst: g_key_file_parse_value_as_string
      Src: /src/glib/glib/gkeyfile.c:2091,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:2116,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2065,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2070,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2092,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2101,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:2097,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gkeyfile.c:2121,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2064,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2083,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2085,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:2106,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2093,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2127
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2127
    functionName: g_key_file_get_string_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_error_matches
    - g_key_file_parse_value_as_string
    - g_error_free
    - g_key_file_get_value
    - g_utf8_make_valid
    - g_slist_free_full
    - g_new
    - g_slist_length
    - g_propagate_error
    - g_slist_free
    - g_return_val_if_fail
    - g_utf8_validate
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:973,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:974,1
    - Dst: g_key_file_clear
      Src: /src/glib/glib/gkeyfile.c:980,1
    - Dst: g_key_file_init
      Src: /src/glib/glib/gkeyfile.c:981,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:977,1
    - Dst: g_key_file_parse_data
      Src: /src/glib/glib/gkeyfile.c:985,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:989,1
    - Dst: g_key_file_flush_parse_buffer
      Src: /src/glib/glib/gkeyfile.c:993,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:997,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: 1002
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1002
    functionName: g_key_file_load_from_data
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_key_file_parse_data
    - g_key_file_flush_parse_buffer
    - g_propagate_error
    - g_key_file_init
    - g_return_val_if_fail
    - g_key_file_clear
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1072,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1073,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gkeyfile.c:1073,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1074,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1081,1
    - Dst: find_file_in_data_dirs
      Src: /src/glib/glib/gkeyfile.c:1084,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1090,1
    - Dst: g_key_file_load_from_fd
      Src: /src/glib/glib/gkeyfile.c:1094,1
    - Dst: close
      Src: /src/glib/glib/gkeyfile.c:1096,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1100,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1108,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: 1111
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1111
    functionName: g_key_file_load_from_dirs
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - find_file_in_data_dirs
    - g_key_file_load_from_fd
    - g_free
    - close
    - g_propagate_error
    - g_return_val_if_fail
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3392,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3397,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3394,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:3392,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3399,1
    - Dst: g_key_file_set_top_comment
      Src: /src/glib/glib/gkeyfile.c:3406,1
    - Dst: g_key_file_lookup_group_node
      Src: /src/glib/glib/gkeyfile.c:3410,1
    - Dst: g_key_file_remove_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:3419,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3428,1
    - Dst: g_key_file_parse_comment_as_value
      Src: /src/glib/glib/gkeyfile.c:3430,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:3431,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: 3434
      start: 3382
    functionDepth: 0
    functionLinenumber: 3382
    functionLinenumberEnd: 3434
    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_key_file_set_top_comment
    - g_key_file_remove_key_value_pair_node
    - g_new
    - g_list_prepend
    - g_key_file_is_group_name
    - g_return_val_if_fail
    - g_key_file_parse_comment_as_value
    - g_key_file_lookup_group
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/glib/glib/gkeyfile.c:4536,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4542,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:4539,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:4541,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4544,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4546,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:4554,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4555,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4558,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4560,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - key_file
    - value
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4566
      start: 4525
    functionDepth: 0
    functionLinenumber: 4525
    functionLinenumberEnd: 4566
    functionName: g_key_file_parse_value_as_integer
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strtol
    - _
    - g_free
    - g_utf8_make_valid
    - g_ascii_isspace
    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:4573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key_file
    - value
    argTypes:
    - GKeyFile*
    - gint
    constantsTouched: []
    func_position:
      end: 4574
      start: 4568
    functionDepth: 0
    functionLinenumber: 4568
    functionLinenumberEnd: 4574
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:922,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:930,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gkeyfile.c:931,1
    - Dst: g_open
      Src: /src/glib/glib/gkeyfile.c:925,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:923,1
    - Dst: g_strerror
      Src: /src/glib/glib/gkeyfile.c:932,1
    - Dst: g_key_file_load_from_fd
      Src: /src/glib/glib/gkeyfile.c:936,1
    - Dst: close
      Src: /src/glib/glib/gkeyfile.c:937,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:941,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - key_file
    - file
    - flags
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GKeyFileFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 946
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 946
    functionName: g_key_file_load_from_file
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_open
    - g_key_file_load_from_fd
    - g_strerror
    - close
    - g_file_error_from_errno
    - g_propagate_error
    - g_set_error_literal
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1027,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gkeyfile.c:1030,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/gkeyfile.c:1031,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - key_file
    - bytes
    - flags
    - error
    argTypes:
    - GKeyFile*
    - GBytes*
    - GKeyFileFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1032
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1032
    functionName: g_key_file_load_from_bytes
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_bytes_get_data
    - g_return_val_if_fail
    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_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: 1
    argNames:
    - void
    argTypes:
    - void
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1668,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1669,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1675,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1677,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:1671,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1693,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1704,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 4
    argNames:
    - key_file
    - group_name
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1715
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1715
    functionName: g_key_file_get_keys
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _
    - g_new
    - g_return_val_if_fail
    - 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_free
      Src: /src/glib/glib/gkeyfile.c:3887,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gkeyfile.c:3889,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pair
    argTypes:
    - GKeyFileKeyValuePair*
    constantsTouched: []
    func_position:
      end: 3891
      start: 3882
    functionDepth: 0
    functionLinenumber: 3882
    functionLinenumberEnd: 3891
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3766,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3768,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3770,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3767,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3774,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3776,1
    - Dst: g_key_file_lookup_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:3782,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: 3787
      start: 3756
    functionDepth: 0
    functionLinenumber: 3756
    functionLinenumberEnd: 3787
    functionName: g_key_file_has_key_full
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_key_file_lookup_key_value_pair
    - g_return_val_if_fail
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1603,1
    - Dst: g_string_new
      Src: /src/glib/glib/gkeyfile.c:1605,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gkeyfile.c:1616,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:1607,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:1618,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gkeyfile.c:1627,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gkeyfile.c:1629,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:1636,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 3
    argNames:
    - key_file
    - length
    - error
    argTypes:
    - GKeyFile*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1637
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1637
    functionName: g_key_file_to_data
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_list_last
    - g_string_append_printf
    - g_string_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_key_file_to_data (GKeyFile *key_file,\t\t gsize *length,\t\t
      GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3747,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3750,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - key_file
    - group_name
    argTypes:
    - GKeyFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3751
      start: 3743
    functionDepth: 0
    functionLinenumber: 3743
    functionLinenumberEnd: 3751
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2898,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2899,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2902,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gkeyfile.c:2907,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2900,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2911,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2912,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2915,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2919,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: 2921
      start: 2889
    functionDepth: 0
    functionLinenumber: 2889
    functionLinenumberEnd: 2921
    functionName: g_key_file_get_uint64
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_key_file_get_value
    - g_ascii_strtoull
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_key_file_get_uint64 (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1890,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1891,1
    - Dst: g_key_file_is_key_name
      Src: /src/glib/glib/gkeyfile.c:1892,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1892,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:1891,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:1892,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1893,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:1895,1
    - Dst: g_key_file_add_group
      Src: /src/glib/glib/gkeyfile.c:1899,1
    - Dst: g_key_file_add_key
      Src: /src/glib/glib/gkeyfile.c:1902,1
    - Dst: g_key_file_add_key
      Src: /src/glib/glib/gkeyfile.c:1909,1
    - Dst: g_key_file_lookup_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1906,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1913,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1912,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: 1916
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1916
    functionName: g_key_file_set_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - g_key_file_is_key_name
    - g_key_file_add_group
    - g_key_file_is_group_name
    - g_key_file_lookup_key_value_pair
    - g_key_file_add_key
    - g_key_file_lookup_group
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2153,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:2156,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:2162,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2154,1
    - Dst: g_key_file_parse_string_as_value
      Src: /src/glib/glib/gkeyfile.c:2161,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:2163,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2165,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2168,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:2169,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: 2170
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2170
    functionName: g_key_file_set_string_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_free
    - g_string_append_c
    - g_string_free
    - g_key_file_parse_string_as_value
    - g_key_file_set_value
    - g_return_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2821,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2825,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2823,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2822,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/gkeyfile.c:2830,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2834,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2835,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2838,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2842,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: 2844
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2844
    functionName: g_key_file_get_int64
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_ascii_strtoll
    - g_key_file_get_value
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_key_file_get_int64 (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key_file
    - separator
    argTypes:
    - GKeyFile*
    - gchar
    constantsTouched: []
    func_position:
      end: 729
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 729
    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_list_remove_link
      Src: /src/glib/glib/gkeyfile.c:3912,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gkeyfile.c:3918,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3914,1
    - Dst: g_key_file_key_value_pair_free
      Src: /src/glib/glib/gkeyfile.c:3916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - key_file
    - group
    - pair_node
    argTypes:
    - GKeyFile*
    - GKeyFileGroup*
    - GList*
    constantsTouched: []
    func_position:
      end: 3919
      start: 3902
    functionDepth: 0
    functionLinenumber: 3902
    functionLinenumberEnd: 3919
    functionName: g_key_file_remove_key_value_pair_node
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_list_remove_link
    - g_list_free_1
    - g_warn_if_fail
    - g_key_file_key_value_pair_free
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gkeyfile.c:4139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - key_file
    - group_name
    argTypes:
    - GKeyFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4140
      start: 4132
    functionDepth: 0
    functionLinenumber: 4132
    functionLinenumberEnd: 4140
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:4187,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4191,1
    - Dst: g_ascii_iscntrl
      Src: /src/glib/glib/gkeyfile.c:4190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4197
      start: 4182
    functionDepth: 0
    functionLinenumber: 4182
    functionLinenumberEnd: 4197
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:4656,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:4671,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:4665,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gkeyfile.c:4658,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:4669,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:4676,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:4678,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - key_file
    - value
    - is_final_line
    argTypes:
    - GKeyFile*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4679
      start: 4647
    functionDepth: 0
    functionLinenumber: 4647
    functionLinenumberEnd: 4679
    functionName: g_key_file_parse_value_as_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append
    - g_string_append_c
    - g_strsplit
    - g_strfreev
    - g_string_free
    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:4157,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - key_file
    - group
    - key
    argTypes:
    - GKeyFile*
    - GKeyFileGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4162
      start: 4142
    functionDepth: 0
    functionLinenumber: 4142
    functionLinenumberEnd: 4162
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:4205,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/gkeyfile.c:4237,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/gkeyfile.c:4237,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4239,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4215,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 4257
      start: 4199
    functionDepth: 0
    functionLinenumber: 4199
    functionLinenumberEnd: 4257
    functionName: g_key_file_is_key_name
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_utf8_get_char_validated
    - g_unichar_isalnum
    - g_utf8_find_next_char
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_is_key_name (const gchar *name, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:4689,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gkeyfile.c:4694,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gkeyfile.c:4691,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:4696,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:4698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - key_file
    - comment
    argTypes:
    - GKeyFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4699
      start: 4681
    functionDepth: 0
    functionLinenumber: 4681
    functionLinenumberEnd: 4699
    functionName: g_key_file_parse_comment_as_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append_printf
    - g_strsplit
    - g_strfreev
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_key_file_parse_comment_as_value (GKeyFile *key_file,
      const gchar *comment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2574,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2577,1
    - Dst: g_key_file_parse_boolean_as_value
      Src: /src/glib/glib/gkeyfile.c:2576,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: 2578
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2578
    functionName: g_key_file_set_boolean
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_value
    - g_key_file_parse_boolean_as_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_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4274,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4280,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - line
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4288
      start: 4262
    functionDepth: 0
    functionLinenumber: 4262
    functionLinenumberEnd: 4288
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_strchr
      Src: /src/glib/glib/gkeyfile.c:4295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4306
      start: 4290
    functionDepth: 0
    functionLinenumber: 4290
    functionLinenumberEnd: 4306
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gtestutils.c:2104,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtestutils.c:2106,1
    - Dst: g_rand_double
      Src: /src/glib/glib/gtestutils.c:2105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2109
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2109
    functionName: g_test_rand_double
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_rand_double
    - G_UNLOCK
    - 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:2725,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2727
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2727
    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_new0
      Src: /src/glib/glib/gtestutils.c:4508,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gtestutils.c:4509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4511
      start: 4505
    functionDepth: 0
    functionLinenumber: 4505
    functionLinenumberEnd: 4511
    functionName: g_test_log_buffer_new
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_new0
    linkageType: ''
    returnType: GTestLogBuffer*
    signature: 'GTestLogBuffer *g_test_log_buffer_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gtestutils.c:2082,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/gtestutils.c:2083,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtestutils.c:2084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - gint32
    - gint32
    constantsTouched: []
    func_position:
      end: 2087
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2087
    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:2453,1
    - Dst: g_test_run_suite
      Src: /src/glib/glib/gtestutils.c:2461,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:2456,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:2457,1
    - Dst: g_test_get_root
      Src: /src/glib/glib/gtestutils.c:2460,1
    - Dst: rm_rf
      Src: /src/glib/glib/gtestutils.c:2470,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2471,1
    - Dst: g_test_suite_free
      Src: /src/glib/glib/gtestutils.c:2495,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2497
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2497
    functionName: g_test_run
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_get_root
    - atexit
    - g_strerror
    - g_test_suite_free
    - g_error
    - g_test_run_suite
    - rm_rf
    linkageType: ''
    returnType: int
    signature: 'int g_test_run (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4466,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4470,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4469,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4471,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4472,1
    - Dst: g_new0
      Src: /src/glib/glib/gtestutils.c:4475,1
    - Dst: g_new0
      Src: /src/glib/glib/gtestutils.c:4476,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4479,1
    - Dst: g_strndup
      Src: /src/glib/glib/gtestutils.c:4480,1
    - Dst: net_double
      Src: /src/glib/glib/gtestutils.c:4484,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gtestutils.c:4487,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:4488,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4496,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gtestutils.c:4493,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gtestutils.c:4488,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - tbuffer
    argTypes:
    - GTestLogBuffer*
    constantsTouched: []
    func_position:
      end: 4498
      start: 4458
    functionDepth: 0
    functionLinenumber: 4458
    functionLinenumberEnd: 4498
    functionName: g_test_log_extract
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - net_double
    - g_strndup
    - g_error
    - g_memdup2
    - g_string_erase
    - g_slist_prepend
    - g_strfreev
    - net_int
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_test_log_extract (GTestLogBuffer *tbuffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_create_suite
      Src: /src/glib/glib/gtestutils.c:2397,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2398,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2403
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2403
    functionName: g_test_get_root
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_test_create_suite
    - g_free
    linkageType: ''
    returnType: GTestSuite*
    signature: 'GTestSuite *g_test_get_root (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3637,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:3638,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3638,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3639,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:3637,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3640,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3641,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3643,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3644,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3645,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3646,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: 3647
      start: 3624
    functionDepth: 0
    functionLinenumber: 3624
    functionLinenumberEnd: 3647
    functionName: g_assertion_message_cmpstrv
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strescape
    - g_free
    - g_strdup_printf
    - g_assertion_message
    - g_strconcat
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4200
      start: 4196
    functionDepth: 0
    functionLinenumber: 4196
    functionLinenumberEnd: 4200
    functionName: g_test_subprocess
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_test_subprocess (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:3666,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/gtestutils.c:3669,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:3674,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:3668,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:3671,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/gtestutils.c:3675,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:3677,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3679,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:3680,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: 3681
      start: 3649
    functionDepth: 0
    functionLinenumber: 3649
    functionLinenumberEnd: 3681
    functionName: g_assertion_message_error
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_quark_to_string
    - g_string_append_printf
    - g_assertion_message
    - g_string_free
    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_free
      Src: /src/glib/glib/gtestutils.c:2295,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - uri_pattern
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2297
    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_slist_free_full
      Src: /src/glib/glib/gtestutils.c:3388,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtestutils.c:3394,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gtestutils.c:3392,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - suite
    argTypes:
    - GTestSuite*
    constantsTouched: []
    func_position:
      end: 3395
      start: 3385
    functionDepth: 0
    functionLinenumber: 3385
    functionLinenumberEnd: 3395
    functionName: g_test_suite_free
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_slist_free_full
    linkageType: ''
    returnType: void
    signature: 'void g_test_suite_free (GTestSuite *suite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/glib/glib/gtestutils.c:3725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3728
      start: 3719
    functionDepth: 0
    functionLinenumber: 3719
    functionLinenumberEnd: 3728
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4143,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gtestutils.c:4145,1
    - Dst: g_snprintf
      Src: /src/glib/glib/gtestutils.c:4156,1
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:4119,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:4131,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:4136,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4149,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4150,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4148,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4174,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4124,1
    - Dst: g_test_suite_case_exists
      Src: /src/glib/glib/gtestutils.c:4123,1
    - Dst: g_test_get_root
      Src: /src/glib/glib/gtestutils.c:4123,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:4134,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4159,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gtestutils.c:4177,1
    - Dst: test_trap_clear
      Src: /src/glib/glib/gtestutils.c:4139,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:4140,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4146,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4157,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4147,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4155,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/gtestutils.c:4167,1
    - Dst: wait_for_child
      Src: /src/glib/glib/gtestutils.c:4179,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - test_path
    - usec_timeout
    - test_flags
    argTypes:
    - char*
    - guint64
    - GTestSubprocessFlags
    constantsTouched: []
    func_position:
      end: 4183
      start: 4030
    functionDepth: 0
    functionLinenumber: 4030
    functionLinenumberEnd: 4183
    functionName: g_test_trap_subprocess
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_suite_case_exists
    - test_trap_clear
    - g_strdup
    - g_test_get_root
    - g_assert
    - g_ptr_array_free
    - g_test_verbose
    - g_error
    - g_spawn_async_with_pipes
    - g_snprintf
    - wait_for_child
    - g_print
    - g_ptr_array_new
    - g_ptr_array_add
    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 micro seconds. * @test_flags: Flags to modify subprocess behaviour.
      * * Respawns the test program to run only @test_path in a subprocess. * This
      can be used for a test case that might not return, or that * might abort. *
      * If @test_path is %NULL then the same test is re-run in a subprocess. * You
      can use g_test_subprocess() to determine whether the test is in * a subprocess
      or not. * * @test_path can also be the name of the parent test, followed by
      * "`/subprocess/`" and then a name for the specific subtest (or just * ending
      with "`/subprocess`" if the test only has one child test); * tests with names
      of this form will automatically be skipped in the * parent process. * * If @usec_timeout
      is non-0, the test subprocess is aborted and * considered failing if its run
      time exceeds it. * * The subprocess behavior can be configured with the * #GTestSubprocessFlags
      flags. * * You can use methods such as g_test_trap_assert_passed(), * g_test_trap_assert_failed(),
      and g_test_trap_assert_stderr() to * check the results of the subprocess. (But
      note that * g_test_trap_assert_stdout() and g_test_trap_assert_stderr() * cannot
      be used if @test_flags specifies that the child should * inherit the parent
      stdout/stderr.) * * If your `main ()` needs to behave differently in * the subprocess,
      you can call g_test_subprocess() (after calling * g_test_init()) to see whether
      you are in a subprocess. * * Internally, this function tracks the child process
      using * g_child_watch_source_new(), so your process must not ignore `SIGCHLD`,
      and * must not attempt to watch or wait for the child process via another *
      mechanism. * * The following example tests that calling * `my_object_new(1000000)`
      will abort with an error * message. * * |[<!-- language="C" --> * static void
      * test_create_large_object (void) * { * if (g_test_subprocess ()) * { * my_object_new
      (1000000); * return; * } * * // Reruns this same test in a subprocess * g_test_trap_subprocess
      (NULL, 0, G_TEST_SUBPROCESS_DEFAULT); * g_test_trap_assert_failed (); * g_test_trap_assert_stderr
      ("*ERROR*too large*"); * } * * int * main (int argc, char **argv) * { * g_test_init
      (&argc, &argv, NULL); * * g_test_add_func ("/myobject/create_large_object",
      * test_create_large_object); * return g_test_run (); * } * ]| * * Since: 2.38
      */ void g_test_trap_subprocess (const char *test_path, guint64 usec_timeout,
      GTestSubprocessFlags test_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:4538,1
    - Dst: g_test_log_extract
      Src: /src/glib/glib/gtestutils.c:4545,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:4543,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:4542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - tbuffer
    - n_bytes
    - bytes
    argTypes:
    - GTestLogBuffer*
    - guint
    - guint8*
    constantsTouched: []
    func_position:
      end: 4548
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4548
    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: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 1
    argNames:
    - log_type
    argTypes:
    - GTestLogType
    constantsTouched: []
    func_position:
      end: 1040
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1040
    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: va_start
      Src: /src/glib/glib/gtestutils.c:2263,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2264,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2265,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:2267,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2269
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2269
    functionName: g_test_message
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    - g_test_log
    linkageType: ''
    returnType: void
    signature: 'void g_test_message (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:2698,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2700,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2701,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2702
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2702
    functionName: g_test_fail_printf
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_test_fail_printf (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:3089,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtestutils.c:3091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - destroy_func
    - destroy_data
    argTypes:
    - GDestroyNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 3096
      start: 3083
    functionDepth: 0
    functionLinenumber: 3083
    functionLinenumberEnd: 3096
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3373,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtestutils.c:3374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - test_case
    argTypes:
    - GTestCase*
    constantsTouched: []
    func_position:
      end: 3375
      start: 3370
    functionDepth: 0
    functionLinenumber: 3370
    functionLinenumberEnd: 3375
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:4521,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4525,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/gtestutils.c:4523,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/gtestutils.c:4523,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:4524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - tbuffer
    argTypes:
    - GTestLogBuffer*
    constantsTouched: []
    func_position:
      end: 4526
      start: 4518
    functionDepth: 0
    functionLinenumber: 4518
    functionLinenumberEnd: 4526
    functionName: g_test_log_buffer_free
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_log_buffer_pop
    - g_test_log_msg_free
    - g_string_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_log_buffer_free (GTestLogBuffer *tbuffer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/gtestutils.c:1060,1
    - Dst: g_test_log_buffer_free
      Src: /src/glib/glib/gtestutils.c:1063,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:1083,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/gtestutils.c:1084,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1082,1
    - Dst: write
      Src: /src/glib/glib/gtestutils.c:1050,1
    - Dst: g_test_log_buffer_new
      Src: /src/glib/glib/gtestutils.c:1055,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gtestutils.c:1062,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:1065,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gtestutils.c:1066,1
    - Dst: g_test_log_type_name
      Src: /src/glib/glib/gtestutils.c:1066,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1075,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:1071,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtestutils.c:1079,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gtestutils.c:1061,1
    - Dst: g_test_log_buffer_push
      Src: /src/glib/glib/gtestutils.c:1059,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:1081,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1068,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1077,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - n_bytes
    - buffer
    argTypes:
    - guint
    - guint8*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1086
    functionName: g_test_log_send
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_log_buffer_new
    - g_string_new
    - g_string_append
    - g_warn_if_fail
    - g_string_append_printf
    - g_test_log_buffer_pop
    - g_string_append_c
    - g_test_log_buffer_push
    - g_printerr
    - g_string_printf
    - g_test_log_type_name
    - g_test_log_msg_free
    - g_string_free
    - g_test_log_buffer_free
    - write
    linkageType: ''
    returnType: void
    signature: 'static void g_test_log_send (guint n_bytes, const guint8 *buffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:3109,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:3109,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtestutils.c:3111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 3112
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3112
    functionName: test_has_prefix
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strcmp0
    - strncmp
    linkageType: ''
    returnType: gint
    signature: 'static gint test_has_prefix (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:2678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2679
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2679
    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_assert
      Src: /src/glib/glib/gtestutils.c:4677,1
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:4679,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gtestutils.c:4677,1
    - Dst: g_test_build_filename_va
      Src: /src/glib/glib/gtestutils.c:4680,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:4681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - file_type
    - first_path
    - '...'
    argTypes:
    - GTestFileType
    - gchar*
    constantsTouched: []
    func_position:
      end: 4684
      start: 4669
    functionDepth: 0
    functionLinenumber: 4669
    functionLinenumberEnd: 4684
    functionName: g_test_build_filename
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_assert
    - g_test_initialized
    - g_test_build_filename_va
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_test_build_filename (GTestFileType file_type, const gchar
      *first_path, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2376,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2377,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2378,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2378,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2377,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:2380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - summary
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2381
      start: 2373
    functionDepth: 0
    functionLinenumber: 2373
    functionLinenumberEnd: 2381
    functionName: g_test_summary
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strchr
    - g_test_message
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_summary (const char *summary) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2604,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2607,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2605,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2606,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gtestutils.c:2605,1
    - Dst: strstr
      Src: /src/glib/glib/gtestutils.c:2607,1
    - Dst: g_test_get_root
      Src: /src/glib/glib/gtestutils.c:2609,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gtestutils.c:2610,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:2616,1
    - Dst: g_slist_find_custom
      Src: /src/glib/glib/gtestutils.c:2623,1
    - Dst: g_test_suite_add_suite
      Src: /src/glib/glib/gtestutils.c:2631,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:2640,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gtestutils.c:2646,1
    - Dst: g_test_create_case
      Src: /src/glib/glib/gtestutils.c:2642,1
    - Dst: g_test_create_suite
      Src: /src/glib/glib/gtestutils.c:2630,1
    - Dst: g_test_suite_add
      Src: /src/glib/glib/gtestutils.c:2643,1
    - Dst: g_slist_find_custom
      Src: /src/glib/glib/gtestutils.c:2639,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: 2647
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2647
    functionName: g_test_add_vtable
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_suite_add_suite
    - g_test_suite_add
    - g_test_get_root
    - g_test_create_suite
    - g_error
    - g_slist_find_custom
    - strstr
    - g_strsplit
    - g_test_create_case
    - g_strfreev
    - g_path_is_absolute
    - g_return_if_fail
    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: strcmp
      Src: /src/glib/glib/gtestutils.c:3704,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3705
      start: 3696
    functionDepth: 0
    functionLinenumber: 3696
    functionLinenumberEnd: 3705
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gtestutils.c:4596,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gtestutils.c:4607,1
    - Dst: va_arg
      Src: /src/glib/glib/gtestutils.c:4602,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gtestutils.c:4607,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gtestutils.c:4600,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/gtestutils.c:4609,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - file_type
    - first_path
    - ap
    argTypes:
    - GTestFileType
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 4610
      start: 4583
    functionDepth: 0
    functionLinenumber: 4583
    functionLinenumberEnd: 4610
    functionName: g_test_build_filename_va
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_build_filenamev
    - g_assert_not_reached
    - va_arg
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_test_build_filename_va (GTestFileType file_type, const
      gchar *first_path, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3712,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3713,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3715
      start: 3707
    functionDepth: 0
    functionLinenumber: 3707
    functionLinenumberEnd: 3715
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2183
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2183
    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:2322,1
    - Dst: strstr
      Src: /src/glib/glib/gtestutils.c:2332,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gtestutils.c:2325,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:2327,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gtestutils.c:2324,1
    - Dst: g_strndup
      Src: /src/glib/glib/gtestutils.c:2335,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:2336,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2337,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:2338,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2339,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:2342,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - bug_uri_snippet
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2344
      start: 2317
    functionDepth: 0
    functionLinenumber: 2317
    functionLinenumberEnd: 2344
    functionName: g_test_bug
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_free
    - g_strndup
    - strstr
    - g_str_has_prefix
    - g_strconcat
    - g_return_if_fail
    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:2571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - l
    - s
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2572
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2572
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/gtestutils.c:2166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2168
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2168
    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:2239,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2241,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:2243,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2244,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - maximized_quantity
    - format
    - '...'
    argTypes:
    - double
    - char*
    constantsTouched: []
    func_position:
      end: 2245
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2245
    functionName: g_test_maximized_result
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    - g_test_log
    linkageType: ''
    returnType: void
    signature: 'void g_test_maximized_result (double maximized_quantity, const char
      *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/glib/gtestutils.c:1603,1
    - Dst: rm_rf
      Src: /src/glib/glib/gtestutils.c:1614,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1613,1
    - Dst: g_remove
      Src: /src/glib/glib/gtestutils.c:1607,1
    - Dst: g_dir_read_name
      Src: /src/glib/glib/gtestutils.c:1611,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1615,1
    - Dst: g_dir_close
      Src: /src/glib/glib/gtestutils.c:1618,1
    - Dst: g_rmdir
      Src: /src/glib/glib/gtestutils.c:1620,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1621
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1621
    functionName: rm_rf
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_rmdir
    - g_dir_read_name
    - g_dir_open
    - g_remove
    - g_build_filename
    - g_dir_close
    - rm_rf
    linkageType: ''
    returnType: void
    signature: 'static void rm_rf (const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:2208,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2213,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2209,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:2212,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - minimized_quantity
    - format
    - '...'
    argTypes:
    - double
    - char*
    constantsTouched: []
    func_position:
      end: 2214
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2214
    functionName: g_test_minimized_result
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    - g_test_log
    linkageType: ''
    returnType: void
    signature: 'void g_test_minimized_result (double minimized_quantity, const char
      *format, ...) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1358,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1364,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1374,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1393,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1401,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1389,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1416,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1433,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1444,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1473,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1485,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1520,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1551,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1537,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1501,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1553,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtestutils.c:1353,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1397,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1424,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1428,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1436,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1453,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1457,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1470,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1486,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1490,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1505,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1526,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1532,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1549,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1550,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/gtestutils.c:1582,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1465,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1490,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1503,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1449,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtestutils.c:1355,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1369,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1374,1
    - Dst: g_test_disable_crash_reporting
      Src: /src/glib/glib/gtestutils.c:1408,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1378,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1389,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1416,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1420,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1434,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1435,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1461,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1466,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1520,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:1517,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1514,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gtestutils.c:1346,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1351,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1359,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1382,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1429,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1440,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1453,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1471,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1472,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1481,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1537,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1448,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1576,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1512,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1507,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1477,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 273
    argCount: 2
    argNames:
    - argc_p
    - argv_p
    argTypes:
    - gint*
    - gchar***
    constantsTouched: []
    func_position:
      end: 1594
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1594
    functionName: parse_args
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_log_set_always_fatal
    - g_test_disable_crash_reporting
    - g_slist_reverse
    - g_error
    - printf
    - exit
    - g_slist_prepend
    - g_ascii_strtoull
    - strcmp
    - g_get_current_dir
    - strncmp
    linkageType: ''
    returnType: void
    signature: 'static void parse_args (gint *argc_p, gchar ***argv_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2540,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2541,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2542,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2541,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2543,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtestutils.c:2545,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - test_name
    - data_size
    - test_data
    - data_setup
    - data_test
    - data_teardown
    argTypes:
    - char*
    - gsize
    - gconstpointer
    - GTestFixtureFunc
    - GTestFixtureFunc
    - GTestFixtureFunc
    constantsTouched: []
    func_position:
      end: 2554
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2554
    functionName: g_test_create_case
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strchr
    - g_strdup
    - g_return_val_if_fail
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:2562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - l
    - s
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2563
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2563
    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: setrlimit
      Src: /src/glib/glib/gtestutils.c:1324,1
    - Dst: prctl
      Src: /src/glib/glib/gtestutils.c:1330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1332
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1332
    functionName: g_test_disable_crash_reporting
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - prctl
    - setrlimit
    linkageType: ''
    returnType: void
    signature: 'void g_test_disable_crash_reporting (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gtestutils.c:2057,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtestutils.c:2059,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:2058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2062
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2062
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:3519,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3521,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3522,1
    - Dst: _exit
      Src: /src/glib/glib/gtestutils.c:3530,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3523,1
    - Dst: g_abort
      Src: /src/glib/glib/gtestutils.c:3532,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: 3533
      start: 3510
    functionDepth: 0
    functionLinenumber: 3510
    functionLinenumberEnd: 3533
    functionName: g_assertion_message_expr
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - _exit
    - g_abort
    - g_assertion_message
    - g_strconcat
    linkageType: ''
    returnType: void
    signature: 'void g_assertion_message_expr (const char *domain, const char *file,
      int line, const char *func, const char *expr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gtestutils.c:4262,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gtestutils.c:4273,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4283,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4286,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:4290,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4260,1
    - Dst: WCOREDUMP
      Src: /src/glib/glib/gtestutils.c:4267,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4278,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4291,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gtestutils.c:4272,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:4294,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4296,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/gtestutils.c:4248,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4254,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gtestutils.c:4255,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gtestutils.c:4250,1
    - Dst: g_strsignal
      Src: /src/glib/glib/gtestutils.c:4273,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4251,1
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gtestutils.c:4257,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gtestutils.c:4258,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4271,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4292,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4295,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - process_id
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4301
      start: 4242
    functionDepth: 0
    functionLinenumber: 4242
    functionLinenumberEnd: 4301
    functionName: log_child_output
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_strescape
    - g_free
    - WCOREDUMP
    - WTERMSIG
    - WIFEXITED
    - g_strsignal
    - WIFSIGNALED
    - WEXITSTATUS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean log_child_output (const gchar *process_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4781
      start: 4777
    functionDepth: 0
    functionLinenumber: 4777
    functionLinenumberEnd: 4781
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3551,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3556,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3568,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3561,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gtestutils.c:3566,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3569,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: 3570
      start: 3535
    functionDepth: 0
    functionLinenumber: 3535
    functionLinenumberEnd: 3570
    functionName: g_assertion_message_cmpint
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_assertion_message
    - g_strdup_printf
    - g_assert_not_reached
    - g_free
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/gtestutils.c:4335,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4327,1
    - Dst: log_child_output
      Src: /src/glib/glib/gtestutils.c:4349,1
    - Dst: g_pattern_match_simple
      Src: /src/glib/glib/gtestutils.c:4355,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4361,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4351,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4363,1
    - Dst: log_child_output
      Src: /src/glib/glib/gtestutils.c:4372,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4384,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4343,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4353,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_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4323,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:4330,1
    - Dst: log_child_output
      Src: /src/glib/glib/gtestutils.c:4339,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4341,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/gtestutils.c:4345,1
    - Dst: log_child_output
      Src: /src/glib/glib/gtestutils.c:4359,1
    - Dst: g_pattern_match_simple
      Src: /src/glib/glib/gtestutils.c:4368,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_assertion_message
      Src: /src/glib/glib/gtestutils.c:4342,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:4365,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:4352,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4379,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: 4385
      start: 4303
    functionDepth: 0
    functionLinenumber: 4303
    functionLinenumberEnd: 4385
    functionName: g_test_trap_assertions
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_test_message
    - g_free
    - g_pattern_match_simple
    - g_strdup_printf
    - g_test_trap_has_passed
    - log_child_output
    - g_assertion_message
    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: 51
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gtestutils.c:1106,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1155,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1180,1
    - Dst: g_abort
      Src: /src/glib/glib/gtestutils.c:1210,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1202,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1224,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1230,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1236,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1270,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1276,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1209,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1232,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1261,1
    - Dst: g_test_log_dump
      Src: /src/glib/glib/gtestutils.c:1289,1
    - Dst: g_set_print_handler
      Src: /src/glib/glib/gtestutils.c:1107,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/gtestutils.c:1108,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1120,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1124,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1143,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:1173,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:1175,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1141,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1182,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1184,1
    - Dst: g_default_print_func
      Src: /src/glib/glib/gtestutils.c:1189,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1203,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1205,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1237,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1258,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1298,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1272,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1299,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1238,1
    - Dst: is_subtest
      Src: /src/glib/glib/gtestutils.c:1118,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1128,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1130,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1132,1
    - Dst: is_subtest
      Src: /src/glib/glib/gtestutils.c:1177,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1153,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:1195,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1225,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1226,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1231,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1218,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:1249,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1291,1
    - Dst: g_strstrip
      Src: /src/glib/glib/gtestutils.c:1252,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:1243,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1301,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gtestutils.c:1104,1
    - Dst: is_subtest
      Src: /src/glib/glib/gtestutils.c:1111,1
    - Dst: g_string_prepend
      Src: /src/glib/glib/gtestutils.c:1178,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtestutils.c:1188,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:1190,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtestutils.c:1190,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1186,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1196,1
    - Dst: g_default_print_func
      Src: /src/glib/glib/gtestutils.c:1198,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:1199,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1268,1
    - Dst: g_test_log_send
      Src: /src/glib/glib/gtestutils.c:1290,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtestutils.c:1199,1
    - Dst: g_test_quiet
      Src: /src/glib/glib/gtestutils.c:1204,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:1264,1
    - Dst: g_test_quiet
      Src: /src/glib/glib/gtestutils.c:1300,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1274,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: 1305
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1305
    functionName: g_test_log
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_string_prepend
    - g_clear_pointer
    - g_abort
    - g_test_verbose
    - g_string_append_c
    - g_default_print_func
    - g_steal_pointer
    - g_test_log_dump
    - g_assert_nonnull
    - strchr
    - g_string_free
    - g_test_quiet
    - g_print
    - g_set_print_handler
    - is_subtest
    - g_once_init_leave
    - g_strstrip
    - g_test_tap_print
    - g_strdup
    - g_string_new
    - g_free
    - g_once_init_enter
    - g_string_append_printf
    - g_test_log_send
    linkageType: ''
    returnType: void
    signature: 'static void g_test_log (GTestLogType lbit, const gchar *string1, const
      gchar *string2, guint n_args, long double *largs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_free
      Src: /src/glib/glib/gtestutils.c:2002,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:2006,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:2009,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2004,1
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:2013,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:2014,1
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:2016,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:2017,1
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:2019,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:2020,1
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:2022,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:2023,1
    - Dst: g_rand_new_with_seed_array
      Src: /src/glib/glib/gtestutils.c:2027,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:2032,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - rseed
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2033
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2033
    functionName: test_run_seed
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_rand_new_with_seed_array
    - g_rand_free
    - g_error
    - g_ascii_strtoull
    - strchr
    - strncmp
    linkageType: ''
    returnType: void
    signature: 'static void test_run_seed (const gchar *rseed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:4577,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4579,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4580,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gtestutils.c:4578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tmsg
    argTypes:
    - GTestLogMsg*
    constantsTouched: []
    func_position:
      end: 4581
      start: 4574
    functionDepth: 0
    functionLinenumber: 4574
    functionLinenumberEnd: 4581
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:4559,1
    - Dst: g_slist_last
      Src: /src/glib/glib/gtestutils.c:4562,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/gtestutils.c:4564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - tbuffer
    argTypes:
    - GTestLogBuffer*
    constantsTouched: []
    func_position:
      end: 4567
      start: 4555
    functionDepth: 0
    functionLinenumber: 4555
    functionLinenumberEnd: 4567
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_print_handler_full
      Src: /src/glib/glib/gtestutils.c:1001,1
    - Dst: is_subtest
      Src: /src/glib/glib/gtestutils.c:1001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    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_timer_new
      Src: /src/glib/glib/gtestutils.c:2148,1
    - Dst: g_timer_start
      Src: /src/glib/glib/gtestutils.c:2150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2151
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2151
    functionName: g_test_timer_start
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_timer_new
    - g_timer_start
    linkageType: ''
    returnType: void
    signature: 'void g_test_timer_start (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:3243,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3259,1
    - Dst: path_has_prefix
      Src: /src/glib/glib/gtestutils.c:3269,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3284,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3245,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3252,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3258,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3278,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3274,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3251,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3267,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3277,1
    - Dst: path_has_prefix
      Src: /src/glib/glib/gtestutils.c:3273,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3272,1
    - Dst: test_should_run
      Src: /src/glib/glib/gtestutils.c:3253,1
    - Dst: test_case_run
      Src: /src/glib/glib/gtestutils.c:3255,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3266,1
    - Dst: path_has_prefix
      Src: /src/glib/glib/gtestutils.c:3271,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3270,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 2
    argNames:
    - suite
    - path
    argTypes:
    - GTestSuite*
    - char*
    constantsTouched: []
    func_position:
      end: 3287
      start: 3234
    functionDepth: 0
    functionLinenumber: 3234
    functionLinenumberEnd: 3287
    functionName: g_test_run_suite_internal
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - test_case_run
    - test_should_run
    - g_build_path
    - g_free
    - path_has_prefix
    - g_test_log
    - g_return_val_if_fail
    - g_test_run_suite_internal
    linkageType: ''
    returnType: int
    signature: 'static int g_test_run_suite_internal (GTestSuite *suite, const char
      *path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3587,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gtestutils.c:3596,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3599,1
    - Dst: g_assertion_message_cmpint
      Src: /src/glib/glib/gtestutils.c:3592,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3598,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: 3600
      start: 3572
    functionDepth: 0
    functionLinenumber: 3572
    functionLinenumberEnd: 3600
    functionName: g_assertion_message_cmpnum
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_not_reached
    - g_strdup_printf
    - g_assertion_message
    - g_assertion_message_cmpint
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/gtestutils.c:3750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - WaitForChildData*
    constantsTouched: []
    func_position:
      end: 3751
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3751
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:1013,1
    - Dst: g_test_print_handler_full
      Src: /src/glib/glib/gtestutils.c:1017,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1018,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:1014,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:1015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - subtest_level
    - commented
    - format
    - '...'
    argTypes:
    - unsigned
    - gboolean
    - char*
    constantsTouched: []
    func_position:
      end: 1019
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1019
    functionName: g_test_tap_print
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - g_test_print_handler_full
    - 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_strconcat
      Src: /src/glib/glib/gtestutils.c:3613,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:3613,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3614,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:3614,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:3613,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:3614,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3615,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3616,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3617,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3618,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3621,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3620,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3619,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: 3622
      start: 3602
    functionDepth: 0
    functionLinenumber: 3602
    functionLinenumberEnd: 3622
    functionName: g_assertion_message_cmpstr
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strescape
    - g_free
    - g_strdup_printf
    - g_assertion_message
    - g_strconcat
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:3760,1
    - Dst: check_complete
      Src: /src/glib/glib/gtestutils.c:3763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pid
    - status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 3764
      start: 3753
    functionDepth: 0
    functionLinenumber: 3753
    functionLinenumberEnd: 3764
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1720,1
    - Dst: rm_rf
      Src: /src/glib/glib/gtestutils.c:1721,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: test_rm_isolate_dirs
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - rm_rf
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_rm_isolate_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gtestutils.c:2129,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtestutils.c:2131,1
    - Dst: g_rand_double_range
      Src: /src/glib/glib/gtestutils.c:2130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - range_start
    - range_end
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2134
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2134
    functionName: g_test_rand_double_range
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_rand_double_range
    - G_UNLOCK
    - G_LOCK
    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:3066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - gfree_pointer
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3067
      start: 3062
    functionDepth: 0
    functionLinenumber: 3062
    functionLinenumberEnd: 3067
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/glib/glib/gtestutils.c:3213,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:3221,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:3223,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:3218,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtestutils.c:3215,1
    - Dst: path_has_prefix
      Src: /src/glib/glib/gtestutils.c:3228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - test_path
    - cmp_path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3229
      start: 3209
    functionDepth: 0
    functionLinenumber: 3209
    functionLinenumberEnd: 3229
    functionName: test_should_run
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - path_has_prefix
    - g_strcmp0
    - g_test_verbose
    - strstr
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_should_run (const char *test_path, const char
      *cmp_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/gtestutils.c:1659,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1666,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1671,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1676,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1673,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1698,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1704,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1706,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1648,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1665,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1670,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1677,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1697,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1701,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1705,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gtestutils.c:1662,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1696,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1680,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1700,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1702,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1658,1
    - Dst: g_set_error
      Src: /src/glib/glib/gtestutils.c:1662,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:1664,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1672,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1681,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1674,1
    - Dst: g_set_user_dirs
      Src: /src/glib/glib/gtestutils.c:1686,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1699,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1703,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 1709
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1709
    functionName: test_do_isolate_dirs
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_free
    - g_mkdir_with_parents
    - g_strerror
    - g_build_filename
    - g_set_user_dirs
    - g_file_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_do_isolate_dirs (GError **error) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _CrtSetReportMode
      Src: /src/glib/glib/gtestutils.c:1808,1
    - Dst: _CrtSetReportFile
      Src: /src/glib/glib/gtestutils.c:1809,1
    - Dst: _set_abort_behavior
      Src: /src/glib/glib/gtestutils.c:1821,1
    - Dst: va_arg
      Src: /src/glib/glib/gtestutils.c:1826,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1849,1
    - Dst: g_setenv
      Src: /src/glib/glib/gtestutils.c:1853,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1874,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gtestutils.c:1880,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1883,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:1884,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1895,1
    - Dst: g_setenv
      Src: /src/glib/glib/gtestutils.c:1933,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1887,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1902,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:1797,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:1799,1
    - Dst: _CrtSetReportMode
      Src: /src/glib/glib/gtestutils.c:1813,1
    - Dst: _CrtSetReportFile
      Src: /src/glib/glib/gtestutils.c:1814,1
    - Dst: g_random_int
      Src: /src/glib/glib/gtestutils.c:1842,1
    - Dst: g_random_int
      Src: /src/glib/glib/gtestutils.c:1842,1
    - Dst: g_random_int
      Src: /src/glib/glib/gtestutils.c:1842,1
    - Dst: g_random_int
      Src: /src/glib/glib/gtestutils.c:1842,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1857,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:1886,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1897,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gtestutils.c:1931,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:1951,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:1951,1
    - Dst: g_rand_free
      Src: /src/glib/glib/gtestutils.c:1955,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/gtestutils.c:1965,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/gtestutils.c:1971,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/gtestutils.c:1968,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gtestutils.c:1963,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:1951,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtestutils.c:1792,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtestutils.c:1830,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:1833,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtestutils.c:1828,1
    - Dst: g_snprintf
      Src: /src/glib/glib/gtestutils.c:1841,1
    - Dst: g_set_prgname
      Src: /src/glib/glib/gtestutils.c:1847,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1855,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/gtestutils.c:1889,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1892,1
    - Dst: _g_unset_cached_tmp_dir
      Src: /src/glib/glib/gtestutils.c:1906,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/glib/gtestutils.c:1950,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:1963,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1972,1
    - Dst: test_run_seed
      Src: /src/glib/glib/gtestutils.c:1959,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1944,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1976,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1935,1
    - Dst: g_setenv
      Src: /src/glib/glib/gtestutils.c:1900,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:1965,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:1798,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtestutils.c:1795,1
    - Dst: parse_args
      Src: /src/glib/glib/gtestutils.c:1836,1
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:1825,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gtestutils.c:1846,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/gtestutils.c:1880,1
    - Dst: g_error_free
      Src: /src/glib/glib/gtestutils.c:1894,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1904,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1937,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:1951,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/gtestutils.c:1962,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1980,1
    - Dst: g_warning
      Src: /src/glib/glib/gtestutils.c:1954,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 134
    argCount: 2
    argNames:
    - argc
    - argv
    - '...'
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 1983
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1983
    functionName: (g_test_init)
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - g_log_set_always_fatal
    - g_get_prgname
    - g_rand_new_with_seed
    - g_path_get_dirname
    - va_arg
    - va_end
    - g_strcmp0
    - g_log_set_default_handler
    - va_start
    - exit
    - test_run_seed
    - g_test_log
    - g_rand_free
    - g_rand_int
    - _CrtSetReportMode
    - g_error_free
    - parse_args
    - g_dir_make_tmp
    - g_warning
    - g_strdup_printf
    - g_str_has_suffix
    - _g_unset_cached_tmp_dir
    - g_setenv
    - g_printerr
    - _set_abort_behavior
    - g_strdup
    - g_free
    - g_set_prgname
    - _CrtSetReportFile
    - g_getenv
    - g_snprintf
    - G_N_ELEMENTS
    - g_random_int
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_test_init) (int *argc, char ***argv, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:3046,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gtestutils.c:3049,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:3047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - suite
    - nestedsuite
    argTypes:
    - GTestSuite*
    - GTestSuite*
    constantsTouched: []
    func_position:
      end: 3050
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3050
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:1990,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:1992,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:1994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1995
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 1995
    functionName: test_cleanup
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static void test_cleanup (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_strjoinv
      Src: /src/glib/glib/gtestutils.c:3436,1
    - Dst: g_log_default_handler
      Src: /src/glib/glib/gtestutils.c:3441,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3438,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3437,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: 3442
      start: 3397
    functionDepth: 0
    functionLinenumber: 3397
    functionLinenumberEnd: 3442
    functionName: gtest_default_log_handler
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_log
    - g_free
    - g_log_default_handler
    - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/gtestutils.c:3456,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3466,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:3461,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3468,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3457,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3472,1
    - Dst: g_test_fail
      Src: /src/glib/glib/gtestutils.c:3473,1
    - Dst: free
      Src: /src/glib/glib/gtestutils.c:3481,1
    - Dst: malloc
      Src: /src/glib/glib/gtestutils.c:3482,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:3482,1
    - Dst: strcpy
      Src: /src/glib/glib/gtestutils.c:3483,1
    - Dst: _exit
      Src: /src/glib/glib/gtestutils.c:3493,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3485,1
    - Dst: g_abort
      Src: /src/glib/glib/gtestutils.c:3496,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: 3497
      start: 3444
    functionDepth: 0
    functionLinenumber: 3444
    functionLinenumberEnd: 3497
    functionName: g_assertion_message
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - _exit
    - free
    - strcpy
    - g_abort
    - malloc
    - g_snprintf
    - g_test_fail
    - g_test_log
    - g_strconcat
    - g_printerr
    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_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2923,1
    - Dst: g_test_add_vtable
      Src: /src/glib/glib/gtestutils.c:2927,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2924,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - testpath
    - test_data
    - test_func
    argTypes:
    - char*
    - gconstpointer
    - GTestDataFunc
    constantsTouched: []
    func_position:
      end: 2928
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 2928
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 945
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 945
    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_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2880,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2881,1
    - Dst: g_test_add_vtable
      Src: /src/glib/glib/gtestutils.c:2883,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - testpath
    - test_func
    argTypes:
    - char*
    - GTestFunc
    constantsTouched: []
    func_position:
      end: 2884
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2884
    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:3027,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:3028,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gtestutils.c:3030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - suite
    - test_case
    argTypes:
    - GTestSuite*
    - GTestCase*
    constantsTouched: []
    func_position:
      end: 3031
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3031
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:953,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gtestutils.c:955,1
    - Dst: g_string_new_len
      Src: /src/glib/glib/gtestutils.c:958,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:958,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:955,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:963,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:968,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:971,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:977,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:981,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:990,1
    - Dst: g_default_print_func
      Src: /src/glib/glib/gtestutils.c:989,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtestutils.c:990,1
    - Dst: g_default_print_func
      Src: /src/glib/glib/gtestutils.c:994,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: 996
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 996
    functionName: g_test_print_handler_full
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_append
    - g_assert
    - g_default_print_func
    - g_steal_pointer
    - g_string_free
    - g_string_new_len
    - g_string_append_len
    - strchr
    - G_LIKELY
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:3006,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtestutils.c:3009,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:3007,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:3008,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:3007,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:3010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - suite_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3012
      start: 3002
    functionDepth: 0
    functionLinenumber: 3002
    functionLinenumberEnd: 3012
    functionName: g_test_create_suite
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strchr
    - g_strdup
    - g_return_val_if_fail
    - g_slice_new0
    linkageType: ''
    returnType: GTestSuite*
    signature: 'GTestSuite *g_test_create_suite (const char *suite_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2948,1
    - Dst: g_test_add_vtable
      Src: /src/glib/glib/gtestutils.c:2952,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2949,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2950,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: 2955
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2955
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:3338,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3344,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3351,1
    - Dst: g_test_suite_count
      Src: /src/glib/glib/gtestutils.c:3341,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3343,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3354,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3356,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - suite
    argTypes:
    - GTestSuite*
    constantsTouched: []
    func_position:
      end: 3360
      start: 3333
    functionDepth: 0
    functionLinenumber: 3333
    functionLinenumberEnd: 3360
    functionName: g_test_run_suite
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_build_path
    - g_clear_pointer
    - g_strdup_printf
    - g_test_suite_count
    - g_return_val_if_fail
    - g_test_run_suite_internal
    linkageType: ''
    returnType: int
    signature: 'int g_test_run_suite (GTestSuite *suite) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:4745,1
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:4749,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4747,1
    - Dst: g_test_build_filename_va
      Src: /src/glib/glib/gtestutils.c:4750,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gtestutils.c:4745,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:4751,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:4753,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gtestutils.c:4756,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - file_type
    - first_path
    - '...'
    argTypes:
    - GTestFileType
    - gchar*
    constantsTouched: []
    func_position:
      end: 4759
      start: 4736
    functionDepth: 0
    functionLinenumber: 4736
    functionLinenumberEnd: 4759
    functionName: g_test_get_filename
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_atomic_pointer_compare_and_exchange
    - g_assert
    - g_error
    - g_test_initialized
    - g_test_build_filename_va
    - va_start
    - g_slist_prepend
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_test_get_filename (GTestFileType file_type, const gchar
      *first_path, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2966,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:2974,1
    - Dst: g_test_suite_case_exists
      Src: /src/glib/glib/gtestutils.c:2975,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:2984,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - suite
    - test_path
    argTypes:
    - GTestSuite*
    - char*
    constantsTouched: []
    func_position:
      end: 2990
      start: 2957
    functionDepth: 0
    functionLinenumber: 2957
    functionLinenumberEnd: 2990
    functionName: g_test_suite_case_exists
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strchr
    - g_test_suite_case_exists
    - strncmp
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_test_suite_case_exists (GTestSuite *suite, const
      char *test_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:2843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2846
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2846
    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_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:3295,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:3301,1
    - Dst: g_test_suite_count
      Src: /src/glib/glib/gtestutils.c:3310,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:3309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - suite
    argTypes:
    - GTestSuite*
    constantsTouched: []
    func_position:
      end: 3314
      start: 3289
    functionDepth: 0
    functionLinenumber: 3289
    functionLinenumberEnd: 3314
    functionName: g_test_suite_count
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_suite_count
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int g_test_suite_count (GTestSuite *suite) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:4703,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gtestutils.c:4710,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gtestutils.c:4703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - file_type
    argTypes:
    - GTestFileType
    constantsTouched: []
    func_position:
      end: 4711
      start: 4700
    functionDepth: 0
    functionLinenumber: 4700
    functionLinenumberEnd: 4711
    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: va_start
      Src: /src/glib/glib/gtestutils.c:2792,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2794,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2795,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2796
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2796
    functionName: g_test_skip_printf
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    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: 2820
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2820
    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:
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gtestutils.c:4235,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gtestutils.c:4236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4240
      start: 4231
    functionDepth: 0
    functionLinenumber: 4231
    functionLinenumberEnd: 4240
    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: g_free
      Src: /src/glib/glib/gtestutils.c:2771,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2773
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2773
    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: test_trap_clear
      Src: /src/glib/glib/gtestutils.c:3970,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gtestutils.c:3992,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gtestutils.c:3992,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3995,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:3995,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3998,1
    - Dst: g_open
      Src: /src/glib/glib/gtestutils.c:3988,1
    - Dst: g_test_disable_crash_reporting
      Src: /src/glib/glib/gtestutils.c:4008,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:4015,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:3974,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:3979,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:4000,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:4016,1
    - Dst: wait_for_child
      Src: /src/glib/glib/gtestutils.c:4018,1
    - Dst: fork
      Src: /src/glib/glib/gtestutils.c:3976,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gtestutils.c:3992,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3990,1
    - Dst: pipe
      Src: /src/glib/glib/gtestutils.c:3971,1
    - Dst: pipe
      Src: /src/glib/glib/gtestutils.c:3971,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3974,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3979,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3984,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3985,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:4002,1
    - Dst: g_message
      Src: /src/glib/glib/gtestutils.c:4025,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - usec_timeout
    - test_trap_flags
    argTypes:
    - guint64
    - GTestTrapFlags
    constantsTouched: []
    func_position:
      end: 4029
      start: 3960
    functionDepth: 0
    functionLinenumber: 3960
    functionLinenumberEnd: 4029
    functionName: g_test_trap_fork
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_open
    - test_trap_clear
    - pipe
    - g_test_disable_crash_reporting
    - g_strerror
    - g_error
    - g_message
    - close
    - safe_dup2
    - fork
    - wait_for_child
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIFEXITED
      Src: /src/glib/glib/gtestutils.c:4215,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gtestutils.c:4216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4220
      start: 4211
    functionDepth: 0
    functionLinenumber: 4211
    functionLinenumberEnd: 4220
    functionName: g_test_trap_has_passed
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - WEXITSTATUS
    - WIFEXITED
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_test_trap_has_passed (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3129,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3125,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3139,1
    - Dst: g_test_log_set_fatal_handler
      Src: /src/glib/glib/gtestutils.c:3140,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gtestutils.c:3188,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/gtestutils.c:3185,1
    - Dst: g_timer_new
      Src: /src/glib/glib/gtestutils.c:3133,1
    - Dst: g_test_skip
      Src: /src/glib/glib/gtestutils.c:3142,1
    - Dst: g_test_fail
      Src: /src/glib/glib/gtestutils.c:3150,1
    - Dst: g_timer_start
      Src: /src/glib/glib/gtestutils.c:3155,1
    - Dst: test_run_seed
      Src: /src/glib/glib/gtestutils.c:3157,1
    - Dst: g_error_free
      Src: /src/glib/glib/gtestutils.c:3151,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3184,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:3117,1
    - Dst: test_trap_clear
      Src: /src/glib/glib/gtestutils.c:3161,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/gtestutils.c:3173,1
    - Dst: test_rm_isolate_dirs
      Src: /src/glib/glib/gtestutils.c:3176,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/gtestutils.c:3182,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3183,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3190,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:3128,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3136,1
    - Dst: g_slist_find_custom
      Src: /src/glib/glib/gtestutils.c:3141,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gtestutils.c:3156,1
    - Dst: test_do_isolate_dirs
      Src: /src/glib/glib/gtestutils.c:3147,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3149,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtestutils.c:3167,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3172,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gtestutils.c:3183,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 1
    argNames:
    - tc
    argTypes:
    - GTestCase*
    constantsTouched: []
    func_position:
      end: 3196
      start: 3114
    functionDepth: 0
    functionLinenumber: 3114
    functionLinenumberEnd: 3196
    functionName: test_case_run
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_timer_destroy
    - test_rm_isolate_dirs
    - g_timer_new
    - g_timer_start
    - g_slice_free
    - test_trap_clear
    - g_test_log_set_fatal_handler
    - g_malloc0
    - g_slist_find_custom
    - g_test_skip
    - g_timer_stop
    - test_run_seed
    - g_test_log
    - g_print
    - g_error_free
    - g_timer_elapsed
    - g_test_fail
    - g_strdup
    - test_do_isolate_dirs
    - g_free
    - g_slist_free_full
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_case_run (GTestCase *tc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gtestutils.c:3853,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/gtestutils.c:3859,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/gtestutils.c:3861,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/gtestutils.c:3863,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/gtestutils.c:3872,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/gtestutils.c:3874,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/gtestutils.c:3890,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gtestutils.c:3905,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:3911,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/gtestutils.c:3889,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gtestutils.c:3865,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:3869,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/glib/gtestutils.c:3871,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gtestutils.c:3866,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gtestutils.c:3876,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/gtestutils.c:3881,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:3910,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3913,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3914,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/gtestutils.c:3850,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/gtestutils.c:3852,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/gtestutils.c:3862,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/gtestutils.c:3870,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gtestutils.c:3864,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/gtestutils.c:3873,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gtestutils.c:3875,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/gtestutils.c:3882,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gtestutils.c:3884,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gtestutils.c:3885,1
    - Dst: g_test_print_handler_full
      Src: /src/glib/glib/gtestutils.c:3902,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/gtestutils.c:3849,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gtestutils.c:3854,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gtestutils.c:3855,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:3858,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/glib/gtestutils.c:3860,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gtestutils.c:3877,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtestutils.c:3882,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gtestutils.c:3883,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/gtestutils.c:3888,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtestutils.c:3898,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: 3915
      start: 3836
    functionDepth: 0
    functionLinenumber: 3836
    functionLinenumberEnd: 3915
    functionName: wait_for_child
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_clear_pointer
    - g_string_append_c
    - g_source_set_ready_time
    - g_io_channel_set_close_on_unref
    - g_source_unref
    - g_main_loop_run
    - g_source_attach
    - g_main_context_new
    - g_io_channel_unix_new
    - g_get_monotonic_time
    - g_string_free
    - g_io_channel_set_encoding
    - g_test_print_handler_full
    - g_main_loop_unref
    - g_string_truncate
    - g_main_loop_new
    - g_source_set_callback
    - g_string_new
    - g_io_create_watch
    - g_io_channel_set_buffered
    - g_timeout_source_new
    - g_child_watch_source_new
    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: strlen
      Src: /src/glib/glib/gtestutils.c:3202,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:3204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - path
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3207
      start: 3198
    functionDepth: 0
    functionLinenumber: 3198
    functionLinenumberEnd: 3207
    functionName: path_has_prefix
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean path_has_prefix (const char *path, const char *prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TerminateProcess
      Src: /src/glib/glib/gtestutils.c:3772,1
    - Dst: kill
      Src: /src/glib/glib/gtestutils.c:3774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3778
      start: 3766
    functionDepth: 0
    functionLinenumber: 3766
    functionLinenumberEnd: 3778
    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: g_htonl
      Src: /src/glib/glib/gtestutils.c:4392,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/gtestutils.c:4393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - gstring
    - pos
    - vuint
    argTypes:
    - GString*
    - guint
    - guint32
    constantsTouched: []
    func_position:
      end: 4394
      start: 4387
    functionDepth: 0
    functionLinenumber: 4387
    functionLinenumberEnd: 4394
    functionName: gstring_overwrite_int
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_htonl
    - g_string_overwrite_len
    linkageType: ''
    returnType: void
    signature: 'static void gstring_overwrite_int (GString *gstring, guint pos, guint32
      vuint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT64_TO_BE
      Src: /src/glib/glib/gtestutils.c:4410,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:4411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - gstring
    - vdouble
    argTypes:
    - GString*
    - double
    constantsTouched: []
    func_position:
      end: 4412
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4412
    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: memcpy
      Src: /src/glib/glib/gtestutils.c:4443,1
    - Dst: GUINT64_FROM_BE
      Src: /src/glib/glib/gtestutils.c:4445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ipointer
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 4447
      start: 4438
    functionDepth: 0
    functionLinenumber: 4438
    functionLinenumberEnd: 4447
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/gtestutils.c:3789,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3796,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3794,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:3806,1
    - Dst: check_complete
      Src: /src/glib/glib/gtestutils.c:3798,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:3815,1
    - Dst: fwrite
      Src: /src/glib/glib/gtestutils.c:3826,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3829,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:3829,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - io
    - cond
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 3834
      start: 3780
    functionDepth: 0
    functionLinenumber: 3780
    functionLinenumberEnd: 3834
    functionName: child_read
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_strerror
    - g_error
    - fwrite
    - check_complete
    - g_io_channel_read_chars
    - g_string_append_len
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean child_read (GIOChannel *io, GIOCondition cond, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_htonl
      Src: /src/glib/glib/gtestutils.c:4400,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:4401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - gstring
    - vuint
    argTypes:
    - GString*
    - guint32
    constantsTouched: []
    func_position:
      end: 4402
      start: 4396
    functionDepth: 0
    functionLinenumber: 4396
    functionLinenumberEnd: 4402
    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_string_sized_new
      Src: /src/glib/glib/gtestutils.c:4418,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4420,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4422,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4423,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4421,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4424,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:4427,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4428,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:4429,1
    - Dst: gstring_append_double
      Src: /src/glib/glib/gtestutils.c:4432,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:4435,1
    - Dst: gstring_overwrite_int
      Src: /src/glib/glib/gtestutils.c:4434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - GTestLogMsg*
    - guint*
    constantsTouched: []
    func_position:
      end: 4436
      start: 4414
    functionDepth: 0
    functionLinenumber: 4414
    functionLinenumberEnd: 4436
    functionName: g_test_log_dump
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - gstring_append_double
    - gstring_append_int
    - g_string_append_len
    - g_string_free
    - gstring_overwrite_int
    linkageType: ''
    returnType: guint8*
    signature: 'static guint8 *g_test_log_dump (GTestLogMsg *msg, guint *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:4453,1
    - Dst: g_ntohl
      Src: /src/glib/glib/gtestutils.c:4455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ipointer
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 4456
      start: 4449
    functionDepth: 0
    functionLinenumber: 4449
    functionLinenumberEnd: 4456
    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: va_start
      Src: /src/glib/glib/gtestutils.c:2746,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2749,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2747,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2750
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2750
    functionName: g_test_incomplete_printf
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_test_incomplete_printf (const char *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_remove_link
      Src: /src/glib/glib/gmarkup.c:187,1
    - Dst: g_slist_alloc
      Src: /src/glib/glib/gmarkup.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - context
    - data
    argTypes:
    - GMarkupParseContext*
    - gpointer
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 193
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:333,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:335,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:334,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:336,1
    - Dst: clear_attributes
      Src: /src/glib/glib/gmarkup.c:341,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:342,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:343,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmarkup.c:345,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gmarkup.c:346,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:354,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmarkup.c:348,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:352,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gmarkup.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 355
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 355
    functionName: g_markup_parse_context_free
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_free
    - clear_attributes
    - g_slist_free_full
    - g_string_free
    - g_slist_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_markup_parse_context_free (GMarkupParseContext *context) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1785,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1797,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1798,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1811,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1812,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1839,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1840,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1850,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1851,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1865,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1786,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1787,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1820,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1828,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1833,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1834,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1863,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:1791,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1844,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1845,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1864,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1867,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1875,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1878,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1879,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1884,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1885,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1874,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1876,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1819,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1827,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1829,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1822,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1857,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1858,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gmarkup.c:1891,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - GMarkupParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1898
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1898
    functionName: g_markup_parse_context_end_parse
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - set_error_literal
    - _
    - g_assert
    - g_assert_not_reached
    - current_element
    - g_string_free
    - g_return_val_if_fail
    - set_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gmarkup.c:2510,1
    - Dst: g_string_new
      Src: /src/glib/glib/gmarkup.c:2511,1
    - Dst: find_conversion
      Src: /src/glib/glib/gmarkup.c:2516,1
    - Dst: g_string_new
      Src: /src/glib/glib/gmarkup.c:2544,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2566,1
    - Dst: find_conversion
      Src: /src/glib/glib/gmarkup.c:2557,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:2587,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2520,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2536,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:2585,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:2586,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gmarkup.c:2521,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2522,1
    - Dst: va_copy
      Src: /src/glib/glib/gmarkup.c:2530,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:2590,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gmarkup.c:2523,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmarkup.c:2532,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2541,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2562,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmarkup.c:2540,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2575,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:2576,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gmarkup.c:2574,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:2584,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 2593
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2593
    functionName: g_markup_vprintf_escaped
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - va_end
    - find_conversion
    - g_string_new
    - g_markup_escape_text
    - g_string_append
    - va_copy
    - g_strdup_vprintf
    - g_free
    - g_string_append_c
    - g_string_append_len
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_markup_vprintf_escaped (const gchar *format, va_list args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_concat
      Src: /src/glib/glib/gmarkup.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - context
    - node
    argTypes:
    - GMarkupParseContext*
    - GSList*
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmarkup.c:606,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:608,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmarkup.c:607,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:612,1
    - Dst: g_error_new
      Src: /src/glib/glib/gmarkup.c:610,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:616,1
    - Dst: mark_error
      Src: /src/glib/glib/gmarkup.c:618,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gmarkup.c:620,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: 621
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 621
    functionName: set_unescape_error
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - va_end
    - mark_error
    - _
    - g_strdup_vprintf
    - g_free
    - g_error_new
    - va_start
    - g_propagate_error
    linkageType: ''
    returnType: void
    signature: 'static void set_unescape_error (GMarkupParseContext *context, GError
      **error, const gchar *remaining_text, GMarkupError code, const gchar *format,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:286,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:287,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmarkup.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: g_markup_parse_context_ref
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    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:568,1
    - Dst: memset
      Src: /src/glib/glib/gmarkup.c:573,1
    - Dst: strlen
      Src: /src/glib/glib/gmarkup.c:574,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmarkup.c:572,1
    - Dst: memcpy
      Src: /src/glib/glib/gmarkup.c:574,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:575,1
    - Dst: char_str
      Src: /src/glib/glib/gmarkup.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - utf8
    - max_len
    - buf
    argTypes:
    - gchar*
    - gsize
    - gchar*
    constantsTouched: []
    func_position:
      end: 580
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 580
    functionName: utf8_str
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_free
    - g_utf8_get_char_validated
    - memset
    - g_strdup_printf
    - char_str
    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:1032,1
    - Dst: clear_attributes
      Src: /src/glib/glib/gmarkup.c:1036,1
    - Dst: g_markup_parse_context_push
      Src: /src/glib/glib/gmarkup.c:1035,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1032,1
    - Dst: g_newa
      Src: /src/glib/glib/gmarkup.c:1040,1
    - Dst: g_newa
      Src: /src/glib/glib/gmarkup.c:1041,1
    - Dst: strchr
      Src: /src/glib/glib/gmarkup.c:1045,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1057,1
    - Dst: name_validate
      Src: /src/glib/glib/gmarkup.c:1059,1
    - Dst: clear_attributes
      Src: /src/glib/glib/gmarkup.c:1069,1
    - Dst: propagate_error
      Src: /src/glib/glib/gmarkup.c:1072,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - GMarkupParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1073
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1073
    functionName: emit_start_element
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - name_validate
    - clear_attributes
    - propagate_error
    - g_newa
    - g_markup_parse_context_push
    - current_element
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static inline void emit_start_element (GMarkupParseContext *context,
      GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 85
    argCount: 2
    argNames:
    - format
    - after
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 2450
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2450
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_GNUC_PRINTF
      Src: /src/glib/glib/gmarkup.c:384,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:397,1
    - Dst: g_prefix_error
      Src: /src/glib/glib/gmarkup.c:396,1
    - Dst: mark_error
      Src: /src/glib/glib/gmarkup.c:401,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/gmarkup.c:394,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gmarkup.c:403,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 4
    argNames:
    - context
    - error
    - code
    - message
    argTypes:
    - GMarkupParseContext*
    - GError**
    - GMarkupError
    - gchar*
    constantsTouched: []
    func_position:
      end: 404
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 404
    functionName: set_error
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - mark_error
    - _
    - g_error_new_literal
    - G_GNUC_PRINTF
    - g_prefix_error
    - g_propagate_error
    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:837,1
    - Dst: xml_isspace
      Src: /src/glib/glib/gmarkup.c:839,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 843
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 843
    functionName: advance_to_name_end
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - advance_char
    - xml_isspace
    - IS_COMMON_NAME_END_CHAR
    linkageType: ''
    returnType: void
    signature: 'static void advance_to_name_end (GMarkupParseContext *context) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1143,1
    - Dst: strlen
      Src: /src/glib/glib/gmarkup.c:1146,1
    - Dst: push_partial_as_tag
      Src: /src/glib/glib/gmarkup.c:1306,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1330,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1640,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:1684,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:1716,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1510,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1362,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1365,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1367,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1499,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1713,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1633,1
    - Dst: current_attribute
      Src: /src/glib/glib/gmarkup.c:1369,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1177,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1317,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1342,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1404,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1624,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1627,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1648,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:1686,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1142,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1458,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1526,1
    - Dst: truncate_partial
      Src: /src/glib/glib/gmarkup.c:1740,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1441,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1206,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1235,1
    - Dst: emit_end_element
      Src: /src/glib/glib/gmarkup.c:1266,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1232,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1435,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1532,1
    - Dst: emit_end_element
      Src: /src/glib/glib/gmarkup.c:1656,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:1689,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gmarkup.c:1757,1
    - Dst: propagate_error
      Src: /src/glib/glib/gmarkup.c:1563,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1192,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1386,1
    - Dst: emit_start_element
      Src: /src/glib/glib/gmarkup.c:1422,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1490,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1501,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1675,1
    - Dst: text_validate
      Src: /src/glib/glib/gmarkup.c:1719,1
    - Dst: propagate_error
      Src: /src/glib/glib/gmarkup.c:1748,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1586,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1167,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1298,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1589,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1591,1
    - Dst: advance_to_name_end
      Src: /src/glib/glib/gmarkup.c:1598,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1642,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1455,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1141,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1275,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1277,1
    - Dst: advance_to_name_end
      Src: /src/glib/glib/gmarkup.c:1291,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1355,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:1394,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1452,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1483,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1449,1
    - Dst: text_validate
      Src: /src/glib/glib/gmarkup.c:1542,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1229,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1305,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:1640,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1652,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1189,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1279,1
    - Dst: current_attribute
      Src: /src/glib/glib/gmarkup.c:1457,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1636,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:1687,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1712,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1557,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1583,1
    - Dst: advance_to_name_end
      Src: /src/glib/glib/gmarkup.c:1316,1
    - Dst: add_attribute
      Src: /src/glib/glib/gmarkup.c:1340,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1621,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1264,1
    - Dst: unescape_gstring_inplace
      Src: /src/glib/glib/gmarkup.c:1503,1
    - Dst: truncate_partial
      Src: /src/glib/glib/gmarkup.c:1566,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1429,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1214,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1345,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1370,1
    - Dst: unescape_gstring_inplace
      Src: /src/glib/glib/gmarkup.c:1541,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1412,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:1572,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1380,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1407,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1608,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1645,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1170,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:1218,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1272,1
    - Dst: truncate_partial
      Src: /src/glib/glib/gmarkup.c:1515,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1694,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1701,1
    - Dst: text_validate
      Src: /src/glib/glib/gmarkup.c:1730,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1391,1
    - Dst: text_validate
      Src: /src/glib/glib/gmarkup.c:1504,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1140,1
    - Dst: name_validate
      Src: /src/glib/glib/gmarkup.c:1337,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1346,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1414,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1599,1
    - Dst: truncate_partial
      Src: /src/glib/glib/gmarkup.c:1659,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:1683,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 313
    argCount: 4
    argNames:
    - context
    - text
    - text_len
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gssize
    - GError**
    constantsTouched: []
    func_position:
      end: 1766
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1766
    functionName: g_markup_parse_context_parse
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - _
    - name_validate
    - push_partial_as_tag
    - current_element
    - g_return_val_if_fail
    - strncmp
    - strlen
    - truncate_partial
    - current_attribute
    - g_assert_not_reached
    - emit_end_element
    - skip_spaces
    - emit_start_element
    - text_validate
    - strcmp
    - advance_to_name_end
    - unescape_gstring_inplace
    - set_error
    - set_error_literal
    - advance_char
    - g_assert
    - propagate_error
    - add_attribute
    - utf8_str
    - add_to_partial
    - IS_COMMON_NAME_END_CHAR
    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_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 1950
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1950
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gmarkup.c:2129,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:2134,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmarkup.c:2138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - context
    - parser
    - user_data
    argTypes:
    - GMarkupParseContext*
    - GMarkupParser*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2140
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2140
    functionName: g_markup_parse_context_push
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_slist_prepend
    - current_element
    - g_slice_new
    linkageType: ''
    returnType: void
    signature: 'void g_markup_parse_context_push (GMarkupParseContext *context, const
      GMarkupParser *parser, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gmarkup.c:458,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:461,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gmarkup.c:465,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:466,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:460,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/gmarkup.c:469,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gmarkup.c:469,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:471,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:472,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gmarkup.c:476,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:480,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/gmarkup.c:485,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:487,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:488,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gmarkup.c:479,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gmarkup.c:476,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gmarkup.c:485,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 3
    argNames:
    - context
    - name
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 493
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 493
    functionName: slow_name_validate
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    - _
    - g_utf8_validate
    - g_ascii_isalnum
    - g_unichar_isalpha
    - g_utf8_get_char
    - g_utf8_next_char
    - IS_COMMON_NAME_END_CHAR
    - set_error
    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:853,1
    - Dst: g_slist_concat
      Src: /src/glib/glib/gmarkup.c:858,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gmarkup.c:856,1
    - Dst: get_list_node
      Src: /src/glib/glib/gmarkup.c:857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - context
    - str
    argTypes:
    - GMarkupParseContext*
    - GString*
    constantsTouched: []
    func_position:
      end: 859
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 859
    functionName: release_chunk
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_slist_concat
    - g_string_truncate
    - get_list_node
    linkageType: ''
    returnType: void
    signature: 'static void release_chunk (GMarkupParseContext *context, GString *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1084,1
    - Dst: strchr
      Src: /src/glib/glib/gmarkup.c:1089,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1089,1
    - Dst: possibly_finish_subparser
      Src: /src/glib/glib/gmarkup.c:1086,1
    - Dst: g_markup_parse_context_pop
      Src: /src/glib/glib/gmarkup.c:1091,1
    - Dst: pop_tag
      Src: /src/glib/glib/gmarkup.c:1092,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1099,1
    - Dst: ensure_no_outstanding_subparser
      Src: /src/glib/glib/gmarkup.c:1103,1
    - Dst: mark_error
      Src: /src/glib/glib/gmarkup.c:1107,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gmarkup.c:1108,1
    - Dst: pop_tag
      Src: /src/glib/glib/gmarkup.c:1111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - GMarkupParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1112
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1112
    functionName: emit_end_element
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - possibly_finish_subparser
    - mark_error
    - g_assert
    - ensure_no_outstanding_subparser
    - pop_tag
    - current_element
    - strchr
    - g_markup_parse_context_pop
    - g_propagate_error
    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:1917,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1923
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 1997
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 1997
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:306,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:307,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/gmarkup.c:310,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmarkup.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: g_markup_parse_context_unref
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_markup_parse_context_free
    - 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:418,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:420,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gmarkup.c:425,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:426,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmarkup.c:419,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:428,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - context
    - error
    - code
    - format
    - '...'
    argTypes:
    - GMarkupParseContext*
    - GError**
    - GMarkupError
    - gchar*
    constantsTouched: []
    func_position:
      end: 430
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 430
    functionName: set_error
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - va_end
    - set_error_literal
    - g_free
    - g_strdup_vprintf
    - g_utf8_make_valid
    - 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:508,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gmarkup.c:509,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmarkup.c:517,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gmarkup.c:517,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:508,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:518,1
    - Dst: slow_name_validate
      Src: /src/glib/glib/gmarkup.c:532,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 3
    argNames:
    - context
    - name
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 533
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 533
    functionName: name_validate
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    - G_UNLIKELY
    - g_ascii_isalnum
    - slow_name_validate
    - IS_COMMON_NAME_END_CHAR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean name_validate (GMarkupParseContext *context, const
      gchar *name, GError **error) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:687,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:689,1
    - Dst: char_str
      Src: /src/glib/glib/gmarkup.c:716,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:725,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:727,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:776,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:778,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:788,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:699,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:701,1
    - Dst: strchr
      Src: /src/glib/glib/gmarkup.c:769,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:771,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:773,1
    - Dst: strlen
      Src: /src/glib/glib/gmarkup.c:718,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gmarkup.c:790,1
    - Dst: strtoul
      Src: /src/glib/glib/gmarkup.c:683,1
    - Dst: strcpy
      Src: /src/glib/glib/gmarkup.c:717,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:735,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:755,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:750,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:763,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:745,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:765,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:740,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 115
    argCount: 4
    argNames:
    - context
    - string
    - is_ascii
    - error
    argTypes:
    - GMarkupParseContext*
    - GString*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 795
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 795
    functionName: unescape_gstring_inplace
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - strlen
    - _
    - set_unescape_error
    - g_assert
    - strcpy
    - g_string_truncate
    - char_str
    - strtoul
    - strchr
    - strncmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unescape_gstring_inplace (GMarkupParseContext *context,
      GString *string, gboolean *is_ascii, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: xml_isspace
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean xml_isspace (char c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:946,1
    - Dst: pop_subparser_stack
      Src: /src/glib/glib/gmarkup.c:947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 948
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 948
    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:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 970
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 970
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    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:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - GMarkupParseContext*
    - GError*
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 377
    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:438,1
    - Dst: mark_error
      Src: /src/glib/glib/gmarkup.c:443,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:439,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gmarkup.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - context
    - dest
    - src
    argTypes:
    - GMarkupParseContext*
    - GError**
    - GError*
    constantsTouched: []
    func_position:
      end: 446
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 446
    functionName: propagate_error
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - mark_error
    - _
    - g_prefix_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:541,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:543,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - context
    - p
    - len
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 549
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 549
    functionName: text_validate
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - set_error
    - _
    - g_utf8_validate_len
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean text_validate (GMarkupParseContext *context, const
      gchar *p, gint len, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmarkup.c:803,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmarkup.c:806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 813
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 813
    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: xml_isspace
      Src: /src/glib/glib/gmarkup.c:826,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: skip_spaces
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - advance_char
    - xml_isspace
    linkageType: ''
    returnType: void
    signature: 'static void skip_spaces (GMarkupParseContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/glib/gmarkup.c:954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 963
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 963
    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:982,1
    - Dst: g_realloc
      Src: /src/glib/glib/gmarkup.c:983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - context
    - str
    argTypes:
    - GMarkupParseContext*
    - GString*
    constantsTouched: []
    func_position:
      end: 992
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 992
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:1968,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - context
    - line_number
    - char_number
    argTypes:
    - GMarkupParseContext*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 1975
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1975
    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_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:226,1
    - Dst: g_new
      Src: /src/glib/glib/gmarkup.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 4
    argNames:
    - parser
    - flags
    - user_data
    - user_data_dnotify
    argTypes:
    - GMarkupParser*
    - GMarkupParseFlags
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 271
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 271
    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:555,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gmarkup.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - c
    - buf
    argTypes:
    - gunichar
    - gchar*
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 558
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_remove_link
      Src: /src/glib/glib/gmarkup.c:872,1
    - Dst: free_list_node
      Src: /src/glib/glib/gmarkup.c:874,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:881,1
    - Dst: MAX
      Src: /src/glib/glib/gmarkup.c:877,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gmarkup.c:877,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - context
    - text_start
    - text_end
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 883
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 883
    functionName: add_to_partial
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_slist_remove_link
    - g_string_sized_new
    - g_string_append_len
    - free_list_node
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void add_to_partial (GMarkupParseContext *context, const gchar
      *text_start, const gchar *text_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 896
    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:924,1
    - Dst: get_list_node
      Src: /src/glib/glib/gmarkup.c:925,1
    - Dst: g_slist_concat
      Src: /src/glib/glib/gmarkup.c:925,1
    - Dst: get_list_node
      Src: /src/glib/glib/gmarkup.c:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 927
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 927
    functionName: push_partial_as_tag
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_slist_concat
    - get_list_node
    linkageType: ''
    returnType: void
    signature: 'static void push_partial_as_tag (GMarkupParseContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_chunk
      Src: /src/glib/glib/gmarkup.c:1001,1
    - Dst: release_chunk
      Src: /src/glib/glib/gmarkup.c:1002,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1005,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1006,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1008,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 1010
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1010
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: possibly_finish_subparser
      Src: /src/glib/glib/gmarkup.c:2170,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:2172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 2181
      start: 2164
    functionDepth: 0
    functionLinenumber: 2164
    functionLinenumberEnd: 2181
    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:2220,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2230,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2226,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2221,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2225,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2231,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2235,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2236,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2240,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2241,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gmarkup.c:2256,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmarkup.c:2262,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmarkup.c:2251,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2261,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2250,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2281,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 3
    argNames:
    - str
    - text
    - length
    argTypes:
    - GString*
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 2282
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2282
    functionName: append_escaped_text
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_string_append_printf
    - APPEND_TEXT_AND_SEEK
    - g_utf8_get_char
    - g_string_append_len
    linkageType: ''
    returnType: void
    signature: 'static void append_escaped_text (GString *str, const gchar *text,
      gssize length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_truncate
      Src: /src/glib/glib/gmarkup.c:889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:903,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmarkup.c:913,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/gmarkup.c:915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 917
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 917
    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:936,1
    - Dst: free_list_node
      Src: /src/glib/glib/gmarkup.c:940,1
    - Dst: g_slist_remove_link
      Src: /src/glib/glib/gmarkup.c:937,1
    - Dst: free_list_node
      Src: /src/glib/glib/gmarkup.c:939,1
    - Dst: g_slist_remove_link
      Src: /src/glib/glib/gmarkup.c:938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 941
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 941
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gmarkup.c:2647,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gmarkup.c:2660,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gmarkup.c:2658,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gmarkup.c:2649,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - string
    - value
    argTypes:
    - char*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 2670
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2670
    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: 28
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmarkup.c:2774,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmarkup.c:2814,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmarkup.c:2843,1
    - Dst: g_markup_parse_boolean
      Src: /src/glib/glib/gmarkup.c:2869,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gmarkup.c:2897,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmarkup.c:2920,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2968,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2853,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2891,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmarkup.c:2871,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:2909,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2939,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2965,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:2791,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gmarkup.c:2790,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gmarkup.c:2885,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2869,1
    - Dst: va_start
      Src: /src/glib/glib/gmarkup.c:2934,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:2947,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gmarkup.c:2808,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2819,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2829,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2840,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2889,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2877,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2893,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmarkup.c:2915,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2972,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: 2975
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2975
    functionName: g_markup_collect_attributes
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_set_error
    - va_end
    - g_strdup
    - g_markup_parse_boolean
    - g_free
    - g_assert_not_reached
    - G_GUINT64_CONSTANT
    - va_start
    - strcmp
    - va_arg
    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:2314,1
    - Dst: append_escaped_text
      Src: /src/glib/glib/gmarkup.c:2321,1
    - Dst: strlen
      Src: /src/glib/glib/gmarkup.c:2317,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:2323,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gmarkup.c:2320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - text
    - length
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 2324
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2324
    functionName: g_markup_escape_text
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_sized_new
    - append_escaped_text
    - g_string_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_markup_escape_text (const gchar *text, gssize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmarkup.c:2632,1
    - Dst: g_markup_vprintf_escaped
      Src: /src/glib/glib/gmarkup.c:2633,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2637
    functionName: g_markup_printf_escaped
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - va_end
    - g_markup_vprintf_escaped
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_markup_printf_escaped (const gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - fd_ptr
    - error
    argTypes:
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    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: 222
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 222
    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: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:104,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:106,1
    - Dst: pthread_mutexattr_init
      Src: /src/glib/glib/gthread-posix.c:109,1
    - Dst: pthread_mutexattr_settype
      Src: /src/glib/glib/gthread-posix.c:110,1
    - Dst: pthread_mutex_init
      Src: /src/glib/glib/gthread-posix.c:114,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: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - pthread_mutexattr_destroy
    - pthread_mutexattr_settype
    - pthread_mutexattr_init
    - malloc
    - g_thread_abort
    - pthread_mutex_init
    linkageType: ''
    returnType: pthread_mutex_t*
    signature: 'static pthread_mutex_t *g_mutex_impl_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_impl_free
      Src: /src/glib/glib/gthread-posix.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: g_mutex_clear
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_impl_free
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_clear (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_impl_new
      Src: /src/glib/glib/gthread-posix.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: g_rec_mutex_init
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_new
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_init (GRecMutex *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/glib/glib/gthread-posix.c:595,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: g_rw_lock_writer_unlock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_get_impl
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_writer_unlock (GRWLock *rw_lock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_condattr_init
      Src: /src/glib/glib/gthread-posix.c:678,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:683,1
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:688,1
    - Dst: pthread_condattr_setclock
      Src: /src/glib/glib/gthread-posix.c:682,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:690,1
    - Dst: pthread_cond_init
      Src: /src/glib/glib/gthread-posix.c:692,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:693,1
    - Dst: pthread_condattr_destroy
      Src: /src/glib/glib/gthread-posix.c:695,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 698
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 698
    functionName: g_cond_impl_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_condattr_setclock
    - malloc
    - pthread_condattr_init
    - pthread_condattr_destroy
    - pthread_cond_init
    - g_thread_abort
    linkageType: ''
    returnType: pthread_cond_t*
    signature: 'static pthread_cond_t *g_cond_impl_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_delete
      Src: /src/glib/glib/gthread-posix.c:1043,1
    - Dst: free
      Src: /src/glib/glib/gthread-posix.c:1046,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:1045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - pthread_key_t*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1047
    functionName: g_private_impl_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - free
    - g_thread_abort
    - pthread_key_delete
    linkageType: ''
    returnType: void
    signature: 'static void g_private_impl_free (pthread_key_t *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setspecific
      Src: /src/glib/glib/gthread-posix.c:1180,1
    - Dst: g_private_get_impl
      Src: /src/glib/glib/gthread-posix.c:1180,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:1181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GPrivate*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1182
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1182
    functionName: g_private_set
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_private_get_impl
    - g_thread_abort
    - pthread_setspecific
    linkageType: ''
    returnType: void
    signature: 'void g_private_set (GPrivate *key, gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/glib/glib/gthread-posix.c:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1329
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1329
    functionName: g_thread_yield
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - sched_yield
    linkageType: ''
    returnType: void
    signature: 'void g_thread_yield (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:
    - pthread_mutex_destroy
    - free
    linkageType: ''
    returnType: void
    signature: 'static void g_mutex_impl_free (pthread_mutex_t *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/glib/glib/gthread-posix.c:703,1
    - Dst: free
      Src: /src/glib/glib/gthread-posix.c:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - pthread_cond_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: g_cond_impl_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_cond_destroy
    - free
    linkageType: ''
    returnType: void
    signature: 'static void g_cond_impl_free (pthread_cond_t *cond) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/glib/glib/gthread-posix.c:1056,1
    - Dst: memcpy
      Src: /src/glib/glib/gthread-posix.c:1060,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:1058,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:1079,1
    - Dst: pthread_key_create
      Src: /src/glib/glib/gthread-posix.c:1077,1
    - Dst: memcpy
      Src: /src/glib/glib/gthread-posix.c:1081,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:1084,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - notify
    argTypes:
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1089
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1089
    functionName: g_private_impl_new_direct
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_thread_abort
    - pthread_key_create
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_private_impl_new_direct (GDestroyNotify notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthread-posix.c:1548,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread-posix.c:1550,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:1551,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread-posix.c:1552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1553
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1553
    functionName: g_cond_wait
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_mutex_unlock
    - g_futex_simple
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_cond_wait (GCond *cond, GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_impl_new
      Src: /src/glib/glib/gthread-posix.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: g_mutex_init
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_impl_new
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_init (GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_wait
      Src: /src/glib/glib/gthread-posix.c:793,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:793,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:794,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: g_cond_wait
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_cond_get_impl
    - g_thread_abort
    - pthread_cond_wait
    - g_mutex_get_impl
    linkageType: ''
    returnType: void
    signature: 'void g_cond_wait (GCond *cond, GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/glib/glib/gthread-posix.c:1160,1
    - Dst: g_private_get_impl
      Src: /src/glib/glib/gthread-posix.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - GPrivate*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1161
    functionName: g_private_get
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_private_get_impl
    - pthread_getspecific
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_private_get (GPrivate *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:447,1
    - Dst: pthread_rwlock_init
      Src: /src/glib/glib/gthread-posix.c:451,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:449,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 455
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 455
    functionName: g_rw_lock_impl_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_init
    - g_thread_abort
    - malloc
    linkageType: ''
    returnType: pthread_rwlock_t*
    signature: 'static pthread_rwlock_t *g_rw_lock_impl_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_impl_new
      Src: /src/glib/glib/gthread-posix.c:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 745
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 745
    functionName: g_cond_init
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_cond_impl_new
    linkageType: ''
    returnType: void
    signature: 'void g_cond_init (GCond *cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_broadcast
      Src: /src/glib/glib/gthread-posix.c:829,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:830,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 831
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 831
    functionName: g_cond_broadcast
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_cond_get_impl
    - pthread_cond_broadcast
    - g_thread_abort
    linkageType: ''
    returnType: void
    signature: 'void g_cond_broadcast (GCond *cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_detach
      Src: /src/glib/glib/gthread-posix.c:1244,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/gthread-posix.c:1246,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread-posix.c:1248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GRealThread*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1249
    functionName: g_system_thread_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_detach
    - g_slice_free
    - g_mutex_clear
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_free (GRealThread *thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_exit
      Src: /src/glib/glib/gthread-posix.c:1350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1351
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1351
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1441
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1441
    functionName: g_mutex_init
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_init (GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:1490,1
    - Dst: g_mutex_lock_slowpath
      Src: /src/glib/glib/gthread-posix.c:1493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1494
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1494
    functionName: g_mutex_lock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange
    - g_mutex_lock_slowpath
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_lock (GMutex *mutex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gthread-posix.c:1264,1
    - Dst: posix_check_cmd
      Src: /src/glib/glib/gthread-posix.c:1274,1
    - Dst: pthread_attr_init
      Src: /src/glib/glib/gthread-posix.c:1274,1
    - Dst: sysconf
      Src: /src/glib/glib/gthread-posix.c:1280,1
    - Dst: g_strdup
      Src: /src/glib/glib/gthread-posix.c:1271,1
    - Dst: MAX
      Src: /src/glib/glib/gthread-posix.c:1282,1
    - Dst: pthread_attr_setstacksize
      Src: /src/glib/glib/gthread-posix.c:1286,1
    - Dst: pthread_attr_setinheritsched
      Src: /src/glib/glib/gthread-posix.c:1293,1
    - Dst: pthread_create
      Src: /src/glib/glib/gthread-posix.c:1297,1
    - Dst: posix_check_cmd
      Src: /src/glib/glib/gthread-posix.c:1299,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/gthread-posix.c:1312,1
    - Dst: g_set_error
      Src: /src/glib/glib/gthread-posix.c:1303,1
    - Dst: posix_check_err
      Src: /src/glib/glib/gthread-posix.c:1310,1
    - Dst: g_strerror
      Src: /src/glib/glib/gthread-posix.c:1304,1
    - Dst: g_free
      Src: /src/glib/glib/gthread-posix.c:1305,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread-posix.c:1306,1
    - Dst: pthread_attr_destroy
      Src: /src/glib/glib/gthread-posix.c:1299,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 6
    argNames:
    - proxy
    - stack_size
    - name
    - func
    - data
    - error
    argTypes:
    - GThreadFunc
    - gulong
    - char*
    - GThreadFunc
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1315
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1315
    functionName: g_system_thread_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_free
    - g_slice_new0
    - pthread_attr_destroy
    - g_strerror
    - posix_check_cmd
    - sysconf
    - pthread_attr_setinheritsched
    - posix_check_err
    - pthread_attr_setstacksize
    - pthread_attr_init
    - g_mutex_init
    - MAX
    - g_slice_free
    - pthread_create
    linkageType: ''
    returnType: GRealThread*
    signature: 'GRealThread *g_system_thread_new (GThreadFunc proxy, gulong stack_size,
      const char *name, GThreadFunc func, gpointer data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/gthread-posix.c:1448,1
    - Dst: g_abort
      Src: /src/glib/glib/gthread-posix.c:1449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1451
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1451
    functionName: g_mutex_clear
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_clear (GMutex *mutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/glib/glib/gthread-posix.c:266,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:266,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: g_mutex_trylock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_thread_abort
    - pthread_mutex_trylock
    - g_mutex_get_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mutex_trylock (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_impl_free
      Src: /src/glib/glib/gthread-posix.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: g_rec_mutex_clear
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_free
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_clear (GRecMutex *rec_mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/glib/glib/gthread-posix.c:433,1
    - Dst: g_rec_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: g_rec_mutex_trylock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_mutex_trylock
    - g_rec_mutex_get_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_rec_mutex_trylock (GRecMutex *rec_mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/glib/glib/gthread-posix.c:623,1
    - Dst: g_strerror
      Src: /src/glib/glib/gthread-posix.c:626,1
    - Dst: g_critical
      Src: /src/glib/glib/gthread-posix.c:626,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 627
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 627
    functionName: g_rw_lock_reader_lock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_get_impl
    - g_strerror
    - pthread_rwlock_rdlock
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_reader_lock (GRWLock *rw_lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:710,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:715,1
    - Dst: g_cond_impl_free
      Src: /src/glib/glib/gthread-posix.c:716,1
    - Dst: g_cond_impl_new
      Src: /src/glib/glib/gthread-posix.c:714,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 721
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 721
    functionName: g_cond_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_cond_impl_free
    - g_atomic_pointer_compare_and_exchange
    - g_cond_impl_new
    linkageType: ''
    returnType: pthread_cond_t*
    signature: 'static inline pthread_cond_t *g_cond_get_impl (GCond *cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_signal
      Src: /src/glib/glib/gthread-posix.c:811,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:811,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 813
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 813
    functionName: g_cond_signal
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_cond_get_impl
    - g_thread_abort
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: 'void g_cond_signal (GCond *cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gthread-posix.c:223,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:223,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: g_mutex_lock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_thread_abort
    - pthread_mutex_lock
    - g_mutex_get_impl
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_lock (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/glib/glib/gthread-posix.c:300,1
    - Dst: free
      Src: /src/glib/glib/gthread-posix.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: g_rec_mutex_impl_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_mutex_destroy
    - free
    linkageType: ''
    returnType: void
    signature: 'static void g_rec_mutex_impl_free (pthread_mutex_t *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gthread-posix.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: g_rec_mutex_unlock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_unlock (GRecMutex *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/glib/glib/gthread-posix.c:460,1
    - Dst: free
      Src: /src/glib/glib/gthread-posix.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: g_rw_lock_impl_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_destroy
    - free
    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:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: g_rw_lock_init
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_impl_new
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_init (GRWLock *rw_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/glib/glib/gthread-posix.c:575,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: g_rw_lock_writer_trylock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_get_impl
    - pthread_rwlock_trywrlock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_rw_lock_writer_trylock (GRWLock *rw_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/glib/glib/gthread-posix.c:644,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 648
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 648
    functionName: g_rw_lock_reader_trylock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_tryrdlock
    - g_rw_lock_get_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_rw_lock_reader_trylock (GRWLock *rw_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gthread-posix.c:1097,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:1101,1
    - Dst: pthread_key_delete
      Src: /src/glib/glib/gthread-posix.c:1099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - impl
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1102
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1102
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:307,1
    - Dst: g_rec_mutex_impl_new
      Src: /src/glib/glib/gthread-posix.c:311,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:312,1
    - Dst: g_rec_mutex_impl_free
      Src: /src/glib/glib/gthread-posix.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 318
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 318
    functionName: g_rec_mutex_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_rec_mutex_impl_free
    - g_atomic_pointer_compare_and_exchange
    - g_rec_mutex_impl_new
    linkageType: ''
    returnType: pthread_mutex_t*
    signature: 'static inline pthread_mutex_t *g_rec_mutex_get_impl (GRecMutex *rec_mutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:467,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:472,1
    - Dst: g_rw_lock_impl_new
      Src: /src/glib/glib/gthread-posix.c:471,1
    - Dst: g_rw_lock_impl_free
      Src: /src/glib/glib/gthread-posix.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: g_rw_lock_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_atomic_pointer_compare_and_exchange
    - g_rw_lock_impl_free
    - g_rw_lock_impl_new
    linkageType: ''
    returnType: pthread_rwlock_t*
    signature: 'static inline pthread_rwlock_t *g_rw_lock_get_impl (GRWLock *lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:1028,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:1030,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:1033,1
    - Dst: pthread_key_create
      Src: /src/glib/glib/gthread-posix.c:1031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - notify
    argTypes:
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1036
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1036
    functionName: g_private_impl_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_thread_abort
    - malloc
    - pthread_key_create
    linkageType: ''
    returnType: pthread_key_t*
    signature: 'static pthread_key_t *g_private_impl_new (GDestroyNotify notify) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:1109,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:1114,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:1125,1
    - Dst: g_private_impl_new
      Src: /src/glib/glib/gthread-posix.c:1113,1
    - Dst: g_private_impl_free
      Src: /src/glib/glib/gthread-posix.c:1116,1
    - Dst: g_private_impl_new_direct
      Src: /src/glib/glib/gthread-posix.c:1130,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:1131,1
    - Dst: g_private_impl_free_direct
      Src: /src/glib/glib/gthread-posix.c:1133,1
    - Dst: memcpy
      Src: /src/glib/glib/gthread-posix.c:1138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - key
    argTypes:
    - GPrivate*
    constantsTouched: []
    func_position:
      end: 1142
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1142
    functionName: g_private_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - memcpy
    - g_atomic_pointer_compare_and_exchange
    - g_private_impl_new_direct
    - g_private_impl_free
    - g_private_impl_new
    - 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:1336,1
    - Dst: posix_check_cmd
      Src: /src/glib/glib/gthread-posix.c:1340,1
    - Dst: pthread_join
      Src: /src/glib/glib/gthread-posix.c:1340,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread-posix.c:1344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GRealThread*
    constantsTouched: []
    func_position:
      end: 1345
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1345
    functionName: g_system_thread_wait
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - posix_check_cmd
    - pthread_join
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_wait (GRealThread *thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/glib/glib/gthread-posix.c:1357,1
    - Dst: pthread_setname_np
      Src: /src/glib/glib/gthread-posix.c:1361,1
    - Dst: pthread_self
      Src: /src/glib/glib/gthread-posix.c:1361,1
    - Dst: pthread_setname_np
      Src: /src/glib/glib/gthread-posix.c:1359,1
    - Dst: pthread_self
      Src: /src/glib/glib/gthread-posix.c:1359,1
    - Dst: pthread_set_name_np
      Src: /src/glib/glib/gthread-posix.c:1363,1
    - Dst: pthread_self
      Src: /src/glib/glib/gthread-posix.c:1363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1365
    functionName: g_system_thread_set_name
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_set_name_np
    - pthread_self
    - pthread_setname_np
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_set_name (const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exchange_release
      Src: /src/glib/glib/gthread-posix.c:1501,1
    - Dst: g_mutex_unlock_slowpath
      Src: /src/glib/glib/gthread-posix.c:1505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1506
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1506
    functionName: g_mutex_unlock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock_slowpath
    - exchange_release
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_unlock (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_exchange_acquire
      Src: /src/glib/glib/gthread-posix.c:1516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1517
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1517
    functionName: g_mutex_trylock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - compare_exchange_acquire
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mutex_trylock (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gthread-posix.c:396,1
    - Dst: g_rec_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: g_rec_mutex_lock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    - g_rec_mutex_get_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_lock (GRecMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/glib/glib/gthread-posix.c:553,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:553,1
    - Dst: g_strerror
      Src: /src/glib/glib/gthread-posix.c:556,1
    - Dst: g_critical
      Src: /src/glib/glib/gthread-posix.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 557
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 557
    functionName: g_rw_lock_writer_lock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_get_impl
    - g_strerror
    - pthread_rwlock_wrlock
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_writer_lock (GRWLock *rw_lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get_impl
      Src: /src/glib/glib/gthread-posix.c:1202,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:1209,1
    - Dst: pthread_setspecific
      Src: /src/glib/glib/gthread-posix.c:1208,1
    - Dst: pthread_getspecific
      Src: /src/glib/glib/gthread-posix.c:1206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GPrivate*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1213
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1213
    functionName: g_private_replace
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_private_get_impl
    - g_thread_abort
    - pthread_setspecific
    - pthread_getspecific
    linkageType: ''
    returnType: void
    signature: 'void g_private_replace (GPrivate *key, gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1542
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1542
    functionName: g_cond_clear
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_cond_clear (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_impl_free
      Src: /src/glib/glib/gthread-posix.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: g_cond_clear
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_cond_impl_free
    linkageType: ''
    returnType: void
    signature: 'void g_cond_clear (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exchange_acquire
      Src: /src/glib/glib/gthread-posix.c:1462,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1467
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1467
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthread-posix.c:1558,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:1560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1561
    functionName: g_cond_signal
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_futex_simple
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'void g_cond_signal (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: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    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_atomic_pointer_get
    - g_mutex_impl_new
    - g_atomic_pointer_compare_and_exchange
    - g_mutex_impl_free
    linkageType: ''
    returnType: pthread_mutex_t*
    signature: 'static inline pthread_mutex_t *g_mutex_get_impl (GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/gthread-posix.c:1479,1
    - Dst: g_abort
      Src: /src/glib/glib/gthread-posix.c:1480,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:1483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - mutex
    - prev
    argTypes:
    - GMutex*
    - guint
    constantsTouched: []
    func_position:
      end: 1484
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1484
    functionName: g_mutex_unlock_slowpath
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_futex_simple
    - g_abort
    - 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:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthread-posix.c:1566,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:1568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1569
    functionName: g_cond_broadcast
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_futex_simple
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'void g_cond_broadcast (GCond *cond) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/glib/glib/gthread-posix.c:1586,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread-posix.c:1620,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread-posix.c:1644,1
    - Dst: syscall
      Src: /src/glib/glib/gthread-posix.c:1633,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gthread-posix.c:1670,1
    - Dst: g_error
      Src: /src/glib/glib/gthread-posix.c:1671,1
    - Dst: syscall
      Src: /src/glib/glib/gthread-posix.c:1676,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread-posix.c:1678,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gthread-posix.c:1686,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - cond
    - mutex
    - end_time
    argTypes:
    - GCond*
    - GMutex*
    - gint64
    constantsTouched: []
    func_position:
      end: 1687
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1687
    functionName: g_cond_wait_until
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - clock_gettime
    - g_error
    - g_assert_not_reached
    - g_mutex_unlock
    - syscall
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cond_wait_until (GCond *cond, GMutex *mutex, gint64 end_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gthread-posix.c:242,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:242,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: g_mutex_unlock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_thread_abort
    - g_mutex_get_impl
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_unlock (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_impl_free
      Src: /src/glib/glib/gthread-posix.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: g_rw_lock_clear
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_impl_free
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_clear (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/glib/glib/gthread-posix.c:664,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: g_rw_lock_reader_unlock
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_get_impl
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_reader_unlock (GRWLock *rw_lock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gthread-posix.c:906,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:917,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:917,1
    - Dst: pthread_cond_timedwait_relative_np
      Src: /src/glib/glib/gthread-posix.c:917,1
    - Dst: pthread_cond_timedwait
      Src: /src/glib/glib/gthread-posix.c:929,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:929,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:929,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:937,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - cond
    - mutex
    - end_time
    argTypes:
    - GCond*
    - GMutex*
    - gint64
    constantsTouched: []
    func_position:
      end: 940
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 940
    functionName: g_cond_wait_until
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_cond_timedwait
    - g_mutex_get_impl
    - g_cond_get_impl
    - pthread_cond_timedwait_relative_np
    - g_get_monotonic_time
    - g_thread_abort
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cond_wait_until (GCond *cond, GMutex *mutex, gint64 end_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1537
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1537
    functionName: g_cond_init
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_cond_init (GCond *cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:285,1
    - Dst: pthread_mutex_init
      Src: /src/glib/glib/gthread-posix.c:291,1
    - Dst: pthread_mutexattr_init
      Src: /src/glib/glib/gthread-posix.c:289,1
    - Dst: pthread_mutexattr_settype
      Src: /src/glib/glib/gthread-posix.c:290,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:287,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/glib/glib/gthread-posix.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: g_rec_mutex_impl_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_mutexattr_destroy
    - pthread_mutexattr_settype
    - pthread_mutexattr_init
    - malloc
    - g_thread_abort
    - pthread_mutex_init
    linkageType: ''
    returnType: pthread_mutex_t*
    signature: 'static pthread_mutex_t *g_rec_mutex_impl_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1902,1
    - Dst: ptr_array_free
      Src: /src/glib/glib/garray.c:1917,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garray.c:1913,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - array
    - free_segment
    argTypes:
    - GPtrArray*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1918
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1918
    functionName: g_ptr_array_free
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_dec
    - ptr_array_free
    linkageType: ''
    returnType: gpointer*
    signature: 'gpointer *g_ptr_array_free (GPtrArray *array, gboolean free_segment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:232,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:233,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/garray.c:236,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:238,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - data
    - len
    - clear
    - element_size
    argTypes:
    - gpointer
    - gsize
    - gboolean
    - gsize
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: g_array_new_take
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_array_sized_new
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_new_take (gpointer data, gsize len, gboolean clear,
      gsize element_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:843,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:845,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:848,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:851,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:851,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:852,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:853,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:857,1
    - Dst: g_array_elt_zero
      Src: /src/glib/glib/garray.c:858,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:860,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - farray
    - index_
    argTypes:
    - GArray*
    - guint
    constantsTouched: []
    func_position:
      end: 863
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 863
    functionName: g_array_remove_index
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_array_elt_len
    - g_array_zero_terminate
    - memmove
    - g_array_elt_zero
    - g_return_val_if_fail
    - g_array_elt_pos
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_remove_index (GArray *farray, guint index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:1862,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garray.c:1864,1
    - Dst: ptr_array_free
      Src: /src/glib/glib/garray.c:1865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - array
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1866
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1866
    functionName: g_ptr_array_unref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_free
    - g_atomic_ref_count_dec
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_unref (GPtrArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/garray.c:3025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - array
    - data
    - len
    argTypes:
    - GByteArray*
    - guint8*
    - guint
    constantsTouched: []
    func_position:
      end: 3028
      start: 3020
    functionDepth: 0
    functionLinenumber: 3020
    functionLinenumberEnd: 3028
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:1935,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/garray.c:1962,1
    - Dst: g_free
      Src: /src/glib/glib/garray.c:1944,1
    - Dst: g_new0
      Src: /src/glib/glib/garray.c:1951,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - array
    - flags
    argTypes:
    - GPtrArray*
    - ArrayFreeFlags
    constantsTouched: []
    func_position:
      end: 1966
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1966
    functionName: ptr_array_free
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_free
    - g_new0
    - g_slice_free1
    linkageType: ''
    returnType: gpointer*
    signature: 'static gpointer *ptr_array_free (GPtrArray *array, ArrayFreeFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_steal
      Src: /src/glib/glib/garray.c:2847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - array
    - len
    argTypes:
    - GByteArray*
    - gsize*
    constantsTouched: []
    func_position:
      end: 2848
      start: 2843
    functionDepth: 0
    functionLinenumber: 2843
    functionLinenumberEnd: 2848
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/glib/garray.c:1978,1
    - Dst: MIN
      Src: /src/glib/glib/garray.c:1989,1
    - Dst: MAX
      Src: /src/glib/glib/garray.c:1988,1
    - Dst: g_error
      Src: /src/glib/glib/garray.c:1982,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/garray.c:1987,1
    - Dst: g_realloc
      Src: /src/glib/glib/garray.c:1990,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:1991,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - array
    - len
    argTypes:
    - GRealPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 1995
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1995
    functionName: g_ptr_array_maybe_expand
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_realloc
    - G_UNLIKELY
    - g_error
    - MIN
    - g_nearest_pow
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void g_ptr_array_maybe_expand (GRealPtrArray *array, guint
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_remove_index
      Src: /src/glib/glib/garray.c:3062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GByteArray*
    - guint
    constantsTouched: []
    func_position:
      end: 3065
      start: 3058
    functionDepth: 0
    functionLinenumber: 3058
    functionLinenumberEnd: 3065
    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_return_val_if_fail
      Src: /src/glib/glib/garray.c:2875,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:2878,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:2879,1
    - Dst: g_byte_array_new
      Src: /src/glib/glib/garray.c:2876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 2886
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2886
    functionName: g_byte_array_new_take
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_byte_array_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_new_take (guint8 *data, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_set_size
      Src: /src/glib/glib/garray.c:3043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - array
    - length
    argTypes:
    - GByteArray*
    - guint
    constantsTouched: []
    func_position:
      end: 3046
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3046
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1062,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/garray.c:1065,1
    - Dst: compare_func
      Src: /src/glib/glib/garray.c:1074,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1063,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: 1093
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1093
    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: g_slice_new
      Src: /src/glib/glib/garray.c:1226,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/garray.c:1234,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:1243,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:1242,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/garray.c:1238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - reserved_size
    - element_free_func
    - null_terminated
    argTypes:
    - guint
    - GDestroyNotify
    - gboolean
    constantsTouched: []
    func_position:
      end: 1255
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1255
    functionName: ptr_array_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_new
    - g_ptr_array_maybe_expand
    - g_atomic_ref_count_init
    - G_LIKELY
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *ptr_array_new (guint reserved_size, GDestroyNotify
      element_free_func, gboolean null_terminated) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/garray.c:2622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - compare_func
    argTypes:
    - GPtrArray*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 2623
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2623
    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: MIN
      Src: /src/glib/glib/garray.c:1106,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:1115,1
    - Dst: g_error
      Src: /src/glib/glib/garray.c:1110,1
    - Dst: MAX
      Src: /src/glib/glib/garray.c:1116,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/garray.c:1115,1
    - Dst: g_realloc
      Src: /src/glib/glib/garray.c:1118,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:1120,1
    - Dst: memset
      Src: /src/glib/glib/garray.c:1121,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:1121,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:1122,1
    - Dst: MIN
      Src: /src/glib/glib/garray.c:1124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - array
    - len
    argTypes:
    - GRealArray*
    - guint
    constantsTouched: []
    func_position:
      end: 1126
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1126
    functionName: g_array_maybe_expand
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_realloc
    - G_UNLIKELY
    - g_error
    - MIN
    - g_array_elt_len
    - memset
    - g_nearest_pow
    - MAX
    - g_array_elt_pos
    linkageType: ''
    returnType: void
    signature: 'static void g_array_maybe_expand (GRealArray *array, guint len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_remove_index_fast
      Src: /src/glib/glib/garray.c:3083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GByteArray*
    - guint
    constantsTouched: []
    func_position:
      end: 3086
      start: 3079
    functionDepth: 0
    functionLinenumber: 3079
    functionLinenumberEnd: 3086
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free1
      Src: /src/glib/glib/garray.c:604,1
    - Dst: g_free
      Src: /src/glib/glib/garray.c:590,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - array
    - flags
    argTypes:
    - GRealArray*
    - ArrayFreeFlags
    constantsTouched: []
    func_position:
      end: 608
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 608
    functionName: array_free
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_free
    - g_array_elt_pos
    - g_slice_free1
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *array_free (GRealArray *array, ArrayFreeFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_sort
      Src: /src/glib/glib/garray.c:3133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - compare_func
    argTypes:
    - GByteArray*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 3134
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3134
    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: ptr_array_new
      Src: /src/glib/glib/garray.c:1267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1268
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1268
    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: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:3106,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/garray.c:3110,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:3108,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:3107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - array
    - index_
    - length
    argTypes:
    - GByteArray*
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 3111
      start: 3101
    functionDepth: 0
    functionLinenumber: 3101
    functionLinenumberEnd: 3111
    functionName: g_byte_array_remove_range
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_remove_range
    - g_return_val_if_fail
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_remove_range (GByteArray *array, guint index_,
      guint length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1610,1
    - Dst: func
      Src: /src/glib/glib/garray.c:1627,1
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1612,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:1631,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:1618,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:1638,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - array
    - func
    - user_data
    argTypes:
    - GPtrArray*
    - GCopyFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1642
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1642
    functionName: g_ptr_array_copy
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_new
    - memcpy
    - ptr_array_maybe_null_terminate
    - func
    - g_ptr_array_maybe_expand
    - g_return_val_if_fail
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_copy (GPtrArray *array, GCopyFunc func, gpointer
      user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2190,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2189,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2188,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:2203,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:2209,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:2215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - array
    - index_
    - length
    argTypes:
    - GPtrArray*
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 2218
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2218
    functionName: g_ptr_array_remove_range
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memmove
    - g_return_val_if_fail
    - G_UNLIKELY
    - ptr_array_maybe_null_terminate
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_remove_range (GPtrArray *array, guint index_,
      guint length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2584,1
    - Dst: g_qsort_with_data
      Src: /src/glib/glib/garray.c:2587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - array
    - compare_func
    - user_data
    argTypes:
    - GPtrArray*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2592
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2592
    functionName: g_ptr_array_sort_with_data
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_qsort_with_data
    - 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: compare_func
      Src: /src/glib/glib/garray.c:2601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2602
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2602
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:641,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:648,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:649,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:648,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:646,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - farray
    - data
    - len
    argTypes:
    - GArray*
    - gconstpointer
    - guint
    constantsTouched: []
    func_position:
      end: 656
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 656
    functionName: g_array_append_vals
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_array_elt_len
    - g_array_zero_terminate
    - g_array_maybe_expand
    - g_return_val_if_fail
    - g_array_elt_pos
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_append_vals (GArray *farray, gconstpointer data, guint
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_free
      Src: /src/glib/glib/garray.c:2922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - array
    - free_segment
    argTypes:
    - GByteArray*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2923
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 2923
    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_sized_new
      Src: /src/glib/glib/garray.c:2902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - reserved_size
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 2903
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2903
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - reserved_size
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 1659
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1659
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2242,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2249,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - array
    - data
    argTypes:
    - GPtrArray*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2255
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2255
    functionName: g_ptr_array_remove
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ptr_array_remove_index
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ptr_array_remove (GPtrArray *array, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:477,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/garray.c:479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - array
    argTypes:
    - GArray*
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: g_array_ref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_ref (GArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - reserved_size
    - element_free_func
    - null_terminated
    argTypes:
    - guint
    - GDestroyNotify
    - gboolean
    constantsTouched: []
    func_position:
      end: 1773
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1773
    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: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1837,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/garray.c:1839,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - array
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1842
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1842
    functionName: g_ptr_array_ref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_ref (GPtrArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 2162
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2162
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - reserved_size
    - element_free_func
    argTypes:
    - guint
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1735
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1735
    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: ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 2140
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2140
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2749,1
    - Dst: equal_func
      Src: /src/glib/glib/garray.c:2756,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/garray.c:2756,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - haystack
    - needle
    - equal_func
    - index_
    argTypes:
    - GPtrArray*
    - gconstpointer
    - GEqualFunc
    - guint*
    constantsTouched: []
    func_position:
      end: 2765
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2765
    functionName: g_ptr_array_find_with_equal_func
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_index
    - g_return_val_if_fail
    - equal_func
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ptr_array_find_with_equal_func (GPtrArray *haystack, gconstpointer
      needle, GEqualFunc equal_func, guint *index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:385,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:387,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:404,1
    - Dst: g_slice_new
      Src: /src/glib/glib/garray.c:390,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/garray.c:400,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:405,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - zero_terminated
    - clear
    - elt_size
    - reserved_size
    argTypes:
    - gboolean
    - gboolean
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 410
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 410
    functionName: g_array_sized_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_array_zero_terminate
    - g_array_maybe_expand
    - g_slice_new
    - g_atomic_ref_count_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_sized_new (gboolean zero_terminated, gboolean clear,
      guint elt_size, guint reserved_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1444,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1445,1
    - Dst: ptr_array_new_from_array
      Src: /src/glib/glib/garray.c:1447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - data
    - len
    - copy_func
    - copy_func_user_data
    - element_free_func
    argTypes:
    - gpointer*
    - gsize
    - GCopyFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1449
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1449
    functionName: g_ptr_array_new_from_array
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_new_from_array
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - array
    - len
    argTypes:
    - GPtrArray*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1575
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2351,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:2361,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:2357,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2352,1
    - Dst: g_error
      Src: /src/glib/glib/garray.c:2359,1
    - Dst: func
      Src: /src/glib/glib/garray.c:2369,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:2373,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:2379,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: 2380
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2380
    functionName: g_ptr_array_extend
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_UNLIKELY
    - g_error
    - ptr_array_maybe_null_terminate
    - func
    - g_ptr_array_maybe_expand
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_extend (GPtrArray *array_to_extend, GPtrArray *array,
      GCopyFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_sort_with_data
      Src: /src/glib/glib/garray.c:3150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - array
    - compare_func
    - user_data
    argTypes:
    - GByteArray*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 3151
      start: 3145
    functionDepth: 0
    functionLinenumber: 3145
    functionLinenumberEnd: 3151
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:1381,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:1394,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:1382,1
    - Dst: copy_func
      Src: /src/glib/glib/garray.c:1390,1
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1384,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 6
    argNames:
    - data
    - len
    - copy_func
    - copy_func_user_data
    - element_free_func
    - null_terminated
    argTypes:
    - gpointer*
    - gsize
    - GCopyFunc
    - gpointer
    - GDestroyNotify
    - gboolean
    constantsTouched: []
    func_position:
      end: 1403
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1403
    functionName: ptr_array_new_from_array
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_assert
    - ptr_array_new
    - memcpy
    - copy_func
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:1492,1
    - Dst: ptr_array_new_from_array
      Src: /src/glib/glib/garray.c:1495,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - data
    - copy_func
    - copy_func_user_data
    - element_free_func
    argTypes:
    - gpointer*
    - GCopyFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1497
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1497
    functionName: g_ptr_array_new_from_null_terminated_array
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_assert
    - ptr_array_new_from_array
    - g_return_val_if_fail
    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_array_sized_new
      Src: /src/glib/glib/garray.c:2825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2826
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2826
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - array
    - len
    argTypes:
    - GArray*
    - gsize*
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 359
    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:1306,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1307,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:1312,1
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - data
    - len
    - element_free_func
    argTypes:
    - gpointer*
    - gsize
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1317
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1317
    functionName: g_ptr_array_new_take
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_new
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new_take (gpointer *data, gsize len, GDestroyNotify
      element_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:1793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - array
    - element_free_func
    argTypes:
    - GPtrArray*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1796
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1796
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2641
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2641
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:284,1
    - Dst: g_array_new_take
      Src: /src/glib/glib/garray.c:304,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:302,1
    - Dst: memcmp
      Src: /src/glib/glib/garray.c:295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - data
    - clear
    - element_size
    argTypes:
    - gpointer
    - gboolean
    - gsize
    constantsTouched: []
    func_position:
      end: 308
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 308
    functionName: g_array_new_take_zero_terminated
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memcmp
    - g_return_val_if_fail
    - g_array_new_take
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_new_take_zero_terminated (gpointer data, gboolean
      clear, gsize element_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - array
    - clear_func
    argTypes:
    - GArray*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 460
    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:507,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garray.c:509,1
    - Dst: array_free
      Src: /src/glib/glib/garray.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - array
    argTypes:
    - GArray*
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: g_array_unref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - array_free
    - g_atomic_ref_count_dec
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_array_unref (GArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/garray.c:2404,1
    - Dst: g_free
      Src: /src/glib/glib/garray.c:2412,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:2408,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/garray.c:2411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - array_to_extend
    - array
    argTypes:
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2413
    functionName: g_ptr_array_extend_and_steal
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_steal_pointer
    - g_free
    - g_ptr_array_extend
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_extend_and_steal (GPtrArray *array_to_extend, GPtrArray
      *array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1362,1
    - Dst: g_ptr_array_new_take
      Src: /src/glib/glib/garray.c:1364,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:1364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - data
    - element_free_func
    argTypes:
    - gpointer*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1368
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1368
    functionName: g_ptr_array_new_take_null_terminated
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_take
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new_take_null_terminated (gpointer *data, GDestroyNotify
      element_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1819
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1819
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/garray.c:2661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - array
    - compare_func
    - user_data
    argTypes:
    - GPtrArray*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2666
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2666
    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:700,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:705,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:707,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:707,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:707,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:708,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:710,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:710,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:710,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - farray
    - data
    - len
    argTypes:
    - GArray*
    - gconstpointer
    - guint
    constantsTouched: []
    func_position:
      end: 717
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 717
    functionName: g_array_prepend_vals
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_array_elt_len
    - g_array_zero_terminate
    - memmove
    - g_array_maybe_expand
    - g_return_val_if_fail
    - g_array_elt_pos
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_prepend_vals (GArray *farray, gconstpointer data,
      guint len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_ref
      Src: /src/glib/glib/garray.c:2968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - GByteArray*
    constantsTouched: []
    func_position:
      end: 2969
      start: 2965
    functionDepth: 0
    functionLinenumber: 2965
    functionLinenumberEnd: 2969
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2948,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/garray.c:2951,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/garray.c:2951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - array
    argTypes:
    - GByteArray*
    constantsTouched: []
    func_position:
      end: 2952
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 2952
    functionName: g_byte_array_free_to_bytes
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_bytes_new_take
    - g_return_val_if_fail
    - g_byte_array_free
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_byte_array_free_to_bytes (GByteArray *array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:1002,1
    - Dst: g_qsort_with_data
      Src: /src/glib/glib/garray.c:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - farray
    - compare_func
    - user_data
    argTypes:
    - GArray*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1010
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1010
    functionName: g_array_sort_with_data
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_qsort_with_data
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_array_sort_with_data (GArray *farray, GCompareDataFunc compare_func,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/garray.c:2715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - haystack
    - needle
    - index_
    argTypes:
    - GPtrArray*
    - gconstpointer
    - guint*
    constantsTouched: []
    func_position:
      end: 2716
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2716
    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_array_append_vals
      Src: /src/glib/glib/garray.c:3004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - array
    - data
    - len
    argTypes:
    - GByteArray*
    - guint8*
    - guint
    constantsTouched: []
    func_position:
      end: 3007
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3007
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:969,1
    - Dst: g_qsort_with_data
      Src: /src/glib/glib/garray.c:973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - farray
    - compare_func
    argTypes:
    - GArray*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 978
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 978
    functionName: g_array_sort
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_qsort_with_data
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_array_sort (GArray *farray, GCompareFunc compare_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - array
    - func
    - user_data
    argTypes:
    - GPtrArray*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2690
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2690
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_unref
      Src: /src/glib/glib/garray.c:2985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - GByteArray*
    constantsTouched: []
    func_position:
      end: 2986
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2986
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:764,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:777,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:773,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/garray.c:774,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/garray.c:774,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:779,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:779,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:780,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:781,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:783,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:783,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:787,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - farray
    - index_
    - data
    - len
    argTypes:
    - GArray*
    - guint
    - gconstpointer
    - guint
    constantsTouched: []
    func_position:
      end: 790
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 790
    functionName: g_array_insert_vals
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_append_vals
    - memcpy
    - g_array_set_size
    - g_array_elt_len
    - g_array_zero_terminate
    - memmove
    - g_array_maybe_expand
    - g_return_val_if_fail
    - g_array_elt_pos
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_insert_vals (GArray *farray, guint index_, gconstpointer
      data, guint len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - element_free_func
    argTypes:
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1710
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1710
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2014,1
    - Dst: g_error
      Src: /src/glib/glib/garray.c:2026,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2016,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2015,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:2024,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:2028,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:2041,1
    - Dst: g_ptr_array_remove_range
      Src: /src/glib/glib/garray.c:2044,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - array
    - length
    argTypes:
    - GPtrArray*
    - gint
    constantsTouched: []
    func_position:
      end: 2045
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2045
    functionName: g_ptr_array_set_size
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_error
    - ptr_array_maybe_null_terminate
    - g_ptr_array_remove_range
    - g_ptr_array_maybe_expand
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_set_size (GPtrArray *array, gint length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 2120
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2120
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2309,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:2316,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2310,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:2312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - array
    - data
    argTypes:
    - GPtrArray*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2317
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2317
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2056,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:2067,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2059,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2057,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:2074,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - array
    - index_
    - fast
    - free_element
    argTypes:
    - GPtrArray*
    - guint
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 2078
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2078
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2503,1
    - Dst: g_qsort_with_data
      Src: /src/glib/glib/garray.c:2507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - array
    - compare_func
    argTypes:
    - GPtrArray*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 2512
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2512
    functionName: g_ptr_array_sort
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_qsort_with_data
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_sort (GPtrArray *array, GCompareFunc compare_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1678,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:1687,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:1685,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/garray.c:1681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - array
    argTypes:
    - GArray*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1690
    functionName: g_array_copy
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_array_sized_new
    - g_array_zero_terminate
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_copy (GArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 2098
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2098
    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:2280,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/glib/garray.c:2287,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - array
    - data
    argTypes:
    - GPtrArray*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2293
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2293
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2433,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2434,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2435,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:2437,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:2443,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:2450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - array
    - index_
    - data
    argTypes:
    - GPtrArray*
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 2451
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2451
    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_return_val_if_fail
      Src: /src/glib/glib/garray.c:185,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:187,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/garray.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - zero_terminated
    - clear
    - elt_size
    argTypes:
    - gboolean
    - gboolean
    - guint
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: g_array_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_array_sized_new
    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:563,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garray.c:568,1
    - Dst: array_free
      Src: /src/glib/glib/garray.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - farray
    - free_segment
    argTypes:
    - GArray*
    - gboolean
    constantsTouched: []
    func_position:
      end: 572
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 572
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:808,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:822,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:812,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/garray.c:818,1
    - Dst: g_array_elt_zero
      Src: /src/glib/glib/garray.c:815,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - farray
    - length
    argTypes:
    - GArray*
    - guint
    constantsTouched: []
    func_position:
      end: 825
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 825
    functionName: g_array_set_size
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_remove_range
    - g_array_zero_terminate
    - g_array_maybe_expand
    - g_return_val_if_fail
    - g_array_elt_zero
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_set_size (GArray *farray, guint length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:925,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:927,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:934,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:926,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:938,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:938,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:939,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:943,1
    - Dst: g_array_elt_zero
      Src: /src/glib/glib/garray.c:944,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - farray
    - index_
    - length
    argTypes:
    - GArray*
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 949
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 949
    functionName: g_array_remove_range
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_array_zero_terminate
    - memmove
    - g_array_elt_zero
    - g_return_val_if_fail
    - g_array_elt_pos
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_remove_range (GArray *farray, guint index_, guint
      length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:1215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - rarray
    argTypes:
    - GRealPtrArray*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - GArray*
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 531
    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_return_val_if_fail
      Src: /src/glib/glib/garray.c:883,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:891,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:885,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:888,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:891,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:892,1
    - Dst: g_array_elt_len
      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: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - farray
    - index_
    argTypes:
    - GArray*
    - guint
    constantsTouched: []
    func_position:
      end: 903
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 903
    functionName: g_array_remove_index_fast
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_UNLIKELY
    - g_array_elt_len
    - g_array_zero_terminate
    - g_array_elt_zero
    - g_return_val_if_fail
    - g_array_elt_pos
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_remove_index_fast (GArray *farray, guint index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GSList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    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_append
      Src: /src/glib/glib/gslist.c:311,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:315,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gslist.c:313,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - list
    - data
    - position
    argTypes:
    - GSList*
    - gpointer
    - gint
    constantsTouched: []
    func_position:
      end: 337
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 337
    functionName: g_slist_insert
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_append
    - g_slist_prepend
    - _g_slist_alloc
    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: 1
    argNames:
    - list
    argTypes:
    - GSList*
    constantsTouched: []
    func_position:
      end: 658
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 658
    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: 2
    argNames:
    - list
    - n
    argTypes:
    - GSList*
    - guint
    constantsTouched: []
    func_position:
      end: 678
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 678
    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: 5
    argCount: 2
    argNames:
    - list
    - llink
    argTypes:
    - GSList*
    - GSList*
    constantsTouched: []
    func_position:
      end: 786
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 786
    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: 865
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 865
    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:
    - Dst: g_slist_insert_sorted_real
      Src: /src/glib/glib/gslist.c:988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - list
    - data
    - func
    - user_data
    argTypes:
    - GSList*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 989
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 989
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:240,1
    - Dst: g_slist_last
      Src: /src/glib/glib/gslist.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GSList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 254
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 254
    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_alloc
      Src: /src/glib/glib/gslist.c:611,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:620,1
    - Dst: func
      Src: /src/glib/glib/gslist.c:613,1
    - Dst: func
      Src: /src/glib/glib/gslist.c:623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - list
    - func
    - user_data
    argTypes:
    - GSList*
    - GCopyFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 632
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 632
    functionName: g_slist_copy_deep
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - func
    - _g_slist_alloc
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_copy_deep (GSList *list, GCopyFunc func, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList*
    constantsTouched: []
    func_position:
      end: 838
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 838
    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:963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - list
    - data
    - func
    argTypes:
    - GSList*
    - gpointer
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 964
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 964
    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: _g_slist_remove_data
      Src: /src/glib/glib/gslist.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GSList*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 475
    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_slice_free_chain
      Src: /src/glib/glib/gslist.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    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:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GSList*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 456
    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_alloc0
      Src: /src/glib/glib/gslist.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    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_copy_deep
      Src: /src/glib/glib/gslist.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList*
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 569
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - l1
    - l2
    - compare_func
    - user_data
    argTypes:
    - GSList*
    - GSList*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1020
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1020
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gslist.c:1114,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gslist.c:1116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - slist_ptr
    - destroy
    argTypes:
    - GSList**
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1118
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1118
    functionName: (g_clear_slist)
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_free
    - g_slist_free_full
    linkageType: ''
    returnType: void
    signature: 'void (g_clear_slist) (GSList **slist_ptr, GDestroyNotify destroy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_sort_merge
      Src: /src/glib/glib/gslist.c:1046,1
    - Dst: g_slist_sort_real
      Src: /src/glib/glib/gslist.c:1046,1
    - Dst: g_slist_sort_real
      Src: /src/glib/glib/gslist.c:1047,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - list
    - compare_func
    - user_data
    argTypes:
    - GSList*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1050
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1050
    functionName: g_slist_sort_real
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_sort_real
    - g_slist_sort_merge
    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_foreach
      Src: /src/glib/glib/gslist.c:199,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gslist.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - list
    - free_func
    argTypes:
    - GSList*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: g_slist_free_full
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_free
    - g_slist_foreach
    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:546,1
    - Dst: _g_slist_free1
      Src: /src/glib/glib/gslist.c:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - list
    - link_
    argTypes:
    - GSList*
    - GSList*
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 550
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_sort_real
      Src: /src/glib/glib/gslist.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - list
    - compare_func
    - user_data
    argTypes:
    - GSList*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1089
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1089
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_free1
      Src: /src/glib/glib/gslist.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList*
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_last
      Src: /src/glib/glib/gslist.c:406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - GSList*
    - GSList*
    constantsTouched: []
    func_position:
      end: 412
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 412
    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:
    - Dst: _g_slist_remove_link
      Src: /src/glib/glib/gslist.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - list
    - link_
    argTypes:
    - GSList*
    - GSList*
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 523
    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:747,1
    - Dst: func
      Src: /src/glib/glib/gslist.c:751,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - list
    - data
    - func
    argTypes:
    - GSList*
    - gconstpointer
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 757
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 757
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - list
    - func
    - user_data
    argTypes:
    - GSList*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 889
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 889
    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_sort_real
      Src: /src/glib/glib/gslist.c:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - list
    - compare_func
    argTypes:
    - GSList*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 1071
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1071
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_1
      Src: /src/glib/glib/gslist.c:428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - list
    - data
    - all
    argTypes:
    - GSList*
    - gconstpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 439
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 439
    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:902,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:922,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:906,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - list
    - data
    - func
    - user_data
    argTypes:
    - GSList*
    - gpointer
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 943
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 943
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:356,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gslist.c:359,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:379,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - slist
    - sibling
    - data
    argTypes:
    - GSList*
    - GSList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 387
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 387
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - list
    - link
    argTypes:
    - GSList*
    - GSList*
    constantsTouched: []
    func_position:
      end: 498
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 498
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - list
    - n
    argTypes:
    - GSList*
    - guint
    constantsTouched: []
    func_position:
      end: 698
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 698
    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: 4
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GSList*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 723
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 723
    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: 815
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 815
    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: 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:
    - strlen
    - strncmp
    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:73,1
    - Dst: getpeername
      Src: /src/glib/glib/gjournal-private.c:70,1
    - Dst: str_has_prefix
      Src: /src/glib/glib/gjournal-private.c:72,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:
    - getpeername
    - memset
    - str_has_prefix
    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:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - num
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    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: iconv_close
      Src: /src/glib/glib/gconvert.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GIConv
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    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: strdup_len
      Src: /src/glib/glib/gconvert.c:1014,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:1016,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 5
    argNames:
    - opsysstring
    - len
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1019
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1019
    functionName: g_locale_to_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_get_charset
    - strdup_len
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1108,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:1109,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:1111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 5
    argNames:
    - utf8string
    - len
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1114
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1114
    functionName: g_locale_from_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_get_charset
    - strdup_len
    - 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_INIT
      Src: /src/glib/glib/gconvert.c:1172,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1179,1
    - Dst: strcmp
      Src: /src/glib/glib/gconvert.c:1181,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gconvert.c:1194,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1210,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1201,1
    - Dst: strcmp
      Src: /src/glib/glib/gconvert.c:1199,1
    - Dst: g_new0
      Src: /src/glib/glib/gconvert.c:1215,1
    - Dst: g_private_set_alloc0
      Src: /src/glib/glib/gconvert.c:1177,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1202,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1217,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1218,1
    - Dst: g_private_get
      Src: /src/glib/glib/gconvert.c:1173,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1187,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gconvert.c:1188,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1189,1
    - Dst: g_new0
      Src: /src/glib/glib/gconvert.c:1209,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1211,1
    - Dst: strcmp
      Src: /src/glib/glib/gconvert.c:1195,1
    - Dst: g_getenv
      Src: /src/glib/glib/gconvert.c:1207,1
    - Dst: g_getenv
      Src: /src/glib/glib/gconvert.c:1191,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1203,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1219,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 1
    argNames:
    - filename_charsets
    argTypes:
    - gchar***
    constantsTouched: []
    func_position:
      end: 1227
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1227
    functionName: g_get_filename_charsets
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_new0
    - g_strsplit
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - g_strfreev
    - g_private_get
    - g_getenv
    - strcmp
    - g_get_charset
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_get_filename_charsets (const gchar ***filename_charsets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/gconvert.c:1392,1
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/gconvert.c:1392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1399
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_get_filename_charsets
      Src: /src/glib/glib/gconvert.c:1993,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1998,1
    - Dst: g_convert
      Src: /src/glib/glib/gconvert.c:2008,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gconvert.c:1997,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gconvert.c:2020,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2023
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 2023
    functionName: g_filename_display_name
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_get_filename_charsets
    - g_strdup
    - g_utf8_validate
    - g_utf8_make_valid
    - g_convert
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_filename_display_name (const gchar *filename) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gconvert.c:873,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:881,1
    - Dst: g_strndup
      Src: /src/glib/glib/gconvert.c:892,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:880,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 5
    argNames:
    - string
    - len
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 893
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 893
    functionName: strdup_len
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_set_error_literal
    - _
    - g_utf8_validate
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_to_utf8
      Src: /src/glib/glib/gconvert.c:2053,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - opsysstring
    - len
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2054
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2054
    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: iconv
      Src: /src/glib/glib/gconvert.c:280,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: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:670,1
    - Dst: g_assert
      Src: /src/glib/glib/gconvert.c:684,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gconvert.c:686,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:766,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gconvert.c:775,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:833,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:838,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:671,1
    - Dst: g_error_free
      Src: /src/glib/glib/gconvert.c:692,1
    - Dst: close_converter
      Src: /src/glib/glib/gconvert.c:715,1
    - Dst: g_realloc
      Src: /src/glib/glib/gconvert.c:753,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:795,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:808,1
    - Dst: memset
      Src: /src/glib/glib/gconvert.c:826,1
    - Dst: open_converter
      Src: /src/glib/glib/gconvert.c:699,1
    - Dst: g_iconv
      Src: /src/glib/glib/gconvert.c:738,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:765,1
    - Dst: g_malloc
      Src: /src/glib/glib/gconvert.c:733,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gconvert.c:782,1
    - Dst: close_converter
      Src: /src/glib/glib/gconvert.c:828,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:839,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:669,1
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:674,1
    - Dst: g_convert
      Src: /src/glib/glib/gconvert.c:679,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gconvert.c:688,1
    - Dst: g_convert
      Src: /src/glib/glib/gconvert.c:711,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gconvert.c:746,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gconvert.c:776,1
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:785,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:794,1
    - Dst: g_strerror
      Src: /src/glib/glib/gconvert.c:796,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 110
    argCount: 8
    argNames:
    - str
    - len
    - to_codeset
    - from_codeset
    - fallback
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gchar*
    - gchar*
    - gchar*
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 844
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 844
    functionName: g_convert_with_fallback
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - _
    - g_iconv
    - g_propagate_error
    - g_return_val_if_fail
    - g_convert
    - strlen
    - g_strerror
    - g_error_matches
    - g_assert_not_reached
    - memset
    - g_utf8_next_char
    - g_realloc
    - g_error_free
    - g_strdup_printf
    - g_utf8_get_char
    - open_converter
    - close_converter
    - g_malloc
    - g_set_error
    - g_free
    - g_assert
    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:1059,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:1062,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 5
    argNames:
    - opsysstring
    - len
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1065
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1065
    functionName: _g_ctype_locale_to_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strdup_len
    - _g_get_ctype_charset
    - convert_checked
    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:1249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - filename_charsets
    argTypes:
    - gchar***
    constantsTouched: []
    func_position:
      end: 1256
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1256
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1710,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1725,1
    - Dst: g_unescape_uri_string
      Src: /src/glib/glib/gconvert.c:1732,1
    - Dst: hostname_validate
      Src: /src/glib/glib/gconvert.c:1735,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1755,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gconvert.c:1784,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1796,1
    - Dst: has_case_prefix
      Src: /src/glib/glib/gconvert.c:1694,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1721,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1740,1
    - Dst: g_unescape_uri_string
      Src: /src/glib/glib/gconvert.c:1751,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1768,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1774,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1696,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1706,1
    - Dst: has_case_prefix
      Src: /src/glib/glib/gconvert.c:1716,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1726,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1737,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1739,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1738,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1748,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1756,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gconvert.c:1766,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1799,1
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:1704,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1697,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1702,1
    - Dst: has_case_prefix
      Src: /src/glib/glib/gconvert.c:1714,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1727,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1757,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1797,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 84
    argCount: 3
    argNames:
    - uri
    - hostname
    - error
    argTypes:
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 1802
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1802
    functionName: g_filename_from_uri
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - strlen
    - g_ascii_strcasecmp
    - _
    - g_free
    - g_unescape_uri_string
    - g_ascii_isalpha
    - strchr
    - has_case_prefix
    - hostname_validate
    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:1951,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/gconvert.c:1953,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1955,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gconvert.c:1954,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1957
    functionName: g_filename_display_basename
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_filename_display_name
    - g_path_get_basename
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_filename_display_basename (const gchar *filename) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:568,1
    - Dst: open_converter
      Src: /src/glib/glib/gconvert.c:572,1
    - Dst: g_convert_with_iconv
      Src: /src/glib/glib/gconvert.c:585,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:569,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:570,1
    - Dst: close_converter
      Src: /src/glib/glib/gconvert.c:589,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 7
    argNames:
    - str
    - len
    - to_codeset
    - from_codeset
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gchar*
    - gchar*
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 592
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 592
    functionName: g_convert
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - close_converter
    - g_convert_with_iconv
    - g_return_val_if_fail
    - open_converter
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:1442,1
    - Dst: ACCEPTABLE
      Src: /src/glib/glib/gconvert.c:1464,1
    - Dst: ACCEPTABLE
      Src: /src/glib/glib/gconvert.c:1453,1
    - Dst: g_malloc
      Src: /src/glib/glib/gconvert.c:1457,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - string
    - mask
    argTypes:
    - gchar*
    - UnsafeCharacterSet
    constantsTouched: []
    func_position:
      end: 1477
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1477
    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_ascii_isalnum
      Src: /src/glib/glib/gconvert.c:1609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 1610
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1610
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gconvert.c:1631,1
    - Dst: is_asciialphanum
      Src: /src/glib/glib/gconvert.c:1633,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gconvert.c:1639,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gconvert.c:1632,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gconvert.c:1640,1
    - Dst: is_asciialphanum
      Src: /src/glib/glib/gconvert.c:1642,1
    - Dst: is_asciialpha
      Src: /src/glib/glib/gconvert.c:1648,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1652
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1652
    functionName: hostname_validate
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - is_asciialphanum
    - g_utf8_get_char
    - is_asciialpha
    - g_utf8_next_char
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hostname_validate (const char *hostname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1130,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1132,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gconvert.c:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1133
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1133
    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:1495,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1498,1
    - Dst: g_escape_uri_string
      Src: /src/glib/glib/gconvert.c:1510,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gconvert.c:1512,1
    - Dst: g_escape_uri_string
      Src: /src/glib/glib/gconvert.c:1507,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1519,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1522,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - hostname
    - pathname
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1526
    functionName: g_escape_file_uri
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_escape_uri_string
    - g_strconcat
    - strchr
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_escape_file_uri (const gchar *hostname,\t\t const
      gchar *pathname) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gconvert.c:1615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 1616
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1616
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_to_uri
      Src: /src/glib/glib/gconvert.c:2079,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - hostname
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2080
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2080
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:409,1
    - Dst: g_iconv
      Src: /src/glib/glib/gconvert.c:424,1
    - Dst: g_malloc
      Src: /src/glib/glib/gconvert.c:419,1
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:412,1
    - Dst: g_iconv
      Src: /src/glib/glib/gconvert.c:426,1
    - Dst: g_realloc
      Src: /src/glib/glib/gconvert.c:441,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:448,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:449,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:456,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:457,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:467,1
    - Dst: memset
      Src: /src/glib/glib/gconvert.c:484,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:495,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:506,1
    - Dst: g_strerror
      Src: /src/glib/glib/gconvert.c:458,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:468,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:494,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 6
    argNames:
    - str
    - len
    - converter
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - GIConv
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 511
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 511
    functionName: g_convert_with_iconv
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strlen
    - g_set_error
    - g_realloc
    - _
    - g_free
    - g_strerror
    - g_iconv
    - memset
    - g_set_error_literal
    - g_return_val_if_fail
    - g_malloc
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_filename_charsets
      Src: /src/glib/glib/gconvert.c:1266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - filename_charset
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 1272
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1272
    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:1370,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:1373,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:1371,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 5
    argNames:
    - utf8string
    - len
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1377
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1377
    functionName: g_filename_from_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strdup_len
    - get_filename_charset
    - convert_checked
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/gconvert.c:1534,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/gconvert.c:1538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1543
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_from_utf8
      Src: /src/glib/glib/gconvert.c:2063,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - utf8string
    - len
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2064
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2064
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/glib/glib/gconvert.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - to_codeset
    - from_codeset
    - cd
    argTypes:
    - char*
    - char*
    - iconv_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: try_conversion
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - iconv_open
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean try_conversion (const char *to_codeset,\t\tconst char
      *from_codeset,\t\ticonv_t *cd) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:1559,1
    - Dst: g_malloc
      Src: /src/glib/glib/gconvert.c:1561,1
    - Dst: unescape_character
      Src: /src/glib/glib/gconvert.c:1574,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1585,1
    - Dst: g_assert
      Src: /src/glib/glib/gconvert.c:1594,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1599,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 4
    argNames:
    - escaped
    - len
    - illegal_escaped_characters
    - ascii_must_not_be_escaped
    argTypes:
    - char*
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1604
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1604
    functionName: g_unescape_uri_string
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - g_assert
    - unescape_character
    - strchr
    - g_malloc
    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: g_filename_from_uri
      Src: /src/glib/glib/gconvert.c:2071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - uri
    - hostname
    - error
    argTypes:
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 2072
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2072
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/glib/glib/gconvert.c:929,1
    - Dst: memchr
      Src: /src/glib/glib/gconvert.c:953,1
    - Dst: g_convert
      Src: /src/glib/glib/gconvert.c:943,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:937,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:938,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:955,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:958,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:959,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    argCount: 8
    argNames:
    - string
    - len
    - to_codeset
    - from_codeset
    - flags
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gchar*
    - gchar*
    - ConvertCheckFlags
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 966
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 966
    functionName: convert_checked
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_free
    - _
    - g_set_error_literal
    - memchr
    - g_convert
    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:1318,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:1323,1
    - Dst: get_filename_charset
      Src: /src/glib/glib/gconvert.c:1320,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:1321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 5
    argNames:
    - opsysstring
    - len
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1327
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1327
    functionName: g_filename_to_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strdup_len
    - g_return_val_if_fail
    - get_filename_charset
    - convert_checked
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gconvert.c:1876,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gconvert.c:1905,1
    - Dst: g_strndup
      Src: /src/glib/glib/gconvert.c:1905,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gconvert.c:1891,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gconvert.c:1901,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1908,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gconvert.c:1913,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gconvert.c:1915,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 1
    argNames:
    - uri_list
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1916
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1916
    functionName: g_uri_list_extract_uris
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_ptr_array_free
    - strchr
    - g_ptr_array_new
    - g_ptr_array_add
    - g_ascii_isspace
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_uri_list_extract_uris (const gchar *uri_list) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: try_conversion
      Src: /src/glib/glib/gconvert.c:219,1
    - Dst: try_conversion
      Src: /src/glib/glib/gconvert.c:229,1
    - Dst: _g_charset_get_aliases
      Src: /src/glib/glib/gconvert.c:222,1
    - Dst: try_to_aliases
      Src: /src/glib/glib/gconvert.c:232,1
    - Dst: _g_charset_get_aliases
      Src: /src/glib/glib/gconvert.c:221,1
    - Dst: try_to_aliases
      Src: /src/glib/glib/gconvert.c:239,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 14
    argCount: 2
    argNames:
    - to_codeset
    - from_codeset
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: g_iconv_open
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - try_to_aliases
    - _g_charset_get_aliases
    - try_conversion
    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:313,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:326,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:325,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:322,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - to_codeset
    - from_codeset
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 332
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 332
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:1826,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1830,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gconvert.c:1837,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1831,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gconvert.c:1828,1
    - Dst: hostname_validate
      Src: /src/glib/glib/gconvert.c:1838,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:1840,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1841,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gconvert.c:1847,1
    - Dst: g_escape_file_uri
      Src: /src/glib/glib/gconvert.c:1851,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - filename
    - hostname
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1854
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1854
    functionName: g_filename_to_uri
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ascii_strcasecmp
    - _
    - g_escape_file_uri
    - g_set_error_literal
    - g_return_val_if_fail
    - g_path_is_absolute
    - hostname_validate
    - g_utf8_validate
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_filename_to_uri (const gchar *filename,\t\t const gchar *hostname,\t\t
      GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_iconv_close
      Src: /src/glib/glib/gconvert.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cd
    argTypes:
    - GIConv
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: try_conversion
      Src: /src/glib/glib/gconvert.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 3
    argNames:
    - to_aliases
    - from_codeset
    - cd
    argTypes:
    - char**
    - char*
    - iconv_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    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_time_charset
      Src: /src/glib/glib/gconvert.c:1036,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:1037,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:1039,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 5
    argNames:
    - opsysstring
    - len
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - gchar*
    - gssize
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1042
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1042
    functionName: _g_time_locale_to_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strdup_len
    - _g_get_time_charset
    - convert_checked
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_time_locale_to_utf8 (const gchar *opsysstring, gssize len,
      gsize *bytes_read, gsize *bytes_written, GError **error) '
  - 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: 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: 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: 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: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: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: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:353,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:359,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:
    - fprintf
    - write_array
    linkageType: ''
    returnType: void
    signature: 'static void write_source ( void) '
  - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: found
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:152,1
    - Dst: memmove
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:167,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: qsort
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:171,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:
    - memmove
    - compare
    - found
    - bt
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void bt ( int node_size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:245,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:285,1
    - Dst: qsort
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:249,1
    - Dst: compare
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:260,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: write_array
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:320,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:318,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
    - write_array
    - memmove
    - compare
    - qsort
    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:378,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:382,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:379,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:
    - fprintf
    - write_source
    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: 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: solve
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:415,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:
    - write_out
    - free
    - malloc
    - solve
    - memmove
    - init
    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:58,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:57,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:
    - exit
    - fprintf
    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: 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: fopen
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:158,1
    - Dst: die2
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:159,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:
    - read_bidi_mirroring_txt
    - fprintf
    - fclose
    - fopen
    - strcmp
    - die2
    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:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void die ( const char *msg) '
  - 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: 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: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:71,1
    - Dst: exit
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:73,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:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void die4 ( const char *fmt, unsigned long l, unsigned long
      p, unsigned long q) '
  - 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: fgets
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:122,1
    - Dst: sscanf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:137,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:
    - init_tab_mirroring_txt
    - fgets
    - sscanf
    - die4
    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: 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: 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: 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: read_data
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:224,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: 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:
    - gen_mirroring_tab
    - atoi
    - read_data
    - init
    - die2
    - die
    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:75,1
    - Dst: g_return_if_fail_warning
      Src: /src/glib/glib/tests/gdatetime.c:86,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gdatetime.c:94,1
    - Dst: localtime
      Src: /src/glib/glib/tests/gdatetime.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - time_
    - retval
    argTypes:
    - time_t
    - struct tm*
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: get_localtime_tm
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_if_fail_warning
    - localtime
    - memcpy
    - localtime_r
    linkageType: ''
    returnType: void
    signature: 'static void get_localtime_tm (time_t time_, struct tm *retval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/gdatetime.c:386,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/gdatetime.c:389,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/tests/gdatetime.c:390,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/glib/tests/gdatetime.c:389,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/gdatetime.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: test_GDateTime_hash
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_hash_table_add
    - g_hash_table_destroy
    - g_hash_table_remove_all
    - g_date_time_new_now_local
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_hash (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:431,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:435,1
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:441,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 455
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 455
    functionName: find_maximum_supported_tv_sec
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_date_time_new_from_timeval_utc
    linkageType: ''
    returnType: glong
    signature: 'static glong find_maximum_supported_tv_sec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_WEEKS
      Src: /src/glib/glib/tests/gdatetime.c:1060,1
    - Dst: TEST_ADD_WEEKS
      Src: /src/glib/glib/tests/gdatetime.c:1063,1
    - Dst: TEST_ADD_WEEKS
      Src: /src/glib/glib/tests/gdatetime.c:1061,1
    - Dst: TEST_ADD_WEEKS
      Src: /src/glib/glib/tests/gdatetime.c:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1064
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1064
    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:1152,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1154,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1155,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1156,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1153,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1157,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1158,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1159,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1161
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1161
    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: memset
      Src: /src/glib/glib/tests/gdatetime.c:1423,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:1427,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1424,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/glib/tests/gdatetime.c:1426,1
    - Dst: get_localtime_tm
      Src: /src/glib/glib/tests/gdatetime.c:1424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1432,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1436
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1436
    functionName: test_GDateTime_get_utc_offset
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_date_time_unref
    - g_date_time_new_now_local
    - memset
    - get_localtime_tm
    - g_get_real_time
    - g_date_time_get_utc_offset
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_utc_offset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_DAY_OF_YEAR
      Src: /src/glib/glib/tests/gdatetime.c:1529,1
    - Dst: TEST_DAY_OF_YEAR
      Src: /src/glib/glib/tests/gdatetime.c:1532,1
    - Dst: TEST_DAY_OF_YEAR
      Src: /src/glib/glib/tests/gdatetime.c:1531,1
    - Dst: TEST_DAY_OF_YEAR
      Src: /src/glib/glib/tests/gdatetime.c:1530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1533
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1533
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip_if_running_uninstalled
      Src: /src/glib/glib/tests/gdatetime.c:1672,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1677,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1679,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/gdatetime.c:1683,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1708,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1709,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1710,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1714,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1715,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1718,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1729,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1738,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1737,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1732,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1739,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1731,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1675,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1677,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1687,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1694,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1697,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1686,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1699,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1704,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1711,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1712,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1719,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1722,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1745,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1676,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1701,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1700,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1724,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1725,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1730,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1734,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1736,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1740,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1741,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1728,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1742,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1675,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1680,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1685,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1695,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1702,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1706,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1707,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1713,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1716,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1717,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1726,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1744,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1723,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 60
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1746
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1746
    functionName: test_non_utf8_printf
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - TEST_PRINTF_DATE
    - TEST_PRINTF_TIME
    - g_free
    - TEST_PRINTF
    - g_test_skip
    - strstr
    - g_get_charset
    - skip_if_running_uninstalled
    linkageType: ''
    returnType: void
    signature: 'static void test_non_utf8_printf (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/tests/gdatetime.c:60,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 68
    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:113,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/glib/tests/gdatetime.c:118,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:115,1
    - Dst: get_localtime_tm
      Src: /src/glib/glib/tests/gdatetime.c:116,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:120,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:124,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:125,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:126,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:127,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:128,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:128,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:129,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:127,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 132
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 132
    functionName: test_GDateTime_now
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_date_time_get_minute
    - g_date_time_new_now_local
    - g_date_time_get_year
    - g_date_time_get_day_of_month
    - g_date_time_unref
    - memset
    - g_date_time_get_month
    - get_localtime_tm
    - g_date_time_get_hour
    - g_get_real_time
    - g_date_time_get_second
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_now (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/gdatetime.c:401,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:406,1
    - Dst: g_date_time_new_from_timeval_local
      Src: /src/glib/glib/tests/gdatetime.c:402,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:405,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/gdatetime.c:404,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:407,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:408,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:409,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:410,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:411,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:412,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:417,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:416,1
    - Dst: g_date_time_to_timeval
      Src: /src/glib/glib/tests/gdatetime.c:414,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 418
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 418
    functionName: test_GDateTime_new_from_timeval
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_date_time_get_timezone_abbreviation
    - g_date_time_new_from_timeval_local
    - g_assert_cmpint
    - g_test_verbose
    - g_date_time_get_minute
    - g_date_time_get_year
    - g_date_time_get_day_of_month
    - g_date_time_unref
    - g_date_time_get_month
    - g_date_time_to_timeval
    - g_date_time_get_hour
    - g_get_current_time
    - g_date_time_get_second
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_GDateTime_new_from_timeval
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_HOURS
      Src: /src/glib/glib/tests/gdatetime.c:1083,1
    - Dst: TEST_ADD_HOURS
      Src: /src/glib/glib/tests/gdatetime.c:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1085
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1085
    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:1177,1
    - Dst: TEST_DIFF
      Src: /src/glib/glib/tests/gdatetime.c:1178,1
    - Dst: TEST_DIFF
      Src: /src/glib/glib/tests/gdatetime.c:1180,1
    - Dst: TEST_DIFF
      Src: /src/glib/glib/tests/gdatetime.c:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1183
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1183
    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: memset
      Src: /src/glib/glib/tests/gdatetime.c:1445,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:1446,1
    - Dst: g_date_time_to_timeval
      Src: /src/glib/glib/tests/gdatetime.c:1450,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/gdatetime.c:1448,1
    - Dst: g_date_time_new_from_timeval_local
      Src: /src/glib/glib/tests/gdatetime.c:1449,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1451,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1452,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1454
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1454
    functionName: test_GDateTime_to_timeval
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_date_time_new_from_timeval_local
    - g_date_time_unref
    - memset
    - g_date_time_to_timeval
    - g_get_current_time
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_GDateTime_to_timeval
      (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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:1613,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1614,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1618,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1619,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1622,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1628,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1631,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1632,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1633,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1635,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1620,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1644,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:1663,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:1657,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1626,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1653,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:1646,1
    - Dst: wcscmp
      Src: /src/glib/glib/tests/gdatetime.c:1647,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1616,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1617,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1636,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:1659,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1578,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1581,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/gdatetime.c:1581,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/gdatetime.c:1578,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1589,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:1590,1
    - Dst: get_localtime_tm
      Src: /src/glib/glib/tests/gdatetime.c:1597,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1605,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1608,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1615,1
    - Dst: GetDynamicTimeZoneInformation
      Src: /src/glib/glib/tests/gdatetime.c:1646,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1641,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/gdatetime.c:1650,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/gdatetime.c:1648,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1611,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1664,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1603,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1607,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1609,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1624,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1625,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1627,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1629,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1630,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1634,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1637,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1638,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1639,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1640,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1623,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1621,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:1579,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:1582,1
    - Dst: time
      Src: /src/glib/glib/tests/gdatetime.c:1588,1
    - Dst: get_localtime_tm
      Src: /src/glib/glib/tests/gdatetime.c:1591,1
    - Dst: strftime
      Src: /src/glib/glib/tests/gdatetime.c:1598,1
    - Dst: mktime
      Src: /src/glib/glib/tests/gdatetime.c:1595,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1600,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1604,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1602,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1601,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1606,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1642,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1660,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1652,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:1596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 87
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1665
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1665
    functionName: test_GDateTime_printf
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_strdup
    - g_assert_cmpint
    - mktime
    - TEST_PRINTF_DATE
    - TEST_PRINTF_TIME
    - wcscmp
    - g_free
    - g_assert
    - TEST_PRINTF
    - GetDynamicTimeZoneInformation
    - memset
    - g_getenv
    - get_localtime_tm
    - time
    - g_utf16_to_utf8
    - strftime
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_printf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - year
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 2046
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2046
    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_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2195,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2199,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2202,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2214,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2225,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2245,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2235,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2255,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2261,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2248,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2244,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2243,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2256,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2237,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2239,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2194,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2197,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2201,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2213,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2219,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2220,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2222,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2223,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2227,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2232,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2236,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2249,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2228,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2251,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2240,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2234,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2241,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2253,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2198,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2210,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2209,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2207,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2221,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2238,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2259,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2263,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2264,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2231,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2260,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2229,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2247,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:2191,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2193,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2203,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2205,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2206,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2216,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2211,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2217,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2218,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2226,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2257,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2252,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 81
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2265
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2265
    functionName: test_z
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_free
    - g_date_time_format
    - g_assert_nonnull
    - g_date_time_unref
    - g_time_zone_new_identifier
    - g_assert_cmpstr
    - g_date_time_new
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_z (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:2274,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2289,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2294,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2293,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2291,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2296,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2298,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2299,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2301,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2303
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2303
    functionName: test_6_days_until_end_of_the_month
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_free
    - g_date_time_format
    - g_assert_nonnull
    - g_date_time_unref
    - g_time_zone_new_identifier
    - g_assert_cmpstr
    - g_date_time_new
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_6_days_until_end_of_the_month (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:2912,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2914,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2916,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2915,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2916,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2917,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2918,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2919,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/glib/tests/gdatetime.c:2919,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2921
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2921
    functionName: test_GDateTime_floating_point
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_time_zone_unref
    - g_time_zone_get_identifier
    - g_assert_nonnull
    - g_date_time_unref
    - g_time_zone_new_identifier
    - g_assert_cmpstr
    - g_date_time_new
    - g_date_time_get_microsecond
    - g_test_bug
    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:186,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:192,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:191,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:189,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/tests/gdatetime.c:188,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/tests/gdatetime.c:194,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:195,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:197,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: test_GDateTime_new_from_unix_overflow
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_assert_null
    - g_date_time_new_from_unix_local
    - g_test_bug
    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:306,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:307,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:310,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:308,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:307,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:311,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:311,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:312,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:314,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:315,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:315,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:316,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:319,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:320,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:319,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 321
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 321
    functionName: test_GDateTime_get_day_of_month
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_local
    - g_assert_cmpint
    - g_date_time_get_day_of_month
    - g_date_time_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_day_of_month (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/glib/glib/tests/gdatetime.c:979,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:982,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:981,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:982,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:980,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 984
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 984
    functionName: test_GDateTime_to_unix
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_date_time_unref
    - g_date_time_to_unix
    - time
    - g_date_time_new_from_unix_local
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_to_unix (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1010,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1011,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1013,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1014,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1012,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1015,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1016,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1017,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1018,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1019,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1021
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1021
    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_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1363,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/gdatetime.c:1376,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1382,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1385,1
    - Dst: gmtime_r
      Src: /src/glib/glib/tests/gdatetime.c:1365,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gdatetime.c:1373,1
    - Dst: gmtime
      Src: /src/glib/glib/tests/gdatetime.c:1368,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1382,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1383,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1388,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1378,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1383,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1385,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1387,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1387,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1384,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1386,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1386,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1389
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1389
    functionName: test_GDateTime_now_utc
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_assert_cmpint
    - gmtime_r
    - g_date_time_get_minute
    - g_date_time_new_now_utc
    - g_date_time_get_year
    - g_date_time_get_day_of_month
    - g_date_time_unref
    - g_date_time_get_month
    - g_date_time_get_hour
    - g_get_real_time
    - g_date_time_get_second
    - gmtime
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_now_utc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2011,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2013,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2014,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2015,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2019,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2029,1
    - Dst: g_date_time_add_months
      Src: /src/glib/glib/tests/gdatetime.c:2031,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2037,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2013,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2020,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2021,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2032,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2033,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2009,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2015,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2019,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2021,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2029,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2032,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2033,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2035,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2036,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2007,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2012,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2014,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2023,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2020,1
    - Dst: g_date_time_add_months
      Src: /src/glib/glib/tests/gdatetime.c:2018,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2024,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2027,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2028,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2028,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2038
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2038
    functionName: test_GDateTime_dst
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_is_daylight_savings
    - g_assert_cmpint
    - g_time_zone_unref
    - g_assert
    - g_assert_nonnull
    - g_date_time_unref
    - g_time_zone_new_identifier
    - g_date_time_new
    - g_date_time_add_months
    - g_date_time_get_hour
    - g_date_time_get_utc_offset
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_dst (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2056,1
    - Dst: is_leap_year
      Src: /src/glib/glib/tests/gdatetime.c:2058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - year
    - month
    argTypes:
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 2059
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2059
    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_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:2642,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2646,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2646,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2647,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2647,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2648,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2648,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2651
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2651
    functionName: test_no_header
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_time_zone_is_dst
    - g_time_zone_unref
    - g_assert
    - g_time_zone_get_abbreviation
    - g_assert_cmpstr
    - g_time_zone_get_offset
    - g_time_zone_new
    linkageType: ''
    returnType: void
    signature: 'static void test_no_header (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:328,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:329,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:332,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:330,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:333,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:333,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:334,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:337,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:338,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:337,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:342,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:341,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:341,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: test_GDateTime_get_hour
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_hour
    - g_assert_cmpint
    - g_date_time_unref
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_hour (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:991,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:993,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:993,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:994,1
    - Dst: g_date_time_add_years
      Src: /src/glib/glib/tests/gdatetime.c:992,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 996
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 996
    functionName: test_GDateTime_add_years
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_local
    - g_assert_cmpint
    - g_date_time_add_years
    - g_date_time_unref
    - g_date_time_get_year
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_add_years (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1037,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1041,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1039,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1038,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1040,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1042,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1044
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1044
    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: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1397,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/tests/gdatetime.c:1406,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:1401,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/tests/gdatetime.c:1400,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:1407,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:1409,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/tests/gdatetime.c:1409,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1410,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1411,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:1411,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1413
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1413
    functionName: test_GDateTime_new_from_unix_utc
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_date_time_new_from_unix_utc
    - g_assert
    - g_date_time_unref
    - g_date_time_ref
    - g_date_time_to_unix
    - g_get_real_time
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_unix_utc (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2073,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:2106,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:2108,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:2111,1
    - Dst: g_date_time_get_week_of_year
      Src: /src/glib/glib/tests/gdatetime.c:2122,1
    - Dst: g_date_time_get_week_numbering_year
      Src: /src/glib/glib/tests/gdatetime.c:2121,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/tests/gdatetime.c:2117,1
    - Dst: days_in_month
      Src: /src/glib/glib/tests/gdatetime.c:2092,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:2099,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/gdatetime.c:2075,1
    - Dst: g_date_time_get_week_numbering_year
      Src: /src/glib/glib/tests/gdatetime.c:2115,1
    - Dst: g_date_time_get_week_of_year
      Src: /src/glib/glib/tests/gdatetime.c:2116,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:2112,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2125,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2126,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2135,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:2136,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:2141,1
    - Dst: g_date_time_get_seconds
      Src: /src/glib/glib/tests/gdatetime.c:2137,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2109,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:2113,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/tests/gdatetime.c:2123,1
    - Dst: g_date_time_get_day_of_year
      Src: /src/glib/glib/tests/gdatetime.c:2130,1
    - Dst: g_date_time_get_day_of_year
      Src: /src/glib/glib/tests/gdatetime.c:2133,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2138,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2096,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:2107,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2118,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2128,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2131,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2140,1
    - Dst: g_date_time_get_seconds
      Src: /src/glib/glib/tests/gdatetime.c:2142,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2177,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2181,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2182
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2182
    functionName: test_all_dates
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_get_day_of_month
    - g_date_time_to_unix
    - g_date_time_get_month
    - days_in_month
    - g_date_time_get_seconds
    - g_date_time_get_day_of_week
    - g_error
    - g_date_time_get_year
    - g_time_zone_new_utc
    - g_date_time_get_hour
    - g_date_time_get_week_numbering_year
    - g_date_time_get_minute
    - g_date_time_get_day_of_year
    - g_date_time_new
    - g_date_time_get_week_of_year
    - g_test_message
    - g_date_time_unref
    - G_GINT64_CONSTANT
    linkageType: ''
    returnType: void
    signature: 'static void test_all_dates (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:2504,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2505,1
    - Dst: strftime
      Src: /src/glib/glib/tests/gdatetime.c:2506,1
    - Dst: localtime
      Src: /src/glib/glib/tests/gdatetime.c:2506,1
    - Dst: str_utf8_replace
      Src: /src/glib/glib/tests/gdatetime.c:2511,1
    - Dst: str_utf8_replace
      Src: /src/glib/glib/tests/gdatetime.c:2512,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2514,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2516,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2517,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2518,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2522
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2522
    functionName: test_strftime
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_free
    - g_date_time_format
    - g_date_time_unref
    - localtime
    - g_assert_cmpstr
    - g_date_time_new_from_unix_local
    - strftime
    - str_utf8_replace
    linkageType: ''
    returnType: void
    signature: 'static void test_strftime (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_if_running_uninstalled
      Src: /src/glib/glib/tests/gdatetime.c:2535,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/gdatetime.c:2540,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/gdatetime.c:2540,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/gdatetime.c:2540,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/gdatetime.c:2539,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:2543,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2543,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2544,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2545,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2545,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2553,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/gdatetime.c:2557,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2552,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:2549,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2559
      start: 2527
    functionDepth: 0
    functionLinenumber: 2527
    functionLinenumberEnd: 2559
    functionName: test_GDateTime_strftime_error_handling
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - TEST_PRINTF_TIME
    - g_free
    - GetThreadLocale
    - g_test_skip
    - MAKELCID
    - strstr
    - skip_if_running_uninstalled
    - SetThreadLocale
    - MAKELANGID
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_strftime_error_handling (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2658,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:2660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2661
      start: 2653
    functionDepth: 0
    functionLinenumber: 2653
    functionLinenumberEnd: 2661
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:152,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:171,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:172,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:174,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:141,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:146,1
    - Dst: time
      Src: /src/glib/glib/tests/gdatetime.c:142,1
    - Dst: get_localtime_tm
      Src: /src/glib/glib/tests/gdatetime.c:144,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:148,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:151,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:170,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:171,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:172,1
    - Dst: mktime
      Src: /src/glib/glib/tests/gdatetime.c:166,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:169,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:170,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:173,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:175,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:147,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:147,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:149,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:158,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:149,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:152,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:153,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:150,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 176
    functionName: test_GDateTime_new_from_unix
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - mktime
    - g_date_time_get_minute
    - g_date_time_unref
    - g_date_time_get_year
    - g_date_time_get_day_of_month
    - memset
    - g_date_time_get_month
    - get_localtime_tm
    - g_date_time_get_hour
    - time
    - g_date_time_new_from_unix_local
    - g_date_time_get_second
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_unix (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:469,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:477,1
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:479,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:474,1
    - Dst: find_maximum_supported_tv_sec
      Src: /src/glib/glib/tests/gdatetime.c:471,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:480,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:481,1
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:488,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 491
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 491
    functionName: test_GDateTime_new_from_timeval_overflow
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - find_maximum_supported_tv_sec
    - g_assert_nonnull
    - g_date_time_unref
    - g_assert_null
    - g_date_time_new_from_timeval_utc
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_timeval_overflow (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1753,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1759,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1756,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1753,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1754,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1762,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1763,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1765,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1767,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1769
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1769
    functionName: test_format_unrepresentable
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - TEST_PRINTF_TIME
    - g_free
    - TEST_PRINTF
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_format_unrepresentable (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2943,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2957,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2954,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2967,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2969,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2977,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:2980,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2983,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2984,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:2990,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:2988,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2938,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2937,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2944,1
    - Dst: g_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:2947,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2954,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2950,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2958,1
    - Dst: g_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:2965,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2968,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/tests/gdatetime.c:2975,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:2929,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2939,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2939,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2940,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2953,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2959,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2959,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2960,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2968,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2970,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2976,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/gdatetime.c:2929,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2942,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2943,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2955,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2952,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2969,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2976,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2983,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/tests/gdatetime.c:2982,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:2973,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2992,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:2988,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2993
      start: 2925
    functionDepth: 0
    functionLinenumber: 2925
    functionLinenumberEnd: 2993
    functionName: test_identifier
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_strdup
    - g_time_zone_unref
    - g_free
    - g_time_zone_get_identifier
    - g_assert_nonnull
    - g_time_zone_new_identifier
    - g_assert_cmpstr
    - g_time_zone_new_local
    - g_getenv
    - g_time_zone_new_utc
    - g_time_zone_new
    - g_assert_true
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_identifier (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_equal
      Src: /src/glib/glib/tests/gdatetime.c:249,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:251,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:257,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:267,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:267,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:270,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:280,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:281,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:282,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:283,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:284,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:248,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:254,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:260,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:266,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:256,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:262,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:261,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:264,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:264,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:269,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:274,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:278,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:247,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:249,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:253,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:255,1
    - Dst: g_date_time_equal
      Src: /src/glib/glib/tests/gdatetime.c:255,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:263,1
    - Dst: g_date_time_equal
      Src: /src/glib/glib/tests/gdatetime.c:269,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:276,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:279,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:281,1
    - Dst: g_date_time_equal
      Src: /src/glib/glib/tests/gdatetime.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 285
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 285
    functionName: test_GDateTime_equal
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_local
    - g_assert_cmpint
    - g_time_zone_unref
    - g_assert
    - g_date_time_equal
    - g_date_time_unref
    - g_assert_nonnull
    - g_time_zone_new_identifier
    - g_date_time_new
    - g_date_time_new_utc
    - g_date_time_get_utc_offset
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_equal (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/gdatetime.c:499,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:503,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:504,1
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:500,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/gdatetime.c:502,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:505,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:506,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:507,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:508,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:509,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:510,1
    - Dst: g_date_time_to_timeval
      Src: /src/glib/glib/tests/gdatetime.c:512,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:514,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:515,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 516
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 516
    functionName: test_GDateTime_new_from_timeval_utc
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_date_time_get_timezone_abbreviation
    - g_assert_cmpint
    - g_test_verbose
    - g_date_time_new_from_timeval_utc
    - g_date_time_get_year
    - g_date_time_get_day_of_month
    - g_date_time_get_minute
    - g_date_time_unref
    - g_date_time_get_month
    - g_date_time_to_timeval
    - g_date_time_get_hour
    - g_get_current_time
    - g_date_time_get_second
    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:1104,1
    - Dst: TEST_ADD_FULL
      Src: /src/glib/glib/tests/gdatetime.c:1113,1
    - Dst: TEST_ADD_FULL
      Src: /src/glib/glib/tests/gdatetime.c:1110,1
    - Dst: TEST_ADD_FULL
      Src: /src/glib/glib/tests/gdatetime.c:1107,1
    - Dst: TEST_ADD_FULL
      Src: /src/glib/glib/tests/gdatetime.c:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1119
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1119
    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_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1211,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1212,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1213
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1213
    functionName: test_GDateTime_get_second
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_date_time_get_second
    - g_date_time_unref
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_second (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1469,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/gdatetime.c:1472,1
    - Dst: g_date_time_to_local
      Src: /src/glib/glib/tests/gdatetime.c:1478,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1481,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1485,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1488,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gdatetime.c:1471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1482,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1483,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1485,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gdatetime.c:1470,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/glib/tests/gdatetime.c:1473,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1474,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1480,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1481,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1482,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1484,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1487,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1489,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1480,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1480,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1481,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1482,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1483,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1483,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1484,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1484,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1490
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1490
    functionName: test_GDateTime_to_local
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_clear_pointer
    - g_date_time_get_minute
    - g_date_time_new_now_utc
    - g_date_time_new_now_local
    - g_date_time_get_year
    - g_date_time_get_day_of_month
    - g_date_time_unref
    - g_date_time_get_month
    - g_date_time_get_hour
    - g_get_real_time
    - g_date_time_get_second
    - g_date_time_to_local
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS static void test_GDateTime_to_local
      (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1777,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1779,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1778,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1826,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1829,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1832,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1835,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1843,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1810,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1845,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1807,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1808,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1817,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1841,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1818,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1837,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1785,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1786,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1787,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1788,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1799,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1800,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1801,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1803,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1804,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1805,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1822,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1820,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1829,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1827,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1838,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1780,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1781,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1782,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1783,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1809,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1812,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1813,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1814,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1815,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1824,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1806,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:1833,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1831,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1776,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1790,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1791,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1794,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1789,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1795,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1796,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1792,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1797,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1798,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1821,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1826,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1819,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1846,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1847
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1847
    functionName: test_modifiers
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - TEST_PRINTF_DATE
    - TEST_PRINTF_TIME
    - g_free
    - g_test_skip
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_modifiers (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3093,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3091,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3117,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3102,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3129,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3136,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3099,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3101,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3121,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3123,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3131,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/tests/gdatetime.c:3133,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3138,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gdatetime.c:3085,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3095,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3098,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3114,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3120,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3118,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3100,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3127,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:3128,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3134,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3092,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3090,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3094,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3097,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3106,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3119,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:3126,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/tests/gdatetime.c:3135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3139
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3139
    functionName: test_time_zone_caching
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_assert_nonnull
    - g_time_zone_new_identifier
    - g_time_zone_new_local
    - g_time_zone_new_utc
    - g_test_summary
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_time_zone_caching (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:292,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:294,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:293,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:296,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/tests/gdatetime.c:293,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:297,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/tests/gdatetime.c:297,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: test_GDateTime_get_day_of_week
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_day_of_week
    - g_date_time_new_local
    - g_assert_cmpint
    - g_date_time_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_day_of_week (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:549,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:630,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:640,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:643,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:650,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:653,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:696,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:701,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:706,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:708,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:773,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:711,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:833,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:770,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:803,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:838,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:527,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:548,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:556,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:625,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:628,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:635,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:638,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:695,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:751,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:780,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:794,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:774,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:831,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:849,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:755,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:844,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:808,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:585,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:534,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:560,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:565,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:590,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:660,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:670,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:672,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:679,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:684,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:769,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:564,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:570,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:584,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:645,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:655,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:658,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:666,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:714,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:740,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:745,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:837,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:824,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:793,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:553,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:567,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:607,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:617,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:597,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:683,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:721,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:760,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:777,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:778,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:799,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:825,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:854,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:531,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:580,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:591,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:596,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:602,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:677,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:713,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:804,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:811,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:835,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:764,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:759,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:843,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:839,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:651,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:786,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:616,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:606,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:563,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:552,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:599,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:627,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:637,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:647,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:692,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:735,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:784,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:671,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:816,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:843,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:832,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:622,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:573,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:601,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:612,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:632,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:681,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:691,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:702,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:705,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:722,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:782,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:833,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:678,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:836,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:850,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:717,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:688,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:581,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:619,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:609,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:626,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:636,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:657,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:667,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:703,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:742,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:789,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:787,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:827,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:790,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:818,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:801,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:779,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:781,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:820,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:819,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:840,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:547,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:604,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:621,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:611,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:642,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:652,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:669,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:698,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:731,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:736,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:817,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:802,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:841,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:812,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:662,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:704,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:783,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:807,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:538,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:571,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:593,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:629,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:639,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:646,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:649,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:656,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:707,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:712,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:826,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:741,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:810,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:614,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:526,1
    - 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:554,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:566,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:577,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:587,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:624,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:634,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:641,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:853,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:823,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:697,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:530,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:539,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:544,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:557,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:576,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:600,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:603,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:592,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:631,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:766,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:838,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:847,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:726,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:725,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:800,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:727,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:765,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:859,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:586,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:644,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:654,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:661,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:675,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:682,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:687,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:718,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:730,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:749,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:842,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:815,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:809,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:826,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:659,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:785,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:610,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:623,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:572,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:540,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:543,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:546,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:555,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:561,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:562,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:620,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:739,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:754,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:676,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:750,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:746,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:860,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:756,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:615,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:598,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:608,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:605,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:618,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:665,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:680,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:732,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:763,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:788,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:848,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 350
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 861
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 861
    functionName: test_GDateTime_new_from_iso8601
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_time_zone_unref
    - g_date_time_unref
    - ASSERT_TIME
    - g_assert_null
    - g_time_zone_new_utc
    - g_date_time_new_from_iso8601
    - ASSERT_DATE
    - g_date_time_get_utc_offset
    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:1133,1
    - Dst: TEST_ADD_MINUTES
      Src: /src/glib/glib/tests/gdatetime.c:1136,1
    - Dst: TEST_ADD_MINUTES
      Src: /src/glib/glib/tests/gdatetime.c:1137,1
    - Dst: TEST_ADD_MINUTES
      Src: /src/glib/glib/tests/gdatetime.c:1134,1
    - Dst: TEST_ADD_MINUTES
      Src: /src/glib/glib/tests/gdatetime.c:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1138
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1138
    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_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1247,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1251,1
    - Dst: SetThreadUILanguage
      Src: /src/glib/glib/tests/gdatetime.c:1263,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1273,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1322,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1325,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1262,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1252,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1294,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1281,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1253,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1283,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1302,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1304,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1311,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1312,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1332,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1337,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1315,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/gdatetime.c:1222,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1240,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1276,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1289,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1318,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1314,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1317,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:1265,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1266,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1232,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1234,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1235,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1238,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:1242,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1254,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1313,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1324,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1291,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1234,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1253,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1257,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1290,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1280,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1277,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1232,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1233,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1303,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1346,1
    - Dst: SetThreadUILanguage
      Src: /src/glib/glib/tests/gdatetime.c:1225,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1249,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:1256,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1287,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1328,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1330,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1345,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1286,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1295,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1254,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1270,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1275,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1288,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1231,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:1267,1
    - Dst: g_date_time_get_timezone
      Src: /src/glib/glib/tests/gdatetime.c:1245,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1296,1
    - Dst: ASSERT_DATE
      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_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1230,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1250,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1279,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1284,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1299,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1320,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1293,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1252,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1272,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1230,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1233,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1246,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1246,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1249,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1250,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1285,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1321,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1334,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:1260,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:1265,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1306,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1257,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1292,1
    - Dst: LANGIDFROMLCID
      Src: /src/glib/glib/tests/gdatetime.c:1223,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/gdatetime.c:1224,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1229,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1282,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1319,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1329,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:1340,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1327,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1271,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1333,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1309,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1231,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1274,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1298,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1342,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1305,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1229,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:1243,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1256,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1341,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1307,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1316,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1251,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1259,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1278,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1228,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1261,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1300,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1301,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1308,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1297,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1310,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 162
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1347
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1347
    functionName: test_GDateTime_new_full
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_timezone_abbreviation
    - g_time_zone_unref
    - g_date_time_get_day_of_month
    - g_date_time_new_utc
    - g_date_time_get_month
    - ASSERT_DATE
    - g_assert_cmpint
    - g_time_zone_get_identifier
    - g_assert_nonnull
    - g_date_time_get_year
    - g_time_zone_new_identifier
    - SetThreadUILanguage
    - g_date_time_get_hour
    - g_date_time_is_daylight_savings
    - GetThreadLocale
    - g_date_time_get_minute
    - g_date_time_new
    - g_assert_null
    - LANGIDFROMLCID
    - g_date_time_get_timezone
    - MAKELANGID
    - g_assert
    - g_date_time_unref
    - g_assert_cmpstr
    - g_date_time_get_second
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/glib/glib/tests/gdatetime.c:1499,1
    - Dst: gmtime_r
      Src: /src/glib/glib/tests/gdatetime.c:1502,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gdatetime.c:1506,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1514,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1515,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:1509,1
    - Dst: g_date_time_to_utc
      Src: /src/glib/glib/tests/gdatetime.c:1510,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1514,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1500,1
    - Dst: gmtime
      Src: /src/glib/glib/tests/gdatetime.c:1505,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1511,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1512,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1513,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1517,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1511,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1515,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1516,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1512,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1516,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1519
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1519
    functionName: test_GDateTime_to_utc
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_assert_cmpint
    - gmtime_r
    - g_date_time_get_minute
    - g_date_time_unref
    - g_date_time_to_utc
    - g_date_time_get_year
    - g_date_time_get_day_of_month
    - g_date_time_get_month
    - g_date_time_get_hour
    - time
    - g_date_time_new_from_unix_local
    - g_date_time_get_second
    - gmtime
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_to_utc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gdatetime.c:2473,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/tests/gdatetime.c:2475,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gdatetime.c:2481,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/tests/gdatetime.c:2477,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/tests/gdatetime.c:2478,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gdatetime.c:2481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - str
    - from
    - to
    argTypes:
    - gchar*
    - gunichar
    - gunichar
    constantsTouched: []
    func_position:
      end: 2482
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2482
    functionName: str_utf8_replace
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_steal_pointer
    - g_string_free
    - g_utf8_get_char
    - g_string_append_unichar
    - g_utf8_next_char
    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:3022,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:3026,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3033,1
    - Dst: g_time_zone_new_offset
      Src: /src/glib/glib/tests/gdatetime.c:3028,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3029,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3033,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3034,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3034,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3038,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3038,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3043
      start: 2996
    functionDepth: 0
    functionLinenumber: 2996
    functionLinenumberEnd: 3043
    functionName: test_new_offset
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_time_zone_unref
    - g_time_zone_get_identifier
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_time_zone_new_offset
    - g_time_zone_get_offset
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_new_offset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gdatetime.c:3059,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:3060,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gdatetime.c:3062,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/gdatetime.c:3067,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3068,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/tests/gdatetime.c:3068,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3069,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3070,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3071,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:3072,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:3075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3077
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3077
    functionName: test_time_zone_parse_rfc8536
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_time_zone_unref
    - g_free
    - g_assert_nonnull
    - g_time_zone_new_identifier
    - g_test_skip
    - g_test_summary
    - G_N_ELEMENTS
    - g_assert_true
    - g_path_is_absolute
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_time_zone_parse_rfc8536 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:206,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:209,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: test_GDateTime_invalid
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_bug
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/gdatetime.c:352,1
    - Dst: g_date_time_new_from_timeval_local
      Src: /src/glib/glib/tests/gdatetime.c:353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:354,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/glib/tests/gdatetime.c:354,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: test_GDateTime_get_microsecond
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_date_time_new_from_timeval_local
    - g_date_time_unref
    - g_date_time_get_microsecond
    - g_get_current_time
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_GDateTime_get_microsecond
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1190,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1192,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1191,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: test_GDateTime_get_minute
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_date_time_unref
    - g_date_time_get_minute
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_minute (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2315,1
    - Dst: g_time_zone_new_offset
      Src: /src/glib/glib/tests/gdatetime.c:2320,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2321,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2322,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2328,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2332,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2348,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2313,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2314,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2317,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2331,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2324,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2334,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2339,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2344,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2345,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2349,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2316,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2318,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2323,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2333,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2336,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2337,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2338,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2341,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2342,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2347,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2312,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2329,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2330,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2326,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2325,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2340,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2346,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2351
      start: 2305
    functionDepth: 0
    functionLinenumber: 2305
    functionLinenumberEnd: 2351
    functionName: test_format_iso8601
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_free
    - g_date_time_unref
    - g_assert_cmpstr
    - g_date_time_new
    - g_time_zone_new_offset
    - g_date_time_format_iso8601
    - g_time_zone_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_format_iso8601 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2383,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2384,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2387,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2384,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:2386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - category
    - name
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 2391
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2391
    functionName: check_and_set_locale
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - setlocale
    - strstr
    - g_test_message
    - g_test_skip
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_and_set_locale (int category, const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2570,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2574,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2572,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2576,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2575,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2578,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2579,1
    - Dst: g_assert_cmpint
      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_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2585,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2586,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2588,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2591,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2592,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2593
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2593
    functionName: test_find_interval
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_time_zone_unref
    - g_assert_nonnull
    - g_time_zone_find_interval
    - g_date_time_unref
    - g_date_time_to_unix
    - g_time_zone_new_identifier
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_find_interval (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2773,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2835,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2832,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:2883,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2888,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2895,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2900,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2684,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2746,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2818,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2791,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2842,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2726,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2737,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2756,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2780,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2850,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2868,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2785,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2903,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2897,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2902,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2700,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2759,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2790,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2865,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2873,1
    - Dst: g_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:2681,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2755,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2872,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2858,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2811,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2840,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2861,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2774,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2684,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2729,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2819,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2829,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2709,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2717,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2694,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2867,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2775,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2803,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2819,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2879,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2890,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2866,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2757,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2847,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2821,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2849,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2868,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2853,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2676,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2712,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2781,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2801,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2881,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2794,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2835,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2743,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2902,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2827,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2707,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2762,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2880,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2887,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2785,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2799,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2872,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2738,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2886,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2898,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2730,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2677,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2740,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2761,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2749,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2767,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2848,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2861,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2890,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2897,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2697,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2716,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2740,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2789,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2882,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2808,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2837,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2716,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2896,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2711,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2718,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2696,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2745,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2747,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2891,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2811,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2698,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2710,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2818,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2867,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2804,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2851,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:2893,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2898,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2845,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2778,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2809,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:2903,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2844,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2878,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2708,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2784,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2814,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2812,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2862,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2800,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2764,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2809,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2701,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2706,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2738,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2748,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2768,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2787,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2800,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2843,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2851,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gdatetime.c:2724,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2766,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2772,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2889,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2693,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2685,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2711,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2901,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2856,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2820,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2708,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2728,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2761,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2821,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2871,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2674,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2686,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:2722,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2705,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2732,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2739,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2788,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2889,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2810,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2786,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2796,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2798,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2852,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2720,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2756,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2863,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2802,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2870,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2828,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2826,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2715,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2757,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2765,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2770,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2812,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2830,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2730,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2755,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2782,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2863,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2825,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2881,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2829,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2899,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2766,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2783,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2692,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2695,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2742,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2797,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2855,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2687,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2731,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2767,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2880,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2816,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2900,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2744,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2748,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2776,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2784,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2792,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2892,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2717,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2758,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2772,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2777,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2870,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2774,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2754,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2794,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2815,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2901,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2888,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2836,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2883,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2731,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2875,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2838,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2706,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2737,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2787,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2882,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2715,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2710,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2733,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2699,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2786,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2817,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2877,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2736,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2793,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2799,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2834,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2675,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2814,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2846,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2869,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2732,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2675,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2699,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2707,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2765,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2775,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2899,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2813,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2823,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2844,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2842,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2694,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2698,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2753,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2853,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2869,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2795,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2713,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2709,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2783,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2696,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2718,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2792,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2802,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2845,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2822,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2729,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2751,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2763,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2801,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2820,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2826,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2686,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2739,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2745,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2773,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2854,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2860,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2712,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2685,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2860,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2747,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2815,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2700,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2734,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2793,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2834,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2741,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2760,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2879,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2839,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2824,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2859,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2719,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2759,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2769,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2771,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2891,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2714,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2733,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2676,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2782,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2788,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2827,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2877,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2734,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2852,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2805,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2728,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2697,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2703,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2735,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2871,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2837,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2850,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2813,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2791,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2810,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2833,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2843,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2862,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2876,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2764,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2807,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2831,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2674,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:2873,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2836,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2885,1
    - Dst: g_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:2671,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2695,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2727,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2750,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2878,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2893,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2746,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2841,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2760,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2828,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2758,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2887,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2892,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 449
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2904
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2904
    functionName: test_posix_parse
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_clear_pointer
    - g_date_time_get_utc_offset
    - g_assert_cmpint
    - g_time_zone_get_identifier
    - g_assert_nonnull
    - g_time_zone_new_identifier
    - g_date_time_is_daylight_savings
    - g_time_zone_get_abbreviation
    - g_date_time_new
    - g_assert_null
    - g_time_zone_get_offset
    - g_assert_false
    - g_time_zone_is_dst
    - g_assert
    - g_date_time_unref
    - g_assert_cmpstr
    - g_time_zone_new
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_posix_parse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:3148,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/glib/tests/gdatetime.c:3157,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3159,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3160,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3161,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3162,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3163,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3164,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3166,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3165,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3188,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3186,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3209,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3226,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3228,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3175,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3192,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3176,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3193,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gdatetime.c:3203,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3215,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3216,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3190,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3213,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3230,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/gdatetime.c:3232,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3180,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3220,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3178,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3195,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3218,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3221,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3185,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gdatetime.c:3206,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3225,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3211,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3182,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gdatetime.c:3200,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3222,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/gdatetime.c:3154,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:3152,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3171,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3169,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3172,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3170,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3167,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3168,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3173,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3174,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3189,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gdatetime.c:3197,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3212,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3229,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3187,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3210,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3227,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3191,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3214,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3179,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3196,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3219,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3177,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3194,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3217,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3183,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3223,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3184,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3224,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 3233
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3233
    functionName: main
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_test_add_data_func
    - g_test_add_func
    - g_test_run
    - g_test_init
    - bind_textdomain_codeset
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:223,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:224,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:222,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/gdatetime.c:223,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:227,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:228,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/gdatetime.c:228,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:229,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:236,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/gdatetime.c:236,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:237,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:238,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:232,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/gdatetime.c:232,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:235,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 239
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 239
    functionName: test_GDateTime_compare
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_compare
    - g_assert_cmpint
    - g_date_time_unref
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_compare (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:364,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:365,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:366,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:365,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:369,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:369,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:370,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:373,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:373,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:374,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:376,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:378,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:377,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 379
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 379
    functionName: test_GDateTime_get_year
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_local
    - g_assert_cmpint
    - g_date_time_get_year
    - g_date_time_unref
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS static void test_GDateTime_get_year
      (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gdatetime.c:945,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:952,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gdatetime.c:950,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:954,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:948,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:957,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:958,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:959,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:960,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:960,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:964,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:970,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gdatetime.c:967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 971
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 971
    functionName: test_GDateTime_new_from_iso8601_2
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_time_zone_unref
    - g_clear_pointer
    - g_assert_nonnull
    - ASSERT_DATE
    - ASSERT_TIME
    - g_assert_null
    - g_time_zone_new_utc
    - g_test_summary
    - g_date_time_new_from_iso8601
    - G_N_ELEMENTS
    - g_date_time_get_utc_offset
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_iso8601_2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1200,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1201,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1201,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1203
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1203
    functionName: test_GDateTime_get_month
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_month
    - g_assert_cmpint
    - g_date_time_unref
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_month (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2397,1
    - Dst: check_and_set_locale
      Src: /src/glib/glib/tests/gdatetime.c:2409,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2411,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2421,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2431,1
    - Dst: check_and_set_locale
      Src: /src/glib/glib/tests/gdatetime.c:2439,1
    - Dst: check_and_set_locale
      Src: /src/glib/glib/tests/gdatetime.c:2419,1
    - Dst: check_and_set_locale
      Src: /src/glib/glib/tests/gdatetime.c:2429,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2441,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2451,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2457,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:2402,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2412,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2422,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2432,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2442,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2461,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2463,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:2406,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:2405,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2405,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2406,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2413,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2423,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2433,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2443,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2452,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2456,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2460,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2462,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2465
      start: 2393
    functionDepth: 0
    functionLinenumber: 2393
    functionLinenumberEnd: 2465
    functionName: test_format_time_mixed_utf8
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - TEST_PRINTF_DATE
    - g_free
    - g_test_skip
    - check_and_set_locale
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_format_time_mixed_utf8 (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2610,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/tests/gdatetime.c:2614,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2616,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2617,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2622,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2627,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2623,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2630,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2604,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2609,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2608,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2606,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2613,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2625,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2626,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/tests/gdatetime.c:2629,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2631,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2633,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2619,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2634
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2634
    functionName: test_adjust_time
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_time_zone_unref
    - g_assert
    - g_assert_nonnull
    - g_time_zone_find_interval
    - g_date_time_unref
    - g_date_time_to_unix
    - g_time_zone_new_identifier
    - g_date_time_new_utc
    - g_time_zone_adjust_time
    linkageType: ''
    returnType: void
    signature: 'static void test_adjust_time (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1865,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1869,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1894,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1948,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:1920,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1990,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1971,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1948,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:1856,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1861,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1880,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1875,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1904,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1923,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1917,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1952,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1914,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1909,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1935,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1884,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1930,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1963,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1995,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1938,1
    - Dst: skip_if_running_uninstalled
      Src: /src/glib/glib/tests/gdatetime.c:1858,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1865,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1877,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1957,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1963,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1967,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1982,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:1942,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1864,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1870,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1885,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1891,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1895,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1950,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1945,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1932,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1978,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1953,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1901,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1906,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1924,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1968,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1972,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1978,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1871,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1881,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1947,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1910,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1960,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1965,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1954,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1861,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1867,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1891,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1903,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1939,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1983,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1987,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1993,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1981,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1896,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1962,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1975,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1980,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1996,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1921,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1925,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1969,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1911,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1872,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1878,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1882,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1907,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1977,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1936,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1940,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1888,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1893,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:1984,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1989,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1868,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1897,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1918,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1926,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1951,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1878,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1890,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1918,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1941,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1922,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1970,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1883,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1904,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1908,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1933,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1927,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1933,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1937,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:1966,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1985,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 128
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1997
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1997
    functionName: test_month_names
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - TEST_PRINTF_DATE
    - g_free
    - g_test_skip
    - strstr
    - skip_if_running_uninstalled
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_month_names (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_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_cond_new
      Src: /src/glib/glib/tests/642026.c:67,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/642026.c:69,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/642026.c:64,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_mutex_free
      Src: /src/glib/glib/tests/642026.c:91,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/642026.c:90,1
    - Dst: g_cond_free
      Src: /src/glib/glib/tests/642026.c:89,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/642026.c:85,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/642026.c:86,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_static_private_init
    - g_thread_create
    - g_assert
    - g_cond_free
    - g_static_private_free
    - g_mutex_free
    - g_mutex_lock
    - g_cond_wait
    - g_mutex_unlock
    - g_thread_join
    - g_mutex_new
    - g_test_slow
    - g_atomic_int_set
    - g_test_bug
    - g_cond_new
    linkageType: ''
    returnType: void
    signature: 'static void testcase (void) '
  - 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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - 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_cond_broadcast
    - g_mutex_unlock
    - g_mutex_lock
    - g_static_private_set
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer nil) '
  - 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_assert_cmpint
    - g_match_info_fetch_named
    - g_free
    - g_regex_unref
    - g_assert
    - g_assert_cmpstr
    - g_match_info_free
    - g_match_info_fetch_named_pos
    - g_regex_new
    - g_regex_match_full
    linkageType: ''
    returnType: void
    signature: 'static void test_named_sub_pattern (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_split_simple
      Src: /src/glib/glib/tests/regex.c:977,1
    - Dst: g_assert_cmpint
      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_length
      Src: /src/glib/glib/tests/regex.c:984,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:987,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_assert_cmpint
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_slist_next
    - g_strfreev
    - g_slist_length
    - g_regex_split_simple
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void test_split_simple (gconstpointer d) '
  - 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_assert
      Src: /src/glib/glib/tests/regex.c:2245,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2252,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2261,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2338,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2323,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2334,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2300,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2250,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2308,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2292,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2338,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2292,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2304,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2285,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2285,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2243,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2250,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2264,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2276,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2284,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2321,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2241,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2251,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2254,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2302,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2262,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2318,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2322,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2327,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2329,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2331,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2246,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2248,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2266,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2267,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2308,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2303,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2314,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2334,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2255,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2269,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2274,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2304,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2310,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2316,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2293,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2301,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2312,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2260,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2272,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2273,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2277,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2280,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2326,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2242,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2258,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2283,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2337,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2340,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2309,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2249,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2256,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2263,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2265,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2278,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2275,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2339,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2287,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2306,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2246,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2330,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2332,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2288,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2296,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2313,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2315,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2317,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2319,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2335,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2244,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2253,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2254,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2259,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2294,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2295,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2317,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2330,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2286,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2290,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2281,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2267,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2268,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2299,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2289,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2297,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2328,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2305,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2263,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2271,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2276,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2320,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2321,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2282,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2291,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2247,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2307,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2325,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 147
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2341
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2341
    functionName: test_recursion
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_match_info_fetch_pos
    - g_assert_cmpint
    - g_match_info_matches
    - g_regex_unref
    - g_assert
    - g_assert_no_error
    - g_match_info_free
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_recursion (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2382,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2383,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2386,1
    - Dst: g_regex_get_max_lookbehind
      Src: /src/glib/glib/tests/regex.c:2383,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2384,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2387,1
    - Dst: g_regex_get_max_lookbehind
      Src: /src/glib/glib/tests/regex.c:2387,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2388,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2390,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2391,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2392,1
    - Dst: g_regex_get_max_lookbehind
      Src: /src/glib/glib/tests/regex.c:2391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2393
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2393
    functionName: test_max_lookbehind
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_regex_unref
    - g_regex_new
    - g_regex_get_max_lookbehind
    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:678,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:682,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:684,1
    - Dst: g_match_info_is_partial_match
      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_match_info_fetch_pos
    - g_assert_cmpint
    - g_regex_unref
    - g_assert
    - g_match_info_free
    - g_match_info_is_partial_match
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_partial (gconstpointer d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1247,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1250,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1249,1
    - Dst: g_match_info_expand_references
      Src: /src/glib/glib/tests/regex.c:1253,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1254,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_free
    - g_regex_unref
    - g_assert_no_error
    - g_assert_cmpstr
    - g_match_info_free
    - g_regex_match
    - g_regex_new
    - g_match_info_expand_references
    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:1724,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1727,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1726,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1728,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_free
    - g_regex_unref
    - g_assert
    - g_assert_cmpstr
    - g_match_info_free
    - g_match_info_fetch
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_config
      Src: /src/glib/glib/tests/regex.c:2403,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2407,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/tests/regex.c:2405,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/tests/regex.c:2408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - major
    - minor
    argTypes:
    - guint64
    - guint64
    constantsTouched: []
    func_position:
      end: 2411
      start: 2395
    functionDepth: 0
    functionLinenumber: 2395
    functionLinenumberEnd: 2411
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2152,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2154,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2180,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2184,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2211,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2223,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2214,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2152,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2161,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2171,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2177,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2197,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2182,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2202,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2209,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2202,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2216,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2147,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2175,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2192,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2155,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2185,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2191,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2219,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2198,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2217,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2203,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2225,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2162,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2178,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2210,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2183,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2193,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2217,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2220,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2166,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2168,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2221,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2226,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2200,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2148,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2149,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2166,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2198,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2222,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2156,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2174,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2199,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2187,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2201,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2227,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2153,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2158,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2169,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2176,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2183,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2212,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2150,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2164,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2157,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2163,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2156,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2170,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2213,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2224,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2225,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2167,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2172,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2190,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2195,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2218,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2204,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2206,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2179,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2181,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2196,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2194,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2221,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2215,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2194,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2213,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2151,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2165,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2170,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 112
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2228
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2228
    functionName: test_condition
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_match_info_matches
    - g_regex_unref
    - g_assert
    - g_assert_no_error
    - g_match_info_free
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_condition (void) '
  - 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_assert_cmpint
    - g_regex_match_simple
    linkageType: ''
    returnType: void
    signature: 'static void test_match_simple (gconstpointer d) '
  - 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_free
    - g_slist_free_full
    linkageType: ''
    returnType: void
    signature: 'static void free_match_next_data (gpointer _data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:883,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:887,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/regex.c:890,1
    - Dst: g_match_info_fetch_all
      Src: /src/glib/glib/tests/regex.c:888,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:885,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_regex_unref
      Src: /src/glib/glib/tests/regex.c:904,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/regex.c:905,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:903,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_assert_cmpint
    - g_regex_unref
    - g_assert
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_match_info_free
    - g_slist_next
    - g_strfreev
    - g_slist_length
    - g_regex_match
    - g_strv_length
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_fetch_all (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1293,1
    - Dst: g_regex_replace
      Src: /src/glib/glib/tests/regex.c:1296,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1302,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1294,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1299,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_regex_replace
    - g_free
    - g_regex_unref
    - g_assert_no_error
    - g_assert_cmpstr
    - g_clear_error
    - g_regex_new
    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:1489,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1487,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_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1506,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:1510,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1508,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1505,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1504,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1514,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1513,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_match_info_fetch_pos
    - g_assert_cmpint
    - g_free
    - g_regex_unref
    - g_assert
    - g_assert_cmpstr
    - g_match_info_free
    - g_slist_next
    - g_slist_length
    - g_match_info_fetch
    - g_match_info_get_match_count
    - g_regex_new
    - g_regex_match_all_full
    linkageType: ''
    returnType: void
    signature: 'static void test_match_all_full (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1801,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1800,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1813,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1814,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1817,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_no_error
      Src: /src/glib/glib/tests/regex.c:1828,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1834,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1844,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1831,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1799,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1802,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1815,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1816,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1817,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_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1832,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1838,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1836,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1845,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1797,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1798,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1802,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1803,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1804,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1807,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1811,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_assert
      Src: /src/glib/glib/tests/regex.c:1816,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1835,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1841,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1839,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1842,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_cmpstr
      Src: /src/glib/glib/tests/regex.c:1805,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1819,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_assert
      Src: /src/glib/glib/tests/regex.c:1831,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_match_info_next
      Src: /src/glib/glib/tests/regex.c:1837,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1840,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1843,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_match_info_fetch_pos
    - g_assert_cmpint
    - g_match_info_matches
    - g_free
    - g_regex_unref
    - g_match_info_next
    - g_match_info_get_match_count
    - g_assert
    - g_assert_no_error
    - g_assert_cmpstr
    - g_match_info_free
    - g_match_info_fetch
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_lookahead (void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - 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:248,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: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:240,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:218,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:232,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: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:250,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:234,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/regex.c:252,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/regex.c:256,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 1
    argNames:
    - compile_flags
    argTypes:
    - GRegexCompileFlags
    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_end
    - g_strfreev
    - g_strjoinv
    - g_strv_builder_add
    - g_strv_builder_unref
    - g_strv_builder_new
    linkageType: ''
    returnType: char*
    signature: 'static char *compile_options_to_string (GRegexCompileFlags compile_flags) '
  - 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_slist_free
    - g_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_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1421,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1423,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_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_regex_escape_nul
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_escape_nul (gconstpointer d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_match_all
      Src: /src/glib/glib/tests/regex.c:1528,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1535,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1580,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1581,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1582,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:1586,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1542,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1551,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_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1549,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1577,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_assert
      Src: /src/glib/glib/tests/regex.c:1533,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1531,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:1530,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1536,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:1538,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1541,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1540,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_pos
      Src: /src/glib/glib/tests/regex.c:1578,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1584,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_match_info_fetch_pos
    - g_assert_cmpint
    - g_free
    - g_regex_unref
    - g_assert
    - g_error
    - g_message
    - g_assert_cmpstr
    - g_match_info_free
    - g_slist_next
    - g_slist_length
    - g_match_info_fetch
    - g_regex_match_all
    - g_match_info_get_match_count
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_match_all (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1748,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1751,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1755,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:1759,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1767,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
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1749,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1750,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1764,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_free
      Src: /src/glib/glib/tests/regex.c:1770,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1773,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_regex_match
      Src: /src/glib/glib/tests/regex.c:1746,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1762,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1761,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1769,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1772,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_assert
      Src: /src/glib/glib/tests/regex.c:1752,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_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1763,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1757,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1760,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1756,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1765,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/regex.c:1776,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_assert_false
    - g_free
    - g_match_info_next
    - g_test_assert_expected_messages
    - g_regex_unref
    - g_assert
    - g_assert_cmpstr
    - g_match_info_free
    - g_test_expect_message
    - g_match_info_fetch
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_class (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:78,1
    - Dst: g_regex_get_pattern
      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_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:81,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:79,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_assert_cmphex
    - g_regex_unref
    - g_regex_get_pattern
    - g_assert
    - g_assert_no_error
    - g_assert_cmpstr
    - g_regex_get_compile_flags
    - g_regex_new
    - g_regex_get_match_flags
    linkageType: ''
    returnType: void
    signature: 'static void test_new (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: 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_match_info_matches
      Src: /src/glib/glib/tests/regex.c:447,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/regex.c:454,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:458,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: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_cmpint
      Src: /src/glib/glib/tests/regex.c:472,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:440,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:450,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:453,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:455,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/tests/regex.c:460,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:459,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:462,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:473,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:475,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:479,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:442,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_slist_next
      Src: /src/glib/glib/tests/regex.c:476,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/tests/regex.c:480,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_slist_next
    - g_match_info_fetch_pos
    - g_assert_cmpint
    - g_regex_unref
    - g_slist_prepend
    - g_match_info_get_regex
    - g_slist_length
    - g_regex_new
    - g_match_info_matches
    - g_match_info_next
    - g_match_info_free
    - g_match_info_get_string
    - g_new0
    - g_assert
    - g_slist_reverse
    - g_assert_cmpstr
    - g_slist_free_full
    - g_match_info_fetch
    - g_regex_match_full
    linkageType: ''
    returnType: void
    signature: 'static void test_match_next (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1057,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1059,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/regex.c:1064,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1068,1
    - Dst: g_regex_split_full
      Src: /src/glib/glib/tests/regex.c:1061,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_assert_cmpint
    - g_regex_unref
    - g_assert
    - g_assert_nonnull
    - g_regex_split_full
    - g_assert_cmpstr
    - g_slist_next
    - g_strfreev
    - g_slist_length
    - g_strv_length
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_split_full (gconstpointer d) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - 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: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:277,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:297,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:299,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:295,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/regex.c:301,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:269,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_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:287,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:289,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:291,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/regex.c:302,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/regex.c:304,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 1
    argNames:
    - match_flags
    argTypes:
    - GRegexMatchFlags
    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_end
    - g_strfreev
    - g_strjoinv
    - g_strv_builder_add
    - g_strv_builder_unref
    - g_strv_builder_new
    linkageType: ''
    returnType: char*
    signature: 'static char *match_options_to_string (GRegexMatchFlags match_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1091,1
    - Dst: g_regex_split
      Src: /src/glib/glib/tests/regex.c:1095,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1093,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1101,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/regex.c:1097,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_assert_cmpint
    - g_regex_unref
    - g_assert
    - g_regex_split
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_slist_next
    - g_strfreev
    - g_slist_length
    - g_strv_length
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_split (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_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1391,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1392,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_get_string_number
    - g_assert_cmpint
    - g_regex_new
    - g_regex_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_get_string_number (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_free
    - g_slist_free_full
    linkageType: ''
    returnType: void
    signature: 'static void free_match_all_data (gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1992,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1995,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2004,1
    - Dst: g_regex_get_max_backref
      Src: /src/glib/glib/tests/regex.c:2028,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2025,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2034,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2043,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2089,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2129,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2133,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2125,1
    - Dst: g_regex_get_capture_count
      Src: /src/glib/glib/tests/regex.c:1982,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2004,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2045,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2077,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2080,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2088,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2097,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2113,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2126,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2038,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1997,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2007,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2131,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2108,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:2023,1
    - Dst: g_regex_get_max_backref
      Src: /src/glib/glib/tests/regex.c:1983,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1991,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2053,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2058,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2063,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2070,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2103,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2111,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2124,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2134,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2098,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1986,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1987,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1998,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2028,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2021,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2047,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2075,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2076,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2085,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2091,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2110,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1990,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2002,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2026,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2041,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2046,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2047,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2069,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2115,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2119,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2127,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2106,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2013,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1980,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1993,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2031,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2033,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2016,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2061,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2092,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2027,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1986,1
    - Dst: g_regex_get_capture_count
      Src: /src/glib/glib/tests/regex.c:2000,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2009,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2012,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2051,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2064,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2071,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2082,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2099,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2112,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2109,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2132,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1988,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2001,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2022,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2017,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2029,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2059,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2062,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2073,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2081,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2086,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2056,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2130,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1981,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1985,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2042,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2037,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2107,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2114,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2123,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2019,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2026,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2035,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2032,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1982,1
    - Dst: g_regex_match_all
      Src: /src/glib/glib/tests/regex.c:1984,1
    - Dst: g_regex_get_max_backref
      Src: /src/glib/glib/tests/regex.c:2001,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2011,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2014,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2048,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2121,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2039,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2036,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1994,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2052,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2055,1
    - Dst: g_regex_get_max_backref
      Src: /src/glib/glib/tests/regex.c:2064,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2083,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2100,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2105,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2090,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1979,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1989,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2005,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2008,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2048,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2049,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2050,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2067,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2074,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2084,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2101,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2018,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1983,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1987,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2010,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2015,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2027,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2079,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2084,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2087,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2096,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2128,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2024,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2003,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2006,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2030,1
    - Dst: g_regex_get_capture_count
      Src: /src/glib/glib/tests/regex.c:2044,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2054,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2057,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2065,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2068,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:2066,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2132,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2044,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1999,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2000,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2005,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2067,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2072,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2093,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2094,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2116,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2128,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2120,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2117,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 215
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2135
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 2135
    functionName: test_subpattern
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_match_info_fetch_pos
    - g_assert_cmpint
    - g_match_info_matches
    - g_free
    - g_regex_unref
    - g_match_info_next
    - g_match_info_fetch_named
    - g_assert
    - g_assert_no_error
    - g_assert_cmpstr
    - g_match_info_free
    - g_regex_get_max_backref
    - g_regex_match
    - g_regex_get_capture_count
    - g_match_info_fetch
    - g_regex_match_all
    - g_match_info_get_match_count
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_subpattern (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/regex.c:2350,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2352,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2359,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2356,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2355,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2361,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2362,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2365
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2365
    functionName: test_multiline
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_match_info_matches
    - g_match_info_next
    - g_regex_unref
    - g_match_info_free
    - g_test_bug
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_multiline (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2419,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/regex.c:2420,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/regex.c:2421,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/regex.c:2422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2423
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2423
    functionName: test_compile_errors
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_error
    - g_regex_new
    - g_clear_error
    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:2493,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/regex.c:2494,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2496,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2500,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2500,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2502,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2504,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2505,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2507,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2508,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2511,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2510,1
    - Dst: g_match_info_unref
      Src: /src/glib/glib/tests/regex.c:2515,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2512,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2517
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2517
    functionName: test_unmatched_named_subpattern
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_match_info_matches
    - g_match_info_fetch_named
    - g_free
    - g_match_info_next
    - g_regex_unref
    - g_assert_cmpstr
    - g_test_bug
    - g_match_info_unref
    - g_test_summary
    - g_regex_match
    - g_assert_true
    - g_regex_new
    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_assert
    - g_assert_error
    - g_error_free
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_new_fail (gconstpointer d) '
  - 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_regex_match_full
      Src: /src/glib/glib/tests/regex.c:325,1
    - Dst: compile_options_to_string
      Src: /src/glib/glib/tests/regex.c:328,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:323,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: strlen
      Src: /src/glib/glib/tests/regex.c:353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:362,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_free
      Src: /src/glib/glib/tests/regex.c:365,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:367,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:361,1
    - Dst: g_error
      Src: /src/glib/glib/tests/regex.c:349,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:
    - strlen
    - g_assert_cmpint
    - g_free
    - g_regex_unref
    - g_assert
    - compile_options_to_string
    - g_assert_no_error
    - g_error
    - match_options_to_string
    - g_regex_match
    - g_regex_new
    - g_regex_match_full
    linkageType: ''
    returnType: void
    signature: 'static void test_match (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:633,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:636,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_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:640,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_assert_cmpint
    - g_regex_unref
    - g_match_info_ref
    - g_assert
    - g_match_info_unref
    - g_match_info_get_match_count
    - g_regex_new
    - g_regex_match_full
    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:749,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/tests/regex.c:753,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:756,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:755,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:751,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_match_info_fetch_pos
    - g_assert_cmpint
    - g_free
    - g_regex_unref
    - g_assert
    - g_assert_cmpstr
    - g_match_info_free
    - g_match_info_fetch
    - g_regex_new
    - g_regex_match_full
    linkageType: ''
    returnType: void
    signature: 'static void test_sub_pattern (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1352,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1358,1
    - Dst: g_regex_replace_literal
      Src: /src/glib/glib/tests/regex.c:1353,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1357,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1355,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_unref
    - g_free
    - g_assert_cmpstr
    - g_regex_replace_literal
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_lit (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2372,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2374,1
    - Dst: g_regex_get_has_cr_or_lf
      Src: /src/glib/glib/tests/regex.c:2373,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2375
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2375
    functionName: test_explicit_crlf
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_get_has_cr_or_lf
    - g_assert_cmpint
    - g_regex_unref
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_explicit_crlf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2437,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2446,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2442,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2448,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2454,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2459,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2460,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2465,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2465,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/regex.c:2480,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2481,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2479,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2475,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2470,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2462,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2432,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2435,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2434,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2436,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2445,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2443,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2453,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2453,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2455,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2457,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2464,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2476,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2478,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2483,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2468,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2434,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2438,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2440,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2444,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2442,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2443,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2449,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/regex.c:2450,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2454,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2456,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2471,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2474,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2480,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2473,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2472,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2473,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2472,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/regex.c:2461,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2466,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2435,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2439,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2441,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2447,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2450,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2451,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2461,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2464,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2467,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2469,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2477,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2484
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2484
    functionName: test_jit_unsupported_matching_options
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_false
    - g_match_info_next
    - g_regex_unref
    - g_match_info_get_match_count
    - g_clear_pointer
    - g_assert_cmpstr
    - g_match_info_free
    - g_match_info_fetch
    - g_regex_match
    - g_assert_true
    - g_regex_new
    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:2525,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/regex.c:2526,1
    - Dst: memset
      Src: /src/glib/glib/tests/regex.c:2531,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2528,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2534,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2534,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2536,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2536,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2539
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2539
    functionName: test_compiled_regex_after_jit_failure
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_unref
    - memset
    - g_test_bug
    - g_test_summary
    - g_regex_match
    - g_assert_true
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_compiled_regex_after_jit_failure (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1871,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1879,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1892,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/regex.c:1895,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1921,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1943,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1945,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1961,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1863,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1865,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1868,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:1887,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1935,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1924,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1948,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1952,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1955,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1905,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1931,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1865,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1880,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:1902,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1909,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1919,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1885,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1907,1
    - Dst: g_match_info_matches
      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_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1879,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1882,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1915,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1875,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1888,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/regex.c:1890,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1926,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1900,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1910,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1922,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1946,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1903,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1920,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1950,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1960,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1898,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1861,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1869,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:1893,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1906,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1938,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1925,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1949,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1867,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1901,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1934,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1916,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1932,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1963,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1899,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1923,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1940,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1947,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1964,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1864,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1877,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1874,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1927,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1936,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1959,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1962,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1911,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1859,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1864,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1904,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1959,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/regex.c:1889,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1897,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1928,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1933,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1914,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1930,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1935,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1937,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1939,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1956,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1862,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1902,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1944,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1951,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1957,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1884,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1918,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1923,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1913,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/regex.c:1894,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1878,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1880,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1912,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1947,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1860,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1876,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1942,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1954,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 136
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1965
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1965
    functionName: test_lookbehind
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_match_info_fetch_pos
    - g_assert_cmpint
    - g_match_info_matches
    - g_regex_unref
    - g_match_info_get_match_count
    - g_assert
    - g_assert_no_error
    - g_match_info_free
    - g_clear_error
    - g_assert_error
    - g_regex_match
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_lookbehind (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2557,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2581,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2615,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2880,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2750,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2789,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2907,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2727,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3092,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3258,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:2628,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2858,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2938,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2800,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2946,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2986,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3103,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3175,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3195,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2575,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2860,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3057,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3136,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3219,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3074,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3189,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2566,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:2728,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2901,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2726,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3012,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3113,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3192,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3245,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3200,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2555,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:2641,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2749,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3089,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_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3243,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2706,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2792,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2967,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3040,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3066,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3088,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3093,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3098,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3169,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3193,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3137,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2600,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2702,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2911,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2822,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2980,1
    - Dst: TEST_SPLIT_SIMPLE0
      Src: /src/glib/glib/tests/regex.c:3034,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3091,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3147,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3268,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3209,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3218,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2841,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2665,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2725,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3090,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3126,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3168,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3172,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3216,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3238,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3105,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3160,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3080,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2754,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2932,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2561,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:2707,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3165,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3253,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3072,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2656,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2786,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2817,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2948,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2958,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3120,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3249,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2969,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2631,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2554,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2569,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2623,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:2709,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2976,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3204,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3227,1
    - Dst: TEST_MATCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3262,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2903,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2771,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2900,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2572,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2708,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2730,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2755,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2839,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3053,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3101,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2753,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2559,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:2751,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2963,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2989,1
    - Dst: TEST_FETCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3004,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3102,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3125,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3045,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2803,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2927,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2587,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2647,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2752,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2870,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2947,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2970,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3022,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3041,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2797,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2826,1
    - Dst: TEST_MATCH_NEXT0
      Src: /src/glib/glib/tests/regex.c:2891,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2593,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2650,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2829,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2834,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3011,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3097,1
    - Dst: TEST_MATCH_NOTEMPTY
      Src: /src/glib/glib/tests/regex.c:3280,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2729,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2601,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2620,1
    - Dst: pcre2_ge
      Src: /src/glib/glib/tests/regex.c:2658,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3144,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3191,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3197,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3231,1
    - Dst: TEST_REPLACE_OPTIONS
      Src: /src/glib/glib/tests/regex.c:3177,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2646,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:2721,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2990,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3128,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3155,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3170,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2574,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2619,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2649,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2720,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2833,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2743,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2798,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2804,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2825,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2974,1
    - Dst: TEST_MATCH_ALL2
      Src: /src/glib/glib/tests/regex.c:3273,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2923,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2937,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2583,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2745,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2828,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3154,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3142,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2622,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2638,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2568,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:2704,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2722,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2873,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2744,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2964,1
    - Dst: TEST_FETCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3003,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2838,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2697,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2881,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3029,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3054,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3130,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3138,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3157,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3211,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3217,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3064,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2719,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2742,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2801,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2930,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2960,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3129,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3269,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3194,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3085,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2635,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2643,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2655,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2787,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2922,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2987,1
    - Dst: TEST_SPLIT_SIMPLE2
      Src: /src/glib/glib/tests/regex.c:3028,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3058,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3099,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3156,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3224,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/regex.c:3283,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2598,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3024,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3070,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3094,1
    - Dst: TEST_MATCH_ALL2
      Src: /src/glib/glib/tests/regex.c:3272,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3122,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3244,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2931,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2589,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2700,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2748,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2885,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2945,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3023,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3048,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3152,1
    - Dst: TEST_MATCH_NOTEMPTY_ATSTART
      Src: /src/glib/glib/tests/regex.c:3281,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2852,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2898,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2578,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2747,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2778,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2848,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2893,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2831,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2995,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3073,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3087,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2701,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2845,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3104,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3257,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3109,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3198,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2813,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2819,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2586,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2668,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2724,1
    - Dst: TEST_MATCH_NEXT0
      Src: /src/glib/glib/tests/regex.c:2890,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2959,1
    - Dst: TEST_SPLIT_SIMPLE0
      Src: /src/glib/glib/tests/regex.c:3016,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3077,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3148,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3116,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2795,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2905,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2599,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:2662,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2699,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2836,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2942,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3063,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3115,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2810,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2908,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2703,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2746,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2977,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3123,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2808,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2924,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2571,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3114,1
    - Dst: TEST_MATCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3275,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3226,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2784,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2855,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:2652,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2723,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3062,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3127,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3167,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3176,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3230,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3174,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3190,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3270,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2551,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2604,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2657,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2929,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2872,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2694,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2737,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2782,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2965,1
    - Dst: TEST_SPLIT_SIMPLE2
      Src: /src/glib/glib/tests/regex.c:3019,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3242,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3212,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2596,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2552,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2812,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2859,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2978,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3095,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3118,1
    - Dst: TEST_REPLACE_OPTIONS
      Src: /src/glib/glib/tests/regex.c:3180,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3236,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3039,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2558,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2739,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2793,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2919,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2936,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3032,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3083,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3161,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3208,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3251,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3055,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3135,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2660,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2716,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2738,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3139,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3235,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2805,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2818,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2856,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2648,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2651,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2736,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2886,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2993,1
    - Dst: TEST_FETCH_ALL2
      Src: /src/glib/glib/tests/regex.c:3007,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3237,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2577,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2654,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2906,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3124,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3186,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3199,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3254,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2556,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2785,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2824,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2975,1
    - Dst: TEST_FETCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3002,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3215,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3203,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2827,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2918,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2645,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2715,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2796,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2835,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2902,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2961,1
    - Dst: TEST_SPLIT_SIMPLE0
      Src: /src/glib/glib/tests/regex.c:3035,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3084,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3266,1
    - Dst: TEST_MATCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3265,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2565,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2696,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2847,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3049,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3108,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3159,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3229,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3255,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2821,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2614,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2741,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2981,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3082,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3051,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3234,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2816,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/regex.c:2544,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2921,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2968,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3117,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3131,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3158,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3207,1
    - Dst: TEST_MATCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3263,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2844,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2897,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2580,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2718,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2790,1
    - Dst: TEST_MATCH_NEXT0
      Src: /src/glib/glib/tests/regex.c:2889,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2909,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2941,1
    - Dst: TEST_FETCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3000,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3026,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3256,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2695,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3031,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3038,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3201,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3225,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3247,1
    - Dst: TEST_MATCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3264,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3164,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2840,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2853,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2632,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2570,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:2640,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2996,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3060,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3076,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3100,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2667,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2894,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2920,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2740,1
    - Dst: memset
      Src: /src/glib/glib/tests/regex.c:2769,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2560,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2597,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2627,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2664,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3052,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2869,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2553,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2717,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3132,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3173,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3213,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3214,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3221,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3151,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/regex.c:2546,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2579,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2666,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2820,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2711,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3009,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3042,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3106,1
    - Dst: TEST_MATCH_ALL2
      Src: /src/glib/glib/tests/regex.c:3274,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3233,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3241,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2549,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2564,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3228,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3232,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3267,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3271,1
    - Dst: TEST_SPLIT_SIMPLE2
      Src: /src/glib/glib/tests/regex.c:3025,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3166,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2669,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2791,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2952,1
    - Dst: TEST_FETCH_ALL2
      Src: /src/glib/glib/tests/regex.c:3006,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3044,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3065,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2837,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2732,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2757,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2846,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2762,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2979,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3043,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3069,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3086,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3096,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3047,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2602,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2783,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2854,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2939,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2966,1
    - Dst: TEST_SPLIT_SIMPLE1
      Src: /src/glib/glib/tests/regex.c:3017,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3061,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2794,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2951,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2994,1
    - Dst: TEST_FETCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3001,1
    - Dst: TEST_FETCH_ALL2
      Src: /src/glib/glib/tests/regex.c:3005,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3246,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3171,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2915,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2613,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2710,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2849,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3010,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3021,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3046,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3112,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3185,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2823,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2811,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2626,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:2663,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2731,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2756,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2814,1
    - Dst: TEST_MATCH_NEXT4
      Src: /src/glib/glib/tests/regex.c:2912,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2997,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3220,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:2629,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2713,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3110,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3163,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3252,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2802,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2896,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2595,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2671,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2760,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2788,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3008,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3187,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3202,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3250,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3145,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2735,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2830,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2567,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2637,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2904,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2954,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2988,1
    - Dst: TEST_SPLIT_SIMPLE0
      Src: /src/glib/glib/tests/regex.c:3015,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3050,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3134,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3153,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3196,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2765,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2917,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2616,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2582,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:2714,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2940,1
    - Dst: TEST_SPLIT_SIMPLE1
      Src: /src/glib/glib/tests/regex.c:3018,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3020,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3140,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3081,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2876,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:2712,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2832,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2843,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3119,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3141,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2761,1
    - Dst: TEST_MATCH_NEXT0
      Src: /src/glib/glib/tests/regex.c:2892,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2899,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2882,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2928,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2982,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3071,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3111,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3162,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3188,1
    - Dst: memset
      Src: /src/glib/glib/tests/regex.c:2776,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2910,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2799,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2809,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2734,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2603,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2550,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2573,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2759,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2953,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3248,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2733,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2764,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2758,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2895,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2916,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2634,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2642,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2933,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2962,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3210,1
    - Dst: TEST_MATCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 637
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3284
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 3284
    functionName: main
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - TEST_GET_STRING_NUMBER
    - TEST_MATCH_NEXT3
    - TEST_MATCH_NEXT4
    - g_test_init
    - TEST_NEW
    - TEST_MATCH_NEXT0
    - TEST_EXPAND
    - TEST_MATCH_ALL0
    - pcre2_ge
    - TEST_ESCAPE_NUL
    - TEST_MATCH_ALL1
    - TEST_PARTIAL
    - TEST_SPLIT_SIMPLE1
    - TEST_SPLIT_SIMPLE3
    - TEST_ESCAPE
    - TEST_REPLACE_LIT
    - TEST_FETCH_ALL2
    - TEST_REPLACE
    - memset
    - TEST_REPLACE_OPTIONS
    - TEST_SPLIT_SIMPLE2
    - TEST_MATCH_ALL2
    - TEST_FETCH_ALL3
    - g_test_run
    - TEST_NEW_CHECK_FLAGS
    - TEST_MATCH_ALL3
    - TEST_SPLIT3
    - TEST_CHECK_REPLACEMENT
    - TEST_MATCH_SIMPLE
    - TEST_FETCH_ALL0
    - g_test_add_func
    - TEST_MATCH_NEXT1
    - TEST_MATCH_NEXT2
    - TEST_MATCH_NOTEMPTY
    - TEST_PARTIAL_FULL
    - setlocale
    - TEST_FETCH_ALL1
    - TEST_SPLIT1
    - TEST_SPLIT_SIMPLE0
    - TEST_MATCH_NOTEMPTY_ATSTART
    - TEST_MATCH
    - TEST_SPLIT2
    - TEST_MATCH_COUNT
    - TEST_SUB_PATTERN
    - TEST_NAMED_SUB_PATTERN
    - TEST_SPLIT0
    - TEST_NAMED_SUB_PATTERN_DUPNAMES
    - TEST_NEW_FAIL
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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:121,1
    - Dst: g_date_add_months
      Src: /src/glib/glib/tests/date.c:129,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:230,1
    - Dst: g_date_valid_weekday
      Src: /src/glib/glib/tests/date.c:234,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:148,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:62,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:64,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:100,1
    - Dst: g_date_is_first_of_month
      Src: /src/glib/glib/tests/date.c:105,1
    - Dst: g_date_add_years
      Src: /src/glib/glib/tests/date.c:141,1
    - Dst: g_date_get_days_in_month
      Src: /src/glib/glib/tests/date.c:93,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_date_clear
      Src: /src/glib/glib/tests/date.c:213,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: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_date_valid_month
      Src: /src/glib/glib/tests/date.c:228,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_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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:52,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:82,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:109,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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:93,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_test_expect_message
      Src: /src/glib/glib/tests/date.c:211,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:229,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/tests/date.c:233,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:237,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:239,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: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:70,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:118,1
    - Dst: g_date_set_time_t
      Src: /src/glib/glib/tests/date.c:99,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:164,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:169,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:197,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:227,1
    - Dst: g_date_get_days_in_month
      Src: /src/glib/glib/tests/date.c:88,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_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:82,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:173,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:217,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:130,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:83,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:142,1
    - Dst: g_date_valid_weekday
      Src: /src/glib/glib/tests/date.c:235,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:237,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:238,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:240,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:29,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_false
      Src: /src/glib/glib/tests/date.c:231,1
    - Dst: g_date_valid_day
      Src: /src/glib/glib/tests/date.c:231,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:147,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_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:106,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:111,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:181,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:202,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_expect_message
      Src: /src/glib/glib/tests/date.c:68,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:71,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:189,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_assert_false
      Src: /src/glib/glib/tests/date.c:238,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:236,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:91,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:59,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_date_valid_day
      Src: /src/glib/glib/tests/date.c:230,1
    - Dst: g_date_valid_weekday
      Src: /src/glib/glib/tests/date.c:236,1
    - Dst: g_date_valid_month
      Src: /src/glib/glib/tests/date.c:229,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:103,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:200,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:220,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:234,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:235,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:241,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:124,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:94,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:159,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:165,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_is_leap_year
      Src: /src/glib/glib/tests/date.c:240,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:89,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:88,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: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_test_expect_message
      Src: /src/glib/glib/tests/date.c:195,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:223,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:225,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:228,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:241,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:136,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:154,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:64,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_assert_false
      Src: /src/glib/glib/tests/date.c:233,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_test_assert_expected_messages
    - g_date_subtract_days
    - g_date_get_weekday
    - g_date_set_julian
    - g_date_new_dmy
    - g_date_add_days
    - g_date_set_month
    - g_test_undefined
    - g_assert_cmpint
    - g_date_valid_month
    - g_date_free
    - g_test_expect_message
    - g_date_set_day
    - g_date_new
    - g_date_get_days_in_month
    - g_date_get_year
    - g_date_subtract_months
    - g_date_subtract_years
    - g_date_is_first_of_month
    - g_date_valid_weekday
    - g_date_set_dmy
    - g_date_set_time_t
    - g_date_set_year
    - g_date_to_struct_tm
    - g_assert_null
    - g_date_get_month
    - g_date_valid
    - g_date_is_leap_year
    - g_date_is_last_of_month
    - g_assert_false
    - g_date_valid_day
    - g_date_valid_year
    - g_date_clear
    - g_date_get_day
    - g_date_add_months
    - g_date_add_years
    - g_assert_true
    - g_date_valid_julian
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:250,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:251,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_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_undefined
    - g_assert_false
    - g_test_assert_expected_messages
    - g_date_free
    - g_test_expect_message
    - g_date_new
    - g_date_valid
    linkageType: ''
    returnType: void
    signature: 'static void test_empty_constructor (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/date.c:1737,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/date.c:1740,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1749,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1751,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/tests/date.c:1744,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_test_message
    - g_assert_false
    - g_date_valid_dmy
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_valid_dmy (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_test_expect_message
      Src: /src/glib/glib/tests/date.c:1685,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_get_day
      Src: /src/glib/glib/tests/date.c:1705,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/date.c:1687,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_month
      Src: /src/glib/glib/tests/date.c:1702,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_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_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:1704,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:1703,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1696,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_undefined
    - g_assert_false
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_date_free
    - g_date_get_day
    - g_date_set_year
    - g_test_expect_message
    - g_date_set_month
    - g_assert_null
    - g_date_set_day
    - g_date_new
    - g_assert_true
    - g_date_valid
    - g_date_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_copy (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:393,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_date_free
      Src: /src/glib/glib/tests/date.c:405,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/date.c:384,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_test_expect_message
      Src: /src/glib/glib/tests/date.c:391,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:396,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:400,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:394,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_cmpint
      Src: /src/glib/glib/tests/date.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:401,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_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: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_undefined
    - g_assert_cmpint
    - g_date_get_julian
    - g_test_assert_expected_messages
    - g_date_free
    - g_date_get_day
    - g_test_expect_message
    - g_assert_null
    - g_date_days_between
    - g_date_new
    - g_date_get_year
    - g_date_new_julian
    linkageType: ''
    returnType: void
    signature: 'static void test_julian_constructor (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:763,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:782,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:783,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:775,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/date.c:800,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:813,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:815,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:818,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:757,1
    - Dst: defined
      Src: /src/glib/glib/tests/date.c:727,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:772,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:785,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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:810,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_undefined
      Src: /src/glib/glib/tests/date.c:780,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:791,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:810,1
    - Dst: g_free
      Src: /src/glib/glib/tests/date.c:816,1
    - Dst: defined
      Src: /src/glib/glib/tests/date.c:727,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/date.c:757,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/date.c:759,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_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_strftime
      Src: /src/glib/glib/tests/date.c:799,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:
    - setlocale
    - g_strdup
    - g_test_undefined
    - g_assert_cmpint
    - g_free
    - g_test_assert_expected_messages
    - GetThreadLocale
    - g_date_free
    - g_date_set_dmy
    - g_assert_cmpstr
    - defined
    - g_test_expect_message
    - MAKELCID
    - g_date_strftime
    - G_N_ELEMENTS
    - g_date_new
    - SetThreadLocale
    - MAKELANGID
    linkageType: ''
    returnType: void
    signature: 'static void test_strftime (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:913,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:946,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:973,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:968,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:956,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:959,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:965,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:986,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:1005,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1022,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:955,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_true
      Src: /src/glib/glib/tests/date.c:971,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:962,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:972,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:958,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:985,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_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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:956,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:944,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:974,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:954,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:1004,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1012,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1017,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:1023,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1030,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:968,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:940,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_true
      Src: /src/glib/glib/tests/date.c:1003,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1012,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:1029,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1031,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1035,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:912,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:974,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_assert_true
      Src: /src/glib/glib/tests/date.c:996,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1015,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1020,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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:973,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:977,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:988,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1002,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1015,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1022,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1024,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1038,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1034,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_date_set_parse
      Src: /src/glib/glib/tests/date.c:982,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:990,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:979,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:936,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:948,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:961,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:985,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:997,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:999,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1030,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:903,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:931,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:927,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:952,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:1006,1
    - Dst: g_assert_cmpint
      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:1038,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1023,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:966,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:907,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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:949,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1004,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:1011,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1028,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1037,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:996,1
    - Dst: g_date_set_time
      Src: /src/glib/glib/tests/date.c:911,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:936,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:953,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:983,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:990,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:991,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_date_get_day
      Src: /src/glib/glib/tests/date.c:1005,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1014,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:967,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:972,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_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_date_get_year
      Src: /src/glib/glib/tests/date.c:980,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1000,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1010,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:908,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:922,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:984,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:999,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1003,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_valid
      Src: /src/glib/glib/tests/date.c:1027,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1035,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1021,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1028,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1040,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:935,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:953,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:983,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1016,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1026,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:955,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:962,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_set_parse
      Src: /src/glib/glib/tests/date.c:914,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:971,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:970,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:998,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:966,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:954,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:980,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:967,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:965,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_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_assert_true
      Src: /src/glib/glib/tests/date.c:1027,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_undefined
    - g_assert_cmpint
    - g_date_set_time
    - g_assert_false
    - g_test_assert_expected_messages
    - g_date_free
    - g_date_set_dmy
    - g_date_get_day
    - g_date_set_julian
    - g_date_get_year
    - g_test_expect_message
    - g_date_strftime
    - g_date_get_month
    - g_date_new
    - g_assert_true
    - g_date_valid
    - g_date_set_parse
    linkageType: ''
    returnType: void
    signature: 'static void test_parse (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1247,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1277,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1279,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1288,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: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1379,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1395,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1324,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: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1365,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1374,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1391,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1385,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1232,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1306,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1209,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1228,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1266,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1275,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1378,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1230,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1241,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1263,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1271,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1360,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1393,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1389,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: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1256,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1301,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1287,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1334,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: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1382,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1329,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1296,1
    - Dst: setlocale
      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: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:1323,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1327,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1336,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1364,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: g_test_skip
      Src: /src/glib/glib/tests/date.c:1169,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/date.c:1167,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1286,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1305,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: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1336,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1377,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: setlocale
      Src: /src/glib/glib/tests/date.c:1254,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1256,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1261,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1314,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1359,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1372,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1383,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1386,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1225,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: strstr
      Src: /src/glib/glib/tests/date.c:1320,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1322,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1338,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1344,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1370,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1372,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1381,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1221,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1223,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:1281,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: setlocale
      Src: /src/glib/glib/tests/date.c:1352,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1354,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1363,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1380,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1285,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1304,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:1231,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1223,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1258,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1264,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: setlocale
      Src: /src/glib/glib/tests/date.c:1294,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1237,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1350,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1362,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/date.c:1161,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1239,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1244,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: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1260,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1343,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1356,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1358,1
    - Dst: g_free
      Src: /src/glib/glib/tests/date.c:1397,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: setlocale
      Src: /src/glib/glib/tests/date.c:1225,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1239,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1291,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:1340,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1268,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/date.c:1209,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1227,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: MAKELCID
      Src: /src/glib/glib/tests/date.c:1336,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1347,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1356,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1298,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1279,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1256,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1338,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1361,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1374,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1376,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:
    - setlocale
    - g_strdup
    - g_free
    - GetThreadLocale
    - g_date_free
    - SetThreadLocale
    - g_test_skip
    - MAKELCID
    - strstr
    - g_getenv
    - TEST_DATE
    - g_date_new
    - g_test_bug
    - MAKELANGID
    linkageType: ''
    returnType: void
    signature: 'static void test_month_names (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_date_clamp
      Src: /src/glib/glib/tests/date.c:1590,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:1588,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1593,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1604,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_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_copy
      Src: /src/glib/glib/tests/date.c:1622,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_undefined
      Src: /src/glib/glib/tests/date.c:1600,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1605,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1616,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1624,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:1631,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1632,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1624,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1626,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_test_expect_message
      Src: /src/glib/glib/tests/date.c:1602,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1599,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1609,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1618,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1623,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1634,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1636,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1637,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1627,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1573,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1574,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1576,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1581,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1610,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1614,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1619,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1629,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_undefined
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_date_free
    - g_date_clamp
    - g_date_set_dmy
    - g_test_expect_message
    - g_date_compare
    - g_date_new
    - g_date_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_clamp (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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:445,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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:506,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:515,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:522,1
    - Dst: g_date_add_years
      Src: /src/glib/glib/tests/date.c:535,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:549,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:659,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:597,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:651,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:522,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:552,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:553,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:563,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:601,1
    - Dst: g_date_set_month
      Src: /src/glib/glib/tests/date.c:656,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:639,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:628,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:517,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:491,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:454,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:473,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:502,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:523,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:530,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:531,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:537,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:590,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:583,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:606,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:518,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_get_sunday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:447,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:529,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:552,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:558,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:571,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:580,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:591,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:628,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:631,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:564,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:639,1
    - Dst: time
      Src: /src/glib/glib/tests/date.c:616,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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:447,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:517,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/tests/date.c:498,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:502,1
    - Dst: g_date_subtract_months
      Src: /src/glib/glib/tests/date.c:528,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:536,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:538,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:640,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:635,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:589,1
    - Dst: g_date_set_time_val
      Src: /src/glib/glib/tests/date.c:627,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:605,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_test_undefined
      Src: /src/glib/glib/tests/date.c:471,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_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:529,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:536,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_date_get_month
      Src: /src/glib/glib/tests/date.c:557,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:570,1
    - Dst: g_date_is_first_of_month
      Src: /src/glib/glib/tests/date.c:641,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:609,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:448,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:485,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:525,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:545,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:550,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:551,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:568,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:597,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:595,1
    - Dst: g_date_subtract_months
      Src: /src/glib/glib/tests/date.c:650,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:442,1
    - Dst: g_date_get_sunday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:494,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:537,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:543,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:562,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:566,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:575,1
    - Dst: g_date_set_month
      Src: /src/glib/glib/tests/date.c:588,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:613,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:660,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:662,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:589,1
    - Dst: g_date_set_time
      Src: /src/glib/glib/tests/date.c:622,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:538,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:558,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:652,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:430,1
    - Dst: g_date_get_monday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:435,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:503,1
    - Dst: g_date_is_first_of_month
      Src: /src/glib/glib/tests/date.c:510,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:509,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:523,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:541,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:555,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:585,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:603,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:427,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_new_dmy
      Src: /src/glib/glib/tests/date.c:513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:498,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:510,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:532,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:543,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:544,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:569,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:619,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:653,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:608,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:590,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:511,1
    - Dst: g_date_get_monday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:491,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:539,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:584,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:598,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_assert_true
      Src: /src/glib/glib/tests/date.c:619,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:646,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:660,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:492,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:534,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:559,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:567,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:568,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:584,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:617,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:623,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:649,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:652,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:435,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_free
      Src: /src/glib/glib/tests/date.c:499,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:515,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:501,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:559,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:582,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:587,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:604,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:640,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:634,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:638,1
    - Dst: g_date_is_last_of_month
      Src: /src/glib/glib/tests/date.c:646,1
    - Dst: g_date_subtract_days
      Src: /src/glib/glib/tests/date.c:645,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_assert_false
      Src: /src/glib/glib/tests/date.c:642,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:577,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:441,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:470,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:486,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:546,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:557,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:563,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:569,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:574,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:623,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:632,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:592,1
    - Dst: g_date_is_last_of_month
      Src: /src/glib/glib/tests/date.c:642,1
    - Dst: g_date_is_first_of_month
      Src: /src/glib/glib/tests/date.c:644,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:575,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:637,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:429,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:483,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:507,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:524,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:577,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:591,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:599,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:603,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:576,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:610,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:643,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:658,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:476,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:441,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:453,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:516,1
    - Dst: g_date_add_months
      Src: /src/glib/glib/tests/date.c:521,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:544,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:578,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:596,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:598,1
    - Dst: g_date_set_time
      Src: /src/glib/glib/tests/date.c:618,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:641,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:632,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:653,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:604,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:657,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:594,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:583,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:637,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:576,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_set_time
    - g_date_set_time_val
    - g_test_assert_expected_messages
    - g_date_subtract_days
    - g_date_set_julian
    - g_date_new_dmy
    - g_date_get_sunday_week_of_year
    - g_date_set_month
    - g_test_undefined
    - g_assert_cmpint
    - g_date_get_sunday_weeks_in_year
    - g_date_free
    - g_date_get_monday_weeks_in_year
    - g_test_expect_message
    - g_date_get_monday_week_of_year
    - g_date_get_iso8601_week_of_year
    - g_date_set_day
    - g_date_new
    - g_date_subtract_months
    - g_date_get_year
    - g_date_new_julian
    - g_date_subtract_years
    - g_date_is_first_of_month
    - g_date_set_dmy
    - g_date_set_year
    - g_date_get_month
    - g_date_valid
    - g_date_is_last_of_month
    - g_assert_false
    - g_date_get_day
    - g_date_get_day_of_year
    - g_date_add_months
    - g_date_add_years
    - time
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_dates (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:842,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:840,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:871,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:871,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:851,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:886,1
    - Dst: g_free
      Src: /src/glib/glib/tests/date.c:889,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:880,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:834,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:848,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:849,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:872,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_get_year
      Src: /src/glib/glib/tests/date.c:883,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:891,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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:881,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:881,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:882,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:884,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:888,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:882,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_set_parse
      Src: /src/glib/glib/tests/date.c:869,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:864,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:872,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/date.c:850,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_strftime
    - SetThreadLocale
    - g_date_set_parse
    - g_assert_cmpint
    - g_date_free
    - MAKELCID
    - g_date_new
    - g_date_get_year
    - GetThreadLocale
    - g_date_set_dmy
    - g_date_get_month
    - g_date_valid
    - MAKELANGID
    - setlocale
    - g_strdup
    - g_free
    - g_date_get_day
    - g_assert_cmpstr
    - g_assert_true
    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_date_new
      Src: /src/glib/glib/tests/date.c:1059,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_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_test_message
    - g_assert_false
    - g_date_free
    - G_N_ELEMENTS
    - g_date_new
    - g_date_valid
    - g_date_set_parse
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_invalid (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - 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:1420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1462,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:1500,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1543,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1444,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1453,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1455,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:1534,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/date.c:1423,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1434,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:1480,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1503,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:1520,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1520,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:1496,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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1464,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/date.c:1404,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1457,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_date_add_years
      Src: /src/glib/glib/tests/date.c:1539,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:1457,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1522,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:1536,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:1548,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1522,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1439,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1455,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:1467,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1490,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:1490,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:1511,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1480,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:1486,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/tests/date.c:1470,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:1451,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1530,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1546,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:1498,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:1498,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:1477,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:1530,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1540,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:1541,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:1477,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_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_compare
      Src: /src/glib/glib/tests/date.c:1528,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1465,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:1540,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:1465,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:1413,1
    - Dst: g_date_get_sunday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:1415,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1446,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_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_get_day_of_year
      Src: /src/glib/glib/tests/date.c:1459,1
    - Dst: g_date_subtract_days
      Src: /src/glib/glib/tests/date.c:1521,1
    - Dst: g_date_subtract_months
      Src: /src/glib/glib/tests/date.c:1529,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1531,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/tests/date.c:1420,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/date.c:1433,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1454,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/tests/date.c:1462,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1524,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:1500,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1486,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_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_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:1495,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1531,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1534,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1562,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1523,1
    - Dst: g_date_valid_month
      Src: /src/glib/glib/tests/date.c:1434,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:1562,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_days
    - g_date_get_weekday
    - g_date_add_days
    - g_date_get_sunday_week_of_year
    - g_assert_cmpint
    - g_date_valid_month
    - g_date_get_sunday_weeks_in_year
    - g_date_get_monday_weeks_in_year
    - g_date_valid_dmy
    - g_date_get_monday_week_of_year
    - g_date_get_iso8601_week_of_year
    - g_date_set_day
    - g_date_get_year
    - g_date_get_days_in_month
    - g_date_subtract_months
    - g_date_subtract_years
    - g_date_set_dmy
    - g_date_get_month
    - GPOINTER_TO_INT
    - g_date_valid
    - g_date_is_leap_year
    - g_date_valid_year
    - g_assert_false
    - g_date_get_julian
    - g_date_clear
    - g_assert
    - g_date_get_day
    - g_date_get_day_of_year
    - g_date_add_months
    - g_date_add_years
    - g_date_compare
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_year (gconstpointer t) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_order
      Src: /src/glib/glib/tests/date.c:1652,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1663,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1673,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1674,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1650,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
    - 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_undefined
      Src: /src/glib/glib/tests/date.c:1658,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_order
      Src: /src/glib/glib/tests/date.c:1668,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1671,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:1669,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1648,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1653,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1656,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1671,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_undefined
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_date_order
    - g_date_free
    - g_date_set_dmy
    - g_test_expect_message
    - g_date_compare
    - g_date_new
    linkageType: ''
    returnType: void
    signature: 'static void test_order (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:1790,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/date.c:1802,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1780,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:1794,1
    - Dst: g_free
      Src: /src/glib/glib/tests/date.c:1804,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: g_setenv
      Src: /src/glib/glib/tests/date.c:1777,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1778,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:1789,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:1791,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1797,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:1798,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/date.c:1803,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1780,1
    - Dst: MAKELANGID
      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:1795,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_test_add_func
      Src: /src/glib/glib/tests/date.c:1806,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:
    - setlocale
    - GINT_TO_POINTER
    - g_free
    - g_test_add_data_func
    - g_test_add_func
    - MAKELCID
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - g_setenv
    - G_N_ELEMENTS
    - SetThreadLocale
    - MAKELANGID
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char** argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:270,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:273,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:271,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_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_julian
    - g_assert_cmpint
    - g_date_free
    - g_date_get_day
    - g_date_get_year
    - g_date_new_dmy
    - g_date_get_month
    - g_assert_true
    - g_date_valid
    linkageType: ''
    returnType: void
    signature: 'static void test_dmy_constructor (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1079,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1088,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: setlocale
      Src: /src/glib/glib/tests/date.c:1087,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_date_get_year
      Src: /src/glib/glib/tests/date.c:1095,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1097,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1100,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1097,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:
    - setlocale
    - g_assert_cmpint
    - g_date_get_day
    - g_test_skip
    - g_date_get_month
    - g_date_get_year
    - g_date_set_parse
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_locale_change (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_days_between
      Src: /src/glib/glib/tests/date.c:293,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_test_expect_message
      Src: /src/glib/glib/tests/date.c:309,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:311,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:314,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:316,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:319,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_compare
      Src: /src/glib/glib/tests/date.c:342,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:343,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:366,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:347,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:368,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:371,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:338,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:351,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:351,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:294,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:296,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:305,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:303,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:312,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:317,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:321,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_date_new
      Src: /src/glib/glib/tests/date.c:333,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:346,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:362,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:367,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:368,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:359,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:370,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:289,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:291,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:306,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:300,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_test_expect_message
      Src: /src/glib/glib/tests/date.c:325,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:342,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:334,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:350,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:360,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:363,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:359,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:355,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:327,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_date_new
      Src: /src/glib/glib/tests/date.c:288,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:302,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:307,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_assert_cmpint
      Src: /src/glib/glib/tests/date.c:343,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:345,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:350,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:354,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:360,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:367,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:364,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:340,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:340,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_undefined
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_date_free
    - g_date_set_dmy
    - g_date_set_julian
    - g_test_expect_message
    - g_date_days_between
    - g_date_compare
    - g_date_new
    linkageType: ''
    returnType: void
    signature: 'static void test_date_compare (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: 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: g_test_skip
      Src: /src/glib/glib/tests/date.c:1115,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1131,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1136,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_valid
      Src: /src/glib/glib/tests/date.c:1131,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1135,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1134,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1132,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1139,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1135,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1145,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:
    - setlocale
    - g_assert_cmpint
    - g_date_valid
    - GetThreadLocale
    - g_test_skip
    - MAKELCID
    - g_test_bug
    - g_date_get_month
    - g_assert_true
    - SetThreadLocale
    - MAKELANGID
    - g_date_set_parse
    linkageType: ''
    returnType: void
    signature: 'static void test_month_substring (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/tests/spawn-multithreaded.c:66,1
    - Dst: CreateProcess
      Src: /src/glib/glib/tests/spawn-multithreaded.c:72,1
    - Dst: memset
      Src: /src/glib/glib/tests/spawn-multithreaded.c:68,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-multithreaded.c:74,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-multithreaded.c:70,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/tests/spawn-multithreaded.c:75,1
    - Dst: GetLastError
      Src: /src/glib/glib/tests/spawn-multithreaded.c:75,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:77,1
    - Dst: CloseHandle
      Src: /src/glib/glib/tests/spawn-multithreaded.c:79,1
    - Dst: fork
      Src: /src/glib/glib/tests/spawn-multithreaded.c:84,1
    - Dst: _exit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:92,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:86,1
    - Dst: sleep
      Src: /src/glib/glib/tests/spawn-multithreaded.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 94
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 94
    functionName: get_a_child
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - CreateProcess
    - g_free
    - _exit
    - g_error
    - CloseHandle
    - memset
    - g_strdup_printf
    - fork
    - exit
    - sleep
    - GetLastError
    - g_win32_error_message
    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:161,1
    - Dst: system
      Src: /src/glib/glib/tests/spawn-multithreaded.c:166,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/spawn-multithreaded.c:164,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/spawn-multithreaded.c:166,1
    - Dst: system
      Src: /src/glib/glib/tests/spawn-multithreaded.c:164,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/spawn-multithreaded.c:170,1
    - Dst: get_a_child
      Src: /src/glib/glib/tests/spawn-multithreaded.c:175,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:176,1
    - Dst: get_a_child
      Src: /src/glib/glib/tests/spawn-multithreaded.c:183,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:184,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:188,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/spawn-multithreaded.c:190,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/spawn-multithreaded.c:192,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-multithreaded.c:192,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 193
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 193
    functionName: test_spawn_childs
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - get_a_child
    - g_assert_no_errno
    - system
    - g_timeout_add_seconds
    - g_source_remove
    - g_child_watch_add
    - g_main_loop_unref
    - g_atomic_int_get
    - g_main_loop_new
    - g_main_loop_run
    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:122,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-multithreaded.c:128,1
    - Dst: get_a_child
      Src: /src/glib/glib/tests/spawn-multithreaded.c:126,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:127,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:123,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-multithreaded.c:130,1
    - Dst: g_main_loop_get_context
      Src: /src/glib/glib/tests/spawn-multithreaded.c:130,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:131,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-multithreaded.c:133,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:135,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:137,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: start_thread
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_main_loop_get_context
    - g_source_set_callback
    - g_test_message
    - get_a_child
    - g_source_attach
    - g_main_context_unref
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_child_watch_source_new
    - g_main_context_new
    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:239,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/spawn-multithreaded.c:249,1
    - Dst: MIN
      Src: /src/glib/glib/tests/spawn-multithreaded.c:243,1
    - Dst: g_get_num_processors
      Src: /src/glib/glib/tests/spawn-multithreaded.c:243,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:249,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:250,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/spawn-multithreaded.c:256,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/spawn-multithreaded.c:256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-multithreaded.c:257,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/spawn-multithreaded.c:257,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - function
    argTypes:
    - GThreadFunc
    constantsTouched: []
    func_position:
      end: 260
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 260
    functionName: multithreaded_test_run
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - GPOINTER_TO_UINT
    - g_ptr_array_free
    - g_ptr_array_index
    - MIN
    - GUINT_TO_POINTER
    - g_get_num_processors
    - g_thread_new
    - g_thread_join
    - g_ptr_array_new
    - g_ptr_array_add
    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:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    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:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pid
    - status
    - datap
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    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_ptr_array_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:371,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:372,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:373,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:379,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:391,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-multithreaded.c:388,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-multithreaded.c:394,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:397,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-multithreaded.c:401,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:408,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:367,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-multithreaded.c:378,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:389,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:384,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-multithreaded.c:393,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/spawn-multithreaded.c:392,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-multithreaded.c:387,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:386,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:395,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:406,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:366,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:374,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-multithreaded.c:400,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:402,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:404,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/spawn-multithreaded.c:354,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-multithreaded.c:369,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/tests/spawn-multithreaded.c:376,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-multithreaded.c:399,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:405,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/spawn-multithreaded.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 411
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 411
    functionName: test_spawn_async_multithreaded_instance
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - g_main_context_unref
    - GUINT_TO_POINTER
    - g_source_unref
    - g_main_loop_run
    - g_ptr_array_new
    - g_source_attach
    - g_main_context_new
    - g_spawn_async_with_pipes
    - g_io_channel_unix_new
    - g_string_free
    - g_assert_no_error
    - g_main_loop_unref
    - g_strdup_printf
    - g_main_loop_new
    - g_ptr_array_add
    - g_source_set_callback
    - g_string_new
    - g_io_create_watch
    - g_free
    - g_ptr_array_free
    - g_assert_cmpstr
    - g_io_channel_unref
    - g_assert_true
    - g_child_watch_source_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_spawn_async_multithreaded_instance (gpointer
      thread_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-multithreaded.c:101,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:107,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/spawn-multithreaded.c:106,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:109,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/glib/tests/spawn-multithreaded.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pid
    - status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: child_watch_callback
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_spawn_close_pid
    - g_main_loop_quit
    - 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_quit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:204,1
    - Dst: system
      Src: /src/glib/glib/tests/spawn-multithreaded.c:209,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/spawn-multithreaded.c:207,1
    - Dst: system
      Src: /src/glib/glib/tests/spawn-multithreaded.c:207,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/spawn-multithreaded.c:209,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/spawn-multithreaded.c:213,1
    - Dst: g_thread_new
      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_main_loop_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:225,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:226,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/spawn-multithreaded.c:229,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/spawn-multithreaded.c:232,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/spawn-multithreaded.c:231,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/spawn-multithreaded.c:227,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/spawn-multithreaded.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-multithreaded.c:229,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/spawn-multithreaded.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 233
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 233
    functionName: test_spawn_childs_threads
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_no_errno
    - system
    - g_timeout_add_seconds
    - g_source_remove
    - g_main_loop_unref
    - g_atomic_int_get
    - g_steal_pointer
    - g_thread_new
    - g_main_loop_new
    - g_thread_join
    - g_main_loop_run
    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:265,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:276,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-multithreaded.c:272,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:275,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:274,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:277,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-multithreaded.c:279,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-multithreaded.c:280,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-multithreaded.c:281,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:282,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:284,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:283,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/spawn-multithreaded.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 287
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 287
    functionName: test_spawn_sync_multithreaded_instance
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_free
    - GPOINTER_TO_UINT
    - g_ptr_array_free
    - g_spawn_sync
    - g_assert_no_error
    - g_assert_cmpstr
    - GUINT_TO_POINTER
    - g_strdup_printf
    - g_ptr_array_new
    - 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:328,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/spawn-multithreaded.c:337,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:346,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-multithreaded.c:342,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/spawn-multithreaded.c:331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - channel
    - condition
    - datap
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 349
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 349
    functionName: on_child_stdout
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_error
    - g_main_loop_quit
    - g_io_channel_read_chars
    - g_string_append_len
    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:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    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:426,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/spawn-multithreaded.c:429,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/spawn-multithreaded.c:428,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-multithreaded.c:431,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/spawn-multithreaded.c:431,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/spawn-multithreaded.c:433,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/spawn-multithreaded.c:434,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-multithreaded.c:434,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-multithreaded.c:437,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-multithreaded.c:439,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:446,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-multithreaded.c:442,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-multithreaded.c:441,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-multithreaded.c:440,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:449,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 453
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 453
    functionName: main
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_clear_pointer
    - g_test_add_func
    - g_path_get_dirname
    - g_build_filename
    - g_file_test
    - g_test_init
    - g_test_run
    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_dir_read_name
      Src: /src/glib/glib/tests/dir.c:15,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dir.c:19,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/dir.c:18,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_strdup
    - g_dir_rewind
    - g_free
    - g_dir_read_name
    - g_assert_no_error
    - g_dir_open
    - g_assert_cmpstr
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'static void test_dir_read (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_assert
    - g_assert_error
    - g_dir_open
    - g_error_free
    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:46,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dir.c:49,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dir.c:48,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/dir.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/glib/glib/tests/dir.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_false
      Src: /src/glib/glib/tests/relation.c:83,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/relation.c:89,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:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:113,1
    - Dst: g_tuples_destroy
      Src: /src/glib/glib/tests/relation.c:119,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:102,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/relation.c:115,1
    - Dst: g_relation_insert
      Src: /src/glib/glib/tests/relation.c:76,1
    - Dst: g_relation_insert
      Src: /src/glib/glib/tests/relation.c:77,1
    - Dst: g_relation_exists
      Src: /src/glib/glib/tests/relation.c:82,1
    - Dst: g_relation_exists
      Src: /src/glib/glib/tests/relation.c:84,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:96,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_count
      Src: /src/glib/glib/tests/relation.c:107,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_relation_exists
      Src: /src/glib/glib/tests/relation.c:89,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:95,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:96,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:95,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:101,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:103,1
    - Dst: g_relation_count
      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_index
      Src: /src/glib/glib/tests/relation.c:68,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/relation.c:84,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:102,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:103,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:109,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_relation_select
      Src: /src/glib/glib/tests/relation.c:111,1
    - Dst: g_relation_delete
      Src: /src/glib/glib/tests/relation.c:105,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_delete
    - g_assert_false
    - g_relation_new
    - g_assert_cmpint
    - g_relation_index
    - g_tuples_destroy
    - g_relation_destroy
    - g_relation_select
    - g_relation_count
    - g_relation_insert
    - g_assert_true
    - g_relation_exists
    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_run
      Src: /src/glib/glib/tests/relation.c:131,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/relation.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/glib/tests/relation.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    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_get
      Src: /src/glib/glib/tests/private.c:41,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:42,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:44,1
    - Dst: g_private_set
      Src: /src/glib/glib/tests/private.c:44,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: g_private_get
      Src: /src/glib/glib/tests/private.c:49,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:50,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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_private_set
    - g_assert
    - G_PRIVATE_INIT
    - g_private_get
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_private1 (void) '
  - 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_private_set
      Src: /src/glib/glib/tests/private.c:98,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: g_thread_create
      Src: /src/glib/glib/tests/private.c:102,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:98,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_assert_cmpint
    - GINT_TO_POINTER
    - g_private_set
    - g_thread_create
    - g_private_replace
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_private2 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:141,1
    - Dst: CloseHandle
      Src: /src/glib/glib/tests/private.c:149,1
    - Dst: _beginthreadex
      Src: /src/glib/glib/tests/private.c:147,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/tests/private.c:148,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/private.c:160,1
    - Dst: pthread_create
      Src: /src/glib/glib/tests/private.c:168,1
    - Dst: pthread_join
      Src: /src/glib/glib/tests/private.c:169,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 173
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 173
    functionName: test_private3
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - _beginthreadex
    - g_assert
    - CloseHandle
    - g_test_skip
    - pthread_join
    - WaitForSingleObject
    - pthread_create
    linkageType: ''
    returnType: void
    signature: 'static void test_private3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:187,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:190,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:188,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:190,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:191,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:192,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:192,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:194,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:194,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:195,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:200,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:196,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:196,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: test_static_private1
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_assert
    - g_static_private_get
    - g_static_private_set
    - GPOINTER_TO_INT
    - g_static_private_free
    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: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    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_init
      Src: /src/glib/glib/tests/private.c:264,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:266,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:267,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:269,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:269,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:270,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:271,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:271,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:273,1
    - Dst: g_static_private_init
      Src: /src/glib/glib/tests/private.c:274,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:280,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:283,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:281,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:279,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:277,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:281,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 284
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 284
    functionName: test_static_private3
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_static_private_init
    - g_assert
    - g_static_private_get
    - g_static_private_set
    - GPOINTER_TO_INT
    - g_static_private_free
    linkageType: ''
    returnType: void
    signature: 'static void test_static_private3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/private.c:319,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/private.c:322,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:319,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: test_static_private4
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_static_private_free
    - GINT_TO_POINTER
    - g_thread_join
    - g_thread_create
    linkageType: ''
    returnType: void
    signature: 'static void test_static_private4 (void) '
  - 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_INIT
    - g_private_set
    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:215,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    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:291,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:300,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:298,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/private.c:299,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:298,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:300,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:301,1
    - Dst: g_thread_exit
      Src: /src/glib/glib/tests/private.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: sp4_func
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_static_private_get
    - g_thread_exit
    - g_usleep
    - g_static_private_set
    - GPOINTER_TO_INT
    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:368,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/private.c:374,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/private.c:371,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/private.c:373,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:371,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/private.c:375,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/private.c:377,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/private.c:378,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:380,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/private.c:382,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/private.c:383,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/private.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 387
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 387
    functionName: test_static_private5
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_thread_create
    - g_test_verbose
    - g_cond_wait
    - g_atomic_int_get
    - g_cond_broadcast
    - g_mutex_unlock
    - g_thread_join
    - g_atomic_int_set
    - g_static_private_free
    - g_mutex_lock
    - g_printerr
    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:392,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:395,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:397,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:394,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:396,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:398,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:399,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:400,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:401,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/private.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 404
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 404
    functionName: main
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:66,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/private.c:74,1
    - Dst: g_private_set
      Src: /src/glib/glib/tests/private.c:73,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:73,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:75,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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_private_set
    - g_thread_exit
    - g_usleep
    - g_private_get
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer private2_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_private_init
      Src: /src/glib/glib/tests/private.c:229,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:232,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:235,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:237,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:237,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:240,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:242,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:239,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:252,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:236,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:241,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:246,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:247,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:251,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:234,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:234,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:239,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:242,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:244,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:247,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:231,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:244,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:245,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 253
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 253
    functionName: test_static_private2
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_static_private_init
    - g_assert
    - g_static_private_get
    - g_static_private_set
    - GPOINTER_TO_INT
    - g_static_private_free
    linkageType: ''
    returnType: void
    signature: 'static void test_static_private2 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:344,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/private.c:346,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/private.c:349,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:356,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:340,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:342,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:344,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/private.c:347,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/private.c:348,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/private.c:354,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/tests/private.c:350,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:336,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:339,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:342,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/private.c:352,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:357,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/private.c:351,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/private.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 360
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 360
    functionName: sp5_func
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_cond_signal
    - g_assert
    - g_test_verbose
    - g_static_private_get
    - g_cond_wait
    - g_mutex_unlock
    - g_static_private_set
    - GPOINTER_TO_INT
    - g_atomic_int_inc
    - g_mutex_lock
    - g_printerr
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer sp5_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:117,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:125,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_cmpint
      Src: /src/glib/glib/tests/convert.c:124,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_free
      Src: /src/glib/glib/tests/convert.c:137,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:136,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_cmpint
    - g_free
    - g_assert_no_error
    - g_assert_cmpstr
    - g_convert
    linkageType: ''
    returnType: void
    signature: 'static void test_byte_order (void) '
  - 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_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_filename_to_utf8
      Src: /src/glib/glib/tests/convert.c:867,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/convert.c:864,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_get_filename_charsets
    - g_assert_false
    - g_assert_cmpuint
    - g_error_free
    - g_filename_to_utf8
    - g_assert_null
    - g_assert_error
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_to_utf8_embedded_nul_iconv (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - 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:193,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:215,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:159,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:163,1
    - Dst: strlen
      Src: /src/glib/glib/tests/convert.c:169,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:184,1
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:188,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:182,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:192,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:180,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:197,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:204,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:223,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:207,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:161,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:158,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:205,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:218,1
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:167,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_assert
      Src: /src/glib/glib/tests/convert.c:175,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:194,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:176,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:202,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_free
      Src: /src/glib/glib/tests/convert.c:226,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:208,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:216,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_cmpint
    - g_free
    - g_assert
    - g_utf8_to_ucs4
    - g_error_free
    - g_assert_no_error
    - g_utf8_to_ucs4_fast
    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: 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_setenv
      Src: /src/glib/glib/tests/convert.c:751,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/tests/convert.c:754,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:
    - setlocale
    - g_assert_false
    - g_locale_to_utf8
    - g_error_free
    - g_assert_null
    - g_get_charset
    - g_assert_error
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_to_utf8_embedded_nul_iconv (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_filename_to_utf8
      Src: /src/glib/glib/tests/convert.c:843,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_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_get_filename_charsets
    - g_assert_cmpuint
    - g_error_free
    - g_filename_to_utf8
    - g_assert_null
    - g_assert_error
    - g_assert_true
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_to_utf8_embedded_nul_utf8 (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:404,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:411,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:424,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:436,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:431,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_cmpstr
      Src: /src/glib/glib/tests/convert.c:396,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:398,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:400,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:410,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:413,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:420,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_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:437,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:409,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:412,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_free
      Src: /src/glib/glib/tests/convert.c:440,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:384,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:394,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:418,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
      Src: /src/glib/glib/tests/convert.c:423,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:430,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_cmpint
    - g_free
    - g_assert
    - g_error_free
    - g_assert_no_error
    - g_assert_cmpstr
    - g_utf16_to_utf8
    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: 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_assert_true
      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_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:
    - setlocale
    - g_assert_cmpuint
    - g_locale_to_utf8
    - g_error_free
    - g_assert_null
    - g_get_charset
    - g_assert_error
    - g_assert_true
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_to_utf8_embedded_nul_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/convert.c:804,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/convert.c:806,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:805,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/convert.c:806,1
    - Dst: g_locale_from_utf8
      Src: /src/glib/glib/tests/convert.c:808,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:
    - setlocale
    - g_assert_false
    - g_locale_from_utf8
    - g_assert_cmpuint
    - g_error_free
    - g_assert_null
    - g_get_charset
    - g_assert_error
    - g_setenv
    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:898,1
    - Dst: g_filename_from_utf8
      Src: /src/glib/glib/tests/convert.c:902,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_get_filename_charsets
      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_get_filename_charsets
    - g_assert_cmpuint
    - g_error_free
    - g_filename_from_utf8
    - g_assert_null
    - g_assert_error
    - g_assert_true
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_from_utf8_embedded_nul_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:922,1
    - Dst: g_get_filename_charsets
      Src: /src/glib/glib/tests/convert.c:923,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/convert.c:923,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/convert.c:928,1
    - Dst: g_filename_from_utf8
      Src: /src/glib/glib/tests/convert.c:926,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_get_filename_charsets
    - g_assert_false
    - g_assert_cmpuint
    - g_error_free
    - g_filename_from_utf8
    - g_assert_null
    - g_assert_error
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_from_utf8_embedded_nul_iconv (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:466,1
    - Dst: g_ucs4_to_utf16
      Src: /src/glib/glib/tests/convert.c:464,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_error_free
      Src: /src/glib/glib/tests/convert.c:491,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:468,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:485,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:497,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:467,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:472,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:484,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:490,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:489,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:500,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:502,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_cmpint
      Src: /src/glib/glib/tests/convert.c:469,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:474,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_assert
      Src: /src/glib/glib/tests/convert.c:498,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:503,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:509,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_cmpint
    - g_free
    - g_ucs4_to_utf16
    - g_assert
    - g_error_free
    - g_assert_no_error
    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: 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:943,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:947,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:948,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:878,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
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:881,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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:253,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
      Src: /src/glib/glib/tests/convert.c:273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:281,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:291,1
    - Dst: g_ucs4_to_utf8
      Src: /src/glib/glib/tests/convert.c:243,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:254,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:269,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:279,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:271,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_cmpstr
      Src: /src/glib/glib/tests/convert.c:287,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:268,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:282,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:286,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:252,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_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:256,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:258,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:260,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:275,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:290,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_cmpint
    - g_free
    - g_assert
    - g_error_free
    - g_assert_no_error
    - g_assert_cmpstr
    - g_ucs4_to_utf8
    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_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_filename_from_utf8
      Src: /src/glib/glib/tests/convert.c:670,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:671,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:672,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_free
    - g_assert_no_error
    - g_assert_cmpstr
    - g_filename_to_utf8
    - g_filename_from_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/tests/convert.c:957,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:962,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:960,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:964,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 965
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 965
    functionName: test_filename_from_uri_query_is_ignored
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_free
    - g_assert_cmpstr
    - g_filename_from_uri
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_from_uri_query_is_ignored (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:317,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:321,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:338,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:329,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
      Src: /src/glib/glib/tests/convert.c:348,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:350,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:362,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:308,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:318,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_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:345,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:346,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:357,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:367,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:364,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:323,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_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:314,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:315,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:325,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_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_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_assert_cmpint
    - g_free
    - g_utf8_to_utf16
    - g_assert
    - g_error_free
    - g_assert_no_error
    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_free
      Src: /src/glib/glib/tests/convert.c:687,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:685,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_free
    - g_assert_cmpstr
    - g_filename_display_basename
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_display (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/tests/convert.c:973,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:978,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:974,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:976,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 981
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 981
    functionName: test_filename_from_uri_fragment_is_ignored
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_free
    - g_assert_cmpstr
    - g_filename_from_uri
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_from_uri_fragment_is_ignored (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:77,1
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:81,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:91,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:76,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:78,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:87,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:103,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:89,1
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:70,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:88,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
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:102,1
    - Dst: g_convert_with_fallback
      Src: /src/glib/glib/tests/convert.c:93,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:75,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/convert.c:90,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_assert_cmpint
    - g_free
    - g_assert_no_error
    - g_assert_cmpstr
    - g_clear_error
    - g_assert_error
    - g_convert_with_fallback
    - g_convert
    linkageType: ''
    returnType: void
    signature: 'static void test_one_half (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - 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
      Src: /src/glib/glib/tests/convert.c:538,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:540,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:552,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:564,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:572,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_error_free
      Src: /src/glib/glib/tests/convert.c:557,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:561,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:554,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_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:526,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:534,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:533,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:535,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:542,1
    - Dst: g_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:546,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:556,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:562,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:553,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:563,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:566,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:568,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:573,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:575,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_free
      Src: /src/glib/glib/tests/convert.c:586,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:567,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_cmpint
    - g_free
    - g_assert
    - g_utf16_to_ucs4
    - g_error_free
    - g_assert_no_error
    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_convert
      Src: /src/glib/glib/tests/convert.c:700,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:702,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_cmpmem
      Src: /src/glib/glib/tests/convert.c:704,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_free
    - g_assert_cmpuint
    - g_assert_no_error
    - g_assert_cmpmem
    - g_convert
    linkageType: ''
    returnType: void
    signature: 'static void test_convert_embedded_nul (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ucs4_to_utf16
      Src: /src/glib/glib/tests/convert.c:604,1
    - Dst: check_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:603,1
    - 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_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:631,1
    - Dst: check_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:623,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
    - 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_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:602,1
    - Dst: check_ucs4_to_utf8
      Src: /src/glib/glib/tests/convert.c:601,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_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:639,1
    - Dst: check_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:616,1
    - Dst: check_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:640,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_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:624,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_utf16
    - check_utf8_to_utf16
    - check_utf16_to_ucs4
    - check_ucs4_to_utf8
    - check_utf8_to_ucs4
    - check_utf16_to_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_unicode_conversions (void) '
  - 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:716,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:713,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: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:988,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:1004,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:1003,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:1001,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:1000,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:1009,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1007,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/convert.c:986,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:991,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:990,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:989,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:992,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:993,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:994,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:996,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:1008,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/convert.c:1011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1012
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1012
    functionName: main
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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:52,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:53,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_cmpint
    - g_free
    - g_assert_no_error
    - g_assert_cmpstr
    - g_convert
    linkageType: ''
    returnType: void
    signature: 'static void test_iconv_state (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/convert.c:782,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:783,1
    - Dst: g_assert_true
      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_get_charset
      Src: /src/glib/glib/tests/convert.c:784,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:
    - setlocale
    - g_locale_from_utf8
    - g_assert_cmpuint
    - g_error_free
    - g_assert_null
    - g_get_charset
    - g_assert_error
    - g_assert_true
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_from_utf8_embedded_nul_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_completion_new
      Src: /src/glib/glib/tests/completion.c:47,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/completion.c:52,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:54,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:82,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:89,1
    - Dst: g_completion_free
      Src: /src/glib/glib/tests/completion.c:92,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:82,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:51,1
    - Dst: g_completion_add_items
      Src: /src/glib/glib/tests/completion.c:55,1
    - Dst: g_completion_complete_utf8
      Src: /src/glib/glib/tests/completion.c:63,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:65,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_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_completion_complete_utf8
      Src: /src/glib/glib/tests/completion.c:81,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/completion.c:56,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/completion.c:59,1
    - Dst: g_free
      Src: /src/glib/glib/tests/completion.c:66,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:70,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/completion.c:84,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:79,1
    - Dst: g_free
      Src: /src/glib/glib/tests/completion.c:90,1
    - Dst: g_completion_complete_utf8
      Src: /src/glib/glib/tests/completion.c:88,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:60,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:65,1
    - Dst: g_free
      Src: /src/glib/glib/tests/completion.c:61,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/completion.c:64,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/completion.c:69,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:70,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_completion_remove_items
      Src: /src/glib/glib/tests/completion.c:85,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:79,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/completion.c:86,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_add_items
    - g_assert_cmpint
    - g_free
    - g_completion_remove_items
    - g_list_append
    - g_completion_set_compare
    - g_assert_cmpstr
    - g_completion_new
    - g_list_length
    - g_completion_free
    - g_list_free
    - g_completion_complete_utf8
    - g_completion_complete
    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_run
    - g_test_init
    - g_test_add_func
    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_add_func
      Src: /src/glib/glib/tests/max-version.c:47,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/max-version.c:48,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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_io_channel_new_file
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_io_channel (void) '
  - 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_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_mutex_unlock
    - g_assert_true
    - g_mutex_trylock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer mutex_unlocked_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:431,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/autoptr.c:432,1
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/tests/autoptr.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: rec_mutex_unlocked_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_trylock
    - g_assert_true
    - g_rec_mutex_unlock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer rec_mutex_unlocked_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_init
      Src: /src/glib/glib/tests/autoptr.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 540
    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:616,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 618
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 618
    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_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_assert_nonnull
    - g_key_file_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_key_file (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_unref
      Src: /src/glib/glib/tests/autoptr.c:195,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/glib/tests/autoptr.c:193,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_false
    - g_assert_true
    - g_main_context_pusher_new
    - g_assert_nonnull
    - g_main_context_unref
    - g_main_context_get_thread_default
    - g_main_context_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: 2
    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:408,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:409,1
    - Dst: g_mutex_locker_new
      Src: /src/glib/glib/tests/autoptr.c:403,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:405,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:413,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 415
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 415
    functionName: test_g_mutex_locker
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_mutex_locker_new
    - g_assert_nonnull
    - g_thread_new
    - g_thread_join
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void test_g_mutex_locker (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/autoptr.c:545,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 547
    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:624,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/autoptr.c:632,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/autoptr.c:634,1
    - Dst: g_path_buf_new_from_path
      Src: /src/glib/glib/tests/autoptr.c:629,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/autoptr.c:627,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/autoptr.c:638,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/autoptr.c:639,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/autoptr.c:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 642
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 642
    functionName: test_pathbuf
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_path_buf_new_from_path
    - g_path_buf_push
    - g_assert_cmpstr
    - g_test_skip
    - g_path_buf_to_path
    linkageType: ''
    returnType: void
    signature: 'static void test_pathbuf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: mark_freed
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mark_freed (gpointer ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:422,1
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/tests/autoptr.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: rec_mutex_locked_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_trylock
    - g_assert_false
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer rec_mutex_locked_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:719,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/autoptr.c:726,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:721,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/autoptr.c:724,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:720,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/autoptr.c:727,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:732,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:733,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:735,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/autoptr.c:737,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 739
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 739
    functionName: test_autoqueue
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    - g_assert_false
    - g_queue_new
    - g_queue_push_tail
    - g_bytes_unref
    - g_queue_push_head
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_autoqueue (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:481,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/autoptr.c:482,1
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/autoptr.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 484
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 484
    functionName: rw_lock_can_take_reader_lock_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_unlock
    - g_assert_true
    - 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_variant_new_fixed_array
      Src: /src/glib/glib/tests/autoptr.c:583,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/tests/autoptr.c:584,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: test_g_variant_iter
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_variant_iter_new
    - g_variant_new_fixed_array
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant_iter (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_async_queue_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_async_queue (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_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_assert_nonnull
    - g_dir_open
    linkageType: ''
    returnType: void
    signature: 'static void test_g_dir (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_assert_nonnull
    - g_main_loop_new
    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_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_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/autoptr.c:13,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:19,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/autoptr.c:32,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_malloc
    - g_assert_null
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_autofree (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_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_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_assert_nonnull
    - g_regex_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_regex (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_locker_new
      Src: /src/glib/glib/tests/autoptr.c:496,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:516,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:519,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:523,1
    - Dst: g_rw_lock_init
      Src: /src/glib/glib/tests/autoptr.c:492,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:498,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:501,1
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/autoptr.c:505,1
    - Dst: g_rw_lock_reader_locker_new
      Src: /src/glib/glib/tests/autoptr.c:510,1
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/autoptr.c:529,1
    - Dst: g_rw_lock_clear
      Src: /src/glib/glib/tests/autoptr.c:532,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:512,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:515,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:524,1
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/autoptr.c:519,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/autoptr.c:530,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:529,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:502,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:505,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/autoptr.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 533
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 533
    functionName: test_g_rw_lock_lockers
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_rw_lock_writer_trylock
    - g_assert_nonnull
    - g_rw_lock_writer_unlock
    - g_rw_lock_reader_unlock
    - g_rw_lock_reader_locker_new
    - g_thread_new
    - g_rw_lock_init
    - g_thread_join
    - g_rw_lock_writer_locker_new
    - g_rw_lock_reader_trylock
    - g_rw_lock_clear
    - g_assert_true
    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:559,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: test_g_tree
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_tree_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_tree (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:658,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/autoptr.c:666,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:660,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/autoptr.c:665,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:659,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:674,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:675,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:677,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/autoptr.c:679,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 681
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 681
    functionName: test_autolist
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    - g_assert_false
    - g_list_prepend
    - g_bytes_unref
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_autolist (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:746,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:748,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:747,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:749,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:758,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:759,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:763,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:762,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:761,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:760,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:775,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:774,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:788,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:779,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:777,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:794,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/autoptr.c:803,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:768,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:785,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:765,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:782,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:786,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:772,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:789,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:770,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:787,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/autoptr.c:744,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:750,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:751,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:752,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:753,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:754,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:757,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:756,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:755,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:767,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:776,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:773,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:790,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:780,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:778,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:766,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:783,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:784,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:801,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:764,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:781,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:771,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 804
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 804
    functionName: main
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/autoptr.c:552,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: test_g_time_zone
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_time_zone_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_g_time_zone (void) '
  - 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_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:216,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/autoptr.c:215,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_assert_nonnull
    - g_test_get_filename
    - g_mapped_file_new
    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_markup_parse_context_new
    - g_assert_nonnull
    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_match
    - g_assert_not_reached
    - g_regex_new
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_init
      Src: /src/glib/glib/tests/autoptr.c:442,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:449,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:452,1
    - Dst: g_rec_mutex_locker_new
      Src: /src/glib/glib/tests/autoptr.c:446,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:453,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/autoptr.c:453,1
    - Dst: g_rec_mutex_locker_new
      Src: /src/glib/glib/tests/autoptr.c:455,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:456,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:457,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/autoptr.c:457,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:461,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:462,1
    - Dst: g_rec_mutex_clear
      Src: /src/glib/glib/tests/autoptr.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 465
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 465
    functionName: test_g_rec_mutex_locker
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_steal_pointer
    - g_rec_mutex_init
    - g_thread_new
    - g_thread_join
    - g_rec_mutex_locker_new
    - g_rec_mutex_clear
    linkageType: ''
    returnType: void
    signature: 'static void test_g_rec_mutex_locker (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/autoptr.c:566,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: test_g_variant
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_variant_new_string
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant (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_byte_array_new
    - g_assert_nonnull
    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_node_new
    - g_assert_nonnull
    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_assert_nonnull
    - g_scanner_new
    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_assert_nonnull
    - g_string_chunk_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_string_chunk (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_new
      Src: /src/glib/glib/tests/autoptr.c:573,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:576,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/autoptr.c:573,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/autoptr.c:577,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/autoptr.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 578
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 578
    functionName: test_g_variant_builder
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_nonnull
    - g_variant_builder_init
    - g_variant_builder_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant_builder (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/autoptr.c:591,1
    - Dst: g_variant_dict_init
      Src: /src/glib/glib/tests/autoptr.c:595,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:596,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/autoptr.c:591,1
    - Dst: g_variant_dict_new
      Src: /src/glib/glib/tests/autoptr.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 597
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 597
    functionName: test_g_variant_dict
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_nonnull
    - g_variant_dict_init
    - g_variant_new_from_data
    - g_variant_dict_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant_dict (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_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_hash_table_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_hash_table (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_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_sequence_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_sequence (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_new
      Src: /src/glib/glib/tests/autoptr.c:602,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: test_g_variant_type
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_variant_type_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant_type (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_hmac_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_hmac (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/autoptr.c:282,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/autoptr.c:285,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:284,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_assert_nonnull
    - g_queue_new
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_g_queue (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/autoptr.c:333,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/autoptr.c:334,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:335,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/autoptr.c:609,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 611
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 611
    functionName: test_strv
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_strsplit
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_strv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:690,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:692,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/autoptr.c:697,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:691,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/autoptr.c:698,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:703,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:704,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:706,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/autoptr.c:708,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 710
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 710
    functionName: test_autoslist
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    - g_assert_false
    - g_bytes_unref
    - g_slist_prepend
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_autoslist (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:472,1
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/autoptr.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 474
    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_mutex_init
      Src: /src/glib/glib/tests/mutex.c:38,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:40,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:42,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:39,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_unlock
    - g_mutex_clear
    - g_mutex_init
    - 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_new
    - g_mutex_unlock
    - g_mutex_free
    - 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: g_rand_free
      Src: /src/glib/glib/tests/mutex.c:134,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
    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:
    - g_rand_free
    - g_rand_int_range
    - g_rand_new
    - acquire
    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_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:172,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_test_bug
      Src: /src/glib/glib/tests/mutex.c:167,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_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:189,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mutex.c:190,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_assert_cmpint
    - g_mutex_trylock
    - g_mutex_unlock
    - g_test_summary
    - g_test_bug
    - g_mutex_lock
    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_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:83,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mutex.c:77,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:81,1
    - Dst: g_mutex_trylock
      Src: /src/glib/glib/tests/mutex.c:80,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_unlock
    - g_mutex_trylock
    linkageType: ''
    returnType: void
    signature: 'static void test_mutex4 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/mutex.c:99,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:106,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/mutex.c:103,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/mutex.c:104,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_assert
    - g_test_verbose
    - g_mutex_trylock
    - g_thread_self
    - g_mutex_unlock
    - g_mutex_lock
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void acquire (gint nr) '
  - 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:52,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
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/mutex.c:146,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/mutex.c:149,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/mutex.c:155,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mutex.c:152,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mutex.c:158,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_thread_create
    - g_assert
    - g_thread_join
    - g_mutex_init
    - g_mutex_clear
    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_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
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/mutex.c:208,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_thread_new
    - g_mutex_init
    - 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_assert
      Src: /src/glib/glib/tests/mutex.c:256,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mutex.c:256,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/mutex.c:259,1
    - Dst: g_test_perf
      Src: /src/glib/glib/tests/mutex.c:254,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_get_monotonic_time
      Src: /src/glib/glib/tests/mutex.c:266,1
    - Dst: g_test_maximized_result
      Src: /src/glib/glib/tests/mutex.c:272,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_assert_cmpint
    - GPOINTER_TO_UINT
    - g_thread_create
    - g_assert
    - addition_thread
    - g_atomic_int_get
    - g_test_maximized_result
    - g_thread_join
    - g_get_monotonic_time
    - g_test_perf
    - G_N_ELEMENTS
    - g_atomic_int_set
    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:281,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:283,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: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_add_data_func
      Src: /src/glib/glib/tests/mutex.c:296,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/mutex.c:296,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/mutex.c:300,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_data_func
    - GUINT_TO_POINTER
    - g_test_add_func
    - g_test_run
    - g_test_init
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:148,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:155,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-pool-slow.c:153,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:151,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:153,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: test_thread_pools_entry_func
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_random_int_range
    - g_usleep
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_pools_entry_func (gpointer data, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      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:82,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:87,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:92,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:95,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:97,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:75,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:78,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:72,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:79,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:82,1
    - Dst: g_thread_pool_stop_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:85,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:90,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:94,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:71,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:81,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:81,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:88,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:90,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:94,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 98
    functionName: test_thread_stop_unused
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_get_num_unused_threads
    - g_assert_cmpuint
    - g_thread_pool_push
    - GUINT_TO_POINTER
    - g_thread_pool_get_num_threads
    - g_thread_pool_free
    - g_thread_pool_new
    - g_usleep
    - g_thread_pool_set_max_unused_threads
    - g_thread_pool_stop_unused_threads
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_stop_unused (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/thread-pool-slow.c:198,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/thread-pool-slow.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: test_thread_sort_compare_func
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: gint
    signature: 'static gint test_thread_sort_compare_func (gconstpointer a, gconstpointer
      b, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:265,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:271,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:266,1
    - Dst: g_thread_pool_set_sort_function
      Src: /src/glib/glib/tests/thread-pool-slow.c:274,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-pool-slow.c:282,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:283,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:283,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/thread-pool-slow.c:284,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:288,1
    - Dst: g_thread_pool_unprocessed
      Src: /src/glib/glib/tests/thread-pool-slow.c:289,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:292,1
    - Dst: g_thread_pool_get_max_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:292,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:293,1
    - Dst: g_thread_pool_get_max_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:294,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:295,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - sort
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 296
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 296
    functionName: test_thread_sort
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_thread_pool_unprocessed
    - g_assert_cmpuint
    - g_random_int_range
    - g_thread_pool_push
    - g_thread_pool_set_sort_function
    - GUINT_TO_POINTER
    - g_thread_pool_get_num_threads
    - g_thread_pool_new
    - g_thread_pool_get_max_threads
    - g_thread_pool_free
    - g_thread_pool_set_max_unused_threads
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_sort (gboolean sort) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:310,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: test_thread_idle_timeout
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_push
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_thread_idle_timeout (gpointer data) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/thread-pool-slow.c:360,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/thread-pool-slow.c:392,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:411,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:403,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/thread-pool-slow.c:423,1
    - Dst: g_thread_pool_unprocessed
      Src: /src/glib/glib/tests/thread-pool-slow.c:424,1
    - Dst: test_thread_functions
      Src: /src/glib/glib/tests/thread-pool-slow.c:368,1
    - Dst: test_thread_stop_unused_multiple
      Src: /src/glib/glib/tests/thread-pool-slow.c:386,1
    - Dst: test_thread_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:389,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/thread-pool-slow.c:413,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/thread-pool-slow.c:405,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/thread-pool-slow.c:393,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:415,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:407,1
    - Dst: test_thread_sort
      Src: /src/glib/glib/tests/thread-pool-slow.c:377,1
    - Dst: test_thread_pools
      Src: /src/glib/glib/tests/thread-pool-slow.c:374,1
    - Dst: test_thread_stop_unused
      Src: /src/glib/glib/tests/thread-pool-slow.c:371,1
    - Dst: test_thread_sort
      Src: /src/glib/glib/tests/thread-pool-slow.c:380,1
    - Dst: test_thread_stop_unused
      Src: /src/glib/glib/tests/thread-pool-slow.c:383,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:421,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 432
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 432
    functionName: test_check_start_and_stop
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_test_message
    - test_thread_stop_unused_multiple
    - g_thread_pool_get_num_unused_threads
    - G_LOCK
    - g_thread_pool_unprocessed
    - G_UNLOCK
    - test_thread_sort
    - test_thread_functions
    - test_thread_stop_unused
    - test_thread_pools
    - test_thread_idle_time
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_check_start_and_stop (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:43,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:48,1
    - Dst: g_thread_pool_get_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:48,1
    - Dst: g_thread_pool_stop_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:50,1
    - Dst: g_thread_pool_set_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:54,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:56,1
    - Dst: g_thread_pool_get_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:56,1
    - Dst: g_thread_pool_set_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:60,1
    - Dst: g_thread_pool_get_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: test_thread_functions
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_thread_pool_set_max_idle_time
    - g_thread_pool_get_num_unused_threads
    - g_thread_pool_get_max_unused_threads
    - g_thread_pool_get_max_idle_time
    - g_thread_pool_set_max_unused_threads
    - g_thread_pool_stop_unused_threads
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_functions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/thread-pool-slow.c:111,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:116,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:113,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:124,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:129,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:130,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:136,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:129,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:139,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:116,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/thread-pool-slow.c:123,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/thread-pool-slow.c:127,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:130,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:137,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/thread-pool-slow.c:141,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:142,1
    - Dst: g_thread_pool_stop_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:134,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:109,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 143
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 143
    functionName: test_thread_stop_unused_multiple
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_get_num_unused_threads
    - g_assert_cmpuint
    - g_thread_pool_push
    - GUINT_TO_POINTER
    - g_thread_pool_get_num_threads
    - g_thread_pool_free
    - g_thread_pool_new
    - g_usleep
    - G_N_ELEMENTS
    - g_thread_pool_set_max_unused_threads
    - g_thread_pool_stop_unused_threads
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_stop_unused_multiple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:169,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:176,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:176,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:170,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:171,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:177,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:177,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:178,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:178,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:180,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:185,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:182,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:187,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:186,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 191
    functionName: test_thread_pools
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - G_LOCK
    - g_thread_pool_push
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_thread_pool_free
    - g_thread_pool_new
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_pools (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:210,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-pool-slow.c:213,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:236,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/thread-pool-slow.c:212,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:220,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 239
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 239
    functionName: test_thread_sort_entry_func
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - GPOINTER_TO_UINT
    - G_LOCK
    - G_UNLOCK
    - g_usleep
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_sort_entry_func (gpointer data, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: test_thread_idle_time_entry_func
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_usleep
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_idle_time_entry_func (gpointer data, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:333,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:330,1
    - Dst: g_thread_pool_set_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:331,1
    - Dst: g_thread_pool_set_max_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:329,1
    - Dst: g_thread_pool_get_max_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:333,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:335,1
    - Dst: g_thread_pool_get_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:335,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:337,1
    - Dst: g_thread_pool_get_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:337,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:340,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:343,1
    - Dst: g_thread_pool_unprocessed
      Src: /src/glib/glib/tests/thread-pool-slow.c:343,1
    - Dst: g_timeout_add
      Src: /src/glib/glib/tests/thread-pool-slow.c:345,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:340,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: test_thread_idle_time
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_thread_pool_set_max_idle_time
    - g_thread_pool_unprocessed
    - g_thread_pool_push
    - g_thread_pool_get_max_unused_threads
    - GUINT_TO_POINTER
    - g_thread_pool_get_max_threads
    - g_thread_pool_new
    - g_thread_pool_set_max_threads
    - g_thread_pool_get_max_idle_time
    - g_timeout_add
    - g_thread_pool_set_max_unused_threads
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_idle_time (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_add
      Src: /src/glib/glib/tests/thread-pool-slow.c:437,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:439,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/thread-pool-slow.c:441,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/thread-pool-slow.c:440,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: test_threadpool_basics
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_free
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_timeout_add
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_basics (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/thread-pool-slow.c:449,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/thread-pool-slow.c:453,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-pool-slow.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: main
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    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
      Src: /src/glib/glib/tests/collate.c:66,1
    - Dst: g_utf8_collate_key_for_filename
      Src: /src/glib/glib/tests/collate.c:64,1
    - Dst: g_array_set_clear_func
      Src: /src/glib/glib/tests/collate.c:58,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/collate.c:57,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_utf8_collate_key_for_filename
    - g_array_index
    - g_array_new
    - g_assert_cmpstr
    - g_test_skip
    - g_array_append_val
    - qsort
    - g_array_free
    - g_utf8_collate_key
    - g_array_set_clear_func
    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: g_setenv
      Src: /src/glib/glib/tests/collate.c:279,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/collate.c:280,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/collate.c:283,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/collate.c:281,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_free
      Src: /src/glib/glib/tests/collate.c:306,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/collate.c:308,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/collate.c:305,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/collate.c:312,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/collate.c:307,1
    - Dst: g_free
      Src: /src/glib/glib/tests/collate.c:309,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:
    - setlocale
    - g_test_message
    - g_free
    - g_test_add_data_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - strcmp
    - G_N_ELEMENTS
    - g_setenv
    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_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_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_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:568,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:648,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:234,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:545,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_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:355,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:653,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:436,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:507,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:708,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:496,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:323,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:368,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:395,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_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:655,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:263,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:442,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/tests/bookmarkfile.c:401,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:501,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:266,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:304,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:325,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:570,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:357,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:450,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:217,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:246,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_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:525,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:206,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:535,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:249,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:175,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:293,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:692,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_false
      Src: /src/glib/glib/tests/bookmarkfile.c:185,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_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_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:169,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:200,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:692,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:380,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:191,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:691,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:531,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:612,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: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: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_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:499,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:606,1
    - Dst: g_bookmark_file_set_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:319,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:339,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:645,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:654,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_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:445,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:431,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:700,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:576,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_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_test_undefined
      Src: /src/glib/glib/tests/bookmarkfile.c:158,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:396,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:604,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:493,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:573,1
    - Dst: g_bookmark_file_load_from_data
      Src: /src/glib/glib/tests/bookmarkfile.c:619,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:682,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:161,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_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:487,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:530,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:465,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_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:578,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_unlink
      Src: /src/glib/glib/tests/bookmarkfile.c:712,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_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:624,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:706,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:224,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:167,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:202,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:310,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:406,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:620,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:704,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:515,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:535,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:225,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:299,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:509,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_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:395,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:418,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:666,1
    - Dst: g_bookmark_file_set_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:454,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:197,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_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:346,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:667,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_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_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_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:203,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:209,1
    - Dst: g_bookmark_file_add_group
      Src: /src/glib/glib/tests/bookmarkfile.c:427,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:350,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:458,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:589,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:170,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:552,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:638,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:460,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:584,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:559,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_error
      Src: /src/glib/glib/tests/bookmarkfile.c:661,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:687,1
    - Dst: g_bookmark_file_remove_group
      Src: /src/glib/glib/tests/bookmarkfile.c:675,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_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:258,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:242,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:213,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:298,1
    - Dst: g_bookmark_file_set_title
      Src: /src/glib/glib/tests/bookmarkfile.c:236,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:596,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:585,1
    - Dst: g_bookmark_file_get_applications
      Src: /src/glib/glib/tests/bookmarkfile.c:572,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:677,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:482,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:178,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:191,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:326,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:611,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:619,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_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:399,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_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:606,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:565,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:681,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:181,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:625,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:660,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:546,1
    - Dst: g_bookmark_file_get_uris
      Src: /src/glib/glib/tests/bookmarkfile.c:230,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_bookmark_file_get_size
      Src: /src/glib/glib/tests/bookmarkfile.c:578,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:220,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:192,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:301,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:317,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:363,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:485,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:561,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:390,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:228,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:211,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:334,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:517,1
    - Dst: g_bookmark_file_set_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:314,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:624,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_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:465,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:643,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:659,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:697,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:428,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:183,1
    - Dst: g_bookmark_file_set_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:265,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_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:627,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:526,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:671,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:540,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:460,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:472,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:219,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:373,1
    - Dst: g_bookmark_file_get_uris
      Src: /src/glib/glib/tests/bookmarkfile.c:642,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:536,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:590,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:195,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:271,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:649,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:530,1
    - Dst: g_bookmark_file_get_applications
      Src: /src/glib/glib/tests/bookmarkfile.c:567,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:609,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:214,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:268,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: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:452,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:285,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_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:425,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:163,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:377,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:656,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_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:648,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:650,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:654,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:230,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:252,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:276,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:296,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:341,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:584,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:662,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:364,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:413,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
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:172,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:353,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:407,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:471,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:461,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:665,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:298,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:469,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:551,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:660,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:197,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:330,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:557,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_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:347,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:598,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:180,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_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:693,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:697,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:402,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:231,1
    - Dst: g_bookmark_file_load_from_data
      Src: /src/glib/glib/tests/bookmarkfile.c:163,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:164,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:328,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:344,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:404,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:666,1
    - Dst: g_bookmark_file_set_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:444,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:699,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:519,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/tests/bookmarkfile.c:406,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_null
      Src: /src/glib/glib/tests/bookmarkfile.c:567,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:243,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:169,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:189,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:653,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_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:711,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:562,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_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:675,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:678,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:512,1
    - Dst: g_bookmark_file_set_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:595,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_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:554,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:601,1
    - Dst: g_bookmark_file_set_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:292,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_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:237,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:198,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:208,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:281,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:312,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_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:174,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:593,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:587,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:476,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:447,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_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_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:621,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:631,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_get_added_date_time
    - g_bookmark_file_set_mime_type
    - g_test_assert_expected_messages
    - g_bookmark_file_get_is_private
    - g_bookmark_file_to_file
    - g_bookmark_file_get_application_info
    - g_bookmark_file_get_groups
    - g_clear_error
    - g_bookmark_file_load_from_file
    - g_bookmark_file_get_mime_type
    - g_bookmark_file_to_data
    - g_bookmark_file_add_group
    - g_bookmark_file_remove_application
    - g_test_undefined
    - g_bookmark_file_load_from_data
    - g_assert_cmpint
    - g_bookmark_file_move_item
    - g_bookmark_file_has_group
    - g_assert_nonnull
    - g_bookmark_file_add_application
    - g_bookmark_file_free
    - g_test_expect_message
    - g_bookmark_file_set_title
    - g_bookmark_file_remove_group
    - g_bookmark_file_get_modified_date_time
    - g_bookmark_file_set_is_private
    - g_bookmark_file_get_title
    - g_bookmark_file_set_visited_date_time
    - g_bookmark_file_set_groups
    - g_bookmark_file_new
    - g_bookmark_file_set_modified_date_time
    - g_bookmark_file_get_visited_date_time
    - g_assert_no_error
    - g_bookmark_file_has_application
    - g_bookmark_file_get_uris
    - g_assert_null
    - g_unlink
    - g_assert_error
    - g_bookmark_file_set_icon
    - g_assert_false
    - g_bookmark_file_set_added_date_time
    - g_bookmark_file_remove_item
    - g_free
    - g_bookmark_file_get_applications
    - g_bookmark_file_load_from_data_dirs
    - g_bookmark_file_get_icon
    - g_assert_cmpstr
    - g_bookmark_file_set_description
    - g_bookmark_file_set_application_info
    - g_bookmark_file_get_description
    - g_bookmark_file_has_item
    - g_bookmark_file_get_size
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_corner_cases (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:44,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:56,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:70,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:95,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:93,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:89,1
    - Dst: remove
      Src: /src/glib/glib/tests/bookmarkfile.c:72,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:58,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:60,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:82,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:94,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:81,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/bookmarkfile.c:49,1
    - Dst: g_bookmark_file_set_title
      Src: /src/glib/glib/tests/bookmarkfile.c:50,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_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:59,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:63,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: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:74,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/bookmarkfile.c:43,1
    - Dst: g_close
      Src: /src/glib/glib/tests/bookmarkfile.c:45,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:47,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:64,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:65,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:68,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:69,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:86,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:90,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_close
    - g_bookmark_file_set_mime_type
    - g_bookmark_file_to_file
    - g_bookmark_file_load_from_file
    - g_bookmark_file_get_mime_type
    - g_assert_cmpint
    - g_file_open_tmp
    - g_bookmark_file_add_application
    - remove
    - g_bookmark_file_set_title
    - g_bookmark_file_free
    - g_bookmark_file_get_title
    - g_bookmark_file_new
    - g_test_get_filename
    - g_assert_no_error
    - g_test_message
    - g_free
    - g_assert_cmpstr
    - g_file_get_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_to_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_set_added
      Src: /src/glib/glib/tests/bookmarkfile.c:917,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:920,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:940,1
    - Dst: g_bookmark_file_get_modified
      Src: /src/glib/glib/tests/bookmarkfile.c:943,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:944,1
    - Dst: g_bookmark_file_set_visited
      Src: /src/glib/glib/tests/bookmarkfile.c:949,1
    - Dst: g_bookmark_file_get_visited
      Src: /src/glib/glib/tests/bookmarkfile.c:950,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:951,1
    - Dst: g_bookmark_file_set_visited
      Src: /src/glib/glib/tests/bookmarkfile.c:954,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:978,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/bookmarkfile.c:913,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_set_modified
      Src: /src/glib/glib/tests/bookmarkfile.c:938,1
    - Dst: g_bookmark_file_get_modified
      Src: /src/glib/glib/tests/bookmarkfile.c:934,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:929,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:936,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:946,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_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:979,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:984,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:985,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:990,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:971,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:981,1
    - Dst: g_bookmark_file_set_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:974,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:919,1
    - Dst: g_bookmark_file_get_added
      Src: /src/glib/glib/tests/bookmarkfile.c:918,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:925,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:945,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_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:975,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:967,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:988,1
    - Dst: g_bookmark_file_get_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:983,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:989,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:970,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:976,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:914,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:924,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_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_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_bookmark_file_set_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:965,1
    - Dst: g_bookmark_file_get_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:969,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:972,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:966,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:992,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_assert_cmpint
    - g_bookmark_file_get_app_info
    - g_assert_false
    - g_bookmark_file_get_modified
    - g_bookmark_file_get_visited
    - g_bookmark_file_set_added
    - g_bookmark_file_set_visited
    - g_assert_no_error
    - g_bookmark_file_free
    - g_clear_error
    - g_bookmark_file_set_modified
    - g_assert_error
    - g_bookmark_file_get_added
    - g_get_real_time
    - g_assert_true
    - g_bookmark_file_set_app_info
    - g_bookmark_file_new
    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_has_item
      Src: /src/glib/glib/tests/bookmarkfile.c:1028,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_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_has_item
      Src: /src/glib/glib/tests/bookmarkfile.c:1037,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:1040,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1041,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:1039,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
    - Dst: g_error_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1042,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_cmpint
    - g_assert_false
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_error_free
    - g_bookmark_file_get_mime_type
    - g_bookmark_file_get_uris
    - g_strfreev
    - g_assert_null
    - g_assert_error
    - g_bookmark_file_has_item
    - g_bookmark_file_get_size
    - g_assert_true
    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: test_query
      Src: /src/glib/glib/tests/bookmarkfile.c:1232,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:1226,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:
    - test_modify
    - test_query
    - test_load
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_bookmark_file_free
    - strstr
    - g_bookmark_file_to_data
    - g_assert_true
    - g_bookmark_file_new
    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_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:22,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:25,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:26,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_assert_false
    - g_bookmark_file_load_from_data_dirs
    - g_error_free
    - g_bookmark_file_free
    - g_assert_null
    - g_assert_error
    - g_bookmark_file_new
    linkageType: ''
    returnType: void
    signature: 'static void test_load_from_data_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:837,1
    - Dst: g_bookmark_file_has_application
      Src: /src/glib/glib/tests/bookmarkfile.c:867,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:895,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:898,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:821,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:727,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:803,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:821,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:853,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/bookmarkfile.c:887,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:852,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:803,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:780,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:809,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:838,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:807,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:814,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:837,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_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:838,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:786,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:740,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:742,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:763,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:865,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:854,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:819,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:817,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_bookmark_file_set_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:783,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_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:871,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:893,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:804,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:760,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:790,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_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:739,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:757,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:765,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:840,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:885,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:732,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_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:836,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:834,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:873,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:900,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:828,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:804,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_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:894,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:851,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:734,1
    - Dst: g_bookmark_file_get_description
      Src: /src/glib/glib/tests/bookmarkfile.c:754,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_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:888,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:894,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_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:880,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/bookmarkfile.c:887,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:897,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:781,1
    - Dst: g_bookmark_file_set_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:842,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:769,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:776,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:823,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:831,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:789,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:826,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:875,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bookmarkfile.c:891,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:811,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:748,1
    - Dst: g_bookmark_file_set_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:773,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:864,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:820,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:895,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:839,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:846,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
    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_bookmark_file_get_added_date_time
    - g_bookmark_file_set_mime_type
    - g_bookmark_file_get_is_private
    - g_get_prgname
    - g_bookmark_file_get_application_info
    - g_clear_error
    - g_bookmark_file_load_from_file
    - g_bookmark_file_get_mime_type
    - g_assert_cmpint
    - g_bookmark_file_add_application
    - g_bookmark_file_free
    - g_bookmark_file_get_modified_date_time
    - g_bookmark_file_set_is_private
    - g_bookmark_file_set_visited_date_time
    - g_date_time_compare
    - g_strconcat
    - g_bookmark_file_new
    - g_test_get_filename
    - g_assert_cmpuint
    - g_bookmark_file_set_modified_date_time
    - g_assert_no_error
    - g_date_time_new_now_utc
    - g_bookmark_file_get_visited_date_time
    - g_bookmark_file_has_application
    - g_assert_null
    - g_get_application_name
    - g_assert_error
    - g_bookmark_file_set_icon
    - g_assert_false
    - g_bookmark_file_set_added_date_time
    - g_free
    - g_date_time_unref
    - g_bookmark_file_get_icon
    - g_assert_cmpstr
    - g_bookmark_file_set_description
    - g_bookmark_file_get_description
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_misc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:114,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:121,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:143,1
    - 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_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:142,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:138,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:136,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:109,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:128,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:135,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:123,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:130,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:145,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_assert_false
    - g_test_get_filename
    - g_bookmark_file_move_item
    - g_assert_no_error
    - g_bookmark_file_free
    - g_clear_error
    - g_bookmark_file_load_from_file
    - g_assert_error
    - g_assert_true
    - g_bookmark_file_new
    linkageType: ''
    returnType: void
    signature: 'static void test_move_item (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_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1005,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1008,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_bookmark_file_load_from_file
    - g_printerr
    - g_test_verbose
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_load (GBookmarkFile *bookmark, const gchar *filename) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1084,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_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1101,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:1124,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_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1177,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:1178,1
    - Dst: g_bookmark_file_get_title
      Src: /src/glib/glib/tests/bookmarkfile.c:1065,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1074,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1092,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:1092,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1115,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1106,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1170,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_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:1211,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1120,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1127,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1129,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
    - 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_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1139,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_bookmark_file_remove_item
      Src: /src/glib/glib/tests/bookmarkfile.c:1205,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1109,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_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1123,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_bookmark_file_set_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:1191,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:1205,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1185,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1204,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1209,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1155,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1061,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1068,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1077,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1136,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1157,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_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1196,1
    - Dst: g_bookmark_file_get_description
      Src: /src/glib/glib/tests/bookmarkfile.c:1098,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1126,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1066,1
    - Dst: g_bookmark_file_set_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:1081,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1089,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1113,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1131,1
    - Dst: g_bookmark_file_has_application
      Src: /src/glib/glib/tests/bookmarkfile.c:1142,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bookmarkfile.c:1153,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1176,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1203,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1067,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1110,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:1112,1
    - Dst: g_bookmark_file_get_applications
      Src: /src/glib/glib/tests/bookmarkfile.c:1159,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1162,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1137,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/bookmarkfile.c:1187,1
    - Dst: g_bookmark_file_set_title
      Src: /src/glib/glib/tests/bookmarkfile.c:1079,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1095,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1103,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1133,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_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:1178,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/tests/bookmarkfile.c:1180,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:1193,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1146,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1199,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1073,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1072,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:1142,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:1181,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/bookmarkfile.c:1185,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1206,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1114,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1128,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1140,1
    - Dst: g_bookmark_file_set_title
      Src: /src/glib/glib/tests/bookmarkfile.c:1062,1
    - Dst: g_bookmark_file_get_title
      Src: /src/glib/glib/tests/bookmarkfile.c:1094,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1102,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:1106,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1154,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1192,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/bookmarkfile.c:1195,1
    - Dst: g_bookmark_file_remove_item
      Src: /src/glib/glib/tests/bookmarkfile.c:1203,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1119,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1060,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1107,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_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1182,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1183,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:1184,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_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:1110,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1105,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1132,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1116,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:1152,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1160,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:1156,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:1102,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:1082,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1104,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1173,1
    - Dst: g_bookmark_file_add_group
      Src: /src/glib/glib/tests/bookmarkfile.c:1179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1194,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:1147,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:1158,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: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_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_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1097,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:1099,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1108,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1207,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1071,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:1109,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
    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_get_added_date_time
    - g_bookmark_file_set_mime_type
    - g_bookmark_file_get_is_private
    - g_bookmark_file_get_application_info
    - g_test_verbose
    - g_bookmark_file_get_groups
    - g_clear_error
    - g_strfreev
    - g_bookmark_file_add_group
    - g_bookmark_file_remove_application
    - g_assert_cmpint
    - g_bookmark_file_has_group
    - g_bookmark_file_add_application
    - g_bookmark_file_set_title
    - g_bookmark_file_remove_group
    - g_bookmark_file_get_modified_date_time
    - g_bookmark_file_set_is_private
    - g_bookmark_file_get_title
    - g_bookmark_file_set_visited_date_time
    - g_date_time_compare
    - g_bookmark_file_set_groups
    - g_assert_cmpuint
    - g_bookmark_file_set_modified_date_time
    - g_assert_no_error
    - g_date_time_new_now_utc
    - g_bookmark_file_get_visited_date_time
    - g_bookmark_file_has_application
    - g_assert_error
    - g_bookmark_file_set_icon
    - g_strv_length
    - g_printerr
    - g_assert_false
    - g_bookmark_file_set_added_date_time
    - g_free
    - g_new0
    - g_bookmark_file_remove_item
    - g_bookmark_file_get_applications
    - g_bookmark_file_get_icon
    - g_date_time_unref
    - g_assert_cmpstr
    - g_bookmark_file_set_description
    - g_bookmark_file_get_description
    - g_assert_true
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_modify (GBookmarkFile *bookmark) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1264,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:1289,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1292,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_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1329,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1328,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_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1283,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1286,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: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1320,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1337,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1310,1
    - Dst: test_load
      Src: /src/glib/glib/tests/bookmarkfile.c:1263,1
    - Dst: g_bookmark_file_copy
      Src: /src/glib/glib/tests/bookmarkfile.c:1266,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1284,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:1279,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:1277,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1287,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_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1305,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1308,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1334,1
    - 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_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:1267,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1316,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bookmarkfile.c:1325,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: test_modify
      Src: /src/glib/glib/tests/bookmarkfile.c:1303,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:1319,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1313,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1323,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:
    - test_modify
    - test_load
    - g_test_assert_expected_messages
    - g_free
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_bookmark_file_free
    - g_bookmark_file_copy
    - strstr
    - g_test_expect_message
    - g_str_has_suffix
    - g_bookmark_file_to_data
    - g_assert_true
    - g_bookmark_file_new
    linkageType: ''
    returnType: void
    signature: 'static void test_file_copy (gconstpointer d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bookmarkfile.c:1356,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1367,1
    - Dst: g_dir_close
      Src: /src/glib/glib/tests/bookmarkfile.c:1383,1
    - 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: 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_dir_open
      Src: /src/glib/glib/tests/bookmarkfile.c:1365,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/bookmarkfile.c:1371,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1366,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1378,1
    - Dst: g_dir_read_name
      Src: /src/glib/glib/tests/bookmarkfile.c:1368,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_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1381,1
    - Dst: test_file
      Src: /src/glib/glib/tests/bookmarkfile.c:1352,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/bookmarkfile.c:1364,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/bookmarkfile.c:1374,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_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
    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_strdup
    - g_test_build_filename
    - g_free
    - g_dir_read_name
    - g_dir_open
    - g_assert_no_error
    - g_test_add_func
    - g_strdup_printf
    - g_str_has_suffix
    - g_test_init
    - g_test_run
    - test_file
    - g_dir_close
    - g_test_add_data_func_full
    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_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1263,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1262,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1261,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1262,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_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1276,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1273,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:1274,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:1271,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_assert_false
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - g_clear_pointer
    - g_ptr_array_new_take
    - g_memdup2
    - g_test_expect_message
    - g_ptr_array_is_null_terminated
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2571,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2569,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2571,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2579,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2581,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2583,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2578,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/glib/tests/array-test.c:2573,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:2580,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2559,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2561,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2561,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_index
      Src: /src/glib/glib/tests/array-test.c:2576,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2577,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:2556,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_strdup
    - g_new0
    - g_ptr_array_new_with_free_func
    - g_assert_cmpuint
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_steal_pointer
    - g_ptr_array_sort_values
    - g_ptr_array_unref
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_values_example (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1612,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1615,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1643,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1612,1
    - Dst: g_ptr_array_new_from_array
      Src: /src/glib/glib/tests/array-test.c:1617,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_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1635,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1636,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1632,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1640,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1644,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1610,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1633,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1632,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1633,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1630,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_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1614,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1621,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1622,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1636,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1635,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1639,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
    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_new_from_array
    - g_free
    - g_assert_cmpuint
    - g_ptr_array_new_with_free_func
    - g_assert_nonnull
    - g_ptr_array_index
    - g_clear_pointer
    - g_assert_cmpstr
    - g_memdup2
    - g_strdup_printf
    - g_ptr_array_unref
    - g_ptr_array_insert
    - g_ptr_array_add
    - g_ptr_array_remove_index
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_array_with_copy_and_free_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:2851,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_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2853,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_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2869,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2873,1
    - Dst: g_byte_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:2871,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2868,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:2874,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_assert_cmpint
    - g_free
    - g_byte_array_steal
    - g_byte_array_new
    - g_byte_array_free
    - g_byte_array_remove_index
    - g_byte_array_append
    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:3147,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3152,1
    - Dst: g_byte_array_free_to_bytes
      Src: /src/glib/glib/tests/array-test.c:3151,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:3153,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_bytes_get_data
    - g_assert_cmpuint
    - g_assert
    - g_bytes_unref
    - g_byte_array_new
    - g_bytes_get_size
    - g_byte_array_append
    - g_byte_array_free_to_bytes
    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_expect_message
      Src: /src/glib/glib/tests/array-test.c:1289,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_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_undefined
    - g_test_assert_expected_messages
    - g_ptr_array_new_take
    - g_test_skip
    - g_test_expect_message
    - g_assert_null
    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: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1680,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1683,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1683,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1684,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1690,1
    - Dst: GUINT_TO_POINTER
      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: g_ptr_array_index
      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_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1700,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: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1676,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1678,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: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1696,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: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1706,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1711,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1708,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: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1675,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1686,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_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1696,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:1693,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1705,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_memdup2
      Src: /src/glib/glib/tests/array-test.c:1670,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1671,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:1683,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1675,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1684,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:1689,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1712,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_free
    - GPOINTER_TO_UINT
    - g_assert_cmpuint
    - assert_ptr_array_null_terminated
    - g_assert_nonnull
    - g_clear_pointer
    - g_ptr_array_index
    - g_ptr_array_unref
    - GUINT_TO_POINTER
    - g_memdup2
    - g_ptr_array_is_null_terminated
    - g_assert_cmpmem
    - g_ptr_array_new_from_null_terminated_array
    - g_ptr_array_new_null_terminated
    - g_assert_true
    - g_ptr_array_insert
    - g_ptr_array_remove_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_null_terminated_array (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: 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_byte_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:2884,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:2891,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: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_free
    - g_assert
    - g_byte_array_free
    - g_byte_array_append
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_append (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:3167,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3171,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:3172,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_test_add_data_func
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void add_array_test (const gchar *test_path, const ArrayTestData
      *config, GTestDataFunc test_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:1042,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_array_new
      Src: /src/glib/glib/tests/array-test.c:1047,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_undefined
    - g_array_append_vals
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_array_new
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void array_overflow_append_vals (void) '
  - 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_ptr_array_sort_values_with_data
      Src: /src/glib/glib/tests/array-test.c:2646,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2651,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_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:2616,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2618,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_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2626,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_add
      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
    - 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:2655,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2621,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2621,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2626,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2635,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:2653,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2654,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_strdup
    - GINT_TO_POINTER
    - g_new0
    - g_ptr_array_new_with_free_func
    - g_assert_cmpuint
    - g_ptr_array_sort_values_with_data
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_steal_pointer
    - g_ptr_array_unref
    - 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:2781,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2795,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2794,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2786,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2797,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: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2816,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_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2795,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2790,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_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2809,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:2818,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2819,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:2782,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2796,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2799,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2774,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2791,1
    - Dst: g_ptr_array_steal_index
      Src: /src/glib/glib/tests/array-test.c:2789,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2796,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2797,1
    - Dst: g_ptr_array_steal_index_fast
      Src: /src/glib/glib/tests/array-test.c:2802,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2807,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: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2814,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_assert_true
    - g_ptr_array_new_with_free_func
    - assert_ptr_array_null_terminated
    - g_assert_cmpuint
    - g_ptr_array_index
    - g_ptr_array_steal_index_fast
    - g_ptr_array_steal_index
    - g_ptr_array_unref
    - GPOINTER_TO_INT
    - g_ptr_array_new_null_terminated
    - 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_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2971,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:2969,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:2974,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_assert
      Src: /src/glib/glib/tests/array-test.c:2984,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
    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_cmpint
    - g_assert
    - g_byte_array_new
    - g_byte_array_free
    - g_byte_array_remove_index
    - g_byte_array_append
    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_trap_subprocess
      Src: /src/glib/glib/tests/array-test.c:1072,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/array-test.c:1065,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_undefined
    - g_test_trap_assert_stderr
    - g_array_set_size
    - g_test_trap_subprocess
    - g_test_trap_assert_failed
    - 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_new
      Src: /src/glib/glib/tests/array-test.c:2667,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2673,1
    - Dst: g_random_int_range
      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_assert_cmpint
    - GINT_TO_POINTER
    - g_ptr_array_sort_values_with_data
    - g_random_int_range
    - g_ptr_array_index
    - g_ptr_array_free
    - GPOINTER_TO_INT
    - g_ptr_array_new
    - g_ptr_array_add
    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_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:2834,1
    - Dst: g_byte_array_new_take
      Src: /src/glib/glib/tests/array-test.c:2836,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_undefined
    - g_test_assert_expected_messages
    - g_test_skip
    - g_test_expect_message
    - g_assert_null
    - 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_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_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: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_cmpint
    - g_byte_array_remove_index_fast
    - g_assert
    - g_byte_array_new
    - g_byte_array_free
    - g_byte_array_append
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_remove_fast (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1904,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1908,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:1910,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1912,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1915,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1916,1
    - Dst: g_ptr_array_remove
      Src: /src/glib/glib/tests/array-test.c:1918,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_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1930,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1948,1
    - Dst: g_ptr_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:1951,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1929,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1947,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1944,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1943,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1952,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1957,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1901,1
    - Dst: g_assert
      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_ptr_array_set_size
      Src: /src/glib/glib/tests/array-test.c:1924,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:1927,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_ptr_array_ref
      Src: /src/glib/glib/tests/array-test.c:1939,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/array-test.c:1937,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:1949,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1959,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1961,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1970,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1936,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_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:1903,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1900,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_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_ref
      Src: /src/glib/glib/tests/array-test.c:1926,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1928,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:1934,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1934,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1950,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1967,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1950,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1958,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1935,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:1957,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1960,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1948,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1899,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1905,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1909,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:1914,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1911,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1913,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1917,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_free
      Src: /src/glib/glib/tests/array-test.c:1969,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1940,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1959,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1964,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1966,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1965,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1949,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_ref
    - g_strdup
    - g_assert_cmpint
    - g_ptr_array_set_free_func
    - g_ptr_array_new_with_free_func
    - g_assert
    - g_ptr_array_free
    - g_ptr_array_new_full
    - g_strfreev
    - g_ptr_array_remove_range
    - g_ptr_array_set_size
    - g_ptr_array_unref
    - g_ptr_array_remove
    - g_ptr_array_add
    - g_ptr_array_remove_fast
    - g_ptr_array_remove_index
    - g_ptr_array_remove_index_fast
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_free_func (void) '
  - 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_new
      Src: /src/glib/glib/tests/array-test.c:2747,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2749,1
    - Dst: g_ptr_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:2748,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_ptr_array_sort
      Src: /src/glib/glib/tests/array-test.c:2297,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: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_assert_cmpint
    - GINT_TO_POINTER
    - g_ptr_array_free
    - g_random_int_range
    - g_ptr_array_index
    - g_ptr_array_sort
    - GPOINTER_TO_INT
    - g_ptr_array_new
    - g_ptr_array_add
    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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2506,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:2519,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:2532,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2532,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2534,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_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:2501,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2526,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/glib/tests/array-test.c:2529,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2523,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
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/glib/tests/array-test.c:2509,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2527,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:2534,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:2538,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2506,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:2505,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_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_add
      Src: /src/glib/glib/tests/array-test.c:2525,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2533,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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_clear_pointer
    - g_random_int_range
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_ptr_array_sort_values
    - GPOINTER_TO_INT
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_values (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2223,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2242,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2247,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2216,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_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_add
      Src: /src/glib/glib/tests/array-test.c:2233,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_free
      Src: /src/glib/glib/tests/array-test.c:2225,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/glib/tests/array-test.c:2237,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2242,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2244,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:2245,1
    - Dst: g_ptr_array_extend_and_steal
      Src: /src/glib/glib/tests/array-test.c:2239,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:2217,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:2229,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
    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_ref
    - g_free
    - g_assert_cmpuint
    - g_ptr_array_free
    - g_ptr_array_index
    - g_ptr_array_extend_and_steal
    - g_ptr_array_sized_new
    - g_assert_null
    - g_ptr_array_add
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_extend_and_steal (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_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_test_summary
      Src: /src/glib/glib/tests/array-test.c:2351,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2358,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:2378,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:2353,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2360,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2361,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
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2368,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2373,1
    - 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_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2376,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2377,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2355,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2356,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2358,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_unref
      Src: /src/glib/glib/tests/array-test.c:2380,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_strdup
    - g_new0
    - g_ptr_array_new_with_free_func
    - g_assert_cmpuint
    - g_ptr_array_index
    - g_ptr_array_sort
    - g_assert_cmpstr
    - g_steal_pointer
    - g_test_summary
    - g_ptr_array_unref
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_example (void) '
  - 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: 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:167,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:179,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:179,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_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_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_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:178,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:166,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:181,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:186,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:159,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:162,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_array_index
      Src: /src/glib/glib/tests/array-test.c:178,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:155,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:166,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:173,1
    - Dst: g_array_prepend_val
      Src: /src/glib/glib/tests/array-test.c:175,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:167,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:189,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:190,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_array_remove_index
    - g_free
    - g_assert_cmpuint
    - g_clear_pointer
    - g_assert_nonnull
    - g_array_prepend_val
    - g_array_index
    - g_array_new
    - g_array_append_val
    - g_memdup2
    - g_steal_pointer
    - g_array_unref
    - g_assert_cmpmem
    - g_array_steal
    - g_array_new_take
    linkageType: ''
    returnType: void
    signature: 'static void array_new_take (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2457,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2443,1
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/tests/array-test.c:2449,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2423,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2422,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_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2435,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:2441,1
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/tests/array-test.c:2438,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2435,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2442,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
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/array-test.c:2418,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2456,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2459,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2452,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2425,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:2420,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: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2433,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2446,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2454,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2449,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_strdup
    - GINT_TO_POINTER
    - g_new0
    - g_ptr_array_new_with_free_func
    - g_assert_cmpuint
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_steal_pointer
    - g_ptr_array_sort_with_data
    - g_test_summary
    - g_ptr_array_unref
    - 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_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_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:203,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_memdup2
    - g_clear_pointer
    - g_array_new_take
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void array_new_take_empty (void) '
  - 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: GINT_TO_POINTER
      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: 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_assert_cmpint
    - GINT_TO_POINTER
    - g_ptr_array_free
    - g_random_int_range
    - g_ptr_array_index
    - g_ptr_array_sort_with_data
    - GPOINTER_TO_INT
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_with_data (void) '
  - 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_assert_false
      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: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_assert_false
    - g_ptr_array_find
    - g_ptr_array_free
    - g_ptr_array_find_with_equal_func
    - 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:2716,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: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: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:2729,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2730,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
    - 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:2717,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2725,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2729,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2724,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:2721,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2727,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2724,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2738,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_assert_false
    - g_ptr_array_find
    - g_assert_cmpuint
    - g_ptr_array_new
    - g_ptr_array_find_with_equal_func
    - g_ptr_array_free
    - g_assert_true
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_find_non_empty (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: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1723,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: 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_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1732,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1734,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_assert_cmpuint
    - assert_ptr_array_null_terminated
    - g_clear_pointer
    - g_ptr_array_is_null_terminated
    - g_assert_true
    - g_ptr_array_new_from_null_terminated_array
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_null_terminated_array_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_strdupv
      Src: /src/glib/glib/tests/array-test.c:1754,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: 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_remove_index
      Src: /src/glib/glib/tests/array-test.c:1784,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1786,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/array-test.c:1799,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1788,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1745,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:1751,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1761,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1762,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1766,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1773,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1782,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1785,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1790,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1780,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1746,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1749,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1755,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1761,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1756,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1770,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:1774,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1779,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1794,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1780,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1766,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1770,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1757,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: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1789,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1794,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1798,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_insert
    - g_assert_cmpuint
    - g_clear_pointer
    - g_assert_nonnull
    - assert_ptr_array_null_terminated
    - g_ptr_array_index
    - g_strdupv
    - g_assert_cmpstr
    - g_ptr_array_unref
    - g_strdup_printf
    - g_strfreev
    - g_ptr_array_is_null_terminated
    - g_ptr_array_new_from_null_terminated_array
    - g_ptr_array_new_null_terminated
    - g_assert_true
    - g_strv_length
    - g_ptr_array_remove_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_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_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1317,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1323,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1326,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_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1336,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_index
      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_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1332,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1334,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1306,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1321,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1318,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:1335,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1343,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1337,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1312,1
    - Dst: g_ptr_array_new_take
      Src: /src/glib/glib/tests/array-test.c:1316,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:1316,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:1320,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_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1339,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_ptr_array_new_with_free_func
    - g_clear_pointer
    - g_ptr_array_steal
    - g_steal_pointer
    - g_ptr_array_is_null_terminated
    - g_ptr_array_unref
    - g_assert_nonnull
    - g_ptr_array_remove_index
    - g_assert_cmpuint
    - g_ptr_array_new_take
    - g_ptr_array_index
    - g_memdup2
    - g_strdup_printf
    - g_assert_cmpmem
    - g_ptr_array_insert
    - g_ptr_array_add
    - g_assert_false
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_with_free_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1356,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1359,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1362,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: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1379,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1386,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1387,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1388,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1391,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1396,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:1361,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1365,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1367,1
    - Dst: GPOINTER_TO_UINT
      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: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1374,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1374,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:1386,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1388,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_assert_true
      Src: /src/glib/glib/tests/array-test.c:1369,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1373,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_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1390,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: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1392,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: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1370,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:1373,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1371,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1376,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:1385,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1386,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1401,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1394,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:
    - GPOINTER_TO_UINT
    - assert_ptr_array_null_terminated
    - g_clear_pointer
    - g_ptr_array_steal
    - GUINT_TO_POINTER
    - g_steal_pointer
    - g_ptr_array_is_null_terminated
    - g_ptr_array_unref
    - g_assert_nonnull
    - g_ptr_array_new_null_terminated
    - g_ptr_array_remove_index
    - g_assert_cmpuint
    - g_ptr_array_index
    - g_memdup2
    - g_assert_cmpmem
    - g_ptr_array_insert
    - g_ptr_array_add
    - g_ptr_array_new_take_null_terminated
    - g_free
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_null_terminated (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_assert_cmpint
      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_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_assert_cmpint
    - g_free
    - g_array_index
    - g_array_new
    - g_array_append_val
    - assert_int_array_zero_terminated
    - g_array_free
    linkageType: ''
    returnType: void
    signature: 'static void array_append_val (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_random_int_range
      Src: /src/glib/glib/tests/array-test.c:1195,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_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:
    - GINT_TO_POINTER
    - g_assert
    - g_ptr_array_free
    - g_random_int_range
    - g_ptr_array_foreach
    - g_ptr_array_sized_new
    - g_ptr_array_insert
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_insert (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_take_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1493,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: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_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_strjoinv
      Src: /src/glib/glib/tests/array-test.c:1507,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1510,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1511,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1505,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1508,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1505,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_free
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_strsplit
    - g_assert_null
    - g_strjoinv
    - g_ptr_array_unref
    - g_ptr_array_new_take_null_terminated
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_null_terminated_from_gstrv (void) '
  - 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_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1229,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1229,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1225,1
    - Dst: g_ptr_array_add
      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: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1238,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1239,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1250,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:1214,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_index
      Src: /src/glib/glib/tests/array-test.c:1228,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_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1237,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:1240,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1247,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_ptr_array_is_null_terminated
      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: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1234,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1235,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1238,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1240,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1242,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: 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_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1231,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1244,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1243,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:
    - GPOINTER_TO_UINT
    - g_clear_pointer
    - g_ptr_array_steal
    - GUINT_TO_POINTER
    - g_steal_pointer
    - g_ptr_array_is_null_terminated
    - g_ptr_array_unref
    - g_ptr_array_new
    - g_assert_nonnull
    - g_ptr_array_remove_index
    - g_assert_cmpuint
    - g_ptr_array_new_take
    - g_ptr_array_index
    - g_memdup2
    - g_assert_cmpmem
    - g_ptr_array_insert
    - g_ptr_array_add
    - g_assert_false
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_false
      Src: /src/glib/glib/tests/array-test.c:1537,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1540,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1541,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1551,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1555,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1556,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1557,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1526,1
    - Dst: GUINT_TO_POINTER
      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_index
      Src: /src/glib/glib/tests/array-test.c:1540,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:1546,1
    - Dst: g_ptr_array_insert
      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_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1550,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_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_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1538,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:1552,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1559,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1563,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:1522,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1524,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1537,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1541,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: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1547,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1550,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1552,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1562,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_assert_false
    - g_ptr_array_new_from_array
    - GPOINTER_TO_UINT
    - g_free
    - g_assert_cmpuint
    - g_clear_pointer
    - g_assert_nonnull
    - g_ptr_array_index
    - GUINT_TO_POINTER
    - g_memdup2
    - g_ptr_array_is_null_terminated
    - g_assert_cmpmem
    - g_ptr_array_unref
    - g_ptr_array_insert
    - g_ptr_array_new
    - g_ptr_array_remove_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:344,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:369,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:371,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_index
      Src: /src/glib/glib/tests/array-test.c:370,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_assert_null
      Src: /src/glib/glib/tests/array-test.c:349,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_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:373,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:378,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_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_assert_cmpint
    - g_array_remove_index
    - g_free
    - g_array_index
    - g_array_new
    - g_array_append_val
    - g_assert_null
    - g_assert_cmpmem
    - g_array_free
    - g_array_steal
    linkageType: ''
    returnType: void
    signature: 'static void array_steal (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_random_int_range
      Src: /src/glib/glib/tests/array-test.c:865,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:869,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_array_free
      Src: /src/glib/glib/tests/array-test.c:878,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:879,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_remove_range
    - g_assert_cmpint
    - g_array_remove_index
    - g_random_int_range
    - g_array_new
    - g_array_append_val
    - g_array_free
    - g_array_remove_index_fast
    - g_array_set_clear_func
    linkageType: ''
    returnType: void
    signature: 'static void array_clear_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:682,1
    - Dst: g_array_ref
      Src: /src/glib/glib/tests/array-test.c:688,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_prepend_val
      Src: /src/glib/glib/tests/array-test.c:685,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_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:698,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:696,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_assert_cmpint
    - g_array_get_element_size
    - g_array_prepend_val
    - g_assert
    - g_array_ref
    - g_array_index
    - g_array_new
    - g_array_unref
    - g_array_free
    linkageType: ''
    returnType: void
    signature: 'static void array_ref_count (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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:87,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:92,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: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_assert_cmpint
    - g_assert_cmpuint
    - g_array_set_size
    - g_array_index
    - g_array_new
    - g_array_unref
    - assert_int_array_zero_terminated
    linkageType: ''
    returnType: void
    signature: 'static void array_set_size (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:225,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:232,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:233,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:246,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_array_append_val
      Src: /src/glib/glib/tests/array-test.c:268,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:272,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:273,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:278,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:293,1
    - Dst: g_array_steal
      Src: /src/glib/glib/tests/array-test.c:270,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:293,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:296,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:305,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:306,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:297,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:288,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:220,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_memdup2
      Src: /src/glib/glib/tests/array-test.c:229,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:235,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:233,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_cmpmem
      Src: /src/glib/glib/tests/array-test.c:256,1
    - Dst: g_array_new_take_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:276,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:281,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:302,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:292,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:279,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:279,1
    - Dst: g_array_prepend_val
      Src: /src/glib/glib/tests/array-test.c:290,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:242,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:248,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_array_index
      Src: /src/glib/glib/tests/array-test.c:281,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:282,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:284,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:260,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:299,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:298,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:277,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:294,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:300,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:282,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:236,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:236,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:247,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_array_index
      Src: /src/glib/glib/tests/array-test.c:254,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:259,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:300,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:265,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_array_remove_index
    - g_assert_cmpuint
    - g_clear_pointer
    - g_assert_nonnull
    - g_array_prepend_val
    - g_array_index
    - g_array_new
    - g_array_append_val
    - g_memdup2
    - g_steal_pointer
    - g_array_new_take_zero_terminated
    - g_assert_cmpmem
    - g_array_steal
    linkageType: ''
    returnType: void
    signature: 'static void array_new_take_zero_terminated (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_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1574,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1573,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_assert_false
    - g_ptr_array_new_from_array
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - g_clear_pointer
    - g_test_expect_message
    - g_ptr_array_is_null_terminated
    - g_assert_null
    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: 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_assert_null
      Src: /src/glib/glib/tests/array-test.c:321,1
    - Dst: g_array_new_take
      Src: /src/glib/glib/tests/array-test.c:322,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:315,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_undefined
    - g_test_assert_expected_messages
    - g_test_skip
    - g_test_expect_message
    - g_assert_null
    - g_array_new_take
    linkageType: ''
    returnType: void
    signature: 'static void array_new_take_overflow (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_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:1594,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_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_undefined
    - g_ptr_array_new_from_array
    - g_test_assert_expected_messages
    - g_test_skip
    - g_test_expect_message
    - g_assert_null
    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_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:3091,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:3082,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_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_assert_cmpint
    - g_byte_array_sort
    - g_random_int_range
    - g_byte_array_new
    - g_byte_array_free
    - g_byte_array_append
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_sort (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_array_new
      Src: /src/glib/glib/tests/array-test.c:563,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: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:566,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_array_free
      Src: /src/glib/glib/tests/array-test.c:587,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:582,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_assert_cmpint
    - g_array_remove_index
    - g_assert
    - g_array_index
    - g_array_new
    - g_array_append_val
    - assert_int_array_zero_terminated
    - g_array_free
    linkageType: ''
    returnType: void
    signature: 'static void array_remove_index (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1106,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1102,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: 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:1116,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1126,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1129,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1133,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_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1121,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1123,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1110,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:1126,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1127,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_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:1114,1
    - Dst: g_assert_cmpint
      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_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
    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_assert_cmpint
    - GINT_TO_POINTER
    - g_free
    - g_ptr_array_free
    - g_ptr_array_index
    - g_ptr_array_steal
    - g_assert_null
    - g_assert_cmpmem
    - g_ptr_array_unref
    - g_ptr_array_new_null_terminated
    - g_ptr_array_new
    - g_ptr_array_remove_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_steal (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_assert_cmpint
    - g_array_index
    - g_assert_cmpuint
    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:497,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: 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:519,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:515,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:521,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: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:539,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:532,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:527,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:510,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_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:534,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_array_insert_vals
      Src: /src/glib/glib/tests/array-test.c:501,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:503,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:498,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:515,1
    - Dst: G_N_ELEMENTS
      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_assert_true
      Src: /src/glib/glib/tests/array-test.c:520,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:521,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:533,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: g_array_insert_vals
      Src: /src/glib/glib/tests/array-test.c:531,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:541,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_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:538,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:533,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:542,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_assert_cmpint
    - assert_int_array_equal
    - g_assert_cmpuint
    - g_array_insert_vals
    - g_array_index
    - g_array_new
    - assert_int_array_zero_terminated
    - g_array_free
    - G_N_ELEMENTS
    - g_assert_true
    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_ptr_array_is_null_terminated
      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_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_cmpint
    - g_ptr_array_is_null_terminated
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void assert_ptr_array_null_terminated (GPtrArray *array, gboolean
      null_terminated) '
  - 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: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:791,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:793,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_assert_cmpint
    - g_random_int_range
    - g_array_index
    - g_array_new
    - g_array_append_val
    - g_array_sort
    - assert_int_array_zero_terminated
    - g_array_free
    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: 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: 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_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_cmpuint
    - assert_ptr_array_null_terminated
    - g_clear_pointer
    - g_memdup2
    - g_ptr_array_is_null_terminated
    - g_assert_true
    - g_ptr_array_new_take_null_terminated
    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_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2028,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2015,1
    - Dst: g_ptr_array_copy
      Src: /src/glib/glib/tests/array-test.c:2042,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2047,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2050,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:1985,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_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:2011,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2014,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2024,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2030,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2033,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2037,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: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2017,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2045,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2056,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2060,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2034,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2059,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2054,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2039,1
    - Dst: g_ptr_array_copy
      Src: /src/glib/glib/tests/array-test.c:2026,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2013,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2021,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: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_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2051,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2053,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/glib/tests/array-test.c:2043,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2050,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_undefined
    - g_ptr_array_set_free_func
    - g_free
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - assert_ptr_array_null_terminated
    - g_ptr_array_free
    - g_ptr_array_index
    - g_test_expect_message
    - g_ptr_array_copy
    - g_test_summary
    - g_ptr_array_unref
    - GPOINTER_TO_INT
    - g_ptr_array_new_null_terminated
    - g_malloc
    - 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_byte_array_prepend
      Src: /src/glib/glib/tests/array-test.c:2919,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2924,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_assert
    - g_byte_array_new
    - g_byte_array_prepend
    - g_byte_array_free
    - g_byte_array_set_size
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_prepend (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1437,1
    - 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_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1468,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1470,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1477,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1440,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1437,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_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1458,1
    - Dst: g_ptr_array_add
      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_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1476,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1483,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: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1478,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1436,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:1450,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1451,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1455,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1449,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:1469,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1474,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1484,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_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1451,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1455,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1453,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1461,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_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1467,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:
    - assert_ptr_array_null_terminated
    - g_clear_pointer
    - g_ptr_array_steal
    - g_steal_pointer
    - g_ptr_array_is_null_terminated
    - g_ptr_array_unref
    - g_assert_nonnull
    - g_ptr_array_new_null_terminated
    - g_ptr_array_remove_index
    - g_assert_cmpuint
    - g_ptr_array_index
    - g_memdup2
    - g_strdup_printf
    - g_assert_cmpmem
    - g_ptr_array_insert
    - g_ptr_array_add
    - g_ptr_array_new_take_null_terminated
    - g_free
    - g_assert_cmpstr
    - g_assert_true
    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_append
      Src: /src/glib/glib/tests/array-test.c:2941,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2944,1
    - Dst: g_byte_array_ref
      Src: /src/glib/glib/tests/array-test.c:2943,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
      Src: /src/glib/glib/tests/array-test.c:2955,1
    - Dst: g_byte_array_unref
      Src: /src/glib/glib/tests/array-test.c:2958,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2957,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:2956,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_unref
    - g_assert_cmpint
    - g_assert
    - g_byte_array_new
    - g_byte_array_free
    - g_byte_array_ref
    - g_byte_array_append
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_ref_count (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:132,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:133,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:
    - strlen
    - g_array_append_vals
    - g_free
    - g_assert_cmpuint
    - g_array_new
    - g_assert_cmpstr
    - g_array_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_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:664,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:665,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:667,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:669,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:662,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:670,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_remove_range
    - g_assert_cmpint
    - g_assert
    - g_array_index
    - g_array_new
    - g_array_append_val
    - assert_int_array_zero_terminated
    - g_array_free
    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_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1148,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1151,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1147,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1149,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_free
    - assert_ptr_array_null_terminated
    - g_assert_nonnull
    - g_ptr_array_free
    - g_assert_null
    - g_test_summary
    - g_ptr_array_new_null_terminated
    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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1179,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1180,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:
    - GINT_TO_POINTER
    - g_free
    - g_assert
    - g_ptr_array_free
    - g_ptr_array_index
    - g_ptr_array_foreach
    - g_ptr_array_sized_new
    - 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:111,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:115,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:112,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/tests/array-test.c:114,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_assert_cmpint
    - g_assert_cmpuint
    - g_array_set_size
    - g_array_sized_new
    - g_array_index
    - g_array_unref
    - assert_int_array_zero_terminated
    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: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:604,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_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_array_index
      Src: /src/glib/glib/tests/array-test.c:618,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:619,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:627,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:622,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_assert_cmpint
    - g_assert
    - g_array_index
    - g_array_new
    - g_array_append_val
    - assert_int_array_zero_terminated
    - g_array_free
    - g_array_remove_index_fast
    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:445,1
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/tests/array-test.c:449,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: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:457,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:457,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:462,1
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/tests/array-test.c:467,1
    - Dst: G_N_ELEMENTS
      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_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:452,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:458,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:478,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:450,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:446,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:463,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:469,1
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/tests/array-test.c:473,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:474,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:470,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:476,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_prepend_vals
    - assert_int_array_equal
    - g_array_new
    - assert_int_array_zero_terminated
    - g_array_free
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void array_prepend_vals (gconstpointer test_data) '
  - 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_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_set_size
      Src: /src/glib/glib/tests/array-test.c:754,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:756,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:761,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:741,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:760,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_undefined
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - g_array_set_size
    - g_array_copy
    - g_array_new
    - g_array_index
    - g_test_expect_message
    - g_array_append_val
    - g_array_unref
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void array_copy (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_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_binary_search
      Src: /src/glib/glib/tests/array-test.c:963,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:966,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:968,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:999,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:1005,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:994,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1005,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:966,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:1008,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: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_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:988,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:992,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:991,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1002,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:957,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:977,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_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:919,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:931,1
    - Dst: g_assert_false
      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_array_free
      Src: /src/glib/glib/tests/array-test.c:952,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:955,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:963,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:971,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:982,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:1008,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:997,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:960,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_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:908,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_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_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_binary_search
      Src: /src/glib/glib/tests/array-test.c:981,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:987,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
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:977,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:1002,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_test_undefined
    - g_assert_false
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_array_sized_new
    - g_test_expect_message
    - g_array_append_val
    - g_array_free
    - g_array_binary_search
    - g_assert_true
    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: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_remove_range
      Src: /src/glib/glib/tests/array-test.c:3033,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:3029,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_free
      Src: /src/glib/glib/tests/array-test.c:3049,1
    - Dst: g_byte_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:3047,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_cmpint
    - g_assert
    - g_byte_array_new
    - g_byte_array_free
    - g_byte_array_remove_range
    - g_byte_array_append
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_remove_range (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: g_test_summary
      Src: /src/glib/glib/tests/array-test.c:1019,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:1022,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:1021,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:1026,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:1032,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: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:1036,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:1034,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_assert_cmpuint
    - g_array_sized_new
    - g_array_copy
    - g_array_index
    - g_array_append_val
    - g_array_unref
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_array_copy_sized (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: 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: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3206,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: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3217,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3236,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: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:3273,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3261,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3243,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:3227,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:3259,1
    - 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_func
      Src: /src/glib/glib/tests/array-test.c:3195,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3200,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:3194,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:3222,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3239,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_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:3265,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:3271,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3199,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:3258,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3208,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:3191,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3198,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3202,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3226,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3260,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3269,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:3275,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3193,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:3234,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:3253,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3232,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:3257,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:3201,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:3216,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:3268,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3272,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3246,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: 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:3252,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:3248,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:3204,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:3196,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:3221,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3260,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3244,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3261,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:3247,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3264,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:3228,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
    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:
    - add_array_test
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_test_add_func
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    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: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:427,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:424,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_assert_cmpint
    - g_array_prepend_val
    - g_array_index
    - g_array_new
    - assert_int_array_zero_terminated
    - g_array_free
    linkageType: ''
    returnType: void
    signature: 'static void array_prepend_val (gconstpointer test_data) '
  - 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_assert_true
      Src: /src/glib/glib/tests/array-test.c:1821,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:1827,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_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1813,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:1816,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1818,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1821,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1824,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/array-test.c:1829,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1815,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1826,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1832,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1814,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1818,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:1820,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:1822,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1827,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/array-test.c:1833,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_free
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_strsplit
    - g_strfreev
    - g_assert_null
    - g_strjoinv
    - g_ptr_array_unref
    - g_assert_true
    - g_ptr_array_new_from_null_terminated_array
    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_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:3119,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:3110,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_sort_with_data
    - g_assert_cmpint
    - g_random_int_range
    - g_byte_array_new
    - g_byte_array_free
    - g_byte_array_append
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_sort_with_data (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1847,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1861,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1862,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1869,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1864,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1864,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1876,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1851,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:1849,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
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:1840,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_assert
      Src: /src/glib/glib/tests/array-test.c:1864,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/glib/tests/array-test.c:1872,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/glib/tests/array-test.c:1868,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1875,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
    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_ref
    - g_assert_cmpint
    - GINT_TO_POINTER
    - assert_ptr_array_null_terminated
    - g_assert
    - g_ptr_array_index
    - g_ptr_array_foreach
    - g_ptr_array_free
    - g_ptr_array_new_null_terminated
    - g_ptr_array_unref
    - GPOINTER_TO_INT
    - g_ptr_array_new
    - g_ptr_array_add
    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_assert
      Src: /src/glib/glib/tests/array-test.c:3134,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
    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_cmpuint
    - g_assert
    - g_memdup2
    - g_byte_array_free
    - g_byte_array_new_take
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_new_take (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:819,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: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:829,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_assert_cmpint
    - g_random_int_range
    - g_array_index
    - g_array_new
    - g_array_append_val
    - assert_int_array_zero_terminated
    - g_array_sort_with_data
    - g_array_free
    linkageType: ''
    returnType: void
    signature: 'static void array_sort_with_data (gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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:2085,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:2103,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: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:2147,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2150,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2155,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2183,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_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:2084,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:2106,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2115,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_extend
      Src: /src/glib/glib/tests/array-test.c:2138,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2141,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2141,1
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/tests/array-test.c:2159,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2165,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:2180,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2186,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2162,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2177,1
    - 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:2080,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2104,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: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2101,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2107,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2123,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2146,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2151,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2176,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2183,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2168,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2162,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2067,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: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_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_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:2144,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
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2194,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2193,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2190,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:2156,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_test_undefined
    - g_free
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - assert_ptr_array_null_terminated
    - g_ptr_array_index
    - g_ptr_array_sized_new
    - g_test_expect_message
    - g_ptr_array_unref
    - GPOINTER_TO_INT
    - g_ptr_array_new_null_terminated
    - g_malloc
    - g_ptr_array_extend
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_extend (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - TestErrorPrivate*
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 268
    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:
    - Dst: test_error_get_private
      Src: /src/glib/glib/tests/error.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - error
    - check
    argTypes:
    - GError*
    - TestErrorCheck*
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: fill_test_error
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - 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:341,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/error.c:343,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/error.c:347,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/error.c:348,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/error.c:346,1
    - Dst: g_error_domain_register_static
      Src: /src/glib/glib/tests/error.c:357,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:362,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/error.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 365
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 365
    functionName: test_extended_duplicate
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_error_domain_register_static
    - g_test_trap_assert_stderr
    - g_quark_to_string
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_assert_cmpstr
    - g_test_summary
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_extended_duplicate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - src_priv
    - dest_priv
    argTypes:
    - TestErrorPrivate*
    - TestErrorPrivate*
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: test_error_private_copy
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_error_private_copy (const TestErrorPrivate *src_priv,
      TestErrorPrivate *dest_priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_test_error
      Src: /src/glib/glib/tests/error.c:309,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:330,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:331,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:312,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:316,1
    - Dst: g_error_copy
      Src: /src/glib/glib/tests/error.c:318,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:333,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:321,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:335,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:308,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:313,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/error.c:315,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:324,1
    - Dst: test_error_get_private
      Src: /src/glib/glib/tests/error.c:327,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:334,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:311,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:319,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/error.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 336
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 336
    functionName: test_extended
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_cmpuint
    - g_error_copy
    - g_error_new_literal
    - g_error_free
    - g_assert_cmpstr
    - fill_test_error
    - test_error_get_private
    linkageType: ''
    returnType: void
    signature: 'static void test_extended (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 372
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 372
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - src_error
    - dest_error
    argTypes:
    - GError*
    - GError*
    constantsTouched: []
    func_position:
      end: 373
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 373
    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_strdup
      Src: /src/glib/glib/tests/error.c:379,1
    - Dst: g_free
      Src: /src/glib/glib/tests/error.c:390,1
    - Dst: g_error_domain_register
      Src: /src/glib/glib/tests/error.c:385,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/error.c:383,1
    - Dst: g_error_new
      Src: /src/glib/glib/tests/error.c:392,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/error.c:393,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/error.c:393,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:394,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/error.c:394,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 396
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 396
    functionName: test_extended_non_static
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_error_new
    - g_quark_to_string
    - g_error_matches
    - g_error_free
    - g_error_domain_register
    - g_assert_cmpstr
    - g_test_summary
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_extended_non_static (void) '
  - 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:83,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/error.c:79,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_prefix_error_literal
    - g_assert_nonnull
    - g_error_new_literal
    - g_error_free
    - g_assert_cmpstr
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_prefix_literal (void) '
  - 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_error_new
      Src: /src/glib/glib/tests/error.c:234,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/error.c:229,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_assert_null
    - g_error_new
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_clear (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - priv
    argTypes:
    - TestErrorPrivate*
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: test_error_private_clear
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_error_private_clear (TestErrorPrivate *priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/tests/error.c:98,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:100,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/error.c:99,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:101,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_assert_error
    - g_set_error_literal
    - g_error_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_literal (void) '
  - 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_assert_false
      Src: /src/glib/glib/tests/error.c:217,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:219,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/error.c:217,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_false
    - g_error_new
    - g_error_matches
    - g_error_free
    - g_test_summary
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_matches (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/error.c:401,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:405,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:406,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:403,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:404,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:407,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:408,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:409,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:410,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:411,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/error.c:415,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:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: main
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/error.c:14,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:17,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:23,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_assert_error
      Src: /src/glib/glib/tests/error.c:42,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:12,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
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/error.c:19,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_set_error_literal
      Src: /src/glib/glib/tests/error.c:16,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:20,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/error.c:27,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_error_new_literal
      Src: /src/glib/glib/tests/error.c:34,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:35,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:40,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_undefined
    - g_test_assert_expected_messages
    - g_error_new_literal
    - g_error_free
    - g_test_expect_message
    - g_propagate_error
    - g_assert_error
    - g_set_error_literal
    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_assert_error
      Src: /src/glib/glib/tests/error.c:114,1
    - Dst: g_error_copy
      Src: /src/glib/glib/tests/error.c:112,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:117,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: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_error_copy
    - g_error_free
    - g_assert_cmpstr
    - g_assert_error
    - g_set_error_literal
    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_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_assert
      Src: /src/glib/glib/tests/error.c:54,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_assert
    - g_error_new_literal
    - g_error_free
    - g_assert_cmpstr
    - g_prefix_error
    - 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: g_clear_error
      Src: /src/glib/glib/tests/error.c:187,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:180,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_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_assert_nonnull
      Src: /src/glib/glib/tests/error.c:185,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/error.c:188,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:154,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_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:184,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/error.c:193,1
    - Dst: va_start
      Src: /src/glib/glib/tests/error.c:144,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: g_error_copy
      Src: /src/glib/glib/tests/error.c:183,1
    - Dst: va_end
      Src: /src/glib/glib/tests/error.c:190,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:
    - va_end
    - g_test_undefined
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_error_copy
    - g_test_skip
    - g_test_expect_message
    - va_start
    - g_error_new_valist
    - g_clear_error
    - g_assert_null
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_new_valist_invalid_va (gpointer dummy, ...) '
  - 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_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_utf8_substring
      Src: /src/glib/glib/tests/utf8-misc.c:121,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_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
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:130,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:35,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: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:39,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:37,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:43,1
    - 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_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:42,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: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:40,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:43,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:38,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
    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_assert_cmpint
    - g_utf8_strlen
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_strlen (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:56,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: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_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
    - Dst: g_utf8_strncpy
      Src: /src/glib/glib/tests/utf8-misc.c:73,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:68,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_strreverse
      Src: /src/glib/glib/tests/utf8-misc.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:99,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:95,1
    - Dst: g_utf8_strreverse
      Src: /src/glib/glib/tests/utf8-misc.c:98,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:96,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_utf8_strreverse
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_reverse (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:150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:145,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_free
    - g_assert_cmpstr
    - g_utf8_make_valid
    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:178,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:197,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:194,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:212,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:189,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:204,1
    - 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:191,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:181,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:188,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:208,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:203,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:200,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:210,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:225,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:222,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_run
    - g_test_init
    - g_test_add_func
    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:78,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-argv0.c:72,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/option-argv0.c:77,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-argv0.c:74,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_get_prgname
      Src: /src/glib/glib/tests/option-argv0.c:91,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/option-argv0.c:97,1
    - Dst: g_print
      Src: /src/glib/glib/tests/option-argv0.c:95,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-argv0.c:100,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_option_context_new
    - g_option_context_free
    - g_get_prgname
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_test_skip
    - g_strv_contains
    - g_print
    - g_assert_true
    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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_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_to_path
      Src: /src/glib/glib/tests/pathbuf.c:57,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:108,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:109,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:106,1
    - Dst: g_path_buf_clear_to_path
      Src: /src/glib/glib/tests/pathbuf.c:93,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:70,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/pathbuf.c:96,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:50,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_assert_cmpstr
      Src: /src/glib/glib/tests/pathbuf.c:62,1
    - Dst: g_path_buf_free_to_path
      Src: /src/glib/glib/tests/pathbuf.c:67,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:75,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pathbuf.c:97,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:100,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:103,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_path_buf_new
      Src: /src/glib/glib/tests/pathbuf.c:104,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_free
      Src: /src/glib/glib/tests/pathbuf.c:48,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:52,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:57,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_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:77,1
    - Dst: g_path_buf_free
      Src: /src/glib/glib/tests/pathbuf.c:85,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pathbuf.c:111,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:71,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:100,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:114,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:114,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/pathbuf.c:110,1
    - Dst: g_path_buf_free_to_path
      Src: /src/glib/glib/tests/pathbuf.c:115,1
    - Dst: g_path_buf_init
      Src: /src/glib/glib/tests/pathbuf.c:99,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:105,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:36,1
    - 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:53,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:60,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pathbuf.c:63,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_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:72,1
    - Dst: g_path_buf_free
      Src: /src/glib/glib/tests/pathbuf.c:73,1
    - Dst: g_path_buf_copy
      Src: /src/glib/glib/tests/pathbuf.c:76,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:92,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:105,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:78,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_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:101,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:115,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
    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_test_message
    - g_path_buf_init_from_path
    - g_free
    - g_path_buf_new_from_path
    - g_path_buf_copy
    - g_assert_nonnull
    - g_assert_path_buf_equal
    - g_assert_cmpstr
    - g_path_buf_clear
    - g_test_skip
    - g_path_buf_to_path
    - g_assert_null
    - g_path_buf_init
    - g_path_buf_free
    - g_path_buf_free_to_path
    - g_path_buf_new
    - g_path_buf_clear_to_path
    linkageType: ''
    returnType: void
    signature: 'static void test_pathbuf_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:129,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:133,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:135,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_true
      Src: /src/glib/glib/tests/pathbuf.c:173,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:186,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:169,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_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:128,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_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_clear
      Src: /src/glib/glib/tests/pathbuf.c:187,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:176,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:165,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/pathbuf.c:184,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: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_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:170,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/tests/pathbuf.c:173,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:175,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:180,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/pathbuf.c:189,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/pathbuf.c:178,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:166,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:131,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:146,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_clear
      Src: /src/glib/glib/tests/pathbuf.c:153,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_clear
      Src: /src/glib/glib/tests/pathbuf.c:171,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:174,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/tests/pathbuf.c:184,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:168,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:179,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:181,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_test_message
    - g_assert_false
    - g_path_buf_init_from_path
    - g_path_buf_push
    - g_assert_path_buf_equal
    - g_path_buf_clear
    - g_test_skip
    - g_assert_true
    - g_path_buf_pop
    linkageType: ''
    returnType: void
    signature: 'static void test_pathbuf_push_pop (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:252,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:254,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/pathbuf.c:253,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_test_run
    - g_test_init
    - g_setenv
    - g_test_add_func
    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:199,1
    - Dst: g_path_buf_set_extension
      Src: /src/glib/glib/tests/pathbuf.c:201,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_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:222,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_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_set_filename
      Src: /src/glib/glib/tests/pathbuf.c:212,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:213,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_clear
      Src: /src/glib/glib/tests/pathbuf.c:239,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/pathbuf.c:201,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:202,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_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_test_skip
      Src: /src/glib/glib/tests/pathbuf.c:241,1
    - 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_push
      Src: /src/glib/glib/tests/pathbuf.c:217,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:218,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:208,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
    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_false
    - g_path_buf_init_from_path
    - g_assert_path_buf_equal
    - g_path_buf_push
    - g_path_buf_clear
    - g_test_skip
    - g_path_buf_to_path
    - g_assert_null
    - g_path_buf_init
    - g_assert_true
    - g_path_buf_set_extension
    - g_path_buf_set_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_pathbuf_filename_extension (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/tests/types.c:64,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: 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:127,1
    - 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_cmpint
      Src: /src/glib/glib/tests/types.c:95,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_strdup_printf
      Src: /src/glib/glib/tests/types.c:140,1
    - Dst: sscanf
      Src: /src/glib/glib/tests/types.c:141,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:58,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_assert_cmpint
      Src: /src/glib/glib/tests/types.c:109,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: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:144,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:78,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/types.c:74,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/types.c:64,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:111,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:143,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:
    - g_assert_cmpint
    - g_free
    - GUINT64_SWAP_LE_BE
    - g_assert_cmpuint
    - sscanf
    - GUINT32_SWAP_LE_BE
    - g_strdup_printf
    - GUINT16_SWAP_LE_BE
    - G_GINT64_CONSTANT
    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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_try_string
      Src: /src/glib/glib/tests/dataset.c:11,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:12,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:16,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:15,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/dataset.c:14,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:17,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:17,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:18,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:18,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:19,1
    - Dst: g_quark_try_string
      Src: /src/glib/glib/tests/dataset.c:19,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/dataset.c:21,1
    - Dst: g_free
      Src: /src/glib/glib/tests/dataset.c:24,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dataset.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 25
    functionName: test_quark_basic
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_quark_from_static_string
    - g_free
    - g_assert
    - g_quark_to_string
    - g_assert_cmpstr
    - g_quark_from_string
    - g_quark_try_string
    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:53,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:55,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:59,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:58,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:56,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:61,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:62,1
    - Dst: g_dataset_set_data
      Src: /src/glib/glib/tests/dataset.c:64,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:65,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:66,1
    - Dst: g_dataset_remove_data
      Src: /src/glib/glib/tests/dataset.c:68,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:69,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:70,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:72,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: test_dataset_basic
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_dataset_remove_data
    - g_dataset_get_data
    - g_dataset_set_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: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: notify
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void notify (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: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    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:140,1
    - Dst: g_dataset_destroy
      Src: /src/glib/glib/tests/dataset.c:143,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:142,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:141,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: test_dataset_destroy
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_dataset_set_data_full
    - g_assert
    - g_dataset_destroy
    linkageType: ''
    returnType: void
    signature: 'static void test_dataset_destroy (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/dataset.c:194,1
    - Dst: g_datalist_set_data_full
      Src: /src/glib/glib/tests/dataset.c:197,1
    - Dst: g_datalist_set_data_full
      Src: /src/glib/glib/tests/dataset.c:198,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:197,1
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:196,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:198,1
    - Dst: g_datalist_clear
      Src: /src/glib/glib/tests/dataset.c:199,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:200,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/dataset.c:204,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/dataset.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: test_datalist_clear
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_datalist_init
    - g_assert
    - g_datalist_clear
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_datalist_set_data_full
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_clear (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:237,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:240,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:239,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:239,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/tests/dataset.c:240,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:241,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/tests/dataset.c:243,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:243,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:244,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/tests/dataset.c:246,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:247,1
    - Dst: g_datalist_clear
      Src: /src/glib/glib/tests/dataset.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 250
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 250
    functionName: test_datalist_id
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_datalist_id_get_data
    - g_datalist_init
    - g_assert
    - g_datalist_clear
    - g_datalist_id_set_data
    - g_quark_from_string
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_id (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/dataset.c:289,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/dataset.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: destroy_func
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void destroy_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/dataset.c:35,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:40,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:39,1
    - Dst: g_intern_string
      Src: /src/glib/glib/tests/dataset.c:38,1
    - Dst: g_intern_static_string
      Src: /src/glib/glib/tests/dataset.c:37,1
    - Dst: g_free
      Src: /src/glib/glib/tests/dataset.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: test_quark_string
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_intern_string
    - g_free
    - g_intern_static_string
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_quark_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:89,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:95,1
    - Dst: g_dataset_remove_data
      Src: /src/glib/glib/tests/dataset.c:98,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:93,1
    - Dst: g_dataset_set_data
      Src: /src/glib/glib/tests/dataset.c:92,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:99,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:101,1
    - Dst: g_dataset_remove_no_notify
      Src: /src/glib/glib/tests/dataset.c:104,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: test_dataset_full
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_dataset_set_data_full
    - g_dataset_set_data
    - g_assert
    - g_dataset_remove_data
    - g_dataset_remove_no_notify
    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:125,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:126,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:129,1
    - Dst: g_dataset_foreach
      Src: /src/glib/glib/tests/dataset.c:128,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:127,1
    - Dst: g_dataset_destroy
      Src: /src/glib/glib/tests/dataset.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: test_dataset_foreach
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_dataset_set_data_full
    - g_assert
    - g_dataset_destroy
    - g_dataset_foreach
    linkageType: ''
    returnType: void
    signature: 'static void test_dataset_foreach (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:156,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:163,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:160,1
    - Dst: g_dataset_id_set_data
      Src: /src/glib/glib/tests/dataset.c:158,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:161,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:163,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:164,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:166,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:167,1
    - Dst: g_dataset_id_set_data
      Src: /src/glib/glib/tests/dataset.c:169,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:170,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:171,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:177,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:178,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:174,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:175,1
    - Dst: g_dataset_id_remove_data
      Src: /src/glib/glib/tests/dataset.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 179
    functionName: test_dataset_id
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_dataset_id_set_data
    - g_dataset_id_remove_data
    - g_quark_from_string
    - g_dataset_id_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_dataset_id (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_clear
      Src: /src/glib/glib/tests/dataset.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:215,1
    - Dst: g_datalist_get_data
      Src: /src/glib/glib/tests/dataset.c:221,1
    - Dst: g_datalist_set_data
      Src: /src/glib/glib/tests/dataset.c:217,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:219,1
    - Dst: g_datalist_get_data
      Src: /src/glib/glib/tests/dataset.c:218,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:222,1
    - Dst: g_datalist_get_data
      Src: /src/glib/glib/tests/dataset.c:224,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dataset.c:225,1
    - Dst: g_datalist_clear
      Src: /src/glib/glib/tests/dataset.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: test_datalist_basic
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_datalist_init
    - g_assert
    - g_datalist_clear
    - g_datalist_set_data
    - g_datalist_get_data
    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:258,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/dataset.c:267,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:260,1
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:269,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:259,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:270,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:270,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:271,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:271,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:272,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:272,1
    - Dst: g_datalist_foreach
      Src: /src/glib/glib/tests/dataset.c:275,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/dataset.c:278,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/dataset.c:282,1
    - Dst: g_datalist_foreach
      Src: /src/glib/glib/tests/dataset.c:281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/dataset.c:276,1
    - Dst: g_datalist_id_remove_multiple
      Src: /src/glib/glib/tests/dataset.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 283
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 283
    functionName: test_datalist_id_remove_multiple
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_datalist_init
    - g_datalist_id_set_data
    - g_datalist_id_remove_multiple
    - G_N_ELEMENTS
    - g_datalist_foreach
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_id_remove_multiple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:298,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:299,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/dataset.c:307,1
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:309,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:300,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/glib/tests/dataset.c:311,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:311,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/glib/tests/dataset.c:312,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:312,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/glib/tests/dataset.c:313,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/dataset.c:318,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/dataset.c:316,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:313,1
    - Dst: g_datalist_id_remove_multiple
      Src: /src/glib/glib/tests/dataset.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 319
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 319
    functionName: test_datalist_id_remove_multiple_destroy_order
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_datalist_id_set_data_full
    - g_datalist_init
    - g_datalist_id_remove_multiple
    - G_N_ELEMENTS
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_id_remove_multiple_destroy_order (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/dataset.c:324,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:327,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:329,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:328,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:326,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:330,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:331,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:332,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:333,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:334,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:337,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/dataset.c:340,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:335,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: main
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:24,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:43,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:49,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:57,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:53,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:45,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:66,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:81,1
    - Dst: strerror
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:81,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:31,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: strcmp
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:34,1
    - Dst: strlen
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:48,1
    - Dst: strerror
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:53,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:59,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:54,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:61,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:73,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:22,1
    - Dst: printf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:28,1
    - Dst: atoi
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:36,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:70,1
    - Dst: strerror
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:70,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:72,1
    - Dst: strlen
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:76,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:77,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:78,1
    - Dst: atoi
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:37,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:50,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:64,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:82,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpszCmdLine
    - nCmdShow
    argTypes:
    - struct HINSTANCE__*
    - struct HINSTANCE__*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 87
    functionName: _stdcall
    functionSourceFile: /src/glib/glib/tests/spawn-test-win32-gui.c
    functionUses: []
    functionsReached:
    - strlen
    - fflush
    - strerror
    - fprintf
    - atoi
    - printf
    - exit
    - read
    - strcmp
    - write
    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_io_channel_get_buffer_size
      Src: /src/glib/glib/tests/io-channel.c:48,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_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_set_encoding
    - g_assert_cmpint
    - g_io_channel_set_buffer_size
    - g_io_channel_get_buffer_size
    - g_assert_no_error
    - g_remove
    - g_io_channel_unref
    - g_io_channel_write_chars
    - g_io_channel_new_file
    linkageType: ''
    returnType: void
    signature: 'static void test_small_writes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/io-channel.c:182,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:187,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:192,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:196,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:203,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel.c:209,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel.c:213,1
    - Dst: g_io_channel_set_line_term
      Src: /src/glib/glib/tests/io-channel.c:201,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/io-channel.c:211,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel.c:210,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/io-channel.c:191,1
    - Dst: g_close
      Src: /src/glib/glib/tests/io-channel.c:188,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/io-channel.c:186,1
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/tests/io-channel.c:195,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/tests/io-channel.c:202,1
    - Dst: g_io_channel_read_line
      Src: /src/glib/glib/tests/io-channel.c:205,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/io-channel.c:214,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:207,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel.c:208,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 216
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 216
    functionName: test_read_line_embedded_nuls
    functionSourceFile: /src/glib/glib/tests/io-channel.c
    functionUses: []
    functionsReached:
    - g_io_channel_set_encoding
    - g_close
    - g_assert_cmpint
    - g_free
    - g_file_open_tmp
    - g_file_set_contents
    - g_assert_cmpuint
    - g_assert_no_error
    - g_io_channel_read_line
    - g_io_channel_unref
    - g_assert_cmpmem
    - g_test_summary
    - g_io_channel_new_file
    - g_io_channel_set_line_term
    linkageType: ''
    returnType: void
    signature: 'static void test_read_line_embedded_nuls (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/io-channel.c:222,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/io-channel.c:224,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/io-channel.c:225,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/io-channel.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: main
    functionSourceFile: /src/glib/glib/tests/io-channel.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - 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:88,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/tests/io-channel.c:95,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/tests/io-channel.c:131,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel.c:128,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel.c:130,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:140,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/io-channel.c:141,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/io-channel.c:161,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/io-channel.c:80,1
    - Dst: setbuf
      Src: /src/glib/glib/tests/io-channel.c:82,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/tests/io-channel.c:90,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/io-channel.c:104,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/tests/io-channel.c:149,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel.c:166,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:91,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:102,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_string_sized_new
      Src: /src/glib/glib/tests/io-channel.c:106,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel.c:99,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel.c:159,1
    - Dst: test_small_writes
      Src: /src/glib/glib/tests/io-channel.c:164,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/io-channel.c:167,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:85,1
    - Dst: g_io_channel_set_buffer_size
      Src: /src/glib/glib/tests/io-channel.c:93,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_clear_error
      Src: /src/glib/glib/tests/io-channel.c:156,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/io-channel.c:162,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_io_channel_set_buffer_size
    - g_clear_error
    - g_io_channel_flush
    - setbuf
    - g_io_channel_set_flags
    - g_assert_not_reached
    - g_string_free
    - g_io_channel_new_file
    - g_io_channel_set_encoding
    - test_small_writes
    - g_assert_cmpuint
    - g_assert_no_error
    - g_io_channel_read_line_string
    - g_string_truncate
    - g_test_message
    - g_string_sized_new
    - g_test_build_filename
    - g_free
    - g_io_channel_unref
    - g_io_channel_write_chars
    linkageType: ''
    returnType: void
    signature: 'static void test_read_write (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:104,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_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_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_hostname_is_non_ascii
      Src: /src/glib/glib/tests/hostutils.c:116,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:116,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:124,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:135,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/tests/hostutils.c:102,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:103,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:108,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/tests/hostutils.c:127,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:101,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:119,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:121,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_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:128,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
    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_free
    - g_hostname_is_non_ascii
    - g_hostname_is_ascii_encoded
    - g_hostname_to_ascii
    - g_assert_cmpstr
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_to_ascii (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/hostutils.c:339,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_free
      Src: /src/glib/glib/tests/hostutils.c:350,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:365,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/hostutils.c:367,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
    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:
    - g_free
    - g_hostname_is_non_ascii
    - g_hostname_is_ascii_encoded
    - g_hostname_to_ascii
    - g_hostname_to_unicode
    - g_test_add_func
    - printf
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/tests/hostutils.c:322,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/tests/hostutils.c:327,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hostutils.c:324,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_hostname_is_ip_address
    - g_strdup_printf
    - g_assertion_message
    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_free
      Src: /src/glib/glib/tests/hostutils.c:150,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_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_free
    - g_hostname_is_ascii_encoded
    - g_hostname_to_unicode
    - g_assert_cmpstr
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_to_unicode (void) '
  - 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_info
    - g_test_subprocess
    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_error
    - g_test_subprocess
    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:99,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:97,1
    - Dst: g_test_log_buffer_push
      Src: /src/glib/glib/tests/protocol.c:101,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_io_channel_read_chars
    - g_test_log_buffer_push
    - g_assert_cmpuint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_message_cb1 (GIOChannel * channel, GIOCondition
      condition, gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/tests/protocol.c:175,1
    - Dst: g_io_channel_get_line_term
      Src: /src/glib/glib/tests/protocol.c:178,1
    - Dst: g_io_channel_get_line_term
      Src: /src/glib/glib/tests/protocol.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:181,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_test_expect_message
      Src: /src/glib/glib/tests/protocol.c:195,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_N_ELEMENTS
      Src: /src/glib/glib/tests/protocol.c:222,1
    - Dst: g_free
      Src: /src/glib/glib/tests/protocol.c:239,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/protocol.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:222,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/tests/protocol.c:155,1
    - Dst: g_error
      Src: /src/glib/glib/tests/protocol.c:162,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/protocol.c:167,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/protocol.c:178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:182,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:186,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/tests/protocol.c:200,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/protocol.c:223,1
    - Dst: g_error
      Src: /src/glib/glib/tests/protocol.c:231,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_win32_new_fd
      Src: /src/glib/glib/tests/protocol.c:170,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/protocol.c:172,1
    - Dst: g_io_channel_set_line_term
      Src: /src/glib/glib/tests/protocol.c:179,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/glib/tests/protocol.c:174,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/tests/protocol.c:177,1
    - Dst: g_io_channel_get_buffered
      Src: /src/glib/glib/tests/protocol.c:186,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/tests/protocol.c:202,1
    - Dst: g_test_log_type_name
      Src: /src/glib/glib/tests/protocol.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:236,1
    - Dst: g_io_add_watch
      Src: /src/glib/glib/tests/protocol.c:188,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/protocol.c:228,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/protocol.c:153,1
    - Dst: g_test_log_buffer_new
      Src: /src/glib/glib/tests/protocol.c:166,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/tests/protocol.c:176,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/protocol.c:189,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/protocol.c:191,1
    - Dst: test_message_cb1
      Src: /src/glib/glib/tests/protocol.c:193,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/protocol.c:196,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/tests/protocol.c:233,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:237,1
    - Dst: g_test_log_buffer_free
      Src: /src/glib/glib/tests/protocol.c:241,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/protocol.c:240,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_test_assert_expected_messages
    - g_spawn_async
    - g_source_remove
    - g_io_channel_set_close_on_unref
    - g_main_loop_run
    - g_test_log_buffer_free
    - g_test_log_buffer_new
    - g_assert_cmpint
    - g_strerror
    - g_io_channel_set_flags
    - g_error
    - test_message_cb1
    - g_assert_not_reached
    - g_child_watch_add
    - close
    - g_test_expect_message
    - g_io_channel_unix_new
    - g_io_add_watch
    - g_io_channel_get_close_on_unref
    - g_io_channel_get_line_term
    - g_test_log_type_name
    - g_io_channel_set_encoding
    - g_test_log_buffer_pop
    - g_io_channel_win32_new_fd
    - g_main_loop_unref
    - g_strdup_printf
    - g_main_loop_new
    - pipe
    - g_free
    - g_assert
    - g_io_channel_get_buffered
    - g_io_channel_set_buffered
    - g_assert_cmpstr
    - g_io_channel_unref
    - g_test_log_msg_free
    - g_io_channel_set_line_term
    - G_N_ELEMENTS
    - g_io_channel_get_encoding
    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_debug
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void debug (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_message
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void message (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: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_spawn_close_pid
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void test_message_cb2 (GPid pid, gint status, gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - 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_strdup_printf
      Src: /src/glib/glib/tests/protocol.c:279,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: close
      Src: /src/glib/glib/tests/protocol.c:291,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_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_source_remove
      Src: /src/glib/glib/tests/protocol.c:313,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_main_loop_new
      Src: /src/glib/glib/tests/protocol.c:293,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/tests/protocol.c:302,1
    - Dst: test_message_cb1
      Src: /src/glib/glib/tests/protocol.c:310,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/protocol.c:314,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/protocol.c:331,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: pipe
      Src: /src/glib/glib/tests/protocol.c:273,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/protocol.c:276,1
    - Dst: g_test_log_buffer_new
      Src: /src/glib/glib/tests/protocol.c:292,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/protocol.c:298,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/protocol.c:315,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_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:356,1
    - Dst: g_free
      Src: /src/glib/glib/tests/protocol.c:351,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/protocol.c:312,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/glib/tests/protocol.c:300,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/tests/protocol.c:317,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/tests/protocol.c:348,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/protocol.c:352,1
    - Dst: g_test_log_buffer_free
      Src: /src/glib/glib/tests/protocol.c:353,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/protocol.c:313,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/tests/protocol.c:319,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_test_assert_expected_messages
    - g_spawn_async
    - g_source_remove
    - g_io_channel_set_close_on_unref
    - g_main_loop_run
    - g_test_log_buffer_free
    - g_test_log_buffer_new
    - g_assert_cmpint
    - g_strerror
    - g_io_channel_set_flags
    - g_error
    - test_message_cb1
    - g_assert_not_reached
    - g_child_watch_add
    - close
    - g_test_expect_message
    - g_io_channel_unix_new
    - g_io_add_watch
    - g_test_log_type_name
    - g_io_channel_set_encoding
    - g_test_log_buffer_pop
    - g_io_channel_win32_new_fd
    - g_main_loop_unref
    - g_strdup_printf
    - g_main_loop_new
    - pipe
    - g_free
    - g_assert
    - g_io_channel_set_buffered
    - g_assert_cmpstr
    - g_io_channel_unref
    - g_test_log_msg_free
    - G_N_ELEMENTS
    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:370,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:371,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_run
    - g_test_init
    - g_test_add_func
    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: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: 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:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    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:91,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing-helper.c:92,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing-helper.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    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:109,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:112,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:111,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:114,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:113,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:115,1
    - Dst: puts
      Src: /src/glib/glib/tests/testing-helper.c:117,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing-helper.c:122,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/testing-helper.c:123,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing-helper.c:125,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing-helper.c:127,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing-helper.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: test_subprocess_stdout
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - puts
    - g_test_trap_subprocess
    - printf
    - g_test_trap_has_passed
    - g_test_trap_assert_stdout
    - g_test_subprocess
    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_error
      Src: /src/glib/glib/tests/testing-helper.c:57,1
    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: test_error
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_error
    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:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    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:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    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:99,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:101,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing-helper.c:100,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing-helper.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    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:133,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing-helper.c:142,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/testing-helper.c:140,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:135,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing-helper.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: test_subprocess_stdout_no_nl
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_trap_subprocess
    - printf
    - g_test_trap_has_passed
    - g_test_trap_assert_stdout
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_stdout_no_nl (void) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/testing-helper.c:188,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:203,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:209,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:193,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:219,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:226,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:231,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:246,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:250,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:258,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/testing-helper.c:289,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:270,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:268,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:256,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:252,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/testing-helper.c:151,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/tests/testing-helper.c:161,1
    - Dst: g_test_set_nonfatal_assertions
      Src: /src/glib/glib/tests/testing-helper.c:189,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:199,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:205,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:215,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:221,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:234,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:238,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:239,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:260,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:262,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:272,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:247,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing-helper.c:285,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:274,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:253,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/testing-helper.c:183,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:201,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:195,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:211,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:217,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:222,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:228,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:232,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:236,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:241,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:266,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:264,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:281,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:280,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:254,1
    - Dst: fileno
      Src: /src/glib/glib/tests/testing-helper.c:158,1
    - Dst: setmode
      Src: /src/glib/glib/tests/testing-helper.c:158,1
    - Dst: memmove
      Src: /src/glib/glib/tests/testing-helper.c:165,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:170,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:191,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:207,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:197,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:213,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:224,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:230,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:237,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing-helper.c:278,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:245,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:251,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:249,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 110
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 290
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 290
    functionName: main
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - setlocale
    - fileno
    - g_strcmp0
    - g_test_set_nonfatal_assertions
    - g_assert_not_reached
    - g_test_add_func
    - memmove
    - g_test_run
    - g_test_init
    - setmode
    - g_return_val_if_fail
    - g_test_subprocess
    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_get_size
      Src: /src/glib/glib/tests/rcbox.c:35,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/rcbox.c:35,1
    - Dst: g_rc_box_release
      Src: /src/glib/glib/tests/rcbox.c:37,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:34,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_assert_cmpfloat
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_rc_box_get_size
    - g_rc_box_release
    - g_rc_box_new0
    - g_rc_box_new
    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_rc_box_acquire
      Src: /src/glib/glib/tests/rcbox.c:93,1
    - Dst: g_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:95,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:87,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_acquire
    - g_assert_nonnull
    - g_rc_box_release_full
    - g_assert_null
    - g_assert_true
    - g_rc_box_new
    linkageType: ''
    returnType: void
    signature: 'static void test_rcbox_release_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_new
      Src: /src/glib/glib/tests/rcbox.c:109,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:117,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:111,1
    - Dst: g_atomic_rc_box_acquire
      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_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_atomic_rc_box_release_full
    - g_assert_nonnull
    - g_atomic_rc_box_new
    - g_assert_null
    - g_atomic_rc_box_acquire
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_atomic_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_true
      Src: /src/glib/glib/tests/rcbox.c:161,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:162,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:163,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_assert_null
      Src: /src/glib/glib/tests/rcbox.c:183,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/rcbox.c:179,1
    - Dst: g_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:182,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_assert_cmpfloat
    - g_rc_box_dup
    - g_assert_nonnull
    - g_rc_box_release_full
    - g_assert_null
    - g_assert_true
    - g_rc_box_new
    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_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:201,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: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_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
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:218,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_atomic_rc_box_release_full
    - g_assert_cmpfloat
    - g_assert_nonnull
    - g_atomic_rc_box_dup
    - g_atomic_rc_box_new
    - g_assert_null
    - g_assert_true
    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_nonnull
    - g_atomic_rc_box_release
    - g_atomic_rc_box_alloc0
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_atomic_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:290,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:289,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: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_run
    - g_test_init
    - g_test_add_func
    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_release
      Src: /src/glib/glib/tests/rcbox.c:56,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/rcbox.c:54,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:53,1
    - Dst: g_atomic_rc_box_get_size
      Src: /src/glib/glib/tests/rcbox.c:54,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_assert_cmpfloat
    - g_assert_cmpuint
    - g_atomic_rc_box_get_size
    - g_assert_nonnull
    - g_atomic_rc_box_release
    - g_atomic_rc_box_new0
    - g_atomic_rc_box_new
    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_true
      Src: /src/glib/glib/tests/rcbox.c:70,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:72,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_true
    - g_assert_cmpfloat
    linkageType: ''
    returnType: void
    signature: 'static void point_clear (Point *p) '
  - 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_nonnull
      Src: /src/glib/glib/tests/rcbox.c:251,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:252,1
    - Dst: g_rc_box_release
      Src: /src/glib/glib/tests/rcbox.c:254,1
    - Dst: g_rc_box_alloc0
      Src: /src/glib/glib/tests/rcbox.c:249,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_nonnull
    - g_rc_box_alloc0
    - g_rc_box_release
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_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_run
    - g_test_init
    - g_test_add_func
    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_cmpstr
      Src: /src/glib/glib/tests/pattern.c:81,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:82,1
    - Dst: strlen
      Src: /src/glib/glib/tests/pattern.c:82,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:80,1
    - Dst: g_assert_cmpint
      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:
    - strlen
    - g_assert_cmpint
    - g_assert_cmpstr
    - g_pattern_spec_new
    - g_pattern_spec_free
    linkageType: ''
    returnType: void
    signature: 'static void test_compilation (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/tests/pattern.c:94,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:99,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:97,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/pattern.c:98,1
    - Dst: g_pattern_spec_copy
      Src: /src/glib/glib/tests/pattern.c:95,1
    - Dst: strlen
      Src: /src/glib/glib/tests/pattern.c:99,1
    - Dst: g_assert_cmpint
      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:
    - strlen
    - g_assert_cmpint
    - g_pattern_spec_copy
    - g_assert_cmpstr
    - g_pattern_spec_new
    - g_pattern_spec_free
    linkageType: ''
    returnType: void
    signature: 'static void test_copy (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:177,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_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:180,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_pattern_spec_free
      Src: /src/glib/glib/tests/pattern.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 193
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 193
    functionName: test_match
    functionSourceFile: /src/glib/glib/tests/pattern.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_pattern_spec_match
    - g_pattern_spec_match_string
    - g_pattern_match_simple
    - g_utf8_strreverse
    - g_pattern_spec_new
    - g_pattern_spec_free
    linkageType: ''
    returnType: void
    signature: 'static void test_match (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/tests/pattern.c:225,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/tests/pattern.c:230,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:228,1
    - Dst: g_pattern_spec_equal
      Src: /src/glib/glib/tests/pattern.c:228,1
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/tests/pattern.c:226,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/tests/pattern.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: test_equal
    functionSourceFile: /src/glib/glib/tests/pattern.c
    functionUses: []
    functionsReached:
    - g_pattern_spec_equal
    - g_assert_cmpint
    - g_pattern_spec_free
    - g_pattern_spec_new
    linkageType: ''
    returnType: void
    signature: 'static void test_equal (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/pattern.c:241,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/pattern.c:243,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/pattern.c:246,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/pattern.c:245,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pattern.c:247,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/pattern.c:250,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/pattern.c:252,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/pattern.c:253,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pattern.c:254,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/pattern.c:257,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pattern.c:261,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/pattern.c:271,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/pattern.c:266,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/pattern.c:267,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/pattern.c:260,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/pattern.c:259,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/pattern.c:264,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pattern.c:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: main
    functionSourceFile: /src/glib/glib/tests/pattern.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_add_data_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char** argv) '
  - 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_lock
      Src: /src/glib/glib/tests/rwlock.c:51,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:50,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_reader_lock
      Src: /src/glib/glib/tests/rwlock.c:74,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/tests/rwlock.c:76,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
    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:101,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:104,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/tests/rwlock.c:106,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:103,1
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/rwlock.c:102,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_writer_trylock
    - g_assert
    - g_rw_lock_writer_unlock
    - g_rw_lock_reader_unlock
    - g_rw_lock_writer_lock
    - g_rw_lock_reader_trylock
    - g_rw_lock_reader_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_test_verbose
      Src: /src/glib/glib/tests/rwlock.c:130,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/rwlock.c:131,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_rw_lock_writer_trylock
    - g_assert
    - g_rw_lock_writer_unlock
    - g_test_verbose
    - g_thread_self
    - g_rw_lock_writer_lock
    - g_printerr
    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_assert
      Src: /src/glib/glib/tests/rwlock.c:185,1
    - Dst: g_rw_lock_clear
      Src: /src/glib/glib/tests/rwlock.c:182,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/rwlock.c:176,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/rwlock.c:179,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_assert
    - g_rw_lock_clear
    - g_thread_new
    - g_rw_lock_init
    - 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:38,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/tests/rwlock.c:37,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:40,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/tests/rwlock.c:39,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_clear
    - g_rw_lock_writer_unlock
    - g_rw_lock_init
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock1 (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_trylock
      Src: /src/glib/glib/tests/rwlock.c:88,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_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_unlock
    - g_rw_lock_reader_trylock
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/rwlock.c:61,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:62,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:66,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:64,1
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/rwlock.c:63,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_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: acquire
      Src: /src/glib/glib/tests/rwlock.c:159,1
    - Dst: g_rand_int_range
      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:
    - g_rand_free
    - g_rand_int_range
    - g_rand_new
    - acquire
    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: g_assert
      Src: /src/glib/glib/tests/rwlock.c:207,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/rwlock.c:202,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
    - g_rw_lock_writer_unlock
    - GPOINTER_TO_INT
    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:282,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:280,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: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_run
    - g_test_init
    - g_test_add_func
    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:
    - GINT_TO_POINTER
    - g_assert
    - g_rw_lock_clear
    - g_thread_new
    - g_rw_lock_init
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock8 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read
      Src: /src/glib/glib/tests/io-channel-basic.c:212,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:216,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - channel
    - cond
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 228
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 228
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/io-channel-basic.c:104,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/io-channel-basic.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: shutdown_source
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void shutdown_source (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/glib/glib/tests/io-channel-basic.c:363,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:375,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:377,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:387,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:384,1
    - Dst: close
      Src: /src/glib/glib/tests/io-channel-basic.c:394,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/io-channel-basic.c:366,1
    - Dst: srand
      Src: /src/glib/glib/tests/io-channel-basic.c:367,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/io-channel-basic.c:371,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:371,1
    - Dst: write
      Src: /src/glib/glib/tests/io-channel-basic.c:377,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:386,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:385,1
    - Dst: write
      Src: /src/glib/glib/tests/io-channel-basic.c:379,1
    - Dst: sscanf
      Src: /src/glib/glib/tests/io-channel-basic.c:361,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:369,1
    - Dst: write
      Src: /src/glib/glib/tests/io-channel-basic.c:378,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:379,1
    - Dst: PostMessage
      Src: /src/glib/glib/tests/io-channel-basic.c:389,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:393,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 395
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 395
    functionName: run_process
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - PostMessage
    - g_test_message
    - g_assert_cmpint
    - sscanf
    - close
    - g_debug
    - g_usleep
    - g_get_monotonic_time
    - rand
    - srand
    - write
    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:79,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:83,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: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    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: read_all
      Src: /src/glib/glib/tests/io-channel-basic.c:162,1
    - Dst: read_all
      Src: /src/glib/glib/tests/io-channel-basic.c:142,1
    - Dst: shutdown_source
      Src: /src/glib/glib/tests/io-channel-basic.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:156,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel-basic.c:176,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:187,1
    - Dst: shutdown_source
      Src: /src/glib/glib/tests/io-channel-basic.c:188,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:194,1
    - Dst: g_io_channel_unix_get_fd
      Src: /src/glib/glib/tests/io-channel-basic.c:118,1
    - Dst: shutdown_source
      Src: /src/glib/glib/tests/io-channel-basic.c:129,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:147,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:121,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel-basic.c:151,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:170,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:193,1
    - Dst: shutdown_source
      Src: /src/glib/glib/tests/io-channel-basic.c:171,1
    - Dst: read_all
      Src: /src/glib/glib/tests/io-channel-basic.c:180,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel-basic.c:174,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - channel
    - cond
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 198
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 198
    functionName: recv_message
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - read_all
    - g_assert_cmpint
    - g_assert_cmpuint
    - g_io_channel_unix_get_fd
    - g_debug
    - shutdown_source
    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:241,1
    - Dst: DefWindowProc
      Src: /src/glib/glib/tests/io-channel-basic.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - hwnd
    - message
    - wparam
    - lparam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    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_io_channel_win32_new_messages
      Src: /src/glib/glib/tests/io-channel-basic.c:282,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/io-channel-basic.c:316,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/io-channel-basic.c:322,1
    - Dst: g_io_channel_win32_make_pollfd
      Src: /src/glib/glib/tests/io-channel-basic.c:332,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:336,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/io-channel-basic.c:342,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/io-channel-basic.c:343,1
    - Dst: CreateWindow
      Src: /src/glib/glib/tests/io-channel-basic.c:277,1
    - Dst: RegisterClass
      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:283,1
    - Dst: pipe
      Src: /src/glib/glib/tests/io-channel-basic.c:294,1
    - Dst: _spawnl
      Src: /src/glib/glib/tests/io-channel-basic.c:317,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/io-channel-basic.c:320,1
    - Dst: g_new
      Src: /src/glib/glib/tests/io-channel-basic.c:305,1
    - Dst: pipe
      Src: /src/glib/glib/tests/io-channel-basic.c:294,1
    - Dst: perror
      Src: /src/glib/glib/tests/io-channel-basic.c:296,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/io-channel-basic.c:339,1
    - Dst: GetModuleHandle
      Src: /src/glib/glib/tests/io-channel-basic.c:267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:275,1
    - Dst: MAKEINTATOM
      Src: /src/glib/glib/tests/io-channel-basic.c:277,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/io-channel-basic.c:279,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/io-channel-basic.c:287,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel-basic.c:324,1
    - Dst: close
      Src: /src/glib/glib/tests/io-channel-basic.c:327,1
    - Dst: close
      Src: /src/glib/glib/tests/io-channel-basic.c:328,1
    - Dst: g_io_channel_win32_poll
      Src: /src/glib/glib/tests/io-channel-basic.c:333,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/io-channel-basic.c:334,1
    - Dst: exit
      Src: /src/glib/glib/tests/io-channel-basic.c:297,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/io-channel-basic.c:303,1
    - Dst: g_io_add_watch_full
      Src: /src/glib/glib/tests/io-channel-basic.c:306,1
    - Dst: system
      Src: /src/glib/glib/tests/io-channel-basic.c:322,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/io-channel-basic.c:331,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/io-channel-basic.c:345,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel-basic.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 77
    argCount: 1
    argNames:
    - children_nb
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 347
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 347
    functionName: spawn_process
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - g_io_channel_win32_make_pollfd
    - system
    - CreateWindow
    - MAKEINTATOM
    - g_main_loop_run
    - g_assert_cmpint
    - g_assert_nonnull
    - close
    - exit
    - g_io_channel_unix_new
    - g_io_add_watch
    - g_get_monotonic_time
    - _spawnl
    - g_assert_no_errno
    - g_io_add_watch_full
    - g_main_loop_unref
    - g_strdup_printf
    - g_main_loop_new
    - RegisterClass
    - g_io_channel_win32_new_messages
    - g_malloc
    - g_test_message
    - pipe
    - g_free
    - GetModuleHandle
    - g_io_channel_win32_poll
    - g_new
    - perror
    - g_io_channel_unref
    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:400,1
    - Dst: spawn_process
      Src: /src/glib/glib/tests/io-channel-basic.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    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:413,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/io-channel-basic.c:422,1
    - Dst: run_process
      Src: /src/glib/glib/tests/io-channel-basic.c:418,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/io-channel-basic.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 425
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 425
    functionName: main
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    - run_process
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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:40,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:39,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:32,1
    - Dst: g_list_sort
      Src: /src/glib/glib/tests/list.c:34,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:
    - GINT_TO_POINTER
    - g_assert
    - g_list_sort
    - g_list_append
    - g_list_nth_data
    - g_list_free
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_list_sort (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: 1
    argNames:
    - x
    argTypes:
    - int
    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: 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:63,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_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:
    - GINT_TO_POINTER
    - g_assert
    - g_list_append
    - g_list_nth_data
    - g_list_free
    - GPOINTER_TO_INT
    - g_list_sort_with_data
    linkageType: ''
    returnType: void
    signature: 'static void test_list_sort_with_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:382,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:397,1
    - Dst: new_item
      Src: /src/glib/glib/tests/list.c:373,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/list.c:373,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: 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:386,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/list.c:386,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: g_assert
      Src: /src/glib/glib/tests/list.c:380,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:381,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/list.c:383,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:379,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_assert
      Src: /src/glib/glib/tests/list.c:395,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:388,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/list.c:372,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/list.c:374,1
    - Dst: new_item
      Src: /src/glib/glib/tests/list.c:372,1
    - Dst: new_item
      Src: /src/glib/glib/tests/list.c:374,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
    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:
    - g_assert
    - g_list_prepend
    - g_slist_free_full
    - g_slist_prepend
    - g_slice_free
    - new_item
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_free_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:637,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/list.c:657,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: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:650,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:653,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_init
      Src: /src/glib/glib/tests/list.c:630,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:636,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: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:648,1
    - 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:646,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:649,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_run
    - g_test_init
    - g_test_add_func
    - g_test_rand_int_range
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:81,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:93,1
    - Dst: g_list_sort
      Src: /src/glib/glib/tests/list.c:85,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/list.c:81,1
    - Dst: g_list_copy
      Src: /src/glib/glib/tests/list.c:84,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_assert
    - g_list_append
    - g_list_sort
    - g_list_nth_data
    - g_strdup_printf
    - g_list_free
    - g_list_copy
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_list_sort_stable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_insert_sorted_with_data
      Src: /src/glib/glib/tests/list.c:132,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:144,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:141,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:142,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:
    - GINT_TO_POINTER
    - g_assert
    - g_list_insert_sorted_with_data
    - g_list_nth_data
    - g_list_free
    - GPOINTER_TO_INT
    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: g_list_append
      Src: /src/glib/glib/tests/list.c:438,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: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: 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
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:447,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_assert_cmpint
    - GINT_TO_POINTER
    - g_list_append
    - g_list_copy_deep
    - g_list_free
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_list_copy_deep (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_insert_sorted
      Src: /src/glib/glib/tests/list.c:110,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:110,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:116,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:119,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:117,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:
    - GINT_TO_POINTER
    - g_assert
    - g_list_nth_data
    - g_list_insert_sorted
    - g_list_free
    - GPOINTER_TO_INT
    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:159,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:166,1
    - Dst: g_list_reverse
      Src: /src/glib/glib/tests/list.c:161,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:169,1
    - Dst: g_list_nth
      Src: /src/glib/glib/tests/list.c:165,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_assert
    - g_list_append
    - g_list_free
    - g_list_reverse
    - g_list_nth
    linkageType: ''
    returnType: void
    signature: 'static void test_list_reverse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      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: 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: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: g_list_free
      Src: /src/glib/glib/tests/list.c:467,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:465,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:
    - GINT_TO_POINTER
    - g_assert
    - g_list_append
    - g_list_delete_link
    - g_list_free
    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:181,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:186,1
    - Dst: g_list_nth
      Src: /src/glib/glib/tests/list.c:185,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:189,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:242,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_list_length
      Src: /src/glib/glib/tests/list.c:246,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_assert_cmpint
    - g_assert
    - g_list_append
    - g_list_length
    - g_list_remove
    - g_list_free
    - g_list_nth
    linkageType: ''
    returnType: void
    signature: 'static void test_list_remove (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:303,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:301,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_assert
    - g_list_append
    - g_list_last
    - g_list_nth_prev
    - g_list_free
    - g_list_first
    linkageType: ''
    returnType: void
    signature: 'static void test_list_first_last (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:408,1
    - Dst: GINT_TO_POINTER
      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: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:
    - GINT_TO_POINTER
    - g_assert
    - g_list_append
    - g_list_free
    - g_list_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_list_copy (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:542,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:541,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:545,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_test_trap_assert_stderr
    - g_list_remove_link
    - g_list_append
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_list_free
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_double_free (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:204,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:227,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:224,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_list_nth
      Src: /src/glib/glib/tests/list.c:216,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:217,1
    - Dst: g_list_concat
      Src: /src/glib/glib/tests/list.c:223,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:221,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_assert_cmpint
      Src: /src/glib/glib/tests/list.c:212,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:221,1
    - 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_list_length
      Src: /src/glib/glib/tests/list.c:212,1
    - Dst: g_list_concat
      Src: /src/glib/glib/tests/list.c:226,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
    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_assert_cmpint
    - g_assert
    - g_list_append
    - g_list_concat
    - g_list_length
    - g_list_free
    - g_list_nth
    linkageType: ''
    returnType: void
    signature: 'static void test_list_concat (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:273,1
    - Dst: g_list_remove_all
      Src: /src/glib/glib/tests/list.c:281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:277,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:274,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:277,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_assert_cmpint
    - g_assert
    - g_list_append
    - g_list_length
    - g_list_remove_all
    linkageType: ''
    returnType: void
    signature: 'static void test_list_remove_all (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:320,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:321,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_nth
      Src: /src/glib/glib/tests/list.c:332,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:336,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_insert
    - g_list_free
    - g_list_insert_before
    - g_list_nth
    linkageType: ''
    returnType: void
    signature: 'static void test_list_insert (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_assert_nonnull
      Src: /src/glib/glib/tests/list.c:577,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:579,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:583,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:581,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/list.c:586,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:588,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:593,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:605,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:620,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:622,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:607,1
    - Dst: g_list_insert_before_link
      Src: /src/glib/glib/tests/list.c:569,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_true
      Src: /src/glib/glib/tests/list.c:591,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:592,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_null
      Src: /src/glib/glib/tests/list.c:599,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:600,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:607,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:617,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:615,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_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_cmpint
      Src: /src/glib/glib/tests/list.c:594,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_true
      Src: /src/glib/glib/tests/list.c:604,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:611,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:621,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:613,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:619,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:571,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:574,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:582,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:583,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:589,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:590,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:594,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:606,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:618,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:616,1
    - Dst: g_list_insert_before_link
      Src: /src/glib/glib/tests/list.c:609,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:612,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_assert_cmpint
    - g_assert_nonnull
    - g_list_length
    - g_assert_null
    - g_list_insert_before_link
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_list_insert_before_link (void) '
  - 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:483,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/list.c:480,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: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_list_free
      Src: /src/glib/glib/tests/list.c:495,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:493,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_prepend
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'static void test_prepend (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:509,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:510,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:514,1
    - Dst: g_list_index
      Src: /src/glib/glib/tests/list.c:514,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_assert_cmpint
      Src: /src/glib/glib/tests/list.c:523,1
    - Dst: g_list_find
      Src: /src/glib/glib/tests/list.c:515,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:516,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:522,1
    - Dst: g_list_position
      Src: /src/glib/glib/tests/list.c:523,1
    - Dst: g_list_index
      Src: /src/glib/glib/tests/list.c:524,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_find
      Src: /src/glib/glib/tests/list.c:518,1
    - Dst: g_list_position
      Src: /src/glib/glib/tests/list.c:519,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:517,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:527,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:513,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_index
      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:524,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:526,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_assert_cmpint
    - g_list_append
    - g_list_position
    - g_list_free
    - g_list_index
    - g_list_find
    linkageType: ''
    returnType: void
    signature: 'static void test_position (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:88,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:98,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:115,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:123,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:138,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:164,1
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/tests/atomic.c:243,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:244,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:285,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:308,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:336,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:220,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:71,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:78,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:101,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:163,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:174,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/glib/tests/atomic.c:181,1
    - Dst: g_atomic_pointer_xor
      Src: /src/glib/glib/tests/atomic.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:221,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:230,1
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/tests/atomic.c:237,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:309,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:274,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:303,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:259,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:299,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:302,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:191,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:112,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:45,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:80,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:113,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:140,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_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:258,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:223,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:325,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:185,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:158,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:373,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:334,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:298,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:350,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/tests/atomic.c:367,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:110,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:106,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_cmpint
      Src: /src/glib/glib/tests/atomic.c:63,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:72,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_true
      Src: /src/glib/glib/tests/atomic.c:152,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:153,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:310,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:330,1
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/tests/atomic.c:270,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:324,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:283,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:338,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:340,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:286,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:46,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:97,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:160,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:171,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:194,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:195,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:195,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:227,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:228,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/atomic.c:232,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:376,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:327,1
    - Dst: g_atomic_int_exchange_and_add
      Src: /src/glib/glib/tests/atomic.c:277,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:246,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:233,1
    - Dst: g_atomic_pointer_add
      Src: /src/glib/glib/tests/atomic.c:361,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:42,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:77,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_assert_false
      Src: /src/glib/glib/tests/atomic.c:104,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:127,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:150,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:239,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:271,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:343,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:371,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:263,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:289,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:335,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:256,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/atomic.c:82,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_exchange
      Src: /src/glib/glib/tests/atomic.c:65,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:94,1
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/tests/atomic.c:93,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:179,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:188,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:275,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:290,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:296,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:311,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:291,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:280,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:322,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:100,1
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/tests/atomic.c:90,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:48,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:61,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_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:122,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:157,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:162,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:229,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/glib/tests/atomic.c:364,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:365,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:253,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:329,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:190,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:250,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:307,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:265,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:317,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:354,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:369,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:49,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:109,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:108,1
    - Dst: g_atomic_pointer_add
      Src: /src/glib/glib/tests/atomic.c:178,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:180,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:194,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:226,1
    - Dst: g_atomic_int_exchange
      Src: /src/glib/glib/tests/atomic.c:245,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:294,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:301,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:314,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:331,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:192,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:368,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:315,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:312,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:353,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:306,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:375,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_assert_false
      Src: /src/glib/glib/tests/atomic.c:43,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/atomic.c:53,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:76,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:85,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:121,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:143,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:159,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:288,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:326,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/atomic.c:234,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:295,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:287,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:356,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/tests/atomic.c:184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:272,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:293,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:89,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:50,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:74,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:120,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:129,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:145,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:146,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:186,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:235,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:247,1
    - Dst: g_atomic_int_compare_and_exchange
      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_cmpstr
      Src: /src/glib/glib/tests/atomic.c:326,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:238,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:362,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:342,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:378,1
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/tests/atomic.c:87,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:55,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:60,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:117,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:66,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:125,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:142,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:170,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:175,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/atomic.c:264,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:268,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:372,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:308,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/atomic.c:262,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:222,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:254,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:345,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/atomic.c:69,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:116,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:126,1
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/tests/atomic.c:240,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:260,1
    - Dst: g_atomic_int_exchange
      Src: /src/glib/glib/tests/atomic.c:281,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:305,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:316,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:337,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:341,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:261,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:282,1
    - Dst: g_atomic_pointer_xor
      Src: /src/glib/glib/tests/atomic.c:370,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:257,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:41,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:57,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_dec_and_test
      Src: /src/glib/glib/tests/atomic.c:84,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:142,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:154,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:155,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:165,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:269,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/atomic.c:249,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:297,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:313,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:379,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:172,1
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/tests/atomic.c:273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:81,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:47,1
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/tests/atomic.c:62,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:119,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:128,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:139,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:141,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:147,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:167,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:251,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:333,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:355,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:346,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:366,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:300,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:302,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:347,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:378,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:348,1
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/tests/atomic.c:267,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_assert_true
      Src: /src/glib/glib/tests/atomic.c:111,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:52,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:64,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:124,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:151,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:219,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:351,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:359,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:379,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:224,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 397
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 380
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 380
    functionName: test_types
    functionSourceFile: /src/glib/glib/tests/atomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_atomic_int_dec_and_test
    - g_atomic_pointer_compare_and_exchange
    - g_atomic_pointer_exchange
    - g_assert_cmpint
    - g_atomic_int_get
    - g_atomic_pointer_compare_and_exchange_full
    - g_atomic_int_and
    - g_atomic_int_or
    - g_atomic_pointer_and
    - g_assert_cmpuint
    - g_atomic_int_compare_and_exchange_full
    - g_atomic_pointer_add
    - g_atomic_pointer_set
    - g_atomic_int_xor
    - g_assert_null
    - g_atomic_pointer_xor
    - g_atomic_int_compare_and_exchange
    - g_atomic_int_inc
    - g_atomic_int_add
    - g_assert_false
    - g_assert_cmpstr
    - g_atomic_pointer_or
    - g_atomic_int_exchange_and_add
    - g_assert_true
    - g_atomic_int_set
    - g_atomic_int_exchange
    linkageType: ''
    returnType: void
    signature: 'static void test_types (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/atomic.c:433,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/atomic.c:438,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/atomic.c:436,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/atomic.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: main
    functionSourceFile: /src/glib/glib/tests/atomic.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    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:391,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:399,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/atomic.c:400,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/atomic.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 404
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 404
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/atomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - GPOINTER_TO_INT
    - g_random_int_range
    - g_thread_yield
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/atomic.c:418,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/atomic.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:427,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/atomic.c:418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 428
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 428
    functionName: test_threaded
    functionSourceFile: /src/glib/glib/tests/atomic.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_thread_new
    - GINT_TO_POINTER
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:160,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:162,1
    - Dst: g_getenv
      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_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_setenv
      Src: /src/glib/glib/tests/environment.c:165,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:166,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/environment.c:167,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:168,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:166,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:168,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_unsetenv
    - g_assert_cmpstr
    - g_getenv
    - g_assert_null
    - g_assert_true
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_setenv (void) '
  - 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_environ_setenv
      Src: /src/glib/glib/tests/environment.c:261,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:258,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/environment.c:262,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_environ_setenv
    - g_environ_getenv
    - g_assert_nonnull
    - g_environ_unsetenv
    - g_strfreev
    - g_assert_null
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_environ_null (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/environment.c:28,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/environment.c:42,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_size
      Src: /src/glib/glib/tests/environment.c:61,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/environment.c:59,1
    - Dst: g_assert_cmpint
      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_get_environ
      Src: /src/glib/glib/tests/environment.c:35,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:48,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:57,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:58,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/environment.c:56,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/environment.c:40,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/environment.c:32,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/environment.c:41,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_strfreev
      Src: /src/glib/glib/tests/environment.c:63,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_assert_cmpint
    - g_get_environ
    - g_free
    - g_hash_table_unref
    - g_strcmp0
    - g_hash_table_size
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_hash_table_remove
    - g_strsplit
    - g_listenv
    - g_strfreev
    - g_getenv
    - g_assert_null
    - g_test_summary
    - g_hash_table_new_full
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void test_listenv (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:191,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:200,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:210,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:213,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_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_environ_setenv
      Src: /src/glib/glib/tests/environment.c:237,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:187,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:188,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/environment.c:194,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:207,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:223,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:225,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_getenv
      Src: /src/glib/glib/tests/environment.c:234,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:245,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:238,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:239,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/environment.c:177,1
    - 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_assert_null
      Src: /src/glib/glib/tests/environment.c:192,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_environ_setenv
      Src: /src/glib/glib/tests/environment.c:212,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/environment.c:218,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_getenv
      Src: /src/glib/glib/tests/environment.c:242,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:201,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:204,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:216,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_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_assert_null
      Src: /src/glib/glib/tests/environment.c:243,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_undefined
    - g_test_assert_expected_messages
    - g_environ_getenv
    - g_environ_setenv
    - g_assert_cmpstr
    - g_new
    - g_environ_unsetenv
    - g_test_expect_message
    - g_strfreev
    - g_assert_null
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_environ_array (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/environment.c:81,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:78,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:85,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:96,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_false
      Src: /src/glib/glib/tests/environment.c:108,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:122,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:128,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:137,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/environment.c:144,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/environment.c:148,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:126,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_assert_nonnull
      Src: /src/glib/glib/tests/environment.c:97,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:92,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/environment.c:101,1
    - Dst: g_setenv
      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_assert_false
      Src: /src/glib/glib/tests/environment.c:118,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:149,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:142,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/environment.c:122,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:116,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/environment.c:74,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:81,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/environment.c:87,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:91,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:98,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:94,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_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_getenv
      Src: /src/glib/glib/tests/environment.c:83,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/environment.c:84,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_cmpstr
      Src: /src/glib/glib/tests/environment.c:99,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_setenv
      Src: /src/glib/glib/tests/environment.c:113,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:119,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_unsetenv
    - g_test_undefined
    - g_assert_cmpint
    - g_assert_false
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_getenv
    - g_assert_null
    - g_test_summary
    - g_assert_true
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_getenv (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_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_environ_getenv
      Src: /src/glib/glib/tests/environment.c:282,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_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_strfreev
      Src: /src/glib/glib/tests/environment.c:308,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:297,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:301,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/environment.c:300,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_environ_getenv
    - g_environ_setenv
    - g_assert_cmpstr
    - g_environ_unsetenv
    - g_strfreev
    - g_assert_null
    - g_test_summary
    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:317,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: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: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_run
    - g_test_init
    - g_test_add_func
    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:72,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:74,1
    - Dst: g_string_chunk_insert_len
      Src: /src/glib/glib/tests/string.c:71,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: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_free
    - g_string_chunk_insert
    - g_string_chunk_new
    - g_assert_cmpmem
    - g_string_chunk_insert_len
    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:317,1
    - Dst: string_append_vprintf_va
      Src: /src/glib/glib/tests/string.c:319,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:329,1
    - Dst: string_append_vprintf_va
      Src: /src/glib/glib/tests/string.c:324,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: test_string_append_vprintf
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_free
    - string_append_vprintf_va
    - g_string_new
    - g_assert_cmpstr
    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:486,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:489,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:489,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:490,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/tests/string.c:488,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:493,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:494,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/tests/string.c:496,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:497,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:498,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 501
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 501
    functionName: test_string_truncate
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_new
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_string_truncate
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void test_string_truncate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:542,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/string.c:544,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:545,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:549,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:551,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:559,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:544,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:546,1
    - Dst: g_string_insert
      Src: /src/glib/glib/tests/string.c:553,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:554,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:547,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:556,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:546,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:548,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:558,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:540,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:542,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:543,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:541,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/string.c:549,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:552,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:550,1
    - Dst: g_string_printf
      Src: /src/glib/glib/tests/string.c:555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 560
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 560
    functionName: test_string_nul_handling
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_insert
    - g_string_new
    - g_assert_false
    - g_string_equal
    - g_string_append
    - g_assert_cmpuint
    - g_string_append_c
    - g_assert_cmpmem
    - g_string_printf
    - g_string_free
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_string_nul_handling (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:86,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:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:103,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: strlen
      Src: /src/glib/glib/tests/string.c:92,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:91,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:93,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:98,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:97,1
    - Dst: g_string_new_len
      Src: /src/glib/glib/tests/string.c:101,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:109,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/string.c:90,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:105,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:95,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:104,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
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_string_new_len
    - g_string_free
    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: g_string_vprintf
      Src: /src/glib/glib/tests/string.c:121,1
    - Dst: va_end
      Src: /src/glib/glib/tests/string.c:122,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:
    - va_end
    - g_string_vprintf
    - va_start
    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:338,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/string.c:344,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:343,1
    - Dst: g_string_prepend_c
      Src: /src/glib/glib/tests/string.c:341,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/string.c:343,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:344,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:344,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: test_string_prepend_c
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_new
    - g_assert
    - g_string_free
    - g_string_prepend_c
    linkageType: ''
    returnType: void
    signature: 'static void test_string_prepend_c (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:514,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:519,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:517,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:518,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:519,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:524,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:527,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:529,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:509,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:512,1
    - Dst: g_string_overwrite
      Src: /src/glib/glib/tests/string.c:511,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:514,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:522,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/tests/string.c:521,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:524,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:531,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:513,1
    - Dst: g_string_overwrite
      Src: /src/glib/glib/tests/string.c:516,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/tests/string.c:526,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:527,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/tests/string.c:528,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 532
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 532
    functionName: test_string_overwrite
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_overwrite
    - g_str_equal
    - g_string_new
    - g_assert_cmpuint
    - g_string_free
    - g_string_overwrite_len
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_string_overwrite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:567,1
    - Dst: g_string_ascii_down
      Src: /src/glib/glib/tests/string.c:568,1
    - Dst: g_string_down
      Src: /src/glib/glib/tests/string.c:572,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:569,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/string.c:571,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:573,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/string.c:575,1
    - Dst: g_string_ascii_up
      Src: /src/glib/glib/tests/string.c:576,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:577,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/string.c:579,1
    - Dst: g_string_up
      Src: /src/glib/glib/tests/string.c:580,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:583,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 584
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 584
    functionName: test_string_up_down
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_assign
    - g_string_up
    - g_string_ascii_down
    - g_assert_cmpstr
    - g_string_down
    - g_string_ascii_up
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void test_string_up_down (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: strlen
      Src: /src/glib/glib/tests/string.c:195,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:191,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:
    - strlen
    - g_string_new
    - g_string_append_c
    - g_string_free
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_string_append_c (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:415,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:420,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:418,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:425,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:438,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:443,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:446,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:452,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:454,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:462,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:423,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:431,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:432,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:433,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:439,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:441,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:442,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:448,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:449,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:456,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:459,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:416,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:417,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:421,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:426,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:428,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:444,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:447,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:451,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:422,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:430,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:436,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:437,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:427,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:453,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:457,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:461,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:463,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:464,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 465
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 465
    functionName: test_string_insert_unichar
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - g_assert_cmpstr
    - g_string_insert_unichar
    linkageType: ''
    returnType: void
    signature: 'static void test_string_insert_unichar (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/string.c:664,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:669,1
    - Dst: g_string_replace
      Src: /src/glib/glib/tests/string.c:673,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/string.c:675,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/string.c:670,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:677,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:678,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:678,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:679,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:679,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:681,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 683
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 683
    functionName: test_string_replace
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_message
    - g_string_new
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_string_free
    - g_string_replace
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_string_replace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/tests/string.c:716,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/string.c:722,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/string.c:719,1
    - Dst: g_string_new_take
      Src: /src/glib/glib/tests/string.c:722,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:720,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/string.c:723,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/string.c:724,1
    - Dst: g_string_replace
      Src: /src/glib/glib/tests/string.c:726,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:727,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/tests/string.c:729,1
    - Dst: g_free
      Src: /src/glib/glib/tests/string.c:732,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/string.c:729,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 733
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 733
    functionName: test_string_new_take
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_free_and_steal
    - g_free
    - strcpy
    - g_assert_nonnull
    - malloc
    - g_assert_cmpstr
    - g_string_new_take
    - g_steal_pointer
    - g_assert_null
    - g_string_replace
    linkageType: ''
    returnType: void
    signature: 'static void test_string_new_take (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/string.c:211,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/string.c:229,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/string.c:234,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:245,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:252,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:257,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:260,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:282,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:272,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/string.c:267,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:290,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:215,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:214,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:235,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:247,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:253,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:257,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_assert_true
      Src: /src/glib/glib/tests/string.c:282,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:272,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:291,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:285,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:277,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:278,1
    - 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_test_expect_message
      Src: /src/glib/glib/tests/string.c:237,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:239,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: g_free
      Src: /src/glib/glib/tests/string.c:248,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_test_expect_message
      Src: /src/glib/glib/tests/string.c:265,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:273,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_string_append
      Src: /src/glib/glib/tests/string.c:229,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:239,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:240,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:251,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:283,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:287,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:280,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:270,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:
    - strlen
    - g_strdup
    - g_string_new
    - g_string_append
    - g_free
    - g_test_assert_expected_messages
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_null
    - g_string_append_len
    - g_string_free
    - g_assert_true
    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:472,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:475,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/string.c:474,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:474,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:473,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:476,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:476,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:477,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 479
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 479
    functionName: test_string_equal
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_assert_false
    - g_string_equal
    - g_string_free
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_string_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:691,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:694,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:692,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:696,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:693,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:698,1
    - Dst: g_free
      Src: /src/glib/glib/tests/string.c:699,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:701,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:702,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:703,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/tests/string.c:705,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:707,1
    - Dst: g_free
      Src: /src/glib/glib/tests/string.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 709
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 709
    functionName: test_string_steal
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_free
    - g_string_free_and_steal
    - g_assert_cmpstr
    - g_string_append_c
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void test_string_steal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new_take
      Src: /src/glib/glib/tests/string.c:738,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/string.c:742,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:742,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: test_string_new_take_null
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_new_take
    - g_steal_pointer
    - g_string_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_string_new_take_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:753,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:751,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:755,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:757,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:759,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:761,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:763,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:765,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:768,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:770,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:769,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:773,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/string.c:775,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:772,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/string.c:749,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:754,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:752,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:756,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:758,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:760,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:762,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:764,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:766,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:767,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 776
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 776
    functionName: main
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:130,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:141,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:150,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:
    - g_string_new
    - g_assert_cmpstr
    - g_string_printf
    - g_string_free
    - my_string_printf
    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:355,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:358,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:357,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:361,1
    - Dst: g_string_prepend
      Src: /src/glib/glib/tests/string.c:356,1
    - Dst: g_string_prepend_len
      Src: /src/glib/glib/tests/string.c:362,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:362,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:363,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 365
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 365
    functionName: test_string_prepend
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_new
    - g_string_prepend
    - g_string_prepend_len
    - g_assert_cmpstr
    - g_string_free
    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:164,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:167,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:170,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:165,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_assert_cmpstr
    - g_string_new
    - g_string_assign
    linkageType: ''
    returnType: void
    signature: 'static void test_string_assign (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:376,1
    - Dst: g_string_insert
      Src: /src/glib/glib/tests/string.c:380,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/tests/string.c:386,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:386,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:391,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:393,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:387,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:379,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:380,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:385,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/tests/string.c:392,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:392,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:397,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:399,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:403,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/tests/string.c:404,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:375,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:381,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:388,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:394,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/tests/string.c:398,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:405,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:373,1
    - Dst: g_string_insert
      Src: /src/glib/glib/tests/string.c:374,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:382,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:400,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 407
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 407
    functionName: test_string_insert
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_insert
    - g_string_new
    - g_string_insert_len
    - g_assert_cmpstr
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void test_string_insert (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:
    - va_end
    - g_string_append_vprintf
    - va_start
    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:591,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:594,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:595,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:597,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/string.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 598
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 598
    functionName: test_string_set_size
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_set_size
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void test_string_set_size (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_chunk_new
      Src: /src/glib/glib/tests/string.c:40,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:45,1
    - Dst: g_string_chunk_insert_const
      Src: /src/glib/glib/tests/string.c:48,1
    - Dst: g_string_chunk_insert
      Src: /src/glib/glib/tests/string.c:44,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:49,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_string_chunk_free
    - g_string_chunk_insert
    - g_string_chunk_new
    - g_assert_cmpstr
    - g_string_chunk_clear
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_string_chunks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:608,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/string.c:613,1
    - Dst: g_string_free_to_bytes
      Src: /src/glib/glib/tests/string.c:611,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:615,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:609,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:617,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/string.c:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 620
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 620
    functionName: test_string_to_bytes
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_bytes_get_data
    - g_string_append
    - g_string_free_to_bytes
    - g_assert_cmpuint
    - g_bytes_unref
    - g_assert_cmpmem
    linkageType: ''
    returnType: void
    signature: 'static void test_string_to_bytes (void) '
  - 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_mem_chunk_destroy
    - g_mem_chunk_free
    - g_chunk_new
    - 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_add_func
      Src: /src/glib/glib/tests/memchunk.c:62,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/memchunk.c:64,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_run
    - g_test_init
    - g_test_add_func
    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_assert_false
      Src: /src/glib/glib/tests/thread-deprecated.c:18,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:17,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:16,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:
    - g_assert_cmpint
    - g_assert_false
    - GINT_TO_POINTER
    - g_mutex_trylock
    - g_mutex_unlock
    - GPOINTER_TO_INT
    - G_TRYLOCK
    - g_mutex_lock
    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_mutex_unlock
    - g_free
    - 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: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_assert_cmpint
    - g_usleep
    - g_thread_join
    - g_thread_create
    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:309,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-deprecated.c:311,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: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:356,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/thread-deprecated.c:359,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread-deprecated.c:365,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:362,1
    - Dst: GUINT_TO_POINTER
      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_assert_cmpint
    - g_thread_create
    - G_LOCK
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_g_thread_once (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:119,1
    - Dst: g_new
      Src: /src/glib/glib/tests/thread-deprecated.c:122,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:121,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_mutex_unlock
    - g_mutex_lock
    - g_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_g_static_private_constructor (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      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_mutex_trylock
      Src: /src/glib/glib/tests/thread-deprecated.c:32,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: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:44,1
    - Dst: g_thread_join
      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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_assert_true
    - g_thread_create
    - g_mutex_trylock
    - G_UNLOCK
    - g_mutex_unlock
    - g_usleep
    - g_thread_join
    - GPOINTER_TO_INT
    - G_TRYLOCK
    linkageType: ''
    returnType: void
    signature: 'static void test_g_mutex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      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: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:56,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:60,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_assert_cmpint
    - g_assert_false
    - GINT_TO_POINTER
    - g_static_rec_mutex_unlock
    - g_static_rec_mutex_trylock
    - g_assert_not_reached
    - g_thread_exit
    - g_static_rec_mutex_lock
    - GPOINTER_TO_INT
    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:155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:162,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:170,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/thread-deprecated.c:174,1
    - Dst: test_g_static_private_constructor
      Src: /src/glib/glib/tests/thread-deprecated.c:178,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:164,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/thread-deprecated.c:156,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:187,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:183,1
    - Dst: test_g_static_private_constructor
      Src: /src/glib/glib/tests/thread-deprecated.c:147,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:184,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:138,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_get
      Src: /src/glib/glib/tests/thread-deprecated.c:152,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_static_private_set
      Src: /src/glib/glib/tests/thread-deprecated.c:179,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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_static_private_get
    - g_mutex_unlock
    - g_usleep
    - g_static_private_set
    - GPOINTER_TO_INT
    - test_g_static_private_constructor
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_g_static_private_thread (gpointer data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:249,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:262,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_random_double
      Src: /src/glib/glib/tests/thread-deprecated.c:234,1
    - Dst: g_usleep
      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_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:265,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:263,1
    - Dst: g_static_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:273,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:242,1
    - 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_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:251,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:237,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:243,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:245,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-deprecated.c:247,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-deprecated.c:267,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_writer_lock
    - g_assert_cmpint
    - G_LOCK
    - g_static_rw_lock_reader_lock
    - g_random_int_range
    - G_UNLOCK
    - g_random_double
    - g_static_rw_lock_reader_unlock
    - g_usleep
    - g_static_rw_lock_writer_unlock
    - g_static_rw_lock_writer_trylock
    - g_static_rw_lock_reader_trylock
    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_random_int_range
      Src: /src/glib/glib/tests/thread-deprecated.c:324,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:321,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/thread-deprecated.c:328,1
    - Dst: g_once
      Src: /src/glib/glib/tests/thread-deprecated.c:325,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_LOCK
    - g_random_int_range
    - G_UNLOCK
    - g_assert_cmpmem
    - g_once
    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:403,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: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_run
    - g_test_init
    - g_test_add_func
    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: g_static_rec_mutex_trylock
      Src: /src/glib/glib/tests/thread-deprecated.c:79,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:82,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_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:103,1
    - Dst: g_static_rec_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:99,1
    - Dst: g_static_rec_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:101,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_assert_cmpint
    - GINT_TO_POINTER
    - g_thread_create
    - g_static_rec_mutex_unlock
    - g_static_rec_mutex_trylock
    - g_usleep
    - g_thread_join
    - g_static_rec_mutex_lock
    - GPOINTER_TO_INT
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_g_static_rec_mutex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/thread-deprecated.c:200,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:201,1
    - Dst: g_static_private_init
      Src: /src/glib/glib/tests/thread-deprecated.c:210,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_assert_cmpint
    - GINT_TO_POINTER
    - GPOINTER_TO_UINT
    - g_static_private_init
    - g_thread_create
    - g_usleep
    - g_thread_join
    - g_static_private_free
    linkageType: ''
    returnType: void
    signature: 'static void test_g_static_private (void) '
  - 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_thread_once
      Src: /src/glib/glib/tests/thread-deprecated.c:387,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: 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:
    - test_g_mutex
    - g_static_rec_mutex_free
    - g_static_rw_lock_free
    - test_g_thread_once
    - test_g_static_private
    - test_g_static_rec_mutex
    - g_static_private_free
    - test_g_static_rw_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_rerun_all (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_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: 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_string_new
    - g_markup_parse_context_push
    linkageType: ''
    returnType: void
    signature: 'static void subparser_start (GMarkupParseContext *ctx) '
  - 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_string_new
    - g_markup_parse_context_push
    - g_string_free
    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: replay_parser_start
      Src: /src/glib/glib/tests/markup-subparser.c:221,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-subparser.c:209,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
    - replay_parser_start
    - subparser_start
    - strcmp
    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: g_markup_parse_context_end_parse
      Src: /src/glib/glib/tests/markup-subparser.c:293,1
    - Dst: strlen
      Src: /src/glib/glib/tests/markup-subparser.c:291,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup-subparser.c:289,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-subparser.c:290,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_free
      Src: /src/glib/glib/tests/markup-subparser.c:327,1
    - Dst: g_error
      Src: /src/glib/glib/tests/markup-subparser.c:320,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-subparser.c:319,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-subparser.c:329,1
    - Dst: g_error
      Src: /src/glib/glib/tests/markup-subparser.c:312,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:
    - strlen
    - g_string_new
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_markup_parse_context_new
    - g_markup_parse_context_end_parse
    - g_assert
    - g_error
    - g_error_free
    - strstr
    - strcmp
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void test (gconstpointer user_data) '
  - 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: 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_string_free_and_steal
      Src: /src/glib/glib/tests/markup-subparser.c:85,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
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - GError**
    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_string_free_and_steal
    - g_free
    - g_steal_pointer
    - g_markup_parse_context_pop
    linkageType: ''
    returnType: char*
    signature: 'static char *subparser_end (GMarkupParseContext *ctx, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_pop
      Src: /src/glib/glib/tests/markup-subparser.c:142,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-subparser.c:150,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/tests/markup-subparser.c:149,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: 2
    argNames:
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - GError**
    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_set_error
    - g_string_free_and_steal
    - g_free
    - g_steal_pointer
    - g_string_free
    - g_markup_parse_context_get_element
    - g_propagate_error
    - g_markup_parse_context_pop
    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: 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: 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: 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:
    - subparser_end
    - g_free
    - g_string_append_printf
    - strcmp
    - replay_parser_end
    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: g_test_init
      Src: /src/glib/glib/tests/markup-subparser.c:378,1
    - Dst: add_tests
      Src: /src/glib/glib/tests/markup-subparser.c:380,1
    - Dst: add_tests
      Src: /src/glib/glib/tests/markup-subparser.c:379,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/markup-subparser.c:381,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:
    - add_tests
    - g_test_run
    - g_test_init
    - g_setenv
    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_assert_cmpint
    - g_assert
    - g_assert_no_error
    - g_error_free
    - g_strv_equal
    - g_strfreev
    - g_shell_parse_argv
    - g_assert_error
    - g_printerr
    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_strdup_printf
      Src: /src/glib/glib/tests/shell.c:197,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/shell.c:198,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_run
      Src: /src/glib/glib/tests/shell.c:216,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/shell.c:211,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
    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_free
    - g_test_add_data_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_shell_unquote
      Src: /src/glib/glib/tests/shell.c:175,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/shell.c:180,1
    - Dst: g_free
      Src: /src/glib/glib/tests/shell.c:182,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_free
    - g_assert_no_error
    - g_error_free
    - g_assert_cmpstr
    - g_shell_unquote
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void do_unquote_test (gconstpointer d) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:222,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:225,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:241,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:232,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/unix.c:244,1
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:221,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:222,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:233,1
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:241,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:242,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/unix.c:246,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/unix.c:217,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:223,1
    - Dst: g_timeout_add
      Src: /src/glib/glib/tests/unix.c:224,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:226,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/unix.c:228,1
    - Dst: g_timeout_add
      Src: /src/glib/glib/tests/unix.c:231,1
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:237,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:243,1
    - Dst: g_timeout_add
      Src: /src/glib/glib/tests/unix.c:239,1
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 247
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 247
    functionName: test_signal
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - getpid
    - g_assert
    - g_source_remove
    - kill
    - g_unix_signal_add
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_timeout_add
    linkageType: ''
    returnType: void
    signature: 'static void test_signal (int signum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:326,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/unix.c:328,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/unix.c:333,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/unix.c:330,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 336
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 336
    functionName: on_sigwinch_received
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - getpid
    - g_assert_not_reached
    - kill
    - g_usleep
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_sigwinch_received (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_signal
      Src: /src/glib/glib/tests/unix.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    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_main_context_new
      Src: /src/glib/glib/tests/unix.c:351,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/unix.c:356,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/unix.c:352,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/unix.c:355,1
    - Dst: g_unix_signal_source_new
      Src: /src/glib/glib/tests/unix.c:354,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/unix.c:357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:359,1
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:360,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:360,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:361,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/unix.c:364,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/unix.c:365,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 366
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 366
    functionName: test_callback_after_signal
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_assert_cmpint
    - getpid
    - g_main_context_unref
    - g_unix_signal_source_new
    - kill
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_source_attach
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_callback_after_signal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/unix.c:43,1
    - Dst: write
      Src: /src/glib/glib/tests/unix.c:47,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:45,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:44,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:47,1
    - Dst: memset
      Src: /src/glib/glib/tests/unix.c:48,1
    - Dst: read
      Src: /src/glib/glib/tests/unix.c:49,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:50,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:53,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:54,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:56,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/unix.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: test_pipe
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert
    - g_unix_open_pipe
    - g_assert_no_error
    - close
    - memset
    - read
    - g_str_has_prefix
    - write
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/unix.c:96,1
    - Dst: dup
      Src: /src/glib/glib/tests/unix.c:99,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:100,1
    - Dst: g_close
      Src: /src/glib/glib/tests/unix.c:102,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/unix.c:97,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:103,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/unix.c:105,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:106,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:109,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:115,1
    - Dst: g_close
      Src: /src/glib/glib/tests/unix.c:114,1
    - Dst: g_close
      Src: /src/glib/glib/tests/unix.c:120,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:121,1
    - Dst: dup2
      Src: /src/glib/glib/tests/unix.c:117,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:112,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:118,1
    - Dst: g_close
      Src: /src/glib/glib/tests/unix.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 122
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 122
    functionName: test_pipe_stdio_overwrite
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_close
    - g_assert_cmpint
    - dup
    - g_unix_open_pipe
    - g_assert_no_error
    - dup2
    - g_test_summary
    - g_assert_true
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_stdio_overwrite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/unix.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    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:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    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_summary
      Src: /src/glib/glib/tests/unix.c:68,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:73,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/unix.c:69,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/unix.c:71,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:72,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:75,1
    - Dst: write
      Src: /src/glib/glib/tests/unix.c:75,1
    - Dst: memset
      Src: /src/glib/glib/tests/unix.c:76,1
    - Dst: read
      Src: /src/glib/glib/tests/unix.c:77,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:78,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:81,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:82,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:84,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/unix.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: test_pipe_fd_cloexec
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert
    - g_unix_open_pipe
    - g_assert_no_error
    - close
    - memset
    - read
    - g_str_has_prefix
    - g_test_summary
    - g_assert_true
    - g_test_bug
    - write
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_fd_cloexec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/tests/unix.c:130,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:132,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/unix.c:133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:131,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/unix.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: test_error
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_unix_set_fd_nonblocking
    - g_assert
    - g_clear_error
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_error (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/unix.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 209
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:268,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:272,1
    - Dst: sigaction
      Src: /src/glib/glib/tests/unix.c:271,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/unix.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: test_sighup_add_remove
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_unix_signal_add
    - g_source_remove
    - g_assert
    - sigaction
    linkageType: ''
    returnType: void
    signature: 'static void test_sighup_add_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/unix.c:282,1
    - Dst: g_unix_signal_source_new
      Src: /src/glib/glib/tests/unix.c:285,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/unix.c:287,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/unix.c:286,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/unix.c:283,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/unix.c:288,1
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:290,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:290,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:291,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:292,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/unix.c:295,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/unix.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: nested_idle
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_assert_cmpint
    - getpid
    - g_main_context_unref
    - g_unix_signal_source_new
    - kill
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_source_attach
    - g_main_context_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nested_idle (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/unix.c:305,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:312,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:313,1
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:309,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/unix.c:310,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/unix.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 316
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 316
    functionName: test_sighup_nested
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_idle_add
    - g_unix_signal_add
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_sighup_nested (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/unix.c:499,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:501,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:503,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:504,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:502,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:505,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:506,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:507,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:508,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:509,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:514,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:512,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:513,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/unix.c:516,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:510,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 517
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 517
    functionName: main
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/unix.c:145,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/tests/unix.c:149,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:146,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:147,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:150,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:151,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:153,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:154,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:155,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/tests/unix.c:157,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:166,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:158,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:161,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:162,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:165,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:163,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 167
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 167
    functionName: test_nonblocking
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_unix_set_fd_nonblocking
    - g_assert
    - g_unix_open_pipe
    - g_assert_no_error
    - close
    - fcntl
    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:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/unix.c:374,1
    - Dst: g_unix_get_passwd_entry
      Src: /src/glib/glib/tests/unix.c:377,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unix.c:380,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unix.c:381,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:378,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: test_get_passwd_entry_root
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpuint
    - g_assert_no_error
    - g_assert_cmpstr
    - g_test_summary
    - g_unix_get_passwd_entry
    linkageType: ''
    returnType: void
    signature: 'static void test_get_passwd_entry_root (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unix.c:409,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unix.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pid
    - wait_status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 412
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: _child_wait_watch_cb
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void _child_wait_watch_cb (GPid pid, gint wait_status, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/unix.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 190
    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: g_test_summary
      Src: /src/glib/glib/tests/unix.c:392,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/unix.c:397,1
    - Dst: g_unix_get_passwd_entry
      Src: /src/glib/glib/tests/unix.c:395,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/unix.c:396,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/unix.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 400
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 400
    functionName: test_get_passwd_entry_nonexistent
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_null
    - g_test_summary
    - g_assert_error
    - g_unix_get_passwd_entry
    linkageType: ''
    returnType: void
    signature: 'static void test_get_passwd_entry_nonexistent (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/unix.c:423,1
    - Dst: waitpid
      Src: /src/glib/glib/tests/unix.c:478,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:483,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:484,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:488,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/unix.c:462,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/unix.c:468,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/unix.c:463,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/unix.c:471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:489,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:490,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/unix.c:490,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:491,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/unix.c:491,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/unix.c:438,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/unix.c:457,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/unix.c:460,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/unix.c:451,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:455,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/tests/unix.c:440,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/unix.c:458,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/unix.c:458,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:482,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/unix.c:475,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/unix.c:467,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/unix.c:463,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/unix.c:470,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 493
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 493
    functionName: test_child_wait
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_true
    - g_spawn_async
    - g_source_remove
    - WIFEXITED
    - g_child_watch_add
    - g_test_skip
    - g_test_rand_int_range
    - g_usleep
    - g_get_monotonic_time
    - g_main_context_iteration
    - WEXITSTATUS
    - g_test_rand_bit
    - waitpid
    linkageType: ''
    returnType: void
    signature: 'static void test_child_wait (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_assert_cmpstr
      Src: /src/glib/glib/tests/refstring.c:58,1
    - Dst: g_assert_cmpuint
      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_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_ref_string_length
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_ref_string_new_len
    - g_ref_string_release
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_length_auto (void) '
  - 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_test_message
      Src: /src/glib/glib/tests/refstring.c:83,1
    - Dst: g_ref_string_new_intern
      Src: /src/glib/glib/tests/refstring.c:86,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_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
    - 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
    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_test_message
    - g_assert_false
    - g_assert_cmpstr
    - g_ref_string_new_intern
    - g_assert_true
    - g_ref_string_release
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_intern (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/refstring.c:108,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:110,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:112,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:113,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:111,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:114,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/refstring.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/refstring.c:27,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: 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: 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:
    - strlen
    - g_test_message
    - g_assert_cmpint
    - g_ref_string_new
    - g_ref_string_length
    - g_assert_cmpuint
    - strcmp
    - g_assert_true
    - g_ref_string_release
    - g_ref_string_acquire
    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:45,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/refstring.c:47,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_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_cmpint
    - g_ref_string_length
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_ref_string_new_len
    - g_ref_string_release
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_length (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_cmpuint
      Src: /src/glib/glib/tests/refstring.c:72,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/refstring.c:70,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_ref_string_length
    - g_assert_cmpuint
    - g_assert_cmpstr
    - memcmp
    - g_ref_string_new_len
    - g_ref_string_release
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_length_nuls (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/tests/markup-escape.c:50,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-escape.c:54,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/markup-escape.c:52,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_markup_escape_text
    - g_free
    - 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_assert_cmpstr
      Src: /src/glib/glib/tests/markup-escape.c:120,1
    - Dst: va_end
      Src: /src/glib/glib/tests/markup-escape.c:118,1
    - Dst: g_markup_vprintf_escaped
      Src: /src/glib/glib/tests/markup-escape.c:117,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-escape.c:122,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:
    - va_end
    - g_markup_vprintf_escaped
    - g_free
    - g_assert_cmpstr
    - va_start
    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: g_snprintf
      Src: /src/glib/glib/tests/markup-escape.c:98,1
    - Dst: escape_test
      Src: /src/glib/glib/tests/markup-escape.c:104,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
    - strcpy
    - escape_test
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void unichar_test (gconstpointer d) '
  - 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: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:132,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:138,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:140,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:141,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: g_test_init
      Src: /src/glib/glib/tests/markup-escape.c:149,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/markup-escape.c:151,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-escape.c:155,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_free
    - g_test_add_data_func
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    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_utf8_next_char
      Src: /src/glib/glib/tests/utf8-pointer.c:46,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_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_free
    - g_assert
    - g_utf8_offset_to_pointer
    - g_utf8_pointer_to_offset
    - g_utf8_strlen
    - g_malloc
    - g_utf8_next_char
    - g_utf8_validate
    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_run
      Src: /src/glib/glib/tests/utf8-pointer.c:188,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-pointer.c:186,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:185,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_data_func
    - g_test_run
    - g_test_init
    - g_test_add_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: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:80,1
    - Dst: g_assert
      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:90,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:71,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:75,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:79,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:81,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:83,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: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:71,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:80,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:89,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:89,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:72,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:74,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:74,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:76,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:77,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:81,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:90,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:86,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: 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: 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_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:
    - memcpy
    - g_assert
    - g_assert_nonnull
    - g_assert_null
    - g_utf8_find_next_char
    - 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_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:210,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:211,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:231,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:234,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:251,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:251,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_free
      Src: /src/glib/glib/tests/spawn-path-search.c:261,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:213,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:231,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:234,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:237,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:258,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:259,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:229,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:233,1
    - Dst: g_strdup
      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:235,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:249,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:254,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:255,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_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:233,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:230,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_free
      Src: /src/glib/glib/tests/spawn-path-search.c:260,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
    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_ptr_array_new_with_free_func
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_assert_cmpint
    - g_environ_setenv
    - g_assert_nonnull
    - skip_win32
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_strdup
    - g_test_message
    - g_test_build_filename
    - g_get_environ
    - g_free
    - g_spawn_sync
    - WIFEXITED
    - WEXITSTATUS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_ambiguous (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:105,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:115,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:120,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:117,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:138,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:141,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_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:96,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:97,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:108,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:116,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:132,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:137,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:146,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_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:130,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:116,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:133,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:134,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_free
      Src: /src/glib/glib/tests/spawn-path-search.c:145,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:98,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:99,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:117,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:118,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:115,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:134,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:137,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_ptr_array_new_with_free_func
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_assert_cmpint
    - g_environ_setenv
    - g_assert_nonnull
    - skip_win32
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_strdup
    - g_test_message
    - g_test_build_filename
    - g_get_environ
    - g_free
    - g_spawn_sync
    - WIFEXITED
    - WEXITSTATUS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:338,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:365,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:368,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:385,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:388,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:395,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/spawn-path-search.c:356,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:366,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:368,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_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:371,1
    - Dst: g_assert_nonnull
      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_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:392,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:393,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:339,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:346,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:350,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-path-search.c:353,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:367,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: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:394,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:396,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:354,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:363,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_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:388,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:389,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:397,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_ptr_array_new_with_free_func
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_assert_cmpint
    - g_environ_setenv
    - g_assert_nonnull
    - g_test_skip
    - skip_win32
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_strdup
    - g_test_message
    - g_test_build_filename
    - g_get_environ
    - g_free
    - g_spawn_sync
    - WIFEXITED
    - g_file_test
    - WEXITSTATUS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_fallback_in_envp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:43,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_free
      Src: /src/glib/glib/tests/spawn-path-search.c:88,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:90,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:53,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:74,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:86,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_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:42,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_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:77,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:87,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:44,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_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:61,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:64,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:78,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:76,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
    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_ptr_array_new_with_free_func
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_assert_cmpint
    - g_environ_setenv
    - g_assert_nonnull
    - skip_win32
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_strdup
    - g_test_message
    - g_test_build_filename
    - g_get_environ
    - g_free
    - g_spawn_sync
    - WIFEXITED
    - WEXITSTATUS
    - g_assert_true
    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:175,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:171,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:192,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:196,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:200,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: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:164,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:175,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:195,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:201,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: 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:174,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: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:192,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:195,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:196,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: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:153,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:161,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/spawn-path-search.c:167,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:172,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:174,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:178,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_ptr_array_new_with_free_func
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_assert_cmpint
    - g_environ_setenv
    - g_assert_nonnull
    - skip_win32
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_strdup
    - g_test_message
    - g_test_build_filename
    - g_get_environ
    - g_free
    - g_spawn_sync
    - WIFEXITED
    - WEXITSTATUS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_from_envp (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:270,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-path-search.c:287,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:299,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:300,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:296,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:305,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:318,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:326,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:328,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:278,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:271,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:298,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_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:317,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:319,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:322,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:322,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:323,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:269,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/spawn-path-search.c:289,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:301,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:302,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:302,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:315,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:319,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:272,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:280,1
    - Dst: g_strdup
      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:303,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:327,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_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:331,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:323,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_ptr_array_new_with_free_func
    - g_environ_unsetenv
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_assert_cmpint
    - g_assert_nonnull
    - g_test_skip
    - skip_win32
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_strdup
    - g_test_message
    - g_test_build_filename
    - g_get_environ
    - g_free
    - g_spawn_sync
    - WIFEXITED
    - g_file_test
    - WEXITSTATUS
    - g_assert_true
    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_environ_setenv
      Src: /src/glib/glib/tests/spawn-path-search.c:426,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:434,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_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:454,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:457,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:462,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:418,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:433,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:428,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:469,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: memset
      Src: /src/glib/glib/tests/spawn-path-search.c:421,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_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:433,1
    - Dst: g_ptr_array_add
      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: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:461,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
    - 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:434,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:442,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: 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:466,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:468,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_ptr_array_new_with_free_func
    - g_strfreev
    - g_ptr_array_unref
    - g_assert_cmpint
    - g_environ_setenv
    - g_assert_nonnull
    - memset
    - g_strjoin
    - skip_win32
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_strdup
    - g_test_message
    - g_test_build_filename
    - g_get_environ
    - g_free
    - g_spawn_sync
    - WIFEXITED
    - WEXITSTATUS
    - g_assert_true
    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:481,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:480,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_run
    - g_test_init
    - g_test_add_func
    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_thread_self
      Src: /src/glib/glib/tests/cond.c:43,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:42,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/cond.c:40,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:43,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_cond_signal
    - g_test_verbose
    - g_thread_self
    - g_cond_wait
    - g_cond_broadcast
    - g_mutex_unlock
    - g_mutex_lock
    - g_printerr
    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: 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_test_verbose
      Src: /src/glib/glib/tests/cond.c:90,1
    - Dst: push_value
      Src: /src/glib/glib/tests/cond.c:87,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:
    - GINT_TO_POINTER
    - g_test_verbose
    - g_thread_self
    - push_value
    - g_printerr
    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_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:172,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/cond.c:164,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_cond_broadcast
    - g_mutex_unlock
    - g_mutex_lock
    - g_cond_wait
    linkageType: ''
    returnType: gint
    signature: 'static gint barrier_wait (Barrier *barrier) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/cond.c:190,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/cond.c:193,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:195,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/cond.c:196,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: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:209,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:210,1
    - Dst: barrier_wait
      Src: /src/glib/glib/tests/cond.c:205,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/cond.c:207,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:210,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:
    - g_assert_cmpint
    - g_test_verbose
    - barrier_wait
    - g_atomic_int_get
    - g_usleep
    - GPOINTER_TO_INT
    - g_atomic_int_inc
    - g_printerr
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer cond2_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/cond.c:252,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_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_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_mutex_clear
      Src: /src/glib/glib/tests/cond.c:272,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/cond.c:269,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_assert_cmpint
    - g_cond_init
    - g_assert
    - g_mutex_unlock
    - g_mutex_clear
    - g_mutex_init
    - g_get_monotonic_time
    - g_cond_clear
    - g_cond_wait_until
    - g_mutex_lock
    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: g_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:306,1
    - Dst: pthread_kill
      Src: /src/glib/glib/tests/cond.c:295,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/cond.c:292,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/cond.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    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:
    - pthread_kill
    - g_usleep
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void*
    signature: 'static void *mutex_holder (void *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:125,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:126,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_assert_cmpint
    - g_thread_join
    - g_thread_create
    linkageType: ''
    returnType: void
    signature: 'static void test_cond1 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/glib/glib/tests/cond.c:104,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/cond.c:112,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/cond.c:114,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:112,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:111,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:
    - GINT_TO_POINTER
    - g_test_verbose
    - g_thread_self
    - pop_value
    - g_printerr
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer consume_values (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/cond.c:56,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:60,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/cond.c:61,1
    - Dst: g_thread_self
      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_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_test_verbose
    - g_thread_self
    - g_cond_wait
    - g_cond_broadcast
    - g_mutex_unlock
    - g_mutex_lock
    - g_printerr
    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_cond_clear
    - g_mutex_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_mutex_init
      Src: /src/glib/glib/tests/cond.c:330,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/cond.c:328,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_assert_false
      Src: /src/glib/glib/tests/cond.c:355,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:357,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
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/cond.c:360,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_cond_clear
    - g_assert_false
    - sigaction
    - g_mutex_lock
    - g_thread_unref
    - g_mutex_unlock
    - g_mutex_clear
    - g_thread_new
    - g_mutex_init
    - pthread_self
    - g_test_summary
    - g_get_monotonic_time
    - g_cond_wait_until
    - g_test_bug
    - g_cond_init
    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: 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: g_thread_join
      Src: /src/glib/glib/tests/cond.c:231,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_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_assert_cmpint
    - GINT_TO_POINTER
    - g_thread_create
    - barrier_clear
    - g_atomic_int_get
    - g_thread_join
    - barrier_init
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void test_cond2 (void) '
  - 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:378,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:376,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_run
    - g_test_init
    - g_test_add_func
    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_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_bit_unlock
      Src: /src/glib/glib/tests/bitlock.c:15,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_bit_lock
    - g_test_maximized_result
    - g_get_monotonic_time
    - g_test_perf
    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_run
    - g_test_init
    - g_test_add_func
    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: GetLastError
      Src: /src/glib/glib/tests/spawn-test.c:54,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/spawn-test.c:56,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-test.c:53,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: 1
    argNames:
    - void
    argTypes:
    - void
    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_assert_nonnull
    - g_error
    - GetLastError
    - G_N_ELEMENTS
    - g_utf16_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *get_system_directory (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentStringsW
      Src: /src/glib/glib/tests/spawn-test.c:145,1
    - Dst: GetLastError
      Src: /src/glib/glib/tests/spawn-test.c:148,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:161,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-test.c:149,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/spawn-test.c:155,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: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - g_assert_nonnull
    - g_error
    - g_list_prepend
    - wcslen
    - parse_environment_string
    - FreeEnvironmentStringsW
    - GetLastError
    - GetEnvironmentStringsW
    - g_assert_true
    linkageType: ''
    returnType: GList*
    signature: 'static GList *find_cmd_shell_environment_variables (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:261,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:268,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:313,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:346,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:352,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:368,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:385,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:400,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:291,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:351,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:382,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:277,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:286,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/spawn-test.c:213,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/glib/tests/spawn-test.c:230,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:240,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/spawn-test.c:256,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:264,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:266,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:270,1
    - Dst: strchr
      Src: /src/glib/glib/tests/spawn-test.c:271,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:315,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/spawn-test.c:226,1
    - Dst: remove_environment_variables
      Src: /src/glib/glib/tests/spawn-test.c:392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:380,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_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: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:312,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:344,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:302,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:316,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:355,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test.c:382,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:409,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_assert_false
      Src: /src/glib/glib/tests/spawn-test.c:224,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: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:360,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/tests/spawn-test.c:362,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:279,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/glib/tests/spawn-test.c:314,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:379,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/spawn-test.c:307,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-test.c:340,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:216,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: strlen
      Src: /src/glib/glib/tests/spawn-test.c:375,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test.c:377,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_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:258,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:323,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:275,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:288,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:301,1
    - Dst: pipe
      Src: /src/glib/glib/tests/spawn-test.c:352,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test.c:376,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/spawn-test.c:233,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_true
      Src: /src/glib/glib/tests/spawn-test.c:343,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:394,1
    - Dst: SetConsoleOutputCP
      Src: /src/glib/glib/tests/spawn-test.c:406,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:305,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:294,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:333,1
    - Dst: g_strerror
      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:310,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/spawn-test.c:213,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:326,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:397,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-test.c:398,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/tests/spawn-test.c:299,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:342,1
    - Dst: GetThreadUILanguage
      Src: /src/glib/glib/tests/spawn-test.c:209,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: strstr
      Src: /src/glib/glib/tests/spawn-test.c:295,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:369,1
    - Dst: find_cmd_shell_environment_variables
      Src: /src/glib/glib/tests/spawn-test.c:391,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/tests/spawn-test.c:407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:353,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/tests/spawn-test.c:358,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_assert_false
      Src: /src/glib/glib/tests/spawn-test.c:232,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:324,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:328,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:334,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test.c:372,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/tests/spawn-test.c:396,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:290,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:325,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-test.c:301,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:242,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:300,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:377,1
    - Dst: strlen
      Src: /src/glib/glib/tests/spawn-test.c:380,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:396,1
    - Dst: SetThreadUILanguage
      Src: /src/glib/glib/tests/spawn-test.c:405,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-test.c:408,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:338,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_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:321,1
    - Dst: SetThreadUILanguage
      Src: /src/glib/glib/tests/spawn-test.c:213,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:348,1
    - Dst: pipe
      Src: /src/glib/glib/tests/spawn-test.c:353,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
    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:
    - SetConsoleOutputCP
    - g_spawn_async
    - g_clear_error
    - read
    - g_strfreev
    - g_list_free_full
    - g_spawn_command_line_sync
    - strlen
    - g_assert_cmpint
    - g_assert_nonnull
    - g_strerror
    - get_system_directory
    - SetThreadUILanguage
    - MAKELCID
    - g_str_has_prefix
    - strchr
    - GetConsoleOutputCP
    - remove_environment_variables
    - g_file_set_contents
    - g_assert_no_error
    - g_spawn_command_line_async
    - GetThreadUILanguage
    - strstr
    - g_shell_parse_argv
    - g_unlink
    - g_assert_error
    - g_win32_error_message
    - MAKELANGID
    - write
    - g_test_message
    - g_assert_false
    - pipe
    - g_get_environ
    - g_free
    - g_spawn_sync
    - find_cmd_shell_environment_variables
    - g_assert_cmpstr
    - g_snprintf
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_basics (void) '
  - 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: 1
    argNames:
    - wcs_string
    argTypes:
    - wchar_t*
    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: 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: 2
    argNames:
    - wcs_string
    - length
    argTypes:
    - wchar_t*
    - size_t
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetEnvironmentVariableW
      Src: /src/glib/glib/tests/spawn-test.c:182,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-test.c:185,1
    - Dst: GetLastError
      Src: /src/glib/glib/tests/spawn-test.c:184,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:
    - g_error
    - SetEnvironmentVariableW
    - GetLastError
    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_add_func
      Src: /src/glib/glib/tests/spawn-test.c:539,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:537,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/spawn-test.c:542,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_free
    - g_test_add_func
    - g_path_get_dirname
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:105,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
    - Dst: g_wcsdup
      Src: /src/glib/glib/tests/spawn-test.c:117,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:
    - wcschr
    - g_assert_nonnull
    - g_wcsdup
    - g_wcsndup
    - g_assert_true
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_environment_string (const wchar_t *string, wchar_t
      **name, wchar_t **value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_close
      Src: /src/glib/glib/tests/spawn-test.c:459,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-test.c:478,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-test.c:485,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_clear_pointer
      Src: /src/glib/glib/tests/spawn-test.c:502,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-test.c:508,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:519,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: 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_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
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:497,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:501,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/spawn-test.c:512,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-test.c:521,1
    - 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_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:476,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-test.c:469,1
    - Dst: dup2
      Src: /src/glib/glib/tests/spawn-test.c:490,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:496,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/spawn-test.c:515,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/spawn-test.c:518,1
    - Dst: dup
      Src: /src/glib/glib/tests/spawn-test.c:430,1
    - Dst: dup
      Src: /src/glib/glib/tests/spawn-test.c:428,1
    - Dst: dup
      Src: /src/glib/glib/tests/spawn-test.c:429,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: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:474,1
    - Dst: dup2
      Src: /src/glib/glib/tests/spawn-test.c:487,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:494,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:507,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:513,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_test_message
    - g_close
    - dup
    - g_get_environ
    - g_assert_cmpint
    - g_clear_pointer
    - g_assert_no_error
    - g_spawn_sync
    - g_assert_cmpstr
    - g_strdup_printf
    - g_shell_parse_argv
    - dup2
    - g_clear_fd
    - g_assert_true
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_stdio_overwrite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/strvbuilder.c:48,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/strvbuilder.c:49,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_end
      Src: /src/glib/glib/tests/strvbuilder.c:52,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_builder_end
    - g_assert_true
    - g_assert_nonnull
    - g_strv_equal
    - g_strfreev
    - g_strv_builder_add
    - g_strv_builder_unref
    - g_strv_builder_new
    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:84,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strvbuilder.c:87,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/strvbuilder.c:86,1
    - Dst: g_strv_builder_add_many
      Src: /src/glib/glib/tests/strvbuilder.c:85,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/strvbuilder.c:88,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_strv_builder_add_many
    - g_strv_builder_end
    - g_assert_nonnull
    - g_strv_builder_unref
    - g_strfreev
    - g_assert_cmpstrv
    - g_strv_builder_new
    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:32,1
    - Dst: g_strv_length
      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_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_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_builder_end
    - g_assert_cmpint
    - g_assert_nonnull
    - g_strfreev
    - g_strv_builder_unref
    - g_strv_builder_new
    - g_strv_length
    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_strv_builder_end
      Src: /src/glib/glib/tests/strvbuilder.c:69,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strvbuilder.c:70,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/strvbuilder.c:71,1
    - Dst: g_strv_builder_addv
      Src: /src/glib/glib/tests/strvbuilder.c:68,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_strv_builder_end
    - g_assert_nonnull
    - g_strv_builder_addv
    - g_strv_builder_unref
    - g_strfreev
    - g_assert_cmpstrv
    - g_strv_builder_new
    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:99,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/strvbuilder.c:101,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/strvbuilder.c:102,1
    - Dst: g_strv_builder_ref
      Src: /src/glib/glib/tests/strvbuilder.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: test_strvbuilder_ref
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_strv_builder_unref
    - g_strv_builder_new
    - g_strv_builder_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_strvbuilder_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/strvbuilder.c:109,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:114,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:111,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:113,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:112,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:115,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/strvbuilder.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    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:912,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:915,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:928,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:920,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:935,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:952,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_list_length
      Src: /src/glib/glib/tests/queue.c:916,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:917,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/queue.c:921,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:923,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: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: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:916,1
    - 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: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: g_queue_free
      Src: /src/glib/glib/tests/queue.c:959,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:960,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:949,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:917,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:928,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:927,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:922,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
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:948,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:956,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
    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_find
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_queue_copy
    - g_queue_sort
    - g_queue_reverse
    - g_queue_free
    - g_queue_push_nth
    - g_assert_nonnull
    - g_queue_remove
    - g_queue_new
    - g_list_prepend
    - g_queue_push_nth_link
    - g_list_length
    - g_queue_foreach
    - check_integrity
    linkageType: ''
    returnType: void
    signature: 'static void test_copy (void) '
  - 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_assert_null
      Src: /src/glib/glib/tests/queue.c:984,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:969,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:971,1
    - Dst: GINT_TO_POINTER
      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_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:981,1
    - Dst: g_queue_pop_nth_link
      Src: /src/glib/glib/tests/queue.c:986,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:978,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:986,1
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/tests/queue.c:973,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/queue.c:977,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:977,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:983,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_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:988,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_get_length
      Src: /src/glib/glib/tests/queue.c:980,1
    - Dst: g_queue_pop_nth_link
      Src: /src/glib/glib/tests/queue.c:983,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:987,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:988,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/tests/queue.c:990,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:992,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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_queue_get_length
    - g_list_free_1
    - g_queue_free
    - g_assert_nonnull
    - g_queue_new
    - g_queue_peek_tail_link
    - g_queue_peek_nth_link
    - g_assert_null
    - GPOINTER_TO_INT
    - g_queue_push_tail
    - check_integrity
    - g_queue_pop_nth_link
    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:1006,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1008,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: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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1013,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1015,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:1016,1
    - Dst: g_queue_find_custom
      Src: /src/glib/glib/tests/queue.c:1015,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1018,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:1014,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:
    - GINT_TO_POINTER
    - g_queue_free
    - g_assert_nonnull
    - g_queue_new
    - g_queue_find_custom
    - g_assert_null
    - g_queue_push_tail
    linkageType: ''
    returnType: void
    signature: 'static void test_find_custom (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_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:176,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
    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_assert_not_reached
    - g_random_int
    linkageType: ''
    returnType: guint
    signature: 'static guint get_random_position (GQueue *queue, gboolean allow_offlist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1163,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1204,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1207,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1216,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1188,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1190,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1213,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1218,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1230,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_list_prepend
      Src: /src/glib/glib/tests/queue.c:1184,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1175,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1225,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1194,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: 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_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1169,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1176,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1177,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1185,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1198,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1203,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1208,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1223,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1166,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1193,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1210,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1186,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:1167,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:1176,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1200,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1229,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1232,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1203,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1183,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_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1206,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1205,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1198,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_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1229,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:1198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1161,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: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1218,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1169,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1169,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_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1188,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1183,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1184,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1217,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1225,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1195,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1197,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1158,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:1194,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:1184,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:1197,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_peek_nth
      Src: /src/glib/glib/tests/queue.c:1230,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: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1171,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1179,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1193,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1206,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1194,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1230,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:1161,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1161,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1166,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:1208,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1227,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1196,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1168,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1174,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1197,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: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1228,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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_queue_get_length
    - g_queue_free
    - g_queue_new
    - g_list_prepend
    - g_queue_push_nth_link
    - g_queue_peek_nth
    - g_queue_clear
    - GPOINTER_TO_INT
    - g_queue_push_head
    - check_integrity
    linkageType: ''
    returnType: void
    signature: 'static void test_push_nth_link (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:39,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:46,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:41,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_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_free
      Src: /src/glib/glib/tests/queue.c:92,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:89,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:84,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_queue_get_length
    - g_assert_cmpuint
    - g_list_prepend
    - g_assert_null
    - g_list_free
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void check_integrity (GQueue *queue) '
  - 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_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: find_max
      Src: /src/glib/glib/tests/queue.c:317,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:335,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:351,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:350,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:336,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:344,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:475,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:576,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/queue.c:241,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:254,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:331,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:362,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:439,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:452,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:487,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_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:670,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:693,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:664,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:667,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:352,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:396,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:354,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_peek_nth
      Src: /src/glib/glib/tests/queue.c:475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:503,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:517,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:677,1
    - Dst: g_queue_insert_after
      Src: /src/glib/glib/tests/queue.c:558,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/queue.c:730,1
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/tests/queue.c:671,1
    - Dst: g_queue_peek_head_link
      Src: /src/glib/glib/tests/queue.c:667,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:383,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:395,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:243,1
    - Dst: find_min
      Src: /src/glib/glib/tests/queue.c:318,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_peek_head
      Src: /src/glib/glib/tests/queue.c:446,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:488,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:528,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:530,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:582,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:693,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:577,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:524,1
    - Dst: g_queue_pop_nth_link
      Src: /src/glib/glib/tests/queue.c:660,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/queue.c:737,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_is_empty
      Src: /src/glib/glib/tests/queue.c:529,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:539,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_true
      Src: /src/glib/glib/tests/queue.c:673,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:687,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/queue.c:687,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:330,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:384,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:365,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:425,1
    - Dst: g_assert_true
      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_is_empty
      Src: /src/glib/glib/tests/queue.c:551,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:579,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/queue.c:580,1
    - Dst: g_queue_pop_nth_link
      Src: /src/glib/glib/tests/queue.c:647,1
    - Dst: g_queue_unlink
      Src: /src/glib/glib/tests/queue.c:700,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:701,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/queue.c:575,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:642,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/tests/queue.c:543,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/queue.c:577,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/queue.c:743,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:258,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:301,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:335,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:486,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: check_integrity
      Src: /src/glib/glib/tests/queue.c:744,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:557,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:652,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:713,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/queue.c:677,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:582,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:721,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:650,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:636,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:365,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: delete_all
      Src: /src/glib/glib/tests/queue.c:309,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:372,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/tests/queue.c:444,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_sort
      Src: /src/glib/glib/tests/queue.c:490,1
    - Dst: g_queue_insert_after
      Src: /src/glib/glib/tests/queue.c:556,1
    - Dst: g_queue_push_head_link
      Src: /src/glib/glib/tests/queue.c:591,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:612,1
    - Dst: g_random_set_seed
      Src: /src/glib/glib/tests/queue.c:239,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:266,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:384,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:467,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:486,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:501,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:516,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:580,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:646,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:665,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:373,1
    - Dst: RANDOM_QUEUE
      Src: /src/glib/glib/tests/queue.c:252,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:331,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:394,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:358,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:488,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_list_prepend
      Src: /src/glib/glib/tests/queue.c:590,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:632,1
    - Dst: find_max
      Src: /src/glib/glib/tests/queue.c:566,1
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/tests/queue.c:673,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:703,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:739,1
    - Dst: find_min
      Src: /src/glib/glib/tests/queue.c:567,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:713,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:352,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_assert_null
      Src: /src/glib/glib/tests/queue.c:267,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:335,1
    - Dst: g_list_last
      Src: /src/glib/glib/tests/queue.c:304,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:336,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:414,1
    - Dst: g_queue_link_index
      Src: /src/glib/glib/tests/queue.c:503,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:511,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:711,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:539,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:691,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/queue.c:360,1
    - Dst: find_max
      Src: /src/glib/glib/tests/queue.c:346,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: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: get_random_position
      Src: /src/glib/glib/tests/queue.c:427,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:459,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:500,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:530,1
    - Dst: GINT_TO_POINTER
      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_list_prepend
      Src: /src/glib/glib/tests/queue.c:610,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:373,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:350,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_random_int_range
      Src: /src/glib/glib/tests/queue.c:482,1
    - Dst: g_queue_remove
      Src: /src/glib/glib/tests/queue.c:512,1
    - Dst: g_queue_remove
      Src: /src/glib/glib/tests/queue.c:515,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:581,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:740,1
    - Dst: g_queue_peek_head_link
      Src: /src/glib/glib/tests/queue.c:665,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:364,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:292,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_queue_push_nth
      Src: /src/glib/glib/tests/queue.c:396,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:446,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:514,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:525,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_delete_link
      Src: /src/glib/glib/tests/queue.c:720,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:543,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/queue.c:208,1
    - Dst: RANDOM_QUEUE
      Src: /src/glib/glib/tests/queue.c:298,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/tests/queue.c:422,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: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:579,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:590,1
    - Dst: g_queue_push_tail_link
      Src: /src/glib/glib/tests/queue.c:601,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:626,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:660,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:680,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:741,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:671,1
    - Dst: find_min
      Src: /src/glib/glib/tests/queue.c:364,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: check_integrity
      Src: /src/glib/glib/tests/queue.c:489,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:491,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: 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_pop_tail_link
      Src: /src/glib/glib/tests/queue.c:642,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:748,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/queue.c:747,1
    - Dst: g_queue_index
      Src: /src/glib/glib/tests/queue.c:501,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:647,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
    - GPOINTER_TO_UINT
    - g_queue_sort
    - g_queue_push_head_link
    - g_queue_insert_sorted
    - g_list_last
    - g_random_int_range
    - find_min
    - g_queue_peek_head_link
    - g_queue_push_tail_link
    - g_queue_peek_head
    - rnd_bool
    - g_queue_pop_nth_link
    - g_queue_get_length
    - GINT_TO_POINTER
    - g_assert_cmpint
    - g_test_thorough
    - g_queue_pop_tail
    - g_assert_nonnull
    - g_queue_index
    - g_assert_not_reached
    - g_queue_pop_head_link
    - g_queue_push_head
    - g_queue_peek_tail_link
    - g_random_set_seed
    - g_queue_peek_nth_link
    - g_queue_delete_link
    - g_queue_push_tail
    - g_queue_copy
    - g_queue_insert_after
    - g_queue_reverse
    - g_assert_cmpuint
    - g_queue_push_nth
    - g_queue_pop_head
    - g_queue_pop_nth
    - g_list_prepend
    - find_max
    - g_queue_peek_nth
    - g_queue_peek_tail
    - g_queue_link_index
    - g_assert_null
    - g_queue_unlink
    - GPOINTER_TO_INT
    - g_printerr
    - delete_all
    - g_queue_find
    - g_queue_free
    - g_queue_remove
    - g_queue_new
    - g_queue_remove_all
    - g_queue_push_nth_link
    - g_queue_pop_tail_link
    - g_list_free
    - get_random_position
    - G_N_ELEMENTS
    - g_assert_true
    - check_integrity
    - g_queue_is_empty
    - RANDOM_QUEUE
    linkageType: ''
    returnType: void
    signature: 'static void random_test (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:1125,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1133,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:1141,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1142,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1125,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1124,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1127,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1130,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_queue_new
      Src: /src/glib/glib/tests/queue.c:1123,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1126,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1127,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:1137,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1126,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_assert_true
      Src: /src/glib/glib/tests/queue.c:1137,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1143,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1144,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:
    - g_queue_get_length
    - g_assert_cmpint
    - g_assert_false
    - g_queue_clear_full
    - g_assert_true
    - g_queue_free
    - g_queue_new
    - g_queue_push_tail
    - g_slice_free
    - new_item
    - check_integrity
    - g_queue_is_empty
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_full_noop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:1241,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1243,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1242,1
    - Dst: g_queue_push_tail
      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: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:1251,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1253,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:1250,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1252,1
    - Dst: g_queue_free_full
      Src: /src/glib/glib/tests/queue.c:1248,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1249,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:
    - g_assert_false
    - g_assert_true
    - g_queue_new
    - g_queue_push_tail
    - g_slice_free
    - new_item
    - g_queue_free_full
    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:1268,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:1271,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:1283,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:1282,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_null
      Src: /src/glib/glib/tests/queue.c:1289,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1285,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_queue_push_head_link
    - g_queue_insert_after_link
    - g_assert_null
    - g_assert_true
    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:1299,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: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_rand_int_range
      Src: /src/glib/glib/tests/queue.c:1311,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/queue.c:1316,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1308,1
    - Dst: g_free
      Src: /src/glib/glib/tests/queue.c:1314,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1313,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/queue.c:1312,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/queue.c:1313,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1309,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_free
    - g_test_add_data_func
    - g_test_add_func
    - g_test_rand_int_range
    - GUINT_TO_POINTER
    - g_strdup_printf
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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_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: 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: 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: 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_assert_true
      Src: /src/glib/glib/tests/queue.c:1030,1
    - Dst: g_queue_is_empty
      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:
    - g_queue_init
    - g_assert_true
    - check_integrity
    - g_queue_is_empty
    linkageType: ''
    returnType: void
    signature: 'static void test_static (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: 1
    argNames:
    - x
    argTypes:
    - int
    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: 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:
    - g_queue_remove
    - check_integrity
    linkageType: ''
    returnType: void
    signature: 'static void delete_elm (gpointer elm, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: g_list_free_1
      Src: /src/glib/glib/tests/queue.c:831,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/tests/queue.c:843,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:847,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:852,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:857,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:870,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:890,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:898,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:891,1
    - Dst: g_queue_pop_head_link
      Src: /src/glib/glib/tests/queue.c:893,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:776,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:807,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: g_assert_null
      Src: /src/glib/glib/tests/queue.c:843,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:862,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:871,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:876,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:888,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:882,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:902,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:861,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:888,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:821,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:792,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:769,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:777,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:781,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:812,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/tests/queue.c:820,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:835,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:837,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:839,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:853,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:860,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:856,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: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:797,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:771,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:784,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:806,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:820,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:811,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:856,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:881,1
    - Dst: g_queue_pop_tail_link
      Src: /src/glib/glib/tests/queue.c:876,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:771,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:784,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:795,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:803,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:809,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:815,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:821,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:823,1
    - Dst: g_queue_pop_head_link
      Src: /src/glib/glib/tests/queue.c:829,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:800,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:768,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:787,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_length
      Src: /src/glib/glib/tests/queue.c:837,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_list_length
      Src: /src/glib/glib/tests/queue.c:866,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:867,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:879,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:812,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: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:797,1
    - 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:782,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:785,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:788,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:791,1
    - Dst: g_queue_pop_tail_link
      Src: /src/glib/glib/tests/queue.c:896,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:887,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:858,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:839,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:849,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:873,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_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:808,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:775,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:836,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:852,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:872,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:898,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:768,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:778,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:786,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:809,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:805,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:855,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:827,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:866,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:874,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:888,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:897,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:879,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:859,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:770,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:783,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:799,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_cmpint
      Src: /src/glib/glib/tests/queue.c:825,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:845,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:883,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:883,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:896,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:868,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:842,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:796,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:772,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:789,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:844,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:862,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:869,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:872,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:872,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/tests/queue.c:878,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:881,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:890,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:886,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:894,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:795,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:807,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:775,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:777,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:817,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:820,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:830,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:833,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:884,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/tests/queue.c:771,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:789,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_tail
      Src: /src/glib/glib/tests/queue.c:797,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:800,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:801,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_queue_pop_tail
      Src: /src/glib/glib/tests/queue.c:884,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:891,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:903,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:863,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:773,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:788,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:823,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:826,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:834,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:854,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:901,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:902,1
    - Dst: g_queue_reverse
      Src: /src/glib/glib/tests/queue.c:900,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: 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: g_list_length
      Src: /src/glib/glib/tests/queue.c:834,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:848,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:850,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:854,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:858,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:895,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:889,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:870,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:793,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:766,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:774,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:779,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:801,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:798,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_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:848,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:886,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_peek_head
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_queue_pop_tail
    - g_queue_pop_head_link
    - g_list_length
    - g_queue_push_tail
    - g_list_free_1
    - g_assert_true
    - g_queue_pop_head
    - g_queue_reverse
    - g_queue_peek_tail
    - g_assert_null
    - GPOINTER_TO_INT
    - g_assert_false
    - g_queue_free
    - g_queue_new
    - g_queue_pop_tail_link
    - g_queue_push_head
    - check_integrity
    - g_queue_is_empty
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (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:1042,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: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_is_empty
      Src: /src/glib/glib/tests/queue.c:1049,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1051,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_queue_get_length
    - GINT_TO_POINTER
    - g_assert_cmpint
    - g_assert_true
    - g_queue_free
    - g_queue_new
    - g_queue_clear
    - g_queue_push_tail
    - check_integrity
    - g_queue_is_empty
    linkageType: ''
    returnType: void
    signature: 'static void test_clear (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:1089,1
    - Dst: g_queue_clear_full
      Src: /src/glib/glib/tests/queue.c:1098,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: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: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1112,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1087,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_assert_false
      Src: /src/glib/glib/tests/queue.c:1093,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1108,1
    - 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: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:1094,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_assert_true
      Src: /src/glib/glib/tests/queue.c:1103,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1109,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1088,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1090,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1095,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1102,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:
    - g_queue_get_length
    - g_assert_cmpint
    - g_assert_false
    - g_queue_clear_full
    - g_assert_true
    - g_queue_free
    - g_queue_new
    - g_queue_push_tail
    - g_slice_free
    - new_item
    - check_integrity
    - g_queue_is_empty
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/mem-overflow.c:93,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:96,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_new0
      Src: /src/glib/glib/tests/mem-overflow.c:202,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mem-overflow.c:203,1
    - Dst: exit
      Src: /src/glib/glib/tests/mem-overflow.c:204,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
    - exit
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void empty_alloc_subprocess (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mem-overflow.c:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mem-overflow.c:212,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/mem-overflow.c:214,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_assert_cmpint
    - g_test_trap_subprocess
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void empty_alloc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_try_malloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:109,1
    - Dst: CHECK_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:117,1
    - Dst: g_try_malloc0_n
      Src: /src/glib/glib/tests/mem-overflow.c:114,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: 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_free
      Src: /src/glib/glib/tests/mem-overflow.c:133,1
    - Dst: g_try_new0
      Src: /src/glib/glib/tests/mem-overflow.c:131,1
    - Dst: g_try_renew
      Src: /src/glib/glib/tests/mem-overflow.c:136,1
    - Dst: free
      Src: /src/glib/glib/tests/mem-overflow.c:138,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:166,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:174,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:164,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:173,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: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:114,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:122,1
    - Dst: g_try_realloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:122,1
    - Dst: g_try_new
      Src: /src/glib/glib/tests/mem-overflow.c:127,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:160,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:165,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:170,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:179,1
    - Dst: CHECK_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:128,1
    - Dst: g_try_realloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:124,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:168,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:182,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:169,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:177,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:110,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:116,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_try_malloc
      Src: /src/glib/glib/tests/mem-overflow.c:135,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_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:183,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:127,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:180,1
    - Dst: g_try_new
      Src: /src/glib/glib/tests/mem-overflow.c:128,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: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:108,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:115,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:116,1
    - Dst: g_try_malloc0_n
      Src: /src/glib/glib/tests/mem-overflow.c:115,1
    - Dst: CHECK_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:124,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:188,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:159,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:161,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:186,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:
    - g_try_malloc0_n
    - CHECK_SUBPROCESS_FAIL
    - g_free
    - g_try_malloc_n
    - free
    - CHECK_SUBPROCESS_PASS
    - g_try_new0
    - g_try_new
    - CHECK_PASS
    - g_try_renew
    - g_try_realloc_n
    - CHECK_FAIL
    - g_try_malloc
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void mem_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: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:240,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:250,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:251,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:248,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:258,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:230,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:243,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: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:241,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:249,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:254,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_run
    - g_test_init
    - g_test_add_func
    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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/scannerapi.c:64,1
    - Dst: g_scanner_error
      Src: /src/glib/glib/tests/scannerapi.c:67,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_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_assert_cmpint
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_scanner_error
    - exit
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_scanner_error (ScannerFixture *fix, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_scanner_set_scope
      Src: /src/glib/glib/tests/scannerapi.c:92,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/scannerapi.c:98,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/tests/scannerapi.c:97,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/glib/tests/scannerapi.c:95,1
    - Dst: g_scanner_scope_foreach_symbol
      Src: /src/glib/glib/tests/scannerapi.c:99,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_scope_lookup_symbol
      Src: /src/glib/glib/tests/scannerapi.c:105,1
    - Dst: g_scanner_scope_lookup_symbol
      Src: /src/glib/glib/tests/scannerapi.c:104,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/scannerapi.c:104,1
    - Dst: g_scanner_lookup_symbol
      Src: /src/glib/glib/tests/scannerapi.c:102,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/scannerapi.c:105,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:105,1
    - Dst: g_assert_cmpint
      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_scope_add_symbol
    - GINT_TO_POINTER
    - g_assert_cmpint
    - g_assert
    - g_ascii_dtostr
    - g_scanner_scope_foreach_symbol
    - g_scanner_scope_remove_symbol
    - g_scanner_scope_lookup_symbol
    - g_scanner_set_scope
    - GPOINTER_TO_INT
    - g_scanner_lookup_symbol
    linkageType: ''
    returnType: void
    signature: 'static void test_scanner_symbols (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_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_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_assert_cmpint
    - g_ascii_strtoull
    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_scanner_cur_token
      Src: /src/glib/glib/tests/scannerapi.c:120,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:120,1
    - Dst: g_scanner_input_text
      Src: /src/glib/glib/tests/scannerapi.c:118,1
    - Dst: strlen
      Src: /src/glib/glib/tests/scannerapi.c:115,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:126,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/glib/tests/scannerapi.c:127,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:
    - strlen
    - g_assert_cmpint
    - 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:138,1
    - Dst: g_test_add
      Src: /src/glib/glib/tests/scannerapi.c:139,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:137,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_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/sort.c:56,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:68,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/sort.c:60,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/sort.c:57,1
    - Dst: g_qsort_with_data
      Src: /src/glib/glib/tests/sort.c:65,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_assert_cmpint
    - g_free
    - g_qsort_with_data
    - g_malloc
    - g_random_int
    linkageType: ''
    returnType: void
    signature: 'static void test_sort_zero_elements (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/sort.c:100,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_qsort_with_data
      Src: /src/glib/glib/tests/sort.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:111,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_assert_cmpint
    - g_free
    - g_random_int_range
    - g_qsort_with_data
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_sort_stable (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: 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_random_int_range
      Src: /src/glib/glib/tests/sort.c:39,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sort.c:47,1
    - Dst: g_qsort_with_data
      Src: /src/glib/glib/tests/sort.c:42,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:45,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_assert_cmpint
    - g_free
    - g_random_int_range
    - g_qsort_with_data
    - g_malloc
    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_qsort_with_data
      Src: /src/glib/glib/tests/sort.c:131,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sort.c:127,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:137,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_assert_cmpint
    - g_free
    - g_random_int_range
    - g_qsort_with_data
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_sort_big (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/sort.c:145,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sort.c:148,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sort.c:149,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sort.c:147,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sort.c:150,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/sort.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/glib/glib/tests/sort.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    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_run
      Src: /src/glib/glib/tests/include.c:24,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/include.c:22,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1192,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1194,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1197,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:1196,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1196,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1200,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:1204,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1205,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1208
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1208
    functionName: test_dirname
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_free
    - g_test_assert_expected_messages
    - g_assert_cmpstr
    - g_test_expect_message
    - g_path_get_dirname
    - g_assert_null
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_dirname (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2076,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2100,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:2102,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/fileutils.c:2097,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:2099,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2106,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:2108,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2109,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:2110,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2113,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2115
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2115
    functionName: test_fopen_modes
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_fopen
    - g_test_message
    - g_free
    - g_assert_nonnull
    - g_error
    - g_remove
    - g_build_filename
    - fclose
    - g_file_test
    - G_N_ELEMENTS
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_fopen_modes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1218,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1219,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1228,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1227,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1230,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1219,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1220,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1225,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1227,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1229,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1234,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1239,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1241,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1217,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1220,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1221,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1222,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1226,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1233,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1238,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1220,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1223,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1228,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1231,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1235,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1236,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1242
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1242
    functionName: test_dir_make_tmp
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_rmdir
    - g_free
    - g_assert_no_error
    - g_dir_make_tmp
    - g_clear_error
    - g_str_has_prefix
    - g_file_test
    - g_getenv
    - g_assert_null
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_dir_make_tmp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2151,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2152,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2156,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2161,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2197,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/tests/fileutils.c:2202,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2206,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2213,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2216,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/fileutils.c:2219,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2239,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2193,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/fileutils.c:2200,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2194,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2211,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2214,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2242,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2244,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/fileutils.c:2220,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2154,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2155,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2153,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2157,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2158,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2159,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2160,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2198,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/fileutils.c:2201,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2205,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/tests/fileutils.c:2238,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2195,1
    - Dst: g_assert_cmpwcs
      Src: /src/glib/glib/tests/fileutils.c:2203,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2204,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2222,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2217,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2243,1
    - Dst: g_assert_cmpwcs
      Src: /src/glib/glib/tests/fileutils.c:2241,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/fileutils.c:2239,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2246
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2246
    functionName: test_win32_pathstrip
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - _g_win32_strip_extended_ntobjm_prefix
    - memcpy
    - g_assert_cmpwcs
    - IDENTITY_TEST
    - g_new0
    - g_free
    - g_assert_cmpuint
    - g_assert_nonnull
    - wcslen
    - g_utf16_to_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_win32_pathstrip (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2482,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:2488,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2487,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2490,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2492,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2495
      start: 2477
    functionDepth: 0
    functionLinenumber: 2477
    functionLinenumberEnd: 2495
    functionName: assert_fd_was_closed
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_assert_cmpint
    - g_fsync
    - GLIB_PRIVATE_CALL
    linkageType: ''
    returnType: void
    signature: 'static void assert_fd_was_closed (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_run
      Src: /src/glib/glib/tests/fileutils.c:2678,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2674,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2676,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/fileutils.c:2644,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2648,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2657,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2658,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2660,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2659,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2662,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2661,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2664,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2663,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2666,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2668,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2670,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2672,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2675,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/fileutils.c:2643,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2650,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2647,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2651,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2652,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2653,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2654,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2655,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2656,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2665,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2667,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2669,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2671,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2679
    functionName: main
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_setenv
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1973,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1974,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:1985,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1986,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1988,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2004,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2005,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1999,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2015,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:2017,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2036,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2039,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2063,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1982,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2006,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2009,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2021,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2023,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2026,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2029,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2030,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2033,1
    - Dst: g_rename
      Src: /src/glib/glib/tests/fileutils.c:2035,1
    - Dst: g_access
      Src: /src/glib/glib/tests/fileutils.c:2032,1
    - Dst: time
      Src: /src/glib/glib/tests/fileutils.c:2051,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/fileutils.c:1975,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:1977,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1978,1
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/fileutils.c:1979,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1980,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:1981,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1983,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:2013,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2014,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2016,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2048,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2062,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2021,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2059,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1990,1
    - Dst: S_ISDIR
      Src: /src/glib/glib/tests/fileutils.c:1983,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2022,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2022,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2025,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:2047,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2055,1
    - Dst: g_lstat
      Src: /src/glib/glib/tests/fileutils.c:2057,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2060,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:2064,1
    - Dst: g_utime
      Src: /src/glib/glib/tests/fileutils.c:2054,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2040,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2058,1
    - Dst: g_creat
      Src: /src/glib/glib/tests/fileutils.c:2028,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:2038,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2065
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 2065
    functionName: test_stdio_wrappers
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_close
    - g_lstat
    - g_remove
    - g_chmod
    - g_get_current_dir
    - g_chdir
    - check_cap_dac_override
    - S_ISDIR
    - g_assert_cmpint
    - g_stat
    - g_mkdir
    - g_open
    - g_rmdir
    - g_assert_no_error
    - g_access
    - g_build_filename
    - g_utime
    - g_test_message
    - g_free
    - g_assert
    - g_rename
    - time
    - g_assert_true
    - g_creat
    linkageType: ''
    returnType: void
    signature: 'static void test_stdio_wrappers (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:883,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:885,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:895,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:905,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:902,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:908,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:911,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:915,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:879,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:886,1
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/fileutils.c:886,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:887,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:900,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:910,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:877,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:878,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:884,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:891,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:898,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:903,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:905,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:909,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:913,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:881,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:887,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:897,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:908,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:909,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 917
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 917
    functionName: test_mkdir_with_parents_permission
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_assert_no_errno
    - g_assert_nonnull
    - g_mkdir_with_parents
    - g_assert_no_error
    - g_dir_make_tmp
    - g_remove
    - g_test_skip
    - g_build_filename
    - g_mkdir
    - g_chmod
    - check_cap_dac_override
    linkageType: ''
    returnType: void
    signature: 'static void test_mkdir_with_parents_permission (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:941,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:944,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:976,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:983,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:984,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:994,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:998,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:937,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:955,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:978,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:996,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1004,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1009,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:991,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1002,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1011,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:943,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:945,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:982,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:989,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1002,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:957,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:962,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: check_string
      Src: /src/glib/glib/tests/fileutils.c:976,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:977,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:994,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:1008,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1012,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:926,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:929,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:942,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:947,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:979,1
    - Dst: check_string
      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:989,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:965,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:960,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:927,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:979,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:1001,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:1007,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1012,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:955,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/fileutils.c:923,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:928,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:932,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:981,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:988,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:1014,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:961,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:958,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:932,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:947,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:1005,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1006,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:990,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:934,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:938,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:941,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:944,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:984,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:995,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:999,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1013,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:929,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:931,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:951,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:953,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:968,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:972,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:974,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:990,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:995,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1013,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:950,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:967,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:927,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:930,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:937,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:945,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:948,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:943,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:971,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:982,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:988,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:962,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:967,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:964,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/fileutils.c:923,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:930,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:948,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:950,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:957,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:971,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1008,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1004,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:975,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:985,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:942,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:954,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:952,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:973,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:975,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: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:952,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:926,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:938,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:954,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:959,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:965,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:960,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:973,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:953,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/fileutils.c:923,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:931,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:936,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:949,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:951,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:968,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:972,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:974,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:981,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:966,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:958,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:961,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1000,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1005,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1006,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 276
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1015
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 1015
    functionName: test_format_size_for_display
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - check_string
    - g_format_size_for_display
    - g_format_size
    - MAKELCID
    - g_format_size_full
    - SetThreadLocale
    - MAKELANGID
    linkageType: ''
    returnType: void
    signature: 'static void test_format_size_for_display (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1617,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1604,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1619,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1619,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1629,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1651,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1643,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1652,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1670,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1671,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1731,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1730,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1606,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1618,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1620,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/fileutils.c:1628,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1642,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/fileutils.c:1650,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1652,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1672,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1686,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1688,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1684,1
    - Dst: g_lstat
      Src: /src/glib/glib/tests/fileutils.c:1688,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1677,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1594,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1620,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1650,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/fileutils.c:1659,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1664,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1676,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1700,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1711,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1713,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1715,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1590,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1621,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1629,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1681,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1682,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/fileutils.c:1685,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1723,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1725,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1727,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1729,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1683,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1717,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1714,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 94
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1734
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1734
    functionName: test_set_contents_full
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_lstat
    - g_remove
    - g_clear_error
    - g_test_summary
    - strlen
    - g_assert_cmpint
    - g_file_open_tmp
    - g_file_set_contents_full
    - g_assert_not_reached
    - close
    - symlink
    - g_strconcat
    - g_rmdir
    - g_assert_no_errno
    - g_assert_cmpuint
    - g_assert_no_error
    - g_dir_make_tmp
    - g_build_filename
    - g_assert_error
    - write
    - g_test_message
    - g_assert_false
    - g_free
    - g_get_tmp_dir
    - g_assert_cmpstr
    - g_fsync
    - g_file_test
    - G_N_ELEMENTS
    - g_file_get_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_set_contents_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1023,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1026,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1029,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1035,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1044,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1053,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1056,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1065,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1065,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1074,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1089,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1083,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1092,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1020,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1023,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1032,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1044,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1041,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1050,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1050,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1062,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1071,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1071,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1077,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1020,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1029,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1032,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1041,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1038,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1047,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1047,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1059,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1059,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1068,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1074,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1080,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1026,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1035,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1038,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1053,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1056,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1062,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1068,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1083,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1086,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1092,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1089,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1080,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1086,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1094
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1094
    functionName: test_file_errors
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_file_error_from_errno
    linkageType: ''
    returnType: void
    signature: 'static void test_file_errors (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1753,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1763,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1770,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1779,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1792,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1775,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1785,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1751,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1750,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1753,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1754,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1768,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1764,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1759,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1780,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1784,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1788,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1743,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1745,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1752,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1752,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1755,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1757,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1766,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:1755,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1761,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1771,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1793
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1793
    functionName: test_set_contents_full_read_only_file
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_remove
    - g_chmod
    - g_clear_error
    - g_test_summary
    - check_cap_dac_override
    - g_test_undefined
    - g_assert_cmpint
    - g_file_open_tmp
    - g_file_set_contents_full
    - close
    - g_test_expect_message
    - g_assert_no_errno
    - g_assert_no_error
    - g_assert_error
    - write
    - g_assert_false
    - g_free
    - g_fsync
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_set_contents_full_read_only_file (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/glib/glib/tests/fileutils.c:2128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - gunichar2*
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 2129
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2129
    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:2260,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/fileutils.c:2265,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/fileutils.c:2264,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/fileutils.c:2262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 2266
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2266
    functionName: to_hex
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - g_string_append_printf
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *to_hex (const guchar *buf, gsize len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:827,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:834,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:839,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:847,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:845,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:815,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:818,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:823,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:824,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:825,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:826,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:838,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:839,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:851,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:854,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:859,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:817,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:821,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:828,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:833,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:832,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:838,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:840,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:846,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:859,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:819,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:820,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:822,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:829,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:833,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:834,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:835,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:836,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:845,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:851,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 861
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 861
    functionName: test_mkdir_with_parents
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_rmdir
    - g_free
    - g_mkdir_with_parents
    - g_test_verbose
    - g_remove
    - test_mkdir_with_parents_1
    - g_build_filename
    - g_get_current_dir
    - check_cap_dac_override
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_mkdir_with_parents (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:67,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:68,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - str
    - expected
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    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_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:288,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:298,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:303,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:317,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:332,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:309,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:337,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:345,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:348,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:300,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:303,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:313,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:345,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:348,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:293,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:310,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:314,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:342,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:350,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:352,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:297,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:309,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:314,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:317,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:337,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:352,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:308,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:321,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:328,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:330,1
    - Dst: check_string
      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:336,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:335,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:344,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:319,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:329,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:308,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:316,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:321,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:328,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:335,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:353,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:331,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:323,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:300,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:313,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:341,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:331,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:323,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:341,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:344,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:292,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:297,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:299,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:327,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:343,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:349,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:327,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:306,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:307,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:315,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:324,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:343,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:329,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:334,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:312,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:347,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:334,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:298,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:299,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:312,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:347,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:349,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:351,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:292,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:304,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:305,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:320,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:333,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:346,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:354,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:320,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:304,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:310,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:342,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:354,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:290,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:306,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:307,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:315,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:318,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:324,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:340,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:322,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:333,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:305,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:311,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:340,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 111
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 355
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 355
    functionName: test_build_path
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_assert_expected_messages
    - g_build_path
    - check_string
    - g_test_expect_message
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_build_path (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:775,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:777,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:778,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:796,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:795,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:791,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:802,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:766,1
    - Dst: mkdir
      Src: /src/glib/glib/tests/fileutils.c:780,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:795,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:801,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:803,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:783,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:799,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:764,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:774,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:765,1
    - Dst: mkdir
      Src: /src/glib/glib/tests/fileutils.c:777,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:778,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:796,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:783,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:790,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:782,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:799,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - tmpdir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 808
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 808
    functionName: check_cap_dac_override
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - rmdir
    - g_assert_no_errno
    - g_assert_no_error
    - g_dir_make_tmp
    - g_chmod
    - g_clear_error
    - g_build_filename
    - mkdir
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_cap_dac_override (const char *tmpdir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1253,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1255,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1256,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1260,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1270,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1285,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1295,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1310,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1309,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1257,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1262,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1264,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1261,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1267,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1272,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1276,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1278,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1280,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1284,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1313,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1305,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1296,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1293,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1255,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1255,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1263,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1277,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1279,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1287,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1292,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1312,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1306,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1300,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1303,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1251,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1252,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1254,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1258,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1264,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1264,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1265,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1271,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1274,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1288,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1314,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1301,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1316
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1316
    functionName: test_file_open_tmp
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - unlink
    - g_free
    - g_file_open_tmp
    - g_assert_nonnull
    - g_assert_no_error
    - remove
    - close
    - g_clear_error
    - g_str_has_prefix
    - g_getenv
    - g_assert_null
    - g_unlink
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_file_open_tmp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1820,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1826,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1842,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1848,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1806,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1823,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1833,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1830,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1827,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1850,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1821,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1824,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1838,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1827,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1837,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1846,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1851,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:1854,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1817,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1819,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1825,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1826,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:1830,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1828,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1843,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1856
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1856
    functionName: test_set_contents_full_read_only_directory
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_remove
    - g_chmod
    - g_clear_error
    - g_test_summary
    - check_cap_dac_override
    - g_assert_cmpint
    - g_file_set_contents_full
    - close
    - g_test_skip
    - g_open
    - g_assert_no_errno
    - g_assert_no_error
    - g_dir_make_tmp
    - g_build_filename
    - g_unlink
    - g_assert_error
    - write
    - g_test_message
    - g_assert_false
    - g_free
    - g_fsync
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_set_contents_full_read_only_directory (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/tests/fileutils.c:2511,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2522,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2538,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2539,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2510,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2513,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2518,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2520,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2519,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2536,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2553,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2556,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/glib/tests/fileutils.c:2512,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2510,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2515,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2516,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2517,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2529,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2527,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:2540,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2530,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2521,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2524,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:2531,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2557
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2557
    functionName: test_clear_fd_ebadf
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_assert_cmpint
    - g_close
    - g_free
    - g_file_open_tmp
    - g_assert_false
    - g_log_set_always_fatal
    - g_test_message
    - GLIB_PRIVATE_CALL
    - g_assert_nonnull
    - g_assert_no_error
    - g_log_set_fatal_mask
    - g_unlink
    - assert_fd_was_closed
    - g_clear_fd
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_fd_ebadf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:438,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_assert_null
      Src: /src/glib/glib/tests/fileutils.c:362,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:438,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:473,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:372,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:391,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:434,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: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:434,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:370,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:403,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:407,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:422,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:432,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:463,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:366,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:383,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:407,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:447,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:451,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: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: check_string
      Src: /src/glib/glib/tests/fileutils.c:389,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:385,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:395,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:399,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:399,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: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:385,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:389,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:395,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:432,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:364,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:368,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:409,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:428,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:430,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:455,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:459,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:415,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:428,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:413,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:368,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:393,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:411,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:430,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:422,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:375,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:383,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:436,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:424,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:426,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:442,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:447,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:451,1
    - Dst: check_string
      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:436,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:426,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:409,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:442,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:455,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:459,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:473,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:475,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:405,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:417,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:440,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:372,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:391,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: check_string
      Src: /src/glib/glib/tests/fileutils.c:475,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:415,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:393,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:364,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:381,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:377,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:379,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:375,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:387,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:397,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:411,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:401,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:397,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:401,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:417,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:419,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:440,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:362,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: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:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 277
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 476
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 476
    functionName: test_build_pathv
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_build_pathv
    - g_assert_null
    - check_string
    linkageType: ''
    returnType: void
    signature: 'static void test_build_pathv (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:130,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:227,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:232,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:245,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/tests/fileutils.c:252,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:236,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:272,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:278,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:281,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:106,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:228,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:223,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:238,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:270,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:280,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:230,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:237,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:239,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:246,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/fileutils.c:256,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:258,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/glib/tests/fileutils.c:277,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:229,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:231,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:235,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:240,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:247,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/glib/tests/fileutils.c:268,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:279,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 283
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 283
    functionName: test_paths
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_path_get_basename
    - g_error
    - g_canonicalize_filename
    - g_assert_cmpstr
    - g_path_get_dirname
    - g_path_skip_root
    - strcmp
    - g_get_current_dir
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_paths (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1338,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1347,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1346,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1349,1
    - Dst: strstr
      Src: /src/glib/glib/tests/fileutils.c:1346,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1353,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1360,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1362,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1363,1
    - Dst: read
      Src: /src/glib/glib/tests/fileutils.c:1367,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1334,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1331,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1339,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1361,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1368,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1372,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1379,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1339,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1340,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1352,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1344,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1356,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1364,1
    - Dst: lseek
      Src: /src/glib/glib/tests/fileutils.c:1366,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1369,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1375,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1382,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1329,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1333,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1333,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1348,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1353,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1359,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1374,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1378,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1383,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1384
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1384
    functionName: test_mkstemp
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_assert_cmpint
    - g_strdup
    - g_free
    - g_test_assert_expected_messages
    - unlink
    - lseek
    - strcpy
    - write
    - g_assert_cmpstr
    - remove
    - close
    - g_test_expect_message
    - strstr
    - read
    - g_assert_null
    - g_mkstemp
    linkageType: ''
    returnType: void
    signature: 'static void test_mkstemp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1881,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/fileutils.c:1888,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1893,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1900,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1901,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1895,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1908,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1914,1
    - Dst: fopen
      Src: /src/glib/glib/tests/fileutils.c:1917,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1921,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1939,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1951,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1936,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:1955,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1933,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1882,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1889,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1902,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1903,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1907,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:1910,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:1919,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1921,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1932,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1926,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1935,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1941,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:1948,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1950,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1929,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1940,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1890,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1897,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1894,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1892,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1904,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1909,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1912,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1913,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1918,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1922,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1925,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1927,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1928,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:1942,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1945,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1952,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1877,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1883,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1879,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:1886,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1891,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1896,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1899,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1905,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1915,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1922,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1934,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1946,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1947,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 81
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1957
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1957
    functionName: test_read_link
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_file_read_link
    - g_get_current_dir
    - g_test_undefined
    - g_assert_cmpint
    - g_assert_nonnull
    - remove
    - g_test_skip
    - g_test_expect_message
    - symlink
    - fclose
    - g_test_get_filename
    - g_assert_no_errno
    - g_assert_no_error
    - g_error_free
    - g_build_filename
    - g_assert_null
    - g_assert_error
    - g_free
    - g_assert_cmpstr
    - fopen
    linkageType: ''
    returnType: void
    signature: 'static void test_read_link (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:2569,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2577,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2582,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2583,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2584,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2587,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2590,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2597,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2603,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2610,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2585,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2588,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2592,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2589,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2600,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2595,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2622,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/fileutils.c:2628,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/fileutils.c:2633,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:2571,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2576,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2596,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2601,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2602,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2621,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/fileutils.c:2635,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2620,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2578,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2591,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2619,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2625,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2627,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/fileutils.c:2631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2637
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2637
    functionName: test_clear_fd
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_test_undefined
    - g_free
    - g_file_open_tmp
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_assert_nonnull
    - g_assert_no_error
    - assert_fd_was_closed
    - g_test_trap_subprocess
    - g_unlink
    - g_test_summary
    - g_clear_fd
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_fd (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:669,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:673,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:677,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:685,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/fileutils.c:685,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:688,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:689,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:694,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:695,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:698,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:716,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:670,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:674,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:680,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:697,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:699,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:702,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:711,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:717,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:722,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:718,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:664,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:666,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:671,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:679,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:692,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:691,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:701,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:703,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:707,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:710,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:721,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:665,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:676,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:682,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:705,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:708,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:713,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:714,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:720,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - base
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 723
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 723
    functionName: test_mkdir_with_parents_1
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_fopen
    - g_rmdir
    - g_free
    - g_mkdir_with_parents
    - g_strerror
    - g_remove
    - g_error
    - g_build_filename
    - fclose
    - g_file_test
    linkageType: ''
    returnType: void
    signature: 'static void test_mkdir_with_parents_1 (const gchar *base) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1102,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1106,1
    - Dst: g_basename
      Src: /src/glib/glib/tests/fileutils.c:1106,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1104,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1107,1
    - Dst: g_basename
      Src: /src/glib/glib/tests/fileutils.c:1110,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1113
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1113
    functionName: test_basename
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_assert_expected_messages
    - g_assert_cmpstr
    - g_test_expect_message
    - g_basename
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_basename (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/fileutils.c:1396,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1401,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1406,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1409,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1412,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1417,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1421,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1423,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1427,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1427,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1431,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1397,1
    - Dst: strstr
      Src: /src/glib/glib/tests/fileutils.c:1397,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1398,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1402,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1403,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1407,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1410,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1413,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1415,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1416,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1395,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1399,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1404,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1407,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1410,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1416,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1417,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1422,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1429,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1430,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1394,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1414,1
    - Dst: strcat
      Src: /src/glib/glib/tests/fileutils.c:1419,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1423,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1424,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1430,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1432,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1433
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1433
    functionName: test_mkdtemp
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_open
    - g_strdup
    - g_assert_false
    - g_assert_cmpint
    - g_rmdir
    - g_free
    - g_assert
    - strcpy
    - g_assert_nonnull
    - close
    - strstr
    - g_mkdtemp
    - g_file_test
    - g_assert_null
    - g_unlink
    - strcat
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_mkdtemp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1484,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1491,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1492,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1493,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1498,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1502,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1503,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1504,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1499,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1501,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1482,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1488,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1493,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1495,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1509,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1486,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1487,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1501,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1494,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1508,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1510
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1510
    functionName: test_file_test
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_assert_false
    - g_assert_cmpint
    - unlink
    - g_test_assert_expected_messages
    - g_file_open_tmp
    - g_assert_no_errno
    - g_free
    - g_assert_no_error
    - g_remove
    - g_fsync
    - g_test_expect_message
    - close
    - symlink
    - g_file_test
    - g_assert_true
    - write
    linkageType: ''
    returnType: void
    signature: 'static void test_file_test (void) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:802,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1467,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1503,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1826,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:481,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:521,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:633,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:976,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1590,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1771,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1877,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1430,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:482,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:592,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:607,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:817,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:932,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1925,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1790,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:572,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:607,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:1532,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1642,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1379,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/fileutils.c:2628,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:679,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1676,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/fileutils.c:2265,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1287,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1541,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:665,1
    - Dst: mkdir
      Src: /src/glib/glib/tests/fileutils.c:777,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:822,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:525,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:971,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1264,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1723,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1301,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1545,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2652,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:954,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1492,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1901,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1458,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2538,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:717,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:586,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:938,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:991,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1002,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1011,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1488,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1272,1
    - Dst: fwrite
      Src: /src/glib/glib/tests/fileutils.c:1447,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1918,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:486,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/fileutils.c:923,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:1399,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1945,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1228,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1974,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:512,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:617,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:976,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:1955,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2006,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:637,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:851,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:1919,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:692,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:982,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1002,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2021,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1700,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1508,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:926,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1295,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1349,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1933,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:705,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:833,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:932,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1194,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2530,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2527,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2216,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:716,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:839,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:902,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:938,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1230,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1447,1
    - Dst: read
      Src: /src/glib/glib/tests/fileutils.c:1367,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1378,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:641,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:490,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:498,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:633,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2656,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2673,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1293,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:954,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:964,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1837,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:840,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:481,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1107,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1217,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1410,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2159,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1430,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1755,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2022,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:778,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:517,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:586,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/fileutils.c:1628,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1753,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:512,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1020,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1361,1
    - Dst: g_rename
      Src: /src/glib/glib/tests/fileutils.c:2035,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1339,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:2102,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1432,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:528,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:584,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:943,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:985,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1922,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:637,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1348,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1825,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2516,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:827,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:997,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1988,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1889,1
    - Dst: mkdir
      Src: /src/glib/glib/tests/fileutils.c:780,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:927,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:1011,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1398,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1903,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1304,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2109,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1422,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:2064,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:611,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1369,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2155,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2576,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1842,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1770,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:490,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:677,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/fileutils.c:1650,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:2110,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:611,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:968,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:990,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1220,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1618,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2660,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1029,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1524,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1059,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2217,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:821,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:937,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:948,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1089,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1486,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1044,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1525,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:494,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:601,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:615,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1074,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1421,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2206,1
    - Dst: g_lstat
      Src: /src/glib/glib/tests/fileutils.c:2057,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1681,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1729,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:845,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:498,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:556,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1235,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2025,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/fileutils.c:2260,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/tests/fileutils.c:2511,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1125,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:601,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1684,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1494,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1104,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:566,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:962,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1306,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1410,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:641,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:650,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:997,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1044,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1074,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1192,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1453,1
    - Dst: g_creat
      Src: /src/glib/glib/tests/fileutils.c:2028,1
    - Dst: g_utime
      Src: /src/glib/glib/tests/fileutils.c:2054,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:520,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:528,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:556,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:703,1
    - Dst: _g_win32_copy_and_maybe_terminate
      Src: /src/glib/glib/tests/fileutils.c:2448,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1357,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2664,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1905,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/fileutils.c:2445,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1240,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1717,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2469,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1050,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1300,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1080,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1334,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1413,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:643,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_test_init
      Src: /src/glib/glib/tests/fileutils.c:2644,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:985,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1047,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/fileutils.c:1659,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:943,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1077,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:948,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1785,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:836,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2524,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2030,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:881,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2213,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1362,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1652,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:975,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2583,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2597,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2021,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:494,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:926,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:968,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:981,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:990,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1220,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1664,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2492,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:691,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:799,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:629,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:964,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1412,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1451,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:1948,1
    - Dst: to_hex
      Src: /src/glib/glib/tests/fileutils.c:2464,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1973,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:2488,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2584,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:629,1
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/fileutils.c:886,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:937,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1009,1
    - Dst: strstr
      Src: /src/glib/glib/tests/fileutils.c:1397,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1464,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2553,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2653,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:971,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:531,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1001,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1205,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:1446,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1927,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2005,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1763,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2610,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/fileutils.c:2678,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2014,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:520,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:574,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:623,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:676,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1006,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1138,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1359,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1228,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1922,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:501,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:524,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:796,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1347,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1498,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/fileutils.c:1888,1
    - Dst: fopen
      Src: /src/glib/glib/tests/fileutils.c:1917,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:1942,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1305,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:962,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1333,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1950,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2578,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1750,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:826,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:975,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1672,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1276,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1754,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1909,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:574,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:931,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:953,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1255,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2158,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1894,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/fileutils.c:2264,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2602,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:714,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:485,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:560,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1220,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1466,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2651,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2668,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1528,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1833,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:1910,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:623,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:996,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1014,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1133,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1509,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1652,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2058,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:511,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:701,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:833,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1407,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1827,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:820,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:936,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1271,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:1755,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2055,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2619,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1382,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1455,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2510,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:550,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:900,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1001,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1122,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1284,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1315,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1466,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2193,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1851,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1784,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2063,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2239,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:560,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:832,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:531,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:981,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1542,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:558,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:485,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:791,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1360,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1491,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1456,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1071,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1397,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:2038,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:550,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1009,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1041,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1714,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2154,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:664,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:967,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:989,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1226,1
    - Dst: lseek
      Src: /src/glib/glib/tests/fileutils.c:1366,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1535,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1780,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2517,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:775,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:652,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:689,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1219,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1464,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/tests/fileutils.c:2238,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1524,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1617,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2665,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2222,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:489,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:613,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1006,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1896,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2655,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2672,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:578,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1260,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1314,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1484,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1523,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2587,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2529,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2487,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:590,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:859,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:650,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1939,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2036,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:674,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1234,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2592,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:497,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:635,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:1014,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1041,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1071,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2204,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:947,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:958,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1026,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1056,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1086,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1288,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2009,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1493,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:613,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:702,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:511,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:974,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1427,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1620,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1768,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:497,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:519,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:527,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:903,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:930,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2515,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:645,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:713,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:796,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:830,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:967,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1112,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1345,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1753,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1380,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2100,1
    - Dst: g_assert_memcmp
      Src: /src/glib/glib/tests/fileutils.c:2467,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:895,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:942,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:952,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:493,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1239,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1368,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1536,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1850,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2659,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2676,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1417,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2510,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:652,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:846,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:878,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:936,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1130,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1501,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1671,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1285,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:1449,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1934,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:605,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:984,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1921,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1764,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:879,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1219,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1902,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1826,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:1981,1
    - Dst: g_access
      Src: /src/glib/glib/tests/fileutils.c:2032,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:2108,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2466,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2205,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/glib/tests/fileutils.c:2512,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:493,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:523,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:578,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:619,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:915,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:947,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:979,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/fileutils.c:1396,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1424,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2076,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1828,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1374,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:582,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1333,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:599,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1643,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1848,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:484,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:592,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:688,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:934,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2522,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1727,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/fileutils.c:1685,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:582,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:605,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:519,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:930,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1827,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2023,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:825,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:838,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:952,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2663,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1375,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:974,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/fileutils.c:2220,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:564,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:671,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:527,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:533,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:566,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:1886,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1935,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:860,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:645,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:958,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1000,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1053,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1083,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:699,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:854,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1136,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2242,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:489,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:884,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:891,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1222,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1429,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1501,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1539,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1715,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1928,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:500,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:523,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:774,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:819,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2650,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2667,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:562,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:942,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1137,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1228,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1409,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1504,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1986,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:979,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1339,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1823,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2244,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1594,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2062,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:913,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1132,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1904,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:995,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1013,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1427,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1531,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1893,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1313,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:711,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:484,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:934,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1225,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1343,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2536,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1395,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:609,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:838,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: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1068,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1340,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1416,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:2571,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/fileutils.c:2635,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1544,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:568,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1000,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1270,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1346,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1779,1
    - Dst: wcscmp
      Src: /src/glib/glib/tests/fileutils.c:2128,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:783,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:564,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:961,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1005,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1621,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2591,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2627,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:514,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:795,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:2017,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1053,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1083,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1417,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2539,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:982,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:790,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1038,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1068,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2654,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2671,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:909,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:670,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1278,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1331,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1620,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1540,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1921,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:533,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:562,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:2099,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2157,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1847,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:568,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:599,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:851,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:966,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1522,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1629,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2521,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2194,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:554,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:580,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:590,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:929,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:951,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:995,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1013,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1980,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:509,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:783,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1356,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2596,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:957,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1682,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1915,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:548,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:799,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1394,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1008,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1258,1
    - Dst: strcat
      Src: /src/glib/glib/tests/fileutils.c:1419,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1883,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1908,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:673,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:510,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:639,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:973,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1455,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1471,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/tests/fileutils.c:2202,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1023,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1882,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1932,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:859,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:500,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:609,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:912,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2153,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:988,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2106,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:1854,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:554,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:669,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:905,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:941,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1406,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1651,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1482,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1936,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:978,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1416,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2658,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2675,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:492,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:548,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:898,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:619,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:945,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1364,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/fileutils.c:1534,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1978,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:2540,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:514,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:530,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:685,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2004,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:1005,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1134,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2625,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2669,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:524,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1629,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1926,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2161,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2197,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/fileutils.c:685,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:999,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1106,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1820,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1274,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1757,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1745,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:887,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:496,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1264,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1329,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/fileutils.c:2643,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:697,1
    - Dst: g_remove
      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_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1806,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2589,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:1204,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2040,1
    - Dst: TESTCASE
      Src: /src/glib/glib/tests/fileutils.c:2285,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:625,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:639,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:518,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:951,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1263,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1461,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:627,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:966,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2547,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:648,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:722,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2033,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2622,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2662,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2670,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1468,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1946,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:509,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:526,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:572,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1128,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1233,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1404,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1775,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2060,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:522,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:558,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:708,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:845,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:1008,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1035,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2523,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1929,1
    - Dst: g_lstat
      Src: /src/glib/glib/tests/fileutils.c:1688,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:929,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1253,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2590,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2029,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1257,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:795,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:910,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1267,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1606,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/fileutils.c:2633,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:1032,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1821,1
    - Dst: g_assert_cmpwcs
      Src: /src/glib/glib/tests/fileutils.c:2241,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1312,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:978,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:627,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:492,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1846,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1423,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1670,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2113,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/fileutils.c:2219,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:698,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:510,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:941,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:983,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1255,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1229,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1303,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/fileutils.c:2200,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:818,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:999,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1089,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1344,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1494,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1200,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/fileutils.c:1975,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2458,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1059,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1460,1
    - Dst: to_hex
      Src: /src/glib/glib/tests/fileutils.c:2463,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1310,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1940,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1196,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1677,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:911,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1029,1
    - Dst: g_basename
      Src: /src/glib/glib/tests/fileutils.c:1110,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:2569,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:1977,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1296,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1383,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:522,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1065,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1218,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1460,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2048,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1881,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2582,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:532,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:994,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1725,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1525,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2114,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1012,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1891,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2603,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:496,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1262,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1372,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1470,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1686,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2556,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:518,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:526,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:905,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:928,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1448,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1711,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2601,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:829,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:834,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:933,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1752,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2666,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1683,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:483,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:603,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:972,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1004,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1264,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1403,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2513,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2462,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:631,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:927,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:950,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1221,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1279,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1526,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:483,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:908,1
    - Dst: g_basename
      Src: /src/glib/glib/tests/fileutils.c:1106,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:1196,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1843,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2490,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1899,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/fileutils.c:2097,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:721,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1035,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1065,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1124,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1353,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1424,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2620,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:815,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:886,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:965,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1050,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1080,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1120,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2648,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2016,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:710,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1038,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:603,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:695,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:834,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:994,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1227,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1499,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:499,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:625,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:955,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2211,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2600,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1713,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:977,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1266,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1913,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2160,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2059,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:513,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:933,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:986,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1363,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1604,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1952,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1743,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2022,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:2047,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1254,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1423,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1448,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1086,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:877,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:529,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:944,1
    - Dst: strstr
      Src: /src/glib/glib/tests/fileutils.c:1346,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2152,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/fileutils.c:923,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1252,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:648,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:720,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:782,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:803,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:488,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2482,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:1012,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:570,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:823,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:940,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:960,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1688,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1947,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1261,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1487,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1892,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:588,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:631,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:666,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:972,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/fileutils.c:2262,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1538,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2621,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1236,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1819,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:682,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:835,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:576,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:909,1
    - Dst: S_ISDIR
      Src: /src/glib/glib/tests/fileutils.c:1983,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/fileutils.c:2631,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1824,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:532,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:887,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1004,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2588,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:588,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1292,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:765,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:977,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:998,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1879,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1990,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2156,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:883,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:778,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1493,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1619,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2577,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1530,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1731,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:513,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:499,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:965,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1431,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2585,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2657,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2674,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1941,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2198,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/fileutils.c:2465,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:707,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:955,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:1985,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:495,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:517,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1619,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1792,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1951,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:766,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1309,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1495,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1897,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1912,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1838,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:584,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:828,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1338,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1502,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1026,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1900,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2015,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:529,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:615,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:635,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:986,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2243,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:989,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:617,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2647,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:1830,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:570,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1353,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1766,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2519,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1431,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1895,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1999,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:521,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:908,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:944,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:998,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1023,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1056,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:940,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1788,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1830,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:1907,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1227,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2493,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2039,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:839,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:960,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2518,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2661,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1206,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1759,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/fileutils.c:923,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1650,1
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/fileutils.c:1979,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:552,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:621,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:718,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1890,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:482,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1007,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1062,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1092,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1197,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1231,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1251,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1414,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:2531,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1914,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1092,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1032,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:525,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:552,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:621,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:801,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:949,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1062,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1402,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1983,1
    - Dst: time
      Src: /src/glib/glib/tests/fileutils.c:2051,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1352,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/fileutils.c:2201,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1277,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1255,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:495,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:486,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2195,1
    - Dst: g_assert_cmpwcs
      Src: /src/glib/glib/tests/fileutils.c:2203,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1265,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1817,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1223,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1529,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1761,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:897,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:764,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:1752,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1401,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/fileutils.c:2239,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:694,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:777,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:847,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:516,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:991,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1982,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1415,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1751,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1730,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2026,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:576,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:680,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1280,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2520,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2595,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1047,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1238,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1077,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1020,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2457,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:2013,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:643,1
    CyclomaticComplexity: 204
    EdgeCount: 204
    ICount: 2212
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2679
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 2679
    functionName: test_build_filename
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - g_log_set_always_fatal
    - strcpy
    - g_format_size
    - g_file_read_link
    - g_test_summary
    - g_test_undefined
    - g_assert_cmpint
    - g_malloc0
    - g_error
    - _g_win32_copy_and_maybe_terminate
    - remove
    - symlink
    - g_test_run
    - g_strconcat
    - g_test_get_filename
    - g_test_trap_assert_stderr
    - g_format_size_for_display
    - to_hex
    - g_unlink
    - g_test_bug
    - MAKELANGID
    - g_test_trap_assert_passed
    - g_file_test
    - g_getenv
    - g_file_get_contents
    - g_chmod
    - g_utf16_to_utf8
    - g_assert_cmpwcs
    - g_lstat
    - g_test_verbose
    - g_remove
    - g_test_init
    - mkdir
    - S_ISDIR
    - check_string
    - g_build_filenamev
    - g_test_skip
    - g_assert_memcmp
    - g_mkdir
    - g_file_error_from_errno
    - memcpy
    - TESTCASE
    - g_dir_make_tmp
    - g_access
    - g_test_add_func
    - g_assert_error
    - g_setenv
    - g_printerr
    - wcscmp
    - g_test_message
    - g_strdup
    - g_assert_false
    - g_string_new
    - g_get_tmp_dir
    - g_assert
    - g_mkdir_with_parents
    - test_mkdir_with_parents_1
    - g_mkdtemp
    - assert_fd_was_closed
    - g_creat
    - g_close
    - lseek
    - SetThreadLocale
    - _g_win32_strip_extended_ntobjm_prefix
    - g_file_set_contents_full
    - GLIB_PRIVATE_CALL
    - g_test_trap_subprocess
    - wcslen
    - g_log_set_fatal_mask
    - MAKELCID
    - g_basename
    - g_str_has_prefix
    - g_string_free
    - memcmp
    - g_open
    - unlink
    - g_rmdir
    - g_file_set_contents
    - g_assert_cmpuint
    - g_assert_no_error
    - strstr
    - g_utime
    - rmdir
    - g_string_append_printf
    - g_rename
    - g_fsync
    - time
    - g_assert_true
    - g_mkstemp
    - g_test_assert_expected_messages
    - fwrite
    - g_clear_error
    - g_path_get_dirname
    - read
    - g_get_current_dir
    - g_chdir
    - g_clear_fd
    - check_cap_dac_override
    - g_fopen
    - strlen
    - IDENTITY_TEST
    - g_file_open_tmp
    - g_strerror
    - g_assert_nonnull
    - g_assert_not_reached
    - close
    - g_test_expect_message
    - fclose
    - g_stat
    - g_assert_no_errno
    - g_error_free
    - g_build_filename
    - g_assert_null
    - strcat
    - write
    - g_free
    - g_new0
    - g_assert_cmpstr
    - g_format_size_full
    - fopen
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_build_filename (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1120,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1125,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1124,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1124,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1122,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1128,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1129,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1130,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1132,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1133,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1134,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1136,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1137,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1139
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1139
    functionName: test_get_basename
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_free
    - g_test_assert_expected_messages
    - g_path_get_basename
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_get_basename (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:1446,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1447,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:1449,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1451,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1455,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1455,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1460,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1458,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1456,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1464,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1467,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1471,1
    - Dst: fwrite
      Src: /src/glib/glib/tests/fileutils.c:1447,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1464,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1466,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1470,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1448,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1453,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1460,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1468,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1448,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1461,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1472
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1472
    functionName: test_get_contents
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_fopen
    - strlen
    - g_assert_cmpint
    - g_test_undefined
    - g_assert_false
    - g_test_assert_expected_messages
    - g_free
    - g_assert_no_error
    - g_remove
    - g_assert_cmpstr
    - fwrite
    - g_test_expect_message
    - fclose
    - g_file_test
    - g_file_get_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_get_contents (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1523,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1524,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1525,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1531,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1544,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1528,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1530,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1532,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1536,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1540,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1524,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1526,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/fileutils.c:1534,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1541,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1535,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1539,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1538,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1542,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1522,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1525,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1529,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1546
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1546
    functionName: test_set_contents
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_file_open_tmp
    - g_file_set_contents
    - g_assert_no_error
    - g_remove
    - g_assert_cmpstr
    - g_fsync
    - close
    - g_file_get_contents
    - g_assert_true
    - write
    linkageType: ''
    returnType: void
    signature: 'static void test_set_contents (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: to_hex
      Src: /src/glib/glib/tests/fileutils.c:2463,1
    - Dst: to_hex
      Src: /src/glib/glib/tests/fileutils.c:2464,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2471,1
    - Dst: _g_win32_copy_and_maybe_terminate
      Src: /src/glib/glib/tests/fileutils.c:2448,1
    - Dst: TESTCASE
      Src: /src/glib/glib/tests/fileutils.c:2285,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/fileutils.c:2445,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/fileutils.c:2465,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2458,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2462,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2469,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2468,1
    - Dst: g_assert_memcmp
      Src: /src/glib/glib/tests/fileutils.c:2467,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2466,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2457,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 466
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2473
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2473
    functionName: test_win32_zero_terminate_symlink
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - TESTCASE
    - g_malloc0
    - g_assert_nonnull
    - g_error
    - _g_win32_copy_and_maybe_terminate
    - g_assert_memcmp
    - to_hex
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void test_win32_zero_terminate_symlink (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/base64.c:20,1
    - Dst: g_base64_encode_step
      Src: /src/glib/glib/tests/base64.c:30,1
    - Dst: MIN
      Src: /src/glib/glib/tests/base64.c:29,1
    - Dst: g_base64_encode_close
      Src: /src/glib/glib/tests/base64.c:34,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/base64.c:21,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:
    - g_assert_cmpint
    - g_base64_encode_step
    - g_free
    - g_base64_encode_close
    - MIN
    - g_assert_cmpmem
    - g_base64_decode_step
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_incremental (gboolean line_break, gsize length) '
  - 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: []
    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: g_test_bug
      Src: /src/glib/glib/tests/base64.c:249,1
    - Dst: generate_databuffer_for_base64
      Src: /src/glib/glib/tests/base64.c:251,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:264,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/base64.c:255,1
    - Dst: MIN
      Src: /src/glib/glib/tests/base64.c:269,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_free
      Src: /src/glib/glib/tests/base64.c:287,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:285,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_base64_encode_step
    - GPOINTER_TO_UINT
    - g_free
    - g_assert_cmpuint
    - g_base64_encode_close
    - MIN
    - g_assert_cmpstr
    - generate_databuffer_for_base64
    - G_N_ELEMENTS
    - g_base64_encode
    - g_test_bug
    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_assert_cmpmem
      Src: /src/glib/glib/tests/base64.c:313,1
    - Dst: g_base64_decode_inplace
      Src: /src/glib/glib/tests/base64.c:312,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:314,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_base64_decode_inplace
    - g_strdup
    - g_free
    - g_assert_cmpmem
    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: strlen
      Src: /src/glib/glib/tests/base64.c:377,1
    - Dst: g_base64_decode_step
      Src: /src/glib/glib/tests/base64.c:391,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/base64.c:385,1
    - Dst: MIN
      Src: /src/glib/glib/tests/base64.c:390,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
    - g_free
    - GPOINTER_TO_UINT
    - MIN
    - g_base64_decode
    - g_assert_cmpmem
    - g_base64_decode_step
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_decode_smallblock (gconstpointer blocksize_p) '
  - 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_base64_encode
      Src: /src/glib/glib/tests/base64.c:476,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:477,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_test_message
    - g_free
    - g_assert_cmpuint
    - g_assert_cmpstr
    - G_N_ELEMENTS
    - g_base64_encode
    - g_base64_decode
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_encode_decode_rfc4648 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/base64.c:84,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:89,1
    - Dst: g_base64_decode
      Src: /src/glib/glib/tests/base64.c:90,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/base64.c:93,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:91,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:
    - g_free
    - g_assert_cmpmem
    - GPOINTER_TO_INT
    - g_base64_encode
    - g_base64_decode
    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_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:232,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:231,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_base64_encode
    - g_free
    - g_assert_cmpstr
    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_base64_decode
    - g_assert_cmpmem
    - g_free
    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
    - g_base64_encode
    - g_free
    - decode_and_compare
    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_add_data_func
      Src: /src/glib/glib/tests/base64.c:526,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/base64.c:540,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:518,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:521,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:514,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:532,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:523,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: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: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: 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: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:526,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:528,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:515,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:519,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: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:528,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:517,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:519,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:515,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:522,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: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:508,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:506,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:512,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:538,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:518,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:524,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:530,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:
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_test_add_func
    - g_test_run
    - 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_free
      Src: /src/glib/glib/tests/base64.c:420,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:422,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:418,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:419,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_base64_encode
    - g_free
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_encode_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/base64.c:437,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/base64.c:441,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_cmpstr
      Src: /src/glib/glib/tests/base64.c:440,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_free
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_base64_decode
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_decode_empty (void) '
  - 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:32,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:31,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:32,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:40,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:37,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/guuid.c:37,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
    - 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:39,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/guuid.c:38,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_uuid_string_is_valid
    - g_assert_true
    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_cmpuint
      Src: /src/glib/glib/tests/guuid.c:49,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/guuid.c:50,1
    - Dst: strlen
      Src: /src/glib/glib/tests/guuid.c:49,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:50,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_free
      Src: /src/glib/glib/tests/guuid.c:58,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
    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:
    - strlen
    - g_uuid_string_is_valid
    - g_free
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_uuid_string_random
    - g_assert_true
    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_run
      Src: /src/glib/glib/tests/guuid.c:70,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
    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_run
    - g_test_init
    - g_test_add_func
    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:144,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_set_prgname
      Src: /src/glib/glib/tests/utils.c:149,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_get_application_name
      Src: /src/glib/glib/tests/utils.c:159,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_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:160,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_set_application_name
    - g_set_prgname
    - g_get_prgname
    - g_assert_cmpstr
    - g_get_application_name
    linkageType: ''
    returnType: void
    signature: 'static void test_appname (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_codeset
      Src: /src/glib/glib/tests/utils.c:689,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:692,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:694,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/utils.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: test_codeset
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_get_charset
    - g_get_codeset
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_codeset (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetConsoleOutputCP
      Src: /src/glib/glib/tests/utils.c:720,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/utils.c:722,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:721,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:721,1
    - Dst: SetConsoleOutputCP
      Src: /src/glib/glib/tests/utils.c:725,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/tests/utils.c:726,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:727,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils.c:730,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/tests/utils.c:731,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:732,1
    - Dst: SetConsoleOutputCP
      Src: /src/glib/glib/tests/utils.c:736,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/utils.c:741,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils.c:738,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:739,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/tests/utils.c:742,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:744,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 746
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 746
    functionName: test_console_charset
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_strdup
    - SetConsoleOutputCP
    - g_get_console_charset
    - g_free
    - g_assert_cmpstr
    - g_getenv
    - g_get_charset
    - GetConsoleOutputCP
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_console_charset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_pgettext
      Src: /src/glib/glib/tests/utils.c:755,1
    - Dst: strlen
      Src: /src/glib/glib/tests/utils.c:756,1
    - Dst: g_dpgettext
      Src: /src/glib/glib/tests/utils.c:757,1
    - Dst: strlen
      Src: /src/glib/glib/tests/utils.c:755,1
    - Dst: g_dpgettext
      Src: /src/glib/glib/tests/utils.c:756,1
    - Dst: g_dpgettext2
      Src: /src/glib/glib/tests/utils.c:758,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:760,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:761,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 763
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 763
    functionName: test_gettext
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - strlen
    - g_dpgettext
    - g_assert_cmpstr
    - glib_pgettext
    - g_dpgettext2
    linkageType: ''
    returnType: void
    signature: 'static void test_gettext (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_real_name
      Src: /src/glib/glib/tests/utils.c:780,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 783
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 783
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:805,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:811,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:812,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:814,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:823,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:834,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/glib/tests/utils.c:845,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:847,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/utils.c:856,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:860,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:805,1
    - Dst: g_get_user_config_dir
      Src: /src/glib/glib/tests/utils.c:809,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils.c:807,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:825,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:823,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:829,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:832,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:832,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils.c:834,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:838,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:858,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:816,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/glib/tests/utils.c:827,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:830,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:841,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/glib/tests/utils.c:843,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:848,1
    - Dst: g_get_system_config_dirs
      Src: /src/glib/glib/tests/utils.c:854,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:850,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:807,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:814,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/glib/tests/utils.c:818,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:820,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils.c:816,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils.c:825,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:821,1
    - Dst: g_get_user_state_dir
      Src: /src/glib/glib/tests/utils.c:836,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:841,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:843,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:839,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 861
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 861
    functionName: test_xdg_dirs
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_get_home_dir
    - g_get_system_config_dirs
    - g_get_user_state_dir
    - g_get_user_config_dir
    - g_assert_cmpstr
    - g_get_user_data_dir
    - g_build_filename
    - g_get_user_runtime_dir
    - g_getenv
    - g_get_user_cache_dir
    - g_strjoinv
    linkageType: ''
    returnType: void
    signature: 'static void test_xdg_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/utils.c:983,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:990,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:984,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:985,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:992,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:993,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:994,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:995,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:997,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:998,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1000
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1000
    functionName: test_clear_pointer_side_effects
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_new0
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_null
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_pointer_side_effects (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_list
      Src: /src/glib/glib/tests/utils.c:1262,1
    - Dst: g_clear_list
      Src: /src/glib/glib/tests/utils.c:1268,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1266,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1263,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/utils.c:1265,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1269,1
    - Dst: g_clear_list
      Src: /src/glib/glib/tests/utils.c:1271,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1272,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/utils.c:1274,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1274,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1275,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1278,1
    - Dst: g_clear_list
      Src: /src/glib/glib/tests/utils.c:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1279
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1279
    functionName: test_clear_list
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_clear_list
    - g_assert_nonnull
    - g_list_prepend
    - g_assert_null
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_list (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/utils.c:170,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
    - 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
    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_strcmp0
    - g_atomic_int_inc
    - g_assert_cmpstr
    - g_get_prgname
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_prgname_check (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/utils.c:700,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/utils.c:704,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:705,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils.c:703,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/utils.c:708,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/utils.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 710
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 710
    functionName: test_codeset2
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_assert_cmpstr
    - g_get_charset
    - g_setenv
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_codeset2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_name
      Src: /src/glib/glib/tests/utils.c:770,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 773
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 773
    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_get_host_name
      Src: /src/glib/glib/tests/utils.c:790,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/utils.c:793,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:792,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 794
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 794
    functionName: test_hostname
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_true
    - g_get_host_name
    - g_utf8_validate
    linkageType: ''
    returnType: void
    signature: 'static void test_hostname (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_slist
      Src: /src/glib/glib/tests/utils.c:1286,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/utils.c:1289,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1287,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1290,1
    - Dst: g_clear_slist
      Src: /src/glib/glib/tests/utils.c:1292,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1293,1
    - Dst: g_clear_slist
      Src: /src/glib/glib/tests/utils.c:1295,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1296,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/utils.c:1298,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1298,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1302,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1299,1
    - Dst: g_clear_slist
      Src: /src/glib/glib/tests/utils.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1303
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1303
    functionName: test_clear_slist
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_clear_slist
    - g_slist_prepend
    - g_assert_null
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_slist (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/tests/utils.c:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1203
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1203
    functionName: atexit_func
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void atexit_func (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/tests/utils.c:229,1
    - Dst: __builtin_ffsl
      Src: /src/glib/glib/tests/utils.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: builtin_bit_nth_lsf1
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - G_LIKELY
    - __builtin_ffsl
    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:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 277
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - gulong
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 305
    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_get_user_special_dir
      Src: /src/glib/glib/tests/utils.c:881,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/glib/tests/utils.c:885,1
    - Dst: g_reload_user_special_dirs_cache
      Src: /src/glib/glib/tests/utils.c:884,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:886,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 887
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 887
    functionName: test_desktop_special_dir
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_reload_user_special_dirs_cache
    - g_get_user_special_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_desktop_special_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1007,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:1015,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/utils.c:1011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - obj_out
    argTypes:
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1018
    functionName: get_obj
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_malloc
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void get_obj (gpointer *obj_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_try_malloc
      Src: /src/glib/glib/tests/utils.c:1045,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1046,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1051,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1049,1
    - Dst: g_try_malloc0
      Src: /src/glib/glib/tests/utils.c:1048,1
    - Dst: g_try_realloc
      Src: /src/glib/glib/tests/utils.c:1052,1
    - Dst: g_try_realloc
      Src: /src/glib/glib/tests/utils.c:1053,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1056
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1056
    functionName: test_misc_mem
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_try_realloc
    - g_try_malloc0
    - g_try_malloc
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_misc_mem (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1075,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1076,1
    - Dst: exit
      Src: /src/glib/glib/tests/utils.c:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1078
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1078
    functionName: aligned_alloc_npot
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_free
    - g_aligned_alloc
    - 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:1096,1
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1098,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1099,1
    - Dst: MAX
      Src: /src/glib/glib/tests/utils.c:1098,1
    - Dst: g_aligned_alloc0
      Src: /src/glib/glib/tests/utils.c:1101,1
    - Dst: MAX
      Src: /src/glib/glib/tests/utils.c:1101,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1102,1
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1104,1
    - Dst: MAX
      Src: /src/glib/glib/tests/utils.c:1104,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1105,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/utils.c:1117,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/utils.c:1119,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/utils.c:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1120
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1120
    functionName: test_aligned_mem
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_alloc0
    - CHECK_SUBPROCESS_FAIL
    - g_aligned_alloc
    - g_assert_null
    - g_test_summary
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void test_aligned_mem (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/tests/utils.c:242,1
    - Dst: __builtin_ctzl
      Src: /src/glib/glib/tests/utils.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 248
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzl
      Src: /src/glib/glib/tests/utils.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/tests/utils.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 291
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 291
    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_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:337,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:339,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:342,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:352,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:344,1
    - Dst: builtin_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:349,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:328,1
    - Dst: builtin_bit_storage
      Src: /src/glib/glib/tests/utils.c:326,1
    - Dst: naive_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:333,1
    - Dst: naive_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:334,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:343,1
    - Dst: builtin_bit_nth_lsf1
      Src: /src/glib/glib/tests/utils.c:338,1
    - Dst: naive_bit_storage
      Src: /src/glib/glib/tests/utils.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:326,1
    - Dst: g_bit_storage
      Src: /src/glib/glib/tests/utils.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:329,1
    - Dst: builtin_bit_nth_lsf2
      Src: /src/glib/glib/tests/utils.c:340,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 357
    functionName: test_basic_bits
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - builtin_bit_storage
    - g_assert_cmpint
    - naive_bit_nth_lsf
    - builtin_bit_nth_msf
    - g_bit_nth_lsf
    - naive_bit_storage
    - builtin_bit_nth_lsf1
    - g_bit_nth_msf
    - naive_bit_nth_msf
    - builtin_bit_nth_lsf2
    - g_bit_storage
    linkageType: ''
    returnType: void
    signature: 'static void test_basic_bits (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_special_dir
      Src: /src/glib/glib/tests/utils.c:869,1
    - Dst: g_reload_user_special_dirs_cache
      Src: /src/glib/glib/tests/utils.c:870,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:873,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/glib/tests/utils.c:871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 874
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 874
    functionName: test_special_dir
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_reload_user_special_dirs_cache
    - g_assert_cmpstr
    - g_get_user_special_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_special_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_os_info
      Src: /src/glib/glib/tests/utils.c:899,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/utils.c:908,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:906,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/utils.c:900,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/utils.c:909,1
    - Dst: uname
      Src: /src/glib/glib/tests/utils.c:910,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:911,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/utils.c:913,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/utils.c:915,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:918,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:919,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 920
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 920
    functionName: test_os_info
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_free
    - g_get_os_info
    - g_assert_nonnull
    - g_test_skip
    - uname
    - g_file_get_contents
    linkageType: ''
    returnType: void
    signature: 'static void test_os_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_obj
      Src: /src/glib/glib/tests/utils.c:1026,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1029,1
    - Dst: get_obj
      Src: /src/glib/glib/tests/utils.c:1028,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1033,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:1035,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1038
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1038
    functionName: test_take_pointer
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - get_obj
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_take_pointer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1064,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1065,1
    - Dst: exit
      Src: /src/glib/glib/tests/utils.c:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1067
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1067
    functionName: aligned_alloc_nz
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_free
    - g_aligned_alloc
    - 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:1086,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1087,1
    - Dst: exit
      Src: /src/glib/glib/tests/utils.c:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: aligned_alloc_nmov
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_free
    - g_aligned_alloc
    - 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:1127,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:1131,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1133,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1130,1
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1134
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1134
    functionName: test_aligned_mem_alignment
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_aligned_alloc
    - g_test_summary
    - g_aligned_free
    linkageType: ''
    returnType: void
    signature: 'static void test_aligned_mem_alignment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/utils.c:1238,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:1254,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:1249,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/utils.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1255
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1255
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/utils.c:1208,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/utils.c:1215,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/utils.c:1214,1
    - Dst: g_atexit
      Src: /src/glib/glib/tests/utils.c:1210,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/utils.c:1213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1216
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1216
    functionName: test_atexit
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_atexit
    - g_test_trap_assert_stdout
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_atexit (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/utils.c:462,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/tests/utils.c:469,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:473,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:446,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:447,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:451,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:468,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:472,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:467,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:470,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:485,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:487,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:449,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:481,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:445,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:450,1
    - Dst: realpath
      Src: /src/glib/glib/tests/utils.c:455,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:456,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:457,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:469,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:471,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:463,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:482,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:484,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 489
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 489
    functionName: test_find_program
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - realpath
    - g_assert
    - g_assert_nonnull
    - g_find_program_in_path
    - g_strconcat
    - g_assert_true
    - g_path_is_absolute
    linkageType: ''
    returnType: void
    signature: 'static void test_find_program (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/utils.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 926
    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: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/utils.c:1223,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1225
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1225
    functionName: test_check_setuid
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - GLIB_PRIVATE_CALL
    linkageType: ''
    returnType: void
    signature: 'static void test_check_setuid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/utils.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - program
    - path
    - working_dir
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add_once
      Src: /src/glib/glib/tests/utils.c:933,1
    - Dst: g_timeout_add_once
      Src: /src/glib/glib/tests/utils.c:939,1
    - Dst: g_clear_handle_id
      Src: /src/glib/glib/tests/utils.c:936,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:937,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:934,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:940,1
    - Dst: g_clear_handle_id
      Src: /src/glib/glib/tests/utils.c:942,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 944
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 944
    functionName: test_clear_source
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_timeout_add_once
    - g_clear_handle_id
    - g_assert_cmpuint
    - g_idle_add_once
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_source (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1348,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:1358,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1341,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:1342,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:1354,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1356,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils.c:1312,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/utils.c:1323,1
    - Dst: g_set_prgname
      Src: /src/glib/glib/tests/utils.c:1321,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1333,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1334,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1335,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1336,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1337,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1338,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1339,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1349,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1352,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1351,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:1368,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:1343,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:1363,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1347,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1364,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/utils.c:1371,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1340,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:1355,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1357,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/utils.c:1313,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/utils.c:1314,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1325,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1326,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1327,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1328,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1329,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1330,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1331,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1332,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1350,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:1353,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1372
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1372
    functionName: main
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_set_prgname
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/utils.c:967,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:973,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:971,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 974
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 974
    functionName: test_clear_pointer_cast
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_hash_table_new
    - g_assert_nonnull
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_pointer_cast (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/utils.c:108,1
    - Dst: glib_check_version
      Src: /src/glib/glib/tests/utils.c:113,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/utils.c:109,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:113,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:116,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
    - glib_check_version
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_version (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_get_language_names
    - g_setenv
    - strv_check
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_language_names (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/utils.c:187,1
    - Dst: g_set_prgname
      Src: /src/glib/glib/tests/utils.c:191,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:194,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:188,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/utils.c:192,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_set_prgname
      Src: /src/glib/glib/tests/utils.c:207,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
    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_set_prgname
    - g_atomic_int_get
    - g_thread_new
    - g_usleep
    - g_thread_join
    - g_test_summary
    - G_N_ELEMENTS
    - g_atomic_int_set
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_prgname_thread_safety (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:374,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:377,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:375,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:406,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:380,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:384,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:394,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:401,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:395,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:366,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:378,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:381,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:383,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:387,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:400,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:398,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:397,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:405,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 409
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 409
    functionName: test_bits
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_bit_nth_msf
    - g_bit_nth_lsf
    linkageType: ''
    returnType: void
    signature: 'static void test_bits (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/utils.c:515,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils.c:516,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils.c:521,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:526,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:551,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:615,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/utils.c:582,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/utils.c:619,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:580,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/utils.c:512,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/utils.c:519,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils.c:526,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:529,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:554,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:518,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:543,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:556,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:601,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:634,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/utils.c:635,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:605,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:593,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/utils.c:567,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:633,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:534,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:578,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:611,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:605,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:623,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:620,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:516,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:521,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/utils.c:524,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:528,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:538,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:611,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:549,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:547,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:561,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:573,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:540,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:563,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:585,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:588,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:583,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/utils.c:520,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:531,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:533,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:536,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:552,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:604,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:624,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:529,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:534,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:561,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:575,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:621,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:591,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:590,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:609,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:545,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:560,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:552,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:514,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:528,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:629,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:617,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/utils.c:511,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:568,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:576,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:607,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:625,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/utils.c:524,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:616,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:628,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:632,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:572,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:543,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:565,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:595,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:627,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:576,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:591,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:570,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:587,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:542,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:558,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:622,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 105
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 636
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 636
    functionName: test_find_program_for_path
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_error
    - g_get_current_dir
    - g_chdir
    - g_assert_nonnull
    - g_mkdir
    - g_assert_true
    - g_file_set_contents
    - g_assert_no_errno
    - g_find_program_in_path
    - g_assert_no_error
    - g_dir_make_tmp
    - g_build_filename
    - g_str_has_suffix
    - g_assert_null
    - g_assert_cmpstr
    - find_program_for_path
    - g_file_test
    - g_chmod
    linkageType: ''
    returnType: void
    signature: 'static void test_find_program_for_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:951,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:953,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:952,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:955,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 958
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 958
    functionName: test_clear_pointer
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_malloc
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_pointer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:1143,1
    - Dst: g_aligned_alloc0
      Src: /src/glib/glib/tests/utils.c:1145,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:1149,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1151,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1152
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1152
    functionName: test_aligned_mem_zeroed
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_alloc0
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_test_summary
    - g_aligned_free
    linkageType: ''
    returnType: void
    signature: 'static void test_aligned_mem_zeroed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:1176,1
    - Dst: g_free_sized
      Src: /src/glib/glib/tests/utils.c:1184,1
    - Dst: g_free_sized
      Src: /src/glib/glib/tests/utils.c:1181,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1179,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1185
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1185
    functionName: test_free_sized
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_free_sized
    - g_assert_nonnull
    - g_malloc
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_free_sized (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/utils.c:51,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_arg
      Src: /src/glib/glib/tests/utils.c:54,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:
    - va_arg
    - va_end
    - g_strcmp0
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strv_check (const gchar * const *strv, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_locale_variants
      Src: /src/glib/glib/tests/utils.c:96,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_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_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
    - g_get_locale_variants
    - g_strfreev
    - strv_check
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_variants (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/utils.c:213,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/utils.c:214,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: test_tmpdir
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_get_tmp_dir
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_tmpdir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzl
      Src: /src/glib/glib/tests/utils.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - gulong
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:421,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/utils.c:428,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/tests/utils.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:426,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/tests/utils.c:426,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/utils.c:429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:431,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/tests/utils.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 432
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 432
    functionName: test_swap
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - GUINT64_SWAP_LE_BE
    - GUINT32_SWAP_LE_BE
    - G_GUINT64_CONSTANT
    - GUINT16_SWAP_LE_BE
    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:648,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:648,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:654,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:666,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:658,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:660,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:670,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:674,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:674,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/utils.c:678,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:649,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:655,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:657,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:663,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:667,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:669,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/utils.c:679,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:654,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:660,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:664,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:666,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/utils.c:672,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/utils.c:680,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:651,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:651,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:652,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:661,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:663,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:657,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:669,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 681
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 681
    functionName: test_debug
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_parse_debug_string
    - G_N_ELEMENTS
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_debug (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:1160,1
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1162,1
    - Dst: g_aligned_free_sized
      Src: /src/glib/glib/tests/utils.c:1168,1
    - Dst: g_aligned_free_sized
      Src: /src/glib/glib/tests/utils.c:1165,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1169
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1169
    functionName: test_aligned_mem_free_sized
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_alloc
    - g_assert_nonnull
    - g_aligned_free_sized
    - 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:1192,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1196,1
    - Dst: g_nullify_pointer
      Src: /src/glib/glib/tests/utils.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1197
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1197
    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: 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:52,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:53,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:54,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_unlock
    - g_rec_mutex_lock
    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_printerr
      Src: /src/glib/glib/tests/rec-mutex.c:101,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:103,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_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:122,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_printerr
      Src: /src/glib/glib/tests/rec-mutex.c:116,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rec-mutex.c:120,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:118,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:130,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/rec-mutex.c:124,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_thread_yield
    - g_test_verbose
    - g_rec_mutex_unlock
    - g_thread_self
    - g_assert_null
    - g_rec_mutex_lock
    - g_rec_mutex_trylock
    - g_assert_true
    - g_printerr
    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:167,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/rec-mutex.c:169,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_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_rec_mutex_clear
    - g_new0
    - thread_test_data_clear
    - g_thread_join
    - g_rec_mutex_init
    - g_thread_new
    - g_assert_null
    - g_test_perf
    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_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:42,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:40,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:41,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:39,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_clear
    - g_rec_mutex_init
    - g_rec_mutex_unlock
    - 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_assert_true
      Src: /src/glib/glib/tests/rec-mutex.c:67,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rec-mutex.c:64,1
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/tests/rec-mutex.c:66,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:69,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_trylock
    - g_assert_true
    - g_rec_mutex_unlock
    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:86,1
    - Dst: g_free
      Src: /src/glib/glib/tests/rec-mutex.c:87,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: acquire
      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: g_rand_int_range
      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:
    - g_rand_free
    - g_rand_int_range
    - g_rand_new
    - acquire
    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_unlock
    - g_rec_mutex_lock
    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_thread_new
      Src: /src/glib/glib/tests/rec-mutex.c:237,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/rec-mutex.c:240,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/rec-mutex.c:241,1
    - Dst: g_test_perf
      Src: /src/glib/glib/tests/rec-mutex.c:234,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:
    - g_assert_cmpint
    - addition_thread
    - g_atomic_int_get
    - g_test_maximized_result
    - g_thread_new
    - g_thread_join
    - g_get_monotonic_time
    - g_test_perf
    - GPOINTER_TO_INT
    - g_atomic_int_set
    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:259,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rec-mutex.c:261,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:
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_test_add_func
    - g_test_run
    - g_test_init
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:188,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:189,1
    - Dst: strlen
      Src: /src/glib/glib/tests/hash.c:191,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:890,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:889,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: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_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
    - 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
    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_assert_cmpint
    - g_hash_table_unref
    - g_hash_table_remove_all
    - g_hash_table_insert
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void test_recursive_remove_all_subprocess (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1239,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:1243,1
    - Dst: g_hash_table_insert
      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_hash_table_insert
      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_null
      Src: /src/glib/glib/tests/hash.c:1261,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1264,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1267,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1272,1
    - 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_strdup
      Src: /src/glib/glib/tests/hash.c:1246,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1244,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1248,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1270,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:1241,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1242,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1245,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1245,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1254,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1256,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:1258,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1264,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1268,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:1244,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1246,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1253,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1256,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1273
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1273
    functionName: test_steal_extended
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_false
    - g_hash_table_unref
    - g_assert_cmpuint
    - g_clear_pointer
    - g_hash_table_size
    - g_hash_table_steal_extended
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_assert_null
    - g_hash_table_new_full
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_extended (void) '
  - 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: 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: 4
    BranchProfiles: []
    Callsites:
    - 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: strcmp
      Src: /src/glib/glib/tests/hash.c:751,1
    - Dst: g_hash_table_iter_steal
      Src: /src/glib/glib/tests/hash.c:744,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
    - 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: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:734,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:740,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:759,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:757,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:760,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:761,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:761,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:730,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:732,1
    - Dst: g_hash_table_iter_get_hash_table
      Src: /src/glib/glib/tests/hash.c:759,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:753,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:765,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
    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_ref
    - g_assert_cmpint
    - g_hash_table_unref
    - g_hash_table_destroy
    - g_assert
    - g_hash_table_size
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_hash_table_iter_next
    - g_hash_table_iter_get_hash_table
    - g_hash_table_iter_init
    - strcmp
    - g_hash_table_new_full
    - g_hash_table_iter_steal
    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:1167,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:1168,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: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:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1409,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1414,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1418,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1398,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1404,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1401,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1413,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1415,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1412,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1421,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1422,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1402,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1409,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1419,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1404,1
    - Dst: g_hash_table_new_similar
      Src: /src/glib/glib/tests/hash.c:1406,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1408,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1408,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1417,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1412,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1423
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1423
    functionName: test_new_similar
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_new_similar
    - g_assert_cmpint
    - g_hash_table_unref
    - g_hash_table_insert
    - g_hash_table_remove
    - g_hash_table_lookup
    - g_assert_null
    - g_hash_table_new_full
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_new_similar (void) '
  - 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: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:
    - 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_assert
      Src: /src/glib/glib/tests/hash.c:75,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:79,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:80,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: 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:1213,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1211,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:1213,1
    - Dst: g_hash_table_foreach_steal
      Src: /src/glib/glib/tests/hash.c:1215,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1222,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1224,1
    - Dst: g_strdup
      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:1212,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1228,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_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_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1210,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1218,1
    - Dst: g_assert_cmpstr
      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:1223,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1225,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_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1217,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_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1220,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: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:1225,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_assert_cmpint
    - g_hash_table_unref
    - g_hash_table_foreach_steal
    - g_hash_table_size
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_hash_table_new_full
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void test_foreach_steal (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_assert
      Src: /src/glib/glib/tests/hash.c:490,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:483,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_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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_hash_table_destroy
    - g_assert
    - g_hash_table_size
    - g_hash_table_insert
    - g_hash_table_new
    - GPOINTER_TO_INT
    - g_hash_table_lookup
    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_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:516,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_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_test_bug
    - g_assert_cmpuint
    - g_test_summary
    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: 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: 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_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1053,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1055,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1056,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1058,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:1070,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_free
      Src: /src/glib/glib/tests/hash.c:1094,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1067,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1072,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1083,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_free
      Src: /src/glib/glib/tests/hash.c:1093,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1078,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1081,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1060,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1071,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1068,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1073,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1066,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1065,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1080,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_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_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_strdup
    - g_free
    - g_new0
    - g_hash_table_unref
    - g_assert
    - g_ptr_array_index
    - g_hash_table_insert
    - g_hash_table_remove
    - g_ptr_array_unref
    - g_hash_table_new_full
    - g_ptr_array_new
    - g_test_bug
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_destroy_modify (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1700,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1702,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1701,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1701,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1702,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1703,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1703,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/glib/tests/hash.c:1705,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/glib/tests/hash.c:1706,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1707,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1710,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1711,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/hash.c:1716,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/glib/tests/hash.c:1708,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1720,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1713,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/hash.c:1714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1721
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1721
    functionName: test_set_get_keys_as_ptr_array
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_set_free_func
    - g_assert_cmpint
    - g_hash_table_steal_all
    - g_hash_table_add
    - g_hash_table_unref
    - g_assert_true
    - g_clear_pointer
    - g_strv_equal
    - g_hash_table_get_keys_as_ptr_array
    - g_hash_table_new_full
    - g_ptr_array_add
    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:828,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:829,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_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:845,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:849,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_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:830,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/glib/tests/hash.c:835,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:855,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_steal
      Src: /src/glib/glib/tests/hash.c:853,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_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:826,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_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_assert_cmpint
    - g_hash_table_steal_all
    - g_hash_table_unref
    - g_hash_table_steal
    - g_assert
    - g_hash_table_remove_all
    - g_hash_table_insert
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void test_remove_all (void) '
  - 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_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1730,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1732,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1732,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1737,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1739,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/hash.c:1742,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1730,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1731,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1731,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1735,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1739,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1738,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1744,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1744,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1748,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1729,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1738,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/glib/tests/hash.c:1734,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1741,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1742,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1731,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1730,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1732,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1738,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1739,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1742,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/hash.c:1744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1749
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1749
    functionName: test_set_get_values_as_ptr_array
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_cmpint
    - g_ptr_array_find
    - memcmp
    - g_clear_pointer
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - g_hash_table_get_values_as_ptr_array
    - g_hash_table_new_full
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_set_get_values_as_ptr_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1901,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1911,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1912,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1914,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1913,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1916,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1915,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1910,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1909,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1917,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1921,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1923,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1937,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1925,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1926,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/hash.c:1939,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1930,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1932,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1934,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1919,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1936,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/hash.c:1899,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1902,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hash.c:1903,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hash.c:1902,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1903,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1904,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1905,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1906,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1907,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1908,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1920,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1922,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1935,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1924,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1929,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1931,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1933,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1941
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1941
    functionName: main
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_test_add_func
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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: g_assert
      Src: /src/glib/glib/tests/hash.c:252,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:251,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:254,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
    - sprintf
    - strcmp
    - atoi
    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: 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_hash_table_insert
      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_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:400,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:397,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:
    - GINT_TO_POINTER
    - g_hash_table_destroy
    - g_assert
    - g_hash_table_size
    - g_hash_table_insert
    - g_hash_table_new
    - GPOINTER_TO_INT
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void direct_hash_test2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_keys
      Src: /src/glib/glib/tests/hash.c:1508,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1510,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1512,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1511,1
    - Dst: check_data
      Src: /src/glib/glib/tests/hash.c:1514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1515
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1515
    functionName: check_consistency
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - count_keys
    - g_assert_cmpint
    - check_data
    linkageType: ''
    returnType: void
    signature: 'static void check_consistency (GHashTable *h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1759,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1763,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1778,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1780,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1781,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1781,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1781,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1782,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1786,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1792,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1763,1
    - Dst: g_hash_table_steal_all_keys
      Src: /src/glib/glib/tests/hash.c:1762,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1766,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1771,1
    - Dst: g_hash_table_steal_all_keys
      Src: /src/glib/glib/tests/hash.c:1785,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1786,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1788,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1793,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1782,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1792,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1788,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1757,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1758,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1758,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1760,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1760,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1765,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/hash.c:1774,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1783,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1783,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1783,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1793,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1794,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1792,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1788,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1793,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1758,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1759,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1759,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1760,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1768,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1765,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1769,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1765,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/hash.c:1772,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1782,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1789,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1794,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1791,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1796,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1797
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1797
    functionName: test_steal_all_keys
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_cmpint
    - g_assert_true
    - g_ptr_array_find
    - g_assert_cmpuint
    - g_hash_table_steal_all_keys
    - g_hash_table_size
    - g_clear_pointer
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - g_strv_equal
    - g_hash_table_new_full
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_all_keys (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1576,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hash.c:1578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1579
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1579
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: crcinit
      Src: /src/glib/glib/tests/hash.c:275,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:284,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:292,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:297,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:303,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:307,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_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: 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: sprintf
      Src: /src/glib/glib/tests/hash.c:306,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:308,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:331,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:277,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:283,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:289,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:296,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:299,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_assert
      Src: /src/glib/glib/tests/hash.c:301,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_destroy
      Src: /src/glib/glib/tests/hash.c:340,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:319,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: g_assert
      Src: /src/glib/glib/tests/hash.c:334,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: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: strcmp
      Src: /src/glib/glib/tests/hash.c:334,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:337,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:
    - GPOINTER_TO_INT
    - g_strdup
    - g_hash_table_destroy
    - g_assert
    - g_hash_table_size
    - crcinit
    - g_hash_table_insert
    - g_hash_table_remove
    - atoi
    - g_hash_table_foreach
    - strcmp
    - g_hash_table_new_full
    - g_hash_table_lookup
    - sprintf
    - g_hash_table_lookup_extended
    - g_hash_table_foreach_remove
    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: GINT_TO_POINTER
      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: 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_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:375,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:371,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:372,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:
    - GINT_TO_POINTER
    - g_hash_table_destroy
    - g_assert
    - g_hash_table_size
    - g_hash_table_insert
    - g_hash_table_new
    - GPOINTER_TO_INT
    - g_hash_table_lookup
    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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:416,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:412,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_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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_hash_table_destroy
    - g_assert
    - g_hash_table_size
    - g_hash_table_insert
    - g_hash_table_new
    - GPOINTER_TO_INT
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void int_hash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1520,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - h
    - occupied
    - tombstones
    argTypes:
    - GHashTable*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 1522
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1522
    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:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1585,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hash.c:1587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1588
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1588
    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:1806,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1813,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1813,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1816,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1817,1
    - Dst: g_hash_table_steal_all_values
      Src: /src/glib/glib/tests/hash.c:1810,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1820,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1821,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1831,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1831,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1837,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/hash.c:1842,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1843,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1830,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1808,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1808,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1811,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1818,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1821,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/hash.c:1823,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1827,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1829,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1830,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1830,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1832,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1837,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1837,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1838,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1831,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1807,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1807,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1808,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1814,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1811,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1817,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1818,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/hash.c:1821,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1832,1
    - Dst: g_hash_table_steal_all_values
      Src: /src/glib/glib/tests/hash.c:1834,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/hash.c:1846,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1848,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1845,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1841,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/hash.c:1844,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1805,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1806,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1806,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1807,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1813,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1817,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1818,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1823,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1823,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1832,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1840,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1835,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1849
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1849
    functionName: test_steal_all_values
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_cmpint
    - g_ptr_array_find
    - g_assert_cmpuint
    - g_clear_pointer
    - g_hash_table_steal_all_values
    - g_hash_table_size
    - memcmp
    - g_hash_table_insert
    - g_ptr_array_find_with_equal_func
    - GUINT_TO_POINTER
    - g_hash_table_new_full
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_all_values (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 1870
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1870
    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: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:440,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:448,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:445,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: 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:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_hash_table_destroy
    - g_assert
    - g_hash_table_size
    - g_hash_table_insert
    - g_hash_table_new
    - GPOINTER_TO_INT
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void int64_hash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:985,1
    - Dst: key_new
      Src: /src/glib/glib/tests/hash.c:982,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:999,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
    - 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: 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: g_hash_table_replace
      Src: /src/glib/glib/tests/hash.c:992,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:995,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:997,1
    - Dst: key_ref
      Src: /src/glib/glib/tests/hash.c:992,1
    - Dst: key_ref
      Src: /src/glib/glib/tests/hash.c:992,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1002,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:
    - g_assert_cmpint
    - g_hash_table_unref
    - key_unref
    - key_new
    - g_hash_table_insert
    - g_hash_table_remove
    - key_ref
    - g_hash_table_replace
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void set_ref_hash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/hash.c:1598,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1602,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1600,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1602,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1602,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1603,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1603,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1603,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1604,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1604,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1604,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:1608,1
    - Dst: g_ascii_islower
      Src: /src/glib/glib/tests/hash.c:1611,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1615,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:1606,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1612,1
    - Dst: g_hash_table_iter_replace
      Src: /src/glib/glib/tests/hash.c:1612,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1616
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1616
    functionName: test_iter_replace
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_unref
    - g_assert
    - g_hash_table_insert
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_hash_table_iter_replace
    - g_hash_table_new_full
    - g_ascii_islower
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_iter_replace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/hash.c:467,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
    - Dst: g_assert_cmpuint
      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_int64_hash
    - g_assert_cmpuint
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void int64_hash_collision_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1622
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_spaced_primes_closest
      Src: /src/glib/glib/tests/hash.c:1883,1
    - Dst: is_prime
      Src: /src/glib/glib/tests/hash.c:1884,1
    - Dst: MIN
      Src: /src/glib/glib/tests/hash.c:1888,1
    - Dst: MAX
      Src: /src/glib/glib/tests/hash.c:1889,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1884,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/hash.c:1892,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/hash.c:1893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1894
      start: 1872
    functionDepth: 0
    functionLinenumber: 1872
    functionLinenumberEnd: 1894
    functionName: test_primes
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - MAX
    - g_assert_cmpfloat
    - g_assert
    - MIN
    - is_prime
    - g_spaced_primes_closest
    linkageType: ''
    returnType: void
    signature: 'static void test_primes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1283,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1287,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1288,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1286,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1289,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1294,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1321,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1298,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1301,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1296,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1310,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1315,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1317,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1319,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1285,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1291,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1296,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1303,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1308,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1303,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1298,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1317,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1323,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1291,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1306,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1308,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1310,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1313,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1315,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1319,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1324
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1324
    functionName: test_steal_extended_optional
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_hash_table_unref
    - g_assert_cmpuint
    - g_hash_table_size
    - g_hash_table_steal_extended
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_assert_null
    - g_hash_table_new_full
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_extended_optional (void) '
  - 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: 1468
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1468
    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: 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_new
      Src: /src/glib/glib/tests/hash.c:797,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:801,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:800,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:798,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_unref
    - g_assert
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_hash_table_new
    - g_test_bug
    - g_hash_table_lookup_extended
    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: 1
    argNames:
    - key
    argTypes:
    - RefCountedKey*
    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: 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: 1
    argNames:
    - key
    argTypes:
    - gchar*
    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:1628,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/hash.c:1635,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/hash.c:1638,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1637,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1638,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1640,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1642,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1642,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:1643,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:1644,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:1645,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1651,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1653,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1659,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1650,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1664,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/hash.c:1662,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1665
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1665
    functionName: test_set_insert_corruption
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_assert_cmpuint
    - g_assert
    - g_hash_table_size
    - g_hash_table_insert
    - g_assert_not_reached
    - g_hash_table_iter_next
    - g_assert_cmpstr
    - g_hash_table_iter_init
    - g_test_bug
    - g_hash_table_new_full
    - g_hash_table_contains
    linkageType: ''
    returnType: void
    signature: 'static void test_set_insert_corruption (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1674,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1675,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1676,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1676,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1675,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1677,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1677,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/glib/tests/hash.c:1678,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/glib/tests/hash.c:1679,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1680,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1681,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1683,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1688,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/hash.c:1682,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1689,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1685,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/hash.c:1691,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/hash.c:1684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1692
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1692
    functionName: test_set_to_strv
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_strdup
    - g_assert_cmpint
    - g_hash_table_steal_all
    - g_hash_table_add
    - g_hash_table_unref
    - g_hash_table_get_keys_as_array
    - g_assert_cmpstr
    - g_strfreev
    - g_hash_table_new_full
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void test_set_to_strv (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:575,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:577,1
    - Dst: atoi
      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:
    - g_assert_cmpint
    - g_assert_not_reached
    - atoi
    linkageType: ''
    returnType: void
    signature: 'static void set_check (gpointer key, gpointer value, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:592,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_hash_table_foreach
      Src: /src/glib/glib/tests/hash.c:598,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:606,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:603,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:602,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:601,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:606,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:607,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:610,1
    - 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_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_strdup_printf
      Src: /src/glib/glib/tests/hash.c:591,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:595,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_hash_table_replace
      Src: /src/glib/glib/tests/hash.c:609,1
    - Dst: g_strdup
      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_destroy
      Src: /src/glib/glib/tests/hash.c:615,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:607,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_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:607,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
    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
    - g_assert_cmpint
    - g_hash_table_add
    - g_hash_table_destroy
    - g_assert
    - g_hash_table_size
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_strdup_printf
    - g_hash_table_replace
    - g_hash_table_foreach
    - g_hash_table_new_full
    - g_hash_table_lookup
    - g_hash_table_contains
    linkageType: ''
    returnType: void
    signature: 'static void set_hash_test (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_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1334,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1341,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1340,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1341,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1340,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1352,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1354,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1354,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1361,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1365,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1372,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1370,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1341,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1340,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1347,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1349,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1357,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1359,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1361,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1364,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1367,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1377,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1337,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1336,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1336,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1337,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1338,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1338,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1339,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1339,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1343,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1359,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1379,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1372,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1336,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1337,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1338,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1339,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1343,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1346,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1349,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1375,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1377,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1380
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1380
    functionName: test_lookup_extended
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_false
    - g_hash_table_unref
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_assert_null
    - g_hash_table_new_full
    - g_assert_true
    - g_hash_table_lookup_extended
    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: 1527
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1527
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1388
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1388
    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_insert
      Src: /src/glib/glib/tests/hash.c:1557,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1540,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1551,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1554,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1547,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1559,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1563,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1567,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1562,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1534,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1539,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1561,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/tests/hash.c:1565,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1569,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1537,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1536,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1541,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1542,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1543,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1544,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1546,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1549,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1550,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1558,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1553,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1566,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1570
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1570
    functionName: test_internal_consistency
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_hash_table_remove_all
    - g_hash_table_insert
    - g_hash_table_remove
    - check_counts
    - check_consistency
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void test_internal_consistency (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - index
    - is_big
    argTypes:
    - gpointer
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 1485
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1485
    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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1496,1
    - Dst: fetch_key_or_value
      Src: /src/glib/glib/tests/hash.c:1496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1499
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1499
    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: []
    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_find
      Src: /src/glib/glib/tests/hash.c:1135,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_assert
      Src: /src/glib/glib/tests/hash.c:1145,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1147,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1133,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:1121,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:1122,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:1123,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:1126,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1127,1
    - Dst: g_hash_table_find
      Src: /src/glib/glib/tests/hash.c:1129,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:1141,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:1142,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1130,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_unref
    - g_assert
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_hash_table_find
    - g_hash_table_new
    linkageType: ''
    returnType: void
    signature: 'static void test_find (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:225,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:228,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:226,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:227,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:230,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
    - sprintf
    - strcmp
    - atoi
    linkageType: ''
    returnType: void
    signature: 'static void not_even_foreach (gpointer key, gpointer value, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_new
      Src: /src/glib/glib/tests/hash.c:552,1
    - Dst: g_string_prepend_unichar
      Src: /src/glib/glib/tests/hash.c:558,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:559,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/hash.c:556,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:540,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/hash.c:544,1
    - Dst: g_string_prepend_unichar
      Src: /src/glib/glib/tests/hash.c:546,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_assert
      Src: /src/glib/glib/tests/hash.c:550,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/hash.c:555,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/hash.c:559,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/hash.c:564,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:550,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
    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_string_new
    - GINT_TO_POINTER
    - g_assert_cmpint
    - g_string_assign
    - g_hash_table_destroy
    - g_assert
    - g_hash_table_size
    - g_string_append_printf
    - g_hash_table_insert
    - g_string_append_c
    - g_string_free
    - g_hash_table_new_full
    - g_string_prepend_unichar
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void string_hash_test (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_hash_table_get_values
      Src: /src/glib/glib/tests/hash.c:643,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/hash.c:652,1
    - Dst: handle_pair
      Src: /src/glib/glib/tests/hash.c:661,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: init_result_array
      Src: /src/glib/glib/tests/hash.c:672,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/tests/hash.c:673,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:682,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:683,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:696,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:705,1
    - Dst: fill_hash_table_and_array
      Src: /src/glib/glib/tests/hash.c:679,1
    - 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_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:650,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:656,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/hash.c:653,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:686,1
    - Dst: g_hash_table_iter_replace
      Src: /src/glib/glib/tests/hash.c:697,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:703,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:700,1
    - Dst: g_hash_table_foreach_remove
      Src: /src/glib/glib/tests/hash.c:681,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: g_assert
      Src: /src/glib/glib/tests/hash.c:659,1
    - Dst: fill_hash_table_and_array
      Src: /src/glib/glib/tests/hash.c:670,1
    - Dst: verify_result_array
      Src: /src/glib/glib/tests/hash.c:674,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:708,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:696,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/tests/hash.c:685,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
      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: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:688,1
    - Dst: fill_hash_table_and_array
      Src: /src/glib/glib/tests/hash.c:689,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:703,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:693,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:
    - init_result_array
    - g_hash_table_get_values
    - g_hash_table_find
    - g_hash_table_iter_next
    - g_assert_not_reached
    - g_list_length
    - verify_result_array
    - g_hash_table_get_keys
    - g_hash_table_destroy
    - g_hash_table_remove
    - g_hash_table_new
    - g_hash_table_iter_init
    - g_hash_table_foreach
    - handle_pair
    - g_hash_table_iter_remove
    - g_assert
    - g_hash_table_size
    - fill_hash_table_and_array
    - g_list_free
    - g_hash_table_iter_replace
    - g_hash_table_foreach_remove
    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: 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_start
      Src: /src/glib/glib/tests/timer.c:39,1
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:46,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_assert_cmpfloat_with_epsilon
      Src: /src/glib/glib/tests/timer.c:60,1
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:55,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/timer.c:42,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:41,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:51,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/timer.c:59,1
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:37,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:40,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_stop
      Src: /src/glib/glib/tests/timer.c:50,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:57,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_assert_cmpfloat
    - g_timer_destroy
    - g_timer_elapsed
    - g_timer_stop
    - g_timer_new
    - g_timer_start
    - g_assert_cmpfloat_with_epsilon
    linkageType: ''
    returnType: void
    signature: 'static void test_timer_basic (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:90,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/timer.c:98,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/timer.c:93,1
    - Dst: g_timer_continue
      Src: /src/glib/glib/tests/timer.c:97,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/timer.c:95,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_assert_cmpfloat
      Src: /src/glib/glib/tests/timer.c:112,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
    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_undefined
    - g_test_assert_expected_messages
    - g_timer_reset
    - g_assert_cmpfloat
    - g_timer_destroy
    - g_timer_elapsed
    - g_timer_stop
    - g_test_expect_message
    - g_usleep
    - g_timer_new
    - g_timer_continue
    linkageType: ''
    returnType: void
    signature: 'static void test_timer_continue (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:146,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:143,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_false
    - g_timer_destroy
    - g_timer_stop
    - g_timer_new
    - g_timer_is_active
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_timer_is_active (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_time_val_to_iso8601
      Src: /src/glib/glib/tests/timer.c:344,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/timer.c:339,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_unsetenv
    - g_time_val_to_iso8601
    - g_assert_null
    - g_test_skip
    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_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_timer_stop
      Src: /src/glib/glib/tests/timer.c:73,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timer.c:76,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_timer_destroy
    - g_timer_elapsed
    - g_timer_stop
    - g_usleep
    - g_timer_new
    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_stop
      Src: /src/glib/glib/tests/timer.c:125,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_elapsed
      Src: /src/glib/glib/tests/timer.c:127,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_timer_destroy
    - g_timer_elapsed
    - g_timer_stop
    - g_usleep
    - g_timer_new
    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:163,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:159,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: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_time_val_add
      Src: /src/glib/glib/tests/timer.c:174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:175,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:176,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_assert_cmpint
    - g_time_val_add
    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_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_getenv
      Src: /src/glib/glib/tests/timer.c:188,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/timer.c:259,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_unsetenv
      Src: /src/glib/glib/tests/timer.c:280,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_free
      Src: /src/glib/glib/tests/timer.c:291,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_unsetenv
    - g_strdup
    - g_assert_cmpint
    - tzset
    - g_free
    - g_test_skip
    - g_time_val_from_iso8601
    - g_getenv
    - G_N_ELEMENTS
    - g_assert_true
    - g_setenv
    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_N_ELEMENTS
      Src: /src/glib/glib/tests/timer.c:313,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/timer.c:316,1
    - Dst: g_time_val_from_iso8601
      Src: /src/glib/glib/tests/timer.c:318,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_unsetenv
    - g_assert_cmpint
    - g_free
    - g_assert
    - g_assert_cmpstr
    - g_time_val_from_iso8601
    - g_time_val_to_iso8601
    - G_N_ELEMENTS
    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_elapsed
      Src: /src/glib/glib/tests/timer.c:366,1
    - Dst: g_timer_start
      Src: /src/glib/glib/tests/timer.c:364,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timer.c:365,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:367,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_assert_cmpuint
    - g_clear_pointer
    - g_timer_elapsed
    - g_timer_stop
    - g_usleep
    - g_timer_new
    - g_timer_start
    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:391,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:389,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: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_run
    - g_test_init
    - g_test_add_func
    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_uint_checked_add
      Src: /src/glib/glib/tests/overflow.c:44,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:46,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_uint_checked_add
    - g_assert_cmpuint
    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: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:150,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:154,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:156,1
    - Dst: g_size_checked_add
      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_size_checked_add
    - G_N_ELEMENTS
    - g_assert_cmpuint
    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:67,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:73,1
    - Dst: g_uint_checked_mul
      Src: /src/glib/glib/tests/overflow.c:71,1
    - Dst: g_assert_cmpuint
      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_uint_checked_mul
    - g_assert_cmpuint
    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:122,1
    - Dst: g_uint64_checked_mul
      Src: /src/glib/glib/tests/overflow.c:126,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:126,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:128,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_uint64_checked_mul
    - g_assert_cmpuint
    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:177,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:181,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:183,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_size_checked_mul
    - g_assert_cmpuint
    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: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:192,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove_child_source
      Src: /src/glib/glib/tests/mainloop.c:666,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:672,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_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_clear_pointer
    - g_source_remove_child_source
    - g_timeout_source_new
    - g_source_add_child_source
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean swap_sources (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_current_source
      Src: /src/glib/glib/tests/mainloop.c:782,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_assert_false
      Src: /src/glib/glib/tests/mainloop.c:788,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:788,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_false
    - g_assert_cmpint
    - g_source_is_destroyed
    - g_get_monotonic_time
    - g_main_current_source
    - g_assert_true
    - g_source_get_time
    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:
    - g_poll
    - write
    linkageType: ''
    returnType: gsize
    signature: 'static gsize fill_a_pipe (gint fd) '
  - 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: 1524
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1524
    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: []
    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_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1011,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1022,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:1027,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1027,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_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1030,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1043,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1065,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1084,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:1058,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:1089,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1067,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1067,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:1031,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1040,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_atomic_int_set
      Src: /src/glib/glib/tests/mainloop.c:1061,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1062,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/mainloop.c:1077,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:1087,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/mainloop.c:1081,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/mainloop.c:1068,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1083,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/mainloop.c:1053,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_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1058,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_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1091,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1069,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1066,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mainloop.c:1088,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1059,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_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1038,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1036,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_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1051,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1055,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/mainloop.c:1082,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1069,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1075,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1078,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1044,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_source_set_ready_time
    - g_thread_new
    - g_usleep
    - g_source_unref
    - g_main_loop_quit
    - g_source_destroy
    - g_source_attach
    - g_assert_cmpint
    - g_atomic_int_get
    - g_thread_join
    - g_get_monotonic_time
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_context_iteration
    - g_source_new
    - g_assert_false
    - g_source_get_ready_time
    - g_assert_true
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void test_ready_time (void) '
  - 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:
    - g_assert_cmpint
    - MIN
    - write
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_bytes (gint fd, GIOCondition condition, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:526,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:533,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:527,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:547,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:542,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:551,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:584,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:593,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: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_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:546,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:547,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:549,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:552,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:555,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_source_get_priority
      Src: /src/glib/glib/tests/mainloop.c:546,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:548,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:554,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:589,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:590,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:591,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:594,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:531,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:551,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:556,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
    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_source_set_callback
    - g_assert_cmpint
    - g_main_context_unref
    - counter_source_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_source_add_child_source
    - g_source_get_priority
    - g_source_destroy
    - g_source_attach
    - g_source_set_priority
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_child_sources (void) '
  - 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_timeout_add_once
      Src: /src/glib/glib/tests/mainloop.c:2424,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:2425,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/mainloop.c:2426,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2431,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:2445,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2442,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2445,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2440,1
    - Dst: g_timeout_add_once
      Src: /src/glib/glib/tests/mainloop.c:2439,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2432,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2433,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2434,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2444,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2443,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/mainloop.c:2422,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2427,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2430,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2441,1
    - Dst: g_clear_pointer
      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: 2448
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2448
    functionName: test_maincontext_timeout_once
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_cmpuint
    - g_clear_pointer
    - g_assert_nonnull
    - g_source_is_destroyed
    - g_main_context_find_source_by_id
    - g_get_monotonic_time
    - g_main_context_iteration
    - g_test_summary
    - g_timeout_add_once
    - g_source_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_timeout_once (void) '
  - 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_source_attach
      Src: /src/glib/glib/tests/mainloop.c:624,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:627,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:642,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:645,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:617,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:623,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:641,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:643,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:650,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:609,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:613,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:647,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_add_child_source
      Src: /src/glib/glib/tests/mainloop.c:614,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:622,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:646,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_source_set_callback
    - g_assert_cmpint
    - g_main_context_unref
    - counter_source_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_source_add_child_source
    - g_source_destroy
    - g_source_attach
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_recursive_child_sources (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:695,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:696,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:701,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:698,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:700,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:712,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:714,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:715,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:711,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_source_set_callback
    - g_main_context_unref
    - counter_source_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_source_add_child_source
    - g_source_destroy
    - g_source_attach
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_swapping_child_sources (void) '
  - 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_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:1778,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/mainloop.c:1781,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mainloop.c:1783,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mainloop.c:1784,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/mainloop.c:1780,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:1786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1787
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1787
    functionName: test_mainloop_wait
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_thread_new
    - g_thread_join
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_mainloop_wait (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2459,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2462,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:2472,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/mainloop.c:2476,1
    - Dst: remove
      Src: /src/glib/glib/tests/mainloop.c:2476,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2461,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/tests/mainloop.c:2461,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:2466,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:2473,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2474,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2460,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/mainloop.c:2464,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/tests/mainloop.c:2468,1
    - Dst: g_close
      Src: /src/glib/glib/tests/mainloop.c:2472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2470,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2477,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/tests/mainloop.c:2459,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2478
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2478
    functionName: test_steal_fd
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_close
    - g_free
    - g_file_open_tmp
    - g_assert_no_errno
    - g_steal_fd
    - g_assert_no_error
    - remove
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:296,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:304,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_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:318,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:325,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:302,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:313,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:315,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_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_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_assert_true
      Src: /src/glib/glib/tests/mainloop.c:317,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:323,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:322,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_attach
      Src: /src/glib/glib/tests/mainloop.c:303,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:307,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:311,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:312,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:317,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:319,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:321,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_source_set_callback
    - g_main_context_pending
    - g_assert_cmpint
    - g_assert_false
    - g_main_context_unref
    - g_source_unref
    - g_main_context_iteration
    - g_idle_source_new
    - g_source_destroy
    - g_assert_true
    - g_source_attach
    - g_source_set_priority
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_priorities (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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:2152,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2157
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2157
    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: 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: 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_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_assert_cmpstr
      Src: /src/glib/glib/tests/mainloop.c:87,1
    - Dst: g_source_get_can_recurse
      Src: /src/glib/glib/tests/mainloop.c:86,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:81,1
    - Dst: g_source_set_can_recurse
      Src: /src/glib/glib/tests/mainloop.c:83,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/mainloop.c:90,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/tests/mainloop.c:90,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_unref
      Src: /src/glib/glib/tests/mainloop.c:116,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:119,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:136,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:97,1
    - Dst: g_source_remove_by_user_data
      Src: /src/glib/glib/tests/mainloop.c:135,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_true
      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_get_can_recurse
      Src: /src/glib/glib/tests/mainloop.c:80,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:92,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_get_context
      Src: /src/glib/glib/tests/mainloop.c:103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:133,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:134,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:121,1
    - Dst: g_idle_remove_by_data
      Src: /src/glib/glib/tests/mainloop.c:139,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/tests/mainloop.c:125,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:97,1
    - Dst: g_source_remove_by_funcs_user_data
      Src: /src/glib/glib/tests/mainloop.c:127,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:129,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:112,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:132,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_main_context_find_source_by_funcs_user_data
      Src: /src/glib/glib/tests/mainloop.c:93,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:104,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/mainloop.c:110,1
    - Dst: g_source_set_name_by_id
      Src: /src/glib/glib/tests/mainloop.c:124,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:126,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_true
      Src: /src/glib/glib/tests/mainloop.c:139,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_source_get_context
      Src: /src/glib/glib/tests/mainloop.c:126,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/mainloop.c:125,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/mainloop.c:108,1
    - Dst: g_source_remove_by_user_data
      Src: /src/glib/glib/tests/mainloop.c:136,1
    - Dst: g_source_set_funcs
      Src: /src/glib/glib/tests/mainloop.c:120,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:74,1
    - Dst: g_main_context_pending
      Src: /src/glib/glib/tests/mainloop.c:73,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_set_static_name
      Src: /src/glib/glib/tests/mainloop.c:84,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/tests/mainloop.c:89,1
    - Dst: g_source_get_id
      Src: /src/glib/glib/tests/mainloop.c:96,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:99,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:103,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:104,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:118,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:123,1
    - Dst: g_source_set_funcs
      Src: /src/glib/glib/tests/mainloop.c:130,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:96,1
    - Dst: g_source_get_context
      Src: /src/glib/glib/tests/mainloop.c:112,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/mainloop.c:113,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:122,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:100,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:135,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_idle_add
    - g_test_assert_expected_messages
    - g_main_context_unref
    - g_source_is_destroyed
    - g_main_context_default
    - g_source_get_context
    - g_source_unref
    - g_source_attach
    - g_source_destroy
    - g_main_context_new
    - g_main_context_pending
    - g_assert_cmpint
    - g_test_undefined
    - g_source_get_id
    - g_test_expect_message
    - g_source_remove_by_user_data
    - g_source_set_priority
    - g_source_set_name_by_id
    - g_source_set_static_name
    - g_main_context_find_source_by_id
    - g_main_context_iteration
    - g_assert_null
    - g_source_new
    - g_source_set_funcs
    - g_main_context_find_source_by_funcs_user_data
    - g_source_get_can_recurse
    - g_source_get_name
    - g_source_set_can_recurse
    - g_source_set_callback
    - g_assert_false
    - g_idle_remove_by_data
    - g_assert_cmpstr
    - g_main_context_find_source_by_user_data
    - g_source_get_priority
    - g_assert_true
    - g_source_remove_by_funcs_user_data
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - io
    - condition
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1812
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1812
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2385
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2385
    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: []
    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_main_loop_is_running
      Src: /src/glib/glib/tests/mainloop.c:150,1
    - Dst: g_main_loop_ref
      Src: /src/glib/glib/tests/mainloop.c:152,1
    - Dst: g_main_loop_get_context
      Src: /src/glib/glib/tests/mainloop.c:154,1
    - Dst: g_assert_false
      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_false
    - g_assert_cmpint
    - g_main_depth
    - g_main_context_default
    - g_main_loop_unref
    - g_main_loop_is_running
    - g_main_loop_new
    - g_assert_true
    - g_main_loop_get_context
    linkageType: ''
    returnType: void
    signature: 'static void test_mainloop_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - io
    - condition
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1821
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1821
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:2334,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/mainloop.c:2337,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2342,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2340,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2341,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2344,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2345,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2347,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:2351,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2353,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:2357,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:2363,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2367,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2368,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2359,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:2362,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2376,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2377
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2377
    functionName: test_maincontext_source_finalization_from_dispatch
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_main_context_unref
    - g_source_set_ready_time
    - g_source_unref
    - g_main_context_iteration
    - g_source_new
    - GPOINTER_TO_INT
    - g_source_attach
    - g_main_context_new
    - g_source_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_source_finalization_from_dispatch (gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/mainloop.c:2394,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:2397,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2399,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/mainloop.c:2398,1
    - Dst: g_idle_add_once
      Src: /src/glib/glib/tests/mainloop.c:2396,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2402,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2403,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2404,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2407,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2408,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/mainloop.c:2411,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:2409,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2412
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2412
    functionName: test_maincontext_idle_once
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_clear_pointer
    - g_assert_nonnull
    - g_source_is_destroyed
    - g_idle_add_once
    - g_main_context_find_source_by_id
    - g_main_context_iteration
    - g_test_summary
    - g_assert_true
    - g_source_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_idle_once (void) '
  - 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:
    - Dst: g_main_loop_get_context
      Src: /src/glib/glib/tests/mainloop.c:1742,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1743,1
    - Dst: g_main_loop_is_running
      Src: /src/glib/glib/tests/mainloop.c:1743,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1744,1
    - Dst: g_main_context_is_owner
      Src: /src/glib/glib/tests/mainloop.c:1744,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:1746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1749
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1749
    functionName: timeout_cb
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_is_owner
    - g_main_loop_is_running
    - g_main_loop_quit
    - g_assert_true
    - g_main_loop_get_context
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout_cb (gpointer data) '
  - 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_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:1758,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:1759,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:1763,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1760,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1761,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1765,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1766,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:1767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1770
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1770
    functionName: threadf
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_timeout_source_new
    - g_main_loop_run
    - g_source_destroy
    - g_source_attach
    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:927,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:930,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:929,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - GMainContext*
    - TestOverflowData*
    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_idle_source_new
    - g_source_set_callback
    - g_source_attach
    - g_source_unref
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *add_idle_source (GMainContext *ctx, TestOverflowData
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mainloop.c:945,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: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/mainloop.c:949,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_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:974,1
    - Dst: add_idle_source
      Src: /src/glib/glib/tests/mainloop.c:967,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:968,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:972,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:962,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_assert_cmpint
    - g_main_context_unref
    - GLIB_PRIVATE_CALL
    - add_idle_source
    - g_main_loop_unref
    - memset
    - g_main_loop_new
    - g_main_loop_run
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_mainloop_overflow (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2231,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2235
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2235
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/glib/tests/mainloop.c:370,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mainloop.c:376,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mainloop.c:373,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/tests/mainloop.c:375,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:371,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_source_set_callback
    - g_main_context_push_thread_default
    - g_cond_signal
    - g_main_loop_unref
    - g_mutex_unlock
    - g_main_loop_new
    - g_source_unref
    - g_timeout_source_new
    - g_main_loop_run
    - g_main_context_pop_thread_default
    - g_source_attach
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:1100,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:1119,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
    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_unref
    - g_main_context_wakeup
    - g_main_context_iteration
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_wakeup(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: 1425
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1425
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_invoke
      Src: /src/glib/glib/tests/mainloop.c:400,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/mainloop.c:404,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/mainloop.c:400,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:405,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:401,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_mutex_unlock
      Src: /src/glib/glib/tests/mainloop.c:417,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/mainloop.c:416,1
    - Dst: g_main_context_invoke
      Src: /src/glib/glib/tests/mainloop.c:419,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mainloop.c:421,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:422,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_assert_cmpint
    - g_idle_add
    - g_main_context_unref
    - g_thread_self
    - g_main_context_default
    - g_main_context_new
    - g_mutex_lock
    - g_cond_wait
    - g_thread_new
    - g_mutex_unlock
    - g_main_context_iteration
    - g_thread_join
    - g_main_context_invoke
    linkageType: ''
    returnType: void
    signature: 'static void test_invoke (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_source_remove
    - g_test_assert_expected_messages
    linkageType: ''
    returnType: void
    signature: 'static void test_remove_invalid (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:1374,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:1380,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1377,1
    - Dst: g_main_context_prepare
      Src: /src/glib/glib/tests/mainloop.c:1379,1
    - Dst: g_main_context_acquire
      Src: /src/glib/glib/tests/mainloop.c:1376,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1381,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1382,1
    - Dst: va_start
      Src: /src/glib/glib/tests/mainloop.c:1384,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/mainloop.c:1387,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/mainloop.c:1388,1
    - Dst: g_error
      Src: /src/glib/glib/tests/mainloop.c:1400,1
    - Dst: g_main_context_check
      Src: /src/glib/glib/tests/mainloop.c:1409,1
    - Dst: g_main_context_release
      Src: /src/glib/glib/tests/mainloop.c:1412,1
    - Dst: va_end
      Src: /src/glib/glib/tests/mainloop.c:1402,1
    - Dst: g_main_context_dispatch
      Src: /src/glib/glib/tests/mainloop.c:1410,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/mainloop.c:1389,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - n_to_poll
    - '...'
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 1413
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1413
    functionName: assert_main_context_state
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - va_end
    - g_assert_false
    - g_assert_true
    - g_assert_cmpint
    - g_main_context_release
    - g_error
    - g_main_context_default
    - va_start
    - g_main_context_check
    - g_main_context_dispatch
    - va_arg
    - g_main_context_prepare
    - g_main_context_query
    - g_main_context_acquire
    linkageType: ''
    returnType: void
    signature: 'static void assert_main_context_state (gint n_to_poll, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/glib/glib/tests/mainloop.c:1439,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1449,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/glib/tests/mainloop.c:1467,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1455,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1471,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1474,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1484,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1492,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1500,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1504,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1505,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1506,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1489,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1478,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1503,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/mainloop.c:1463,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/mainloop.c:1468,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1443,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1442,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/mainloop.c:1448,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/mainloop.c:1450,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1451,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:1451,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1452,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1472,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1476,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1477,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1502,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1480,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1507,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1497,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1437,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1440,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1467,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1479,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1488,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1496,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1508
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1508
    functionName: test_unix_fd_source
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - pipe
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - G_GNUC_CHECK_VERSION
    - g_source_is_destroyed
    - g_unix_fd_source_new
    - assert_main_context_state
    - g_test_expect_message
    - close
    - G_SOURCE_FUNC
    - g_main_context_iteration
    - g_source_unref
    - g_source_destroy
    - g_assert_true
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_fd_source (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:1689,1
    - Dst: open
      Src: /src/glib/glib/tests/mainloop.c:1697,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1698,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1707,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1703,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1701,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/glib/tests/mainloop.c:1708,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1709,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1718,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:1723,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1695,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1708,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1710,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1711,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1725,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1729,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1692,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1694,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1700,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1706,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1702,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1716,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1718,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mainloop.c:1687,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1693,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:1691,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1699,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/glib/tests/mainloop.c:1700,1
    - Dst: open
      Src: /src/glib/glib/tests/mainloop.c:1705,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1721,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:1727,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1731
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1731
    functionName: test_unix_fd_priority
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_assert_cmpint
    - g_assert_false
    - g_source_set_priority
    - g_unix_fd_source_new
    - g_main_loop_unref
    - close
    - g_main_loop_new
    - g_source_unref
    - G_SOURCE_FUNC
    - g_main_context_iteration
    - g_idle_source_new
    - g_assert_true
    - g_source_attach
    - g_test_bug
    - open
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_fd_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:2144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2146
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2146
    functionName: finalize
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void finalize (GSource *source) '
  - 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_source_add_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1549,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1551,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1552,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1558,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1568,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1559,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1570,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1581,1
    - Dst: g_source_remove_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1606,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1612,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1611,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1550,1
    - Dst: clear_flag
      Src: /src/glib/glib/tests/mainloop.c:1565,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1569,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1560,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1564,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1582,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1583,1
    - Dst: clear_flag
      Src: /src/glib/glib/tests/mainloop.c:1590,1
    - Dst: assert_flagged
      Src: /src/glib/glib/tests/mainloop.c:1601,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1602,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1616,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1619,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1631,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1624,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1628,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1632,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1543,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:1545,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:1546,1
    - Dst: assert_flagged
      Src: /src/glib/glib/tests/mainloop.c:1563,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1576,1
    - Dst: clear_flag
      Src: /src/glib/glib/tests/mainloop.c:1578,1
    - Dst: assert_flagged
      Src: /src/glib/glib/tests/mainloop.c:1589,1
    - Dst: g_source_remove_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1615,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1620,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1623,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1627,1
    - Dst: clear_flag
      Src: /src/glib/glib/tests/mainloop.c:1603,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1629,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1542,1
    - Dst: pipe
      Src: /src/glib/glib/tests/mainloop.c:1542,1
    - Dst: pipe
      Src: /src/glib/glib/tests/mainloop.c:1543,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1555,1
    - Dst: assert_flagged
      Src: /src/glib/glib/tests/mainloop.c:1577,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1588,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1593,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1594,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1595,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1607,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1625,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1633
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1633
    functionName: test_source_unix_fd_api
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - pipe
    - g_source_modify_unix_fd
    - g_source_destroy
    - assert_main_context_state
    - g_source_set_priority
    - close
    - g_source_unref
    - assert_flagged
    - g_source_new
    - assert_not_flagged
    - g_source_remove_unix_fd
    - g_source_attach
    - g_source_add_unix_fd
    - clear_flag
    linkageType: ''
    returnType: void
    signature: 'static void test_source_unix_fd_api (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2180,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2188,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2179,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2181,1
    - Dst: g_source_set_dispose_function
      Src: /src/glib/glib/tests/mainloop.c:2189,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2191,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2192,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2199,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2202,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2206,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:2203,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2201,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2212,1
    - Dst: g_source_set_dispose_function
      Src: /src/glib/glib/tests/mainloop.c:2200,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2213
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2213
    functionName: test_maincontext_source_finalization
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_false
    - g_source_set_dispose_function
    - g_source_unref
    - g_source_new
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_source_finalization (void) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_a_pipe
      Src: /src/glib/glib/tests/mainloop.c:1315,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_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1346,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:1352,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:1349,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1349,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:1352,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1353,1
    - Dst: close
      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:1320,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1350,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/mainloop.c:1351,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1354,1
    - Dst: pipe
      Src: /src/glib/glib/tests/mainloop.c:1312,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1345,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1356
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1356
    functionName: test_unix_fd
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - pipe
    - g_assert_cmpint
    - g_unix_fd_add
    - g_unix_fd_add_full
    - g_source_remove
    - g_source_is_destroyed
    - close
    - g_main_context_find_source_by_id
    - g_main_context_iteration
    - g_source_unref
    - fill_a_pipe
    - g_assert_true
    - g_source_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:1642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - condition
    - user_data
    argTypes:
    - gint
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1645
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1645
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/mainloop.c:2252,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mainloop.c:2254,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2256,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2265,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2279,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2274,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2278,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2286,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2298,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2303,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2311,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:2249,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2269,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2287,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2270,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2288,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2296,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2257,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2258,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2262,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2285,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2289,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2291,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2294,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2295,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2300,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2304,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2310,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2264,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2280,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2282,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2297,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2305,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2307,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2314
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2314
    functionName: test_maincontext_source_finalization_from_source
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_main_context_unref
    - g_source_destroy
    - g_source_unref
    - g_source_new
    - GPOINTER_TO_INT
    - g_source_attach
    - g_test_bug
    - g_main_context_new
    - g_source_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_source_finalization_from_source (gconstpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:248,1
    - 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:253,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_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:266,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:277,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_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:246,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/mainloop.c:237,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:244,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: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_unref
      Src: /src/glib/glib/tests/mainloop.c:264,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_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:271,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:275,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:243,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:259,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:257,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:273,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_source_set_callback
    - g_assert_cmpint
    - g_test_thorough
    - g_main_context_unref
    - g_test_skip
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_timeout_source_new
    - g_main_loop_run
    - g_source_attach
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_timeouts (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_current_source
      Src: /src/glib/glib/tests/mainloop.c:909,1
    - Dst: g_source_get_context
      Src: /src/glib/glib/tests/mainloop.c:910,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/mainloop.c:912,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:912,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_source_get_id
    - g_assert_nonnull
    - g_main_context_find_source_by_id
    - g_source_get_context
    - g_main_current_source
    - g_assert_null
    - g_main_loop_quit
    - g_source_destroy
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_source_fired_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/glib/tests/mainloop.c:1654,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:1657,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1659,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1655,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1660,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1661,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:1664,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1666,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1668,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1670,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:1672,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1675
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1675
    functionName: test_unix_file_poll
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_assert_cmpint
    - g_unix_fd_source_new
    - assert_main_context_state
    - g_main_loop_unref
    - close
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_source_destroy
    - g_source_attach
    - open
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_file_poll (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: 2320
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2320
    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: 6
    BranchProfiles: []
    Callsites:
    - 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_default
      Src: /src/glib/glib/tests/mainloop.c:176,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/glib/tests/mainloop.c:178,1
    - Dst: g_main_context_prepare
      Src: /src/glib/glib/tests/mainloop.c:183,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_pop_thread_default
      Src: /src/glib/glib/tests/mainloop.c:200,1
    - Dst: g_main_context_new_with_flags
      Src: /src/glib/glib/tests/mainloop.c:168,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:203,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/glib/tests/mainloop.c:207,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_check
      Src: /src/glib/glib/tests/mainloop.c:194,1
    - Dst: g_main_context_dispatch
      Src: /src/glib/glib/tests/mainloop.c:196,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:209,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:
    - g_main_context_push_thread_default
    - g_poll
    - g_assert_cmpint
    - g_source_attach
    - G_N_ELEMENTS
    - g_main_context_unref
    - g_main_context_new_with_flags
    - g_main_context_default
    - g_main_context_check
    - g_usleep
    - g_main_context_dispatch
    - g_source_unref
    - g_idle_source_new
    - GPOINTER_TO_INT
    - g_main_context_prepare
    - g_assert_true
    - g_main_context_pop_thread_default
    - g_main_context_query
    linkageType: ''
    returnType: void
    signature: 'static void test_ownerless_polling (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - interval
    argTypes:
    - gint
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:507,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:508,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:510,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:511,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:509,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_source_set_callback
    - counter_source_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_source_attach
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean run_inner_loop (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2049,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2054,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2058,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2057,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2061,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2067,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:2036,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:2038,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:2047,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2047,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2060,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2065,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:2030,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/mainloop.c:2031,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:2037,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2039,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2042,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2048,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2033,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2041,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2045,1
    - Dst: shuffle_nsources
      Src: /src/glib/glib/tests/mainloop.c:2052,1
    - Dst: g_source_get_id
      Src: /src/glib/glib/tests/mainloop.c:2047,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2068
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2068
    functionName: test_nsources_different_priority
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_test_message
    - g_free
    - g_new0
    - g_source_get_id
    - g_main_context_default
    - shuffle_nsources
    - g_main_context_find_source_by_id
    - g_get_monotonic_time
    - g_source_unref
    - g_main_context_iteration
    - g_idle_source_new
    - g_source_destroy
    - g_assert_true
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: void
    signature: 'static void test_nsources_different_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_current_source
      Src: /src/glib/glib/tests/mainloop.c:722,1
    - Dst: g_source_add_child_source
      Src: /src/glib/glib/tests/mainloop.c:731,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/mainloop.c:729,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_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_create_watch
    - g_io_channel_unix_new
    - g_io_channel_unref
    - g_source_unref
    - g_main_current_source
    - g_source_add_child_source
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_source_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:1228,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_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1233,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:1230,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_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_source_new
    - g_source_attach
    linkageType: ''
    returnType: void
    signature: 'static void test_recursive_loop_child_sources (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1837,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/mainloop.c:1854,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1858,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1864,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1884,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1886,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1912,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1913,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1914,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1926,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:1947,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1941,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:1835,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:1844,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1856,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1875,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1882,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1883,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1890,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1897,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1907,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1910,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1916,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1920,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1935,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:1949,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1942,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1841,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1836,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/mainloop.c:1843,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/mainloop.c:1846,1
    - Dst: g_io_channel_win32_make_pollfd
      Src: /src/glib/glib/tests/mainloop.c:1849,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1855,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1866,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1868,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1874,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1877,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1908,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1943,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1938,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1861,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1862,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/mainloop.c:1873,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1888,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1895,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1896,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1901,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1903,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1918,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/mainloop.c:1945,1
    - Dst: remove
      Src: /src/glib/glib/tests/mainloop.c:1946,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/mainloop.c:1906,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1934,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1940,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1939,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1899,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 82
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1950
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1950
    functionName: test_nfds
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_io_channel_win32_make_pollfd
    - g_main_context_unref
    - g_source_unref
    - g_source_destroy
    - g_source_attach
    - g_main_context_query
    - g_main_context_new
    - g_assert_cmpint
    - g_file_open_tmp
    - g_assert_not_reached
    - remove
    - g_io_channel_unix_new
    - g_source_set_priority
    - g_assert_no_error
    - g_main_context_iteration
    - g_source_set_callback
    - g_io_create_watch
    - g_free
    - g_io_channel_unref
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_nfds (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_test_bug
      Src: /src/glib/glib/tests/mainloop.c:746,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:752,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:751,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:749,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:748,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_source_set_callback
    - g_main_context_unref
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_idle_source_new
    - g_source_destroy
    - g_source_attach
    - g_test_bug
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_blocked_child_sources (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - io
    - condition
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1800
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1800
    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_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1957
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1957
    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_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2077,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2079
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2079
    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_test_expect_message
      Src: /src/glib/glib/tests/mainloop.c:1184,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/mainloop.c:1188,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:1187,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: []
    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_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1158,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1159,1
    - Dst: g_main_context_prepare
      Src: /src/glib/glib/tests/mainloop.c:1162,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_assert_cmpint
    - g_main_context_unref
    - g_main_context_check
    - g_source_unref
    - g_source_new
    - g_main_context_prepare
    - g_source_attach
    - g_main_context_query
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_unref_while_pending (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2088
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2088
    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: 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_assert_true
      Src: /src/glib/glib/tests/mainloop.c:843,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:845,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_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_false
    - g_assert_cmpint
    - g_source_is_destroyed
    - g_main_current_source
    - g_assert_true
    - g_source_destroy
    - g_source_get_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout2_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:2109,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:2111,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2115,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2114,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/mainloop.c:2118,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/mainloop.c:2126,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2132,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2128,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2134,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:2100,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/mainloop.c:2101,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/mainloop.c:2103,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/mainloop.c:2110,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/mainloop.c:2113,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2120,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:2124,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2105,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:2108,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/mainloop.c:2123,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2135
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2135
    functionName: test_nsources_threadpool
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_test_message
    - g_free
    - g_new0
    - g_thread_pool_push
    - g_assert_no_error
    - g_thread_pool_free
    - g_main_context_default
    - g_thread_pool_new
    - g_get_monotonic_time
    - g_main_context_iteration
    - g_idle_source_new
    linkageType: ''
    returnType: void
    signature: 'static void test_nsources_threadpool (void) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:868,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:869,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:871,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:872,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_context_unref
      Src: /src/glib/glib/tests/mainloop.c:891,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:890,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:886,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:884,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:883,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_source_set_callback
    - g_assert_false
    - g_main_context_unref
    - g_source_is_destroyed
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_timeout_source_new
    - g_main_loop_run
    - g_source_destroy
    - g_assert_true
    - g_source_attach
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_source_time (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2490,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/mainloop.c:2494,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/mainloop.c:2500,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:2526,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2531,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/mainloop.c:2485,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2488,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mainloop.c:2495,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mainloop.c:2501,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2507,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2505,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2509,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: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:2521,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mainloop.c:2532,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2525,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2487,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2491,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/mainloop.c:2495,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2504,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/mainloop.c:2501,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:2528,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2530,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/mainloop.c:2535,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/mainloop.c:2532,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mainloop.c:2533,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:2489,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2496,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2502,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:2511,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2512,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: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:2520,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2523,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/mainloop.c:2533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2536
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2536
    functionName: main
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_free
    - g_test_add_data_func
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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:
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/mainloop.c:1967,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/mainloop.c:1968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - sources
    - num
    argTypes:
    - GSource**
    - int
    constantsTouched: []
    func_position:
      end: 1973
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1973
    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_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:1989,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/mainloop.c:1984,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1990,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:1997,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2009,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2010,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:1986,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1991,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1999,1
    - Dst: g_source_get_id
      Src: /src/glib/glib/tests/mainloop.c:1999,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2013,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2017,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:1994,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2001,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:1999,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2019,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:1983,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:1993,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2000,1
    - Dst: shuffle_nsources
      Src: /src/glib/glib/tests/mainloop.c:2004,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2012,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2020
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 2020
    functionName: test_nsources_same_priority
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_test_message
    - g_free
    - g_new0
    - g_source_get_id
    - g_main_context_default
    - shuffle_nsources
    - g_main_context_find_source_by_id
    - g_get_monotonic_time
    - g_source_unref
    - g_main_context_iteration
    - g_idle_source_new
    - g_source_destroy
    - g_assert_true
    - g_source_attach
    linkageType: ''
    returnType: void
    signature: 'static void test_nsources_same_priority (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_test_bug
      Src: /src/glib/glib/tests/timeout.c:47,1
    - Dst: g_timeout_add_once
      Src: /src/glib/glib/tests/timeout.c:50,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/timeout.c:53,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/timeout.c:48,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/timeout.c:51,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_timeout_add_seconds
    - g_source_remove
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_timeout_add_once
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_seconds (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/timeout.c:97,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/timeout.c:102,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_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_timeout_add_seconds
    - g_source_remove
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_timeout_add_once
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_weeks_overflow (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/timeout.c:167,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
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/timeout.c:190,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timeout.c:185,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_assert_cmpint
    - g_usleep
    - g_get_monotonic_time
    - g_main_loop_quit
    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_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_unref
    - g_timeout_add_seconds_once
    - g_main_loop_new
    - g_main_loop_run
    - g_timeout_add_once
    linkageType: ''
    returnType: void
    signature: 'static void test_seconds_once (void) '
  - 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:198,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/timeout.c:201,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/timeout.c:200,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/timeout.c:204,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/timeout.c:203,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_timeout_add_seconds
    - g_main_loop_unref
    - g_main_loop_new
    - g_get_monotonic_time
    - g_main_loop_run
    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:213,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:212,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: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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/timeout.c:128,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/timeout.c:134,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/timeout.c:129,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/timeout.c:133,1
    - Dst: g_main_context_acquire
      Src: /src/glib/glib/tests/timeout.c:136,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:152,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/timeout.c:155,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
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timeout.c:150,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_false
    - g_assert_cmpint
    - g_main_context_release
    - g_main_context_unref
    - g_source_set_ready_time
    - g_source_unref
    - g_source_new
    - g_main_context_prepare
    - g_assert_true
    - g_source_attach
    - g_main_context_query
    - g_main_context_new
    - g_main_context_acquire
    linkageType: ''
    returnType: void
    signature: 'static void test_far_future_ready_time (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:603,1
    - Dst: fopen
      Src: /src/glib/glib/tests/unicode.c:617,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode.c:630,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/unicode.c:635,1
    - Dst: strstr
      Src: /src/glib/glib/tests/unicode.c:645,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:646,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/unicode.c:646,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/unicode.c:646,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:648,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:662,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:695,1
    - Dst: strstr
      Src: /src/glib/glib/tests/unicode.c:643,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:678,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:608,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:667,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/tests/unicode.c:694,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:714,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:702,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:705,1
    - Dst: fopen
      Src: /src/glib/glib/tests/unicode.c:681,1
    - Dst: fclose
      Src: /src/glib/glib/tests/unicode.c:676,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:711,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:614,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:613,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:612,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/unicode.c:616,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unicode.c:618,1
    - Dst: fgets
      Src: /src/glib/glib/tests/unicode.c:620,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/unicode.c:625,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:633,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unicode.c:637,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:644,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/unicode.c:644,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/unicode.c:679,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:689,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/unicode.c:698,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:709,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/unicode.c:644,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:632,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:664,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:669,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/unicode.c:673,1
    - Dst: fgets
      Src: /src/glib/glib/tests/unicode.c:684,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/unicode.c:690,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:696,1
    - Dst: fclose
      Src: /src/glib/glib/tests/unicode.c:701,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:707,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:710,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:712,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:670,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unicode.c:682,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:665,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 716
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 716
    functionName: test_casemap_and_casefold
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - fgets
    - g_strfreev
    - SetThreadLocale
    - strncmp
    - strlen
    - g_utf8_casefold
    - g_strsplit
    - MAKELCID
    - fclose
    - strcmp
    - g_utf8_strup
    - GetThreadLocale
    - strstr
    - g_setenv
    - MAKELANGID
    - g_utf8_strdown
    - setlocale
    - g_test_message
    - g_test_build_filename
    - g_free
    - g_assert
    - save_and_clear_env
    - g_assert_cmpstr
    - fopen
    linkageType: ''
    returnType: void
    signature: 'static void test_casemap_and_casefold (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:774,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:774,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:776,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:776,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:780,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:778,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:782,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:780,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:778,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:782,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:795,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:791,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:795,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:787,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:791,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:785,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:784,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:784,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:787,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:788,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:788,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:796,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:797,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:785,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:775,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:775,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:777,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:777,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:781,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:779,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:781,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:779,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:783,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:783,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:799,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:773,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:773,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:786,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:786,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:793,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:793,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:796,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:798,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:798,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:799,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 800
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 800
    functionName: test_alnum
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_isalnum
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_alnum (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:947,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:949,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:952,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:953,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:955,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:958,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:963,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:969,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:969,1
    - Dst: g_assert_cmpint
      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:977,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:948,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:949,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:950,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:953,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:955,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:956,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:959,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:960,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:961,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:961,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:965,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:974,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:964,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:964,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:971,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:975,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:946,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:950,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:951,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:954,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:956,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:957,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:974,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:962,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:962,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:966,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:966,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:977,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:946,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:947,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:948,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:952,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:954,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:951,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:957,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:958,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:959,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:960,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:965,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:976,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 978
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 978
    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_assert_false
      Src: /src/glib/glib/tests/unicode.c:1020,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1020,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1026,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1027,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1016,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1016,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1022,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1022,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1027,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1028,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1028,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1014,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1014,1
    - Dst: g_assert_false
      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_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1024,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1015,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1015,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1017,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1017,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1025,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1029
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1029
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST0
      Src: /src/glib/glib/tests/unicode.c:1500,1
    - Dst: TEST0
      Src: /src/glib/glib/tests/unicode.c:1501,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1504,1
    - Dst: TEST1
      Src: /src/glib/glib/tests/unicode.c:1505,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1508,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1509,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1512,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1513,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1514,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1515,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1516,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1522,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1517,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1523,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1521,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1526
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1526
    functionName: test_fully_decompose_canonical
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - TEST1
    - TEST0
    - TEST2
    - TEST3
    linkageType: ''
    returnType: void
    signature: 'static void test_fully_decompose_canonical (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST0
      Src: /src/glib/glib/tests/unicode.c:1553,1
    - Dst: TEST0
      Src: /src/glib/glib/tests/unicode.c:1554,1
    - Dst: TEST1
      Src: /src/glib/glib/tests/unicode.c:1558,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1561,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1557,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1562,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1565,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1566,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1567,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1568,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1569,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1575,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1576,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1570,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1573,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1579
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1579
    functionName: test_canonical_decomposition
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - TEST1
    - TEST0
    - TEST2
    - 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_unsetenv
      Src: /src/glib/glib/tests/unicode.c:47,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/unicode.c:46,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_unsetenv
    - g_strdup
    - g_getenv
    linkageType: ''
    returnType: void
    signature: 'static void save_and_clear_env (const char *name, char **save) '
  - 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:111,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_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:116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:117,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: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_unichar_type
      Src: /src/glib/glib/tests/unicode.c:119,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_assert_cmpint
    - g_unichar_type
    linkageType: ''
    returnType: void
    signature: 'static void test_unichar_character_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:362,1
    - Dst: g_unichar_get_script
      Src: /src/glib/glib/tests/unicode.c:363,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 364
    functionName: test_unichar_script
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_cmpint
    - g_unichar_get_script
    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:747,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:747,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:749,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:749,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:751,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:754,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:751,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:754,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:764,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:765,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:745,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:745,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:757,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:757,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:761,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:761,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:762,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:765,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:746,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:748,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:748,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:750,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:752,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:752,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:750,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:759,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:759,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:762,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:746,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:753,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:753,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:763,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:764,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 766
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 766
    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:1177,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1177,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1191,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1192,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1178,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1178,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1180,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1180,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1182,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:1182,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1192,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1193,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1193,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1185,1
    - Dst: g_unichar_islower
      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_islower
      Src: /src/glib/glib/tests/unicode.c:1185,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1189,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1179,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1179,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1181,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1181,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1187,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1190,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1194
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1194
    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:1455,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1456,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1464,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1466,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1463,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1468,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1473,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1451,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1452,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1459,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1460,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1465,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1467,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1471,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1472,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1474,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1455,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1456,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1464,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1463,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1466,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1468,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1473,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1451,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1452,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1459,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1460,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1465,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1467,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1471,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1472,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1474,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 97
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1475
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1475
    functionName: test_decompose
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_decompose
    linkageType: ''
    returnType: void
    signature: 'static void test_decompose (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:56,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: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_unichar_validate
      Src: /src/glib/glib/tests/unicode.c:60,1
    - Dst: g_assert_false
      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:177,1
    - Dst: g_unichar_break_type
      Src: /src/glib/glib/tests/unicode.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 181
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 181
    functionName: test_unichar_break_type
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_break_type
    - G_N_ELEMENTS
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unichar_break_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1161,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1161,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1167,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1168,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1155,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1156,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1156,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1157,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1157,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1163,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1163,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1168,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1169,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1169,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1153,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1154,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1154,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1165,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1166,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1165,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1153,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1155,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1158,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1158,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1166,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1170
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1170
    functionName: test_upper
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_isupper
    - g_assert_false
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_upper (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1953,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1954,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1955,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1956,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1957,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1958,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1961,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1959,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1960,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1970,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1975,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1973,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1971,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1968,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1985,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/unicode.c:1988,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1983,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1981,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1979,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1978,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1976,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1950,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1951,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1948,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1949,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1952,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1965,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1964,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1963,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1962,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1966,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1974,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1972,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1969,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1986,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/unicode.c:1946,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1967,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1984,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1982,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1980,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:1977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1989
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1989
    functionName: main
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:906,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:908,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:908,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:912,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:910,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:910,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:912,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:914,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:914,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:915,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:917,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:936,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:917,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:936,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:904,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:906,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:921,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:921,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:925,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:925,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:932,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:932,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:916,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:934,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:930,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:916,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:938,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:926,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:905,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:905,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:904,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:907,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:907,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:909,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:911,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:909,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:913,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:911,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:924,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:926,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:930,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:915,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:935,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:913,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:937,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:922,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:924,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:920,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:922,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:919,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:919,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:923,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:923,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:927,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:927,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:935,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:918,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:937,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:920,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:918,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 939
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 939
    functionName: test_xdigit
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_isxdigit
    linkageType: ''
    returnType: void
    signature: 'static void test_xdigit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:1397,1
    - Dst: g_unichar_iswide
      Src: /src/glib/glib/tests/unicode.c:1399,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:1401,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:1399,1
    - Dst: g_unichar_iswide_cjk
      Src: /src/glib/glib/tests/unicode.c:1401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1404
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1404
    functionName: test_wide
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_cmpint
    - g_unichar_iswide_cjk
    - g_unichar_iswide
    linkageType: ''
    returnType: void
    signature: 'static void test_wide (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:423,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:425,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:424,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:427,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:428,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:434,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:431,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:435,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:423,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:426,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:430,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:431,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:432,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:429,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:427,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:433,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:435,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:425,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 436
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 436
    functionName: test_mirror
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_get_mirror_char
    - g_assert_true
    - g_assert_cmpint
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_mirror (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:874,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:876,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:879,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:881,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:893,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:896,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:888,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:875,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:876,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:877,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:879,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:882,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:883,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:884,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:885,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:888,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:890,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:890,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:895,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:873,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:877,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:880,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:878,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:893,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:873,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:875,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:874,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:882,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:878,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:881,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:880,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:883,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:884,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:885,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:892,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:892,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 897
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 897
    functionName: test_digit_value
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_unichar_digit_value
    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:1226,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1231,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1233,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1235,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1237,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1234,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1242,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1243,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1244,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1245,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1259,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1259,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1263,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1281,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:1254,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1276,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1265,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1226,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1228,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1227,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1233,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1237,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1239,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1245,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1246,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1248,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1257,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1278,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1267,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1278,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1248,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1282,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1260,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1260,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1269,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1288,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1288,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:1227,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1229,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1235,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1236,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1234,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1239,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1241,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1242,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1243,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1246,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1281,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1286,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1251,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1269,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:1279,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1279,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1265,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1263,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1228,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1229,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1231,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1236,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1241,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1244,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1247,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1247,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1251,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:1262,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1262,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1273,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1273,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1284,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1276,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1284,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1290
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1290
    functionName: test_cases
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_toupper
    - g_unichar_totitle
    - g_assert_cmphex
    - g_unichar_tolower
    linkageType: ''
    returnType: void
    signature: 'static void test_cases (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1298,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1298,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1297,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1308,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1308,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1312,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1313,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1315,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1297,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1299,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1301,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1301,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1303,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1309,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1303,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1309,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1313,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1314,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1314,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1315,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1299,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1300,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1300,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1306,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1302,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1306,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1302,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1311,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1311,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1316
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1316
    functionName: test_defined
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_isdefined
    linkageType: ''
    returnType: void
    signature: 'static void test_defined (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1414,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1414,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1419,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1420,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1424,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1423,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1426,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1431,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1433,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1437,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1416,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1425,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1429,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1429,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1430,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1432,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1434,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1439,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1439,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1415,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1419,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1420,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1423,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1426,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1424,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1431,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1433,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1437,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1438,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1440,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1415,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1416,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1425,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1430,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1432,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1434,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1438,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1440,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1441
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1441
    functionName: test_compose
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - 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:1652,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:1657,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:1660,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/tests/unicode.c:1656,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/tests/unicode.c:1659,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:1662,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:1663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1665
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1665
    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_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:410,1
    - Dst: g_unichar_combining_class
      Src: /src/glib/glib/tests/unicode.c:412,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 414
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 414
    functionName: test_combining_class
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_combining_class
    - G_N_ELEMENTS
    - 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:478,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/unicode.c:480,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:482,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:486,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/unicode.c:483,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:486,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:488,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:489,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:491,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:492,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 494
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 494
    functionName: test_strdown
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_undefined
    - g_free
    - g_test_assert_expected_messages
    - g_assert_cmpstr
    - g_test_expect_message
    - g_utf8_strdown
    linkageType: ''
    returnType: void
    signature: 'static void test_strdown (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/unicode.c:574,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/unicode.c:579,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/unicode.c:576,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/tests/unicode.c:578,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/tests/unicode.c:582,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:582,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:584,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:585,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/tests/unicode.c:587,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:588,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 590
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 590
    functionName: test_casefold
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_undefined
    - g_utf8_casefold
    - g_test_assert_expected_messages
    - g_free
    - g_assert_cmpstr
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_casefold (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:842,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:842,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:844,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:844,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:848,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:846,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:848,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:846,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:851,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:851,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:857,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:857,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:852,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:852,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:859,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:859,1
    - 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_false
      Src: /src/glib/glib/tests/unicode.c:863,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:864,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:863,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:843,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:843,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:845,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:845,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:847,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:849,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:849,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:847,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:853,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:853,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:861,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:861,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:841,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:841,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:850,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:850,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:854,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:854,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:865,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 866
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 866
    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:1201,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1201,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1213,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1213,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1216,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1202,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1202,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1204,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1204,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1206,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1206,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1214,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1216,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1217,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1217,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1209,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1214,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1209,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1215,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1203,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1203,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1205,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1205,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1211,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1211,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1218
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1218
    functionName: test_print
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_isprint
    - g_assert_true
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_print (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:1614,1
    - Dst: g_unichar_fully_decompose
      Src: /src/glib/glib/tests/unicode.c:1614,1
    - Dst: g_unichar_fully_decompose
      Src: /src/glib/glib/tests/unicode.c:1615,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:1615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1617
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1617
    functionName: test_fully_decompose_len
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_unichar_fully_decompose
    linkageType: ''
    returnType: void
    signature: 'static void test_fully_decompose_len (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/unicode.c:449,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/unicode.c:454,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:453,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/unicode.c:451,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:457,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:457,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:459,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:460,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:462,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:463,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 465
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 465
    functionName: test_strup
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_undefined
    - g_free
    - g_test_assert_expected_messages
    - g_assert_cmpstr
    - g_test_expect_message
    - g_utf8_strup
    linkageType: ''
    returnType: void
    signature: 'static void test_strup (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:526,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:527,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/unicode.c:527,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:531,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:531,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:559,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:516,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/unicode.c:521,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:530,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:537,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:545,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:560,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:558,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:514,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:515,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:547,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:530,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/unicode.c:518,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:518,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/unicode.c:527,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:543,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:544,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:549,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:551,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:553,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:555,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:557,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 561
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 561
    functionName: test_turkish_strupdown
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - strlen
    - g_free
    - GetThreadLocale
    - save_and_clear_env
    - g_assert_cmpstr
    - g_test_skip
    - g_setenv
    - MAKELCID
    - g_utf8_strup
    - SetThreadLocale
    - MAKELANGID
    - g_utf8_strdown
    linkageType: ''
    returnType: void
    signature: 'static void test_turkish_strupdown (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:818,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:818,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:822,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:822,1
    - Dst: g_assert_false
      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:831,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:832,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:833,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:831,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:809,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:809,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:811,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:811,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:814,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:812,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:816,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:814,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:812,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:816,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:825,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:829,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:829,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:821,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:825,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:819,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:807,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:807,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:820,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:820,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:821,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:827,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:827,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:833,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:819,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:808,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:808,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:810,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:810,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:815,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:813,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:815,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:813,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:817,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 834
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 834
    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_assert_true
      Src: /src/glib/glib/tests/unicode.c:1106,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1106,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1108,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1108,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1112,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1112,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1118,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1120,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1124,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1125,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1135,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1135,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:1128,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1104,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1104,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1114,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1114,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1120,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1125,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1126,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1129,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1132,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1142,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1138,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1140,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1132,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1137,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1137,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1105,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1105,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1107,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1107,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1116,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1117,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1109,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1116,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:1119,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1142,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1127,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1122,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1134,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1138,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1117,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1118,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1119,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1122,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1123,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1124,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1127,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1128,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1134,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1140,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1126,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1129,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:1123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1146
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1146
    functionName: test_title
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_cmphex
    - g_unichar_istitle
    - g_unichar_totitle
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_title (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1874,1
    - Dst: g_unicode_script_to_iso15924
      Src: /src/glib/glib/tests/unicode.c:1876,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1876,1
    - Dst: g_unicode_script_to_iso15924
      Src: /src/glib/glib/tests/unicode.c:1875,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1877,1
    - Dst: g_unicode_script_to_iso15924
      Src: /src/glib/glib/tests/unicode.c:1878,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1880,1
    - Dst: g_unicode_script_from_iso15924
      Src: /src/glib/glib/tests/unicode.c:1881,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1882,1
    - Dst: g_unicode_script_from_iso15924
      Src: /src/glib/glib/tests/unicode.c:1883,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1896,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:1897,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unicode.c:1895,1
    - Dst: PACK
      Src: /src/glib/glib/tests/unicode.c:1890,1
    - Dst: g_unicode_script_from_iso15924
      Src: /src/glib/glib/tests/unicode.c:1897,1
    - Dst: g_unicode_script_to_iso15924
      Src: /src/glib/glib/tests/unicode.c:1896,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:1888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1901
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1901
    functionName: test_iso15924
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_assert_cmphex
    - g_unicode_script_from_iso15924
    - PACK
    - G_N_ELEMENTS
    - 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:1931,1
    - Dst: TEST
      Src: /src/glib/glib/tests/unicode.c:1936,1
    - Dst: TEST
      Src: /src/glib/glib/tests/unicode.c:1933,1
    - Dst: TEST
      Src: /src/glib/glib/tests/unicode.c:1934,1
    - Dst: TEST
      Src: /src/glib/glib/tests/unicode.c:1935,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1940
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1940
    functionName: test_normalize
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - TEST
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_normalize (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:724,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:731,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:733,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:735,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:733,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:737,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:726,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:723,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:725,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:729,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:734,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:735,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:736,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:734,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:731,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:724,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:723,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:725,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:726,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:729,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:736,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 738
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 738
    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:986,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:986,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:988,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:988,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:993,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:990,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:993,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:990,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:998,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:998,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:985,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1000,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1000,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1005,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1006,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1006,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1003,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1005,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:987,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:985,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:989,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:989,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:994,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:991,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:994,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:991,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1002,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1002,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1004,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:987,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:995,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:995,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1003,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1007
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1007
    functionName: test_punctuation
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_ispunct
    linkageType: ''
    returnType: void
    signature: 'static void test_punctuation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1036,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1036,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1046,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1046,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1050,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1050,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1051,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1057,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1055,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1057,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1049,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1051,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1062,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1049,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1037,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1037,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1039,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1039,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1042,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1044,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1044,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1042,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1047,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1047,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1063,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1048,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1048,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1052,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1052,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1060,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1061,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1062,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1063,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1060,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:1038,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1038,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1040,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1040,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1043,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1041,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1045,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1043,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1041,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1045,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1059,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1055,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1064
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1064
    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_assert_true
      Src: /src/glib/glib/tests/unicode.c:1073,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1073,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1075,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1075,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1077,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1079,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1079,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1077,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1083,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1083,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1089,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1089,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1095,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1071,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1071,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1085,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1085,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1087,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1087,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1072,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1072,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1074,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1074,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1076,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1078,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1080,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1078,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1076,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1080,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:1088,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1090,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1088,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1090,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1091,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1091,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1096,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1097
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1097
    functionName: test_zerowidth
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_iszerowidth
    linkageType: ''
    returnType: void
    signature: 'static void test_zerowidth (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1592,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unicode.c:1597,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unicode.c:1596,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1593,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1599
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1599
    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: 2
    BranchProfiles: []
    Callsites:
    - 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_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:122,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:127,1
    - Dst: g_random_double_range
      Src: /src/glib/glib/tests/rand.c:129,1
    - Dst: g_random_boolean
      Src: /src/glib/glib/tests/rand.c:133,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/rand.c:155,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/glib/tests/rand.c:88,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:90,1
    - Dst: g_rand_set_seed_array
      Src: /src/glib/glib/tests/rand.c:94,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_rand_copy
      Src: /src/glib/glib/tests/rand.c:99,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:111,1
    - Dst: g_rand_double
      Src: /src/glib/glib/tests/rand.c:117,1
    - Dst: g_rand_boolean
      Src: /src/glib/glib/tests/rand.c:136,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/rand.c:147,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/rand.c:91,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/rand.c:113,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_cmpfloat
      Src: /src/glib/glib/tests/rand.c:131,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rand.c:137,1
    - Dst: ABS
      Src: /src/glib/glib/tests/rand.c:153,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rand.c:134,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/rand.c:156,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:153,1
    - Dst: g_rand_set_seed
      Src: /src/glib/glib/tests/rand.c:93,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/rand.c:94,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/rand.c:96,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/rand.c:101,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_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:130,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_random_int_range
    - g_rand_new_with_seed
    - g_rand_double
    - g_assert_cmpint
    - g_rand_copy
    - g_rand_boolean
    - g_assert_cmpfloat
    - g_assert_cmpuint
    - g_rand_int
    - g_rand_free
    - g_rand_int_range
    - g_random_double
    - g_rand_double_range
    - g_rand_set_seed
    - ABS
    - g_random_boolean
    - g_random_double_range
    - G_N_ELEMENTS
    - g_assert_true
    - g_rand_set_seed_array
    linkageType: ''
    returnType: void
    signature: 'static void test_rand (void) '
  - 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_random_double_range
    - g_assert_cmpfloat
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_double_range (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:179,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:178,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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: setlocale
      Src: /src/glib/glib/tests/search-utils.c:81,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/search-utils.c:91,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/search-utils.c:94,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:
    - setlocale
    - g_test_message
    - g_str_match_string
    - g_assert
    - g_test_skip
    - g_debug
    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:114,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/search-utils.c:113,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:
    - setlocale
    - g_test_add_data_func
    - g_debug
    - g_test_run
    - 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: 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: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:150,1
    - Dst: g_async_queue_pop
      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:
    - GPOINTER_TO_INT
    - g_usleep
    - g_async_queue_pop
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (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_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:121,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:124,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_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:128,1
    - Dst: g_async_queue_length
      Src: /src/glib/glib/tests/asyncqueue.c:128,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:130,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_assert_cmpint
    - GINT_TO_POINTER
    - g_async_queue_length
    - g_async_queue_new_full
    - g_async_queue_push
    - g_async_queue_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_async_queue_destroy (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - 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_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:261,1
    - Dst: g_async_queue_timed_pop
      Src: /src/glib/glib/tests/asyncqueue.c:266,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/asyncqueue.c:268,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: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:288,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/asyncqueue.c:223,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/asyncqueue.c:224,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/asyncqueue.c:250,1
    - Dst: g_async_queue_timed_pop
      Src: /src/glib/glib/tests/asyncqueue.c:259,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/asyncqueue.c:264,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/asyncqueue.c:279,1
    - Dst: g_time_val_add
      Src: /src/glib/glib/tests/asyncqueue.c:280,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:265,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/asyncqueue.c:285,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:276,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:234,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:237,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/asyncqueue.c:247,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:242,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:256,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:252,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: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:261,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:275,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_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:271,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/asyncqueue.c:222,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/asyncqueue.c:231,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: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:258,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:260,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:266,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:273,1
    - Dst: g_async_queue_timed_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:282,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:275,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:270,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_async_queue_try_pop
    - g_test_assert_expected_messages
    - g_async_queue_unlock
    - g_async_queue_push
    - g_test_undefined
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_async_queue_timeout_pop
    - g_date_time_get_year
    - g_test_skip
    - g_test_expect_message
    - g_async_queue_timed_pop
    - g_get_monotonic_time
    - g_async_queue_lock
    - g_date_time_new_now_utc
    - g_assert_null
    - GPOINTER_TO_INT
    - g_get_current_time
    - g_time_val_add
    - g_date_time_unref
    - g_async_queue_unref
    - g_async_queue_new
    - g_async_queue_timed_pop_unlocked
    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_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:348,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:376,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: 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: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_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:375,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:376,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:370,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:378,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:350,1
    - Dst: g_async_queue_push_front
      Src: /src/glib/glib/tests/asyncqueue.c:350,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:351,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: 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:366,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:373,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_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:370,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
      Src: /src/glib/glib/tests/asyncqueue.c:371,1
    - Dst: g_async_queue_push_front
      Src: /src/glib/glib/tests/asyncqueue.c:373,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:375,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:376,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:377,1
    - Dst: g_assert_cmpint
      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_undefined
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_async_queue_try_pop
    - g_test_assert_expected_messages
    - g_async_queue_unref
    - g_async_queue_push
    - g_test_expect_message
    - g_assert_null
    - g_async_queue_push_front_unlocked
    - g_async_queue_push_front
    - g_async_queue_new
    - GPOINTER_TO_INT
    - g_async_queue_pop
    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:93,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:90,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:97,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:96,1
    - Dst: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:99,1
    - Dst: g_async_queue_sort
      Src: /src/glib/glib/tests/asyncqueue.c:53,1
    - Dst: g_async_queue_sort
      Src: /src/glib/glib/tests/asyncqueue.c:71,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_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:90,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:93,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:94,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:49,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:65,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:67,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:61,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_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:96,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:97,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:93,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:95,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:101,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:91,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:91,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:94,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:95,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_undefined
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_async_queue_try_pop
    - g_test_assert_expected_messages
    - g_async_queue_unref
    - g_async_queue_push
    - g_async_queue_sort
    - g_test_expect_message
    - g_async_queue_push_sorted
    - g_async_queue_sort_unlocked
    - g_assert_null
    - g_async_queue_new
    - GPOINTER_TO_INT
    - g_async_queue_push_sorted_unlocked
    - g_async_queue_pop
    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_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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:174,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:191,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: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
    - Dst: g_async_queue_length
      Src: /src/glib/glib/tests/asyncqueue.c:196,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_assert_cmpint
    - GINT_TO_POINTER
    - g_async_queue_length
    - g_async_queue_unlock
    - g_async_queue_push_unlocked
    - g_async_queue_lock
    - g_random_int_range
    - g_async_queue_unref
    - g_async_queue_push
    - g_thread_new
    - g_usleep
    - g_thread_join
    - g_async_queue_new
    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_async_queue_remove
      Src: /src/glib/glib/tests/asyncqueue.c:304,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:302,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_push
      Src: /src/glib/glib/tests/asyncqueue.c:324,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_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:331,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: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_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:332,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:336,1
    - Dst: g_async_queue_pop
      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: 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:320,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: GPOINTER_TO_INT
      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_undefined
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_async_queue_try_pop
    - g_test_assert_expected_messages
    - g_async_queue_remove
    - g_async_queue_unref
    - g_async_queue_push
    - g_test_expect_message
    - g_async_queue_remove_unlocked
    - g_assert_null
    - g_async_queue_new
    - GPOINTER_TO_INT
    - g_async_queue_pop
    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_async_queue_push_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:487,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:507,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:483,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:420,1
    - Dst: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:447,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:470,1
    - Dst: g_async_queue_unref_and_unlock
      Src: /src/glib/glib/tests/asyncqueue.c:496,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:499,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:506,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:515,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:504,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:398,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:506,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_pop
      Src: /src/glib/glib/tests/asyncqueue.c:437,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:511,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:515,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_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_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_async_queue_lock
      Src: /src/glib/glib/tests/asyncqueue.c:427,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:445,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_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_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:478,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:435,1
    - Dst: g_async_queue_try_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:502,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:408,1
    - Dst: g_async_queue_timeout_pop
      Src: /src/glib/glib/tests/asyncqueue.c:457,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/tests/asyncqueue.c:501,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:508,1
    - Dst: g_async_queue_try_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:452,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_push
      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_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:477,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:512,1
    - Dst: g_async_queue_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:442,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_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:480,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:509,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:518,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:458,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:473,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:488,1
    - Dst: g_async_queue_unref_and_unlock
      Src: /src/glib/glib/tests/asyncqueue.c:422,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:450,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/tests/asyncqueue.c:491,1
    - Dst: g_async_queue_new_full
      Src: /src/glib/glib/tests/asyncqueue.c:466,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:508,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:516,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:423,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/asyncqueue.c:468,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:482,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:460,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:440,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:475,1
    - Dst: g_async_queue_ref_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:412,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:430,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:519,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_try_pop
    - g_async_queue_pop_unlocked
    - g_test_assert_expected_messages
    - g_async_queue_unlock
    - g_async_queue_push
    - g_async_queue_ref_unlocked
    - g_async_queue_try_pop_unlocked
    - g_test_undefined
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_async_queue_timeout_pop
    - g_async_queue_timeout_pop_unlocked
    - g_test_expect_message
    - g_async_queue_ref
    - g_async_queue_length
    - g_async_queue_lock
    - g_async_queue_new_full
    - g_assert_null
    - g_async_queue_length_unlocked
    - GPOINTER_TO_INT
    - g_async_queue_unref_and_unlock
    - g_async_queue_push_unlocked
    - g_async_queue_unref
    - g_async_queue_pop
    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:527,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:529,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_run
    - g_test_init
    - g_test_add_func
    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: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:38,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:39,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/slist.c:31,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:
    - GINT_TO_POINTER
    - g_slist_free
    - g_slist_nth_data
    - g_assert
    - g_slist_append
    - g_slist_sort
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_sort (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:80,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/slist.c:80,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:92,1
    - Dst: g_slist_sort
      Src: /src/glib/glib/tests/slist.c:84,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: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_slist_nth_data
    - g_assert
    - g_slist_free_full
    - g_slist_append
    - g_strdup_printf
    - g_slist_sort
    - g_slist_copy
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_sort_stable (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:141,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:140,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:
    - GINT_TO_POINTER
    - g_slist_free
    - g_slist_nth_data
    - g_slist_insert_sorted_with_data
    - g_assert
    - GPOINTER_TO_INT
    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_slist_free
      Src: /src/glib/glib/tests/slist.c:188,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
    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_slist_append
    - g_slist_free
    - g_assert
    - g_slist_nth
    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_length
      Src: /src/glib/glib/tests/slist.c:236,1
    - Dst: g_slist_remove_all
      Src: /src/glib/glib/tests/slist.c:240,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:236,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:233,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_cmpint
    - g_assert
    - g_slist_append
    - g_slist_length
    - g_slist_remove_all
    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:347,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:344,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:346,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_slist_length
      Src: /src/glib/glib/tests/slist.c:354,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:356,1
    - Dst: g_slist_concat
      Src: /src/glib/glib/tests/slist.c:360,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:361,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:358,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:356,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_slist_concat
    - g_assert_cmpint
    - g_assert
    - g_slist_append
    - g_slist_length
    - g_slist_free
    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_insert_sorted
      Src: /src/glib/glib/tests/slist.c:109,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:115,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:118,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/slist.c:109,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:116,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:
    - GINT_TO_POINTER
    - g_slist_free
    - g_slist_nth_data
    - g_assert
    - g_slist_insert_sorted
    - GPOINTER_TO_INT
    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: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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/slist.c:54,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:
    - GINT_TO_POINTER
    - g_slist_sort_with_data
    - g_slist_free
    - g_slist_nth_data
    - g_assert
    - g_slist_append
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_sort_with_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:158,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:165,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:168,1
    - Dst: g_slist_nth
      Src: /src/glib/glib/tests/slist.c:164,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/tests/slist.c:160,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_assert
    - g_slist_reverse
    - g_slist_append
    - g_slist_free
    - g_slist_nth
    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_remove
      Src: /src/glib/glib/tests/slist.c:209,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:202,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_assert_cmpint
    - g_slist_remove
    - g_assert
    - g_slist_append
    - g_slist_length
    - g_slist_free
    - g_slist_nth
    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_slist_free
      Src: /src/glib/glib/tests/slist.c:277,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:281,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:274,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:286,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_assert
      Src: /src/glib/glib/tests/slist.c:296,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:279,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:284,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:295,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:294,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:260,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:263,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_assert
      Src: /src/glib/glib/tests/slist.c:280,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:285,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:282,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
    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_insert_before
    - g_assert
    - g_slist_insert
    - g_slist_append
    - g_slist_free
    - g_slist_nth
    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_index
      Src: /src/glib/glib/tests/slist.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:320,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: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_slist_find_custom
      Src: /src/glib/glib/tests/slist.c:330,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_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:327,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_assert_cmpint
    - GINT_TO_POINTER
    - g_assert
    - g_slist_find_custom
    - g_slist_index
    - g_slist_append
    - g_slist_free
    - g_slist_position
    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_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_slist_copy
      Src: /src/glib/glib/tests/slist.c:376,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_assert_cmpuint
    - g_assert
    - g_slist_append
    - g_slist_length
    - g_assert_null
    - g_slist_copy
    - 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_copy_deep
      Src: /src/glib/glib/tests/slist.c:415,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/slist.c:417,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:412,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_slist_free
      Src: /src/glib/glib/tests/slist.c:426,1
    - Dst: g_slist_copy_deep
      Src: /src/glib/glib/tests/slist.c:430,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/slist.c:432,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/slist.c:431,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_cmpuint
    - g_assert
    - g_assert_cmpstr
    - g_slist_free_full
    - g_slist_append
    - g_slist_length
    - g_assert_null
    - g_slist_free
    - g_slist_copy_deep
    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:447,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: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_add_func
      Src: /src/glib/glib/tests/slist.c:454,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: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_run
    - g_test_init
    - g_test_add_func
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      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
      Src: /src/glib/glib/tests/onceinit.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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:
    - g_once_init_leave
    - assert_singleton_execution2
    - g_once_init_enter
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer initializer2 (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: 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_cond_wait
      Src: /src/glib/glib/tests/onceinit.c:100,1
    - Dst: initializer3
      Src: /src/glib/glib/tests/onceinit.c:103,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/onceinit.c:101,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_atomic_int_add
    - initializer3
    - g_cond_wait
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer tmain_call_initializer3 (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_256_TEST_INITIALIZERS
      Src: /src/glib/glib/tests/onceinit.c:212,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:215,1
    - Dst: LIST_256_TEST_INITIALIZERS
      Src: /src/glib/glib/tests/onceinit.c:213,1
    - Dst: LIST_256_TEST_INITIALIZERS
      Src: /src/glib/glib/tests/onceinit.c:214,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: 1
    argNames:
    - user_data
    argTypes:
    - void*
    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:
    - g_atomic_int_add
    - LIST_256_TEST_INITIALIZERS
    - g_mutex_unlock
    - G_N_ELEMENTS
    - g_mutex_lock
    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: g_once_init_leave
      Src: /src/glib/glib/tests/onceinit.c:66,1
    - Dst: assert_singleton_execution1
      Src: /src/glib/glib/tests/onceinit.c:65,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:
    - assert_singleton_execution1
    - g_once_init_leave
    - 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_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
    - Dst: g_usleep
      Src: /src/glib/glib/tests/onceinit.c:91,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_usleep
    - g_once_init_leave
    - g_once_init_enter
    - assert_singleton_execution3
    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_cond_broadcast
      Src: /src/glib/glib/tests/onceinit.c:256,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/onceinit.c:269,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:251,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: g_assert
      Src: /src/glib/glib/tests/onceinit.c:243,1
    - Dst: initializer2
      Src: /src/glib/glib/tests/onceinit.c:242,1
    - Dst: initializer2
      Src: /src/glib/glib/tests/onceinit.c:244,1
    - Dst: initializer1
      Src: /src/glib/glib/tests/onceinit.c:239,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:265,1
    - Dst: initializer1
      Src: /src/glib/glib/tests/onceinit.c:238,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/onceinit.c:259,1
    - Dst: rand
      Src: /src/glib/glib/tests/onceinit.c:261,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/onceinit.c:276,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/onceinit.c:264,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/onceinit.c:279,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:
    - initializer1
    - g_thread_yield
    - g_assert
    - initializer2
    - g_cond_broadcast
    - g_mutex_unlock
    - g_atomic_int_get
    - g_thread_new
    - g_usleep
    - g_thread_join
    - rand
    - g_atomic_int_set
    - g_mutex_lock
    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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:930,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:946,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:948,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:950,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:954,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:956,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/tests/uri.c:959,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:968,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:973,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:977,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:987,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:988,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:938,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:941,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:941,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:942,1
    - Dst: g_uri_get_fragment
      Src: /src/glib/glib/tests/uri.c:946,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:944,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:952,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:957,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:960,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:964,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:976,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:978,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:986,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:989,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:940,1
    - Dst: g_uri_get_scheme
      Src: /src/glib/glib/tests/uri.c:940,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:945,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:944,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:961,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:966,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:972,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:974,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:979,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:983,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:984,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:982,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:969,1
    - Dst: g_uri_parse
      Src: /src/glib/glib/tests/uri.c:929,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/tests/uri.c:937,1
    - Dst: g_uri_get_host
      Src: /src/glib/glib/tests/uri.c:942,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:943,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:943,1
    - Dst: g_uri_get_query
      Src: /src/glib/glib/tests/uri.c:945,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:949,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:955,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:962,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:967,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:981,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:971,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 990
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 990
    functionName: test_uri_parsing_relative
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_parse
    - g_clear_error
    - g_uri_get_query
    - g_uri_get_userinfo
    - g_uri_to_string
    - g_uri_get_scheme
    - g_assert_cmpint
    - g_uri_resolve_relative
    - g_uri_get_path
    - g_uri_parse_relative
    - g_uri_unref
    - g_assert_no_error
    - g_uri_get_port
    - g_assert_null
    - g_assert_error
    - g_uri_get_host
    - g_free
    - g_assert_cmpstr
    - g_uri_get_fragment
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_parsing_relative (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:1597,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1634,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:1588,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1619,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1623,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1632,1
    - Dst: g_uri_params_iter_init
      Src: /src/glib/glib/tests/uri.c:1628,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1641,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/uri.c:1585,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/uri.c:1606,1
    - Dst: strlen
      Src: /src/glib/glib/tests/uri.c:1610,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/uri.c:1611,1
    - Dst: g_uri_params_iter_init
      Src: /src/glib/glib/tests/uri.c:1616,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1631,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/uri.c:1596,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:1594,1
    - Dst: g_uri_params_iter_next
      Src: /src/glib/glib/tests/uri.c:1617,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1622,1
    - Dst: g_uri_params_iter_next
      Src: /src/glib/glib/tests/uri.c:1629,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1635,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1637,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1640,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1644,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1646
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1646
    functionName: test_uri_iter_params
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_message
    - g_strdup
    - g_assert_cmpint
    - g_free
    - g_uri_params_iter_next
    - g_assert
    - g_assert_cmpstr
    - g_memdup2
    - g_clear_error
    - g_assert_error
    - GPOINTER_TO_INT
    - g_uri_params_iter_init
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_iter_params (gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:776,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:787,1
    - Dst: g_uri_get_scheme
      Src: /src/glib/glib/tests/uri.c:789,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:790,1
    - Dst: g_uri_get_query
      Src: /src/glib/glib/tests/uri.c:794,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:795,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:791,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:793,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:794,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:800,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:804,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:789,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:790,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:792,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:793,1
    - Dst: g_uri_parse
      Src: /src/glib/glib/tests/uri.c:784,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:782,1
    - Dst: g_uri_get_host
      Src: /src/glib/glib/tests/uri.c:791,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:792,1
    - Dst: g_uri_get_fragment
      Src: /src/glib/glib/tests/uri.c:795,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:799,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/uri.c:803,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 806
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 806
    functionName: test_uri_parsing_absolute
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_uri_parse
    - g_clear_pointer
    - g_assert_no_error
    - g_assert_cmpstr
    - g_uri_get_port
    - g_clear_error
    - g_uri_get_query
    - g_uri_get_userinfo
    - g_uri_get_path
    - g_uri_get_fragment
    - g_assert_error
    - g_assert_null
    - G_N_ELEMENTS
    - g_uri_get_scheme
    - g_uri_get_host
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_parsing_absolute (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_build
      Src: /src/glib/glib/tests/uri.c:998,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:1001,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1003,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1012,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1015,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1021,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1020,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1022,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1024,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1025,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1038,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1002,1
    - Dst: g_uri_build
      Src: /src/glib/glib/tests/uri.c:1006,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:1007,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1008,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1017,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1036,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1042,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:1004,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1010,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1018,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1028,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:1031,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1040,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1043,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1032,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1009,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:1014,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1016,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1019,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1023,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1026,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1033,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1035,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1039,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1041,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1044
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1044
    functionName: test_uri_to_string
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_unref
    - g_free
    - g_uri_build_with_user
    - g_uri_to_string_partial
    - g_assert_cmpstr
    - g_uri_to_string
    - g_uri_build
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_to_string (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/uri.c:1694,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:1655,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/uri.c:1663,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1693,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1694,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1686,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/uri.c:1701,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1687,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/uri.c:1697,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/uri.c:1652,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:1661,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:1664,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/uri.c:1673,1
    - Dst: strlen
      Src: /src/glib/glib/tests/uri.c:1677,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/uri.c:1678,1
    - Dst: g_uri_parse_params
      Src: /src/glib/glib/tests/uri.c:1681,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:1685,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1697,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1702,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1704
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1704
    functionName: test_uri_parse_params
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_message
    - g_strdup
    - g_assert_cmpint
    - g_free
    - g_uri_parse_params
    - g_assert
    - g_hash_table_size
    - g_clear_pointer
    - g_assert_no_error
    - g_assert_cmpstr
    - g_memdup2
    - g_clear_error
    - g_assert_error
    - g_assert_null
    - GPOINTER_TO_INT
    - g_hash_table_lookup
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_parse_params (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_escape_bytes
      Src: /src/glib/glib/tests/uri.c:500,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:502,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: test_uri_escape_bytes
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_free
    - g_uri_escape_bytes
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_escape_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:515,1
    - Dst: g_uri_peek_scheme
      Src: /src/glib/glib/tests/uri.c:530,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:534,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:536,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:522,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:531,1
    - Dst: g_uri_peek_scheme
      Src: /src/glib/glib/tests/uri.c:532,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:524,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_parse_scheme
      Src: /src/glib/glib/tests/uri.c:511,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:520,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:525,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:523,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:533,1
    - Dst: g_uri_peek_scheme
      Src: /src/glib/glib/tests/uri.c:535,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:538,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:512,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:516,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:513,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:517,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:519,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:528,1
    - Dst: g_uri_peek_scheme
      Src: /src/glib/glib/tests/uri.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 539
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 539
    functionName: test_uri_scheme
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_uri_parse_scheme
    - g_free
    - g_assert_cmpstr
    - g_assert_null
    - g_uri_peek_scheme
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_scheme (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2048,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2050,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2060,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2061,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2062,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2066,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2067,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2067,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/uri.c:2043,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2045,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2049,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2050,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2051,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2059,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2058,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2063,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2065,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2046,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2051,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2052,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2068,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/uri.c:2070,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2047,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2055,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2056,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2057,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2053,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2054,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2064,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2065,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2066,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2071
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2071
    functionName: main
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_test_add_func
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/uri.c:236,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/tests/uri.c:244,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/tests/uri.c:244,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/uri.c:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 253
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 253
    functionName: safe_strcmp_filename
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - G_IS_DIR_SEPARATOR
    linkageType: ''
    returnType: gint
    signature: 'static gint safe_strcmp_filename (const gchar *a, const gchar *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:279,1
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/tests/uri.c:291,1
    - Dst: g_filename_to_uri
      Src: /src/glib/glib/tests/uri.c:285,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:292,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:288,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:294,1
    - Dst: safe_strcmp_filename
      Src: /src/glib/glib/tests/uri.c:294,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:295,1
    - Dst: safe_strcmp_hostname
      Src: /src/glib/glib/tests/uri.c:295,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:296,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:297,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 300
    functionName: run_file_roundtrip_tests
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - safe_strcmp_filename
    - safe_strcmp_hostname
    - g_free
    - g_assert_no_error
    - g_filename_to_uri
    - g_filename_from_uri
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void run_file_roundtrip_tests (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:359,1
    - Dst: g_uri_unescape_string
      Src: /src/glib/glib/tests/uri.c:365,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:366,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:367,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 369
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 369
    functionName: test_uri_unescape_string
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_free
    - g_uri_unescape_string
    - g_assert_cmpstr
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_unescape_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1059,1
    - Dst: g_uri_get_query
      Src: /src/glib/glib/tests/uri.c:1064,1
    - Dst: g_uri_get_fragment
      Src: /src/glib/glib/tests/uri.c:1065,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1065,1
    - Dst: g_uri_get_password
      Src: /src/glib/glib/tests/uri.c:1067,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1074,1
    - Dst: g_uri_get_flags
      Src: /src/glib/glib/tests/uri.c:1074,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1076,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1082,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1084,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1091,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1083,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:1102,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1102,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1105,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1108,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1099,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1085,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1097,1
    - Dst: g_uri_build
      Src: /src/glib/glib/tests/uri.c:1051,1
    - Dst: g_uri_get_scheme
      Src: /src/glib/glib/tests/uri.c:1059,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1060,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1061,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:1062,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:1063,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1063,1
    - Dst: g_uri_get_scheme
      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_get_query
      Src: /src/glib/glib/tests/uri.c:1080,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1103,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1090,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1087,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1108,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:1078,1
    - Dst: g_uri_get_flags
      Src: /src/glib/glib/tests/uri.c:1058,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1058,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1062,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1064,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1066,1
    - Dst: g_uri_get_user
      Src: /src/glib/glib/tests/uri.c:1066,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1068,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:1076,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1078,1
    - Dst: g_uri_get_user
      Src: /src/glib/glib/tests/uri.c:1082,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1109,1
    - Dst: g_uri_get_password
      Src: /src/glib/glib/tests/uri.c:1083,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:1079,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1096,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1096,1
    - Dst: g_uri_get_auth_params
      Src: /src/glib/glib/tests/uri.c:1084,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1093,1
    - Dst: g_uri_ref
      Src: /src/glib/glib/tests/uri.c:1055,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1056,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1060,1
    - Dst: g_uri_get_host
      Src: /src/glib/glib/tests/uri.c:1061,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1067,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1070,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1077,1
    - Dst: g_uri_get_host
      Src: /src/glib/glib/tests/uri.c:1077,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1081,1
    - Dst: g_uri_get_fragment
      Src: /src/glib/glib/tests/uri.c:1081,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:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1110
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1110
    functionName: test_uri_build
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_get_password
    - g_assert_cmpint
    - g_uri_unref
    - g_uri_build_with_user
    - g_uri_get_flags
    - g_uri_get_auth_params
    - g_assert_cmpstr
    - g_uri_get_port
    - g_uri_get_query
    - g_uri_get_userinfo
    - g_uri_get_path
    - g_uri_ref
    - g_uri_get_fragment
    - g_uri_get_user
    - g_assert_null
    - g_uri_get_scheme
    - g_uri_build
    - g_uri_get_host
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_build (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/uri.c:263,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/uri.c:265,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/uri.c:268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 270
    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_uri_list_extract_uris
      Src: /src/glib/glib/tests/uri.c:320,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/uri.c:326,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:324,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/uri.c:321,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:321,1
    - Dst: g_uri_list_extract_uris
      Src: /src/glib/glib/tests/uri.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:329,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/uri.c:329,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/uri.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 331
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 331
    functionName: run_uri_list_tests
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_uri_list_extract_uris
    - g_assert_cmpstr
    - g_strfreev
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void run_uri_list_tests (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/uri.c:375,1
    - Dst: strlen
      Src: /src/glib/glib/tests/uri.c:414,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/uri.c:410,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:401,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:395,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/uri.c:415,1
    - Dst: g_uri_unescape_bytes
      Src: /src/glib/glib/tests/uri.c:418,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:422,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:423,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:424,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/uri.c:429,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:436,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:428,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/uri.c:429,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/uri.c:430,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/uri.c:435,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 438
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 438
    functionName: test_uri_unescape_bytes
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_message
    - g_strdup
    - g_bytes_get_data
    - g_free
    - g_clear_pointer
    - g_assert_no_error
    - g_uri_unescape_bytes
    - g_memdup2
    - g_clear_error
    - g_assert_error
    - g_assert_null
    - g_assert_cmpmem
    - g_bytes_get_size
    - GPOINTER_TO_INT
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_unescape_bytes (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1147,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1149,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1207,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1208,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1287,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1436,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1138,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1164,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1177,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1304,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1312,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1333,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1372,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/glib/tests/uri.c:1375,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1409,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1422,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1252,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:1176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1306,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1282,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1356,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1324,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1331,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1178,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1283,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:1388,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1145,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1152,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1225,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1238,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1402,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1426,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1321,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1127,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1137,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1223,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1237,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1211,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1353,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1359,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/glib/tests/uri.c:1390,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1408,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1412,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1162,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1286,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1267,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1142,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1144,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1221,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1285,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1253,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1308,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1347,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1403,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1405,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1303,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1206,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1209,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1310,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1335,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1348,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1362,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1387,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1440,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1266,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1265,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1305,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1255,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1139,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1140,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1195,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:1239,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1437,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1330,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1227,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1313,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1341,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1373,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1423,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1450,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1451,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1141,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1193,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1222,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1284,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1143,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1146,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1181,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1241,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/glib/tests/uri.c:1269,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1315,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1307,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1338,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1342,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1350,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1297,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1295,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1148,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1192,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1289,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1322,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1281,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1163,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1191,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1224,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1251,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1344,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1354,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1360,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 121
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1452
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1452
    functionName: test_uri_split
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_uri_split
    - g_assert_no_error
    - g_assert_cmpstr
    - g_clear_error
    - g_assert_error
    - g_uri_split_network
    - g_uri_split_with_user
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_split (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:175,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:187,1
    - Dst: g_filename_to_uri
      Src: /src/glib/glib/tests/uri.c:178,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:185,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:183,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 190
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 190
    functionName: run_file_to_uri_tests
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_free
    - g_filename_to_uri
    - g_assert_cmpstr
    - g_clear_error
    - g_assert_error
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void run_file_to_uri_tests (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_unescape_segment
      Src: /src/glib/glib/tests/uri.c:446,1
    - Dst: g_uri_unescape_segment
      Src: /src/glib/glib/tests/uri.c:450,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:448,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:451,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 452
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 452
    functionName: test_uri_unescape_segment
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_uri_unescape_segment
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_unescape_segment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1471,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1473,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1488,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1511,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1462,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1469,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1474,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1480,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1482,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1512,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1459,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1459,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1490,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1517,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:1507,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1500,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1467,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1493,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1508,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1464,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1466,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1475,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1484,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1521,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1498,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1518,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1496,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1465,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1515,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1507,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:1486,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1522,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1504,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1506,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1500,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1519,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1478,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1488,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:1509,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1489,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:1512,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1470,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:1514,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1514,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1511,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1460,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1473,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1469,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1476,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1484,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1518,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1515,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1501,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1513,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1482,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1485,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1508,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1509,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1519,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1523,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1460,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1462,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1497,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1506,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1502,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1513,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1523,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1461,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1465,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1517,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1504,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1496,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1461,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1464,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1474,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1479,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1524
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1524
    functionName: test_uri_is_valid
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_uri_is_valid
    - g_clear_error
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_is_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1715,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1719,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/tests/uri.c:1733,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1731,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1712,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1716,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1720,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1726,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/tests/uri.c:1728,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/tests/uri.c:1723,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1740,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1725,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1742,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1711,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1713,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1717,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1721,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1736,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1738,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1730,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1743
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1743
    functionName: test_uri_join
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_free
    - g_uri_join
    - g_uri_join_with_user
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_join (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:200,1
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/tests/uri.c:203,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:221,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/uri.c:212,1
    - Dst: strchr
      Src: /src/glib/glib/tests/uri.c:213,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:223,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:224,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:226,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:227,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:228,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 230
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 230
    functionName: run_file_from_uri_tests
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_assert_cmpstr
    - g_clear_error
    - g_assert_error
    - g_filename_from_uri
    - strchr
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void run_file_from_uri_tests (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:479,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:489,1
    - Dst: g_uri_escape_string
      Src: /src/glib/glib/tests/uri.c:486,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/uri.c:482,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:484,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:490,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:491,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 493
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 493
    functionName: test_uri_escape_string
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_escape_string
    - g_test_message
    - g_strescape
    - g_free
    - g_assert_cmpstr
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_escape_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:1767,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1793,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1797,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1795,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1804,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/uri.c:1781,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/tests/uri.c:1779,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/glib/tests/uri.c:1783,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1788,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1792,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1798,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1799,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1803,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1794,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1806,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1789,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1791,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1802,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1801,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1809,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1807,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/uri.c:1751,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1796,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1805,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1808,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1811
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1811
    functionName: test_uri_join_split_round_trip
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_uri_join_with_user
    - g_assert_cmpstr
    - g_test_summary
    - g_uri_split_with_user
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_join_split_round_trip (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/uri.c:1998,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:1999,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:2014,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:2006,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:2017,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2018,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:2020,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2023,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:2031,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2034,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2016,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2003,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:2009,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:2020,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2022,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2025,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:2029,1
    - Dst: g_uri_parse
      Src: /src/glib/glib/tests/uri.c:1990,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:1996,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1999,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:2000,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2001,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:2004,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:2014,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:2024,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2026,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2035,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:1985,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/tests/uri.c:1992,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:2000,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2037
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 2037
    functionName: test_uri_normalize
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_uri_unref
    - g_uri_split
    - g_uri_parse
    - g_uri_join
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_uri_get_port
    - g_uri_to_string
    - g_uri_get_path
    - g_uri_parse_relative
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_normalize (void) '
  - 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:282,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/utf8-validate.c:289,1
    - Dst: strlen
      Src: /src/glib/glib/tests/utf8-validate.c:289,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-validate.c:285,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utf8-validate.c:284,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utf8-validate.c:291,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-validate.c:292,1
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/tests/utf8-validate.c:296,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utf8-validate.c:298,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-validate.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 301
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 301
    functionName: do_test
    functionSourceFile: /src/glib/glib/tests/utf8-validate.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_utf8_validate
    - g_assert_true
    - g_utf8_validate_len
    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:349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-validate.c:356,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/utf8-validate.c:353,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/tests/utf8-validate.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 358
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 358
    functionName: test_utf8_get_char_validated
    functionSourceFile: /src/glib/glib/tests/utf8-validate.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_cmpint
    - g_test_message
    - g_utf8_get_char_validated
    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:366,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/utf8-validate.c:370,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/utf8-validate.c:371,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-validate.c:375,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-validate.c:372,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/utf8-validate.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 378
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 378
    functionName: main
    functionSourceFile: /src/glib/glib/tests/utf8-validate.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_add_data_func
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    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:
    - GPOINTER_TO_INT
    - g_string_append_c
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean node_build_string (GNode *node, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:173,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
      Src: /src/glib/glib/tests/node.c:187,1
    - Dst: g_node_new
      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: g_string_new
      Src: /src/glib/glib/tests/node.c:211,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:216,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:225,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:241,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:236,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/node.c:212,1
    - Dst: g_node_insert
      Src: /src/glib/glib/tests/node.c:229,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:238,1
    - Dst: GINT_TO_POINTER
      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_new
      Src: /src/glib/glib/tests/node.c:181,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:180,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:182,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_assert
      Src: /src/glib/glib/tests/node.c:207,1
    - Dst: g_node_last_sibling
      Src: /src/glib/glib/tests/node.c:206,1
    - Dst: g_node_reverse_children
      Src: /src/glib/glib/tests/node.c:221,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:228,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:243,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:229,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_new
      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_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_string_set_size
      Src: /src/glib/glib/tests/node.c:223,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:229,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:217,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/node.c:247,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:226,1
    - Dst: g_node_new
      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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:179,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:183,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: 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_cmpstr
      Src: /src/glib/glib/tests/node.c:234,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:231,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:228,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:244,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:246,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:228,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:239,1
    - Dst: g_node_reverse_children
      Src: /src/glib/glib/tests/node.c:220,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:233,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_append_data
    - g_string_new
    - GINT_TO_POINTER
    - g_string_set_size
    - g_node_reverse_children
    - g_node_prepend
    - g_node_append
    - g_assert
    - g_node_traverse
    - g_node_destroy
    - g_node_insert
    - g_assert_cmpstr
    - g_node_prepend_data
    - g_node_insert_data
    - g_string_free
    - g_node_new
    - g_node_last_sibling
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void traversal_test (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:330,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:335,1
    - Dst: g_node_new
      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_assert_cmpint
      Src: /src/glib/glib/tests/node.c:339,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_assert_cmpint
    - g_node_append
    - g_node_destroy
    - g_node_n_nodes
    - g_node_new
    - g_node_max_height
    linkageType: ''
    returnType: void
    signature: 'static void allocation_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:
    - g_ascii_toupper
    - GPOINTER_TO_INT
    - GINT_TO_POINTER
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer copy_up (gconstpointer src, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:356,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:356,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:367,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: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:374,1
    - Dst: g_node_child_index
      Src: /src/glib/glib/tests/node.c:375,1
    - Dst: g_node_child_index
      Src: /src/glib/glib/tests/node.c:376,1
    - Dst: g_node_children_foreach
      Src: /src/glib/glib/tests/node.c:380,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:381,1
    - Dst: g_node_children_foreach
      Src: /src/glib/glib/tests/node.c:390,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:358,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:360,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_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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:375,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_assert
      Src: /src/glib/glib/tests/node.c:371,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_string_new
      Src: /src/glib/glib/tests/node.c:378,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: 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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:363,1
    - Dst: g_node_new
      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_is_ancestor
      Src: /src/glib/glib/tests/node.c:368,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:386,1
    - Dst: g_node_first_sibling
      Src: /src/glib/glib/tests/node.c:370,1
    - Dst: g_node_get_root
      Src: /src/glib/glib/tests/node.c:366,1
    - Dst: g_node_is_ancestor
      Src: /src/glib/glib/tests/node.c:367,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:368,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:366,1
    - Dst: g_node_is_ancestor
      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_assert_cmpint
      Src: /src/glib/glib/tests/node.c:375,1
    - Dst: g_node_children_foreach
      Src: /src/glib/glib/tests/node.c:385,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:391,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:373,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:369,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:388,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/node.c:392,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_assert_cmpint
    - GINT_TO_POINTER
    - g_string_new
    - g_node_insert_after
    - g_node_get_root
    - g_string_set_size
    - g_node_append
    - g_assert
    - g_node_child_index
    - g_node_destroy
    - g_node_first_sibling
    - g_assert_cmpstr
    - g_node_children_foreach
    - g_string_free
    - g_node_new
    - g_node_is_ancestor
    linkageType: ''
    returnType: void
    signature: 'static void misc_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_node_max_height
      Src: /src/glib/glib/tests/node.c:265,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:267,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:269,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_prepend_data
      Src: /src/glib/glib/tests/node.c:272,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:278,1
    - Dst: g_node_insert
      Src: /src/glib/glib/tests/node.c:287,1
    - Dst: g_node_max_height
      Src: /src/glib/glib/tests/node.c:303,1
    - Dst: g_node_n_children
      Src: /src/glib/glib/tests/node.c:311,1
    - Dst: g_node_n_children
      Src: /src/glib/glib/tests/node.c:304,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:318,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/node.c:314,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:284,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:307,1
    - Dst: g_node_n_children
      Src: /src/glib/glib/tests/node.c:317,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:268,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:277,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:297,1
    - Dst: g_node_depth
      Src: /src/glib/glib/tests/node.c:299,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:301,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:305,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:308,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:309,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:314,1
    - Dst: g_node_find
      Src: /src/glib/glib/tests/node.c:309,1
    - Dst: g_node_n_nodes
      Src: /src/glib/glib/tests/node.c:302,1
    - Dst: g_node_find_child
      Src: /src/glib/glib/tests/node.c:305,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:285,1
    - Dst: g_node_nth_child
      Src: /src/glib/glib/tests/node.c:313,1
    - Dst: g_node_child_position
      Src: /src/glib/glib/tests/node.c:318,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:264,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:265,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:272,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:276,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:285,1
    - Dst: g_node_n_nodes
      Src: /src/glib/glib/tests/node.c:300,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:302,1
    - Dst: g_node_find
      Src: /src/glib/glib/tests/node.c:308,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:320,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:318,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:309,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:287,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:306,1
    - Dst: g_node_depth
      Src: /src/glib/glib/tests/node.c:264,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:267,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:271,1
    - Dst: g_node_insert_after
      Src: /src/glib/glib/tests/node.c:286,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:303,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:304,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:287,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:306,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:300,1
    - Dst: g_node_find_child
      Src: /src/glib/glib/tests/node.c:306,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:308,1
    - Dst: g_node_insert_after
      Src: /src/glib/glib/tests/node.c:283,1
    - Dst: g_node_max_height
      Src: /src/glib/glib/tests/node.c:298,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:284,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:305,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_destroy
    - g_node_prepend_data
    - g_node_find
    - g_node_n_children
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_node_child_position
    - g_node_insert
    - g_node_max_height
    - g_node_append_data
    - g_node_insert_after
    - g_node_append
    - g_node_nth_child
    - g_node_depth
    - GPOINTER_TO_INT
    - g_assert
    - g_node_n_nodes
    - g_node_find_child
    - g_node_new
    linkageType: ''
    returnType: void
    signature: 'static void construct_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:429,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:430,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:435,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:440,1
    - Dst: g_node_append_data
      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:442,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:443,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:461,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:448,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:437,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:438,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_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: GINT_TO_POINTER
      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_unlink
      Src: /src/glib/glib/tests/node.c:445,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:454,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:459,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:441,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:451,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:462,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_append_data
    - g_node_unlink
    - GINT_TO_POINTER
    - g_node_traverse
    - g_node_destroy
    - g_node_new
    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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:485,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: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_copy_deep
      Src: /src/glib/glib/tests/node.c:499,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:497,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:506,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:495,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:504,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_append_data
    - GINT_TO_POINTER
    - g_node_copy
    - g_node_traverse
    - g_node_destroy
    - g_node_copy_deep
    - g_node_new
    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:517,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: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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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:130,1
    - Dst: check_alignof
      Src: /src/glib/glib/tests/macros.c:131,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:154,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: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_run
    - g_test_init
    - g_test_add_func
    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_assert_true
      Src: /src/glib/glib/tests/macros.c:93,1
    - Dst: G_C_STD_CHECK_VERSION
      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:99,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_cmpuint
    - g_test_skip
    - g_ascii_string_to_unsigned
    - g_assert_true
    - G_C_STD_CHECK_VERSION
    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_assert_not_reached
      Src: /src/glib/glib/tests/macros.c:111,1
    - Dst: G_STATIC_ASSERT_EXPR
      Src: /src/glib/glib/tests/macros.c:110,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_EXPR
    - G_STATIC_ASSERT
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_assert_static (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_function
      Src: /src/glib/glib/tests/strfuncs.c:94,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:104,1
    - Dst: c_library_function
      Src: /src/glib/glib/tests/strfuncs.c:95,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:99,1
    - Dst: unicode_function
      Src: /src/glib/glib/tests/strfuncs.c:96,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:
    - unicode_function
    - g_error
    - c_library_function
    - ascii_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:536,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:538,1
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/strfuncs.c:530,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:536,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_strdup
      Src: /src/glib/glib/tests/strfuncs.c:549,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:546,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:551,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_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:550,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_cmpint
    - g_test_incomplete
    - g_assert_nonnull
    - g_clear_pointer
    - G_GNUC_CHECK_VERSION
    - g_assert_cmpstr
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_strdup_inline (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1880,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1893,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:1899,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1915,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1925,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1902,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1941,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1923,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1904,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1964,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2008,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1868,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/strfuncs.c:1875,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1882,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1881,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:1892,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1933,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1936,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/tests/strfuncs.c:1922,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1935,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2000,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1999,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/strfuncs.c:1860,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1885,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1895,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1915,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1954,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1960,1
    - Dst: g_markup_printf_escaped
      Src: /src/glib/glib/tests/strfuncs.c:2017,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2018,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2023,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1938,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1923,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1947,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1919,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1954,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2003,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/strfuncs.c:2010,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:2011,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1969,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1989,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1942,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/strfuncs.c:1918,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1900,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1947,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1962,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/strfuncs.c:1995,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_mapped_file_unref
      Src: /src/glib/glib/tests/strfuncs.c:2026,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1996,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1928,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1896,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:1957,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1960,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1972,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
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1977,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1995,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1916,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1930,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1901,1
    - Dst: g_strchug
      Src: /src/glib/glib/tests/strfuncs.c:1982,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/strfuncs.c:1861,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:1898,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1911,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1937,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1951,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1959,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1960,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1969,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1971,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1975,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1963,1
    - Dst: g_strreverse
      Src: /src/glib/glib/tests/strfuncs.c:1981,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_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:1983,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1880,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: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:1968,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1972,1
    - Dst: g_strreverse
      Src: /src/glib/glib/tests/strfuncs.c:1980,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:2021,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/strfuncs.c:2006,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:1914,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1893,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/tests/strfuncs.c:1864,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/strfuncs.c:1865,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1888,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/tests/strfuncs.c:1906,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1926,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1902,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1927,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:1950,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1962,1
    - Dst: g_strcanon
      Src: /src/glib/glib/tests/strfuncs.c:1988,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:2015,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:1863,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:1890,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1919,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1931,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1951,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1959,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1971,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1978,1
    - Dst: g_strstrip
      Src: /src/glib/glib/tests/strfuncs.c:1984,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:1876,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1883,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:1948,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1961,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1969,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1970,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1989,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2011,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1991,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_mapped_file_new
      Src: /src/glib/glib/tests/strfuncs.c:1858,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1864,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1876,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1940,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_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1901,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1993,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:1891,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:1946,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/strfuncs.c:1953,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1955,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:1973,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2022,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1970,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1932,1
    - Dst: memchr
      Src: /src/glib/glib/tests/strfuncs.c:1868,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1877,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_free
      Src: /src/glib/glib/tests/strfuncs.c:1907,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1961,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1965,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1970,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1974,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1973,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:1992,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2024,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1900,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1920,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:1958,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1959,1
    - Dst: g_strdelimit
      Src: /src/glib/glib/tests/strfuncs.c:1987,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2007,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2012,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:1967,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_markup_printf_escaped
    - g_strndup
    - g_strdelimit
    - g_stpcpy
    - g_strfreev
    - g_strjoinv
    - g_ascii_strncasecmp
    - g_strlcpy
    - strlen
    - g_assert_cmpint
    - g_strstr_len
    - g_assert_nonnull
    - g_strreverse
    - g_strchug
    - g_strchomp
    - g_mapped_file_new
    - g_strsplit
    - g_str_has_prefix
    - g_mapped_file_get_length
    - g_strconcat
    - g_strrstr
    - g_strjoin
    - g_strlcat
    - g_ascii_strcasecmp
    - g_strcompress
    - g_mapped_file_unref
    - g_strdup_printf
    - g_str_has_suffix
    - g_mapped_file_get_contents
    - g_assert_null
    - g_assert_cmpmem
    - memchr
    - g_strstrip
    - g_markup_escape_text
    - g_strdup
    - g_strescape
    - g_free
    - g_ascii_strdown
    - g_ascii_strup
    - g_strcanon
    - g_assert_cmpstr
    - g_strrstr_len
    linkageType: ''
    returnType: void
    signature: 'static void test_bounds (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: strcmp
      Src: /src/glib/glib/tests/strfuncs.c:2073,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: 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_unref
      Src: /src/glib/glib/tests/strfuncs.c:2080,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/strfuncs.c:2077,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:
    - setlocale
    - g_hash_table_unref
    - g_hash_table_add
    - g_strerror
    - g_assert_nonnull
    - g_hash_table_new
    - strcmp
    - g_assert_true
    - g_hash_table_contains
    - g_utf8_validate
    linkageType: ''
    returnType: void
    signature: 'static void test_strerror (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_run
      Src: /src/glib/glib/tests/strfuncs.c:2778,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:2766,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:2765,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:2768,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:2770,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:2772,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/strfuncs.c:2725,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2732,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2733,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2734,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2735,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2740,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2736,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2737,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2738,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2739,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:2758,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:2760,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:2747,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:2750,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:2752,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:2754,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:2763,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:2773,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2728,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2727,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2729,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2730,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2731,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2741,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2742,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2743,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2744,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2745,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:2776,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:2761,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2779
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2779
    functionName: main
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:313,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:324,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_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:298,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:301,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:304,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:312,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:314,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_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:322,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:328,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:289,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:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:305,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:305,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:317,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:324,1
    - Dst: strlen
      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_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:294,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:292,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:299,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: strlen
      Src: /src/glib/glib/tests/strfuncs.c:316,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:318,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:333,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:
    - strlen
    - g_test_undefined
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_strlcpy
    linkageType: ''
    returnType: void
    signature: 'static void test_strlcpy (void) '
  - 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:1071,1
    - Dst: g_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1070,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_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1816,1
    - Dst: g_str_match_string
      Src: /src/glib/glib/tests/strfuncs.c:1821,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1819,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1822,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1823,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_str_match_string
      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
    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_undefined
    - g_assert_false
    - g_test_assert_expected_messages
    - g_str_match_string
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_str_match_string (void) '
  - 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:2040,1
    - Dst: g_strip_context
      Src: /src/glib/glib/tests/strfuncs.c:2043,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:2044,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:237,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:238,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:239,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/strfuncs.c:237,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/strfuncs.c:238,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_free
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_memdup2
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_memdup2 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:256,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:262,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/tests/strfuncs.c:261,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: strlen
      Src: /src/glib/glib/tests/strfuncs.c:273,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:275,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:274,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:
    - strlen
    - g_test_undefined
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_stpcpy
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_stpcpy (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_undefined
    - g_strdup
    - g_free
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_strreverse
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_null
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_strreverse (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2452,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2461,1
    - 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_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2472,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2504,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2483,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_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2520,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:2531,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2610,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2493,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2487,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2546,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2522,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:2594,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/strfuncs.c:2599,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_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2563,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/strfuncs.c:2605,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/strfuncs.c:2606,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2541,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:2449,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_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_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2482,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2511,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/strfuncs.c:2611,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2524,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_false
      Src: /src/glib/glib/tests/strfuncs.c:2604,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2557,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2494,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2553,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2581,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:2519,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2530,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2544,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/strfuncs.c:2566,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_test_undefined
    - g_assert_false
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_ascii_string_to_signed
    - g_assert_no_error
    - g_assert_not_reached
    - g_test_expect_message
    - g_clear_error
    - g_assert_error
    - G_N_ELEMENTS
    - g_assert_true
    - g_ascii_string_to_unsigned
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_string_to_number_usual (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:215,1
    - Dst: g_assert_null
      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:216,1
    - Dst: g_memdup
      Src: /src/glib/glib/tests/strfuncs.c:215,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_free
    - g_memdup
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_memdup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdupv
      Src: /src/glib/glib/tests/strfuncs.c:594,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_strdupv
      Src: /src/glib/glib/tests/strfuncs.c:597,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_assert_nonnull
    - g_strdupv
    - g_strfreev
    - g_assert_null
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_strdupv (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - 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_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_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:783,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/strfuncs.c:792,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:809,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:759,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:761,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:766,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:773,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:775,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:780,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/strfuncs.c:782,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:790,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:802,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/strfuncs.c:807,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:814,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_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_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:789,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:804,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:813,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:818,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:820,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:819,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:817,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_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:778,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:784,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:774,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_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:795,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:796,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:808,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:812,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_undefined
    - g_strescape
    - g_free
    - g_test_assert_expected_messages
    - g_strcompress
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_strcompress_strescape (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1258,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1259,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1256,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:1271,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:1279,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1254,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_true
      Src: /src/glib/glib/tests/strfuncs.c:1276,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:1277,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1278,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_undefined
    - g_assert_false
    - g_test_assert_expected_messages
    - g_test_expect_message
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_has_prefix (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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:2112,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2107,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2117,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_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_strdup
      Src: /src/glib/glib/tests/strfuncs.c:2128,1
    - Dst: g_strup
      Src: /src/glib/glib/tests/strfuncs.c:2129,1
    - Dst: g_strdown
      Src: /src/glib/glib/tests/strfuncs.c:2130,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2125,1
    - Dst: g_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:2124,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2130,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2132,1
    - Dst: g_strup
      Src: /src/glib/glib/tests/strfuncs.c:2109,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2122,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2110,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2131,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2129,1
    - Dst: g_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:2131,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_undefined
    - g_strdup
    - g_free
    - g_test_assert_expected_messages
    - g_assert_cmpstr
    - g_strdown
    - g_test_expect_message
    - g_strcasecmp
    - g_assert_true
    - g_strup
    linkageType: ''
    returnType: void
    signature: 'static void test_strup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2173,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2182,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:2198,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2208,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2209,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2211,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2212,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2185,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2233,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2200,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2239,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2204,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/strfuncs.c:2142,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_free
      Src: /src/glib/glib/tests/strfuncs.c:2162,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2166,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2174,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2186,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2190,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2199,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:2179,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2202,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2183,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:2150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2146,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2157,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2161,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2165,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2160,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2168,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_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2191,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:2237,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:2232,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2238,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2229,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2219,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: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:2181,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2192,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2194,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2195,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2196,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2203,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2220,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:2225,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2226,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2228,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_str_to_ascii
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_transliteration (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/glib/glib/tests/strfuncs.c:1662,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1669,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: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: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:1693,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:1740,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:1726,1
    - Dst: check_strtod_number
      Src: /src/glib/glib/tests/strfuncs.c:1743,1
    - Dst: pow
      Src: /src/glib/glib/tests/strfuncs.c:1718,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1694,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1730,1
    - Dst: check_strtod_number
      Src: /src/glib/glib/tests/strfuncs.c:1739,1
    - Dst: atof
      Src: /src/glib/glib/tests/strfuncs.c:1667,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1672,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: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1725,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1703,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1695,1
    - Dst: check_strtod_number
      Src: /src/glib/glib/tests/strfuncs.c:1741,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1674,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:1692,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:1682,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1702,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1712,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:1715,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1712,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:1728,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1704,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/tests/strfuncs.c:1715,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:1731,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1722,1
    - Dst: atof
      Src: /src/glib/glib/tests/strfuncs.c:1660,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1662,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:1705,1
    - Dst: check_strtod_number
      Src: /src/glib/glib/tests/strfuncs.c:1742,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: pow
      Src: /src/glib/glib/tests/strfuncs.c:1721,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1707,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:
    - isnan
    - g_test_undefined
    - g_ascii_strtod
    - check_strtod_number
    - g_test_assert_expected_messages
    - check_strtod_string
    - g_ascii_dtostr
    - atof
    - pow
    - g_test_expect_message
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_strtod (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_function
      Src: /src/glib/glib/tests/strfuncs.c:162,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
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:166,1
    - Dst: unicode_function
      Src: /src/glib/glib/tests/strfuncs.c:163,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:
    - unicode_function
    - g_error
    - 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_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_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:516,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:515,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_cmpint
    - g_free
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_strdup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/strfuncs.c:581,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:582,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:583,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:584,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_strdup_printf
    - g_assert_nonnull
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_strdup_printf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:687,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:689,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:694,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:701,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:712,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:683,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/strfuncs.c:691,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:682,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:684,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:688,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:692,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:703,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/strfuncs.c:696,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:710,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_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:702,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_free
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_true
    - g_strjoin
    linkageType: ''
    returnType: void
    signature: 'static void test_strjoin (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:721,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:729,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:728,1
    - Dst: g_strcanon
      Src: /src/glib/glib/tests/strfuncs.c:727,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:725,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_strdup
      Src: /src/glib/glib/tests/strfuncs.c:740,1
    - Dst: g_strcanon
      Src: /src/glib/glib/tests/strfuncs.c:741,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:737,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:744,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:742,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:743,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_undefined
    - g_strdup
    - g_free
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_strcanon
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_null
    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: 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:945,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_undefined
    - g_test_assert_expected_messages
    - g_strchug
    - g_test_expect_message
    - do_test_strchug
    linkageType: ''
    returnType: void
    signature: 'static void test_strchug (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/tests/strfuncs.c:1013,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/tests/strfuncs.c:1009,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1015,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1016,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:1023,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1018,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1025,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:1019,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1026,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:1014,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1029,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1030,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1035,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1036,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:1036,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/tests/strfuncs.c:1028,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1007,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:1023,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1022,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_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1029,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1010,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_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1022,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_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1035,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1038,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1039,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_undefined
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_str_tokenize_and_fold
    - g_strv_equal
    - g_test_expect_message
    - g_strfreev
    - g_assert_true
    - g_strv_length
    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:1232,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:1237,1
    - Dst: g_strdelimit
      Src: /src/glib/glib/tests/strfuncs.c:1241,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1235,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_free
      Src: /src/glib/glib/tests/strfuncs.c:1247,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1246,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_undefined
    - g_strdup
    - g_free
    - g_test_assert_expected_messages
    - g_strdelimit
    - g_assert_cmpstr
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_strdelimit (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_TO
      Src: /src/glib/glib/tests/strfuncs.c:193,1
    - Dst: TEST_DIGIT
      Src: /src/glib/glib/tests/strfuncs.c:200,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_DIGIT
    - TEST_TO
    linkageType: ''
    returnType: void
    signature: 'static void test_is_to_digit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:960,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:964,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: strcmp
      Src: /src/glib/glib/tests/strfuncs.c:963,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
    - g_assert_cmpint
    - g_free
    - g_strchomp
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void do_test_strchomp (const gchar *str, const gchar *expected) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1339,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1331,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:1351,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1329,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:1334,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: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_false
      Src: /src/glib/glib/tests/strfuncs.c:1347,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
    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_undefined
    - g_assert_false
    - g_test_assert_expected_messages
    - g_test_expect_message
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_has_suffix (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/tests/strfuncs.c:1758,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:1763,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_cmpstr
    - g_assert_true
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2321,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2322,1
    - 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: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:2341,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_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:2334,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:2333,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_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2340,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:2343,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2323,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:2343,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2342,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2319,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_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_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2333,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: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_test_undefined
    - g_assert_false
    - g_test_assert_expected_messages
    - g_strv_equal
    - g_test_expect_message
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_strv_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2702,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2712,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:2711,1
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2715,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2702,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:2709,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:2708,1
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2711,1
    - Dst: g_assert_true
      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_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_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2715,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2716,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_false
    - g_free
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_null
    - g_assert_true
    - g_set_str
    linkageType: ''
    returnType: void
    signature: 'static void test_set_str (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:465,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:466,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:468,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:469,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:480,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:491,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:457,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:464,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:470,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:474,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:471,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:475,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:484,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:490,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:454,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:460,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:474,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:477,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:479,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:479,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:481,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:482,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_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_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:476,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
    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:
    - strlen
    - g_test_undefined
    - g_free
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_ascii_strup
    - g_assert_cmpstr
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_strup (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:650,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:656,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:655,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:653,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:659,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_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:670,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:672,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:667,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_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:671,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_undefined
    - g_free
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_strjoinv
    linkageType: ''
    returnType: void
    signature: 'static void test_strjoinv (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:973,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:975,1
    - Dst: do_test_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:981,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:978,1
    - Dst: g_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:977,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_undefined
    - g_test_assert_expected_messages
    - do_test_strchomp
    - g_strchomp
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_strchomp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/strfuncs.c:1291,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1299,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1303,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1311,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1304,1
    - Dst: g_str_has_prefix
      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:1319,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_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1294,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1298,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1303,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1308,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1322,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1298,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1296,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:1313,1
    - Dst: g_assert_false
      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_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1301,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1312,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1308,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1312,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1322,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_undefined
    - g_assert_false
    - G_UNLIKELY
    - g_test_assert_expected_messages
    - g_test_incomplete
    - G_GNUC_CHECK_VERSION
    - g_test_expect_message
    - g_str_has_prefix
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_has_prefix_macro (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      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_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2279,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2283,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_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2295,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:2292,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_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2297,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_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2294,1
    - Dst: g_strv_contains
      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_undefined
      Src: /src/glib/glib/tests/strfuncs.c:2276,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2281,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2282,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2289,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_undefined
    - g_assert_false
    - g_test_assert_expected_messages
    - g_test_expect_message
    - g_strv_contains
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_strv_contains (void) '
  - 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_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:2093,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2094,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_strsignal
    - g_assert_nonnull
    - g_assert_true
    - g_utf8_validate
    linkageType: ''
    returnType: void
    signature: 'static void test_strsignal (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:416,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: strlen
      Src: /src/glib/glib/tests/strfuncs.c:425,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:426,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:430,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:442,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:408,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_free
      Src: /src/glib/glib/tests/strfuncs.c:417,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:420,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:435,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_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:430,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:428,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:432,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_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:410,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:419,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:422,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_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:
    - strlen
    - g_test_undefined
    - g_free
    - g_test_assert_expected_messages
    - g_ascii_strdown
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_strdown (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/strfuncs.c:626,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:629,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:627,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_free
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_null
    - g_strconcat
    linkageType: ''
    returnType: void
    signature: 'static void test_strconcat (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:849,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:856,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:846,1
    - 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:865,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:869,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:883,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:886,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:905,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:903,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:896,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:911,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_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:841,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:845,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: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:868,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:890,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:905,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:908,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:899,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:906,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:889,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:840,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:843,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:877,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:884,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:900,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:915,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:902,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:893,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:835,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_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:847,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: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_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:881,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:902,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:887,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:908,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:914,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:878,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:909,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:892,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:911,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:
    - strlen
    - g_test_undefined
    - g_assert_false
    - g_ascii_strcasecmp
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_test_expect_message
    - g_ascii_strncasecmp
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_strcasecmp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1209,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1211,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:1212,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_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1206,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1210,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1210,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1212,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1221,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1199,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1205,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1209,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_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1204,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1202,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_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1217,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1217,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1214,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_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1220,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1220,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:
    - strlen
    - g_test_undefined
    - g_assert_cmpfloat
    - g_test_assert_expected_messages
    - g_assert_cmpstr
    - g_strtod
    - g_test_expect_message
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_strtod (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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:1378,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1383,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1388,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1387,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1391,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1392,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/strfuncs.c:1361,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_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1369,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1386,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1379,1
    - 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_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1383,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1388,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1387,1
    - Dst: g_str_has_suffix
      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_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_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1378,1
    - Dst: g_assert_false
      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_undefined
    - g_assert_false
    - g_test_assert_expected_messages
    - g_test_incomplete
    - G_GNUC_CHECK_VERSION
    - g_test_expect_message
    - g_str_has_suffix
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_has_suffix_macro (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1505,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:1524,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1528,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1529,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1543,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:1519,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:1527,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1568,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1502,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1518,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: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1541,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1575,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1574,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1577,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1553,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:1555,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1557,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1571,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1569,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1533,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_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1542,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: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1569,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1575,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1570,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1522,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1534,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1545,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1546,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1538,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: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1560,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1562,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1567,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1537,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1535,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1528,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: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: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1573,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:1529,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1530,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:1570,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:1549,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:1568,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1507,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1531,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1562,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1547,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1515,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1530,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:1571,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1549,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1554,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1544,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:1548,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:1577,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1531,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1554,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1552,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: 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: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1537,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1521,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:1535,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1550,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1544,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1542,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: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1563,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1545,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1543,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:1540,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1519,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1520,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: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1536,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1534,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1560,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1540,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1552,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: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1574,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_undefined
    - g_strsplit_set
    - g_test_assert_expected_messages
    - g_test_expect_message
    - g_assert_null
    - strv_check
    linkageType: ''
    returnType: void
    signature: 'static void test_strsplit_set (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_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1589,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1593,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1591,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_undefined
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - g_test_expect_message
    - g_strsplit
    - g_strfreev
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void test_strv_length (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/strfuncs.c:1617,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_free
      Src: /src/glib/glib/tests/strfuncs.c:1619,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: isnan
      Src: /src/glib/glib/tests/strfuncs.c:1627,1
    - Dst: isnan
      Src: /src/glib/glib/tests/strfuncs.c:1627,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1628,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1632,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1629,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:
    - setlocale
    - g_strdup
    - g_ascii_strtod
    - isnan
    - g_free
    - strlen
    - G_N_ELEMENTS
    - g_assert_true
    - g_malloc
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_function
      Src: /src/glib/glib/tests/strfuncs.c:128,1
    - Dst: unicode_function
      Src: /src/glib/glib/tests/strfuncs.c:130,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: 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:
    - unicode_function
    - g_error
    - c_library_function
    - ascii_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: 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: strcmp
      Src: /src/glib/glib/tests/strfuncs.c:927,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:930,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_assert_cmpint
    - g_free
    - g_strchug
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void do_test_strchug (const gchar *str, const gchar *expected) '
  - 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: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1419,1
    - Dst: va_end
      Src: /src/glib/glib/tests/strfuncs.c:1423,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:
    - va_end
    - g_assert_cmpstr
    - va_start
    - g_strfreev
    - g_assert_null
    - va_arg
    linkageType: ''
    returnType: void
    signature: 'static void strv_check (gchar **strv, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/strfuncs.c:1641,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1645,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/strfuncs.c:1643,1
    - Dst: g_ascii_formatd
      Src: /src/glib/glib/tests/strfuncs.c:1644,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:
    - setlocale
    - G_N_ELEMENTS
    - g_assert_cmpstr
    - g_ascii_formatd
    linkageType: ''
    returnType: void
    signature: 'static void check_strtod_number (gdouble num, gchar *fmt, gchar *str) '
  - 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:1791,1
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1793,1
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1790,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:1804,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1805,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1806,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1800,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1801,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_int64
    - check_uint64
    linkageType: ''
    returnType: void
    signature: 'static void test_strtoll (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/strfuncs.c:2247,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2250,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: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_false
      Src: /src/glib/glib/tests/strfuncs.c:2264,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2261,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/strfuncs.c:2263,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
    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_str_equal
    - g_assert_false
    - g_assert_true
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_str_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2630,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/strfuncs.c:2645,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/strfuncs.c:2671,1
    - Dst: g_ascii_string_to_unsigned
      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_no_error
      Src: /src/glib/glib/tests/strfuncs.c:2689,1
    - 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_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_assert_false
      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:2654,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:2690,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_clear_error
      Src: /src/glib/glib/tests/strfuncs.c:2655,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_clear_error
      Src: /src/glib/glib/tests/strfuncs.c:2637,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_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2656,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_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
    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_assert_false
    - g_assert_cmpint
    - g_ascii_string_to_signed
    - g_assert_no_error
    - g_clear_error
    - g_assert_error
    - g_assert_true
    - g_ascii_string_to_unsigned
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_string_to_number_pathological (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_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:355,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:357,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:363,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:380,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:390,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:394,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:364,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:373,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:364,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:370,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:370,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: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:381,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:391,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:381,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:358,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:371,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:371,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:372,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:375,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:376,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: strlen
      Src: /src/glib/glib/tests/strfuncs.c:383,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_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:360,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:376,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: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:385,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:386,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:387,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:391,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:390,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:
    - strlen
    - g_test_undefined
    - g_assert_cmpint
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_test_expect_message
    - g_strlcat
    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_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_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:566,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:565,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_free
    - g_strndup
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_strndup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strnfill
      Src: /src/glib/glib/tests/strfuncs.c:609,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:611,1
    - Dst: g_strnfill
      Src: /src/glib/glib/tests/strfuncs.c:614,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:612,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:610,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_free
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_strnfill
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_strnfill (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1082,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_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1104,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1114,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:1160,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:1175,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1177,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1136,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1163,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:1080,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1101,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1111,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1110,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:1100,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_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1121,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1126,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1138,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_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1161,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1164,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1186,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1174,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:1170,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1085,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1124,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:1135,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:1157,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1149,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1179,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1173,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1184,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1171,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1156,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1178,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1140,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_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1088,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1087,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:1106,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1112,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1116,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1123,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1128,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_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_true
      Src: /src/glib/glib/tests/strfuncs.c:1139,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_strdup
    - g_test_undefined
    - g_strstr_len
    - g_free
    - g_test_assert_expected_messages
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_null
    - g_assert_true
    - g_strrstr
    - g_strrstr_len
    linkageType: ''
    returnType: void
    signature: 'static void test_strstr (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1445,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1459,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1462,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: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1459,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1466,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1485,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1477,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1475,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1465,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1473,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1484,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1441,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: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1464,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1479,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:1465,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1451,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1453,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1467,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1480,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1469,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1491,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1493,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1460,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1467,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1469,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1484,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1471,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1490,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1483,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1489,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1447,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1457,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1461,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1462,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1463,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1466,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1477,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1486,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1452,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1473,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1475,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1479,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1456,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1458,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1458,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1461,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1472,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1470,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:1480,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1488,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1478,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1476,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1474,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1487,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1443,1
    - Dst: g_strsplit
      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:1457,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1464,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1491,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:1460,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: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1488,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1483,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1492,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1487,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1456,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1482,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1485,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1478,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1476,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1434,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1463,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1474,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1490,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_undefined
    - g_test_assert_expected_messages
    - g_test_expect_message
    - g_strsplit
    - g_assert_null
    - strv_check
    linkageType: ''
    returnType: void
    signature: 'static void test_strsplit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/tests/strfuncs.c:1778,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1783,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1781,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1782,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: 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:
    - g_usleep
    - atoi
    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_update
      Src: /src/glib/glib/tests/hmac.c:405,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/hmac.c:402,1
    - Dst: g_hmac_get_digest
      Src: /src/glib/glib/tests/hmac.c:406,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_free
    - g_hmac_unref
    - g_hmac_new
    - g_hmac_get_digest
    - g_assert_cmpmem
    - g_hmac_update
    - g_checksum_type_get_length
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac (HmacCase *t) '
  - 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_get_string
      Src: /src/glib/glib/tests/hmac.c:468,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_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_free
    - g_hmac_unref
    - g_hmac_get_string
    - g_hmac_new
    - g_assert_cmpstr
    - g_compute_hmac_for_string
    - g_hmac_update
    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:431,1
    - Dst: g_assert_cmpstr
      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_copy
      Src: /src/glib/glib/tests/hmac.c:432,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hmac.c:433,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_copy
    - g_hmac_unref
    - g_hmac_get_string
    - g_assert
    - g_hmac_new
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac_copy (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_hmac_update
      Src: /src/glib/glib/tests/hmac.c:450,1
    - Dst: g_hmac_new
      Src: /src/glib/glib/tests/hmac.c:449,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hmac.c:451,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_free
    - g_hmac_unref
    - g_hmac_get_string
    - g_hmac_new
    - g_assert_cmpstr
    - g_compute_hmac_for_data
    - g_hmac_update
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac_for_data (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:422,1
    - Dst: g_hmac_ref
      Src: /src/glib/glib/tests/hmac.c:420,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hmac.c:421,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/tests/hmac.c:423,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_new
    - g_hmac_unref
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac_ref_unref (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_hmac_new
      Src: /src/glib/glib/tests/hmac.c:485,1
    - Dst: g_hmac_update
      Src: /src/glib/glib/tests/hmac.c:486,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/hmac.c:481,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_free
    - g_hmac_unref
    - g_hmac_get_string
    - g_bytes_new
    - g_hmac_new
    - g_assert_cmpstr
    - g_bytes_unref
    - g_compute_hmac_for_bytes
    - g_hmac_update
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac_for_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_free
      Src: /src/glib/glib/tests/hmac.c:531,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hmac.c:537,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:504,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_test_add_data_func
      Src: /src/glib/glib/tests/hmac.c:529,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:543,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hmac.c:544,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
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hmac.c:520,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hmac.c:542,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hmac.c:536,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hmac.c:528,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/hmac.c:548,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_free
    - g_test_add_data_func
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    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: MAKEWORD
      Src: /src/glib/glib/tests/gpoll.c:35,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gpoll.c:36,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:
    - WSAStartup
    - g_error
    - MAKEWORD
    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:229,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: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:
    - Dst: WSACreateEvent
      Src: /src/glib/glib/tests/gpoll.c:48,1
    - Dst: WSAEventSelect
      Src: /src/glib/glib/tests/gpoll.c:49,1
    - Dst: g_assert
      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
    - WSAEventSelect
    - WSACreateEvent
    linkageType: ''
    returnType: void
    signature: 'static void prepare_fds (SOCKET sockets[], GPollFD fds[], int num_pollees) '
  - 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: 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: g_assert
      Src: /src/glib/glib/tests/gpoll.c:146,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:138,1
    - Dst: htonl
      Src: /src/glib/glib/tests/gpoll.c:135,1
    - Dst: bind
      Src: /src/glib/glib/tests/gpoll.c:138,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: ASYNC_CONNECT_OK
      Src: /src/glib/glib/tests/gpoll.c:149,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:149,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:152,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:145,1
    - Dst: closesocket
      Src: /src/glib/glib/tests/gpoll.c:156,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:
    - closesocket
    - socket
    - getsockname
    - g_assert
    - listen
    - accept
    - ioctlsocket
    - ASYNC_CONNECT_OK
    - htonl
    - memset
    - connect
    - bind
    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: 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: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:494,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:499,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:528,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:549,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:580,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:602,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:559,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:363,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:271,1
    - Dst: recv
      Src: /src/glib/glib/tests/gpoll.c:312,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: 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: memset
      Src: /src/glib/glib/tests/gpoll.c:441,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:451,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:480,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:493,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: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: 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: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:477,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:400,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_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:269,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: cleanup_sockets
      Src: /src/glib/glib/tests/gpoll.c:604,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_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:462,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:582,1
    - Dst: bucketize
      Src: /src/glib/glib/tests/gpoll.c:596,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:588,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:289,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:284,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:324,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_assert
      Src: /src/glib/glib/tests/gpoll.c:524,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:527,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: 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: 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_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:516,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_poll
      Src: /src/glib/glib/tests/gpoll.c:463,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:473,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:479,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: recv
      Src: /src/glib/glib/tests/gpoll.c:521,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:300,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:305,1
    - Dst: PostMessage
      Src: /src/glib/glib/tests/gpoll.c:303,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:311,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: recv
      Src: /src/glib/glib/tests/gpoll.c:364,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_assert
      Src: /src/glib/glib/tests/gpoll.c:481,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:586,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:522,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:581,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:361,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:411,1
    - Dst: send
      Src: /src/glib/glib/tests/gpoll.c:456,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:472,1
    - Dst: PostMessage
      Src: /src/glib/glib/tests/gpoll.c:565,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:567,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:569,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:421,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:270,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:322,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: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:542,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: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:419,1
    - Dst: bucketize
      Src: /src/glib/glib/tests/gpoll.c:431,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:344,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:357,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:452,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:464,1
    - Dst: PeekMessage
      Src: /src/glib/glib/tests/gpoll.c:576,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_printerr
      Src: /src/glib/glib/tests/gpoll.c:601,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:423,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:387,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:268,1
    - Dst: PeekMessage
      Src: /src/glib/glib/tests/gpoll.c:314,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:367,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: check_fds
      Src: /src/glib/glib/tests/gpoll.c:325,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:435,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:519,1
    - Dst: send
      Src: /src/glib/glib/tests/gpoll.c:355,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:407,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:416,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: send
      Src: /src/glib/glib/tests/gpoll.c:405,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:372,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:401,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:478,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:417,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_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:409,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:543,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: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:584,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:
    - PostMessage
    - send
    - prepare_sockets
    - reset_fds_msg
    - g_assert
    - bucketize
    - recv
    - memset
    - check_fds
    - print_buckets
    - g_usleep
    - g_get_monotonic_time
    - PeekMessage
    - prepare_fds
    - g_poll
    - cleanup_sockets
    - reset_fds
    - g_printerr
    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:
    - init_networking
    - g_main_context_unref
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_main_context_new
    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_markup_parse_context_free
      Src: /src/glib/glib/tests/markup.c:88,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/markup.c:86,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup.c:87,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup.c:85,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_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_markup_parse_context_new
    - g_assert
    - g_assert_no_error
    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_run
    - g_test_init
    - g_test_add_func
    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_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
    - Dst: g_assert
      Src: /src/glib/glib/tests/markup.c:58,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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/test-printf.c:670,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_printf
      Src: /src/glib/glib/tests/test-printf.c:674,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:675,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_printf
    - g_assert_cmpint
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_test_trap_assert_stdout
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_percent2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/test-printf.c:915,1
    - Dst: va_end
      Src: /src/glib/glib/tests/test-printf.c:917,1
    - Dst: g_vasprintf
      Src: /src/glib/glib/tests/test-printf.c:916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 920
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 920
    functionName: test_vasprintf_va
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - va_end
    - g_vasprintf
    - va_start
    linkageType: ''
    returnType: gint
    signature: 'static gint test_vasprintf_va (gchar **string, const gchar *format,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_snprintf
      Src: /src/glib/glib/tests/test-printf.c:746,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:747,1
    - Dst: _Pragma
      Src: /src/glib/glib/tests/test-printf.c:771,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:768,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:739,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:764,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:701,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:703,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_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_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:717,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: 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: 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:756,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_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:759,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:766,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:750,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:711,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:713,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:709,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:706,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/test-printf.c:732,1
    - Dst: _Pragma
      Src: /src/glib/glib/tests/test-printf.c:733,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_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_cmpint
    - G_GNUC_CHECK_VERSION
    - g_assert_cmpstr
    - g_snprintf
    - _Pragma
    linkageType: ''
    returnType: void
    signature: 'static void test_64bit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/glib/glib/tests/test-printf.c:956,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:961,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:962,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:966,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:970,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:972,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:974,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:968,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:977,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:981,1
    - Dst: _setmode
      Src: /src/glib/glib/tests/test-printf.c:956,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:960,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:963,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:965,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:971,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:976,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:973,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:969,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:967,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:978,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:979,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:984,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:987,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/test-printf.c:958,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:964,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/test-printf.c:989,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 990
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 990
    functionName: main
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - fileno
    - g_test_add_func
    - _setmode
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:45,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:60,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:59,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_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_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:49,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:53,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:58,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:68,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:46,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:54,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:61,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:55,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_snprintf
      Src: /src/glib/glib/tests/test-printf.c:39,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
      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_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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_retval_and_trunc (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_printf
      Src: /src/glib/glib/tests/test-printf.c:633,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:636,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: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_printf
    - g_assert_cmpint
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_test_trap_assert_stdout
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_positional_params2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:782,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:783,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_printf
      Src: /src/glib/glib/tests/test-printf.c:788,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_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:798,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:801,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:804,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_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_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_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_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:171,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:146,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:166,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:108,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: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:184,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:152,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:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:119,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:137,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:183,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:158,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:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:96,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:103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:115,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:167,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:179,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:104,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_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:180,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:130,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:141,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:150,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_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:88,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:128,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:160,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:154,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:149,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:84,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:162,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:174,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_snprintf
      Src: /src/glib/glib/tests/test-printf.c:106,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:182,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:90,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:175,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: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:153,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:176,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:164,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:188,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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_d (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:655,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_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_cmpint
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_positional_params3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:421,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_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:432,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:441,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:431,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
    - 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_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:446,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:420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:436,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:435,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:445,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/test-printf.c:447,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:453,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_cmpint
    - g_assert
    - g_assert_cmpstr
    - g_snprintf
    - strncmp
    linkageType: ''
    returnType: void
    signature: 'static void test_f (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:500,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_snprintf
      Src: /src/glib/glib/tests/test-printf.c:514,1
    - 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_cmpint
      Src: /src/glib/glib/tests/test-printf.c:497,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:498,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:501,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:502,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: 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_assert
      Src: /src/glib/glib/tests/test-printf.c:524,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:506,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:518,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:522,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_assert_cmpint
    - g_snprintf
    - same_value
    linkageType: ''
    returnType: void
    signature: 'static void test_e (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: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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_c (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_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
    - 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:233,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:247,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:235,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:236,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:239,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_cmpint
      Src: /src/glib/glib/tests/test-printf.c:240,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_cmpint
      Src: /src/glib/glib/tests/test-printf.c:252,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
    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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_o (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:208,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:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:214,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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    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:301,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:303,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:311,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:313,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:323,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:319,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:327,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:326,1
    - 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:349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:348,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:306,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:305,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:309,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:315,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:331,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:339,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:340,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:341,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:344,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:307,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:321,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:322,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:337,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:347,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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_x (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:558,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:561,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:573,1
    - 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: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:570,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:572,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:574,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: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:545,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:556,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:566,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:568,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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_s (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:602,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:604,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:603,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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_percent (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _Pragma
      Src: /src/glib/glib/tests/test-printf.c:824,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:832,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:847,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:850,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:844,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:851,1
    - 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:839,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_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:842,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:829,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:833,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:845,1
    - Dst: _Pragma
      Src: /src/glib/glib/tests/test-printf.c:854,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
    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_printf
    - g_assert_cmpint
    - G_GNUC_CHECK_VERSION
    - _Pragma
    linkageType: ''
    returnType: void
    signature: 'static void test_64bit2_win32 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/test-printf.c:862,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_subprocess
      Src: /src/glib/glib/tests/test-printf.c:869,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_subprocess
    - g_test_trap_assert_stdout
    linkageType: ''
    returnType: void
    signature: 'static void test_64bit2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/test-printf.c:885,1
    - Dst: g_printf_string_upper_bound
      Src: /src/glib/glib/tests/test-printf.c:886,1
    - Dst: va_end
      Src: /src/glib/glib/tests/test-printf.c:887,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:
    - va_end
    - g_printf_string_upper_bound
    - va_start
    linkageType: ''
    returnType: gsize
    signature: 'static gsize upper_bound (const gchar *format, ...) '
  - 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:273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:269,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:270,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_cmpint
      Src: /src/glib/glib/tests/test-printf.c:289,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:290,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:288,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:284,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
    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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_u (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:360,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:362,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:364,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:372,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: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_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:403,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:406,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_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:400,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:408,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:365,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_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:374,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:382,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:390,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:402,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: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_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:404,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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_X (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:585,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:588,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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_n (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_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_snprintf
      Src: /src/glib/glib/tests/test-printf.c:617,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_assert_cmpstr
    - g_assert_cmpint
    - g_snprintf
    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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 899
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 899
    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_test_summary
      Src: /src/glib/glib/tests/test-printf.c:931,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/test-printf.c:943,1
    - Dst: test_vasprintf_va
      Src: /src/glib/glib/tests/test-printf.c:937,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:940,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/test-printf.c:941,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 945
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 945
    functionName: test_vasprintf_invalid_format_placeholder
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_skip
    - test_vasprintf_va
    - g_assert_null
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_vasprintf_invalid_format_placeholder (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/logging.c:15,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/logging.c:18,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/tests/logging.c:22,1
    - Dst: g_warn_if_reached
      Src: /src/glib/glib/tests/logging.c:17,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: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_warn_if_fail
    - g_test_assert_expected_messages
    - g_warn_if_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_warnings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/logging.c:206,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:208,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:211,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:211,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:213,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/logging.c:216,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:213,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:218,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:220,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:220,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:221,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:238,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:233,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:209,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:222,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:224,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:231,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:234,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/logging.c:236,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:230,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:238,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:239,1
    - Dst: exit
      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_assert_false
      Src: /src/glib/glib/tests/logging.c:232,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:209,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:210,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:212,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:218,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:219,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:214,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:219,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:221,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:222,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:223,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:223,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:240,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:232,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:208,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:210,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:214,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:212,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:224,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:228,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:233,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:240,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_assert_false
      Src: /src/glib/glib/tests/logging.c:234,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:230,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/logging.c:226,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 247
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 247
    functionName: test_default_handler_would_drop
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_assert_false
    - exit
    - g_setenv
    - g_assert_true
    - g_log_writer_default_would_drop
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_would_drop (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_print_handler
      Src: /src/glib/glib/tests/logging.c:369,1
    - Dst: g_print
      Src: /src/glib/glib/tests/logging.c:373,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/logging.c:370,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:376,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:374,1
    - Dst: g_set_print_handler
      Src: /src/glib/glib/tests/logging.c:378,1
    - Dst: old_print_handler
      Src: /src/glib/glib/tests/logging.c:379,1
    - Dst: g_print
      Src: /src/glib/glib/tests/logging.c:380,1
    - Dst: g_set_print_handler
      Src: /src/glib/glib/tests/logging.c:384,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:385,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:386,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/logging.c:390,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:389,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:388,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 391
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 391
    functionName: test_print_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_nonnull
    - old_print_handler
    - g_test_trap_subprocess
    - g_test_trap_assert_stdout_unmatched
    - g_test_trap_has_passed
    - g_set_print_handler
    - g_print
    - g_test_trap_assert_stdout
    - g_test_subprocess
    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:429,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:430,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:431,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: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: good_failure_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_message
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean good_failure_handler (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *msg, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/logging.c:455,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:456,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:457,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: 458
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: test_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void test_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:701,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:714,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/logging.c:713,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:716,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:722,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:726,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 729
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 729
    functionName: test_structured_logging_roundtrip2
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_writer_func
    - g_assert
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_slist_append
    - g_log_structured
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_roundtrip2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:252,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:253,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:254,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: test_default_handler_0x400
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log
    - exit
    - g_log_set_default_handler
    - g_log_writer_default_set_use_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_0x400 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_printerr_handler
      Src: /src/glib/glib/tests/logging.c:398,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/logging.c:399,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:405,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:403,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/logging.c:402,1
    - Dst: g_set_printerr_handler
      Src: /src/glib/glib/tests/logging.c:407,1
    - Dst: old_printerr_handler
      Src: /src/glib/glib/tests/logging.c:408,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/logging.c:409,1
    - Dst: g_set_printerr_handler
      Src: /src/glib/glib/tests/logging.c:413,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:414,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/logging.c:417,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:415,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 418
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 418
    functionName: test_printerr_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - old_printerr_handler
    - g_test_trap_assert_stderr
    - g_assert_nonnull
    - g_test_trap_subprocess
    - g_test_trap_has_passed
    - g_set_printerr_handler
    - g_test_subprocess
    - g_printerr
    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:442,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:443,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:444,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: 447
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: bad_failure_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_message
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean bad_failure_handler (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *msg, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/logging.c:463,1
    - Dst: g_test_log_set_fatal_handler
      Src: /src/glib/glib/tests/logging.c:465,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/tests/logging.c:468,1
    - Dst: g_test_log_set_fatal_handler
      Src: /src/glib/glib/tests/logging.c:470,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:466,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:471,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/tests/logging.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: bug653052
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_default_handler
    - g_return_if_fail
    - g_test_bug
    - g_test_log_set_fatal_handler
    linkageType: ''
    returnType: void
    signature: 'static void bug653052 (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/logging.c:507,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/logging.c:513,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/logging.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - f1
    - f2
    argTypes:
    - GLogField*
    - GLogField*
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: compare_field
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - memcmp
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean compare_field (const GLogField *f1, const GLogField
      *f2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:736,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:751,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:746,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:748,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/logging.c:745,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:755,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 758
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 758
    functionName: test_structured_logging_roundtrip3
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_writer_func
    - g_assert
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_slist_append
    - g_log_structured
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_roundtrip3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:856,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:859,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:862,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:866,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/logging.c:890,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:884,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:887,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:857,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:860,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:861,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:865,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:872,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:871,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:869,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:870,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:873,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:874,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:883,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:876,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:858,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/logging.c:854,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:875,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:886,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:885,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:888,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/logging.c:852,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:863,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:868,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:867,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:864,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:878,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:879,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:880,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:881,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:882,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 891
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 891
    functionName: main
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_test_run
    - g_test_init
    - g_test_add_func
    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:
    - exit
    - g_log_set_default_handler
    - g_log_writer_default_set_use_stderr
    - g_critical
    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_message
    - exit
    - g_log_set_default_handler
    - g_log_writer_default_set_use_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_message (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:570,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:576,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:584,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:578,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/logging.c:572,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:588,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 591
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 591
    functionName: test_structured_logging_no_state
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_log_set_writer_func
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - GUINT_TO_POINTER
    - g_log_structured
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_no_state (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: exit
      Src: /src/glib/glib/tests/logging.c:92,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:90,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:
    - exit
    - g_log_set_default_handler
    - g_log_writer_default_set_use_stderr
    - g_critical
    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_message
      Src: /src/glib/glib/tests/logging.c:127,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:126,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_message
    - exit
    - g_log_set_default_handler
    - g_log_writer_default_set_use_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_message_stderr (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_fields
      Src: /src/glib/glib/tests/logging.c:549,1
    - Dst: g_free
      Src: /src/glib/glib/tests/logging.c:559,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/tests/logging.c:551,1
    - Dst: g_log_writer_format_fields
      Src: /src/glib/glib/tests/logging.c:557,1
    - Dst: g_test_fail_printf
      Src: /src/glib/glib/tests/logging.c:558,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: 563
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 563
    functionName: expect_log_writer
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_free
    - compare_fields
    - g_slist_delete_link
    - g_log_writer_format_fields
    - g_test_fail_printf
    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:598,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:609,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:613,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/tests/logging.c:611,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:611,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:617,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 620
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 620
    functionName: test_structured_logging_some_state
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_log_structured_array
    - g_log_set_writer_func
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - G_N_ELEMENTS
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_some_state (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_cmpint
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void log_handler (const gchar *log_domain, GLogLevelFlags log_level,
      const gchar *message, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:263,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:264,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:266,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:271,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:278,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:284,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:289,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:279,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:293,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:296,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:339,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:281,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:283,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:294,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:303,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:313,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:314,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:318,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:319,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:323,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:329,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:311,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:330,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:316,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:269,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:273,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:274,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:276,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:301,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:308,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:326,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:332,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:337,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:321,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:304,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:335,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:261,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:268,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:286,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:288,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:291,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:298,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:299,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/logging.c:309,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:324,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:328,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:306,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 340
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 340
    functionName: test_default_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_assert_stdout_unmatched
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - 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:479,1
    - Dst: g_warning
      Src: /src/glib/glib/tests/logging.c:481,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:485,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:486,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 487
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 487
    functionName: test_gibberish
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_warning
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_gibberish (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_field
      Src: /src/glib/glib/tests/logging.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - f1
    - n1
    - f2
    - n2
    argTypes:
    - GLogField*
    - gsize
    - GLogField*
    - gsize
    constantsTouched: []
    func_position:
      end: 535
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 535
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:627,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:634,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:633,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:636,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:630,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:640,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 643
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 643
    functionName: test_structured_logging_robustness
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_log_set_writer_func
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_log_structured
    - g_log
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_robustness (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_fixed_array
      Src: /src/glib/glib/tests/logging.c:766,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/logging.c:768,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/logging.c:769,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/logging.c:768,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:766,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/logging.c:769,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/logging.c:770,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/logging.c:770,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/logging.c:771,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/logging.c:771,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/logging.c:772,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/logging.c:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 775
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 775
    functionName: create_variant_fields
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_variant_new_string
    - g_variant_builder_add
    - g_variant_new_fixed_array
    - g_variant_builder_init
    - G_N_ELEMENTS
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *create_variant_fields (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:805,1
    - Dst: g_log_variant
      Src: /src/glib/glib/tests/logging.c:821,1
    - Dst: create_variant_fields
      Src: /src/glib/glib/tests/logging.c:816,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:819,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/logging.c:818,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/logging.c:822,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:823,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:827,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 830
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 830
    functionName: test_structured_logging_variant2
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_writer_func
    - g_assert
    - g_test_trap_assert_passed
    - g_variant_unref
    - g_test_trap_subprocess
    - create_variant_fields
    - g_slist_append
    - g_log_variant
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_variant2 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:345,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/glib/tests/logging.c:347,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:352,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:351,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:348,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: test_fatal_log_mask
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stdout_unmatched
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - 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: 497
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 497
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:650,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/logging.c:670,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/logging.c:665,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:671,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/logging.c:652,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:673,1
    - Dst: g_log_writer_format_fields
      Src: /src/glib/glib/tests/logging.c:684,1
    - Dst: g_test_fail_printf
      Src: /src/glib/glib/tests/logging.c:685,1
    - Dst: g_free
      Src: /src/glib/glib/tests/logging.c:686,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:691,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 694
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 694
    functionName: test_structured_logging_roundtrip1
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_free
    - g_log_set_writer_func
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_log_writer_format_fields
    - GUINT_TO_POINTER
    - g_slist_append
    - g_test_fail_printf
    - g_log_structured
    - g_snprintf
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_roundtrip1 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:782,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/logging.c:790,1
    - Dst: g_log_variant
      Src: /src/glib/glib/tests/logging.c:789,1
    - Dst: create_variant_fields
      Src: /src/glib/glib/tests/logging.c:784,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:787,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:791,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:795,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 798
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 798
    functionName: test_structured_logging_variant1
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_log_set_writer_func
    - g_test_trap_assert_passed
    - g_variant_unref
    - g_test_trap_subprocess
    - create_variant_fields
    - g_log_variant
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_variant1 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:837,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:839,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:844,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:840,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 847
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 847
    functionName: test_structured_logging_set_writer_func_twice
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_writer_func
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_set_writer_func_twice (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_log_set_default_handler
    - g_error
    - 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_set_default_handler
    - g_log_writer_default_set_use_stderr
    - 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
    - exit
    - g_log_set_default_handler
    - g_log_writer_default_set_use_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_info (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: exit
      Src: /src/glib/glib/tests/logging.c:158,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/logging.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    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_log_writer_default_set_use_stderr
    - exit
    - g_log
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_bar_info (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
      Src: /src/glib/glib/tests/logging.c:181,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:182,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/logging.c:179,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:177,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: 8
    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_log_writer_default_set_use_stderr
    - exit
    - g_log
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_debug (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:71,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
    - Dst: g_error
      Src: /src/glib/glib/tests/logging.c:73,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:
    - exit
    - g_log_set_default_handler
    - g_error
    - g_log_writer_default_set_use_stderr
    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_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:108,1
    - Dst: g_warning
      Src: /src/glib/glib/tests/logging.c:109,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_set_default_handler
    - g_log_writer_default_set_use_stderr
    - 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: exit
      Src: /src/glib/glib/tests/logging.c:146,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
    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
    - exit
    - g_log_set_default_handler
    - g_log_writer_default_set_use_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_info_stderr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:164,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:170,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_setenv
      Src: /src/glib/glib/tests/logging.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    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_log_writer_default_set_use_stderr
    - exit
    - g_log
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_baz_debug (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:191,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/logging.c:194,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:197,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:196,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: 8
    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_log_writer_default_set_use_stderr
    - exit
    - g_log
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_debug_stderr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    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_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
    - g_log_set_handler
    - g_log_remove_handler
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_set_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_exit
      Src: /src/glib/glib/tests/thread.c:51,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/thread.c:53,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread.c:51,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_thread_exit
    - GINT_TO_POINTER
    - g_assert_not_reached
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread1_func (gpointer data) '
  - 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
    - g_thread_join
    - GINT_TO_POINTER
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread3_func (gpointer data) '
  - 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: 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: prlimit
      Src: /src/glib/glib/tests/thread.c:148,1
    - Dst: getrlimit
      Src: /src/glib/glib/tests/thread.c:145,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: g_assert
      Src: /src/glib/glib/tests/thread.c:170,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/thread.c:172,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/thread.c:176,1
    - Dst: g_error
      Src: /src/glib/glib/tests/thread.c:176,1
    - Dst: getpid
      Src: /src/glib/glib/tests/thread.c:175,1
    - Dst: prlimit
      Src: /src/glib/glib/tests/thread.c:175,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/thread.c:171,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread.c:166,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_assert_cmpint
    - getrlimit
    - getpid
    - g_test_incomplete
    - g_strerror
    - g_assert
    - g_error
    - g_error_free
    - g_test_skip
    - g_thread_join
    - g_assert_error
    - GPOINTER_TO_INT
    - g_thread_try_new
    - prlimit
    linkageType: ''
    returnType: void
    signature: 'static void test_thread4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getname_np
      Src: /src/glib/glib/tests/thread.c:197,1
    - Dst: pthread_self
      Src: /src/glib/glib/tests/thread.c:197,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/thread.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: thread6_func
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - pthread_getname_np
    - g_assert_cmpstr
    - pthread_self
    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_join
      Src: /src/glib/glib/tests/thread.c:187,1
    - Dst: g_thread_unref
      Src: /src/glib/glib/tests/thread.c:188,1
    - Dst: g_thread_ref
      Src: /src/glib/glib/tests/thread.c:186,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_new
    - g_thread_join
    - g_thread_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_thread5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:210,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    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_test_init
      Src: /src/glib/glib/tests/thread.c:217,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:221,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:220,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:219,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:222,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:223,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:224,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/thread.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: main
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_try_new
      Src: /src/glib/glib/tests/thread.c:66,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_cmpint
      Src: /src/glib/glib/tests/thread.c:71,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_assert_cmpint
    - g_assert_no_error
    - g_thread_join
    - GPOINTER_TO_INT
    - g_thread_try_new
    linkageType: ''
    returnType: void
    signature: 'static void test_thread1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:87,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/thread.c:89,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/thread.c:89,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:91,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/thread.c:93,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_new
    - g_thread_join
    - g_thread_self
    linkageType: ''
    returnType: void
    signature: 'static void test_thread2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:123,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread.c:129,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:124,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:127,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: 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:
    - indent
    - g_string_append_printf
    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:
    - indent
    - g_string_append_printf
    linkageType: ''
    returnType: void
    signature: 'static void passthrough_handler (GMarkupParseContext *context, const
      gchar *passthrough_text, gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup-parse.c:118,1
    - Dst: MIN
      Src: /src/glib/glib/tests/markup-parse.c:122,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/glib/tests/markup-parse.c:136,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup-parse.c:129,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: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_parse
    - g_markup_parse_context_free
    - g_markup_parse_context_new
    - g_markup_parse_context_end_parse
    - MIN
    linkageType: ''
    returnType: int
    signature: 'static int test_in_chunks (const gchar *contents, gint length, gint
      chunk_size, GMarkupParseFlags flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/markup-parse.c:235,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_strconcat
      Src: /src/glib/glib/tests/markup-parse.c:240,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/markup-parse.c:244,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - filename
    - flags
    argTypes:
    - gchar*
    - GMarkupParseFlags
    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_free
    - g_assert_not_reached
    - strstr
    - g_strconcat
    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: g_string_append_printf
      Src: /src/glib/glib/tests/markup-parse.c:40,1
    - Dst: indent
      Src: /src/glib/glib/tests/markup-parse.c:38,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:
    - indent
    - g_string_append_printf
    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:
    - indent
    - g_string_append_printf
    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: g_free
      Src: /src/glib/glib/tests/markup-parse.c:273,1
    - Dst: get_expected_filename
      Src: /src/glib/glib/tests/markup-parse.c:279,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/tests/markup-parse.c:283,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:296,1
    - Dst: test_file
      Src: /src/glib/glib/tests/markup-parse.c:267,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/tests/markup-parse.c:265,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_cmpstr
      Src: /src/glib/glib/tests/markup-parse.c:272,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-parse.c:275,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup-parse.c:289,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/markup-parse.c:280,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:277,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:291,1
    - Dst: test_file
      Src: /src/glib/glib/tests/markup-parse.c:285,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/markup-parse.c:288,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/markup-parse.c:286,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_assert_no_error
      Src: /src/glib/glib/tests/markup-parse.c:271,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/markup-parse.c:290,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:
    - g_string_sized_new
    - get_expected_filename
    - g_assert_cmpint
    - g_free
    - g_assert_no_error
    - g_assert_cmpstr
    - strstr
    - g_file_test
    - test_file
    - g_string_free
    - g_file_get_contents
    linkageType: ''
    returnType: void
    signature: 'static void test_parse (gconstpointer d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/tests/markup-parse.c:323,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-parse.c:318,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/markup-parse.c:310,1
    - Dst: test_file
      Src: /src/glib/glib/tests/markup-parse.c:324,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: strstr
      Src: /src/glib/glib/tests/markup-parse.c:336,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/glib/tests/markup-parse.c:340,1
    - Dst: g_dir_read_name
      Src: /src/glib/glib/tests/markup-parse.c:334,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/markup-parse.c:307,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_build_filename
      Src: /src/glib/glib/tests/markup-parse.c:330,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/markup-parse.c:346,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:342,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/markup-parse.c:340,1
    - Dst: g_dir_close
      Src: /src/glib/glib/tests/markup-parse.c:344,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:
    - setlocale
    - g_string_sized_new
    - g_test_build_filename
    - g_free
    - g_dir_read_name
    - g_dir_open
    - g_assert_no_error
    - strstr
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - g_test_add_data_func_full
    - strcmp
    - g_dir_close
    - test_file
    - g_print
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - 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_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_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_assert_cmpint
      Src: /src/glib/glib/tests/markup-parse.c:179,1
    - Dst: test_in_chunks
      Src: /src/glib/glib/tests/markup-parse.c:208,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-parse.c:181,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: 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_steal_pointer
      Src: /src/glib/glib/tests/markup-parse.c:218,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/markup-parse.c:172,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup-parse.c:167,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-parse.c:217,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_free
      Src: /src/glib/glib/tests/markup-parse.c:186,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/glib/tests/markup-parse.c:182,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/markup-parse.c:206,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_assert_cmpint
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_string_new
    - g_free
    - test_in_chunks
    - g_markup_parse_context_new
    - g_assert
    - g_markup_parse_context_end_parse
    - g_assert_no_error
    - g_steal_pointer
    - g_markup_parse_context_get_user_data
    - g_string_free
    - G_N_ELEMENTS
    - g_file_get_contents
    - g_malloc
    - g_markup_parse_context_get_position
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_file (const gchar *filename, GMarkupParseFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    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_strdup
      Src: /src/glib/glib/tests/bytes.c:325,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/bytes.c:328,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:331,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:329,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:329,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:332,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:333,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 341
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 341
    functionName: test_to_data_different_free_func
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    - g_strdup
    - g_bytes_get_data
    - g_free
    - g_bytes_unref_to_data
    - g_assert_cmpmem
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_to_data_different_free_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:461,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:461,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:464,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:472,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:468,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:467,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:475,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:454,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:454,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:455,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:467,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:471,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:468,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:473,1
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:451,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:458,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:473,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:455,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:458,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:464,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:471,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 476
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 476
    functionName: test_get_region
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_bytes_unref
    - g_bytes_new_static
    - g_bytes_get_region
    linkageType: ''
    returnType: void
    signature: 'static void test_get_region (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/bytes.c:173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:175,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:174,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:176,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:176,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:177,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:178,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:178,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:180,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: test_new_with_free_func
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    - g_assert_cmpint
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_bytes_unref
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_new_with_free_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:351,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:354,1
    - Dst: g_bytes_unref_to_array
      Src: /src/glib/glib/tests/bytes.c:353,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:352,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:355,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:356,1
    - Dst: g_byte_array_unref
      Src: /src/glib/glib/tests/bytes.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 358
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 358
    functionName: test_to_array_transferred
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_byte_array_unref
    - g_bytes_get_data
    - g_bytes_new
    - g_assert_nonnull
    - g_bytes_unref_to_array
    - g_assert_cmpmem
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_to_array_transferred (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/bytes.c:481,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: test_unref_null
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_unref
    - g_test_summary
    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:490,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:492,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:494,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:496,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:498,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:500,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:505,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:503,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:507,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:509,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/bytes.c:488,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:493,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:491,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:495,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:497,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:501,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:502,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:504,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:499,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:506,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:508,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/bytes.c:512,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 513
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 513
    functionName: main
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:146,1
    - Dst: strlen
      Src: /src/glib/glib/tests/bytes.c:146,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:147,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:147,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:149,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:150,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:152,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: test_new_from_bytes_shared_ref
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_bytes_new_static
    - g_bytes_new_from_bytes
    - g_bytes_unref
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_new_from_bytes_shared_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:41,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:43,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:43,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:44,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:42,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:45,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:45,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:46,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:46,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:46,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: test_new
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_bytes_new
    - g_assert_nonnull
    - g_bytes_unref
    - g_assert_cmpmem
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:76,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:79,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:78,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:78,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:77,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:80,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:80,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: test_new_static
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_bytes_new_static
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_bytes_unref
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_new_static (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:192,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:197,1
    - Dst: g_bytes_hash
      Src: /src/glib/glib/tests/bytes.c:195,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:193,1
    - Dst: g_bytes_hash
      Src: /src/glib/glib/tests/bytes.c:196,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:199,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 201
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 201
    functionName: test_hash
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_bytes_hash
    - g_bytes_unref
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void test_hash (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/bytes.c:363,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/tests/bytes.c:377,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/bytes.c:374,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/bytes.c:368,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/bytes.c:370,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bytes.c:378,1
    - Dst: g_bytes_unref_to_array
      Src: /src/glib/glib/tests/bytes.c:380,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/bytes.c:380,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bytes.c:381,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bytes.c:382,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:384,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/bytes.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 390
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 390
    functionName: test_to_array_transferred_oversize
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_test_undefined
    - g_free
    - g_test_assert_expected_messages
    - g_test_skip
    - g_memdup2
    - g_test_expect_message
    - g_steal_pointer
    - g_bytes_unref_to_array
    - g_assert_null
    - g_bytes_new_take
    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:92,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:93,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:96,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:95,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:96,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:96,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:97,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:99,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:99,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:99,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: test_new_from_bytes
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_bytes_new_from_bytes
    - g_bytes_new
    - g_assert_nonnull
    - g_bytes_unref
    - g_assert_cmpmem
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_new_from_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/bytes.c:58,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:61,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:61,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/tests/bytes.c:59,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:60,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:62,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:63,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:63,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: test_new_take
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_bytes_unref
    - g_bytes_new_take
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_new_take (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:212,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:213,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:216,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bytes.c:218,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:219,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:212,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:213,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:221,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:218,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:224,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:209,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:211,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bytes.c:217,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bytes.c:222,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bytes.c:223,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:226,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:214,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:217,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:222,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: test_equal
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_bytes_equal
    - g_bytes_new
    - g_bytes_unref
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:401,1
    - Dst: g_bytes_unref_to_array
      Src: /src/glib/glib/tests/bytes.c:404,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:405,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/tests/bytes.c:402,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:403,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:406,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:407,1
    - Dst: g_byte_array_unref
      Src: /src/glib/glib/tests/bytes.c:408,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:409,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:409,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:410,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:412,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:411,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 413
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 413
    functionName: test_to_array_two_refs
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_byte_array_unref
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_bytes_new
    - g_assert_nonnull
    - g_bytes_unref
    - g_bytes_unref_to_array
    - g_assert_cmpmem
    - g_bytes_ref
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_to_array_two_refs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:290,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:294,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/tests/bytes.c:291,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:293,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:292,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:295,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:296,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:297,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:297,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:298,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:299,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:299,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: test_to_data_two_refs
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_free
    - g_assert_cmpuint
    - g_bytes_new
    - g_bytes_unref_to_data
    - g_bytes_unref
    - g_assert_cmpmem
    - g_bytes_ref
    - g_assert_true
    - g_bytes_get_size
    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:311,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:313,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:314,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:312,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:312,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:315,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 317
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 317
    functionName: test_to_data_non_malloc
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_free
    - g_bytes_new_static
    - g_bytes_unref_to_data
    - g_assert_cmpmem
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_to_data_non_malloc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:112,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:117,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:127,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/bytes.c:129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:132,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:134,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:137,1
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:109,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:126,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:125,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:127,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:131,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/bytes.c:132,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:110,1
    - Dst: strlen
      Src: /src/glib/glib/tests/bytes.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:115,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bytes.c:119,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:130,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/bytes.c:131,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:136,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:111,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:116,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:121,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:122,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:120,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:129,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/bytes.c:130,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 138
    functionName: test_new_from_bytes_slice
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_bytes_new_static
    - g_bytes_new_from_bytes
    - g_bytes_unref
    - g_assert_null
    - g_assert_true
    - g_bytes_get_size
    - strncmp
    linkageType: ''
    returnType: void
    signature: 'static void test_new_from_bytes_slice (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:235,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:237,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:246,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:250,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:241,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:245,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:253,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:249,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:247,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:258,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:238,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:243,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:246,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:254,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:251,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:255,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:257,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:258,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:259,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:239,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:238,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:242,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:242,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:254,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 262
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 262
    functionName: test_compare
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_cmpint
    - g_bytes_compare
    - g_bytes_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_compare (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:422,1
    - Dst: g_bytes_unref_to_array
      Src: /src/glib/glib/tests/bytes.c:424,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:423,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:423,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:425,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:426,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:427,1
    - Dst: g_byte_array_unref
      Src: /src/glib/glib/tests/bytes.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: test_to_array_non_malloc
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_byte_array_unref
    - g_bytes_get_data
    - g_bytes_new_static
    - g_assert_nonnull
    - g_bytes_unref_to_array
    - g_assert_cmpmem
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_to_array_non_malloc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:273,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:274,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:277,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:276,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:275,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: test_to_data_transferred
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_free
    - g_bytes_new
    - g_bytes_unref_to_data
    - g_assert_cmpmem
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_to_data_transferred (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:438,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bytes.c:442,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:443,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 444
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 444
    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
    linkageType: ''
    returnType: void
    signature: 'static void test_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/glib/glib/tests/unicode-normalize.c:77,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:82,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:83,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:
    - g_assert_nonnull
    - test_form
    - decode
    - g_free
    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_utf8_normalize
      Src: /src/glib/glib/tests/unicode-normalize.c:178,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unicode-normalize.c:177,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_assert_null
    - G_N_ELEMENTS
    - g_utf8_normalize
    - 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_assert_cmpint
      Src: /src/glib/glib/tests/unicode-normalize.c:17,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_string_append_unichar
      Src: /src/glib/glib/tests/unicode-normalize.c:18,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - gchar*
    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_new
    - g_assert_cmpint
    - sscanf
    - g_string_free
    - g_string_append_unichar
    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:63,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:54,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_assert_nonnull
      Src: /src/glib/glib/tests/unicode-normalize.c:102,1
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/tests/unicode-normalize.c:104,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_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_strfreev
      Src: /src/glib/glib/tests/unicode-normalize.c:130,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/unicode-normalize.c:135,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-normalize.c:142,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: process_one
      Src: /src/glib/glib/tests/unicode-normalize.c:134,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/unicode-normalize.c:144,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_test_message
    - g_string_new
    - g_test_build_filename
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_io_channel_read_line_string
    - g_strsplit
    - g_strfreev
    - g_string_truncate
    - g_io_channel_unref
    - g_string_free
    - g_io_channel_new_file
    - 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_free
      Src: /src/glib/glib/tests/unicode-normalize.c:194,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/unicode-normalize.c:192,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:203,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode-normalize.c:202,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode-normalize.c:205,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/unicode-normalize.c:207,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - 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: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_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_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_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_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_markup_parse_context_new
    - g_utf8_strlen
    - g_print
    - g_printerr
    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: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_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_compute_checksum_for_string
      Src: /src/glib/glib/tests/checksum.c:1080,1
    - Dst: g_compute_checksum_for_string
      Src: /src/glib/glib/tests/checksum.c:1087,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1084,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_free
    - g_assert_cmpstr
    - g_compute_checksum_for_string
    linkageType: ''
    returnType: void
    signature: 'static void test_checksum_string (gconstpointer d) '
  - 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:1043,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/tests/checksum.c:1047,1
    - Dst: MIN
      Src: /src/glib/glib/tests/checksum.c:1048,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:1057,1
    - Dst: g_checksum_reset
      Src: /src/glib/glib/tests/checksum.c:1060,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
    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_assert_cmpint
    - sum_to_digest
    - g_malloc
    - g_free
    - MIN
    - g_checksum_update
    - g_checksum_get_digest
    - g_assert_cmpmem
    - g_checksum_reset
    - g_checksum_free
    - g_checksum_type_get_length
    - g_checksum_new
    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_new0
      Src: /src/glib/glib/tests/checksum.c:1122,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_strdup_printf
      Src: /src/glib/glib/tests/checksum.c:1131,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1129,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_free
    - g_new0
    - g_test_add_data_func
    - g_strdup_printf
    - g_test_add_data_func_full
    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_strdup_printf
    - g_test_add_data_func_full
    - g_new0
    - 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: g_checksum_new
      Src: /src/glib/glib/tests/checksum.c:970,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_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_get_string
    - MIN
    - g_assert_cmpstr
    - g_checksum_update
    - g_checksum_copy
    - g_checksum_free
    - g_checksum_new
    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: hexval
      Src: /src/glib/glib/tests/checksum.c:1024,1
    - Dst: strlen
      Src: /src/glib/glib/tests/checksum.c:1019,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/checksum.c:1022,1
    - Dst: strlen
      Src: /src/glib/glib/tests/checksum.c:1020,1
    - Dst: hexval
      Src: /src/glib/glib/tests/checksum.c:1024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - sum
    - len
    argTypes:
    - gchar*
    - gsize*
    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
    - g_malloc
    - strlen
    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_bytes_unref
      Src: /src/glib/glib/tests/checksum.c:1106,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/checksum.c:1108,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1109,1
    - Dst: g_compute_checksum_for_bytes
      Src: /src/glib/glib/tests/checksum.c:1105,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_free
    - g_bytes_new_static
    - g_assert_cmpstr
    - g_bytes_unref
    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_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
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1150,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_strdup_printf
    - g_test_add_data_func_full
    - g_new0
    - 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_checksum_new
      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_assert
      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_assert
    - g_assert_cmpint
    - g_checksum_type_get_length
    - g_checksum_new
    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: g_test_add_func
      Src: /src/glib/glib/tests/checksum.c:1184,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: add_checksum_string_test
      Src: /src/glib/glib/tests/checksum.c:1188,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: 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_test
      Src: /src/glib/glib/tests/checksum.c:1202,1
    - Dst: add_checksum_string_test
      Src: /src/glib/glib/tests/checksum.c:1208,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
    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:
    - add_checksum_bytes_test
    - g_test_add_func
    - g_test_run
    - add_checksum_string_test
    - g_test_init
    - add_checksum_test
    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
    - memcmp
    - g_slice_copy
    - g_slice_free1
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_slice_copy (void) '
  - 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:31,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:33,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_free_chain
    - g_slice_new
    linkageType: ''
    returnType: void
    signature: 'static void test_chain (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/slice.c:53,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/slice.c:57,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_random_int_range
      Src: /src/glib/glib/tests/slice.c:54,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_atomic_pointer_compare_and_exchange
    - g_random_int_range
    - g_slice_alloc
    - g_slice_free1
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_allocate (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/slice.c:85,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/slice.c:88,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/slice.c:86,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_join
    - g_thread_create
    linkageType: ''
    returnType: void
    signature: 'static void test_allocate (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: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:99,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/1bit-mutex.c:71,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/1bit-mutex.c:73,1
    - Dst: g_bit_trylock
      Src: /src/glib/glib/tests/1bit-mutex.c:77,1
    - Dst: g_pointer_bit_trylock
      Src: /src/glib/glib/tests/1bit-mutex.c:76,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/1bit-mutex.c:79,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/1bit-mutex.c:80,1
    - Dst: g_pointer_bit_lock
      Src: /src/glib/glib/tests/1bit-mutex.c:83,1
    - Dst: g_bit_lock
      Src: /src/glib/glib/tests/1bit-mutex.c:85,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:88,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/1bit-mutex.c:92,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/1bit-mutex.c:94,1
    - Dst: g_pointer_bit_unlock
      Src: /src/glib/glib/tests/1bit-mutex.c:100,1
    - Dst: g_bit_unlock
      Src: /src/glib/glib/tests/1bit-mutex.c:102,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:96,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/1bit-mutex.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - nr
    - use_pointers
    argTypes:
    - int
    - gboolean
    constantsTouched: []
    func_position:
      end: 103
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 103
    functionName: acquire
    functionSourceFile: /src/glib/glib/tests/1bit-mutex.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_assert_cmpint
    - g_bit_unlock
    - g_pointer_bit_trylock
    - g_pointer_bit_lock
    - g_assert
    - g_bit_lock
    - g_test_verbose
    - g_bit_trylock
    - g_thread_self
    - g_pointer_bit_unlock
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void acquire (int nr, gboolean use_pointers) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/1bit-mutex.c:160,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/1bit-mutex.c:163,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/1bit-mutex.c:165,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/1bit-mutex.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/glib/glib/tests/1bit-mutex.c
    functionUses: []
    functionsReached:
    - g_test_add_data_func
    - g_test_run
    - 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/1bit-mutex.c:125,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/1bit-mutex.c:141,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:135,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/1bit-mutex.c:145,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/1bit-mutex.c:144,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/1bit-mutex.c:148,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:152,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 155
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 155
    functionName: testcase
    functionSourceFile: /src/glib/glib/tests/1bit-mutex.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_assert
    - g_thread_new
    - g_thread_join
    - GPOINTER_TO_INT
    - g_random_int
    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:108,1
    - Dst: g_rand_new
      Src: /src/glib/glib/tests/1bit-mutex.c:112,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/1bit-mutex.c:117,1
    - Dst: acquire
      Src: /src/glib/glib/tests/1bit-mutex.c:115,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/tests/1bit-mutex.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/1bit-mutex.c
    functionUses: []
    functionsReached:
    - g_rand_free
    - g_rand_int_range
    - g_rand_new
    - acquire
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - 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_get_char
    - g_utf8_next_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: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
      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_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_free
    - g_utf8_to_ucs4_fast
    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_elapsed
      Src: /src/glib/glib/tests/utf8-performance.c:197,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_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:
    - strlen
    - g_test_maximized_result
    - grind_func
    - g_test_timer_start
    - g_slice_free
    - g_test_timer_elapsed
    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_free
    - g_utf8_to_ucs4_fast
    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:223,1
    - Dst: ADD_CASE
      Src: /src/glib/glib/tests/utf8-performance.c:222,1
    - Dst: ADD_CASE
      Src: /src/glib/glib/tests/utf8-performance.c:224,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: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:237,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: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:
    - g_test_run
    - g_test_init
    - add_cases
    - g_test_perf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:40,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:49,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:52,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/win32.c:55,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/win32.c:62,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/win32.c:67,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/win32.c:68,1
    - Dst: g_free
      Src: /src/glib/glib/tests/win32.c:71,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:49,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:52,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:59,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/win32.c:61,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/win32.c:69,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/win32.c:49,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/win32.c:52,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:65,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:55,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/win32.c:65,1
    - Dst: g_free
      Src: /src/glib/glib/tests/win32.c:63,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:65,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:39,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:55,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:59,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/win32.c:59,1
    - Dst: g_free
      Src: /src/glib/glib/tests/win32.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: test_subst_pid_and_event
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_free
    - g_assert_cmpstr
    - g_strdup_printf
    - G_N_ELEMENTS
    - g_utf16_to_utf8
    - g_assert_true
    - _g_win32_subst_pid_and_event_w
    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:111,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/win32.c:113,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/win32.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: test_veh_crash_illegal_instruction
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_veh_crash_illegal_instruction (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:92,1
    - Dst: RaiseException
      Src: /src/glib/glib/tests/win32.c:94,1
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:93,1
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    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: test_access_violation
      Src: /src/glib/glib/tests/win32.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    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: g_unsetenv
      Src: /src/glib/glib/tests/win32.c:101,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/win32.c:103,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/win32.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: test_veh_crash_access_violation
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    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:122,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/win32.c:131,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/win32.c:128,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/win32.c:123,1
    - Dst: g_free
      Src: /src/glib/glib/tests/win32.c:129,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/win32.c:133,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/win32.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: test_veh_debug
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_strdup_printf
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_veh_debug (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/glib/glib/tests/win32.c:148,1
    - Dst: SetEvent
      Src: /src/glib/glib/tests/win32.c:151,1
    - Dst: g_fprintf
      Src: /src/glib/glib/tests/win32.c:153,1
    - Dst: CloseHandle
      Src: /src/glib/glib/tests/win32.c:152,1
    - Dst: _strtoui64
      Src: /src/glib/glib/tests/win32.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: veh_debugger
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - _strtoui64
    - CloseHandle
    - g_fprintf
    - strtoul
    - SetEvent
    linkageType: ''
    returnType: void
    signature: 'static void veh_debugger (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/win32.c:162,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:170,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:173,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:172,1
    - Dst: veh_debugger
      Src: /src/glib/glib/tests/win32.c:166,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:174,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:176,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:177,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:178,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/win32.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - veh_debugger
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:82,1
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:83,1
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    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: 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: g_free
      Src: /src/glib/glib/tests/gvariant.c:1163,1
    - Dst: g_variant_type_info_get
      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_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: 1
    argNames:
    - type_info
    argTypes:
    - GVariantTypeInfo*
    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:
    - G_VARIANT_TYPE
    - g_free
    - g_test_rand_int_range
    - g_variant_type_info_query
    - g_variant_type_info_ref
    - g_slice_new
    - g_variant_type_info_get
    - g_test_rand_int
    - random_type_string
    linkageType: ''
    returnType: RandomInstance*
    signature: 'static RandomInstance *random_instance (GVariantTypeInfo *type_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2347,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2350,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2351,1
    - Dst: g_variant_equal
      Src: /src/glib/glib/tests/gvariant.c:2340,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2344,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:2331,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:2306,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2306,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2306,1
    - Dst: serialise_tree
      Src: /src/glib/glib/tests/gvariant.c:2310,1
    - Dst: serialise_tree
      Src: /src/glib/glib/tests/gvariant.c:2311,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2315,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:2315,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2315,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:2326,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2329,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2329,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:2329,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2343,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:2338,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2346,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2349,1
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:2303,1
    - Dst: serialise_tree
      Src: /src/glib/glib/tests/gvariant.c:2304,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:2317,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2345,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2352,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/gvariant.c:2325,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:2348,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2353
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2353
    functionName: test_byteswap
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - memcpy
    - g_free
    - g_variant_unref
    - tree_instance_free
    - g_variant_new_from_data
    - g_assert_cmpvariant
    - g_variant_equal
    - tree_instance_new
    - serialise_tree
    - g_variant_type_info_get_type_string
    - g_variant_byteswap
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_byteswap (void) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2628,1
    - Dst: g_variant_get_maybe
      Src: /src/glib/glib/tests/gvariant.c:2638,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2648,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:2660,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2670,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:2740,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/tests/gvariant.c:2721,1
    - Dst: g_variant_type_info_get_type_char
      Src: /src/glib/glib/tests/gvariant.c:2631,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2641,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/tests/gvariant.c:2700,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/tests/gvariant.c:2703,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/tests/gvariant.c:2724,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:2730,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/tests/gvariant.c:2715,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/tests/gvariant.c:2629,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:2668,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/tests/gvariant.c:2728,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/gvariant.c:2736,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2629,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2669,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2687,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2693,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/tests/gvariant.c:2706,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/tests/gvariant.c:2686,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2691,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2688,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/tests/gvariant.c:2709,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/tests/gvariant.c:2712,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2736,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/tests/gvariant.c:2718,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 72
    argCount: 2
    argNames:
    - tree
    - value
    argTypes:
    - TreeInstance*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2742
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2742
    functionName: tree_instance_check_gvariant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_boolean
    - g_variant_get_child_value
    - g_variant_get_int16
    - tree_instance_check_gvariant
    - g_variant_get_uint64
    - g_variant_type_info_get_type_string
    - g_variant_get_type_string
    - g_variant_type_info_get_type_char
    - g_variant_get_maybe
    - g_variant_get_double
    - g_assert_not_reached
    - strcmp
    - memcmp
    - g_variant_get_string
    - g_variant_unref
    - g_variant_get_variant
    - g_variant_get_handle
    - g_variant_get_int64
    - g_variant_get_int32
    - g_variant_n_children
    - g_variant_get_uint16
    - g_variant_get_uint32
    - g_variant_get_byte
    - g_assert_true
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean tree_instance_check_gvariant (TreeInstance *tree,
      GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4240,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4241,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4243,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4244,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4242,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4245,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4246,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4247,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4248,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4252
      start: 4226
    functionDepth: 0
    functionLinenumber: 4226
    functionLinenumberEnd: 4252
    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_parse
      Src: /src/glib/glib/tests/gvariant.c:4574,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4580,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4578,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4579,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4582,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4583,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4585,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4586,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4588,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4589,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4593,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4596,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4591,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4595,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4592,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4599
      start: 4566
    functionDepth: 0
    functionLinenumber: 4566
    functionLinenumberEnd: 4599
    functionName: test_lookup
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_assert_cmpint
    - g_assert_false
    - g_variant_unref
    - g_assert_cmpstr
    - g_variant_parse
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup (void) '
  - 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: test_byteswap
      Src: /src/glib/glib/tests/gvariant.c:2361,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:2363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2364
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2364
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2751,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/tests/gvariant.c:2763,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:2758,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/tests/gvariant.c:2760,1
    - Dst: g_variant_type_is_container
      Src: /src/glib/glib/tests/gvariant.c:2753,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/tests/gvariant.c:2766,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:2769,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:2775,1
    - Dst: tree_instance_build_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2778,1
    - Dst: g_variant_builder_close
      Src: /src/glib/glib/tests/gvariant.c:2780,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2783,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:2783,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - tree
    - builder
    - guess_ok
    argTypes:
    - TreeInstance*
    - GVariantBuilder*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2784
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2784
    functionName: tree_instance_build_gvariant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_array
    - g_variant_type_is_dict_entry
    - g_variant_type_is_maybe
    - g_variant_type_is_tuple
    - g_variant_builder_close
    - g_variant_builder_add_value
    - tree_instance_get_gvariant
    - tree_instance_build_gvariant
    - g_variant_builder_open
    - g_variant_type_is_container
    - randomly
    - 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: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:4608,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:4610,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:4611,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:4609,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 4615
      start: 4601
    functionDepth: 0
    functionLinenumber: 4601
    functionLinenumberEnd: 4615
    functionName: untrusted
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_from_bytes
    - g_variant_unref
    - g_bytes_unref
    - g_variant_get_type
    - g_variant_get_data_as_bytes
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *untrusted (GVariant *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:4192,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4195,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/gvariant.c:4204,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4213,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:4211,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/gvariant.c:4218,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:4196,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4183,1
    - Dst: strlen
      Src: /src/glib/glib/tests/gvariant.c:4191,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4198,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gvariant.c:4205,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/gvariant.c:4217,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:4194,1
    - Dst: MAX
      Src: /src/glib/glib/tests/gvariant.c:4191,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gvariant.c:4200,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gvariant.c:4201,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4214,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4220
      start: 4052
    functionDepth: 0
    functionLinenumber: 4052
    functionLinenumberEnd: 4220
    functionName: test_parse_failures
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_assert_cmpint
    - MAX
    - g_free
    - g_malloc0
    - g_error
    - g_assert_cmpstr
    - g_clear_error
    - strstr
    - g_str_has_prefix
    - g_assert_null
    - g_variant_parse
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_failures (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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:3070,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3146,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:3212,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3154,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3275,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3281,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3298,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3302,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3332,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3427,1
    - Dst: memset
      Src: /src/glib/glib/tests/gvariant.c:3475,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3111,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3120,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3164,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3181,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3192,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3228,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3265,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3278,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3308,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3319,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3381,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3613,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3201,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3067,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:3080,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3127,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3259,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3266,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3374,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:3410,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3538,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3620,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3608,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3650,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3646,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:3654,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:3647,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3190,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3179,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3098,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3123,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3136,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3196,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3185,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3242,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3249,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3260,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3396,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3320,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3394,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3461,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3511,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:3073,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3115,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3132,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3249,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3251,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3301,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3447,1
    - Dst: memset
      Src: /src/glib/glib/tests/gvariant.c:3492,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3315,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3352,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3364,1
    - Dst: g_variant_builder_close
      Src: /src/glib/glib/tests/gvariant.c:3353,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3307,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:3658,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3094,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3140,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3141,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3147,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3179,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3183,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3230,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3246,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3346,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3355,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3573,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3558,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3089,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:3125,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3255,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3276,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3322,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3328,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:3331,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3375,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:3408,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3534,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3594,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3649,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3273,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3366,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:3404,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3304,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3162,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:3114,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3143,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3213,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3235,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3245,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3253,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3254,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3262,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3270,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3350,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/tests/gvariant.c:3391,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3402,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3555,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3522,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/tests/gvariant.c:3612,1
    - Dst: g_variant_builder_add_parsed
      Src: /src/glib/glib/tests/gvariant.c:3066,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3095,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3080,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3097,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3153,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3237,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3250,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3271,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3299,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3303,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3637,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3182,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3199,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3211,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3232,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/tests/gvariant.c:3233,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3269,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3540,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3612,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3632,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3384,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:3415,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3399,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:3282,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3397,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3159,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3065,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:3068,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:3071,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:3119,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3206,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3203,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3309,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3318,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3325,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3639,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3324,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/tests/gvariant.c:3636,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3535,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3636,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3651,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3189,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3180,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3195,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3130,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3188,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3229,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3244,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3330,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3354,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3359,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3386,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3416,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3609,1
    - Dst: g_variant_new_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:3070,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3073,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3126,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3134,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3363,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3420,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3424,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3497,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3509,1
    - Dst: memset
      Src: /src/glib/glib/tests/gvariant.c:3572,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3346,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3279,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3633,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3512,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3361,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3184,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3096,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3158,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3208,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3252,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3314,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3347,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3356,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3368,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3369,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3652,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:3392,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3476,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3585,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3421,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3209,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:3069,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:3072,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:3093,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:3089,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3205,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3116,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3258,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3283,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3300,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:3418,1
    - Dst: memset
      Src: /src/glib/glib/tests/gvariant.c:3589,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3419,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3376,1
    - Dst: g_variant_iter_copy
      Src: /src/glib/glib/tests/gvariant.c:3380,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3488,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3606,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3358,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3379,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3383,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3228,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3200,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3093,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:3137,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3142,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3231,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3240,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3347,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3389,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3515,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3544,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3327,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3311,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 453
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3659
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3659
    functionName: test_varargs
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - g_variant_builder_close
    - g_test_assert_expected_messages
    - g_variant_iter_copy
    - g_variant_get_child_value
    - g_variant_builder_add_parsed
    - g_strfreev
    - g_variant_get_child
    - g_variant_type_info_assert_no_infos
    - g_variant_new_dict_entry
    - g_variant_iter_next
    - g_assert_cmpint
    - g_variant_new_string
    - g_variant_print
    - g_variant_builder_add_value
    - g_variant_builder_add
    - g_test_expect_message
    - memset
    - g_variant_new
    - g_variant_new_double
    - g_assert_cmpstrv
    - g_variant_iter_new
    - g_variant_iter_loop
    - g_assert_cmpuint
    - g_variant_iter_init
    - g_variant_unref
    - g_variant_get
    - g_variant_iter_free
    - g_strdup_printf
    - g_variant_builder_init
    - g_assert_null
    - g_variant_ref_sink
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_assert_false
    - g_free
    - g_variant_new_variant
    - check_and_free
    - g_variant_n_children
    - g_assert_cmpstr
    - g_variant_builder_open
    - g_assert_true
    - do_failed_test
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void test_varargs (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/glib/glib/tests/gvariant.c:1344,1
    - Dst: MAX
      Src: /src/glib/glib/tests/gvariant.c:1344,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gvariant.c:1345,1
    - Dst: malloc
      Src: /src/glib/glib/tests/gvariant.c:1351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 1355
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1355
    functionName: align_malloc
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - MAX
    - posix_memalign
    - g_error
    - malloc
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer align_malloc (gsize size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/gvariant.c:3670,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/tests/gvariant.c:3673,1
    - Dst: va_start
      Src: /src/glib/glib/tests/gvariant.c:3672,1
    - Dst: va_end
      Src: /src/glib/glib/tests/gvariant.c:3674,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - value
    - format
    - '...'
    argTypes:
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3678
      start: 3661
    functionDepth: 0
    functionLinenumber: 3661
    functionLinenumberEnd: 3678
    functionName: hash_get
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - g_assert_cmpint
    - va_start
    - g_variant_get_va
    - g_str_has_suffix
    linkageType: ''
    returnType: void
    signature: 'static void hash_get (GVariant *value, const gchar *format, ...) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:2371,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:2391,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:2401,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2398,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/gvariant.c:2396,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:2380,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:2381,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:2384,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:2392,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2396,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2400,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gvariant.c:2374,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:2395,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:2402,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gvariant.c:2375,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:2385,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:2388,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:2403,1
    - Dst: g_variant_unref
      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: 2404
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2404
    functionName: test_serialiser_children
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_bytes_equal
    - g_variant_type_free
    - g_variant_type_new_maybe
    - g_variant_get_child_value
    - g_variant_get_data
    - g_variant_new_maybe
    - g_variant_unref
    - g_bytes_unref
    - g_assert_cmpvariant
    - g_variant_get_data_as_bytes
    - g_test_summary
    - g_variant_new_array
    - g_assert_true
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_serialiser_children (void) '
  - 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:1235,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:1234,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_assert_cmpint
    - g_assert_cmpuint
    - g_rand_int
    - g_rand_free
    - g_rand_new_with_seed
    - g_assert_true
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean random_instance_assert (RandomInstance *instance,
      guchar *buffer, gsize size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:2413,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2418,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/tests/gvariant.c:2418,1
    - Dst: serialise_tree
      Src: /src/glib/glib/tests/gvariant.c:2416,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2419,1
    - Dst: check_tree
      Src: /src/glib/glib/tests/gvariant.c:2419,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:2431,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2433,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/tests/gvariant.c:2451,1
    - Dst: check_tree
      Src: /src/glib/glib/tests/gvariant.c:2452,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2458,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2454,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:2457,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - fuzziness
    argTypes:
    - gdouble*
    constantsTouched: []
    func_position:
      end: 2459
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2459
    functionName: test_fuzz
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - randomly
    - g_free
    - tree_instance_free
    - tree_instance_new
    - g_test_rand_int_range
    - g_variant_serialised_is_normal
    - g_assert_true
    - serialise_tree
    - check_tree
    linkageType: ''
    returnType: void
    signature: 'static void test_fuzz (gdouble *fuzziness) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GSIZE_TO_LE
      Src: /src/glib/glib/tests/gvariant.c:1391,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:1392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - offset_ptr
    - offset
    - offset_size
    argTypes:
    - guchar**
    - gsize
    - guint
    constantsTouched: []
    func_position:
      end: 1393
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1393
    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:1881,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1884
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1884
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:1410,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1412,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1415,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:1459,1
    - Dst: append_instance_data
      Src: /src/glib/glib/tests/gvariant.c:1433,1
    - Dst: random_instance_assert
      Src: /src/glib/glib/tests/gvariant.c:1466,1
    - Dst: flavoured_malloc
      Src: /src/glib/glib/tests/gvariant.c:1453,1
    - Dst: align_free
      Src: /src/glib/glib/tests/gvariant.c:1475,1
    - Dst: random_instance
      Src: /src/glib/glib/tests/gvariant.c:1403,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1425,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1467,1
    - Dst: random_instance_free
      Src: /src/glib/glib/tests/gvariant.c:1474,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1411,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:1411,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1418,1
    - Dst: align_malloc
      Src: /src/glib/glib/tests/gvariant.c:1432,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1464,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1427,1
    - Dst: flavoured_free
      Src: /src/glib/glib/tests/gvariant.c:1469,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1473,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:1409,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1438,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:1463,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1476
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1476
    functionName: test_maybe
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - random_instance_assert
    - align_free
    - g_variant_type_info_get
    - flavoured_free
    - g_variant_type_info_get_type_string
    - append_instance_data
    - g_assert_cmpint
    - g_variant_serialised_get_child
    - flavoured_malloc
    - g_variant_type_info_unref
    - align_malloc
    - g_strdup_printf
    - g_variant_serialiser_serialise
    - G_VARIANT_TYPE
    - g_free
    - g_variant_serialiser_needed_size
    - random_instance
    - g_assert_true
    - random_instance_free
    linkageType: ''
    returnType: void
    signature: 'static void test_maybe (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:1932,1
    - Dst: g_variant_serialiser_is_signature
      Src: /src/glib/glib/tests/gvariant.c:1944,1
    - Dst: g_variant_serialiser_is_object_path
      Src: /src/glib/glib/tests/gvariant.c:1940,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1948,1
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/tests/gvariant.c:1936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1950
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1950
    functionName: test_strings
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_serialiser_is_object_path
    - g_variant_serialiser_is_string
    - g_assert_cmpuint
    - g_variant_serialiser_is_signature
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_strings (void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - 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_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:795,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: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: ALIGNED
      Src: /src/glib/glib/tests/gvariant.c:768,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:801,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:809,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:816,1
    - 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_equal
      Src: /src/glib/glib/tests/gvariant.c:796,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:821,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:827,1
    - Dst: MAX
      Src: /src/glib/glib/tests/gvariant.c:758,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:802,1
    - Dst: ALIGNED
      Src: /src/glib/glib/tests/gvariant.c:774,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:822,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_array
    - g_variant_type_is_dict_entry
    - g_variant_type_is_maybe
    - g_variant_type_is_tuple
    - calculate_type_info
    - g_variant_type_n_items
    - ALIGNED
    - g_variant_type_first
    - g_assert_not_reached
    - g_variant_type_element
    - g_variant_type_next
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void calculate_type_info (const GVariantType *type, gsize *fixed_size,
      guint *alignment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_maybe
      Src: /src/glib/glib/tests/gvariant.c:1484,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1487
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1487
    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: get_asv
      Src: /src/glib/glib/tests/gvariant.c:5039,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/glib/tests/gvariant.c:5052,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5057,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/gvariant.c:5069,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5077,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5047,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/glib/glib/tests/gvariant.c:5040,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5049,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/glib/tests/gvariant.c:5049,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5050,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5053,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:5062,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5064,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:5073,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5074,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5078,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/glib/tests/gvariant.c:5047,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5052,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5058,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5056,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/glib/tests/gvariant.c:5057,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:5060,1
    - Dst: g_variant_dict_end
      Src: /src/glib/glib/tests/gvariant.c:5060,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5061,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5062,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:5062,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5048,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/glib/tests/gvariant.c:5055,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5055,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/glib/tests/gvariant.c:5053,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5064,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:5066,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:5067,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5071,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:5071,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:5072,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5079
      start: 5036
    functionDepth: 0
    functionLinenumber: 5036
    functionLinenumberEnd: 5079
    functionName: test_stack_dict_init
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_DICT_INIT
    - g_variant_iter_next
    - g_variant_new_string
    - g_assert_nonnull
    - get_asv
    - g_variant_get_string
    - g_variant_dict_lookup
    - g_variant_type_equal
    - g_assert_cmpuint
    - g_variant_iter_init
    - g_variant_unref
    - g_variant_get_type
    - g_variant_ref_sink
    - g_variant_dict_insert_value
    - g_free
    - g_variant_dict_end
    - g_variant_n_children
    - g_ascii_strup
    - g_assert_cmpstr
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_stack_dict_init (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1506,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:1506,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1508,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1511,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:1518,1
    - Dst: calculate_offset_size
      Src: /src/glib/glib/tests/gvariant.c:1540,1
    - Dst: align_malloc
      Src: /src/glib/glib/tests/gvariant.c:1555,1
    - Dst: random_instance
      Src: /src/glib/glib/tests/gvariant.c:1520,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1548,1
    - Dst: random_instance_assert
      Src: /src/glib/glib/tests/gvariant.c:1602,1
    - Dst: flavoured_free
      Src: /src/glib/glib/tests/gvariant.c:1606,1
    - Dst: random_type_string
      Src: /src/glib/glib/tests/gvariant.c:1503,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:1504,1
    - Dst: append_instance_size
      Src: /src/glib/glib/tests/gvariant.c:1534,1
    - Dst: append_instance_data
      Src: /src/glib/glib/tests/gvariant.c:1560,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1565,1
    - Dst: flavoured_malloc
      Src: /src/glib/glib/tests/gvariant.c:1581,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:1587,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1591,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1618,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1507,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:1507,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1517,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/tests/gvariant.c:1536,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1593,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/tests/gvariant.c:1593,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:1599,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1600,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1603,1
    - Dst: random_instance_free
      Src: /src/glib/glib/tests/gvariant.c:1614,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/tests/gvariant.c:1508,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1510,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1523,1
    - Dst: append_offset
      Src: /src/glib/glib/tests/gvariant.c:1561,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1564,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/tests/gvariant.c:1573,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:1591,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1615,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1619,1
    - Dst: align_free
      Src: /src/glib/glib/tests/gvariant.c:1620,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 106
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1621
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1621
    functionName: test_array
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - append_offset
    - random_instance_assert
    - random_instance_free
    - align_free
    - g_variant_type_info_get
    - flavoured_free
    - append_instance_data
    - g_assert_cmpint
    - g_variant_serialised_get_child
    - flavoured_malloc
    - append_instance_size
    - g_variant_type_info_unref
    - memcmp
    - align_malloc
    - g_assert_cmpuint
    - g_variant_type_info_query
    - g_strdup_printf
    - calculate_offset_size
    - g_variant_serialiser_serialise
    - random_type_string
    - G_VARIANT_TYPE
    - g_free
    - g_variant_type_info_element
    - g_variant_serialiser_needed_size
    - random_instance
    - g_new
    - g_test_rand_int_range
    - g_assert_true
    - g_variant_serialised_n_children
    linkageType: ''
    returnType: void
    signature: 'static void test_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_container
      Src: /src/glib/glib/tests/gvariant.c:2943,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:2946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2947
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2947
    functionName: test_containers
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_assert_no_infos
    - test_container
    linkageType: ''
    returnType: void
    signature: 'static void test_containers (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3045,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3048,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3047,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - value
    - str
    argTypes:
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3049
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3049
    functionName: check_and_free
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_print
    - g_variant_unref
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void check_and_free (GVariant *value, const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/gvariant.c:4946,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/gvariant.c:4947,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4951,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:4957,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4960,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/gvariant.c:4934,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:4943,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4947,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:4952,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:4953,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:4954,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:4958,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:4939,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:4941,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4959,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:4935,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:4936,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/glib/tests/gvariant.c:4938,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4944,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:4949,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/gvariant.c:4955,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4955,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:4948,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4961
      start: 4922
    functionDepth: 0
    functionLinenumber: 4922
    functionLinenumberEnd: 4961
    functionName: test_gbytes
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_bytes_equal
    - g_assert_false
    - g_assert_cmpuint
    - g_variant_get_fixed_array
    - g_bytes_new
    - g_variant_new_from_bytes
    - g_variant_unref
    - g_variant_get_child_value
    - g_bytes_unref
    - g_variant_get_data_as_bytes
    - g_assert_true
    - g_variant_new_parsed
    linkageType: ''
    returnType: void
    signature: 'static void test_gbytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5282,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5290,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5288,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5291,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5287,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5292,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5292,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5294,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5296,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5297,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5299,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5301,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5302
      start: 5268
    functionDepth: 0
    functionLinenumber: 5268
    functionLinenumberEnd: 5302
    functionName: test_normal_checking_array_offsets2
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_variant_unref
    - g_variant_new_from_data
    - g_assert_cmpvariant
    - g_variant_get_normal_form
    - g_variant_new_parsed
    - g_variant_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_array_offsets2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2956,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2957,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2959,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2962,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2966,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2969,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2969,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2972,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2972,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2975,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2976,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2983,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2985,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2981,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2979,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2986,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2955,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2957,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2961,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2963,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2962,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2965,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2967,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2967,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2971,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2974,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2980,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/tests/gvariant.c:2993,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2978,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:2994,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2984,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2989,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2955,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2966,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2975,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2978,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2980,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2981,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2982,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2982,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2983,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2984,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/tests/gvariant.c:2988,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:2990,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2974,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2979,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2986,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:2991,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2956,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2958,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2958,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2959,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2961,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2964,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2964,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2963,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2965,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2971,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2976,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:2990,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2985,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2990,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 87
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2995
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 2995
    functionName: test_format_strings
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_false
    - g_variant_type_equal
    - g_variant_format_string_scan
    - g_variant_type_free
    - g_variant_format_string_scan_type
    - g_assert_null
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_format_strings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3054,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:3056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3057
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3057
    functionName: test_varargs_empty_array
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void test_varargs_empty_array (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: describe_info
      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_variant_type_info_n_members
      Src: /src/glib/glib/tests/gvariant.c:880,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:887,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:898,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:896,1
    - Dst: strlen
      Src: /src/glib/glib/tests/gvariant.c:924,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:907,1
    - Dst: describe_info
      Src: /src/glib/glib/tests/gvariant.c:910,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/gvariant.c:912,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
    - 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: 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_free
      Src: /src/glib/glib/tests/gvariant.c:893,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:907,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:914,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:859,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:890,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: describe_info
      Src: /src/glib/glib/tests/gvariant.c:911,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:913,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    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:
    - strlen
    - g_strdup
    - g_string_new
    - g_string_append
    - g_free
    - g_variant_type_info_member_info
    - g_variant_type_info_element
    - g_variant_type_info_n_members
    - g_assert_cmpint
    - g_variant_type_info_get_type_char
    - g_string_append_c
    - g_variant_type_info_get_type_string
    - describe_info
    - g_strdup_printf
    - g_string_free
    - g_strjoin
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *describe_info (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5094,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5096,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5101,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5099,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5098,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5103
      start: 5083
    functionDepth: 0
    functionLinenumber: 5083
    functionLinenumberEnd: 5103
    functionName: test_normal_checking_tuples
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_from_data
    - g_variant_unref
    - g_assert_nonnull
    - g_variant_get_normal_form
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuples (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/gvariant.c:2468,1
    - Dst: test_fuzz
      Src: /src/glib/glib/tests/gvariant.c:2471,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:2473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2474
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2474
    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_variant_builder_new
      Src: /src/glib/glib/tests/gvariant.c:3728,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3729,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/tests/gvariant.c:3741,1
    - Dst: g_variant_builder_new
      Src: /src/glib/glib/tests/gvariant.c:3737,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/glib/tests/gvariant.c:3742,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3744,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:3750,1
    - Dst: g_variant_builder_new
      Src: /src/glib/glib/tests/gvariant.c:3740,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/tests/gvariant.c:3748,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3745,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3746,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3732,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/glib/tests/gvariant.c:3734,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/glib/tests/gvariant.c:3735,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/glib/tests/gvariant.c:3738,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3747,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3731,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3730,1
    - Dst: g_variant_builder_ref
      Src: /src/glib/glib/tests/gvariant.c:3733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3751
      start: 3722
    functionDepth: 0
    functionLinenumber: 3722
    functionLinenumberEnd: 3751
    functionName: test_builder_memory
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_clear
    - g_variant_builder_new
    - g_variant_builder_add
    - g_variant_builder_unref
    - g_variant_builder_open
    - g_variant_builder_init
    - g_variant_type_info_assert_no_infos
    - g_variant_builder_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_builder_memory (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4395,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:4397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4398
      start: 4392
    functionDepth: 0
    functionLinenumber: 4392
    functionLinenumberEnd: 4398
    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: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4887,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4893,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4889,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4891,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4895,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4897,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4901
      start: 4884
    functionDepth: 0
    functionLinenumber: 4884
    functionLinenumberEnd: 4901
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:2140,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:2145,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/tests/gvariant.c:2179,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/tests/gvariant.c:2190,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/tests/gvariant.c:2168,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:2197,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 2
    argNames:
    - serialised
    - data
    argTypes:
    - GVariantSerialised*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2204
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2204
    functionName: tree_filler
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - memcpy
    - GUINT64_SWAP_LE_BE
    - g_variant_serialiser_needed_size
    - GUINT32_SWAP_LE_BE
    - GUINT16_SWAP_LE_BE
    - g_variant_serialiser_serialise
    linkageType: ''
    returnType: void
    signature: 'static void tree_filler (GVariantSerialised *serialised, gpointer
      data) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2543,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:2604,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2513,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:2515,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2546,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2521,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:2530,1
    - Dst: g_variant_new_tuple
      Src: /src/glib/glib/tests/gvariant.c:2534,1
    - Dst: g_variant_new_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:2548,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2556,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2558,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:2559,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/tests/gvariant.c:2596,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:2600,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/tests/gvariant.c:2612,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2482,1
    - Dst: g_variant_type_info_get_type_char
      Src: /src/glib/glib/tests/gvariant.c:2484,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:2498,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:2496,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2492,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:2501,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:2511,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2532,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/tests/gvariant.c:2564,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/tests/gvariant.c:2572,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/tests/gvariant.c:2588,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:2616,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/tests/gvariant.c:2592,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:2517,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2545,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2535,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:2520,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:2568,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/tests/gvariant.c:2576,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:2580,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/tests/gvariant.c:2608,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:2584,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 87
    argCount: 1
    argNames:
    - tree
    argTypes:
    - TreeInstance*
    constantsTouched: []
    func_position:
      end: 2620
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2620
    functionName: tree_instance_get_gvariant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_int32
    - g_variant_type_element
    - g_variant_new_uint64
    - g_variant_new_dict_entry
    - g_variant_type_info_get_type_string
    - g_variant_new_string
    - g_variant_new_uint16
    - g_variant_type_info_get_type_char
    - g_assert_not_reached
    - g_variant_new_int64
    - g_variant_new_double
    - g_variant_new_array
    - randomly
    - g_assert_cmpuint
    - g_variant_new_handle
    - g_variant_new_boolean
    - g_variant_new_byte
    - g_variant_new_int16
    - g_free
    - g_variant_new_tuple
    - g_variant_new_signature
    - g_variant_new_variant
    - g_variant_new_uint32
    - g_variant_new_maybe
    - g_new
    - tree_instance_get_gvariant
    - g_variant_new_object_path
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *tree_instance_get_gvariant (TreeInstance *tree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/gvariant.c:3760,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:3772,1
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:3770,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:3764,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:3771,1
    - Dst: g_variant_equal
      Src: /src/glib/glib/tests/gvariant.c:3775,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3777,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/gvariant.c:3781,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:3782,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/gvariant.c:3783,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:3786,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/gvariant.c:3794,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:3796,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/gvariant.c:3790,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3791,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/gvariant.c:3791,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3797
      start: 3753
    functionDepth: 0
    functionLinenumber: 3753
    functionLinenumberEnd: 3797
    functionName: test_hashing
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_hash_table_unref
    - g_variant_unref
    - tree_instance_free
    - g_hash_table_insert
    - g_hash_table_lookup
    - tree_instance_get_gvariant
    - g_variant_equal
    - g_variant_type_info_assert_no_infos
    - g_variant_ref_sink
    - g_hash_table_new_full
    - tree_instance_new
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_hashing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4403,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4403,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:4405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4406
      start: 4400
    functionDepth: 0
    functionLinenumber: 4400
    functionLinenumberEnd: 4406
    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:
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4908,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4910,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4914,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/glib/tests/gvariant.c:4915,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4912,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4916,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4918,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:4919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4920
      start: 4903
    functionDepth: 0
    functionLinenumber: 4903
    functionLinenumberEnd: 4920
    functionName: test_checksum_nested
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_bytestring
    - verify_gvariant_checksum_va
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void test_checksum_nested (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5330,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5333,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:5333,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5340,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5340,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5341,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5353,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5353,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5360,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5365,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5376,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:5330,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5339,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5344,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5343,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5358,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5361,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5362,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5364,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5372,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5372,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5380,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5339,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:5352,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5345,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5360,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5371,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5373,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5379,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5335,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5341,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5361,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5362,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5366,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5369,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5373,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5375,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5381,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5371,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5377,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5382
      start: 5308
    functionDepth: 0
    functionLinenumber: 5308
    functionLinenumberEnd: 5382
    functionName: test_normal_checking_array_offsets_minimal_sized
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_assert_false
    - g_variant_is_normal_form
    - g_assert_cmpuint
    - g_malloc0
    - g_variant_n_children
    - g_variant_unref
    - g_variant_builder_add_value
    - g_variant_new_from_data
    - g_steal_pointer
    - g_variant_builder_init
    - g_variant_get_normal_form
    - g_variant_new_array
    - g_assert_true
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_array_offsets_minimal_sized (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: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5417,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5444,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5447,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5448,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5445,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5449,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5449,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5451,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5453,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5454,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5457,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5458,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5459
      start: 5414
    functionDepth: 0
    functionLinenumber: 5414
    functionLinenumberEnd: 5459
    functionName: test_normal_checking_tuple_offsets2
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_variant_unref
    - g_variant_new_from_data
    - g_assert_cmpvariant
    - g_variant_get_normal_form
    - g_variant_new_parsed
    - g_variant_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets2 (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_malloc
    - g_assert_cmpuint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer flavoured_malloc (gsize size, gsize flavour) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5397,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5401,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5402,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5399,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: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5406
      start: 5386
    functionDepth: 0
    functionLinenumber: 5386
    functionLinenumberEnd: 5406
    functionName: test_normal_checking_tuple_offsets
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_from_data
    - g_variant_unref
    - g_assert_nonnull
    - g_variant_get_normal_form
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swapped16
      Src: /src/glib/glib/tests/gvariant.c:3822,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3835,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3836,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3838,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3844,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3837,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3847,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3848,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3849,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3850,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3852,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:3856,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3862,1
    - Dst: swapped16
      Src: /src/glib/glib/tests/gvariant.c:3820,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:3832,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3841,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:3844,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:3837,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3851,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3860,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3861,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3864,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3866,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3869,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3870,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3867,1
    - Dst: swapped16
      Src: /src/glib/glib/tests/gvariant.c:3816,1
    - Dst: swapped16
      Src: /src/glib/glib/tests/gvariant.c:3818,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:3828,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:3829,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3832,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3839,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3840,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3859,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:3862,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3865,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:3866,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3868,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3863,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:3849,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3853,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3871
      start: 3799
    functionDepth: 0
    functionLinenumber: 3799
    functionLinenumberEnd: 3871
    functionName: test_gv_byteswap
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_VARIANT_TYPE
    - g_free
    - g_assert_cmpuint
    - g_variant_print
    - swapped16
    - g_variant_unref
    - g_assert_cmpstr
    - g_variant_new_from_data
    - g_variant_get_size
    - g_variant_byteswap
    linkageType: ''
    returnType: void
    signature: 'static void test_gv_byteswap (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gvariant.c:3880,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3885,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3887,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:3884,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:3885,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3888,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:3888,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:3890,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3892,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3894
      start: 3873
    functionDepth: 0
    functionLinenumber: 3873
    functionLinenumberEnd: 3894
    functionName: test_gv_byteswap_non_normal_non_aligned
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_variant_is_normal_form
    - g_variant_unref
    - g_variant_new_from_data
    - g_assert_cmpvariant
    - g_test_summary
    - g_assert_true
    - g_variant_byteswap
    linkageType: ''
    returnType: void
    signature: 'static void test_gv_byteswap_non_normal_non_aligned (void) '
  - 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_int
      Src: /src/glib/glib/tests/gvariant.c:1264,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/gvariant.c:1266,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_assert_cmpint
    - g_rand_new_with_seed
    - g_rand_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean random_instance_check (RandomInstance *instance, guchar
      *buffer, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/gvariant.c:3001,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/gvariant.c:3003,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/gvariant.c:3002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - test
    - pattern
    argTypes:
    - char*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3004
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3004
    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_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4768,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:4770,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4772,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4773,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/glib/tests/gvariant.c:4769,1
    - Dst: g_variant_new_fixed_array
      Src: /src/glib/glib/tests/gvariant.c:4778,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4779,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4780,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:4780,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/glib/tests/gvariant.c:4781,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:4782,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4784,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4786
      start: 4758
    functionDepth: 0
    functionLinenumber: 4758
    functionLinenumberEnd: 4786
    functionName: test_fixed_array
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_variant_get_type_string
    - g_assert_cmpuint
    - g_variant_get_fixed_array
    - g_variant_unref
    - g_assert_cmpstr
    - g_variant_new_fixed_array
    - G_N_ELEMENTS
    - g_variant_new_parsed
    linkageType: ''
    returnType: void
    signature: 'static void test_fixed_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/tests/gvariant.c:5780,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5786,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:5782,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5791,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5789,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5792,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5794,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5798
      start: 5759
    functionDepth: 0
    functionLinenumber: 5759
    functionLinenumberEnd: 5798
    functionName: test_unaligned_construction
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_variant_unref
    - g_variant_new_from_data
    - g_variant_get_normal_form
    - G_N_ELEMENTS
    - G_STATIC_ASSERT
    linkageType: ''
    returnType: void
    signature: 'static void test_unaligned_construction (void) '
  - 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_true
      Src: /src/glib/glib/tests/gvariant.c:1289,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1290,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:
    - g_assert_true
    - random_instance_write
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void random_instance_filler (GVariantSerialised *serialised,
      gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/gvariant.c:3012,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3017,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3015,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3019,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:3020,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3021,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3023,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3025,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/tests/gvariant.c:3027,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:3028,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3029,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3034,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3036,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3032,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3038,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:3037,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3031,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3039
      start: 3006
    functionDepth: 0
    functionLinenumber: 3006
    functionLinenumberEnd: 3039
    functionName: test_invalid_varargs
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_assert_expected_messages
    - g_variant_new_va
    - g_variant_unref
    - g_variant_get
    - g_test_expect_message
    - g_assert_null
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void test_invalid_varargs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4803,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4810,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4821,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4823,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4825,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:4826,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4827,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:4833,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4834,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:4835,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4839,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4820,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4836,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:4793,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4797,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4799,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4801,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4801,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4821,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4822,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4822,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:4828,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4836,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4838,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:4817,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4831,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4823,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4841,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4794,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:4802,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:4804,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4807,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4806,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4807,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4810,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:4811,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4812,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4814,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4818,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4830,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4831,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4825,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4839,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4820,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4796,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4797,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4796,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4798,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4798,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4799,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4806,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4803,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:4809,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4812,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4830,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4834,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4827,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4842
      start: 4788
    functionDepth: 0
    functionLinenumber: 4788
    functionLinenumberEnd: 4842
    functionName: test_check_format_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_test_assert_expected_messages
    - g_variant_unref
    - g_test_expect_message
    - g_variant_check_format_string
    - g_variant_new
    - g_variant_ref_sink
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_check_format_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5744,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5746,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5751,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5749,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5748,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5753
      start: 5733
    functionDepth: 0
    functionLinenumber: 5733
    functionLinenumberEnd: 5753
    functionName: test_normal_checking_empty_object_path
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_from_data
    - g_variant_unref
    - g_assert_nonnull
    - g_variant_get_normal_form
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_empty_object_path (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1112,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
    - Dst: g_strndup
      Src: /src/glib/glib/tests/gvariant.c:1135,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/gvariant.c:1128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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_bit
    - g_test_rand_int_range
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *random_type_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gvariant.c:4370,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gvariant.c:4380,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4347,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4347,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4347,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4357,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4322,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4322,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4327,1
    - Dst: g_variant_new_strv
      Src: /src/glib/glib/tests/gvariant.c:4327,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4332,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4337,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4332,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4332,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4342,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4342,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4347,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4365,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4357,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/gvariant.c:4373,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gvariant.c:4362,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4357,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:4374,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4342,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4372,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4376,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4352,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4322,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4322,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4322,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4327,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4327,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4327,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4337,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4337,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4332,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4337,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gvariant.c:4363,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4342,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4352,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4352,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4382
      start: 4308
    functionDepth: 0
    functionLinenumber: 4308
    functionLinenumberEnd: 4382
    functionName: test_parser_recursion_maybes
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - G_VARIANT_TYPE
    - g_test_message
    - g_clear_pointer
    - g_variant_new_uint32
    - g_assert_nonnull
    - g_assert_no_error
    - g_variant_unref
    - g_variant_new_maybe
    - g_assert_cmpvariant
    - g_test_summary
    - g_variant_ref_sink
    - G_N_ELEMENTS
    - g_variant_parse
    - g_test_bug
    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:4850,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4854,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:4852,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:4851,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - sha256
    - v
    argTypes:
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 4855
      start: 4844
    functionDepth: 0
    functionLinenumber: 4844
    functionLinenumberEnd: 4855
    functionName: verify_gvariant_checksum
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpstr
    - g_compute_checksum_for_data
    - g_variant_get_data
    - g_variant_get_size
    linkageType: ''
    returnType: void
    signature: "static void verify_gvariant_checksum (const gchar *sha256,\t\t\t GVariant
      *v) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5252,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5256,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5259,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5254,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5257,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5261
      start: 5241
    functionDepth: 0
    functionLinenumber: 5241
    functionLinenumberEnd: 5261
    functionName: test_normal_checking_array_offsets
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_from_data
    - g_variant_unref
    - g_assert_nonnull
    - g_variant_get_normal_form
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_array_offsets (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: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4387,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:4389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4390
      start: 4384
    functionDepth: 0
    functionLinenumber: 4384
    functionLinenumberEnd: 4390
    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: va_start
      Src: /src/glib/glib/tests/gvariant.c:4865,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/tests/gvariant.c:4867,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4872,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:4871,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4868,1
    - Dst: va_end
      Src: /src/glib/glib/tests/gvariant.c:4877,1
    - Dst: verify_gvariant_checksum
      Src: /src/glib/glib/tests/gvariant.c:4879,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - sha256
    - fmt
    - '...'
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4882
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4882
    functionName: verify_gvariant_checksum_va
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_unref
    - g_variant_new_va
    - verify_gvariant_checksum
    - va_start
    - g_variant_ref_sink
    - g_variant_byteswap
    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:5221,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5225,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5221,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5223,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5226,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5228,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5229,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/gvariant.c:5231,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5231,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5231,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5236,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5234,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5235,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5232,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5237
      start: 5210
    functionDepth: 0
    functionLinenumber: 5210
    functionLinenumberEnd: 5237
    functionName: test_normal_checking_array_offsets_overlapped
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_nonnull
    - g_variant_get_data
    - g_variant_unref
    - g_variant_new_from_data
    - g_assert_cmpvariant
    - g_assert_cmpmem
    - g_variant_get_normal_form
    - g_variant_new_parsed
    - g_variant_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_array_offsets_overlapped (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/gvariant.c:702,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
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:714,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_variant_type_string_is_valid
    - g_assert_false
    - g_free
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void test_gvarianttype_string_scan_recursion_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_tuple
      Src: /src/glib/glib/tests/gvariant.c:1795,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1798
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1798
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4985,1
    - Dst: g_variant_parse_error_print_context
      Src: /src/glib/glib/tests/gvariant.c:4989,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:4988,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4987,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:4990,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gvariant.c:4990,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4991,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/gvariant.c:4992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4994
      start: 4969
    functionDepth: 0
    functionLinenumber: 4969
    functionLinenumberEnd: 4994
    functionName: test_print_context
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_nonnull
    - g_clear_error
    - strstr
    - g_assert_null
    - g_variant_parse
    - G_N_ELEMENTS
    - g_variant_parse_error_print_context
    linkageType: ''
    returnType: void
    signature: 'static void test_print_context (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5543,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5561,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5560,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5563,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5563,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5565,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5566,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5567,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5567,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5569,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5570,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5573,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5574,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5575,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5576
      start: 5524
    functionDepth: 0
    functionLinenumber: 5524
    functionLinenumberEnd: 5576
    functionName: test_normal_checking_tuple_offsets4
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_false
    - g_variant_is_normal_form
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_variant_unref
    - g_variant_new_from_data
    - g_assert_cmpvariant
    - g_variant_get_normal_form
    - g_variant_new_parsed
    - g_variant_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets4 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1820,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1831,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1857,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:1853,1
    - Dst: random_instance_free
      Src: /src/glib/glib/tests/gvariant.c:1871,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1816,1
    - Dst: random_instance
      Src: /src/glib/glib/tests/gvariant.c:1811,1
    - Dst: align_malloc
      Src: /src/glib/glib/tests/gvariant.c:1825,1
    - Dst: append_instance_data
      Src: /src/glib/glib/tests/gvariant.c:1826,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:1828,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1865,1
    - Dst: align_free
      Src: /src/glib/glib/tests/gvariant.c:1872,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1859,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:1857,1
    - Dst: flavoured_malloc
      Src: /src/glib/glib/tests/gvariant.c:1847,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/tests/gvariant.c:1859,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:1861,1
    - Dst: flavoured_free
      Src: /src/glib/glib/tests/gvariant.c:1866,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1870,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1810,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:1813,1
    - Dst: strlen
      Src: /src/glib/glib/tests/gvariant.c:1814,1
    - Dst: random_instance_check
      Src: /src/glib/glib/tests/gvariant.c:1863,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1873
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1873
    functionName: test_variant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - random_instance_free
    - align_free
    - g_variant_type_info_get
    - flavoured_free
    - g_variant_type_info_get_type_string
    - strlen
    - append_instance_data
    - g_assert_cmpint
    - g_variant_serialised_get_child
    - flavoured_malloc
    - g_variant_type_info_unref
    - memcmp
    - random_instance_check
    - memcpy
    - align_malloc
    - g_assert_cmpuint
    - g_variant_serialiser_serialise
    - g_variant_serialiser_needed_size
    - random_instance
    - g_assert_true
    - g_variant_serialised_n_children
    linkageType: ''
    returnType: void
    signature: 'static void test_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5002
      start: 4996
    functionDepth: 0
    functionLinenumber: 4996
    functionLinenumberEnd: 5002
    functionName: test_error_quark
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_error_quark (void) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:61,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:70,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:86,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:98,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:88,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:131,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/tests/gvariant.c:134,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:153,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:171,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:179,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:180,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:151,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:119,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:181,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:172,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:173,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:174,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:78,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:96,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:105,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_string_append
      Src: /src/glib/glib/tests/gvariant.c:127,1
    - Dst: append_tuple_type_string
      Src: /src/glib/glib/tests/gvariant.c:138,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:152,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:164,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:166,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:156,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:148,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:157,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:64,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:65,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:72,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:90,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:92,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
      Src: /src/glib/glib/tests/gvariant.c:149,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:154,1
    - Dst: g_variant_type_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:130,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:150,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:76,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:84,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:116,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/tests/gvariant.c:119,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:126,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:128,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_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:165,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:174,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:167,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:178,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:167,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 87
    argCount: 4
    argNames:
    - string
    - description
    - definite
    - depth
    argTypes:
    - GString*
    - GString*
    - gboolean
    - gint
    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_string_append
    - g_variant_type_free
    - g_variant_type_is_array
    - g_variant_type_is_dict_entry
    - g_variant_type_new_array
    - g_variant_type_new_maybe
    - g_variant_type_is_maybe
    - append_tuple_type_string
    - g_variant_type_is_tuple
    - g_variant_type_new_dict_entry
    - g_assert_not_reached
    - g_string_append_c
    - g_test_rand_int_range
    - g_variant_type_equal
    - append_type_string
    - g_assert_true
    - randomly
    - g_variant_type_copy
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *append_type_string (GString *string, GString
      *description, gboolean definite, gint depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5484,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5505,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5505,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5502,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:5507,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5508,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5509,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5509,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5511,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5513,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5517,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5512,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5515,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5518
      start: 5465
    functionDepth: 0
    functionLinenumber: 5465
    functionLinenumberEnd: 5518
    functionName: test_normal_checking_tuple_offsets3
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_false
    - g_variant_is_normal_form
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_variant_unref
    - g_variant_new_from_data
    - g_assert_cmpvariant
    - g_variant_get_normal_form
    - g_variant_new_parsed
    - g_variant_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets3 (void) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:377,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:457,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_is_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:404,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:372,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:408,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:423,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:396,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:454,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:416,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:421,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:458,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:442,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:449,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:446,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:367,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:410,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:476,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:365,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:390,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:397,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:419,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:434,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:365,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:373,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_free
      Src: /src/glib/glib/tests/gvariant.c:420,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:402,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_variant_type_is_maybe
      Src: /src/glib/glib/tests/gvariant.c:369,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:371,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:445,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:453,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:473,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:413,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:371,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:410,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_tuple
      Src: /src/glib/glib/tests/gvariant.c:375,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_variant_type_is_definite
      Src: /src/glib/glib/tests/gvariant.c:432,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:399,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:443,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:394,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:414,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:438,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:389,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:413,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/gvariant.c:417,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:439,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_next
      Src: /src/glib/glib/tests/gvariant.c:412,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:452,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:461,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_strdup
      Src: /src/glib/glib/tests/gvariant.c:437,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:469,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:361,1
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/tests/gvariant.c:385,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:386,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:383,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:391,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:456,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:415,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:459,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:460,1
    - Dst: g_variant_type_value
      Src: /src/glib/glib/tests/gvariant.c:409,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_free
      Src: /src/glib/glib/tests/gvariant.c:418,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:451,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:440,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:366,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:393,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:412,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 132
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    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_string_append
    - g_variant_type_is_array
    - g_variant_type_n_items
    - g_variant_type_is_maybe
    - g_string_append_c
    - g_variant_type_element
    - g_variant_type_is_container
    - g_assert_not_reached
    - g_variant_type_next
    - g_string_free
    - g_strjoin
    - g_variant_type_equal
    - g_variant_type_is_tuple
    - g_strdup_printf
    - g_assert_null
    - g_variant_type_key
    - g_variant_type_is_basic
    - g_strdup
    - g_assert_false
    - g_string_new
    - g_free
    - g_variant_type_is_dict_entry
    - g_variant_type_value
    - describe_type
    - g_variant_type_first
    - g_assert_cmpstr
    - g_variant_type_is_definite
    - g_assert_true
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *describe_type (const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_n_members
      Src: /src/glib/glib/tests/gvariant.c:940,1
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/tests/gvariant.c:941,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:941,1
    - Dst: calculate_type_info
      Src: /src/glib/glib/tests/gvariant.c:966,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:955,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_variant_type_info_member_info
    - g_assert_cmpint
    - g_variant_type_n_items
    - ALIGNED
    - g_variant_type_info_n_members
    - calculate_type_info
    - g_assert_cmpuint
    - g_variant_type_first
    - g_variant_type_next
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void check_offsets (GVariantTypeInfo *info, const GVariantType
      *type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/tests/gvariant.c:2218,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:2230,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:2232,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:2228,1
    - Dst: check_tree
      Src: /src/glib/glib/tests/gvariant.c:2231,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2233,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2247,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2252,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2257,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2262,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:2270,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - instance
    - serialised
    argTypes:
    - TreeInstance*
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 2275
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2275
    functionName: check_tree
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_serialised_get_child
    - g_free
    - g_assert_cmpuint
    - g_malloc0
    - g_variant_type_info_unref
    - memcmp
    - g_variant_serialised_n_children
    - check_tree
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_tree (TreeInstance *instance, GVariantSerialised
      serialised) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:2891,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2892,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2893,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/glib/tests/gvariant.c:2896,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:2892,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:2896,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:2897,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2897,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2898,1
    - Dst: g_variant_new_printf
      Src: /src/glib/glib/tests/gvariant.c:2900,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2901,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:2901,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2903
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2903
    functionName: test_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_new_string
    - g_variant_new_take_string
    - g_variant_unref
    - g_assert_cmpstr
    - g_variant_new_printf
    - g_variant_get_string
    linkageType: ''
    returnType: void
    signature: 'static void test_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:3918,1
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:3905,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:3907,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:3906,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3915,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3920,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3921,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3909,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3914,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3916,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:3918,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3922,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3923,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3926,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3910,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:3912,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3913,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3927,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3925,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3928
      start: 3896
    functionDepth: 0
    functionLinenumber: 3896
    functionLinenumberEnd: 3928
    functionName: test_parser
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_free
    - g_variant_print
    - g_variant_unref
    - tree_instance_free
    - g_assert_cmpstr
    - tree_instance_get_gvariant
    - g_variant_get_type
    - g_variant_parse
    - tree_instance_new
    linkageType: ''
    returnType: void
    signature: 'static void test_parser (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5010,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5020,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:5016,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/tests/gvariant.c:5021,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5012,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5013,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5014,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5020,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5014,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5021,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5016,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5017,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5022,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/glib/glib/tests/gvariant.c:5007,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5011,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5011,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5010,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5012,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5013,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5018,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:5018,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:5018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5023
      start: 5004
    functionDepth: 0
    functionLinenumber: 5004
    functionLinenumberEnd: 5023
    functionName: test_stack_builder_init
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_BUILDER_INIT
    - g_variant_type_equal
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_variant_n_children
    - g_variant_unref
    - g_assert_cmpstr
    - g_variant_builder_add_value
    - g_variant_get_type
    - g_variant_get_bytestring
    - g_variant_ref_sink
    - g_variant_new_byte
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_stack_builder_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5123,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5124,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5126,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5127,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5141,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5146,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5147,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5151,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5127,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5136,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5138,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5133,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5144,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5133,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5120,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5120,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5129,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5130,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5139,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5150,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5117,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5139,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5135,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5147,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5152
      start: 5107
    functionDepth: 0
    functionLinenumber: 5107
    functionLinenumberEnd: 5152
    functionName: test_recursion_limits_variant_in_variant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_variant_is_normal_form
    - g_variant_new_string
    - g_variant_new_variant
    - g_variant_new_from_bytes
    - g_assert_nonnull
    - g_variant_unref
    - g_bytes_unref
    - g_steal_pointer
    - g_variant_get_data_as_bytes
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_recursion_limits_variant_in_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5613,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5623,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5622,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5625,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gvariant.c:5620,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5625,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5627,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5628,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5630,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5631,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5632,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5634,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5635,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5637
      start: 5586
    functionDepth: 0
    functionLinenumber: 5586
    functionLinenumberEnd: 5637
    functionName: test_normal_checking_tuple_offsets5
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_false
    - g_variant_is_normal_form
    - g_assert_nonnull
    - g_variant_unref
    - g_variant_new_parsed
    - g_variant_new_from_data
    - g_assert_cmpvariant
    - g_variant_get_normal_form
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets5 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:1032,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1039,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:1073,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1083,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_variant_type_is_maybe
      Src: /src/glib/glib/tests/gvariant.c:1061,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1070,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1071,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/tests/gvariant.c:1076,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:1077,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1085,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:1042,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:1036,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_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: check_offsets
      Src: /src/glib/glib/tests/gvariant.c:1080,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1084,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1087,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1090,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:1042,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1051,1
    - Dst: calculate_type_info
      Src: /src/glib/glib/tests/gvariant.c:1068,1
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/tests/gvariant.c:1069,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:1067,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/tests/gvariant.c:1060,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_is_array
    - g_variant_type_is_maybe
    - calculate_type_info
    - describe_info
    - g_variant_type_element
    - check_offsets
    - append_type_string
    - g_variant_type_info_assert_no_infos
    - g_variant_type_info_get
    - g_variant_type_info_get_type_string
    - g_assert_cmpint
    - g_variant_type_free
    - g_variant_type_info_query_element
    - g_variant_type_info_unref
    - g_string_free
    - g_variant_type_is_tuple
    - g_variant_type_info_query
    - g_string_new
    - g_free
    - g_variant_type_is_dict_entry
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_gvarianttypeinfo (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_filler
      Src: /src/glib/glib/tests/gvariant.c:2284,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/gvariant.c:2285,1
    - Dst: tree_filler
      Src: /src/glib/glib/tests/gvariant.c:2286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - serialised
    argTypes:
    - TreeInstance*
    - GVariantSerialised*
    constantsTouched: []
    func_position:
      end: 2287
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2287
    functionName: serialise_tree
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_malloc
    - tree_filler
    linkageType: ''
    returnType: void
    signature: 'static void serialise_tree (TreeInstance *tree, GVariantSerialised
      *serialised) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2912,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/gvariant.c:2920,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/gvariant.c:2912,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2920,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2915,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2920,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2921,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2925,1
    - Dst: g_assert_true
      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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2934
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2934
    functionName: test_utf8
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_variant_unref
    - g_variant_new_from_data
    - g_variant_get_string
    - g_assert_true
    - g_utf8_validate
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3959,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/tests/gvariant.c:3972,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:3985,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3975,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:3990,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:4003,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4004,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:4008,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4018,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/gvariant.c:4019,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4043,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4044,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/gvariant.c:4040,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4009,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:4038,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3958,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:3958,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:3971,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3972,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3974,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3962,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:3991,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:4020,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4021,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4037,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4041,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4010,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3986,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3987,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3989,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3992,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3993,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:4002,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4006,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/gvariant.c:4041,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4042,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4034,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:4049,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4008,1
    - Dst: test_parser
      Src: /src/glib/glib/tests/gvariant.c:3937,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3953,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:3951,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:3955,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3952,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3956,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3961,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3963,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3991,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4007,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4020,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4050
      start: 3930
    functionDepth: 0
    functionLinenumber: 3930
    functionLinenumberEnd: 4050
    functionName: test_parses
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_variant_get_int32
    - g_free
    - g_variant_get_type_string
    - g_variant_new_string
    - g_ascii_strdown
    - g_variant_print
    - g_variant_unref
    - g_assert_no_error
    - g_assert_cmpstr
    - g_str_has_prefix
    - test_parser
    - g_variant_type_info_assert_no_infos
    - g_variant_parse
    - G_N_ELEMENTS
    - g_variant_get_string
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_parses (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/glib/glib/tests/gvariant.c:5028,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5030,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:5030,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:5031,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5030,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5031,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5031,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:5033,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5034
      start: 5025
    functionDepth: 0
    functionLinenumber: 5025
    functionLinenumberEnd: 5034
    functionName: get_asv
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_BUILDER_INIT
    - g_variant_new_string
    - g_variant_new_variant
    - g_variant_builder_add
    - g_variant_ref_sink
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *get_asv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/glib/tests/gvariant.c:1360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1361
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1361
    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_string_new
      Src: /src/glib/glib/tests/gvariant.c:1975,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1979,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:1976,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1978,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:1977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1982
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1982
    functionName: make_random_definite_type
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - append_type_string
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *make_random_definite_type (int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4474,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4503,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4514,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4517,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4519,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4521,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4518,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4526,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4494,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4496,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4508,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/tests/gvariant.c:4523,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4490,1
    - Dst: g_variant_is_floating
      Src: /src/glib/glib/tests/gvariant.c:4459,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4459,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:4462,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4472,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4480,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4483,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4485,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4486,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4491,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4504,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4515,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4500,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/gvariant.c:4456,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4466,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4475,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4469,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4489,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4492,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4495,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4502,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4507,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:4521,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4510,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4522,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4488,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4498,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4460,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/glib/tests/gvariant.c:4458,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4463,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4465,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/glib/tests/gvariant.c:4468,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:4478,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/gvariant.c:4477,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4482,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4471,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4484,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4501,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4506,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4513,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4511,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4525,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4527
      start: 4446
    functionDepth: 0
    functionLinenumber: 4446
    functionLinenumberEnd: 4527
    functionName: test_bytestring
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_is_floating
    - g_variant_new_bytestring_array
    - g_free
    - g_variant_print
    - g_variant_unref
    - g_variant_dup_bytestring_array
    - g_assert_cmpstr
    - g_strsplit
    - g_variant_new_from_data
    - g_strfreev
    - g_variant_get_child
    - g_variant_get_bytestring
    - g_variant_new
    - g_strjoinv
    - g_variant_parse
    - g_variant_get_normal_form
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_bytestring (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4675,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4678,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4655,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4637,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/tests/gvariant.c:4648,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/tests/gvariant.c:4673,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4668,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4638,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:4639,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/tests/gvariant.c:4678,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4682,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4626,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4632,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4640,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4643,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4645,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4661,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4675,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4681,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4631,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4651,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4658,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4671,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:4638,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4646,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4656,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4676,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/tests/gvariant.c:4668,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4680,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/tests/gvariant.c:4654,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4625,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/tests/gvariant.c:4628,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4636,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4642,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4648,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4647,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4670,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4650,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4670,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4657,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4660,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:4623,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4665,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4625,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4644,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/tests/gvariant.c:4653,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4660,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/tests/gvariant.c:4674,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4633,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4635,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4672,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/tests/gvariant.c:4679,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4645,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:4658,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4662,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4623,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4630,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4665,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4677,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:4624,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4650,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/tests/gvariant.c:4629,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/tests/gvariant.c:4633,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4641,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/tests/gvariant.c:4669,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:4659,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4628,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4640,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4652,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4653,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:4663,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4666,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4667,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4673,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4655,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/tests/gvariant.c:4634,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4635,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/tests/gvariant.c:4649,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:4664,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4680,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4663,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4627,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4630,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 109
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4683
      start: 4617
    functionDepth: 0
    functionLinenumber: 4617
    functionLinenumberEnd: 4683
    functionName: test_compare
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_variant_new_string
    - g_variant_new_uint16
    - g_variant_new_signature
    - g_variant_new_uint32
    - g_variant_unref
    - g_variant_new_int32
    - g_variant_compare
    - g_variant_new_object_path
    - g_variant_new_boolean
    - g_variant_new_int64
    - g_variant_new_double
    - g_variant_new_byte
    - g_variant_new_uint64
    - g_variant_new_int16
    - untrusted
    linkageType: ''
    returnType: void
    signature: 'static void test_compare (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GSIZE_TO_LE
      Src: /src/glib/glib/tests/gvariant.c:1374,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:1375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - offset_ptr
    - offset
    - offset_size
    argTypes:
    - guchar**
    - gsize
    - guint
    constantsTouched: []
    func_position:
      end: 1377
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1377
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1995,1
    - Dst: strlen
      Src: /src/glib/glib/tests/gvariant.c:1995,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/tests/gvariant.c:1999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - string
    - size
    - type
    argTypes:
    - gchar*
    - gsize
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 2003
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 2003
    functionName: make_random_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_type_peek_string
    - g_test_rand_int_range
    linkageType: ''
    returnType: void
    signature: 'static void make_random_string (gchar *string, gsize size, const GVariantType
      *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4545,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4553,1
    - Dst: g_variant_lookup_value
      Src: /src/glib/glib/tests/gvariant.c:4552,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4558,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4551,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:4559,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4560,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4561,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4562,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4564
      start: 4529
    functionDepth: 0
    functionLinenumber: 4529
    functionLinenumberEnd: 4564
    functionName: test_lookup_value
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_free
    - g_variant_print
    - g_variant_unref
    - g_assert_cmpstr
    - g_variant_lookup_value
    - g_variant_parse
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4691,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/tests/gvariant.c:4696,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4709,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4749,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4720,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4752,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4704,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4706,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4712,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4733,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4736,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/tests/gvariant.c:4737,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4753,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4755,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4713,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4715,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4734,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4707,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4746,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/tests/gvariant.c:4716,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4729,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4747,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4744,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4708,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4738,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4748,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4751,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4742,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4724,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4699,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4711,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4726,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4750,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4710,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/tests/gvariant.c:4721,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4694,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4696,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4702,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4727,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/tests/gvariant.c:4751,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:4691,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4703,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4705,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4711,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4728,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4697,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:4706,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4719,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4737,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4730,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4698,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4721,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4701,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4714,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4716,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4735,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4754,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:4731,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4740,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4739,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4722,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4732,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/tests/gvariant.c:4744,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4700,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4723,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4725,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4741,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4743,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:4726,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4731,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4692,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4717,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4745,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4693,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4695,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/tests/gvariant.c:4701,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 104
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4756
      start: 4685
    functionDepth: 0
    functionLinenumber: 4685
    functionLinenumberEnd: 4756
    functionName: test_equal
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_variant_new_uint16
    - g_variant_new_signature
    - g_variant_new_uint32
    - g_variant_unref
    - g_variant_new_int32
    - g_variant_new_object_path
    - g_variant_new_boolean
    - g_variant_new_int64
    - g_assert_cmpvariant
    - g_variant_get_normal_form
    - g_variant_new_double
    - g_variant_new_byte
    - g_variant_new_uint64
    - g_variant_new_int16
    - untrusted
    linkageType: ''
    returnType: void
    signature: 'static void test_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/gvariant.c:5805,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5833,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5835,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5848,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5867,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5902,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5853,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5876,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/gvariant.c:5905,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5859,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5888,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5892,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5845,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5863,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5894,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5849,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5869,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5810,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5813,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5814,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5815,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5831,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:5828,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5818,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5832,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5838,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5841,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5843,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5854,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5860,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5878,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5890,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5846,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5862,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5865,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5897,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5850,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5870,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5807,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5816,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5819,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/gvariant.c:5826,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5836,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5855,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5880,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5857,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5884,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5847,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5866,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5899,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5851,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5872,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5808,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5812,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5817,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:5825,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gvariant.c:5826,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5834,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5837,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5839,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5840,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5842,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5852,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5874,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5858,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5886,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5856,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5882,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 5906
      start: 5800
    functionDepth: 0
    functionLinenumber: 5800
    functionLinenumberEnd: 5906
    functionName: main
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_free
    - g_test_add_data_func
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:494,1
    - Dst: strcspn
      Src: /src/glib/glib/tests/gvariant.c:509,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:495,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:510,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:505,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_assert_true
      Src: /src/glib/glib/tests/gvariant.c:531,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:538,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:540,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:535,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/tests/gvariant.c:531,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - type_string
    argTypes:
    - gchar*
    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_string_new
    - g_string_append
    - g_variant_type_free
    - append_tuple_type_string
    - g_assert_not_reached
    - g_test_rand_int_range
    - g_string_append_len
    - append_type_string
    - g_string_free
    - g_variant_type_is_subtype_of
    - g_assert_true
    - strcspn
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *generate_subtype (const gchar *type_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5180,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5189,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5191,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5188,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5197,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5186,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5200,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5176,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:5177,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5180,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5192,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5200,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5182,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5183,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5192,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5202,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5203,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5204,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5170,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:5173,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5177,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5179,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5186,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5194,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5205
      start: 5159
    functionDepth: 0
    functionLinenumber: 5159
    functionLinenumberEnd: 5205
    functionName: test_recursion_limits_array_in_variant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_variant_is_normal_form
    - g_variant_new_string
    - g_assert_nonnull
    - g_variant_new_from_bytes
    - g_variant_unref
    - g_variant_new_variant
    - g_bytes_unref
    - g_variant_get_type
    - g_steal_pointer
    - g_variant_get_data_as_bytes
    - g_variant_new_array
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_recursion_limits_array_in_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:5670,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:5676,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:5679,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5699,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5706,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5710,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5723,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5725,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:5728,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5715,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5687,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5685,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5691,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5706,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5707,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5708,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5718,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5718,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5719,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5719,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5717,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5727,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:5673,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5676,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5679,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5681,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5685,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:5698,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5699,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5704,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5707,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5708,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5722,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:5674,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:5671,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5686,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5689,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5690,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5687,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5686,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5711,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5712,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5717,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5726,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5721,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5729
      start: 5643
    functionDepth: 0
    functionLinenumber: 5643
    functionLinenumberEnd: 5729
    functionName: test_normal_checking_tuple_offsets_minimal_sized
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_string_append_c
    - g_variant_new_from_data
    - g_steal_pointer
    - g_malloc0
    - g_variant_builder_add_value
    - g_variant_get_normal_form
    - g_string_free
    - g_variant_new_array
    - g_variant_get_data
    - g_assert_cmpuint
    - g_variant_unref
    - g_variant_builder_init
    - g_variant_get_size
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_string_new
    - g_assert_false
    - g_variant_is_normal_form
    - g_variant_n_children
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets_minimal_sized (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_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:224,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:226,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - string
    - description
    - definite
    - depth
    argTypes:
    - GString*
    - GString*
    - gboolean
    - gint
    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_string_append
    - g_variant_type_equal
    - g_variant_type_free
    - g_free
    - g_string_append_c
    - g_new
    - g_test_rand_int_range
    - append_type_string
    - g_variant_type_new_tuple
    - g_assert_true
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *append_tuple_type_string (GString *string, GString
      *description, gboolean definite, gint depth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:615,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:616,1
    - Dst: g_variant_type_hash
      Src: /src/glib/glib/tests/gvariant.c:617,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: g_free
      Src: /src/glib/glib/tests/gvariant.c:645,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/tests/gvariant.c:650,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:660,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:603,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:604,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_variant_type_is_subtype_of
      Src: /src/glib/glib/tests/gvariant.c:618,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
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:652,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:610,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:617,1
    - Dst: strcspn
      Src: /src/glib/glib/tests/gvariant.c:634,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:634,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:659,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:662,1
    - Dst: g_variant_type_hash
      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_assert_true
      Src: /src/glib/glib/tests/gvariant.c:619,1
    - Dst: subtype_check
      Src: /src/glib/glib/tests/gvariant.c:630,1
    - Dst: invalid_mutation
      Src: /src/glib/glib/tests/gvariant.c:649,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
    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:
    - append_type_string
    - subtype_check
    - g_variant_type_string_is_valid
    - g_assert_cmpint
    - g_variant_type_free
    - invalid_mutation
    - g_string_free
    - g_variant_type_is_subtype_of
    - g_variant_type_equal
    - g_assert_cmpuint
    - strcspn
    - G_VARIANT_TYPE
    - g_string_new
    - g_assert_false
    - g_free
    - describe_type
    - g_assert_cmpstr
    - g_variant_type_hash
    - g_variant_type_is_definite
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_gvarianttype (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_array
      Src: /src/glib/glib/tests/gvariant.c:1629,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1632
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1632
    functionName: test_arrays
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - test_array
    - g_variant_type_info_assert_no_infos
    linkageType: ''
    returnType: void
    signature: 'static void test_arrays (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:4412,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4415,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4417,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/tests/gvariant.c:4417,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4412,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4417,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:4418,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:4419,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4419,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/gvariant.c:4421,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:4426,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:4429,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:4423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4432
      start: 4408
    functionDepth: 0
    functionLinenumber: 4408
    functionLinenumberEnd: 4432
    functionName: test_parse_positional
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_test_undefined
    - check_and_free
    - g_assert_true
    - do_failed_test
    - g_variant_new_parsed
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_positional (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:1656,1
    - Dst: random_instance
      Src: /src/glib/glib/tests/gvariant.c:1661,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:1667,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1672,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:1672,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1697,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1734,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:1754,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:1758,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1770,1
    - Dst: align_free
      Src: /src/glib/glib/tests/gvariant.c:1786,1
    - Dst: flavoured_free
      Src: /src/glib/glib/tests/gvariant.c:1773,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:1647,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:1670,1
    - Dst: calculate_offset_size
      Src: /src/glib/glib/tests/gvariant.c:1702,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1785,1
    - Dst: align_malloc
      Src: /src/glib/glib/tests/gvariant.c:1711,1
    - Dst: prepend_offset
      Src: /src/glib/glib/tests/gvariant.c:1719,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1703,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1727,1
    - Dst: flavoured_malloc
      Src: /src/glib/glib/tests/gvariant.c:1748,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/tests/gvariant.c:1760,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1767,1
    - Dst: random_instance_free
      Src: /src/glib/glib/tests/gvariant.c:1781,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1782,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1646,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:1668,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1673,1
    - Dst: append_instance_data
      Src: /src/glib/glib/tests/gvariant.c:1716,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1676,1
    - Dst: append_instance_size
      Src: /src/glib/glib/tests/gvariant.c:1687,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1758,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1760,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:1766,1
    - Dst: random_instance_assert
      Src: /src/glib/glib/tests/gvariant.c:1769,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 118
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1787
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1787
    functionName: test_tuple
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_string_append
    - random_instance_assert
    - random_instance_free
    - g_string_append_c
    - align_free
    - g_variant_type_info_get
    - g_variant_type_info_get_type_string
    - flavoured_free
    - append_instance_data
    - g_assert_cmpint
    - g_variant_serialised_get_child
    - flavoured_malloc
    - append_instance_size
    - g_variant_type_info_unref
    - g_string_free
    - memcmp
    - align_malloc
    - g_assert_cmpuint
    - prepend_offset
    - calculate_offset_size
    - g_variant_serialiser_serialise
    - G_VARIANT_TYPE
    - g_string_new
    - g_free
    - g_variant_serialiser_needed_size
    - random_instance
    - g_new
    - g_test_rand_int_range
    - g_assert_true
    - g_variant_serialised_n_children
    linkageType: ''
    returnType: void
    signature: 'static void test_tuple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:4439,1
    - Dst: g_variant_is_floating
      Src: /src/glib/glib/tests/gvariant.c:4440,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4441,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4442,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4440,1
    - Dst: g_variant_is_floating
      Src: /src/glib/glib/tests/gvariant.c:4442,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4444
      start: 4434
    functionDepth: 0
    functionLinenumber: 4434
    functionLinenumberEnd: 4444
    functionName: test_floating
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_is_floating
    - g_variant_unref
    - g_variant_new_int32
    - g_variant_ref_sink
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_floating (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/tests/gvariant.c:2793,1
    - Dst: g_variant_iter_n_children
      Src: /src/glib/glib/tests/gvariant.c:2802,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/tests/gvariant.c:2799,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/tests/gvariant.c:2795,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2800,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:2804,1
    - Dst: tree_instance_check_iter
      Src: /src/glib/glib/tests/gvariant.c:2809,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:2811,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:2815,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/tests/gvariant.c:2815,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:2816,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2825,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2826,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - tree
    - iter
    argTypes:
    - TreeInstance*
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 2830
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2830
    functionName: tree_instance_check_iter
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - g_variant_iter_new
    - g_variant_iter_n_children
    - tree_instance_check_iter
    - g_variant_unref
    - tree_instance_check_gvariant
    - g_variant_iter_free
    - g_assert_null
    - g_variant_is_container
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean tree_instance_check_iter (TreeInstance *tree, GVariantIter
      *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/gvariant.c:3689,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3696,1
    - Dst: va_start
      Src: /src/glib/glib/tests/gvariant.c:3691,1
    - Dst: va_end
      Src: /src/glib/glib/tests/gvariant.c:3693,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/tests/gvariant.c:3692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3699
      start: 3680
    functionDepth: 0
    functionLinenumber: 3680
    functionLinenumberEnd: 3699
    functionName: hash_new
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - va_end
    - g_assert_cmpint
    - g_variant_new_va
    - va_start
    - g_str_has_suffix
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *hash_new (const gchar *format, ...) '
  - 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_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:569,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:572,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
    - g_variant_type_equal
    - g_free
    - generate_subtype
    - g_variant_type_is_definite
    - g_variant_type_is_subtype_of
    - g_assert_true
    - subtype_check
    linkageType: ''
    returnType: void
    signature: 'static void subtype_check (const gchar *type_string, struct typestack
      *parent_ts) '
  - 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: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/tests/gvariant.c:2017,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:2034,1
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/tests/gvariant.c:2039,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:2040,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2050,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:2092,1
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:2096,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2065,1
    - Dst: g_test_rand_double
      Src: /src/glib/glib/tests/gvariant.c:2077,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2055,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2060,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:2105,1
    - Dst: make_random_definite_type
      Src: /src/glib/glib/tests/gvariant.c:2015,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:2018,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/tests/gvariant.c:2025,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2028,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:2029,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2033,1
    - Dst: make_random_string
      Src: /src/glib/glib/tests/gvariant.c:2083,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2082,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:2099,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2102,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2070,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2072,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 2
    argNames:
    - type
    - depth
    argTypes:
    - GVariantType*
    - int
    constantsTouched: []
    func_position:
      end: 2108
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2108
    functionName: tree_instance_new
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_variant_type_peek_string
    - make_random_definite_type
    - g_variant_type_n_items
    - g_variant_type_free
    - g_variant_type_first
    - g_test_rand_double
    - g_test_rand_int_range
    - g_new
    - g_variant_type_element
    - g_variant_type_next
    - g_slice_new
    - g_variant_type_info_get
    - make_random_string
    - tree_instance_new
    - g_test_rand_int
    linkageType: ''
    returnType: TreeInstance*
    signature: 'static TreeInstance *tree_instance_new (const GVariantType *type,
      int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:4290,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:4298,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/gvariant.c:4301,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:4302,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4300,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/gvariant.c:4303,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4304,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4306
      start: 4284
    functionDepth: 0
    functionLinenumber: 4284
    functionLinenumberEnd: 4306
    functionName: test_parser_recursion_typedecls
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_free
    - g_malloc0
    - g_error_free
    - g_strdup_printf
    - g_assert_null
    - g_variant_parse
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_parser_recursion_typedecls (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_assert_cmpint
    - g_rand_new_with_seed
    - g_rand_free
    linkageType: ''
    returnType: void
    signature: 'static void random_instance_write (RandomInstance *instance, guchar
      *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:2115,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:2117,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2118,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/gvariant.c:2119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - instance
    argTypes:
    - TreeInstance*
    constantsTouched: []
    func_position:
      end: 2120
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2120
    functionName: tree_instance_free
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - tree_instance_free
    - g_variant_type_info_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void tree_instance_free (TreeInstance *instance) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:2839,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:2840,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/tests/gvariant.c:2852,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:2867,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:2860,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:2879,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2880,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2882,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2840,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:2845,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/tests/gvariant.c:2865,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:2870,1
    - Dst: tree_instance_check_iter
      Src: /src/glib/glib/tests/gvariant.c:2871,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:2864,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:2863,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2871,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:2872,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/tests/gvariant.c:2872,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2874,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2876,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2881,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2875,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:2842,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2843,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2843,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:2847,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2848,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2848,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:2850,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:2862,1
    - Dst: tree_instance_build_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2861,1
    - Dst: g_assert_cmpstr
      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: 2883
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2883
    functionName: test_container
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - tree_instance_check_gvariant
    - g_variant_print
    - tree_instance_free
    - tree_instance_build_gvariant
    - tree_instance_new
    - g_variant_get_data
    - g_assert_true
    - g_variant_iter_init
    - tree_instance_check_iter
    - g_variant_get_variant
    - g_variant_unref
    - g_variant_builder_init
    - g_assert_null
    - g_variant_ref_sink
    - g_variant_builder_end
    - g_free
    - g_assert_cmpstr
    - tree_instance_get_gvariant
    - g_variant_is_container
    linkageType: ''
    returnType: void
    signature: 'static void test_container (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/glib/glib/tests/gvariant.c:3708,1
    - Dst: hash_get
      Src: /src/glib/glib/tests/gvariant.c:3709,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3710,1
    - Dst: hash_new
      Src: /src/glib/glib/tests/gvariant.c:3714,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3711,1
    - Dst: hash_get
      Src: /src/glib/glib/tests/gvariant.c:3715,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3716,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3717,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:3719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3720
      start: 3701
    functionDepth: 0
    functionLinenumber: 3701
    functionLinenumberEnd: 3720
    functionName: test_valist
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - hash_get
    - g_variant_unref
    - g_variant_type_info_assert_no_infos
    - hash_new
    linkageType: ''
    returnType: void
    signature: 'static void test_valist (void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:250,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:298,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:294,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:281,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:239,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:242,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:261,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:262,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:301,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:292,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: randomly
      Src: /src/glib/glib/tests/gvariant.c:325,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:265,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:274,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:327,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:341,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:252,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:240,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:290,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:271,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:302,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
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:344,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/gvariant.c:340,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 112
    argCount: 1
    argNames:
    - type_string
    argTypes:
    - gchar*
    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:
    - strlen
    - g_strdup
    - g_assert_cmpint
    - memcpy
    - g_test_rand_int_range
    - strchr
    - g_assert_true
    - randomly
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *invalid_mutation (const gchar *type_string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/gvariant.c:676,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/tests/gvariant.c:688,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:690,1
    - Dst: g_assert_false
      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_variant_type_string_is_valid
    - g_assert_false
    - g_free
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void test_gvarianttype_string_scan_recursion_tuple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:4261,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:4272,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/gvariant.c:4271,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4270,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/gvariant.c:4273,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4275
      start: 4255
    functionDepth: 0
    functionLinenumber: 4255
    functionLinenumberEnd: 4275
    functionName: test_parser_recursion
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_free
    - g_malloc0
    - g_error_free
    - g_assert_null
    - g_variant_parse
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_parser_recursion (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:41,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils-isolated.c:41,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    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_config_dirs
      Src: /src/glib/glib/tests/utils-isolated.c:55,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:56,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    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_get_system_data_dirs
      Src: /src/glib/glib/tests/utils-isolated.c:70,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:71,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    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:83,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:83,1
    - Dst: g_get_user_state_dir
      Src: /src/glib/glib/tests/utils-isolated.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils-isolated.c:35,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/utils-isolated.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    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:62,1
    - Dst: g_get_user_config_dir
      Src: /src/glib/glib/tests/utils-isolated.c:62,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    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:47,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/glib/tests/utils-isolated.c:47,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    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:77,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/glib/tests/utils-isolated.c:77,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    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:89,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:89,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/glib/tests/utils-isolated.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: test_user_runtime_dir
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_get_user_runtime_dir
    - g_str_has_prefix
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_user_runtime_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils-isolated.c:97,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/utils-isolated.c:98,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:103,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils-isolated.c:100,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils-isolated.c:101,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:104,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:105,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:106,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:107,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:108,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/utils-isolated.c:112,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:111,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:109,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_test_add_func
    - g_test_run
    - g_getenv
    - g_test_init
    - g_setenv
    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_main_loop_quit
      Src: /src/glib/glib/tests/spawn-singlethread.c:108,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:97,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_error
    - g_assert_no_error
    - g_io_channel_read_chars
    - g_string_append_len
    - g_main_loop_quit
    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_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:242,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:263,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_strdup_printf
      Src: /src/glib/glib/tests/spawn-singlethread.c:299,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:310,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:285,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_N_ELEMENTS
      Src: /src/glib/glib/tests/spawn-singlethread.c:212,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:240,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:266,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:280,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_context_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:308,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:309,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:316,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_main_context_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:255,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:246,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-singlethread.c:301,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:306,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:311,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:317,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-singlethread.c:302,1
    - Dst: _pipe
      Src: /src/glib/glib/tests/spawn-singlethread.c:242,1
    - Dst: g_spawn_async_with_fds
      Src: /src/glib/glib/tests/spawn-singlethread.c:258,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_assert_not_reached
      Src: /src/glib/glib/tests/spawn-singlethread.c:251,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:271,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_io_create_watch
      Src: /src/glib/glib/tests/spawn-singlethread.c:281,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:313,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_main_context_unref
    - g_source_unref
    - g_main_loop_run
    - g_ptr_array_new
    - g_source_attach
    - g_main_context_new
    - g_assert_cmpint
    - g_assert_not_reached
    - safe_close
    - g_io_channel_unix_new
    - g_string_free
    - g_assert_no_error
    - g_main_loop_unref
    - g_strdup_printf
    - g_main_loop_new
    - g_ptr_array_add
    - g_source_set_callback
    - g_spawn_async_with_fds
    - g_string_new
    - g_io_create_watch
    - g_free
    - g_ptr_array_free
    - g_unix_open_pipe
    - g_assert_cmpstr
    - _pipe
    - g_io_channel_unref
    - G_N_ELEMENTS
    - g_assert_true
    - g_child_watch_source_new
    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_assert_false
    - g_spawn_async_with_pipes_and_fds
    - g_error_free
    - g_test_skip
    - g_assert_error
    - G_N_ELEMENTS
    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:
    - WSAStartup
    - g_error
    - MAKEWORD
    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_free
    - g_ptr_array_free
    - g_assert_no_error
    - g_spawn_sync
    - g_assert_cmpstr
    - g_strdup_printf
    - g_ptr_array_new
    - 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_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:503,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:502,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:507,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-singlethread.c:505,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_assert_cmpint
    - g_ptr_array_free
    - g_spawn_sync
    - g_clear_error
    - g_assert_null
    - g_assert_error
    - g_ptr_array_new
    - g_ptr_array_add
    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_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:133,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-singlethread.c:131,1
    - 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_io_channel_unix_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:153,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-singlethread.c:159,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:167,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: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_string_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:146,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-singlethread.c:156,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:148,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_string_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:164,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-singlethread.c:150,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-singlethread.c:155,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:151,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/spawn-singlethread.c:161,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:168,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:136,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:140,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-singlethread.c:149,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-singlethread.c:163,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:166,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:170,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_main_context_unref
    - g_source_unref
    - g_main_loop_run
    - g_ptr_array_new
    - g_source_attach
    - g_main_context_new
    - g_spawn_async_with_pipes
    - g_io_channel_unix_new
    - g_string_free
    - g_assert_no_error
    - g_main_loop_unref
    - g_strdup_printf
    - g_main_loop_new
    - g_ptr_array_add
    - g_source_set_callback
    - g_string_new
    - g_io_create_watch
    - g_free
    - g_assert
    - g_ptr_array_free
    - g_assert_cmpstr
    - g_io_channel_unref
    - g_child_watch_source_new
    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_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:387,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-singlethread.c:388,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/spawn-singlethread.c:382,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_free
    - g_assert_no_error
    - g_spawn_sync
    - g_assert_cmpstr
    - g_strdup_printf
    - g_strjoinv
    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: _open_osfhandle
      Src: /src/glib/glib/tests/spawn-singlethread.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:422,1
    - Dst: dup2
      Src: /src/glib/glib/tests/spawn-singlethread.c:425,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:429,1
    - Dst: g_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:435,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:436,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-singlethread.c:413,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:430,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/spawn-singlethread.c:441,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:434,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:426,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:428,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:433,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/spawn-singlethread.c:440,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-singlethread.c:432,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:419,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:
    - socket
    - g_assert_cmpint
    - g_close
    - init_networking
    - g_test_trap_assert_passed
    - g_ptr_array_free
    - g_spawn_sync
    - g_assert_no_error
    - g_test_trap_subprocess
    - _open_osfhandle
    - dup2
    - g_ptr_array_add
    - g_test_summary
    - g_ptr_array_new
    - g_test_subprocess
    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_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_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_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_free
    - g_ptr_array_free
    - g_assert_no_error
    - g_spawn_sync
    - g_assert_cmpstr
    - g_ptr_array_new
    - 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:605,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-singlethread.c:604,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:620,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:614,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:596,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:605,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:615,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:619,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:613,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/spawn-singlethread.c:594,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:595,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-singlethread.c:600,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:609,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:610,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:608,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:
    - setlocale
    - g_test_build_filename
    - g_free
    - g_assert
    - g_test_add_func
    - g_path_get_dirname
    - g_build_filename
    - g_file_test
    - g_test_init
    - g_test_run
    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: fcntl
      Src: /src/glib/glib/tests/spawn-singlethread.c:543,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: dup
      Src: /src/glib/glib/tests/spawn-singlethread.c:545,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_assert_no_errno
      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_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_assert_cmpuint
      Src: /src/glib/glib/tests/spawn-singlethread.c:576,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_test_message
    - g_assert_cmpint
    - dup
    - g_assert_false
    - g_file_open_tmp
    - fstat
    - g_assert_no_errno
    - g_assert_cmpuint
    - g_close
    - g_spawn_async_with_pipes_and_fds
    - g_clear_error
    - fcntl
    - g_assert_error
    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_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_new
      Src: /src/glib/glib/tests/hook.c:81,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_hook_list_clear
      Src: /src/glib/glib/tests/hook.c:94,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hook.c:95,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
    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_assert_false
    - GINT_TO_POINTER
    - g_free
    - g_hook_alloc
    - g_hook_list_init
    - g_assert_nonnull
    - g_hook_list_clear
    - g_new
    - g_hook_append
    - g_hook_destroy
    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_assert_null
      Src: /src/glib/glib/tests/hook.c:115,1
    - Dst: g_hook_find_data
      Src: /src/glib/glib/tests/hook.c:186,1
    - Dst: g_hook_find_func
      Src: /src/glib/glib/tests/hook.c:191,1
    - Dst: g_hook_list_invoke
      Src: /src/glib/glib/tests/hook.c:180,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:141,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:199,1
    - Dst: g_hook_list_invoke_check
      Src: /src/glib/glib/tests/hook.c:181,1
    - Dst: g_hook_find
      Src: /src/glib/glib/tests/hook.c:183,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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:195,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:159,1
    - Dst: g_hook_list_marshal_check
      Src: /src/glib/glib/tests/hook.c:202,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:126,1
    - Dst: g_hook_list_clear
      Src: /src/glib/glib/tests/hook.c:206,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:116,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:128,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:165,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:186,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:187,1
    - Dst: g_hook_find_func_data
      Src: /src/glib/glib/tests/hook.c:195,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_hook_compare_ids
      Src: /src/glib/glib/tests/hook.c:138,1
    - Dst: g_hook_find_func_data
      Src: /src/glib/glib/tests/hook.c:194,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:184,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_cmpint
      Src: /src/glib/glib/tests/hook.c:156,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:172,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:190,1
    - Dst: g_hook_insert_sorted
      Src: /src/glib/glib/tests/hook.c:163,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:194,1
    - Dst: g_hook_list_marshal_check
      Src: /src/glib/glib/tests/hook.c:203,1
    - Dst: g_hook_append
      Src: /src/glib/glib/tests/hook.c:132,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:158,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:166,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:196,1
    - Dst: g_hook_find_func
      Src: /src/glib/glib/tests/hook.c:192,1
    - Dst: g_hook_list_marshal
      Src: /src/glib/glib/tests/hook.c:200,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: g_hook_find_func_data
      Src: /src/glib/glib/tests/hook.c:196,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:191,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:188,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:124,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:150,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:187,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: g_new
      Src: /src/glib/glib/tests/hook.c:106,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:125,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:149,1
    - Dst: g_hook_insert_sorted
      Src: /src/glib/glib/tests/hook.c:154,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_hook_insert_before
      Src: /src/glib/glib/tests/hook.c:170,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:173,1
    - Dst: g_hook_find
      Src: /src/glib/glib/tests/hook.c:184,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_destroy
      Src: /src/glib/glib/tests/hook.c:147,1
    - Dst: g_hook_list_marshal
      Src: /src/glib/glib/tests/hook.c:199,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:188,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hook.c:123,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_null
      Src: /src/glib/glib/tests/hook.c:196,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hook.c:207,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:108,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:195,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:203,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_hook_list_marshal_check
    - g_hook_list_clear
    - g_hook_get
    - g_hook_list_invoke
    - g_hook_list_marshal
    - g_hook_prepend
    - g_hook_list_invoke_check
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_assert_nonnull
    - g_hook_find_data
    - g_hook_find_func
    - g_hook_find
    - g_hook_list_init
    - g_hook_find_func_data
    - g_assert_null
    - g_assert_cmpmem
    - g_hook_destroy
    - g_hook_compare_ids
    - g_free
    - g_hook_alloc
    - g_new
    - g_hook_insert_sorted
    - g_hook_append
    - g_hook_insert_before
    - g_assert_true
    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_run
      Src: /src/glib/glib/tests/hook.c:217,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hook.c:215,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_run
    - g_test_init
    - g_test_add_func
    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:748,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 752
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 752
    functionName: test_dash_p_child_sub2
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_print
    - g_test_subprocess
    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:2602,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2607,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2611,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2614,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2617,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2627,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2634,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2624,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2623,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2624,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2601,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2599,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2621,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2618,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2629,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2632,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2633,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2597,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2603,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2604,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2605,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2613,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2620,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2635
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2635
    functionName: test_tap_subtest_stdout_no_new_line
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_free
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_spawn_sync
    - g_assert_no_error
    - g_assert_cmpstr
    - strstr
    - g_strsplit
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_ptr_array_new
    - g_strv_length
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_stdout_no_new_line (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2796,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2805,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2815,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2814,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2808,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2817,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2823,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2824,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2793,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2801,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2810,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2822,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2791,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2795,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2797,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2798,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2799,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2807,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2813,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2825
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2825
    functionName: test_tap_subtest_error_and_pass
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_get_filename
    - g_assert_true
    - g_free
    - g_assert_nonnull
    - g_spawn_sync
    - g_assert_no_error
    - g_assert_cmpstr
    - g_clear_error
    - strstr
    - g_str_has_prefix
    - g_test_summary
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_error_and_pass (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:757,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 761
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 761
    functionName: test_dash_p_child_sub_child
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_print
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_child_sub_child (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2674,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2671,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2683,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2647,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2649,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2653,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2659,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2676,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2682,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2651,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2654,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2669,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2666,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2675,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2678,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2685,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2652,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2655,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2658,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2659,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2660,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2668,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2662,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/testing.c:2671,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2660,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2684,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2686
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2686
    functionName: test_tap_error
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_environ_unsetenv
    - g_clear_error
    - g_steal_pointer
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_ptr_array_new
    - strlen
    - g_assert_nonnull
    - g_str_has_prefix
    - g_test_get_filename
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_assert_false
    - g_get_environ
    - g_free
    - g_environ_getenv
    - g_spawn_sync
    - g_assert_cmpstr
    - g_spawn_check_wait_status
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2836,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2842,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2841,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2840,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2838,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2843,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2848,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2852,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2854,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2855,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2857,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2856,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2856,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2859
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2859
    functionName: test_init_no_argv0
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_free
    - g_assert_nonnull
    - g_spawn_sync
    - g_assert_no_error
    - strstr
    - g_test_summary
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_init_no_argv0 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_fork
      Src: /src/glib/glib/tests/testing.c:316,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:320,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: 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_stderr
    - g_test_trap_assert_passed
    - exit
    - g_test_trap_fork
    - g_print
    - g_test_trap_assert_stdout
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_fork_patterns (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1137,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1194,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1186,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1353,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1529,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1584,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1155,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1388,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1393,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1508,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1550,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1560,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1162,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1118,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:1125,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1173,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1340,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1356,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1327,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1565,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/testing.c:1630,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1177,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1312,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1319,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1344,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1398,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1376,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1538,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1427,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1629,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1229,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1247,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1264,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1354,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1359,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1466,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1506,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1563,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1628,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1634,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1391,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1198,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1232,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1306,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1322,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1386,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1432,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1548,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1553,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1558,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1557,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1364,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1133,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1243,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1263,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1280,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1310,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1342,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1451,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1536,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1581,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1339,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1368,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1249,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1285,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1599,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1120,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1156,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1165,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1272,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1330,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1429,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1442,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1512,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1542,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1562,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1395,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1408,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1424,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1321,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1326,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1515,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1589,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1590,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1592,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1602,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1591,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1469,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1397,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1380,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1412,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1157,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1205,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1324,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1472,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1595,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1305,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1334,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1387,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1330,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1463,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1476,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1492,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1549,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1329,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1289,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1119,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1124,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1176,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1465,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1510,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1540,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1568,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1601,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1431,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1361,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1139,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1154,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1219,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1282,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1374,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1390,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1491,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1557,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1631,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1156,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1346,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1378,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1410,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1494,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1594,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1612,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1241,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1407,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1425,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1365,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1522,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1596,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1602,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1180,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1198,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1240,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1320,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1416,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1428,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1574,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1600,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1614,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1244,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1251,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1269,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1389,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1394,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1480,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1527,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1551,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1561,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1307,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1323,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1392,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1444,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1524,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1559,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:1636,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1553,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1331,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1116,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:1123,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1127,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1262,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1270,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1373,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1402,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1438,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1462,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1274,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1426,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1460,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1621,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1560,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1360,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:1113,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1137,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1201,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1355,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1478,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1496,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1294,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1414,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1136,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1245,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1291,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1358,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1283,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1459,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1499,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1531,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1364,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1430,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1163,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1178,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1196,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1206,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1566,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1595,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1388,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1485,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1493,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1533,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1550,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1578,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1593,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1618,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1160,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1220,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1337,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1619,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1391,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1321,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1432,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:1228,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1375,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1448,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1505,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1558,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1265,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1399,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1136,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1236,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1222,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1418,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1354,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1576,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1616,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1303,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1131,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1178,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1264,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1466,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1482,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1502,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1562,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1572,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1588,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1341,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1357,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1200,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1158,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1254,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1328,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1446,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1464,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1490,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1556,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1592,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1359,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1434,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1563,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1598,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1145,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1215,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1271,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1311,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1343,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1463,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1492,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1537,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1582,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1607,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1405,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1159,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1429,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1353,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1314,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1497,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1242,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1298,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1361,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1389,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1427,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1437,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1509,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1539,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1551,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1441,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1398,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1200,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1177,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1325,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1458,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1571,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1623,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1631,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1309,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1185,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1144,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1396,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:1535,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1580,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1620,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1630,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1226,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1371,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1319,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1453,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1461,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1471,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1503,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1519,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1600,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1604,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1230,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1238,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1327,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1409,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1355,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1468,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1507,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1382,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1179,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1241,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1329,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1358,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1465,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1521,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1544,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1552,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1591,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1379,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1411,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1356,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1276,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1331,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1520,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1526,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1573,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1605,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1134,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1199,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1300,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1494,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1594,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1490,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1117,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:1124,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1266,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1273,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1513,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1267,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1324,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1242,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1262,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1348,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1202,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1219,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1223,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1239,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1393,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1345,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1377,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1426,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1322,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1146,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1523,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1387,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1175,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1183,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1460,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1549,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1635,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1589,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1608,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1395,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1220,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1263,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:1541,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1601,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1632,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1211,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1250,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1288,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1328,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1464,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1479,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1556,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1596,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1336,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1399,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1179,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1292,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1326,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1443,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1598,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1208,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1284,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1367,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1425,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1493,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1523,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1593,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1611,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1627,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1227,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1417,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1462,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1475,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1504,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1575,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1615,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1457,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1148,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1184,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1221,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1392,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1477,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1559,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1290,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1390,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1138,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1152,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1207,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1258,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1301,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1365,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1431,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1413,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1164,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1197,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1167,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1333,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1397,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1491,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/testing.c:1522,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1569,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1363,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1415,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1209,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1218,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1489,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1590,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1613,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1610,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1404,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1181,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1240,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1320,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1325,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1394,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1447,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1474,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1552,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1561,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1357,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1135,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1204,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1352,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1440,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1458,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1530,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1308,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1169,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1135,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:1125,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1261,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1449,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1461,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1534,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1579,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1599,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1252,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1420,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1428,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1141,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1142,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1188,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1217,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1225,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1260,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1362,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1430,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1360,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1370,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1190,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1157,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1166,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1115,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1187,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1221,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1445,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1481,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1323,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1318,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1396,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1363,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1401,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1158,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1287,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1435,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1483,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1500,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1143,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1199,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1248,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1459,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1532,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1577,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 535
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1637
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1637
    functionName: test_tap
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_environ_unsetenv
    - g_clear_error
    - g_steal_pointer
    - g_strfreev
    - g_ptr_array_unref
    - g_ptr_array_new
    - g_assert_nonnull
    - g_str_has_prefix
    - g_test_get_filename
    - g_assert_no_error
    - strstr
    - g_assert_null
    - g_assert_error
    - g_ptr_array_add
    - g_test_message
    - g_assert_false
    - g_get_environ
    - g_free
    - g_environ_getenv
    - g_spawn_sync
    - g_spawn_check_wait_status
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_tap (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:
    - g_assert_cmpstrv
    - exit
    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:
    - exit
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpstr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_timer_start
      Src: /src/glib/glib/tests/testing.c:287,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:288,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: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_test_minimized_result
    - g_test_maximized_result
    - g_usleep
    - g_test_timer_start
    - g_test_timer_last
    - g_test_timer_elapsed
    linkageType: ''
    returnType: void
    signature: 'static void test_timer (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:
    - g_assert_cmpstrv
    - exit
    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:
    - g_assert_cmpint
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpint (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:886,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/testing.c:888,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:891,1
    - Dst: g_test_trap_reached_timeout
      Src: /src/glib/glib/tests/testing.c:892,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 893
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 893
    functionName: test_subprocess_timed_out
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_subprocess
    - g_usleep
    - g_assert_true
    - g_test_trap_reached_timeout
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_timed_out (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:730,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 734
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 734
    functionName: test_dash_p_child
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_print
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_child (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:521,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:523,1
    - Dst: g_critical
      Src: /src/glib/glib/tests/testing.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: test_fatal_log_handler_critical_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - exit
    - g_str_has_prefix
    - g_critical
    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:898,1
    - Dst: g_test_get_path
      Src: /src/glib/glib/tests/testing.c:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: test_path_first
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_test_get_path
    linkageType: ''
    returnType: void
    signature: 'static void test_path_first (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:529,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:532,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:533,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:535,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:531,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:537,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:538,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:540,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:542,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:543,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 545
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 545
    functionName: test_fatal_log_handler
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr_unmatched
    linkageType: ''
    returnType: void
    signature: 'static void test_fatal_log_handler (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:739,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 743
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 743
    functionName: test_dash_p_child_sub
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_print
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_child_sub (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_fork
      Src: /src/glib/glib/tests/testing.c:304,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:309,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
    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_assert_failed
    - g_test_trap_fork
    - g_assert_not_reached
    - g_test_trap_assert_stderr
    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_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:920,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:924,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:997,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:986,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1075,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1095,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:962,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:999,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:992,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1003,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:977,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1038,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1042,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1064,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:1078,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1089,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:954,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:956,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:971,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:976,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:990,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1037,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1047,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1083,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1084,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1096,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:982,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1017,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1021,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:936,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:937,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:939,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:942,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:975,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1053,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1062,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:919,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:941,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:943,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:974,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1012,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:972,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1054,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1059,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1097,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:998,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1002,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:952,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:961,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1041,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:1058,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1065,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1080,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1099,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1079,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:930,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:946,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:950,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:1036,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1020,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:981,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:970,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1024,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1044,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1061,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1067,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:953,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:958,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1009,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:964,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:968,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1093,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:934,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:944,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:957,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:960,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1001,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1035,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1040,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1074,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1077,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:1015,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:922,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:932,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1033,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:984,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1014,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1019,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:918,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:931,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:940,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:980,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1023,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:1060,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:916,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:928,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:935,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:996,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1026,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1051,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1071,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1073,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1000,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:917,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:921,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:978,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:995,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1032,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1039,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1043,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1081,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1005,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:938,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1016,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:993,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1030,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1055,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1057,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1063,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1018,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1011,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:979,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:983,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1022,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:959,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1082,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1085,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 141
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1100
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 1100
    functionName: test_combining
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_no_error
    - g_spawn_sync
    - g_clear_error
    - g_assert_error
    - g_ptr_array_set_size
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_combining (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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:348,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
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:355,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing.c:350,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_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_assert_not_reached
    - 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:362,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:364,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:369,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:370,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_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_assert_not_reached
    - g_test_trap_assert_stderr_unmatched
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_no_such_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2498,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2500,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2501,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2510,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2516,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2519,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2522,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2499,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2508,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2515,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2524,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2527,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2519,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2494,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2496,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2502,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2504,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2518,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2523,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2514,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2511,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2526,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2528,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2529
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2529
    functionName: test_tap_subtest_print
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_get_filename
    - g_free
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_spawn_sync
    - g_assert_no_error
    - g_assert_cmpstr
    - strstr
    - g_strsplit
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_ptr_array_new
    - g_strv_length
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_print (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2541,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2543,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2549,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2564,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2568,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2568,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2575,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2583,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2545,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2547,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2551,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2561,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2558,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2577,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2582,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2584,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2546,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2548,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2557,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2567,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2555,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2571,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2562,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2565,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2573,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2579,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2585
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2585
    functionName: test_tap_subtest_stdout
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_free
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_spawn_sync
    - g_assert_no_error
    - g_assert_cmpstr
    - strstr
    - g_strsplit
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_ptr_array_new
    - g_strv_length
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_stdout (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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/testing.c:822,1
    - Dst: g_test_failed
      Src: /src/glib/glib/tests/testing.c:826,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 827
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 827
    functionName: test_skip
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_failed
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_skip (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:708,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing.c:709,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: test_dash_p_hidden
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_print
    - g_assert_not_reached
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_hidden (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:
    - exit
    - g_assert_cmpmem
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpmem_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:904,1
    - Dst: g_test_get_path
      Src: /src/glib/glib/tests/testing.c:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: test_path_second
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_test_get_path
    linkageType: ''
    returnType: void
    signature: 'static void test_path_second (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/glib/glib/tests/testing.c:688,1
    - Dst: g_warning
      Src: /src/glib/glib/tests/testing.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 690
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 690
    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:695,1
    - Dst: g_log
      Src: /src/glib/glib/tests/testing.c:697,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:700,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:698,1
    - Dst: g_log
      Src: /src/glib/glib/tests/testing.c:696,1
    - Dst: g_log
      Src: /src/glib/glib/tests/testing.c:701,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 703
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 703
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:717,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing.c:718,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 721
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 721
    functionName: test_dash_p_hidden_sub
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_print
    - g_assert_not_reached
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_hidden_sub (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:
    - exit
    - g_assert_cmpfloat_with_epsilon
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpfloat_epsilon (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 832
    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_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:768,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:773,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:789,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:788,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:784,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:793,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:795,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:796,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:775,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:777,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:797,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:779,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:800,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:781,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:766,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:771,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:770,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:769,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:772,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:778,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:787,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:780,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:782,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 801
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 801
    functionName: test_dash_p
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_assert_stdout_unmatched
    - g_test_trap_subprocess
    - g_test_trap_assert_stdout
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:806,1
    - Dst: g_test_set_nonfatal_assertions
      Src: /src/glib/glib/tests/testing.c:808,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:809,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:810,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:813,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:814,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:815,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 817
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 817
    functionName: test_nonfatal
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_set_nonfatal_assertions
    - g_print
    - g_test_trap_assert_stdout
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_nonfatal (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_print
      Src: /src/glib/glib/tests/testing.c:380,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_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_stderr
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - exit
    - g_print
    - g_test_trap_assert_stdout
    - g_test_subprocess
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_patterns (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/testing.c:859,1
    - Dst: g_test_failed
      Src: /src/glib/glib/tests/testing.c:863,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 864
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 864
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:393,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_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_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_test_trap_subprocess
    - g_usleep
    - g_assert_true
    - g_test_trap_reached_timeout
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_timeout (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:869,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:880,1
    - Dst: subprocess_incomplete
      Src: /src/glib/glib/tests/testing.c:871,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 881
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 881
    functionName: test_incomplete
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - subprocess_incomplete
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_incomplete (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2883,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2902,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:2882,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2894,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:2947,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:2936,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2956,1
    - Dst: g_test_slow
      Src: /src/glib/glib/tests/testing.c:2909,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2966,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/testing.c:2870,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2907,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:2927,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2948,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:2937,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:2967,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/testing.c:2872,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2880,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:2945,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:2914,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:2953,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2878,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:2888,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:2885,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2898,1
    - Dst: g_test_slow
      Src: /src/glib/glib/tests/testing.c:2903,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2925,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:2935,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2955,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/testing.c:2876,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2881,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:2893,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:2965,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:2879,1
    - Dst: g_test_add
      Src: /src/glib/glib/tests/testing.c:2896,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:2884,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:2951,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:2940,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:2970,1
    - 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:2910,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2984,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2982,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:2923,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:2963,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2891,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/testing.c:2895,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2912,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:2952,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:2908,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/testing.c:2981,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:2949,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:2919,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2938,1
    - Dst: g_test_perf
      Src: /src/glib/glib/tests/testing.c:2897,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2968,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2985,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2904,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/testing.c:2975,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2960,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:2950,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2920,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2939,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:2971,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 95
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2987
      start: 2861
    functionDepth: 0
    functionLinenumber: 2861
    functionLinenumberEnd: 2987
    functionName: main
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_build_filename
    - g_free
    - g_test_add_data_func
    - g_assert_cmpstr
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_test_perf
    - g_test_slow
    - g_test_add
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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:
    - g_assert_cmpstrv
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpstrv_length (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spaced_primes_closest
      Src: /src/glib/glib/tests/testing.c:425,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/tests/testing.c:427,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:426,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - Fixturetest*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 430
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 430
    functionName: fixturetest_test
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_spaced_primes_closest
    - g_assert_cmpint
    - g_assert_true
    - g_ascii_strtoull
    linkageType: ''
    returnType: void
    signature: 'static void fixturetest_test (Fixturetest *fix, gconstpointer test_data) '
  - 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:
    - g_assert_cmpstrv
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpstrv_values (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:435,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - Fixturetest*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 437
    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_test_rand_bit
      Src: /src/glib/glib/tests/testing.c:447,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:450,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:449,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:448,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/testing.c:451,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:452,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:453,1
    - Dst: g_test_rand_double
      Src: /src/glib/glib/tests/testing.c:454,1
    - Dst: g_test_rand_double_range
      Src: /src/glib/glib/tests/testing.c:455,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:456,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 458
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 458
    functionName: test_rand1
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_rand_double_range
    - g_assert_cmpfloat
    - g_test_rand_double
    - g_test_rand_int_range
    - g_test_rand_bit
    - g_test_rand_int
    linkageType: ''
    returnType: void
    signature: 'static void test_rand1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:604,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:611,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:614,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:606,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: test_expected_messages_extra_warning
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - exit
    - test_expected_messages_warning
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_extra_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_cmpint
      Src: /src/glib/glib/tests/testing.c:467,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:469,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/testing.c:467,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:469,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:470,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/testing.c:470,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:471,1
    - Dst: g_test_rand_double
      Src: /src/glib/glib/tests/testing.c:471,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:472,1
    - Dst: g_test_rand_double_range
      Src: /src/glib/glib/tests/testing.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 473
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 473
    functionName: test_rand2
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_rand_double_range
    - g_assert_cmpfloat
    - g_test_rand_double
    - g_test_rand_int_range
    - g_test_rand_bit
    - g_test_rand_int
    linkageType: ''
    returnType: void
    signature: 'static void test_rand2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:587,1
    - Dst: g_log
      Src: /src/glib/glib/tests/testing.c:588,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    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_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2703,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2704,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2705,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2729,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2730,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2699,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2707,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2711,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2713,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2716,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2720,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2714,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2728,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2721,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2697,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2701,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2723,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2719,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2702,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2731
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2731
    functionName: test_tap_subtest_error
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_get_filename
    - g_assert_true
    - g_free
    - g_assert_nonnull
    - g_spawn_sync
    - g_assert_no_error
    - g_assert_cmpstr
    - g_clear_error
    - strstr
    - g_str_has_prefix
    - g_test_summary
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:180,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:193,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:191,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_assert_cmpvariant
      Src: /src/glib/glib/tests/testing.c:210,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:263,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/testing.c:213,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:223,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:268,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:253,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:217,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:247,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:260,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:196,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:194,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/testing.c:198,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/testing.c:199,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:212,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_assert_stderr
      Src: /src/glib/glib/tests/testing.c:258,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:269,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:276,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:218,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:248,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/testing.c:179,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:190,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_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:225,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:227,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:215,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:255,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:274,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:264,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:238,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:279,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:271,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:245,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:178,1
    - 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:192,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: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_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:243,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:262,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:222,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:252,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:278,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:233,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_assert_cmphex
    - g_test_trap_assert_stderr_unmatched
    - g_assert_cmpint
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_assert_cmpvariant
    - g_assert_cmpstrv
    - g_assert_cmpfloat
    - g_test_trap_assert_stderr
    - g_assert_no_errno
    - g_variant_unref
    - g_strdup_printf
    - g_test_queue_free
    - g_assert_cmpmem
    - return_no_errno
    - g_assert_cmpfloat_with_epsilon
    - g_variant_new_parsed
    - g_assert
    - g_assert_cmpstr
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    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_expect_message
      Src: /src/glib/glib/tests/testing.c:596,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:597,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 599
    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_expect_message
      Src: /src/glib/glib/tests/testing.c:620,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:627,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:622,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:624,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:629,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 631
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 631
    functionName: test_expected_messages_unexpected_extra_warning
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - exit
    - test_expected_messages_warning
    - g_test_assert_expected_messages
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_unexpected_extra_warning (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2748,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2749,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2752,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2762,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2772,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2778,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2743,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2750,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2753,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2769,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2755,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2756,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2777,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2749,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2750,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2754,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2770,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2765,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2776,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2745,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2758,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2764,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2768,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2780
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2780
    functionName: test_tap_error_and_pass
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_environ_unsetenv
    - g_clear_error
    - g_steal_pointer
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_ptr_array_new
    - strlen
    - g_assert_nonnull
    - g_test_get_filename
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_get_environ
    - g_free
    - g_environ_getenv
    - g_spawn_sync
    - g_assert_cmpstr
    - g_spawn_check_wait_status
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_error_and_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1930,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2061,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2176,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2209,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1724,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1969,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2002,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2027,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2098,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2198,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1704,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1959,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1800,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1925,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2055,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2076,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2091,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2190,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2205,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1739,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1669,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1923,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1933,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1957,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2067,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2112,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2121,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2141,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2172,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1716,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1857,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2045,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2075,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2092,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2108,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2156,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2174,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1682,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2010,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2025,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2043,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2096,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2132,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2154,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1967,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1685,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1810,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2000,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1977,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2086,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2196,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2140,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2158,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1865,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1804,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1841,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1974,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1671,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1698,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1717,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2065,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2192,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2203,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1742,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1871,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2013,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2180,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2217,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1937,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2209,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1673,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1768,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1792,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1869,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1844,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1951,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2051,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2102,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2171,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2189,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1907,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2008,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1654,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1729,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1831,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1983,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1999,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2041,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2152,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2162,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1726,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1835,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2006,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2016,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2039,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2123,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2150,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1879,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1913,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1693,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1720,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1889,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2037,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2178,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2207,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1886,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1660,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1707,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1746,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1809,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1816,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1819,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2029,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2082,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2100,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1843,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2032,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2049,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2060,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2077,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2110,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2117,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2158,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1915,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1761,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1833,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1881,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2069,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2109,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2114,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2144,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2166,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/testing.c:1661,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1830,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1895,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1921,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1955,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2112,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2141,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1770,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1905,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1919,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1953,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1981,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1997,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2093,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1689,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1697,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1737,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1773,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1783,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1875,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1987,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1789,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1806,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1909,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1941,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2127,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2169,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1652,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1764,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1790,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1827,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1949,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1963,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2111,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2148,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:1794,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1675,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1715,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1781,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1802,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1695,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1751,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1985,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1805,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1863,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1667,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1748,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1965,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1939,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2125,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2194,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2211,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1899,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2004,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1849,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1862,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1971,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2058,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2200,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2139,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1969,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1853,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2002,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2113,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2142,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2198,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2214,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1925,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1991,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1959,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2190,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2203,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1999,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1823,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1887,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1907,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1980,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1719,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1739,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1681,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1711,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2024,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2162,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1897,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1656,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2045,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2089,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2156,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2173,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1975,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1851,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1877,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1911,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2062,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2078,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2131,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1951,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1867,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1931,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1989,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1672,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1759,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1785,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1805,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1906,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1943,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1865,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1998,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1893,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1717,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1670,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2022,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2038,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2047,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1703,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1733,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1871,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2192,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1791,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1892,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2051,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2066,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2008,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1693,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1713,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1828,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1982,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1825,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2019,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2037,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2041,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2152,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2165,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1763,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1815,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1873,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2028,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2099,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1692,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1848,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1863,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1936,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2020,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2036,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2134,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2205,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1855,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1961,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1691,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:1659,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1671,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1952,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1927,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2064,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2082,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2116,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1883,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1679,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1782,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1917,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2014,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2175,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2184,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1741,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1683,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1694,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1761,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1881,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1832,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:2026,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2097,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2215,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1894,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1955,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1777,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1921,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2085,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2160,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1725,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:1650,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1826,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1834,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1837,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1864,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1978,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2122,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1934,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1952,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1736,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1806,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:2207,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1957,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1715,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1735,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1760,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1793,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1923,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2088,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2142,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2188,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2189,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1787,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1908,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1678,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1705,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1716,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1755,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2038,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2076,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2080,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2191,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1861,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2010,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1714,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1781,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2043,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2068,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2154,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2000,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1967,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1813,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2071,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2104,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2113,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2179,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2196,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1965,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1938,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1701,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1738,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1804,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1817,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2030,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2101,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2194,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1737,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1745,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1846,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1864,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1971,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1986,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2004,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2138,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2200,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1940,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1673,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1869,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2126,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2177,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1655,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1722,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1896,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1680,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1771,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1779,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2006,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2039,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2150,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1723,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1796,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1812,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1879,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1913,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1984,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2054,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2129,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2191,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1877,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1700,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:1660,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1727,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1747,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1850,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1911,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1786,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2078,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2124,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1672,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1758,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1808,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1867,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2049,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2111,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2120,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2168,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1769,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1890,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1908,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1782,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1749,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1757,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2021,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2047,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2057,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2148,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1702,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1760,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1780,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1990,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1919,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1653,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1663,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1953,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1998,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1906,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2023,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2077,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2094,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2130,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1766,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1783,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1862,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1875,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1909,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2140,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2160,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2211,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1854,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1873,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1993,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1901,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1814,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2063,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2139,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1963,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1988,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1738,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1759,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1767,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1950,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2017,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2119,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1803,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1950,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1927,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1942,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1961,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2128,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2144,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2218,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2095,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1945,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1883,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1917,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1657,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1676,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1695,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1744,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1898,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2080,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1694,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1852,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 510
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2219
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 2219
    functionName: test_tap_subtest
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_error
    - g_ptr_array_unref
    - g_ptr_array_new
    - g_assert_nonnull
    - g_str_has_prefix
    - g_test_get_filename
    - g_assert_no_error
    - strstr
    - g_assert_null
    - g_assert_error
    - g_ptr_array_add
    - g_test_message
    - g_get_environ
    - g_free
    - g_environ_getenv
    - g_spawn_sync
    - g_spawn_check_wait_status
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2276,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2278,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2281,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2280,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2282,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2283,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2284,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2286,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2290,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2292,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2296,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2297,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2296,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2303,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2293,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2304,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2305
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2305
    functionName: test_tap_subtest_summary
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_assert_true
    - g_free
    - g_assert_nonnull
    - g_spawn_sync
    - g_assert_no_error
    - strstr
    - g_str_has_prefix
    - g_test_summary
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_summary (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:416,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/testing.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - Fixturetest*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: fixturetest_setup
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void fixturetest_setup (Fixturetest *fix, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2237,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2236,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2257,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2257,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2258,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2262,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2231,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2242,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2254,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2244,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2253,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2246,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2263,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2239,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2243,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2243,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2244,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2252,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2264,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2235,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2233,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2238,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2250,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2254,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2265
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2265
    functionName: test_tap_summary
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_get_environ
    - g_free
    - g_environ_getenv
    - g_assert_nonnull
    - g_spawn_sync
    - g_assert_no_error
    - g_environ_unsetenv
    - g_steal_pointer
    - strstr
    - g_strfreev
    - g_assert_null
    - g_test_summary
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_summary (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2325,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2355,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2361,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2318,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2329,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2331,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2342,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2340,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2333,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2347,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2349,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2353,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2356,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2366,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2359,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2367,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2324,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2323,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2326,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2330,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2330,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2331,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2339,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2350,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2350,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2357,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2358,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2363,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2368,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2322,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2320,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2345,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2342,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2337,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2346,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2354,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:2362,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2364,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2369,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2370
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2370
    functionName: test_tap_message
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_environ_unsetenv
    - g_steal_pointer
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_ptr_array_new
    - strlen
    - g_assert_nonnull
    - g_strsplit
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_no_error
    - strstr
    - g_assert_null
    - g_ptr_array_add
    - g_strv_length
    - g_get_environ
    - g_free
    - g_environ_getenv
    - g_spawn_sync
    - g_assert_cmpstr
    - g_spawn_check_wait_status
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_message (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_assert_cmpvariant
      Src: /src/glib/glib/tests/testing.c:49,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/testing.c:51,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_string
    - g_variant_unref
    - g_variant_new_boolean
    - exit
    - g_assert_cmpvariant
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpvariant_types (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2388,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2389,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2390,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2398,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2401,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2404,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2409,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2414,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2422,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2382,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2387,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2384,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2396,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2406,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2408,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2401,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2399,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2413,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2386,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2405,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2409,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2415,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2420,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2426,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2392,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2412,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2416,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2417,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2418,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:2421,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2423,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2425,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2427,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2428
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2428
    functionName: test_tap_subtest_message
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_ptr_array_new
    - strlen
    - g_assert_nonnull
    - g_strsplit
    - g_str_has_prefix
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_strv_length
    - g_free
    - g_spawn_sync
    - g_assert_cmpstr
    - g_spawn_check_wait_status
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_message (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/testing.c:62,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/testing.c:63,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_assert_cmpvariant
      Src: /src/glib/glib/tests/testing.c:65,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_unref
    - g_assert_cmpvariant
    - exit
    - g_variant_new_string
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpvariant_values (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2445,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2447,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2448,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2449,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2452,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2460,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2468,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2475,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2441,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2446,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2453,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2456,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2467,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2462,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2470,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2476,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2478,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2480,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2454,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2471,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2474,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2479,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2443,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2453,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2466,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2463,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2454,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2471,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2481,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2482
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2482
    functionName: test_tap_print
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_environ_unsetenv
    - g_steal_pointer
    - g_strfreev
    - g_test_summary
    - g_ptr_array_unref
    - g_ptr_array_new
    - strlen
    - g_assert_nonnull
    - g_strsplit
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_no_error
    - strstr
    - g_ptr_array_add
    - g_strv_length
    - g_get_environ
    - g_free
    - g_environ_getenv
    - g_spawn_sync
    - g_assert_cmpstr
    - g_spawn_check_wait_status
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_print (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_fork
      Src: /src/glib/glib/tests/testing.c:332,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
    - 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
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    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_usleep
    - g_test_trap_fork
    - g_assert_true
    - g_test_trap_reached_timeout
    linkageType: ''
    returnType: void
    signature: 'static void test_fork_timeout (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:644,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:650,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:661,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:636,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:642,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:639,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:640,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:648,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:654,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:662,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:659,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:672,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:638,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:656,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:666,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:671,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:645,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:646,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:664,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:651,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:657,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:652,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:667,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 673
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 673
    functionName: test_expected_messages
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr_unmatched
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:485,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:489,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/testing.c:486,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:488,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/tests/testing.c:487,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 491
    functionName: test_random_conversions
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_ascii_strtoll
    - g_strdup_printf
    - g_assert_true
    - g_test_rand_int
    linkageType: ''
    returnType: void
    signature: 'static void test_random_conversions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_log_set_fatal_handler
      Src: /src/glib/glib/tests/testing.c:505,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:506,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:508,1
    - Dst: g_critical
      Src: /src/glib/glib/tests/testing.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: test_fatal_log_handler_critical_pass
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_critical
    - g_str_has_prefix
    - exit
    - g_test_log_set_fatal_handler
    linkageType: ''
    returnType: void
    signature: 'static void test_fatal_log_handler_critical_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/tests/testing.c:550,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/testing.c:550,1
    - Dst: g_return_if_reached
      Src: /src/glib/glib/tests/testing.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: test_expected_messages_warning
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_random_int
    - g_return_if_reached
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_warning (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:565,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 568
    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: []
    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: 500
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 500
    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_error
      Src: /src/glib/glib/tests/testing.c:514,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: test_fatal_log_handler_error_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - exit
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void test_fatal_log_handler_error_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:557,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 560
    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:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:573,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:575,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:580,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:581,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 582
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 582
    functionName: test_expected_messages_expected
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - exit
    - test_expected_messages_warning
    - g_test_assert_expected_messages
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_expected (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:678,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/testing.c:682,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:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 683
    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_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:
    - exit
    - g_assert_cmpmem
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpmem_len (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_set_nonfatal_assertions
      Src: /src/glib/glib/tests/testing.c:839,1
    - Dst: g_test_fail
      Src: /src/glib/glib/tests/testing.c:840,1
    - Dst: g_test_failed
      Src: /src/glib/glib/tests/testing.c:841,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 842
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 842
    functionName: subprocess_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_set_nonfatal_assertions
    - g_test_fail
    - g_test_failed
    linkageType: ''
    returnType: void
    signature: 'static void subprocess_fail (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:
    - exit
    - g_assert_cmpmem
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpmem_data (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:847,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:852,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:853,1
    - Dst: subprocess_fail
      Src: /src/glib/glib/tests/testing.c:849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 854
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 854
    functionName: test_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - subprocess_fail
    - g_test_trap_subprocess
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:45,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
    - 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
    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_key_file_get_string
    - g_free
    - g_assert_nonnull
    - g_assert_cmpstr
    - check_no_error
    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: 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: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:129,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:
    - va_end
    - g_assert_nonnull
    - g_assert_cmpstr
    - va_start
    - va_arg
    - g_key_file_get_locale_string_list
    - g_strfreev
    - check_no_error
    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: va_start
      Src: /src/glib/glib/tests/keyfile.c:196,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:198,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:193,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:194,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:
    - va_end
    - g_assert_cmpint
    - g_free
    - g_assert_cmpfloat
    - g_assert_nonnull
    - va_start
    - va_arg
    - check_no_error
    - g_key_file_get_double_list
    linkageType: ''
    returnType: void
    signature: 'static void check_double_list_value (GKeyFile *keyfile, const gchar
      *group, const gchar *key, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:594,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:599,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:603,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:597,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:607,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:608,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:612,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:609,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:618,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:625,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:626,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:627,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:596,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:600,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:604,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:605,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:617,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/glib/tests/keyfile.c:621,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:623,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:624,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:601,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:611,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:616,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:615,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:613,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:619,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:620,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:629,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 632
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 632
    functionName: test_string
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - check_string_list_value
    - load_data
    - g_key_file_get_string
    - g_free
    - g_key_file_set_string_list
    - g_key_file_free
    - check_error
    - check_string_value
    - g_key_file_set_string
    linkageType: ''
    returnType: void
    signature: 'static void test_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:949,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:957,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:971,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:974,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:976,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:989,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:953,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:964,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:969,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:970,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:967,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:962,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:982,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:987,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:956,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:951,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:956,1
    - Dst: g_key_file_remove_group
      Src: /src/glib/glib/tests/keyfile.c:961,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:969,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:981,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:954,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:958,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:959,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:966,1
    - Dst: g_key_file_remove_group
      Src: /src/glib/glib/tests/keyfile.c:973,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:978,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:979,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:981,1
    - Dst: g_key_file_remove_group
      Src: /src/glib/glib/tests/keyfile.c:984,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:985,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 990
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 990
    functionName: test_group_remove
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - load_data
    - check_name
    - g_assert_nonnull
    - g_key_file_free
    - g_key_file_remove_group
    - check_error
    - g_strfreev
    - check_length
    - check_no_error
    - g_strv_length
    - g_test_bug
    - g_key_file_get_groups
    linkageType: ''
    returnType: void
    signature: 'static void test_group_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1611,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1614,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1613,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1613,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1617,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1618,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1619,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1621,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/tests/keyfile.c:1622,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1623,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1626,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/tests/keyfile.c:1627,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1631,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1624,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1629,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1633,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1628,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1634
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1634
    functionName: test_non_utf8
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_key_file_load_from_data
    - g_key_file_new
    - g_key_file_get_string
    - g_key_file_get_string_list
    - g_key_file_free
    - g_clear_error
    - g_assert_null
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_non_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1681,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1683,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1684,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1683,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1685,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:1685,1
    - Dst: g_key_file_ref
      Src: /src/glib/glib/tests/keyfile.c:1686,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1687,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1689
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1689
    functionName: test_ref
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_key_file_load_from_data
    - g_key_file_new
    - g_key_file_free
    - g_key_file_unref
    - g_key_file_ref
    - g_assert_true
    - g_key_file_has_key
    linkageType: ''
    returnType: void
    signature: 'static void test_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1715,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1717,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:1719,1
    - Dst: g_key_file_set_list_separator
      Src: /src/glib/glib/tests/keyfile.c:1716,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1721
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1721
    functionName: test_list_separator
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - check_string_list_value
    - g_key_file_load_from_data
    - g_key_file_new
    - g_key_file_unref
    - g_key_file_set_list_separator
    linkageType: ''
    returnType: void
    signature: 'static void test_list_separator (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: 2
    argNames:
    - data
    - flags
    argTypes:
    - gchar*
    - GKeyFileFlags
    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_load_from_data
    - g_key_file_new
    - 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_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
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:66,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_key_file_get_locale_string
    - g_free
    - g_assert_nonnull
    - g_assert_cmpstr
    - check_no_error
    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: 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: 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: 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:
    - va_end
    - g_assert_cmpint
    - g_free
    - g_key_file_get_integer_list
    - g_assert_nonnull
    - va_start
    - va_arg
    - check_no_error
    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: va_start
      Src: /src/glib/glib/tests/keyfile.c:228,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:230,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:225,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:226,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:
    - va_end
    - g_assert_cmpint
    - g_free
    - g_assert_nonnull
    - g_key_file_get_boolean_list
    - va_start
    - va_arg
    - check_no_error
    linkageType: ''
    returnType: void
    signature: 'static void check_boolean_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:1004,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1008,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1011,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/glib/tests/keyfile.c:1010,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1006,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1013,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1014,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1015,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/glib/tests/keyfile.c:1017,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1018,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/glib/tests/keyfile.c:1020,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1023,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1021,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1024
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1024
    functionName: test_key_remove
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - load_data
    - g_key_file_get_string
    - g_free
    - g_key_file_remove_key
    - g_key_file_free
    - check_error
    - check_string_value
    - check_no_error
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_key_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1649,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/keyfile.c:1654,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1654,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1651,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1655,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/keyfile.c:1662,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:1663,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1664,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1665,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:1666,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1670
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1670
    functionName: test_page_boundary
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_get_filename
    - g_key_file_new
    - g_key_file_get_integer
    - g_free
    - g_assert_no_error
    - g_key_file_free
    - g_strdup_printf
    - g_key_file_load_from_file
    - g_test_bug
    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:1729,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1732,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1734,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1731,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1735,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1738,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1739,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1742,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/keyfile.c:1742,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1743,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1746
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1746
    functionName: test_empty_string
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_key_file_new
    - GINT_TO_POINTER
    - g_assert_no_error
    - g_key_file_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_empty_string (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:325,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:326,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:327,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:
    - check_string_value
    - load_data
    - g_key_file_free
    linkageType: ''
    returnType: void
    signature: 'static void test_line_ends (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:525,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:534,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/glib/tests/keyfile.c:543,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:537,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:546,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_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:526,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:528,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: g_key_file_has_key
      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: 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_true
      Src: /src/glib/glib/tests/keyfile.c:557,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:559,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_assert_false
      Src: /src/glib/glib/tests/keyfile.c:551,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
    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:
    - load_data
    - g_assert_false
    - g_key_file_get_start_group
    - g_free
    - g_key_file_has_group
    - check_name
    - g_key_file_has_key
    - g_assert_nonnull
    - g_key_file_free
    - g_assert_cmpstr
    - check_error
    - g_strfreev
    - check_length
    - check_no_error
    - g_assert_true
    - g_strv_length
    - g_key_file_get_keys
    - g_key_file_get_groups
    linkageType: ''
    returnType: void
    signature: 'static void test_listing (void) '
  - 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:
    - check_no_error
    - g_assert_cmpint
    - g_key_file_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void check_boolean_value (GKeyFile *keyfile, const gchar *group,
      const gchar *key, gboolean expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:655,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:658,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:659,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:657,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:660,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:661,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:662,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/glib/tests/keyfile.c:664,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:665,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/glib/tests/keyfile.c:667,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:668,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/glib/tests/keyfile.c:670,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/glib/tests/keyfile.c:673,1
    - Dst: g_key_file_set_boolean
      Src: /src/glib/glib/tests/keyfile.c:676,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:679,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:677,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:674,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 680
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 680
    functionName: test_boolean
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_boolean
    - load_data
    - g_key_file_get_boolean
    - g_key_file_free
    - check_error
    - check_boolean_value
    linkageType: ''
    returnType: void
    signature: 'static void test_boolean (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:869,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:873,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:872,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:874,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:871,1
    - Dst: check_boolean_list_value
      Src: /src/glib/glib/tests/keyfile.c:875,1
    - Dst: check_integer_list_value
      Src: /src/glib/glib/tests/keyfile.c:876,1
    - Dst: check_double_list_value
      Src: /src/glib/glib/tests/keyfile.c:877,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:882,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:886,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:893,1
    - Dst: g_key_file_set_list_separator
      Src: /src/glib/glib/tests/keyfile.c:887,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:891,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:890,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 894
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 894
    functionName: test_lists
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - check_string_list_value
    - load_data
    - check_integer_list_value
    - g_key_file_free
    - check_double_list_value
    - g_key_file_set_list_separator
    - check_boolean_list_value
    linkageType: ''
    returnType: void
    signature: 'static void test_lists (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1395,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1402,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1411,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/tests/keyfile.c:1404,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1415,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1412,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1420,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1421,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1430,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1431,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1444,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1383,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1398,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:1405,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1410,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1418,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1423,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1432,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1433,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1435,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1438,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1391,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1386,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/tests/keyfile.c:1393,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1413,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1416,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1422,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1425,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1426,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1440,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1441,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1442,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1448,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1446,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1387,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1388,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:1394,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1397,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1407,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1417,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1427,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1428,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1437,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1436,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1449,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1450
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1450
    functionName: test_reload_idempotency
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_key_file_load_from_data
    - g_key_file_new
    - g_free
    - g_assert_nonnull
    - g_key_file_free
    - g_assert_cmpstr
    - g_key_file_to_data
    - g_assert_null
    - g_key_file_get_comment
    - check_no_error
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_reload_idempotency (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1814,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/tests/keyfile.c:1818,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1819,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/glib/tests/keyfile.c:1816,1
    - Dst: g_key_file_set_integer
      Src: /src/glib/glib/tests/keyfile.c:1815,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1821,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1823
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1823
    functionName: test_roundtrip
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_integer
    - load_data
    - g_free
    - g_key_file_remove_key
    - g_key_file_free
    - g_assert_cmpstr
    - g_key_file_to_data
    linkageType: ''
    returnType: void
    signature: 'static void test_roundtrip (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1866,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:1876,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1867,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:1875,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:1878,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:1879,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:1881,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:1882,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1885
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1885
    functionName: test_get_locale
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_key_file_new
    - g_key_file_free
    - check_locale_string_value
    - check_string_locale_value
    linkageType: ''
    returnType: void
    signature: 'static void test_get_locale (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:267,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:268,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:269,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:
    - check_no_error
    - g_assert_cmpint
    - g_key_file_get_integer
    linkageType: ''
    returnType: void
    signature: 'static void check_integer_value (GKeyFile *keyfile, const gchar *group,
      const gchar *key, gint expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:905,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:909,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:915,1
    - Dst: check_locale_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:912,1
    - Dst: g_key_file_set_integer_list
      Src: /src/glib/glib/tests/keyfile.c:922,1
    - Dst: g_key_file_set_double_list
      Src: /src/glib/glib/tests/keyfile.c:923,1
    - Dst: g_key_file_set_locale_string_list
      Src: /src/glib/glib/tests/keyfile.c:907,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:907,1
    - Dst: g_key_file_set_integer_list
      Src: /src/glib/glib/tests/keyfile.c:908,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:908,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:911,1
    - Dst: check_integer_list_value
      Src: /src/glib/glib/tests/keyfile.c:913,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:922,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:923,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:925,1
    - Dst: check_double_list_value
      Src: /src/glib/glib/tests/keyfile.c:928,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:920,1
    - Dst: g_key_file_set_locale_string_list
      Src: /src/glib/glib/tests/keyfile.c:921,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:918,1
    - Dst: check_locale_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:926,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:929,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/glib/tests/keyfile.c:906,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:906,1
    - Dst: g_key_file_set_double_list
      Src: /src/glib/glib/tests/keyfile.c:909,1
    - Dst: g_key_file_set_list_separator
      Src: /src/glib/glib/tests/keyfile.c:919,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/glib/tests/keyfile.c:920,1
    - Dst: check_double_list_value
      Src: /src/glib/glib/tests/keyfile.c:914,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:921,1
    - Dst: check_integer_list_value
      Src: /src/glib/glib/tests/keyfile.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 930
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 930
    functionName: test_lists_set_get
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - check_string_list_value
    - check_integer_list_value
    - g_key_file_new
    - g_key_file_set_string_list
    - g_key_file_set_locale_string_list
    - g_key_file_free
    - g_key_file_set_integer_list
    - g_key_file_set_double_list
    - check_double_list_value
    - G_N_ELEMENTS
    - g_key_file_set_list_separator
    - check_locale_string_list_value
    linkageType: ''
    returnType: void
    signature: 'static void test_lists_set_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1835,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1836,1
    - Dst: g_key_file_load_from_bytes
      Src: /src/glib/glib/tests/keyfile.c:1842,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1844,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/keyfile.c:1836,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:1846,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:1847,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:1849,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:1849,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:1850,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1853,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1858,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:1856,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/keyfile.c:1857,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:1851,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1859
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1859
    functionName: test_bytes
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_key_file_new
    - check_name
    - g_bytes_new
    - g_assert_nonnull
    - g_assert_no_error
    - g_key_file_free
    - g_key_file_load_from_bytes
    - g_bytes_unref
    - check_string_value
    - g_strfreev
    - check_length
    - g_strv_length
    - g_key_file_get_groups
    linkageType: ''
    returnType: void
    signature: 'static void test_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:1902,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1903,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1906,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1914,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:1917,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1918,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1910,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1902,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:1901,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1909,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:1909,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1917,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1912,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1920,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:1918,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1896,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1901,1
    - Dst: g_key_file_ref
      Src: /src/glib/glib/tests/keyfile.c:1898,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1915,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:1910,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1921
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1921
    functionName: test_free_when_not_last_ref
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - load_data
    - g_assert_false
    - g_key_file_load_from_data
    - g_key_file_has_group
    - g_assert_no_error
    - g_key_file_free
    - check_error
    - g_clear_error
    - g_key_file_unref
    - g_key_file_ref
    - g_assert_true
    - g_key_file_has_key
    linkageType: ''
    returnType: void
    signature: 'static void test_free_when_not_last_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1697,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/tests/keyfile.c:1699,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/tests/keyfile.c:1698,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1701,1
    - Dst: g_key_file_remove_group
      Src: /src/glib/glib/tests/keyfile.c:1700,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/tests/keyfile.c:1701,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1703
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1703
    functionName: test_replace_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_free
    - g_key_file_remove_group
    - g_key_file_to_data
    - g_key_file_unref
    - g_key_file_set_value
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_locale_for_key
      Src: /src/glib/glib/tests/keyfile.c:78,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:80,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:79,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_no_error
      Src: /src/glib/glib/tests/keyfile.c:401,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:473,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:438,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:448,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:481,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_name
      Src: /src/glib/glib/tests/keyfile.c:439,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:445,1
    - Dst: g_key_file_remove_comment
      Src: /src/glib/glib/tests/keyfile.c:470,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:471,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:446,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_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_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_strfreev
      Src: /src/glib/glib/tests/keyfile.c:424,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:449,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:433,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:497,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:422,1
    - Dst: g_key_file_remove_comment
      Src: /src/glib/glib/tests/keyfile.c:442,1
    - 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_key_file_set_value
      Src: /src/glib/glib/tests/keyfile.c:495,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_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: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:491,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:478,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:451,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:421,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:432,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:398,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_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:437,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:463,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:485,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:429,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:499,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: check_length
      Src: /src/glib/glib/tests/keyfile.c:418,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/glib/tests/keyfile.c:415,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:483,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:472,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:456,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:443,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:479,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:427,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:455,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:496,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:435,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:395,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:419,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: g_key_file_remove_comment
      Src: /src/glib/glib/tests/keyfile.c:431,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: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:489,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:498,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:465,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:
    - load_data
    - g_free
    - g_key_file_remove_comment
    - check_name
    - g_key_file_free
    - g_key_file_set_string
    - check_string_value
    - check_error
    - g_strfreev
    - check_length
    - g_assert_null
    - g_key_file_get_comment
    - g_key_file_set_value
    - check_no_error
    - g_strv_length
    - g_test_bug
    - g_key_file_get_keys
    linkageType: ''
    returnType: void
    signature: 'static void test_comments (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:806,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:804,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:775,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:778,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:779,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:780,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:777,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/keyfile.c:790,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/keyfile.c:791,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:794,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:792,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:797,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:800,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:799,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:798,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:790,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:781,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:783,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:784,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:786,1
    - Dst: check_locale_string_value
      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_free
      Src: /src/glib/glib/tests/keyfile.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 808
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 808
    functionName: test_locale_string
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - load_data
    - g_free
    - g_key_file_free
    - check_locale_string_value
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1038,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1040,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1043,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1042,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1046
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1046
    functionName: test_groups
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - check_string_value
    - load_data
    - g_key_file_free
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_groups (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/tests/keyfile.c:95,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:97,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:101,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:96,1
    - Dst: va_start
      Src: /src/glib/glib/tests/keyfile.c:99,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:
    - va_end
    - g_key_file_get_string_list
    - g_assert_nonnull
    - g_assert_cmpstr
    - va_start
    - va_arg
    - g_strfreev
    - check_no_error
    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_summary
      Src: /src/glib/glib/tests/keyfile.c:827,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:828,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/keyfile.c:830,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:830,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/keyfile.c:831,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:832,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:834,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:838,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:839,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:841,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:848,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:849,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:843,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:842,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 850
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 850
    functionName: test_locale_string_multiple_loads
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - g_key_file_load_from_data
    - g_key_file_new
    - g_free
    - g_assert_no_error
    - g_key_file_free
    - g_test_summary
    - g_setenv
    - check_locale_string_value
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_string_multiple_loads (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1060,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1070,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1081,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1091,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1107,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1124,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1128,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1131,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1134,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1059,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1062,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1082,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1100,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1116,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1122,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1129,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1132,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1125,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1071,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1080,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1090,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1099,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1102,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1104,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1106,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1110,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1113,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1120,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1061,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1069,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1072,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1079,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1089,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1092,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1101,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1111,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1115,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1119,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1135
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1135
    functionName: test_group_names
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_key_file_new
    - g_key_file_get_string
    - g_key_file_free
    - check_error
    - check_string_value
    - g_assert_null
    - check_no_error
    - g_key_file_set_string
    linkageType: ''
    returnType: void
    signature: 'static void test_group_names (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/keyfile.c:1926,1
    - Dst: g_test_get_dir
      Src: /src/glib/glib/tests/keyfile.c:1929,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1941,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1961,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1963,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1965,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1967,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/keyfile.c:1929,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1933,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1934,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1937,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1938,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1943,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1944,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1948,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1956,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1959,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1966,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/keyfile.c:1969,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1932,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1936,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1945,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1939,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1952,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1954,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1955,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1958,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1960,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1962,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1935,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1946,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1940,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1947,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1942,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1949,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1950,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1951,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1953,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1957,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1970
    functionName: main
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_test_get_dir
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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: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:350,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: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:
    - check_string_value
    - load_data
    - g_key_file_free
    linkageType: ''
    returnType: void
    signature: 'static void test_whitespace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:716,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:720,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:728,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:733,1
    - Dst: g_key_file_get_double
      Src: /src/glib/glib/tests/keyfile.c:739,1
    - Dst: g_key_file_get_double
      Src: /src/glib/glib/tests/keyfile.c:747,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:755,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:748,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:715,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:719,1
    - Dst: check_double_value
      Src: /src/glib/glib/tests/keyfile.c:723,1
    - Dst: check_double_value
      Src: /src/glib/glib/tests/keyfile.c:725,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:730,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:737,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:740,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:741,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:744,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:745,1
    - Dst: check_integer_value
      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:724,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:734,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:727,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:749,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:753,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:713,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:717,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:721,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:731,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:736,1
    - Dst: g_key_file_get_double
      Src: /src/glib/glib/tests/keyfile.c:743,1
    - Dst: g_key_file_get_double
      Src: /src/glib/glib/tests/keyfile.c:751,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 756
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 756
    functionName: test_number
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - load_data
    - g_key_file_get_integer
    - g_assert_cmpfloat
    - check_integer_value
    - check_double_value
    - g_key_file_free
    - g_key_file_get_double
    - check_error
    linkageType: ''
    returnType: void
    signature: 'static void test_number (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_assert_error
    - g_error_free
    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: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:282,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:283,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:
    - check_no_error
    - g_assert_cmpfloat
    - g_key_file_get_double
    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_set_string
      Src: /src/glib/glib/tests/keyfile.c:1259,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1273,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1289,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1228,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1161,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1248,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1241,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1267,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1255,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1287,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1159,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1284,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1249,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1263,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1158,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1178,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1181,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1160,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1189,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1197,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1200,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1207,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1215,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1276,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1286,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1260,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1188,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1191,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1206,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1209,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1281,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1258,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1180,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1251,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1277,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1238,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1220,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1266,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1236,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1201,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1264,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1252,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1239,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1148,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1151,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1171,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1226,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1262,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1269,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1149,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1169,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1225,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1234,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1246,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:1291,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1261,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1233,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1242,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1168,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1198,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1216,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1150,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1179,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1170,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1235,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1274,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1217,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1227,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1245,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1285,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1199,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1270,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1280,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1190,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1192,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1208,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1210,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 109
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1292
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1292
    functionName: test_key_names
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_key_file_new
    - g_key_file_get_string
    - g_free
    - g_key_file_free
    - check_error
    - check_string_value
    - g_assert_null
    - check_no_error
    - g_key_file_set_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:1319,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1323,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1321,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1322,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1326
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1326
    functionName: test_duplicate_groups
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - check_string_value
    - load_data
    - g_key_file_free
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_duplicate_groups (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1472,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/keyfile.c:1477,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1477,1
    - Dst: g_key_file_set_int64
      Src: /src/glib/glib/tests/keyfile.c:1488,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/tests/keyfile.c:1490,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1485,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1483,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1492,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1494,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1470,1
    - Dst: g_key_file_get_int64
      Src: /src/glib/glib/tests/keyfile.c:1479,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1480,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/tests/keyfile.c:1484,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1491,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1474,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1472,1
    - Dst: g_key_file_get_uint64
      Src: /src/glib/glib/tests/keyfile.c:1476,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:1480,1
    - Dst: g_key_file_set_uint64
      Src: /src/glib/glib/tests/keyfile.c:1482,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1486,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1468,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1495
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1495
    functionName: test_int64
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_key_file_load_from_data
    - g_key_file_new
    - g_assert_cmpint
    - g_free
    - g_assert_cmpuint
    - g_key_file_free
    - g_assert_cmpstr
    - G_GUINT64_CONSTANT
    - g_key_file_get_int64
    - g_key_file_get_value
    - g_key_file_set_uint64
    - g_key_file_set_int64
    - G_GINT64_CONSTANT
    - g_assert_true
    - g_test_bug
    - g_key_file_get_uint64
    linkageType: ''
    returnType: void
    signature: 'static void test_int64 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1553,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1560,1
    - Dst: g_key_file_save_to_file
      Src: /src/glib/glib/tests/keyfile.c:1561,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1565,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1562,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/keyfile.c:1571,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1563,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1576,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/keyfile.c:1555,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:1557,1
    - Dst: g_close
      Src: /src/glib/glib/tests/keyfile.c:1558,1
    - Dst: g_key_file_get_uint64
      Src: /src/glib/glib/tests/keyfile.c:1570,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1575,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1552,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1551,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1552,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/keyfile.c:1556,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1559,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1567,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1566,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1568,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1571,1
    - Dst: remove
      Src: /src/glib/glib/tests/keyfile.c:1573,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1577
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1577
    functionName: test_save
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_key_file_load_from_data
    - g_key_file_new
    - g_assert_cmpint
    - g_close
    - g_free
    - g_assert_cmpuint
    - g_assert_no_error
    - g_key_file_free
    - G_GUINT64_CONSTANT
    - remove
    - g_key_file_save_to_file
    - g_key_file_load_from_file
    - g_key_file_get_uint64
    - g_assert_true
    - g_mkstemp
    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:1759,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1764,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1762,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1763,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1762,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1765,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1767
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1767
    functionName: test_limbo
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_key_file_load_from_data
    - g_key_file_new
    - g_assert_false
    - g_key_file_free
    - g_clear_error
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_limbo (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: load_data
      Src: /src/glib/glib/tests/keyfile.c:1303,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1304,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1307
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1307
    functionName: test_duplicate_keys
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - check_string_value
    - load_data
    - g_key_file_free
    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:1340,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1346,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1344,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1342,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1347
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1347
    functionName: test_duplicate_groups2
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - check_string_value
    - load_data
    - g_key_file_free
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_duplicate_groups2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1505,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1528,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1511,1
    - Dst: g_key_file_set_locale_string
      Src: /src/glib/glib/tests/keyfile.c:1516,1
    - Dst: g_key_file_set_integer
      Src: /src/glib/glib/tests/keyfile.c:1518,1
    - Dst: g_key_file_set_comment
      Src: /src/glib/glib/tests/keyfile.c:1522,1
    - Dst: g_key_file_set_comment
      Src: /src/glib/glib/tests/keyfile.c:1521,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1514,1
    - Dst: g_key_file_load_from_data_dirs
      Src: /src/glib/glib/tests/keyfile.c:1528,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/keyfile.c:1530,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1529,1
    - Dst: g_key_file_load_from_data_dirs
      Src: /src/glib/glib/tests/keyfile.c:1509,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1513,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/keyfile.c:1511,1
    - Dst: g_key_file_set_boolean_list
      Src: /src/glib/glib/tests/keyfile.c:1517,1
    - Dst: g_key_file_set_double
      Src: /src/glib/glib/tests/keyfile.c:1519,1
    - Dst: g_key_file_set_comment
      Src: /src/glib/glib/tests/keyfile.c:1520,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1526,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1524,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1532
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1532
    functionName: test_load
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_locale_string
    - g_key_file_set_integer
    - g_assert_false
    - g_test_get_filename
    - g_key_file_new
    - g_key_file_load_from_data_dirs
    - g_assert_no_error
    - g_key_file_set_double
    - g_key_file_set_comment
    - g_key_file_free
    - g_error_free
    - g_key_file_load_from_file
    - g_key_file_set_boolean_list
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_load (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1585,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/keyfile.c:1587,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1587,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1588,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1587,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1589,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1590,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1590,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1591,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1592,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1595
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1595
    functionName: test_load_fail
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_key_file_new
    - g_test_get_filename
    - g_key_file_free
    - g_clear_error
    - g_key_file_load_from_file
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_load_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:1780,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1792,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1789,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/keyfile.c:1787,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/keyfile.c:1790,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1792,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1793,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1794,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1795,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1796,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1797,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1799
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1799
    functionName: test_utf8
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_test_message
    - g_key_file_load_from_data
    - g_key_file_new
    - g_assert_false
    - g_free
    - g_key_file_free
    - g_clear_error
    - g_strdup_printf
    - g_assert_error
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:250,1
    - Dst: g_tree_insert_node
      Src: /src/glib/glib/tests/tree.c:267,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:276,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_assert_true
      Src: /src/glib/glib/tests/tree.c:298,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:254,1
    - Dst: g_tree_replace
      Src: /src/glib/glib/tests/tree.c:260,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:270,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:282,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:274,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_tree_insert
      Src: /src/glib/glib/tests/tree.c:253,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:255,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:261,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:273,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:269,1
    - Dst: g_tree_steal
      Src: /src/glib/glib/tests/tree.c:281,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:275,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
    - 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:262,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/tree.c:268,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
    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_tree_replace_node
    - g_tree_steal
    - g_tree_insert
    - g_assert_nonnull
    - g_tree_destroy
    - g_tree_remove
    - g_assert_null
    - g_tree_new_full
    - g_tree_insert_node
    - g_assert_true
    - g_tree_replace
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_new
      Src: /src/glib/glib/tests/tree.c:434,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/tree.c:439,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:437,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/tree.c:442,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/tree.c:440,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_traverse
    - g_string_new
    - g_string_set_size
    - g_tree_insert
    - g_tree_unref
    - g_tree_new
    - g_assert_cmpstr
    - g_string_free
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_traverse (void) '
  - 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_new_full
      Src: /src/glib/glib/tests/tree.c:310,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/tree.c:322,1
    - Dst: g_tree_remove_all
      Src: /src/glib/glib/tests/tree.c:320,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_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_unref
      Src: /src/glib/glib/tests/tree.c:327,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:325,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:
    - strlen
    - g_tree_remove_all
    - g_assert_cmpint
    - g_assert_cmpuint
    - g_tree_insert
    - g_tree_height
    - g_tree_nnodes
    - g_tree_new_full
    - g_tree_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_remove_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_unref
      Src: /src/glib/glib/tests/tree.c:467,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:465,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:470,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_strdup
      Src: /src/glib/glib/tests/tree.c:478,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:493,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:485,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/tree.c:485,1
    - Dst: g_free
      Src: /src/glib/glib/tests/tree.c:497,1
    - Dst: g_tree_new
      Src: /src/glib/glib/tests/tree.c:460,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:471,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:486,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/tests/tree.c:498,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:495,1
    - 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_foreach
      Src: /src/glib/glib/tests/tree.c:473,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/tree.c:486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    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:
    - strlen
    - g_strdup
    - g_tree_foreach
    - g_free
    - g_tree_insert
    - g_tree_new
    - g_random_int_range
    - g_tree_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_insert (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: g_tree_nnodes
      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_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:
    - strlen
    - g_assert_cmpint
    - g_tree_insert
    - g_tree_new
    - g_tree_nnodes
    - g_tree_destroy
    - g_tree_ref
    - g_tree_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_destroy (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: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:521,1
    - Dst: g_tree_node_last
      Src: /src/glib/glib/tests/tree.c:538,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:533,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:545,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:551,1
    - Dst: g_test_message
      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:557,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:558,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:564,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:519,1
    - Dst: g_tree_upper_bound
      Src: /src/glib/glib/tests/tree.c:512,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_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:542,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: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_key
      Src: /src/glib/glib/tests/tree.c:543,1
    - Dst: g_tree_node_key
      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_message
      Src: /src/glib/glib/tests/tree.c:565,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:569,1
    - Dst: g_tree_lower_bound
      Src: /src/glib/glib/tests/tree.c:510,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:515,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:514,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:522,1
    - Dst: g_tree_node_previous
      Src: /src/glib/glib/tests/tree.c:539,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_tree_node_key
      Src: /src/glib/glib/tests/tree.c:552,1
    - Dst: g_tree_node_key
      Src: /src/glib/glib/tests/tree.c:565,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:571,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:575,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_lower_bound
    - g_test_message
    - g_assert_cmpint
    - g_tree_node_next
    - g_tree_upper_bound
    - g_tree_node_previous
    - g_tree_node_last
    - g_test_verbose
    - g_tree_nnodes
    - g_assert_nonnull
    - g_tree_node_first
    - g_assert_null
    - g_tree_node_key
    linkageType: ''
    returnType: void
    signature: 'static void binary_tree_bound (GTree *tree, char c, char expected,
      int lower) '
  - 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: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:157,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/tree.c:158,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:163,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:169,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:172,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:177,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_tree_lookup
      Src: /src/glib/glib/tests/tree.c:193,1
    - Dst: g_tree_lookup
      Src: /src/glib/glib/tests/tree.c:197,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:218,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:217,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:213,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:221,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_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:162,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:153,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:160,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:152,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_assert_true
      Src: /src/glib/glib/tests/tree.c:214,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:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:144,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:144,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:163,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:166,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:181,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:182,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:209,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:229,1
    - Dst: g_tree_destroy
      Src: /src/glib/glib/tests/tree.c:232,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:225,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:230,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:226,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:140,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:142,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/tree.c:137,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:144,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:145,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:145,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:162,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:162,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:194,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:198,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:210,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:
    - strlen
    - g_tree_lookup_extended
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_tree_foreach
    - g_assert_false
    - g_tree_insert
    - g_tree_height
    - g_tree_nnodes
    - g_tree_new_with_data
    - g_tree_destroy
    - g_tree_remove
    - g_tree_lookup
    - g_assert_null
    - g_assert_true
    - g_tree_search
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_search (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:739,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:738,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:617,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:621,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:618,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_test_verbose
      Src: /src/glib/glib/tests/tree.c:659,1
    - Dst: g_tree_node_key
      Src: /src/glib/glib/tests/tree.c:673,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:668,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:680,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:681,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_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:696,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:697,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:700,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:716,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:650,1
    - 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_queue_pop_nth
      Src: /src/glib/glib/tests/tree.c:665,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:669,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:673,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:677,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:678,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:684,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:712,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:710,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:702,1
    - Dst: binary_tree_bounds_test
      Src: /src/glib/glib/tests/tree.c:719,1
    - Dst: binary_tree_bounds_test
      Src: /src/glib/glib/tests/tree.c:691,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:674,1
    - Dst: g_tree_node_value
      Src: /src/glib/glib/tests/tree.c:674,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:681,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:682,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_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:698,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:704,1
    - Dst: binary_tree_bounds_test
      Src: /src/glib/glib/tests/tree.c:707,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:721,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:724,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:698,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/tree.c:644,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_assert_nonnull
      Src: /src/glib/glib/tests/tree.c:672,1
    - Dst: g_tree_insert_node
      Src: /src/glib/glib/tests/tree.c:671,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:680,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:694,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:697,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_unref
      Src: /src/glib/glib/tests/tree.c:728,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:686,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:715,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_unref
    - g_test_verbose
    - g_random_int_range
    - g_tree_remove
    - g_queue_get_length
    - g_assert_cmpint
    - g_tree_foreach
    - g_tree_height
    - g_assert_nonnull
    - binary_tree_bounds_test
    - g_queue_push_tail
    - g_tree_node_key
    - g_queue_pop_nth
    - g_tree_nnodes
    - g_test_message
    - g_tree_new
    - g_tree_insert_node
    - g_tree_node_value
    - g_assert_true
    - g_queue_is_empty
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_bounds (void) '
  - 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_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_mutex_unlock
      Src: /src/glib/glib/tests/once.c:99,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:
    - g_assert_cmpint
    - GPOINTER_TO_UINT
    - g_cond_wait
    - g_cond_broadcast
    - g_mutex_unlock
    - g_once
    - GPOINTER_TO_INT
    - g_mutex_lock
    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
      Src: /src/glib/glib/tests/once.c:139,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/tests/once.c:140,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:143,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/tests/once.c:137,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_assert_cmpint
    - g_once_init_enter
    - g_assert
    - g_assert_not_reached
    - g_once_init_leave
    - g_test_summary
    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_thread_join
      Src: /src/glib/glib/tests/once.c:189,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_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_assert_cmpint
    - g_thread_new
    - g_thread_join
    - g_test_summary
    - G_N_ELEMENTS
    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: 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_once
      Src: /src/glib/glib/tests/once.c:54,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:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    - g_once
    - g_test_summary
    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:116,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/once.c:119,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/once.c:119,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/once.c:117,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_assert_cmpint
    - GUINT_TO_POINTER
    - g_cond_broadcast
    - g_atomic_int_get
    - g_thread_new
    - g_thread_join
    - g_test_summary
    - G_N_ELEMENTS
    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
      Src: /src/glib/glib/tests/once.c:201,1
    - Dst: g_once_init_leave
      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_assert_cmpstr
    - g_once_init_leave
    - g_once_init_enter
    - g_test_summary
    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:214,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: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_run
    - g_test_init
    - g_test_add_func
    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: 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_cond_signal
      Src: /src/glib/glib/tests/thread-pool.c:42,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_false
    - g_cond_signal
    - GUINT_TO_POINTER
    - g_mutex_unlock
    - g_assert_true
    - g_mutex_lock
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/thread-pool.c:163,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_atomic_int_inc
      Src: /src/glib/glib/tests/thread-pool.c:171,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_mutex_unlock
    - g_atomic_int_inc
    - g_mutex_lock
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void full_thread_func (gpointer data, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/thread-pool.c:106,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/thread-pool.c:101,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: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool.c:123,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: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool.c:143,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-pool.c:99,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/thread-pool.c:124,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool.c:122,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
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/thread-pool.c:98,1
    - 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: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:126,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_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool.c:117,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool.c:126,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-pool.c:132,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-pool.c:128,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
    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_assert_true
    - g_test_trap_assert_passed
    - g_assert_nonnull
    - g_thread_pool_push
    - g_test_trap_subprocess
    - g_assert_no_error
    - GUINT_TO_POINTER
    - g_thread_pool_free
    - g_thread_pool_new
    - g_test_summary
    - GPOINTER_TO_INT
    - g_thread_pool_set_max_unused_threads
    - g_test_bug
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_create_first_pool (gconstpointer shared_first) '
  - 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_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_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: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_assert_true
      Src: /src/glib/glib/tests/thread-pool.c:76,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool.c:74,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool.c:82,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
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-pool.c:80,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_assert_nonnull
    - g_thread_pool_push
    - g_assert_no_error
    - g_mutex_lock
    - GUINT_TO_POINTER
    - g_cond_wait
    - g_thread_pool_new
    - g_mutex_unlock
    - g_thread_pool_free
    - g_mutex_init
    - g_test_summary
    - GPOINTER_TO_INT
    - g_assert_true
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'static void test_simple (gconstpointer shared) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool.c:236,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-pool.c:239,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:246,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_thread_pool_new_full
      Src: /src/glib/glib/tests/thread-pool.c:209,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:221,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:234,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:248,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/thread-pool.c:253,1
    - 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_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_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:250,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/thread-pool.c:187,1
    - Dst: g_cond_init
      Src: /src/glib/glib/tests/thread-pool.c:201,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:235,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool.c:232,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
    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_thread_pool_new_full
    - g_assert_true
    - g_cond_signal
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_thread_pool_push
    - g_assert_no_error
    - g_thread_pool_free
    - g_mutex_lock
    - g_atomic_int_get
    - g_mutex_unlock
    - g_mutex_clear
    - g_mutex_init
    - g_cond_clear
    - g_thread_pool_set_max_unused_threads
    - g_test_bug
    - g_cond_init
    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: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: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:263,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_add_data_func
    - GINT_TO_POINTER
    - g_test_init
    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_mapped_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:44,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_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_test_get_filename
    - g_assert_no_error
    - g_mapped_file_new
    - g_mapped_file_get_contents
    - g_assert_null
    - g_mapped_file_free
    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:58,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_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_error_matches
    - g_error_free
    - g_mapped_file_new
    - g_assert_null
    - g_assert_true
    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_clear_error
      Src: /src/glib/glib/tests/mappedfile.c:74,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
    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_clear_error
    - g_assert_error
    - g_assert_null
    - g_mapped_file_new
    linkageType: ''
    returnType: void
    signature: 'static void test_nonexisting (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/mappedfile.c:137,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: memcpy
      Src: /src/glib/glib/tests/mappedfile.c:150,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:150,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:151,1
    - Dst: g_mapped_file_free
      Src: /src/glib/glib/tests/mappedfile.c:165,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mappedfile.c:167,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_mapped_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:147,1
    - Dst: g_mapped_file_free
      Src: /src/glib/glib/tests/mappedfile.c:153,1
    - Dst: g_mapped_file_new_from_fd
      Src: /src/glib/glib/tests/mappedfile.c:159,1
    - 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: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:148,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:145,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:151,1
    - Dst: close
      Src: /src/glib/glib/tests/mappedfile.c:154,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mappedfile.c:158,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_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:135,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:148,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:148,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:151,1
    - Dst: g_open
      Src: /src/glib/glib/tests/mappedfile.c:157,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:160,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
    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:
    - g_open
    - strlen
    - g_assert_cmpint
    - g_test_get_filename
    - g_free
    - g_get_tmp_dir
    - memcpy
    - g_file_set_contents
    - g_assert_cmpuint
    - g_mapped_file_new_from_fd
    - g_assert_no_error
    - close
    - g_build_filename
    - g_mapped_file_get_contents
    - g_file_get_contents
    - g_mapped_file_free
    - strncmp
    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_mapped_file_ref
      Src: /src/glib/glib/tests/mappedfile.c:28,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/mappedfile.c:25,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_mapped_file_ref
    - g_test_get_filename
    - g_mapped_file_unref
    - g_assert_no_error
    - g_mapped_file_new
    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_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: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:101,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/mappedfile.c:104,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:104,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:114,1
    - Dst: g_mapped_file_free
      Src: /src/glib/glib/tests/mappedfile.c:116,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: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:105,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: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:99,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:102,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: strlen
      Src: /src/glib/glib/tests/mappedfile.c:114,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mappedfile.c:89,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: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:102,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:102,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:105,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:114,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mappedfile.c:118,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:
    - strlen
    - memcpy
    - g_test_get_filename
    - g_free
    - g_get_tmp_dir
    - g_file_set_contents
    - g_assert_cmpuint
    - g_assert_no_error
    - g_mapped_file_new
    - g_build_filename
    - g_mapped_file_get_contents
    - g_file_get_contents
    - g_mapped_file_free
    - strncmp
    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_test_get_filename
      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_unref
      Src: /src/glib/glib/tests/mappedfile.c:182,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/glib/glib/tests/mappedfile.c:181,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_assert_cmpint
    - g_test_get_filename
    - g_mapped_file_get_bytes
    - g_mapped_file_unref
    - g_assert_no_error
    - g_bytes_unref
    - g_mapped_file_new
    - g_bytes_get_size
    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: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:196,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_run
    - g_test_init
    - g_test_add_func
    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_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: g_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:93,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_stderr
    - g_ref_count_inc
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - exit
    - g_assert_true
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_grefcount_saturation (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_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: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:190,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_stderr
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - exit
    - g_atomic_ref_count_inc
    - g_assert_true
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_gatomicrefcount_saturation (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:216,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:219,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - 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_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:53,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: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_message
      Src: /src/glib/glib/tests/refcount.c:74,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:31,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:32,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:54,1
    - Dst: g_ref_count_compare
      Src: /src/glib/glib/tests/refcount.c:40,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_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_assert_true
      Src: /src/glib/glib/tests/refcount.c:33,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:37,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_test_verbose
      Src: /src/glib/glib/tests/refcount.c:73,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:75,1
    - Dst: g_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:36,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:38,1
    - Dst: g_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:48,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_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:75,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_test_message
    - g_assert_false
    - g_ref_count_init
    - g_ref_count_inc
    - g_test_verbose
    - g_ref_count_dec
    - g_assert_true
    - g_ref_count_compare
    linkageType: ''
    returnType: void
    signature: 'static void test_grefcount (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:126,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_assert_false
      Src: /src/glib/glib/tests/refcount.c:134,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:139,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_assert_false
      Src: /src/glib/glib/tests/refcount.c:154,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:159,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:169,1
    - Dst: g_atomic_ref_count_compare
      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_message
      Src: /src/glib/glib/tests/refcount.c:132,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:162,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:167,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:164,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_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_atomic_ref_count_compare
      Src: /src/glib/glib/tests/refcount.c:134,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:149,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: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_assert_true
      Src: /src/glib/glib/tests/refcount.c:127,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:147,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:138,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:157,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
    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_test_message
    - g_assert_false
    - g_atomic_ref_count_inc
    - g_test_verbose
    - g_atomic_ref_count_init
    - g_assert_true
    - g_atomic_ref_count_compare
    - g_atomic_ref_count_dec
    linkageType: ''
    returnType: void
    signature: 'static void test_gatomicrefcount (void) '
  - 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: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    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:
    - fix_pointer
    - g_sequence_get
    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:228,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_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_iter_get_sequence
    - g_sequence_get
    - simple_items_cmp
    linkageType: ''
    returnType: gint
    signature: "static gint simple_iters_cmp (gconstpointer a,\t gconstpointer b,\t
      gpointer data) "
  - 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:
    - compare
    - g_sequence_get
    linkageType: ''
    returnType: int
    signature: 'static int compare_iter (GSequenceIter *a, GSequenceIter *b, gpointer
      data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:134,1
    - Dst: g_sequence_get_length
      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_assert
      Src: /src/glib/glib/tests/sequence.c:133,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:153,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:152,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_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_get_length
      Src: /src/glib/glib/tests/sequence.c:153,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:126,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:131,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:129,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/sequence.c:151,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_queue_get_length
    - g_sequence_check
    - g_assert
    - g_sequence_iter_next
    - g_assert_cmpuint
    - g_sequence_get_begin_iter
    - g_sequence_get_length
    - get_item
    - g_sequence_get_end_iter
    - g_printerr
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:1258,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:1263,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: 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_free
    - GINT_TO_POINTER
    - g_sequence_check
    - g_sequence_new
    - g_sequence_insert_sorted_iter
    - g_sequence_insert_sorted
    - g_random_int
    linkageType: ''
    returnType: void
    signature: 'static void test_insert_sorted_non_pointer (void) '
  - 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:
    - check_node
    - g_assert
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:1291,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_sort_changed
      Src: /src/glib/glib/tests/sequence.c:1327,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1334,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:1340,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: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_assert
      Src: /src/glib/glib/tests/sequence.c:1301,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:1304,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1316,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1331,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:1337,1
    - 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: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: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:1325,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1326,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1336,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:1289,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1303,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1311,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:1307,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_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
    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_free
    - GINT_TO_POINTER
    - g_sequence_iter_get_sequence
    - g_sequence_sort_changed
    - g_sequence_check
    - g_sequence_new
    - g_assert
    - g_sequence_iter_next
    - g_sequence_append
    - g_sequence_sort
    - g_sequence_get_begin_iter
    - g_sequence_iter_is_end
    - g_sequence_get_end_iter
    linkageType: ''
    returnType: void
    signature: 'static void test_stable_sort (void) '
  - 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:
    - fix_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_item (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:1349,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/glib/tests/sequence.c:1350,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:1354,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/sequence.c:1350,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/sequence.c:1354,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_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_iter_prev
      Src: /src/glib/glib/tests/sequence.c:1362,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_assert_false
    - GINT_TO_POINTER
    - g_sequence_iter_prev
    - g_sequence_free
    - g_sequence_new
    - g_sequence_append
    - g_sequence_is_empty
    - g_assert_true
    - g_sequence_remove
    - g_sequence_get_end_iter
    linkageType: ''
    returnType: void
    signature: 'static void test_empty (void) '
  - 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:1382,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: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_rand_int_range
      Src: /src/glib/glib/tests/sequence.c:1396,1
    - Dst: g_test_add_data_func
      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
    - Dst: g_test_run
      Src: /src/glib/glib/tests/sequence.c:1401,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
    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_free
    - g_test_add_data_func
    - g_test_add_func
    - GUINT_TO_POINTER
    - g_test_rand_int_range
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:1187,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:1192,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1188,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:1192,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_free
    - g_sequence_iter_is_begin
    - g_sequence_new
    - g_assert
    - g_sequence_iter_move
    - g_sequence_get_begin_iter
    - g_sequence_iter_is_end
    linkageType: ''
    returnType: void
    signature: 'static void test_out_of_range_jump (void) '
  - 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:183,1
    - Dst: g_assert
      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: get_item
      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
    - fix_pointer
    - g_random_int
    - get_item
    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: 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
    - Dst: g_sequence_iter_next
      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:
    - g_assert
    - g_sequence_iter_next
    - check_integrity
    - get_item
    linkageType: ''
    returnType: void
    signature: 'static void check_sorted (SequenceInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:366,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sequence.c:370,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
    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_queue_get_length
    - g_random_int_range
    - g_sequence_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_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:397,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:402,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/sequence.c:400,1
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:399,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_sequence_iter_next
    - g_sequence_get_begin_iter
    - get_item
    - g_sequence_get_end_iter
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void dump_info (SequenceInfo *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/sequence.c:1206,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_assert_cmpint
      Src: /src/glib/glib/tests/sequence.c:1217,1
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:1217,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_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
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sequence.c:1210,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1219,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_append
      Src: /src/glib/glib/tests/sequence.c:1206,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1208,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1212,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
    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_assert_cmpint
    - GINT_TO_POINTER
    - g_sequence_free
    - g_sequence_get
    - g_sequence_iter_is_begin
    - g_sequence_new
    - g_assert
    - g_sequence_append
    - g_sequence_iter_move
    - g_sequence_get_begin_iter
    - GPOINTER_TO_INT
    - g_sequence_iter_is_end
    - g_sequence_get_end_iter
    linkageType: ''
    returnType: void
    signature: 'static void test_iter_move (void) '
  - 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:44,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: 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: 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_assert
      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_sequence_iter_get_sequence
      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_iter_get_sequence
    - g_sequence_get
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_iters (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: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:383,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/sequence.c:380,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: 2
    argNames:
    - seq
    - link
    argTypes:
    - SequenceInfo*
    - GList**
    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_iter_get_position
    - g_assert
    - queue_link_index
    - g_queue_peek_nth_link
    - get_random_position
    - g_sequence_get_iter_at_pos
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'static GSequenceIter *get_random_iter (SequenceInfo *seq, GList **link) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - 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_assert
      Src: /src/glib/glib/tests/sequence.c:841,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:862,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:987,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1011,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1082,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: get_random_range
      Src: /src/glib/glib/tests/sequence.c:810,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1148,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: new_item
      Src: /src/glib/glib/tests/sequence.c:965,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_assert
      Src: /src/glib/glib/tests/sequence.c:1116,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_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:734,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:788,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:983,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_append
      Src: /src/glib/glib/tests/sequence.c:1020,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_assert
      Src: /src/glib/glib/tests/sequence.c:472,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:503,1
    - Dst: dump_info
      Src: /src/glib/glib/tests/sequence.c:704,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:796,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1008,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:822,1
    - Dst: g_sequence_lookup_iter
      Src: /src/glib/glib/tests/sequence.c:933,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:581,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:557,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:614,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:894,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_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_queue_push_head
      Src: /src/glib/glib/tests/sequence.c:1050,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:746,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1147,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1011,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: get_item
      Src: /src/glib/glib/tests/sequence.c:620,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:754,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_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1008,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_assert
      Src: /src/glib/glib/tests/sequence.c:547,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:457,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_sequence_set
      Src: /src/glib/glib/tests/sequence.c:956,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_assert
      Src: /src/glib/glib/tests/sequence.c:540,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:628,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:671,1
    - Dst: g_sequence_prepend
      Src: /src/glib/glib/tests/sequence.c:1039,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:450,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:664,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:996,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:699,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:910,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:538,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: g_assert
      Src: /src/glib/glib/tests/sequence.c:871,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:604,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:695,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:873,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:520,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:631,1
    - Dst: g_sequence_set
      Src: /src/glib/glib/tests/sequence.c:721,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:765,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_append
      Src: /src/glib/glib/tests/sequence.c:1019,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:427,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: check_sorted
      Src: /src/glib/glib/tests/sequence.c:702,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:724,1
    - Dst: g_sequence_search_iter
      Src: /src/glib/glib/tests/sequence.c:888,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:808,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:925,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/glib/tests/sequence.c:1048,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:742,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:563,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:871,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1045,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:990,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/sequence.c:1052,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:1091,1
    - Dst: g_sequence_sort_changed_iter
      Src: /src/glib/glib/tests/sequence.c:747,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:843,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: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:640,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:768,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1060,1
    - Dst: g_sequence_iter_compare
      Src: /src/glib/glib/tests/sequence.c:1102,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:892,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: dump_info
      Src: /src/glib/glib/tests/sequence.c:678,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:644,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:709,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_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:663,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1073,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: new_item
      Src: /src/glib/glib/tests/sequence.c:887,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:763,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: check_integrity
      Src: /src/glib/glib/tests/sequence.c:1155,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: 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_queue_sort
      Src: /src/glib/glib/tests/sequence.c:735,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1146,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:1161,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1004,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1027,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_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:987,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:486,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:639,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:948,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:905,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1004,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:990,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/glib/tests/sequence.c:975,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:547,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:744,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_search
      Src: /src/glib/glib/tests/sequence.c:867,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:1066,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:523,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:957,1
    - Dst: dump_info
      Src: /src/glib/glib/tests/sequence.c:498,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: 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: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:990,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1000,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: 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: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1149,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:494,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:532,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:1084,1
    - Dst: g_sequence_prepend
      Src: /src/glib/glib/tests/sequence.c:1038,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: 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:537,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:605,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:666,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1026,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1004,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:539,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: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: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:572,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:906,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:719,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:807,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/glib/tests/sequence.c:525,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/glib/tests/sequence.c:552,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:595,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:452,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:1018,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1058,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:554,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:671,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:927,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_end_iter
      Src: /src/glib/glib/tests/sequence.c:1022,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:528,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_remove_range
      Src: /src/glib/glib/tests/sequence.c:781,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:882,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: new_item
      Src: /src/glib/glib/tests/sequence.c:1038,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:606,1
    - Dst: g_random_set_seed
      Src: /src/glib/glib/tests/sequence.c:423,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:1018,1
    - Dst: g_sequence_prepend
      Src: /src/glib/glib/tests/sequence.c:1040,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/sequence.c:1160,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:428,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/sequence.c:1029,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: 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: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1122,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1146,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:823,1
    - Dst: g_sequence_prepend
      Src: /src/glib/glib/tests/sequence.c:581,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:493,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1046,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:710,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:930,1
    - Dst: g_sequence_set
      Src: /src/glib/glib/tests/sequence.c:965,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: g_assert
      Src: /src/glib/glib/tests/sequence.c:845,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1073,1
    - Dst: g_sequence_foreach_range
      Src: /src/glib/glib/tests/sequence.c:484,1
    - Dst: g_sequence_sort_changed
      Src: /src/glib/glib/tests/sequence.c:722,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1070,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_assert
      Src: /src/glib/glib/tests/sequence.c:562,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:618,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: 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_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: check_integrity
      Src: /src/glib/glib/tests/sequence.c:963,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: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:883,1
    - Dst: simple_iters_cmp
      Src: /src/glib/glib/tests/sequence.c:915,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_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_assert
      Src: /src/glib/glib/tests/sequence.c:533,1
    - Dst: g_sequence_move
      Src: /src/glib/glib/tests/sequence.c:632,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:686,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:983,1
    - Dst: g_sequence_remove
      Src: /src/glib/glib/tests/sequence.c:767,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1026,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1080,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1027,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: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:607,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1000,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: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:609,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:721,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1008,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/sequence.c:1031,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:572,1
    - Dst: get_random_range
      Src: /src/glib/glib/tests/sequence.c:480,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:506,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/glib/tests/sequence.c:595,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_is_end
      Src: /src/glib/glib/tests/sequence.c:1084,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1123,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/glib/tests/sequence.c:1045,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_assert
      Src: /src/glib/glib/tests/sequence.c:557,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:626,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:1047,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:496,1
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:651,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1143,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_sequence_set
    - g_sequence_free
    - g_sequence_iter_get_sequence
    - g_queue_insert_before
    - GPOINTER_TO_UINT
    - g_queue_sort
    - g_sequence_remove_range
    - g_queue_insert_sorted
    - g_sequence_search_iter
    - g_random_int_range
    - g_sequence_get
    - g_sequence_sort_changed_iter
    - g_sequence_swap
    - simple_iters_cmp
    - new_item
    - g_sequence_iter_is_end
    - g_sequence_insert_sorted
    - g_sequence_lookup
    - g_sequence_insert_before
    - g_queue_get_length
    - get_random_iter
    - g_sequence_iter_get_position
    - g_sequence_iter_next
    - queue_link_index
    - g_sequence_iter_move
    - g_random_set_seed
    - RANDOM_SEQUENCE
    - g_queue_peek_nth_link
    - g_queue_delete_link
    - g_sequence_move_range
    - g_sequence_search
    - g_sequence_foreach_range
    - g_queue_push_tail
    - g_sequence_range_get_midpoint
    - g_sequence_sort_iter
    - g_sequence_sort
    - g_sequence_iter_compare
    - g_sequence_remove
    - g_sequence_get_iter_at_pos
    - g_printerr
    - get_item
    - g_sequence_iter_prev
    - g_sequence_sort_changed
    - check_integrity
    - g_sequence_lookup_iter
    - g_queue_free
    - g_sequence_iter_is_begin
    - g_sequence_new
    - g_assert
    - dump_info
    - g_queue_new
    - check_sorted
    - g_sequence_append
    - g_sequence_get_begin_iter
    - g_sequence_move
    - g_sequence_insert_sorted_iter
    - g_sequence_prepend
    - get_random_position
    - g_sequence_get_length
    - g_sequence_foreach
    - g_queue_push_head
    - get_random_range
    - g_sequence_get_end_iter
    linkageType: ''
    returnType: void
    signature: 'static void run_random_tests (gconstpointer d) '
  - 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: 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_get_length
    - g_queue_link_index
    linkageType: ''
    returnType: int
    signature: 'static int queue_link_index (SequenceInfo *seq, GList *link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:335,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:339,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sequence.c:336,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: 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:358,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_queue_get_length
    - g_sequence_iter_get_position
    - g_assert
    - g_random_int_range
    - queue_link_index
    - g_queue_peek_nth_link
    - g_sequence_get_length
    - g_sequence_get_iter_at_pos
    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_message
      Src: /src/glib/glib/tests/charset.c:50,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/charset.c:53,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_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_unsetenv
    - g_test_message
    - g_get_language_names_with_category
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_assert_true
    - g_strv_length
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_language_names_with_category (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:81,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
    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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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_join
    - g_thread_new
    linkageType: ''
    returnType: void
    signature: 'static void test_language_names_with_category_async (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-collect.c:41,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/markup-collect.c:49,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-collect.c:55,1
    - Dst: collect
      Src: /src/glib/glib/tests/markup-collect.c:45,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-collect.c:59,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: g_free
      Src: /src/glib/glib/tests/markup-collect.c:75,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
    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:
    - collect
    - g_free
    - g_assert
    - g_string_append_printf
    - n
    - strcmp
    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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/markup-collect.c:207,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/markup-collect.c:215,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-collect.c:213,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_undefined
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_test_assert_expected_messages
    - g_markup_parse_context_new
    - g_markup_parse_context_end_parse
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_cleanup (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/markup-collect.c:154,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup-collect.c:155,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-collect.c:156,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup-collect.c:164,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_string_new
    - g_markup_parse_context_parse
    - g_assert_cmpint
    - g_markup_parse_context_free
    - g_markup_parse_context_new
    - g_markup_parse_context_end_parse
    - g_assert_no_error
    - g_assert_cmpstr
    - g_clear_error
    - g_string_free
    - g_assert_error
    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_free
      Src: /src/glib/glib/tests/markup-collect.c:235,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/markup-collect.c:234,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_free
    - g_test_add_data_func
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:76,1
    - Dst: exit
      Src: /src/glib/glib/tests/option-context.c:78,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:77,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_parse
    - g_option_context_free
    linkageType: ''
    returnType: void
    signature: 'static void print_help (GOptionContext *options, gchar **argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/option-context.c:126,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/option-context.c:140,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_test_bug
      Src: /src/glib/glib/tests/option-context.c:119,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_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_unmatched
      Src: /src/glib/glib/tests/option-context.c:189,1
    - 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_assert_not_reached
      Src: /src/glib/glib/tests/option-context.c:166,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:178,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:187,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/option-context.c:192,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/option-context.c:194,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_free
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_assert_stdout_unmatched
    - g_test_verbose
    - g_test_trap_subprocess
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_strdup_printf
    - G_N_ELEMENTS
    - g_test_trap_assert_stdout
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_group_captions (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: g_assert
      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_assert
      Src: /src/glib/glib/tests/option-context.c:1758,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1763,1
    - Dst: strcmp
      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_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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void rest_test5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2404,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2410,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2388,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2383,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2389,1
    - Dst: option_context_parse_command_line
      Src: /src/glib/glib/tests/option-context.c:2408,1
    - Dst: g_option_context_set_strict_posix
      Src: /src/glib/glib/tests/option-context.c:2400,1
    - Dst: g_option_context_set_strict_posix
      Src: /src/glib/glib/tests/option-context.c:2386,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2390,1
    - Dst: option_context_parse_command_line
      Src: /src/glib/glib/tests/option-context.c:2401,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2396,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2402,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2409,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2382,1
    - Dst: option_context_parse_command_line
      Src: /src/glib/glib/tests/option-context.c:2387,1
    - Dst: g_option_context_set_strict_posix
      Src: /src/glib/glib/tests/option-context.c:2393,1
    - Dst: option_context_parse_command_line
      Src: /src/glib/glib/tests/option-context.c:2394,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2395,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2403,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2397,1
    - Dst: g_option_context_set_strict_posix
      Src: /src/glib/glib/tests/option-context.c:2407,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2411,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2414
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2414
    functionName: test_strict_posix
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_option_context_new
    - g_option_context_free
    - g_assert
    - option_context_parse_command_line
    - g_option_context_add_main_entries
    - g_option_context_set_strict_posix
    linkageType: ''
    returnType: void
    signature: 'static void test_strict_posix (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_options
      Src: /src/glib/glib/tests/option-context.c:87,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/option-context.c:87,1
    - Dst: print_help
      Src: /src/glib/glib/tests/option-context.c:88,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:
    - make_options
    - GPOINTER_TO_INT
    - print_help
    linkageType: ''
    returnType: void
    signature: 'static void test_group_captions_help (gconstpointer test_number) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/option-context.c:2429,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2432,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/option-context.c:2437,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2436,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/option-context.c:2434,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2439,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/glib/tests/option-context.c:2441,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2442,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2443,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2444,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2446,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2447
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2447
    functionName: flag_reverse_string
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_option_context_new
    - g_free
    - g_test_assert_expected_messages
    - g_option_context_free
    - g_assert
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_test_expect_message
    - g_strfreev
    - split_string
    - g_option_context_parse_strv
    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:1703,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1704,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_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: strcmp
      Src: /src/glib/glib/tests/option-context.c:1717,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:1717,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1718,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1722,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1723,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void rest_test4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_options
      Src: /src/glib/glib/tests/option-context.c:97,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/option-context.c:97,1
    - Dst: print_help
      Src: /src/glib/glib/tests/option-context.c:98,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:
    - make_options
    - GPOINTER_TO_INT
    - print_help
    linkageType: ''
    returnType: void
    signature: 'static void test_group_captions_help_all (gconstpointer test_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:2545,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:2552,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2549,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2551,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2547,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2553,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/option-context.c:2555,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/option-context.c:2556,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2558,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:2559,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2562
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2562
    functionName: double_free
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_option_context_free
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_clear_error
    - g_option_context_set_ignore_unknown_options
    - g_strfreev
    - g_assert_null
    - split_string
    - g_assert_error
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void double_free (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:
    - make_options
    - GPOINTER_TO_INT
    - 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:2578,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2585,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2579,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:2583,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2582,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2586,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2587,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2590,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2592,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2593,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2595
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2595
    functionName: double_zero
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    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: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: split_string
      Src: /src/glib/glib/tests/option-context.c:1666,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1669,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_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_assert
      Src: /src/glib/glib/tests/option-context.c:1677,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void rest_test3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_set_description
      Src: /src/glib/glib/tests/option-context.c:2099,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:2107,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2111,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2110,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: 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: strstr
      Src: /src/glib/glib/tests/option-context.c:2121,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2121,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2127,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2101,1
    - Dst: strstr
      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: 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: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:2114,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2116,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2120,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2122,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:2102,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_assert
      Src: /src/glib/glib/tests/option-context.c:2123,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2119,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_context_get_help
      Src: /src/glib/glib/tests/option-context.c:2106,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2109,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:2114,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2115,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2116,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2117,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2118,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2124,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2119,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2125,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2124,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2120,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_new
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - g_assert
    - g_option_group_add_entries
    - g_option_context_get_help
    - g_option_context_set_description
    - g_option_context_add_main_entries
    - g_option_group_new
    - g_option_context_add_group
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_help (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2141,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2145,1
    - Dst: g_option_context_get_help
      Src: /src/glib/glib/tests/option-context.c:2144,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2142,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2145,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_get_help
    - g_option_context_add_main_entries
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_help_no_options (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1622,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1627,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: 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:1636,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1637,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_strfreev
      Src: /src/glib/glib/tests/option-context.c:1640,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1636,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1641,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2d (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_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_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2228,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2229,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:2229,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:2231,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2230,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2232,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:2233,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2234,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:2234,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2235,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2237,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2241,1
    - Dst: g_option_context_set_main_group
      Src: /src/glib/glib/tests/option-context.c:2236,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:2237,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2242
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2242
    functionName: test_main_group
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_option_context_get_main_group
    - g_option_context_free
    - g_assert
    - g_option_context_set_main_group
    - g_option_group_new
    - g_option_context_add_group
    linkageType: ''
    returnType: void
    signature: 'static void test_main_group (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:54,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:63,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:60,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: 1
    argNames:
    - test_number
    argTypes:
    - int
    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_add_entries
    - g_option_context_add_main_entries
    - g_option_group_new
    - g_option_context_add_group
    linkageType: ''
    returnType: GOptionContext*
    signature: 'static GOptionContext *make_options (int test_number) '
  - 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:1157,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_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:1209,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1222,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1205,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1164,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: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1176,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_new
      Src: /src/glib/glib/tests/option-context.c:1175,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1193,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:1198,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/option-context.c:1216,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1215,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1217,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1161,1
    - 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:1165,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_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: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1220,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1212,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1223,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:1162,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1179,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1183,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1172,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:1187,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1189,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1192,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: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1213,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:1218,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1210,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_option_context_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_clear_error
    - g_strfreev
    - split_string
    - g_assert_error
    - copy_stringv
    - check_identical_stringv
    linkageType: ''
    returnType: void
    signature: 'static void callback_returns_false (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:632,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/option-context.c:641,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: 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: setlocale
      Src: /src/glib/glib/tests/option-context.c:657,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:661,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:662,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:650,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:658,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:651,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:654,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:660,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:
    - setlocale
    - g_strdup
    - g_option_context_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - fprintf
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void arg_test5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2252,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/option-context.c:2252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - context
    - group
    - data
    - error
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 2254
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2254
    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: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1476,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:1484,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1488,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: strcmp
      Src: /src/glib/glib/tests/option-context.c:1484,1
    - Dst: g_assert
      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
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1478,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1487,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1485,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:1483,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1490,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1486,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1487,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1485,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2 (void) '
  - 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: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_GINT64_CONSTANT
      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_strfreev
      Src: /src/glib/glib/tests/option-context.c:694,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:695,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    - G_GINT64_CONSTANT
    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:2058,1
    - Dst: g_option_context_set_description
      Src: /src/glib/glib/tests/option-context.c:2061,1
    - Dst: g_option_context_set_translate_func
      Src: /src/glib/glib/tests/option-context.c:2063,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_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_new
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - g_assert
    - g_option_context_set_translate_func
    - g_option_context_get_help
    - g_option_context_set_description
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: void
    signature: 'static void test_translate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2271,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2272,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/option-context.c:2272,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:2273,1
    - Dst: g_option_context_set_main_group
      Src: /src/glib/glib/tests/option-context.c:2274,1
    - Dst: g_option_group_set_error_hook
      Src: /src/glib/glib/tests/option-context.c:2275,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:2275,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2278,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:2279,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2281,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2283,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2292,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:2285,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2282,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:2286,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2290,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2291,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2293
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2293
    functionName: test_error_hook
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - GINT_TO_POINTER
    - g_option_context_get_main_group
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_group_add_entries
    - g_option_context_parse
    - g_option_context_set_main_group
    - g_option_group_new
    - g_clear_error
    - g_strfreev
    - g_option_group_set_error_hook
    - split_string
    - copy_stringv
    - check_identical_stringv
    linkageType: ''
    returnType: void
    signature: 'static void test_error_hook (void) '
  - 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:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:720,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:724,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:727,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_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_option_context_free
      Src: /src/glib/glib/tests/option-context.c:737,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:735,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void callback_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:1808,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1816,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_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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void lonely_dash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1957,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1963,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_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
      Src: /src/glib/glib/tests/option-context.c:1962,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1973,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1976,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
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1983,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1961,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_cmpstr
      Src: /src/glib/glib/tests/option-context.c:1964,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_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1977,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1981,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1972,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_assert_cmpstr
    - g_strfreev
    - split_string
    - copy_stringv
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void dash_arg_test (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_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_new
      Src: /src/glib/glib/tests/option-context.c:1995,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
      Src: /src/glib/glib/tests/option-context.c:1998,1
    - Dst: g_option_context_set_description
      Src: /src/glib/glib/tests/option-context.c:2006,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2008,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_get_description
      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
    - Dst: g_option_context_get_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:1999,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_set_summary
      Src: /src/glib/glib/tests/option-context.c:2005,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:2009,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:2004,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2010,1
    - Dst: g_option_context_get_help_enabled
      Src: /src/glib/glib/tests/option-context.c:2008,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_new
    - g_option_context_set_summary
    - g_option_context_free
    - g_option_context_get_summary
    - g_assert
    - g_option_context_set_description
    - g_option_context_add_main_entries
    - g_assert_cmpstr
    - g_option_context_set_ignore_unknown_options
    - g_option_context_get_description
    - g_option_context_get_help_enabled
    - g_option_context_set_help_enabled
    - g_option_context_get_ignore_unknown_options
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/option-context.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    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_test_bug
      Src: /src/glib/glib/tests/option-context.c:1778,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1785,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: 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_free
      Src: /src/glib/glib/tests/option-context.c:1793,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1794,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_option_context_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_clear_error
    - g_strfreev
    - split_string
    - copy_stringv
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void unknown_short_test (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_free
      Src: /src/glib/glib/tests/option-context.c:255,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/option-context.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    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_free
    - g_string_new
    - g_string_append
    - g_string_append_c
    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: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: split_string
      Src: /src/glib/glib/tests/option-context.c:1514,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1517,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_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: g_assert
      Src: /src/glib/glib/tests/option-context.c:1525,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1526,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1525,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2a (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_option_context_free
      Src: /src/glib/glib/tests/option-context.c:582,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:580,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    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:1240,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1245,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: 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: g_free
      Src: /src/glib/glib/tests/option-context.c:1256,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_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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_option_context_set_ignore_unknown_options
    - g_strfreev
    - join_stringv
    - split_string
    - copy_stringv
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void ignore_test1 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/option-context.c:2462,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/option-context.c:2470,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2465,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2469,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/option-context.c:2467,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2472,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/glib/tests/option-context.c:2474,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2475,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2476,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2477,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2479
      start: 2449
    functionDepth: 0
    functionLinenumber: 2449
    functionLinenumberEnd: 2479
    functionName: flag_optional_int
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_option_context_new
    - g_test_assert_expected_messages
    - g_option_context_free
    - g_assert
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_test_expect_message
    - g_strfreev
    - split_string
    - g_option_context_parse_strv
    linkageType: ''
    returnType: void
    signature: 'static void flag_optional_int (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:598,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:603,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:599,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:605,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:602,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    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:1276,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1282,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: 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:1294,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
    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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_option_context_set_ignore_unknown_options
    - g_strfreev
    - join_stringv
    - split_string
    - copy_stringv
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void ignore_test2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:2503,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2505,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:2506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2518,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2526,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2517,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2520,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2524,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2519,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2528,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2508,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2510,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2513,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2514,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2522,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2525,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2527,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:2511,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2516,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2529
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2529
    functionName: short_remaining
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_option_context_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_assert_cmpstr
    - g_option_context_set_ignore_unknown_options
    - g_strfreev
    - split_string
    - copy_stringv
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void short_remaining (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:
    - 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_free
      Src: /src/glib/glib/tests/option-context.c:932,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:933,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_4 (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: 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: strstr
      Src: /src/glib/glib/tests/option-context.c:2199,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2200,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2201,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2202,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: strstr
      Src: /src/glib/glib/tests/option-context.c:2195,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:2192,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:2191,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:2206,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2207,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2208,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2205,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2194,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_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: 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:2189,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2191,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2192,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2190,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2205,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2206,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: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_assert
      Src: /src/glib/glib/tests/option-context.c:2201,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2193,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2202,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:2195,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_new
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - g_assert
    - g_option_group_add_entries
    - g_option_context_get_help
    - g_option_context_set_description
    - g_option_context_add_main_entries
    - g_option_group_new
    - g_option_context_add_group
    - strstr
    - g_option_context_set_help_enabled
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_help_no_help_options (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:805,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:806,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:810,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: 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:823,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_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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    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:952,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:959,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:957,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:956,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_free
      Src: /src/glib/glib/tests/option-context.c:970,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:971,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2219
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2219
    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_setenv
      Src: /src/glib/glib/tests/option-context.c:2604,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/option-context.c:2605,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2608,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2607,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2609,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2611,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2612,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2614,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/option-context.c:2617,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/option-context.c:2618,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/option-context.c:2626,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2668,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:2691,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:2693,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2695,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2655,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2651,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2664,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/option-context.c:2618,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/option-context.c:2621,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/option-context.c:2622,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:2640,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:2676,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/option-context.c:2711,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:2683,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2663,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2684,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2629,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2644,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:2646,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2704,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2620,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/option-context.c:2622,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:2634,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:2638,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2648,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2654,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:2674,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:2705,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2706,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2708,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:2692,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:2675,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2694,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/option-context.c:2625,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/option-context.c:2626,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:2639,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2698,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:2643,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:2699,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2707,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2645,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:2662,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2647,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2624,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2712
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2712
    functionName: main
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_free
    - g_test_add_data_func
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:841,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:846,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: 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_free
      Src: /src/glib/glib/tests/option-context.c:859,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:860,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    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:1848,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:1854,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1849,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:1852,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:1851,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_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
    - 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
    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_option_context_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_group_add_entries
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_option_group_new
    - g_option_context_add_group
    - g_clear_error
    - g_strfreev
    - split_string
    - g_assert_error
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void triple_dash_test (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: 2
    argNames:
    - str
    - argc
    argTypes:
    - char*
    - int*
    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_option_context_new
      Src: /src/glib/glib/tests/option-context.c:877,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:881,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:882,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:884,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:878,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_strfreev
      Src: /src/glib/glib/tests/option-context.c:894,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:895,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:1897,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_assert
      Src: /src/glib/glib/tests/option-context.c:1908,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1905,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/glib/tests/option-context.c:1920,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: 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: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:1911,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_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_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: 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
    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_option_context_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_clear_error
    - g_strfreev
    - split_string
    - copy_stringv
    - g_assert_true
    - g_option_context_parse_strv
    - g_test_bug
    - check_identical_stringv
    linkageType: ''
    returnType: void
    signature: 'static void missing_arg_test (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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1066,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1070,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: 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_free
      Src: /src/glib/glib/tests/option-context.c:1084,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1085,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_8 (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_free
    - g_option_context_new
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: void
    signature: 'static void add_test1 (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_new
    - g_option_context_free
    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:391,1
    - Dst: g_option_group_set_parse_hooks
      Src: /src/glib/glib/tests/option-context.c:396,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:392,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: 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_free
      Src: /src/glib/glib/tests/option-context.c:412,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: 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
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:409,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_context_new
    - g_option_context_get_main_group
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_clear_error
    - g_strfreev
    - strcmp
    - split_string
    - g_option_group_set_parse_hooks
    - copy_stringv
    - check_identical_stringv
    linkageType: ''
    returnType: void
    signature: 'static void error_test2 (void) '
  - 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:1311,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1317,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1313,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: g_free
      Src: /src/glib/glib/tests/option-context.c:1330,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1325,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1333,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1331,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1332,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1328,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1327,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1327,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_option_context_set_ignore_unknown_options
    - g_strfreev
    - join_stringv
    - split_string
    - copy_stringv
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void ignore_test3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:2324,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2330,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2337,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2321,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:2325,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2334,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2336,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2343,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2340,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2346,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2348,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2323,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/option-context.c:2328,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2333,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2341,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2335,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2322,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2327,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2332,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2342,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2338,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2344,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2347,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2349
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2349
    functionName: test_group_parse
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_group_add_entries
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_option_group_new
    - g_assert_cmpstr
    - g_option_context_add_group
    - g_memdup2
    - g_strfreev
    - split_string
    linkageType: ''
    returnType: void
    signature: 'static void test_group_parse (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_ptr_array_new
      Src: /src/glib/glib/tests/option-context.c:1110,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1115,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1116,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1111,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1112,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:1123,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1124,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1124,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1129,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1131,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1130,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/glib/tests/option-context.c:1126,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/option-context.c:1127,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_ptr_array_free
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_ptr_array_foreach
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    - g_ptr_array_new
    linkageType: ''
    returnType: void
    signature: 'static void callback_remaining_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1349,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1353,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: 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: strcmp
      Src: /src/glib/glib/tests/option-context.c:1362,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1363,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1365,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1368,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1369,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void array_test1 (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: 2
    argNames:
    - str
    - data
    argTypes:
    - gchar*
    - gpointer
    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: split_string
      Src: /src/glib/glib/tests/option-context.c:2359,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/glib/tests/option-context.c:2362,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/option-context.c:2360,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/option-context.c:2363,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - context
    - command_line
    argTypes:
    - GOptionContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2367
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2367
    functionName: option_context_parse_command_line
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - split_string
    - g_strfreev
    - g_strv_length
    - g_option_context_parse_strv
    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: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_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1434,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1440,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: g_assert
      Src: /src/glib/glib/tests/option-context.c:1447,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: strcmp
      Src: /src/glib/glib/tests/option-context.c:1448,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1451,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_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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void rest_test1 (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:278,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:276,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:495,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:499,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: 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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void arg_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:990,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:991,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:995,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: 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_free
      Src: /src/glib/glib/tests/option-context.c:1008,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1009,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    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: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_new
    - g_option_context_free
    linkageType: ''
    returnType: void
    signature: 'static void empty_test3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1547,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1553,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:1548,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:1561,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1563,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1568,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1556,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1561,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1567,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1555,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1566,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1562,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
      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_assert
      Src: /src/glib/glib/tests/option-context.c:1563,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1564,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_option_context_set_ignore_unknown_options
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2b (void) '
  - 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:530,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:534,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:537,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:531,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_strfreev
      Src: /src/glib/glib/tests/option-context.c:546,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:547,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    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: split_string
      Src: /src/glib/glib/tests/option-context.c:1032,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: 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_strfreev
      Src: /src/glib/glib/tests/option-context.c:1045,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1046,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    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: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: split_string
      Src: /src/glib/glib/tests/option-context.c:1589,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1592,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: strcmp
      Src: /src/glib/glib/tests/option-context.c:1599,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: g_assert
      Src: /src/glib/glib/tests/option-context.c:1601,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1600,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1605,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
    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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - strcmp
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2c (void) '
  - 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: []
    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:457,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:461,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: 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_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_option_context_free
      Src: /src/glib/glib/tests/option-context.c:479,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_context_new
    - g_option_context_get_main_group
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_clear_error
    - g_strfreev
    - split_string
    - g_option_group_set_parse_hooks
    - copy_stringv
    - check_identical_stringv
    linkageType: ''
    returnType: void
    signature: 'static void error_test3 (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: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:768,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:765,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_new
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_assert_no_error
    - g_option_context_add_main_entries
    - g_strfreev
    - split_string
    - copy_stringv
    linkageType: ''
    returnType: void
    signature: 'static void callback_test2 (void) '
  - 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:323,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:327,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: 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_strfreev
      Src: /src/glib/glib/tests/option-context.c:345,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:340,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_option_context_free
      Src: /src/glib/glib/tests/option-context.c:347,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_context_new
    - g_option_context_get_main_group
    - g_free
    - g_option_context_free
    - g_assert
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_clear_error
    - g_strfreev
    - split_string
    - g_option_group_set_parse_hooks
    - copy_stringv
    - check_identical_stringv
    linkageType: ''
    returnType: void
    signature: 'static void error_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    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:51,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mapping.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: check_stop
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_file_test
    - g_main_loop_quit
    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:80,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/mapping.c:82,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - writable
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: map_or_die
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_no_error
    - g_mapped_file_new
    linkageType: ''
    returnType: GMappedFile*
    signature: "static GMappedFile *map_or_die (const gchar *filename,\t gboolean
      writable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/mapping.c:102,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:104,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:103,1
    - Dst: atoi
      Src: /src/glib/glib/tests/mapping.c:106,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:107,1
    - Dst: signal
      Src: /src/glib/glib/tests/mapping.c:110,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mapping.c:112,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/mapping.c:113,1
    - Dst: g_idle_add_once
      Src: /src/glib/glib/tests/mapping.c:114,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mapping.c:115,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:120,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_test_message
      Src: /src/glib/glib/tests/mapping.c:117,1
    - Dst: signal_parent
      Src: /src/glib/glib/tests/mapping.c:127,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:123,1
    - Dst: write_or_die
      Src: /src/glib/glib/tests/mapping.c:119,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/tests/mapping.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 128
    functionName: child_main
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_test_message
    - signal
    - g_idle_add
    - g_free
    - write_or_die
    - signal_parent
    - atoi
    - g_build_filename
    - g_idle_add_once
    - g_main_loop_new
    - g_mapped_file_get_contents
    - map_or_die
    - g_main_loop_run
    - g_get_current_dir
    - g_mapped_file_get_length
    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:167,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:171,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:168,1
    - Dst: write_or_die
      Src: /src/glib/glib/tests/mapping.c:170,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:173,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mapping.c:177,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:179,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:180,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mapping.c:181,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mapping.c:182,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:192,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/mapping.c:183,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:184,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:186,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:187,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 193
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 193
    functionName: test_private
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - write_or_die
    - g_mapped_file_unref
    - g_assert_no_error
    - g_remove
    - g_assert_cmpstr
    - g_build_filename
    - g_mapped_file_get_contents
    - map_or_die
    - g_get_current_dir
    - g_file_get_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_private (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/mapping.c:68,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mapping.c:70,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - contents
    - length
    argTypes:
    - gchar*
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: write_or_die
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_no_error
    - 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: kill
      Src: /src/glib/glib/tests/mapping.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    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_get_current_dir
      Src: /src/glib/glib/tests/mapping.c:136,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mapping.c:142,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:141,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:137,1
    - Dst: write_or_die
      Src: /src/glib/glib/tests/mapping.c:139,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/tests/mapping.c:142,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mapping.c:143,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:145,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mapping.c:146,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/tests/mapping.c:146,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:153,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:148,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:154,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mapping.c:147,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 155
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 155
    functionName: test_mapping_flags
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - write_or_die
    - g_mapped_file_unref
    - g_remove
    - g_build_filename
    - g_mapped_file_get_length
    - map_or_die
    - g_get_current_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_mapping_flags (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_or_die
      Src: /src/glib/glib/tests/mapping.c:220,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/mapping.c:227,1
    - Dst: getpid
      Src: /src/glib/glib/tests/mapping.c:227,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:235,1
    - Dst: kill
      Src: /src/glib/glib/tests/mapping.c:257,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:276,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:278,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mapping.c:274,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:283,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mapping.c:213,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:217,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:218,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mapping.c:240,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:250,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/mapping.c:266,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:269,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:271,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:280,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:286,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:272,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/mapping.c:213,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/mapping.c:216,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:237,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/mapping.c:241,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/mapping.c:245,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mapping.c:236,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/tests/mapping.c:233,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:248,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mapping.c:254,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/mapping.c:259,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:284,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:279,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:212,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:221,1
    - Dst: signal
      Src: /src/glib/glib/tests/mapping.c:224,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mapping.c:242,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mapping.c:264,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mapping.c:273,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/mapping.c:275,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/mapping.c:263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 287
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 287
    functionName: test_child_private
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_idle_add
    - g_spawn_async
    - g_remove
    - g_usleep
    - g_main_loop_run
    - g_get_current_dir
    - g_assert_cmpint
    - signal
    - kill
    - g_file_set_contents
    - g_mapped_file_unref
    - g_assert_no_error
    - g_build_filename
    - g_main_loop_new
    - g_mapped_file_get_contents
    - map_or_die
    - g_test_message
    - g_assert_false
    - getpid
    - g_free
    - write_or_die
    - g_assert_cmpstr
    - g_file_test
    - g_snprintf
    - g_file_get_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_child_private (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/glib/glib/tests/mapping.c:296,1
    - Dst: sigaddset
      Src: /src/glib/glib/tests/mapping.c:297,1
    - Dst: sigismember
      Src: /src/glib/glib/tests/mapping.c:300,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:301,1
    - Dst: sigprocmask
      Src: /src/glib/glib/tests/mapping.c:298,1
    - Dst: child_main
      Src: /src/glib/glib/tests/mapping.c:309,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/mapping.c:313,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mapping.c:315,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mapping.c:316,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mapping.c:317,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/mapping.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 320
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 320
    functionName: main
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_test_message
    - sigismember
    - g_test_add_func
    - sigaddset
    - sigemptyset
    - g_test_init
    - g_test_run
    - sigprocmask
    - child_main
    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: 1
    argNames:
    - size
    argTypes:
    - size_t
    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:
    - real_malloc
    - dlsym
    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_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:68,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: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_message
    - g_setenv
    - g_test_disable_crash_reporting
    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_to_ucs4
      Src: /src/glib/glib/tests/unicode-encoding.c:80,1
    - Dst: utf16_count
      Src: /src/glib/glib/tests/unicode-encoding.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:177,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:175,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:204,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode-encoding.c:177,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:99,1
    - Dst: g_convert
      Src: /src/glib/glib/tests/unicode-encoding.c:150,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/unicode-encoding.c:159,1
    - Dst: g_assert_cmpint
      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: 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:206,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode-encoding.c:199,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: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: utf16_count
      Src: /src/glib/glib/tests/unicode-encoding.c:186,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: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:212,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:128,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/tests/unicode-encoding.c:173,1
    - Dst: g_utf16_to_ucs4
      Src: /src/glib/glib/tests/unicode-encoding.c:202,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-encoding.c:209,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_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-encoding.c:191,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:214,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/unicode-encoding.c:167,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:182,1
    - 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_assert_error
      Src: /src/glib/glib/tests/unicode-encoding.c:82,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:106,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_utf16_to_utf8
      Src: /src/glib/glib/tests/unicode-encoding.c:194,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:207,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_new
      Src: /src/glib/glib/tests/unicode-encoding.c:158,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:178,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-encoding.c:210,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_assert_true
      Src: /src/glib/glib/tests/unicode-encoding.c:189,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:216,1
    - Dst: g_new
      Src: /src/glib/glib/tests/unicode-encoding.c:166,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:87,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:190,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:118,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:199,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:185,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:215,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:217,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode-encoding.c:188,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:183,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode-encoding.c:65,1
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/unicode-encoding.c:86,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:186,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: utf16_equal
      Src: /src/glib/glib/tests/unicode-encoding.c:189,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:151,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:213,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:
    - utf16_equal
    - g_ucs4_to_utf16
    - g_clear_error
    - g_utf8_to_ucs4_fast
    - utf16_count
    - g_convert
    - strlen
    - g_utf8_validate
    - g_assert_cmpint
    - g_utf8_to_utf16
    - g_assert_nonnull
    - memcpy
    - ucs4_equal
    - g_assert_no_error
    - g_ucs4_to_utf8
    - g_assert_error
    - g_assert_false
    - g_free
    - g_utf8_to_ucs4
    - g_utf16_to_ucs4
    - g_assert_cmpstr
    - g_new
    - g_utf16_to_utf8
    - g_assert_true
    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_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:239,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode-encoding.c:273,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode-encoding.c:277,1
    - Dst: strtok
      Src: /src/glib/glib/tests/unicode-encoding.c:290,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_array_free
      Src: /src/glib/glib/tests/unicode-encoding.c:324,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:295,1
    - Dst: strtok
      Src: /src/glib/glib/tests/unicode-encoding.c:299,1
    - Dst: process
      Src: /src/glib/glib/tests/unicode-encoding.c:309,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/unicode-encoding.c:236,1
    - Dst: g_strstrip
      Src: /src/glib/glib/tests/unicode-encoding.c:258,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/unicode-encoding.c:241,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/unicode-encoding.c:238,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/unicode-encoding.c:258,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode-encoding.c:271,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: strtoul
      Src: /src/glib/glib/tests/unicode-encoding.c:294,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/unicode-encoding.c:297,1
    - 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_free
      Src: /src/glib/glib/tests/unicode-encoding.c:304,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_assert_cmpint
    - g_test_build_filename
    - g_free
    - process
    - g_strndup
    - g_array_set_size
    - g_assert_no_error
    - g_assert_not_reached
    - g_array_new
    - g_array_append_val
    - strtok
    - strtoul
    - g_array_free
    - strcmp
    - g_file_get_contents
    - g_strstrip
    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_add_func
      Src: /src/glib/glib/tests/unicode-encoding.c:333,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/unicode-encoding.c:335,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_run
    - g_test_init
    - g_test_add_func
    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: []
    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:
    - 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: 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: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:
    - 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: []
    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_cache_new
      Src: /src/glib/glib/tests/cache.c:116,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_cache_insert
      Src: /src/glib/glib/tests/cache.c:136,1
    - Dst: g_cache_remove
      Src: /src/glib/glib/tests/cache.c:141,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:142,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:130,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:146,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:139,1
    - Dst: g_cache_insert
      Src: /src/glib/glib/tests/cache.c:123,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: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
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:125,1
    - Dst: g_cache_key_foreach
      Src: /src/glib/glib/tests/cache.c:129,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: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_cache_destroy
      Src: /src/glib/glib/tests/cache.c:155,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_assert_cmpint
    - g_cache_destroy
    - g_free
    - g_cache_insert
    - g_cache_remove
    - g_new
    - g_cache_value_foreach
    - g_cache_new
    - g_cache_key_foreach
    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_run
      Src: /src/glib/glib/tests/cache.c:166,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/cache.c:164,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:95,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/gwakeuptest.c:98,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:96,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_mutex_clear
    - g_wakeup_free
    linkageType: ''
    returnType: void
    signature: 'static void context_clear (struct context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/gwakeuptest.c:114,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/gwakeuptest.c:121,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/tests/gwakeuptest.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    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_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:159,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/gwakeuptest.c:158,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_atomic_int_dec_and_test
    - g_wakeup_signal
    - g_test_rand_int_range
    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: wait_for_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:184,1
    - Dst: context_try_pop_token
      Src: /src/glib/glib/tests/gwakeuptest.c:187,1
    - Dst: g_wakeup_acknowledge
      Src: /src/glib/glib/tests/gwakeuptest.c:185,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:189,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_assert
    - g_wakeup_acknowledge
    - context_try_pop_token
    - g_atomic_int_get
    - wait_for_signaled
    - dispatch_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:28,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:31,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: check_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:51,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/tests/gwakeuptest.c:57,1
    - Dst: check_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:31,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/tests/gwakeuptest.c:40,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:50,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:45,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/tests/gwakeuptest.c:36,1
    - Dst: g_wakeup_new
      Src: /src/glib/glib/tests/gwakeuptest.c:43,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:51,1
    - Dst: g_wakeup_new
      Src: /src/glib/glib/tests/gwakeuptest.c:48,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:44,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
    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_free
    - g_assert
    - g_wakeup_acknowledge
    - g_wakeup_signal
    - g_wakeup_new
    - check_signaled
    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_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:136,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/gwakeuptest.c:134,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
    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_assert
    - g_wakeup_signal
    - g_mutex_unlock
    - g_slist_prepend
    - g_mutex_lock
    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: 1
    argNames:
    - ttl
    argTypes:
    - int
    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: g_thread_new
      Src: /src/glib/glib/tests/gwakeuptest.c:219,1
    - Dst: dispatch_token
      Src: /src/glib/glib/tests/gwakeuptest.c:224,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: 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:
    - g_wakeup_free
    - context_quit
    - g_wakeup_new
    - wait_for_signaled
    - g_thread_new
    - token_new
    - g_thread_join
    - context_clear
    - context_init
    - dispatch_token
    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:252,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
    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_run
    - g_test_init
    - g_test_add_func
    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_parse
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:94,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
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:122,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:168,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:151,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:91,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: g_main_context_iteration
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:149,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:155,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:169,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:167,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:92,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:112,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:130,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_option_context_free
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:170,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_spawn_close_pid
    - g_option_context_new
    - g_get_environ
    - g_free
    - g_environ_setenv
    - g_option_context_free
    - g_option_context_parse
    - WIFEXITED
    - g_option_context_add_main_entries
    - g_spawn_async_with_pipes
    - g_environ_unsetenv
    - g_child_watch_add
    - fprintf
    - g_clear_error
    - g_strfreev
    - g_main_context_iteration
    - WEXITSTATUS
    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: frexpl
      Src: /src/glib/glib/gnulib/frexpl.c:19,1
    - Dst: isinf
      Src: /src/glib/glib/gnulib/frexpl.c:14,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
    - isnanl
    - frexpl
    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:
    - isnan
    - isinf
    - frexp
    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:
    - memcmp
    - copysign
    - isnand
    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:
    - memcpy
    - realloc
    - malloc
    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:
    - copysignf
    - isnanf
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int gl_signbitf (float arg) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:1122,1
    - Dst: divide
      Src: /src/glib/glib/gnulib/vasnprintf.c:1205,1
    - Dst: multiply
      Src: /src/glib/glib/gnulib/vasnprintf.c:1219,1
    - Dst: multiply
      Src: /src/glib/glib/gnulib/vasnprintf.c:1200,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1127,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: 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:1285,1
    - Dst: convert_to_decimal
      Src: /src/glib/glib/gnulib/vasnprintf.c:1295,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1249,1
    - Dst: divide
      Src: /src/glib/glib/gnulib/vasnprintf.c:1284,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1288,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 164
    argCount: 4
    argNames:
    - e
    - m
    - memory
    - n
    argTypes:
    - int
    - mpn_t
    - void*
    - int
    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:
    - free
    - malloc
    - divide
    - multiply
    - convert_to_decimal
    linkageType: ''
    returnType: char*
    signature: 'static char *scale10_round_decimal_decoded (int e, mpn_t m, void *memory,
      int n) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: frexp
      Src: /src/glib/glib/gnulib/vasnprintf.c:1441,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1480,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1443,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:
    - abort
    - frexp
    linkageType: ''
    returnType: int
    signature: 'static int floorlog10 (double x) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2174,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2299,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: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2352,1
    - Dst: u16_conv_to_encoding
      Src: /src/glib/glib/gnulib/vasnprintf.c:2237,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2218,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: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2297,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2073,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2145,1
    - Dst: u16_strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2210,1
    - Dst: u8_strmblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2039,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2045,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2377,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2271,1
    - Dst: locale_charset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2237,1
    - Dst: xtimes
      Src: /src/glib/glib/gnulib/vasnprintf.c:1988,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: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2260,1
    - Dst: U32_TO_DCHAR
      Src: /src/glib/glib/gnulib/vasnprintf.c:2370,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:2388,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: 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: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2226,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: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2379,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2198,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2253,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: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2380,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: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1988,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2003,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2173,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2300,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2344,1
    - Dst: u32_conv_to_encoding
      Src: /src/glib/glib/gnulib/vasnprintf.c:2363,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2405,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2072,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:2251,1
    - Dst: u8_strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2084,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2145,1
    - Dst: u32_strmblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2316,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2353,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2227,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: U16_TO_DCHAR
      Src: /src/glib/glib/gnulib/vasnprintf.c:2244,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2397,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2047,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2101,1
    - Dst: U8_TO_DCHAR
      Src: /src/glib/glib/gnulib/vasnprintf.c:2118,1
    - Dst: u32_strmblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2291,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2272,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2019,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2344,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2261,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2271,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: 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: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2199,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2254,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2324,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2352,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2322,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1972,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2125,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2226,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:
    - u8_conv_to_encoding
    - u16_strlen
    - free
    - U32_TO_DCHAR
    - u32_conv_to_encoding
    - CLEANUP
    - ENSURE_ALLOCATION
    - u16_conv_to_encoding
    - xtimes
    - u32_strmblen
    - DCHAR_SET
    - u8_strmblen
    - xsum
    - u32_strlen
    - locale_charset
    - U8_TO_DCHAR
    - abort
    - u16_strmblen
    - DCHAR_CPY
    - u8_strlen
    - U16_TO_DCHAR
    linkageType: ''
    returnType: else
    signature: 'else if (dp->conversion == ''U'') '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:494,1
    - Dst: __builtin_clz
      Src: /src/glib/glib/gnulib/vasnprintf.c:570,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: 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: 3
    argNames:
    - a
    - b
    - q
    argTypes:
    - mpn_t
    - mpn_t
    - mpn_t*
    constantsTouched: []
    func_position:
      end: 849
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 849
    functionName: divide
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - memcpy
    - abort
    - free
    - __builtin_clz
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *divide (mpn_t a, mpn_t b, mpn_t *q) '
  - 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: 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: local_strnlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:1743,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1779,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1760,1
    - Dst: strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:1745,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1771,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1734,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
    - local_strnlen
    - xsum
    - local_wcsnlen
    - local_wcslen
    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: 25
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:4344,1
    - Dst: scale10_round_decimal_double
      Src: /src/glib/glib/gnulib/vasnprintf.c:4359,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: decimal_point_char
      Src: /src/glib/glib/gnulib/vasnprintf.c:4429,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:4373,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: scale10_round_decimal_double
      Src: /src/glib/glib/gnulib/vasnprintf.c:4327,1
    - Dst: floorlog10
      Src: /src/glib/glib/gnulib/vasnprintf.c:4322,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:4339,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:4345,1
    - Dst: is_borderline
      Src: /src/glib/glib/gnulib/vasnprintf.c:4353,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
    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:
    - strlen
    - SNPRINTF
    - abort
    - scale10_round_decimal_double
    - free
    - sprintf
    - floorlog10
    - decimal_point_char
    - is_borderline
    linkageType: ''
    returnType: else
    signature: 'else if (dp->conversion == ''g'' || dp->conversion == ''G'') '
  - 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: 3
    argNames:
    - src1
    - src2
    - dest
    argTypes:
    - mpn_t
    - mpn_t
    - mpn_t*
    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: 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: 2
    argNames:
    - a
    - extra_zeroes
    argTypes:
    - mpn_t
    - size_t
    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:
    - xsum
    - malloc
    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:950,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: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: 3
    argNames:
    - x
    - ep
    - mp
    argTypes:
    - long double
    - int*
    - mpn_t*
    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:
    - frexpl
    - abort
    - malloc
    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: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1017,1
    - Dst: frexp
      Src: /src/glib/glib/gnulib/vasnprintf.c:1015,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: 3
    argNames:
    - x
    - ep
    - mp
    argTypes:
    - double
    - int*
    - mpn_t*
    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:
    - abort
    - frexp
    - malloc
    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: 2
    argNames:
    - x
    - n
    argTypes:
    - long double
    - int
    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: 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: 2
    argNames:
    - x
    - n
    argTypes:
    - double
    - int
    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:
    - decode_double
    - scale10_round_decimal_decoded
    linkageType: ''
    returnType: char*
    signature: 'static char *scale10_round_decimal_double (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:1352,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1389,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/glib/glib/gnulib/vasnprintf.c:294,1
    - Dst: localeconv
      Src: /src/glib/glib/gnulib/vasnprintf.c:300,1
    - Dst: sprintf
      Src: /src/glib/glib/gnulib/vasnprintf.c:297,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:
    - nl_langinfo
    - sprintf
    - localeconv
    linkageType: ''
    returnType: char
    signature: 'static char decimal_point_char (void) '
  - 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: 53
    BranchProfiles: []
    Callsites:
    - Dst: mbrlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2516,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2530,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2565,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2647,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2858,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2695,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2636,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2805,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2837,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: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2873,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: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2779,1
    - Dst: local_wcslen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2753,1
    - Dst: mbrtowc
      Src: /src/glib/glib/gnulib/vasnprintf.c:2629,1
    - Dst: mbtowc
      Src: /src/glib/glib/gnulib/vasnprintf.c:2631,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2732,1
    - Dst: DCHAR_MBSNLEN
      Src: /src/glib/glib/gnulib/vasnprintf.c:2823,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2887,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: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2741,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: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2474,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: 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: xtimes
      Src: /src/glib/glib/gnulib/vasnprintf.c:2490,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2529,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2566,1
    - Dst: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2860,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2792,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2696,1
    - Dst: verify
      Src: /src/glib/glib/gnulib/vasnprintf.c:2659,1
    - Dst: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2889,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2904,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2920,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2527,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2616,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2900,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/vasnprintf.c:2786,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2687,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2851,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2769,1
    - Dst: mbrlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2552,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2611,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2740,1
    - Dst: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2730,1
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:2761,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/vasnprintf.c:2867,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2862,1
    - Dst: DCHAR_CONV_FROM_ENCODING
      Src: /src/glib/glib/gnulib/vasnprintf.c:2797,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2849,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2598,1
    - Dst: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2685,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2785,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2891,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2911,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: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2637,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2781,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2809,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: strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2577,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2904,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2913,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2717,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2738,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2443,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2490,1
    - Dst: mbtowc
      Src: /src/glib/glib/gnulib/vasnprintf.c:2606,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:2879,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/vasnprintf.c:2905,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2814,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2851,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2837,1
    - Dst: xtimes
      Src: /src/glib/glib/gnulib/vasnprintf.c:2459,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
    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:
    - free
    - malloc
    - strlen
    - CLEANUP
    - ENSURE_ALLOCATION
    - memset
    - xtimes
    - verify
    - DCHAR_MBSNLEN
    - local_wcslen
    - mbtowc
    - memcpy
    - DCHAR_SET
    - mbrlen
    - mbrtowc
    - wcrtomb
    - xsum
    - locale_charset
    - abort
    - DCHAR_CPY
    - wctomb
    - mblen
    - DCHAR_CONV_FROM_ENCODING
    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:
    - LDEXP
    - L_
    - END_ROUNDING
    - FREXP
    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:52,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:55,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:71,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: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:141,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:81,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: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:131,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:159,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:46,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: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:61,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:171,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: memcmp
      Src: /src/glib/glib/gnulib/signbitl.c:58,1
    - Dst: isnanl
      Src: /src/glib/glib/gnulib/signbitl.c:49,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:
    - memcmp
    - copysignl
    - 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:146,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:142,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: memcmp
      Src: /src/glib/glib/gnulib/isnan.c:160,1
    - Dst: memcmp
      Src: /src/glib/glib/gnulib/isnan.c:180,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/isnan.c:177,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/isnan.c:176,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:
    - memcmp
    - L_
    - memset
    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:
    - va_end
    - _g_gnulib_vprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_printf (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: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gnulib/printf.c:61,1
    - Dst: _g_gnulib_vsprintf
      Src: /src/glib/glib/gnulib/printf.c:62,1
    - Dst: va_end
      Src: /src/glib/glib/gnulib/printf.c:63,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:
    - va_end
    - _g_gnulib_vsprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_sprintf (char *string, char const *format, ...) '
  - 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:
    - memcpy
    - vasnprintf
    - 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: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:
    - va_end
    - _g_gnulib_vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_snprintf (char *string, size_t n, char const *format,
      ...) '
  - 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_end
    - _g_gnulib_vfprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_fprintf (FILE *file, 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
    - fwrite
    - free
    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: MIN
      Src: /src/glib/glib/gnulib/printf.c:126,1
    - Dst: free
      Src: /src/glib/glib/gnulib/printf.c:130,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/printf.c:126,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:
    - memcpy
    - vasnprintf
    - MIN
    - free
    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: va_end
      Src: /src/glib/glib/gnulib/asnprintf.c:33,1
    - Dst: vasnprintf
      Src: /src/glib/glib/gnulib/asnprintf.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    - '...'
    argTypes:
    - char*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: asnprintf
    functionSourceFile: /src/glib/glib/gnulib/asnprintf.c
    functionUses: []
    functionsReached:
    - va_end
    - vasnprintf
    - va_start
    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_slice_free
      Src: /src/glib/glib/deprecated/gcache.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GCacheNode*
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    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_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:249,1
    - Dst: g_cache_node_new
      Src: /src/glib/glib/deprecated/gcache.c:260,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/gcache.c:251,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/gcache.c:262,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/gcache.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - cache
    - key
    argTypes:
    - GCache*
    - gpointer
    constantsTouched: []
    func_position:
      end: 266
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 266
    functionName: g_cache_insert
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_cache_node_new
    - g_return_val_if_fail
    - g_hash_table_insert
    - g_hash_table_lookup
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_cache_insert (GCache *cache, gpointer key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:286,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/gcache.c:289,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:291,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/gcache.c:288,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/gcache.c:296,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/gcache.c:297,1
    - Dst: g_cache_node_destroy
      Src: /src/glib/glib/deprecated/gcache.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cache
    - value
    argTypes:
    - GCache*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 303
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 303
    functionName: g_cache_remove
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_cache_node_destroy
    - g_hash_table_lookup
    - g_hash_table_remove
    - 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:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    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:184,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:185,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:186,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:188,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:189,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:190,1
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gcache.c:192,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/gcache.c:197,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/gcache.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 7
    argNames:
    - value_new_func
    - value_destroy_func
    - key_dup_func
    - key_destroy_func
    - hash_key_func
    - hash_value_func
    - key_equal_func
    argTypes:
    - GCacheNewFunc
    - GCacheDestroyFunc
    - GCacheDupFunc
    - GCacheDestroyFunc
    - GHashFunc
    - GHashFunc
    - GEqualFunc
    constantsTouched: []
    func_position:
      end: 201
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 201
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:217,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/gcache.c:220,1
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gcache.c:221,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/gcache.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - GCache*
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: g_cache_destroy
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_hash_table_destroy
    - g_slice_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cache_destroy (GCache *cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:325,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:326,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/gcache.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cache
    - func
    - user_data
    argTypes:
    - GCache*
    - GHFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    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:347,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/gcache.c:350,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cache
    - func
    - user_data
    argTypes:
    - GCache*
    - GHFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new_internal
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:377,1
    - Dst: g_thread_unref
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 7
    argNames:
    - func
    - data
    - stack_size
    - joinable
    - bound
    - priority
    - error
    argTypes:
    - GThreadFunc
    - gpointer
    - gulong
    - gboolean
    - gboolean
    - GThreadPriority
    - GError**
    constantsTouched: []
    func_position:
      end: 387
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 387
    functionName: g_thread_create_full
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_unref
    - g_thread_new_internal
    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:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticMutex*
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 479
    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_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:595,1
    - Dst: g_mutex_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticMutex*
    constantsTouched: []
    func_position:
      end: 608
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 608
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:733,1
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 742
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 742
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:842,1
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:849,1
    - Dst: g_rec_mutex_clear
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 851
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 851
    functionName: g_static_rec_mutex_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_clear
    - g_slice_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rec_mutex_free (GStaticRecMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:971,1
    - Dst: g_static_mutex_get_mutex
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:972,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:972,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - GCond**
    - GStaticMutex*
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 973
    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:1005,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1016,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1010,1
    - Dst: g_static_rw_lock_wait
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1013,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1017
    functionName: g_static_rw_lock_reader_lock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_mutex_unlock
    - g_static_mutex_lock
    - g_static_rw_lock_wait
    - 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:1066,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1075,1
    - Dst: g_static_rw_lock_signal
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1074,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1071,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1076
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_signal
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:979,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:981,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 982
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 982
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1185,1
    - Dst: g_cond_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1189,1
    - Dst: g_static_mutex_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1197,1
    - Dst: g_cond_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1198
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1323,1
    - Dst: g_array_index
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1329,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - GStaticPrivate*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1348
    functionName: g_static_private_get
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_array_index
    - g_private_get
    - G_UNLIKELY
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_static_private_get (GStaticPrivate *private_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - GStaticPrivate*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1305
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:813,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 824
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 824
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_index
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1243,1
    - Dst: g_array_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1249
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1249
    functionName: g_static_private_cleanup
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_array_index
    - g_array_free
    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:1527,1
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1529
    functionName: g_cond_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_cond_clear
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'void g_cond_free (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:710,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 713
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 713
    functionName: g_static_rec_mutex_lock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_rec_mutex_get_rec_mutex_impl
    - g_rec_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_static_rec_mutex_lock (GStaticRecMutex* mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:781,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - mutex
    - depth
    argTypes:
    - GStaticRecMutex*
    - guint
    constantsTouched: []
    func_position:
      end: 787
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 787
    functionName: g_static_rec_mutex_lock_full
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_rec_mutex_get_rec_mutex_impl
    - g_rec_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex, guint depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_clear
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1485,1
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1487
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1487
    functionName: g_mutex_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_mutex_clear
    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:1506,1
    - Dst: g_cond_init
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1510
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1510
    functionName: g_cond_new
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_cond_init
    - g_slice_new
    linkageType: ''
    returnType: GCond*
    signature: 'GCond *g_cond_new (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_supported
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:672,1
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:684,1
    - Dst: g_rec_mutex_init
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:685,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:675,1
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:679,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:686,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:689,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 693
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 693
    functionName: g_static_rec_mutex_get_rec_mutex_impl
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_supported
    - g_atomic_pointer_get
    - G_LOCK
    - G_UNLOCK
    - g_atomic_pointer_set
    - g_rec_mutex_init
    - g_slice_new
    linkageType: ''
    returnType: GRecMutex*
    signature: 'static GRecMutex *g_static_rec_mutex_get_rec_mutex_impl (GStaticRecMutex*
      mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1464,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1468
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1468
    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: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    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:299,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:301,1
    - Dst: g_private_set
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:303,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GRealThread*
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: g_enumerable_thread_add
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_private_set
    - g_slist_prepend
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void g_enumerable_thread_add (GRealThread *thread) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1158,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1163,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1166,1
    - Dst: g_static_rw_lock_signal
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1167
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1441,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1443,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1444,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - GStaticPrivate*
    constantsTouched: []
    func_position:
      end: 1445
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1445
    functionName: g_static_private_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_slist_prepend
    - G_UNLOCK
    - GUINT_TO_POINTER
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_static_private_free (GStaticPrivate *private_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1216,1
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - notify
    argTypes:
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1223
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1223
    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_wait
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1562,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1573,1
    - Dst: g_cond_wait_until
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1575,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - cond
    - mutex
    - abs_time
    argTypes:
    - GCond*
    - GMutex*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1576
    functionName: g_cond_timed_wait
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_get_real_time
    - g_cond_wait_until
    - g_get_monotonic_time
    - g_cond_wait
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cond_timed_wait (GCond *cond, GMutex *mutex, GTimeVal *abs_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_supported
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:261,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:265,1
    - Dst: g_slist_copy
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:264,1
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:263,1
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:272,1
    - Dst: g_slist_find
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:273,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:277,1
    - Dst: thread_func
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:279,1
    - Dst: g_slist_free_1
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - thread_func
    - user_data
    argTypes:
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 282
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 282
    functionName: g_thread_foreach
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - G_LOCK
    - g_slist_free_1
    - G_UNLOCK
    - thread_func
    - g_slist_copy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_thread_foreach (GFunc thread_func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_create_full
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - func
    - data
    - joinable
    - error
    argTypes:
    - GThreadFunc
    - gpointer
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 347
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1127,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1138,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1140
    functionName: g_static_rw_lock_writer_trylock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_mutex_unlock
    - g_return_val_if_fail
    - g_static_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_static_rw_lock_writer_trylock (GStaticRWLock* lock) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1380,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1387,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1386,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1394,1
    - Dst: g_private_get
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1397,1
    - Dst: g_array_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1400,1
    - Dst: g_private_set
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1401,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1404,1
    - Dst: g_array_index
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - private_key
    - data
    - notify
    argTypes:
    - GStaticPrivate*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1414
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1414
    functionName: g_static_private_set
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - g_slist_delete_link
    - G_LOCK
    - g_private_set
    - g_array_set_size
    - g_array_index
    - G_UNLOCK
    - g_array_new
    - g_private_get
    linkageType: ''
    returnType: void
    signature: 'void g_static_private_set (GStaticPrivate *private_key, gpointer data,
      GDestroyNotify notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:289,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:290,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: g_enumerable_thread_remove
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_slist_remove
    - G_LOCK
    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:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 665
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 665
    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:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 965
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 965
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_enumerable_thread_add
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:311,1
    - Dst: g_thread_proxy
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: g_deprecated_thread_proxy
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_enumerable_thread_add
    - g_thread_proxy
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_deprecated_thread_proxy (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - location
    argTypes:
    - gsize*
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:760,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1038,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1049,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1051
    functionName: g_static_rw_lock_reader_trylock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_mutex_unlock
    - g_return_val_if_fail
    - g_static_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_static_rw_lock_reader_trylock (GStaticRWLock* lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1095,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1106,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1100,1
    - Dst: g_static_rw_lock_wait
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1107
    functionName: g_static_rw_lock_writer_lock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_mutex_unlock
    - g_static_mutex_lock
    - g_static_rw_lock_wait
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rw_lock_writer_lock (GStaticRWLock* lock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_supported
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:515,1
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:522,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:518,1
    - Dst: g_mutex_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:527,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:528,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticMutex*
    constantsTouched: []
    func_position:
      end: 535
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 535
    functionName: g_static_mutex_get_mutex_impl
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_supported
    - g_atomic_pointer_get
    - G_LOCK
    - G_UNLOCK
    - g_atomic_pointer_set
    - g_mutex_new
    linkageType: ''
    returnType: GMutex*
    signature: 'GMutex *g_static_mutex_get_mutex_impl (GStaticMutex* mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:197,1
    - Dst: g_list_remove
      Src: /src/glib/glib/deprecated/gcompletion.c:202,1
    - Dst: g_list_remove
      Src: /src/glib/glib/deprecated/gcompletion.c:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - cmp
    - items
    argTypes:
    - GCompletion*
    - GList*
    constantsTouched: []
    func_position:
      end: 212
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 212
    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:227,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:233,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:229,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cmp
    argTypes:
    - GCompletion*
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: g_completion_clear_items
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_free
    - g_list_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_completion_clear_items (GCompletion* cmp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:361,1
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:364,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:362,1
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:367,1
    - Dst: g_list_delete_link
      Src: /src/glib/glib/deprecated/gcompletion.c:379,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:390,1
    - Dst: completion_check_cache
      Src: /src/glib/glib/deprecated/gcompletion.c:409,1
    - Dst: g_strdup
      Src: /src/glib/glib/deprecated/gcompletion.c:408,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/deprecated/gcompletion.c:398,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:404,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 3
    argNames:
    - cmp
    - prefix
    - new_prefix
    argTypes:
    - GCompletion*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 412
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 412
    functionName: g_completion_complete
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - g_list_delete_link
    - g_list_prepend
    - g_list_free
    - completion_check_cache
    - g_return_val_if_fail
    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: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:256,1
    - Dst: g_new0
      Src: /src/glib/glib/deprecated/gcompletion.c:276,1
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:260,1
    - Dst: strncpy
      Src: /src/glib/glib/deprecated/gcompletion.c:277,1
    - Dst: strncpy
      Src: /src/glib/glib/deprecated/gcompletion.c:278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - cmp
    - new_prefix
    argTypes:
    - GCompletion*
    - gchar**
    constantsTouched: []
    func_position:
      end: 279
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 279
    functionName: completion_check_cache
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - strlen
    - strncpy
    - g_new0
    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:467,1
    - Dst: g_warning
      Src: /src/glib/glib/deprecated/gcompletion.c:475,1
    - Dst: g_list_alloc
      Src: /src/glib/glib/deprecated/gcompletion.c:480,1
    - Dst: fopen
      Src: /src/glib/glib/deprecated/gcompletion.c:472,1
    - Dst: g_completion_new
      Src: /src/glib/glib/deprecated/gcompletion.c:479,1
    - Dst: fgets
      Src: /src/glib/glib/deprecated/gcompletion.c:481,1
    - Dst: g_strdup
      Src: /src/glib/glib/deprecated/gcompletion.c:483,1
    - Dst: g_completion_add_items
      Src: /src/glib/glib/deprecated/gcompletion.c:484,1
    - Dst: fclose
      Src: /src/glib/glib/deprecated/gcompletion.c:486,1
    - Dst: printf
      Src: /src/glib/glib/deprecated/gcompletion.c:490,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:500,1
    - Dst: g_list_foreach
      Src: /src/glib/glib/deprecated/gcompletion.c:492,1
    - Dst: printf
      Src: /src/glib/glib/deprecated/gcompletion.c:493,1
    - Dst: g_list_foreach
      Src: /src/glib/glib/deprecated/gcompletion.c:498,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:494,1
    - Dst: g_completion_free
      Src: /src/glib/glib/deprecated/gcompletion.c:499,1
    - Dst: g_completion_complete
      Src: /src/glib/glib/deprecated/gcompletion.c:491,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 503
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 503
    functionName: main
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_completion_add_items
    - g_free
    - g_completion_new
    - g_warning
    - printf
    - fgets
    - fclose
    - g_completion_free
    - g_list_free
    - fopen
    - g_list_foreach
    - g_list_alloc
    - g_completion_complete
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char* argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/deprecated/gcompletion.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - func
    argTypes:
    - GCompletionFunc
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:157,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:168,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/deprecated/gcompletion.c:175,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - cmp
    - items
    argTypes:
    - GCompletion*
    - GList*
    constantsTouched: []
    func_position:
      end: 178
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 178
    functionName: g_completion_add_items
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_free
    - g_list_prepend
    - g_list_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_completion_add_items (GCompletion* cmp,\t\t\tGList*\t items) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_completion_complete
      Src: /src/glib/glib/deprecated/gcompletion.c:313,1
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:317,1
    - Dst: g_utf8_find_prev_char
      Src: /src/glib/glib/deprecated/gcompletion.c:318,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/deprecated/gcompletion.c:320,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 3
    argNames:
    - cmp
    - prefix
    - new_prefix
    argTypes:
    - GCompletion*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 332
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 332
    functionName: g_completion_complete_utf8
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - strlen
    - g_utf8_get_char_validated
    - g_utf8_find_prev_char
    - g_completion_complete
    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:427,1
    - Dst: g_completion_clear_items
      Src: /src/glib/glib/deprecated/gcompletion.c:429,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cmp
    argTypes:
    - GCompletion*
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: g_completion_free
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_free
    - g_completion_clear_items
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_completion_free (GCompletion* cmp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - v_a
    - v_b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/deprecated/grel.c:202,1
    - Dst: g_new0
      Src: /src/glib/glib/deprecated/grel.c:206,1
    - Dst: tuple_hash
      Src: /src/glib/glib/deprecated/grel.c:205,1
    - Dst: tuple_equal
      Src: /src/glib/glib/deprecated/grel.c:205,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/grel.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fields
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: g_relation_new
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - tuple_hash
    - g_hash_table_new
    - tuple_equal
    - g_new0
    linkageType: ''
    returnType: GRelation*
    signature: 'GRelation *g_relation_new (gint fields) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/grel.c:279,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/grel.c:283,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/grel.c:281,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: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - v_a
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free1
      Src: /src/glib/glib/deprecated/grel.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    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_slice_alloc
      Src: /src/glib/glib/deprecated/grel.c:542,1
    - Dst: va_start
      Src: /src/glib/glib/deprecated/grel.c:547,1
    - Dst: va_arg
      Src: /src/glib/glib/deprecated/grel.c:550,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:554,1
    - Dst: va_end
      Src: /src/glib/glib/deprecated/grel.c:552,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/deprecated/grel.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - relation
    - '...'
    argTypes:
    - GRelation*
    constantsTouched: []
    func_position:
      end: 559
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 559
    functionName: g_relation_exists
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - va_end
    - g_slice_alloc
    - g_slice_free1
    - va_start
    - va_arg
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_relation_exists (GRelation *relation, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/deprecated/grel.c:579,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/grel.c:580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - tuples0
    argTypes:
    - GTuples*
    constantsTouched: []
    func_position:
      end: 582
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 582
    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_log
      Src: /src/glib/glib/deprecated/grel.c:668,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:670,1
    - Dst: g_log
      Src: /src/glib/glib/deprecated/grel.c:679,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - relation
    argTypes:
    - GRelation*
    constantsTouched: []
    func_position:
      end: 686
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 686
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_alloc
      Src: /src/glib/glib/deprecated/grel.c:301,1
    - Dst: va_end
      Src: /src/glib/glib/deprecated/grel.c:310,1
    - Dst: va_start
      Src: /src/glib/glib/deprecated/grel.c:305,1
    - Dst: va_arg
      Src: /src/glib/glib/deprecated/grel.c:308,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/grel.c:312,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:328,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/grel.c:332,1
    - Dst: tuple_hash
      Src: /src/glib/glib/deprecated/grel.c:332,1
    - Dst: tuple_equal
      Src: /src/glib/glib/deprecated/grel.c:332,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/grel.c:333,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/grel.c:336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - relation
    - '...'
    argTypes:
    - GRelation*
    constantsTouched: []
    func_position:
      end: 338
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 338
    functionName: g_relation_insert
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - va_end
    - tuple_hash
    - g_hash_table_insert
    - g_slice_alloc
    - va_start
    - g_hash_table_new
    - tuple_equal
    - va_arg
    - g_hash_table_lookup
    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:511,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/deprecated/grel.c:522,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:515,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - relation
    - key
    - field
    argTypes:
    - GRelation*
    - gconstpointer
    - gint
    constantsTouched: []
    func_position:
      end: 523
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 523
    functionName: g_relation_count
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_hash_table_size
    - g_return_val_if_fail
    - g_hash_table_lookup
    linkageType: ''
    returnType: gint
    signature: "gint g_relation_count (GRelation *relation,\t\t gconstpointer key,\t\t
      gint field) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:248,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:253,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/grel.c:249,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/grel.c:256,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/grel.c:254,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/grel.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - relation
    argTypes:
    - GRelation*
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 259
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:466,1
    - Dst: g_new0
      Src: /src/glib/glib/deprecated/grel.c:472,1
    - Dst: g_relation_count
      Src: /src/glib/glib/deprecated/grel.c:478,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:473,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:470,1
    - Dst: g_malloc
      Src: /src/glib/glib/deprecated/grel.c:480,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:483,1
    - Dst: g_assert
      Src: /src/glib/glib/deprecated/grel.c:485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - relation
    - key
    - field
    argTypes:
    - GRelation*
    - gconstpointer
    - gint
    constantsTouched: []
    func_position:
      end: 488
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 488
    functionName: g_relation_select
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_assert
    - g_relation_count
    - g_hash_table_lookup
    - g_hash_table_foreach
    - g_return_val_if_fail
    - g_malloc
    linkageType: ''
    returnType: GTuples*
    signature: "GTuples *g_relation_select (GRelation *relation,\t\t gconstpointer
      key,\t\t gint field) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/deprecated/grel.c:624,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/deprecated/grel.c:628,1
    - Dst: g_string_append
      Src: /src/glib/glib/deprecated/grel.c:631,1
    - Dst: g_string_append
      Src: /src/glib/glib/deprecated/grel.c:634,1
    - Dst: g_log
      Src: /src/glib/glib/deprecated/grel.c:635,1
    - Dst: g_string_free
      Src: /src/glib/glib/deprecated/grel.c:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 637
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 637
    functionName: g_relation_print_one
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_string_append_printf
    - g_string_free
    - g_log
    linkageType: ''
    returnType: void
    signature: "static void g_relation_print_one (gpointer tuple_key,\t\t gpointer
      tuple_value,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log
      Src: /src/glib/glib/deprecated/grel.c:647,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 652
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 652
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/grel.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    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_assert
      Src: /src/glib/glib/deprecated/grel.c:433,1
    - Dst: memcpy
      Src: /src/glib/glib/deprecated/grel.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 440
    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_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:605,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - tuples0
    - index
    - field
    argTypes:
    - GTuples*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 609
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/deprecated/grel.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - fields
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 172
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:399,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:406,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:413,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/grel.c:415,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:404,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/grel.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - relation
    - key
    - field
    argTypes:
    - GRelation*
    - gconstpointer
    - gint
    constantsTouched: []
    func_position:
      end: 422
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 422
    functionName: g_relation_delete
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_hash_table_destroy
    - g_hash_table_remove
    - g_hash_table_lookup
    - g_hash_table_foreach
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_relation_delete (GRelation *relation,\t\t gconstpointer key,\t\t
      gint field) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/deprecated/grel.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - fields
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/deprecated/grel.c:349,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/grel.c:371,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:366,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/grel.c:368,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/deprecated/grel.c:372,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 375
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 375
    functionName: g_relation_delete_tuple
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_lookup
    - g_hash_table_remove
    - g_slice_free1
    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: 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:
    - 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_return_val_if_fail
    - g_slice_alloc0
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - name
    - n_preallocs
    argTypes:
    - gchar*
    - guint
    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: 4
    argNames:
    - name
    - atom_size
    - area_size
    - type
    argTypes:
    - gchar*
    - gint
    - gsize
    - gint
    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: 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: _tfindfirst
      Src: /src/glib/glib/dirent/dirent.c:171,1
    - Dst: GetLastError
      Src: /src/glib/glib/dirent/dirent.c:192,1
    - Dst: _tcslen
      Src: /src/glib/glib/dirent/dirent.c:212,1
    - Dst: _tfindnext
      Src: /src/glib/glib/dirent/dirent.c:187,1
    - Dst: _findclose
      Src: /src/glib/glib/dirent/dirent.c:195,1
    - Dst: _tcscpy
      Src: /src/glib/glib/dirent/dirent.c:213,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _TDIR*
    constantsTouched: []
    func_position:
      end: 218
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 218
    functionName: _treaddir
    functionSourceFile: /src/glib/glib/dirent/dirent.c
    functionUses: []
    functionsReached:
    - _tfindnext
    - _tfindfirst
    - _tcslen
    - _findclose
    - _tcscpy
    - GetLastError
    linkageType: ''
    returnType: struct _tdirent*
    signature: "struct _tdirent *\r_treaddir (_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:
    - _treaddir
    - _findclose
    - _trewinddir
    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: GetFileAttributes
      Src: /src/glib/glib/dirent/dirent.c:81,1
    - Dst: malloc
      Src: /src/glib/glib/dirent/dirent.c:100,1
    - Dst: _tcslen
      Src: /src/glib/glib/dirent/dirent.c:100,1
    - Dst: _tfullpath
      Src: /src/glib/glib/dirent/dirent.c:96,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:116,1
    - Dst: _tcscat
      Src: /src/glib/glib/dirent/dirent.c:118,1
    - Dst: _tcscat
      Src: /src/glib/glib/dirent/dirent.c:122,1
    - Dst: memset
      Src: /src/glib/glib/dirent/dirent.c:137,1
    - Dst: _tcslen
      Src: /src/glib/glib/dirent/dirent.c:116,1
    - Dst: _T
      Src: /src/glib/glib/dirent/dirent.c:115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 1
    argNames:
    - szPath
    argTypes:
    - _TCHAR*
    constantsTouched: []
    func_position:
      end: 140
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 140
    functionName: _topendir
    functionSourceFile: /src/glib/glib/dirent/dirent.c
    functionUses: []
    functionsReached:
    - GetFileAttributes
    - _tcslen
    - _tcscat
    - malloc
    - _tfullpath
    - memset
    - _tcscpy
    - _T
    linkageType: ''
    returnType: _TDIR*
    signature: "_TDIR *\r_topendir (const _TCHAR *szPath) "
  - 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: 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:
    - _findclose
    - free
    linkageType: ''
    returnType: int
    signature: 'int _tclosedir (_TDIR * dirp) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: relocate
      Src: /src/glib/glib/libcharset/localcharset.c:119,1
    - Dst: malloc
      Src: /src/glib/glib/libcharset/localcharset.c:126,1
    - Dst: memcpy
      Src: /src/glib/glib/libcharset/localcharset.c:129,1
    - Dst: fopen
      Src: /src/glib/glib/libcharset/localcharset.c:136,1
    - Dst: getc
      Src: /src/glib/glib/libcharset/localcharset.c:153,1
    - Dst: fscanf
      Src: /src/glib/glib/libcharset/localcharset.c:169,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:192,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:124,1
    - Dst: memcpy
      Src: /src/glib/glib/libcharset/localcharset.c:132,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:171,1
    - Dst: realloc
      Src: /src/glib/glib/libcharset/localcharset.c:182,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:172,1
    - Dst: malloc
      Src: /src/glib/glib/libcharset/localcharset.c:177,1
    - Dst: ungetc
      Src: /src/glib/glib/libcharset/localcharset.c:168,1
    - Dst: fclose
      Src: /src/glib/glib/libcharset/localcharset.c:195,1
    - Dst: ISSLASH
      Src: /src/glib/glib/libcharset/localcharset.c:125,1
    - Dst: getc
      Src: /src/glib/glib/libcharset/localcharset.c:162,1
    - Dst: strcpy
      Src: /src/glib/glib/libcharset/localcharset.c:193,1
    - Dst: free
      Src: /src/glib/glib/libcharset/localcharset.c:206,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - strlen
    - memcpy
    - getc
    - realloc
    - free
    - strcpy
    - malloc
    - ISSLASH
    - relocate
    - fclose
    - ungetc
    - fopen
    - fscanf
    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:354,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:356,1
    - Dst: setlocale
      Src: /src/glib/glib/libcharset/localcharset.c:347,1
    - Dst: sprintf
      Src: /src/glib/glib/libcharset/localcharset.c:423,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:311,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: sprintf
      Src: /src/glib/glib/libcharset/localcharset.c:372,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:384,1
    - Dst: GetACP
      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:300,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:351,1
    - Dst: DosQueryCp
      Src: /src/glib/glib/libcharset/localcharset.c:419,1
    - Dst: memcpy
      Src: /src/glib/glib/libcharset/localcharset.c:407,1
    - Dst: strcmp
      Src: /src/glib/glib/libcharset/localcharset.c:295,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:303,1
    - Dst: strchr
      Src: /src/glib/glib/libcharset/localcharset.c:319,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
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 109
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - setlocale
    - memcpy
    - DosQueryCp
    - strchr
    - nl_langinfo
    - GetACP
    - strcmp
    - getenv
    - sprintf
    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: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:449,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:445,1
    - Dst: strcmp
      Src: /src/glib/glib/libcharset/localcharset.c:446,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - codeset
    argTypes:
    - char*
    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:
    - strlen
    - _g_locale_get_charset_aliases
    - strcmp
    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: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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    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: 1
    argNames:
    - dirp
    argTypes:
    - gpointer
    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:
    - stat
    - __coverity_tainted_string_sanitize_content__
    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:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    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: 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: 2
    argNames:
    - error
    - source_str
    argTypes:
    - GError*
    - gchar*
    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_tainted_data_sink__
    - __coverity_alloc_nosize__
    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: cygwin_conv_to_win32_path
      Src: /src/glib/gmodule/gmodule-win32.c:84,1
    - Dst: set_error
      Src: /src/glib/gmodule/gmodule-win32.c:92,1
    - Dst: SetThreadErrorMode
      Src: /src/glib/gmodule/gmodule-win32.c:90,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:
    - cygwin_conv_to_win32_path
    - SetThreadErrorMode
    - LoadLibraryW
    - g_free
    - g_strdup_vprintf
    - g_utf8_to_utf16
    - LoadPackagedLibrary
    - set_error
    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: 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateToolhelp32Snapshot
      Src: /src/glib/gmodule/gmodule-win32.c:144,1
    - Dst: GetProcAddress
      Src: /src/glib/gmodule/gmodule-win32.c:161,1
    - Dst: g_thread_yield
      Src: /src/glib/gmodule/gmodule-win32.c:147,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
    - GetProcAddress
    - CloseHandle
    - Module32Next
    - Module32First
    - GetLastError
    - CreateToolhelp32Snapshot
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer find_in_any_module_using_toolhelp (const gchar *symbol_name) '
  - 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: GetModuleHandle
      Src: /src/glib/gmodule/gmodule-win32.c:191,1
    - Dst: set_error
      Src: /src/glib/gmodule/gmodule-win32.c:198,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:
    - find_in_any_module
    - GetProcAddress
    - GetModuleHandle
    - set_error
    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_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:218,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:213,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gmodule/gmodule-win32.c:212,1
    - Dst: strncmp
      Src: /src/glib/gmodule/gmodule-win32.c:228,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_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: G_WITH_CYGWIN
      Src: /src/glib/gmodule/gmodule-win32.c:227,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:231,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:234,1
    - Dst: dll
      Src: /src/glib/gmodule/gmodule-win32.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - directory
    - module_name
    argTypes:
    - gchar*
    - gchar*
    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:
    - strlen
    - g_strdup
    - g_ascii_strcasecmp
    - dll
    - g_strconcat
    - strncmp
    - G_WITH_CYGWIN
    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: lock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:168,1
    - Dst: unlock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:176,1
    - Dst: dlopen
      Src: /src/glib/gmodule/gmodule-dl.c:172,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:175,1
    - Dst: g_module_set_error
      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:
    - g_module_set_error
    - fetch_dlerror
    - dlopen
    - lock_dlerror
    - unlock_dlerror
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer _g_module_self (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - replace_null
    argTypes:
    - gboolean
    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: 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:
    - g_module_set_error
    - fetch_dlerror
    - 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: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:190,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-dl.c:190,1
    - Dst: unlock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:191,1
    - Dst: dlclose
      Src: /src/glib/gmodule/gmodule-dl.c:189,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:
    - dlclose
    - g_module_set_error
    - fetch_dlerror
    - 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: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:203,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:205,1
    - Dst: dlsym
      Src: /src/glib/gmodule/gmodule-dl.c:204,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:
    - g_module_set_error
    - fetch_dlerror
    - dlsym
    - lock_dlerror
    - unlock_dlerror
    linkageType: ''
    returnType: gpointer
    signature: "static gpointer _g_module_symbol (gpointer handle,\t\t const gchar
      *symbol_name) "
  - 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: 1
    argNames:
    - file_name
    argTypes:
    - gchar*
    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:
    - g_free
    - lseek
    - close
    - read
    - g_malloc
    - atol
    - open
    - strncmp
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar * _g_module_get_member(const gchar* file_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:
    - dlopen
    - g_module_set_error
    - fetch_dlerror
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer _g_module_self (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_module_get_member
      Src: /src/glib/gmodule/gmodule-ar.c:113,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: dlopen
      Src: /src/glib/gmodule/gmodule-ar.c:122,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:
    - g_strdup
    - g_module_set_error
    - g_free
    - fetch_dlerror
    - dlopen
    - g_strconcat
    - g_set_error_literal
    - _g_module_get_member
    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: 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:
    - dlclose
    - g_module_set_error
    - fetch_dlerror
    linkageType: ''
    returnType: void
    signature: 'static void _g_module_close (gpointer handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/glib/gmodule/gmodule-ar.c:163,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-ar.c:165,1
    - Dst: fetch_dlerror
      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
    - fetch_dlerror
    - dlsym
    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: 1
    argNames:
    - replace_null
    argTypes:
    - gboolean
    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: g_strconcat
      Src: /src/glib/gmodule/gmodule-deprecated.c:23,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule-deprecated.c:27,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:29,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - directory
    - module_name
    argTypes:
    - gchar*
    - gchar*
    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:
    - g_strconcat
    - g_strdup
    - strncmp
    linkageType: ''
    returnType: gchar*
    signature: "gchar *_g_module_build_path (const gchar *directory,\t\t const gchar
      *module_name) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 279
    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: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    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:496,1
    - Dst: g_parse_debug_string
      Src: /src/glib/gmodule/gmodule.c:499,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gmodule/gmodule.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 502
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: _g_module_debug_init
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_parse_debug_string
    - G_N_ELEMENTS
    - g_getenv
    linkageType: ''
    returnType: void
    signature: 'static void _g_module_debug_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gmodule/gmodule.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 295
    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: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    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: g_private_replace
      Src: /src/glib/gmodule/gmodule.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    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: 28
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gmodule/gmodule.c:548,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:579,1
    - Dst: g_module_find_by_name
      Src: /src/glib/gmodule/gmodule.c:584,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:589,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gmodule/gmodule.c:613,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:609,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:626,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:649,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:675,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:689,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:716,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/gmodule.c:716,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:712,1
    - Dst: g_module_find_by_handle
      Src: /src/glib/gmodule/gmodule.c:705,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:546,1
    - Dst: g_path_get_basename
      Src: /src/glib/gmodule/gmodule.c:603,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:625,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gmodule/gmodule.c:616,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gmodule/gmodule.c:604,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:632,1
    - Dst: g_file_test
      Src: /src/glib/gmodule/gmodule.c:642,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:650,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:658,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:682,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:745,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:747,1
    - Dst: g_module_make_resident
      Src: /src/glib/gmodule/gmodule.c:757,1
    - Dst: SUPPORT_OR_RETURN
      Src: /src/glib/gmodule/gmodule.c:544,1
    - Dst: _g_module_self
      Src: /src/glib/gmodule/gmodule.c:560,1
    - Dst: g_new
      Src: /src/glib/gmodule/gmodule.c:567,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:595,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gmodule/gmodule.c:606,1
    - Dst: g_file_test
      Src: /src/glib/gmodule/gmodule.c:594,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:640,1
    - Dst: g_file_test
      Src: /src/glib/gmodule/gmodule.c:656,1
    - Dst: strrchr
      Src: /src/glib/gmodule/gmodule.c:667,1
    - Dst: g_assert
      Src: /src/glib/gmodule/gmodule.c:679,1
    - Dst: parse_libtool_archive
      Src: /src/glib/gmodule/gmodule.c:684,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/gmodule.c:734,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:740,1
    - Dst: _g_module_close
      Src: /src/glib/gmodule/gmodule.c:708,1
    - Dst: check_init
      Src: /src/glib/gmodule/gmodule.c:730,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:752,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:717,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:750,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:759,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gmodule/gmodule.c:550,1
    - Dst: _g_module_debug_init
      Src: /src/glib/gmodule/gmodule.c:551,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:644,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:655,1
    - Dst: strrchr
      Src: /src/glib/gmodule/gmodule.c:668,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:673,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:696,1
    - Dst: g_new
      Src: /src/glib/gmodule/gmodule.c:719,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:720,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/gmodule.c:729,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:710,1
    - Dst: _g_module_open
      Src: /src/glib/gmodule/gmodule.c:694,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/gmodule.c:743,1
    - Dst: g_set_error_literal
      Src: /src/glib/gmodule/gmodule.c:746,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 161
    argCount: 3
    argNames:
    - file_name
    - flags
    - error
    argTypes:
    - gchar*
    - GModuleFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 761
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 761
    functionName: g_module_open_full
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_module_set_error
    - g_path_get_basename
    - g_path_get_dirname
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - g_return_val_if_fail
    - g_module_find_by_name
    - g_str_has_prefix
    - g_module_find_by_handle
    - g_strconcat
    - g_set_error_literal
    - _g_module_debug_init
    - G_UNLIKELY
    - check_init
    - g_module_symbol
    - _g_module_open
    - _g_module_self
    - g_str_has_suffix
    - g_module_close
    - g_strdup
    - g_free
    - strrchr
    - g_assert
    - g_module_error
    - _g_module_close
    - g_new
    - SUPPORT_OR_RETURN
    - parse_libtool_archive
    - g_module_make_resident
    - g_file_test
    linkageType: ''
    returnType: GModule*
    signature: 'GModule *g_module_open_full (const gchar *file_name, GModuleFlags
      flags, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUPPORT_OR_RETURN
      Src: /src/glib/gmodule/gmodule.c:890,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:894,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:892,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gmodule/gmodule.c:896,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:893,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:902,1
    - Dst: _g_module_symbol
      Src: /src/glib/gmodule/gmodule.c:903,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:904,1
    - Dst: _g_module_symbol
      Src: /src/glib/gmodule/gmodule.c:907,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/gmodule.c:910,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:917,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:916,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:921,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:915,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - module
    - symbol_name
    - symbol
    argTypes:
    - GModule*
    - gchar*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 923
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 923
    functionName: g_module_symbol
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_module_set_error
    - g_free
    - g_module_error
    - g_rec_mutex_unlock
    - _g_module_symbol
    - SUPPORT_OR_RETURN
    - g_rec_mutex_lock
    - g_strconcat
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_module_symbol (GModule *module, const gchar *symbol_name,
      gpointer *symbol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_module_set_error_unduped
      Src: /src/glib/gmodule/gmodule.c:307,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: g_module_set_error
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_module_set_error_unduped
    linkageType: ''
    returnType: void
    signature: 'static inline void g_module_set_error (const gchar *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - directory
    - module_name
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    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:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - file_name
    - flags
    argTypes:
    - gchar*
    - GModuleFlags
    constantsTouched: []
    func_position:
      end: 997
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 997
    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_private_get
      Src: /src/glib/gmodule/gmodule.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 868
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 868
    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_return_if_fail
      Src: /src/glib/gmodule/gmodule.c:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - module
    argTypes:
    - GModule*
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    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: SUPPORT_OR_RETURN
      Src: /src/glib/gmodule/gmodule.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/gmodule.c:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - file_name
    - flags
    argTypes:
    - gchar*
    - GModuleFlags
    constantsTouched: []
    func_position:
      end: 779
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 779
    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:792,1
    - Dst: unload
      Src: /src/glib/gmodule/gmodule.c:807,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:794,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:795,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gmodule/gmodule.c:797,1
    - Dst: _g_module_close
      Src: /src/glib/gmodule/gmodule.c:833,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:834,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:835,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:838,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/gmodule.c:839,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - module
    argTypes:
    - GModule*
    constantsTouched: []
    func_position:
      end: 840
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 840
    functionName: g_module_close
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_free
    - g_module_error
    - g_rec_mutex_unlock
    - _g_module_close
    - SUPPORT_OR_RETURN
    - unload
    - g_rec_mutex_lock
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_module_close (GModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:329,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: 331
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 331
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_module_set_error_unduped
      Src: /src/glib/gmodule/gmodule.c:398,1
    - Dst: g_scanner_eof
      Src: /src/glib/gmodule/gmodule.c:412,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/gmodule/gmodule.c:418,1
    - Dst: g_strdup_printf
      Src: /src/glib/gmodule/gmodule.c:424,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:425,1
    - Dst: close
      Src: /src/glib/gmodule/gmodule.c:430,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:447,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gmodule/gmodule.c:455,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:456,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:458,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:457,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/gmodule/gmodule.c:406,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gmodule/gmodule.c:407,1
    - Dst: g_filename_display_name
      Src: /src/glib/gmodule/gmodule.c:423,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:427,1
    - Dst: strcmp
      Src: /src/glib/gmodule/gmodule.c:443,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:446,1
    - Dst: g_steal_fd
      Src: /src/glib/gmodule/gmodule.c:462,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:475,1
    - Dst: g_module_set_error_unduped
      Src: /src/glib/gmodule/gmodule.c:467,1
    - Dst: g_strdup_printf
      Src: /src/glib/gmodule/gmodule.c:398,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:399,1
    - Dst: g_scanner_new
      Src: /src/glib/gmodule/gmodule.c:403,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/gmodule/gmodule.c:408,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gmodule/gmodule.c:409,1
    - Dst: g_module_set_error_unduped
      Src: /src/glib/gmodule/gmodule.c:424,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/gmodule/gmodule.c:414,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/gmodule/gmodule.c:419,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:428,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:439,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:468,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:473,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:476,1
    - Dst: g_open
      Src: /src/glib/gmodule/gmodule.c:394,1
    - Dst: g_filename_display_name
      Src: /src/glib/gmodule/gmodule.c:397,1
    - Dst: g_scanner_input_file
      Src: /src/glib/gmodule/gmodule.c:404,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gmodule/gmodule.c:411,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/gmodule/gmodule.c:410,1
    - Dst: g_scanner_destroy
      Src: /src/glib/gmodule/gmodule.c:429,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:438,1
    - Dst: g_clear_pointer
      Src: /src/glib/gmodule/gmodule.c:461,1
    - Dst: close
      Src: /src/glib/gmodule/gmodule.c:462,1
    - Dst: g_filename_display_name
      Src: /src/glib/gmodule/gmodule.c:466,1
    - Dst: g_strdup_printf
      Src: /src/glib/gmodule/gmodule.c:467,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 1
    argNames:
    - libtool_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 479
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 479
    functionName: parse_libtool_archive
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - GUINT_TO_POINTER
    - g_module_set_error_unduped
    - g_path_get_dirname
    - g_filename_display_name
    - g_scanner_get_next_token
    - g_scanner_scope_add_symbol
    - g_scanner_destroy
    - close
    - strcmp
    - g_strconcat
    - g_open
    - g_scanner_eof
    - g_scanner_new
    - g_steal_fd
    - g_strdup_printf
    - g_strdup
    - g_free
    - g_scanner_input_file
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *parse_libtool_archive (const gchar* libtool_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:977,1
    - Dst: _g_module_build_path
      Src: /src/glib/gmodule/gmodule.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - directory
    - module_name
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 980
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 980
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    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_name
      Src: /src/glib/gmodule/gmodule.c:1002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - GModule*
    constantsTouched: []
    func_position:
      end: 1003
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1003
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - module
    argTypes:
    - GModule*
    constantsTouched: []
    func_position:
      end: 944
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 944
    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:
    - 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_debug
    - g_module_supported
    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_run
      Src: /src/glib/gmodule/tests/max-version.c:44,1
    - Dst: g_test_add_func
      Src: /src/glib/gmodule/tests/max-version.c:43,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_run
    - g_test_init
    - g_test_add_func
    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: 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: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:101,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:105,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:152,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:172,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:201,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:93,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:102,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:113,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:130,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:148,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:193,1
    - Dst: plugin_clash_func
      Src: /src/glib/gmodule/tests/module-test.c:180,1
    - Dst: g_test_build_filename
      Src: /src/glib/gmodule/tests/module-test.c:88,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:117,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:121,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:128,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:198,1
    - Dst: plugin_clash_func
      Src: /src/glib/gmodule/tests/module-test.c:176,1
    - Dst: f_b
      Src: /src/glib/gmodule/tests/module-test.c:162,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:106,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:132,1
    - Dst: g_free
      Src: /src/glib/gmodule/tests/module-test.c:203,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:111,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:150,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:154,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:153,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:113,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:137,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/tests/module-test.c:197,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:149,1
    - Dst: gmod_f
      Src: /src/glib/gmodule/tests/module-test.c:189,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:119,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:123,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:124,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:129,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:146,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:186,1
    - Dst: g_free
      Src: /src/glib/gmodule/tests/module-test.c:204,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:144,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:168,1
    - Dst: g_module_supported
      Src: /src/glib/gmodule/tests/module-test.c:85,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:133,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:134,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:96,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:102,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:108,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:133,1
    - Dst: f_b
      Src: /src/glib/gmodule/tests/module-test.c:139,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:160,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:187,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:185,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:110,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:198,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:201,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/tests/module-test.c:205,1
    - Dst: gmod_f
      Src: /src/glib/gmodule/tests/module-test.c:192,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:157,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:94,1
    - Dst: f_a
      Src: /src/glib/gmodule/tests/module-test.c:136,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:167,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:171,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:145,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:140,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:108,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:145,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:190,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/tests/module-test.c:200,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:153,1
    - Dst: f_a
      Src: /src/glib/gmodule/tests/module-test.c:159,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:186,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:181,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:168,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:177,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:163,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:96,1
    - Dst: f_self
      Src: /src/glib/gmodule/tests/module-test.c:156,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:173,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:149,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:172,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:86,1
    - Dst: g_test_build_filename
      Src: /src/glib/gmodule/tests/module-test.c:89,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:119,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:123,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:129,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:169,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 113
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 206
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 206
    functionName: test_module_basics
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached:
    - g_module_close
    - g_module_supported
    - g_test_build_filename
    - g_free
    - g_module_symbol
    - f_self
    - g_module_error
    - g_error
    - g_assert_no_error
    - test_states
    - plugin_clash_func
    - gmod_f
    - f_a
    - g_module_open_full
    - f_b
    linkageType: ''
    returnType: void
    signature: 'static void test_module_basics (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:68,1
    - Dst: compare
      Src: /src/glib/gmodule/tests/module-test.c:69,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: 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:
    - Dst: g_test_summary
      Src: /src/glib/gmodule/tests/module-test.c:216,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:220,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gmodule/tests/module-test.c:219,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/tests/module-test.c:221,1
    - Dst: g_assert_true
      Src: /src/glib/gmodule/tests/module-test.c:221,1
    - Dst: g_close
      Src: /src/glib/gmodule/tests/module-test.c:222,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:225,1
    - Dst: g_assert_error
      Src: /src/glib/gmodule/tests/module-test.c:226,1
    - Dst: g_assert_null
      Src: /src/glib/gmodule/tests/module-test.c:227,1
    - Dst: g_clear_error
      Src: /src/glib/gmodule/tests/module-test.c:228,1
    - Dst: g_unlink
      Src: /src/glib/gmodule/tests/module-test.c:230,1
    - Dst: g_free
      Src: /src/glib/gmodule/tests/module-test.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: test_module_invalid_libtool_archive
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached:
    - g_close
    - g_free
    - g_file_open_tmp
    - g_assert_no_error
    - g_clear_error
    - g_str_has_suffix
    - g_module_open_full
    - g_assert_null
    - g_test_summary
    - g_unlink
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_module_invalid_libtool_archive (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gmodule/tests/module-test.c:238,1
    - Dst: g_test_run
      Src: /src/glib/gmodule/tests/module-test.c:243,1
    - Dst: g_test_add_func
      Src: /src/glib/gmodule/tests/module-test.c:240,1
    - Dst: g_test_add_func
      Src: /src/glib/gmodule/tests/module-test.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: main
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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: 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: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - GModule*
    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: 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: 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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/libmoduletestplugin_a.c:65,1
    - Dst: g_print
      Src: /src/glib/gmodule/tests/libmoduletestplugin_a.c:67,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
    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_print
    - exit
    - g_module_error
    - g_module_symbol
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void gplugin_a_module_func (GModule *module) '
  - 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: 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: fopen
      Src: /src/glib/fuzzing/driver.c:28,1
    - Dst: fseek
      Src: /src/glib/fuzzing/driver.c:30,1
    - Dst: assert
      Src: /src/glib/fuzzing/driver.c:32,1
    - Dst: ftell
      Src: /src/glib/fuzzing/driver.c:31,1
    - Dst: assert
      Src: /src/glib/fuzzing/driver.c:29,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: free
      Src: /src/glib/fuzzing/driver.c:40,1
    - Dst: printf
      Src: /src/glib/fuzzing/driver.c:42,1
    - Dst: fclose
      Src: /src/glib/fuzzing/driver.c:41,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:
    - LLVMFuzzerTestOneInput
    - free
    - malloc
    - assert
    - printf
    - fclose
    - fopen
    - fread
    - fseek
    - ftell
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemoryoutputstream.c:135,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:158,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:219,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:172,1
    - Dst: g_param_spec_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:187,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:188,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:185,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:205,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:157,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gmemoryoutputstream.c:140,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:201,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:203,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:220,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:154,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:156,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:169,1
    - Dst: g_param_spec_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:171,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:173,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:204,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:216,1
    - Dst: P_
      Src: /src/glib/gio/gmemoryoutputstream.c:189,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GMemoryOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 223
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 223
    functionName: g_memory_output_stream_class_init
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_ulong
    - g_param_spec_pointer
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_class_init (GMemoryOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmemoryoutputstream.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - data
    - size
    - realloc_function
    - destroy_function
    argTypes:
    - gpointer
    - gsize
    - GReallocFunc
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 402
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:463,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ostream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 466
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gmemoryoutputstream.c:686,1
    - Dst: g_memory_output_stream_close
      Src: /src/glib/gio/gmemoryoutputstream.c:690,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmemoryoutputstream.c:693,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gmemoryoutputstream.c:687,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gmemoryoutputstream.c:692,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: 694
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 694
    functionName: g_memory_output_stream_close_async
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_new
    - g_task_set_source_tag
    - g_task_return_boolean
    - g_memory_output_stream_close
    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_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 716
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 716
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:701,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmemoryoutputstream.c:703,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gmemoryoutputstream.c:701,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmemoryoutputstream.c:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: g_memory_output_stream_close_finish
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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: 1
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    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_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:433,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ostream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    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:533,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:534,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:533,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:534,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/gmemoryoutputstream.c:534,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/gio/gmemoryoutputstream.c:536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ostream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 543
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 543
    functionName: g_memory_output_stream_steal_as_bytes
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    - g_output_stream_is_closed
    - G_OUTPUT_STREAM
    - g_return_val_if_fail
    - G_IS_MEMORY_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:613,1
    - Dst: MIN
      Src: /src/glib/gio/gmemoryoutputstream.c:648,1
    - Dst: array_resize
      Src: /src/glib/gio/gmemoryoutputstream.c:642,1
    - Dst: g_nearest_pow
      Src: /src/glib/gio/gmemoryoutputstream.c:634,1
    - Dst: MAX
      Src: /src/glib/gio/gmemoryoutputstream.c:641,1
    - Dst: memcpy
      Src: /src/glib/gio/gmemoryoutputstream.c:651,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:661,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:664,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: 667
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 667
    functionName: g_memory_output_stream_write
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - _
    - MIN
    - G_MEMORY_OUTPUT_STREAM
    - g_nearest_pow
    - array_resize
    - MAX
    - g_set_error_literal
    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:816,1
    - Dst: array_resize
      Src: /src/glib/gio/gmemoryoutputstream.c:818,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 824
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 824
    functionName: g_memory_output_stream_truncate
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - array_resize
    - G_MEMORY_OUTPUT_STREAM
    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:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    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:566,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:569,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:582,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:585,1
    - Dst: memset
      Src: /src/glib/gio/gmemoryoutputstream.c:590,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - ostream
    - size
    - allow_partial
    - error
    argTypes:
    - GMemoryOutputStream*
    - gsize
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 599
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 599
    functionName: array_resize
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - memset
    - g_set_error_literal
    - _
    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: 675
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 675
    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: 830
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 830
    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:838,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gmemoryoutputstream.c:840,1
    - Dst: g_pollable_source_new_full
      Src: /src/glib/gio/gmemoryoutputstream.c:839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - cancellable
    argTypes:
    - GPollableOutputStream*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 843
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 843
    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_memory_output_stream_new
      Src: /src/glib/gio/gmemoryoutputstream.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:273,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:279,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:288,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:282,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:285,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:291,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gmemoryoutputstream.c:294,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 297
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 297
    functionName: g_memory_output_stream_get_property
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_pointer
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_ulong
    - G_MEMORY_OUTPUT_STREAM
    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_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:482,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ostream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:305,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemoryoutputstream.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: g_memory_output_stream_finalize
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableOutputStreamInterface*
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:735,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:773,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:763,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:760,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:770,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:785,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:788,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: 795
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 795
    functionName: g_memory_output_stream_seek
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - _
    - G_MEMORY_OUTPUT_STREAM
    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:241,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:256,1
    - Dst: g_value_get_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:250,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:247,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:253,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gmemoryoutputstream.c:259,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: g_memory_output_stream_set_property
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_pointer
    - g_value_get_ulong
    - G_MEMORY_OUTPUT_STREAM
    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:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 808
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 808
    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_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:508,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:509,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:509,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:508,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/gmemoryoutputstream.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ostream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 515
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 515
    functionName: g_memory_output_stream_steal_data
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_output_stream_is_closed
    - g_return_val_if_fail
    - G_OUTPUT_STREAM
    - G_IS_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_memory_output_stream_steal_data (GMemoryOutputStream *ostream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unref_func
      Src: /src/glib/gio/gdbusintrospection.c:245,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - array
    - unref_func
    argTypes:
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    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:310,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:316,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:315,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:314,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:312,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:317,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusMethodInfo*
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: g_dbus_method_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_dec_and_test
    - g_free
    - free_null_terminated_array
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_info_unref (GDBusMethodInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:943,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:944,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:946,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - data
    - out_num_elements
    argTypes:
    - ParseData*
    - guint*
    constantsTouched: []
    func_position:
      end: 948
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 948
    functionName: parse_data_steal_methods
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusMethodInfo**
    signature: 'static GDBusMethodInfo **parse_data_steal_methods (ParseData *data,
      guint *out_num_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1029,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1032
    functionName: parse_data_free_annotations
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_foreach
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_annotations (ParseData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1039,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1042
    functionName: parse_data_free_args
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_foreach
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_args (ParseData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:1984,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:1991,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:1988,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:1989,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:1985,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:1992,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:1996,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusintrospection.c:2002,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - info
    - name
    argTypes:
    - GDBusInterfaceInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2013
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 2013
    functionName: g_dbus_interface_info_lookup_signal
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_strcmp0
    - G_UNLOCK
    - g_hash_table_lookup
    - G_LIKELY
    linkageType: ''
    returnType: GDBusSignalInfo*
    signature: 'GDBusSignalInfo *g_dbus_interface_info_lookup_signal (GDBusInterfaceInfo
      *info, const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1049,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1052
    functionName: parse_data_free_out_args
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_foreach
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_out_args (ParseData *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1789,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/gio/gdbusintrospection.c:1800,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/gio/gdbusintrospection.c:1795,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusintrospection.c:1802,1
    - Dst: parse_data_new
      Src: /src/glib/gio/gdbusintrospection.c:1794,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/gio/gdbusintrospection.c:1806,1
    - Dst: parse_data_steal_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1809,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusintrospection.c:1815,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbusintrospection.c:1824,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:1830,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/gio/gdbusintrospection.c:1835,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:1833,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - xml_data
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1838
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1838
    functionName: g_dbus_node_info_new_for_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - strlen
    - g_set_error
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - parse_data_steal_nodes
    - g_new0
    - g_free
    - g_markup_parse_context_new
    - g_markup_parse_context_end_parse
    - g_dbus_node_info_unref
    - parse_data_new
    linkageType: ''
    returnType: GDBusNodeInfo*
    signature: 'GDBusNodeInfo *g_dbus_node_info_new_for_xml (const gchar *xml_data,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1165,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - create_new
    argTypes:
    - ParseData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1167
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1167
    functionName: parse_data_get_interface
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_new0
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *parse_data_get_interface (ParseData *data,
      gboolean create_new) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:229,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusAnnotationInfo*
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: g_dbus_annotation_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_inc
    linkageType: ''
    returnType: GDBusAnnotationInfo*
    signature: 'GDBusAnnotationInfo *g_dbus_annotation_info_ref (GDBusAnnotationInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:798,1
    - Dst: g_dbus_property_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:818,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:803,1
    - Dst: g_dbus_signal_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:813,1
    - Dst: g_dbus_method_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:808,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:822,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusInterfaceInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 823
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 823
    functionName: g_dbus_interface_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_property_info_generate_xml
    - g_string_append_printf
    - g_dbus_signal_info_generate_xml
    - g_dbus_method_info_generate_xml
    - g_dbus_annotation_info_generate_xml
    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:1015,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1016,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:1018,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - data
    - out_num_elements
    argTypes:
    - ParseData*
    - guint*
    constantsTouched: []
    func_position:
      end: 1020
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1020
    functionName: parse_data_steal_nodes
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusNodeInfo**
    signature: 'static GDBusNodeInfo **parse_data_steal_nodes (ParseData *data, guint
      *out_num_elements) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/gio/gdbusintrospection.c:1746,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusintrospection.c:1748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - context
    - error
    - user_data
    argTypes:
    - GMarkupParseContext*
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1751
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1751
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:979,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:982,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:980,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - data
    - out_num_elements
    argTypes:
    - ParseData*
    - guint*
    constantsTouched: []
    func_position:
      end: 984
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 984
    functionName: parse_data_steal_properties
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - 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_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:209,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusArgInfo*
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: g_dbus_arg_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_inc
    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:286,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:288,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:290,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:292,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:291,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusArgInfo*
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: g_dbus_arg_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_dec_and_test
    - g_free
    - free_null_terminated_array
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_arg_info_unref (GDBusArgInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:539,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: 552
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 552
    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_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:659,1
    - Dst: g_dbus_arg_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:677,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:672,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:665,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:669,1
    - Dst: g_dbus_arg_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:683,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:688,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusMethodInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 690
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 690
    functionName: g_dbus_method_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_annotation_info_generate_xml
    - g_string_append
    - g_string_append_printf
    - g_dbus_arg_info_generate_xml
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_method_info_generate_xml (GDBusMethodInfo *info,
      guint indent, GString *string_builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1120,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - create_new
    argTypes:
    - ParseData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1122
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1122
    functionName: parse_data_get_arg
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_new0
    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:1138,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - create_new
    argTypes:
    - ParseData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1140
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1140
    functionName: parse_data_get_method
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_new0
    linkageType: ''
    returnType: GDBusMethodInfo*
    signature: 'static GDBusMethodInfo *parse_data_get_method (ParseData *data, gboolean
      create_new) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1209,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1219,1
    - Dst: g_slist_free
      Src: /src/glib/gio/gdbusintrospection.c:1212,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1218,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1210,1
    - Dst: g_slist_free
      Src: /src/glib/gio/gdbusintrospection.c:1221,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1227,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1228,1
    - Dst: g_slist_free
      Src: /src/glib/gio/gdbusintrospection.c:1230,1
    - Dst: parse_data_free_args
      Src: /src/glib/gio/gdbusintrospection.c:1233,1
    - Dst: parse_data_free_methods
      Src: /src/glib/gio/gdbusintrospection.c:1235,1
    - Dst: parse_data_free_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1238,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:1242,1
    - Dst: parse_data_free_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1240,1
    - Dst: parse_data_free_properties
      Src: /src/glib/gio/gdbusintrospection.c:1237,1
    - Dst: parse_data_free_out_args
      Src: /src/glib/gio/gdbusintrospection.c:1234,1
    - Dst: parse_data_free_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1239,1
    - Dst: parse_data_free_signals
      Src: /src/glib/gio/gdbusintrospection.c:1236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1243
    functionName: parse_data_free
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - parse_data_free_methods
    - g_free
    - g_ptr_array_free
    - parse_data_free_out_args
    - g_ptr_array_foreach
    - parse_data_free_annotations
    - parse_data_free_properties
    - g_slist_free
    - parse_data_free_args
    - parse_data_free_nodes
    - parse_data_free_signals
    - parse_data_free_interfaces
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free (ParseData *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:566,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: 578
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 578
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:699,1
    - Dst: g_dbus_arg_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:717,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:705,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:709,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:712,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:722,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusSignalInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 724
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 724
    functionName: g_dbus_signal_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_annotation_info_generate_xml
    - g_string_append
    - g_string_append_printf
    - g_dbus_arg_info_generate_xml
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_signal_info_generate_xml (GDBusSignalInfo *info,
      guint indent, GString *string_builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1129,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - create_new
    argTypes:
    - ParseData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1131
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1131
    functionName: parse_data_get_out_arg
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_new0
    linkageType: ''
    returnType: GDBusArgInfo*
    signature: 'static GDBusArgInfo *parse_data_get_out_arg (ParseData *data, gboolean
      create_new) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1147,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - create_new
    argTypes:
    - ParseData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1149
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1149
    functionName: parse_data_get_signal
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_new0
    linkageType: ''
    returnType: GDBusSignalInfo*
    signature: 'static GDBusSignalInfo *parse_data_get_signal (ParseData *data, gboolean
      create_new) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusintrospection.c:1897,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusintrospection.c:1899,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusintrospection.c:1901,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusintrospection.c:1900,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusintrospection.c:1898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - InfoCacheEntry*
    constantsTouched: []
    func_position:
      end: 1902
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1902
    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:189,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusPropertyInfo*
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: g_dbus_property_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_inc
    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:262,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:267,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:268,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:266,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:264,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusAnnotationInfo*
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: g_dbus_annotation_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_dec_and_test
    - g_free
    - free_null_terminated_array
    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:335,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:337,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:340,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:339,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:341,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusSignalInfo*
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: g_dbus_signal_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_dec_and_test
    - g_free
    - free_null_terminated_array
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_signal_info_unref (GDBusSignalInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusintrospection.c:1865,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - annotations
    - name
    argTypes:
    - GDBusAnnotationInfo**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1874
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1874
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:2038,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:2042,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:2039,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:2043,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:2045,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:2046,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:2050,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusintrospection.c:2056,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - info
    - name
    argTypes:
    - GDBusInterfaceInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2067
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2067
    functionName: g_dbus_interface_info_lookup_property
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_strcmp0
    - G_UNLOCK
    - g_hash_table_lookup
    - G_LIKELY
    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:2184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - info
    - name
    argTypes:
    - GDBusNodeInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2195
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2195
    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:169,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusSignalInfo*
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: g_dbus_signal_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_inc
    linkageType: ''
    returnType: GDBusSignalInfo*
    signature: 'GDBusSignalInfo *g_dbus_signal_info_ref (GDBusSignalInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:889,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:892,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:890,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - data
    - out_num_elements
    argTypes:
    - ParseData*
    - guint*
    constantsTouched: []
    func_position:
      end: 894
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 894
    functionName: parse_data_steal_annotations
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusAnnotationInfo**
    signature: 'static GDBusAnnotationInfo **parse_data_steal_annotations (ParseData
      *data, guint *out_num_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1059,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1062
    functionName: parse_data_free_methods
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_foreach
    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:1079,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1082
    functionName: parse_data_free_properties
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_foreach
    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:1174,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - create_new
    argTypes:
    - ParseData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1176
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1176
    functionName: parse_data_get_node
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_new0
    linkageType: ''
    returnType: GDBusNodeInfo*
    signature: 'static GDBusNodeInfo *parse_data_get_node (ParseData *data, gboolean
      create_new) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_data_steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1591
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1591
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1069,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1072
    functionName: parse_data_free_signals
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_foreach
    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:1089,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    functionName: parse_data_free_interfaces
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_foreach
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_interfaces (ParseData *data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_remove
      Src: /src/glib/gio/gdbusintrospection.c:1620,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1634,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1656,1
    - Dst: parse_data_get_annotation
      Src: /src/glib/gio/gdbusintrospection.c:1717,1
    - Dst: parse_data_free_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1730,1
    - Dst: parse_data_get_arg
      Src: /src/glib/gio/gdbusintrospection.c:1698,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1703,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gdbusintrospection.c:1732,1
    - Dst: g_dbus_annotation_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1716,1
    - Dst: parse_data_steal_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1613,1
    - Dst: parse_data_steal_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1612,1
    - Dst: parse_data_free_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1622,1
    - Dst: parse_data_steal_methods
      Src: /src/glib/gio/gdbusintrospection.c:1643,1
    - Dst: parse_data_steal_signals
      Src: /src/glib/gio/gdbusintrospection.c:1644,1
    - Dst: parse_data_steal_properties
      Src: /src/glib/gio/gdbusintrospection.c:1645,1
    - Dst: parse_data_get_interface
      Src: /src/glib/gio/gdbusintrospection.c:1648,1
    - Dst: g_dbus_property_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1688,1
    - Dst: parse_data_get_property
      Src: /src/glib/gio/gdbusintrospection.c:1689,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1693,1
    - Dst: parse_data_get_out_arg
      Src: /src/glib/gio/gdbusintrospection.c:1698,1
    - Dst: g_dbus_arg_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1697,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1605,1
    - Dst: parse_data_free_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1618,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gdbusintrospection.c:1624,1
    - Dst: parse_data_get_node
      Src: /src/glib/gio/gdbusintrospection.c:1627,1
    - Dst: g_dbus_method_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1666,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1671,1
    - Dst: parse_data_steal_out_args
      Src: /src/glib/gio/gdbusintrospection.c:1678,1
    - Dst: g_dbus_signal_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1680,1
    - Dst: parse_data_get_signal
      Src: /src/glib/gio/gdbusintrospection.c:1681,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1684,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gdbusintrospection.c:1712,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1701,1
    - Dst: parse_data_free_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1710,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1707,1
    - Dst: g_dbus_node_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1626,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1631,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1653,1
    - Dst: g_dbus_interface_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1647,1
    - Dst: parse_data_steal_args
      Src: /src/glib/gio/gdbusintrospection.c:1663,1
    - Dst: parse_data_steal_out_args
      Src: /src/glib/gio/gdbusintrospection.c:1664,1
    - Dst: parse_data_get_method
      Src: /src/glib/gio/gdbusintrospection.c:1667,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1673,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1686,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1695,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: 1734
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1734
    functionName: parser_end_element
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - parse_data_get_property
    - parse_data_get_interface
    - parse_data_get_node
    - parse_data_steal_nodes
    - g_dbus_signal_info_set
    - parse_data_get_out_arg
    - parse_data_free_annotations
    - g_dbus_annotation_info_set
    - g_dbus_interface_info_set
    - strcmp
    - parse_data_get_method
    - parse_data_steal_signals
    - parse_data_steal_args
    - g_slist_remove
    - parse_data_get_signal
    - parse_data_get_annotation
    - parse_data_steal_interfaces
    - g_dbus_method_info_set
    - parse_data_steal_methods
    - parse_data_steal_properties
    - steal_annotations
    - parse_data_get_arg
    - parse_data_free_interfaces
    - g_dbus_property_info_set
    - g_dbus_arg_info_set
    - parse_data_steal_out_args
    - parse_data_free_nodes
    - g_dbus_node_info_set
    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:149,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusMethodInfo*
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: g_dbus_method_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_inc
    linkageType: ''
    returnType: GDBusMethodInfo*
    signature: 'GDBusMethodInfo *g_dbus_method_info_ref (GDBusMethodInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:845,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:855,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:858,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:851,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:847,1
    - Dst: g_dbus_interface_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:863,1
    - Dst: g_dbus_node_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:868,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:872,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusNodeInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 874
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 874
    functionName: g_dbus_node_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_string_append_printf
    - g_dbus_annotation_info_generate_xml
    - g_dbus_interface_info_generate_xml
    - g_dbus_node_info_generate_xml
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_node_info_generate_xml (GDBusNodeInfo *info, guint indent,
      GString *string_builder) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1274,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1430,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1409,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1477,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1407,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1554,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1541,1
    - Dst: parse_data_get_out_arg
      Src: /src/glib/gio/gdbusintrospection.c:1525,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1545,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1485,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gdbusintrospection.c:1577,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1322,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1426,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:1510,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusintrospection.c:1489,1
    - Dst: g_dbus_node_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1293,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1403,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1456,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1536,1
    - Dst: parse_data_steal_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1303,1
    - Dst: g_dbus_method_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1363,1
    - Dst: parse_data_get_signal
      Src: /src/glib/gio/gdbusintrospection.c:1394,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1457,1
    - Dst: parse_data_get_arg
      Src: /src/glib/gio/gdbusintrospection.c:1516,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1500,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1542,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1498,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1458,1
    - Dst: g_dbus_property_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1442,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1467,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1311,1
    - Dst: parse_data_get_property
      Src: /src/glib/gio/gdbusintrospection.c:1443,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1451,1
    - Dst: parse_data_get_annotation
      Src: /src/glib/gio/gdbusintrospection.c:1564,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1283,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1547,1
    - Dst: g_markup_parse_context_get_element_stack
      Src: /src/glib/gio/gdbusintrospection.c:1269,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gdbusintrospection.c:1301,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1313,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1353,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1374,1
    - Dst: g_dbus_arg_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1524,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusintrospection.c:1434,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1313,1
    - Dst: parse_data_get_interface
      Src: /src/glib/gio/gdbusintrospection.c:1333,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1428,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1543,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1276,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1376,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1483,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1378,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1538,1
    - Dst: g_dbus_interface_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1332,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1315,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1376,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1272,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1342,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1539,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1460,1
    - Dst: g_dbus_arg_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1515,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1544,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1540,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:1533,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusintrospection.c:1508,1
    - Dst: parse_data_get_node
      Src: /src/glib/gio/gdbusintrospection.c:1294,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1344,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1385,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1416,1
    - Dst: g_dbus_annotation_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1563,1
    - Dst: g_dbus_signal_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1393,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1407,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1274,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gdbusintrospection.c:1305,1
    - Dst: parse_data_steal_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1307,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1344,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1346,1
    - Dst: parse_data_get_method
      Src: /src/glib/gio/gdbusintrospection.c:1364,1
    - Dst: parse_data_steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1579,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: 1583
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1583
    functionName: parser_start_element
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - parse_data_get_property
    - parse_data_get_interface
    - parse_data_get_node
    - g_markup_collect_attributes
    - parse_data_steal_nodes
    - g_dbus_signal_info_set
    - parse_data_get_out_arg
    - g_markup_parse_context_get_element_stack
    - g_dbus_annotation_info_set
    - g_slist_prepend
    - g_dbus_interface_info_set
    - g_slist_length
    - strcmp
    - g_set_error_literal
    - parse_data_get_method
    - parse_data_get_annotation
    - parse_data_steal_interfaces
    - g_dbus_method_info_set
    - g_strdup_printf
    - parse_data_get_arg
    - g_set_error
    - g_strdup
    - g_free
    - g_dbus_property_info_set
    - parse_data_steal_annotations
    - g_dbus_arg_info_set
    - parse_data_get_signal
    - g_dbus_node_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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:1930,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:1931,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:1937,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:1934,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:1935,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:1938,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:1942,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusintrospection.c:1948,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - info
    - name
    argTypes:
    - GDBusInterfaceInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1959
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1959
    functionName: g_dbus_interface_info_lookup_method
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_strcmp0
    - G_UNLOCK
    - g_hash_table_lookup
    - G_LIKELY
    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:129,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: g_dbus_interface_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_inc
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'GDBusInterfaceInfo *g_dbus_interface_info_ref (GDBusInterfaceInfo
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:383,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:387,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:385,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:389,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:388,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:390,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:391,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: g_dbus_interface_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_dec_and_test
    - g_free
    - free_null_terminated_array
    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:433,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:436,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: 440
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 440
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:453,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:456,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: 460
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 460
    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:495,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: 502
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 502
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_printf_escaped
      Src: /src/glib/gio/gdbusintrospection.c:590,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:599,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:603,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:595,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:594,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:606,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusAnnotationInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 614
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 614
    functionName: g_dbus_annotation_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_free
    - g_markup_printf_escaped
    - g_string_append_printf
    - g_dbus_annotation_info_generate_xml
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_annotation_info_generate_xml (GDBusAnnotationInfo
      *info, guint indent, GString *string_builder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusintrospection.c:749,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:764,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:767,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:752,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:760,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:771,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusPropertyInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 774
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 774
    functionName: g_dbus_property_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_annotation_info_generate_xml
    - g_string_append
    - g_string_append_printf
    - 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:907,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:910,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:908,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - data
    - out_num_elements
    argTypes:
    - ParseData*
    - guint*
    constantsTouched: []
    func_position:
      end: 912
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 912
    functionName: parse_data_steal_args
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusArgInfo**
    signature: 'static GDBusArgInfo **parse_data_steal_args (ParseData *data, guint
      *out_num_elements) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:473,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: 483
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 483
    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:515,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:521,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: 525
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 525
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:624,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:640,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:632,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:629,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:636,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:643,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:647,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: 650
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 650
    functionName: g_dbus_arg_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_annotation_info_generate_xml
    - g_string_append
    - g_string_append_printf
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_arg_info_generate_xml (GDBusArgInfo *info, guint
      indent, const gchar *extra_attributes, GString *string_builder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:925,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:926,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:928,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - data
    - out_num_elements
    argTypes:
    - ParseData*
    - guint*
    constantsTouched: []
    func_position:
      end: 930
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 930
    functionName: parse_data_steal_out_args
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusArgInfo**
    signature: 'static GDBusArgInfo **parse_data_steal_out_args (ParseData *data,
      guint *out_num_elements) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:961,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:964,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:962,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - data
    - out_num_elements
    argTypes:
    - ParseData*
    - guint*
    constantsTouched: []
    func_position:
      end: 966
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 966
    functionName: parse_data_steal_signals
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - 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:997,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:998,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:1000,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - data
    - out_num_elements
    argTypes:
    - ParseData*
    - guint*
    constantsTouched: []
    func_position:
      end: 1002
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1002
    functionName: parse_data_steal_interfaces
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_free
    - 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:1111,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - create_new
    argTypes:
    - ParseData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1113
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1113
    functionName: parse_data_get_annotation
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_new0
    linkageType: ''
    returnType: GDBusAnnotationInfo*
    signature: 'static GDBusAnnotationInfo *parse_data_get_annotation (ParseData *data,
      gboolean create_new) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1156,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - create_new
    argTypes:
    - ParseData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1158
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1158
    functionName: parse_data_get_property
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_new0
    linkageType: ''
    returnType: GDBusPropertyInfo*
    signature: 'static GDBusPropertyInfo *parse_data_get_property (ParseData *data,
      gboolean create_new) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:109,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusNodeInfo*
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: g_dbus_node_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_inc
    linkageType: ''
    returnType: GDBusNodeInfo*
    signature: 'GDBusNodeInfo *g_dbus_node_info_ref (GDBusNodeInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:359,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:365,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:364,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:363,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:361,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusPropertyInfo*
    constantsTouched: []
    func_position:
      end: 368
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 368
    functionName: g_dbus_property_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_dec_and_test
    - g_free
    - free_null_terminated_array
    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:409,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:413,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:411,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:414,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:415,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:416,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusNodeInfo*
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: g_dbus_node_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_dec_and_test
    - g_free
    - free_null_terminated_array
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_node_info_unref (GDBusNodeInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1099,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1102
    functionName: parse_data_free_nodes
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_foreach
    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:1185,1
    - Dst: parse_data_steal_out_args
      Src: /src/glib/gio/gdbusintrospection.c:1190,1
    - Dst: parse_data_steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1188,1
    - Dst: parse_data_steal_args
      Src: /src/glib/gio/gdbusintrospection.c:1189,1
    - Dst: parse_data_steal_methods
      Src: /src/glib/gio/gdbusintrospection.c:1191,1
    - Dst: parse_data_steal_signals
      Src: /src/glib/gio/gdbusintrospection.c:1192,1
    - Dst: parse_data_steal_properties
      Src: /src/glib/gio/gdbusintrospection.c:1193,1
    - Dst: parse_data_steal_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1194,1
    - Dst: parse_data_steal_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1198
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1198
    functionName: parse_data_new
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - parse_data_steal_args
    - g_new0
    - parse_data_steal_nodes
    - parse_data_steal_annotations
    - parse_data_steal_interfaces
    - parse_data_steal_methods
    - parse_data_steal_properties
    - parse_data_steal_out_args
    - parse_data_steal_signals
    linkageType: ''
    returnType: ParseData*
    signature: 'static ParseData *parse_data_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:2094,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusintrospection.c:2103,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusintrospection.c:2105,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusintrospection.c:2096,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:2097,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusintrospection.c:2106,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusintrospection.c:2107,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusintrospection.c:2109,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusintrospection.c:2111,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusintrospection.c:2113,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusintrospection.c:2114,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:2116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2088
    functionDepth: 0
    functionLinenumber: 2088
    functionLinenumberEnd: 2117
    functionName: g_dbus_interface_info_cache_build
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - g_hash_table_new
    - g_hash_table_new_full
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_info_cache_build (GDBusInterfaceInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:2134,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:2141,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusintrospection.c:2137,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusintrospection.c:2142,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusintrospection.c:2135,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusintrospection.c:2144,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusintrospection.c:2150,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:2154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 2155
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2155
    functionName: g_dbus_interface_info_cache_release
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - G_LOCK
    - g_hash_table_remove
    - G_UNLOCK
    - g_warning
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_info_cache_release (GDBusInterfaceInfo *info) '
  - 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: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:338,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:339,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:362,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:363,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:395,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:406,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:401,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:394,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:400,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:407,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:348,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:349,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:369,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:370,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:375,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:376,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:412,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:413,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:382,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:389,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:388,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:383,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 3
    argNames:
    - data
    - atype
    - error
    argTypes:
    - guint8*
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 419
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 419
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:785,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:795,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:789,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:794,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gsocks5proxy.c:789,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:803,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:805,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:809,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:813,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 815
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 815
    functionName: auth_msg_write_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_finish
    - g_free
    - do_read
    - g_malloc0
    - do_write
    - g_object_unref
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: "static void auth_msg_write_cb (GObject *source,\t\t GAsyncResult *result,\t\t
      gpointer user_data) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:935,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:945,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:939,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:944,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:939,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gsocks5proxy.c:951,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:955,1
    - Dst: parse_connect_reply
      Src: /src/glib/gio/gsocks5proxy.c:965,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:967,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:968,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:989,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:977,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:995,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:983,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 997
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 997
    functionName: connect_reply_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - do_read
    - g_object_unref
    - g_input_stream_read_finish
    - parse_connect_reply
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_return_new_error
    - g_task_get_task_data
    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: 1091
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1091
    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: 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: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_address_get_destination_hostname
      Src: /src/glib/gio/gsocks5proxy.c:436,1
    - Dst: g_proxy_address_get_username
      Src: /src/glib/gio/gsocks5proxy.c:438,1
    - Dst: g_proxy_address_get_password
      Src: /src/glib/gio/gsocks5proxy.c:439,1
    - Dst: g_proxy_address_get_destination_port
      Src: /src/glib/gio/gsocks5proxy.c:437,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gsocks5proxy.c:480,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:513,1
    - Dst: set_connect_msg
      Src: /src/glib/gio/gsocks5proxy.c:498,1
    - Dst: parse_connect_reply
      Src: /src/glib/gio/gsocks5proxy.c:517,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:537,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocks5proxy.c:548,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gsocks5proxy.c:443,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gsocks5proxy.c:444,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:463,1
    - Dst: set_auth_msg
      Src: /src/glib/gio/gsocks5proxy.c:475,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:523,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:484,1
    - Dst: set_nego_msg
      Src: /src/glib/gio/gsocks5proxy.c:451,1
    - Dst: parse_nego_reply
      Src: /src/glib/gio/gsocks5proxy.c:467,1
    - Dst: check_auth_status
      Src: /src/glib/gio/gsocks5proxy.c:488,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:530,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gsocks5proxy.c:453,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gsocks5proxy.c:503,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:540,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 59
    argCount: 5
    argNames:
    - proxy
    - io_stream
    - proxy_address
    - cancellable
    - error
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 552
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 552
    functionName: g_socks5_proxy_connect
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - set_connect_msg
    - g_proxy_address_get_username
    - g_object_ref
    - g_io_stream_get_output_stream
    - g_proxy_address_get_password
    - g_proxy_address_get_destination_hostname
    - set_auth_msg
    - set_nego_msg
    - check_auth_status
    - parse_nego_reply
    - parse_connect_reply
    - g_input_stream_read_all
    - g_proxy_address_get_destination_port
    - g_output_stream_write_all
    - g_io_stream_get_input_stream
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:823,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:833,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:832,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:827,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:827,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gsocks5proxy.c:839,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:843,1
    - Dst: check_auth_status
      Src: /src/glib/gio/gsocks5proxy.c:851,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:853,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:854,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:862,1
    - Dst: send_connect_msg
      Src: /src/glib/gio/gsocks5proxy.c:858,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 864
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 864
    functionName: auth_reply_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - do_read
    - g_object_unref
    - g_input_stream_read_finish
    - check_auth_status
    - send_connect_msg
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_return_new_error
    - g_task_get_task_data
    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:1005,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:1009,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1015,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:1014,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:1009,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gsocks5proxy.c:1021,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1025,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:1032,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1033
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1033
    functionName: connect_addr_len_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - do_read
    - g_object_unref
    - g_input_stream_read_finish
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_return_new_error
    - g_task_get_task_data
    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: 1100
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1100
    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: 1109
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1109
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/gio/gsocks5proxy.c:280,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:289,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/gsocks5proxy.c:282,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gsocks5proxy.c:289,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocks5proxy.c:283,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:292,1
    - Dst: strlen
      Src: /src/glib/gio/gsocks5proxy.c:296,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocks5proxy.c:300,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:301,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:308,1
    - Dst: g_htons
      Src: /src/glib/gio/gsocks5proxy.c:313,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - msg
    - hostname
    - port
    - error
    argTypes:
    - guint8*
    - gchar*
    - guint16
    - GError**
    constantsTouched: []
    func_position:
      end: 319
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 319
    functionName: set_connect_msg
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_set_error
    - _
    - g_inet_address_to_bytes
    - g_inet_address_new_from_string
    - g_object_unref
    - g_hostname_is_ip_address
    - g_htons
    - g_inet_address_get_native_size
    linkageType: ''
    returnType: gint
    signature: "static gint set_connect_msg (guint8 *msg,\t\t const gchar *hostname,\t\t
      guint16 port,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gsocks5proxy.c:623,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gsocks5proxy.c:627,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocks5proxy.c:628,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gsocks5proxy.c:624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - callback
    - task
    - data
    argTypes:
    - GAsyncReadyCallback
    - GTask*
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 630
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 630
    functionName: do_write
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_async
    - g_task_get_priority
    - g_task_get_cancellable
    - g_io_stream_get_output_stream
    linkageType: ''
    returnType: void
    signature: 'static void do_write (GAsyncReadyCallback callback, GTask *task, ConnectAsyncData
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:869,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:883,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:872,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:874,1
    - Dst: set_connect_msg
      Src: /src/glib/gio/gsocks5proxy.c:875,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:884,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:888,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 889
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 889
    functionName: send_connect_msg
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - set_connect_msg
    - g_free
    - g_malloc0
    - do_write
    - g_object_unref
    - g_task_return_error
    - g_task_get_task_data
    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:1041,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:1045,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:1045,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1051,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:1050,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gsocks5proxy.c:1057,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1061,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsocks5proxy.c:1069,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocks5proxy.c:1069,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1070,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:1075,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1077
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1077
    functionName: connect_addr_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - do_read
    - g_object_unref
    - g_input_stream_read_finish
    - g_task_return_pointer
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_return_new_error
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: "static void connect_addr_read_cb (GObject *source,\t\t GAsyncResult
      *result,\t\t gpointer user_data) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:153,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: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:184,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsocks5proxy.c:643,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocks5proxy.c:644,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocks5proxy.c:647,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocks5proxy.c:646,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsocks5proxy.c:648,1
    - Dst: g_object_get
      Src: /src/glib/gio/gsocks5proxy.c:650,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocks5proxy.c:650,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:657,1
    - Dst: set_nego_msg
      Src: /src/glib/gio/gsocks5proxy.c:658,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:662,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: 663
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 663
    functionName: g_socks5_proxy_connect_async
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_slice_new0
    - g_task_set_task_data
    - g_malloc0
    - do_write
    - g_task_new
    - g_task_set_source_tag
    - set_nego_msg
    - g_object_get
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:897,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gsocks5proxy.c:901,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:901,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:907,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:906,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:915,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:917,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:921,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:925,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 927
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 927
    functionName: connect_msg_write_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_finish
    - g_free
    - do_read
    - g_malloc0
    - do_write
    - g_object_unref
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_get_task_data
    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:1084,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocks5proxy.c:1084,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - proxy
    - result
    - error
    argTypes:
    - GProxy*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1085
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1085
    functionName: g_socks5_proxy_connect_finish
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GIOStream*
    signature: "static GIOStream *g_socks5_proxy_connect_finish (GProxy *proxy,\t\t\t
      GAsyncResult *result,\t\t\t GError **error) "
  - 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: gint
    signature: 'static gint set_nego_msg (guint8 *msg, gboolean has_auth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:250,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - guint8*
    - GError**
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 256
    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:596,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:601,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:599,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:598,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:600,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsocks5proxy.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 604
    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:672,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:682,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:681,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:676,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gsocks5proxy.c:676,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:690,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:692,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:696,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:700,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 702
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 702
    functionName: nego_msg_write_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_finish
    - g_free
    - do_read
    - g_malloc0
    - do_write
    - g_object_unref
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: "static void nego_msg_write_cb (GObject *source,\t\t GAsyncResult *res,\t\t
      gpointer user_data) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gsocks5proxy.c:213,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:220,1
    - Dst: strlen
      Src: /src/glib/gio/gsocks5proxy.c:216,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:221,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:230,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:236,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - msg
    - username
    - password
    - error
    argTypes:
    - guint8*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 241
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 241
    functionName: set_auth_msg
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gint
    signature: "static gint set_auth_msg (guint8\t *msg,\t const gchar *username,\t
      const gchar *password,\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gsocks5proxy.c:610,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gsocks5proxy.c:611,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocks5proxy.c:615,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gsocks5proxy.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - callback
    - task
    - data
    argTypes:
    - GAsyncReadyCallback
    - GTask*
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: do_read
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_task_get_priority
    - g_input_stream_read_async
    - g_task_get_cancellable
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void do_read (GAsyncReadyCallback callback, GTask *task, ConnectAsyncData
      *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:710,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:719,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:720,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:714,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:714,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gsocks5proxy.c:726,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:730,1
    - Dst: parse_nego_reply
      Src: /src/glib/gio/gsocks5proxy.c:741,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:743,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:744,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:750,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:775,1
    - Dst: send_connect_msg
      Src: /src/glib/gio/gsocks5proxy.c:770,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:761,1
    - Dst: set_auth_msg
      Src: /src/glib/gio/gsocks5proxy.c:753,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:752,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:762,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:766,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 777
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 777
    functionName: nego_reply_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_free
    - do_read
    - g_malloc0
    - do_write
    - g_object_unref
    - set_auth_msg
    - g_input_stream_read_finish
    - parse_nego_reply
    - send_connect_msg
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_return_new_error
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: "static void nego_reply_read_cb (GObject *source,\t\t GAsyncResult
      *res,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/gfileattribute.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    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:257,1
    - Dst: _g_file_attribute_value_set
      Src: /src/glib/gio/gfileattribute.c:261,1
    - Dst: g_new
      Src: /src/glib/gio/gfileattribute.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: _g_file_attribute_value_dup
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_new
    - _g_file_attribute_value_set
    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:335,1
    - Dst: g_string_new
      Src: /src/glib/gio/gfileattribute.c:343,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:340,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfileattribute.c:348,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfileattribute.c:346,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfileattribute.c:350,1
    - Dst: g_string_free
      Src: /src/glib/gio/gfileattribute.c:351,1
    - Dst: escape_byte_string
      Src: /src/glib/gio/gfileattribute.c:354,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:357,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:360,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:366,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:381,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:369,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:363,1
    - Dst: g_type_name_from_instance
      Src: /src/glib/gio/gfileattribute.c:372,1
    - Dst: g_warning
      Src: /src/glib/gio/gfileattribute.c:380,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:377,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:372,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 386
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 386
    functionName: _g_file_attribute_value_as_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_new
    - g_string_append
    - g_type_name_from_instance
    - g_warning
    - g_strdup_printf
    - escape_byte_string
    - g_string_free
    - g_return_val_if_fail
    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:774,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:777,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:775,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileattribute.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - attr
    - obj
    argTypes:
    - GFileAttributeValue*
    - GObject*
    constantsTouched: []
    func_position:
      end: 780
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 780
    functionName: _g_file_attribute_value_set_object
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - _g_file_attribute_value_clear
    - 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: 242
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 242
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:632,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:633,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:637,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - attr
    - string
    argTypes:
    - GFileAttributeValue*
    - char*
    constantsTouched: []
    func_position:
      end: 638
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 638
    functionName: _g_file_attribute_value_set_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _g_file_attribute_value_clear
    - 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:755,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - gint64
    constantsTouched: []
    func_position:
      end: 760
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 760
    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:884,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gfileattribute.c:887,1
    - Dst: g_array_free
      Src: /src/glib/gio/gfileattribute.c:891,1
    - Dst: g_free
      Src: /src/glib/gio/gfileattribute.c:890,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:885,1
    - Dst: g_free
      Src: /src/glib/gio/gfileattribute.c:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - list
    argTypes:
    - GFileAttributeInfoList*
    constantsTouched: []
    func_position:
      end: 894
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 894
    functionName: g_file_attribute_info_list_unref
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_array_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_attribute_info_list_unref (GFileAttributeInfoList *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gfileattribute.c:909,1
    - Dst: strcmp
      Src: /src/glib/gio/gfileattribute.c:911,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - GFileAttributeInfoList*
    - char*
    constantsTouched: []
    func_position:
      end: 917
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 917
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 517
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 517
    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:566,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gfileattribute.c:580,1
    - Dst: g_warning
      Src: /src/glib/gio/gfileattribute.c:616,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:573,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileattribute.c:587,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 4
    argNames:
    - value
    - type
    - value_p
    - dup
    argTypes:
    - GFileAttributeValue*
    - GFileAttributeType
    - gpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 619
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 619
    functionName: _g_file_attribute_value_set_from_pointer
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_strdupv
    - g_warning
    - _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_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:863,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gfileattribute.c:865,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - GFileAttributeInfoList*
    constantsTouched: []
    func_position:
      end: 869
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 869
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - GFileAttributeInfoListPriv*
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 793
    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_new0
      Src: /src/glib/gio/gfileattribute.c:807,1
    - Dst: list_update_public
      Src: /src/glib/gio/gfileattribute.c:812,1
    - Dst: g_array_new
      Src: /src/glib/gio/gfileattribute.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 815
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 815
    functionName: g_file_attribute_info_list_new
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - list_update_public
    - g_array_new
    - g_new0
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'GFileAttributeInfoList *g_file_attribute_info_list_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 497
    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_if_fail
      Src: /src/glib/gio/gfileattribute.c:149,1
    - Dst: g_free
      Src: /src/glib/gio/gfileattribute.c:152,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: _g_file_attribute_value_free
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_free
    - _g_file_attribute_value_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_file_attribute_value_free (GFileAttributeValue *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:966,1
    - Dst: g_file_attribute_info_list_bsearch
      Src: /src/glib/gio/gfileattribute.c:969,1
    - Dst: strcmp
      Src: /src/glib/gio/gfileattribute.c:971,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:967,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:977,1
    - Dst: g_array_insert_vals
      Src: /src/glib/gio/gfileattribute.c:980,1
    - Dst: list_update_public
      Src: /src/glib/gio/gfileattribute.c:982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - list
    - name
    - type
    - flags
    argTypes:
    - GFileAttributeInfoList*
    - char*
    - GFileAttributeType
    - GFileAttributeInfoFlags
    constantsTouched: []
    func_position:
      end: 983
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 983
    functionName: g_file_attribute_info_list_add
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_array_insert_vals
    - g_file_attribute_info_list_bsearch
    - list_update_public
    - strcmp
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 557
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 557
    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:701,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - guint32
    constantsTouched: []
    func_position:
      end: 706
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 706
    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:737,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - guint64
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 742
    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:831,1
    - Dst: g_new0
      Src: /src/glib/gio/gfileattribute.c:833,1
    - Dst: g_array_new
      Src: /src/glib/gio/gfileattribute.c:835,1
    - Dst: list_update_public
      Src: /src/glib/gio/gfileattribute.c:838,1
    - Dst: g_array_set_size
      Src: /src/glib/gio/gfileattribute.c:837,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - list
    argTypes:
    - GFileAttributeInfoList*
    constantsTouched: []
    func_position:
      end: 847
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 847
    functionName: g_file_attribute_info_list_dup
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_array_set_size
    - g_array_new
    - list_update_public
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'GFileAttributeInfoList *g_file_attribute_info_list_dup (GFileAttributeInfoList
      *list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:935,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:936,1
    - Dst: g_file_attribute_info_list_bsearch
      Src: /src/glib/gio/gfileattribute.c:938,1
    - Dst: strcmp
      Src: /src/glib/gio/gfileattribute.c:940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - GFileAttributeInfoList*
    - char*
    constantsTouched: []
    func_position:
      end: 944
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 944
    functionName: g_file_attribute_info_list_lookup
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_file_attribute_info_list_bsearch
    - strcmp
    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:193,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:196,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gfileattribute.c:204,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:194,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:201,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileattribute.c:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - attr
    - new_value
    argTypes:
    - GFileAttributeValue*
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 209
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 209
    functionName: _g_file_attribute_value_set
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_strdupv
    - _g_file_attribute_value_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set (GFileAttributeValue *attr,\t\t\t
      const GFileAttributeValue *new_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    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:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 426
    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:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 477
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 477
    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:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 537
    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:651,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:656,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:654,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - attr
    - string
    argTypes:
    - GFileAttributeValue*
    - char*
    constantsTouched: []
    func_position:
      end: 657
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 657
    functionName: _g_file_attribute_value_set_byte_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _g_file_attribute_value_clear
    - 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:683,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - gboolean
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 688
    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:719,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - gint32
    constantsTouched: []
    func_position:
      end: 724
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 724
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gfileattribute.c:284,1
    - Dst: valid_char
      Src: /src/glib/gio/gfileattribute.c:303,1
    - Dst: valid_char
      Src: /src/glib/gio/gfileattribute.c:289,1
    - Dst: g_malloc
      Src: /src/glib/gio/gfileattribute.c:297,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 316
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 316
    functionName: escape_byte_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_malloc
    - valid_char
    linkageType: ''
    returnType: char*
    signature: 'static char *escape_byte_string (const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 437
    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:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:663,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gfileattribute.c:668,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:666,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - char**
    constantsTouched: []
    func_position:
      end: 669
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 669
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:166,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gfileattribute.c:173,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileattribute.c:177,1
    - Dst: g_free
      Src: /src/glib/gio/gfileattribute.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 180
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 406
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 457
    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_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:
    - 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: 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: []
    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: 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:
    - Dst: g_simple_permission_new
      Src: /src/glib/gio/gnullsettingsbackend.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - backend
    - path
    argTypes:
    - GSettingsBackend*
    - gchar*
    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: 4
    argNames:
    - backend
    - key
    - expected_type
    - default_value
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariantType*
    - gboolean
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnullsettingsbackend.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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: 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:315,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:314,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:312,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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_value_set_boolean
    - g_return_if_fail
    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: 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_arg
      Src: /src/glib/gio/gmarshal-internal.c:409,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: 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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_value_set_boolean
    - g_return_if_fail
    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: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1001,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: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:998,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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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_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: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1417,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_marshal_value_peek_variant
    - g_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_return_if_fail
    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: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:1646,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1642,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_marshal_value_peek_variant
    - g_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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:1770,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1773,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:1775,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1772,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1771,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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: 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:1907,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1904,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1911,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_marshal_value_peek_boxed
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_return_if_fail
    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_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:87,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:89,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:96,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:92,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_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_value_set_boolean
    - g_return_if_fail
    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_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: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:180,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_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_flags
    - G_CCLOSURE_SWAP_DATA
    - g_value_set_boolean
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:540,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:550,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_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:541,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_marshal_value_peek_uint
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_value_set_boolean
    - g_return_if_fail
    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: 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_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - g_value_set_int
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: 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: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1362,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1361,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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1576,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1579,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1577,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1582,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1580,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: 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_boxed_free
      Src: /src/glib/gio/gmarshal-internal.c:1617,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1604,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1611,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmarshal-internal.c:1615,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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_boxed_copy
    - g_boxed_free
    - g_variant_unref
    - g_object_unref
    - g_variant_ref_sink
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1857,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_strdup
      Src: /src/glib/gio/gmarshal-internal.c:1860,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1858,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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2001,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: 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_marshal_value_peek_boxed
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_return_if_fail
    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_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2292,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2289,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_marshal_value_peek_variant
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_return_if_fail
    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: 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:881,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:874,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:877,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_marshal_value_peek_boxed
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_boolean
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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:1088,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1087,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1091,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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1225,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: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1230,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_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:2518,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:2522,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2519,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2521,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2520,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:364,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:367,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:374,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: 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:
    - callback
    - g_marshal_value_peek_pointer
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_int
    - g_value_set_boolean
    - g_return_if_fail
    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:453,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: 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: 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:
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_value_set_boolean
    - g_return_if_fail
    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_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_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:832,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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_object_unref
    - g_value_set_int
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_return_if_fail
    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_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1045,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: 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_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_enum
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: 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:1184,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1183,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1185,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1182,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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: 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:
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_boolean
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_return_if_fail
    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:623,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:633,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:629,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:626,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:624,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:
    - callback
    - g_value_peek_pointer
    - g_return_if_fail
    - G_CCLOSURE_SWAP_DATA
    - g_value_set_boolean
    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:660,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:678,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:662,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:962,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:966,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_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_enum
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1530,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: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1532,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_marshal_value_peek_boxed
    - g_marshal_value_peek_variant
    - g_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1677,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: g_variant_ref_sink
      Src: /src/glib/gio/gmarshal-internal.c:1683,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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_variant_unref
    - g_object_unref
    - g_variant_ref_sink
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:2035,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:2039,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2038,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: 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_boxed_free
      Src: /src/glib/gio/gmarshal-internal.c:2070,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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - g_boxed_copy
    - g_boxed_free
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:2183,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: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2188,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:
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_flags
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_return_if_fail
    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:2480,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: 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_marshal_value_peek_uint
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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:2606,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmarshal-internal.c:2605,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2603,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:2608,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:
    - va_end
    - va_copy
    - callback
    - g_boxed_copy
    - g_boxed_free
    - g_variant_unref
    - g_variant_ref_sink
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:581,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:582,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:585,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: 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:
    - va_end
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_value_set_boolean
    - g_return_if_fail
    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:912,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:917,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:916,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:914,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:913,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:
    - va_end
    - va_copy
    - callback
    - g_boxed_copy
    - g_boxed_free
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: 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:1147,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:1143,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:
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_int
    - g_return_if_fail
    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: 12
    BranchProfiles: []
    Callsites:
    - 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:1468,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: 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_variant_unref
      Src: /src/glib/gio/gmarshal-internal.c:1508,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: 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: callback
      Src: /src/glib/gio/gmarshal-internal.c:1492,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1502,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:1506,1
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1461,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:
    - va_end
    - g_strdup
    - g_object_ref
    - g_free
    - va_copy
    - callback
    - g_variant_unref
    - g_object_unref
    - g_variant_ref_sink
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: 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:2139,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2135,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2138,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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2426,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2429,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2428,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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - g_variant_unref
    - g_variant_ref_sink
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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_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: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2567,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_marshal_value_peek_boxed
    - g_marshal_value_peek_variant
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: 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: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:133,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_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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_value_set_boolean
    - g_return_if_fail
    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: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_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_value_set_boolean
    - g_return_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:494,1
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:496,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:499,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:500,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:497,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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_value_set_boolean
    - g_return_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:739,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:743,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:742,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:740,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:745,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:
    - va_end
    - va_copy
    - callback
    - g_boxed_copy
    - g_boxed_free
    - g_value_set_int
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_return_if_fail
    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:1315,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1317,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: 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_marshal_value_peek_object
    - callback
    - g_value_peek_pointer
    - g_marshal_value_peek_enum
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1942,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:1945,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: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1946,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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - g_boxed_copy
    - g_boxed_free
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:2230,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2233,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2235,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2232,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: callback
      Src: /src/glib/gio/gmarshal-internal.c:2255,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2264,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2266,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2262,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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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_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: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2387,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_marshal_value_peek_variant
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_return_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:218,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:221,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:219,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: 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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    - g_value_set_boolean
    - g_return_if_fail
    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: 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_marshal_value_peek_boxed
    - callback
    - g_value_peek_pointer
    - g_value_set_int
    - G_CCLOSURE_SWAP_DATA
    - g_return_if_fail
    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: 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: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1268,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1266,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:
    - va_end
    - g_object_ref
    - va_copy
    - callback
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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:
    - callback
    - g_marshal_value_peek_pointer
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_marshal_value_peek_int
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:2091,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2093,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: 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:
    - callback
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_string
    - g_marshal_value_peek_int64
    - g_return_if_fail
    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: 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: 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:2331,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: 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
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2355,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:
    - va_end
    - g_strdup
    - g_free
    - va_copy
    - callback
    - g_variant_unref
    - g_variant_ref_sink
    - G_CCLOSURE_SWAP_DATA
    - va_arg
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_is_system_internal
      Src: /src/glib/gio/glocalfile.c:1809,1
    - Dst: g_unix_mount_get_options
      Src: /src/glib/gio/glocalfile.c:1812,1
    - Dst: g_unix_mount_get_mount_path
      Src: /src/glib/gio/glocalfile.c:1815,1
    - Dst: g_unix_mount_point_at
      Src: /src/glib/gio/glocalfile.c:1815,1
    - Dst: g_unix_mount_point_get_options
      Src: /src/glib/gio/glocalfile.c:1818,1
    - Dst: strstr
      Src: /src/glib/gio/glocalfile.c:1822,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfile.c:1825,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 1828
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1828
    functionName: ignore_trash_mount
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_unix_mount_get_options
    - g_unix_mount_point_at
    - strstr
    - g_unix_mount_get_mount_path
    - g_unix_mount_is_system_internal
    - g_unix_mount_point_get_options
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ignore_trash_mount (GUnixMountEntry *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_at
      Src: /src/glib/gio/glocalfile.c:1836,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfile.c:1843,1
    - Dst: ignore_trash_mount
      Src: /src/glib/gio/glocalfile.c:1840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - topdir
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1846
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1846
    functionName: ignore_trash_path
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_unix_mount_at
    - ignore_trash_mount
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ignore_trash_path (const gchar *topdir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:500,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
    - Dst: match_prefix
      Src: /src/glib/gio/glocalfile.c:504,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
    - G_LOCAL_FILE
    - match_prefix
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_prefix_matches (GFile *parent,\t\t\t
      GFile *descendant) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1357,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1371,1
    - Dst: g_open
      Src: /src/glib/gio/glocalfile.c:1361,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfile.c:1370,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1375,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1376,1
    - Dst: g_local_file_fstat
      Src: /src/glib/gio/glocalfile.c:1381,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1383,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:1383,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1387,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1386,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfile.c:1385,1
    - Dst: _g_local_file_input_stream_new
      Src: /src/glib/gio/glocalfile.c:1392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1393
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1393
    functionName: g_local_file_read
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_open
    - _g_local_file_input_stream_new
    - g_close
    - _
    - GLIB_PRIVATE_CALL
    - _g_stat_mode
    - g_set_io_error
    - g_local_file_fstat
    - G_LOCAL_FILE
    - 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:1533,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1539
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1539
    functionName: strip_trailing_slashes
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *strip_trailing_slashes (const char *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1762,1
    - Dst: strncmp
      Src: /src/glib/gio/glocalfile.c:1764,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - path
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1772
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1772
    functionName: path_has_prefix
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean path_has_prefix (const char *path, const char *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:514,1
    - Dst: match_prefix
      Src: /src/glib/gio/glocalfile.c:518,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:521,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:515,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/gio/glocalfile.c:520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    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
    - G_LOCAL_FILE
    - match_prefix
    linkageType: ''
    returnType: char*
    signature: "static char *g_local_file_get_relative_path (GFile *parent,\t\t\t\tGFile
      *descendant) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_volume_for_path
      Src: /src/glib/gio/glocalfile.c:918,1
    - Dst: g_file_info_set_attribute_boolean
      Src: /src/glib/gio/glocalfile.c:924,1
    - Dst: GetVolumeInformationW
      Src: /src/glib/gio/glocalfile.c:923,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:928,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_file_info_set_attribute_boolean
    - GetVolumeInformationW
    - get_volume_for_path
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void get_filesystem_readonly (GFileInfo *info,\t\t\t const
      char *path) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_local_file_output_stream_append
      Src: /src/glib/gio/glocalfile.c:1401,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1403
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1403
    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:1553,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/gio/glocalfile.c:1561,1
    - Dst: strip_trailing_slashes
      Src: /src/glib/gio/glocalfile.c:1564,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/glocalfile.c:1560,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1556,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1565,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1566,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:1568,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1569,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/gio/glocalfile.c:1571,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - link
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1577
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1577
    functionName: expand_symlink
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_canonicalize_filename
    - strip_trailing_slashes
    - g_path_get_dirname
    - g_build_filename
    - readlink
    - 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:1781,1
    - Dst: path_has_prefix
      Src: /src/glib/gio/glocalfile.c:1785,1
    - Dst: expand_all_symlinks
      Src: /src/glib/gio/glocalfile.c:1782,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1790,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1787,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1792,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1793,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1799,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - path
    - base
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1800
    functionName: try_make_relative
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - path_has_prefix
    - expand_all_symlinks
    linkageType: ''
    returnType: char*
    signature: 'static char *try_make_relative (const char *path, const char *base) '
  - BBCount: 86
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 2
    argCount: 1
    argNames:
    - f_type
    argTypes:
    - long
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:871,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfile.c:876,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: 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_renew
      Src: /src/glib/gio/glocalfile.c:887,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:892,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    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_free
    - g_utf8_to_utf16
    - GetVolumePathNameW
    - g_new
    - g_critical
    - wcslen
    - GetLastError
    - g_win32_error_message
    - g_renew
    linkageType: ''
    returnType: wchar_t*
    signature: 'static wchar_t *get_volume_for_path (const char *path) '
  - 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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_LOCAL_FILE
    - g_path_get_basename
    linkageType: ''
    returnType: char*
    signature: 'static char *g_local_file_get_basename (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_volume_for_path
      Src: /src/glib/gio/glocalfile.c:902,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/glocalfile.c:906,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - file
    - dev
    - resolve_basename_symlink
    argTypes:
    - char*
    - dev_t
    - gboolean
    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:
    - g_utf16_to_utf8
    - get_volume_for_path
    - 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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfile.c:261,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_return_val_if_fail
      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: 2
    argNames:
    - dirname
    - basename
    argTypes:
    - gchar*
    - gchar*
    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_object_new
    - G_FILE
    - g_build_filename
    - strchr
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_local_file_new_from_dirname_and_basename (const gchar *dirname,
      const gchar *basename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_parent
      Src: /src/glib/gio/glocalfile.c:1659,1
    - Dst: expand_all_symlinks
      Src: /src/glib/gio/glocalfile.c:1665,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:1667,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfile.c:1663,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glocalfile.c:1666,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1668,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1669,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1672,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1677
    functionName: expand_all_symlinks
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_path_get_basename
    - g_strcmp0
    - get_parent
    - g_build_filename
    - expand_all_symlinks
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_all_symlinks (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: 1
    argNames:
    - filename
    argTypes:
    - char*
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:471,1
    - Dst: g_str_equal
      Src: /src/glib/gio/glocalfile.c:474,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:472,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_str_equal
    - G_LOCAL_FILE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_equal (GFile *file1,\t\t GFile *file2) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expand_symlinks
      Src: /src/glib/gio/glocalfile.c:1689,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1703,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfile.c:1698,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1694,1
    - Dst: get_parent
      Src: /src/glib/gio/glocalfile.c:1700,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1709,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1713,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - file
    - dev
    - resolve_basename_symlink
    argTypes:
    - char*
    - dev_t
    - gboolean
    constantsTouched: []
    func_position:
      end: 1718
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1718
    functionName: find_mountpoint_for
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - expand_symlinks
    - g_strcmp0
    - get_parent
    linkageType: ''
    returnType: char*
    signature: 'static char *find_mountpoint_for (const char *file, dev_t dev, gboolean
      resolve_basename_symlink) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:483,1
    - Dst: strncmp
      Src: /src/glib/gio/glocalfile.c:484,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/gio/glocalfile.c:490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - path
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 494
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 494
    functionName: match_prefix
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - strlen
    - G_IS_DIR_SEPARATOR
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *match_prefix (const char *path, const char *prefix) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/glocalfile.c:809,1
    - Dst: g_unix_mounts_changed_since
      Src: /src/glib/gio/glocalfile.c:808,1
    - Dst: g_unix_mount_at
      Src: /src/glib/gio/glocalfile.c:828,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glocalfile.c:846,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/glocalfile.c:836,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/glocalfile.c:846,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:798,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfile.c:816,1
    - Dst: g_unix_mount_is_readonly
      Src: /src/glib/gio/glocalfile.c:831,1
    - Dst: is_remote_fs_type
      Src: /src/glib/gio/glocalfile.c:833,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:855,1
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfile.c:801,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_new0
      Src: /src/glib/gio/glocalfile.c:841,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:839,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_hash_table_new_full
      Src: /src/glib/gio/glocalfile.c:804,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_get_fs_type
      Src: /src/glib/gio/glocalfile.c:833,1
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfile.c:844,1
    - Dst: g_file_info_set_attribute_boolean
      Src: /src/glib/gio/glocalfile.c:852,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:
    - g_lstat
    - GPOINTER_TO_UINT
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - g_file_attribute_matcher_matches
    - g_unix_mounts_changed_since
    - g_hash_table_lookup_extended
    - g_unix_mount_is_readonly
    - g_hash_table_remove_all
    - g_unix_mount_at
    - g_hash_table_new_full
    - g_unix_mount_free
    - g_file_info_set_attribute_boolean
    - find_mountpoint_for
    - g_unix_mount_get_fs_type
    - g_strdup
    - g_free
    - g_new0
    - G_LOCK
    - G_UNLOCK
    - is_remote_fs_type
    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_output_stream_create
      Src: /src/glib/gio/glocalfile.c:1411,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1414
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1414
    functionName: g_local_file_create
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE
    - _g_local_file_output_stream_create
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2429,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2437,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2441,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2439,1
    - Dst: symlink
      Src: /src/glib/gio/glocalfile.c:2431,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2443,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2445,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2446,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - file
    - symlink_value
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2451
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2451
    functionName: g_local_file_make_symbolic_link
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_set_io_error
    - symlink
    - G_LOCAL_FILE
    - g_set_error_literal
    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_local_file_output_stream_replace
      Src: /src/glib/gio/glocalfile.c:1424,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 6
    argNames:
    - file
    - etag
    - make_backup
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - gboolean
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1428
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1428
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2472,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2480,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2481,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2476,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2488,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2517,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2523,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2514,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfile.c:2532,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2535,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2538,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2580,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2578,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2483,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2489,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2524,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2506,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2539,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfile.c:2556,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2569,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2571,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:2586,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:2587,1
    - Dst: G_IS_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2473,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2494,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2498,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2509,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2512,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfile.c:2533,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2542,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2555,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfile.c:2558,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2576,1
    - Dst: progress_callback
      Src: /src/glib/gio/glocalfile.c:2593,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfile.c:2563,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfile.c:2550,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2581,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2557,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: 2596
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2596
    functionName: g_local_file_move
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_LOCAL_FILE
    - g_lstat
    - _
    - g_free
    - g_strerror
    - g_vfs_get_default
    - g_rename
    - g_set_io_error
    - progress_callback
    - g_unlink
    - G_LOCAL_FILE
    - g_strconcat
    - g_set_error_literal
    - g_io_error_from_errno
    - G_VFS_GET_CLASS
    - 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_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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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: 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1188,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfile.c:1199,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:1217,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:1218,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1175,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1213,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1208,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:1207,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/glocalfile.c:1166,1
    - Dst: g_file_get_child_for_display_name
      Src: /src/glib/gio/glocalfile.c:1174,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1170,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:1169,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1179,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1180,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1195,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1211,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:1194,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1182,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1210,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 4
    argNames:
    - file
    - display_name
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1223
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1223
    functionName: g_local_file_set_display_name
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _
    - g_lstat
    - g_file_get_child_for_display_name
    - g_vfs_get_default
    - g_object_unref
    - g_rename
    - g_file_get_parent
    - g_set_io_error
    - G_LOCAL_FILE
    - g_set_error_literal
    - G_VFS_GET_CLASS
    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: 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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_LOCAL_FILE
    - g_filename_to_uri
    linkageType: ''
    returnType: char*
    signature: 'static char *g_local_file_get_uri (GFile *file) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1232,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glocalfile.c:1240,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/glocalfile.c:1238,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1242,1
    - Dst: _g_local_file_info_get_parent_info
      Src: /src/glib/gio/glocalfile.c:1243,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1244,1
    - Dst: _g_local_file_info_get
      Src: /src/glib/gio/glocalfile.c:1246,1
    - Dst: _g_local_file_info_free_parent_info
      Src: /src/glib/gio/glocalfile.c:1251,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1252,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfile.c:1254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1257
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1257
    functionName: g_local_file_query_info
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - _g_local_file_info_get_parent_info
    - g_free
    - g_path_get_basename
    - _g_local_file_info_free_parent_info
    - g_file_attribute_matcher_new
    - g_path_get_dirname
    - _g_local_file_info_get
    - G_LOCAL_FILE
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_parent
      Src: /src/glib/gio/glocalfile.c:1727,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1732,1
    - Dst: find_mountpoint_for
      Src: /src/glib/gio/glocalfile.c:1731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1735
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1735
    functionName: _g_local_file_find_topdir_for
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - get_parent
    - g_free
    - find_mountpoint_for
    linkageType: ''
    returnType: char*
    signature: 'char *_g_local_file_find_topdir_for (const char *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdopendir
      Src: /src/glib/gio/glocalfile.c:2955,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfile.c:2957,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfile.c:2958,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfile.c:2961,1
    - Dst: close
      Src: /src/glib/gio/glocalfile.c:2968,1
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:2971,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/glocalfile.c:2974,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2982,1
    - Dst: g_local_file_measure_size_of_file
      Src: /src/glib/gio/glocalfile.c:2985,1
    - Dst: g_dir_close
      Src: /src/glib/gio/glocalfile.c:2992,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2988,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - fd
    - dir_name
    - state
    - error
    argTypes:
    - gint
    - GSList*
    - MeasureState*
    - GError**
    constantsTouched: []
    func_position:
      end: 2995
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2995
    functionName: g_local_file_measure_size_of_contents
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_local_file_measure_size_of_file
    - g_free
    - g_assert
    - GLIB_PRIVATE_CALL
    - g_dir_read_name
    - g_local_file_measure_size_error
    - fdopendir
    - close
    - g_build_filename
    - g_dir_close
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_measure_size_of_contents (gint fd, GSList
      *dir_name, MeasureState *state, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1744,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfile.c:1746,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:1750,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:1748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - basename
    - id
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1751
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1751
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:3008,1
    - Dst: g_local_file_measure_size_of_file
      Src: /src/glib/gio/glocalfile.c:3025,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: 3038
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3038
    functionName: g_local_file_measure_disk_usage
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE
    - g_local_file_measure_size_of_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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glocalfile.c:1943,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1950,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1956,1
    - Dst: find_mountpoint_for
      Src: /src/glib/gio/glocalfile.c:1946,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1956,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1959,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1962,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1970,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 2
    argNames:
    - path
    - path_dev
    argTypes:
    - char*
    - dev_t
    constantsTouched: []
    func_position:
      end: 1972
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1972
    functionName: _g_local_file_is_lost_found_dir
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_lstat
    - g_free
    - find_mountpoint_for
    - g_str_has_suffix
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_local_file_is_lost_found_dir (const char *path, dev_t
      path_dev) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:957,1
    - Dst: statfs
      Src: /src/glib/gio/glocalfile.c:980,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_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:1026,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1040,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: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:1065,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1097,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1021,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1029,1
    - Dst: GetDiskFreeSpaceExW
      Src: /src/glib/gio/glocalfile.c:1030,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:1045,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_free
      Src: /src/glib/gio/glocalfile.c:1048,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1064,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: get_fs_type
      Src: /src/glib/gio/glocalfile.c:1083,1
    - Dst: statvfs
      Src: /src/glib/gio/glocalfile.c:1002,1
    - Dst: statfs
      Src: /src/glib/gio/glocalfile.c:978,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1044,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/glocalfile.c:1031,1
    - Dst: GetDiskFreeSpaceExW
      Src: /src/glib/gio/glocalfile.c:1049,1
    - Dst: GetDiskFreeSpaceExW
      Src: /src/glib/gio/glocalfile.c:1070,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1072,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1102,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: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/glocalfile.c:1050,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1060,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/glocalfile.c:1099,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/glocalfile.c:1074,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1104,1
    - Dst: get_mount_info
      Src: /src/glib/gio/glocalfile.c:1110,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfile.c:1114,1
    - Dst: get_filesystem_readonly
      Src: /src/glib/gio/glocalfile.c:1108,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 87
    argCount: 4
    argNames:
    - file
    - attributes
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1117
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1117
    functionName: g_local_file_query_filesystem_info
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - _
    - g_free
    - g_utf8_to_utf16
    - get_filesystem_readonly
    - statfs
    - GetDiskFreeSpaceExW
    - g_file_attribute_matcher_new
    - g_file_attribute_matcher_matches
    - g_set_io_error
    - g_path_get_dirname
    - g_file_info_set_attribute_uint64
    - g_file_info_set_attribute_string
    - get_fs_type
    - G_LOCAL_FILE
    - g_file_info_new
    - get_mount_info
    - statvfs
    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: 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: 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_ascii_iscntrl
    - g_utf8_validate
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean name_is_valid_for_display (const char *string,\t\t\t
      gboolean is_valid_utf8) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1124,1
    - Dst: find_mountpoint_for
      Src: /src/glib/gio/glocalfile.c:1132,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1137,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1129,1
    - Dst: _g_mount_get_for_mount_path
      Src: /src/glib/gio/glocalfile.c:1136,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1142,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1151
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1151
    functionName: g_local_file_find_enclosing_mount
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _g_mount_get_for_mount_path
    - g_free
    - g_lstat
    - _
    - g_set_io_error
    - G_LOCAL_FILE
    - find_mountpoint_for
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *g_local_file_find_enclosing_mount (GFile *file, GCancellable
      *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1587,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1592,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1594,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfile.c:1598,1
    - Dst: expand_symlink
      Src: /src/glib/gio/glocalfile.c:1601,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1602,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1616,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfile.c:1620,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - path
    - dev
    argTypes:
    - char*
    - dev_t*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1626
    functionName: expand_symlinks
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_lstat
    - g_free
    - S_ISLNK
    - expand_symlink
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_symlinks (const char *path, dev_t *dev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strip_trailing_slashes
      Src: /src/glib/gio/glocalfile.c:1635,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:1638,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1637,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1641,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1640,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1644,1
    - Dst: expand_symlinks
      Src: /src/glib/gio/glocalfile.c:1646,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - path
    - parent_dev
    argTypes:
    - char*
    - dev_t*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1650
    functionName: get_parent
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_free
    - expand_symlinks
    - strip_trailing_slashes
    - g_path_get_dirname
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static char *get_parent (const char *path, dev_t *parent_dev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2401,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2409,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2413,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2403,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2411,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2420
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2420
    functionName: g_local_file_make_directory
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_io_error
    - g_mkdir
    - G_LOCAL_FILE
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_make_directory (GFile *file,\t\t\t GCancellable
      *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_info_list_ref
      Src: /src/glib/gio/glocalfile.c:1264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1265
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1265
    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:1315,1
    - Dst: _g_local_file_info_set_attribute
      Src: /src/glib/gio/glocalfile.c:1317,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: 1324
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1324
    functionName: g_local_file_set_attribute
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE
    - _g_local_file_info_set_attribute
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_leave
      Src: /src/glib/gio/glocalfile.c:1874,1
    - Dst: find_mountpoint_for
      Src: /src/glib/gio/glocalfile.c:1883,1
    - Dst: ignore_trash_path
      Src: /src/glib/gio/glocalfile.c:1887,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1904,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1922,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/glocalfile.c:1860,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalfile.c:1864,1
    - Dst: geteuid
      Src: /src/glib/gio/glocalfile.c:1911,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:1914,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1921,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfile.c:1928,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1929,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1896,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1905,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1916,1
    - Dst: g_stat
      Src: /src/glib/gio/glocalfile.c:1864,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1889,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:1894,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1895,1
    - Dst: g_snprintf
      Src: /src/glib/gio/glocalfile.c:1912,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:1915,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1918,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1908,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1920,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1925,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - dirname
    - dir_dev
    argTypes:
    - char*
    - dev_t
    constantsTouched: []
    func_position:
      end: 1932
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1932
    functionName: _g_local_file_has_trash_dir
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_lstat
    - g_once_init_enter
    - g_get_home_dir
    - g_access
    - ignore_trash_path
    - g_build_filename
    - g_stat
    - S_ISDIR
    - g_strdup_printf
    - g_once_init_leave
    - g_snprintf
    - geteuid
    - find_mountpoint_for
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_local_file_has_trash_dir (const char *dirname, dev_t dir_dev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/glocalfile.c:1276,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/glocalfile.c:1280,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:1288,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:1294,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:1283,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:1295,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/glocalfile.c:1299,1
    - Dst: g_file_attribute_info_list_ref
      Src: /src/glib/gio/glocalfile.c:1303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1304
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1304
    functionName: g_local_file_query_writable_namespaces
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_add
    - g_once_init_enter
    - g_vfs_get_default
    - g_file_attribute_info_list_new
    - g_file_attribute_info_list_ref
    - g_once_init_leave
    - G_VFS_GET_CLASS
    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:1333,1
    - Dst: _g_local_file_info_set_attributes
      Src: /src/glib/gio/glocalfile.c:1337,1
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gio/glocalfile.c:1345,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: 1350
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1350
    functionName: g_local_file_set_attributes_from_info
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE
    - g_type_default_interface_peek
    - _g_local_file_info_set_attributes
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2604
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2604
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: S_TYPEISSHM
      Src: /src/glib/gio/glocalfile.c:2803,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:2812,1
    - Dst: S_ISREG
      Src: /src/glib/gio/glocalfile.c:2812,1
    - Dst: S_TYPEISTMO
      Src: /src/glib/gio/glocalfile.c:2807,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfile.c:2812,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:2812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 2813
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2813
    functionName: _g_stat_is_size_usable
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - S_TYPEISTMO
    - _g_stat_mode
    - S_ISLNK
    - S_TYPEISSHM
    linkageType: ''
    returnType: gboolean
    signature: 'inline static gboolean _g_stat_is_size_usable (const GLocalFileStat
      *buf) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:2839,1
    - Dst: g_local_file_fstatat
      Src: /src/glib/gio/glocalfile.c:2827,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfile.c:2854,1
    - Dst: _g_stat_size
      Src: /src/glib/gio/glocalfile.c:2875,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2877,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/glocalfile.c:2892,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/glocalfile.c:2908,1
    - Dst: openat
      Src: /src/glib/gio/glocalfile.c:2926,1
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:2930,1
    - Dst: g_local_file_measure_size_of_contents
      Src: /src/glib/gio/glocalfile.c:2933,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2836,1
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:2845,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfile.c:2862,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2912,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfile.c:2823,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfile.c:2842,1
    - Dst: _g_stat_blocks
      Src: /src/glib/gio/glocalfile.c:2871,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:2877,1
    - Dst: _g_stat_is_size_usable
      Src: /src/glib/gio/glocalfile.c:2874,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/gio/glocalfile.c:2871,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfile.c:2919,1
    - Dst: openat
      Src: /src/glib/gio/glocalfile.c:2924,1
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:2833,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:2912,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 4
    argNames:
    - parent_fd
    - name
    - state
    - error
    argTypes:
    - gint
    - GSList*
    - MeasureState*
    - GError**
    constantsTouched: []
    func_position:
      end: 2938
      start: 2815
    functionDepth: 0
    functionLinenumber: 2815
    functionLinenumberEnd: 2938
    functionName: g_local_file_measure_size_of_file
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_lstat
    - _g_stat_size
    - GLIB_PRIVATE_CALL
    - g_local_file_measure_size_error
    - _g_stat_mode
    - G_GUINT64_CONSTANT
    - _g_stat_dev
    - g_cancellable_set_error_if_cancelled
    - g_local_file_fstatat
    - _g_stat_is_size_usable
    - g_get_monotonic_time
    - _g_stat_blocks
    - g_local_file_measure_size_of_contents
    - openat
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_measure_size_of_file (gint parent_fd,
      GSList *name, MeasureState *state, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2613,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2621,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2615,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2617,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2619,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - fsname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2628
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2628
    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_local_file_output_stream_open
      Src: /src/glib/gio/glocalfile.c:1438,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1438,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfile.c:1444,1
    - Dst: _g_local_file_io_stream_new
      Src: /src/glib/gio/glocalfile.c:1444,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1447
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1447
    functionName: g_local_file_open_readwrite
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _g_local_file_io_stream_new
    - _g_local_file_output_stream_open
    - g_object_unref
    - 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: []
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalfile.c:2637,1
    - Dst: g_local_file_query_filesystem_info
      Src: /src/glib/gio/glocalfile.c:2647,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalfile.c:2646,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/glocalfile.c:2640,1
    - Dst: path_has_prefix
      Src: /src/glib/gio/glocalfile.c:2638,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/glocalfile.c:2649,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfile.c:2650,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfile.c:2650,1
    - Dst: g_clear_object
      Src: /src/glib/gio/glocalfile.c:2652,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:2653,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/glocalfile.c:2655,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2661
      start: 2630
    functionDepth: 0
    functionLinenumber: 2630
    functionLinenumberEnd: 2661
    functionName: g_local_file_is_nfs_home
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _g_local_file_new
    - g_once_init_enter
    - path_has_prefix
    - g_get_home_dir
    - g_file_info_get_attribute_string
    - g_strcmp0
    - g_clear_object
    - g_object_unref
    - g_once_init_leave
    - g_local_file_query_filesystem_info
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_local_file_is_nfs_home (const gchar *filename) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_local_file_output_stream_create
      Src: /src/glib/gio/glocalfile.c:1458,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfile.c:1464,1
    - Dst: _g_local_file_io_stream_new
      Src: /src/glib/gio/glocalfile.c:1464,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1458,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1467
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1467
    functionName: g_local_file_create_readwrite
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _g_local_file_io_stream_new
    - g_object_unref
    - _g_local_file_output_stream_create
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_from_utf8
      Src: /src/glib/gio/glocalfile.c:564,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:574,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:567,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:569,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/glocalfile.c:573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - file
    - display_name
    - error
    argTypes:
    - GFile*
    - char*
    - GError**
    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_free
    - _
    - g_filename_from_utf8
    - g_file_get_child
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dirname
    - dir_dev
    argTypes:
    - char*
    - dev_t
    constantsTouched: []
    func_position:
      end: 2353
      start: 2349
    functionDepth: 0
    functionLinenumber: 2349
    functionLinenumberEnd: 2353
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/glocalfile.c:2723,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2729,1
    - Dst: g_string_prepend_c
      Src: /src/glib/gio/glocalfile.c:2728,1
    - Dst: g_string_prepend
      Src: /src/glib/gio/glocalfile.c:2730,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2731,1
    - Dst: g_string_new
      Src: /src/glib/gio/glocalfile.c:2739,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2740,1
    - Dst: g_string_append
      Src: /src/glib/gio/glocalfile.c:2741,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2742,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2746,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfile.c:2748,1
    - Dst: g_string_free
      Src: /src/glib/gio/glocalfile.c:2750,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2747,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfile.c:2746,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - flags
    - saved_errno
    - name
    - error
    argTypes:
    - GFileMeasureFlags
    - gint
    - GSList*
    - GError**
    constantsTouched: []
    func_position:
      end: 2758
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2758
    functionName: g_local_file_measure_size_error
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_string_new
    - g_string_append
    - g_free
    - _
    - g_string_prepend
    - g_strerror
    - g_string_free
    - g_filename_display_name
    - g_string_prepend_c
    - g_io_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_measure_size_error (GFileMeasureFlags
      flags, gint saved_errno, GSList *name, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2360,1
    - Dst: SHFileOperationW
      Src: /src/glib/gio/glocalfile.c:2375,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:2366,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/glocalfile.c:2379,1
    - Dst: g_renew
      Src: /src/glib/gio/glocalfile.c:2368,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/glocalfile.c:2380,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2381,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2382,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2387,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2388,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2391,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2393
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2393
    functionName: g_local_file_trash
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _
    - g_free
    - g_utf8_to_utf16
    - g_cancellable_is_cancelled
    - g_cancellable_cancel
    - g_set_io_error
    - SHFileOperationW
    - G_LOCAL_FILE
    - g_renew
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_trash (GFile *file,\t\t GCancellable
      *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2681,1
    - Dst: g_local_file_monitor_new_for_path
      Src: /src/glib/gio/glocalfile.c:2683,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileMonitorFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2684
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2684
    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: 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:361,1
    - Dst: g_convert
      Src: /src/glib/gio/glocalfile.c:369,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:373,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: g_strconcat
      Src: /src/glib/gio/glocalfile.c:413,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:420,1
    - Dst: g_uri_escape_string
      Src: /src/glib/gio/glocalfile.c:410,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfile.c:403,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:423,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:418,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_uri_escape_string
    - g_free
    - get_filename_charset
    - g_strconcat
    - name_is_valid_for_display
    - strcmp
    - strchr
    - G_LOCAL_FILE
    - g_convert
    linkageType: ''
    returnType: char*
    signature: 'static char *g_local_file_get_parse_name (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:941,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:945,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_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_free
    - g_strerror
    - g_filename_display_name
    - G_LOCAL_FILE
    - g_io_error_from_errno
    linkageType: ''
    returnType: void
    signature: 'static void g_set_io_error (GError **error, const gchar *msg, GFile
      *file, gint errsv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_local_file_output_stream_replace
      Src: /src/glib/gio/glocalfile.c:1480,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfile.c:1487,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1480,1
    - Dst: _g_local_file_io_stream_new
      Src: /src/glib/gio/glocalfile.c:1487,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1488,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 6
    argNames:
    - file
    - etag
    - make_backup
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - gboolean
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1490
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1490
    functionName: g_local_file_replace_readwrite
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _g_local_file_io_stream_new
    - g_object_unref
    - _g_local_file_output_stream_replace
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:432,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalfile.c:446,1
    - Dst: g_path_skip_root
      Src: /src/glib/gio/glocalfile.c:439,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfile.c:440,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:445,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:447,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_local_file_new
    - g_free
    - g_assert
    - g_path_get_dirname
    - g_path_skip_root
    - G_LOCAL_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_local_file_get_parent (GFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1497,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1512,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:1517,1
    - Dst: g_remove
      Src: /src/glib/gio/glocalfile.c:1501,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1511,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:1518,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1523
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1523
    functionName: g_local_file_delete
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _
    - g_remove
    - g_vfs_get_default
    - g_set_io_error
    - G_LOCAL_FILE
    - G_VFS_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_delete (GFile *file,\t\t GCancellable
      *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileIface*
    constantsTouched: []
    func_position:
      end: 3086
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3086
    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:2670,1
    - Dst: g_local_file_monitor_new_for_path
      Src: /src/glib/gio/glocalfile.c:2672,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileMonitorFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2673
      start: 2664
    functionDepth: 0
    functionLinenumber: 2664
    functionLinenumberEnd: 2673
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:132,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:134,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfile.c:136,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_LOCAL_FILE
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_finalize (GObject *object) '
  - 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:
    - 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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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
    - _g_local_file_new
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_local_file_dup (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:529,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_build_filename
      Src: /src/glib/gio/glocalfile.c:536,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: 2
    argNames:
    - file
    - relative_path
    argTypes:
    - GFile*
    - char*
    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_free
    - g_build_filename
    - G_LOCAL_FILE
    - 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: 28
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2006,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2016,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:2032,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2044,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2094,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:2133,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2157,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:2331,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2001,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2017,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2234,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfile.c:2256,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2119,1
    - Dst: g_stat
      Src: /src/glib/gio/glocalfile.c:2012,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2041,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/glocalfile.c:2055,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2141,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2194,1
    - Dst: get_unique_filename
      Src: /src/glib/gio/glocalfile.c:2231,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:2281,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2210,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfile.c:2063,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfile.c:2065,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/glocalfile.c:2070,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2102,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2093,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2228,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:2264,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:2277,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2292,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/glocalfile.c:2285,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2179,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2321,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2199,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2136,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2005,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2066,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:2070,1
    - Dst: g_snprintf
      Src: /src/glib/gio/glocalfile.c:2079,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2143,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2207,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2084,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2246,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2126,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2177,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2211,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2043,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2064,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2085,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2233,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfile.c:2289,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2302,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2313,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2183,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2205,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2215,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2114,1
    - Dst: g_stat
      Src: /src/glib/gio/glocalfile.c:2038,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2326,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:2332,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2336,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2067,1
    - Dst: geteuid
      Src: /src/glib/gio/glocalfile.c:2078,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2101,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2195,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2176,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfile.c:2232,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2247,1
    - Dst: g_uri_escape_string
      Src: /src/glib/gio/glocalfile.c:2267,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfile.c:2310,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2341,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2213,1
    - Dst: g_remove
      Src: /src/glib/gio/glocalfile.c:2148,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2134,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2100,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2229,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2251,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/glocalfile.c:2278,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2312,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2314,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2108,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2105,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2185,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2216,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2240,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2322,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2340,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2121,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2269,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/gio/glocalfile.c:2273,1
    - Dst: g_date_time_format
      Src: /src/glib/gio/glocalfile.c:2275,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2182,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2214,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2203,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2198,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glocalfile.c:2223,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2291,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2293,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2304,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2325,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2344,1
    - Dst: g_trash_portal_trash_file
      Src: /src/glib/gio/glocalfile.c:1999,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2048,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2030,1
    - Dst: _g_local_file_find_topdir_for
      Src: /src/glib/gio/glocalfile.c:2081,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2175,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2110,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2186,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2241,1
    - Dst: try_make_relative
      Src: /src/glib/gio/glocalfile.c:2266,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2283,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2343,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2248,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1980,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalfile.c:2011,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2221,1
    - Dst: g_open
      Src: /src/glib/gio/glocalfile.c:2236,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2270,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfile.c:2306,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2092,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2204,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/glocalfile.c:1998,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2055,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/glocalfile.c:2056,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2061,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2062,1
    - Dst: ignore_trash_path
      Src: /src/glib/gio/glocalfile.c:2090,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2245,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2250,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 254
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2347
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 2347
    functionName: g_local_file_trash
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_close
    - g_lstat
    - _
    - g_path_get_basename
    - g_get_home_dir
    - g_remove
    - g_date_time_new_now_local
    - g_get_user_data_dir
    - g_path_get_dirname
    - g_filename_display_name
    - g_trash_portal_trash_file
    - G_LOCAL_FILE
    - g_io_error_from_errno
    - G_VFS_GET_CLASS
    - S_ISDIR
    - get_unique_filename
    - g_file_set_contents_full
    - g_strerror
    - _g_local_file_find_topdir_for
    - g_vfs_get_default
    - g_stat
    - g_mkdir
    - g_strconcat
    - g_open
    - try_make_relative
    - glib_should_use_portal
    - g_build_filename
    - g_set_io_error
    - ignore_trash_path
    - g_strdup_printf
    - g_unlink
    - g_set_error
    - g_strdup
    - g_uri_escape_string
    - g_free
    - g_date_time_format
    - g_mkdir_with_parents
    - g_date_time_unref
    - g_rename
    - g_snprintf
    - geteuid
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_trash (GFile *file,\t\t GCancellable
      *cancellable,\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:160,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:164,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:202,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:207,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: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GLocalFile*
    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: 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_LOCAL_FILE
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint g_local_file_hash (GFile *file) '
  - 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: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    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
    - _g_local_file_enumerator_new
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GProxyResolverInterface*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    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_return_if_fail
      Src: /src/glib/gio/gproxyresolver.c:203,1
    - Dst: G_IS_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyresolver.c:203,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gproxyresolver.c:204,1
    - Dst: g_set_error
      Src: /src/glib/gio/gproxyresolver.c:208,1
    - Dst: g_uri_is_valid
      Src: /src/glib/gio/gproxyresolver.c:206,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gproxyresolver.c:210,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gproxyresolver.c:212,1
    - Dst: G_PROXY_RESOLVER_GET_IFACE
      Src: /src/glib/gio/gproxyresolver.c:216,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: 219
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 219
    functionName: g_proxy_resolver_lookup_async
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_task_report_error
    - g_uri_is_valid
    - G_PROXY_RESOLVER_GET_IFACE
    - g_steal_pointer
    - G_IS_PROXY_RESOLVER
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxyresolver.c:117,1
    - Dst: G_IS_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyresolver.c:117,1
    - Dst: G_PROXY_RESOLVER_GET_IFACE
      Src: /src/glib/gio/gproxyresolver.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GProxyResolver*
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: g_proxy_resolver_is_supported
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - G_PROXY_RESOLVER_GET_IFACE
    - g_return_val_if_fail
    - G_IS_PROXY_RESOLVER
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_proxy_resolver_is_supported (GProxyResolver *resolver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gproxyresolver.c:86,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gproxyresolver.c:90,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gproxyresolver.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: g_proxy_resolver_get_default
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - _g_io_module_get_default
    - g_once_init_leave
    - g_once_init_enter
    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:162,1
    - Dst: g_set_error
      Src: /src/glib/gio/gproxyresolver.c:167,1
    - Dst: G_IS_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyresolver.c:162,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxyresolver.c:163,1
    - Dst: g_uri_is_valid
      Src: /src/glib/gio/gproxyresolver.c:165,1
    - Dst: G_PROXY_RESOLVER_GET_IFACE
      Src: /src/glib/gio/gproxyresolver.c:172,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyresolver.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 4
    argNames:
    - resolver
    - uri
    - cancellable
    - error
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: g_proxy_resolver_lookup
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_uri_is_valid
    - g_assert
    - G_PROXY_RESOLVER_GET_IFACE
    - G_IS_PROXY_RESOLVER
    - g_return_val_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxyresolver.c:245,1
    - Dst: G_IS_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyresolver.c:245,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gproxyresolver.c:247,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gproxyresolver.c:248,1
    - Dst: G_TASK
      Src: /src/glib/gio/gproxyresolver.c:248,1
    - Dst: G_PROXY_RESOLVER_GET_IFACE
      Src: /src/glib/gio/gproxyresolver.c:250,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyresolver.c:254,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GProxyResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 256
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 256
    functionName: g_proxy_resolver_lookup_finish
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_assert
    - G_PROXY_RESOLVER_GET_IFACE
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - G_IS_PROXY_RESOLVER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_proxy_resolver_lookup_finish (GProxyResolver *resolver,\t\t\t\tGAsyncResult
      *result,\t\t\t\tGError **error) "
  - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gicon.c:128,1
    - Dst: G_ICON_GET_IFACE
      Src: /src/glib/gio/gicon.c:131,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gicon.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: g_icon_equal
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - G_ICON_GET_IFACE
    - G_TYPE_FROM_INSTANCE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_icon_equal (GIcon *icon1,\t GIcon *icon2) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_file_icon_get_file
      Src: /src/glib/gio/gicon.c:225,1
    - Dst: G_IS_FILE_ICON
      Src: /src/glib/gio/gicon.c:221,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/gicon.c:226,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gicon.c:243,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gicon.c:256,1
    - Dst: g_string_free
      Src: /src/glib/gio/gicon.c:266,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gicon.c:228,1
    - Dst: g_strdup
      Src: /src/glib/gio/gicon.c:254,1
    - Dst: g_string_new
      Src: /src/glib/gio/gicon.c:263,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gicon.c:236,1
    - Dst: g_object_get
      Src: /src/glib/gio/gicon.c:243,1
    - Dst: g_string_free
      Src: /src/glib/gio/gicon.c:268,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:216,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:217,1
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gicon.c:225,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gicon.c:229,1
    - Dst: g_icon_to_string_tokenized
      Src: /src/glib/gio/gicon.c:265,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gicon.c:217,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:231,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gicon.c:251,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gicon.c:238,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 272
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 272
    functionName: g_icon_to_string
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_strdup
    - g_string_new
    - g_free
    - g_file_get_uri
    - G_IS_ICON
    - g_file_get_path
    - G_FILE_ICON
    - g_icon_to_string_tokenized
    - G_IS_THEMED_ICON
    - g_strfreev
    - g_file_icon_get_file
    - G_IS_FILE_ICON
    - g_string_free
    - g_file_is_native
    - g_return_val_if_fail
    - g_object_get
    - g_utf8_validate
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_icon_to_string (GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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
    - Dst: g_type_ensure
      Src: /src/glib/gio/gicon.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    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_return_val_if_fail
      Src: /src/glib/gio/gicon.c:448,1
    - Dst: ensure_builtin_icon_types
      Src: /src/glib/gio/gicon.c:454,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gicon.c:461,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gicon.c:456,1
    - Dst: g_icon_new_for_string_simple
      Src: /src/glib/gio/gicon.c:450,1
    - Dst: g_icon_new_from_tokens
      Src: /src/glib/gio/gicon.c:462,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gicon.c:463,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gicon.c:466,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:469,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - str
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 472
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 472
    functionName: g_icon_new_for_string
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - _
    - ensure_builtin_icon_types
    - g_set_error_literal
    - g_icon_new_for_string_simple
    - g_strsplit
    - g_str_has_prefix
    - g_strfreev
    - g_icon_new_from_tokens
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_icon_new_for_string (const gchar *str, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gicon.c:524,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gicon.c:533,1
    - Dst: g_icon_deserialize_emblem
      Src: /src/glib/gio/gicon.c:537,1
    - Dst: g_emblemed_icon_new
      Src: /src/glib/gio/gicon.c:531,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/gicon.c:525,1
    - Dst: g_emblemed_icon_add_emblem
      Src: /src/glib/gio/gicon.c:541,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gicon.c:541,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:542,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:545,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:548,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:554,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gicon.c:553,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 557
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 557
    functionName: g_icon_deserialize_emblemed
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - g_variant_unref
    - g_object_unref
    - g_variant_get
    - g_variant_iter_free
    - g_emblemed_icon_add_emblem
    - g_emblemed_icon_new
    - G_EMBLEMED_ICON
    - g_icon_deserialize_emblem
    - g_icon_deserialize
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_icon_deserialize_emblemed (GVariant *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:144,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gicon.c:151,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gicon.c:145,1
    - Dst: G_ICON_GET_IFACE
      Src: /src/glib/gio/gicon.c:147,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:145,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gicon.c:154,1
    - Dst: g_string_append
      Src: /src/glib/gio/gicon.c:162,1
    - Dst: g_type_name_from_instance
      Src: /src/glib/gio/gicon.c:162,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gicon.c:164,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gicon.c:172,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gicon.c:170,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gicon.c:180,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/gio/gicon.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - icon
    - s
    argTypes:
    - GIcon*
    - GString*
    constantsTouched: []
    func_position:
      end: 183
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 183
    functionName: g_icon_to_string_tokenized
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_string_append
    - G_ICON_GET_IFACE
    - g_free
    - G_IS_ICON
    - g_type_name_from_instance
    - g_ptr_array_free
    - g_ptr_array_index
    - g_string_append_printf
    - g_string_append_c
    - g_return_val_if_fail
    - g_string_append_uri_escaped
    - g_ptr_array_new
    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:291,1
    - Dst: strchr
      Src: /src/glib/gio/gicon.c:304,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:318,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:328,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:339,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gicon.c:333,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:353,1
    - Dst: g_type_from_name
      Src: /src/glib/gio/gicon.c:312,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:315,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:325,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:336,1
    - Dst: strtol
      Src: /src/glib/gio/gicon.c:347,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:295,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gicon.c:323,1
    - Dst: g_assert
      Src: /src/glib/gio/gicon.c:360,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:367,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:378,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gicon.c:385,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:298,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gio/gicon.c:359,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:350,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:364,1
    - Dst: g_uri_unescape_string
      Src: /src/glib/gio/gicon.c:377,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 2
    argNames:
    - tokens
    - error
    argTypes:
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 387
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 387
    functionName: g_icon_new_from_tokens
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_type_from_name
    - strtol
    - _
    - g_free
    - g_assert
    - g_uri_unescape_string
    - g_type_class_unref
    - g_type_interface_peek
    - g_type_is_a
    - strchr
    - g_strv_length
    - g_type_class_ref
    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:483,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/gicon.c:487,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gicon.c:496,1
    - Dst: g_variant_lookup
      Src: /src/glib/gio/gicon.c:491,1
    - Dst: g_enum_get_value_by_nick
      Src: /src/glib/gio/gicon.c:497,1
    - Dst: g_emblem_new_with_origin
      Src: /src/glib/gio/gicon.c:499,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gicon.c:500,1
    - Dst: g_emblem_new
      Src: /src/glib/gio/gicon.c:505,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:507,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:510,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:511,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 514
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 514
    functionName: g_icon_deserialize_emblem
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_variant_unref
    - g_type_class_unref
    - g_variant_get
    - g_object_unref
    - g_enum_get_value_by_nick
    - g_emblem_new_with_origin
    - g_emblem_new
    - g_type_class_ref
    - g_icon_deserialize
    linkageType: ''
    returnType: GEmblem*
    signature: 'static GEmblem *g_icon_deserialize_emblem (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:100,1
    - Dst: G_ICON_GET_IFACE
      Src: /src/glib/gio/gicon.c:102,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gicon.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - icon
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: g_icon_hash
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - G_ICON_GET_IFACE
    - g_return_val_if_fail
    - G_IS_ICON
    linkageType: ''
    returnType: guint
    signature: 'guint g_icon_hash (gconstpointer icon) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gicon.c:409,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/gicon.c:414,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gicon.c:418,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:415,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gicon.c:413,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:420,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 423
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 423
    functionName: g_icon_new_for_string_simple
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_uri_parse_scheme
    - g_free
    - g_object_unref
    - g_file_icon_new
    - g_themed_icon_new
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_icon_new_for_string_simple (const gchar *str) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:577,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gicon.c:589,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:599,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gicon.c:597,1
    - Dst: g_themed_icon_new_from_names
      Src: /src/glib/gio/gicon.c:607,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gicon.c:616,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:626,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:630,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/gicon.c:635,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gicon.c:578,1
    - Dst: g_icon_new_for_string_simple
      Src: /src/glib/gio/gicon.c:586,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:593,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:601,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:608,1
    - Dst: g_bytes_icon_new
      Src: /src/glib/gio/gicon.c:615,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:618,1
    - Dst: g_icon_deserialize_emblem
      Src: /src/glib/gio/gicon.c:622,1
    - Dst: G_ICON
      Src: /src/glib/gio/gicon.c:624,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gicon.c:626,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:578,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:577,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gicon.c:597,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:601,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:610,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/gio/gicon.c:614,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:618,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:626,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:641,1
    - Dst: g_icon_deserialize_emblemed
      Src: /src/glib/gio/gicon.c:628,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:585,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gicon.c:586,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:593,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/gicon.c:598,1
    - Dst: g_variant_get_strv
      Src: /src/glib/gio/gicon.c:606,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:610,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gicon.c:618,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gicon.c:636,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 644
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 644
    functionName: g_icon_deserialize
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_themed_icon_new_from_names
    - g_return_val_if_fail
    - G_VFS_GET_CLASS
    - g_file_new_for_commandline_arg
    - g_icon_deserialize_emblemed
    - g_vfs_get_default
    - g_file_icon_new
    - g_object_unref
    - g_bytes_unref
    - G_ICON
    - g_variant_get_data_as_bytes
    - g_variant_get_string
    - g_variant_unref
    - g_variant_get
    - g_icon_new_for_string_simple
    - g_bytes_icon_new
    - g_variant_get_strv
    - g_str_equal
    - G_VARIANT_TYPE
    - g_free
    - g_icon_deserialize_emblem
    - g_variant_is_of_type
    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:666,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gicon.c:678,1
    - Dst: g_critical
      Src: /src/glib/gio/gicon.c:670,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gicon.c:670,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:680,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gicon.c:680,1
    - Dst: g_critical
      Src: /src/glib/gio/gicon.c:682,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gicon.c:683,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gicon.c:683,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 690
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 690
    functionName: g_icon_serialize
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - G_ICON_GET_IFACE
    - g_variant_get_type_string
    - g_variant_unref
    - g_critical
    - G_OBJECT_TYPE_NAME
    - g_variant_take_ref
    - g_variant_is_of_type
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_icon_serialize (GIcon *icon) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gunixsocketaddress.c:104,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gunixsocketaddress.c:122,1
    - Dst: g_strlcpy
      Src: /src/glib/gio/gunixsocketaddress.c:115,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gunixsocketaddress.c:112,1
    - Dst: strlen
      Src: /src/glib/gio/gunixsocketaddress.c:117,1
    - Dst: MIN
      Src: /src/glib/gio/gunixsocketaddress.c:127,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixsocketaddress.c:130,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gunixsocketaddress.c:139,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gunixsocketaddress.c:145,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gunixsocketaddress.c:146,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixsocketaddress.c:150,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 152
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 152
    functionName: g_unix_socket_address_set_property
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_value_get_string
    - MIN
    - g_value_get_enum
    - g_value_get_boxed
    - g_value_get_boolean
    - G_UNIX_SOCKET_ADDRESS
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_strlcpy
    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:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    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:220,1
    - Dst: g_unix_socket_address_get_native_size
      Src: /src/glib/gio/gunixsocketaddress.c:224,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixsocketaddress.c:228,1
    - Dst: g_assert
      Src: /src/glib/gio/gunixsocketaddress.c:225,1
    - Dst: _
      Src: /src/glib/gio/gunixsocketaddress.c:229,1
    - Dst: memset
      Src: /src/glib/gio/gunixsocketaddress.c:234,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixsocketaddress.c:244,1
    - Dst: g_unix_socket_address_abstract_names_supported
      Src: /src/glib/gio/gunixsocketaddress.c:249,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixsocketaddress.c:251,1
    - Dst: _
      Src: /src/glib/gio/gunixsocketaddress.c:252,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixsocketaddress.c:257,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 4
    argNames:
    - address
    - dest
    - destlen
    - error
    argTypes:
    - GSocketAddress*
    - gpointer
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 262
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 262
    functionName: g_unix_socket_address_to_native
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_unix_socket_address_get_native_size
    - _
    - g_assert
    - strcpy
    - memset
    - g_unix_socket_address_abstract_names_supported
    - G_UNIX_SOCKET_ADDRESS
    - g_set_error_literal
    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:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSocketConnectableIface*
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 330
    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:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    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:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - path
    - path_len
    argTypes:
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 415
    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: 1
    argNames:
    - address
    argTypes:
    - GUnixSocketAddress*
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 505
    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: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    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:201,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gunixsocketaddress.c:208,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gunixsocketaddress.c:206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: g_unix_socket_address_get_native_size
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - G_UNIX_SOCKET_ADDRESS
    - G_STRUCT_OFFSET
    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:160,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/gunixsocketaddress.c:171,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gunixsocketaddress.c:172,1
    - Dst: g_byte_array_sized_new
      Src: /src/glib/gio/gunixsocketaddress.c:170,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gunixsocketaddress.c:166,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gunixsocketaddress.c:176,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gunixsocketaddress.c:182,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixsocketaddress.c:186,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 188
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 188
    functionName: g_unix_socket_address_get_property
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_byte_array_sized_new
    - g_value_set_string
    - g_value_set_enum
    - G_UNIX_SOCKET_ADDRESS
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_take_boxed
    - g_byte_array_append
    - g_value_set_boolean
    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:267,1
    - Dst: P_
      Src: /src/glib/gio/gunixsocketaddress.c:280,1
    - Dst: G_SOCKET_ADDRESS_CLASS
      Src: /src/glib/gio/gunixsocketaddress.c:268,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixsocketaddress.c:277,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gunixsocketaddress.c:279,1
    - Dst: P_
      Src: /src/glib/gio/gunixsocketaddress.c:281,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixsocketaddress.c:286,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gunixsocketaddress.c:287,1
    - Dst: P_
      Src: /src/glib/gio/gunixsocketaddress.c:288,1
    - Dst: P_
      Src: /src/glib/gio/gunixsocketaddress.c:289,1
    - Dst: P_
      Src: /src/glib/gio/gunixsocketaddress.c:305,1
    - Dst: P_
      Src: /src/glib/gio/gunixsocketaddress.c:306,1
    - Dst: P_
      Src: /src/glib/gio/gunixsocketaddress.c:313,1
    - Dst: P_
      Src: /src/glib/gio/gunixsocketaddress.c:314,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixsocketaddress.c:311,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixsocketaddress.c:303,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gunixsocketaddress.c:304,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gunixsocketaddress.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixSocketAddressClass*
    constantsTouched: []
    func_position:
      end: 320
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 320
    functionName: g_unix_socket_address_class_init
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_boolean
    - G_SOCKET_ADDRESS_CLASS
    - g_param_spec_string
    - g_param_spec_boxed
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - P_
    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:340,1
    - Dst: g_unix_socket_address_get_path_len
      Src: /src/glib/gio/gunixsocketaddress.c:347,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixsocketaddress.c:344,1
    - Dst: g_unix_socket_address_get_path
      Src: /src/glib/gio/gunixsocketaddress.c:346,1
    - Dst: g_string_sized_new
      Src: /src/glib/gio/gunixsocketaddress.c:348,1
    - Dst: g_ascii_isprint
      Src: /src/glib/gio/gunixsocketaddress.c:356,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gunixsocketaddress.c:357,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gunixsocketaddress.c:359,1
    - Dst: g_string_free
      Src: /src/glib/gio/gunixsocketaddress.c:362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 363
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 363
    functionName: g_unix_socket_address_connectable_to_string
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_unix_socket_address_get_path
    - g_strdup
    - g_string_sized_new
    - g_string_append_printf
    - g_unix_socket_address_get_path_len
    - g_string_append_c
    - g_string_free
    - G_UNIX_SOCKET_ADDRESS
    - g_ascii_isprint
    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:368,1
    - Dst: memset
      Src: /src/glib/gio/gunixsocketaddress.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GUnixSocketAddress*
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 373
    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:470,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixsocketaddress.c:476,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/gunixsocketaddress.c:474,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/gunixsocketaddress.c:481,1
    - Dst: g_byte_array_sized_new
      Src: /src/glib/gio/gunixsocketaddress.c:472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - path
    - path_len
    - type
    argTypes:
    - gchar*
    - gint
    - GUnixSocketAddressType
    constantsTouched: []
    func_position:
      end: 484
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 484
    functionName: g_unix_socket_address_new_with_type
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - strlen
    - g_byte_array_sized_new
    - g_byte_array_unref
    - g_object_new
    - 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: 523
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 523
    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: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    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: 577
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 577
    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:
    - MAKE_HRESULT
    - HRESULT_CODE
    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: 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: IXmlReader_SetInput
      Src: /src/glib/gio/gwin32packageparser.c:531,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:532,1
    - Dst: IXmlReader_IsEOF
      Src: /src/glib/gio/gwin32packageparser.c:548,1
    - Dst: IXmlReader_Release
      Src: /src/glib/gio/gwin32packageparser.c:557,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:542,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:544,1
    - Dst: xml_parser_iteration
      Src: /src/glib/gio/gwin32packageparser.c:549,1
    - Dst: CreateFileW
      Src: /src/glib/gio/gwin32packageparser.c:499,1
    - Dst: IStream_Release
      Src: /src/glib/gio/gwin32packageparser.c:558,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:555,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:502,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:503,1
    - Dst: g_win32_file_sync_stream_new
      Src: /src/glib/gio/gwin32packageparser.c:507,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:534,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:541,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_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
    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_win32_file_sync_stream_new
    - g_clear_pointer
    - sax_CreateXmlReader
    - CloseHandle
    - g_ptr_array_new_full
    - g_warning
    - IXmlReader_Release
    - FAILED
    - CreateFileW
    - GetLastError
    - IXmlReader_IsEOF
    - xml_parser_iteration
    - IStream_Release
    - 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_assert
      Src: /src/glib/gio/gwin32packageparser.c:90,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gwin32packageparser.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - gunichar2*
    - gssize
    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:205,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:272,1
    - Dst: canned_com_error_handler_pkg_named
      Src: /src/glib/gio/gwin32packageparser.c:391,1
    - Dst: IPackageId_get_Name
      Src: /src/glib/gio/gwin32packageparser.c:368,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: 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: IPackage_get_InstalledLocation
      Src: /src/glib/gio/gwin32packageparser.c:390,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:366,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: IPackageId_get_FullName
      Src: /src/glib/gio/gwin32packageparser.c:365,1
    - Dst: canned_com_error_handler
      Src: /src/glib/gio/gwin32packageparser.c:316,1
    - Dst: CoUninitialize
      Src: /src/glib/gio/gwin32packageparser.c:476,1
    - Dst: FreeLibrary
      Src: /src/glib/gio/gwin32packageparser.c:480,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:354,1
    - Dst: IIterable_First
      Src: /src/glib/gio/gwin32packageparser.c:315,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32packageparser.c:321,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:209,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32packageparser.c:241,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:245,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:263,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:363,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: 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: IUnknown_QueryInterface
      Src: /src/glib/gio/gwin32packageparser.c:356,1
    - Dst: IIterator_Release
      Src: /src/glib/gio/gwin32packageparser.c:468,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:218,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: 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: IPackageId_Release
      Src: /src/glib/gio/gwin32packageparser.c:461,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: 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: LoadedWindowsGetStringRawBuffer
      Src: /src/glib/gio/gwin32packageparser.c:375,1
    - Dst: LoadedWindowsDeleteString
      Src: /src/glib/gio/gwin32packageparser.c:439,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: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:369,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: 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: LoadedWindowsGetStringRawBuffer
      Src: /src/glib/gio/gwin32packageparser.c:402,1
    - Dst: canned_com_error_handler_pkg_named
      Src: /src/glib/gio/gwin32packageparser.c:397,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: IPackageId_get_FamilyName
      Src: /src/glib/gio/gwin32packageparser.c:396,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: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:357,1
    - Dst: IUnknown_QueryInterface
      Src: /src/glib/gio/gwin32packageparser.c:393,1
    - Dst: LoadedWindowsGetStringRawBuffer
      Src: /src/glib/gio/gwin32packageparser.c:376,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: LoadedWindowsDeleteString
      Src: /src/glib/gio/gwin32packageparser.c:445,1
    - Dst: IUnknown_Release
      Src: /src/glib/gio/gwin32packageparser.c:452,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:236,1
    - Dst: IPackage_get_Id
      Src: /src/glib/gio/gwin32packageparser.c:362,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:403,1
    - Dst: IIterator_get_Current
      Src: /src/glib/gio/gwin32packageparser.c:353,1
    - Dst: canned_com_error_handler
      Src: /src/glib/gio/gwin32packageparser.c:313,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:406,1
    - Dst: IIterator_MoveNext
      Src: /src/glib/gio/gwin32packageparser.c:428,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: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:360,1
    - Dst: IIterable_Release
      Src: /src/glib/gio/gwin32packageparser.c:470,1
    - Dst: IUnknown_QueryInterface
      Src: /src/glib/gio/gwin32packageparser.c:359,1
    - Dst: LoadLibraryW
      Src: /src/glib/gio/gwin32packageparser.c:223,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:236,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32packageparser.c:232,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: LoadedWindowsDeleteString
      Src: /src/glib/gio/gwin32packageparser.c:443,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: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:227,1
    - Dst: IPackage2_Release
      Src: /src/glib/gio/gwin32packageparser.c:454,1
    - Dst: IPackage_Release
      Src: /src/glib/gio/gwin32packageparser.c:456,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:
    - IPackage_get_Id
    - g_clear_pointer
    - IIterator_get_Current
    - IPackageId_Release
    - IPackage_Release
    - IPackage2_Release
    - g_io_error_from_errno
    - LoadLibraryW
    - IIterable_Release
    - IIterator_get_HasCurrent
    - GetProcAddress
    - IStorageItem_Release
    - IInspectable_QueryInterface
    - canned_com_error_handler_pkg
    - IPackageId_get_FamilyName
    - wcslen
    - IPackage_get_InstalledLocation
    - parse_manifest_file
    - memset
    - IInspectable_Release
    - CoUninitialize
    - FreeLibrary
    - IUnknown_Release
    - LoadedRoActivateInstance
    - canned_com_error_handler_pkg_named
    - g_set_error_literal
    - LoadedWindowsGetStringRawBuffer
    - IStorageItem_get_Path
    - SUCCEEDED
    - memcpy
    - canned_com_error_handler
    - LoadedWindowsDeleteString
    - IIterable_First
    - CoInitializeEx
    - IPackageId_get_FullName
    - IPackageManager_FindPackagesByUserSecurityId
    - IPackageId_get_Name
    - g_set_error
    - IPackageManager_Release
    - IPackage2_get_DisplayName
    - g_new
    - GetLastError
    - LoadedWindowsCreateStringReference
    - IIterator_Release
    - IIterator_MoveNext
    - IUnknown_QueryInterface
    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:607,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:601,1
    - Dst: IXmlReader_GetValue
      Src: /src/glib/gio/gwin32packageparser.c:606,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:599,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:609,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_GetLineNumber
    - IXmlReader_GetValue
    - g_warning
    - FAILED
    - IXmlReader_GetLocalName
    - IXmlReader_GetPrefix
    - IXmlReader_GetLinePosition
    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: 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: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:733,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:796,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:789,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:780,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: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:804,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:823,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:825,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:811,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:695,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32packageparser.c:767,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:681,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32packageparser.c:739,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:751,1
    - Dst: IXmlReader_MoveToNextAttribute
      Src: /src/glib/gio/gwin32packageparser.c:760,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: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:705,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:719,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:770,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_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:656,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:699,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:725,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: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:634,1
    - Dst: xml_parser_get_current_state
      Src: /src/glib/gio/gwin32packageparser.c:641,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:709,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:746,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:710,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:813,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:793,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:648,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:671,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:764,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32packageparser.c:737,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:800,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:750,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32packageparser.c:767,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:747,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:754,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:801,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:704,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32packageparser.c:758,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32packageparser.c:821,1
    - Dst: IXmlReader_IsEmptyElement
      Src: /src/glib/gio/gwin32packageparser.c:647,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:689,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:684,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:651,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:661,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:772,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:784,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32packageparser.c:755,1
    - 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:742,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:785,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:792,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:
    - sax_WindowsGetStringRawBuffer
    - g_clear_pointer
    - g_steal_pointer
    - _wcsicmp
    - xml_parser_get_current_state
    - g_ptr_array_new_full
    - wcslen
    - FAILED
    - IXmlReader_IsEmptyElement
    - IXmlReader_Read
    - memcpy
    - IXmlReader_MoveToNextAttribute
    - g_warning
    - g_wcsdup
    - g_ptr_array_add
    - g_new0
    - g_assert
    - g_new
    - IXmlReader_MoveToFirstAttribute
    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_hash_table_lookup
      Src: /src/glib/gio/gmemorysettingsbackend.c:59,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmemorysettingsbackend.c:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - backend
    - key
    - expected_type
    - default_value
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariantType*
    - gboolean
    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_variant_ref
    - g_hash_table_lookup
    - G_MEMORY_SETTINGS_BACKEND
    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_MEMORY_SETTINGS_BACKEND
      Src: /src/glib/gio/gmemorysettingsbackend.c:121,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
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmemorysettingsbackend.c:123,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_hash_table_lookup
    - G_MEMORY_SETTINGS_BACKEND
    - g_hash_table_remove
    - g_settings_backend_changed
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_settings_backend_reset (GSettingsBackend *backend,
      const gchar *key, gpointer origin_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmemorysettingsbackend.c:98,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmemorysettingsbackend.c:100,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmemorysettingsbackend.c:98,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmemorysettingsbackend.c:98,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_strdup
    - g_variant_ref
    - g_hash_table_insert
    - g_hash_table_remove
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_settings_backend_write_one (gpointer key,
      gpointer value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_permission_new
      Src: /src/glib/gio/gmemorysettingsbackend.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - backend
    - path
    argTypes:
    - GSettingsBackend*
    - gchar*
    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_object_new
      Src: /src/glib/gio/gmemorysettingsbackend.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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_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_strdup
    - G_MEMORY_SETTINGS_BACKEND
    - g_variant_unref
    - g_hash_table_insert
    - g_variant_equal
    - g_variant_ref_sink
    - g_hash_table_lookup
    - 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:
    - 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: 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_hash_table_unref
      Src: /src/glib/gio/gmemorysettingsbackend.c:149,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemorysettingsbackend.c:151,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_OBJECT_CLASS
    - G_MEMORY_SETTINGS_BACKEND
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_launch_default_for_uri_finish
      Src: /src/glib/gio/gio-tool-open.c:48,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-open.c:51,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
    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_app_info_launch_default_for_uri_finish
    - g_free
    - 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: g_option_context_free
      Src: /src/glib/gio/gio-tool-open.c:98,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-open.c:91,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_app_info_launch_default_for_uri_async
      Src: /src/glib/gio/gio-tool-open.c:126,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_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_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: g_error_free
      Src: /src/glib/gio/gio-tool-open.c:90,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-open.c:87,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-open.c:119,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gio-tool-open.c:138,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: 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_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_strdup
      Src: /src/glib/gio/gio-tool-open.c:130,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: show_help
      Src: /src/glib/gio/gio-tool-open.c:97,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_option_context_set_summary
    - g_file_get_uri
    - g_app_info_launch_default_for_uri_async
    - show_help
    - g_file_new_for_commandline_arg
    - g_option_context_free
    - g_object_unref
    - g_option_context_new
    - g_error_free
    - g_strdup_printf
    - g_main_context_iteration
    - g_option_context_set_help_enabled
    - g_strdup
    - g_free
    - g_set_prgname
    - g_uri_parse_scheme
    - g_option_context_parse
    - g_option_context_add_main_entries
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/glib/gio/gio-launch-desktop.c:241,1
    - Dst: execvp
      Src: /src/glib/gio/gio-launch-desktop.c:258,1
    - Dst: snprintf
      Src: /src/glib/gio/gio-launch-desktop.c:248,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
    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:
    - getpid
    - putenv
    - set_up_journal
    - execvp
    - snprintf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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: G_STATIC_ASSERT
      Src: /src/glib/gio/gio-launch-desktop.c:124,1
    - Dst: strlen
      Src: /src/glib/gio/gio-launch-desktop.c:131,1
    - Dst: connect
      Src: /src/glib/gio/gio-launch-desktop.c:133,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: close
      Src: /src/glib/gio/gio-launch-desktop.c:182,1
    - Dst: write_all
      Src: /src/glib/gio/gio-launch-desktop.c:173,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:
    - strlen
    - socket
    - alloca
    - memcpy
    - shutdown
    - close
    - setsockopt
    - connect
    - G_STATIC_ASSERT
    - write_all
    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: getpid
      Src: /src/glib/gio/gio-launch-desktop.c:229,1
    - Dst: fprintf
      Src: /src/glib/gio/gio-launch-desktop.c:227,1
    - Dst: close
      Src: /src/glib/gio/gio-launch-desktop.c:233,1
    - Dst: strerror
      Src: /src/glib/gio/gio-launch-desktop.c:231,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:
    - getpid
    - strrchr
    - fprintf
    - close
    - _g_fd_is_journal
    - journal_stream_fd
    - dup2
    - getenv
    - strerror
    linkageType: ''
    returnType: void
    signature: 'static void set_up_journal (const char *argv1) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:424,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsubprocesslauncher.c:427,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocesslauncher.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: g_subprocess_launcher_set_stdin_file_path
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_strdup
    - verify_disposition
    - 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:589,1
    - Dst: assign_fd
      Src: /src/glib/gio/gsubprocesslauncher.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - fd
    argTypes:
    - GSubprocessLauncher*
    - gint
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: g_subprocess_launcher_take_stderr_fd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - assign_fd
    - verify_disposition
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_take_stderr_fd (GSubprocessLauncher *self,
      gint fd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:389,1
    - Dst: fcntl
      Src: /src/glib/gio/gsubprocesslauncher.c:396,1
    - Dst: fcntl
      Src: /src/glib/gio/gsubprocesslauncher.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - fd_ptr
    - fd
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 400
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 400
    functionName: assign_fd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - fcntl
    - close
    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:554,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsubprocesslauncher.c:557,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocesslauncher.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 559
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 559
    functionName: g_subprocess_launcher_set_stderr_file_path
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_strdup
    - verify_disposition
    - 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:777,1
    - Dst: g_subprocess_set_launcher
      Src: /src/glib/gio/gsubprocesslauncher.c:794,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsubprocesslauncher.c:790,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsubprocesslauncher.c:782,1
    - Dst: g_initable_init
      Src: /src/glib/gio/gsubprocesslauncher.c:796,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/gsubprocesslauncher.c:796,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocesslauncher.c:798,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - launcher
    - argv
    - error
    argTypes:
    - GSubprocessLauncher*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 803
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 803
    functionName: g_subprocess_launcher_spawnv
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_object_new
    - g_initable_init
    - g_object_unref
    - g_subprocess_set_launcher
    - G_INITABLE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSubprocess*
    signature: 'GSubprocess *g_subprocess_launcher_spawnv (GSubprocessLauncher *launcher,
      const gchar * const *argv, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:118,1
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:119,1
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GSubprocessFlags
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: verify_flags
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_disposition
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean verify_flags (GSubprocessFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_environ_getenv
      Src: /src/glib/gio/gsubprocesslauncher.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - self
    - variable
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    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:524,1
    - Dst: assign_fd
      Src: /src/glib/gio/gsubprocesslauncher.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - fd
    argTypes:
    - GSubprocessLauncher*
    - gint
    constantsTouched: []
    func_position:
      end: 526
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 526
    functionName: g_subprocess_launcher_take_stdout_fd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - assign_fd
    - verify_disposition
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_take_stdout_fd (GSubprocessLauncher *self,
      gint fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS_LAUNCHER
      Src: /src/glib/gio/gsubprocesslauncher.c:127,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gsubprocesslauncher.c:132,1
    - Dst: verify_flags
      Src: /src/glib/gio/gsubprocesslauncher.c:131,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gsubprocesslauncher.c:131,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocesslauncher.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: g_subprocess_launcher_set_property
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_get_flags
    - G_SUBPROCESS_LAUNCHER
    - 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_environ_setenv
      Src: /src/glib/gio/gsubprocesslauncher.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - self
    - variable
    - value
    - overwrite
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    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:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - self
    - variable
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    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:376,1
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:378,1
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:377,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - self
    - flags
    argTypes:
    - GSubprocessLauncher*
    - GSubprocessFlags
    constantsTouched: []
    func_position:
      end: 380
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 380
    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:488,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocesslauncher.c:490,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsubprocesslauncher.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 493
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 493
    functionName: g_subprocess_launcher_set_stdout_file_path
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_strdup
    - verify_disposition
    - 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:738,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocesslauncher.c:739,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gsubprocesslauncher.c:741,1
    - Dst: va_start
      Src: /src/glib/gio/gsubprocesslauncher.c:743,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocesslauncher.c:744,1
    - Dst: va_arg
      Src: /src/glib/gio/gsubprocesslauncher.c:745,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocesslauncher.c:746,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocesslauncher.c:748,1
    - Dst: va_end
      Src: /src/glib/gio/gsubprocesslauncher.c:749,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/gsubprocesslauncher.c:751,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsubprocesslauncher.c:753,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - launcher
    - error
    - argv0
    - '...'
    argTypes:
    - GSubprocessLauncher*
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 757
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 757
    functionName: g_subprocess_launcher_spawn
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - va_end
    - g_subprocess_launcher_spawnv
    - g_ptr_array_free
    - va_start
    - g_return_val_if_fail
    - va_arg
    - 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:202,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsubprocesslauncher.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GSubprocessFlags
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: g_subprocess_launcher_new
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_object_new
    - verify_flags
    linkageType: ''
    returnType: GSubprocessLauncher*
    signature: 'GSubprocessLauncher *g_subprocess_launcher_new (GSubprocessFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/gio/gsubprocesslauncher.c:242,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gsubprocesslauncher.c:243,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gsubprocesslauncher.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - self
    - env
    argTypes:
    - GSubprocessLauncher*
    - gchar**
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: g_subprocess_launcher_set_environ
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_get_environ
    - g_strfreev
    - g_strdupv
    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:336,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsubprocesslauncher.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - cwd
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:461,1
    - Dst: assign_fd
      Src: /src/glib/gio/gsubprocesslauncher.c:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - fd
    argTypes:
    - GSubprocessLauncher*
    - gint
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: g_subprocess_launcher_take_stdin_fd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - assign_fd
    - verify_disposition
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_take_stdin_fd (GSubprocessLauncher *self,
      gint fd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocesslauncher.c:646,1
    - Dst: G_IS_SUBPROCESS_LAUNCHER
      Src: /src/glib/gio/gsubprocesslauncher.c:646,1
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:653,1
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:649,1
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:657,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocesslauncher.c:662,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocesslauncher.c:663,1
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:668,1
    - Dst: g_array_index
      Src: /src/glib/gio/gsubprocesslauncher.c:668,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:670,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:671,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSubprocessLauncher*
    constantsTouched: []
    func_position:
      end: 675
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 675
    functionName: g_subprocess_launcher_close
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_pointer
    - g_array_index
    - G_IS_SUBPROCESS_LAUNCHER
    - close
    - g_return_if_fail
    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: 712
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 712
    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: G_OBJECT_CLASS
      Src: /src/glib/gio/gsubprocesslauncher.c:176,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gsubprocesslauncher.c:182,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsubprocesslauncher.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSubprocessLauncherClass*
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: g_subprocess_launcher_class_init
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_launcher_class_init (GSubprocessLauncherClass
      *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_append_val
      Src: /src/glib/gio/gsubprocesslauncher.c:619,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gsubprocesslauncher.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - self
    - source_fd
    - target_fd
    argTypes:
    - GSubprocessLauncher*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 622
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS_LAUNCHER
      Src: /src/glib/gio/gsubprocesslauncher.c:138,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:141,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:143,1
    - Dst: g_subprocess_launcher_close
      Src: /src/glib/gio/gsubprocesslauncher.c:145,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:142,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:153,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:154,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsubprocesslauncher.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 157
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 157
    functionName: g_subprocess_launcher_dispose
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_subprocess_launcher_close
    - G_SUBPROCESS_LAUNCHER
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_launcher_dispose (GObject *object) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gsubprocesslauncher.c:80,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsubprocesslauncher.c:93,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsubprocesslauncher.c:100,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/gsubprocesslauncher.c:86,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gsubprocesslauncher.c:96,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsubprocesslauncher.c:103,1
    - Dst: g_critical
      Src: /src/glib/gio/gsubprocesslauncher.c:105,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsubprocesslauncher.c:107,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: 113
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 113
    functionName: verify_disposition
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_type_class_peek
    - g_string_append_printf
    - g_type_class_unref
    - g_critical
    - g_string_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean verify_disposition (const gchar *stream_name, GSubprocessFlags
      filtered_flags, gint fd, const gchar *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_environ
      Src: /src/glib/gio/gsubprocesslauncher.c:162,1
    - Dst: g_array_new
      Src: /src/glib/gio/gsubprocesslauncher.c:169,1
    - Dst: g_array_new
      Src: /src/glib/gio/gsubprocesslauncher.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSubprocessLauncher*
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    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: g_once_init_enter
      Src: /src/glib/gio/gdesktopappinfo.c:390,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gdesktopappinfo.c:394,1
    - Dst: get_valid_current_desktops
      Src: /src/glib/gio/gdesktopappinfo.c:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: get_current_desktops
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - get_valid_current_desktops
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *get_current_desktops (const gchar *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2349
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2349
    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:3680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - desktop_env
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3681
      start: 3677
    functionDepth: 0
    functionLinenumber: 3677
    functionLinenumberEnd: 3681
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:3773,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gdesktopappinfo.c:3777,1
    - Dst: g_key_file_has_group
      Src: /src/glib/gio/gdesktopappinfo.c:3781,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:3783,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/gio/gdesktopappinfo.c:3817,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:3822,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:3837,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdesktopappinfo.c:3931,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3937,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:3945,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:3896,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3964,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3774,1
    - Dst: g_key_file_has_group
      Src: /src/glib/gio/gdesktopappinfo.c:3780,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdesktopappinfo.c:3806,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:3789,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:3784,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:3795,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3836,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:3845,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3859,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdesktopappinfo.c:3866,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3950,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3965,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:3766,1
    - Dst: ensure_dir
      Src: /src/glib/gio/gdesktopappinfo.c:3769,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3888,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:3911,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:3919,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:3922,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3926,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3932,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/gio/gdesktopappinfo.c:3940,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3953,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3869,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3901,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/gdesktopappinfo.c:3958,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:3956,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:3776,1
    - Dst: g_key_file_has_group
      Src: /src/glib/gio/gdesktopappinfo.c:3779,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3790,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3810,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3809,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:3801,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3827,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:3848,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3877,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3884,1
    - Dst: desktop_file_dirs_invalidate_user_config
      Src: /src/glib/gio/gdesktopappinfo.c:3962,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/gio/gdesktopappinfo.c:3891,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3910,1
    - Dst: g_key_file_to_data
      Src: /src/glib/gio/gdesktopappinfo.c:3955,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: 3968
      start: 3750
    functionDepth: 0
    functionLinenumber: 3750
    functionLinenumberEnd: 3968
    functionName: update_mimeapps_list
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    - ensure_dir
    - g_key_file_load_from_file
    - g_strfreev
    - g_key_file_new
    - g_key_file_set_string_list
    - g_key_file_remove_key
    - g_file_set_contents_full
    - g_strcmp0
    - g_key_file_to_data
    - g_key_file_has_group
    - g_key_file_free
    - g_build_filename
    - g_key_file_set_string
    - g_strdup
    - g_free
    - g_assert
    - g_key_file_get_string_list
    - g_new
    - desktop_file_dirs_invalidate_user_config
    - g_key_file_get_keys
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean update_mimeapps_list (const char *desktop_id, const
      char *content_type, UpdateMimeFlags flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/gio/gdesktopappinfo.c:4837,1
    - Dst: reset_total_search_results
      Src: /src/glib/gio/gdesktopappinfo.c:4841,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4847,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4839,1
    - Dst: desktop_file_dir_search
      Src: /src/glib/gio/gdesktopappinfo.c:4847,1
    - Dst: merge_token_results
      Src: /src/glib/gio/gdesktopappinfo.c:4848,1
    - Dst: merge_directory_results
      Src: /src/glib/gio/gdesktopappinfo.c:4850,1
    - Dst: sort_total_search_results
      Src: /src/glib/gio/gdesktopappinfo.c:4853,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:4865,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:4884,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:4886,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4893,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4895,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 1
    argNames:
    - search_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4898
      start: 4825
    functionDepth: 0
    functionLinenumber: 4825
    functionLinenumberEnd: 4898
    functionName: g_desktop_app_info_search
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - merge_token_results
    - desktop_file_dirs_lock
    - desktop_file_dir_search
    - g_ptr_array_index
    - g_str_tokenize_and_fold
    - g_new
    - g_strfreev
    - merge_directory_results
    - sort_total_search_results
    - desktop_file_dirs_unlock
    - reset_total_search_results
    linkageType: ''
    returnType: gchar***
    signature: 'gchar ***g_desktop_app_info_search (const gchar *search_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3686,1
    - Dst: g_desktop_app_info_get_show_in
      Src: /src/glib/gio/gdesktopappinfo.c:3691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 3692
      start: 3683
    functionDepth: 0
    functionLinenumber: 3683
    functionLinenumberEnd: 3692
    functionName: g_desktop_app_info_should_show
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - g_desktop_app_info_get_show_in
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_should_show (GAppInfo *appinfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_config_dir
      Src: /src/glib/gio/gdesktopappinfo.c:3712,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gdesktopappinfo.c:3716,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:3737,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/gdesktopappinfo.c:3730,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdesktopappinfo.c:3740,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdesktopappinfo.c:3740,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdesktopappinfo.c:3742,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3744,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:3720,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdesktopappinfo.c:3724,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/gdesktopappinfo.c:3734,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:3741,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3745,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:3712,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:3716,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gdesktopappinfo.c:3720,1
    - Dst: g_debug
      Src: /src/glib/gio/gdesktopappinfo.c:3727,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdesktopappinfo.c:3736,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdesktopappinfo.c:3736,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdesktopappinfo.c:3738,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - type
    - error
    argTypes:
    - DirType
    - GError**
    constantsTouched: []
    func_position:
      end: 3748
      start: 3702
    functionDepth: 0
    functionLinenumber: 3702
    functionLinenumberEnd: 3748
    functionName: ensure_dir
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_mkdir_with_parents
    - g_strerror
    - g_assert_not_reached
    - g_get_user_config_dir
    - g_get_user_data_dir
    - g_build_filename
    - g_debug
    - g_filename_display_name
    - g_io_error_from_errno
    linkageType: ''
    returnType: char*
    signature: 'static char *ensure_dir (DirType type, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3975,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:3983,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdesktopappinfo.c:3982,1
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:3977,1
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:3988,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3992
      start: 3970
    functionDepth: 0
    functionLinenumber: 3970
    functionLinenumberEnd: 3992
    functionName: g_desktop_app_info_set_as_last_used_for_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - _
    - update_mimeapps_list
    - g_desktop_app_info_ensure_saved
    - 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2333
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2333
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5262,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5262,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5263,1
    - Dst: app_info_has_action
      Src: /src/glib/gio/gdesktopappinfo.c:5264,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5264,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdesktopappinfo.c:5266,1
    - Dst: object_path_from_appid
      Src: /src/glib/gio/gdesktopappinfo.c:5272,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdesktopappinfo.c:5273,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdesktopappinfo.c:5275,1
    - Dst: g_desktop_app_info_make_platform_data
      Src: /src/glib/gio/gdesktopappinfo.c:5276,1
    - Dst: g_desktop_app_info_launch_uris_with_spawn
      Src: /src/glib/gio/gdesktopappinfo.c:5290,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:5300,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:5287,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:5285,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:5294,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:5286,1
    - Dst: g_dbus_connection_flush
      Src: /src/glib/gio/gdesktopappinfo.c:5299,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:5278,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - info
    - action_name
    - launch_context
    argTypes:
    - GDesktopAppInfo*
    - gchar*
    - GAppLaunchContext*
    constantsTouched: []
    func_position:
      end: 5302
      start: 5255
    functionDepth: 0
    functionLinenumber: 5255
    functionLinenumberEnd: 5302
    functionName: g_desktop_app_info_launch_action
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - app_info_has_action
    - g_key_file_get_string
    - g_free
    - g_dbus_connection_call
    - g_desktop_app_info_launch_uris_with_spawn
    - object_path_from_appid
    - g_bus_get_sync
    - g_object_unref
    - g_strdup_printf
    - g_dbus_connection_flush
    - g_desktop_app_info_make_platform_data
    - g_variant_new
    - G_IS_DESKTOP_APP_INFO
    - g_return_if_fail
    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: qsort
      Src: /src/glib/gio/gdesktopappinfo.c:622,1
    - Dst: MAX
      Src: /src/glib/gio/gdesktopappinfo.c:712,1
    - Dst: g_renew
      Src: /src/glib/gio/gdesktopappinfo.c:644,1
    - Dst: MAX
      Src: /src/glib/gio/gdesktopappinfo.c:710,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - first
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 723
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 723
    functionName: merge_token_results
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - MAX
    - g_renew
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void merge_token_results (gboolean first) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_mime_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - dir
    - mime_type
    - hits
    - blocklist
    argTypes:
    - DesktopFileDir*
    - gchar*
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    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:1689,1
    - Dst: desktop_file_dir_reset
      Src: /src/glib/gio/gdesktopappinfo.c:1692,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:1694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1695
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1695
    functionName: desktop_file_dirs_invalidate_user_data
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - desktop_file_dir_reset
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dirs_invalidate_user_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:3499,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
    - Dst: G_TASK
      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_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_launch_uris_finish (GAppInfo *appinfo,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_launch_uris_as_manager_with_fds
      Src: /src/glib/gio/gdesktopappinfo.c:3648,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: 3658
      start: 3637
    functionDepth: 0
    functionLinenumber: 3637
    functionLinenumberEnd: 3658
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 729
    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: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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:422,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdesktopappinfo.c:429,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:426,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:429,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - apps
    - app_name
    - info
    argTypes:
    - GHashTable*
    - gchar*
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: add_to_table_if_appropriate
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_insert
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void add_to_table_if_appropriate (GHashTable *apps, const gchar
      *app_name, GDesktopAppInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_get_all
      Src: /src/glib/gio/gdesktopappinfo.c:1544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dir
    - apps
    argTypes:
    - DesktopFileDir*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1545
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1545
    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_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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdesktopappinfo.c:4923,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4925,1
    - Dst: desktop_file_dir_get_all
      Src: /src/glib/gio/gdesktopappinfo.c:4928,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4930,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4928,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdesktopappinfo.c:4933,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:4934,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:4937,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gdesktopappinfo.c:4940,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4943
      start: 4914
    functionDepth: 0
    functionLinenumber: 4914
    functionLinenumberEnd: 4943
    functionName: g_app_info_get_all
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dirs_lock
    - g_hash_table_destroy
    - g_ptr_array_index
    - desktop_file_dir_get_all
    - g_list_prepend
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_hash_table_new_full
    - desktop_file_dirs_unlock
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/gdesktopappinfo.c:342,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gdesktopappinfo.c:347,1
    - Dst: validate_xdg_desktop
      Src: /src/glib/gio/gdesktopappinfo.c:350,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdesktopappinfo.c:347,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdesktopappinfo.c:346,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:351,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:353,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:355,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:356,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/gio/gdesktopappinfo.c:357,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdesktopappinfo.c:358,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 360
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 360
    functionName: get_valid_current_desktops
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - validate_xdg_desktop
    - g_free
    - g_ptr_array_new_full
    - g_ptr_array_steal
    - g_strsplit
    - g_getenv
    - g_ptr_array_unref
    - g_ptr_array_add
    - g_strv_length
    linkageType: ''
    returnType: char**
    signature: 'static char **get_valid_current_desktops (const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1347,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1356,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1357,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - dir
    - mime_type
    - results
    argTypes:
    - DesktopFileDir*
    - gchar*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1359
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1359
    functionName: desktop_file_dir_unindexed_default_lookup
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - g_ptr_array_add
    - array_contains
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_default_lookup (DesktopFileDir
      *dir, const gchar *mime_type, GPtrArray *results) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_get_app
      Src: /src/glib/gio/gdesktopappinfo.c:1528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - dir
    - desktop_id
    argTypes:
    - DesktopFileDir*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1529
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2496,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gdesktopappinfo.c:2508,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
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - macro
    - uri
    - force_file_uri
    - force_file_uri_macro
    argTypes:
    - char
    - char*
    - gboolean
    - char
    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
    - g_return_val_if_fail
    - expand_macro_single
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_macro_uri (char macro, const char *uri, gboolean
      force_file_uri, char force_file_uri_macro) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gdesktopappinfo.c:367,1
    - Dst: g_ascii_tolower
      Src: /src/glib/gio/gdesktopappinfo.c:376,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gdesktopappinfo.c:379,1
    - Dst: get_valid_current_desktops
      Src: /src/glib/gio/gdesktopappinfo.c:369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 383
    functionName: get_lowercase_current_desktops
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_ascii_tolower
    - get_valid_current_desktops
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *get_lowercase_current_desktops (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_setup_search
      Src: /src/glib/gio/gdesktopappinfo.c:1369,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:1372,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:1372,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - dir
    - results
    - interface
    argTypes:
    - DesktopFileDir*
    - GList**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1373
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1373
    functionName: desktop_file_dir_unindexed_get_implementations
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_lookup
    - desktop_file_dir_unindexed_setup_search
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_get_implementations (DesktopFileDir
      *dir, GList **results, const gchar *interface) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - 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
      Src: /src/glib/gio/gdesktopappinfo.c:2584,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdesktopappinfo.c:2591,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2620,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2566,1
    - Dst: expand_macro_uri
      Src: /src/glib/gio/gdesktopappinfo.c:2561,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_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2618,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdesktopappinfo.c:2619,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2609,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_c
      Src: /src/glib/gio/gdesktopappinfo.c:2628,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2602,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2611,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_string_append
    - g_free
    - expand_macro_uri
    - g_string_append_c
    - g_shell_quote
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void expand_macro (char macro, GString *exec, GDesktopAppInfo
      *info, GList **uri_list) '
  - 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_list_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_data_free (LaunchUrisData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1486,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1489,1
    - Dst: g_local_file_monitor_new_in_worker
      Src: /src/glib/gio/gdesktopappinfo.c:1500,1
    - Dst: desktop_file_dir_get_alternative_dir
      Src: /src/glib/gio/gdesktopappinfo.c:1491,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1488,1
    - Dst: desktop_file_dir_ref
      Src: /src/glib/gio/gdesktopappinfo.c:1502,1
    - Dst: desktop_file_dir_unindexed_init
      Src: /src/glib/gio/gdesktopappinfo.c:1505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1508
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1508
    functionName: desktop_file_dir_init
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_local_file_monitor_new_in_worker
    - desktop_file_dir_unindexed_init
    - g_assert
    - desktop_file_dir_get_alternative_dir
    - desktop_file_dir_ref
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_init (DesktopFileDir *dir) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdesktopappinfo.c:2650,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:2651,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdesktopappinfo.c:2655,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_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:
    - g_string_new
    - _
    - expand_macro
    - g_string_append_c
    - g_shell_parse_argv
    - g_string_free
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean expand_application_parameters (GDesktopAppInfo *info,
      const gchar *exec_line, GList **uris, int *argc, char ***argv, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3384,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_task_return_error
      Src: /src/glib/gio/gdesktopappinfo.c:3392,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_DBUS_CONNECTION
    - G_TASK
    - g_dbus_connection_call_finish
    - g_variant_unref
    - g_object_unref
    - g_steal_pointer
    - g_task_return_boolean
    - g_task_return_error
    - g_dbus_error_strip_remote_error
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_with_dbus_cb (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - 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: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdesktopappinfo.c:2733,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdesktopappinfo.c:2731,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_strdup
    - g_free
    - g_assert
    - GLIB_PRIVATE_CALL
    - g_new
    - g_debug
    - G_N_ELEMENTS
    - g_return_val_if_fail
    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_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
    - g_object_unref
    - g_task_return_boolean
    - g_dbus_connection_flush_finish
    - G_DBUS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_flush_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/glib/gio/gdesktopappinfo.c:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 736
    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:818,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:819,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:820,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdesktopappinfo.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 823
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 823
    functionName: free_mime_tweaks
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_strfreev
    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:1153,1
    - Dst: memory_index_add_token
      Src: /src/glib/gio/gdesktopappinfo.c:1159,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1162,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1161,1
    - Dst: memory_index_add_token
      Src: /src/glib/gio/gdesktopappinfo.c:1156,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: 1163
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1163
    functionName: memory_index_add_string
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - memory_index_add_token
    - g_strfreev
    - 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: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:2113,1
    - Dst: g_desktop_app_info_new_from_filename_unlocked
      Src: /src/glib/gio/gdesktopappinfo.c:2115,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:2117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2120
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2120
    functionName: g_desktop_app_info_new_from_filename
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dirs_unlock
    - desktop_file_dirs_lock
    - g_desktop_app_info_new_from_filename_unlocked
    linkageType: ''
    returnType: GDesktopAppInfo*
    signature: 'GDesktopAppInfo *g_desktop_app_info_new_from_filename (const char
      *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5123,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5123,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:5125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - info
    - key
    - length
    argTypes:
    - GDesktopAppInfo*
    - char*
    - gsize*
    constantsTouched: []
    func_position:
      end: 5127
      start: 5118
    functionDepth: 0
    functionLinenumber: 5118
    functionLinenumberEnd: 5127
    functionName: g_desktop_app_info_get_string_list
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_DESKTOP_APP_INFO
    - g_key_file_get_string_list
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_desktop_app_info_get_string_list (GDesktopAppInfo *info,
      const char *key, gsize *length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/glib/gio/gdesktopappinfo.c:743,1
    - Dst: g_renew
      Src: /src/glib/gio/gdesktopappinfo.c:746,1
    - Dst: memcpy
      Src: /src/glib/gio/gdesktopappinfo.c:750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 758
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 758
    functionName: merge_directory_results
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - MAX
    - memcpy
    - g_renew
    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:832,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:841,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdesktopappinfo.c:838,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:833,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdesktopappinfo.c:837,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - dir
    - mime_type
    argTypes:
    - DesktopFileDir*
    - gchar*
    constantsTouched: []
    func_position:
      end: 844
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 844
    functionName: desktop_file_dir_unindexed_get_tweaks
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - g_slice_new0
    - g_hash_table_insert
    - _g_unix_content_type_unalias
    - g_hash_table_lookup
    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:1168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1169
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1169
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdesktopappinfo.c:1406,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1412,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:1409,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/gio/gdesktopappinfo.c:1408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - config_dir
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1413
    functionName: desktop_file_dir_new_for_config
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_atomic_ref_count_init
    - g_steal_pointer
    - g_new0
    linkageType: ''
    returnType: DesktopFileDir*
    signature: 'static DesktopFileDir *desktop_file_dir_new_for_config (const gchar
      *config_dir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdesktopappinfo.c:2086,1
    - Dst: g_desktop_app_info_load_from_keyfile
      Src: /src/glib/gio/gdesktopappinfo.c:2091,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:2092,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:2089,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:2094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 2097
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2097
    functionName: g_desktop_app_info_new_from_keyfile
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_object_new
    - desktop_file_dirs_lock
    - g_desktop_app_info_load_from_keyfile
    - g_clear_object
    - desktop_file_dirs_unlock
    linkageType: ''
    returnType: GDesktopAppInfo*
    signature: 'GDesktopAppInfo *g_desktop_app_info_new_from_keyfile (GKeyFile *key_file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5096,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:5098,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - info
    - key
    argTypes:
    - GDesktopAppInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 5100
      start: 5092
    functionDepth: 0
    functionLinenumber: 5092
    functionLinenumberEnd: 5100
    functionName: g_desktop_app_info_get_boolean
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_DESKTOP_APP_INFO
    - g_return_val_if_fail
    - g_key_file_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_get_boolean (GDesktopAppInfo *info, const
      char *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdesktopappinfo.c:992,1
    - Dst: desktop_file_dir_unindexed_read_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:1005,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:1004,1
    - Dst: get_lowercase_current_desktops
      Src: /src/glib/gio/gdesktopappinfo.c:1001,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1006,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:1010,1
    - Dst: desktop_file_dir_unindexed_read_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:1011,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1012,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:1025,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:1032,1
    - Dst: desktop_file_dir_unindexed_read_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:1033,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1034,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1027,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1035
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1035
    functionName: desktop_file_dir_unindexed_read_mimeapps_lists
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - desktop_file_dir_unindexed_read_mimeapps_list
    - get_lowercase_current_desktops
    - g_strdup_printf
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_read_mimeapps_lists (DesktopFileDir
      *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5070,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:5073,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5071,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5070,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - info
    - key
    argTypes:
    - GDesktopAppInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 5076
      start: 5066
    functionDepth: 0
    functionLinenumber: 5066
    functionLinenumberEnd: 5076
    functionName: g_desktop_app_info_get_locale_string
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_DESKTOP_APP_INFO
    - g_key_file_get_locale_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_desktop_app_info_get_locale_string (GDesktopAppInfo *info,
      const char *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5211,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5211,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5212,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5213,1
    - Dst: app_info_has_action
      Src: /src/glib/gio/gdesktopappinfo.c:5213,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:5215,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:5216,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:5217,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:5225,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:5225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - info
    - action_name
    argTypes:
    - GDesktopAppInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5228
      start: 5204
    functionDepth: 0
    functionLinenumber: 5204
    functionLinenumberEnd: 5228
    functionName: g_desktop_app_info_get_action_name
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - app_info_has_action
    - g_key_file_get_locale_string
    - g_strdup
    - g_free
    - _
    - g_strdup_printf
    - G_IS_DESKTOP_APP_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_desktop_app_info_get_action_name (GDesktopAppInfo *info,
      const gchar *action_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_apps_from_dir
      Src: /src/glib/gio/gdesktopappinfo.c:1041,1
    - Dst: desktop_file_dir_unindexed_read_mimeapps_lists
      Src: /src/glib/gio/gdesktopappinfo.c:1043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1044
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5045,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5045,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:5047,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - info
    - key
    argTypes:
    - GDesktopAppInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 5049
      start: 5041
    functionDepth: 0
    functionLinenumber: 5041
    functionLinenumberEnd: 5049
    functionName: g_desktop_app_info_get_string
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_DESKTOP_APP_INFO
    - g_return_val_if_fail
    - g_key_file_get_string
    linkageType: ''
    returnType: char*
    signature: 'char *g_desktop_app_info_get_string (GDesktopAppInfo *info, const
      char *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:5182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - info
    - action_name
    argTypes:
    - GDesktopAppInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5186
      start: 5175
    functionDepth: 0
    functionLinenumber: 5175
    functionLinenumberEnd: 5186
    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: g_object_new
      Src: /src/glib/gio/gdesktopappinfo.c:1051,1
    - Dst: g_desktop_app_info_load_file
      Src: /src/glib/gio/gdesktopappinfo.c:1053,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:1054,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1057
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1057
    functionName: g_desktop_app_info_new_from_filename_unlocked
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_object_new
    - g_desktop_app_info_load_file
    linkageType: ''
    returnType: GDesktopAppInfo*
    signature: 'static GDesktopAppInfo *g_desktop_app_info_new_from_filename_unlocked
      (const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/gdesktopappinfo.c:1113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1116
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1116
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2381
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2381
    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: 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_file_get_path
      Src: /src/glib/gio/gdesktopappinfo.c:2465,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2455,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2461,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_free
      Src: /src/glib/gio/gdesktopappinfo.c:2480,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2479,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:2485,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2486,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 2
    argNames:
    - macro
    - uri
    argTypes:
    - char
    - char*
    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_free
    - g_path_get_basename
    - g_file_new_for_uri
    - g_file_get_path
    - g_object_unref
    - g_path_get_dirname
    - g_shell_quote
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_macro_single (char macro, const char *uri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      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_builder_end
    - g_signal_emit_by_name
    - g_variant_new_string
    - g_clear_pointer
    - g_variant_builder_add
    - g_variant_builder_init
    - g_variant_ref_sink
    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:3999,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:4007,1
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:4001,1
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:4011,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdesktopappinfo.c:4006,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 4014
      start: 3994
    functionDepth: 0
    functionLinenumber: 3994
    functionLinenumberEnd: 4014
    functionName: g_desktop_app_info_set_as_default_for_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - _
    - update_mimeapps_list
    - g_desktop_app_info_ensure_saved
    - 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:4127,1
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:4129,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4129,1
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:4132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 4135
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4135
    functionName: g_desktop_app_info_add_supports_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - update_mimeapps_list
    - g_desktop_app_info_ensure_saved
    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:4148,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4150,1
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:4150,1
    - Dst: update_mimeapps_list
      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: 4156
      start: 4143
    functionDepth: 0
    functionLinenumber: 4143
    functionLinenumberEnd: 4156
    functionName: g_desktop_app_info_remove_supports_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - update_mimeapps_list
    - g_desktop_app_info_ensure_saved
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_remove_supports_type (GAppInfo
      *appinfo, const char *content_type, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1065,1
    - Dst: g_desktop_app_info_new_from_filename_unlocked
      Src: /src/glib/gio/gdesktopappinfo.c:1070,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - dir
    - desktop_id
    argTypes:
    - DesktopFileDir*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1071
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/gdesktopappinfo.c:1126,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:1140,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1130,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdesktopappinfo.c:1140,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: 1142
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1142
    functionName: memory_index_add_token
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_slice_new
    linkageType: ''
    returnType: void
    signature: 'static void memory_index_add_token (MemoryIndex *mi, const gchar *token,
      gint match_category, const gchar *app_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gdesktopappinfo.c:4022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - status
    - data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 4026
      start: 4016
    functionDepth: 0
    functionLinenumber: 4016
    functionLinenumberEnd: 4026
    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: 4141
      start: 4137
    functionDepth: 0
    functionLinenumber: 4137
    functionLinenumberEnd: 4141
    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:4161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4164
      start: 4158
    functionDepth: 0
    functionLinenumber: 4158
    functionLinenumberEnd: 4164
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2363
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2363
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2414,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:2427,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:2432,1
    - Dst: get_current_desktops
      Src: /src/glib/gio/gdesktopappinfo.c:2419,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2414,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:
    - G_IS_DESKTOP_APP_INFO
    - g_return_val_if_fail
    - g_str_equal
    - get_current_desktops
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_get_show_in (GDesktopAppInfo *info, const
      gchar *desktop_env) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_app_name_is_masked
      Src: /src/glib/gio/gdesktopappinfo.c:1189,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:1185,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gdesktopappinfo.c:1194,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdesktopappinfo.c:1201,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:1244,1
    - Dst: memory_index_new
      Src: /src/glib/gio/gdesktopappinfo.c:1178,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1195,1
    - Dst: memory_index_add_token
      Src: /src/glib/gio/gdesktopappinfo.c:1240,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1238,1
    - Dst: memory_index_new
      Src: /src/glib/gio/gdesktopappinfo.c:1177,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdesktopappinfo.c:1184,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1209,1
    - Dst: strcspn
      Src: /src/glib/gio/gdesktopappinfo.c:1219,1
    - Dst: strrchr
      Src: /src/glib/gio/gdesktopappinfo.c:1223,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1241,1
    - Dst: desktop_key_get_name
      Src: /src/glib/gio/gdesktopappinfo.c:1209,1
    - Dst: memory_index_add_string
      Src: /src/glib/gio/gdesktopappinfo.c:1232,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:1192,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1227,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1234,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1246
    functionName: desktop_file_dir_unindexed_setup_search
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_get_locale_string
    - desktop_file_dir_app_name_is_masked
    - g_hash_table_iter_next
    - g_key_file_load_from_file
    - g_strfreev
    - g_strv_contains
    - memory_index_add_token
    - g_key_file_new
    - memory_index_new
    - g_key_file_free
    - g_hash_table_iter_init
    - desktop_key_get_name
    - strcspn
    - g_free
    - g_key_file_get_boolean
    - strrchr
    - g_key_file_get_string_list
    - G_N_ELEMENTS
    - memory_index_add_string
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_setup_search (DesktopFileDir
      *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdesktopappinfo.c:1386,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/gio/gdesktopappinfo.c:1388,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:1389,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - data_dir
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1392
    functionName: desktop_file_dir_new
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - g_steal_pointer
    - g_atomic_ref_count_init
    - g_new0
    linkageType: ''
    returnType: DesktopFileDir*
    signature: 'static DesktopFileDir *desktop_file_dir_new (const gchar *data_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:3166,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:3167,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3168,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3170,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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:4192,1
    - Dst: g_key_file_set_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:4205,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:4229,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4234,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/gdesktopappinfo.c:4241,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:4243,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4245,1
    - Dst: g_close
      Src: /src/glib/gio/gdesktopappinfo.c:4253,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4261,1
    - Dst: run_update_command
      Src: /src/glib/gio/gdesktopappinfo.c:4269,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4262,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4222,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdesktopappinfo.c:4242,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/gdesktopappinfo.c:4255,1
    - Dst: desktop_file_dirs_invalidate_user_data
      Src: /src/glib/gio/gdesktopappinfo.c:4278,1
    - Dst: ensure_dir
      Src: /src/glib/gio/gdesktopappinfo.c:4188,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4196,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4194,1
    - Dst: g_key_file_set_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:4202,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4215,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4219,1
    - Dst: g_key_file_set_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:4225,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:4232,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdesktopappinfo.c:4250,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4258,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4198,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4208,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4211,1
    - Dst: g_key_file_to_data
      Src: /src/glib/gio/gdesktopappinfo.c:4228,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4231,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4233,1
    - Dst: g_mkstemp
      Src: /src/glib/gio/gdesktopappinfo.c:4236,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4244,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4246,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - info
    - error
    argTypes:
    - GDesktopAppInfo*
    - GError**
    constantsTouched: []
    func_position:
      end: 4281
      start: 4168
    functionDepth: 0
    functionLinenumber: 4168
    functionLinenumberEnd: 4281
    functionName: g_desktop_app_info_ensure_saved
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_key_file_set_boolean
    - g_close
    - g_key_file_new
    - g_free
    - _
    - g_path_get_basename
    - g_file_set_contents_full
    - desktop_file_dirs_invalidate_user_data
    - g_key_file_free
    - run_update_command
    - ensure_dir
    - g_key_file_to_data
    - g_strdup_printf
    - g_build_filename
    - g_filename_display_name
    - g_key_file_set_string
    - g_mkstemp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_ensure_saved (GDesktopAppInfo *info,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1255,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:1261,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:1271,1
    - Dst: desktop_file_dir_unindexed_setup_search
      Src: /src/glib/gio/gdesktopappinfo.c:1258,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdesktopappinfo.c:1260,1
    - Dst: add_token_result
      Src: /src/glib/gio/gdesktopappinfo.c:1281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - dir
    - search_token
    argTypes:
    - DesktopFileDir*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1285
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1285
    functionName: desktop_file_dir_unindexed_search
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - add_token_result
    - desktop_file_dir_unindexed_setup_search
    - g_assert
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_search (DesktopFileDir *dir,
      const gchar *search_token) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_task_had_error
      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_dbus_connection_call_finish
      Src: /src/glib/gio/gdesktopappinfo.c:3212,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_variant_builder_init
      Src: /src/glib/gio/gdesktopappinfo.c:3192,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdesktopappinfo.c:3200,1
    - Dst: launch_uris_with_dbus_data_free
      Src: /src/glib/gio/gdesktopappinfo.c:3215,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3183,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3212,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3211,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3205,1
    - Dst: g_app_launch_context_launch_failed
      Src: /src/glib/gio/gdesktopappinfo.c:3186,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdesktopappinfo.c:3200,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_builder_end
    - g_signal_emit_by_name
    - G_DBUS_CONNECTION
    - G_TASK
    - g_variant_new_string
    - g_variant_unref
    - g_variant_new_int32
    - launch_uris_with_dbus_data_free
    - g_variant_builder_add
    - g_variant_builder_init
    - g_app_launch_context_launch_failed
    - g_dbus_connection_call_finish
    - g_variant_ref_sink
    - g_task_had_error
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_with_dbus_signal_cb (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4286,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:4290,1
    - Dst: g_access
      Src: /src/glib/gio/gdesktopappinfo.c:4291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4295
      start: 4283
    functionDepth: 0
    functionLinenumber: 4283
    functionLinenumberEnd: 4295
    functionName: g_desktop_app_info_can_delete
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - strstr
    - g_access
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_can_delete (GAppInfo *appinfo) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:2933,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: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:2993,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3005,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:3032,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdesktopappinfo.c:3058,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3059,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdesktopappinfo.c:3072,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_free
      Src: /src/glib/gio/gdesktopappinfo.c:3039,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:3001,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdesktopappinfo.c:3075,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:3075,1
    - Dst: g_app_launch_context_get_environment
      Src: /src/glib/gio/gdesktopappinfo.c:2908,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_path_is_absolute
      Src: /src/glib/gio/gdesktopappinfo.c:2975,1
    - Dst: g_app_launch_context_launch_failed
      Src: /src/glib/gio/gdesktopappinfo.c:2998,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
      Src: /src/glib/gio/gdesktopappinfo.c:3013,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdesktopappinfo.c:3016,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gdesktopappinfo.c:2982,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3036,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3099,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdesktopappinfo.c:3076,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdesktopappinfo.c:3089,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdesktopappinfo.c:3077,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3033,1
    - Dst: pid_callback
      Src: /src/glib/gio/gdesktopappinfo.c:3065,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gdesktopappinfo.c:2910,1
    - Dst: expand_application_parameters
      Src: /src/glib/gio/gdesktopappinfo.c:2927,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:2963,1
    - Dst: create_files_for_uris
      Src: /src/glib/gio/gdesktopappinfo.c:2954,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/gdesktopappinfo.c:2964,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:2973,1
    - Dst: emit_launch_started
      Src: /src/glib/gio/gdesktopappinfo.c:2970,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:2979,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_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_launch_context_get_startup_notify_id
      Src: /src/glib/gio/gdesktopappinfo.c:2958,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_set_error
      Src: /src/glib/gio/gdesktopappinfo.c:3000,1
    - Dst: g_spawn_async_with_fds
      Src: /src/glib/gio/gdesktopappinfo.c:3042,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3057,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3078,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3088,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdesktopappinfo.c:3020,1
    - Dst: g_app_launch_context_launch_failed
      Src: /src/glib/gio/gdesktopappinfo.c:3055,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdesktopappinfo.c:3076,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3100,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gdesktopappinfo.c:3029,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3091,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:
    - pid_callback
    - _
    - g_clear_list
    - g_clear_pointer
    - notify_desktop_launch
    - g_variant_new_int32
    - g_steal_pointer
    - g_strfreev
    - g_app_launch_context_get_startup_notify_id
    - g_return_val_if_fail
    - g_list_free_full
    - g_environ_setenv
    - g_variant_new_string
    - GLIB_PRIVATE_CALL
    - prepend_terminal_to_vector
    - g_variant_builder_add
    - expand_application_parameters
    - g_list_reverse
    - g_set_error_literal
    - g_signal_emit_by_name
    - g_variant_unref
    - g_list_prepend
    - g_once_init_leave
    - g_app_launch_context_launch_failed
    - g_variant_builder_init
    - g_variant_ref_sink
    - create_files_for_uris
    - emit_launch_started
    - G_APP_INFO
    - g_set_error
    - g_strdup
    - g_spawn_async_with_fds
    - g_get_environ
    - g_free
    - g_environ_getenv
    - g_once_init_enter
    - g_assert
    - g_variant_builder_end
    - g_new
    - g_file_test
    - g_getenv
    - g_app_launch_context_get_environment
    - g_list_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: 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_DESKTOP_APP_INFO
    - g_desktop_app_info_launch_uris_with_spawn
    - g_desktop_app_info_launch_uris_with_dbus
    - g_bus_get_sync
    - g_object_unref
    - g_dbus_connection_flush
    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_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3517,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:3520,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:3521,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:4640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4643
      start: 4637
    functionDepth: 0
    functionLinenumber: 4637
    functionLinenumberEnd: 4643
    functionName: g_app_info_reset_type_associations
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - update_mimeapps_list
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_reset_type_associations (const char *content_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:3110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - appid
    argTypes:
    - gchar*
    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_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: 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_prepend
    - g_desktop_app_info_launch_uris
    - g_list_reverse
    - g_list_free_full
    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: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4773,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4778,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/gdesktopappinfo.c:4786,1
    - Dst: desktop_file_dir_get_implementations
      Src: /src/glib/gio/gdesktopappinfo.c:4776,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4776,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4787,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdesktopappinfo.c:4795,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - interface
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4799
      start: 4766
    functionDepth: 0
    functionLinenumber: 4766
    functionLinenumberEnd: 4799
    functionName: g_desktop_app_info_get_implementations
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_get_implementations
    - g_free
    - desktop_file_dirs_lock
    - g_ptr_array_index
    - g_list_delete_link
    - desktop_file_dirs_unlock
    - g_desktop_app_info_new
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_desktop_app_info_get_implementations (const gchar *interface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4739,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4743,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4742,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/gdesktopappinfo.c:4744,1
    - Dst: g_ascii_strdown
      Src: /src/glib/gio/gdesktopappinfo.c:4741,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - uri_scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4748
      start: 4733
    functionDepth: 0
    functionLinenumber: 4733
    functionLinenumberEnd: 4748
    functionName: g_app_info_get_default_for_uri_scheme
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - g_ascii_strdown
    - g_app_info_get_default_for_type
    - g_strdup_printf
    - g_return_val_if_fail
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_uri_scheme (const char *uri_scheme) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_access
      Src: /src/glib/gio/gdesktopappinfo.c:214,1
    - Dst: g_access
      Src: /src/glib/gio/gdesktopappinfo.c:220,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gdesktopappinfo.c:224,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gdesktopappinfo.c:218,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:227,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:229,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: desktop_file_dir_get_alternative_dir
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_access
    - g_str_equal
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *desktop_file_dir_get_alternative_dir (DesktopFileDir
      *dir) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1426,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gdesktopappinfo.c:1433,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1434,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gdesktopappinfo.c:1432,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1440,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1446,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1452,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1463
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1463
    functionName: desktop_file_dir_reset
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_file_monitor_cancel
    - g_hash_table_unref
    - g_free
    - g_signal_handlers_disconnect_by_func
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_reset (DesktopFileDir *dir) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdesktopappinfo.c:260,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:268,1
    - Dst: desktop_file_dir_reset
      Src: /src/glib/gio/gdesktopappinfo.c:272,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:267,1
    - Dst: desktop_file_dir_get_alternative_dir
      Src: /src/glib/gio/gdesktopappinfo.c:266,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:274,1
    - Dst: g_app_info_monitor_fire
      Src: /src/glib/gio/gdesktopappinfo.c:278,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: 279
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 279
    functionName: desktop_file_dir_changed
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_free
    - desktop_file_dir_get_alternative_dir
    - g_mutex_unlock
    - g_app_info_monitor_fire
    - desktop_file_dir_reset
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_changed (GFileMonitor *monitor, GFile
      *file, GFile *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - data
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 1471
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1471
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:4041,1
    - Dst: g_warning
      Src: /src/glib/gio/gdesktopappinfo.c:4061,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gdesktopappinfo.c:4041,1
    - Dst: g_child_watch_add
      Src: /src/glib/gio/gdesktopappinfo.c:4052,1
    - Dst: g_spawn_async
      Src: /src/glib/gio/gdesktopappinfo.c:4043,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdesktopappinfo.c:4062,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - command
    - subdir
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4066
      start: 4028
    functionDepth: 0
    functionLinenumber: 4028
    functionLinenumberEnd: 4066
    functionName: run_update_command
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - g_spawn_async
    - g_error_free
    - g_child_watch_add
    - g_warning
    - g_build_filename
    - g_get_user_data_dir
    linkageType: ''
    returnType: void
    signature: 'static void run_update_command (char *command, char *subdir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_list_of_mimetypes
      Src: /src/glib/gio/gdesktopappinfo.c:4668,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4674,1
    - Dst: desktop_file_dir_default_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:4680,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4712,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:4700,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4666,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4680,1
    - Dst: desktop_file_dir_mime_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:4684,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4684,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4689,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4693,1
    - Dst: g_app_info_supports_uris
      Src: /src/glib/gio/gdesktopappinfo.c:4697,1
    - Dst: desktop_file_dir_get_app
      Src: /src/glib/gio/gdesktopappinfo.c:4693,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdesktopappinfo.c:4714,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4671,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4670,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdesktopappinfo.c:4715,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/gio/gdesktopappinfo.c:4708,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4716,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - content_type
    - must_support_uris
    argTypes:
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4719
      start: 4656
    functionDepth: 0
    functionLinenumber: 4656
    functionLinenumberEnd: 4719
    functionName: g_app_info_get_default_for_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_supports_uris
    - desktop_file_dirs_lock
    - desktop_file_dir_mime_lookup
    - g_ptr_array_set_size
    - g_ptr_array_index
    - desktop_file_dir_default_lookup
    - g_clear_object
    - g_return_val_if_fail
    - g_strfreev
    - desktop_file_dir_get_app
    - g_ptr_array_unref
    - g_ptr_array_new
    - desktop_file_dirs_unlock
    - get_list_of_mimetypes
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_type (const char *content_type,
      gboolean must_support_uris) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdesktopappinfo.c:1777,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdesktopappinfo.c:1788,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdesktopappinfo.c:1790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDesktopAppInfoClass*
    constantsTouched: []
    func_position:
      end: 1792
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1792
    functionName: g_desktop_app_info_class_init
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_string
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_class_init (GDesktopAppInfoClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 599
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 599
    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:1084,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:1085,1
    - Dst: add_to_table_if_appropriate
      Src: /src/glib/gio/gdesktopappinfo.c:1090,1
    - Dst: g_desktop_app_info_new_from_filename_unlocked
      Src: /src/glib/gio/gdesktopappinfo.c:1090,1
    - Dst: desktop_file_dir_app_name_is_masked
      Src: /src/glib/gio/gdesktopappinfo.c:1087,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - dir
    - apps
    argTypes:
    - DesktopFileDir*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1092
    functionName: desktop_file_dir_unindexed_get_all
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_app_name_is_masked
    - g_hash_table_iter_next
    - g_desktop_app_info_new_from_filename_unlocked
    - g_hash_table_iter_init
    - add_to_table_if_appropriate
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_get_all (DesktopFileDir *dir,
      GHashTable *apps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2294
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2294
    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:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gdesktopappinfo.c:2786,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:2787,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:2790,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - uris
    argTypes:
    - GList*
    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_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4995,1
    - Dst: G_DESKTOP_APP_INFO_LOOKUP_GET_IFACE
      Src: /src/glib/gio/gdesktopappinfo.c:4997,1
    - Dst: G_IS_DESKTOP_APP_INFO_LOOKUP
      Src: /src/glib/gio/gdesktopappinfo.c:4995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - lookup
    - uri_scheme
    argTypes:
    - GDesktopAppInfoLookup*
    - char*
    constantsTouched: []
    func_position:
      end: 5000
      start: 4989
    functionDepth: 0
    functionLinenumber: 4989
    functionLinenumberEnd: 5000
    functionName: g_desktop_app_info_lookup_get_default_for_uri_scheme
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DESKTOP_APP_INFO_LOOKUP
    - G_DESKTOP_APP_INFO_LOOKUP_GET_IFACE
    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: MAX
      Src: /src/glib/gio/gdesktopappinfo.c:608,1
    - Dst: g_renew
      Src: /src/glib/gio/gdesktopappinfo.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - app_name
    - category
    - match_type
    argTypes:
    - gchar*
    - guint16
    - guint16
    constantsTouched: []
    func_position:
      end: 616
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 616
    functionName: add_token_result
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - MAX
    - g_renew
    linkageType: ''
    returnType: void
    signature: 'static void add_token_result (const gchar *app_name, guint16 category,
      guint16 match_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 1797
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1797
    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:2299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2302
      start: 2296
    functionDepth: 0
    functionLinenumber: 2296
    functionLinenumberEnd: 2302
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdesktopappinfo.c:2811,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_dbus_message_set_body
      Src: /src/glib/gio/gdesktopappinfo.c:2845,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:2855,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_get_prgname
      Src: /src/glib/gio/gdesktopappinfo.c:2829,1
    - Dst: g_variant_builder_init
      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_new_bytestring
      Src: /src/glib/gio/gdesktopappinfo.c:2846,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:2811,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdesktopappinfo.c:2832,1
    - Dst: getpid
      Src: /src/glib/gio/gdesktopappinfo.c:2833,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:2827,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:2830,1
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/gdesktopappinfo.c:2842,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gdesktopappinfo.c:2829,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_VARIANT_TYPE
    - getpid
    - g_get_prgname
    - g_dbus_message_new_signal
    - g_dbus_connection_send_message
    - g_object_unref
    - g_variant_builder_add
    - g_getenv
    - g_variant_builder_init
    - g_variant_new
    - g_variant_new_bytestring
    - g_dbus_message_set_body
    - g_utf8_validate
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5022,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 5025
      start: 5002
    functionDepth: 0
    functionLinenumber: 5002
    functionLinenumberEnd: 5025
    functionName: g_desktop_app_info_get_startup_wm_class
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_DESKTOP_APP_INFO
    - g_return_val_if_fail
    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 #GDesktopAppInfo 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:1294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - array
    - str
    argTypes:
    - GPtrArray*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1298
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_start_group
      Src: /src/glib/gio/gdesktopappinfo.c:1885,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1891,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1888,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1904,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1919,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1950,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1964,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1967,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1970,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1980,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1983,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:2006,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdesktopappinfo.c:2032,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1971,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:1897,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1899,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1902,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1926,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1923,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1937,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1938,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdesktopappinfo.c:1949,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1954,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1978,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gdesktopappinfo.c:1992,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:2008,1
    - Dst: strrchr
      Src: /src/glib/gio/gdesktopappinfo.c:2033,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdesktopappinfo.c:2039,1
    - Dst: binary_from_exec
      Src: /src/glib/gio/gdesktopappinfo.c:2016,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2040,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:2007,1
    - Dst: g_key_file_ref
      Src: /src/glib/gio/gdesktopappinfo.c:2049,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:2035,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:1886,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/gio/gdesktopappinfo.c:1934,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1920,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1963,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1965,1
    - Dst: g_key_file_get_locale_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1966,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1968,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1969,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1976,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gdesktopappinfo.c:1996,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2020,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1982,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2043,1
    - Dst: strrchr
      Src: /src/glib/gio/gdesktopappinfo.c:2005,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1998,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1893,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1908,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1936,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdesktopappinfo.c:1916,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1947,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1955,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1956,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1959,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1974,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1975,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1977,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1979,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gdesktopappinfo.c:2011,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/gdesktopappinfo.c:1997,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1981,1
    - Dst: g_new0
      Src: /src/glib/gio/gdesktopappinfo.c:1987,1
    - Dst: g_desktop_app_info_get_desktop_id_for_filename
      Src: /src/glib/gio/gdesktopappinfo.c:2047,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 160
    argCount: 2
    argNames:
    - info
    - key_file
    argTypes:
    - GDesktopAppInfo*
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 2052
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 2052
    functionName: g_desktop_app_info_load_from_keyfile
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_get_locale_string
    - g_key_file_get_string
    - g_path_get_basename
    - g_themed_icon_new
    - g_steal_pointer
    - g_strfreev
    - g_key_file_get_start_group
    - GLIB_PRIVATE_CALL
    - g_file_icon_new
    - g_object_unref
    - strcmp
    - g_key_file_ref
    - g_file_new_for_path
    - g_desktop_app_info_get_desktop_id_for_filename
    - g_dbus_is_name
    - g_shell_parse_argv
    - g_str_equal
    - g_strdup
    - g_free
    - g_new0
    - g_key_file_get_boolean
    - g_assert
    - g_key_file_get_string_list
    - strrchr
    - g_key_file_get_locale_string_list
    - binary_from_exec
    - 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_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4606,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:4617,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4620,1
    - Dst: g_desktop_app_info_get_desktop_ids_for_content_type
      Src: /src/glib/gio/gdesktopappinfo.c:4608,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/gdesktopappinfo.c:4615,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:4622,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4623
      start: 4599
    functionDepth: 0
    functionLinenumber: 4599
    functionLinenumberEnd: 4623
    functionName: g_app_info_get_all_for_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_get_desktop_ids_for_content_type
    - g_list_prepend
    - g_strfreev
    - g_list_reverse
    - g_return_val_if_fail
    - g_desktop_app_info_new
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all_for_type (const char *content_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1309,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1321,1
    - Dst: desktop_file_dir_app_name_is_masked
      Src: /src/glib/gio/gdesktopappinfo.c:1320,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1322,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1321,1
    - Dst: desktop_file_dir_app_name_is_masked
      Src: /src/glib/gio/gdesktopappinfo.c:1332,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1333,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1333,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1334,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 4
    argNames:
    - dir
    - mime_type
    - hits
    - blocklist
    argTypes:
    - DesktopFileDir*
    - gchar*
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1337
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1337
    functionName: desktop_file_dir_unindexed_mime_lookup
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - desktop_file_dir_app_name_is_masked
    - g_ptr_array_add
    - array_contains
    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: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2060,1
    - Dst: g_desktop_app_info_load_from_keyfile
      Src: /src/glib/gio/gdesktopappinfo.c:2065,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gdesktopappinfo.c:2064,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:2062,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/gdesktopappinfo.c:2067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2069
    functionName: g_desktop_app_info_load_file
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_desktop_app_info_load_from_keyfile
    - g_key_file_load_from_file
    - g_key_file_unref
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_load_file (GDesktopAppInfo *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4556,1
    - Dst: g_desktop_app_info_get_desktop_ids_for_content_type
      Src: /src/glib/gio/gdesktopappinfo.c:4558,1
    - Dst: g_desktop_app_info_get_desktop_ids_for_content_type
      Src: /src/glib/gio/gdesktopappinfo.c:4559,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/gdesktopappinfo.c:4575,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:4569,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:4578,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4581,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4582,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:4584,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4585
      start: 4548
    functionDepth: 0
    functionLinenumber: 4548
    functionLinenumberEnd: 4585
    functionName: g_app_info_get_fallback_for_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_get_desktop_ids_for_content_type
    - g_str_equal
    - g_list_prepend
    - g_strfreev
    - g_list_reverse
    - g_return_val_if_fail
    - g_desktop_app_info_new
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_fallback_for_type (const gchar *content_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:302,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdesktopappinfo.c:306,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - dir
    - app_name
    argTypes:
    - DesktopFileDir*
    - gchar*
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 311
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_search
      Src: /src/glib/gio/gdesktopappinfo.c:1599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dir
    - search_token
    argTypes:
    - DesktopFileDir*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1600
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1600
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2217,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2218,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:2224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - appinfo1
    - appinfo2
    argTypes:
    - GAppInfo*
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2225
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2310
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2310
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4468,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4469,1
    - Dst: desktop_file_dir_mime_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:4477,1
    - Dst: get_list_of_mimetypes
      Src: /src/glib/gio/gdesktopappinfo.c:4471,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4473,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4477,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:4481,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4483,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:4485,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdesktopappinfo.c:4487,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4488,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdesktopappinfo.c:4490,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - content_type
    - include_fallback
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4491
      start: 4460
    functionDepth: 0
    functionLinenumber: 4460
    functionLinenumberEnd: 4491
    functionName: g_desktop_app_info_get_desktop_ids_for_content_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - desktop_file_dirs_lock
    - desktop_file_dir_mime_lookup
    - g_ptr_array_free
    - g_ptr_array_index
    - g_strfreev
    - g_ptr_array_new
    - desktop_file_dirs_unlock
    - g_ptr_array_add
    - get_list_of_mimetypes
    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_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2233
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2233
    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:2315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2318
      start: 2312
    functionDepth: 0
    functionLinenumber: 2312
    functionLinenumberEnd: 2318
    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: desktop_file_dir_unindexed_default_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - dir
    - mime_type
    - results
    argTypes:
    - DesktopFileDir*
    - gchar*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1586
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1586
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2286
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2286
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/gio/gdesktopappinfo.c:769,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:784,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/gdesktopappinfo.c:774,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:778,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gdesktopappinfo.c:780,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdesktopappinfo.c:787,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdesktopappinfo.c:789,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:789,1
    - Dst: g_file_test
      Src: /src/glib/gio/gdesktopappinfo.c:791,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:795,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:797,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:800,1
    - Dst: get_apps_from_dir
      Src: /src/glib/gio/gdesktopappinfo.c:796,1
    - Dst: g_dir_close
      Src: /src/glib/gio/gdesktopappinfo.c:803,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - apps
    - dirname
    - prefix
    argTypes:
    - GHashTable**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 804
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 804
    functionName: get_apps_from_dir
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_dir_read_name
    - g_dir_open
    - g_hash_table_insert
    - g_build_filename
    - g_str_has_suffix
    - g_file_test
    - get_apps_from_dir
    - g_strconcat
    - g_hash_table_new_full
    - 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:863,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:877,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:872,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdesktopappinfo.c:864,1
    - Dst: g_renew
      Src: /src/glib/gio/gdesktopappinfo.c:865,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:884,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:890,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 3
    argNames:
    - strv_ptr
    - to_add
    - blocklist
    argTypes:
    - gchar***
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 891
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 891
    functionName: expand_strv
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_strv_length
    - g_renew
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void expand_strv (gchar ***strv_ptr, gchar **to_add, gchar
      * const *blocklist) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_config_dir
      Src: /src/glib/gio/gdesktopappinfo.c:1616,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdesktopappinfo.c:1623,1
    - Dst: g_debug
      Src: /src/glib/gio/gdesktopappinfo.c:1625,1
    - Dst: desktop_file_dir_new_for_config
      Src: /src/glib/gio/gdesktopappinfo.c:1642,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1643,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gdesktopappinfo.c:1651,1
    - Dst: desktop_file_dir_new_for_config
      Src: /src/glib/gio/gdesktopappinfo.c:1648,1
    - Dst: desktop_file_dir_new
      Src: /src/glib/gio/gdesktopappinfo.c:1657,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdesktopappinfo.c:1618,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1629,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gdesktopappinfo.c:1639,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1648,1
    - Dst: g_get_system_config_dirs
      Src: /src/glib/gio/gdesktopappinfo.c:1646,1
    - Dst: desktop_file_dir_ref
      Src: /src/glib/gio/gdesktopappinfo.c:1643,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1657,1
    - Dst: desktop_file_dir_init
      Src: /src/glib/gio/gdesktopappinfo.c:1666,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/gio/gdesktopappinfo.c:1628,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1630,1
    - Dst: desktop_file_dir_new
      Src: /src/glib/gio/gdesktopappinfo.c:1651,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1652,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/gio/gdesktopappinfo.c:1655,1
    - Dst: desktop_file_dir_ref
      Src: /src/glib/gio/gdesktopappinfo.c:1652,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:1665,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:1666,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1667
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1667
    functionName: desktop_file_dirs_lock
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_strcmp0
    - g_clear_pointer
    - g_get_system_config_dirs
    - desktop_file_dir_new
    - g_get_system_data_dirs
    - g_get_user_config_dir
    - g_ptr_array_index
    - g_get_user_data_dir
    - desktop_file_dir_init
    - g_debug
    - desktop_file_dir_ref
    - desktop_file_dir_new_for_config
    - g_ptr_array_set_size
    - g_ptr_array_add
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dirs_lock (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:1741,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdesktopappinfo.c:1746,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdesktopappinfo.c:1750,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1753
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1753
    functionName: g_desktop_app_info_set_property
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - g_value_dup_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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_mutex_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:1672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1673
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1673
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:1840,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdesktopappinfo.c:1854,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:1857,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:1855,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:1844,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:1859,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdesktopappinfo.c:1869,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1871,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - self
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 1872
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1872
    functionName: g_desktop_app_info_get_desktop_id_for_filename
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_path_get_basename
    - g_ptr_array_index
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_steal_pointer
    - strcmp
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'static char *g_desktop_app_info_get_desktop_id_for_filename (GDesktopAppInfo
      *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdesktopappinfo.c:3130,1
    - Dst: create_files_for_uris
      Src: /src/glib/gio/gdesktopappinfo.c:3134,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_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:3143,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: 3
    argNames:
    - info
    - uris
    - launch_context
    argTypes:
    - GDesktopAppInfo*
    - GList*
    - GAppLaunchContext*
    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_variant_builder_end
    - g_variant_new_string
    - g_variant_new_take_string
    - g_variant_builder_add
    - g_steal_pointer
    - g_variant_builder_init
    - g_app_launch_context_get_startup_notify_id
    - create_files_for_uris
    - g_list_free_full
    - G_APP_INFO
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_desktop_app_info_make_platform_data (GDesktopAppInfo
      *info, GList *uris, GAppLaunchContext *launch_context) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3420,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3421,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_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_dbus_connection_flush
      Src: /src/glib/gio/gdesktopappinfo.c:3458,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_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_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_DESKTOP_APP_INFO
    - g_task_get_source_object
    - G_TASK
    - g_bus_get_finish
    - g_desktop_app_info_launch_uris_with_spawn
    - g_clear_object
    - g_desktop_app_info_launch_uris_with_dbus
    - g_object_unref
    - g_steal_pointer
    - g_dbus_connection_flush
    - g_task_return_boolean
    - g_task_return_error
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_bus_get_cb (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:912,1
    - Dst: expand_strv
      Src: /src/glib/gio/gdesktopappinfo.c:957,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:964,1
    - Dst: desktop_file_dir_unindexed_get_tweaks
      Src: /src/glib/gio/gdesktopappinfo.c:956,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:952,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:918,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:961,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:944,1
    - Dst: g_warning
      Src: /src/glib/gio/gdesktopappinfo.c:916,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gdesktopappinfo.c:906,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:926,1
    - Dst: desktop_file_dir_unindexed_get_tweaks
      Src: /src/glib/gio/gdesktopappinfo.c:930,1
    - Dst: expand_strv
      Src: /src/glib/gio/gdesktopappinfo.c:931,1
    - Dst: g_warning
      Src: /src/glib/gio/gdesktopappinfo.c:942,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:970,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:938,1
    - Dst: desktop_file_dir_unindexed_get_tweaks
      Src: /src/glib/gio/gdesktopappinfo.c:974,1
    - Dst: expand_strv
      Src: /src/glib/gio/gdesktopappinfo.c:975,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:905,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:908,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:935,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:979,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:982,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: 983
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 983
    functionName: desktop_file_dir_unindexed_read_mimeapps_list
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_get_string_list
    - g_key_file_free
    - g_warning
    - g_key_file_load_from_file
    - g_strfreev
    - expand_strv
    - desktop_file_dir_unindexed_get_tweaks
    - g_key_file_get_keys
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdesktopappinfo.c:1678,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:1683,1
    - Dst: desktop_file_dir_reset
      Src: /src/glib/gio/gdesktopappinfo.c:1681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1684
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1684
    functionName: desktop_file_dirs_invalidate_user_config
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - desktop_file_dir_reset
    - 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:1761,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:1766,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdesktopappinfo.c:1769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1772
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1772
    functionName: g_desktop_app_info_get_property
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    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:
    - 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_set_object
    - g_new0
    - g_task_set_task_data
    - g_list_copy_deep
    - g_task_new
    - g_task_set_source_tag
    - g_steal_pointer
    - g_bus_get
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:4077,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4084,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:4085,1
    - Dst: ensure_dir
      Src: /src/glib/gio/gdesktopappinfo.c:4080,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4077,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4086,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4087,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4089,1
    - Dst: g_file_test
      Src: /src/glib/gio/gdesktopappinfo.c:4091,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4096,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4107,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/gdesktopappinfo.c:4104,1
    - Dst: run_update_command
      Src: /src/glib/gio/gdesktopappinfo.c:4109,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4111,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4117,1
    - Dst: g_desktop_app_info_set_as_default_for_type
      Src: /src/glib/gio/gdesktopappinfo.c:4113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - appinfo
    - extension
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 4120
      start: 4068
    functionDepth: 0
    functionLinenumber: 4068
    functionLinenumberEnd: 4120
    functionName: g_desktop_app_info_set_as_default_for_extension
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - g_free
    - g_file_set_contents_full
    - run_update_command
    - ensure_dir
    - g_build_filename
    - g_strdup_printf
    - g_file_test
    - g_desktop_app_info_ensure_saved
    - g_desktop_app_info_set_as_default_for_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_set_as_default_for_extension (GAppInfo
      *appinfo, const char *extension, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4350,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:4361,1
    - Dst: binary_from_exec
      Src: /src/glib/gio/gdesktopappinfo.c:4365,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdesktopappinfo.c:4352,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:4363,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:4368,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdesktopappinfo.c:4372,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdesktopappinfo.c:4373,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4374,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:4377,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4379,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4381,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:4379,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - commandline
    - application_name
    - flags
    - error
    argTypes:
    - char*
    - char*
    - GAppInfoCreateFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 4382
      start: 4340
    functionDepth: 0
    functionLinenumber: 4340
    functionLinenumberEnd: 4382
    functionName: g_app_info_create_from_commandline
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _
    - g_object_new
    - g_path_get_basename
    - g_strsplit
    - g_strdup_printf
    - g_strfreev
    - binary_from_exec
    - g_strconcat
    - g_return_val_if_fail
    - G_APP_INFO
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDesktopAppInfoLookupInterface*
    constantsTouched: []
    func_position:
      end: 4965
      start: 4962
    functionDepth: 0
    functionLinenumber: 4962
    functionLinenumberEnd: 4965
    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_ascii_isalnum
      Src: /src/glib/gio/gdesktopappinfo.c:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - desktop
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 332
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdesktopappinfo.c:500,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 502
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 502
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_get_implementations
      Src: /src/glib/gio/gdesktopappinfo.c:1607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - dir
    - results
    - interface
    argTypes:
    - DesktopFileDir*
    - GList**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1608
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1608
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/gio/gdesktopappinfo.c:1821,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - exec
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1822
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1822
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4300,1
    - Dst: g_remove
      Src: /src/glib/gio/gdesktopappinfo.c:4304,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4312,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4310,1
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:4306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4320
      start: 4297
    functionDepth: 0
    functionLinenumber: 4297
    functionLinenumberEnd: 4320
    functionName: g_desktop_app_info_delete
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - g_remove
    - g_free
    - update_mimeapps_list
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_delete (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4516,1
    - Dst: g_list_prepend
      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:4518,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/gdesktopappinfo.c:4525,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4530,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:4532,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4533
      start: 4509
    functionDepth: 0
    functionLinenumber: 4509
    functionLinenumberEnd: 4533
    functionName: g_app_info_get_recommended_for_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_get_desktop_ids_for_content_type
    - g_list_prepend
    - g_strfreev
    - g_list_reverse
    - g_return_val_if_fail
    - g_desktop_app_info_new
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_recommended_for_type (const gchar *content_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/gio/gdesktopappinfo.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAppInfoIface*
    constantsTouched: []
    func_position:
      end: 4414
      start: 4386
    functionDepth: 0
    functionLinenumber: 4386
    functionLinenumberEnd: 4414
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/gio/gdesktopappinfo.c:185,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:189,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:188,1
    - Dst: desktop_file_dir_reset
      Src: /src/glib/gio/gdesktopappinfo.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5170,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 5173
      start: 5167
    functionDepth: 0
    functionLinenumber: 5167
    functionLinenumberEnd: 5173
    functionName: g_desktop_app_info_list_actions
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_DESKTOP_APP_INFO
    - g_return_val_if_fail
    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:5145,1
    - Dst: g_key_file_has_key
      Src: /src/glib/gio/gdesktopappinfo.c:5147,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - info
    - key
    argTypes:
    - GDesktopAppInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 5149
      start: 5141
    functionDepth: 0
    functionLinenumber: 5141
    functionLinenumberEnd: 5149
    functionName: g_desktop_app_info_has_key
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_DESKTOP_APP_INFO
    - g_return_val_if_fail
    - g_key_file_has_key
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_has_key (GDesktopAppInfo *info, const
      char *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:1704,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1707,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1706,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1722,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1725,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1726,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1723,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1727,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1724,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1728,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1730,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1712,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1713,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1714,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1715,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1716,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdesktopappinfo.c:1732,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1710,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1721,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1719,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1720,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1718,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1733
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1733
    functionName: g_desktop_app_info_finalize
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - g_free
    - g_object_unref
    - g_strfreev
    - g_key_file_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:2147,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:2151,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:2157,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2162,1
    - Dst: desktop_file_dir_get_app
      Src: /src/glib/gio/gdesktopappinfo.c:2151,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2163,1
    - Dst: g_desktop_app_info_get_is_hidden
      Src: /src/glib/gio/gdesktopappinfo.c:2165,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:2167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - desktop_id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2172
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2172
    functionName: g_desktop_app_info_new
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - desktop_file_dirs_lock
    - g_ptr_array_index
    - g_object_unref
    - g_desktop_app_info_get_is_hidden
    - desktop_file_dir_get_app
    - desktop_file_dirs_unlock
    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:2238,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:2241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2243
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2243
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2268
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2268
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdesktopappinfo.c:3233,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_close
      Src: /src/glib/gio/gdesktopappinfo.c:3242,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: g_variant_dict_init
      Src: /src/glib/gio/gdesktopappinfo.c:3255,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:3256,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: emit_launch_started
      Src: /src/glib/gio/gdesktopappinfo.c:3259,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_variant_builder_end
    - g_variant_dict_clear
    - g_object_ref
    - g_variant_builder_close
    - g_new0
    - g_free
    - g_dbus_connection_call
    - object_path_from_appid
    - g_variant_dict_init
    - g_variant_builder_add
    - g_variant_builder_add_value
    - g_steal_pointer
    - g_desktop_app_info_make_platform_data
    - g_variant_builder_open
    - g_variant_builder_init
    - g_variant_dict_lookup
    - emit_launch_started
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdesktopappinfo.c:2180,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2183,1
    - Dst: g_key_file_ref
      Src: /src/glib/gio/gdesktopappinfo.c:2186,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2188,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gdesktopappinfo.c:2191,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gdesktopappinfo.c:2198,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2200,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2202,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2177,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2182,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdesktopappinfo.c:2196,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2194,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2208,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2189,1
    - Dst: g_strdup
      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:2203,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gdesktopappinfo.c:2197,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2199,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2209
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2209
    functionName: g_desktop_app_info_dup
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - g_strdup
    - g_object_ref
    - g_object_new
    - g_strdupv
    - g_key_file_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:2248,1
    - Dst: g_desktop_app_info_get_name
      Src: /src/glib/gio/gdesktopappinfo.c:2251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2253
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2253
    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: 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_free
    - launch_uris_with_dbus
    - g_document_portal_add_documents
    - g_desktop_app_info_get_string
    - g_return_val_if_fail
    - g_list_free_full
    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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 583
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 583
    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_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4429,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4440,1
    - Dst: _g_unix_content_type_get_parents
      Src: /src/glib/gio/gdesktopappinfo.c:4440,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:4431,1
    - Dst: _g_unix_content_type_unalias
      Src: /src/glib/gio/gdesktopappinfo.c:4430,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:4445,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:4446,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4448,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4451,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:4455,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdesktopappinfo.c:4457,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - content_type
    - include_fallback
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4458
      start: 4422
    functionDepth: 0
    functionLinenumber: 4422
    functionLinenumberEnd: 4458
    functionName: get_list_of_mimetypes
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - _g_unix_content_type_get_parents
    - g_free
    - g_ptr_array_free
    - g_ptr_array_index
    - _g_unix_content_type_unalias
    - array_contains
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **get_list_of_mimetypes (const gchar *content_type, gboolean
      include_fallback) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:73,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gbytesicon.c:78,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbytesicon.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: g_bytes_icon_get_property
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boxed
    - G_BYTES_ICON
    linkageType: ''
    returnType: void
    signature: 'static void g_bytes_icon_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:110,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gbytesicon.c:112,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbytesicon.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: g_bytes_icon_finalize
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_bytes_unref
    - G_BYTES_ICON
    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:161,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbytesicon.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbytesicon.c:179,1
    - Dst: G_IS_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GBytesIcon*
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: g_bytes_icon_get_bytes
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_IS_BYTES_ICON
    - g_return_val_if_fail
    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:196,1
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:197,1
    - Dst: g_bytes_equal
      Src: /src/glib/gio/gbytesicon.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: g_bytes_icon_equal
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_bytes_equal
    - G_BYTES_ICON
    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: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    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:241,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/gbytesicon.c:246,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbytesicon.c:244,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gbytesicon.c:246,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbytesicon.c:245,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbytesicon.c:247,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: 248
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 248
    functionName: g_bytes_icon_load_async
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_return_pointer
    - 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:92,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gbytesicon.c:97,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbytesicon.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: 103
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: g_bytes_icon_set_property
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_boxed
    - G_BYTES_ICON
    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:120,1
    - Dst: P_
      Src: /src/glib/gio/gbytesicon.c:134,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gbytesicon.c:131,1
    - Dst: P_
      Src: /src/glib/gio/gbytesicon.c:133,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gbytesicon.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBytesIconClass*
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: g_bytes_icon_class_init
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_boxed
    - G_OBJECT_CLASS
    - P_
    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:187,1
    - Dst: g_bytes_hash
      Src: /src/glib/gio/gbytesicon.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: g_bytes_icon_hash
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_bytes_hash
    - G_BYTES_ICON
    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:205,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gbytesicon.c:207,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/gio/gbytesicon.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: g_bytes_icon_serialize
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_variant_new_from_bytes
    - g_variant_new
    - G_BYTES_ICON
    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:226,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/gbytesicon.c:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 5
    argNames:
    - icon
    - size
    - type
    - cancellable
    - error
    argTypes:
    - GLoadableIcon*
    - int
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: g_bytes_icon_load
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_memory_input_stream_new_from_bytes
    - G_BYTES_ICON
    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:256,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbytesicon.c:261,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gbytesicon.c:256,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gbytesicon.c:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - icon
    - res
    - type
    - error
    argTypes:
    - GLoadableIcon*
    - GAsyncResult*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 262
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 262
    functionName: g_bytes_icon_load_finish
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytesIcon*
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:551,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:551,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:553,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsconnection.c:555,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: g_dtls_connection_get_interaction
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_DTLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GTlsInteraction*
    signature: 'GTlsInteraction *g_dtls_connection_get_interaction (GDtlsConnection
      *conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:879,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdtlsconnection.c:880,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:880,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:882,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:879,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:887,1
    - Dst: g_assert
      Src: /src/glib/gio/gdtlsconnection.c:888,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: 892
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 892
    functionName: g_dtls_connection_shutdown
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - g_assert
    - G_IS_DTLS_CONNECTION
    - G_IS_CANCELLABLE
    - g_return_val_if_fail
    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:1110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - protocols
    argTypes:
    - GDtlsConnection*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1115
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1115
    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_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:479,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:482,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:479,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gdtlsconnection.c:480,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:480,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - certificate
    argTypes:
    - GDtlsConnection*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: g_dtls_connection_set_certificate
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_TLS_CERTIFICATE
    - g_object_set
    - G_IS_DTLS_CONNECTION
    - g_return_if_fail
    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:834,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:834,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - result
    - error
    argTypes:
    - GDtlsConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 839
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 839
    functionName: g_dtls_connection_handshake_finish
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_handshake_finish (GDtlsConnection *conn,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:171,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:225,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:282,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:284,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:285,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:297,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdtlsconnection.c:298,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:299,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:269,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:313,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:300,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gdtlsconnection.c:268,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdtlsconnection.c:251,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdtlsconnection.c:314,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:108,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:109,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:154,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:156,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:189,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:205,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:207,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:226,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:253,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:267,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:315,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:270,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:388,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:107,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:138,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:139,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:140,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:153,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdtlsconnection.c:187,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:170,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdtlsconnection.c:169,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:204,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:224,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdtlsconnection.c:378,1
    - Dst: I_
      Src: /src/glib/gio/gdtlsconnection.c:378,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdtlsconnection.c:381,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:316,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:137,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:110,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:186,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:188,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:168,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:155,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:206,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:223,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:250,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsconnection.c:252,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdtlsconnection.c:283,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdtlsconnection.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 71
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDtlsConnectionInterface*
    constantsTouched: []
    func_position:
      end: 390
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 390
    functionName: g_dtls_connection_default_init
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - I_
    - g_param_spec_boolean
    - g_signal_new
    - G_TYPE_FROM_INTERFACE
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - g_object_interface_install_property
    - g_param_spec_string
    - g_param_spec_boxed
    - g_param_spec_enum
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dtls_connection_default_init (GDtlsConnectionInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:603,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:603,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:605,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 607
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 607
    functionName: g_dtls_connection_get_peer_certificate_errors
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - g_object_get
    - G_IS_DTLS_CONNECTION
    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:808,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:810,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:808,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: 813
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 813
    functionName: g_dtls_connection_handshake_async
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - G_IS_DTLS_CONNECTION
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:920,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:923,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:921,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdtlsconnection.c:921,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:920,1
    - Dst: g_assert
      Src: /src/glib/gio/gdtlsconnection.c:924,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: 928
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 928
    functionName: g_dtls_connection_shutdown_async
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - g_assert
    - G_IS_CANCELLABLE
    - G_IS_DTLS_CONNECTION
    - g_return_if_fail
    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:1248,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:1250,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:1250,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:1248,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdtlsconnection.c:1254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 1255
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1255
    functionName: g_dtls_connection_get_ciphersuite_name
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    - g_steal_pointer
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dtls_connection_get_ciphersuite_name (GDtlsConnection *conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:577,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:577,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsconnection.c:581,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:579,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 584
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 584
    functionName: g_dtls_connection_get_peer_certificate
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_DTLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    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:782,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:784,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - cancellable
    - error
    argTypes:
    - GDtlsConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 786
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 786
    functionName: g_dtls_connection_handshake
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    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_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:1138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 1143
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1143
    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:670,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:670,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:672,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 676
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 676
    functionName: g_dtls_connection_get_require_close_notify
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - g_object_get
    - G_IS_DTLS_CONNECTION
    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:995,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:996,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:995,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdtlsconnection.c:996,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:998,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:1000,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - conn
    - cancellable
    - error
    argTypes:
    - GDtlsConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1002
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1002
    functionName: g_dtls_connection_close
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - G_IS_CANCELLABLE
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_close (GDtlsConnection *conn, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:728,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:728,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:733,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 737
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 737
    functionName: g_dtls_connection_get_rehandshake_mode
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - g_object_get
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: GTlsRehandshakeMode
    signature: 'GTlsRehandshakeMode g_dtls_connection_get_rehandshake_mode (GDtlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:415,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:416,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:415,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:418,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gdtlsconnection.c:416,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - database
    argTypes:
    - GDtlsConnection*
    - GTlsDatabase*
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: g_dtls_connection_set_database
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - G_IS_TLS_DATABASE
    - G_IS_DTLS_CONNECTION
    - g_return_if_fail
    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:646,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:648,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:646,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - require_close_notify
    argTypes:
    - GDtlsConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 651
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 651
    functionName: g_dtls_connection_set_require_close_notify
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    - g_object_set
    - 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_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:951,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:951,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:954,1
    - Dst: g_assert
      Src: /src/glib/gio/gdtlsconnection.c:955,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:952,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - result
    - error
    argTypes:
    - GDtlsConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 958
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 958
    functionName: g_dtls_connection_shutdown_finish
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - g_return_val_if_fail
    - g_assert
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_shutdown_finish (GDtlsConnection *conn,
      GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:439,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:441,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:439,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:441,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsconnection.c:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 447
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 447
    functionName: g_dtls_connection_get_database
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_DTLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    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:528,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:529,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gdtlsconnection.c:529,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:528,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:531,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - interaction
    argTypes:
    - GDtlsConnection*
    - GTlsInteraction*
    constantsTouched: []
    func_position:
      end: 532
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 532
    functionName: g_dtls_connection_set_interaction
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - G_IS_TLS_INTERACTION
    - G_IS_DTLS_CONNECTION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_connection_set_interaction (GDtlsConnection *conn, GTlsInteraction
      *interaction) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdtlsconnection.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - peer_cert
    - errors
    argTypes:
    - GDtlsConnection*
    - GTlsCertificate*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 1083
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1083
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1214,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gio/gdtlsconnection.c:1221,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:1216,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:1214,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:1216,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gdtlsconnection.c:1222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1224
    functionName: g_dtls_connection_get_protocol_version
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    - g_type_class_peek_static
    - g_enum_get_value
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GTlsProtocolVersion
    signature: 'GTlsProtocolVersion g_dtls_connection_get_protocol_version (GDtlsConnection
      *conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:501,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:503,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:501,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsconnection.c:505,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: g_dtls_connection_get_certificate
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_DTLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_dtls_connection_get_certificate (GDtlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:699,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:699,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:701,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - mode
    argTypes:
    - GDtlsConnection*
    - GTlsRehandshakeMode
    constantsTouched: []
    func_position:
      end: 704
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 704
    functionName: g_dtls_connection_set_rehandshake_mode
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    - g_object_set
    - 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:1024,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1025,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:1024,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdtlsconnection.c:1025,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:1027,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: 1031
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1031
    functionName: g_dtls_connection_close_async
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - G_IS_CANCELLABLE
    - G_IS_DTLS_CONNECTION
    - 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:1052,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:1052,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:1055,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1053,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - result
    - error
    argTypes:
    - GDtlsConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1057
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1057
    functionName: g_dtls_connection_close_finish
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_close_finish (GDtlsConnection *conn, GAsyncResult
      *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1179,1
    - 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:1179,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdtlsconnection.c:1185,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:1182,1
    - Dst: _
      Src: /src/glib/gio/gdtlsconnection.c:1187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - conn
    - type
    - data
    - error
    argTypes:
    - GDtlsConnection*
    - GTlsChannelBindingType
    - GByteArray*
    - GError**
    constantsTouched: []
    func_position:
      end: 1192
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1192
    functionName: g_dtls_connection_get_channel_binding_data
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - _
    - G_IS_DTLS_CONNECTION
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_get_channel_binding_data (GDtlsConnection
      *conn, GTlsChannelBindingType type, GByteArray *data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/gsubprocess.c:206,1
    - Dst: g_win32_output_stream_new_from_fd
      Src: /src/glib/gio/gsubprocess.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 210
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - launcher
    argTypes:
    - self
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    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_OBJECT_CLASS
      Src: /src/glib/gio/gsubprocess.c:497,1
    - Dst: P_
      Src: /src/glib/gio/gsubprocess.c:503,1
    - Dst: P_
      Src: /src/glib/gio/gsubprocess.c:503,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsubprocess.c:502,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gsubprocess.c:503,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsubprocess.c:506,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsubprocess.c:507,1
    - Dst: P_
      Src: /src/glib/gio/gsubprocess.c:507,1
    - Dst: P_
      Src: /src/glib/gio/gsubprocess.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSubprocessClass*
    constantsTouched: []
    func_position:
      end: 510
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 510
    functionName: g_subprocess_class_init
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_boxed
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_class_init (GSubprocessClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 813
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 813
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/gsubprocess.c:927,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - subprocess
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSubprocess*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 928
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 928
    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:
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gsubprocess.c:818,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gsubprocess.c:823,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gsubprocess.c:821,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsubprocess.c:824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - GAsyncResult**
    constantsTouched: []
    func_position:
      end: 825
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 825
    functionName: g_subprocess_sync_complete
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_main_context_get_thread_default
    - g_main_context_pop_thread_default
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_sync_complete (GAsyncResult **result) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gsubprocess.c:747,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gio/gsubprocess.c:758,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:750,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsubprocess.c:759,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsubprocess.c:748,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gsubprocess.c:762,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:765,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsubprocess.c:770,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - subprocess
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSubprocess*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 773
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 773
    functionName: g_subprocess_wait_async
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_signal_connect_object
    - G_CALLBACK
    - g_slist_prepend
    - g_mutex_unlock
    - g_task_return_boolean
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_wait_async (GSubprocess *subprocess, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_wait
      Src: /src/glib/gio/gsubprocess.c:904,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gsubprocess.c:905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - subprocess
    - cancellable
    - error
    argTypes:
    - GSubprocess*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 906
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 906
    functionName: g_subprocess_wait_check
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_spawn_check_wait_status
    - g_subprocess_wait
    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:1101,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1102,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/gsubprocess.c:1105,1
    - Dst: WEXITSTATUS
      Src: /src/glib/gio/gsubprocess.c:1105,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1109
    functionName: g_subprocess_get_successful
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - WEXITSTATUS
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    - WIFEXITED
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_get_successful (GSubprocess *subprocess) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:302,1
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:336,1
    - Dst: g_spawn_async_with_pipes_and_fds
      Src: /src/glib/gio/gsubprocess.c:399,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsubprocess.c:443,1
    - Dst: close
      Src: /src/glib/gio/gsubprocess.c:455,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsubprocess.c:317,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/gio/gsubprocess.c:441,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:442,1
    - Dst: platform_input_stream_from_spawn_fd
      Src: /src/glib/gio/gsubprocess.c:458,1
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:355,1
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:377,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:418,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gsubprocess.c:440,1
    - Dst: platform_output_stream_from_spawn_fd
      Src: /src/glib/gio/gsubprocess.c:457,1
    - Dst: strchr
      Src: /src/glib/gio/gsubprocess.c:385,1
    - Dst: GetProcessId
      Src: /src/glib/gio/gsubprocess.c:425,1
    - Dst: g_snprintf
      Src: /src/glib/gio/gsubprocess.c:430,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:431,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsubprocess.c:442,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsubprocess.c:444,1
    - Dst: platform_input_stream_from_spawn_fd
      Src: /src/glib/gio/gsubprocess.c:459,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 96
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 462
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 462
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - platform_input_stream_from_spawn_fd
    - g_source_set_callback
    - platform_output_stream_from_spawn_fd
    - g_object_ref
    - unix_open_file
    - g_source_attach
    - g_assert
    - GLIB_PRIVATE_CALL
    - g_spawn_async_with_pipes_and_fds
    - close
    - g_cancellable_set_error_if_cancelled
    - G_SUBPROCESS
    - GetProcessId
    - g_snprintf
    - g_source_unref
    - strchr
    - g_child_watch_source_new
    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:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gsubprocess.c:713,1
    - Dst: slist_remove_if_present
      Src: /src/glib/gio/gsubprocess.c:716,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:717,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:715,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsubprocess.c:721,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 724
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 724
    functionName: g_subprocess_wait_cancelled
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_object_unref
    - g_mutex_unlock
    - g_task_return_boolean
    - slist_remove_if_present
    - g_mutex_lock
    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:802,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gsubprocess.c:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 803
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:857,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsubprocess.c:867,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/gsubprocess.c:878,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:857,1
    - Dst: g_subprocess_sync_setup
      Src: /src/glib/gio/gsubprocess.c:877,1
    - Dst: g_subprocess_sync_complete
      Src: /src/glib/gio/gsubprocess.c:879,1
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/gsubprocess.c:880,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:881,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - subprocess
    - cancellable
    - error
    argTypes:
    - GSubprocess*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 884
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 884
    functionName: g_subprocess_wait
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_sync_setup
    - G_IS_SUBPROCESS
    - g_object_unref
    - g_subprocess_wait_async
    - g_cancellable_set_error_if_cancelled
    - g_subprocess_wait_finish
    - g_subprocess_sync_complete
    - g_return_val_if_fail
    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:1077,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1077,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1081
    functionName: g_subprocess_get_status
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: gint
    signature: 'gint g_subprocess_get_status (GSubprocess *subprocess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - launcher
    argTypes:
    - self
    constantsTouched: []
    func_position:
      end: 381
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 381
    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_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:467,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:473,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:470,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:472,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:469,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:474,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsubprocess.c:475,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gsubprocess.c:477,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsubprocess.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 480
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 480
    functionName: g_subprocess_finalize
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_object
    - G_SUBPROCESS
    - g_strfreev
    - g_mutex_clear
    - G_OBJECT_CLASS
    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: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    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_object_ref
      Src: /src/glib/gio/gsubprocess.c:981,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:983,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:983,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gsubprocess.c:996,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gsubprocess.c:996,1
    - Dst: g_slice_dup
      Src: /src/glib/gio/gsubprocess.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - subprocess
    - signalnum
    argTypes:
    - GSubprocess*
    - gint
    constantsTouched: []
    func_position:
      end: 1001
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1001
    functionName: g_subprocess_dispatch_signal
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_main_context_invoke_full
    - GLIB_PRIVATE_CALL
    - G_IS_SUBPROCESS
    - g_slice_dup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_dispatch_signal (GSubprocess *subprocess,
      gint signalnum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:1394,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gsubprocess.c:1401,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:1396,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:1395,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:1397,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsubprocess.c:1402,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsubprocess.c:1405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1406
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1406
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_1
      Src: /src/glib/gio/gsubprocess.c:696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GSList**
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 703
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 703
    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_task_propagate_boolean
      Src: /src/glib/gio/gsubprocess.c:793,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsubprocess.c:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - subprocess
    - result
    - error
    argTypes:
    - GSubprocess*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 794
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 794
    functionName: g_subprocess_wait_finish
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_wait_finish (GSubprocess *subprocess, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - subprocess
    - launcher
    argTypes:
    - GSubprocess*
    - GSubprocessLauncher*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1239
    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:1593,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsubprocess.c:1595,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1593,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1594,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1595,1
    - Dst: g_subprocess_communicate_internal
      Src: /src/glib/gio/gsubprocess.c:1597,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: 1598
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1598
    functionName: g_subprocess_communicate_async
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_communicate_internal
    - G_IS_CANCELLABLE
    - G_IS_SUBPROCESS
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:674,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 677
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 677
    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_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1560,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1560,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsubprocess.c:1562,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1561,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1562,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1563,1
    - Dst: g_subprocess_sync_setup
      Src: /src/glib/gio/gsubprocess.c:1565,1
    - Dst: g_subprocess_communicate_internal
      Src: /src/glib/gio/gsubprocess.c:1566,1
    - Dst: g_subprocess_sync_complete
      Src: /src/glib/gio/gsubprocess.c:1568,1
    - Dst: g_subprocess_communicate_finish
      Src: /src/glib/gio/gsubprocess.c:1569,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1570,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: 1573
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1573
    functionName: g_subprocess_communicate
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_sync_setup
    - g_subprocess_communicate_internal
    - G_IS_SUBPROCESS
    - g_object_unref
    - G_IS_CANCELLABLE
    - g_subprocess_sync_complete
    - g_return_val_if_fail
    - g_subprocess_communicate_finish
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_communicate (GSubprocess *subprocess, GBytes
      *stdin_buf, GCancellable *cancellable, GBytes **stdout_buf, GBytes **stderr_buf,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1710,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsubprocess.c:1712,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1712,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1710,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1711,1
    - Dst: strlen
      Src: /src/glib/gio/gsubprocess.c:1715,1
    - Dst: g_bytes_new
      Src: /src/glib/gio/gsubprocess.c:1716,1
    - Dst: g_subprocess_communicate_internal
      Src: /src/glib/gio/gsubprocess.c:1718,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gsubprocess.c:1720,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: 1721
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1721
    functionName: g_subprocess_communicate_utf8_async
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_subprocess_communicate_internal
    - g_bytes_new
    - G_IS_SUBPROCESS
    - g_bytes_unref
    - G_IS_CANCELLABLE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_communicate_utf8_async (GSubprocess *subprocess,
      const char *stdin_buf, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - launcher
    argTypes:
    - self
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: if
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - unix_open_file
    linkageType: ''
    returnType: else
    signature: 'else if (self->launcher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:605,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 611
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 611
    functionName: g_subprocess_get_identifier
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    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:652,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 655
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 655
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1669,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1670,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsubprocess.c:1671,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1671,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1669,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1672,1
    - Dst: strlen
      Src: /src/glib/gio/gsubprocess.c:1675,1
    - Dst: g_bytes_new
      Src: /src/glib/gio/gsubprocess.c:1676,1
    - Dst: g_subprocess_sync_setup
      Src: /src/glib/gio/gsubprocess.c:1678,1
    - Dst: g_subprocess_communicate_internal
      Src: /src/glib/gio/gsubprocess.c:1679,1
    - Dst: g_subprocess_sync_complete
      Src: /src/glib/gio/gsubprocess.c:1681,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1683,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gsubprocess.c:1685,1
    - Dst: g_subprocess_communicate_utf8_finish
      Src: /src/glib/gio/gsubprocess.c:1682,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: 1687
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1687
    functionName: g_subprocess_communicate_utf8
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_subprocess_sync_setup
    - g_subprocess_communicate_internal
    - g_bytes_new
    - G_IS_SUBPROCESS
    - g_object_unref
    - g_bytes_unref
    - G_IS_CANCELLABLE
    - g_subprocess_communicate_utf8_finish
    - g_subprocess_sync_complete
    - g_return_val_if_fail
    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:1774,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1774,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1775,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1776,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsubprocess.c:1775,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1778,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsubprocess.c:1780,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gsubprocess.c:1781,1
    - Dst: communicate_result_validate_utf8
      Src: /src/glib/gio/gsubprocess.c:1786,1
    - Dst: communicate_result_validate_utf8
      Src: /src/glib/gio/gsubprocess.c:1790,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocess.c:1804,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocess.c:1805,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsubprocess.c:1802,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1797,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsubprocess.c:1800,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: 1808
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1808
    functionName: g_subprocess_communicate_utf8_finish
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_object_ref
    - g_free
    - g_task_propagate_boolean
    - G_IS_SUBPROCESS
    - g_object_unref
    - communicate_result_validate_utf8
    - g_steal_pointer
    - g_return_val_if_fail
    - g_task_get_task_data
    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:250,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gsubprocess.c:259,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gsubprocess.c:255,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsubprocess.c:263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: g_subprocess_set_property
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - G_SUBPROCESS
    - g_assert_not_reached
    - g_value_dup_boxed
    - g_value_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_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/gsubprocess.c:582,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gsubprocess.c:584,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - argv
    - flags
    - error
    argTypes:
    - gchar**
    - GSubprocessFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 588
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 588
    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:630,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 633
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1022,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1022,1
    - Dst: g_subprocess_dispatch_signal
      Src: /src/glib/gio/gsubprocess.c:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - subprocess
    - signal_num
    argTypes:
    - GSubprocess*
    - gint
    constantsTouched: []
    func_position:
      end: 1025
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1025
    functionName: g_subprocess_send_signal
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_dispatch_signal
    - G_IS_SUBPROCESS
    - 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:1045,1
    - Dst: TerminateProcess
      Src: /src/glib/gio/gsubprocess.c:1050,1
    - Dst: g_subprocess_dispatch_signal
      Src: /src/glib/gio/gsubprocess.c:1048,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1052
    functionName: g_subprocess_force_exit
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - TerminateProcess
    - g_subprocess_dispatch_signal
    - G_IS_SUBPROCESS
    - g_return_if_fail
    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:1160,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/gsubprocess.c:1164,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1164,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1160,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1161,1
    - Dst: WEXITSTATUS
      Src: /src/glib/gio/gsubprocess.c:1166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1170
    functionName: g_subprocess_get_exit_status
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - WEXITSTATUS
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    - WIFEXITED
    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:1219,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1219,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1220,1
    - Dst: WIFSIGNALED
      Src: /src/glib/gio/gsubprocess.c:1223,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1223,1
    - Dst: WTERMSIG
      Src: /src/glib/gio/gsubprocess.c:1225,1
    - Dst: g_critical
      Src: /src/glib/gio/gsubprocess.c:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1231
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1231
    functionName: g_subprocess_get_term_sig
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - WTERMSIG
    - G_IS_SUBPROCESS
    - g_critical
    - WIFSIGNALED
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_subprocess_get_term_sig (GSubprocess *subprocess) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:1312,1
    - Dst: g_output_stream_splice_finish
      Src: /src/glib/gio/gsubprocess.c:1325,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gsubprocess.c:1337,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsubprocess.c:1316,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gsubprocess.c:1315,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gsubprocess.c:1341,1
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/gsubprocess.c:1347,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsubprocess.c:1350,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsubprocess.c:1363,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsubprocess.c:1364,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsubprocess.c:1367,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1375,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsubprocess.c:1371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1376
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1376
    functionName: g_subprocess_communicate_made_progress
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_assert
    - g_error_free
    - g_assert_not_reached
    - g_object_unref
    - g_output_stream_splice_finish
    - g_cancellable_cancel
    - g_subprocess_wait_finish
    - g_task_return_boolean
    - g_output_stream_close
    - g_task_return_error
    - g_output_stream_write_all
    - g_task_get_task_data
    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_unix_input_stream_new
      Src: /src/glib/gio/gsubprocess.c:193,1
    - Dst: g_win32_input_stream_new_from_fd
      Src: /src/glib/gio/gsubprocess.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: platform_input_stream_from_spawn_fd
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_unix_input_stream_new
    - g_win32_input_stream_new_from_fd
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *platform_input_stream_from_spawn_fd (gint fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:275,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsubprocess.c:287,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:282,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:277,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:288,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gsubprocess.c:289,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gsubprocess.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pid
    - status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 295
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 295
    functionName: g_subprocess_exited
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_spawn_close_pid
    - g_slist_delete_link
    - g_assert
    - g_object_unref
    - g_mutex_unlock
    - g_task_return_boolean
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_subprocess_exited (GPid pid, gint status, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/glib/gio/gsubprocess.c:968,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsubprocess.c:972,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 975
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 975
    functionName: g_subprocess_actually_send_signal
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_object_unref
    - kill
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_subprocess_actually_send_signal (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsubprocess.c:1384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1387
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1387
    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_assert
      Src: /src/glib/gio/gsubprocess.c:1440,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/gsubprocess.c:1486,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1487,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1482,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsubprocess.c:1419,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsubprocess.c:1420,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsubprocess.c:1432,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsubprocess.c:1435,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/gsubprocess.c:1459,1
    - Dst: g_unix_output_stream_get_fd
      Src: /src/glib/gio/gsubprocess.c:1455,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1462,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/glib/gio/gsubprocess.c:1468,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1472,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1490,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsubprocess.c:1422,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gsubprocess.c:1435,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gsubprocess.c:1425,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsubprocess.c:1423,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gsubprocess.c:1430,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gsubprocess.c:1433,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/gsubprocess.c:1455,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gsubprocess.c:1455,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/gsubprocess.c:1458,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/gsubprocess.c:1469,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/glib/gio/gsubprocess.c:1478,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/gsubprocess.c:1479,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - subprocess
    - add_nul
    - stdin_buf
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSubprocess*
    - gboolean
    - GBytes*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1492
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1492
    functionName: g_subprocess_communicate_internal
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_task_set_source_tag
    - g_memory_input_stream_new_from_bytes
    - g_main_context_get_thread_default
    - g_source_attach
    - g_unix_set_fd_nonblocking
    - g_object_unref
    - g_cancellable_source_new
    - g_memory_output_stream_new_resizable
    - g_object_ref
    - g_cancellable_new
    - G_UNIX_OUTPUT_STREAM
    - g_output_stream_splice_async
    - g_source_set_callback
    - g_task_set_task_data
    - g_assert
    - g_unix_output_stream_get_fd
    - g_task_new
    - g_subprocess_wait_async
    - G_SOURCE_FUNC
    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:1735,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gsubprocess.c:1736,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsubprocess.c:1740,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocess.c:1738,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: 1751
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1751
    functionName: communicate_result_validate_utf8
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_free
    - g_memory_output_stream_steal_data
    - g_utf8_validate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean communicate_result_validate_utf8 (const char *stream_name,
      char **return_location, GMemoryOutputStream *buffer, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/glib/gio/gsubprocess.c:220,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsubprocess.c:229,1
    - Dst: _
      Src: /src/glib/gio/gsubprocess.c:230,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/gsubprocess.c:228,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gsubprocess.c:229,1
    - Dst: g_strerror
      Src: /src/glib/gio/gsubprocess.c:231,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocess.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - filename
    - mode
    - error
    argTypes:
    - char*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 241
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 241
    functionName: unix_open_file
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_open
    - g_set_error
    - _
    - g_free
    - g_strerror
    - g_filename_display_name
    - g_io_error_from_errno
    linkageType: ''
    returnType: gint
    signature: 'static gint unix_open_file (const char *filename, gint mode, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:543,1
    - Dst: va_start
      Src: /src/glib/gio/gsubprocess.c:548,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocess.c:549,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:544,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gsubprocess.c:546,1
    - Dst: va_arg
      Src: /src/glib/gio/gsubprocess.c:550,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocess.c:551,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocess.c:552,1
    - Dst: va_end
      Src: /src/glib/gio/gsubprocess.c:553,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/gsubprocess.c:555,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsubprocess.c:557,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - flags
    - error
    - argv0
    - '...'
    argTypes:
    - GSubprocessFlags
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 560
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 560
    functionName: g_subprocess_new
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - va_end
    - g_ptr_array_free
    - va_start
    - g_return_val_if_fail
    - g_subprocess_newv
    - va_arg
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GSubprocess*
    signature: 'GSubprocess *g_subprocess_new (GSubprocessFlags flags, GError **error,
      const gchar *argv0, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/gsubprocess.c:948,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gsubprocess.c:949,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - subprocess
    - result
    - error
    argTypes:
    - GSubprocess*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 950
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 950
    functionName: g_subprocess_wait_check_finish
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_spawn_check_wait_status
    - g_subprocess_wait_finish
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_wait_check_finish (GSubprocess *subprocess,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1130,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1130,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1131,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/gsubprocess.c:1134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1138
    functionName: g_subprocess_get_if_exited
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    - WIFEXITED
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_get_if_exited (GSubprocess *subprocess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1190,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1191,1
    - Dst: WIFSIGNALED
      Src: /src/glib/gio/gsubprocess.c:1194,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1198
    functionName: g_subprocess_get_if_signaled
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - WIFSIGNALED
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_get_if_signaled (GSubprocess *subprocess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1620,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1621,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1620,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1622,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsubprocess.c:1621,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1624,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsubprocess.c:1626,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gsubprocess.c:1627,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/glib/gio/gsubprocess.c:1632,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/glib/gio/gsubprocess.c:1634,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1637,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: 1639
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1639
    functionName: g_subprocess_communicate_finish
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_object_ref
    - g_task_propagate_boolean
    - G_IS_SUBPROCESS
    - g_object_unref
    - g_memory_output_stream_steal_as_bytes
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_communicate_finish (GSubprocess *subprocess,
      GAsyncResult *result, GBytes **stdout_buf, GBytes **stderr_buf, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpermission.c:161,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:162,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - permission
    - result
    - error
    argTypes:
    - GPermission*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: g_permission_acquire_finish
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_PERMISSION_GET_CLASS
    - g_return_val_if_fail
    - G_IS_PERMISSION
    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:197,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:197,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - permission
    - cancellable
    - error
    argTypes:
    - GPermission*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: g_permission_release
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_PERMISSION_GET_CLASS
    - g_return_val_if_fail
    - G_IS_PERMISSION
    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:248,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:249,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - permission
    - result
    - error
    argTypes:
    - GPermission*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: g_permission_release_finish
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_PERMISSION_GET_CLASS
    - g_return_val_if_fail
    - G_IS_PERMISSION
    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:287,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - permission
    argTypes:
    - GPermission*
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: g_permission_get_can_acquire
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_PERMISSION
    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:333,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpermission.c:342,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:333,1
    - Dst: g_object_freeze_notify
      Src: /src/glib/gio/gpermission.c:336,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gpermission.c:335,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpermission.c:349,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpermission.c:356,1
    - Dst: g_object_thaw_notify
      Src: /src/glib/gio/gpermission.c:359,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: 360
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 360
    functionName: g_permission_impl_update
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_freeze_notify
    - g_object_notify
    - g_object_thaw_notify
    - G_IS_PERMISSION
    - g_return_if_fail
    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:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - permission
    argTypes:
    - GPermission*
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    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:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - permission
    - cancellable
    - callback
    - user_data
    argTypes:
    - GPermission*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 415
    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:110,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:111,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - permission
    - cancellable
    - error
    argTypes:
    - GPermission*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: g_permission_acquire
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_PERMISSION_GET_CLASS
    - g_return_val_if_fail
    - G_IS_PERMISSION
    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:366,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpermission.c:379,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpermission.c:371,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpermission.c:375,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gpermission.c:383,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 385
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 385
    functionName: g_permission_get_property
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_PERMISSION
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - permission
    - cancellable
    - error
    argTypes:
    - GPermission*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 402
    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:422,1
    - Dst: G_TASK
      Src: /src/glib/gio/gpermission.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - permission
    - result
    - error
    argTypes:
    - GPermission*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: acquire_or_release_finish
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - G_TASK
    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:428,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpermission.c:445,1
    - Dst: P_
      Src: /src/glib/gio/gpermission.c:448,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpermission.c:446,1
    - Dst: P_
      Src: /src/glib/gio/gpermission.c:447,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpermission.c:458,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpermission.c:459,1
    - Dst: P_
      Src: /src/glib/gio/gpermission.c:460,1
    - Dst: P_
      Src: /src/glib/gio/gpermission.c:461,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpermission.c:471,1
    - Dst: P_
      Src: /src/glib/gio/gpermission.c:474,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpermission.c:472,1
    - Dst: P_
      Src: /src/glib/gio/gpermission.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - class
    argTypes:
    - GPermissionClass*
    constantsTouched: []
    func_position:
      end: 477
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 477
    functionName: g_permission_class_init
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_boolean
    - G_OBJECT_CLASS
    - P_
    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:222,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:223,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - permission
    - cancellable
    - callback
    - user_data
    argTypes:
    - GPermission*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: g_permission_release_async
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_PERMISSION_GET_CLASS
    - G_IS_PERMISSION
    - 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:135,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:136,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - permission
    - cancellable
    - callback
    - user_data
    argTypes:
    - GPermission*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: g_permission_acquire_async
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_PERMISSION_GET_CLASS
    - G_IS_PERMISSION
    - 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:268,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - permission
    argTypes:
    - GPermission*
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: g_permission_get_allowed
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_PERMISSION
    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:306,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - permission
    argTypes:
    - GPermission*
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: g_permission_get_can_release
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_PERMISSION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_permission_get_can_release (GPermission *permission) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthobserver.c:178,1
    - Dst: I_
      Src: /src/glib/gio/gdbusauthobserver.c:199,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusauthobserver.c:199,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusauthobserver.c:210,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusauthobserver.c:202,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusauthobserver.c:211,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusauthobserver.c:226,1
    - Dst: I_
      Src: /src/glib/gio/gdbusauthobserver.c:226,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusauthobserver.c:229,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusauthobserver.c:236,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusauthobserver.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusAuthObserverClass*
    constantsTouched: []
    func_position:
      end: 239
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 239
    functionName: g_dbus_auth_observer_class_init
    functionSourceFile: /src/glib/gio/gdbusauthobserver.c
    functionUses: []
    functionsReached:
    - I_
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - g_signal_set_va_marshaller
    - G_STRUCT_OFFSET
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_auth_observer_class_init (GDBusAuthObserverClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - observer
    - stream
    - credentials
    argTypes:
    - GDBusAuthObserver*
    - GIOStream*
    - GCredentials*
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    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_new
      Src: /src/glib/gio/gdbusauthobserver.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    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:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - observer
    - mechanism
    argTypes:
    - GDBusAuthObserver*
    - gchar*
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    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_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthobserver.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    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: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    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: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    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:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - observer
    - stream
    - credentials
    argTypes:
    - GDBusAuthObserver*
    - GIOStream*
    - GCredentials*
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 290
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype.c:430,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gcontenttype.c:432,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/gio/gcontenttype.c:437,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:433,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/gio/gcontenttype.c:438,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:439,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/gio/gcontenttype.c:440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - dir
    - basename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 446
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 446
    functionName: load_comment_for_mime_helper
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_free
    - g_markup_parse_context_new
    - g_build_filename
    - g_file_get_contents
    linkageType: ''
    returnType: char*
    signature: 'static char *load_comment_for_mime_helper (const char *dir, const
      char *basename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:732,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:735,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:734,1
    - Dst: xdg_mime_unalias_mime_type
      Src: /src/glib/gio/gcontenttype.c:737,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:737,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:738,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - mime_type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 742
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 742
    functionName: g_content_type_from_mime_type
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_begin_ignore_leaks
    - g_strdup
    - G_LOCK
    - G_UNLOCK
    - xdg_mime_unalias_mime_type
    - g_end_ignore_leaks
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_from_mime_type (const gchar *mime_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/glib/gio/gcontenttype.c:894,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype.c:901,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype.c:901,1
    - Dst: readdir
      Src: /src/glib/gio/gcontenttype.c:897,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gcontenttype.c:899,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/gcontenttype.c:902,1
    - Dst: closedir
      Src: /src/glib/gio/gcontenttype.c:905,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - dir
    - prefix
    - mimetypes
    argTypes:
    - char*
    - char*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 907
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 907
    functionName: enumerate_mimetypes_subdir
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - strlen
    - closedir
    - g_strdup_printf
    - g_hash_table_replace
    - g_str_has_suffix
    - opendir
    - readdir
    linkageType: ''
    returnType: void
    signature: 'static void enumerate_mimetypes_subdir (const char *dir, const char
      *prefix, GHashTable *mimetypes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gcontenttype.c:1006,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1007,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1008,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gcontenttype.c:1009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - matchlet
    argTypes:
    - TreeMatchlet*
    constantsTouched: []
    func_position:
      end: 1010
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1010
    functionName: tree_matchlet_free
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_list_free_full
    - g_free
    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: 1114
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1114
    functionName: cmp_match
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint cmp_match (gconstpointer a, gconstpointer b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gcontenttype.c:1361,1
    - Dst: g_new0
      Src: /src/glib/gio/gcontenttype.c:1369,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gcontenttype.c:1365,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:1362,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gcontenttype.c:1366,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gcontenttype.c:1372,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/gio/gcontenttype.c:1373,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1374,1
    - Dst: g_new0
      Src: /src/glib/gio/gcontenttype.c:1378,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gcontenttype.c:1379,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gcontenttype.c:1381,1
    - Dst: g_new0
      Src: /src/glib/gio/gcontenttype.c:1380,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - root
    - path
    - ignore_case
    argTypes:
    - GFile*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1388
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1388
    functionName: enumerator_new
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_utf8_casefold
    - g_new0
    - g_free
    - g_file_enumerate_children
    - g_strsplit
    - g_utf8_collate_key
    - g_strv_length
    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.c:1423,1
    - Dst: enumerator_free
      Src: /src/glib/gio/gcontenttype.c:1430,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gcontenttype.c:1451,1
    - Dst: enumerator_next
      Src: /src/glib/gio/gcontenttype.c:1427,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gcontenttype.c:1441,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/gcontenttype.c:1455,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gcontenttype.c:1466,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gcontenttype.c:1474,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype.c:1476,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype.c:1479,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/gcontenttype.c:1487,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype.c:1493,1
    - Dst: matchlet_match
      Src: /src/glib/gio/gcontenttype.c:1507,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype.c:1492,1
    - Dst: enumerator_free
      Src: /src/glib/gio/gcontenttype.c:1497,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1487,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 53
    argCount: 2
    argNames:
    - matchlet
    - root
    argTypes:
    - TreeMatchlet*
    - GFile*
    constantsTouched: []
    func_position:
      end: 1512
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1512
    functionName: matchlet_match
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - enumerator_next
    - g_file_enumerator_next_file
    - enumerator_free
    - g_file_info_get_attribute_boolean
    - g_file_enumerate_children
    - g_object_unref
    - g_file_info_get_content_type
    - g_file_info_get_file_type
    - strcmp
    - matchlet_match
    - g_file_query_info
    - enumerator_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean matchlet_match (TreeMatchlet *matchlet, GFile *root) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype.c:457,1
    - Dst: g_content_type_get_mime_dirs
      Src: /src/glib/gio/gcontenttype.c:459,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:469,1
    - Dst: load_comment_for_mime_helper
      Src: /src/glib/gio/gcontenttype.c:462,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:465,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype.c:471,1
    - Dst: _
      Src: /src/glib/gio/gcontenttype.c:471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - mimetype
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 472
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 472
    functionName: load_comment_for_mime
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - load_comment_for_mime_helper
    - _
    - g_free
    - g_strdup_printf
    - g_content_type_get_mime_dirs
    linkageType: ''
    returnType: char*
    signature: 'static char *load_comment_for_mime (const char *mimetype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/glib/gio/gcontenttype.c:920,1
    - Dst: g_file_test
      Src: /src/glib/gio/gcontenttype.c:928,1
    - Dst: readdir
      Src: /src/glib/gio/gcontenttype.c:923,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:925,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype.c:927,1
    - Dst: enumerate_mimetypes_subdir
      Src: /src/glib/gio/gcontenttype.c:929,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:930,1
    - Dst: closedir
      Src: /src/glib/gio/gcontenttype.c:933,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - dir
    - mimetypes
    argTypes:
    - char*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 935
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 935
    functionName: enumerate_mimetypes_dir
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - closedir
    - g_free
    - enumerate_mimetypes_subdir
    - g_build_filename
    - readdir
    - g_file_test
    - opendir
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void enumerate_mimetypes_dir (const char *dir, GHashTable *mimetypes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gcontenttype.c:1015,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1016,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gcontenttype.c:1017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - match
    argTypes:
    - TreeMatch*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1018
    functionName: tree_match_free
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_list_free_full
    - g_free
    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.c:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - match
    argTypes:
    - TreeMatch*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1120
    functionName: insert_match
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_list_insert_sorted
    linkageType: ''
    returnType: void
    signature: 'static void insert_match (TreeMatch *match) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1281,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/gio/gcontenttype.c:1288,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1290,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1292,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gcontenttype.c:1287,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - e
    - depth
    - name
    argTypes:
    - Enumerator*
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1296
    functionName: component_match
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_free
    - g_utf8_collate_key
    - g_utf8_casefold
    - strcmp
    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.c:1398,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype.c:1400,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1403,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1404,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gcontenttype.c:1405,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gcontenttype.c:1407,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1408,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - Enumerator*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1410
    functionName: enumerator_free
    functionSourceFile: /src/glib/gio/gcontenttype.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.c:1524,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype.c:1526,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:1526,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - match
    - root
    - types
    argTypes:
    - TreeMatch*
    - GFile*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1530
    functionName: match_match
    functionSourceFile: /src/glib/gio/gcontenttype.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: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 393
    functionName: mime_info_end_element
    functionSourceFile: /src/glib/gio/gcontenttype.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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:535,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 538
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 538
    functionName: g_content_type_get_mime_type
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_content_type_get_mime_type (const char *type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/gio/gcontenttype.c:1128,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype.c:1138,1
    - Dst: tree_matchlet_free
      Src: /src/glib/gio/gcontenttype.c:1137,1
    - Dst: g_list_last
      Src: /src/glib/gio/gcontenttype.c:1145,1
    - Dst: g_list_last
      Src: /src/glib/gio/gcontenttype.c:1134,1
    - Dst: tree_matchlet_free
      Src: /src/glib/gio/gcontenttype.c:1148,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype.c:1149,1
    - Dst: g_list_append
      Src: /src/glib/gio/gcontenttype.c:1155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - match
    - matchlet
    - depth
    argTypes:
    - TreeMatch*
    - TreeMatchlet*
    - gint
    constantsTouched: []
    func_position:
      end: 1157
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1157
    functionName: insert_matchlet
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_list_append
    - tree_matchlet_free
    - g_list_last
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void insert_matchlet (TreeMatch *match, TreeMatchlet *matchlet,
      gint depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gcontenttype.c:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1230
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1230
    functionName: tree_magic_shutdown
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void tree_magic_shutdown (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next_match_recurse
      Src: /src/glib/gio/gcontenttype.c:1312,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gcontenttype.c:1329,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gcontenttype.c:1316,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gcontenttype.c:1327,1
    - Dst: component_match
      Src: /src/glib/gio/gcontenttype.c:1330,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gcontenttype.c:1332,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype.c:1333,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype.c:1336,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype.c:1339,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype.c:1341,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - e
    - depth
    argTypes:
    - Enumerator*
    - gint
    constantsTouched: []
    func_position:
      end: 1344
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1344
    functionName: next_match_recurse
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_file_info_get_name
    - next_match_recurse
    - g_file_enumerate_children
    - g_file_enumerator_next_file
    - g_object_unref
    - component_match
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *next_match_recurse (Enumerator *e, gint depth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:216,1
    - Dst: _g_content_type_set_mime_dirs_locked
      Src: /src/glib/gio/gcontenttype.c:219,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:223,1
    - Dst: g_assert
      Src: /src/glib/gio/gcontenttype.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: g_content_type_get_mime_dirs
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_assert
    - _g_content_type_set_mime_dirs_locked
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_content_type_get_mime_dirs (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:407,1
    - Dst: g_strndup
      Src: /src/glib/gio/gcontenttype.c:408,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: 411
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 411
    functionName: mime_info_text
    functionSourceFile: /src/glib/gio/gcontenttype.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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype.c:1171,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gcontenttype.c:1177,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gcontenttype.c:1173,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype.c:1177,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1175,1
    - Dst: parse_header
      Src: /src/glib/gio/gcontenttype.c:1181,1
    - Dst: insert_match
      Src: /src/glib/gio/gcontenttype.c:1183,1
    - Dst: parse_match_line
      Src: /src/glib/gio/gcontenttype.c:1187,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype.c:1190,1
    - Dst: insert_matchlet
      Src: /src/glib/gio/gcontenttype.c:1193,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gcontenttype.c:1202,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1210,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:1207,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype.c:1205,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype.c:1197,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1211
    functionName: read_tree_magic_from_directory
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - strlen
    - insert_match
    - g_free
    - parse_header
    - g_warning
    - g_build_filename
    - g_strsplit
    - g_strfreev
    - parse_match_line
    - insert_matchlet
    - strcmp
    - g_file_get_contents
    linkageType: ''
    returnType: void
    signature: 'static void read_tree_magic_from_directory (const gchar *prefix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_register_reload_callback
      Src: /src/glib/gio/gcontenttype.c:1242,1
    - Dst: tree_magic_shutdown
      Src: /src/glib/gio/gcontenttype.c:1252,1
    - Dst: read_tree_magic_from_directory
      Src: /src/glib/gio/gcontenttype.c:1256,1
    - Dst: g_content_type_get_mime_dirs
      Src: /src/glib/gio/gcontenttype.c:1254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1258
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1258
    functionName: tree_magic_init
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - xdg_mime_register_reload_callback
    - read_tree_magic_from_directory
    - g_content_type_get_mime_dirs
    - tree_magic_shutdown
    linkageType: ''
    returnType: void
    signature: 'static void tree_magic_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_match_recurse
      Src: /src/glib/gio/gcontenttype.c:1349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Enumerator*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1350
    functionName: enumerator_next
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - next_match_recurse
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *enumerator_next (Enumerator *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:194,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:196,1
    - Dst: _g_content_type_set_mime_dirs_locked
      Src: /src/glib/gio/gcontenttype.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - dirs
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: g_content_type_set_mime_dirs
    functionSourceFile: /src/glib/gio/gcontenttype.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 (const gchar * const *dirs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:492,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:505,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gcontenttype.c:500,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:501,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gcontenttype.c:506,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:511,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:518,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:490,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:493,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gcontenttype.c:498,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:513,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gcontenttype.c:520,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:495,1
    - Dst: xdg_mime_unalias_mime_type
      Src: /src/glib/gio/gcontenttype.c:494,1
    - Dst: load_comment_for_mime
      Src: /src/glib/gio/gcontenttype.c:512,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gcontenttype.c:515,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gcontenttype.c:516,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:517,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:509,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 521
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 521
    functionName: g_content_type_get_description
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_begin_ignore_leaks
    - g_strdup
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - g_hash_table_lookup
    - xdg_mime_unalias_mime_type
    - g_end_ignore_leaks
    - g_steal_pointer
    - g_hash_table_new_full
    - g_return_val_if_fail
    - load_comment_for_mime
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_description (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_get_icon_internal
      Src: /src/glib/gio/gcontenttype.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: g_content_type_get_icon
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_get_icon_internal
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_content_type_get_icon (const gchar *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:646,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:648,1
    - Dst: xdg_mime_get_generic_icon
      Src: /src/glib/gio/gcontenttype.c:650,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:651,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:649,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:652,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype.c:659,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype.c:661,1
    - Dst: g_malloc
      Src: /src/glib/gio/gcontenttype.c:663,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype.c:663,1
    - Dst: memcpy
      Src: /src/glib/gio/gcontenttype.c:665,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype.c:665,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype.c:666,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:670,1
    - Dst: memcpy
      Src: /src/glib/gio/gcontenttype.c:664,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 674
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 674
    functionName: g_content_type_get_generic_icon_name
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - strlen
    - g_begin_ignore_leaks
    - memcpy
    - g_strdup
    - G_LOCK
    - G_UNLOCK
    - g_end_ignore_leaks
    - strchr
    - xdg_mime_get_generic_icon
    - g_return_val_if_fail
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_generic_icon_name (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:75,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:78,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:76,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:79,1
    - Dst: xdg_mime_get_max_buffer_extents
      Src: /src/glib/gio/gcontenttype.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: _g_unix_content_type_get_sniff_len
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_begin_ignore_leaks
    - G_LOCK
    - G_UNLOCK
    - xdg_mime_get_max_buffer_extents
    - g_end_ignore_leaks
    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.c:346,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - lang
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 353
    functionName: language_level
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_get_language_names
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int language_level (const char *lang) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:553,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:556,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:555,1
    - Dst: xdg_mime_get_icon
      Src: /src/glib/gio/gcontenttype.c:557,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:558,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:559,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:562,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:564,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype.c:565,1
    - Dst: g_content_type_get_generic_icon_name
      Src: /src/glib/gio/gcontenttype.c:570,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gcontenttype.c:579,1
    - Dst: g_themed_icon_new_from_names
      Src: /src/glib/gio/gcontenttype.c:585,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:588,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - type
    - symbolic
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: g_content_type_get_icon_internal
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_get_generic_icon_name
    - g_begin_ignore_leaks
    - g_strdup
    - g_free
    - g_themed_icon_new_from_names
    - G_LOCK
    - xdg_mime_get_icon
    - g_strconcat
    - G_UNLOCK
    - g_end_ignore_leaks
    - strchr
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_content_type_get_icon_internal (const gchar *type,
      gboolean symbolic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_get_icon_internal
      Src: /src/glib/gio/gcontenttype.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: g_content_type_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_get_icon_internal
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_content_type_get_symbolic_icon (const gchar *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gcontenttype.c:135,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gcontenttype.c:143,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype.c:146,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gcontenttype.c:139,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/gio/gcontenttype.c:144,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype.c:146,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gcontenttype.c:146,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype.c:148,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype.c:148,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype.c:149,1
    - Dst: xdg_mime_set_dirs
      Src: /src/glib/gio/gcontenttype.c:154,1
    - Dst: tree_magic_schedule_reload
      Src: /src/glib/gio/gcontenttype.c:155,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gcontenttype.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - dirs
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: _g_content_type_set_mime_dirs_locked
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - g_ptr_array_free
    - g_get_system_data_dirs
    - g_strdupv
    - tree_magic_schedule_reload
    - g_get_user_data_dir
    - g_build_filename
    - xdg_mime_set_dirs
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void _g_content_type_set_mime_dirs_locked (const char * const
      *dirs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:89,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:91,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:90,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:92,1
    - Dst: xdg_mime_unalias_mime_type
      Src: /src/glib/gio/gcontenttype.c:91,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: _g_unix_content_type_unalias
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_begin_ignore_leaks
    - g_strdup
    - G_LOCK
    - G_UNLOCK
    - xdg_mime_unalias_mime_type
    - g_end_ignore_leaks
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_unix_content_type_unalias (const gchar *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:367,1
    - Dst: language_level
      Src: /src/glib/gio/gcontenttype.c:377,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:371,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: 382
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 382
    functionName: mime_info_start_element
    functionSourceFile: /src/glib/gio/gcontenttype.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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:319,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: g_content_type_is_unknown
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_unknown (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gcontenttype.c:1560,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:1562,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:1571,1
    - Dst: match_match
      Src: /src/glib/gio/gcontenttype.c:1568,1
    - Dst: tree_magic_init
      Src: /src/glib/gio/gcontenttype.c:1564,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype.c:1573,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gcontenttype.c:1575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - root
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1576
    functionName: g_content_type_guess_for_tree
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_ptr_array_free
    - G_UNLOCK
    - match_match
    - tree_magic_init
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_content_type_guess_for_tree (GFile *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gcontenttype.c:106,1
    - Dst: xdg_mime_unalias_mime_type
      Src: /src/glib/gio/gcontenttype.c:111,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype.c:113,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:109,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:108,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:113,1
    - Dst: xdg_mime_list_mime_parents
      Src: /src/glib/gio/gcontenttype.c:115,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype.c:117,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:117,1
    - Dst: free
      Src: /src/glib/gio/gcontenttype.c:119,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:121,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype.c:124,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gcontenttype.c:126,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: _g_unix_content_type_get_parents
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_begin_ignore_leaks
    - g_strdup
    - G_LOCK
    - free
    - g_ptr_array_free
    - G_UNLOCK
    - xdg_mime_unalias_mime_type
    - g_end_ignore_leaks
    - xdg_mime_list_mime_parents
    - g_ptr_array_new
    - 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.c:273,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:277,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:276,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:274,1
    - Dst: xdg_mime_mime_type_subclass
      Src: /src/glib/gio/gcontenttype.c:278,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:279,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - type
    - supertype
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: g_content_type_is_a
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_begin_ignore_leaks
    - G_LOCK
    - xdg_mime_mime_type_subclass
    - G_UNLOCK
    - g_end_ignore_leaks
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_a (const gchar *type, const gchar *supertype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/gcontenttype.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - type
    - mime_type
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: g_content_type_is_mime_type
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_is_a
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_mime_type (const gchar *type, const gchar
      *mime_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:689,1
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/gcontenttype.c:692,1
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/gcontenttype.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 696
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 696
    functionName: g_content_type_can_be_executable
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_is_a
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_can_be_executable (const gchar *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype.c:1027,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype.c:1033,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:1039,1
    - Dst: atoi
      Src: /src/glib/gio/gcontenttype.c:1038,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gcontenttype.c:1037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - line
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1042
    functionName: parse_header
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_slice_new0
    - atoi
    - strchr
    linkageType: ''
    returnType: TreeMatch*
    signature: 'static TreeMatch *parse_header (gchar *line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1217
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1217
    functionName: tree_magic_schedule_reload
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tree_magic_schedule_reload (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_iscntrl
      Src: /src/glib/gio/gcontenttype.c:708,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gcontenttype.c:709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - data
    - data_size
    argTypes:
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 714
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 714
    functionName: looks_like_text
    functionSourceFile: /src/glib/gio/gcontenttype.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: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gcontenttype.c:1053,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype.c:1063,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:1073,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype.c:1068,1
    - Dst: atoi
      Src: /src/glib/gio/gcontenttype.c:1062,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gcontenttype.c:1075,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1076,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1078,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1080,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1086,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1090,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:1095,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gcontenttype.c:1103,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1088,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:1092,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gcontenttype.c:1098,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - line
    - depth
    argTypes:
    - gchar*
    - gint*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1105
    functionName: parse_match_line
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    - atoi
    - g_strsplit
    - g_strfreev
    - strcmp
    - strchr
    - g_slice_free
    linkageType: ''
    returnType: TreeMatchlet*
    signature: 'static TreeMatchlet *parse_match_line (gchar *line, gint *depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_magic_schedule_reload
      Src: /src/glib/gio/gcontenttype.c:1222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: xdg_mime_reload
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - tree_magic_schedule_reload
    linkageType: ''
    returnType: void
    signature: 'static void xdg_mime_reload (void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:245,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:249,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:248,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:246,1
    - Dst: xdg_mime_mime_type_equal
      Src: /src/glib/gio/gcontenttype.c:250,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:251,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: g_content_type_equals
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_begin_ignore_leaks
    - G_LOCK
    - G_UNLOCK
    - g_end_ignore_leaks
    - xdg_mime_mime_type_equal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_equals (const gchar *type1, const gchar *type2) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:782,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype.c:802,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:809,1
    - Dst: looks_like_text
      Src: /src/glib/gio/gcontenttype.c:820,1
    - Dst: xdg_mime_get_mime_type_for_data
      Src: /src/glib/gio/gcontenttype.c:817,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:879,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype.c:784,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype.c:789,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:782,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gcontenttype.c:800,1
    - Dst: xdg_mime_get_mime_types_from_file_name
      Src: /src/glib/gio/gcontenttype.c:801,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:810,1
    - Dst: xdg_mime_mime_type_subclass
      Src: /src/glib/gio/gcontenttype.c:856,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:873,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:840,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:848,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:880,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype.c:785,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype.c:811,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype.c:861,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype.c:830,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 76
    argCount: 4
    argNames:
    - filename
    - data
    - data_size
    - result_uncertain
    argTypes:
    - gchar*
    - guchar*
    - gsize
    - gboolean*
    constantsTouched: []
    func_position:
      end: 883
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 883
    functionName: g_content_type_guess
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - strlen
    - g_begin_ignore_leaks
    - g_strdup
    - g_free
    - g_path_get_basename
    - G_LOCK
    - looks_like_text
    - xdg_mime_get_mime_types_from_file_name
    - G_UNLOCK
    - xdg_mime_get_mime_type_for_data
    - g_end_ignore_leaks
    - xdg_mime_mime_type_subclass
    - strcmp
    - g_return_val_if_fail
    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_hash_table_new_full
      Src: /src/glib/gio/gcontenttype.c:957,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gcontenttype.c:965,1
    - Dst: g_content_type_get_mime_dirs
      Src: /src/glib/gio/gcontenttype.c:959,1
    - Dst: enumerate_mimetypes_dir
      Src: /src/glib/gio/gcontenttype.c:961,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gcontenttype.c:964,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gcontenttype.c:967,1
    - Dst: g_hash_table_iter_steal
      Src: /src/glib/gio/gcontenttype.c:968,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gcontenttype.c:971,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 974
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 974
    functionName: g_content_types_get_registered
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_hash_table_destroy
    - enumerate_mimetypes_dir
    - g_hash_table_iter_next
    - g_list_prepend
    - g_hash_table_iter_init
    - g_content_type_get_mime_dirs
    - g_hash_table_new_full
    - g_hash_table_iter_steal
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_content_types_get_registered (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gio-tool-copy.c:65,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-copy.c:72,1
    - Dst: MAX
      Src: /src/glib/gio/gio-tool-copy.c:73,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-copy.c:71,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-copy.c:70,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-copy.c:74,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-copy.c:75,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:75,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:79,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:80,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:81,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: 82
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: show_progress
    functionSourceFile: /src/glib/gio/gio-tool-copy.c
    functionUses: []
    functionsReached:
    - _
    - g_free
    - g_format_size
    - g_get_monotonic_time
    - MAX
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void show_progress (goffset current_num_bytes, goffset total_num_bytes,
      gpointer user_data) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-copy.c:98,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-copy.c:102,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-copy.c:105,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-copy.c:123,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:131,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:139,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:141,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-copy.c:150,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:150,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:151,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:198,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:101,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:103,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:106,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:115,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:124,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:108,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:153,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:158,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-copy.c:162,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/gio-tool-copy.c:165,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-copy.c:196,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:167,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-copy.c:166,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-copy.c:213,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-copy.c:107,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:116,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-copy.c:111,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-copy.c:120,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-copy.c:135,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:154,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-copy.c:193,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gio-tool-copy.c:204,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:222,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:197,1
    - Dst: g_file_copy
      Src: /src/glib/gio/gio-tool-copy.c:205,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gio-tool-copy.c:185,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:221,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-copy.c:219,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-copy.c:101,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:101,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-copy.c:104,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:122,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:130,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:140,1
    - Dst: file_is_dir
      Src: /src/glib/gio/gio-tool-copy.c:145,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gio-tool-copy.c:170,1
    - Dst: g_file_copy
      Src: /src/glib/gio/gio-tool-copy.c:187,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-copy.c:189,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-copy.c:212,1
    - Dst: fgets
      Src: /src/glib/gio/gio-tool-copy.c:200,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:152,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-copy.c:197,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:225,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 112
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 228
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 228
    functionName: handle_copy
    functionSourceFile: /src/glib/gio/gio-tool-copy.c
    functionUses: []
    functionsReached:
    - _
    - g_option_context_set_summary
    - g_file_get_basename
    - g_file_get_uri
    - fgets
    - g_file_copy
    - show_help
    - g_file_new_for_commandline_arg
    - g_option_context_free
    - g_error_matches
    - g_option_context_set_description
    - g_object_unref
    - g_get_monotonic_time
    - g_print
    - print_file_error
    - g_object_ref
    - g_option_context_new
    - g_error_free
    - g_strdup_printf
    - g_option_context_set_help_enabled
    - g_free
    - g_set_prgname
    - file_is_dir
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_file_get_child
    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: GUINT32_TO_BE
      Src: /src/glib/gio/strinfo.c:135,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/strinfo.c:134,1
    - Dst: memcpy
      Src: /src/glib/gio/strinfo.c:136,1
    - Dst: MAX
      Src: /src/glib/gio/strinfo.c:129,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:
    - strlen
    - memcpy
    - GUINT32_TO_LE
    - GUINT32_TO_BE
    - MAX
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static guint strinfo_string_to_words (const gchar *string,
      guint32 *words, 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_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_string_to_words
    - strinfo_scan
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_find_integer
      Src: /src/glib/gio/strinfo.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - strinfo
    - length
    - value
    argTypes:
    - guint32*
    - guint
    - guint
    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
      Src: /src/glib/gio/strinfo.c:274,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/strinfo.c:280,1
    - Dst: memchr
      Src: /src/glib/gio/strinfo.c:283,1
    - Dst: g_assert
      Src: /src/glib/gio/strinfo.c:284,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/strinfo.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - strinfo
    - length
    argTypes:
    - guint32*
    - guint
    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_variant_builder_end
    - g_assert
    - g_variant_builder_add
    - g_variant_builder_init
    - memchr
    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: strinfo_string_to_words
      Src: /src/glib/gio/strinfo.c:326,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/strinfo.c:327,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/strinfo.c:324,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/strinfo.c:328,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_string_to_words
    - g_string_append_len
    - strinfo_find_string
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static gboolean strinfo_builder_append_alias (GString
      *builder, const gchar *alias, const gchar *target) '
  - 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: 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: 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: 3
    argNames:
    - strinfo
    - length
    - alias
    argTypes:
    - guint32*
    - guint
    - gchar*
    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: strinfo_string_to_words
      Src: /src/glib/gio/strinfo.c:303,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
    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
    - strinfo_string_to_words
    - g_string_append_len
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5829,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:5832,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5829,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5835,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5830,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:5839,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5841,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileMonitorFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5846
      start: 5821
    functionDepth: 0
    functionLinenumber: 5821
    functionLinenumberEnd: 5846
    functionName: g_file_monitor_directory
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'GFileMonitor *g_file_monitor_directory (GFile *file, GFileMonitorFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6631,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6634,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6635,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6636,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6637,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6639,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6640,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: 6641
      start: 6620
    functionDepth: 0
    functionLinenumber: 6620
    functionLinenumberEnd: 6641
    functionName: g_file_real_create_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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_val_if_fail
      Src: /src/glib/gio/gfile.c:7546,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7547,1
    - Dst: new_for_cmdline_arg
      Src: /src/glib/gio/gfile.c:7549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - cwd
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 7550
      start: 7542
    functionDepth: 0
    functionLinenumber: 7542
    functionLinenumberEnd: 7550
    functionName: g_file_new_for_commandline_arg_and_cwd
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - new_for_cmdline_arg
    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_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6648,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6650,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6650,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6651
      start: 6643
    functionDepth: 0
    functionLinenumber: 6643
    functionLinenumberEnd: 6651
    functionName: g_file_real_create_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'static GFileIOStream *g_file_real_create_readwrite_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6782,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - SetInfoAsyncData*
    constantsTouched: []
    func_position:
      end: 6784
      start: 6778
    functionDepth: 0
    functionLinenumber: 6778
    functionLinenumberEnd: 6784
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1466,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1468,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1466,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1471,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1475,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - file
    - attributes
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1482
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1482
    functionName: g_file_query_filesystem_info
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    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:5009,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5009,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5010,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfile.c:5010,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:5012,1
    - Dst: g_file_info_clear_status
      Src: /src/glib/gio/gfile.c:5015,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5017,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: 5024
      start: 5000
    functionDepth: 0
    functionLinenumber: 5000
    functionLinenumberEnd: 5024
    functionName: g_file_set_attributes_from_info
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_info_clear_status
    - G_IS_FILE_INFO
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attributes_from_info (GFile *file, GFileInfo *info,
      GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5780,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5781,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5783,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5781,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5780,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5785,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:5786,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5786,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5788,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5793
      start: 5773
    functionDepth: 0
    functionLinenumber: 5773
    functionLinenumberEnd: 5793
    functionName: g_file_eject_mountable_with_operation_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_eject_mountable_with_operation_finish (GFile *file,
      GAsyncResult *result, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8368,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8369,1
    - Dst: g_file_replace
      Src: /src/glib/gio/gfile.c:8371,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/gfile.c:8378,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8368,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8378,1
    - Dst: MIN
      Src: /src/glib/gio/gfile.c:8380,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gfile.c:8391,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8391,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8392,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8403,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8398,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gfile.c:8398,1
    - Dst: g_file_output_stream_get_etag
      Src: /src/glib/gio/gfile.c:8401,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: 8406
      start: 8352
    functionDepth: 0
    functionLinenumber: 8352
    functionLinenumberEnd: 8406
    functionName: g_file_replace_contents
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_output_stream_get_etag
    - G_OUTPUT_STREAM
    - MIN
    - g_object_unref
    - g_file_replace
    - g_output_stream_close
    - g_output_stream_write
    - G_IS_FILE
    - g_return_val_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9202,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:9203,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9202,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9203,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:9205,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:9207,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:9208,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9208,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 9212
      start: 9195
    functionDepth: 0
    functionLinenumber: 9195
    functionLinenumberEnd: 9212
    functionName: g_file_poll_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_poll_mountable_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:676,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:678,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 681
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 681
    functionName: g_file_get_uri
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_uri (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2486,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2488,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2486,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: 2495
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2495
    functionName: g_file_create_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4599,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4599,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4608,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4604,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4601,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4615
      start: 4592
    functionDepth: 0
    functionLinenumber: 4592
    functionLinenumberEnd: 4615
    functionName: g_file_trash
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_trash (GFile *file, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:5964,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:5964,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:5968,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:5966,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 5969
      start: 5954
    functionDepth: 0
    functionLinenumber: 5954
    functionLinenumberEnd: 5969
    functionName: query_info_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_query_info
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void query_info_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:6541,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6545,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6542,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6544,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6543,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: 6546
      start: 6532
    functionDepth: 0
    functionLinenumber: 6532
    functionLinenumberEnd: 6546
    functionName: g_file_real_make_directory_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_task_run_in_thread
    - g_object_unref
    - g_task_new
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_replace_readwrite
      Src: /src/glib/gio/gfile.c:6676,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6686,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6684,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6687
      start: 6666
    functionDepth: 0
    functionLinenumber: 6666
    functionLinenumberEnd: 6687
    functionName: replace_readwrite_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE
    - g_task_return_pointer
    - g_task_return_error
    - g_file_replace_readwrite
    linkageType: ''
    returnType: void
    signature: 'static void replace_readwrite_async_thread (GTask *task, gpointer
      object, gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileIface*
    constantsTouched: []
    func_position:
      end: 435
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 435
    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_new0
      Src: /src/glib/gio/gfile.c:5983,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:5988,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:5989,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:5987,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:5984,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:5990,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:5991,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:5992,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: 5993
      start: 5971
    functionDepth: 0
    functionLinenumber: 5971
    functionLinenumberEnd: 5993
    functionName: g_file_real_query_info_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6553,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6553,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:6555,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6556
      start: 6548
    functionDepth: 0
    functionLinenumber: 6548
    functionLinenumberEnd: 6556
    functionName: g_file_real_make_directory_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_make_directory_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6702,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6708,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6703,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6709,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6707,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6710,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6712,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6713,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: 6714
      start: 6689
    functionDepth: 0
    functionLinenumber: 6689
    functionLinenumberEnd: 6714
    functionName: g_file_real_replace_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8654,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8655,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8654,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:8657,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:8655,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:8659,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:8662,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - file
    - res
    - new_etag
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 8671
      start: 8645
    functionDepth: 0
    functionLinenumber: 8645
    functionLinenumberEnd: 8671
    functionName: g_file_replace_contents_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_boolean
    - G_IS_FILE
    - g_return_val_if_fail
    - g_task_get_task_data
    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_IS_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:653,1
    - Dst: file_peek_path_generic
      Src: /src/glib/gio/gfile.c:655,1
    - Dst: _g_local_file_get_filename
      Src: /src/glib/gio/gfile.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 656
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:7585,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:7591,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:7587,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:7585,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7594,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: 7600
      start: 7575
    functionDepth: 0
    functionLinenumber: 7575
    functionLinenumberEnd: 7600
    functionName: g_file_mount_enclosing_volume
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_GET_IFACE
    - g_task_report_new_error
    - G_IS_FILE
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9076,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:9085,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9078,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9076,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:9082,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: 9095
      start: 9066
    functionDepth: 0
    functionLinenumber: 9066
    functionLinenumberEnd: 9095
    functionName: g_file_stop_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_GET_IFACE
    - g_task_report_new_error
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_stop_mountable (GFile *file, GMountUnmountFlags flags,
      GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:8108,1
    - Dst: g_byte_array_set_size
      Src: /src/glib/gio/gfile.c:8117,1
    - Dst: g_file_read_finish
      Src: /src/glib/gio/gfile.c:8113,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gfile.c:8119,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8119,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8123,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8129,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - open_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8132
      start: 8103
    functionDepth: 0
    functionLinenumber: 8103
    functionLinenumberEnd: 8132
    functionName: load_contents_open_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE
    - g_input_stream_read_async
    - g_object_unref
    - g_byte_array_set_size
    - G_INPUT_STREAM
    - g_task_get_cancellable
    - g_task_return_error
    - g_file_read_finish
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_open_callback (GObject *obj, GAsyncResult
      *open_res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1090,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1099,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1090,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1095,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1092,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1107
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1107
    functionName: g_file_enumerate_children
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    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:1175,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1175,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:1176,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:1178,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1176,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1183
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1183
    functionName: g_file_enumerate_children_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFileEnumerator*
    signature: 'GFileEnumerator *g_file_enumerate_children_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2123,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2125,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2123,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: 2131
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2131
    functionName: g_file_read_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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:2601,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2604,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2602,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2602,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2601,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2607,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2609
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2609
    functionName: g_file_replace_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *g_file_replace_readwrite_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3921,1
    - Dst: g_file_copy
      Src: /src/glib/gio/gfile.c:3953,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3946,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3948,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3913,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gfile.c:3919,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3940,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gfile.c:3919,1
    - Dst: g_file_delete
      Src: /src/glib/gio/gfile.c:3958,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:3889,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:3890,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3890,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3889,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:3892,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3895,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3909,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3936,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: 3959
      start: 3876
    functionDepth: 0
    functionLinenumber: 3876
    functionLinenumberEnd: 3959
    functionName: g_file_move
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_OBJECT_TYPE
    - g_set_error_literal
    - g_file_delete
    - g_cancellable_set_error_if_cancelled
    - g_clear_error
    - g_file_copy
    - G_FILE_GET_IFACE
    - g_propagate_error
    - G_IS_FILE
    - g_return_val_if_fail
    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_file_set_attribute
      Src: /src/glib/gio/gfile.c:5268,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: 5271
      start: 5260
    functionDepth: 0
    functionLinenumber: 5260
    functionLinenumberEnd: 5271
    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_enumerate_children
      Src: /src/glib/gio/gfile.c:6060,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6062,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6064,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6060,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6065
      start: 6050
    functionDepth: 0
    functionLinenumber: 6050
    functionLinenumberEnd: 6065
    functionName: enumerate_children_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_enumerate_children
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void enumerate_children_async_thread (GTask *task, gpointer
      object, gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_move
      Src: /src/glib/gio/gfile.c:6466,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6476,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6474,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:6476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - task
    - source
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6477
      start: 6456
    functionDepth: 0
    functionLinenumber: 6456
    functionLinenumberEnd: 6477
    functionName: move_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_return_boolean
    - g_task_return_error
    - g_file_move
    linkageType: ''
    returnType: void
    signature: 'static void move_async_thread (GTask *task, gpointer source, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6079,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6083,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6084,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6085,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6080,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6086,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6087,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6088,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: 6089
      start: 6067
    functionDepth: 0
    functionLinenumber: 6067
    functionLinenumberEnd: 6089
    functionName: g_file_real_enumerate_children_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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_slice_new0
      Src: /src/glib/gio/gfile.c:6493,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6501,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:6494,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:6495,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6500,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6502,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:6502,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6503,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6504,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6505,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: 6506
      start: 6479
    functionDepth: 0
    functionLinenumber: 6479
    functionLinenumberEnd: 6506
    functionName: g_file_real_move_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_steal_pointer
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_find_enclosing_mount
      Src: /src/glib/gio/gfile.c:6857,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6857,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6860,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6863
      start: 6848
    functionDepth: 0
    functionLinenumber: 6848
    functionLinenumberEnd: 6863
    functionName: find_enclosing_mount_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_find_enclosing_mount
    - g_task_return_error
    - 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:1035,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1038,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1035,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - file
    - relative_path
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 1041
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1041
    functionName: g_file_resolve_relative_path
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    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:1143,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1143,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1145,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: 1153
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1153
    functionName: g_file_enumerate_children_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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:1379,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1381,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1379,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: 1389
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1389
    functionName: g_file_query_info_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2567,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2569,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2567,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: 2578
      start: 2555
    functionDepth: 0
    functionLinenumber: 2555
    functionLinenumberEnd: 2578
    functionName: g_file_replace_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:7193,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:7195,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:7193,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:7197,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:7196,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:7197,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:7198,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gfile.c:7199,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:7200,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7201,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: 7202
      start: 7184
    functionDepth: 0
    functionLinenumber: 7184
    functionLinenumberEnd: 7202
    functionName: g_file_new_tmp_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_set_check_cancellable
    - G_IS_CANCELLABLE
    - g_return_if_fail
    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_ascii_isalnum
      Src: /src/glib/gio/gfile.c:7438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 7439
      start: 7435
    functionDepth: 0
    functionLinenumber: 7435
    functionLinenumberEnd: 7439
    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_file_load_partial_contents_finish
      Src: /src/glib/gio/gfile.c:8309,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: 8315
      start: 8301
    functionDepth: 0
    functionLinenumber: 8301
    functionLinenumberEnd: 8315
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1411,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:1414,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:1412,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1412,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1411,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1419
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1419
    functionName: g_file_query_info_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_query_info_finish (GFile *file, GAsyncResult *res,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4957,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4960,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4958,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4963,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4957,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4967,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4969,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: 4974
      start: 4946
    functionDepth: 0
    functionLinenumber: 4946
    functionLinenumberEnd: 4974
    functionName: g_file_set_attribute
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    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_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6394,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:6396,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6394,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6397
      start: 6389
    functionDepth: 0
    functionLinenumber: 6389
    functionLinenumberEnd: 6397
    functionName: g_file_real_trash_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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:6754,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6755,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6757,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6756,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6756,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6759,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6760,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: 6761
      start: 6744
    functionDepth: 0
    functionLinenumber: 6744
    functionLinenumberEnd: 6761
    functionName: g_file_real_set_display_name_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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_clear_object
      Src: /src/glib/gio/gfile.c:7114,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gfile.c:7115,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - NewTmpAsyncData*
    constantsTouched: []
    func_position:
      end: 7117
      start: 7111
    functionDepth: 0
    functionLinenumber: 7111
    functionLinenumberEnd: 7117
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6768,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6768,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6770,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6771
      start: 6763
    functionDepth: 0
    functionLinenumber: 6763
    functionLinenumberEnd: 6771
    functionName: g_file_real_set_display_name_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_file_real_set_display_name_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 6926
      start: 6915
    functionDepth: 0
    functionLinenumber: 6915
    functionLinenumberEnd: 6926
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gfile.c:7131,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7142,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7142,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/gfile.c:7147,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/gfile.c:7134,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gfile.c:7149,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7150,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:7154,1
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:7158,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7159,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7162,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7160,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:7162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 7164
      start: 7119
    functionDepth: 0
    functionLinenumber: 7119
    functionLinenumberEnd: 7164
    functionName: new_tmp_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_new0
    - g_task_return_error_if_cancelled
    - g_clear_error
    - g_steal_pointer
    - g_task_return_pointer
    - g_file_new_tmp
    - g_io_error_from_file_error
    - g_task_return_error
    - g_task_return_new_error
    linkageType: ''
    returnType: void
    signature: 'static void new_tmp_async_thread (GTask *task, gpointer object, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2152,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2153,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2153,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2155,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2152,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2160
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2160
    functionName: g_file_read_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'GFileInputStream *g_file_read_finish (GFile *file, GAsyncResult *res,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4001,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4002,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4001,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4003,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4002,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:4003,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4005,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: 4015
      start: 3988
    functionDepth: 0
    functionLinenumber: 3988
    functionLinenumberEnd: 4015
    functionName: g_file_move_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_IS_CANCELLABLE
    - G_FILE_GET_IFACE
    - 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_file_set_attribute
      Src: /src/glib/gio/gfile.c:5301,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: 5304
      start: 5293
    functionDepth: 0
    functionLinenumber: 5293
    functionLinenumberEnd: 5304
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7225,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:7225,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7226,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/gfile.c:7226,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7226,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7228,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7229,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:7231,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7231,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7239,1
    - Dst: new_tmp_data_free
      Src: /src/glib/gio/gfile.c:7242,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7240,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - result
    - iostream
    - error
    argTypes:
    - GAsyncResult*
    - GFileIOStream**
    - GError**
    constantsTouched: []
    func_position:
      end: 7245
      start: 7217
    functionDepth: 0
    functionLinenumber: 7217
    functionLinenumberEnd: 7245
    functionName: g_file_new_tmp_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_get_source_tag
    - G_TASK
    - g_task_propagate_pointer
    - g_steal_pointer
    - g_return_val_if_fail
    - new_tmp_data_free
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_tmp_finish (GAsyncResult *result, GFileIOStream
      **iostream, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalpha
      Src: /src/glib/gio/gfile.c:7451,1
    - Dst: is_valid_scheme_character
      Src: /src/glib/gio/gfile.c:7456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7459
      start: 7444
    functionDepth: 0
    functionLinenumber: 7444
    functionLinenumberEnd: 7459
    functionName: has_valid_scheme
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - is_valid_scheme_character
    - g_ascii_isalpha
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean has_valid_scheme (const char *uri) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1586,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1588,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1595,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1586,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1591,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1600,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1605
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1605
    functionName: g_file_find_enclosing_mount
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GMount*
    signature: 'GMount *g_file_find_enclosing_mount (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2372,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2372,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2373,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2373,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2375,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2380
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2380
    functionName: g_file_replace_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_replace_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5202,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: 5205
      start: 5194
    functionDepth: 0
    functionLinenumber: 5194
    functionLinenumberEnd: 5205
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_load_partial_contents_async
      Src: /src/glib/gio/gfile.c:8275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - file
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 8279
      start: 8269
    functionDepth: 0
    functionLinenumber: 8269
    functionLinenumberEnd: 8279
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gfile.c:8419,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8420,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - ReplaceContentsData*
    constantsTouched: []
    func_position:
      end: 8422
      start: 8416
    functionDepth: 0
    functionLinenumber: 8416
    functionLinenumberEnd: 8422
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_measure_disk_usage
      Src: /src/glib/gio/gfile.c:8762,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8768,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:8766,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gfile.c:8766,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: 8769
      start: 8752
    functionDepth: 0
    functionLinenumber: 8752
    functionLinenumberEnd: 8769
    functionName: measure_disk_usage_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_memdup2
    - g_task_return_pointer
    - g_file_measure_disk_usage
    - g_task_return_error
    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_val_if_fail
      Src: /src/glib/gio/gfile.c:932,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:933,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:935,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - file
    - display_name
    - error
    argTypes:
    - GFile*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 938
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 938
    functionName: g_file_get_child_for_display_name
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_get_child_for_display_name (GFile *file, const char
      *display_name, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2340,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2342,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2340,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: 2351
      start: 2328
    functionDepth: 0
    functionLinenumber: 2328
    functionLinenumberEnd: 2351
    functionName: g_file_replace_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:3685,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3685,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:3688,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:3686,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3686,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3691,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3705,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3709,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gfile.c:3715,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gfile.c:3715,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3732,1
    - Dst: file_copy_fallback
      Src: /src/glib/gio/gfile.c:3740,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3717,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3736,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: 3743
      start: 3672
    functionDepth: 0
    functionLinenumber: 3672
    functionLinenumberEnd: 3743
    functionName: g_file_copy
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_cancellable_set_error_if_cancelled
    - g_clear_error
    - file_copy_fallback
    - G_FILE_GET_IFACE
    - g_propagate_error
    - G_IS_FILE
    - g_return_val_if_fail
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8214,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8215,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8214,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:8215,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8216,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:8218,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:8220,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:8227,1
    - Dst: g_byte_array_set_size
      Src: /src/glib/gio/gfile.c:8239,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/gfile.c:8242,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 6
    argNames:
    - file
    - res
    - contents
    - length
    - etag_out
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - char**
    - gsize*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 8246
      start: 8203
    functionDepth: 0
    functionLinenumber: 8203
    functionLinenumberEnd: 8246
    functionName: g_file_load_partial_contents_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_boolean
    - g_byte_array_free
    - g_byte_array_set_size
    - G_IS_FILE
    - g_return_val_if_fail
    - g_task_get_task_data
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8947,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8948,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8947,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:8950,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: 8951
      start: 8939
    functionDepth: 0
    functionLinenumber: 8939
    functionLinenumberEnd: 8951
    functionName: g_file_measure_disk_usage_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:859,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/gfile.c:862,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:860,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:859,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:860,1
    - Dst: g_file_equal
      Src: /src/glib/gio/gfile.c:867,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - file
    - parent
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 877
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 877
    functionName: g_file_has_parent
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_file_get_parent
    - g_file_equal
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_has_parent (GFile *file, GFile *parent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2443,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2444,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2444,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2446,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2443,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2449,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2451
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2451
    functionName: g_file_open_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *g_file_open_readwrite_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/gfile.c:2627,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2642,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:2641,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:2636,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:2633,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2646,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2647,1
    - Dst: g_file_delete
      Src: /src/glib/gio/gfile.c:2652,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:2659,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: 2664
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2664
    functionName: copy_symlink
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_make_symbolic_link
    - _
    - g_file_delete
    - g_object_unref
    - g_clear_error
    - g_file_info_get_file_type
    - g_propagate_error
    - g_set_error_literal
    - g_file_query_info
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copy_symlink (GFile *destination, GFileCopyFlags flags,
      GCancellable *cancellable, const char *target, GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_c
      Src: /src/glib/gio/gfile.c:2846,1
    - Dst: g_string_free
      Src: /src/glib/gio/gfile.c:2854,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2794,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2793,1
    - Dst: g_file_query_writable_namespaces
      Src: /src/glib/gio/gfile.c:2806,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfile.c:2832,1
    - Dst: g_string_free
      Src: /src/glib/gio/gfile.c:2858,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2792,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:2803,1
    - Dst: should_copy
      Src: /src/glib/gio/gfile.c:2825,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfile.c:2848,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfile.c:2849,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/gfile.c:2862,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2792,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:2793,1
    - Dst: g_file_query_settable_attributes
      Src: /src/glib/gio/gfile.c:2802,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:2807,1
    - Dst: g_string_new
      Src: /src/glib/gio/gfile.c:2814,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gfile.c:2830,1
    - Dst: should_copy
      Src: /src/glib/gio/gfile.c:2841,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfile.c:2819,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/gfile.c:2860,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 55
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2865
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2865
    functionName: g_file_build_attribute_list_for_copy
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_query_settable_attributes
    - g_string_new
    - g_string_append
    - should_copy
    - g_file_query_writable_namespaces
    - g_string_append_c
    - g_cancellable_set_error_if_cancelled
    - G_IS_CANCELLABLE
    - g_file_attribute_info_list_unref
    - g_string_free
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_build_attribute_list_for_copy (GFile *file, GFileCopyFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5599,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5600,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5600,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5599,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5602,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5604,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:5605,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5605,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5607,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5612
      start: 5592
    functionDepth: 0
    functionLinenumber: 5592
    functionLinenumberEnd: 5612
    functionName: g_file_unmount_mountable_with_operation_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_unmount_mountable_with_operation_finish (GFile *file,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filenamev
      Src: /src/glib/gio/gfile.c:7428,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7429,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 7433
      start: 7422
    functionDepth: 0
    functionLinenumber: 7422
    functionLinenumberEnd: 7433
    functionName: g_file_new_build_filenamev
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_build_filenamev
    - g_free
    - g_file_new_for_path
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_build_filenamev (const gchar * const *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 8723
      start: 8713
    functionDepth: 0
    functionLinenumber: 8713
    functionLinenumberEnd: 8723
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9413,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9415,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9413,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gfile.c:9414,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9414,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:9415,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9415,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9416,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:9418,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9418,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:9421,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9421,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:9421,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - file
    - result
    - etag_out
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 9424
      start: 9405
    functionDepth: 0
    functionLinenumber: 9405
    functionLinenumberEnd: 9424
    functionName: g_file_load_bytes_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_strdup
    - G_TASK
    - g_task_propagate_pointer
    - G_IS_TASK
    - G_IS_FILE
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_file_load_bytes_finish (GFile *file, GAsyncResult *result,
      gchar **etag_out, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read
      Src: /src/glib/gio/gfile.c:2679,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:2697,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:2699,1
    - Dst: g_error_free
      Src: /src/glib/gio/gfile.c:2690,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:2693,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2700,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2706,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2707,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2714,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2715,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:2725,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:2727,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:2730,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2734,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:2738,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2733,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gfile.c:2724,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 5
    argNames:
    - source
    - destination
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2740
      start: 2666
    functionDepth: 0
    functionLinenumber: 2666
    functionLinenumberEnd: 2740
    functionName: open_source_for_copy
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_file_info_has_attribute
    - g_clear_object
    - g_error_free
    - g_error_matches
    - g_object_unref
    - g_clear_error
    - g_file_info_get_file_type
    - g_file_read
    - g_propagate_error
    - g_set_error_literal
    - g_file_query_info
    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_get_task_data
      Src: /src/glib/gio/gfile.c:8736,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gfile.c:8745,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gfile.c:8745,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gfile.c:8748,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gfile.c:8746,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: 8750
      start: 8725
    functionDepth: 0
    functionLinenumber: 8725
    functionLinenumberEnd: 8750
    functionName: measure_disk_usage_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_main_context_invoke_full
    - g_memdup2
    - g_task_get_context
    - g_task_get_priority
    - g_task_get_task_data
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_default_for_uri_scheme_finish
      Src: /src/glib/gio/gfile.c:7800,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7804,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7805,1
    - Dst: g_file_query_info_async
      Src: /src/glib/gio/gfile.c:7809,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:7804,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gfile.c:7809,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gfile.c:7813,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:7814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 7818
      start: 7792
    functionDepth: 0
    functionLinenumber: 7792
    functionLinenumberEnd: 7818
    functionName: on_query_default_handler_for_uri_cb
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_file_query_info_async
    - g_app_info_get_default_for_uri_scheme_finish
    - g_object_unref
    - g_task_return_pointer
    - g_steal_pointer
    - g_task_get_priority
    - g_task_get_cancellable
    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_return_val_if_fail
      Src: /src/glib/gio/gfile.c:829,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:829,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 834
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 834
    functionName: g_file_get_parent
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_get_parent (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:1635,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1637,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1635,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: 1643
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1643
    functionName: g_file_find_enclosing_mount_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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:2412,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2414,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2412,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: 2420
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2420
    functionName: g_file_open_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: strcmp
      Src: /src/glib/gio/gfile.c:2747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - info
    - copy_all_attributes
    - skip_perms
    argTypes:
    - GFileAttributeInfo*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 2753
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2753
    functionName: should_copy
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean should_copy (GFileAttributeInfo *info, gboolean copy_all_attributes,
      gboolean skip_perms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5235,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: 5238
      start: 5227
    functionDepth: 0
    functionLinenumber: 5227
    functionLinenumberEnd: 5238
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7394,1
    - Dst: va_start
      Src: /src/glib/gio/gfile.c:7396,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7400,1
    - Dst: g_build_filename_valist
      Src: /src/glib/gio/gfile.c:7397,1
    - Dst: va_end
      Src: /src/glib/gio/gfile.c:7398,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - first_element
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 7404
      start: 7386
    functionDepth: 0
    functionLinenumber: 7386
    functionLinenumberEnd: 7404
    functionName: g_file_new_build_filename
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_file_new_for_path
    - g_build_filename_valist
    - va_start
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_build_filename (const gchar *first_element, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: splice
      Src: /src/glib/gio/gfile.c:3146,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gfile.c:3159,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3156,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:3158,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3155,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3160,1
    - Dst: g_strerror
      Src: /src/glib/gio/gfile.c:3161,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: 3168
      start: 3134
    functionDepth: 0
    functionLinenumber: 3134
    functionLinenumberEnd: 3168
    functionName: do_splice
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - splice
    - g_set_error_literal
    - g_io_error_from_errno
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:4200,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:4204,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:4208,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:4225,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4233,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4250,1
    - Dst: g_list_remove
      Src: /src/glib/gio/gfile.c:4261,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:4274,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4201,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/gfile.c:4221,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gfile.c:4237,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4260,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4190,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4190,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4239,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:4226,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4230,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:4231,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:4234,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:4251,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:4270,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4192,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4217,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4236,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:4249,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4255,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4275
      start: 4181
    functionDepth: 0
    functionLinenumber: 4181
    functionLinenumberEnd: 4275
    functionName: g_file_make_directory_with_parents
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_error_matches
    - g_object_unref
    - g_list_prepend
    - g_cancellable_set_error_if_cancelled
    - g_file_make_directory
    - g_file_get_parent
    - g_clear_error
    - g_list_remove
    - g_propagate_error
    - G_IS_FILE
    - g_return_val_if_fail
    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:1704,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1709,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1706,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1704,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1713,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1715,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1720
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1720
    functionName: g_file_read
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'GFileInputStream *g_file_read (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2077,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2086,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2082,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:2079,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2077,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2088,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - file
    - etag
    - make_backup
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - gboolean
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2093
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2093
    functionName: g_file_replace_readwrite
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *g_file_replace_readwrite (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:5099,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5099,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5100,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5102,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfile.c:5100,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: 5110
      start: 5088
    functionDepth: 0
    functionLinenumber: 5088
    functionLinenumberEnd: 5110
    functionName: g_file_set_attributes_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6096,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6096,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6098,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6098,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6099
      start: 6091
    functionDepth: 0
    functionLinenumber: 6091
    functionLinenumberEnd: 6099
    functionName: g_file_real_enumerate_children_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileEnumerator*
    signature: 'static GFileEnumerator *g_file_real_enumerate_children_finish (GFile
      *file, GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 6433
      start: 6422
    functionDepth: 0
    functionLinenumber: 6422
    functionLinenumberEnd: 6433
    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_file_set_attributes_from_info
      Src: /src/glib/gio/gfile.c:6795,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6800,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6802,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6795,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6803
      start: 6786
    functionDepth: 0
    functionLinenumber: 6786
    functionLinenumberEnd: 6803
    functionName: set_info_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_error
    - g_task_return_boolean
    - g_file_set_attributes_from_info
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void set_info_async_thread (GTask *task, gpointer object, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3188,1
    - Dst: fcntl
      Src: /src/glib/gio/gfile.c:3198,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3210,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3216,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:3244,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:3217,1
    - Dst: do_splice
      Src: /src/glib/gio/gfile.c:3233,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3187,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/gfile.c:3190,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3216,1
    - Dst: g_close
      Src: /src/glib/gio/gfile.c:3264,1
    - Dst: g_close
      Src: /src/glib/gio/gfile.c:3261,1
    - Dst: g_close
      Src: /src/glib/gio/gfile.c:3269,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3188,1
    - Dst: fcntl
      Src: /src/glib/gio/gfile.c:3195,1
    - Dst: do_splice
      Src: /src/glib/gio/gfile.c:3247,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:3230,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3259,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3187,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3254,1
    - Dst: g_close
      Src: /src/glib/gio/gfile.c:3271,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: 3274
      start: 3170
    functionDepth: 0
    functionLinenumber: 3170
    functionLinenumberEnd: 3274
    functionName: splice_stream_with_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_DESCRIPTOR_BASED
    - do_splice
    - g_close
    - g_assert
    - g_file_info_has_attribute
    - g_unix_open_pipe
    - g_cancellable_set_error_if_cancelled
    - fcntl
    - g_file_descriptor_based_get_fd
    - progress_callback
    - g_file_info_get_size
    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_free
      Src: /src/glib/gio/gfile.c:5950,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:5951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - QueryInfoAsyncData*
    constantsTouched: []
    func_position:
      end: 5952
      start: 5947
    functionDepth: 0
    functionLinenumber: 5947
    functionLinenumberEnd: 5952
    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_file_read
      Src: /src/glib/gio/gfile.c:6110,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6112,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6110,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6115
      start: 6101
    functionDepth: 0
    functionLinenumber: 6101
    functionLinenumberEnd: 6115
    functionName: open_read_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_read
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void open_read_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:6441,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gfile.c:6449,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gfile.c:6449,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gfile.c:6450,1
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6444,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:6452,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: 6454
      start: 6435
    functionDepth: 0
    functionLinenumber: 6435
    functionLinenumberEnd: 6454
    functionName: move_async_progress_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_main_context_invoke_full
    - g_steal_pointer
    - g_task_get_context
    - g_task_get_priority
    - g_task_get_task_data
    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_new0
      Src: /src/glib/gio/gfile.c:6817,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6823,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6822,1
    - Dst: g_file_info_dup
      Src: /src/glib/gio/gfile.c:6818,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6821,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6824,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6826,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6827,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: 6828
      start: 6805
    functionDepth: 0
    functionLinenumber: 6805
    functionLinenumberEnd: 6828
    functionName: g_file_real_set_attributes_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_file_info_dup
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:7747,1
    - Dst: g_file_query_info_finish
      Src: /src/glib/gio/gfile.c:7753,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7756,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7748,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7756,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7757,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/gfile.c:7761,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/gfile.c:7763,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:7766,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gfile.c:7770,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7776,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gfile.c:7782,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7778,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gfile.c:7789,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7785,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7788,1
    - Dst: g_app_info_get_default_for_type_async
      Src: /src/glib/gio/gfile.c:7772,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 7790
      start: 7742
    functionDepth: 0
    functionLinenumber: 7742
    functionLinenumberEnd: 7790
    functionName: query_default_handler_query_info_cb
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    - _
    - G_TASK
    - G_FILE
    - g_file_get_path
    - g_file_info_get_attribute_string
    - g_clear_object
    - g_file_info_get_content_type
    - g_app_info_get_default_for_type_async
    - g_object_unref
    - g_file_query_info_finish
    - g_steal_pointer
    - g_task_return_error
    - g_task_return_new_error
    - g_task_get_cancellable
    linkageType: ''
    returnType: void
    signature: 'static void query_default_handler_query_info_cb (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1664,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:1667,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:1665,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1665,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1664,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1672
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1672
    functionName: g_file_find_enclosing_mount_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GMount*
    signature: 'GMount *g_file_find_enclosing_mount_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2022,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2022,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2027,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:2024,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2031,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2033,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2038
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2038
    functionName: g_file_create_readwrite
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    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:2518,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2519,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2519,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2518,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2521,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2526
      start: 2511
    functionDepth: 0
    functionLinenumber: 2511
    functionLinenumberEnd: 2526
    functionName: g_file_create_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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:4641,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4641,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4643,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: 4649
      start: 4632
    functionDepth: 0
    functionLinenumber: 4632
    functionLinenumberEnd: 4649
    functionName: g_file_trash_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_list_attributes
      Src: /src/glib/gio/gfile.c:5040,1
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5049,1
    - Dst: _g_file_attribute_value_peek_as_pointer
      Src: /src/glib/gio/gfile.c:5050,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/gfile.c:5044,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gfile.c:5062,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: 5065
      start: 5026
    functionDepth: 0
    functionLinenumber: 5026
    functionLinenumberEnd: 5065
    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_get_attribute_value
    - g_file_set_attribute
    - g_strfreev
    - g_file_info_list_attributes
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_set_attributes_from_info (GFile *file,
      GFileInfo *info, GFileQueryInfoFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6838,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:6843,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6840,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:6840,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6838,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:6845,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6845,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - file
    - res
    - info
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GFileInfo**
    - GError**
    constantsTouched: []
    func_position:
      end: 6846
      start: 6830
    functionDepth: 0
    functionLinenumber: 6830
    functionLinenumberEnd: 6846
    functionName: g_file_real_set_attributes_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_object_ref
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_set_attributes_finish (GFile *file, GAsyncResult
      *res, GFileInfo **info, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7887,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:7888,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7888,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:7887,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:7890,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 7891
      start: 7882
    functionDepth: 0
    functionLinenumber: 7882
    functionLinenumberEnd: 7891
    functionName: g_file_query_default_handler_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_pointer
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_file_query_default_handler_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9356,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:9359,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:9357,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9357,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9356,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:9360,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/gfile.c:9362,1
    - Dst: g_file_load_contents_async
      Src: /src/glib/gio/gfile.c:9364,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9367,1
    - Dst: g_file_load_bytes
      Src: /src/glib/gio/gfile.c:9371,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:9376,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:9374,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9377,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9374,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:9380,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - file
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 9381
      start: 9346
    functionDepth: 0
    functionLinenumber: 9346
    functionLinenumberEnd: 9381
    functionName: g_file_load_bytes_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_load_bytes
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_file_load_contents_async
    - g_steal_pointer
    - G_IS_CANCELLABLE
    - g_task_return_pointer
    - g_task_return_error
    - G_IS_FILE
    - g_file_has_uri_scheme
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_load_bytes_async (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:899,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:899,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gfile.c:901,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:901,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:900,1
    - Dst: g_file_resolve_relative_path
      Src: /src/glib/gio/gfile.c:903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - file
    - name
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 904
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 904
    functionName: g_file_get_child
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_resolve_relative_path
    - G_IS_FILE
    - g_return_val_if_fail
    - g_path_is_absolute
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_get_child (GFile *file, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: copy_file_range
      Src: /src/glib/gio/gfile.c:3030,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3042,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gfile.c:3048,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3043,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:3047,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3049,1
    - Dst: g_strerror
      Src: /src/glib/gio/gfile.c:3050,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3057,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: 3061
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3061
    functionName: do_copy_file_range
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_assert
    - g_strerror
    - copy_file_range
    - g_set_error_literal
    - g_io_error_from_errno
    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: 31
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:3414,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3462,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:3427,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:3471,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:3478,1
    - Dst: btrfs_reflink_with_progress
      Src: /src/glib/gio/gfile.c:3504,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3514,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3527,1
    - Dst: copy_file_range_with_progress
      Src: /src/glib/gio/gfile.c:3531,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:3538,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gfile.c:3612,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3545,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3393,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3394,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:3403,1
    - Dst: g_file_build_attribute_list_for_copy
      Src: /src/glib/gio/gfile.c:3405,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3426,1
    - Dst: G_IS_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:3468,1
    - Dst: g_file_create
      Src: /src/glib/gio/gfile.c:3493,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3500,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3500,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:3508,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:3559,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:3598,1
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/gfile.c:3605,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3551,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gfile.c:3596,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3551,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3540,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3565,1
    - Dst: copy_symlink
      Src: /src/glib/gio/gfile.c:3381,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:3376,1
    - Dst: open_source_for_copy
      Src: /src/glib/gio/gfile.c:3400,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:3432,1
    - Dst: _g_local_file_output_stream_replace
      Src: /src/glib/gio/gfile.c:3471,1
    - Dst: _g_local_file_get_filename
      Src: /src/glib/gio/gfile.c:3471,1
    - Dst: _g_local_file_get_filename
      Src: /src/glib/gio/gfile.c:3478,1
    - Dst: g_file_replace
      Src: /src/glib/gio/gfile.c:3485,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3527,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:3540,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:3590,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:3366,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:3390,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/gfile.c:3378,1
    - Dst: g_file_input_stream_query_info
      Src: /src/glib/gio/gfile.c:3416,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3433,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:3424,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:3437,1
    - Dst: G_IS_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:3463,1
    - Dst: _g_local_file_output_stream_create
      Src: /src/glib/gio/gfile.c:3478,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3510,1
    - Dst: splice_stream_with_progress
      Src: /src/glib/gio/gfile.c:3555,1
    - Dst: copy_stream_with_progress
      Src: /src/glib/gio/gfile.c:3579,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gfile.c:3589,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3561,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 135
    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: 3615
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3615
    functionName: file_copy_fallback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - copy_file_range_with_progress
    - g_file_info_has_attribute
    - g_input_stream_close
    - g_clear_error
    - g_steal_pointer
    - G_IS_FILE_DESCRIPTOR_BASED
    - g_file_info_get_symlink_target
    - g_propagate_error
    - G_INPUT_STREAM
    - g_file_build_attribute_list_for_copy
    - G_LOCAL_FILE
    - g_error_matches
    - g_object_unref
    - splice_stream_with_progress
    - g_file_set_attributes_from_info
    - copy_stream_with_progress
    - g_file_info_get_file_type
    - _g_local_file_get_filename
    - btrfs_reflink_with_progress
    - g_set_error_literal
    - open_source_for_copy
    - G_IS_LOCAL_FILE
    - g_file_replace
    - g_file_query_info
    - g_file_input_stream_query_info
    - g_free
    - copy_symlink
    - g_clear_object
    - _g_local_file_output_stream_replace
    - _g_local_file_output_stream_create
    - g_output_stream_close
    - g_file_create
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/gfile.c:4339,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:4342,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:4342,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:4339,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:4340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 4343
      start: 4330
    functionDepth: 0
    functionLinenumber: 4330
    functionLinenumberEnd: 4343
    functionName: make_symbolic_link_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_make_symbolic_link
    - G_FILE
    - g_steal_pointer
    - g_task_return_boolean
    - 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_if_fail
      Src: /src/glib/gio/gfile.c:4396,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4398,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4397,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4396,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:4398,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4400,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:4403,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: 4407
      start: 4386
    functionDepth: 0
    functionLinenumber: 4386
    functionLinenumberEnd: 4407
    functionName: g_file_make_symbolic_link_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IS_CANCELLABLE
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/gfile.c:5930,1
    - Dst: g_file_monitor_directory
      Src: /src/glib/gio/gfile.c:5931,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/gfile.c:5935,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileMonitorFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5936
      start: 5924
    functionDepth: 0
    functionLinenumber: 5924
    functionLinenumberEnd: 5936
    functionName: g_file_monitor
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_monitor_directory
    - g_file_query_file_type
    - g_file_monitor_file
    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:6188,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6190,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6190,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6191
      start: 6183
    functionDepth: 0
    functionLinenumber: 6183
    functionLinenumberEnd: 6191
    functionName: g_file_real_append_to_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'static GFileOutputStream *g_file_real_append_to_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6342,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6344,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6345,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6343,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6346,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: 6347
      start: 6333
    functionDepth: 0
    functionLinenumber: 6333
    functionLinenumberEnd: 6347
    functionName: g_file_real_delete_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_task_run_in_thread
    - g_object_unref
    - g_task_new
    - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3078,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3081,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3079,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3079,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3078,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3081,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:3082,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:3090,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3091,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:3107,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3119,1
    - Dst: do_copy_file_range
      Src: /src/glib/gio/gfile.c:3108,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3126,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3114,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: 3129
      start: 3063
    functionDepth: 0
    functionLinenumber: 3063
    functionLinenumberEnd: 3129
    functionName: copy_file_range_with_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_DESCRIPTOR_BASED
    - g_set_error
    - do_copy_file_range
    - _
    - g_file_info_has_attribute
    - g_assert
    - g_cancellable_set_error_if_cancelled
    - g_file_descriptor_based_get_fd
    - progress_callback
    - g_file_info_get_size
    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_if_fail
      Src: /src/glib/gio/gfile.c:4355,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:4357,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4355,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4357,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4356,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:4359,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:4360,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:4361,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:4361,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:4362,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:4364,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4365,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: 4366
      start: 4345
    functionDepth: 0
    functionLinenumber: 4345
    functionLinenumberEnd: 4366
    functionName: g_file_real_make_symbolic_link_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_IS_CANCELLABLE
    - G_IS_FILE
    - g_return_if_fail
    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:4414,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:4414,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:4416,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:4416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4417
      start: 4409
    functionDepth: 0
    functionLinenumber: 4409
    functionLinenumberEnd: 4417
    functionName: g_file_real_make_symbolic_link_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_make_symbolic_link_finish (GFile *file,
      GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_create
      Src: /src/glib/gio/gfile.c:6203,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6205,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6203,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6207,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: 6208
      start: 6193
    functionDepth: 0
    functionLinenumber: 6193
    functionLinenumberEnd: 6208
    functionName: create_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_create
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void create_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:6354,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6354,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:6356,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6357
      start: 6349
    functionDepth: 0
    functionLinenumber: 6349
    functionLinenumberEnd: 6357
    functionName: g_file_real_delete_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_delete_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4303,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4304,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4311,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4306,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4303,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4313,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4317,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4321,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4323,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - file
    - symlink_value
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4328
      start: 4295
    functionDepth: 0
    functionLinenumber: 4295
    functionLinenumberEnd: 4328
    functionName: g_file_make_symbolic_link
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_make_symbolic_link (GFile *file, const char *symlink_value,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5884,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5884,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:5886,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5889,1
    - Dst: _g_poll_file_monitor_new
      Src: /src/glib/gio/gfile.c:5898,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileMonitorFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5901
      start: 5875
    functionDepth: 0
    functionLinenumber: 5875
    functionLinenumberEnd: 5901
    functionName: g_file_monitor_file
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _g_poll_file_monitor_new
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'GFileMonitor *g_file_monitor_file (GFile *file, GFileMonitorFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1223,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:1229,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:1225,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - file
    - cancellable
    argTypes:
    - GFile*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1234
    functionName: g_file_query_exists
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - g_file_query_info
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_query_exists (GFile *file, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4561,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4562,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:4564,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4562,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4561,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4569
      start: 4554
    functionDepth: 0
    functionLinenumber: 4554
    functionLinenumberEnd: 4569
    functionName: g_file_delete_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_delete_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4714,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4714,1
    - Dst: strchr
      Src: /src/glib/gio/gfile.c:4717,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:4719,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4715,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4722,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4726,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4729,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - file
    - display_name
    - cancellable
    - error
    argTypes:
    - GFile*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4732
      start: 4706
    functionDepth: 0
    functionLinenumber: 4706
    functionLinenumberEnd: 4732
    functionName: g_file_set_display_name
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - strchr
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_set_display_name (GFile *file, const gchar *display_name,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_trash
      Src: /src/glib/gio/gfile.c:6367,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6370,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6368,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6371
      start: 6359
    functionDepth: 0
    functionLinenumber: 6359
    functionLinenumberEnd: 6371
    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_task_get_task_data
      Src: /src/glib/gio/gfile.c:6934,1
    - Dst: g_new
      Src: /src/glib/gio/gfile.c:6937,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gfile.c:6942,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gfile.c:6942,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gfile.c:6943,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: 6947
      start: 6928
    functionDepth: 0
    functionLinenumber: 6928
    functionLinenumberEnd: 6947
    functionName: copy_async_progress_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_main_context_invoke_full
    - g_new
    - g_task_get_context
    - g_task_get_priority
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7031,1
    - Dst: g_vfs_get_file_for_path
      Src: /src/glib/gio/gfile.c:7033,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/gfile.c:7033,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7034
      start: 7028
    functionDepth: 0
    functionLinenumber: 7028
    functionLinenumberEnd: 7034
    functionName: g_file_new_for_path
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_vfs_get_file_for_path
    - g_vfs_get_default
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_for_path (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7344,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7345,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:7344,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7345,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/gfile.c:7345,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7347,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:7349,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 7350
      start: 7340
    functionDepth: 0
    functionLinenumber: 7340
    functionLinenumberEnd: 7350
    functionName: g_file_new_tmp_dir_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_get_source_tag
    - G_TASK
    - g_task_propagate_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_tmp_dir_finish (GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8028,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8032,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:8036,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:8036,1
    - Dst: g_file_input_stream_query_info_finish
      Src: /src/glib/gio/gfile.c:8032,1
    - Dst: g_file_info_get_etag
      Src: /src/glib/gio/gfile.c:8036,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8037,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/gfile.c:8040,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8041,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - obj
    - stat_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8043
      start: 8023
    functionDepth: 0
    functionLinenumber: 8023
    functionLinenumberEnd: 8043
    functionName: load_contents_fstat_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_FILE_INPUT_STREAM
    - g_file_info_has_attribute
    - g_file_info_get_etag
    - g_file_input_stream_query_info_finish
    - g_object_unref
    - g_input_stream_close_async
    - G_INPUT_STREAM
    - g_task_get_cancellable
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_fstat_callback (GObject *obj, GAsyncResult
      *stat_res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6382,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6384,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6383,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6386,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6385,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: 6387
      start: 6373
    functionDepth: 0
    functionLinenumber: 6373
    functionLinenumberEnd: 6387
    functionName: g_file_real_trash_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_task_run_in_thread
    - g_object_unref
    - g_task_new
    - 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_copy
      Src: /src/glib/gio/gfile.c:6959,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6967,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - source
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6970
      start: 6949
    functionDepth: 0
    functionLinenumber: 6949
    functionLinenumberEnd: 6970
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8050,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/gfile.c:8063,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8060,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8059,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gfile.c:8055,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8064,1
    - Dst: g_file_input_stream_query_info_async
      Src: /src/glib/gio/gfile.c:8068,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8068,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8071,1
    - Dst: g_byte_array_set_size
      Src: /src/glib/gio/gfile.c:8079,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8089,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gfile.c:8093,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/gfile.c:8085,1
    - Dst: g_file_input_stream_query_info_async
      Src: /src/glib/gio/gfile.c:8086,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8086,1
    - Dst: G_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:8085,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8097,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - obj
    - read_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8101
      start: 8045
    functionDepth: 0
    functionLinenumber: 8045
    functionLinenumberEnd: 8101
    functionName: load_contents_read_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_byte_array_set_size
    - G_FILE_INPUT_STREAM
    - g_input_stream_read_async
    - G_ASYNC_RESULT
    - g_input_stream_close_async
    - g_object_unref
    - g_input_stream_read_finish
    - g_file_input_stream_query_info_async
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_get_cancellable
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1958,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1960,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1963,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1958,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1967,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1969,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1974
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1974
    functionName: g_file_open_readwrite
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    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:2294,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2297,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2295,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2294,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2295,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2302
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2302
    functionName: g_file_create_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_create_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4532,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4532,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4534,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: 4540
      start: 4523
    functionDepth: 0
    functionLinenumber: 4523
    functionLinenumberEnd: 4540
    functionName: g_file_delete_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4671,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4671,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4672,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4674,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4676
      start: 4664
    functionDepth: 0
    functionLinenumber: 4664
    functionLinenumberEnd: 4676
    functionName: g_file_trash_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_trash_finish (GFile *file, GAsyncResult *result, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7516,1
    - Dst: new_for_cmdline_arg
      Src: /src/glib/gio/gfile.c:7518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7519
      start: 7513
    functionDepth: 0
    functionLinenumber: 7513
    functionLinenumberEnd: 7519
    functionName: g_file_new_for_commandline_arg
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - new_for_cmdline_arg
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_for_commandline_arg (const char *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:461,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:461,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 466
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 466
    functionName: g_file_is_native
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    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:557,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:559,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: g_file_get_basename
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    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:795,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:795,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:801,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:796,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:796,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:801,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:804,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - file1
    - file2
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 807
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 807
    functionName: g_file_equal
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_TYPE_FROM_INSTANCE
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_equal (GFile *file1, GFile *file2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5333,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: 5336
      start: 5325
    functionDepth: 0
    functionLinenumber: 5325
    functionLinenumberEnd: 5336
    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_task_new
      Src: /src/glib/gio/gfile.c:6032,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6034,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6035,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6034,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6033,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6036,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6037,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: 6038
      start: 6022
    functionDepth: 0
    functionLinenumber: 6022
    functionLinenumberEnd: 6038
    functionName: g_file_real_query_filesystem_info_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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_new0
      Src: /src/glib/gio/gfile.c:6221,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6226,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6227,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6224,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6225,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6229,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6230,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: 6231
      start: 6210
    functionDepth: 0
    functionLinenumber: 6210
    functionLinenumberEnd: 6231
    functionName: g_file_real_create_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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_open_readwrite
      Src: /src/glib/gio/gfile.c:6567,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6572,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6567,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6573
      start: 6558
    functionDepth: 0
    functionLinenumber: 6558
    functionLinenumberEnd: 6573
    functionName: open_readwrite_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_open_readwrite
    - g_task_return_error
    - 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_task_new
      Src: /src/glib/gio/gfile.c:6874,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6878,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6879,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6876,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6875,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: 6880
      start: 6865
    functionDepth: 0
    functionLinenumber: 6865
    functionLinenumberEnd: 6880
    functionName: g_file_real_find_enclosing_mount_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_task_run_in_thread
    - g_object_unref
    - g_task_new
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6045,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6045,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6047,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6047,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6048
      start: 6040
    functionDepth: 0
    functionLinenumber: 6040
    functionLinenumberEnd: 6048
    functionName: g_file_real_query_filesystem_info_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *g_file_real_query_filesystem_info_finish (GFile
      *file, GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6238,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6240,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6240,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6241
      start: 6233
    functionDepth: 0
    functionLinenumber: 6233
    functionLinenumberEnd: 6241
    functionName: g_file_real_create_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'static GFileOutputStream *g_file_real_create_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6584,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6589,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6588,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6586,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6585,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: 6590
      start: 6575
    functionDepth: 0
    functionLinenumber: 6575
    functionLinenumberEnd: 6590
    functionName: g_file_real_open_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_task_run_in_thread
    - g_object_unref
    - g_task_new
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6887,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6889,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6889,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6887,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6890
      start: 6882
    functionDepth: 0
    functionLinenumber: 6882
    functionLinenumberEnd: 6890
    functionName: g_file_real_find_enclosing_mount_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *g_file_real_find_enclosing_mount_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6904,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gfile.c:6906,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - CopyAsyncData*
    constantsTouched: []
    func_position:
      end: 6907
      start: 6901
    functionDepth: 0
    functionLinenumber: 6901
    functionLinenumberEnd: 6907
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:522,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:524,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 527
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 527
    functionName: g_file_get_uri_scheme
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    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:767,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:769,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 772
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 772
    functionName: g_file_hash
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: guint
    signature: 'guint g_file_hash (gconstpointer file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1262,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:1267,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1262,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:1263,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:1268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - file
    - flags
    - cancellable
    argTypes:
    - GFile*
    - GFileQueryInfoFlags
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1274
    functionName: g_file_query_file_type
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_file_info_get_file_type
    - G_IS_FILE
    - g_return_val_if_fail
    - g_file_query_info
    linkageType: ''
    returnType: GFileType
    signature: 'GFileType g_file_query_file_type (GFile *file, GFileQueryInfoFlags
      flags, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7051,1
    - Dst: g_vfs_get_file_for_uri
      Src: /src/glib/gio/gfile.c:7053,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/gfile.c:7053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7054
      start: 7048
    functionDepth: 0
    functionLinenumber: 7048
    functionLinenumberEnd: 7054
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7366,1
    - Dst: g_vfs_parse_name
      Src: /src/glib/gio/gfile.c:7368,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/gfile.c:7368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - parse_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7369
      start: 7363
    functionDepth: 0
    functionLinenumber: 7363
    functionLinenumberEnd: 7369
    functionName: g_file_parse_name
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_vfs_get_default
    - g_vfs_parse_name
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_parse_name (const char *parse_name) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_file_input_stream_query_info
      Src: /src/glib/gio/gfile.c:2955,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:2961,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2962,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:2960,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:2955,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:2967,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:2973,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:2974,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2975,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gfile.c:2983,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gfile.c:2988,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3011,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3005,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gfile.c:3000,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:3007,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: 3014
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 3014
    functionName: copy_stream_with_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    - G_FILE_INPUT_STREAM
    - g_file_info_has_attribute
    - g_malloc0
    - g_object_unref
    - g_input_stream_read
    - progress_callback
    - g_output_stream_write_all
    - g_file_query_info
    - g_file_input_stream_query_info
    - g_file_info_get_size
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5731,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5737,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5733,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5731,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5740,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: 5757
      start: 5721
    functionDepth: 0
    functionLinenumber: 5721
    functionLinenumberEnd: 5757
    functionName: g_file_eject_mountable_with_operation
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_GET_IFACE
    - g_task_report_new_error
    - G_IS_FILE
    - g_return_if_fail
    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_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6000,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6002,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6002,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6003
      start: 5995
    functionDepth: 0
    functionLinenumber: 5995
    functionLinenumberEnd: 6003
    functionName: g_file_real_query_info_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *g_file_real_query_info_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gfile.c:7257,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/gfile.c:7273,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7268,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/gfile.c:7260,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7268,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gfile.c:7275,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7276,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:7280,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:7284,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7284,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 7287
      start: 7247
    functionDepth: 0
    functionLinenumber: 7247
    functionLinenumberEnd: 7287
    functionName: new_tmp_dir_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_file_new_for_path
    - g_free
    - g_dir_make_tmp
    - g_task_return_error_if_cancelled
    - g_clear_error
    - g_steal_pointer
    - g_task_return_pointer
    - g_io_error_from_file_error
    - g_task_return_error
    - g_task_return_new_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_val_if_fail
      Src: /src/glib/gio/gfile.c:9232,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9234,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 9236
      start: 9227
    functionDepth: 0
    functionLinenumber: 9227
    functionLinenumberEnd: 9236
    functionName: g_file_supports_thread_contexts
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_supports_thread_contexts (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_filesystem_info
      Src: /src/glib/gio/gfile.c:6015,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6015,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6019,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6017,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6020
      start: 6005
    functionDepth: 0
    functionLinenumber: 6005
    functionLinenumberEnd: 6020
    functionName: query_filesystem_info_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_query_filesystem_info
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void query_filesystem_info_async_thread (GTask *task, gpointer
      object, gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6254,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6256,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - ReplaceAsyncData*
    constantsTouched: []
    func_position:
      end: 6257
      start: 6250
    functionDepth: 0
    functionLinenumber: 6250
    functionLinenumberEnd: 6257
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5644,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5646,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5644,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5650,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5653,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: 5662
      start: 5635
    functionDepth: 0
    functionLinenumber: 5635
    functionLinenumberEnd: 5662
    functionName: g_file_eject_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_GET_IFACE
    - g_task_report_new_error
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_eject_mountable (GFile *file, GMountUnmountFlags flags,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5686,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5686,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5689,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5687,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5687,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5691,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:5692,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5692,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5696
      start: 5679
    functionDepth: 0
    functionLinenumber: 5679
    functionLinenumberEnd: 5696
    functionName: g_file_eject_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_eject_mountable_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:8684,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: 8687
      start: 8673
    functionDepth: 0
    functionLinenumber: 8673
    functionLinenumberEnd: 8687
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1901,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1901,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1910,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1906,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1903,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1912,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 6
    argNames:
    - file
    - etag
    - make_backup
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - gboolean
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1921
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1921
    functionName: g_file_replace
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    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:2264,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2266,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2264,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: 2273
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2273
    functionName: g_file_create_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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_val_if_fail
      Src: /src/glib/gio/gfile.c:3817,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:3820,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:3818,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3817,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:3818,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3823,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 3825
      start: 3810
    functionDepth: 0
    functionLinenumber: 3810
    functionLinenumberEnd: 3825
    functionName: g_file_copy_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_copy_finish (GFile *file, GAsyncResult *res, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5168,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: 5171
      start: 5160
    functionDepth: 0
    functionLinenumber: 5160
    functionLinenumberEnd: 5171
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5457,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5463,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5466,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5457,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5459,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: 5475
      start: 5448
    functionDepth: 0
    functionLinenumber: 5448
    functionLinenumberEnd: 5475
    functionName: g_file_unmount_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_GET_IFACE
    - g_task_report_new_error
    - G_IS_FILE
    - g_return_if_fail
    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_replace
      Src: /src/glib/gio/gfile.c:6269,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6269,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6279,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6277,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: 6280
      start: 6259
    functionDepth: 0
    functionLinenumber: 6259
    functionLinenumberEnd: 6280
    functionName: replace_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_replace
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void replace_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7089,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/gfile.c:7091,1
    - Dst: _g_local_file_io_stream_new
      Src: /src/glib/gio/gfile.c:7098,1
    - Dst: _g_local_file_output_stream_new
      Src: /src/glib/gio/gfile.c:7097,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7095,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:7098,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7100,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7101,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - tmpl
    - iostream
    - error
    argTypes:
    - char*
    - GFileIOStream**
    - GError**
    constantsTouched: []
    func_position:
      end: 7104
      start: 7079
    functionDepth: 0
    functionLinenumber: 7079
    functionLinenumberEnd: 7104
    functionName: g_file_new_tmp
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - g_free
    - g_file_new_for_path
    - g_file_open_tmp
    - _g_local_file_io_stream_new
    - g_object_unref
    - _g_local_file_output_stream_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_tmp (const char *tmpl, GFileIOStream **iostream,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gfile.c:7468,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7469,1
    - Dst: has_valid_scheme
      Src: /src/glib/gio/gfile.c:7471,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gfile.c:7478,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gfile.c:7472,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gfile.c:7479,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7480,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gfile.c:7483,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7485,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - arg
    - cwd
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 7489
      start: 7461
    functionDepth: 0
    functionLinenumber: 7461
    functionLinenumberEnd: 7489
    functionName: new_for_cmdline_arg
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_file_new_for_path
    - has_valid_scheme
    - g_file_new_for_uri
    - g_build_filename
    - g_get_current_dir
    - g_path_is_absolute
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *new_for_cmdline_arg (const gchar *arg, const gchar *cwd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6295,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6296,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6301,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6302,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6300,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6303,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6305,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6306,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: 6307
      start: 6282
    functionDepth: 0
    functionLinenumber: 6282
    functionLinenumberEnd: 6307
    functionName: g_file_real_replace_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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_free
      Src: /src/glib/gio/gfile.c:6662,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - ReplaceRWAsyncData*
    constantsTouched: []
    func_position:
      end: 6664
      start: 6659
    functionDepth: 0
    functionLinenumber: 6659
    functionLinenumberEnd: 6664
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:3785,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3785,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3788,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:3786,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3786,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: 3798
      start: 3772
    functionDepth: 0
    functionLinenumber: 3772
    functionLinenumberEnd: 3798
    functionName: g_file_copy_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5131,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5131,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5137,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5132,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - file
    - result
    - info
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GFileInfo**
    - GError**
    constantsTouched: []
    func_position:
      end: 5139
      start: 5123
    functionDepth: 0
    functionLinenumber: 5123
    functionLinenumberEnd: 5139
    functionName: g_file_set_attributes_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attributes_finish (GFile *file, GAsyncResult *result,
      GFileInfo **info, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5414,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5415,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5417,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5414,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5415,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5419,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:5420,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5420,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5422,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5424
      start: 5407
    functionDepth: 0
    functionLinenumber: 5407
    functionLinenumberEnd: 5424
    functionName: g_file_mount_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_mount_mountable_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:7316,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:7318,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:7319,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:7316,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:7320,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:7320,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:7321,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gfile.c:7322,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:7323,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7324,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: 7325
      start: 7307
    functionDepth: 0
    functionLinenumber: 7307
    functionLinenumberEnd: 7325
    functionName: g_file_new_tmp_dir_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_set_check_cancellable
    - G_IS_CANCELLABLE
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9160,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9162,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9160,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:9166,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:9169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - file
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 9177
      start: 9152
    functionDepth: 0
    functionLinenumber: 9152
    functionLinenumberEnd: 9177
    functionName: g_file_poll_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_GET_IFACE
    - g_task_report_new_error
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_poll_mountable (GFile *file, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9271,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9272,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9271,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:9272,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9273,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/gfile.c:9278,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gfile.c:9283,1
    - Dst: g_uri_unescape_string
      Src: /src/glib/gio/gfile.c:9284,1
    - Dst: strlen
      Src: /src/glib/gio/gfile.c:9284,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:9285,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/gfile.c:9287,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/gfile.c:9294,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gfile.c:9295,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:9288,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9295,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 4
    argNames:
    - file
    - cancellable
    - etag_out
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 9298
      start: 9262
    functionDepth: 0
    functionLinenumber: 9262
    functionLinenumberEnd: 9298
    functionName: g_file_load_bytes
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_file_get_uri
    - g_free
    - g_uri_unescape_string
    - g_steal_pointer
    - G_IS_CANCELLABLE
    - g_bytes_new_take
    - g_resources_lookup_data
    - G_IS_FILE
    - g_return_val_if_fail
    - g_file_has_uri_scheme
    - g_file_load_contents
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_file_load_bytes (GFile *file, GCancellable *cancellable,
      gchar **etag_out, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:741,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:741,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 746
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 746
    functionName: g_file_dup
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_dup (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1548,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1548,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:1549,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:1551,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1549,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1556
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1556
    functionName: g_file_query_filesystem_info_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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:1759,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1759,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1764,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1768,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1761,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1770,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1775
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1775
    functionName: g_file_append_to
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    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:4076,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4076,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4081,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4085,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4078,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4087,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4092
      start: 4069
    functionDepth: 0
    functionLinenumber: 4069
    functionLinenumberEnd: 4092
    functionName: g_file_make_directory
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_make_directory (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5547,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5556,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5547,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5549,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5553,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: 5573
      start: 5537
    functionDepth: 0
    functionLinenumber: 5537
    functionLinenumberEnd: 5573
    functionName: g_file_unmount_mountable_with_operation
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_GET_IFACE
    - g_task_report_new_error
    - G_IS_FILE
    - g_return_if_fail
    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_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6314,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6314,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6316,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6317
      start: 6309
    functionDepth: 0
    functionLinenumber: 6309
    functionLinenumberEnd: 6317
    functionName: g_file_real_replace_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'static GFileOutputStream *g_file_real_replace_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6721,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6723,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6723,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6724
      start: 6716
    functionDepth: 0
    functionLinenumber: 6716
    functionLinenumberEnd: 6724
    functionName: g_file_real_replace_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'static GFileIOStream *g_file_real_replace_readwrite_finish (GFile
      *file, GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_free
      Src: /src/glib/gio/gfile.c:8002,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8004,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - LoadContentsData*
    constantsTouched: []
    func_position:
      end: 8005
      start: 7998
    functionDepth: 0
    functionLinenumber: 7998
    functionLinenumberEnd: 8005
    functionName: load_contents_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_byte_array_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_data_free (LoadContentsData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_delete
      Src: /src/glib/gio/gfile.c:6327,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6327,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6328,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6331
      start: 6319
    functionDepth: 0
    functionLinenumber: 6319
    functionLinenumberEnd: 6331
    functionName: delete_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_delete
    - g_task_return_boolean
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_display_name
      Src: /src/glib/gio/gfile.c:6736,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6736,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6739,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6741,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6742
      start: 6726
    functionDepth: 0
    functionLinenumber: 6726
    functionLinenumberEnd: 6742
    functionName: set_display_name_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_set_display_name
    - g_task_return_pointer
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void set_display_name_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8012,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8020,1
    - Dst: g_input_stream_close_finish
      Src: /src/glib/gio/gfile.c:8016,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8017,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:8019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - close_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8021
      start: 8007
    functionDepth: 0
    functionLinenumber: 8007
    functionLinenumberEnd: 8021
    functionName: load_contents_close_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - G_INPUT_STREAM
    - g_input_stream_close_finish
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_close_callback (GObject *obj, GAsyncResult
      *close_res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:711,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:711,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 716
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 716
    functionName: g_file_get_parse_name
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_parse_name (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:1517,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1519,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1517,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: 1526
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1526
    functionName: g_file_query_filesystem_info_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4037,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4039,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4038,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4038,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4037,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4041,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4043
      start: 4030
    functionDepth: 0
    functionLinenumber: 4030
    functionLinenumberEnd: 4043
    functionName: g_file_move_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_move_finish (GFile *file, GAsyncResult *result, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4488,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4493,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4490,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4488,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4497,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4499,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4504
      start: 4481
    functionDepth: 0
    functionLinenumber: 4481
    functionLinenumberEnd: 4504
    functionName: g_file_delete
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_delete (GFile *file, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4795,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4796,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4795,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:4798,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4796,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4801,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4803
      start: 4788
    functionDepth: 0
    functionLinenumber: 4788
    functionLinenumberEnd: 4803
    functionName: g_file_set_display_name_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_set_display_name_finish (GFile *file, GAsyncResult *res,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5501,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5502,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5504,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5502,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5501,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5506,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:5507,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5507,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5509,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5511
      start: 5494
    functionDepth: 0
    functionLinenumber: 5494
    functionLinenumberEnd: 5511
    functionName: g_file_unmount_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_unmount_mountable_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8875,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8875,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:8876,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8877,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8876,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:8879,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: 8883
      start: 8864
    functionDepth: 0
    functionLinenumber: 8864
    functionLinenumberEnd: 8883
    functionName: g_file_measure_disk_usage
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_CANCELLABLE
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    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_return_if_fail
      Src: /src/glib/gio/gfile.c:8986,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8986,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:8992,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:8995,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:8988,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: 9005
      start: 8976
    functionDepth: 0
    functionLinenumber: 8976
    functionLinenumberEnd: 9005
    functionName: g_file_start_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_GET_IFACE
    - g_task_report_new_error
    - G_IS_FILE
    - g_return_if_fail
    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_FILE
      Src: /src/glib/gio/gfile.c:9305,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:9313,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9313,1
    - Dst: g_file_load_contents_finish
      Src: /src/glib/gio/gfile.c:9312,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:9316,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9316,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:9318,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gfile.c:9319,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9319,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:9322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 9323
      start: 9300
    functionDepth: 0
    functionLinenumber: 9300
    functionLinenumberEnd: 9323
    functionName: g_file_load_bytes_cb
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_task_data
    - G_FILE
    - g_object_unref
    - g_steal_pointer
    - g_task_return_pointer
    - g_task_return_error
    - g_bytes_new_take
    - g_file_load_contents_finish
    linkageType: ''
    returnType: void
    signature: 'static void g_file_load_bytes_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1328,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1333,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1328,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1337,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1330,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1339,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1344
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1344
    functionName: g_file_query_info
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_query_info (GFile *file, const char *attributes,
      GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4891,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4893,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4891,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gfile.c:4899,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4896,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gfile.c:4906,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gfile.c:4907,1
    - Dst: g_error_free
      Src: /src/glib/gio/gfile.c:4914,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:4917,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4921
      start: 4882
    functionDepth: 0
    functionLinenumber: 4882
    functionLinenumberEnd: 4921
    functionName: g_file_query_writable_namespaces
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_new
    - g_error_free
    - g_cancellable_set_error_if_cancelled
    - g_warn_if_reached
    - G_FILE_GET_IFACE
    - g_propagate_error
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'GFileAttributeInfoList *g_file_query_writable_namespaces (GFile *file,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6126,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6130,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6128,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6127,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6129,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: 6131
      start: 6117
    functionDepth: 0
    functionLinenumber: 6117
    functionLinenumberEnd: 6131
    functionName: g_file_real_read_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_task_run_in_thread
    - g_object_unref
    - g_task_new
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6411,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6412,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gfile.c:6413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - MoveAsyncData*
    constantsTouched: []
    func_position:
      end: 6414
      start: 6408
    functionDepth: 0
    functionLinenumber: 6408
    functionLinenumberEnd: 6414
    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_slice_new
      Src: /src/glib/gio/gfile.c:6986,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6993,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:6987,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6994,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:6988,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6995,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6996,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6997,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6998,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: 6999
      start: 6972
    functionDepth: 0
    functionLinenumber: 6972
    functionLinenumberEnd: 6999
    functionName: g_file_real_copy_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_slice_new
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/gfile.c:8569,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gfile.c:8572,1
    - Dst: g_file_replace_contents_bytes_async
      Src: /src/glib/gio/gfile.c:8570,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: 8573
      start: 8556
    functionDepth: 0
    functionLinenumber: 8556
    functionLinenumberEnd: 8573
    functionName: g_file_replace_contents_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_replace_contents_bytes_async
    - g_bytes_new_static
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6138,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6140,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6138,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6141
      start: 6133
    functionDepth: 0
    functionLinenumber: 6133
    functionLinenumberEnd: 6141
    functionName: g_file_real_read_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'static GFileInputStream *g_file_real_read_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7006,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7008,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:7008,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:7006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 7009
      start: 7001
    functionDepth: 0
    functionLinenumber: 7001
    functionLinenumberEnd: 7009
    functionName: g_file_real_copy_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_copy_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1817,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1817,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1819,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1822,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1826,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1828,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1833
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1833
    functionName: g_file_create
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_create (GFile *file, GFileCreateFlags flags,
      GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4836,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4836,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gfile.c:4844,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4838,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4841,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gfile.c:4853,1
    - Dst: g_error_free
      Src: /src/glib/gio/gfile.c:4854,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:4857,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4861
      start: 4827
    functionDepth: 0
    functionLinenumber: 4827
    functionLinenumberEnd: 4861
    functionName: g_file_query_settable_attributes
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_new
    - g_error_free
    - g_cancellable_set_error_if_cancelled
    - G_FILE_GET_IFACE
    - g_propagate_error
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'GFileAttributeInfoList *g_file_query_settable_attributes (GFile *file,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:8166,1
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:8168,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/gfile.c:8170,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8166,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:8172,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:8173,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:8174,1
    - Dst: g_file_read_async
      Src: /src/glib/gio/gfile.c:8176,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - file
    - cancellable
    - read_more_callback
    - callback
    - user_data
    argTypes:
    - GFile*
    - GCancellable*
    - GFileReadMoreCallback
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 8181
      start: 8157
    functionDepth: 0
    functionLinenumber: 8157
    functionLinenumberEnd: 8181
    functionName: g_file_load_partial_contents_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_task_set_task_data
    - g_task_new
    - g_task_set_source_tag
    - g_byte_array_new
    - g_file_read_async
    - G_IS_FILE
    - g_task_get_cancellable
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:8495,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gfile.c:8507,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8508,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gfile.c:8508,1
    - Dst: g_file_replace_finish
      Src: /src/glib/gio/gfile.c:8500,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8512,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8515,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8519,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - open_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8522
      start: 8490
    functionDepth: 0
    functionLinenumber: 8490
    functionLinenumberEnd: 8522
    functionName: replace_contents_open_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_async
    - g_bytes_get_data
    - G_FILE
    - g_object_unref
    - g_file_replace_finish
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_get_cancellable
    linkageType: ''
    returnType: void
    signature: 'static void replace_contents_open_callback (GObject *obj, GAsyncResult
      *open_res, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gfile.c:7943,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:7943,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gfile.c:7968,1
    - Dst: g_file_read
      Src: /src/glib/gio/gfile.c:7935,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/gfile.c:7939,1
    - Dst: g_file_info_get_etag
      Src: /src/glib/gio/gfile.c:7962,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:7968,1
    - Dst: g_byte_array_set_size
      Src: /src/glib/gio/gfile.c:7942,1
    - Dst: g_byte_array_set_size
      Src: /src/glib/gio/gfile.c:7949,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7963,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7969,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:7962,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7932,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7933,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:7932,1
    - Dst: g_file_input_stream_query_info
      Src: /src/glib/gio/gfile.c:7956,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:7962,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/gfile.c:7974,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/gfile.c:7984,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 6
    argNames:
    - file
    - cancellable
    - contents
    - length
    - etag_out
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - char**
    - gsize*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 7987
      start: 7918
    functionDepth: 0
    functionLinenumber: 7918
    functionLinenumberEnd: 7987
    functionName: g_file_load_contents
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_file_info_has_attribute
    - G_INPUT_STREAM
    - g_file_info_get_etag
    - g_object_unref
    - g_input_stream_close
    - g_byte_array_new
    - g_file_read
    - g_byte_array_free
    - g_byte_array_set_size
    - G_IS_FILE
    - g_return_val_if_fail
    - g_input_stream_read
    - g_file_input_stream_query_info
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:582,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:582,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 587
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 587
    functionName: g_file_get_path
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_path (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1004,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:1007,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1005,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1005,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1004,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:1007,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1010,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 1013
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1013
    functionName: g_file_get_relative_path
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_TYPE_FROM_INSTANCE
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_relative_path (GFile *parent, GFile *descendant) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_build_attribute_list_for_copy
      Src: /src/glib/gio/gfile.c:2900,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2925,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:2915,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:2910,1
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/gfile.c:2920,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: 2929
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 2929
    functionName: g_file_copy_attributes
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - g_file_set_attributes_from_info
    - g_file_build_attribute_list_for_copy
    - g_file_query_info
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_copy_attributes (GFile *source, GFile *destination,
      GFileCopyFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4118,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4118,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4120,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: 4126
      start: 4109
    functionDepth: 0
    functionLinenumber: 4109
    functionLinenumberEnd: 4126
    functionName: g_file_make_directory_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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_val_if_fail
      Src: /src/glib/gio/gfile.c:6513,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6515,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6513,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:6515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6516
      start: 6508
    functionDepth: 0
    functionLinenumber: 6508
    functionLinenumberEnd: 6516
    functionName: g_file_real_move_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_move_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6597,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6599,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6599,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6600
      start: 6592
    functionDepth: 0
    functionLinenumber: 6592
    functionLinenumberEnd: 6600
    functionName: g_file_real_open_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'static GFileIOStream *g_file_real_open_readwrite_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8429,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8437,1
    - Dst: g_file_output_stream_get_etag
      Src: /src/glib/gio/gfile.c:8437,1
    - Dst: g_output_stream_close_finish
      Src: /src/glib/gio/gfile.c:8433,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:8438,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - obj
    - close_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8441
      start: 8424
    functionDepth: 0
    functionLinenumber: 8424
    functionLinenumberEnd: 8441
    functionName: replace_contents_close_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_output_stream_get_etag
    - g_output_stream_close_finish
    - g_object_unref
    - G_FILE_OUTPUT_STREAM
    - g_task_return_boolean
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void replace_contents_close_callback (GObject *obj, GAsyncResult
      *close_res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7717,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7725,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:7725,1
    - Dst: g_app_info_get_default_for_type_finish
      Src: /src/glib/gio/gfile.c:7721,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:7727,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gfile.c:7729,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7735,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7735,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:7738,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 7740
      start: 7712
    functionDepth: 0
    functionLinenumber: 7712
    functionLinenumberEnd: 7740
    functionName: query_default_handler_query_app_info_for_type_cb
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_app_info_get_default_for_type_finish
    - G_TASK
    - g_error_matches
    - g_object_unref
    - g_clear_error
    - g_task_return_pointer
    - g_steal_pointer
    - g_task_return_error
    - g_task_return_new_error
    linkageType: ''
    returnType: void
    signature: 'static void query_default_handler_query_app_info_for_type_cb (GObject
      *object, GAsyncResult *result, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gfile.c:595,1
    - Dst: g_object_replace_qdata
      Src: /src/glib/gio/gfile.c:620,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gio/gfile.c:610,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gfile.c:596,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gfile.c:615,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:628,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 632
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 632
    functionName: file_peek_path_generic
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - g_object_get_qdata
    - G_UNLIKELY
    - g_free
    - g_object_replace_qdata
    - g_file_get_path
    linkageType: ''
    returnType: char*
    signature: 'static const char *file_peek_path_generic (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:6526,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6529,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6526,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6530
      start: 6518
    functionDepth: 0
    functionLinenumber: 6518
    functionLinenumberEnd: 6530
    functionName: make_directory_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_make_directory
    - g_task_return_boolean
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_create_readwrite
      Src: /src/glib/gio/gfile.c:6612,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6617,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6615,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6612,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6618
      start: 6602
    functionDepth: 0
    functionLinenumber: 6602
    functionLinenumberEnd: 6618
    functionName: create_readwrite_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_create_readwrite
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void create_readwrite_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_uri_scheme
      Src: /src/glib/gio/gfile.c:7666,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7676,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7670,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/gfile.c:7669,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:7678,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/gfile.c:7689,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/gfile.c:7691,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gfile.c:7695,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/gfile.c:7696,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7698,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:7706,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7708,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7701,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 7710
      start: 7655
    functionDepth: 0
    functionLinenumber: 7655
    functionLinenumberEnd: 7710
    functionName: g_file_query_default_handler
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    - _
    - g_app_info_get_default_for_uri_scheme
    - g_file_info_get_attribute_string
    - g_file_get_path
    - g_file_info_get_content_type
    - g_object_unref
    - g_app_info_get_default_for_type
    - g_file_get_uri_scheme
    - g_set_error_literal
    - g_file_query_info
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_file_query_default_handler (GFile *file, GCancellable
      *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8448,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gfile.c:8453,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8464,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8461,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/gfile.c:8463,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gfile.c:8472,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/gfile.c:8476,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8477,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gfile.c:8480,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8484,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - obj
    - read_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8488
      start: 8443
    functionDepth: 0
    functionLinenumber: 8443
    functionLinenumberEnd: 8488
    functionName: replace_contents_write_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_async
    - g_bytes_get_data
    - g_output_stream_write_finish
    - g_output_stream_close_async
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_get_cancellable
    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:8788,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:8790,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gfile.c:8790,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:8789,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:8791,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:8793,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8794,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: 8795
      start: 8771
    functionDepth: 0
    functionLinenumber: 8771
    functionLinenumberEnd: 8795
    functionName: g_file_real_measure_disk_usage_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - 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:488,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:488,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:491,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - file
    - uri_scheme
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 494
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 494
    functionName: g_file_has_uri_scheme
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    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:970,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:973,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:971,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:970,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:971,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:973,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:976,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - file
    - prefix
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 982
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 982
    functionName: g_file_has_prefix
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_TYPE_FROM_INSTANCE
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_has_prefix (GFile *file, GFile *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5372,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5372,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5378,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5381,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5374,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: 5391
      start: 5362
    functionDepth: 0
    functionLinenumber: 5362
    functionLinenumberEnd: 5391
    functionName: g_file_mount_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_GET_IFACE
    - g_task_report_new_error
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_mount_mountable (GFile *file, GMountMountFlags 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/gfile.c:7621,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:7624,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7622,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:7622,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:7621,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:7626,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:7627,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7627,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:7629,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - location
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 7632
      start: 7614
    functionDepth: 0
    functionLinenumber: 7614
    functionLinenumberEnd: 7632
    functionName: g_file_mount_enclosing_volume_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_mount_enclosing_volume_finish (GFile *location, GAsyncResult
      *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:7842,1
    - Dst: g_app_info_get_default_for_uri_scheme_async
      Src: /src/glib/gio/gfile.c:7848,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7851,1
    - Dst: g_file_get_uri_scheme
      Src: /src/glib/gio/gfile.c:7845,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:7843,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7852,1
    - Dst: g_file_query_info_async
      Src: /src/glib/gio/gfile.c:7856,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7863,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7865,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: 7866
      start: 7832
    functionDepth: 0
    functionLinenumber: 7832
    functionLinenumberEnd: 7866
    functionName: g_file_query_default_handler_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_file_query_info_async
    - g_task_new
    - g_task_set_source_tag
    - g_steal_pointer
    - g_file_get_uri_scheme
    - g_app_info_get_default_for_uri_scheme_async
    linkageType: ''
    returnType: void
    signature: 'void g_file_query_default_handler_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:8609,1
    - Dst: g_bytes_ref
      Src: /src/glib/gio/gfile.c:8614,1
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:8612,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:8610,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8609,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:8616,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:8617,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:8618,1
    - Dst: g_file_replace_async
      Src: /src/glib/gio/gfile.c:8620,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8625,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: 8628
      start: 8597
    functionDepth: 0
    functionLinenumber: 8597
    functionLinenumberEnd: 8628
    functionName: g_file_replace_contents_bytes_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_task_set_task_data
    - g_task_new
    - g_task_set_source_tag
    - g_file_replace_async
    - g_bytes_ref
    - G_IS_FILE
    - g_task_get_cancellable
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:8913,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:8914,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:8914,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8913,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:8916,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: 8919
      start: 8903
    functionDepth: 0
    functionLinenumber: 8903
    functionLinenumberEnd: 8919
    functionName: g_file_measure_disk_usage_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_IS_CANCELLABLE
    - G_FILE_GET_IFACE
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9120,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:9121,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:9123,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9120,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9121,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:9125,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:9126,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9126,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 9130
      start: 9113
    functionDepth: 0
    functionLinenumber: 9113
    functionLinenumberEnd: 9130
    functionName: g_file_stop_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_stop_mountable_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2223,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2224,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2224,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2223,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2226,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2231
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2231
    functionName: g_file_append_to_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_append_to_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4439,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4442,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4440,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4439,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:4444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4447
      start: 4432
    functionDepth: 0
    functionLinenumber: 4432
    functionLinenumberEnd: 4447
    functionName: g_file_make_symbolic_link_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_make_symbolic_link_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4764,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4765,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4767,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4764,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: 4774
      start: 4754
    functionDepth: 0
    functionLinenumber: 4754
    functionLinenumberEnd: 4774
    functionName: g_file_set_display_name_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_append_to
      Src: /src/glib/gio/gfile.c:6153,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6157,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6153,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6155,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: 6158
      start: 6143
    functionDepth: 0
    functionLinenumber: 6143
    functionLinenumberEnd: 6158
    functionName: append_to_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_file_append_to
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void append_to_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/gfile.c:8807,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:8809,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8823,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:8809,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:8807,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: 8826
      start: 8797
    functionDepth: 0
    functionLinenumber: 8797
    functionLinenumberEnd: 8826
    functionName: g_file_real_measure_disk_usage_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_free
    - G_TASK
    - g_task_propagate_pointer
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6171,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6176,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6177,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6174,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6175,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6180,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: 6181
      start: 6160
    functionDepth: 0
    functionLinenumber: 6160
    functionLinenumberEnd: 6181
    functionName: g_file_real_append_to_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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_return_if_fail
      Src: /src/glib/gio/gfile.c:2192,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2192,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2194,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: 2201
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2201
    functionName: g_file_append_to_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - G_FILE_GET_IFACE
    - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3292,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3299,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3292,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3293,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3293,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3299,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:3300,1
    - Dst: ioctl
      Src: /src/glib/gio/gfile.c:3312,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3318,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3320,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3329,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3322,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3339,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3327,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3324,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: 3342
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3342
    functionName: btrfs_reflink_with_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_DESCRIPTOR_BASED
    - _
    - g_file_info_has_attribute
    - g_assert
    - ioctl
    - g_file_descriptor_based_get_fd
    - 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:4148,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4148,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4149,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4151,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4153
      start: 4141
    functionDepth: 0
    functionLinenumber: 4141
    functionLinenumberEnd: 4153
    functionName: g_file_make_directory_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_make_directory_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9030,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9030,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9031,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:9031,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:9033,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:9035,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:9036,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9036,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9038,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 9040
      start: 9023
    functionDepth: 0
    functionLinenumber: 9023
    functionLinenumberEnd: 9040
    functionName: g_file_start_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_start_mountable_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - 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:
    - 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: []
    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_ACTION_MAP_GET_IFACE
      Src: /src/glib/gio/gactionmap.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - action_map
    - action_name
    argTypes:
    - GActionMap*
    - gchar*
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionMapInterface*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_error_free
      Src: /src/glib/gio/gactionmap.c:257,1
    - Dst: g_simple_action_new_stateful
      Src: /src/glib/gio/gactionmap.c:261,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/gactionmap.c:269,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactionmap.c:274,1
    - Dst: g_critical
      Src: /src/glib/gio/gactionmap.c:232,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactionmap.c:240,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactionmap.c:275,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gactionmap.c:282,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactionmap.c:219,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactionmap.c:220,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gactionmap.c:250,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactionmap.c:278,1
    - Dst: G_ACTION
      Src: /src/glib/gio/gactionmap.c:281,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gactionmap.c:219,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/gio/gactionmap.c:230,1
    - Dst: g_critical
      Src: /src/glib/gio/gactionmap.c:253,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/gactionmap.c:281,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactionmap.c:279,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactionmap.c:265,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: 284
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 284
    functionName: g_action_map_add_action_entries
    functionSourceFile: /src/glib/gio/gactionmap.c
    functionUses: []
    functionsReached:
    - g_variant_type_string_is_valid
    - G_VARIANT_TYPE
    - g_signal_connect
    - g_error_free
    - g_variant_unref
    - G_IS_ACTION_MAP
    - g_action_map_add_action
    - g_critical
    - g_object_unref
    - G_CALLBACK
    - g_simple_action_new
    - g_variant_parse
    - g_simple_action_new_stateful
    - G_ACTION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_action_map_add_action_entries (GActionMap *action_map, const
      GActionEntry *entries, gint n_entries, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION_MAP_GET_IFACE
      Src: /src/glib/gio/gactionmap.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - action_map
    - action
    argTypes:
    - GActionMap*
    - GAction*
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    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_ACTION_MAP_GET_IFACE
      Src: /src/glib/gio/gactionmap.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - action_map
    - action_name
    argTypes:
    - GActionMap*
    - gchar*
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    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:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactionmap.c:323,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactionmap.c:324,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gactionmap.c:323,1
    - Dst: g_action_map_remove_action
      Src: /src/glib/gio/gactionmap.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - action_map
    - entries
    - n_entries
    argTypes:
    - GActionMap*
    - GActionEntry
    - gint
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/ggtknotificationbackend.c:56,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/ggtknotificationbackend.c:60,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/ggtknotificationbackend.c:63,1
    - Dst: g_variant_new
      Src: /src/glib/gio/ggtknotificationbackend.c:62,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ggtknotificationbackend.c:65,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/ggtknotificationbackend.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: g_gtk_notification_backend_is_supported
    functionSourceFile: /src/glib/gio/ggtknotificationbackend.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_variant_unref
    - g_bus_get_sync
    - g_object_unref
    - g_variant_new
    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:100,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/ggtknotificationbackend.c:100,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/ggtknotificationbackend.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - backend
    - id
    argTypes:
    - GNotificationBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: g_gtk_notification_backend_withdraw_notification
    functionSourceFile: /src/glib/gio/ggtknotificationbackend.c
    functionUses: []
    functionsReached:
    - g_application_get_application_id
    - g_variant_new
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'static void g_gtk_notification_backend_withdraw_notification (GNotificationBackend
      *backend, const gchar *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GGtkNotificationBackend*
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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_NOTIFICATION_BACKEND_CLASS
      Src: /src/glib/gio/ggtknotificationbackend.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - GGtkNotificationBackendClass*
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    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:
    - Dst: g_variant_new
      Src: /src/glib/gio/ggtknotificationbackend.c:83,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/ggtknotificationbackend.c:83,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/ggtknotificationbackend.c:87,1
    - Dst: g_notification_serialize
      Src: /src/glib/gio/ggtknotificationbackend.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - backend
    - id
    - notification
    argTypes:
    - GNotificationBackend*
    - gchar*
    - GNotification*
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: g_gtk_notification_backend_send_notification
    functionSourceFile: /src/glib/gio/ggtknotificationbackend.c
    functionUses: []
    functionsReached:
    - g_notification_serialize
    - g_application_get_application_id
    - g_variant_new
    - 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_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: g_io_stream_get_input_stream
      Src: /src/glib/gio/gsocks4aproxy.c:211,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: 5
    argNames:
    - proxy
    - io_stream
    - proxy_address
    - cancellable
    - error
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GError**
    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:
    - set_connect_msg
    - g_proxy_address_get_username
    - g_object_ref
    - g_io_stream_get_output_stream
    - g_proxy_address_get_destination_hostname
    - parse_connect_reply
    - g_input_stream_read_all
    - g_proxy_address_get_destination_port
    - g_output_stream_write_all
    - g_io_stream_get_input_stream
    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_task_get_priority
      Src: /src/glib/gio/gsocks4aproxy.c:294,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocks4aproxy.c:295,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gsocks4aproxy.c:291,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_task_get_priority
    - g_task_get_cancellable
    - g_io_stream_get_output_stream
    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:
    - g_output_stream_write_finish
    - g_free
    - do_read
    - g_malloc0
    - do_write
    - g_object_unref
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_get_task_data
    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: 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: 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_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:121,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks4aproxy.c:125,1
    - Dst: _
      Src: /src/glib/gio/gsocks4aproxy.c:154,1
    - Dst: strlen
      Src: /src/glib/gio/gsocks4aproxy.c:132,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: 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_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: memcpy
      Src: /src/glib/gio/gsocks4aproxy.c:159,1
    - Dst: _
      Src: /src/glib/gio/gsocks4aproxy.c:137,1
    - Dst: g_htons
      Src: /src/glib/gio/gsocks4aproxy.c:101,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/gsocks4aproxy.c:113,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocks4aproxy.c:114,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
    - strlen
    - _
    - g_inet_address_to_bytes
    - g_inet_address_new_from_string
    - g_object_unref
    - g_hostname_is_ip_address
    - g_htons
    - g_inet_address_get_native_size
    - g_set_error_literal
    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: 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: g_set_error_literal
      Src: /src/glib/gio/gsocks4aproxy.c:186,1
    - Dst: _
      Src: /src/glib/gio/gsocks4aproxy.c:180,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_task_get_cancellable
      Src: /src/glib/gio/gsocks4aproxy.c:282,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gsocks4aproxy.c:278,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_priority
    - g_input_stream_read_async
    - g_task_get_cancellable
    - g_io_stream_get_input_stream
    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_object_ref
      Src: /src/glib/gio/gsocks4aproxy.c:317,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocks4aproxy.c:319,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocks4aproxy.c:320,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsocks4aproxy.c:321,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_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:336,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
    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:
    - set_connect_msg
    - g_object_ref
    - g_proxy_address_get_username
    - g_slice_new0
    - g_task_set_task_data
    - g_malloc0
    - do_write
    - g_proxy_address_get_destination_hostname
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_proxy_address_get_destination_port
    - 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_read_finish
      Src: /src/glib/gio/gsocks4aproxy.c:392,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_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_ref
    - do_read
    - g_object_unref
    - g_input_stream_read_finish
    - parse_connect_reply
    - g_task_return_pointer
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_get_task_data
    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: 3
    argNames:
    - proxy
    - result
    - error
    argTypes:
    - GProxy*
    - GAsyncResult*
    - GError**
    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_propagate_pointer
    - G_TASK
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_auth_get_instance_private
      Src: /src/glib/gio/gdbusauth.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - auth
    argTypes:
    - GDBusAuth*
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    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:910,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:921,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:925,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:916,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:920,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:926,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 5
    argNames:
    - auth
    - allow_anonymous
    - prefix
    - suffix
    - separator
    argTypes:
    - GDBusAuth*
    - gboolean
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 927
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 927
    functionName: get_auth_mechanisms
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_string_new
    - g_string_append
    - g_string_free
    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: va_start
      Src: /src/glib/gio/gdbusauth.c:60,1
    - Dst: _g_dbus_debug_authentication
      Src: /src/glib/gio/gdbusauth.c:51,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusauth.c:58,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusauth.c:61,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_string_append
      Src: /src/glib/gio/gdbusauth.c:70,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauth.c:72,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:75,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusauth.c:74,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusauth.c:78,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:76,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_dbus_debug_print_lock
    - va_end
    - g_string_new
    - g_string_append
    - G_UNLIKELY
    - g_strdup_vprintf
    - g_free
    - _g_dbus_debug_authentication
    - g_string_append_c
    - va_start
    - g_string_free
    - _g_dbus_debug_print_unlock
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void debug_print (const gchar *message, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mechanism
      Src: /src/glib/gio/gdbusauth.c:233,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gdbusauth.c:237,1
    - Dst: add_mechanism
      Src: /src/glib/gio/gdbusauth.c:234,1
    - Dst: add_mechanism
      Src: /src/glib/gio/gdbusauth.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - auth
    - observer
    argTypes:
    - GDBusAuth*
    - GDBusAuthObserver*
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: _g_dbus_auth_add_mechs
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_list_sort
    - add_mechanism
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_add_mechs (GDBusAuth *auth, GDBusAuthObserver
      *observer) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauth.c:318,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauth.c:342,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:337,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdbusauth.c:323,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:334,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauth.c:347,1
    - Dst: g_string_set_size
      Src: /src/glib/gio/gdbusauth.c:348,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:358,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauth.c:361,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:362,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - i
    - out_line_length
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 364
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 364
    functionName: _my_g_input_stream_read_line_safe
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_set_size
    - _
    - g_assert
    - g_string_append_c
    - g_string_free
    - g_set_error_literal
    - g_input_stream_read
    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_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: P_
      Src: /src/glib/gio/gdbusauth.c:176,1
    - Dst: P_
      Src: /src/glib/gio/gdbusauth.c:175,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusauth.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusAuthClass*
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: _g_dbus_auth_class_init
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_class_init (GDBusAuthClass *klass) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:478,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:494,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:525,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:530,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:530,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:540,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:514,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusauth.c:515,1
    - Dst: find_mech_by_name
      Src: /src/glib/gio/gdbusauth.c:456,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:475,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:476,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:485,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusauth.c:490,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:484,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:495,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusauth.c:495,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:502,1
    - Dst: _g_dbus_auth_mechanism_client_initiate
      Src: /src/glib/gio/gdbusauth.c:509,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:448,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauth.c:471,1
    - Dst: _g_dbus_auth_mechanism_is_supported
      Src: /src/glib/gio/gdbusauth.c:500,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:502,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusauth.c:513,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:532,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:535,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:537,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:526,1
    - Dst: _g_dbus_hexencode
      Src: /src/glib/gio/gdbusauth.c:521,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:438,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:467,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/gdbusauth.c:469,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:481,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:494,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:503,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusauth.c:515,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:522,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:533,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:523,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 8
    argNames:
    - auth
    - credentials_that_were_sent
    - conn_flags
    - supported_auth_mechs
    - attempted_auth_mechs
    - dos
    - cancellable
    - error
    argTypes:
    - GDBusAuth*
    - GCredentials*
    - GDBusConnectionFlags
    - gchar**
    - GPtrArray*
    - GDataOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 544
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 544
    functionName: client_choose_mech_and_send_initial_response
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_string_append
    - _
    - g_object_new
    - _g_dbus_hexencode
    - g_strjoinv
    - g_strcmp0
    - find_mech_by_name
    - g_object_unref
    - g_type_name
    - g_string_free
    - _g_dbus_auth_mechanism_is_supported
    - _g_dbus_auth_mechanism_get_name
    - g_data_output_stream_put_string
    - _g_dbus_auth_mechanism_client_initiate
    - g_strdup_printf
    - G_TYPE_FROM_INSTANCE
    - debug_print
    - g_ptr_array_add
    - g_printerr
    - g_set_error
    - g_string_new
    - g_free
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mechanism*
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: mechanism_free
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_free (Mechanism *m) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauth.c:378,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:390,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdbusauth.c:387,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdbusauth.c:386,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauth.c:398,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:402,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:409,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - str
    - out_len
    - error
    argTypes:
    - gchar*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 412
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 412
    functionName: hexdecode
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_string_new
    - g_ascii_xdigit_value
    - g_string_append_c
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *hexdecode (const gchar *str, gsize *out_len, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH
      Src: /src/glib/gio/gdbusauth.c:112,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_list_free_full
      Src: /src/glib/gio/gdbusauth.c:116,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_list_free_full
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_finalize (GObject *object) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:630,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauth.c:666,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusauth.c:669,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:704,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:740,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:757,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:870,1
    - Dst: client_choose_mech_and_send_initial_response
      Src: /src/glib/gio/gdbusauth.c:673,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:728,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:593,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:594,1
    - Dst: g_unix_connection_send_credentials
      Src: /src/glib/gio/gdbusauth.c:604,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/gdbusauth.c:623,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:637,1
    - Dst: _my_g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:648,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:651,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:695,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:781,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusauth.c:588,1
    - Dst: g_filter_output_stream_set_close_base_stream
      Src: /src/glib/gio/gdbusauth.c:596,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gdbusauth.c:603,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:721,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:638,1
    - Dst: hexdecode
      Src: /src/glib/gio/gdbusauth.c:801,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:838,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:707,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:708,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:751,1
    - Dst: _g_dbus_auth_add_mechs
      Src: /src/glib/gio/gdbusauth.c:584,1
    - Dst: _g_dbus_debug_authentication
      Src: /src/glib/gio/gdbusauth.c:621,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:624,1
    - Dst: _g_dbus_auth_mechanism_client_data_receive
      Src: /src/glib/gio/gdbusauth.c:809,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:835,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:647,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:656,1
    - Dst: _my_g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:747,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:750,1
    - Dst: _my_g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:691,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:799,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:828,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauth.c:862,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:765,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:593,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusauth.c:594,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusauth.c:621,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:787,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:892,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:792,1
    - Dst: _my_g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:788,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauth.c:580,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:601,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/gdbusauth.c:615,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:791,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:768,1
    - Dst: _g_dbus_auth_mechanism_client_data_send
      Src: /src/glib/gio/gdbusauth.c:817,1
    - Dst: _g_dbus_hexencode
      Src: /src/glib/gio/gdbusauth.c:825,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:831,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:879,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:714,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:756,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/gdbusauth.c:697,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:798,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauth.c:579,1
    - Dst: _g_dbus_auth_mechanism_client_get_state
      Src: /src/glib/gio/gdbusauth.c:812,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:856,1
    - Dst: _g_dbus_auth_mechanism_client_get_state
      Src: /src/glib/gio/gdbusauth.c:683,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:833,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:625,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:699,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:735,1
    - Dst: g_strstrip
      Src: /src/glib/gio/gdbusauth.c:800,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusauth.c:805,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:810,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:890,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:767,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:595,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:672,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:713,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:753,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:694,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:842,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:776,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:746,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/gdbusauth.c:611,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:690,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:873,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:872,1
    - Dst: g_data_input_stream_set_newline_type
      Src: /src/glib/gio/gdbusauth.c:598,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:604,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:654,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:821,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:827,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:851,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:874,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusauth.c:792,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:802,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:832,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusauth.c:871,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:582,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:596,1
    - Dst: g_filter_input_stream_set_close_base_stream
      Src: /src/glib/gio/gdbusauth.c:595,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:762,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:722,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/gdbusauth.c:593,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/gdbusauth.c:594,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:661,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbusauth.c:762,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 219
    argCount: 7
    argNames:
    - auth
    - observer
    - conn_flags
    - offered_capabilities
    - out_negotiated_capabilities
    - cancellable
    - error
    argTypes:
    - GDBusAuth*
    - GDBusAuthObserver*
    - GDBusConnectionFlags
    - GDBusCapabilityFlags
    - GDBusCapabilityFlags*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 895
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 895
    functionName: _g_dbus_auth_run_client
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IS_UNIX_CONNECTION
    - _g_dbus_debug_authentication
    - g_credentials_new
    - g_filter_output_stream_set_close_base_stream
    - g_strfreev
    - g_credentials_to_string
    - _g_dbus_hexencode
    - g_ptr_array_unref
    - client_choose_mech_and_send_initial_response
    - g_return_val_if_fail
    - g_ptr_array_new
    - _g_dbus_auth_mechanism_client_data_send
    - g_ascii_isspace
    - G_DATA_INPUT_STREAM
    - g_data_output_stream_put_byte
    - G_FILTER_INPUT_STREAM
    - g_strcmp0
    - g_assert_not_reached
    - g_object_unref
    - g_data_input_stream_set_newline_type
    - g_strsplit
    - g_str_has_prefix
    - g_data_output_stream_new
    - hexdecode
    - g_data_input_stream_new
    - g_data_output_stream_put_string
    - g_unix_connection_send_credentials
    - G_UNLIKELY
    - _my_g_data_input_stream_read_line
    - _g_dbus_auth_mechanism_client_get_state
    - g_dbus_is_guid
    - g_filter_input_stream_set_close_base_stream
    - g_strdup_printf
    - g_prefix_error
    - G_UNIX_CONNECTION
    - debug_print
    - g_strstrip
    - g_printerr
    - g_set_error
    - _g_dbus_auth_add_mechs
    - g_strdup
    - g_str_equal
    - g_free
    - G_DATA_OUTPUT_STREAM
    - G_FILTER_OUTPUT_STREAM
    - _g_dbus_auth_mechanism_client_data_receive
    - g_io_stream_get_input_stream
    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: 52
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusauth.c:990,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusauth.c:1024,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusauth.c:1157,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusauth.c:1046,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1092,1
    - Dst: g_credentials_is_same_user
      Src: /src/glib/gio/gdbusauth.c:1188,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:1135,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:1180,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1124,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1215,1
    - Dst: get_auth_mechanisms
      Src: /src/glib/gio/gdbusauth.c:1083,1
    - Dst: _g_dbus_auth_mechanism_server_initiate
      Src: /src/glib/gio/gdbusauth.c:1176,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1143,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1218,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1260,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1268,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1415,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusauth.c:1169,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:1211,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:991,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusauth.c:1011,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusauth.c:997,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1057,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:1123,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1128,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:1250,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:1256,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:1191,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:995,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1084,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1088,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:1283,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1331,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:1337,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1376,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:1351,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:961,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:1016,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1056,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1091,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:1203,1
    - Dst: get_auth_mechanisms
      Src: /src/glib/gio/gdbusauth.c:1139,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/gdbusauth.c:1055,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1231,1
    - Dst: _g_dbus_hexencode
      Src: /src/glib/gio/gdbusauth.c:1254,1
    - Dst: _g_dbus_auth_mechanism_server_data_receive
      Src: /src/glib/gio/gdbusauth.c:1319,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusauth.c:1409,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:997,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:1035,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1062,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1078,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauth.c:1101,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1299,1
    - Dst: hexdecode
      Src: /src/glib/gio/gdbusauth.c:1311,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:1344,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1146,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusauth.c:1156,1
    - Dst: g_filter_output_stream_set_close_base_stream
      Src: /src/glib/gio/gdbusauth.c:991,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusauth.c:1002,1
    - Dst: _g_dbus_debug_authentication
      Src: /src/glib/gio/gdbusauth.c:1053,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:1081,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:1138,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1225,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusauth.c:1302,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1312,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1320,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1265,1
    - Dst: g_strstrip
      Src: /src/glib/gio/gdbusauth.c:1310,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1359,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:1194,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:973,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:1074,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1087,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1228,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1257,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:1295,1
    - Dst: _my_g_input_stream_read_line_safe
      Src: /src/glib/gio/gdbusauth.c:1337,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1343,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1348,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1375,1
    - Dst: g_unix_connection_receive_credentials
      Src: /src/glib/gio/gdbusauth.c:1019,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdbusauth.c:1035,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:1041,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:1206,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusauth.c:1053,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gdbusauth.c:1065,1
    - Dst: _g_dbus_auth_mechanism_server_data_send
      Src: /src/glib/gio/gdbusauth.c:1244,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1262,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:1326,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1373,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1358,1
    - Dst: find_mech_by_name
      Src: /src/glib/gio/gdbusauth.c:1133,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1213,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1263,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauth.c:1276,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1365,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:1388,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/gdbusauth.c:990,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1366,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusauth.c:1372,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:1118,1
    - Dst: _g_dbus_auth_mechanism_server_get_state
      Src: /src/glib/gio/gdbusauth.c:1183,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusauth.c:1004,1
    - Dst: _my_g_input_stream_read_line_safe
      Src: /src/glib/gio/gdbusauth.c:1074,1
    - Dst: get_auth_mechanisms
      Src: /src/glib/gio/gdbusauth.c:1224,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1288,1
    - Dst: _my_g_input_stream_read_line_safe
      Src: /src/glib/gio/gdbusauth.c:1295,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:1302,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusauth.c:1315,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1336,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusauth.c:1394,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauth.c:1382,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:990,1
    - Dst: _g_dbus_auth_add_mechs
      Src: /src/glib/gio/gdbusauth.c:963,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:1044,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1085,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1212,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1226,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1353,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/gdbusauth.c:971,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:1019,1
    - Dst: g_socket_get_credentials
      Src: /src/glib/gio/gdbusauth.c:1000,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusauth.c:1027,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:1094,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdbusauth.c:1103,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusauth.c:1396,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1140,1
    - Dst: hexdecode
      Src: /src/glib/gio/gdbusauth.c:1166,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1141,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:1308,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusauth.c:1395,1
    - Dst: g_dbus_auth_observer_authorize_authenticated_peer
      Src: /src/glib/gio/gdbusauth.c:1198,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1179,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:1171,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusauth.c:1022,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1073,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1294,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1309,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:1413,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: 1418
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 1418
    functionName: _g_dbus_auth_run_server
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - _
    - g_io_stream_get_output_stream
    - G_IS_UNIX_CONNECTION
    - g_object_new
    - _g_dbus_debug_authentication
    - g_credentials_new
    - g_filter_output_stream_set_close_base_stream
    - g_clear_error
    - g_strfreev
    - g_credentials_to_string
    - _g_dbus_hexencode
    - g_propagate_error
    - g_credentials_is_same_user
    - g_unix_connection_receive_credentials
    - _g_dbus_auth_mechanism_server_get_state
    - g_strcmp0
    - find_mech_by_name
    - g_error_matches
    - g_assert_not_reached
    - g_object_unref
    - G_IS_SOCKET_CONNECTION
    - g_strsplit
    - g_str_has_prefix
    - G_SOCKET_CONNECTION
    - _g_dbus_auth_mechanism_server_data_receive
    - g_set_error_literal
    - g_data_output_stream_new
    - g_input_stream_read
    - hexdecode
    - g_data_output_stream_put_string
    - G_UNLIKELY
    - g_object_ref
    - _g_dbus_auth_mechanism_server_initiate
    - g_dbus_auth_observer_authorize_authenticated_peer
    - g_dbus_is_guid
    - g_strdup_printf
    - get_auth_mechanisms
    - g_prefix_error
    - G_UNIX_CONNECTION
    - debug_print
    - _my_g_input_stream_read_line_safe
    - g_strv_length
    - g_strstrip
    - g_set_error
    - _g_dbus_auth_add_mechs
    - _g_dbus_auth_mechanism_server_data_send
    - g_socket_connection_get_socket
    - g_free
    - G_DATA_OUTPUT_STREAM
    - g_strdup
    - g_str_equal
    - g_clear_object
    - G_FILTER_OUTPUT_STREAM
    - g_debug
    - g_socket_get_credentials
    - g_io_stream_get_input_stream
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DBUS_AUTH
    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:199,1
    - Dst: g_dbus_auth_observer_allow_mechanism
      Src: /src/glib/gio/gdbusauth.c:200,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusauth.c:203,1
    - Dst: _g_dbus_auth_mechanism_get_priority
      Src: /src/glib/gio/gdbusauth.c:205,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusauth.c:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - auth
    - observer
    - mechanism_type
    argTypes:
    - GDBusAuth*
    - GDBusAuthObserver*
    - GType
    constantsTouched: []
    func_position:
      end: 209
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 209
    functionName: add_mechanism
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - _g_dbus_auth_mechanism_get_name
    - g_new0
    - _g_dbus_auth_mechanism_get_priority
    - g_dbus_auth_observer_allow_mechanism
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void add_mechanism (GDBusAuth *auth, GDBusAuthObserver *observer,
      GType mechanism_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - auth
    - name
    argTypes:
    - GDBusAuth*
    - gchar*
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 262
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauth.c:282,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:293,1
    - Dst: g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:284,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:290,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - dis
    - out_line_length
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 297
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 297
    functionName: _my_g_data_input_stream_read_line
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_read_line
    - g_set_error_literal
    - g_return_val_if_fail
    - _
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *_my_g_data_input_stream_read_line (GDataInputStream
      *dis, gsize *out_line_length, 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_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DBUS_AUTH
    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:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Mechanism*
    - Mechanism*
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusauth.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_is_connected
      Src: /src/glib/gio/gsocketconnection.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    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_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:263,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:263,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsocketconnection.c:264,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:264,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gsocketconnection.c:266,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketconnection.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - connection
    - result
    - error
    argTypes:
    - GSocketConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: g_socket_connection_connect_finish
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_boolean
    - G_IS_SOCKET_CONNECTION
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketconnection.c:348,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketconnection.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - connection
    - address
    argTypes:
    - GSocketConnection*
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: connection_factory_hash
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint connection_factory_hash (gconstpointer key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gsocketconnection.c:234,1
    - Dst: g_socket_check_connect_result
      Src: /src/glib/gio/gsocketconnection.c:237,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:242,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsocketconnection.c:238,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketconnection.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: g_socket_connection_connect_callback
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_socket_check_connect_result
    - g_object_unref
    - g_task_return_boolean
    - 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:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - connection
    - error
    argTypes:
    - GSocketConnection*
    - GError**
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_is_connected
      Src: /src/glib/gio/gsocketconnection.c:331,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketconnection.c:334,1
    - Dst: g_socket_get_remote_address
      Src: /src/glib/gio/gsocketconnection.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - connection
    - error
    argTypes:
    - GSocketConnection*
    - GError**
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: g_socket_connection_get_remote_address
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_socket_get_remote_address
    - g_object_ref
    - g_socket_is_connected
    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_return_if_fail
      Src: /src/glib/gio/gsocketconnection.c:594,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsocketconnection.c:599,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketconnection.c:596,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gsocketconnection.c:594,1
    - Dst: g_new0
      Src: /src/glib/gio/gsocketconnection.c:604,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gsocketconnection.c:610,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketconnection.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - g_type
    - family
    - type
    - protocol
    argTypes:
    - GType
    - GSocketFamily
    - GSocketType
    - gint
    constantsTouched: []
    func_position:
      end: 614
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 614
    functionName: g_socket_connection_factory_register_type
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_new0
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - g_type_is_a
    - g_hash_table_new_full
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:101,1
    - Dst: _g_socket_input_stream_new
      Src: /src/glib/gio/gsocketconnection.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - io_stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: g_socket_connection_get_input_stream
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - _g_socket_input_stream_new
    - G_SOCKET_CONNECTION
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_socket_connection_get_input_stream (GIOStream
      *io_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:284,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_connection_get_instance_private
      Src: /src/glib/gio/gsocketconnection.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gsocketconnection.c:505,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketconnection.c:507,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketconnection.c:508,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketconnection.c:514,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsocketconnection.c:516,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:518,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: 519
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 519
    functionName: g_socket_connection_close_async
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_return_boolean
    - g_task_return_error
    - G_IO_STREAM_GET_CLASS
    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: init_builtin_types
      Src: /src/glib/gio/gsocketconnection.c:646,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsocketconnection.c:658,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketconnection.c:648,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketconnection.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - family
    - type
    - protocol_id
    argTypes:
    - GSocketFamily
    - GSocketType
    - gint
    constantsTouched: []
    func_position:
      end: 666
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 666
    functionName: g_socket_connection_factory_lookup_type
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - G_UNLOCK
    - G_LOCK
    - init_builtin_types
    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:113,1
    - Dst: _g_socket_output_stream_new
      Src: /src/glib/gio/gsocketconnection.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - io_stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: g_socket_connection_get_output_stream
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - _g_socket_output_stream_new
    - G_SOCKET_CONNECTION
    linkageType: ''
    returnType: GOutputStream*
    signature: 'static GOutputStream *g_socket_connection_get_output_stream (GIOStream
      *io_stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:472,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gsocketconnection.c:478,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gsocketconnection.c:475,1
    - Dst: g_socket_close
      Src: /src/glib/gio/gsocketconnection.c:490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 491
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 491
    functionName: g_socket_connection_close
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_socket_close
    - g_input_stream_close
    - G_SOCKET_CONNECTION
    - g_output_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gsocketconnection.c:526,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketconnection.c:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GIOStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 527
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 527
    functionName: g_socket_connection_close_finish
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - G_TASK
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketconnection.c:196,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:196,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketconnection.c:197,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketconnection.c:199,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketconnection.c:197,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketconnection.c:200,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gsocketconnection.c:202,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/gsocketconnection.c:204,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsocketconnection.c:207,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:208,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gsocketconnection.c:217,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocketconnection.c:219,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketconnection.c:223,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:224,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gsocketconnection.c:215,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocketconnection.c:214,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gsocketconnection.c:210,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: 226
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 226
    functionName: g_socket_connection_connect_async
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_task_attach_source
    - g_socket_connect
    - g_error_matches
    - g_error_free
    - g_task_set_source_tag
    - g_task_new
    - G_IS_SOCKET_ADDRESS
    - G_IS_SOCKET_CONNECTION
    - g_object_unref
    - g_task_return_boolean
    - g_source_unref
    - g_socket_create_source
    - g_task_return_error
    - g_socket_set_blocking
    - g_return_if_fail
    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_type_ensure
      Src: /src/glib/gio/gsocketconnection.c:619,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gsocketconnection.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 621
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:358,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocketconnection.c:363,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketconnection.c:367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 369
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 369
    functionName: g_socket_connection_get_property
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SOCKET_CONNECTION
    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:394,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketconnection.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: g_socket_connection_constructed
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_SOCKET_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_constructed (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 567
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 567
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:377,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocketconnection.c:382,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketconnection.c:386,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsocketconnection.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 388
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 388
    functionName: g_socket_connection_set_property
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SOCKET_CONNECTION
    - G_SOCKET
    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:403,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketconnection.c:407,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketconnection.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 413
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 413
    functionName: g_socket_connection_dispose
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_SOCKET_CONNECTION
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:418,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:426,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:421,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:424,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketconnection.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 430
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 430
    functionName: g_socket_connection_finalize
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_SOCKET_CONNECTION
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketconnection.c:435,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gsocketconnection.c:436,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketconnection.c:452,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketconnection.c:450,1
    - Dst: P_
      Src: /src/glib/gio/gsocketconnection.c:453,1
    - Dst: P_
      Src: /src/glib/gio/gsocketconnection.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketConnectionClass*
    constantsTouched: []
    func_position:
      end: 459
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 459
    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
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_class_init (GSocketConnectionClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:158,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:158,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/gsocketconnection.c:161,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:159,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketconnection.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - connection
    - address
    - cancellable
    - error
    argTypes:
    - GSocketConnection*
    - GSocketAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: g_socket_connection_connect
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTION
    - g_return_val_if_fail
    - g_socket_connect
    - G_IS_SOCKET_ADDRESS
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_connection_factory_lookup_type
      Src: /src/glib/gio/gsocketconnection.c:684,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/gsocketconnection.c:684,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketconnection.c:687,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/gsocketconnection.c:685,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/gsocketconnection.c:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: g_socket_connection_factory_create_connection
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_socket_connection_factory_lookup_type
    - g_socket_get_family
    - g_object_new
    - g_socket_get_socket_type
    - g_socket_get_protocol
    linkageType: ''
    returnType: GSocketConnection*
    signature: 'GSocketConnection *g_socket_connection_factory_create_connection (GSocket
      *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 365
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/gnetworkmonitorbase.c:376,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gnetworkmonitorbase.c:381,1
    - Dst: g_inet_address_mask_get_address
      Src: /src/glib/gio/gnetworkmonitorbase.c:379,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gnetworkmonitorbase.c:380,1
    - Dst: g_inet_address_mask_get_length
      Src: /src/glib/gio/gnetworkmonitorbase.c:378,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 415
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 415
    functionName: inet_address_mask_hash
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - G_INET_ADDRESS_MASK
    - g_inet_address_mask_get_address
    - g_inet_address_to_bytes
    - g_inet_address_get_native_size
    - g_inet_address_mask_get_length
    linkageType: ''
    returnType: guint
    signature: 'static guint inet_address_mask_hash (gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/gnetworkmonitorbase.c:421,1
    - Dst: g_inet_address_mask_equal
      Src: /src/glib/gio/gnetworkmonitorbase.c:424,1
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/gnetworkmonitorbase.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 425
    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_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:156,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:162,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkmonitorbase.c:161,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:158,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:165,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_hash_table_unref
    - G_OBJECT_CLASS
    - g_main_context_unref
    - g_source_unref
    - g_source_destroy
    - 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_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:281,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/gnetworkmonitorbase.c:274,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkmonitorbase.c:280,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gnetworkmonitorbase.c:270,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gnetworkmonitorbase.c:287,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitorbase.c:288,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:289,1
    - Dst: g_network_monitor_base_can_reach_sockaddr
      Src: /src/glib/gio/gnetworkmonitorbase.c:294,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:296,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:298,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gnetworkmonitorbase.c:304,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gnetworkmonitorbase.c:297,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:301,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gnetworkmonitorbase.c:303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 306
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 306
    functionName: can_reach_async_got_address
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_task_get_cancellable
    - g_task_get_source_object
    - _
    - g_socket_address_enumerator_next_finish
    - G_SOCKET_ADDRESS_ENUMERATOR
    - g_object_unref
    - g_task_return_boolean
    - g_socket_address_enumerator_next_async
    - g_task_return_error
    - g_task_return_new_error
    - g_network_monitor_base_can_reach_sockaddr
    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:340,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gnetworkmonitorbase.c:342,1
    - Dst: G_TASK
      Src: /src/glib/gio/gnetworkmonitorbase.c:342,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gnetworkmonitorbase.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - monitor
    - result
    - error
    argTypes:
    - GNetworkMonitor*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: g_network_monitor_base_can_reach_finish
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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_source_is_destroyed
      Src: /src/glib/gio/gnetworkmonitorbase.c:433,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorbase.c:443,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkmonitorbase.c:436,1
    - Dst: g_main_current_source
      Src: /src/glib/gio/gnetworkmonitorbase.c:433,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorbase.c:443,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gnetworkmonitorbase.c:446,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:448,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 453
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 453
    functionName: emit_network_changed
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_source_is_destroyed
    - g_object_unref
    - g_object_notify
    - g_signal_emit
    - g_main_current_source
    - g_source_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_network_changed (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gnetworkmonitorbase.c:578,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/gnetworkmonitorbase.c:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - monitor
    - networks
    - length
    argTypes:
    - GNetworkMonitorBase*
    - GInetAddressMask**
    - gint
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: g_network_monitor_base_set_networks
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_all
    - g_network_monitor_base_add_network
    linkageType: ''
    returnType: void
    signature: 'void g_network_monitor_base_set_networks (GNetworkMonitorBase *monitor,
      GInetAddressMask **networks, gint length) '
  - 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
    - g_object_class_override_property
    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:318,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gnetworkmonitorbase.c:321,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gnetworkmonitorbase.c:323,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:321,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gnetworkmonitorbase.c:319,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitorbase.c:324,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:325,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gnetworkmonitorbase.c:329,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gnetworkmonitorbase.c:330,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:332,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: 333
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 333
    functionName: g_network_monitor_base_can_reach_async
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - _
    - g_hash_table_size
    - g_socket_connectable_proxy_enumerate
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_socket_address_enumerator_next_async
    - g_task_return_new_error
    - G_NETWORK_MONITOR_BASE
    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:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GNetworkMonitorInterface*
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gnetworkmonitorbase.c:463,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gnetworkmonitorbase.c:471,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gnetworkmonitorbase.c:470,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gnetworkmonitorbase.c:472,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gnetworkmonitorbase.c:469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GNetworkMonitorBase*
    constantsTouched: []
    func_position:
      end: 485
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 485
    functionName: queue_network_changed
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_set_static_name
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: void
    signature: 'static void queue_network_changed (GNetworkMonitorBase *monitor) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gnetworkmonitorbase.c:541,1
    - Dst: queue_network_changed
      Src: /src/glib/gio/gnetworkmonitorbase.c:559,1
    - Dst: g_inet_address_mask_get_length
      Src: /src/glib/gio/gnetworkmonitorbase.c:544,1
    - Dst: g_inet_address_mask_get_family
      Src: /src/glib/gio/gnetworkmonitorbase.c:546,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - monitor
    - network
    argTypes:
    - GNetworkMonitorBase*
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 560
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 560
    functionName: g_network_monitor_base_remove_network
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_inet_address_mask_get_family
    - g_hash_table_remove
    - queue_network_changed
    - g_inet_address_mask_get_length
    linkageType: ''
    returnType: void
    signature: 'void g_network_monitor_base_remove_network (GNetworkMonitorBase *monitor,
      GInetAddressMask *network) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_base_get_instance_private
      Src: /src/glib/gio/gnetworkmonitorbase.c:81,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
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gnetworkmonitorbase.c:82,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_main_context_ref
    - g_main_context_get_thread_default
    - g_network_monitor_base_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_base_init (GNetworkMonitorBase *monitor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:95,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/gnetworkmonitorbase.c:105,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gnetworkmonitorbase.c:97,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:106,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/gnetworkmonitorbase.c:104,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_inet_address_mask_new_from_string
    - g_object_unref
    - g_network_monitor_base_add_network
    - 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
      Src: /src/glib/gio/gnetworkmonitorbase.c:195,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gnetworkmonitorbase.c:196,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gnetworkmonitorbase.c:197,1
    - Dst: g_inet_socket_address_get_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
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_socket_address_get_address
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_inet_address_mask_matches
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_base_can_reach_sockaddr (GNetworkMonitorBase
      *base, GSocketAddress *sockaddr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gnetworkmonitorbase.c:500,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkmonitorbase.c:500,1
    - Dst: g_inet_address_mask_get_length
      Src: /src/glib/gio/gnetworkmonitorbase.c:503,1
    - Dst: g_inet_address_mask_get_family
      Src: /src/glib/gio/gnetworkmonitorbase.c:505,1
    - Dst: g_inet_address_get_is_mc_link_local
      Src: /src/glib/gio/gnetworkmonitorbase.c:522,1
    - Dst: g_inet_address_mask_get_address
      Src: /src/glib/gio/gnetworkmonitorbase.c:522,1
    - Dst: queue_network_changed
      Src: /src/glib/gio/gnetworkmonitorbase.c:525,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - monitor
    - network
    argTypes:
    - GNetworkMonitorBase*
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 526
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 526
    functionName: g_network_monitor_base_add_network
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_inet_address_mask_get_family
    - g_object_ref
    - g_hash_table_add
    - queue_network_changed
    - g_inet_address_mask_get_address
    - g_inet_address_get_is_mc_link_local
    - g_inet_address_mask_get_length
    linkageType: ''
    returnType: void
    signature: 'void g_network_monitor_base_add_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_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkmonitorbase.c:147,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gnetworkmonitorbase.c:131,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_enum
    - g_value_set_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_NETWORK_MONITOR_BASE
    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_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gnetworkmonitorbase.c:224,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitorbase.c:220,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gnetworkmonitorbase.c:217,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:246,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gnetworkmonitorbase.c:257,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:245,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: _
      Src: /src/glib/gio/gnetworkmonitorbase.c:258,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_hash_table_size
    - g_socket_address_enumerator_next
    - g_socket_connectable_proxy_enumerate
    - g_object_unref
    - g_set_error_literal
    - g_network_monitor_base_can_reach_sockaddr
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1006,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:1010,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - message
    - serial
    argTypes:
    - GDBusMessage*
    - guint32
    constantsTouched: []
    func_position:
      end: 1015
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1015
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:3037,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3039,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:3037,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - message
    - header_field
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    constantsTouched: []
    func_position:
      end: 3042
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3042
    functionName: get_signature_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_get_string
    - g_variant_is_of_type
    - g_hash_table_lookup
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_signature_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_enum_to_string
      Src: /src/glib/gio/gdbusmessage.c:3643,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbusmessage.c:3667,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gdbusmessage.c:3659,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3669,1
    - Dst: g_variant_print_string
      Src: /src/glib/gio/gdbusmessage.c:3681,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusmessage.c:3687,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3691,1
    - Dst: major
      Src: /src/glib/gio/gdbusmessage.c:3710,1
    - Dst: minor
      Src: /src/glib/gio/gdbusmessage.c:3722,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3726,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3749,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3639,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusmessage.c:3641,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3644,1
    - Dst: flags_to_string
      Src: /src/glib/gio/gdbusmessage.c:3646,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3647,1
    - Dst: g_hash_table_get_keys
      Src: /src/glib/gio/gdbusmessage.c:3653,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:3664,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3652,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusmessage.c:3689,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3714,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3718,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusmessage.c:3739,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3724,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3639,1
    - Dst: _g_dbus_enum_to_string
      Src: /src/glib/gio/gdbusmessage.c:3666,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3650,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:3663,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3668,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3675,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3678,1
    - Dst: g_unix_fd_list_peek_fds
      Src: /src/glib/gio/gdbusmessage.c:3698,1
    - Dst: fstat
      Src: /src/glib/gio/gdbusmessage.c:3706,1
    - Dst: minor
      Src: /src/glib/gio/gdbusmessage.c:3710,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusmessage.c:3736,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusmessage.c:3753,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3728,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3736,1
    - Dst: major
      Src: /src/glib/gio/gdbusmessage.c:3722,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3645,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3648,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3649,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gdbusmessage.c:3654,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3670,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusmessage.c:3677,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusmessage.c:3705,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3709,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3712,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3716,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3721,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3744,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3738,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3730,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 97
    argCount: 2
    argNames:
    - message
    - indent
    argTypes:
    - GDBusMessage*
    - guint
    constantsTouched: []
    func_position:
      end: 3754
      start: 3630
    functionDepth: 0
    functionLinenumber: 3630
    functionLinenumberEnd: 3754
    functionName: g_dbus_message_print
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_string_append
    - major
    - g_variant_print_string
    - g_return_val_if_fail
    - _g_dbus_enum_to_string
    - g_variant_print
    - g_strerror
    - G_IS_DBUS_MESSAGE
    - g_string_free
    - g_hash_table_get_keys
    - fstat
    - GPOINTER_TO_INT
    - flags_to_string
    - g_string_new
    - g_free
    - g_unix_fd_list_peek_fds
    - g_assert
    - g_list_sort
    - g_string_append_printf
    - g_list_free
    - g_hash_table_lookup
    - minor
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_message_print (GDBusMessage *message, guint indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3101,1
    - Dst: get_uint32_header
      Src: /src/glib/gio/gdbusmessage.c:3102,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3103
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3103
    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_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:3081,1
    - Dst: g_variant_new_signature
      Src: /src/glib/gio/gdbusmessage.c:3083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - gchar*
    constantsTouched: []
    func_position:
      end: 3084
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3084
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gdbusmessage.c:3580,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gdbusmessage.c:3581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 3584
      start: 3573
    functionDepth: 0
    functionLinenumber: 3573
    functionLinenumberEnd: 3584
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:2992,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:2993,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gdbusmessage.c:2994,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:2992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - message
    - header_field
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    constantsTouched: []
    func_position:
      end: 2997
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 2997
    functionName: get_uint32_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_is_of_type
    - g_hash_table_lookup
    - g_variant_get_uint32
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 get_uint32_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3285,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3285,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3287
      start: 3282
    functionDepth: 0
    functionLinenumber: 3282
    functionLinenumberEnd: 3287
    functionName: g_dbus_message_get_destination
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - get_string_header
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_destination (GDBusMessage *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3405,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3413,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3405,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gdbusmessage.c:3412,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3409,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3414,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:3415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3419
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3419
    functionName: g_dbus_message_get_arg0
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_get_child_value
    - G_IS_DBUS_MESSAGE
    - g_variant_unref
    - g_variant_get_string
    - g_return_val_if_fail
    - g_variant_is_of_type
    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:3382,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:3383,1
    - Dst: set_signature_header
      Src: /src/glib/gio/gdbusmessage.c:3384,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3382,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3383,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_signature
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_signature_header
    - g_variant_is_signature
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_signature (GDBusMessage *message, const gchar
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1040,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:1042,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:1042,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1040,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - message
    - header_field
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    constantsTouched: []
    func_position:
      end: 1043
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1043
    functionName: g_dbus_message_get_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_message_get_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3322,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3323,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3324
      start: 3319
    functionDepth: 0
    functionLinenumber: 3319
    functionLinenumberEnd: 3324
    functionName: g_dbus_message_get_error_name
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - get_string_header
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_error_name (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:3051,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gdbusmessage.c:3053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - guint32
    constantsTouched: []
    func_position:
      end: 3054
      start: 3046
    functionDepth: 0
    functionLinenumber: 3046
    functionLinenumberEnd: 3054
    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_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3302,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmessage.c:3303,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3304,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3303,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3305
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3305
    functionName: g_dbus_message_set_destination
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_string_header
    - g_dbus_is_name
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_destination (GDBusMessage *message, const
      gchar *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3824,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gdbusmessage.c:3841,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:3827,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3825,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3824,1
    - Dst: g_unix_fd_list_peek_fds
      Src: /src/glib/gio/gdbusmessage.c:3842,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdbusmessage.c:3845,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmessage.c:3849,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmessage.c:3860,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusmessage.c:3861,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmessage.c:3863,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusmessage.c:3862,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmessage.c:3863,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - message
    - error
    argTypes:
    - GDBusMessage*
    - GError**
    constantsTouched: []
    func_position:
      end: 3869
      start: 3815
    functionDepth: 0
    functionLinenumber: 3815
    functionLinenumberEnd: 3869
    functionName: g_dbus_message_copy
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_peek_fds
    - g_unix_fd_list_append
    - G_IS_DBUS_MESSAGE
    - g_object_unref
    - g_hash_table_iter_next
    - g_hash_table_insert
    - g_hash_table_iter_init
    - g_variant_ref
    - g_dbus_message_new
    - g_unix_fd_list_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_copy (GDBusMessage *message, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3118,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3118,1
    - Dst: set_uint32_header
      Src: /src/glib/gio/gdbusmessage.c:3119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - guint32
    constantsTouched: []
    func_position:
      end: 3120
      start: 3114
    functionDepth: 0
    functionLinenumber: 3114
    functionLinenumberEnd: 3120
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1156,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1156,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1157,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:1161,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1157,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:1166,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_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:1180,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusmessage.c:1181,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:1185,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusmessage.c:1183,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:1182,1
    - Dst: g_dbus_message_set_signature
      Src: /src/glib/gio/gdbusmessage.c:1184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - message
    - body
    argTypes:
    - GDBusMessage*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1187
    functionName: g_dbus_message_set_body
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_get_type_string
    - g_free
    - g_assert
    - g_strndup
    - g_dbus_message_set_signature
    - g_variant_unref
    - G_IS_DBUS_MESSAGE
    - g_warning
    - g_variant_ref_sink
    - g_variant_is_of_type
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_body (GDBusMessage *message, GVariant *body) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gdbusmessage.c:3551,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusmessage.c:3552,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusmessage.c:3562,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusmessage.c:3560,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gio/gdbusmessage.c:3558,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3564,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusmessage.c:3568,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gdbusmessage.c:3569,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusmessage.c:3570,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - flags_type
    - value
    argTypes:
    - GType
    - guint
    constantsTouched: []
    func_position:
      end: 3571
      start: 3544
    functionDepth: 0
    functionLinenumber: 3544
    functionLinenumberEnd: 3571
    functionName: flags_to_string
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_string_append_printf
    - g_flags_get_first_value
    - g_string_append_c
    - g_type_class_unref
    - g_string_free
    - g_type_class_ref
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *flags_to_string (GType flags_type, guint value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:240,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:251,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:244,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:254,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:255,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: va_start
      Src: /src/glib/gio/gdbusmessage.c:757,1
    - Dst: va_end
      Src: /src/glib/gio/gdbusmessage.c:762,1
    - Dst: g_dbus_message_new_method_error_valist
      Src: /src/glib/gio/gdbusmessage.c:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - method_call_message
    - error_name
    - error_message_format
    - '...'
    argTypes:
    - GDBusMessage*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 765
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 765
    functionName: g_dbus_message_new_method_error
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - va_end
    - g_dbus_message_new_method_error_valist
    - va_start
    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_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1135,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3483,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3483,1
    - Dst: g_dbus_message_get_error_name
      Src: /src/glib/gio/gdbusmessage.c:3489,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3496,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusmessage.c:3494,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmessage.c:3496,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmessage.c:3499,1
    - Dst: g_dbus_error_set_dbus_error
      Src: /src/glib/gio/gdbusmessage.c:3500,1
    - Dst: g_dbus_error_set_dbus_error
      Src: /src/glib/gio/gdbusmessage.c:3510,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3513,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:3514,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3521,1
    - Dst: g_dbus_error_set_dbus_error
      Src: /src/glib/gio/gdbusmessage.c:3518,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:3530,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - message
    - error
    argTypes:
    - GDBusMessage*
    - GError**
    constantsTouched: []
    func_position:
      end: 3540
      start: 3476
    functionDepth: 0
    functionLinenumber: 3476
    functionLinenumberEnd: 3540
    functionName: g_dbus_message_to_gerror
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_VARIANT_TYPE
    - g_variant_get_type_string
    - _
    - g_dbus_message_get_error_name
    - G_IS_DBUS_MESSAGE
    - g_dbus_error_set_dbus_error
    - g_dbus_message_get_body
    - g_variant_get
    - g_return_val_if_fail
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_message_to_gerror (GDBusMessage *message, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:716,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:716,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:718,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusmessage.c:717,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:717,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmessage.c:718,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:720,1
    - Dst: g_dbus_message_set_reply_serial
      Src: /src/glib/gio/gdbusmessage.c:726,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmessage.c:726,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusmessage.c:727,1
    - Dst: g_dbus_message_set_destination
      Src: /src/glib/gio/gdbusmessage.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - method_call_message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 732
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 732
    functionName: g_dbus_message_new_method_reply
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_message_type
    - g_dbus_message_set_reply_serial
    - G_IS_DBUS_MESSAGE
    - g_dbus_message_get_serial
    - g_dbus_message_set_destination
    - g_dbus_message_get_sender
    - g_dbus_message_new
    - g_return_val_if_fail
    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:1214,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1216
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - padding_size
    argTypes:
    - GMemoryBuffer*
    - gsize
    constantsTouched: []
    func_position:
      end: 1430
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1430
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusmessage.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:788,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:789,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusmessage.c:789,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:788,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:790,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmessage.c:790,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:791,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmessage.c:791,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:792,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:794,1
    - Dst: g_dbus_message_set_reply_serial
      Src: /src/glib/gio/gdbusmessage.c:800,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusmessage.c:802,1
    - Dst: g_dbus_message_set_error_name
      Src: /src/glib/gio/gdbusmessage.c:801,1
    - Dst: g_dbus_message_set_destination
      Src: /src/glib/gio/gdbusmessage.c:806,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusmessage.c:802,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusmessage.c:804,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmessage.c:800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - method_call_message
    - error_name
    - error_message
    argTypes:
    - GDBusMessage*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 809
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 809
    functionName: g_dbus_message_new_method_error_literal
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_message_type
    - g_dbus_message_set_reply_serial
    - G_IS_DBUS_MESSAGE
    - g_dbus_message_get_serial
    - g_dbus_message_set_destination
    - g_dbus_is_name
    - g_dbus_message_get_sender
    - g_dbus_message_set_body
    - g_variant_new
    - g_dbus_message_set_error_name
    - g_dbus_message_new
    - g_return_val_if_fail
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1317,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1323,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1336,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1339,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1320,1
    - Dst: g_dbus_is_error_name
      Src: /src/glib/gio/gdbusmessage.c:1352,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1374,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmessage.c:1378,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusmessage.c:1386,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1388,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusmessage.c:1394,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusmessage.c:1394,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1294,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1305,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1302,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1294,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmessage.c:1318,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1334,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1351,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1356,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1359,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:1369,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1380,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1391,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1295,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:1312,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:1347,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:1331,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:1352,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1354,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:1368,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1372,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:1378,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusmessage.c:1386,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmessage.c:1375,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1383,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:1311,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1315,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:1348,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:1318,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:1367,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:1375,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1377,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1396,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1399,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:1413,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 105
    argCount: 2
    argNames:
    - message
    - error
    argTypes:
    - GDBusMessage*
    - GError**
    constantsTouched: []
    func_position:
      end: 1415
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1415
    functionName: validate_headers
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - _
    - g_dbus_is_member_name
    - g_strcmp0
    - g_assert
    - G_IS_DBUS_MESSAGE
    - g_dbus_message_get_interface
    - g_dbus_is_interface_name
    - g_dbus_message_get_header
    - g_variant_get_string
    - g_set_error_literal
    - g_return_val_if_fail
    - g_dbus_is_error_name
    - g_variant_is_of_type
    - g_dbus_message_get_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_headers (GDBusMessage *message, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:547,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusmessage.c:552,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusmessage.c:556,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/gdbusmessage.c:552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 559
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 559
    functionName: g_dbus_message_get_property
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_locked
    - G_DBUS_MESSAGE
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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_hash_table_new_full
      Src: /src/glib/gio/gdbusmessage.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 608
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 608
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmessage.c:566,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdbusmessage.c:579,1
    - Dst: P_
      Src: /src/glib/gio/gdbusmessage.c:581,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusmessage.c:577,1
    - Dst: P_
      Src: /src/glib/gio/gdbusmessage.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusMessageClass*
    constantsTouched: []
    func_position:
      end: 587
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 587
    functionName: g_dbus_message_class_init
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_boolean
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_message_class_init (GDBusMessageClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3137,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3137,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3139
      start: 3134
    functionDepth: 0
    functionLinenumber: 3134
    functionLinenumberEnd: 3139
    functionName: g_dbus_message_get_interface
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - get_string_header
    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:870,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:870,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - message
    - byte_order
    argTypes:
    - GDBusMessage*
    - GDBusMessageByteOrder
    constantsTouched: []
    func_position:
      end: 879
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 879
    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:3771,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3773
      start: 3768
    functionDepth: 0
    functionLinenumber: 3768
    functionLinenumberEnd: 3773
    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: 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3174,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3175,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3176
      start: 3171
    functionDepth: 0
    functionLinenumber: 3171
    functionLinenumberEnd: 3176
    functionName: g_dbus_message_get_member
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - get_string_header
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_member (GDBusMessage *message) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1241,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1242,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1241,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusmessage.c:1242,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:1246,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmessage.c:1251,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmessage.c:1254,1
    - Dst: g_dbus_message_set_num_unix_fds
      Src: /src/glib/gio/gdbusmessage.c:1255,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdbusmessage.c:1255,1
    - Dst: g_dbus_message_set_num_unix_fds
      Src: /src/glib/gio/gdbusmessage.c:1260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - message
    - fd_list
    argTypes:
    - GDBusMessage*
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1262
    functionName: g_dbus_message_set_unix_fd_list
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_get_length
    - g_object_ref
    - G_IS_UNIX_FD_LIST
    - G_IS_DBUS_MESSAGE
    - g_object_unref
    - g_dbus_message_set_num_unix_fds
    - g_warning
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_unix_fd_list (GDBusMessage *message, GUnixFDList
      *fd_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3154,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmessage.c:3155,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3156,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3155,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3157
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3157
    functionName: g_dbus_message_set_interface
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_string_header
    - G_IS_DBUS_MESSAGE
    - g_dbus_is_interface_name
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_interface (GDBusMessage *message, const gchar
      *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: 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:
    - memset
    - g_realloc
    linkageType: ''
    returnType: void
    signature: 'static void array_resize (GMemoryBuffer *mbuf, gsize size) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusmessage.c:1273,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1286
    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_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:3061,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdbusmessage.c:3063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - gchar*
    constantsTouched: []
    func_position:
      end: 3064
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3064
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:110,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:114,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:125,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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_nearest_pow
      Src: /src/glib/gio/gdbusmessage.c:307,1
    - Dst: MAX
      Src: /src/glib/gio/gdbusmessage.c:314,1
    - Dst: array_resize
      Src: /src/glib/gio/gdbusmessage.c:315,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:
    - MAX
    - g_nearest_pow
    - memcpy
    - array_resize
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_buffer_write (GMemoryBuffer *mbuf, const
      void *buffer, gsize count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:3071,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/gdbusmessage.c:3073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - gchar*
    constantsTouched: []
    func_position:
      end: 3074
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3074
    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_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3211,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3211,1
    - Dst: get_object_path_header
      Src: /src/glib/gio/gdbusmessage.c:3212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3213
      start: 3208
    functionDepth: 0
    functionLinenumber: 3208
    functionLinenumberEnd: 3213
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:3007,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3009,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:3007,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3008,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - message
    - header_field
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    constantsTouched: []
    func_position:
      end: 3012
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3012
    functionName: get_string_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_get_string
    - g_variant_is_of_type
    - g_hash_table_lookup
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_string_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3191,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3191,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmessage.c:3192,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3193,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3194
      start: 3187
    functionDepth: 0
    functionLinenumber: 3187
    functionLinenumberEnd: 3194
    functionName: g_dbus_message_set_member
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_string_header
    - g_dbus_is_member_name
    - 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_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:898,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 900
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1444,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusmessage.c:1458,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gdbusmessage.c:1447,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1459,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1462,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:1464,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gdbusmessage.c:1472,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusmessage.c:1477,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1478,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:1486,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1481,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - mbuf
    - len
    - error
    argTypes:
    - GMemoryBuffer*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1491
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1491
    functionName: read_string
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_strndup
    - g_dngettext
    - g_utf8_validate
    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:989,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 991
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 991
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1504,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gdbusmessage.c:1507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - mbuf
    - len
    - error
    argTypes:
    - GMemoryBuffer*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1520
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1520
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:3022,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3024,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:3022,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3023,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - message
    - header_field
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    constantsTouched: []
    func_position:
      end: 3027
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3027
    functionName: get_object_path_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_get_string
    - g_variant_is_of_type
    - g_hash_table_lookup
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_object_path_header (GDBusMessage *message,
      GDBusMessageHeaderField header_field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:962,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:963,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:962,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - message
    - flags
    argTypes:
    - GDBusMessage*
    - GDBusMessageFlags
    constantsTouched: []
    func_position:
      end: 972
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 972
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3786,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3786,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusmessage.c:3792,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusmessage.c:3792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3796
      start: 3783
    functionDepth: 0
    functionLinenumber: 3783
    functionLinenumberEnd: 3796
    functionName: g_dbus_message_lock
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_lock (GDBusMessage *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:136,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:151,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
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:646,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmessage.c:646,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:647,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:648,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:647,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmessage.c:648,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:649,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmessage.c:649,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:651,1
    - Dst: g_dbus_message_set_destination
      Src: /src/glib/gio/gdbusmessage.c:655,1
    - Dst: g_dbus_message_set_path
      Src: /src/glib/gio/gdbusmessage.c:656,1
    - Dst: g_dbus_message_set_interface
      Src: /src/glib/gio/gdbusmessage.c:659,1
    - Dst: g_dbus_message_set_member
      Src: /src/glib/gio/gdbusmessage.c:657,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - name
    - path
    - interface_
    - method
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 662
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 662
    functionName: g_dbus_message_new_method_call
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_message_set_interface
    - g_dbus_is_member_name
    - g_variant_is_object_path
    - g_dbus_message_set_path
    - g_dbus_message_set_member
    - g_dbus_is_interface_name
    - g_dbus_message_set_destination
    - g_dbus_is_name
    - g_dbus_message_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_method_call (const gchar *name, const
      gchar *path, const gchar *interface_, const gchar *method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:915,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:915,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:920,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - message
    - type
    argTypes:
    - GDBusMessage*
    - GDBusMessageType
    constantsTouched: []
    func_position:
      end: 925
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 925
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1099,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusmessage.c:1106,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1099,1
    - Dst: g_array_sized_new
      Src: /src/glib/gio/gdbusmessage.c:1102,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/gio/gdbusmessage.c:1101,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusmessage.c:1106,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gdbusmessage.c:1107,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:1110,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusmessage.c:1111,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gdbusmessage.c:1114,1
    - Dst: g_array_free
      Src: /src/glib/gio/gdbusmessage.c:1116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1117
    functionName: g_dbus_message_get_header_fields
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - g_assert
    - g_clear_pointer
    - g_ptr_array_index
    - G_IS_DBUS_MESSAGE
    - g_array_sized_new
    - g_array_append_val
    - g_array_free
    - g_hash_table_get_keys_as_ptr_array
    - g_return_val_if_fail
    linkageType: ''
    returnType: guchar*
    signature: 'guchar *g_dbus_message_get_header_fields (GDBusMessage *message) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:1585,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1593,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusmessage.c:1810,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:1936,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/gio/gdbusmessage.c:1940,1
    - Dst: g_variant_type_next
      Src: /src/glib/gio/gdbusmessage.c:1983,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2013,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2059,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusmessage.c:2075,1
    - Dst: g_variant_type_element
      Src: /src/glib/gio/gdbusmessage.c:1795,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1545,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gdbusmessage.c:1624,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gdbusmessage.c:1672,1
    - Dst: read_string
      Src: /src/glib/gio/gdbusmessage.c:1705,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusmessage.c:1892,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/gio/gdbusmessage.c:1898,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:1909,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbusmessage.c:1977,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gdbusmessage.c:2073,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:1836,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusmessage.c:1554,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1641,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusmessage.c:1834,1
    - Dst: g_variant_type_first
      Src: /src/glib/gio/gdbusmessage.c:1955,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusmessage.c:2089,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1570,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1633,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1681,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1784,1
    - Dst: g_variant_type_value
      Src: /src/glib/gio/gdbusmessage.c:1923,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2032,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusmessage.c:2043,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2057,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1574,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1605,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gdbusmessage.c:1676,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/gdbusmessage.c:1717,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:1726,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1805,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:1969,1
    - Dst: g_variant_type_string_get_depth_
      Src: /src/glib/gio/gdbusmessage.c:2021,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2037,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gdbusmessage.c:2075,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2082,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:1560,1
    - Dst: g_memory_buffer_read_int16
      Src: /src/glib/gio/gdbusmessage.c:1597,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1737,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:1732,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1710,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1746,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:1937,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1942,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2047,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gdbusmessage.c:2075,1
    - Dst: g_variant_new_fixed_array
      Src: /src/glib/gio/gdbusmessage.c:1830,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/gdbusmessage.c:1588,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1653,1
    - Dst: read_string
      Src: /src/glib/gio/gdbusmessage.c:1729,1
    - Dst: g_memory_buffer_read_int32
      Src: /src/glib/gio/gdbusmessage.c:1750,1
    - Dst: g_variant_type_key
      Src: /src/glib/gio/gdbusmessage.c:1914,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:1981,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:2008,1
    - Dst: g_variant_new_variant
      Src: /src/glib/gio/gdbusmessage.c:2046,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2054,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:1992,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1697,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gdbusmessage.c:1636,1
    - Dst: g_memory_buffer_read_int64
      Src: /src/glib/gio/gdbusmessage.c:1645,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:1915,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2094,1
    - Dst: read_string
      Src: /src/glib/gio/gdbusmessage.c:2005,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gdbusmessage.c:1577,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1617,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdbusmessage.c:1692,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1734,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/gio/gdbusmessage.c:2009,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:1850,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:1865,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gio/gdbusmessage.c:1600,1
    - Dst: g_memory_buffer_read_uint16
      Src: /src/glib/gio/gdbusmessage.c:1609,1
    - Dst: get_type_fixed_size
      Src: /src/glib/gio/gdbusmessage.c:1796,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:1877,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1905,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusmessage.c:1954,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2002,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2065,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusmessage.c:2101,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1818,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1665,1
    - Dst: g_variant_new_handle
      Src: /src/glib/gio/gdbusmessage.c:1753,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1959,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusmessage.c:2053,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:1856,1
    - Dst: g_variant_new_signature
      Src: /src/glib/gio/gdbusmessage.c:1741,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:1555,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gdbusmessage.c:1648,1
    - Dst: g_memory_buffer_read_uint64
      Src: /src/glib/gio/gdbusmessage.c:1657,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1686,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1758,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:1778,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gdbusmessage.c:1876,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:1924,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusmessage.c:1549,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1629,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gdbusmessage.c:1787,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:1708,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gdbusmessage.c:1980,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gdbusmessage.c:2098,1
    - Dst: read_string
      Src: /src/glib/gio/gdbusmessage.c:1689,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1542,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gio/gdbusmessage.c:1612,1
    - Dst: g_memory_buffer_read_int32
      Src: /src/glib/gio/gdbusmessage.c:1621,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusmessage.c:1845,1
    - Dst: read_bytes
      Src: /src/glib/gio/gdbusmessage.c:1826,1
    - Dst: g_memory_buffer_read_uint64
      Src: /src/glib/gio/gdbusmessage.c:1673,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1825,1
    - Dst: g_variant_new_dict_entry
      Src: /src/glib/gio/gdbusmessage.c:1935,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:1946,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2016,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:1832,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1821,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1713,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1808,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:1886,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:1932,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbusmessage.c:1958,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1962,1
    - Dst: g_variant_type_is_variant
      Src: /src/glib/gio/gdbusmessage.c:1988,1
    - Dst: g_variant_type_new
      Src: /src/glib/gio/gdbusmessage.c:2036,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbusmessage.c:1873,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1702,1
    - Dst: g_variant_byteswap
      Src: /src/glib/gio/gdbusmessage.c:1835,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gdbusmessage.c:1660,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1772,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusmessage.c:1985,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:2029,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbusmessage.c:2079,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2081,1
    CyclomaticComplexity: 145
    EdgeCount: 145
    ICount: 320
    argCount: 6
    argNames:
    - buf
    - type
    - max_depth
    - just_align
    - indent
    - error
    argTypes:
    - GMemoryBuffer*
    - GVariantType*
    - guint
    - gboolean
    - guint
    - GError**
    constantsTouched: []
    func_position:
      end: 2103
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 2103
    functionName: parse_value_from_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - _
    - read_string
    - g_memory_buffer_read_uint16
    - g_variant_new_int32
    - g_variant_type_element
    - g_memory_buffer_read_int32
    - g_memory_buffer_read_int16
    - g_propagate_error
    - g_variant_new_uint64
    - get_type_fixed_size
    - g_memory_buffer_is_byteswapped
    - g_variant_new_dict_entry
    - g_variant_byteswap
    - g_variant_type_string_is_valid
    - g_variant_type_free
    - g_variant_new_string
    - g_variant_new_uint16
    - g_variant_print
    - g_memory_buffer_read_uint64
    - g_variant_builder_clear
    - g_variant_builder_add_value
    - g_variant_new_int64
    - g_variant_type_next
    - g_variant_new_double
    - g_variant_take_ref
    - g_print
    - g_set_error_literal
    - g_variant_type_equal
    - g_variant_type_peek_string
    - g_variant_type_is_tuple
    - g_variant_is_object_path
    - g_variant_new_handle
    - g_variant_type_is_variant
    - g_variant_unref
    - g_quark_to_string
    - g_dngettext
    - g_variant_new_boolean
    - g_strdup_printf
    - g_variant_type_string_get_depth_
    - g_variant_builder_init
    - g_variant_type_key
    - g_variant_new_byte
    - g_variant_ref_sink
    - g_variant_new_int16
    - G_STATIC_ASSERT
    - parse_value_from_blob
    - g_set_error
    - g_variant_type_dup_string
    - g_variant_builder_end
    - g_variant_type_value
    - g_free
    - g_variant_type_is_dict_entry
    - g_variant_new_signature
    - g_assert
    - g_memory_buffer_read_byte
    - g_variant_new_uint32
    - g_variant_type_first
    - g_memory_buffer_read_int64
    - g_variant_new_variant
    - g_variant_is_signature
    - g_variant_new_fixed_array
    - g_variant_get_byte
    - g_variant_type_new
    - ensure_input_padding
    - g_variant_new_object_path
    - read_bytes
    - g_memory_buffer_read_uint32
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3453,1
    - Dst: set_uint32_header
      Src: /src/glib/gio/gdbusmessage.c:3454,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - guint32
    constantsTouched: []
    func_position:
      end: 3455
      start: 3449
    functionDepth: 0
    functionLinenumber: 3449
    functionLinenumberEnd: 3455
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:162,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
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:177,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:173,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
    - GUINT32_SWAP_LE_BE
    - g_return_val_if_fail
    - g_memory_buffer_is_byteswapped
    linkageType: ''
    returnType: gint32
    signature: 'static gint32 g_memory_buffer_read_int32 (GMemoryBuffer *mbuf, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:855,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 857
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 857
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3248,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3249,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3250
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3250
    functionName: g_dbus_message_get_sender
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - get_string_header
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_sender (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusmessage.c:834,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:838,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusmessage.c:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - method_call_message
    - error_name
    - error_message_format
    - var_args
    argTypes:
    - GDBusMessage*
    - gchar*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 840
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 840
    functionName: g_dbus_message_new_method_error_valist
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_error_literal
    - g_free
    - g_strdup_vprintf
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1062,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1062,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1063,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:1067,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmessage.c:1073,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:1073,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmessage.c:1077,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:1077,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusmessage.c:1077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1079
    functionName: g_dbus_message_set_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_MESSAGE
    - g_hash_table_remove
    - GUINT_TO_POINTER
    - g_warning
    - g_hash_table_insert
    - g_variant_ref_sink
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3228,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:3229,1
    - Dst: set_object_path_header
      Src: /src/glib/gio/gdbusmessage.c:3230,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3228,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3231
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3231
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3436,1
    - Dst: get_uint32_header
      Src: /src/glib/gio/gdbusmessage.c:3437,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3438
      start: 3433
    functionDepth: 0
    functionLinenumber: 3433
    functionLinenumberEnd: 3438
    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: 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:
    - GUINT32_TO_LE
    - GUINT32_TO_BE
    - g_memory_buffer_write
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_uint32 (GMemoryBuffer *mbuf,\t\t\t
      guint32 data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mbuf
    - padding_size
    argTypes:
    - GMemoryBuffer*
    - gsize
    constantsTouched: []
    func_position:
      end: 2419
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2419
    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: 44
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2451,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2483,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/gdbusmessage.c:2495,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gdbusmessage.c:2517,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:2533,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:2646,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2535,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2439,1
    - Dst: g_memory_buffer_put_uint16
      Src: /src/glib/gio/gdbusmessage.c:2469,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/gdbusmessage.c:2518,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2567,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2681,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2685,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2693,1
    - Dst: g_memory_buffer_put_string
      Src: /src/glib/gio/gdbusmessage.c:2715,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:2735,1
    - Dst: g_variant_get_data
      Src: /src/glib/gio/gdbusmessage.c:2634,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2443,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2501,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2547,1
    - Dst: g_memory_buffer_put_int32
      Src: /src/glib/gio/gdbusmessage.c:2571,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2631,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2717,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:2546,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusmessage.c:2432,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gdbusmessage.c:2450,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2586,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2635,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2550,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2560,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2654,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2702,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gdbusmessage.c:2611,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2651,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2456,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/gio/gdbusmessage.c:2468,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2487,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2524,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gdbusmessage.c:2534,1
    - Dst: g_variant_type_element
      Src: /src/glib/gio/gdbusmessage.c:2608,1
    - Dst: g_memory_buffer_put_string
      Src: /src/glib/gio/gdbusmessage.c:2561,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:2713,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2731,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbusmessage.c:2642,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gdbusmessage.c:2442,1
    - Dst: g_memory_buffer_put_int16
      Src: /src/glib/gio/gdbusmessage.c:2460,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2537,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/gio/gdbusmessage.c:2674,1
    - Dst: g_variant_get_handle
      Src: /src/glib/gio/gdbusmessage.c:2570,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2699,1
    - Dst: g_variant_type_first
      Src: /src/glib/gio/gdbusmessage.c:2676,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2474,1
    - Dst: g_memory_buffer_put_uint64
      Src: /src/glib/gio/gdbusmessage.c:2505,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:2559,1
    - Dst: g_memory_buffer_put_int32
      Src: /src/glib/gio/gdbusmessage.c:2478,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2614,1
    - Dst: g_variant_byteswap
      Src: /src/glib/gio/gdbusmessage.c:2627,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2667,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:2694,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gdbusmessage.c:2486,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2591,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbusmessage.c:2691,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:2634,1
    - Dst: g_variant_get_int16
      Src: /src/glib/gio/gdbusmessage.c:2459,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2559,1
    - Dst: g_variant_get_size
      Src: /src/glib/gio/gdbusmessage.c:2633,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/gio/gdbusmessage.c:2674,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmessage.c:2690,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2714,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2716,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2726,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:2718,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2492,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/gdbusmessage.c:2504,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:2558,1
    - Dst: g_variant_type_is_variant
      Src: /src/glib/gio/gdbusmessage.c:2706,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2723,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2465,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/gdbusmessage.c:2477,1
    - Dst: g_memory_buffer_put_int64
      Src: /src/glib/gio/gdbusmessage.c:2496,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2548,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2645,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2562,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:2626,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2542,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2534,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2510,1
    - Dst: g_memory_buffer_put_uint64
      Src: /src/glib/gio/gdbusmessage.c:2519,1
    - Dst: g_memory_buffer_put_string
      Src: /src/glib/gio/gdbusmessage.c:2549,1
    - Dst: get_type_fixed_size
      Src: /src/glib/gio/gdbusmessage.c:2609,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:2678,1
    - Dst: g_memory_buffer_put_string
      Src: /src/glib/gio/gdbusmessage.c:2536,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmessage.c:2641,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gdbusmessage.c:2712,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusmessage.c:2714,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmessage.c:2629,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:2547,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2734,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: 2748
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2748
    functionName: append_value_to_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - _
    - g_variant_get_boolean
    - g_memory_buffer_put_int32
    - g_memory_buffer_put_string
    - g_variant_get_child_value
    - g_variant_get_int16
    - g_variant_type_element
    - g_memory_buffer_put_int64
    - g_variant_ref
    - get_type_fixed_size
    - g_variant_get_uint64
    - g_memory_buffer_is_byteswapped
    - append_value_to_blob
    - g_utf8_validate
    - g_variant_byteswap
    - strlen
    - g_variant_get_type_string
    - g_variant_get_double
    - ensure_output_padding
    - g_memory_buffer_put_uint16
    - g_variant_get_string
    - g_set_error_literal
    - g_variant_get_data
    - g_variant_type_peek_string
    - g_variant_type_is_tuple
    - g_variant_is_object_path
    - g_variant_iter_init
    - g_variant_type_is_variant
    - g_variant_unref
    - g_memory_buffer_write
    - g_variant_get_type
    - g_variant_get_handle
    - G_STATIC_ASSERT
    - g_variant_get_int64
    - g_variant_get_size
    - g_set_error
    - g_memory_buffer_put_int16
    - g_variant_get_int32
    - g_variant_type_is_dict_entry
    - g_memory_buffer_put_byte
    - g_assert
    - g_variant_get_uint16
    - g_memory_buffer_put_uint64
    - g_variant_n_children
    - g_variant_type_first
    - g_memory_buffer_put_uint32
    - g_variant_is_signature
    - g_variant_get_uint32
    - g_variant_get_byte
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean append_value_to_blob (GVariant *value, const GVariantType
      *type, GMemoryBuffer *mbuf, gsize *out_padding_added, GError **error) '
  - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:526,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmessage.c:534,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmessage.c:537,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmessage.c:529,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:531,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmessage.c:538,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 539
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 539
    functionName: g_dbus_message_finalize
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - G_DBUS_MESSAGE
    - g_hash_table_unref
    - g_variant_unref
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_message_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:2758,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2760,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbusmessage.c:2768,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmessage.c:2767,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2770,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:2771,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2776,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2779,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - value
    - mbuf
    - error
    argTypes:
    - GVariant*
    - GMemoryBuffer*
    - GError**
    constantsTouched: []
    func_position:
      end: 2785
      start: 2750
    functionDepth: 0
    functionLinenumber: 2750
    functionLinenumberEnd: 2785
    functionName: append_body_to_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_iter_next_value
    - g_variant_iter_init
    - g_variant_unref
    - g_variant_get_type
    - g_variant_is_of_type
    - append_value_to_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean append_body_to_blob (GVariant *value, GMemoryBuffer
      *mbuf, GError **error) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2253,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2258,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2278,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:2268,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2304,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:2308,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:2314,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:2316,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2319,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2331,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2388,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusmessage.c:2338,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2353,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:2218,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:2265,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2273,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2261,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmessage.c:2286,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmessage.c:2293,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmessage.c:2298,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:2302,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2303,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:2340,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2374,1
    - Dst: memset
      Src: /src/glib/gio/gdbusmessage.c:2220,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2216,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2239,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2250,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2283,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2277,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbusmessage.c:2294,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2306,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2348,1
    - Dst: g_variant_type_new
      Src: /src/glib/gio/gdbusmessage.c:2352,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2355,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusmessage.c:2388,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusmessage.c:2396,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2346,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2343,1
    - Dst: validate_headers
      Src: /src/glib/gio/gdbusmessage.c:2386,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2215,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2224,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2242,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2247,1
    - Dst: _g_dbus_hexdump
      Src: /src/glib/gio/gdbusmessage.c:2276,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2285,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:2323,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2328,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gdbusmessage.c:2377,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusmessage.c:2363,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2357,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/gio/gdbusmessage.c:2341,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusmessage.c:2395,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 108
    argCount: 4
    argNames:
    - blob
    - blob_len
    - capabilities
    - error
    argTypes:
    - guchar*
    - gsize
    - GDBusCapabilityFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 2398
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2398
    functionName: g_dbus_message_new_from_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - _
    - g_propagate_error
    - g_return_val_if_fail
    - g_variant_type_string_is_valid
    - g_variant_type_free
    - validate_headers
    - memset
    - g_print
    - _g_dbus_hexdump
    - g_set_error_literal
    - g_variant_get_string
    - g_variant_iter_init
    - g_variant_unref
    - g_dngettext
    - g_variant_get
    - g_strdup_printf
    - g_prefix_error
    - parse_value_from_blob
    - g_set_error
    - G_VARIANT_TYPE
    - g_free
    - g_memory_buffer_read_byte
    - g_clear_object
    - g_variant_is_signature
    - g_dbus_message_get_header
    - g_dbus_message_set_header
    - g_dbus_message_new
    - g_variant_type_new
    - g_variant_is_of_type
    - g_memory_buffer_read_uint32
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_from_blob (guchar *blob, gsize blob_len,
      GDBusCapabilityFlags capabilities, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:188,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:202,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:192,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:203,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:199,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
    - GUINT32_SWAP_LE_BE
    - g_return_val_if_fail
    - g_memory_buffer_is_byteswapped
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 g_memory_buffer_read_uint32 (GMemoryBuffer *mbuf, GError
      **error) '
  - 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:
    - GUINT64_TO_BE
    - GUINT64_TO_LE
    - g_memory_buffer_write
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_uint64 (GMemoryBuffer *mbuf,\t\t\t
      guint64 data) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2832,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2851,1
    - Dst: g_dbus_message_get_num_unix_fds
      Src: /src/glib/gio/gdbusmessage.c:2865,1
    - Dst: validate_headers
      Src: /src/glib/gio/gdbusmessage.c:2877,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusmessage.c:2879,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmessage.c:2883,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:2895,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2900,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:2914,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2917,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2929,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusmessage.c:2936,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2939,1
    - Dst: memset
      Src: /src/glib/gio/gdbusmessage.c:2835,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2833,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdbusmessage.c:2837,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2871,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2858,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusmessage.c:2885,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2903,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:2912,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:2943,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2944,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:2933,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2831,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2854,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2857,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusmessage.c:2892,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2906,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2932,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusmessage.c:2937,1
    - Dst: append_body_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2948,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2958,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:2937,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2942,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:2923,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2894,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:2910,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:2831,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2852,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2853,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2879,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2868,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdbusmessage.c:2863,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusmessage.c:2883,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusmessage.c:2884,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusmessage.c:2887,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusmessage.c:2889,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2970,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2977,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2947,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusmessage.c:2953,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2955,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 108
    argCount: 4
    argNames:
    - message
    - out_size
    - capabilities
    - error
    argTypes:
    - GDBusMessage*
    - gsize*
    - GDBusCapabilityFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 2980
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2980
    functionName: g_dbus_message_to_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - _
    - GPOINTER_TO_UINT
    - g_hash_table_iter_next
    - g_dbus_message_get_num_unix_fds
    - g_return_val_if_fail
    - append_value_to_blob
    - strlen
    - g_variant_get_type_string
    - validate_headers
    - g_strcmp0
    - G_IS_DBUS_MESSAGE
    - g_variant_builder_add
    - memset
    - ensure_output_padding
    - g_set_error_literal
    - g_variant_get_string
    - g_variant_unref
    - append_body_to_blob
    - g_hash_table_iter_init
    - g_variant_get_type
    - g_strdup_printf
    - g_prefix_error
    - g_variant_builder_init
    - g_malloc
    - g_set_error
    - g_unix_fd_list_get_length
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - g_free
    - g_memory_buffer_put_byte
    - g_memory_buffer_put_uint32
    - g_dbus_message_get_header
    - g_variant_is_of_type
    linkageType: ''
    returnType: guchar*
    signature: 'guchar *g_dbus_message_to_blob (GDBusMessage *message, gsize *out_size,
      GDBusCapabilityFlags capabilities, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3265,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmessage.c:3266,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3265,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3267,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3268
      start: 3261
    functionDepth: 0
    functionLinenumber: 3261
    functionLinenumberEnd: 3268
    functionName: g_dbus_message_set_sender
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_string_header
    - g_dbus_is_name
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_sender (GDBusMessage *message, const gchar
      *value) '
  - 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: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:461,1
    - Dst: strlen
      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:
    - strlen
    - g_return_val_if_fail
    - g_memory_buffer_write
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_string (GMemoryBuffer *mbuf,\t\t\t
      const char *str) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2133,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gdbusmessage.c:2144,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gdbusmessage.c:2140,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2135,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2134,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/gdbusmessage.c:2149,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/gdbusmessage.c:2153,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2157,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - blob
    - blob_len
    - error
    argTypes:
    - guchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 2173
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2173
    functionName: g_dbus_message_bytes_needed
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GUINT32_FROM_BE
    - g_return_val_if_fail
    - GUINT32_FROM_LE
    - g_set_error
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_dbus_message_bytes_needed (guchar *blob, gsize blob_len,
      GError **error) '
  - 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:
    - GUINT16_TO_BE
    - GUINT16_TO_LE
    - g_memory_buffer_write
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_uint16 (GMemoryBuffer *mbuf,\t\t\t
      guint16 data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:944,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 946
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 946
    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: 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:
    - GINT16_TO_BE
    - g_memory_buffer_write
    - GINT16_TO_LE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_int16 (GMemoryBuffer *mbuf,\t\t\t
      gint16 data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GINT32_TO_BE
      Src: /src/glib/gio/gdbusmessage.c:382,1
    - Dst: GINT32_TO_LE
      Src: /src/glib/gio/gdbusmessage.c:385,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:392,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_LE
    - g_memory_buffer_write
    - GINT32_TO_BE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_int32 (GMemoryBuffer *mbuf,\t\t\t
      gint32 data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3362,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3362,1
    - Dst: get_signature_header
      Src: /src/glib/gio/gdbusmessage.c:3363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3367
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3367
    functionName: g_dbus_message_get_signature
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - get_signature_header
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_signature (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:683,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmessage.c:684,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:685,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:683,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:684,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmessage.c:685,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:687,1
    - Dst: g_dbus_message_set_path
      Src: /src/glib/gio/gdbusmessage.c:691,1
    - Dst: g_dbus_message_set_member
      Src: /src/glib/gio/gdbusmessage.c:692,1
    - Dst: g_dbus_message_set_interface
      Src: /src/glib/gio/gdbusmessage.c:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - path
    - interface_
    - signal
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 696
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 696
    functionName: g_dbus_message_new_signal
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_message_set_interface
    - g_dbus_is_member_name
    - g_variant_is_object_path
    - g_dbus_message_set_path
    - g_dbus_message_set_member
    - g_dbus_is_interface_name
    - g_dbus_message_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_signal (const gchar *path, const
      gchar *interface_, const gchar *signal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3339,1
    - Dst: g_dbus_is_error_name
      Src: /src/glib/gio/gdbusmessage.c:3340,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3339,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3341,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3342
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3342
    functionName: g_dbus_message_set_error_name
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_string_header
    - G_IS_DBUS_MESSAGE
    - g_dbus_is_error_name
    - 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_object_ref
      Src: /src/glib/gio/gpowerprofilemonitor.c:99,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gpowerprofilemonitor.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    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_get
      Src: /src/glib/gio/gpowerprofilemonitor.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GPowerProfileMonitor*
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gpowerprofilemonitor.c:136,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpowerprofilemonitor.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPowerProfileMonitorInterface*
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: g_power_profile_monitor_default_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitor.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_interface_install_property
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_default_init (GPowerProfileMonitorInterface
      *iface) '
  - 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:52,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:53,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32sid.c:56,1
    - Dst: GetLengthSid
      Src: /src/glib/gio/gwin32sid.c:55,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_steal_pointer
      Src: /src/glib/gio/gwin32sid.c:69,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32sid.c:68,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_malloc
    - g_free
    - g_steal_pointer
    - GetLastError
    - g_set_error_literal
    - g_return_val_if_fail
    - GetLengthSid
    - g_io_error_from_errno
    - CopySid
    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:196,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:201,1
    - Dst: ConvertSidToStringSidA
      Src: /src/glib/gio/gwin32sid.c:199,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32sid.c:201,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:197,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32sid.c:201,1
    - Dst: g_strdup
      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: 2
    argNames:
    - sid
    - error
    argTypes:
    - SID*
    - GError**
    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_strdup
    - ConvertSidToStringSidA
    - GetLastError
    - g_set_error_literal
    - g_return_val_if_fail
    - g_io_error_from_errno
    - LocalFree
    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_win32_process_get_access_token_sid
      Src: /src/glib/gio/gwin32sid.c:228,1
    - Dst: _g_win32_sid_to_string
      Src: /src/glib/gio/gwin32sid.c:232,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32sid.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    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_sid_to_string
    - g_return_val_if_fail
    - g_free
    - _g_win32_process_get_access_token_sid
    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:150,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: GetCurrentProcess
      Src: /src/glib/gio/gwin32sid.c:153,1
    - Dst: g_set_error
      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: CloseHandle
      Src: /src/glib/gio/gwin32sid.c:170,1
    - Dst: _g_win32_token_get_sid
      Src: /src/glib/gio/gwin32sid.c:174,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32sid.c:177,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32sid.c:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - process_id
    - error
    argTypes:
    - DWORD
    - GError**
    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
    - OpenProcess
    - OpenProcessToken
    - CloseHandle
    - _g_win32_token_get_sid
    - GetCurrentProcess
    - GetLastError
    - g_set_error_literal
    - g_return_val_if_fail
    - g_io_error_from_errno
    linkageType: ''
    returnType: SID*
    signature: 'SID *_g_win32_process_get_access_token_sid (DWORD process_id, 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: GetTokenInformation
      Src: /src/glib/gio/gwin32sid.c:96,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:99,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32sid.c:99,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: GetLastError
      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: GetLastError
      Src: /src/glib/gio/gwin32sid.c:119,1
    - Dst: _g_win32_sid_replace
      Src: /src/glib/gio/gwin32sid.c:125,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - token
    - error
    argTypes:
    - HANDLE
    - GError**
    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:
    - IsValidSid
    - GetTokenInformation
    - _g_win32_sid_replace
    - GetLastError
    - g_alloca
    - g_set_error_literal
    - g_return_val_if_fail
    - g_io_error_from_errno
    linkageType: ''
    returnType: SID*
    signature: 'static SID *_g_win32_token_get_sid (HANDLE token, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetLogicalDrives
      Src: /src/glib/gio/gwin32volumemonitor.c:64,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gwin32volumemonitor.c:86,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gwin32volumemonitor.c:92,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gwin32volumemonitor.c:72,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gwin32volumemonitor.c:77,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
    - GetLogicalDrives
    - RegQueryValueExW
    - RegOpenKeyExW
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 get_viewable_logical_drives (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    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: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32volumemonitor.c:178,1
    - Dst: QueryDosDeviceW
      Src: /src/glib/gio/gwin32volumemonitor.c:176,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32volumemonitor.c:172,1
    - Dst: g_print
      Src: /src/glib/gio/gwin32volumemonitor.c:179,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: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    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:
    - FindVolumeClose
    - g_free
    - FindFirstVolumeW
    - wcslen
    - g_print
    - QueryDosDeviceW
    - FindNextVolumeW
    - 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: 2
    argNames:
    - volume_monitor
    - uuid
    argTypes:
    - GVolumeMonitor*
    - char*
    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: 2
    argNames:
    - mount_path
    - cancellable
    argTypes:
    - char*
    - GCancellable*
    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: 2
    argNames:
    - volume_monitor
    - uuid
    argTypes:
    - GVolumeMonitor*
    - char*
    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_VOLUME_MONITOR_CLASS
    - G_NATIVE_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_signal_connect
      Src: /src/glib/gio/gwin32volumemonitor.c:249,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gwin32volumemonitor.c:246,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gwin32volumemonitor.c:250,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:
    - g_signal_connect
    - update_mounts
    - G_CALLBACK
    - update_volumes
    - g_win32_mount_monitor_new
    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_queue_push_tail
      Src: /src/glib/gio/gwin32volumemonitor.c:125,1
    - Dst: _g_win32_mount_new
      Src: /src/glib/gio/gwin32volumemonitor.c:125,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32volumemonitor.c:131,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32volumemonitor.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    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_win32_mount_new
    - g_warning
    - get_viewable_logical_drives
    - g_steal_pointer
    - g_queue_push_tail
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_mounts (GVolumeMonitor *volume_monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gthreadedsocketservice.c:97,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gthreadedsocketservice.c:103,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gthreadedsocketservice.c:100,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gthreadedsocketservice.c:102,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/gthreadedsocketservice.c:102,1
    - Dst: g_threaded_socket_service_data_free
      Src: /src/glib/gio/gthreadedsocketservice.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - job_data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: g_threaded_socket_service_func
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - G_UNLOCK
    - G_SOCKET_SERVICE
    - g_signal_emit
    - g_threaded_socket_service_data_free
    - g_socket_service_start
    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_get_instance_private
      Src: /src/glib/gio/gthreadedsocketservice.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GThreadedSocketService*
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_SOCKET_SERVICE
      Src: /src/glib/gio/gthreadedsocketservice.c:164,1
    - Dst: g_thread_pool_free
      Src: /src/glib/gio/gthreadedsocketservice.c:168,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gthreadedsocketservice.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: g_threaded_socket_service_finalize
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - G_THREADED_SOCKET_SERVICE
    - G_OBJECT_CLASS
    - g_thread_pool_free
    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:199,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gthreadedsocketservice.c:204,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gthreadedsocketservice.c:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: g_threaded_socket_service_set_property
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_THREADED_SOCKET_SERVICE
    - g_value_get_int
    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_object_new
      Src: /src/glib/gio/gthreadedsocketservice.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - max_threads
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    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:
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedsocketservice.c:84,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedsocketservice.c:86,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gthreadedsocketservice.c:87,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedsocketservice.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - GThreadedSocketServiceData*
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    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:150,1
    - Dst: g_thread_pool_new
      Src: /src/glib/gio/gthreadedsocketservice.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    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:117,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedsocketservice.c:121,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedsocketservice.c:120,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedsocketservice.c:122,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gthreadedsocketservice.c:119,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gthreadedsocketservice.c:124,1
    - Dst: g_socket_service_stop
      Src: /src/glib/gio/gthreadedsocketservice.c:126,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gthreadedsocketservice.c:127,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gthreadedsocketservice.c:129,1
    - Dst: g_warning
      Src: /src/glib/gio/gthreadedsocketservice.c:131,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gthreadedsocketservice.c:135,1
    - Dst: g_threaded_socket_service_data_free
      Src: /src/glib/gio/gthreadedsocketservice.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - service
    - connection
    - source_object
    argTypes:
    - GSocketService*
    - GSocketConnection*
    - GObject*
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: g_threaded_socket_service_incoming
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_slice_new0
    - G_LOCK
    - g_thread_pool_push
    - G_UNLOCK
    - g_warning
    - g_clear_error
    - G_THREADED_SOCKET_SERVICE
    - g_threaded_socket_service_data_free
    - g_socket_service_stop
    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:180,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gthreadedsocketservice.c:185,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gthreadedsocketservice.c:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: g_threaded_socket_service_get_property
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_THREADED_SOCKET_SERVICE
    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:216,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gthreadedsocketservice.c:240,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gthreadedsocketservice.c:241,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gthreadedsocketservice.c:240,1
    - Dst: I_
      Src: /src/glib/gio/gthreadedsocketservice.c:240,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gthreadedsocketservice.c:246,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gthreadedsocketservice.c:247,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gthreadedsocketservice.c:250,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gthreadedsocketservice.c:251,1
    - Dst: P_
      Src: /src/glib/gio/gthreadedsocketservice.c:252,1
    - Dst: P_
      Src: /src/glib/gio/gthreadedsocketservice.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - class
    argTypes:
    - GThreadedSocketServiceClass*
    constantsTouched: []
    func_position:
      end: 258
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 258
    functionName: g_threaded_socket_service_class_init
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_int
    - I_
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_socket_service_class_init (GThreadedSocketServiceClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsBackendInterface*
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    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:140,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:141,1
    - Dst: G_IS_DUMMY_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    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:184,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:184,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtlsbackend.c:190,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:187,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:193,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsbackend.c:194,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtlsbackend.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: g_tls_backend_get_default_database
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    - G_IS_TLS_BACKEND
    - g_object_ref
    - G_LOCK
    - G_UNLOCK
    - g_return_val_if_fail
    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:220,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtlsbackend.c:223,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:220,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsbackend.c:221,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsbackend.c:221,1
    - Dst: g_set_object
      Src: /src/glib/gio/gtlsbackend.c:224,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtlsbackend.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - backend
    - database
    argTypes:
    - GTlsBackend*
    - GTlsDatabase*
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: g_tls_backend_set_default_database
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_BACKEND
    - g_set_object
    - G_LOCK
    - G_UNLOCK
    - G_IS_TLS_DATABASE
    - g_return_if_fail
    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:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    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:295,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:297,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: g_tls_backend_get_dtls_client_connection_type
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    - G_IS_TLS_BACKEND
    - g_return_val_if_fail
    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:342,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:342,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:348,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: g_tls_backend_get_file_database_type
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    - G_IS_TLS_BACKEND
    - g_return_val_if_fail
    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:162,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    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
      Src: /src/glib/gio/gtlsbackend.c:112,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gtlsbackend.c:116,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gtlsbackend.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: g_tls_backend_get_default
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - _g_io_module_get_default
    - g_once_init_leave
    - g_once_init_enter
    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:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    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:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:320,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:320,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: g_tls_backend_get_dtls_server_connection_type
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    - G_IS_TLS_BACKEND
    - g_return_val_if_fail
    linkageType: ''
    returnType: GType
    signature: 'GType g_tls_backend_get_dtls_server_connection_type (GTlsBackend *backend) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:146,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32registrykey.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32registrykey.c:153,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gwin32registrykey.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - gunichar2*
    - gssize
    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:822,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:824,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32registrykey.c:826,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistrySubkeyIter*
    constantsTouched: []
    func_position:
      end: 827
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 827
    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:972,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:974,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:978,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:973,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: 990
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 990
    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:1074,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1076,1
    - Dst: RegQueryInfoKeyW
      Src: /src/glib/gio/gwin32registrykey.c:1078,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:1075,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1075,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:1085,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:1085,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:1087,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:1091,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1095,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - iter
    - key
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - GWin32RegistryKey*
    - GError**
    constantsTouched: []
    func_position:
      end: 1113
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1113
    functionName: g_win32_registry_value_iter_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_object_ref
    - G_IS_WIN32_REGISTRY_KEY
    - g_win32_registry_key_get_path_w
    - g_io_error_from_win32_error
    - RegQueryInfoKeyW
    - g_return_val_if_fail
    - g_malloc
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_value_iter_init (GWin32RegistryValueIter
      *iter, GWin32RegistryKey *key, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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:1453,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32registrykey.c:1464,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1457,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1452,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: 1477
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1477
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2172,1
    - Dst: Wow64RevertWow64FsRedirection
      Src: /src/glib/gio/gwin32registrykey.c:2204,1
    - Dst: RegLoadMUIStringW
      Src: /src/glib/gio/gwin32registrykey.c:2193,1
    - Dst: Wow64DisableWow64FsRedirection
      Src: /src/glib/gio/gwin32registrykey.c:2190,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2184,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2206,1
    - Dst: RegLoadMUIStringW
      Src: /src/glib/gio/gwin32registrykey.c:2213,1
    - Dst: Wow64RevertWow64FsRedirection
      Src: /src/glib/gio/gwin32registrykey.c:2221,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: 2233
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2233
    functionName: MuiRegQueryValueExW
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - Wow64DisableWow64FsRedirection
    - RegLoadMUIStringW
    - RegQueryValueExW
    - Wow64RevertWow64FsRedirection
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:452,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:456,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:457,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gwin32registrykey.c:461,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32registrykey.c:455,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32registrykey.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 466
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 466
    functionName: g_win32_registry_key_dispose
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - G_WIN32_REGISTRY_KEY
    - g_clear_object
    - RegCloseKey
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_registry_key_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/gio/gwin32registrykey.c:1489,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/gio/gwin32registrykey.c:1499,1
    - Dst: g_realloc
      Src: /src/glib/gio/gwin32registrykey.c:1495,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:1506,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:1507,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32registrykey.c:1507,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: 1514
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1514
    functionName: expand_value
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_realloc
    - ExpandEnvironmentStringsW
    - GetLastError
    - 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: 2
    BranchProfiles: []
    Callsites:
    - 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:785,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:786,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:785,1
    - Dst: RegQueryInfoKeyW
      Src: /src/glib/gio/gwin32registrykey.c:788,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:795,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:795,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:797,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:801,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - iter
    - key
    - error
    argTypes:
    - GWin32RegistrySubkeyIter*
    - GWin32RegistryKey*
    - GError**
    constantsTouched: []
    func_position:
      end: 809
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 809
    functionName: g_win32_registry_subkey_iter_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_object_ref
    - G_IS_WIN32_REGISTRY_KEY
    - g_win32_registry_key_get_path_w
    - g_io_error_from_win32_error
    - RegQueryInfoKeyW
    - g_return_val_if_fail
    - g_malloc
    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:1407,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1409,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1408,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1413,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: 1424
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1424
    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_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:2041,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gwin32registrykey.c:2054,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:2059,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2072,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2074,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32registrykey.c:2083,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2101,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gwin32registrykey.c:2067,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2120,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2037,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2034,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2075,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2033,1
    - Dst: g_win32_registry_get_os_dirs
      Src: /src/glib/gio/gwin32registrykey.c:2047,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2095,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32registrykey.c:2086,1
    - Dst: g_convert
      Src: /src/glib/gio/gwin32registrykey.c:2113,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2032,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2032,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32registrykey.c:2055,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2102,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2128,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2138,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: 2148
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2148
    functionName: g_win32_registry_key_get_value
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_free
    - G_IS_WIN32_REGISTRY_KEY
    - g_utf8_to_utf16
    - g_new0
    - g_win32_registry_get_os_dirs
    - g_prefix_error
    - g_return_val_if_fail
    - g_strv_length
    - g_win32_registry_get_os_dirs_w
    - g_win32_registry_key_get_value_w
    - g_convert
    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: 2
    BranchProfiles: []
    Callsites:
    - 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:1369,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1374,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - iter
    - value_type
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - GWin32RegistryValueType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1382
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1382
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1700,1
    - Dst: nt_query_key
      Src: /src/glib/gio/gwin32registrykey.c:1713,1
    - Dst: nt_query_key
      Src: /src/glib/gio/gwin32registrykey.c:1701,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1709,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1712,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1722,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:1730,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1732,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - GWin32RegistryKey*
    - GWin32RegistryKeyPrivate*
    constantsTouched: []
    func_position:
      end: 1733
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1733
    functionName: _g_win32_registry_key_reread_kernel
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_free
    - g_wcsdup
    - g_malloc
    - nt_query_key
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_registry_key_reread_kernel (GWin32RegistryKey
      *key, GWin32RegistryKeyPrivate *buf) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - 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:2302,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2301,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2359,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:2342,1
    - Dst: MuiRegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2344,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2373,1
    - Dst: ensure_nul_termination
      Src: /src/glib/gio/gwin32registrykey.c:2377,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2303,1
    - Dst: _g_win32_registry_type_w_to_g
      Src: /src/glib/gio/gwin32registrykey.c:2328,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:2371,1
    - Dst: _g_win32_registry_type_w_to_g
      Src: /src/glib/gio/gwin32registrykey.c:2363,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:2321,1
    - Dst: expand_value
      Src: /src/glib/gio/gwin32registrykey.c:2386,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2418,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2306,1
    - Dst: MuiRegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2311,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:2321,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:2323,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:2358,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:2354,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:2367,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:2354,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2393,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2401,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: 2421
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2421
    functionName: g_win32_registry_key_get_value_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - MuiRegQueryValueExW
    - g_free
    - G_IS_WIN32_REGISTRY_KEY
    - ensure_nul_termination
    - _g_win32_registry_type_w_to_g
    - expand_value
    - g_return_val_if_fail
    - g_win32_registry_key_get_path_w
    - g_io_error_from_win32_error
    - g_malloc
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2604,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32registrykey.c:2606,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2609
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2609
    functionName: g_win32_registry_key_has_changed
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - G_IS_WIN32_REGISTRY_KEY
    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:2640,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gwin32registrykey.c:2648,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32registrykey.c:2659,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32registrykey.c:2660,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:2653,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gwin32registrykey.c:2662,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2666,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32registrykey.c:2672,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:2673,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32registrykey.c:2677,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2634
    functionDepth: 0
    functionLinenumber: 2634
    functionLinenumberEnd: 2679
    functionName: g_win32_registry_key_set_property
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_value_get_string
    - g_utf8_to_utf16
    - g_assert
    - G_WIN32_REGISTRY_KEY
    - g_wcsdup
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - GWin32RegistryKey*
    - GWin32RegistryKeyPrivate*
    constantsTouched: []
    func_position:
      end: 1743
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1743
    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:2428,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2432,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2436,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2435,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2433,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2437,1
    - Dst: callback
      Src: /src/glib/gio/gwin32registrykey.c:2441,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32registrykey.c:2443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - closure
    - status_block
    - reserved
    argTypes:
    - PVOID
    - PIO_STATUS_BLOCK
    - ULONG
    constantsTouched: []
    func_position:
      end: 2444
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2444
    functionName: key_changed
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_free
    - callback
    - G_WIN32_REGISTRY_KEY
    - g_object_unref
    - g_steal_pointer
    - g_atomic_int_set
    linkageType: ''
    returnType: VOID
    signature: 'static VOID NTAPI key_changed (PVOID closure, PIO_STATUS_BLOCK status_block,
      ULONG reserved) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2617,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gwin32registrykey.c:2622,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2626,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:2626,1
    - Dst: g_win32_registry_key_get_path
      Src: /src/glib/gio/gwin32registrykey.c:2622,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32registrykey.c:2630,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2632
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2632
    functionName: g_win32_registry_key_get_property
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_value_set_pointer
    - g_value_set_string
    - G_WIN32_REGISTRY_KEY
    - g_win32_registry_key_get_path_w
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_win32_registry_key_get_path
    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:2684,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gwin32registrykey.c:2697,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2716,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gwin32registrykey.c:2699,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gwin32registrykey.c:2714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32RegistryKeyClass*
    constantsTouched: []
    func_position:
      end: 2722
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2722
    functionName: g_win32_registry_key_class_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_string
    - G_OBJECT_CLASS
    - g_param_spec_pointer
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_registry_key_class_init (GWin32RegistryKeyClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:530,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gwin32registrykey.c:532,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:536,1
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:539,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - path
    - error
    argTypes:
    - gunichar2*
    - GError**
    constantsTouched: []
    func_position:
      end: 540
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 540
    functionName: g_win32_registry_key_new_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - G_WIN32_REGISTRY_KEY
    - g_return_val_if_fail
    - g_initable_new
    - g_wcsdup
    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:1852,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32registrykey.c:1854,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:1852,1
    - Dst: _g_win32_registry_key_update_path
      Src: /src/glib/gio/gwin32registrykey.c:1857,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 1860
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1860
    functionName: g_win32_registry_key_get_path_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - G_IS_WIN32_REGISTRY_KEY
    - _g_win32_registry_key_update_path
    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:493,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gwin32registrykey.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - path
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 501
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 501
    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: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    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_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:703,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:709,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:730,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:740,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:748,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:703,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:713,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:721,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gwin32registrykey.c:726,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:744,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:704,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:725,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:730,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:740,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:743,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32registrykey.c:736,1
    - Dst: wcscat
      Src: /src/glib/gio/gwin32registrykey.c:743,1
    - Dst: wcscat
      Src: /src/glib/gio/gwin32registrykey.c:744,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:705,1
    - Dst: wcscat
      Src: /src/glib/gio/gwin32registrykey.c:742,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - key
    - subkey
    - error
    argTypes:
    - GWin32RegistryKey*
    - gunichar2*
    - GError**
    constantsTouched: []
    func_position:
      end: 755
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 755
    functionName: g_win32_registry_key_get_child_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - wcscat
    - g_object_ref
    - G_IS_WIN32_REGISTRY_KEY
    - g_object_new
    - wcslen
    - g_critical
    - g_win32_registry_key_get_path_w
    - g_io_error_from_win32_error
    - RegOpenKeyExW
    - g_return_val_if_fail
    - g_malloc
    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:1293,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1310,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1298,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1311,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1294,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1312,1
    - Dst: RegEnumValueW
      Src: /src/glib/gio/gwin32registrykey.c:1316,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:1327,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:1327,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:1329,1
    - Dst: ensure_nul_termination
      Src: /src/glib/gio/gwin32registrykey.c:1338,1
    - Dst: _g_win32_registry_type_w_to_g
      Src: /src/glib/gio/gwin32registrykey.c:1337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - iter
    - skip_errors
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 1348
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1348
    functionName: g_win32_registry_value_iter_next
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - ensure_nul_termination
    - g_clear_pointer
    - _g_win32_registry_type_w_to_g
    - RegEnumValueW
    - g_critical
    - g_win32_registry_key_get_path_w
    - g_io_error_from_win32_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_value_iter_next (GWin32RegistryValueIter
      *iter, gboolean skip_errors, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1815,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32registrykey.c:1817,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1828,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:1815,1
    - Dst: _g_win32_registry_key_update_path
      Src: /src/glib/gio/gwin32registrykey.c:1822,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32registrykey.c:1830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 1835
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1835
    functionName: g_win32_registry_key_get_path
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_free
    - G_IS_WIN32_REGISTRY_KEY
    - g_atomic_int_get
    - _g_win32_registry_key_update_path
    - g_utf16_to_utf8
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_win32_registry_key_get_path (GWin32RegistryKey *key) '
  - 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: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:590,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:600,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:608,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:617,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gwin32registrykey.c:630,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:564,1
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:567,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:564,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:594,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:612,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:602,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:565,1
    - Dst: wcschr
      Src: /src/glib/gio/gwin32registrykey.c:584,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:592,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:596,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:604,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:613,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:634,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:572,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:587,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:598,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:606,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:626,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:634,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 644
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 644
    functionName: g_win32_registry_key_initable_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - wcscmp
    - wcschr
    - g_set_error
    - g_free
    - G_IS_WIN32_REGISTRY_KEY
    - g_utf8_to_utf16
    - G_WIN32_REGISTRY_KEY
    - wcslen
    - g_critical
    - g_io_error_from_win32_error
    - g_wcsdup
    - RegOpenKeyExW
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_registry_key_initable_init (GInitable *initable,
      GCancellable *cancellable, 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_object_unref
      Src: /src/glib/gio/gwin32registrykey.c:312,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_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:665,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:666,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:669,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:665,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:667,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32registrykey.c:673,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:674,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - key
    - subkey
    - error
    argTypes:
    - GWin32RegistryKey*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 678
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 678
    functionName: g_win32_registry_key_get_child
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_free
    - G_IS_WIN32_REGISTRY_KEY
    - g_utf8_to_utf16
    - g_win32_registry_key_get_child_w
    - g_return_val_if_fail
    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:904,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:938,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:909,1
    - Dst: RegEnumKeyExW
      Src: /src/glib/gio/gwin32registrykey.c:923,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:905,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:938,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:940,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - iter
    - skip_errors
    - error
    argTypes:
    - GWin32RegistrySubkeyIter*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 946
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 946
    functionName: g_win32_registry_subkey_iter_next
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - RegEnumKeyExW
    - g_critical
    - g_return_val_if_fail
    - g_win32_registry_key_get_path_w
    - 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: 1234
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1234
    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
      Src: /src/glib/gio/gwin32registrykey.c:1938,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1959,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32registrykey.c:1943,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32registrykey.c:1954,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32registrykey.c:1948,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gwin32registrykey.c:1962,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1966
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1966
    functionName: g_win32_registry_get_os_dirs
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_once_init_enter
    - g_critical
    - g_once_init_leave
    - g_utf16_to_utf8
    - g_win32_registry_get_os_dirs_w
    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:2583,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2583,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2586
      start: 2580
    functionDepth: 0
    functionLinenumber: 2580
    functionLinenumberEnd: 2586
    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:211,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:210,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:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistrySubkeyIter*
    constantsTouched: []
    func_position:
      end: 850
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 850
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistryValueIter*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1158
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1613,1
    - Dst: g_convert
      Src: /src/glib/gio/gwin32registrykey.c:1641,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1615,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1619,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1614,1
    - Dst: g_win32_registry_value_iter_get_data_w
      Src: /src/glib/gio/gwin32registrykey.c:1663,1
    - Dst: g_convert
      Src: /src/glib/gio/gwin32registrykey.c:1670,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: 1688
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1688
    functionName: g_win32_registry_value_iter_get_data
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_convert
    - g_return_val_if_fail
    - g_win32_registry_value_iter_get_data_w
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gwin32registrykey.c:1749,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gwin32registrykey.c:1759,1
    - Dst: GetModuleHandleW
      Src: /src/glib/gio/gwin32registrykey.c:1752,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32registrykey.c:1755,1
    - Dst: _g_win32_registry_key_reread_kernel
      Src: /src/glib/gio/gwin32registrykey.c:1766,1
    - Dst: _g_win32_registry_key_reread_user
      Src: /src/glib/gio/gwin32registrykey.c:1768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - GWin32RegistryKey*
    - GWin32RegistryKeyPrivate*
    constantsTouched: []
    func_position:
      end: 1769
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1769
    functionName: _g_win32_registry_key_reread
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - GetModuleHandleW
    - _g_win32_registry_key_reread_user
    - GetProcAddress
    - g_once_init_enter
    - _g_win32_registry_key_reread_kernel
    - g_once_init_leave
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_registry_key_reread (GWin32RegistryKey *key,
      GWin32RegistryKeyPrivate *buf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gwin32registrykey.c:1877,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1890,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1893,1
    - Dst: GetSystemWow64DirectoryW
      Src: /src/glib/gio/gwin32registrykey.c:1891,1
    - Dst: GetSystemWow64DirectoryW
      Src: /src/glib/gio/gwin32registrykey.c:1885,1
    - Dst: GetSystemDirectoryW
      Src: /src/glib/gio/gwin32registrykey.c:1896,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1901,1
    - Dst: GetSystemDirectoryW
      Src: /src/glib/gio/gwin32registrykey.c:1902,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1904,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32registrykey.c:1907,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gwin32registrykey.c:1917,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1921
      start: 1872
    functionDepth: 0
    functionLinenumber: 1872
    functionLinenumberEnd: 1921
    functionName: g_win32_registry_get_os_dirs_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - GetSystemWow64DirectoryW
    - g_new0
    - GetSystemDirectoryW
    - g_once_init_enter
    - g_clear_pointer
    - g_once_init_leave
    - g_malloc
    linkageType: ''
    returnType: gunichar2**
    signature: 'const gunichar2 * const *g_win32_registry_get_os_dirs_w (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2493,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2493,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gwin32registrykey.c:2506,1
    - Dst: GetModuleHandleW
      Src: /src/glib/gio/gwin32registrykey.c:2509,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:2502,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32registrykey.c:2512,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gwin32registrykey.c:2516,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:2521,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gwin32registrykey.c:2527,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2537,1
    - Dst: nt_notify_change_multiple_keys
      Src: /src/glib/gio/gwin32registrykey.c:2544,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32registrykey.c:2562,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2563,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2561,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:2542,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2560,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:2540,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: 2566
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2566
    functionName: g_win32_registry_key_watch
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - GetModuleHandleW
    - g_object_ref
    - g_free
    - G_IS_WIN32_REGISTRY_KEY
    - g_once_init_enter
    - GetProcAddress
    - nt_notify_change_multiple_keys
    - g_object_unref
    - g_critical
    - g_once_init_leave
    - g_atomic_int_compare_and_exchange
    - g_return_val_if_fail
    - g_atomic_int_set
    - g_malloc
    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_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:265,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:262,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32registrykey.c:260,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gwin32registrykey.c:269,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: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistryValueIter*
    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_strdup
    - g_object_ref
    - g_new0
    - g_memdup2
    - g_wcsdup
    - g_return_val_if_fail
    linkageType: ''
    returnType: GWin32RegistryValueIter*
    signature: 'GWin32RegistryValueIter *g_win32_registry_value_iter_copy (const GWin32RegistryValueIter
      *iter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 4
    argCount: 1
    argNames:
    - value_type
    argTypes:
    - DWORD
    constantsTouched: []
    func_position:
      end: 1195
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1195
    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:1778,1
    - Dst: _g_win32_registry_key_reread
      Src: /src/glib/gio/gwin32registrykey.c:1784,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1788,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1791,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:1787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 1797
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1797
    functionName: _g_win32_registry_key_update_path
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_free
    - wcscmp
    - _g_win32_registry_key_reread
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_win32_registry_key_update_path (GWin32RegistryKey
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_get_instance_private
      Src: /src/glib/gio/gwin32registrykey.c:2727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2729
      start: 2724
    functionDepth: 0
    functionLinenumber: 2724
    functionLinenumberEnd: 2729
    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: 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: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistrySubkeyIter*
    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_object_ref
    - g_return_val_if_fail
    - g_wcsdup
    - g_new0
    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:1016,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1022,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1018,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1028,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1017,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32registrykey.c:1029,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: 1044
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1044
    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:1126,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1131,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1130,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1128,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1129,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1132,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1133,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32registrykey.c:1134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistryValueIter*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1135
    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:1542,1
    - Dst: expand_value
      Src: /src/glib/gio/gwin32registrykey.c:1565,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1544,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1548,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1543,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: 1581
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1581
    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: 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilemonitor.c:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: g_file_monitor_set_property
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:121,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gfilemonitor.c:124,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilemonitor.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: g_file_monitor_dispose
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - G_FILE_MONITOR
    - g_file_monitor_cancel
    - 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:220,1
    - Dst: G_IS_FILE_MONITOR
      Src: /src/glib/gio/gfilemonitor.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 225
    functionName: g_file_monitor_is_cancelled
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILE_MONITOR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_monitor_is_cancelled (GFileMonitor *monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilemonitor.c:238,1
    - Dst: G_IS_FILE_MONITOR
      Src: /src/glib/gio/gfilemonitor.c:238,1
    - Dst: G_FILE_MONITOR_GET_CLASS
      Src: /src/glib/gio/gfilemonitor.c:242,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gfilemonitor.c:245,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfilemonitor.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: g_file_monitor_cancel
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - G_FILE_MONITOR_GET_CLASS
    - G_IS_FILE_MONITOR
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_monitor_cancel (GFileMonitor *monitor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gio/gfilemonitor.c:103,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gfilemonitor.c:108,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilemonitor.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: g_file_monitor_get_property
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    - g_value_set_boolean
    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_file_monitor_get_instance_private
      Src: /src/glib/gio/gfilemonitor.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilemonitor.c:140,1
    - Dst: I_
      Src: /src/glib/gio/gfilemonitor.c:181,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gfilemonitor.c:189,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gfilemonitor.c:181,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gfilemonitor.c:184,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gfilemonitor.c:190,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilemonitor.c:193,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gfilemonitor.c:194,1
    - Dst: P_
      Src: /src/glib/gio/gfilemonitor.c:195,1
    - Dst: P_
      Src: /src/glib/gio/gfilemonitor.c:196,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gfilemonitor.c:201,1
    - Dst: P_
      Src: /src/glib/gio/gfilemonitor.c:203,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilemonitor.c:200,1
    - Dst: P_
      Src: /src/glib/gio/gfilemonitor.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileMonitorClass*
    constantsTouched: []
    func_position:
      end: 205
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 205
    functionName: g_file_monitor_class_init
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_int
    - I_
    - G_TYPE_FROM_CLASS
    - g_param_spec_boolean
    - g_signal_new
    - g_signal_set_va_marshaller
    - G_STRUCT_OFFSET
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_class_init (GFileMonitorClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_set
      Src: /src/glib/gio/gfilemonitor.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - monitor
    - limit_msecs
    argTypes:
    - GFileMonitor*
    - gint
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfilemonitor.c:288,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfilemonitor.c:290,1
    - Dst: G_IS_FILE_MONITOR
      Src: /src/glib/gio/gfilemonitor.c:288,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfilemonitor.c:289,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfilemonitor.c:289,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfilemonitor.c:290,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gfilemonitor.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - monitor
    - child
    - other_file
    - event_type
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: g_file_monitor_emit_event
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_signal_emit
    - G_IS_FILE_MONITOR
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_monitor_emit_event (GFileMonitor *monitor, GFile *child,
      GFile *other_file, GFileMonitorEvent event_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - RegistryValue
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    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_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:503,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 515
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 515
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:820,1
    - Dst: registry_cache_block_notification
      Src: /src/glib/gio/gregistrysettingsbackend.c:826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 827
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 827
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gregistrysettingsbackend.c:1484,1
    - Dst: registry_cache_find_immediate_child
      Src: /src/glib/gio/gregistrysettingsbackend.c:1488,1
    - Dst: registry_cache_update
      Src: /src/glib/gio/gregistrysettingsbackend.c:1497,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1510,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1505,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1531,1
    - Dst: registry_cache_find_immediate_child
      Src: /src/glib/gio/gregistrysettingsbackend.c:1535,1
    - Dst: registry_value_dump
      Src: /src/glib/gio/gregistrysettingsbackend.c:1544,1
    - Dst: registry_cache_add_item
      Src: /src/glib/gio/gregistrysettingsbackend.c:1549,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:1572,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1591,1
    - Dst: g_build_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:1496,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gregistrysettingsbackend.c:1526,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1583,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1586,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1589,1
    - Dst: RegEnumKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1473,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1477,1
    - Dst: registry_cache_add_item
      Src: /src/glib/gio/gregistrysettingsbackend.c:1492,1
    - Dst: RegEnumValueW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1522,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1499,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1539,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1579,1
    - Dst: g_build_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:1455,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1457,1
    - Dst: g_node_n_children
      Src: /src/glib/gio/gregistrysettingsbackend.c:1458,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1463,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1504,1
    - Dst: registry_read
      Src: /src/glib/gio/gregistrysettingsbackend.c:1537,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1543,1
    - Dst: registry_cache_update_node
      Src: /src/glib/gio/gregistrysettingsbackend.c:1562,1
    - Dst: g_build_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:1574,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1576,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: 1592
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1592
    functionName: registry_cache_update
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_update
    - registry_value_dump
    - registry_read
    - g_node_n_children
    - g_build_path
    - registry_cache_update_node
    - registry_cache_find_immediate_child
    - RegOpenKeyExW
    - RegEnumKeyExW
    - g_node_children_foreach
    - g_ptr_array_add
    - registry_cache_add_item
    - g_message_win32_error
    - g_strdup
    - g_free
    - trace
    - RegEnumValueW
    - RegCloseKey
    - g_utf16_to_utf8
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2071,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2073,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2083,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gregistrysettingsbackend.c:2080,1
    - Dst: SetEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:2075,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gregistrysettingsbackend.c:2085,1
    - Dst: watch_stop_unlocked
      Src: /src/glib/gio/gregistrysettingsbackend.c:2087,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2089,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - self
    - key_name
    argTypes:
    - GRegistrySettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2090
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2090
    functionName: watch_remove_notify
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warning
    - g_atomic_int_get
    - watch_stop_unlocked
    - LeaveCriticalSection
    - EnterCriticalSection
    - SetEvent
    - WaitForSingleObject
    linkageType: ''
    returnType: void
    signature: 'static void watch_remove_notify (GRegistrySettingsBackend *self, const
      gchar *key_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:2147,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:2140,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:2149,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:2158,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2099,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2113,1
    - Dst: watch_start
      Src: /src/glib/gio/gregistrysettingsbackend.c:2107,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:2128,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:2144,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:2133,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:2157,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:2159,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:2112,1
    - Dst: parse_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:2117,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:2126,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2129,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:2148,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:2139,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gregistrysettingsbackend.c:2110,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2124,1
    - Dst: watch_add_notify
      Src: /src/glib/gio/gregistrysettingsbackend.c:2155,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2135,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2155,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - backend
    - key_name
    argTypes:
    - GSettingsBackend*
    - char*
    constantsTouched: []
    func_position:
      end: 2161
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2161
    functionName: g_registry_settings_backend_subscribe
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_atomic_int_dec_and_test
    - g_free
    - RegCreateKeyExW
    - g_utf8_to_utf16
    - trace
    - CloseHandle
    - watch_start
    - g_warning
    - RegCloseKey
    - parse_key
    - watch_add_notify
    - CreateEvent
    - G_REGISTRY_SETTINGS_BACKEND
    - g_message_win32_error
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_subscribe (GSettingsBackend
      *backend, const char *key_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2179,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2190,1
    - Dst: registry_cache_item_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2185,1
    - Dst: g_node_destroy
      Src: /src/glib/gio/gregistrysettingsbackend.c:2186,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:2183,1
    - Dst: watch_stop_unlocked
      Src: /src/glib/gio/gregistrysettingsbackend.c:2191,1
    - Dst: DeleteCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2194,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2195,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2197,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2199
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2199
    functionName: g_registry_settings_backend_finalize
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_item_free
    - g_free
    - g_node_destroy
    - g_warn_if_fail
    - DeleteCriticalSection
    - watch_stop_unlocked
    - EnterCriticalSection
    - g_slice_free
    - G_REGISTRY_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_CLASS
      Src: /src/glib/gio/gregistrysettingsbackend.c:2287,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:2320,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gregistrysettingsbackend.c:2288,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gregistrysettingsbackend.c:2318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - class
    argTypes:
    - GRegistrySettingsBackendClass*
    constantsTouched: []
    func_position:
      end: 2325
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2325
    functionName: g_registry_settings_backend_class_init
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_CLASS
    - g_object_class_install_property
    - g_param_spec_string
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_class_init (GRegistrySettingsBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:520,1
    - Dst: registry_value_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:523,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:522,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - RegistryCacheItem*
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: registry_cache_item_free
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - registry_value_free
    - g_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_item_free (RegistryCacheItem *item) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:608,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:609,1
    - Dst: strcmp
      Src: /src/glib/gio/gregistrysettingsbackend.c:611,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 618
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 618
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1319
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1319
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:2167,1
    - Dst: watch_remove_notify
      Src: /src/glib/gio/gregistrysettingsbackend.c:2169,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - backend
    - key_name
    argTypes:
    - GSettingsBackend*
    - char*
    constantsTouched: []
    func_position:
      end: 2170
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2170
    functionName: g_registry_settings_backend_unsubscribe
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - G_REGISTRY_SETTINGS_BACKEND
    - watch_remove_notify
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_unsubscribe (GSettingsBackend
      *backend, const char *key_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2204,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:2210,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2212
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2212
    functionName: g_registry_settings_backend_constructed
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_REGISTRY_SETTINGS_BACKEND
    - g_utf8_to_utf16
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:2332,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2335,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:2339,1
    - Dst: InitializeCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2340,1
    - Dst: g_node_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:2337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - self
    argTypes:
    - GRegistrySettingsBackend*
    constantsTouched: []
    func_position:
      end: 2343
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2343
    functionName: g_registry_settings_backend_init
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_node_new
    - InitializeCriticalSection
    - g_slice_new
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_init (GRegistrySettingsBackend
      *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mark_all_subkeys_as_changed
      Src: /src/glib/gio/gregistrysettingsbackend.c:1413,1
    - Dst: registry_cache_destroy_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1416
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1416
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gregistrysettingsbackend.c:343,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - HKEY
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 351
    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_warn_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:535,1
    - Dst: g_node_destroy
      Src: /src/glib/gio/gregistrysettingsbackend.c:540,1
    - Dst: registry_cache_item_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 542
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 542
    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: _unref_down
      Src: /src/glib/gio/gregistrysettingsbackend.c:557,1
    - Dst: _unref_node
      Src: /src/glib/gio/gregistrysettingsbackend.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 565
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 565
    functionName: registry_cache_unref_tree
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - _unref_node
    - _unref_down
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_unref_tree (GNode *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_traverse
      Src: /src/glib/gio/gregistrysettingsbackend.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - node
    - name
    argTypes:
    - GNode*
    - gchar*
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 633
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:739,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:774,1
    - Dst: memcmp
      Src: /src/glib/gio/gregistrysettingsbackend.c:772,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:769,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:740,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:779,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:787,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:788,1
    - Dst: strcmp
      Src: /src/glib/gio/gregistrysettingsbackend.c:790,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:792,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:797,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:803,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - cache_node
    - registry_value
    argTypes:
    - GNode*
    - RegistryValue
    constantsTouched: []
    func_position:
      end: 806
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 806
    functionName: registry_cache_update_node
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_free
    - g_warning
    - strcmp
    - memcmp
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean registry_cache_update_node (GNode *cache_node, RegistryValue
      registry_value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:847,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:858,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:854,1
    - Dst: handle_read_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:857,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:852,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:864,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:865,1
    - Dst: g_malloc
      Src: /src/glib/gio/gregistrysettingsbackend.c:873,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:875,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:876,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gregistrysettingsbackend.c:890,1
    - Dst: handle_read_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:880,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:883,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:891,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: 896
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 896
    functionName: registry_read
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_utf8_to_utf16
    - handle_read_error
    - RegQueryValueExW
    - g_utf16_to_utf8
    - g_return_val_if_fail
    - g_malloc
    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:1153,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1163,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1158,1
    - Dst: g_registry_settings_backend_write_one
      Src: /src/glib/gio/gregistrysettingsbackend.c:1170,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1162,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gregistrysettingsbackend.c:1171,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1173,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: 1176
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1176
    functionName: g_registry_settings_backend_write
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - RegCreateKeyExW
    - trace
    - g_registry_settings_backend_write_one
    - predefined_key_to_string
    - RegCloseKey
    - G_REGISTRY_SETTINGS_BACKEND
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1612,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1619,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1616,1
    - Dst: g_settings_backend_keys_changed
      Src: /src/glib/gio/gregistrysettingsbackend.c:1616,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1615,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1620,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1621,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - RegistryEvent*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1625
    functionName: watch_handler
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_free
    - g_ptr_array_free
    - trace
    - g_object_unref
    - g_settings_backend_keys_changed
    - g_slice_free
    - g_ptr_array_add
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean watch_handler (RegistryEvent *event) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:281,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/gio/gregistrysettingsbackend.c:290,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gregistrysettingsbackend.c:286,1
    - Dst: g_variant_get_int16
      Src: /src/glib/gio/gregistrysettingsbackend.c:288,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gregistrysettingsbackend.c:284,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/gregistrysettingsbackend.c:292,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gregistrysettingsbackend.c:294,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gregistrysettingsbackend.c:296,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 299
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 299
    functionName: g_variant_get_as_dword
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_string
    - g_variant_get_int32
    - g_variant_get_boolean
    - g_variant_get_uint16
    - g_variant_get_int16
    - g_warn_if_reached
    - g_variant_get_uint32
    - g_variant_get_byte
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD g_variant_get_as_dword (GVariant *variant) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gregistrysettingsbackend.c:357,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gregistrysettingsbackend.c:363,1
    - Dst: strlen
      Src: /src/glib/gio/gregistrysettingsbackend.c:365,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gregistrysettingsbackend.c:359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - full_path
    - root_key
    argTypes:
    - gchar*
    - HKEY*
    constantsTouched: []
    func_position:
      end: 378
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 378
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:547,1
    - Dst: _unref_node
      Src: /src/glib/gio/gregistrysettingsbackend.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    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:643,1
    - Dst: registry_cache_find_immediate_child
      Src: /src/glib/gio/gregistrysettingsbackend.c:657,1
    - Dst: registry_cache_add_item
      Src: /src/glib/gio/gregistrysettingsbackend.c:662,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:665,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:672,1
    - Dst: registry_cache_get_node_for_key_recursive
      Src: /src/glib/gio/gregistrysettingsbackend.c:674,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - node
    - key_name
    - create_if_not_found
    - n_parent_watches
    argTypes:
    - GNode*
    - gchar*
    - gboolean
    - gint
    constantsTouched: []
    func_position:
      end: 677
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 677
    functionName: registry_cache_get_node_for_key_recursive
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - registry_cache_find_immediate_child
    - strchr
    - registry_cache_get_node_for_key_recursive
    - registry_cache_add_item
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:904,1
    - Dst: registry_cache_get_node_for_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:920,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:910,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:919,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:921,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:923,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:929,1
    - Dst: registry_value_dump
      Src: /src/glib/gio/gregistrysettingsbackend.c:929,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:933,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:945,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:953,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:961,1
    - Dst: g_message
      Src: /src/glib/gio/gregistrysettingsbackend.c:970,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:977,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gregistrysettingsbackend.c:966,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 34
    argCount: 4
    argNames:
    - backend
    - key_name
    - expected_type
    - default_value
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariantType*
    - gboolean
    constantsTouched: []
    func_position:
      end: 980
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 980
    functionName: g_registry_settings_backend_read
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_value_dump
    - g_variant_type_dup_string
    - g_free
    - g_variant_new_string
    - trace
    - g_message
    - G_REGISTRY_SETTINGS_BACKEND
    - LeaveCriticalSection
    - registry_cache_get_node_for_key
    - g_variant_new
    - EnterCriticalSection
    - g_variant_parse
    - g_return_val_if_fail
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_as_qword
      Src: /src/glib/gio/gregistrysettingsbackend.c:1037,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1013,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1047,1
    - Dst: g_variant_print_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1054,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1070,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1091,1
    - Dst: parse_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1081,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1094,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1099,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1083,1
    - Dst: registry_cache_update_node
      Src: /src/glib/gio/gregistrysettingsbackend.c:1069,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1095,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1117,1
    - Dst: wcslen
      Src: /src/glib/gio/gregistrysettingsbackend.c:1119,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1126,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1137,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1011,1
    - Dst: g_variant_get_as_dword
      Src: /src/glib/gio/gregistrysettingsbackend.c:1028,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:1047,1
    - Dst: g_string_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1056,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1085,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1088,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1101,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1135,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1138,1
    - Dst: g_malloc
      Src: /src/glib/gio/gregistrysettingsbackend.c:1036,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1067,1
    - Dst: registry_cache_get_node_for_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1068,1
    - Dst: registry_cache_block_notification
      Src: /src/glib/gio/gregistrysettingsbackend.c:1079,1
    - Dst: registry_value_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1093,1
    - Dst: RegSetValueExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1123,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1127,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1136,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 83
    argCount: 3
    argNames:
    - key_name
    - variant
    - user_data
    argTypes:
    - char*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1141
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1141
    functionName: g_registry_settings_backend_write_one
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_block_notification
    - registry_value_free
    - RegCreateKeyExW
    - predefined_key_to_string
    - g_variant_print_string
    - g_variant_get_type_string
    - g_utf8_to_utf16
    - registry_cache_update_node
    - wcslen
    - registry_cache_get_node_for_key
    - g_string_free
    - g_variant_get_string
    - g_variant_get_as_qword
    - g_variant_get_as_dword
    - g_malloc
    - g_message_win32_error
    - g_strdup
    - g_free
    - trace
    - LeaveCriticalSection
    - parse_key
    - RegCloseKey
    - EnterCriticalSection
    - G_REGISTRY_SETTINGS_BACKEND
    - RegSetValueExW
    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:1183,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1188,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1200,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1192,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1193,1
    - Dst: g_settings_backend_changed_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1203,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - backend
    - values
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1207
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1207
    functionName: g_registry_settings_backend_write_tree
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_tree_foreach
    - RegCreateKeyExW
    - trace
    - predefined_key_to_string
    - RegCloseKey
    - g_settings_backend_changed_tree
    - G_REGISTRY_SETTINGS_BACKEND
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_registry_settings_backend_write_tree (GSettingsBackend
      *backend, GTree *values, gpointer origin_tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:1381,1
    - Dst: g_build_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:1386,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1387,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1393,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1397
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1397
    functionName: mark_all_subkeys_as_changed
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_build_path
    - g_node_children_foreach
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void mark_all_subkeys_as_changed (GNode *node, gpointer data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:689,1
    - Dst: registry_cache_find_immediate_child
      Src: /src/glib/gio/gregistrysettingsbackend.c:707,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:695,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:700,1
    - Dst: strchr
      Src: /src/glib/gio/gregistrysettingsbackend.c:696,1
    - Dst: registry_cache_add_item
      Src: /src/glib/gio/gregistrysettingsbackend.c:713,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:716,1
    - Dst: registry_cache_get_node_for_key_recursive
      Src: /src/glib/gio/gregistrysettingsbackend.c:722,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:725,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - root
    - key_name
    - create_if_not_found
    argTypes:
    - GNode*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 728
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 728
    functionName: registry_cache_get_node_for_key
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - trace
    - registry_cache_find_immediate_child
    - registry_cache_get_node_for_key_recursive
    - strchr
    - g_return_val_if_fail
    - registry_cache_add_item
    linkageType: ''
    returnType: GNode*
    signature: 'static GNode *registry_cache_get_node_for_key (GNode *root, const
      gchar *key_name, gboolean create_if_not_found) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegNotifyChangeKeyValue
      Src: /src/glib/gio/gregistrysettingsbackend.c:1603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - hpath
    - event
    argTypes:
    - HKEY
    - HANDLE
    constantsTouched: []
    func_position:
      end: 1606
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1606
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:1956,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1972,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gregistrysettingsbackend.c:1965,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:1968,1
    - Dst: SetEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1959,1
    - Dst: DeleteCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1973,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1974,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1975,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1976,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1977,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1978,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1980,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - self
    argTypes:
    - GRegistrySettingsBackend*
    constantsTouched: []
    func_position:
      end: 1982
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1982
    functionName: watch_stop_unlocked
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - CloseHandle
    - DeleteCriticalSection
    - g_warning
    - LeaveCriticalSection
    - SetEvent
    - g_slice_free
    - WaitForSingleObject
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void watch_stop_unlocked (GRegistrySettingsBackend *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:227,1
    - Dst: g_strjoin
      Src: /src/glib/gio/gregistrysettingsbackend.c:260,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:258,1
    - Dst: strlen
      Src: /src/glib/gio/gregistrysettingsbackend.c:263,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 18
    argCount: 0
    argNames:
    - 2, 3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 276
    functionName: G_GNUC_PRINTF
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup_printf
    - g_strdup
    - g_strjoin
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:458,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:466,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:459,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:472,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:461,1
    - Dst: g_node_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:475,1
    - Dst: g_node_append
      Src: /src/glib/gio/gregistrysettingsbackend.c:476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - parent
    - name
    - value
    - ref_count
    argTypes:
    - GNode*
    - gchar*
    - RegistryValue
    - gint
    constantsTouched: []
    func_position:
      end: 479
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 479
    functionName: registry_cache_add_item
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_node_append
    - trace
    - g_slice_new
    - g_node_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: 'static GNode *registry_cache_add_item (GNode *parent, gchar *name,
      RegistryValue value, gint ref_count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:1636,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1642,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1638,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1639,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1640,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1650,1
    - Dst: registry_cache_unref_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1655,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1658,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1659,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gregistrysettingsbackend.c:1664,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gregistrysettingsbackend.c:1667,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gregistrysettingsbackend.c:1666,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gregistrysettingsbackend.c:1665,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - self
    - index
    - cache_node
    argTypes:
    - WatchThreadState*
    - guint
    - GNode*
    constantsTouched: []
    func_position:
      end: 1668
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1668
    functionName: _free_watch
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_unref_tree
    - g_free
    - g_ptr_array_index
    - trace
    - CloseHandle
    - RegCloseKey
    - g_ptr_array_remove_index_fast
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void _free_watch (WatchThreadState *self, guint index, GNode
      *cache_node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1780,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1781,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1783,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1819,1
    - Dst: registry_watch_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1840,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1874,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gregistrysettingsbackend.c:1876,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1890,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1889,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1786,1
    - Dst: WaitForMultipleObjects
      Src: /src/glib/gio/gregistrysettingsbackend.c:1792,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1848,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1820,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:1851,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:1875,1
    - Dst: g_idle_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1884,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1888,1
    - Dst: GetLastError
      Src: /src/glib/gio/gregistrysettingsbackend.c:1896,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1782,1
    - Dst: watch_thread_handle_message
      Src: /src/glib/gio/gregistrysettingsbackend.c:1800,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1821,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1828,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1873,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1874,1
    - Dst: registry_cache_update
      Src: /src/glib/gio/gregistrysettingsbackend.c:1879,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1881,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1881,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1887,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1784,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1785,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1787,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1791,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1818,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1823,1
    - Dst: _free_watch
      Src: /src/glib/gio/gregistrysettingsbackend.c:1850,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1862,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1878,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1878,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1896,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1879,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 75
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - LPVOID
    constantsTouched: []
    func_position:
      end: 1901
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1901
    functionName: watch_thread_function
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_update
    - g_idle_add
    - g_ptr_array_new_with_free_func
    - _free_watch
    - g_slice_free
    - g_ptr_array_new
    - watch_thread_handle_message
    - g_object_unref
    - g_object_ref
    - g_ptr_array_index
    - WaitForMultipleObjects
    - g_slice_new
    - g_ptr_array_add
    - g_message_win32_error
    - g_atomic_int_inc
    - g_strdup
    - g_free
    - g_ptr_array_free
    - trace
    - registry_watch_key
    - LeaveCriticalSection
    - GetLastError
    - EnterCriticalSection
    - G_REGISTRY_SETTINGS_BACKEND
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD WINAPI watch_thread_function (LPVOID parameter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:398,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:402,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:400,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:406,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - RegistryValue
    constantsTouched: []
    func_position:
      end: 407
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 407
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1690,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1693,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1716,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1734,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1750,1
    - Dst: ExitThread
      Src: /src/glib/gio/gregistrysettingsbackend.c:1765,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1676,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1688,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1691,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1698,1
    - Dst: strcmp
      Src: /src/glib/gio/gregistrysettingsbackend.c:1716,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1732,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1728,1
    - Dst: _free_watch
      Src: /src/glib/gio/gregistrysettingsbackend.c:1762,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1762,1
    - Dst: SetEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1764,1
    - Dst: registry_watch_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1684,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1700,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1701,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1702,1
    - Dst: registry_cache_unref_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1703,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1726,1
    - Dst: _free_watch
      Src: /src/glib/gio/gregistrysettingsbackend.c:1749,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:1752,1
    - Dst: SetEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1770,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1689,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 1
    argNames:
    - self
    argTypes:
    - WatchThreadState*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1771
    functionName: watch_thread_handle_message
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_unref_tree
    - g_free
    - trace
    - CloseHandle
    - registry_watch_key
    - g_ptr_array_index
    - _free_watch
    - RegCloseKey
    - ExitThread
    - strcmp
    - SetEvent
    - g_ptr_array_add
    - g_message_win32_error
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'static void watch_thread_handle_message (WatchThreadState *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1328,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:1346,1
    - Dst: _free_watch
      Src: /src/glib/gio/gregistrysettingsbackend.c:1351,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:1336,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1341,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:1352,1
    - Dst: registry_cache_item_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1355,1
    - Dst: g_node_destroy
      Src: /src/glib/gio/gregistrysettingsbackend.c:1356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - node
    - self
    argTypes:
    - GNode*
    - WatchThreadState*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1357
    functionName: registry_cache_destroy_tree
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_item_free
    - g_ptr_array_index
    - g_warn_if_fail
    - _free_watch
    - g_node_destroy
    - g_warning
    - g_node_children_foreach
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_destroy_tree (GNode *node, WatchThreadState
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:2360,1
    - Dst: g_object_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:2362,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2362,1
    - Dst: split_registry_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:2360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - registry_key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2365
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2365
    functionName: g_registry_settings_backend_new
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - 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: GPOINTER_TO_INT
      Src: /src/glib/gio/gregistrysettingsbackend.c:574,1
    - Dst: g_print
      Src: /src/glib/gio/gregistrysettingsbackend.c:585,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:578,1
    - Dst: g_print
      Src: /src/glib/gio/gregistrysettingsbackend.c:583,1
    - Dst: g_print
      Src: /src/glib/gio/gregistrysettingsbackend.c:581,1
    - Dst: registry_value_dump
      Src: /src/glib/gio/gregistrysettingsbackend.c:586,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:587,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gregistrysettingsbackend.c:588,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - cache_node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 589
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 589
    functionName: registry_cache_dump
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_value_dump
    - GINT_TO_POINTER
    - g_node_children_foreach
    - GPOINTER_TO_INT
    - g_print
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_dump (GNode *cache_node, gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:304,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/gregistrysettingsbackend.c:307,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/gregistrysettingsbackend.c:309,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gregistrysettingsbackend.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: g_variant_get_as_qword
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_warn_if_reached
    - g_variant_get_type_string
    - g_variant_get_uint64
    - g_variant_get_int64
    linkageType: ''
    returnType: DWORDLONG
    signature: 'static DWORDLONG g_variant_get_as_qword (GVariant *variant) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1228,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1232,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1240,1
    - Dst: RegDeleteValueW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1248,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1242,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1254,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1214,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1224,1
    - Dst: registry_cache_get_node_for_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1225,1
    - Dst: registry_cache_destroy_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1227,1
    - Dst: parse_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1231,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1239,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1249,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1234,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1246,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1250,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1261,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gregistrysettingsbackend.c:1263,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1235,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1255,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - backend
    - key_name
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1264
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1264
    functionName: g_registry_settings_backend_reset
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_changed
    - g_free
    - g_utf8_to_utf16
    - RegDeleteValueW
    - predefined_key_to_string
    - LeaveCriticalSection
    - parse_key
    - registry_cache_destroy_tree
    - RegOpenKeyExW
    - registry_cache_get_node_for_key
    - RegCloseKey
    - EnterCriticalSection
    - G_REGISTRY_SETTINGS_BACKEND
    - g_message_win32_error
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_reset (GSettingsBackend *backend,
      const gchar *key_name, gpointer origin_tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2220,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gregistrysettingsbackend.c:2232,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:2226,1
    - Dst: g_value_take_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:2225,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:2227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2235
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2235
    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: va_start
      Src: /src/glib/gio/gregistrysettingsbackend.c:201,1
    - Dst: va_end
      Src: /src/glib/gio/gregistrysettingsbackend.c:204,1
    - Dst: vprintf
      Src: /src/glib/gio/gregistrysettingsbackend.c:202,1
    - Dst: fflush
      Src: /src/glib/gio/gregistrysettingsbackend.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: trace
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - vprintf
    - va_end
    - fflush
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void trace (const char *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - result
    - path_name
    - value_name
    argTypes:
    - LONG
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 325
    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_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1270,1
    - Dst: parse_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1277,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1284,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1278,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1286,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1290,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1291,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1293,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1298,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - backend
    - key_name
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1302
    functionName: g_registry_settings_backend_get_writable
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_free
    - RegCreateKeyExW
    - g_utf8_to_utf16
    - trace
    - predefined_key_to_string
    - RegCloseKey
    - parse_key
    - G_REGISTRY_SETTINGS_BACKEND
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_registry_settings_backend_get_writable (GSettingsBackend
      *backend, const gchar *key_name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2243,1
    - Dst: g_assert
      Src: /src/glib/gio/gregistrysettingsbackend.c:2250,1
    - Dst: g_assert
      Src: /src/glib/gio/gregistrysettingsbackend.c:2252,1
    - Dst: g_assert
      Src: /src/glib/gio/gregistrysettingsbackend.c:2251,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:2254,1
    - Dst: split_registry_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:2258,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:2262,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gregistrysettingsbackend.c:2266,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2267,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gregistrysettingsbackend.c:2268,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2274,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gregistrysettingsbackend.c:2279,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2271,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2282
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2282
    functionName: g_registry_settings_backend_set_property
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_value_get_string
    - g_utf8_to_utf16
    - g_assert
    - g_warning
    - g_steal_pointer
    - split_registry_path
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_REGISTRY_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:1908,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1915,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1910,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1911,1
    - Dst: InitializeCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1916,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1917,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1918,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1921,1
    - Dst: GetLastError
      Src: /src/glib/gio/gregistrysettingsbackend.c:1921,1
    - Dst: CreateThread
      Src: /src/glib/gio/gregistrysettingsbackend.c:1926,1
    - Dst: DeleteCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1938,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1939,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1943,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1929,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1941,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1944,1
    - Dst: GetLastError
      Src: /src/glib/gio/gregistrysettingsbackend.c:1929,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - self
    argTypes:
    - GRegistrySettingsBackend*
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: watch_start
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - InitializeCriticalSection
    - CloseHandle
    - DeleteCriticalSection
    - CreateThread
    - CreateEvent
    - GetLastError
    - g_slice_new
    - g_slice_free
    - g_return_val_if_fail
    - g_message_win32_error
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean watch_start (GRegistrySettingsBackend *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 495
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 495
    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: 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: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    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_UNIX_VOLUME_MONITOR
    - g_list_copy_deep
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_volumes (GVolumeMonitor *volume_monitor) '
  - 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:274,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixvolumemonitor.c:279,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: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    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: 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: 2
    argNames:
    - monitor
    - mount_path
    argTypes:
    - GUnixVolumeMonitor*
    - char*
    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: g_unix_mounts_get
      Src: /src/glib/gio/gunixvolumemonitor.c:378,1
    - Dst: diff_sorted_lists
      Src: /src/glib/gio/gunixvolumemonitor.c:382,1
    - Dst: g_unix_mount_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_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolumemonitor.c:408,1
    - Dst: g_unix_mount_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_list_free
      Src: /src/glib/gio/gunixvolumemonitor.c:417,1
    - Dst: find_mount_by_mountpath
      Src: /src/glib/gio/gunixvolumemonitor.c:390,1
    - Dst: g_list_remove
      Src: /src/glib/gio/gunixvolumemonitor.c:394,1
    - Dst: _g_unix_mount_new
      Src: /src/glib/gio/gunixvolumemonitor.c:408,1
    - Dst: _g_unix_volume_monitor_lookup_volume_for_mount_path
      Src: /src/glib/gio/gunixvolumemonitor.c:407,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gunixvolumemonitor.c:380,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_signal_emit_by_name
      Src: /src/glib/gio/gunixvolumemonitor.c:412,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixvolumemonitor.c:416,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:418,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_signal_emit_by_name
    - _g_unix_volume_monitor_lookup_volume_for_mount_path
    - _g_unix_mount_new
    - g_list_sort
    - g_object_unref
    - G_VOLUME_MONITOR
    - g_list_prepend
    - diff_sorted_lists
    - find_mount_by_mountpath
    - g_unix_mount_get_mount_path
    - g_list_remove
    - g_list_free
    - g_unix_mounts_get
    - g_list_free_full
    - _g_unix_mount_unmounted
    linkageType: ''
    returnType: void
    signature: 'static void update_mounts (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_UNIX_VOLUME_MONITOR
    - g_list_free_full
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_monitor_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - volume_monitor
    - uuid
    argTypes:
    - GVolumeMonitor*
    - char*
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixvolumemonitor.c:170,1
    - Dst: G_VOLUME_MONITOR_CLASS
      Src: /src/glib/gio/gunixvolumemonitor.c:171,1
    - Dst: G_NATIVE_VOLUME_MONITOR_CLASS
      Src: /src/glib/gio/gunixvolumemonitor.c:172,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_VOLUME_MONITOR_CLASS
    - G_OBJECT_CLASS
    - G_NATIVE_VOLUME_MONITOR_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_CALLBACK
      Src: /src/glib/gio/gunixvolumemonitor.c:224,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gunixvolumemonitor.c:220,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunixvolumemonitor.c:219,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunixvolumemonitor.c:223,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_CALLBACK
    - g_signal_connect
    - _g_unix_volume_monitor_update
    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: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    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_UNIX_VOLUME_MONITOR
    - g_list_copy_deep
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_mounts (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - volume_monitor
    - uuid
    argTypes:
    - GVolumeMonitor*
    - char*
    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: 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_volumes
    - update_mounts
    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\tgpointer
      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: 1
    argNames:
    - void
    argTypes:
    - void
    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: 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: 2
    argNames:
    - monitor
    - mount_path
    argTypes:
    - GUnixVolumeMonitor*
    - char*
    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:74,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunixvolumemonitor.c:73,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_UNIX_VOLUME_MONITOR
    - g_signal_handlers_disconnect_by_func
    - g_object_unref
    - G_OBJECT_CLASS
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_monitor_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_at
      Src: /src/glib/gio/gunixvolumemonitor.c:154,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gunixvolumemonitor.c:164,1
    - Dst: _g_unix_mount_new
      Src: /src/glib/gio/gunixvolumemonitor.c:160,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/gunixvolumemonitor.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - mount_path
    - cancellable
    argTypes:
    - char*
    - GCancellable*
    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_unix_mount_free
    - g_unix_mount_at
    - G_MOUNT
    - _g_unix_mount_new
    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_unix_volume_monitor_lookup_volume_for_mount_path
      Src: /src/glib/gio/gunixvolumemonitor.c:338,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gunixvolumemonitor.c:328,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_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolumemonitor.c:354,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixvolumemonitor.c:357,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixvolumemonitor.c:362,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolumemonitor.c:358,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:364,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixvolumemonitor.c:363,1
    - Dst: _g_unix_volume_new
      Src: /src/glib/gio/gunixvolumemonitor.c:354,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_signal_emit_by_name
    - _g_unix_volume_disconnected
    - g_unix_mount_points_get
    - _g_unix_volume_monitor_lookup_volume_for_mount_path
    - _g_unix_volume_new
    - g_list_sort
    - g_object_unref
    - G_VOLUME_MONITOR
    - g_list_prepend
    - diff_sorted_lists
    - g_unix_mount_point_get_mount_path
    - g_list_remove
    - g_list_free
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void update_volumes (GUnixVolumeMonitor *monitor) '
  - 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: g_strerror
      Src: /src/glib/gio/giounix-private.c:86,1
    - Dst: close
      Src: /src/glib/gio/giounix-private.c:92,1
    - Dst: epoll_ctl
      Src: /src/glib/gio/giounix-private.c:90,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: G_TEMP_FAILURE_RETRY
      Src: /src/glib/gio/giounix-private.c:119,1
    - Dst: close
      Src: /src/glib/gio/giounix-private.c:121,1
    - Dst: g_fd_is_regular_file
      Src: /src/glib/gio/giounix-private.c:133,1
    - Dst: kevent
      Src: /src/glib/gio/giounix-private.c:119,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:
    - epoll_create1
    - kqueue
    - g_fd_is_regular_file
    - g_strerror
    - g_error
    - EV_SET
    - close
    - G_TEMP_FAILURE_RETRY
    - epoll_ctl
    - kevent
    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:
    - S_ISREG
    - G_TEMP_FAILURE_RETRY
    - fstat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_fd_is_regular_file (int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:181,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatagrambased.c:184,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:181,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:182,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:183,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:185,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:187,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:188,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:194,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdatagrambased.c:196,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdatagrambased.c:199,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:201,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:195,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdatagrambased.c:204,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:198,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: 207
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 207
    functionName: g_datagram_based_receive_messages
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_DATAGRAM_BASED_GET_IFACE
    - g_error_matches
    - G_IS_CANCELLABLE
    - g_propagate_error
    - g_return_val_if_fail
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:343,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:343,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:344,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:347,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatagrambased.c:345,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - datagram_based
    - condition
    - cancellable
    argTypes:
    - GDatagramBased*
    - GIOCondition
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 351
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 351
    functionName: g_datagram_based_create_source
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_DATAGRAM_BASED_GET_IFACE
    - G_IS_CANCELLABLE
    - g_return_val_if_fail
    - G_IS_DATAGRAM_BASED
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_datagram_based_create_source (GDatagramBased *datagram_based,
      GIOCondition condition, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDatagramBasedInterface*
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    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:406,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:408,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:409,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:406,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:416,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:418,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - datagram_based
    - condition
    argTypes:
    - GDatagramBased*
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 424
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 424
    functionName: g_datagram_based_condition_check
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_DATAGRAM_BASED_GET_IFACE
    - g_return_val_if_fail
    - 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:282,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:284,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:283,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatagrambased.c:285,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:282,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:286,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:288,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:289,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:295,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:296,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:299,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:303,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdatagrambased.c:306,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdatagrambased.c:297,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdatagrambased.c:300,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:302,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: 309
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 309
    functionName: g_datagram_based_send_messages
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_DATAGRAM_BASED_GET_IFACE
    - g_error_matches
    - G_IS_CANCELLABLE
    - g_propagate_error
    - g_return_val_if_fail
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:457,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:458,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatagrambased.c:458,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:460,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:457,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:462,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:463,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:469,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdatagrambased.c:472,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: 475
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 475
    functionName: g_datagram_based_condition_wait
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_DATAGRAM_BASED_GET_IFACE
    - G_IS_CANCELLABLE
    - g_propagate_error
    - g_return_val_if_fail
    - 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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:773,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:775,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:775,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 779
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 779
    functionName: g_tls_connection_get_require_close_notify
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - g_object_get
    - 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:866,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:866,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:868,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - protocols
    argTypes:
    - GTlsConnection*
    - gchar**
    constantsTouched: []
    func_position:
      end: 871
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 871
    functionName: g_tls_connection_set_advertised_protocols
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - G_IS_TLS_CONNECTION
    - 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:1120,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlsconnection.c:1126,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:1120,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:1122,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:1122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1127
    functionName: g_tls_connection_get_ciphersuite_name
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_steal_pointer
    - G_IS_TLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_tls_connection_get_ciphersuite_name (GTlsConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:831,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:836,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:836,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 840
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 840
    functionName: g_tls_connection_get_rehandshake_mode
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - g_object_get
    - 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:513,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:513,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsconnection.c:514,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:514,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:516,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - database
    argTypes:
    - GTlsConnection*
    - GTlsDatabase*
    constantsTouched: []
    func_position:
      end: 519
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 519
    functionName: g_tls_connection_set_database
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - G_IS_TLS_DATABASE
    - G_IS_TLS_CONNECTION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tls_connection_set_database (GTlsConnection *conn, GTlsDatabase
      *database) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:748,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:748,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:750,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - require_close_notify
    argTypes:
    - GTlsConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: g_tls_connection_set_require_close_notify
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - G_IS_TLS_CONNECTION
    - 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_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:482,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:484,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:484,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 488
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 488
    functionName: g_tls_connection_get_use_system_certdb
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - g_object_get
    - 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_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:703,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:705,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:703,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 707
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 707
    functionName: g_tls_connection_get_peer_certificate_errors
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - g_object_get
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_tls_connection_get_peer_certificate_errors
      (GTlsConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gtlsconnection.c:1161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - peer_cert
    - errors
    argTypes:
    - GTlsConnection*
    - GTlsCertificate*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 1164
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1164
    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:459,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:459,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:461,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - use_system_certdb
    argTypes:
    - GTlsConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: g_tls_connection_set_use_system_certdb
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - G_IS_TLS_CONNECTION
    - 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:675,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:677,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsconnection.c:679,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:675,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 682
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 682
    functionName: g_tls_connection_get_peer_certificate
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_TLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_connection_get_peer_certificate (GTlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlsconnection.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    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:649,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:649,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:651,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:651,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsconnection.c:653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 656
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 656
    functionName: g_tls_connection_get_interaction
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_TLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    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:229,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:230,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:231,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:248,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:249,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:251,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:278,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:307,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlsconnection.c:308,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:324,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:340,1
    - Dst: I_
      Src: /src/glib/gio/gtlsconnection.c:403,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:275,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gtlsconnection.c:406,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:294,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:214,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:292,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:195,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gtlsconnection.c:276,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlsconnection.c:98,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:117,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:133,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:162,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:165,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:178,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:163,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:179,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:181,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:196,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:213,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gtlsconnection.c:323,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:322,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gtlsconnection.c:413,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gtlsconnection.c:403,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:211,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gtlsconnection.c:212,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:232,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:250,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:277,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:295,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:325,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:338,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlsconnection.c:339,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gtlsconnection.c:412,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:310,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:115,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:114,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:116,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:131,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtlsconnection.c:132,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:134,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:180,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtlsconnection.c:194,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:193,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:164,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:309,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlsconnection.c:293,1
    - Dst: P_
      Src: /src/glib/gio/gtlsconnection.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 81
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTlsConnectionClass*
    constantsTouched: []
    func_position:
      end: 415
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 415
    functionName: g_tls_connection_class_init
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - I_
    - G_TYPE_FROM_CLASS
    - g_param_spec_boolean
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - g_param_spec_string
    - g_param_spec_boxed
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_connection_class_init (GTlsConnectionClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:948,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:951,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlsconnection.c:954,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:949,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:948,1
    - Dst: _
      Src: /src/glib/gio/gtlsconnection.c:956,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - conn
    - type
    - data
    - error
    argTypes:
    - GTlsConnection*
    - GTlsChannelBindingType
    - GByteArray*
    - GError**
    constantsTouched: []
    func_position:
      end: 961
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 961
    functionName: g_tls_connection_get_channel_binding_data
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_TLS_CONNECTION
    - g_set_error_literal
    - g_return_val_if_fail
    - G_TLS_CONNECTION_GET_CLASS
    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:577,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:577,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:580,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:578,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsconnection.c:578,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - certificate
    argTypes:
    - GTlsConnection*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: g_tls_connection_set_certificate
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_TLS_CERTIFICATE
    - g_object_set
    - G_IS_TLS_CONNECTION
    - g_return_if_fail
    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:1035,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:1035,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:1037,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: 1040
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1040
    functionName: g_tls_connection_handshake_async
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_CONNECTION
    - G_TLS_CONNECTION_GET_CLASS
    - 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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:537,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsconnection.c:543,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:539,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:537,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 545
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 545
    functionName: g_tls_connection_get_database
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_TLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    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:626,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:626,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:627,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsconnection.c:627,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:629,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - interaction
    argTypes:
    - GTlsConnection*
    - GTlsInteraction*
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: g_tls_connection_set_interaction
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - G_IS_TLS_CONNECTION
    - G_IS_TLS_INTERACTION
    - g_return_if_fail
    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:1010,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:1012,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:1010,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - cancellable
    - error
    argTypes:
    - GTlsConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1013
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1013
    functionName: g_tls_connection_handshake
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TLS_CONNECTION_GET_CLASS
    - 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:1086,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:1086,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:1088,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gio/gtlsconnection.c:1093,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:1088,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gtlsconnection.c:1094,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1096
    functionName: g_tls_connection_get_protocol_version
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_type_class_peek_static
    - g_enum_get_value
    - G_IS_TLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GTlsProtocolVersion
    signature: 'GTlsProtocolVersion g_tls_connection_get_protocol_version (GTlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlsconnection.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:599,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:601,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:601,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:599,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsconnection.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 606
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 606
    functionName: g_tls_connection_get_certificate
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_TLS_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    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:802,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:804,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:804,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - mode
    argTypes:
    - GTlsConnection*
    - GTlsRehandshakeMode
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: g_tls_connection_set_rehandshake_mode
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - G_IS_TLS_CONNECTION
    - 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:894,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:896,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 901
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 901
    functionName: g_tls_connection_get_negotiated_protocol
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TLS_CONNECTION_GET_CLASS
    - 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:1061,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:1063,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:1061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - result
    - error
    argTypes:
    - GTlsConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1064
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1064
    functionName: g_tls_connection_handshake_finish
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TLS_CONNECTION_GET_CLASS
    - 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_SIMPLE_IO_STREAM
      Src: /src/glib/gio/gsimpleiostream.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    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:98,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsimpleiostream.c:107,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsimpleiostream.c:103,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsimpleiostream.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_simple_io_stream_set_property
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SIMPLE_IO_STREAM
    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:159,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsimpleiostream.c:175,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gsimpleiostream.c:160,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleiostream.c:176,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleiostream.c:174,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleiostream.c:177,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleiostream.c:188,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsimpleiostream.c:189,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleiostream.c:190,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleiostream.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSimpleIOStreamClass*
    constantsTouched: []
    func_position:
      end: 196
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 196
    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
    - P_
    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:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - input_stream
    - output_stream
    argTypes:
    - GInputStream*
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    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:81,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleiostream.c:89,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleiostream.c:84,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleiostream.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: g_simple_io_stream_finalize
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_object_unref
    - G_SIMPLE_IO_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_io_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_IO_STREAM
      Src: /src/glib/gio/gsimpleiostream.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_IO_STREAM
      Src: /src/glib/gio/gsimpleiostream.c:122,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsimpleiostream.c:127,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsimpleiostream.c:131,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsimpleiostream.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 138
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 138
    functionName: g_simple_io_stream_get_property
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SIMPLE_IO_STREAM
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GSimpleIOStream*
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gunixmount.c:283,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gunixmount.c:292,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/gunixmount.c:291,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gunixmount.c:285,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmount.c:287,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_assert_no_error
    - g_object_unref
    - g_task_return_error_if_cancelled
    - g_subprocess_newv
    - g_subprocess_communicate_utf8_async
    - g_task_get_cancellable
    - 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:
    - G_UNIX_MOUNT
    - eject_unmount_do
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_unmount (GMount *mount, GMountUnmountFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:309,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gunixmount.c:316,1
    - Dst: g_task_new
      Src: /src/glib/gio/gunixmount.c:313,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_signal_emit_by_name
    - g_task_attach_source
    - g_task_set_task_data
    - g_strdupv
    - g_task_new
    - g_task_set_source_tag
    - G_UNIX_MOUNT
    - g_task_set_name
    - g_source_unref
    - g_timeout_source_new
    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_propagate_boolean
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_mount_unmount_finish (GMount *mount, GAsyncResult
      *result, GError **error) '
  - 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_guess_should_display
      Src: /src/glib/gio/gunixmount.c:117,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_unix_mount_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_strdup
      Src: /src/glib/gio/gunixmount.c:123,1
    - Dst: g_unix_mount_get_mount_path
      Src: /src/glib/gio/gunixmount.c:123,1
    - Dst: g_unix_mount_guess_can_eject
      Src: /src/glib/gio/gunixmount.c:124,1
    - Dst: g_unix_mount_guess_name
      Src: /src/glib/gio/gunixmount.c:126,1
    - Dst: g_unix_mount_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_guess_symbolic_icon
      Src: /src/glib/gio/gunixmount.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - volume_monitor
    - mount_entry
    - volume
    argTypes:
    - GVolumeMonitor*
    - GUnixMountEntry*
    - GUnixVolume*
    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_strdup
    - g_object_ref
    - _g_unix_volume_set_mount
    - g_object_new
    - g_unix_mount_guess_icon
    - g_unix_mount_guess_should_display
    - g_unix_mount_guess_can_eject
    - g_unix_mount_guess_name
    - g_unix_mount_get_mount_path
    - g_unix_mount_guess_symbolic_icon
    - g_unix_mount_get_device_path
    linkageType: ''
    returnType: GUnixMount*
    signature: 'GUnixMount *_g_unix_mount_new (GVolumeMonitor *volume_monitor, GUnixMountEntry
      *mount_entry, 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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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: 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:224,1
    - Dst: G_VOLUME
      Src: /src/glib/gio/gunixmount.c:227,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixmount.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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_object_ref
    - G_VOLUME
    linkageType: ''
    returnType: GVolume*
    signature: 'static GVolume *g_unix_mount_get_volume (GMount *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: 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:
    - 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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:213,1
    - Dst: g_volume_get_drive
      Src: /src/glib/gio/gunixmount.c:216,1
    - Dst: G_VOLUME
      Src: /src/glib/gio/gunixmount.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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
    - g_volume_get_drive
    linkageType: ''
    returnType: GDrive*
    signature: 'static GDrive *g_unix_mount_get_drive (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: []
    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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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: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: 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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/gunixmount.c:250,1
    - Dst: g_error_free
      Src: /src/glib/gio/gunixmount.c:258,1
    - Dst: g_subprocess_communicate_utf8_finish
      Src: /src/glib/gio/gunixmount.c:255,1
    - Dst: g_subprocess_get_successful
      Src: /src/glib/gio/gunixmount.c:262,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gunixmount.c:257,1
    - Dst: g_task_return_new_error
      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_free
    - g_error_free
    - g_object_unref
    - G_SUBPROCESS
    - g_subprocess_communicate_utf8_finish
    - g_task_return_boolean
    - g_task_return_error
    - g_task_return_new_error
    - g_subprocess_get_successful
    linkageType: ''
    returnType: void
    signature: 'static void eject_unmount_done (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - 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: 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:
    - G_UNIX_MOUNT
    - eject_unmount_do
    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:87,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmount.c:81,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmount.c:88,1
    - Dst: _g_unix_volume_unset_mount
      Src: /src/glib/gio/gunixmount.c:84,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_free
    - _g_unix_volume_unset_mount
    - g_object_unref
    - G_UNIX_MOUNT
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_finalize (GObject *object) '
  - 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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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_UNIX_MOUNT
    - g_file_new_for_path
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_unix_mount_get_root (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_propagate_boolean
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_mount_eject_finish (GMount *mount, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketcontrolmessage.c:74,1
    - Dst: G_IS_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gsocketcontrolmessage.c:74,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_GET_CLASS
      Src: /src/glib/gio/gsocketcontrolmessage.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: g_socket_control_message_get_size
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONTROL_MESSAGE
    - g_return_val_if_fail
    - G_SOCKET_CONTROL_MESSAGE_GET_CLASS
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_socket_control_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: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    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:112,1
    - Dst: G_IS_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gsocketcontrolmessage.c:112,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_GET_CLASS
      Src: /src/glib/gio/gsocketcontrolmessage.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: g_socket_control_message_get_msg_type
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONTROL_MESSAGE
    - g_return_val_if_fail
    - G_SOCKET_CONTROL_MESSAGE_GET_CLASS
    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:
    - class
    argTypes:
    - GSocketControlMessageClass*
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    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:93,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_GET_CLASS
      Src: /src/glib/gio/gsocketcontrolmessage.c:95,1
    - Dst: G_IS_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gsocketcontrolmessage.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: g_socket_control_message_get_level
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONTROL_MESSAGE
    - g_return_val_if_fail
    - G_SOCKET_CONTROL_MESSAGE_GET_CLASS
    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:135,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_GET_CLASS
      Src: /src/glib/gio/gsocketcontrolmessage.c:137,1
    - Dst: G_IS_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gsocketcontrolmessage.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - message
    - data
    argTypes:
    - GSocketControlMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: g_socket_control_message_serialize
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONTROL_MESSAGE
    - G_SOCKET_CONTROL_MESSAGE_GET_CLASS
    - 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:183,1
    - Dst: g_type_children
      Src: /src/glib/gio/gsocketcontrolmessage.c:187,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gsocketcontrolmessage.c:194,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gsocketcontrolmessage.c:184,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gsocketcontrolmessage.c:196,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketcontrolmessage.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - level
    - type
    - size
    - data
    argTypes:
    - int
    - int
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 215
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 215
    functionName: g_socket_control_message_deserialize
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - g_free
    - g_type_ensure
    - g_type_children
    - g_type_class_unref
    - g_type_class_ref
    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:
    - compressor
    argTypes:
    - GZlibCompressor*
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    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:126,1
    - Dst: g_zlib_compressor_set_file_info
      Src: /src/glib/gio/gzlibcompressor.c:139,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gzlibcompressor.c:135,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gzlibcompressor.c:139,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gzlibcompressor.c:131,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gzlibcompressor.c:143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 147
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 147
    functionName: g_zlib_compressor_set_property
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_value_get_int
    - g_value_get_enum
    - g_value_get_object
    - g_zlib_compressor_set_file_info
    - G_ZLIB_COMPRESSOR
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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_new
      Src: /src/glib/gio/gzlibcompressor.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - format
    - level
    argTypes:
    - GZlibCompressorFormat
    - int
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 292
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gzlibcompressor.c:332,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gzlibcompressor.c:338,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gzlibcompressor.c:342,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gzlibcompressor.c:340,1
    - Dst: G_IS_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:332,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gzlibcompressor.c:342,1
    - Dst: g_zlib_compressor_set_gzheader
      Src: /src/glib/gio/gzlibcompressor.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - compressor
    - file_info
    argTypes:
    - GZlibCompressor*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 345
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 345
    functionName: g_zlib_compressor_set_file_info
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_object_unref
    - g_object_notify
    - g_zlib_compressor_set_gzheader
    - G_IS_ZLIB_COMPRESSOR
    - g_return_if_fail
    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:350,1
    - Dst: deflateReset
      Src: /src/glib/gio/gzlibcompressor.c:353,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibcompressor.c:355,1
    - Dst: g_zlib_compressor_set_gzheader
      Src: /src/glib/gio/gzlibcompressor.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 359
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 359
    functionName: g_zlib_compressor_reset
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - G_ZLIB_COMPRESSOR
    - g_zlib_compressor_set_gzheader
    - 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:82,1
    - Dst: deflateSetHeader
      Src: /src/glib/gio/gzlibcompressor.c:93,1
    - Dst: strlen
      Src: /src/glib/gio/gzlibcompressor.c:87,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/glib/gio/gzlibcompressor.c:90,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gzlibcompressor.c:85,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibcompressor.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - compressor
    argTypes:
    - GZlibCompressor*
    constantsTouched: []
    func_position:
      end: 96
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 96
    functionName: g_zlib_compressor_set_gzheader
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - strlen
    - g_file_info_get_name
    - g_warning
    - memset
    - g_file_info_get_attribute_uint64
    - deflateSetHeader
    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:107,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gzlibcompressor.c:114,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gzlibcompressor.c:112,1
    - Dst: deflateEnd
      Src: /src/glib/gio/gzlibcompressor.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: g_zlib_compressor_finalize
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - G_ZLIB_COMPRESSOR
    - deflateEnd
    - G_OBJECT_CLASS
    - g_object_unref
    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:157,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gzlibcompressor.c:166,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gzlibcompressor.c:174,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gzlibcompressor.c:162,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gzlibcompressor.c:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: g_zlib_compressor_get_property
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - g_value_set_int
    - g_value_set_object
    - G_ZLIB_COMPRESSOR
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:190,1
    - Dst: g_error
      Src: /src/glib/gio/gzlibcompressor.c:212,1
    - Dst: deflateInit2
      Src: /src/glib/gio/gzlibcompressor.c:203,1
    - Dst: deflateInit2
      Src: /src/glib/gio/gzlibcompressor.c:195,1
    - Dst: deflateInit
      Src: /src/glib/gio/gzlibcompressor.c:209,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibcompressor.c:215,1
    - Dst: g_zlib_compressor_set_gzheader
      Src: /src/glib/gio/gzlibcompressor.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 218
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 218
    functionName: g_zlib_compressor_constructed
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - deflateInit2
    - g_error
    - g_warning
    - deflateInit
    - g_zlib_compressor_set_gzheader
    - G_ZLIB_COMPRESSOR
    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:376,1
    - Dst: _
      Src: /src/glib/gio/gzlibcompressor.c:395,1
    - Dst: g_set_error
      Src: /src/glib/gio/gzlibcompressor.c:401,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibcompressor.c:394,1
    - Dst: deflate
      Src: /src/glib/gio/gzlibcompressor.c:390,1
    - Dst: _
      Src: /src/glib/gio/gzlibcompressor.c:402,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibcompressor.c:414,1
    - Dst: _
      Src: /src/glib/gio/gzlibcompressor.c:415,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gzlibcompressor.c:429,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: 430
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 430
    functionName: g_zlib_compressor_convert
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - deflate
    - g_assert_not_reached
    - g_set_error_literal
    - G_ZLIB_COMPRESSOR
    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: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    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_CLASS
      Src: /src/glib/gio/gzlibcompressor.c:223,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gzlibcompressor.c:230,1
    - Dst: P_
      Src: /src/glib/gio/gzlibcompressor.c:234,1
    - Dst: P_
      Src: /src/glib/gio/gzlibcompressor.c:233,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:239,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gzlibcompressor.c:241,1
    - Dst: P_
      Src: /src/glib/gio/gzlibcompressor.c:242,1
    - Dst: P_
      Src: /src/glib/gio/gzlibcompressor.c:243,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gzlibcompressor.c:259,1
    - Dst: P_
      Src: /src/glib/gio/gzlibcompressor.c:262,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gzlibcompressor.c:261,1
    - Dst: P_
      Src: /src/glib/gio/gzlibcompressor.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GZlibCompressorClass*
    constantsTouched: []
    func_position:
      end: 267
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 267
    functionName: g_zlib_compressor_class_init
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - g_param_spec_int
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_compressor_class_init (GZlibCompressorClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gzlibcompressor.c:307,1
    - Dst: G_IS_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - compressor
    argTypes:
    - GZlibCompressor*
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    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:194,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:196,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gdbuserror.c:203,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:195,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:197,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gdbuserror.c:208,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:212,1
    - Dst: g_dbus_error_register_error
      Src: /src/glib/gio/gdbuserror.c:212,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gdbuserror.c:216,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: 218
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 218
    functionName: g_dbus_error_register_error_domain
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - g_once_init_enter
    - g_warn_if_fail
    - g_once_init_leave
    - g_dbus_error_register_error
    - g_return_if_fail
    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: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    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:334,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - re
    argTypes:
    - RegisteredError*
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    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:433,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbuserror.c:459,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:460,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:451,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:466,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:479,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:451,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:445,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:441,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:457,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:459,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:475,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbuserror.c:460,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbuserror.c:466,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:437,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:457,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbuserror.c:463,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbuserror.c:468,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbuserror.c:470,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbuserror.c:475,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: 481
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 481
    functionName: g_dbus_error_unregister_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - G_LOCK
    - g_assert
    - g_hash_table_size
    - g_warn_if_fail
    - g_hash_table_remove
    - G_UNLOCK
    - g_return_val_if_fail
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_error_unregister_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:500,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:688,1
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/gdbuserror.c:697,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:690,1
    - Dst: va_start
      Src: /src/glib/gio/gdbuserror.c:702,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:689,1
    - Dst: g_dbus_error_set_dbus_error_valist
      Src: /src/glib/gio/gdbuserror.c:703,1
    - Dst: va_end
      Src: /src/glib/gio/gdbuserror.c:708,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: 710
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 710
    functionName: g_dbus_error_set_dbus_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - va_end
    - g_dbus_error_set_dbus_error_valist
    - va_start
    - g_dbus_error_new_for_dbus_error
    - g_return_if_fail
    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_if_fail
      Src: /src/glib/gio/gdbuserror.c:731,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:733,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbuserror.c:742,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:732,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbuserror.c:743,1
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/gdbuserror.c:744,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:745,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:746,1
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/gdbuserror.c:750,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: 752
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 752
    functionName: g_dbus_error_set_dbus_error_valist
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strdup_vprintf
    - g_strdup_printf
    - g_dbus_error_new_for_dbus_error
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gdbuserror.c:163,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbuserror.c:168,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbuserror.c:163,1
    - Dst: g_dbus_error_register_error_domain
      Src: /src/glib/gio/gdbuserror.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_int_hash
      Src: /src/glib/gio/gdbuserror.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pair
    argTypes:
    - QuarkCodePair*
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:233,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:270,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbuserror.c:241,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbuserror.c:235,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:243,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:278,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbuserror.c:281,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gdbuserror.c:285,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:286,1
    - Dst: atoi
      Src: /src/glib/gio/gdbuserror.c:289,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbuserror.c:297,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: 300
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 300
    functionName: _g_dbus_error_decode_gerror
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_free
    - g_string_append_c
    - atoi
    - g_ascii_isalnum
    - g_str_has_prefix
    - g_quark_from_string
    - g_string_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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:372,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbuserror.c:381,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbuserror.c:383,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:380,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:376,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:389,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:395,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbuserror.c:398,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbuserror.c:400,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbuserror.c:402,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbuserror.c:403,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:408,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: 410
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 410
    functionName: g_dbus_error_register_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - G_LOCK
    - g_assert
    - g_hash_table_insert
    - G_UNLOCK
    - g_hash_table_lookup
    - g_hash_table_new
    - g_hash_table_new_full
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_error_register_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:527,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:534,1
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbuserror.c:530,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:542,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:543,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbuserror.c:548,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:552,1
    - Dst: strstr
      Src: /src/glib/gio/gdbuserror.c:557,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbuserror.c:560,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:565,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 568
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 568
    functionName: g_dbus_error_get_remote_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_LOCK
    - _g_dbus_initialize
    - g_assert
    - g_strndup
    - G_UNLOCK
    - g_return_val_if_fail
    - strstr
    - g_str_has_prefix
    - g_hash_table_lookup
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_error_get_remote_error (const GError *error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:615,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:616,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:621,1
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbuserror.c:619,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:626,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:627,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdbuserror.c:632,1
    - Dst: _g_dbus_error_decode_gerror
      Src: /src/glib/gio/gdbuserror.c:643,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdbuserror.c:647,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdbuserror.c:655,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:663,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - dbus_error_name
    - dbus_error_message
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 665
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 665
    functionName: g_dbus_error_new_for_dbus_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - _g_dbus_initialize
    - g_assert
    - g_error_new
    - G_UNLOCK
    - g_return_val_if_fail
    - g_hash_table_lookup
    - _g_dbus_error_decode_gerror
    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_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:774,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbuserror.c:788,1
    - Dst: strstr
      Src: /src/glib/gio/gdbuserror.c:785,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:789,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:778,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 796
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 796
    functionName: g_dbus_error_strip_remote_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - strstr
    - g_str_has_prefix
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_error_strip_remote_error (GError *error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:825,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:839,1
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbuserror.c:828,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:840,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:832,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbuserror.c:844,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:845,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:853,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gdbuserror.c:859,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:862,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:870,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbuserror.c:868,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:888,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbuserror.c:892,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:887,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbuserror.c:891,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbuserror.c:864,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:876,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 896
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 896
    functionName: g_dbus_error_encode_gerror
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_new
    - G_LOCK
    - _g_dbus_initialize
    - g_assert
    - g_quark_to_string
    - g_string_append_printf
    - G_UNLOCK
    - g_string_append_c
    - g_return_val_if_fail
    - g_ascii_isalnum
    - g_string_free
    - g_hash_table_lookup
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_error_encode_gerror (const GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_instance_private
      Src: /src/glib/gio/giostream.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:555,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/giostream.c:559,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:568,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:563,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: 569
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 569
    functionName: close_async_thread
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_get_cancellable
    - g_task_return_error
    - G_IO_STREAM_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void close_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/giostream.c:121,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/giostream.c:126,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/giostream.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: g_io_stream_dispose
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - G_OBJECT_CLASS
    - g_io_stream_close
    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:141,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/giostream.c:150,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:150,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/giostream.c:146,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/giostream.c:154,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:154,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/giostream.c:158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 160
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: g_io_stream_get_property
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_io_stream_get_input_stream
    - g_value_set_boolean
    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:537,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/giostream.c:540,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:538,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/giostream.c:538,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:537,1
    - Dst: G_TASK
      Src: /src/glib/gio/giostream.c:540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GIOStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: g_io_stream_close_finish
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - G_IS_IO_STREAM
    - g_task_propagate_boolean
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_io_stream_close_finish (GIOStream *stream,\t\t\t GAsyncResult
      *result,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:408,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/giostream.c:419,1
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:410,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:408,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/giostream.c:415,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/giostream.c:426,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/giostream.c:429,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 432
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 432
    functionName: g_io_stream_close
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_io_stream_set_pending
    - G_IS_IO_STREAM
    - g_io_stream_clear_pending
    - g_cancellable_push_current
    - g_return_val_if_fail
    - G_IO_STREAM_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_io_stream_close (GIOStream *stream,\t\t GCancellable *cancellable,\t\t
      GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/giostream.c:585,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/giostream.c:588,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/giostream.c:595,1
    - Dst: g_output_stream_close_finish
      Src: /src/glib/gio/giostream.c:595,1
    - Dst: g_error_free
      Src: /src/glib/gio/giostream.c:599,1
    - Dst: g_input_stream_close_finish
      Src: /src/glib/gio/giostream.c:604,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/giostream.c:604,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:609,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:611,1
    - Dst: g_slice_free
      Src: /src/glib/gio/giostream.c:613,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:614,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 616
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 616
    functionName: stream_close_complete
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IS_OUTPUT_STREAM
    - g_error_free
    - g_slice_free
    - g_output_stream_close_finish
    - g_object_unref
    - g_input_stream_close_finish
    - g_task_return_boolean
    - g_task_return_error
    - G_INPUT_STREAM
    - G_OUTPUT_STREAM
    - g_task_get_task_data
    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:690,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:693,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:691,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:694,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:695,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giostream.c:696,1
    - Dst: g_slice_free
      Src: /src/glib/gio/giostream.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SpliceContext*
    constantsTouched: []
    func_position:
      end: 698
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 698
    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:439,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/giostream.c:446,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/giostream.c:448,1
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:440,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:454,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:456,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:458,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 459
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 459
    functionName: async_ready_close_callback_wrapper
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_object_unref
    - g_io_stream_clear_pending
    - g_task_return_boolean
    - g_task_return_error
    - g_async_result_legacy_propagate_error
    - G_IO_STREAM_GET_CLASS
    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:629,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/giostream.c:630,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:634,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/giostream.c:631,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/giostream.c:632,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:635,1
    - Dst: g_input_stream_async_close_is_via_threads
      Src: /src/glib/gio/giostream.c:637,1
    - Dst: g_output_stream_async_close_is_via_threads
      Src: /src/glib/gio/giostream.c:637,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/giostream.c:642,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:643,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/giostream.c:659,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/giostream.c:658,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/giostream.c:657,1
    - Dst: g_slice_new
      Src: /src/glib/gio/giostream.c:653,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: 661
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 661
    functionName: g_io_stream_real_close_async
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_io_stream_get_output_stream
    - g_task_set_task_data
    - g_output_stream_async_close_is_via_threads
    - g_input_stream_async_close_is_via_threads
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_set_check_cancellable
    - g_input_stream_close_async
    - g_output_stream_close_async
    - g_slice_new
    - g_io_stream_get_input_stream
    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:705,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:710,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - task
    - ctx
    argTypes:
    - GTask*
    - SpliceContext*
    constantsTouched: []
    func_position:
      end: 715
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 715
    functionName: splice_complete
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_cancellable_disconnect
    - g_task_return_boolean
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void splice_complete (GTask *task, SpliceContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:920,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/giostream.c:922,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/giostream.c:920,1
    - Dst: G_TASK
      Src: /src/glib/gio/giostream.c:922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 923
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 923
    functionName: g_io_stream_splice_finish
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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:254,1
    - Dst: g_assert
      Src: /src/glib/gio/giostream.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/giostream.c:330,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    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:668,1
    - Dst: G_TASK
      Src: /src/glib/gio/giostream.c:670,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/giostream.c:668,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/giostream.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GIOStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 671
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 671
    functionName: g_io_stream_real_close_finish
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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:723,1
    - Dst: g_io_stream_close_finish
      Src: /src/glib/gio/giostream.c:726,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giostream.c:734,1
    - Dst: splice_complete
      Src: /src/glib/gio/giostream.c:738,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/giostream.c:726,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:740,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - iostream
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 741
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 741
    functionName: splice_close_cb
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_object_unref
    - splice_complete
    - g_clear_error
    - g_io_stream_close_finish
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void splice_close_cb (GObject *iostream, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/giostream.c:820,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/giostream.c:822,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/giostream.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cancellable
    - task
    argTypes:
    - GCancellable*
    - GTask*
    constantsTouched: []
    func_position:
      end: 823
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 823
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_close
      Src: /src/glib/gio/giostream.c:342,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/giostream.c:350,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:342,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: g_io_stream_real_close
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_input_stream
    - g_input_stream_close
    - g_io_stream_get_output_stream
    - g_output_stream_close
    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_OUTPUT_STREAM
      Src: /src/glib/gio/giostream.c:752,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giostream.c:761,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giostream.c:767,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/giostream.c:779,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/giostream.c:781,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:811,1
    - Dst: g_output_stream_splice_finish
      Src: /src/glib/gio/giostream.c:752,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/giostream.c:773,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/giostream.c:798,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/giostream.c:799,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:801,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/giostream.c:782,1
    - Dst: g_error_matches
      Src: /src/glib/gio/giostream.c:758,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/giostream.c:774,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/giostream.c:788,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/giostream.c:789,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:791,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/giostream.c:749,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/giostream.c:760,1
    - Dst: splice_complete
      Src: /src/glib/gio/giostream.c:808,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - ostream
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 812
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 812
    functionName: splice_cb
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_error_matches
    - g_object_unref
    - g_cancellable_is_cancelled
    - g_output_stream_splice_finish
    - g_clear_error
    - g_cancellable_cancel
    - g_io_stream_close_async
    - splice_complete
    - g_cancellable_reset
    - g_task_get_priority
    - G_OUTPUT_STREAM
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void splice_cb (GObject *ostream, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:230,1
    - Dst: g_assert
      Src: /src/glib/gio/giostream.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    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:208,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    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:296,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/giostream.c:300,1
    - Dst: _
      Src: /src/glib/gio/giostream.c:301,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/giostream.c:307,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:296,1
    - Dst: _
      Src: /src/glib/gio/giostream.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - GIOStream*
    - GError**
    constantsTouched: []
    func_position:
      end: 317
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 317
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/giostream.c:494,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:494,1
    - Dst: g_task_new
      Src: /src/glib/gio/giostream.c:496,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:501,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/giostream.c:497,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:502,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/giostream.c:506,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:508,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:509,1
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:513,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: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: g_io_stream_close_async
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_set_pending
    - G_IS_IO_STREAM
    - G_IO_STREAM_GET_CLASS
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_return_boolean
    - g_task_return_error
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/giostream.c:165,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/giostream.c:175,1
    - Dst: P_
      Src: /src/glib/gio/giostream.c:176,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/giostream.c:174,1
    - Dst: P_
      Src: /src/glib/gio/giostream.c:177,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/giostream.c:181,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/giostream.c:182,1
    - Dst: P_
      Src: /src/glib/gio/giostream.c:183,1
    - Dst: P_
      Src: /src/glib/gio/giostream.c:184,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/giostream.c:187,1
    - Dst: P_
      Src: /src/glib/gio/giostream.c:190,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/giostream.c:188,1
    - Dst: P_
      Src: /src/glib/gio/giostream.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GIOStreamClass*
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: g_io_stream_class_init
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - g_param_spec_boolean
    - G_OBJECT_CLASS
    - P_
    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:273,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    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_object_ref
      Src: /src/glib/gio/giostream.c:870,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/giostream.c:873,1
    - Dst: g_task_new
      Src: /src/glib/gio/giostream.c:877,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/giostream.c:878,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:885,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:895,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:896,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:893,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/giostream.c:891,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/giostream.c:885,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/giostream.c:884,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:901,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:890,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:889,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/giostream.c:860,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/giostream.c:869,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/giostream.c:862,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:871,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/giostream.c:874,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/giostream.c:879,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:883,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/giostream.c:897,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:899,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: 902
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 902
    functionName: g_io_stream_splice_async
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_slice_new0
    - g_task_set_task_data
    - g_io_stream_get_output_stream
    - g_cancellable_new
    - g_task_new
    - g_cancellable_is_cancelled
    - g_task_set_source_tag
    - g_cancellable_connect
    - G_CALLBACK
    - g_object_unref
    - g_task_report_new_error
    - g_io_stream_get_input_stream
    - g_output_stream_splice_async
    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: 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_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
    - Dst: g_slist_prepend
      Src: /src/glib/gio/glib-compile-schemas.c:1251,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1252,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: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1194,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: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: _
      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_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1150,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1186,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1204,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1206,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1185,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_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:1138,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_str_has_prefix
      Src: /src/glib/gio/glib-compile-schemas.c:1236,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:1244,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
    - g_strdup
    - _
    - g_free
    - is_subclass
    - g_hash_table_insert
    - g_strdup_printf
    - g_str_has_prefix
    - g_str_has_suffix
    - g_slist_prepend
    - g_hash_table_lookup
    - schema_state_new
    - g_printerr
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1680,1
    - Dst: gvdb_item_set_value
      Src: /src/glib/gio/glib-compile-schemas.c:1683,1
    - Dst: key_state_serialise
      Src: /src/glib/gio/glib-compile-schemas.c:1682,1
    - Dst: gvdb_item_set_parent
      Src: /src/glib/gio/glib-compile-schemas.c:1681,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:
    - _
    - g_free
    - g_variant_unref
    - key_state_serialise
    - gvdb_item_set_parent
    - g_strdup_printf
    - gvdb_item_set_value
    - gvdb_hash_table_insert
    - g_hash_table_lookup
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void output_key (gpointer key, gpointer value, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1797,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glib-compile-schemas.c:1782,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_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: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_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:1832,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1832,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1826,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1860,1
    - 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:1835,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
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - files
    - strict
    argTypes:
    - gchar**
    - gboolean
    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_markup_parse_context_parse
    - g_markup_parse_context_free
    - _
    - g_hash_table_unref
    - g_free
    - g_slist_free
    - g_markup_parse_context_new
    - g_markup_parse_context_end_parse
    - fprintf
    - g_hash_table_remove
    - g_clear_error
    - g_hash_table_new_full
    - g_file_get_contents
    - g_markup_parse_context_get_position
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *parse_gschema_files (gchar **files, gboolean strict) '
  - 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_assert
      Src: /src/glib/gio/glib-compile-schemas.c:1118,1
    - Dst: is_subclass
      Src: /src/glib/gio/glib-compile-schemas.c:1121,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1117,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
    - g_hash_table_lookup
    - is_subclass
    - strcmp
    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: _
      Src: /src/glib/gio/glib-compile-schemas.c:1269,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:1276,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1267,1
    - Dst: enum_state_new
      Src: /src/glib/gio/glib-compile-schemas.c:1274,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
    - g_strdup
    - _
    - g_hash_table_insert
    - enum_state_new
    - g_slist_prepend
    - g_hash_table_lookup
    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_item_set_parent
      Src: /src/glib/gio/glib-compile-schemas.c:1721,1
    - Dst: gvdb_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1720,1
    - Dst: gvdb_item_set_hash_table
      Src: /src/glib/gio/glib-compile-schemas.c:1722,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gio/glib-compile-schemas.c:1724,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_pair_init
    - gvdb_item_set_parent
    - gvdb_item_set_hash_table
    - g_hash_table_foreach
    - gvdb_hash_table_insert
    - gvdb_hash_table_insert_string
    - gvdb_pair_clear
    linkageType: ''
    returnType: void
    signature: 'static void output_schema (gpointer key, gpointer value, gpointer
      user_data) '
  - 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: _
      Src: /src/glib/gio/glib-compile-schemas.c:316,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/glib-compile-schemas.c:312,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:314,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_variant_compare
    - g_set_error
    - _
    - is_valid_choices
    linkageType: ''
    returnType: void
    signature: 'static void key_state_check_range (KeyState *state, 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_foreach
      Src: /src/glib/gio/glib-compile-schemas.c:1757,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1762,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:
    - gvdb_table_write_contents
    - gvdb_pair_init
    - g_hash_table_unref
    - g_hash_table_foreach
    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:232,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/glib-compile-schemas.c:243,1
    - Dst: g_string_new_len
      Src: /src/glib/gio/glib-compile-schemas.c:235,1
    - Dst: g_variant_type_copy
      Src: /src/glib/gio/glib-compile-schemas.c:233,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/glib-compile-schemas.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - state
    - gettext_domain
    argTypes:
    - KeyState*
    - gchar*
    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_ref
    - g_slice_new0
    - g_string_new_len
    - g_variant_type_copy
    linkageType: ''
    returnType: KeyState*
    signature: 'static KeyState *key_state_override (KeyState *state, const gchar
      *gettext_domain) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_classify
      Src: /src/glib/gio/glib-compile-schemas.c:265,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/glib-compile-schemas.c:275,1
    - Dst: is_valid_choices
      Src: /src/glib/gio/glib-compile-schemas.c:277,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/glib-compile-schemas.c:273,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:278,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_next_value
    - strinfo_is_string_valid
    - g_variant_iter_init
    - g_variant_classify
    - g_variant_unref
    - g_assert_not_reached
    - g_variant_get_string
    - is_valid_choices
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_choices (GVariant *variant, GString *strinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_builder_contains
      Src: /src/glib/gio/glib-compile-schemas.c:526,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:528,1
    - Dst: strinfo_builder_append_item
      Src: /src/glib/gio/glib-compile-schemas.c:534,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:530,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:1059,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:1052,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1046,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_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:1073,1
    - Dst: g_hash_table_insert
      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
    - g_hash_table_insert
    - key_state_override
    - g_set_error_literal
    - g_hash_table_lookup
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/glib-compile-schemas.c:210,1
    - Dst: g_variant_type_new
      Src: /src/glib/gio/glib-compile-schemas.c:211,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-schemas.c:221,1
    - Dst: g_string_new_len
      Src: /src/glib/gio/glib-compile-schemas.c:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - type_string
    - gettext_domain
    - is_enum
    - is_flags
    - strinfo
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    - gboolean
    - GString*
    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_variant_type_new
    - g_string_new
    - g_slice_new0
    - g_string_new_len
    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: 1
    argNames:
    - child_schema
    argTypes:
    - gchar*
    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: _
      Src: /src/glib/gio/glib-compile-schemas.c:545,1
    - Dst: key_state_check_range
      Src: /src/glib/gio/glib-compile-schemas.c:549,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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/glib-compile-schemas.c:41,1
    - Dst: g_string_truncate
      Src: /src/glib/gio/glib-compile-schemas.c:48,1
    - Dst: g_string_erase
      Src: /src/glib/gio/glib-compile-schemas.c:42,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/glib-compile-schemas.c:47,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_string_erase
    - g_string_truncate
    - g_ascii_isspace
    linkageType: ''
    returnType: void
    signature: 'static void strip_string (GString *string) '
  - 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_string_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void enum_state_free (gpointer data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:92,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:103,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:94,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:105,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/glib-compile-schemas.c:98,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: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:133,1
    - Dst: strinfo_builder_append_item
      Src: /src/glib/gio/glib-compile-schemas.c:145,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:135,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:121,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_contains_value
    - g_ascii_strtoll
    - strinfo_builder_contains
    - strinfo_builder_append_item
    linkageType: ''
    returnType: void
    signature: 'static void enum_state_add_value (EnumState *state, const gchar *nick,
      const gchar *valuestr, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:372,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:374,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/glib-compile-schemas.c:389,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/glib-compile-schemas.c:378,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:390,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: key_state_check_range
      Src: /src/glib/gio/glib-compile-schemas.c:413,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:407,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:409,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_type_dup_string
    - key_state_check_range
    - _
    - g_free
    - g_variant_compare
    - g_variant_parse
    - G_N_ELEMENTS
    - g_set_error_literal
    linkageType: ''
    returnType: void
    signature: 'static void key_state_set_range (KeyState *state, const gchar *min_str,
      const gchar *max_str, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_parse
      Src: /src/glib/gio/glib-compile-schemas.c:470,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: _
      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: 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_type_dup_string
    - key_state_check_range
    - _
    - g_free
    - g_prefix_error
    - g_variant_parse
    linkageType: ''
    returnType: void
    signature: 'static void key_state_end_default (KeyState *state, GString **string,
      GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strip_string
      Src: /src/glib/gio/glib-compile-schemas.c:678,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/glib-compile-schemas.c:644,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/glib-compile-schemas.c:658,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/glib-compile-schemas.c:655,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_variant_builder_add
      Src: /src/glib/gio/glib-compile-schemas.c:736,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/gio/glib-compile-schemas.c:719,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-schemas.c:699,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/glib-compile-schemas.c:713,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_builder_end
      Src: /src/glib/gio/glib-compile-schemas.c:739,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/glib-compile-schemas.c:742,1
    - 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:723,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:731,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/glib-compile-schemas.c:717,1
    - Dst: g_variant_dict_end
      Src: /src/glib/gio/glib-compile-schemas.c:737,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - KeyState*
    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
    - g_variant_ref
    - strlen
    - g_variant_new_string
    - g_variant_builder_add_value
    - g_variant_builder_add
    - g_string_free
    - g_string_free_and_steal
    - GUINT32_TO_LE
    - key_state_check
    - g_string_prepend_len
    - strip_string
    - g_variant_builder_init
    - g_variant_ref_sink
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_free
    - g_assert
    - g_variant_dict_end
    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:875,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:878,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:876,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glib-compile-schemas.c:880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 5
    argNames:
    - path
    - gettext_domain
    - extends
    - extends_name
    - list_of
    argTypes:
    - gchar*
    - gchar*
    - SchemaState*
    - gchar*
    - gchar*
    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: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:912,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glib-compile-schemas.c:910,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:914,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:916,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:
    - is_valid_keyname
    - g_set_error
    - _
    - g_hash_table_insert
    - g_strconcat
    - g_hash_table_lookup
    - key_state_new_child
    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:
    - g_str_has_suffix
    - strcmp
    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: 1
    argNames:
    - is_flags
    argTypes:
    - gboolean
    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_string_new
    - g_slice_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: _
      Src: /src/glib/gio/glib-compile-schemas.c:434,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:432,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:440,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:427,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: 4
    argNames:
    - state
    - l10n
    - context
    - error
    argTypes:
    - KeyState*
    - gchar*
    - gchar*
    - GError**
    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
    - g_string_new
    - _
    - strcmp
    - g_set_error_literal
    linkageType: ''
    returnType: GString*
    signature: 'static GString *key_state_start_default (KeyState *state, const gchar
      *l10n, const gchar *context, GError **error) '
  - 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: _
      Src: /src/glib/gio/glib-compile-schemas.c:502,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:493,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:500,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: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:516,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:514,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_set_error
    - g_variant_type_dup_string
    - g_variant_type_equal
    - _
    - g_variant_type_is_array
    - g_variant_type_is_maybe
    - g_free
    - g_variant_type_element
    - g_set_error_literal
    linkageType: ''
    returnType: void
    signature: 'static void key_state_start_choices (KeyState *state, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:753,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-schemas.c:761,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/glib-compile-schemas.c:756,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:758,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:764,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_type_free
    - g_free
    - g_variant_unref
    - g_variant_dict_unref
    - g_string_free
    - g_slice_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: _
      Src: /src/glib/gio/glib-compile-schemas.c:796,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: 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: _
      Src: /src/glib/gio/glib-compile-schemas.c:836,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:827,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:844,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:835,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_isdigit
    - g_set_error_literal
    - g_ascii_islower
    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:894,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:893,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:892,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: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:940,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:951,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:942,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:969,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_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:999,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:992,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/gio/glib-compile-schemas.c:1012,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:1025,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:971,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:994,1
    - Dst: key_state_new
      Src: /src/glib/gio/glib-compile-schemas.c:1023,1
    - 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:1016,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:982,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1025,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 8
    argNames:
    - state
    - enum_table
    - flags_table
    - name
    - type_string
    - enum_type
    - flags_type
    - error
    argTypes:
    - SchemaState*
    - GHashTable*
    - GHashTable*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    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:
    - is_valid_keyname
    - g_set_error
    - g_variant_type_string_is_valid
    - g_strdup
    - _
    - g_hash_table_insert
    - key_state_new
    - g_set_error_literal
    - g_hash_table_lookup
    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_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: _
      Src: /src/glib/gio/glib-compile-schemas.c:2100,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2109,1
    - Dst: is_valid_choices
      Src: /src/glib/gio/glib-compile-schemas.c:2092,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/gio/glib-compile-schemas.c:2130,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2029,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2037,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:1934,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1956,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1970,1
    - Dst: g_key_file_get_value
      Src: /src/glib/gio/glib-compile-schemas.c:2015,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2064,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: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2118,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: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2099,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1962,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: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2069,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: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2000,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: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2079,1
    - 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: 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_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: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2059,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
    - 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: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1996,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2041,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2094,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2083,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2119,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2139,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: 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_debug
      Src: /src/glib/gio/glib-compile-schemas.c:1931,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2025,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/glib-compile-schemas.c:2056,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_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:1978,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/glib-compile-schemas.c:2007,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2095,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2110,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2037,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: g_key_file_get_groups
      Src: /src/glib/gio/glib-compile-schemas.c:1915,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1962,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2105,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2048,1
    - Dst: g_variant_dict_new
      Src: /src/glib/gio/glib-compile-schemas.c:2128,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2073,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: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2135,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2142,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:
    - _
    - fprintf
    - g_key_file_get_value
    - g_clear_error
    - g_key_file_load_from_file
    - g_strfreev
    - g_variant_compare
    - is_valid_choices
    - g_key_file_new
    - g_strsplit
    - g_variant_dict_new
    - g_key_file_free
    - g_variant_unref
    - g_variant_parse
    - g_variant_dict_insert_value
    - g_key_file_get_groups
    - g_free
    - g_assert
    - g_debug
    - g_hash_table_lookup
    - g_key_file_get_keys
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_overrides (GHashTable *schema_table, gchar **files,
      gboolean strict) '
  - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:557,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:559,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:563,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:561,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: 42
    BranchProfiles: []
    Callsites:
    - 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: key_state_start_default
      Src: /src/glib/gio/glib-compile-schemas.c:1408,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1503,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: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1500,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1429,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: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1386,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: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1473,1
    - Dst: key_state_add_choice
      Src: /src/glib/gio/glib-compile-schemas.c:1477,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:1498,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: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: 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: 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: enum_state_add_value
      Src: /src/glib/gio/glib-compile-schemas.c:1505,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1517,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1484,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:1471,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1454,1
    - 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: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1381,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1377,1
    - Dst: schema_state_add_key
      Src: /src/glib/gio/glib-compile-schemas.c:1369,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: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1350,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1401,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1489,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1435,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1448,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1486,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1513,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1413,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:
    - parse_state_start_enum
    - _
    - key_state_start_default
    - schema_state_add_key
    - g_markup_parse_context_get_element_stack
    - strcmp
    - schema_state_add_child
    - key_state_add_alias
    - key_state_start_aliases
    - NO_ATTRS
    - g_set_error
    - g_string_new
    - parse_state_start_schema
    - key_state_start_choices
    - schema_state_add_override
    - key_state_set_range
    - key_state_add_choice
    - enum_state_add_value
    - COLLECT
    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: 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_len
      Src: /src/glib/gio/glib-compile-schemas.c:1614,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/glib-compile-schemas.c:1622,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1624,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1625,1
    - Dst: g_markup_parse_context_get_element
      Src: /src/glib/gio/glib-compile-schemas.c:1626,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_set_error
    - _
    - g_markup_parse_context_get_element
    - g_string_append_len
    - g_ascii_isspace
    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_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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_builder_contains
      Src: /src/glib/gio/glib-compile-schemas.c:573,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:580,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:582,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:586,1
    - Dst: strinfo_is_string_valid
      Src: /src/glib/gio/glib-compile-schemas.c:575,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:606,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:607,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: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1562,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:1557,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1561,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: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: 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: key_state_end_aliases
      Src: /src/glib/gio/glib-compile-schemas.c:1581,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-schemas.c:1585,1
    - Dst: key_state_end_default
      Src: /src/glib/gio/glib-compile-schemas.c:1575,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1577,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
    - g_free
    - key_state_end_choices
    - key_state_end_default
    - override_state_end
    - g_string_free
    - schema_state_end
    - key_state_end
    - strcmp
    - enum_state_end
    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: 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_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: g_ptr_array_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2288,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/glib-compile-schemas.c:2300,1
    - Dst: write_to_file
      Src: /src/glib/gio/glib-compile-schemas.c:2317,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glib-compile-schemas.c:2330,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2339,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-schemas.c:2273,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2286,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_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2263,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/glib-compile-schemas.c:2277,1
    - Dst: g_dir_open
      Src: /src/glib/gio/glib-compile-schemas.c:2258,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2286,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/glib-compile-schemas.c:2294,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: g_option_context_free
      Src: /src/glib/gio/glib-compile-schemas.c:2335,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/glib-compile-schemas.c:2298,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2338,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:2274,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: _
      Src: /src/glib/gio/glib-compile-schemas.c:2284,1
    - Dst: g_unlink
      Src: /src/glib/gio/glib-compile-schemas.c:2283,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/glib-compile-schemas.c:2297,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2332,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2319,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-schemas.c:2328,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2333,1
    - 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_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: g_option_context_set_summary
      Src: /src/glib/gio/glib-compile-schemas.c:2204,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_free
      Src: /src/glib/gio/glib-compile-schemas.c:2331,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2261,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2289,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/glib-compile-schemas.c:2301,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:2329,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/glib-compile-schemas.c:2255,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:
    - _glib_get_locale_dir
    - _
    - g_option_context_set_summary
    - g_clear_pointer
    - write_to_file
    - g_win32_get_command_line
    - g_dir_open
    - set_overrides
    - fprintf
    - g_clear_error
    - g_strfreev
    - g_ptr_array_unref
    - g_ptr_array_new
    - g_option_context_free
    - g_ptr_array_sort_values
    - g_print
    - textdomain
    - g_option_context_new
    - g_dir_read_name
    - g_build_filename
    - g_str_has_suffix
    - parse_gschema_files
    - g_unlink
    - bind_textdomain_codeset
    - g_ptr_array_add
    - g_strv_length
    - N_
    - setlocale
    - g_free
    - g_ptr_array_free
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_option_context_set_translation_domain
    - bindtextdomain
    - g_option_context_parse_strv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:79,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/ginetaddressmask.c:90,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginetaddressmask.c:85,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetaddressmask.c:94,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/ginetaddressmask.c:86,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: g_inet_address_mask_set_property
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - G_INET_ADDRESS_MASK
    - g_value_dup_object
    - g_value_get_uint
    - g_object_unref
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:175,1
    - Dst: g_set_error
      Src: /src/glib/gio/ginetaddressmask.c:190,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetaddressmask.c:182,1
    - Dst: _
      Src: /src/glib/gio/ginetaddressmask.c:183,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/ginetaddressmask.c:187,1
    - Dst: _
      Src: /src/glib/gio/ginetaddressmask.c:191,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddressmask.c:197,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetaddressmask.c:223,1
    - Dst: _
      Src: /src/glib/gio/ginetaddressmask.c:224,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 229
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 229
    functionName: g_inet_address_mask_initable_init
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - G_INET_ADDRESS_MASK
    - g_set_error
    - _
    - g_inet_address_to_bytes
    - g_inet_address_get_native_size
    - 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:130,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginetaddressmask.c:134,1
    - Dst: g_clear_object
      Src: /src/glib/gio/ginetaddressmask.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    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_inet_address_mask_get_instance_private
      Src: /src/glib/gio/ginetaddressmask.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mask
    argTypes:
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gio/ginetaddressmask.c:291,1
    - Dst: strtoul
      Src: /src/glib/gio/ginetaddressmask.c:296,1
    - Dst: g_strndup
      Src: /src/glib/gio/ginetaddressmask.c:306,1
    - Dst: g_set_error
      Src: /src/glib/gio/ginetaddressmask.c:300,1
    - Dst: _
      Src: /src/glib/gio/ginetaddressmask.c:301,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/ginetaddressmask.c:307,1
    - Dst: g_free
      Src: /src/glib/gio/ginetaddressmask.c:308,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/ginetaddressmask.c:315,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/ginetaddressmask.c:319,1
    - Dst: g_inet_address_mask_new
      Src: /src/glib/gio/ginetaddressmask.c:322,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginetaddressmask.c:323,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - mask_string
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 326
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 326
    functionName: g_inet_address_mask_new_from_string
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_inet_address_mask_new
    - g_strndup
    - g_inet_address_new_from_string
    - g_object_unref
    - strtoul
    - strchr
    - g_inet_address_get_native_size
    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:387,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mask
    argTypes:
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:405,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mask
    argTypes:
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:106,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/ginetaddressmask.c:119,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/ginetaddressmask.c:111,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/ginetaddressmask.c:115,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddressmask.c:111,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetaddressmask.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: g_inet_address_mask_get_property
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - G_INET_ADDRESS_MASK
    - g_value_set_uint
    - g_value_set_enum
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - 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:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginetaddressmask.c:140,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddressmask.c:149,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/ginetaddressmask.c:147,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddressmask.c:148,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddressmask.c:146,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddressmask.c:154,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/ginetaddressmask.c:155,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddressmask.c:156,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddressmask.c:157,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddressmask.c:161,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/ginetaddressmask.c:162,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddressmask.c:163,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddressmask.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInetAddressMaskClass*
    constantsTouched: []
    func_position:
      end: 168
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 168
    functionName: g_inet_address_mask_class_init
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - g_param_spec_uint
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_address_mask_class_init (GInetAddressMaskClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    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_initable_new
      Src: /src/glib/gio/ginetaddressmask.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - length
    - error
    argTypes:
    - GInetAddress*
    - guint
    - GError**
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:343,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:343,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/ginetaddressmask.c:347,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/ginetaddressmask.c:345,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/ginetaddressmask.c:350,1
    - Dst: g_free
      Src: /src/glib/gio/ginetaddressmask.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - mask
    argTypes:
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 354
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 354
    functionName: g_inet_address_mask_to_string
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_inet_address_to_string
    - g_free
    - G_IS_INET_ADDRESS_MASK
    - g_strdup_printf
    - g_inet_address_get_native_size
    - g_return_val_if_fail
    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:369,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:369,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddressmask.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mask
    argTypes:
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: g_inet_address_mask_get_family
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_inet_address_get_family
    - G_IS_INET_ADDRESS_MASK
    linkageType: ''
    returnType: GSocketFamily
    signature: 'GSocketFamily g_inet_address_mask_get_family (GInetAddressMask *mask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:429,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddressmask.c:432,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddressmask.c:430,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:429,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:430,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddressmask.c:433,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddressmask.c:439,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddressmask.c:440,1
    - Dst: memcmp
      Src: /src/glib/gio/ginetaddressmask.c:443,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - mask
    - address
    argTypes:
    - GInetAddressMask*
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 451
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 451
    functionName: g_inet_address_mask_matches
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - G_IS_INET_ADDRESS_MASK
    - g_inet_address_to_bytes
    - G_IS_INET_ADDRESS
    - memcmp
    - g_return_val_if_fail
    - g_inet_address_get_family
    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:469,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:470,1
    - Dst: g_inet_address_equal
      Src: /src/glib/gio/ginetaddressmask.c:473,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:470,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - mask
    - mask2
    argTypes:
    - GInetAddressMask*
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: g_inet_address_mask_equal
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_inet_address_equal
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS_MASK
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_inet_address_mask_equal (GInetAddressMask *mask,\t\t\t
      GInetAddressMask *mask2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:602,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:602,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:605,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:604,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:604,1
    - Dst: G_IS_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:605,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:606,1
    - Dst: is_valid_child_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:606,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:608,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:610,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:616,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:633,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:631,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:622,1
    - Dst: g_dbus_object_manager_server_export_unlocked
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:626,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:628,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:621,1
    - Dst: g_dbus_object_skeleton_set_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:631,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - manager
    - object
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: g_dbus_object_manager_server_export_uniquely
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - is_valid_child_object_path
    - g_strdup
    - G_DBUS_OBJECT_SKELETON
    - g_free
    - g_dbus_object_skeleton_set_object_path
    - g_dbus_object_manager_server_export_unlocked
    - g_strdup_printf
    - g_mutex_unlock
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - G_IS_DBUS_OBJECT
    - g_dbus_object_get_object_path
    - G_DBUS_OBJECT
    - g_hash_table_lookup
    - g_mutex_lock
    - g_return_if_fail
    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:729,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:729,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:730,1
    - Dst: g_dbus_object_manager_server_unexport_unlocked
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:731,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - manager
    - object_path
    argTypes:
    - GDBusObjectManagerServer*
    - gchar*
    constantsTouched: []
    func_position:
      end: 734
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 734
    functionName: g_dbus_object_manager_server_unexport
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_dbus_object_manager_server_unexport_unlocked
    - g_mutex_unlock
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_object_manager_server_unexport (GDBusObjectManagerServer
      *manager, const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1026,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1035,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1034,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1031,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1037,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1037,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1040,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - _manager
    argTypes:
    - GDBusObjectManager*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1043
    functionName: g_dbus_object_manager_server_get_objects
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_list_prepend
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_mutex_unlock
    - G_DBUS_OBJECT_MANAGER_SERVER
    - g_mutex_lock
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_dbus_object_manager_server_get_objects (GDBusObjectManager
      *_manager) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1113,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1126,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1130,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1117,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1116,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_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1136,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1137,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1139,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1146,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1149,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1151,1
    - Dst: g_dbus_interface_skeleton_get_connection
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1139,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerServer*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1155
    functionName: export_all
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_error_free
    - g_dbus_interface_skeleton_get_info
    - g_hash_table_iter_next
    - g_warning
    - g_dbus_interface_skeleton_get_connection
    - g_hash_table_iter_init
    - g_return_if_fail
    - g_dbus_interface_skeleton_export
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: void
    signature: 'static void export_all (GDBusObjectManagerServer *manager) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:120,1
    - Dst: unexport_all
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:124,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:128,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:125,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:127,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:129,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:131,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:133,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 135
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 135
    functionName: g_dbus_object_manager_server_finalize
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - unexport_all
    - g_free
    - g_object_unref
    - G_DBUS_OBJECT_MANAGER_SERVER
    - g_mutex_clear
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - _manager
    argTypes:
    - GDBusObjectManager*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1050
    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:1165,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1170,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1167,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1177,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1170,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1178,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1180,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1181,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1183,1
    - Dst: g_dbus_interface_skeleton_get_connection
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1183,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - manager
    - only_manager
    argTypes:
    - GDBusObjectManagerServer*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1189
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1189
    functionName: unexport_all
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_unregister_object
    - g_warn_if_fail
    - g_hash_table_iter_next
    - g_dbus_interface_skeleton_get_connection
    - g_hash_table_iter_init
    - g_dbus_interface_skeleton_unexport
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void unexport_all (GDBusObjectManagerServer *manager, gboolean
      only_manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:574,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:575,1
    - Dst: g_dbus_object_manager_server_export_unlocked
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:576,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:574,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:577,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:577,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - manager
    - object
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 579
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 579
    functionName: g_dbus_object_manager_server_export
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_dbus_object_manager_server_export_unlocked
    - g_mutex_unlock
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_dbus_object_get_object_path
    - G_DBUS_OBJECT
    - g_mutex_lock
    - g_return_if_fail
    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:680,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:681,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:681,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:682,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:680,1
    - Dst: is_valid_child_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:682,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:686,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:693,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:694,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:695,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:697,1
    - Dst: g_dbus_object_manager_server_emit_interfaces_removed
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:699,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:702,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:696,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:700,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - manager
    - object_path
    argTypes:
    - GDBusObjectManagerServer*
    - gchar*
    constantsTouched: []
    func_position:
      end: 707
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 707
    functionName: g_dbus_object_manager_server_unexport_unlocked
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - is_valid_child_object_path
    - g_variant_is_object_path
    - g_ptr_array_new
    - g_hash_table_remove
    - g_hash_table_iter_next
    - g_hash_table_lookup
    - g_hash_table_iter_init
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_ptr_array_unref
    - g_dbus_object_manager_server_emit_interfaces_removed
    - g_return_val_if_fail
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dbus_object_manager_server_unexport_unlocked (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: 1099
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1099
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:143,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:148,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:154,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:149,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:150,1
    - Dst: g_dbus_object_manager_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:154,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:154,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: g_dbus_object_manager_server_get_property
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_mutex_unlock
    - G_DBUS_OBJECT_MANAGER
    - G_DBUS_OBJECT_MANAGER_SERVER
    - g_value_set_object
    - g_dbus_object_manager_get_object_path
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:287,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:288,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:288,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:287,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:290,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:294,1
    - Dst: unexport_all
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:300,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:301,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:305,1
    - Dst: export_all
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:307,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:309,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:311,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - manager
    - connection
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 314
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 314
    functionName: g_dbus_object_manager_server_set_connection
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - unexport_all
    - export_all
    - g_object_unref
    - g_mutex_unlock
    - g_object_notify
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - G_IS_DBUS_CONNECTION
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_manager_server_set_connection (GDBusObjectManagerServer
      *manager, GDBusConnection *connection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:349,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:358,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:363,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:367,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:353,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:367,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:368,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:370,1
    - Dst: g_dbus_object_manager_server_emit_interfaces_added
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - data
    - interface_skeleton
    - object_path
    argTypes:
    - RegistrationData*
    - GDBusInterfaceSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 381
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 381
    functionName: registration_data_export_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_assert
    - g_error_free
    - g_dbus_interface_skeleton_get_info
    - g_hash_table_insert
    - g_warning
    - g_dbus_object_manager_server_emit_interfaces_added
    - g_dbus_interface_skeleton_export
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void registration_data_export_interface (RegistrationData *data,
      GDBusInterfaceSkeleton *interface_skeleton, const gchar *object_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:501,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:503,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:511,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:519,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:514,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:525,1
    - Dst: registration_data_export_interface
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:535,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:548,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:501,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:505,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:512,1
    - Dst: g_dbus_object_get_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:531,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:521,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:536,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:547,1
    - Dst: G_IS_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:502,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:502,1
    - Dst: g_dbus_object_manager_server_unexport_unlocked
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:509,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:534,1
    - Dst: g_dbus_object_manager_server_emit_interfaces_added
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:544,1
    - Dst: is_valid_child_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:503,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:507,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:531,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:523,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:536,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:538,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:539,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:545,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - manager
    - object
    - object_path
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusObjectSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 550
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 550
    functionName: g_dbus_object_manager_server_export_unlocked
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_dbus_object_get_interfaces
    - g_hash_table_insert
    - g_dbus_object_manager_server_emit_interfaces_added
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_ptr_array_unref
    - g_ptr_array_new
    - g_list_free_full
    - is_valid_child_object_path
    - registration_data_export_interface
    - g_signal_connect
    - g_object_ref
    - G_DBUS_INTERFACE_SKELETON
    - G_CALLBACK
    - G_IS_DBUS_OBJECT
    - g_hash_table_new_full
    - G_DBUS_OBJECT
    - g_ptr_array_add
    - g_strdup
    - g_new0
    - g_dbus_object_manager_server_unexport_unlocked
    - g_dbus_interface_skeleton_get_info
    - g_hash_table_lookup
    - g_return_if_fail
    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:656,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:657,1
    - Dst: G_IS_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:657,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:659,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:656,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:661,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:661,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:663,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - manager
    - object
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 669
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 669
    functionName: g_dbus_object_manager_server_is_exported
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - g_mutex_unlock
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - G_IS_DBUS_OBJECT
    - g_dbus_object_get_object_path
    - G_DBUS_OBJECT
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_object_manager_server_is_exported (GDBusObjectManagerServer
      *manager, GDBusObjectSkeleton *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:928,1
    - Dst: export_all
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:931,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:934,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 935
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 935
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:169,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:178,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:174,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:174,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:179,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:179,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:179,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:180,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:181,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:182,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:188,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 191
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 191
    functionName: g_dbus_object_manager_server_set_property
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_value_dup_string
    - g_value_get_string
    - g_strdup
    - g_assert
    - g_variant_is_object_path
    - g_strdup_printf
    - g_value_get_object
    - G_DBUS_OBJECT_MANAGER_SERVER
    - g_dbus_object_manager_server_set_connection
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_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/gdbusobjectmanagerserver.c:269,1
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:270,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:270,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object_path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    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_object_new
    - G_DBUS_OBJECT_MANAGER_SERVER
    linkageType: ''
    returnType: GDBusObjectManagerServer*
    signature: 'GDBusObjectManagerServer *g_dbus_object_manager_server_new (const
      gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:332,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:332,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:333,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:334,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerServer*
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: g_dbus_object_manager_server_get_connection
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_mutex_unlock
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_object_manager_server_get_connection (GDBusObjectManagerServer
      *manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:484,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:486,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - manager
    - child_object_path
    argTypes:
    - GDBusObjectManagerServer*
    - gchar*
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: is_valid_child_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_str_has_prefix
    - g_warn_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_child_object_path (GDBusObjectManagerServer
      *manager, const gchar *child_object_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:447,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:451,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:454,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:448,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:454,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:455,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:455,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:456,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:457,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - RegistrationData*
    constantsTouched: []
    func_position:
      end: 459
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 459
    functionName: registration_data_free
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_free
    - g_signal_handlers_disconnect_by_func
    - g_hash_table_destroy
    - g_object_unref
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - G_CALLBACK
    - g_dbus_interface_skeleton_unexport
    linkageType: ''
    returnType: void
    signature: 'static void registration_data_free (RegistrationData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:874,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:870,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:875,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:891,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:893,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:900,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:894,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:906,1
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:865,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:874,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:876,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:901,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:872,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:883,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:884,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:889,1
    - Dst: g_dbus_interface_skeleton_get_properties
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:887,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:888,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:912,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:883,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:893,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:885,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: 913
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 913
    functionName: manager_method_call
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_interface_skeleton_get_properties
    - g_strcmp0
    - g_variant_unref
    - g_dbus_interface_skeleton_get_info
    - g_hash_table_iter_next
    - g_variant_builder_add
    - g_hash_table_iter_init
    - g_mutex_unlock
    - G_DBUS_OBJECT_MANAGER_SERVER
    - g_variant_builder_init
    - g_dbus_method_invocation_return_value
    - g_variant_new
    - g_dbus_object_get_object_path
    - g_dbus_method_invocation_return_error
    - G_DBUS_OBJECT
    - g_mutex_lock
    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:431,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:432,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:433,1
    - Dst: registration_data_unexport_interface
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - object
    - interface
    - user_data
    argTypes:
    - GDBusObject*
    - GDBusInterface*
    - gpointer
    constantsTouched: []
    func_position:
      end: 434
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 434
    functionName: on_interface_removed
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - registration_data_unexport_interface
    - G_DBUS_INTERFACE_SKELETON
    - 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_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:196,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:212,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:229,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:227,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusObjectManagerServerClass*
    constantsTouched: []
    func_position:
      end: 237
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 237
    functionName: g_dbus_object_manager_server_class_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_string
    - g_param_spec_object
    - 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:419,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:421,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:420,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:420,1
    - Dst: registration_data_export_interface
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:421,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - object
    - interface
    - user_data
    argTypes:
    - GDBusObject*
    - GDBusInterface*
    - gpointer
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: on_interface_added
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON
    - registration_data_export_interface
    - g_mutex_unlock
    - g_dbus_object_get_object_path
    - G_DBUS_OBJECT
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void on_interface_added (GDBusObject *object, GDBusInterface
      *interface, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:950,1
    - Dst: g_dbus_interface_skeleton_get_properties
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:958,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:957,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:956,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:950,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:959,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:960,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:964,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:969,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:975,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:976,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:977,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - manager
    - data
    - interfaces
    - object_path
    argTypes:
    - GDBusObjectManagerServer*
    - RegistrationData*
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 981
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 981
    functionName: g_dbus_object_manager_server_emit_interfaces_added
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_interface_skeleton_get_properties
    - g_assert
    - g_variant_unref
    - g_error_matches
    - g_error_free
    - g_variant_builder_add
    - g_warning
    - g_variant_builder_init
    - g_variant_new
    - g_dbus_connection_emit_signal
    - g_hash_table_lookup
    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:1056,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1063,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1065,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1062,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1065,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1066,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - _manager
    - object_path
    argTypes:
    - GDBusObjectManager*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1069
    functionName: g_dbus_object_manager_server_get_object
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_mutex_unlock
    - G_DBUS_OBJECT_MANAGER_SERVER
    - G_DBUS_OBJECT
    - g_hash_table_lookup
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *g_dbus_object_manager_server_get_object (GDBusObjectManager
      *_manager, const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_manager_server_get_instance_private
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:242,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:244,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerServer*
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: g_dbus_object_manager_server_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_dbus_object_manager_server_get_instance_private
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_init (GDBusObjectManagerServer
      *manager) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:996,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:996,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:998,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1001,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1001,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1002,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1007,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1013,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1014,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1015,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - manager
    - data
    - interfaces
    argTypes:
    - GDBusObjectManagerServer*
    - RegistrationData*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1019
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1019
    functionName: g_dbus_object_manager_server_emit_interfaces_removed
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_error_matches
    - g_error_free
    - g_variant_builder_add
    - g_warning
    - g_variant_builder_init
    - g_variant_new
    - g_dbus_connection_emit_signal
    - g_dbus_object_get_object_path
    - G_DBUS_OBJECT
    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:1081,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1086,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1085,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - _manager
    - object_path
    - interface_name
    argTypes:
    - GDBusObjectManager*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1090
    functionName: g_dbus_object_manager_server_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_dbus_object_get_interface
    - g_dbus_object_manager_get_object
    - g_object_unref
    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_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:390,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:395,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:392,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:391,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:397,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:397,1
    - Dst: g_dbus_object_manager_server_emit_interfaces_removed
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - data
    - interface_skeleton
    argTypes:
    - RegistrationData*
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 408
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 408
    functionName: registration_data_unexport_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_warn_if_fail
    - g_dbus_interface_skeleton_get_info
    - g_hash_table_remove
    - g_dbus_interface_skeleton_unexport
    - g_dbus_object_manager_server_emit_interfaces_removed
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void registration_data_unexport_interface (RegistrationData
      *data, GDBusInterfaceSkeleton *interface_skeleton) '
  - 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: 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: 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: 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: 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: 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:141,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdataoutputstream.c:151,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gdataoutputstream.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 154
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:358,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:358,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:373,1
    - Dst: GINT32_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:363,1
    - Dst: GINT32_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:366,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:373,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - gint32
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 377
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 377
    functionName: g_data_output_stream_put_int32
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - GINT32_TO_BE
    - GINT32_TO_LE
    - G_OUTPUT_STREAM
    - G_IS_DATA_OUTPUT_STREAM
    - g_output_stream_write_all
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:533,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:534,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:536,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gdataoutputstream.c:537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 538
    functionName: g_data_output_stream_tell
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - G_FILTER_OUTPUT_STREAM
    - G_SEEKABLE
    - G_IS_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:559,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdataoutputstream.c:562,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:567,1
    - Dst: _
      Src: /src/glib/gio/gdataoutputstream.c:563,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:560,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/gdataoutputstream.c:568,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: 569
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 569
    functionName: g_data_output_stream_seek
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_SEEKABLE
    - G_FILTER_OUTPUT_STREAM
    - g_seekable_seek
    - G_SEEKABLE
    - g_set_error_literal
    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:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataOutputStream*
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    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:545,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/gdataoutputstream.c:546,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:546,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: g_data_output_stream_can_seek
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_SEEKABLE
    - G_IS_SEEKABLE
    - g_seekable_can_seek
    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:576,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:577,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/gdataoutputstream.c:577,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 578
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 578
    functionName: g_data_output_stream_can_truncate
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - g_seekable_can_truncate
    - G_SEEKABLE
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_data_output_stream_can_truncate (GSeekable *seekable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:318,1
    - Dst: GUINT16_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:323,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:333,1
    - Dst: GUINT16_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:326,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:318,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - guint16
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: g_data_output_stream_put_uint16
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - GUINT16_TO_LE
    - G_OUTPUT_STREAM
    - G_IS_DATA_OUTPUT_STREAM
    - g_output_stream_write_all
    - g_return_val_if_fail
    - GUINT16_TO_BE
    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:227,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataOutputStream*
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:518,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:519,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:518,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:521,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:521,1
    - Dst: strlen
      Src: /src/glib/gio/gdataoutputstream.c:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - stream
    - str
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 525
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 525
    functionName: g_data_output_stream_put_string
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - strlen
    - G_OUTPUT_STREAM
    - G_IS_DATA_OUTPUT_STREAM
    - g_output_stream_write_all
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:207,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdataoutputstream.c:212,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdataoutputstream.c:212,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - order
    argTypes:
    - GDataOutputStream*
    - GDataStreamByteOrder
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: g_data_output_stream_set_byte_order
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_DATA_OUTPUT_STREAM
    - G_OBJECT
    - g_object_notify
    - 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:278,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:293,1
    - Dst: GINT16_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:286,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:278,1
    - Dst: GINT16_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:283,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - gint16
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 297
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 297
    functionName: g_data_output_stream_put_int16
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - GINT16_TO_BE
    - G_OUTPUT_STREAM
    - GINT16_TO_LE
    - G_IS_DATA_OUTPUT_STREAM
    - g_output_stream_write_all
    - g_return_val_if_fail
    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:478,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:478,1
    - Dst: GUINT64_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:483,1
    - Dst: GUINT64_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:486,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:493,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:493,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 497
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 497
    functionName: g_data_output_stream_put_uint64
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - GUINT64_TO_LE
    - GUINT64_TO_BE
    - G_OUTPUT_STREAM
    - G_IS_DATA_OUTPUT_STREAM
    - g_output_stream_write_all
    - g_return_val_if_fail
    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_OBJECT_CLASS
      Src: /src/glib/gio/gdataoutputstream.c:89,1
    - Dst: P_
      Src: /src/glib/gio/gdataoutputstream.c:103,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdataoutputstream.c:99,1
    - Dst: P_
      Src: /src/glib/gio/gdataoutputstream.c:102,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdataoutputstream.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDataOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: g_data_output_stream_class_init
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - P_
    - G_OBJECT_CLASS
    - g_param_spec_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_data_output_stream_class_init (GDataOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:251,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:251,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:253,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - guchar
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: g_data_output_stream_put_byte
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_DATA_OUTPUT_STREAM
    - g_output_stream_write_all
    - g_return_val_if_fail
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:118,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdataoutputstream.c:123,1
    - Dst: g_data_output_stream_set_byte_order
      Src: /src/glib/gio/gdataoutputstream.c:123,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdataoutputstream.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: g_data_output_stream_set_property
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_data_output_stream_set_byte_order
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_enum
    - G_DATA_OUTPUT_STREAM
    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:589,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:597,1
    - Dst: _
      Src: /src/glib/gio/gdataoutputstream.c:593,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:590,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdataoutputstream.c:592,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/gdataoutputstream.c:598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 599
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 599
    functionName: g_data_output_stream_truncate
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_SEEKABLE
    - G_FILTER_OUTPUT_STREAM
    - g_seekable_truncate
    - G_SEEKABLE
    - g_set_error_literal
    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:186,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:186,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdataoutputstream.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - base_stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: g_data_output_stream_new
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GDataOutputStream*
    signature: 'GDataOutputStream *g_data_output_stream_new (GOutputStream *base_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    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:438,1
    - Dst: GINT64_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:443,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:453,1
    - Dst: GINT64_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:446,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:438,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:453,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: g_data_output_stream_put_int64
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM
    - g_return_val_if_fail
    - GINT64_TO_LE
    - G_IS_DATA_OUTPUT_STREAM
    - g_output_stream_write_all
    - GINT64_TO_BE
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:398,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:413,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:406,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:398,1
    - Dst: GUINT32_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:403,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:413,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - guint32
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 417
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 417
    functionName: g_data_output_stream_put_uint32
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - GUINT32_TO_LE
    - G_OUTPUT_STREAM
    - GUINT32_TO_BE
    - G_IS_DATA_OUTPUT_STREAM
    - g_output_stream_write_all
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:85,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gsimpleproxyresolver.c:89,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:88,1
    - Dst: reparse_ignore_hosts
      Src: /src/glib/gio/gsimpleproxyresolver.c:93,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsimpleproxyresolver.c:91,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleproxyresolver.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: g_simple_proxy_resolver_finalize
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - reparse_ignore_hosts
    - G_SIMPLE_PROXY_RESOLVER
    - g_free
    - g_hash_table_destroy
    - g_clear_pointer
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_proxy_resolver_finalize (GObject *object) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:187,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsimpleproxyresolver.c:190,1
    - Dst: strtoul
      Src: /src/glib/gio/gsimpleproxyresolver.c:204,1
    - Dst: strchr
      Src: /src/glib/gio/gsimpleproxyresolver.c:213,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleproxyresolver.c:235,1
    - Dst: strlen
      Src: /src/glib/gio/gsimpleproxyresolver.c:236,1
    - Dst: strchr
      Src: /src/glib/gio/gsimpleproxyresolver.c:212,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleproxyresolver.c:225,1
    - Dst: strtoul
      Src: /src/glib/gio/gsimpleproxyresolver.c:216,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:166,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:171,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:170,1
    - Dst: strchr
      Src: /src/glib/gio/gsimpleproxyresolver.c:200,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:223,1
    - Dst: memset
      Src: /src/glib/gio/gsimpleproxyresolver.c:234,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gsimpleproxyresolver.c:179,1
    - Dst: g_strchomp
      Src: /src/glib/gio/gsimpleproxyresolver.c:184,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gsimpleproxyresolver.c:238,1
    - Dst: g_array_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:252,1
    - Dst: g_array_new
      Src: /src/glib/gio/gsimpleproxyresolver.c:180,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gsimpleproxyresolver.c:228,1
    - Dst: g_warning
      Src: /src/glib/gio/gsimpleproxyresolver.c:242,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:248,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 69
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GSimpleProxyResolver*
    constantsTouched: []
    func_position:
      end: 253
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 253
    functionName: reparse_ignore_hosts
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - g_ptr_array_new_with_free_func
    - g_ptr_array_free
    - g_inet_address_mask_new_from_string
    - g_inet_address_new_from_string
    - g_array_new
    - g_strchomp
    - g_object_unref
    - g_array_append_val
    - memset
    - g_warning
    - g_str_has_prefix
    - strtoul
    - g_array_free
    - strchr
    - g_ptr_array_add
    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:112,1
    - Dst: g_simple_proxy_resolver_set_default_proxy
      Src: /src/glib/gio/gsimpleproxyresolver.c:117,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:117,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gsimpleproxyresolver.c:121,1
    - Dst: g_simple_proxy_resolver_set_ignore_hosts
      Src: /src/glib/gio/gsimpleproxyresolver.c:121,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsimpleproxyresolver.c:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 127
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 127
    functionName: g_simple_proxy_resolver_set_property
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_value_get_string
    - G_SIMPLE_PROXY_RESOLVER
    - g_value_get_boxed
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_simple_proxy_resolver_set_default_proxy
    - 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:327,1
    - Dst: ignore_host
      Src: /src/glib/gio/gsimpleproxyresolver.c:339,1
    - Dst: g_uri_split_network
      Src: /src/glib/gio/gsimpleproxyresolver.c:337,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gsimpleproxyresolver.c:345,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:342,1
    - Dst: g_ascii_strdown
      Src: /src/glib/gio/gsimpleproxyresolver.c:347,1
    - Dst: strcspn
      Src: /src/glib/gio/gsimpleproxyresolver.c:347,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleproxyresolver.c:349,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:350,1
    - Dst: strncmp
      Src: /src/glib/gio/gsimpleproxyresolver.c:358,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsimpleproxyresolver.c:363,1
    - Dst: g_new0
      Src: /src/glib/gio/gsimpleproxyresolver.c:360,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsimpleproxyresolver.c:361,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleproxyresolver.c:369,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsimpleproxyresolver.c:362,1
    - Dst: g_new0
      Src: /src/glib/gio/gsimpleproxyresolver.c:368,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 4
    argNames:
    - proxy_resolver
    - uri
    - cancellable
    - error
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 373
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 373
    functionName: g_simple_proxy_resolver_lookup
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_SIMPLE_PROXY_RESOLVER
    - g_free
    - g_new0
    - g_ascii_strdown
    - ignore_host
    - g_hash_table_size
    - g_strdup_printf
    - g_uri_split_network
    - g_hash_table_lookup
    - strcspn
    - strncmp
    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:404,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsimpleproxyresolver.c:404,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsimpleproxyresolver.c:406,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsimpleproxyresolver.c:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GProxyResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 407
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 407
    functionName: g_simple_proxy_resolver_lookup_finish
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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: 491
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 491
    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:563,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsimpleproxyresolver.c:565,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gsimpleproxyresolver.c:566,1
    - Dst: G_IS_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:563,1
    - Dst: reparse_ignore_hosts
      Src: /src/glib/gio/gsimpleproxyresolver.c:567,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsimpleproxyresolver.c:568,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsimpleproxyresolver.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - resolver
    - ignore_hosts
    argTypes:
    - GSimpleProxyResolver*
    - gchar**
    constantsTouched: []
    func_position:
      end: 569
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 569
    functionName: g_simple_proxy_resolver_set_ignore_hosts
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - reparse_ignore_hosts
    - G_OBJECT
    - G_IS_SIMPLE_PROXY_RESOLVER
    - g_strdupv
    - g_strfreev
    - g_object_notify
    - g_return_if_fail
    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:593,1
    - Dst: g_ascii_strdown
      Src: /src/glib/gio/gsimpleproxyresolver.c:596,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/gsimpleproxyresolver.c:595,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleproxyresolver.c:597,1
    - Dst: G_IS_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - resolver
    - uri_scheme
    - proxy
    argTypes:
    - GSimpleProxyResolver*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 598
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 598
    functionName: g_simple_proxy_resolver_set_uri_proxy
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_IS_SIMPLE_PROXY_RESOLVER
    - g_ascii_strdown
    - g_hash_table_replace
    - g_return_if_fail
    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_simple_proxy_resolver_get_instance_private
      Src: /src/glib/gio/gsimpleproxyresolver.c:101,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsimpleproxyresolver.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GSimpleProxyResolver*
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    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:135,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:140,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsimpleproxyresolver.c:144,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsimpleproxyresolver.c:148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: g_simple_proxy_resolver_get_property
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SIMPLE_PROXY_RESOLVER
    - g_value_set_boxed
    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_address_new_from_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:270,1
    - Dst: g_inet_address_mask_matches
      Src: /src/glib/gio/gsimpleproxyresolver.c:277,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/gio/gsimpleproxyresolver.c:293,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleproxyresolver.c:284,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gsimpleproxyresolver.c:294,1
    - Dst: strlen
      Src: /src/glib/gio/gsimpleproxyresolver.c:296,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/gsimpleproxyresolver.c:308,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:315,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 44
    argCount: 3
    argNames:
    - resolver
    - host
    - port
    argTypes:
    - GSimpleProxyResolver*
    - gchar*
    - gushort
    constantsTouched: []
    func_position:
      end: 319
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 319
    functionName: ignore_host
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - strlen
    - g_ascii_strcasecmp
    - g_free
    - g_hostname_is_non_ascii
    - g_inet_address_new_from_string
    - g_object_unref
    - g_hostname_to_ascii
    - 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:382,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsimpleproxyresolver.c:387,1
    - Dst: g_simple_proxy_resolver_lookup
      Src: /src/glib/gio/gsimpleproxyresolver.c:390,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsimpleproxyresolver.c:393,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsimpleproxyresolver.c:388,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsimpleproxyresolver.c:395,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleproxyresolver.c:396,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: 397
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 397
    functionName: g_simple_proxy_resolver_lookup_async
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_PROXY_RESOLVER
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_return_pointer
    - 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:412,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleproxyresolver.c:431,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleproxyresolver.c:429,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleproxyresolver.c:432,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:430,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleproxyresolver.c:475,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsimpleproxyresolver.c:476,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleproxyresolver.c:477,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleproxyresolver.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - resolver_class
    argTypes:
    - GSimpleProxyResolverClass*
    constantsTouched: []
    func_position:
      end: 483
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 483
    functionName: g_simple_proxy_resolver_class_init
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_string
    - g_param_spec_boxed
    - P_
    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:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - default_proxy
    - ignore_hosts
    argTypes:
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 517
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 517
    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:538,1
    - Dst: G_IS_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:538,1
    - Dst: g_uri_is_valid
      Src: /src/glib/gio/gsimpleproxyresolver.c:539,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleproxyresolver.c:539,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:541,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleproxyresolver.c:542,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsimpleproxyresolver.c:543,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsimpleproxyresolver.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - resolver
    - default_proxy
    argTypes:
    - GSimpleProxyResolver*
    - gchar*
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: g_simple_proxy_resolver_set_default_proxy
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_free
    - G_IS_SIMPLE_PROXY_RESOLVER
    - g_uri_is_valid
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_proxy_resolver_set_default_proxy (GSimpleProxyResolver
      *resolver, const gchar *default_proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:149,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:149,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: g_drive_get_name
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    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:350,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:350,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: g_drive_can_eject
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_can_eject (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdrive.c:770,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:772,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:770,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:776,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:779,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: 784
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 784
    functionName: g_drive_start
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_DRIVE
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_drive_start (GDrive *drive, GDriveStartFlags 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:872,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:878,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:881,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:874,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:872,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: 886
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 886
    functionName: g_drive_stop
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_DRIVE
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_drive_stop (GDrive *drive, GMountUnmountFlags flags, GMountOperation
      *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gdrive.c:77,1
    - Dst: I_
      Src: /src/glib/gio/gdrive.c:77,1
    - Dst: I_
      Src: /src/glib/gio/gdrive.c:94,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdrive.c:94,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdrive.c:80,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdrive.c:97,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdrive.c:109,1
    - Dst: I_
      Src: /src/glib/gio/gdrive.c:109,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdrive.c:112,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdrive.c:126,1
    - Dst: I_
      Src: /src/glib/gio/gdrive.c:126,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdrive.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDriveInterface*
    constantsTouched: []
    func_position:
      end: 133
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 133
    functionName: g_drive_default_init
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new
    - I_
    linkageType: ''
    returnType: void
    signature: 'static void g_drive_default_init (GDriveInterface *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:286,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:286,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: g_drive_is_removable
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_is_removable (GDrive *drive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:597,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:600,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:598,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:598,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:597,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:602,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:603,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:603,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 608
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 608
    functionName: g_drive_poll_for_media_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - G_IS_DRIVE
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    - g_async_result_legacy_propagate_error
    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:732,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:732,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 740
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 740
    functionName: g_drive_can_start_degraded
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    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:409,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:409,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:418,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:411,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:415,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: 423
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 423
    functionName: g_drive_eject
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_DRIVE
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - g_return_if_fail
    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:657,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:657,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 664
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 664
    functionName: g_drive_enumerate_identifiers
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    linkageType: ''
    returnType: char**
    signature: 'char **g_drive_enumerate_identifiers (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:374,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:374,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 382
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 382
    functionName: g_drive_can_poll_for_media
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    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:629,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:629,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:630,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:632,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - drive
    - kind
    argTypes:
    - GDrive*
    - char*
    constantsTouched: []
    func_position:
      end: 638
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 638
    functionName: g_drive_get_identifier
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: "char *g_drive_get_identifier (GDrive *drive,\t\t\tconst char *kind) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:908,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:911,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:909,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:908,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:909,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:913,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:914,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:914,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:916,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 919
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 919
    functionName: g_drive_stop_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - G_IS_DRIVE
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_stop_finish (GDrive *drive, GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:219,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:221,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: g_drive_has_volumes
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_has_volumes (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:308,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:310,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: g_drive_is_media_removable
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    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:527,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:530,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:528,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:527,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:528,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:532,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:533,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:533,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:535,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 540
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 540
    functionName: g_drive_eject_with_operation_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - G_IS_DRIVE
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_eject_with_operation_finish (GDrive *drive, GAsyncResult
      *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:806,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:807,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:806,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:809,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:807,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:811,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:812,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:812,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:814,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 817
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 817
    functionName: g_drive_start_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - G_IS_DRIVE
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_start_finish (GDrive *drive, GAsyncResult *result,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:445,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:448,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:446,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:446,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:445,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:450,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:451,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:451,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:453,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 456
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 456
    functionName: g_drive_eject_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - G_IS_DRIVE
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    - g_async_result_legacy_propagate_error
    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:484,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:486,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:484,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:496,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:490,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: 504
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 504
    functionName: g_drive_eject_with_operation
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_DRIVE
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - g_return_if_fail
    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_val_if_fail
      Src: /src/glib/gio/gdrive.c:194,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:194,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gdrive.c:201,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: g_drive_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_themed_icon_new_with_default_fallbacks
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_drive_get_symbolic_icon (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:263,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:265,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: g_drive_is_media_check_automatic
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_is_media_check_automatic (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdrive.c:563,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:569,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:565,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:572,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - drive
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDrive*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 577
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 577
    functionName: g_drive_poll_for_media
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_DRIVE
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_drive_poll_for_media (GDrive *drive, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:707,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:707,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 715
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 715
    functionName: g_drive_can_start
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    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:937,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:937,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 944
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 944
    functionName: g_drive_get_sort_key
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    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:170,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:170,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: g_drive_get_icon
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    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:242,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:242,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: g_drive_get_volumes
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    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:330,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:330,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: g_drive_has_media
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    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:681,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:683,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 689
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 689
    functionName: g_drive_get_start_stop_type
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    linkageType: ''
    returnType: GDriveStartStopType
    signature: 'GDriveStartStopType g_drive_get_start_stop_type (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:834,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:834,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 842
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 842
    functionName: g_drive_can_stop
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_IS_DRIVE
    - g_return_val_if_fail
    - G_DRIVE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_can_stop (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    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:162,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixcredentialsmessage.c:164,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/gunixcredentialsmessage.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - _message
    - data
    argTypes:
    - GSocketControlMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: g_unix_credentials_message_serialize
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - G_UNIX_CREDENTIALS_MESSAGE
    - memcpy
    - g_credentials_get_native
    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: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    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:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GUnixCredentialsMessage*
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    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:214,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixcredentialsmessage.c:223,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gunixcredentialsmessage.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: g_unix_credentials_message_set_property
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - G_UNIX_CREDENTIALS_MESSAGE
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_object
    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_return_val_if_fail
      Src: /src/glib/gio/gunixcredentialsmessage.c:316,1
    - Dst: g_unix_credentials_message_is_supported
      Src: /src/glib/gio/gunixcredentialsmessage.c:316,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixcredentialsmessage.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    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:354,1
    - Dst: G_IS_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixcredentialsmessage.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GUnixCredentialsMessage*
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_credentials_message_get_msg_type
      Src: /src/glib/gio/gunixcredentialsmessage.c:125,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixcredentialsmessage.c:130,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gunixcredentialsmessage.c:136,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/gunixcredentialsmessage.c:139,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gunixcredentialsmessage.c:137,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixcredentialsmessage.c:142,1
    - Dst: g_unix_credentials_message_new_with_credentials
      Src: /src/glib/gio/gunixcredentialsmessage.c:146,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixcredentialsmessage.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - level
    - type
    - size
    - data
    argTypes:
    - gint
    - gint
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 155
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 155
    functionName: g_unix_credentials_message_deserialize
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_unix_credentials_message_get_msg_type
    - g_credentials_new
    - g_object_unref
    - g_warning
    - g_unix_credentials_message_new_with_credentials
    - g_credentials_get_unix_user
    - g_credentials_set_native
    linkageType: ''
    returnType: GSocketControlMessage*
    signature: 'static GSocketControlMessage *g_unix_credentials_message_deserialize
      (gint level, gint type, gsize size, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixcredentialsmessage.c:174,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixcredentialsmessage.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: g_unix_credentials_message_finalize
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - G_UNIX_CREDENTIALS_MESSAGE
    - G_OBJECT_CLASS
    - g_object_unref
    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:194,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixcredentialsmessage.c:203,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gunixcredentialsmessage.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 206
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 206
    functionName: g_unix_credentials_message_get_property
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - G_UNIX_CREDENTIALS_MESSAGE
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_object
    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:231,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gunixcredentialsmessage.c:234,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:236,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: g_unix_credentials_message_constructed
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - G_UNIX_CREDENTIALS_MESSAGE
    - g_credentials_new
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_credentials_message_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    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_OBJECT_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:246,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gunixcredentialsmessage.c:268,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:252,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixcredentialsmessage.c:266,1
    - Dst: P_
      Src: /src/glib/gio/gunixcredentialsmessage.c:269,1
    - Dst: P_
      Src: /src/glib/gio/gunixcredentialsmessage.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - class
    argTypes:
    - GUnixCredentialsMessageClass*
    constantsTouched: []
    func_position:
      end: 279
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 279
    functionName: g_unix_credentials_message_class_init
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_SOCKET_CONTROL_MESSAGE_CLASS
    - g_param_spec_object
    - G_OBJECT_CLASS
    - P_
    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:334,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gunixcredentialsmessage.c:334,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixcredentialsmessage.c:335,1
    - Dst: g_unix_credentials_message_is_supported
      Src: /src/glib/gio/gunixcredentialsmessage.c:335,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixcredentialsmessage.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - credentials
    argTypes:
    - GCredentials*
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: g_unix_credentials_message_new_with_credentials
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - G_IS_CREDENTIALS
    - g_return_val_if_fail
    - g_unix_credentials_message_is_supported
    - g_object_new
    linkageType: ''
    returnType: GSocketControlMessage*
    signature: 'GSocketControlMessage *g_unix_credentials_message_new_with_credentials
      (GCredentials *credentials) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:138,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemoryinputstream.c:143,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gmemoryinputstream.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: g_memory_input_stream_finalize
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - G_OBJECT_CLASS
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_input_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gmemoryinputstream.c:253,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/gio/gmemoryinputstream.c:258,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gmemoryinputstream.c:262,1
    - Dst: g_memory_input_stream_add_bytes
      Src: /src/glib/gio/gmemoryinputstream.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - stream
    - data
    - len
    - destroy
    argTypes:
    - GMemoryInputStream*
    - void*
    - gssize
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 263
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 263
    functionName: g_memory_input_stream_add_data
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_new_with_free_func
    - g_memory_input_stream_add_bytes
    - g_bytes_unref
    linkageType: ''
    returnType: void
    signature: 'void g_memory_input_stream_add_data (GMemoryInputStream *stream, const
      void *data, gssize len, GDestroyNotify destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemoryinputstream.c:118,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gmemoryinputstream.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GMemoryInputStreamClass*
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: g_memory_input_stream_class_init
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_INPUT_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_input_stream_class_init (GMemoryInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableInputStreamInterface*
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/gmemoryinputstream.c:227,1
    - Dst: g_memory_input_stream_add_bytes
      Src: /src/glib/gio/gmemoryinputstream.c:229,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: g_memory_input_stream_new_from_bytes
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_INPUT_STREAM
    - g_memory_input_stream_add_bytes
    - g_memory_input_stream_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_memory_input_stream_new_from_bytes (GBytes *bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmemoryinputstream.c:280,1
    - Dst: g_slist_append
      Src: /src/glib/gio/gmemoryinputstream.c:285,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmemoryinputstream.c:281,1
    - Dst: G_IS_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:280,1
    - Dst: g_bytes_ref
      Src: /src/glib/gio/gmemoryinputstream.c:285,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/gmemoryinputstream.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - bytes
    argTypes:
    - GMemoryInputStream*
    - GBytes*
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: g_memory_input_stream_add_bytes
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_slist_append
    - G_IS_MEMORY_INPUT_STREAM
    - g_bytes_ref
    - g_bytes_get_size
    - g_return_if_fail
    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:352,1
    - Dst: MIN
      Src: /src/glib/gio/gmemoryinputstream.c:355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 359
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 359
    functionName: g_memory_input_stream_skip
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - MIN
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_memory_input_stream_skip (GInputStream *stream, gsize
      count, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error
      Src: /src/glib/gio/gmemoryinputstream.c:386,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gmemoryinputstream.c:381,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gmemoryinputstream.c:383,1
    - Dst: g_task_new
      Src: /src/glib/gio/gmemoryinputstream.c:382,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gmemoryinputstream.c:388,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmemoryinputstream.c:389,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: 390
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 390
    functionName: g_memory_input_stream_skip_async
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - G_INPUT_STREAM_GET_CLASS
    - g_object_unref
    - g_task_return_error
    - g_task_return_int
    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:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GMemoryInputStream*
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:303,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/gmemoryinputstream.c:312,1
    - Dst: MIN
      Src: /src/glib/gio/gmemoryinputstream.c:330,1
    - Dst: MIN
      Src: /src/glib/gio/gmemoryinputstream.c:306,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gmemoryinputstream.c:328,1
    - Dst: memcpy
      Src: /src/glib/gio/gmemoryinputstream.c:332,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: 341
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 341
    functionName: g_memory_input_stream_read
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_bytes_get_data
    - MIN
    - g_bytes_get_size
    - G_MEMORY_INPUT_STREAM
    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: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryinputstream.c:397,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gmemoryinputstream.c:399,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gmemoryinputstream.c:397,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmemoryinputstream.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: g_memory_input_stream_skip_finish
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_int
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_memory_input_stream_skip_finish (GInputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/gmemoryinputstream.c:203,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:205,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/gmemoryinputstream.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - data
    - len
    - destroy
    argTypes:
    - void*
    - gssize
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    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_object_new
      Src: /src/glib/gio/gmemoryinputstream.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    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_task_new
      Src: /src/glib/gio/gmemoryinputstream.c:411,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmemoryinputstream.c:414,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gmemoryinputstream.c:413,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gmemoryinputstream.c:412,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: 415
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: g_memory_input_stream_close_async
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_boolean
    - g_task_new
    - 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:454,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryinputstream.c:472,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryinputstream.c:482,1
    - Dst: _
      Src: /src/glib/gio/gmemoryinputstream.c:485,1
    - Dst: _
      Src: /src/glib/gio/gmemoryinputstream.c:475,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: 492
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 492
    functionName: g_memory_input_stream_seek
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - _
    - G_MEMORY_INPUT_STREAM
    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:506,1
    - Dst: _
      Src: /src/glib/gio/gmemoryinputstream.c:509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 511
    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: 423
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 423
    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: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    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: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    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:525,1
    - Dst: g_pollable_source_new_full
      Src: /src/glib/gio/gmemoryinputstream.c:526,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gmemoryinputstream.c:528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - cancellable
    argTypes:
    - GPollableInputStream*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 531
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 435
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    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_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    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:104,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsimpleaction.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: g_simple_action_get_state_type
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    - G_SIMPLE_ACTION
    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:209,1
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gsimpleaction.c:225,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsimpleaction.c:218,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsimpleaction.c:214,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:211,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsimpleaction.c:226,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsimpleaction.c:232,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gsimpleaction.c:234,1
    - Dst: g_simple_action_change_state
      Src: /src/glib/gio/gsimpleaction.c:235,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gsimpleaction.c:235,1
    - Dst: g_simple_action_change_state
      Src: /src/glib/gio/gsimpleaction.c:240,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:245,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsimpleaction.c:239,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsimpleaction.c:239,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - action
    - parameter
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 246
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 246
    functionName: g_simple_action_activate
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_simple_action_change_state
    - g_variant_get_boolean
    - g_signal_has_handler_pending
    - g_variant_unref
    - g_variant_new_boolean
    - g_variant_get_type
    - G_SIMPLE_ACTION
    - g_signal_emit
    - g_variant_ref_sink
    - g_variant_is_of_type
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_activate (GAction *action, GVariant *parameter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleaction.c:615,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsimpleaction.c:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - name
    - parameter_type
    argTypes:
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 621
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 621
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsimpleaction.c:646,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - name
    - parameter_type
    - state
    argTypes:
    - gchar*
    - GVariantType*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 651
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 651
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:115,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsimpleaction.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: g_simple_action_get_state_hint
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - G_SIMPLE_ACTION
    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:135,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/gsimpleaction.c:145,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsimpleaction.c:141,1
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gsimpleaction.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - action
    - value
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: g_simple_action_change_state
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_signal_has_handler_pending
    - g_signal_emit
    - G_SIMPLE_ACTION
    - g_simple_action_set_state
    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:254,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsimpleaction.c:267,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsimpleaction.c:259,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gsimpleaction.c:263,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleaction.c:259,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gsimpleaction.c:279,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/gsimpleaction.c:283,1
    - Dst: g_value_get_variant
      Src: /src/glib/gio/gsimpleaction.c:283,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsimpleaction.c:288,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 290
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 290
    functionName: g_simple_action_set_property
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_value_get_string
    - g_value_dup_variant
    - g_assert_not_reached
    - G_SIMPLE_ACTION
    - g_value_get_boolean
    - g_value_get_variant
    - g_simple_action_set_state
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:557,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsimpleaction.c:564,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsimpleaction.c:564,1
    - Dst: G_IS_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - simple
    - enabled
    argTypes:
    - GSimpleAction*
    - gboolean
    constantsTouched: []
    func_position:
      end: 566
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 566
    functionName: g_simple_action_set_enabled
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ACTION
    - g_object_notify
    - 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:584,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsimpleaction.c:593,1
    - Dst: G_IS_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:584,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:588,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - simple
    - state_hint
    argTypes:
    - GSimpleAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 594
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 594
    functionName: g_simple_action_set_state_hint
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - G_IS_SIMPLE_ACTION
    - g_variant_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_set_state_hint (GSimpleAction *simple, GVariant
      *state_hint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:170,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:171,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsimpleaction.c:177,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:178,1
    - Dst: G_IS_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:170,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:179,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsimpleaction.c:179,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsimpleaction.c:182,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/gsimpleaction.c:184,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:187,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsimpleaction.c:189,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsimpleaction.c:191,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsimpleaction.c:191,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - simple
    - value
    argTypes:
    - GSimpleAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 195
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 195
    functionName: g_simple_action_set_state
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SIMPLE_ACTION
    - g_variant_unref
    - g_variant_get_type
    - g_variant_ref
    - g_object_notify
    - g_variant_equal
    - g_variant_ref_sink
    - g_variant_is_of_type
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_set_state (GSimpleAction *simple, GVariant *value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION
      Src: /src/glib/gio/gsimpleaction.c:298,1
    - Dst: g_simple_action_get_parameter_type
      Src: /src/glib/gio/gsimpleaction.c:307,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsimpleaction.c:307,1
    - Dst: g_simple_action_get_name
      Src: /src/glib/gio/gsimpleaction.c:303,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsimpleaction.c:303,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsimpleaction.c:311,1
    - Dst: g_simple_action_get_enabled
      Src: /src/glib/gio/gsimpleaction.c:311,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsimpleaction.c:315,1
    - Dst: g_simple_action_get_state_type
      Src: /src/glib/gio/gsimpleaction.c:315,1
    - Dst: g_value_take_variant
      Src: /src/glib/gio/gsimpleaction.c:319,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsimpleaction.c:323,1
    - Dst: g_simple_action_get_state
      Src: /src/glib/gio/gsimpleaction.c:319,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 325
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 325
    functionName: g_simple_action_get_property
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_simple_action_get_name
    - g_simple_action_get_enabled
    - g_simple_action_get_parameter_type
    - g_value_set_boxed
    - g_assert_not_reached
    - g_simple_action_get_state_type
    - g_simple_action_get_state
    - g_value_take_variant
    - G_ACTION
    - g_value_set_boolean
    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: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    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_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleaction.c:366,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsimpleaction.c:395,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:478,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsimpleaction.c:479,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:497,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:500,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:480,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsimpleaction.c:498,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:516,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:528,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:463,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gsimpleaction.c:529,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsimpleaction.c:445,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:461,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsimpleaction.c:462,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:481,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:499,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsimpleaction.c:514,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:513,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:515,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:531,1
    - Dst: I_
      Src: /src/glib/gio/gsimpleaction.c:395,1
    - Dst: I_
      Src: /src/glib/gio/gsimpleaction.c:445,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:464,1
    - Dst: P_
      Src: /src/glib/gio/gsimpleaction.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSimpleActionClass*
    constantsTouched: []
    func_position:
      end: 536
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 536
    functionName: g_simple_action_class_init
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - I_
    - g_param_spec_boolean
    - g_signal_new
    - g_param_spec_variant
    - g_param_spec_string
    - g_param_spec_boxed
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_class_init (GSimpleActionClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:200,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsimpleaction.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: g_simple_action_get_state
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - G_SIMPLE_ACTION
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_simple_action_get_state (GAction *action) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:330,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:336,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gsimpleaction.c:334,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:338,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleaction.c:332,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleaction.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 342
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionName: g_simple_action_finalize
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_free
    - g_variant_unref
    - G_SIMPLE_ACTION
    - G_OBJECT_CLASS
    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: 361
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 361
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    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_type_class_ref
      Src: /src/glib/gio/gnetworkmonitorportal.c:102,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gnetworkmonitorportal.c:103,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:105,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_enum_get_value
    - g_type_class_ref
    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_propagate_boolean
    - G_TASK
    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_warning
      Src: /src/glib/gio/gnetworkmonitorportal.c:126,1
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:116,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkmonitorportal.c:124,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:142,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_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:153,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:147,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_dbus_proxy_get_cached_property
    - G_DBUS_PROXY
    - G_OBJECT
    - g_signal_emit_by_name
    - g_dbus_proxy_call_finish
    - G_NETWORK_MONITOR_PORTAL
    - g_variant_get_boolean
    - g_error_matches
    - g_variant_unref
    - g_variant_get
    - g_warning
    - g_clear_error
    - g_object_notify
    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: 6
    BranchProfiles: []
    Callsites:
    - 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: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:312,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:315,1
    - 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_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_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:312,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_DBUS_PROXY
      Src: /src/glib/gio/gnetworkmonitorportal.c:260,1
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/gnetworkmonitorportal.c:269,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/gnetworkmonitorportal.c:275,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_variant_lookup
      Src: /src/glib/gio/gnetworkmonitorportal.c:291,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:299,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:305,1
    - Dst: is_valid_connectivity
      Src: /src/glib/gio/gnetworkmonitorportal.c:309,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_clear_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:282,1
    - Dst: g_object_notify
      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_variant_lookup
    - G_DBUS_PROXY
    - G_OBJECT
    - g_signal_emit_by_name
    - g_dbus_proxy_call_finish
    - G_NETWORK_MONITOR_PORTAL
    - g_error_matches
    - g_variant_unref
    - g_object_freeze_notify
    - g_variant_get
    - g_warning
    - g_clear_error
    - g_object_notify
    - is_valid_connectivity
    - g_dbus_proxy_call
    - g_object_thaw_notify
    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: glib_should_use_portal
      Src: /src/glib/gio/gnetworkmonitorportal.c:429,1
    - Dst: g_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/gnetworkmonitorportal.c:435,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gnetworkmonitorportal.c:446,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:431,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: g_signal_connect
      Src: /src/glib/gio/gnetworkmonitorportal.c:461,1
    - Dst: update_properties
      Src: /src/glib/gio/gnetworkmonitorportal.c:470,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_dbus_proxy_get_name_owner
    - g_set_error
    - g_signal_connect
    - g_free
    - glib_network_available_in_sandbox
    - G_NETWORK_MONITOR_PORTAL
    - glib_should_use_portal
    - update_properties
    - g_object_unref
    - G_CALLBACK
    - g_dbus_proxy_new_for_bus_sync
    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:494,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:493,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
    - g_object_class_override_property
    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_task_return_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:552,1
    - Dst: g_task_get_source_object
      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_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
      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_get_source_object
    - g_dbus_proxy_call_finish
    - G_NETWORK_MONITOR_PORTAL
    - g_variant_unref
    - g_object_unref
    - g_variant_get
    - g_task_return_boolean
    - g_task_return_error
    - g_task_return_new_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_OBJECT_CLASS
    - G_NETWORK_MONITOR_PORTAL
    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_set_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:511,1
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkmonitorportal.c:517,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gnetworkmonitorportal.c:513,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_dbus_proxy_call_sync
    - G_NETWORK_MONITOR_PORTAL
    - G_NETWORK_ADDRESS
    - g_variant_unref
    - g_variant_get
    - G_OBJECT_TYPE_NAME
    - G_IS_NETWORK_ADDRESS
    - g_variant_new
    - 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_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkmonitorportal.c:583,1
    - Dst: g_task_new
      Src: /src/glib/gio/gnetworkmonitorportal.c:581,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:585,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gnetworkmonitorportal.c:587,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_NETWORK_MONITOR_PORTAL
    - G_NETWORK_ADDRESS
    - g_task_new
    - g_object_unref
    - G_OBJECT_TYPE_NAME
    - G_IS_NETWORK_ADDRESS
    - g_variant_new
    - g_dbus_proxy_call
    - g_task_return_new_error
    - g_network_address_get_hostname
    - g_network_address_get_port
    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:
    - 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_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:164,1
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/gnetworkmonitorportal.c:169,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkmonitorportal.c:172,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitorportal.c:174,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:190,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:201,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gnetworkmonitorportal.c:194,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:201,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:195,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_dbus_proxy_get_cached_property
    - G_DBUS_PROXY
    - G_OBJECT
    - g_signal_emit_by_name
    - g_dbus_proxy_call_finish
    - G_NETWORK_MONITOR_PORTAL
    - g_variant_get_boolean
    - g_error_matches
    - g_variant_unref
    - g_variant_get
    - g_warning
    - g_clear_error
    - g_object_notify
    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_signal_emit_by_name
    - G_VARIANT_TYPE
    - G_OBJECT
    - update_properties
    - g_variant_get
    - g_object_notify
    - strcmp
    - g_variant_is_of_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_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:79,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_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_NETWORK_MONITOR_PORTAL
    - g_value_set_boolean
    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_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_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:212,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_get
      Src: /src/glib/gio/gnetworkmonitorportal.c:242,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:243,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:238,1
    - Dst: is_valid_connectivity
      Src: /src/glib/gio/gnetworkmonitorportal.c:247,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
    - Dst: g_object_notify
      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_dbus_proxy_get_cached_property
    - G_DBUS_PROXY
    - G_OBJECT
    - g_signal_emit_by_name
    - g_dbus_proxy_call_finish
    - G_NETWORK_MONITOR_PORTAL
    - g_error_matches
    - g_variant_unref
    - g_variant_get
    - g_warning
    - g_clear_error
    - g_object_notify
    - g_variant_get_uint32
    - is_valid_connectivity
    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: is_valid_connectivity
      Src: /src/glib/gio/gnetworkmonitorportal.c:377,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gnetworkmonitorportal.c:375,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_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:399,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:406,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:406,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:409,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gnetworkmonitorportal.c:413,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gnetworkmonitorportal.c:402,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_dbus_proxy_get_cached_property
    - G_OBJECT
    - g_signal_emit_by_name
    - g_variant_get_boolean
    - g_variant_unref
    - g_object_notify
    - g_variant_get_uint32
    - is_valid_connectivity
    linkageType: ''
    returnType: void
    signature: 'static void proxy_properties_changed (GDBusProxy *proxy, GVariant
      *changed, GVariant *invalidated, GNetworkMonitorPortal *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterInterface*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverter.c:169,1
    - 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:170,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:169,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:175,1
    - Dst: G_CONVERTER_GET_IFACE
      Src: /src/glib/gio/gconverter.c:180,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: 187
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 187
    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:204,1
    - Dst: G_CONVERTER_GET_IFACE
      Src: /src/glib/gio/gconverter.c:206,1
    - Dst: G_IS_CONVERTER
      Src: /src/glib/gio/gconverter.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:205,1
    - Dst: g_file_hash
      Src: /src/glib/gio/gfileicon.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: g_file_icon_hash
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_FILE_ICON
    - g_file_hash
    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:214,1
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:215,1
    - Dst: g_file_equal
      Src: /src/glib/gio/gfileicon.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: g_file_icon_equal
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_file_equal
    - G_FILE_ICON
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_icon_equal (GIcon *icon1,\t\t GIcon *icon2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:119,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileicon.c:122,1
    - Dst: g_assert
      Src: /src/glib/gio/gfileicon.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    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:225,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gfileicon.c:231,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileicon.c:227,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfileicon.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - icon
    - tokens
    - out_version
    argTypes:
    - GIcon*
    - GPtrArray*
    - gint*
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: g_file_icon_to_tokens
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_FILE_ICON
    - g_return_val_if_fail
    - g_file_get_uri
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:276,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/gio/gfileicon.c:278,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gfileicon.c:278,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gfileicon.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: g_file_icon_serialize
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_variant_new_take_string
    - G_FILE_ICON
    - g_file_get_uri
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_file_icon_serialize (GIcon *icon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:133,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileicon.c:138,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileicon.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: g_file_icon_finalize
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_FILE_ICON
    - G_OBJECT_CLASS
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gfileicon.c:248,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gfileicon.c:265,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileicon.c:258,1
    - Dst: _
      Src: /src/glib/gio/gfileicon.c:251,1
    - Dst: _
      Src: /src/glib/gio/gfileicon.c:261,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/gfileicon.c:266,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileicon.c:267,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - tokens
    - num_tokens
    - version
    - error
    argTypes:
    - gchar**
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 271
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 271
    functionName: g_file_icon_from_tokens
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_file_new_for_uri
    - g_file_icon_new
    - g_object_unref
    - g_set_error_literal
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_file_icon_from_tokens (gchar **tokens, gint num_tokens,
      gint version, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GIconIface*
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 289
    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: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:83,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gfileicon.c:88,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfileicon.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    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:197,1
    - Dst: G_IS_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GFileIcon*
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: g_file_icon_get_file
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILE_ICON
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_icon_get_file (GFileIcon *icon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:300,1
    - Dst: g_file_read
      Src: /src/glib/gio/gfileicon.c:302,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileicon.c:309,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 5
    argNames:
    - icon
    - size
    - type
    - cancellable
    - error
    argTypes:
    - GLoadableIcon*
    - int
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 310
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 310
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:102,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfileicon.c:107,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfileicon.c:111,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gfileicon.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: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: g_file_icon_set_property
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - G_FILE_ICON
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read_finish
      Src: /src/glib/gio/gfileicon.c:321,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileicon.c:325,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfileicon.c:323,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfileicon.c:321,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileicon.c:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 327
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 327
    functionName: load_async_callback
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_FILE
    - g_object_unref
    - g_task_return_pointer
    - g_task_return_error
    - g_file_read_finish
    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_return_val_if_fail
      Src: /src/glib/gio/gfileicon.c:181,1
    - Dst: G_ICON
      Src: /src/glib/gio/gfileicon.c:183,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfileicon.c:181,1
    - Dst: g_object_new
      Src: /src/glib/gio/gfileicon.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: g_file_icon_new
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_ICON
    - G_IS_FILE
    - g_return_val_if_fail
    - 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:144,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gfileicon.c:157,1
    - Dst: P_
      Src: /src/glib/gio/gfileicon.c:159,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfileicon.c:156,1
    - Dst: P_
      Src: /src/glib/gio/gfileicon.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileIconClass*
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: g_file_icon_class_init
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - P_
    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:336,1
    - Dst: g_file_read_async
      Src: /src/glib/gio/gfileicon.c:342,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfileicon.c:339,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileicon.c:340,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: 345
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 345
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFileIcon*
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    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:353,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileicon.c:358,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileicon.c:358,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileicon.c:353,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - icon
    - res
    - type
    - error
    argTypes:
    - GLoadableIcon*
    - GAsyncResult*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 359
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 359
    functionName: g_file_icon_load_finish
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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:157,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:157,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:161,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    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:91,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/ginetsocketaddress.c:96,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/ginetsocketaddress.c:100,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:104,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:104,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/ginetsocketaddress.c:105,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:109,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:109,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/ginetsocketaddress.c:110,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetsocketaddress.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: g_inet_socket_address_get_property
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_value_set_uint
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_inet_address_get_family
    - g_return_if_fail
    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:192,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetsocketaddress.c:203,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:192,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:194,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:195,1
    - Dst: _
      Src: /src/glib/gio/ginetsocketaddress.c:204,1
    - Dst: g_htons
      Src: /src/glib/gio/ginetsocketaddress.c:209,1
    - Dst: memcpy
      Src: /src/glib/gio/ginetsocketaddress.c:210,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetsocketaddress.c:210,1
    - Dst: memset
      Src: /src/glib/gio/ginetsocketaddress.c:211,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetsocketaddress.c:220,1
    - Dst: memset
      Src: /src/glib/gio/ginetsocketaddress.c:225,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetsocketaddress.c:235,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetsocketaddress.c:230,1
    - Dst: _
      Src: /src/glib/gio/ginetsocketaddress.c:221,1
    - Dst: memcpy
      Src: /src/glib/gio/ginetsocketaddress.c:230,1
    - Dst: g_htons
      Src: /src/glib/gio/ginetsocketaddress.c:227,1
    - Dst: _
      Src: /src/glib/gio/ginetsocketaddress.c:236,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - address
    - dest
    - destlen
    - error
    argTypes:
    - GSocketAddress*
    - gpointer
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 239
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 239
    functionName: g_inet_socket_address_to_native
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - memcpy
    - G_IS_INET_SOCKET_ADDRESS
    - _
    - g_inet_address_to_bytes
    - memset
    - g_htons
    - g_set_error_literal
    - g_return_val_if_fail
    - g_inet_address_get_family
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gio/ginetsocketaddress.c:417,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/ginetsocketaddress.c:429,1
    - Dst: g_once_init_enter
      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_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
    - Dst: g_object_unref
      Src: /src/glib/gio/ginetsocketaddress.c:462,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - guint
    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_UNLIKELY
    - g_once_init_enter
    - getaddrinfo
    - g_warn_if_fail
    - g_inet_address_new_from_string
    - g_inet_socket_address_new
    - g_object_unref
    - freeaddrinfo
    - g_once_init_leave
    - g_htons
    - g_inet_address_get_family
    - strchr
    - g_socket_address_new_from_native
    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_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
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:520,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_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:78,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginetsocketaddress.c:82,1
    - Dst: g_clear_object
      Src: /src/glib/gio/ginetsocketaddress.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    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:124,1
    - Dst: g_object_ref
      Src: /src/glib/gio/ginetsocketaddress.c:129,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/ginetsocketaddress.c:140,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/ginetsocketaddress.c:133,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/ginetsocketaddress.c:129,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/ginetsocketaddress.c:144,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetsocketaddress.c:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 150
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 150
    functionName: g_inet_socket_address_set_property
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_object_ref
    - g_value_get_uint
    - g_value_get_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:170,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:170,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:173,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 181
    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:244,1
    - Dst: P_
      Src: /src/glib/gio/ginetsocketaddress.c:257,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetsocketaddress.c:255,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/ginetsocketaddress.c:256,1
    - Dst: G_SOCKET_ADDRESS_CLASS
      Src: /src/glib/gio/ginetsocketaddress.c:245,1
    - Dst: P_
      Src: /src/glib/gio/ginetsocketaddress.c:258,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetsocketaddress.c:264,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/ginetsocketaddress.c:265,1
    - Dst: P_
      Src: /src/glib/gio/ginetsocketaddress.c:266,1
    - Dst: P_
      Src: /src/glib/gio/ginetsocketaddress.c:267,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetsocketaddress.c:282,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetsocketaddress.c:300,1
    - Dst: P_
      Src: /src/glib/gio/ginetsocketaddress.c:285,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/ginetsocketaddress.c:301,1
    - Dst: P_
      Src: /src/glib/gio/ginetsocketaddress.c:303,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/ginetsocketaddress.c:283,1
    - Dst: P_
      Src: /src/glib/gio/ginetsocketaddress.c:302,1
    - Dst: P_
      Src: /src/glib/gio/ginetsocketaddress.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInetSocketAddressClass*
    constantsTouched: []
    func_position:
      end: 310
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 310
    functionName: g_inet_socket_address_class_init
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - g_param_spec_uint
    - G_SOCKET_ADDRESS_CLASS
    - G_OBJECT_CLASS
    - P_
    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_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_string_append
      Src: /src/glib/gio/ginetsocketaddress.c:337,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_inet_socket_address_get_port
      Src: /src/glib/gio/ginetsocketaddress.c:349,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:353,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_append_printf
      Src: /src/glib/gio/ginetsocketaddress.c:359,1
    - Dst: g_string_free
      Src: /src/glib/gio/ginetsocketaddress.c:362,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    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
    - g_string_new
    - g_inet_address_to_string
    - g_string_append
    - g_free
    - g_inet_socket_address_get_address
    - g_string_prepend
    - g_string_append_printf
    - g_inet_socket_address_get_port
    - g_inet_socket_address_get_scope_id
    - g_string_free
    - g_inet_address_get_family
    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: 2
    argNames:
    - address
    - port
    argTypes:
    - GInetAddress*
    - guint16
    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: 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: 1
    argNames:
    - address
    argTypes:
    - GInetSocketAddress*
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/giomodule.c:201,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - scope
    argTypes:
    - GIOModuleScope*
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/giomodule.c:1427,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/giomodule.c:1437,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/giomodule.c:1429,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/giomodule.c:1434,1
    - Dst: g_new0
      Src: /src/glib/gio/giomodule.c:1441,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1442,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/giomodule.c:1444,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/giomodule.c:1446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1449
    functionName: g_io_extension_point_register
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - g_hash_table_new_full
    - g_hash_table_lookup
    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: 1715
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1715
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_MODULE
      Src: /src/glib/gio/giomodule.c:307,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/giomodule.c:311,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: g_io_module_finalize
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_free
    - G_IO_MODULE
    linkageType: ''
    returnType: void
    signature: 'static void g_io_module_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_module_supported
      Src: /src/glib/gio/giomodule.c:666,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/giomodule.c:674,1
    - Dst: g_dir_open
      Src: /src/glib/gio/giomodule.c:669,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:681,1
    - Dst: is_valid_module_name
      Src: /src/glib/gio/giomodule.c:676,1
    - Dst: g_io_module_new
      Src: /src/glib/gio/giomodule.c:682,1
    - Dst: g_type_module_use
      Src: /src/glib/gio/giomodule.c:684,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:684,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:686,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giomodule.c:687,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:692,1
    - Dst: g_dir_close
      Src: /src/glib/gio/giomodule.c:698,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/giomodule.c:694,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:688,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - dirname
    - scope
    argTypes:
    - char*
    - GIOModuleScope*
    constantsTouched: []
    func_position:
      end: 701
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 701
    functionName: g_io_modules_load_all_in_directory_with_scope
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_module_supported
    - g_free
    - g_type_module_use
    - g_dir_read_name
    - G_TYPE_MODULE
    - g_dir_open
    - g_io_module_new
    - g_object_unref
    - g_list_prepend
    - g_build_filename
    - g_dir_close
    - is_valid_module_name
    - g_printerr
    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_print
      Src: /src/glib/gio/giomodule.c:747,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:757,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:749,1
    - Dst: g_print
      Src: /src/glib/gio/giomodule.c:750,1
    - Dst: MAX
      Src: /src/glib/gio/giomodule.c:760,1
    - Dst: strlen
      Src: /src/glib/gio/giomodule.c:760,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/giomodule.c:760,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:763,1
    - Dst: g_print
      Src: /src/glib/gio/giomodule.c:767,1
    - Dst: MIN
      Src: /src/glib/gio/giomodule.c:767,1
    - Dst: g_io_extension_get_priority
      Src: /src/glib/gio/giomodule.c:769,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/giomodule.c:768,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - envvar
    - ep
    argTypes:
    - char*
    - GIOExtensionPoint*
    constantsTouched: []
    func_position:
      end: 772
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 772
    functionName: print_help
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - strlen
    - g_io_extension_get_name
    - MIN
    - g_io_extension_get_priority
    - MAX
    - g_print
    - g_io_extension_point_get_extensions
    linkageType: ''
    returnType: void
    signature: 'static void print_help (const char *envvar, GIOExtensionPoint *ep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_modules_load_all_in_directory_with_scope
      Src: /src/glib/gio/giomodule.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 725
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 725
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:984,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giomodule.c:985,1
    - Dst: print_help
      Src: /src/glib/gio/giomodule.c:1013,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:1028,1
    - Dst: g_io_extension_point_get_extension_by_name
      Src: /src/glib/gio/giomodule.c:1019,1
    - Dst: g_new0
      Src: /src/glib/gio/giomodule.c:1049,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1051,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:1059,1
    - Dst: g_debug
      Src: /src/glib/gio/giomodule.c:1069,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/giomodule.c:969,1
    - Dst: g_debug
      Src: /src/glib/gio/giomodule.c:1000,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/giomodule.c:1050,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/giomodule.c:1066,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giomodule.c:1072,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/giomodule.c:978,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/gio/giomodule.c:972,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/giomodule.c:991,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/giomodule.c:996,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/giomodule.c:1011,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:1003,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:1033,1
    - Dst: g_assert
      Src: /src/glib/gio/giomodule.c:1063,1
    - Dst: g_debug
      Src: /src/glib/gio/giomodule.c:1064,1
    - Dst: _g_io_modules_ensure_loaded
      Src: /src/glib/gio/giomodule.c:995,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/giomodule.c:1002,1
    - Dst: g_getenv
      Src: /src/glib/gio/giomodule.c:1010,1
    - Dst: try_implementation
      Src: /src/glib/gio/giomodule.c:1022,1
    - Dst: try_implementation
      Src: /src/glib/gio/giomodule.c:1039,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/giomodule.c:1051,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giomodule.c:1052,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/giomodule.c:1056,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/giomodule.c:1065,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 3
    argNames:
    - extension_point
    - envvar
    - verify_func
    argTypes:
    - gchar*
    - gchar*
    - GIOModuleVerifyFunc
    constantsTouched: []
    func_position:
      end: 1073
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1073
    functionName: _g_io_module_get_default
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_io_extension_get_name
    - g_hash_table_insert
    - g_steal_pointer
    - g_io_extension_point_get_extension_by_name
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - print_help
    - g_io_extension_point_get_extensions
    - try_implementation
    - g_strcmp0
    - g_weak_ref_get
    - g_hash_table_lookup_extended
    - g_warning
    - G_OBJECT_TYPE_NAME
    - g_hash_table_new_full
    - g_weak_ref_set
    - _g_io_modules_ensure_loaded
    - g_strdup
    - g_new0
    - g_assert
    - g_weak_ref_init
    - g_warn_if_reached
    - g_debug
    - g_io_extension_point_lookup
    - g_getenv
    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: GetModuleHandleExA
      Src: /src/glib/gio/giomodule.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1182
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1182
    functionName: _g_io_win32_get_module
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - GetModuleHandleExA
    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:1340,1
    - Dst: g_null_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1346,1
    - Dst: _g_socks4a_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1389,1
    - Dst: _g_socks4_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1390,1
    - Dst: g_power_profile_monitor_dbus_get_type
      Src: /src/glib/gio/giomodule.c:1349,1
    - Dst: g_network_monitor_portal_get_type
      Src: /src/glib/gio/giomodule.c:1373,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1386,1
    - Dst: g_osx_app_info_get_type
      Src: /src/glib/gio/giomodule.c:1363,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1358,1
    - Dst: get_gio_module_dir
      Src: /src/glib/gio/giomodule.c:1338,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1349,1
    - Dst: _g_https_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1388,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1385,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1341,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1370,1
    - Dst: g_portal_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1370,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1395,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/giomodule.c:1313,1
    - Dst: g_getenv
      Src: /src/glib/gio/giomodule.c:1321,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1346,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1374,1
    - Dst: g_debug_controller_dbus_get_type
      Src: /src/glib/gio/giomodule.c:1367,1
    - Dst: g_gtk_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1369,1
    - Dst: g_win32_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1381,1
    - Dst: g_kqueue_file_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1354,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1362,1
    - Dst: g_memory_monitor_win32_get_type
      Src: /src/glib/gio/giomodule.c:1383,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1372,1
    - Dst: _g_http_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1387,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1393,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1369,1
    - Dst: g_cocoa_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1378,1
    - Dst: g_strsplit
      Src: /src/glib/gio/giomodule.c:1327,1
    - Dst: g_io_modules_scan_all_in_directory_with_scope
      Src: /src/glib/gio/giomodule.c:1331,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1348,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1357,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1359,1
    - Dst: g_fdo_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1368,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1373,1
    - Dst: _g_network_monitor_nm_get_type
      Src: /src/glib/gio/giomodule.c:1396,1
    - Dst: _g_dummy_proxy_resolver_get_type
      Src: /src/glib/gio/giomodule.c:1386,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1347,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1375,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1392,1
    - Dst: g_keyfile_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1348,1
    - Dst: g_registry_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1359,1
    - Dst: g_nextstep_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1362,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1396,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/giomodule.c:1402,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1367,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1391,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1381,1
    - Dst: _g_network_monitor_netlink_get_type
      Src: /src/glib/gio/giomodule.c:1395,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1383,1
    - Dst: g_memory_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1347,1
    - Dst: g_inotify_file_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1351,1
    - Dst: g_proxy_resolver_portal_get_type
      Src: /src/glib/gio/giomodule.c:1375,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1390,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1378,1
    - Dst: _g_unix_volume_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1366,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1371,1
    - Dst: g_network_monitor_base_get_type
      Src: /src/glib/gio/giomodule.c:1393,1
    - Dst: g_strfreev
      Src: /src/glib/gio/giomodule.c:1334,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1363,1
    - Dst: _g_winhttp_vfs_get_type
      Src: /src/glib/gio/giomodule.c:1382,1
    - Dst: g_power_profile_monitor_portal_get_type
      Src: /src/glib/gio/giomodule.c:1374,1
    - Dst: g_memory_monitor_portal_get_type
      Src: /src/glib/gio/giomodule.c:1372,1
    - Dst: _g_win32_network_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1399,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1389,1
    - Dst: _g_io_modules_ensure_extension_points_registered
      Src: /src/glib/gio/giomodule.c:1311,1
    - Dst: g_io_module_scope_free
      Src: /src/glib/gio/giomodule.c:1343,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1354,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1366,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1388,1
    - Dst: _g_local_vfs_get_type
      Src: /src/glib/gio/giomodule.c:1385,1
    - Dst: _g_dummy_tls_backend_get_type
      Src: /src/glib/gio/giomodule.c:1392,1
    - Dst: _g_win32_volume_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1357,1
    - Dst: g_io_module_scope_new
      Src: /src/glib/gio/giomodule.c:1318,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/giomodule.c:1315,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1351,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1382,1
    - Dst: g_win32_file_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1358,1
    - Dst: g_memory_monitor_dbus_get_type
      Src: /src/glib/gio/giomodule.c:1371,1
    - Dst: _g_socks5_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1391,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1368,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1387,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 100
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1404
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1404
    functionName: _g_io_modules_ensure_loaded
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_memory_monitor_portal_get_type
    - g_memory_monitor_dbus_get_type
    - g_io_modules_scan_all_in_directory_with_scope
    - g_win32_notification_backend_get_type
    - g_network_monitor_base_get_type
    - g_strfreev
    - g_kqueue_file_monitor_get_type
    - _g_network_monitor_netlink_get_type
    - GLIB_PRIVATE_CALL
    - _g_local_vfs_get_type
    - g_memory_monitor_win32_get_type
    - _g_http_proxy_get_type
    - g_strsplit
    - g_registry_settings_backend_get_type
    - _g_socks5_proxy_get_type
    - g_gtk_notification_backend_get_type
    - _g_unix_volume_monitor_get_type
    - _g_https_proxy_get_type
    - _g_network_monitor_nm_get_type
    - _g_io_modules_ensure_extension_points_registered
    - _g_socks4_proxy_get_type
    - _g_dummy_tls_backend_get_type
    - _g_socks4a_proxy_get_type
    - g_null_settings_backend_get_type
    - g_nextstep_settings_backend_get_type
    - g_once_init_leave
    - g_win32_file_monitor_get_type
    - g_portal_notification_backend_get_type
    - g_power_profile_monitor_portal_get_type
    - _g_winhttp_vfs_get_type
    - g_memory_settings_backend_get_type
    - get_gio_module_dir
    - g_fdo_notification_backend_get_type
    - g_power_profile_monitor_dbus_get_type
    - g_io_module_scope_free
    - g_osx_app_info_get_type
    - g_free
    - g_keyfile_settings_backend_get_type
    - g_once_init_enter
    - g_type_ensure
    - g_network_monitor_portal_get_type
    - g_proxy_resolver_portal_get_type
    - _g_win32_volume_monitor_get_type
    - g_inotify_file_monitor_get_type
    - g_getenv
    - _g_dummy_proxy_resolver_get_type
    - g_io_module_scope_new
    - g_debug_controller_dbus_get_type
    - _g_win32_network_monitor_get_type
    - g_cocoa_notification_backend_get_type
    linkageType: ''
    returnType: void
    signature: 'void _g_io_modules_ensure_loaded (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giomodule.c:1563,1
    - Dst: lazy_load_modules
      Src: /src/glib/gio/giomodule.c:1565,1
    - Dst: strcmp
      Src: /src/glib/gio/giomodule.c:1571,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - extension_point
    - name
    argTypes:
    - GIOExtensionPoint*
    - char*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1576
    functionName: g_io_extension_point_get_extension_by_name
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strcmp
    - lazy_load_modules
    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_type_class_ref
      Src: /src/glib/gio/giomodule.c:1669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - extension
    argTypes:
    - GIOExtension*
    constantsTouched: []
    func_position:
      end: 1670
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1670
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_io_extension_get_type
      Src: /src/glib/gio/giomodule.c:731,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/giomodule.c:739,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gio/giomodule.c:736,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/giomodule.c:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - extension
    - is_supported_offset
    argTypes:
    - GIOExtension*
    - guint
    constantsTouched: []
    func_position:
      end: 741
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 741
    functionName: try_class
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_type_class_unref
    - g_io_extension_get_type
    - G_STRUCT_MEMBER
    - g_type_class_ref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer try_class (GIOExtension *extension, guint is_supported_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/giomodule.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 1137
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1137
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_win32_init
      Src: /src/glib/gio/giomodule.c:1164,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/giomodule.c:1166,1
    - Dst: gobject_win32_init
      Src: /src/glib/gio/giomodule.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1167
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1167
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1409,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ep
    argTypes:
    - GIOExtensionPoint*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1411
    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: 1591
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1591
    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_if_fail
      Src: /src/glib/gio/giomodule.c:222,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:225,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/giomodule.c:226,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/giomodule.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - scope
    - basename
    argTypes:
    - GIOModuleScope*
    - gchar*
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 227
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/giomodule.c:1465,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/giomodule.c:1470,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/giomodule.c:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1474
    functionName: g_io_extension_point_lookup
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - G_UNLOCK
    - G_LOCK
    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:1618,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/giomodule.c:1620,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/giomodule.c:1628,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:1630,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:1623,1
    - Dst: g_type_name
      Src: /src/glib/gio/giomodule.c:1632,1
    - Dst: g_type_name
      Src: /src/glib/gio/giomodule.c:1634,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/giomodule.c:1646,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1648,1
    - Dst: g_list_insert_sorted
      Src: /src/glib/gio/giomodule.c:1651,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - extension_point_name
    - type
    - extension_name
    - priority
    argTypes:
    - char*
    - GType
    - char*
    - gint
    constantsTouched: []
    func_position:
      end: 1655
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1655
    functionName: g_io_extension_point_implement
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    - g_warning
    - g_type_name
    - g_io_extension_point_lookup
    - g_type_is_a
    - g_list_insert_sorted
    - g_return_val_if_fail
    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_hash_table_contains
      Src: /src/glib/gio/giomodule.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - scope
    - basename
    argTypes:
    - GIOModuleScope*
    - gchar*
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    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_io_module_extract_name
      Src: /src/glib/gio/giomodule.c:322,1
    - Dst: g_strconcat
      Src: /src/glib/gio/giomodule.c:323,1
    - Dst: g_strconcat
      Src: /src/glib/gio/giomodule.c:324,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/giomodule.c:326,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/giomodule.c:329,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/giomodule.c:336,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/giomodule.c:339,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:344,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:345,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 349
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 349
    functionName: load_symbols
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_free
    - _g_io_module_extract_name
    - 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:417,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:420,1
    - Dst: g_object_new
      Src: /src/glib/gio/giomodule.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 423
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_module_supported
      Src: /src/glib/gio/giomodule.c:491,1
    - Dst: g_dir_open
      Src: /src/glib/gio/giomodule.c:494,1
    - Dst: g_strsplit
      Src: /src/glib/gio/giomodule.c:520,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/giomodule.c:541,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/giomodule.c:544,1
    - Dst: g_strfreev
      Src: /src/glib/gio/giomodule.c:551,1
    - Dst: g_type_module_use
      Src: /src/glib/gio/giomodule.c:587,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giomodule.c:596,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:600,1
    - Dst: g_dir_close
      Src: /src/glib/gio/giomodule.c:604,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/giomodule.c:607,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/giomodule.c:503,1
    - Dst: MAX
      Src: /src/glib/gio/giomodule.c:518,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:521,1
    - Dst: strchr
      Src: /src/glib/gio/giomodule.c:533,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/giomodule.c:549,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/giomodule.c:545,1
    - Dst: is_valid_module_name
      Src: /src/glib/gio/giomodule.c:556,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:578,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:589,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:609,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:498,1
    - Dst: g_strsplit
      Src: /src/glib/gio/giomodule.c:548,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/giomodule.c:554,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:564,1
    - Dst: g_io_module_new
      Src: /src/glib/gio/giomodule.c:565,1
    - Dst: g_stat
      Src: /src/glib/gio/giomodule.c:571,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/giomodule.c:580,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:587,1
    - Dst: g_type_module_unuse
      Src: /src/glib/gio/giomodule.c:589,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:595,1
    - Dst: g_stat
      Src: /src/glib/gio/giomodule.c:502,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:538,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/giomodule.c:568,1
    - Dst: g_ignore_leak
      Src: /src/glib/gio/giomodule.c:591,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 80
    argCount: 2
    argNames:
    - dirname
    - scope
    argTypes:
    - char*
    - GIOModuleScope*
    constantsTouched: []
    func_position:
      end: 610
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 610
    functionName: g_io_modules_scan_all_in_directory_with_scope
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_dir_open
    - g_hash_table_insert
    - g_strfreev
    - g_dir_close
    - g_ascii_isspace
    - g_io_extension_point_register
    - g_type_module_use
    - g_io_module_new
    - g_object_unref
    - g_strsplit
    - g_stat
    - g_type_module_unuse
    - strchr
    - is_valid_module_name
    - g_module_supported
    - G_UNLIKELY
    - g_ignore_leak
    - g_hash_table_destroy
    - g_dir_read_name
    - g_list_prepend
    - g_build_filename
    - g_hash_table_new_full
    - MAX
    - g_printerr
    - g_strdup
    - g_free
    - g_file_get_contents
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'void g_io_modules_scan_all_in_directory_with_scope (const char *dirname,
      GIOModuleScope *scope) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_io_extension_get_type
      Src: /src/glib/gio/giomodule.c:889,1
    - Dst: g_debug
      Src: /src/glib/gio/giomodule.c:900,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/giomodule.c:901,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/giomodule.c:892,1
    - Dst: g_initable_new
      Src: /src/glib/gio/giomodule.c:896,1
    - Dst: g_type_name
      Src: /src/glib/gio/giomodule.c:902,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giomodule.c:905,1
    - Dst: g_object_new
      Src: /src/glib/gio/giomodule.c:910,1
    - Dst: verify_func
      Src: /src/glib/gio/giomodule.c:911,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giomodule.c:914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - extension_point
    - extension
    - verify_func
    argTypes:
    - char*
    - GIOExtension*
    - GIOModuleVerifyFunc
    constantsTouched: []
    func_position:
      end: 917
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 917
    functionName: try_implementation
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_io_extension_get_name
    - g_object_new
    - g_object_unref
    - g_clear_error
    - g_debug
    - g_type_name
    - verify_func
    - g_type_is_a
    - g_io_extension_get_type
    - g_initable_new
    linkageType: ''
    returnType: gpointer
    signature: "static gpointer try_implementation (const char *extension_point, GIOExtension
      *extension,\t\t GIOModuleVerifyFunc verify_func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - extension_point
    - type
    argTypes:
    - GIOExtensionPoint*
    - GType
    constantsTouched: []
    func_position:
      end: 1489
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1489
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giomodule.c:1541,1
    - Dst: lazy_load_modules
      Src: /src/glib/gio/giomodule.c:1543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - extension_point
    argTypes:
    - GIOExtensionPoint*
    constantsTouched: []
    func_position:
      end: 1545
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1545
    functionName: g_io_extension_point_get_extensions
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - lazy_load_modules
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_io_extension_point_get_extensions (GIOExtensionPoint *extension_point) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_MODULE
      Src: /src/glib/gio/giomodule.c:354,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:367,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giomodule.c:368,1
    - Dst: g_module_open_full
      Src: /src/glib/gio/giomodule.c:363,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:359,1
    - Dst: load_symbols
      Src: /src/glib/gio/giomodule.c:373,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:375,1
    - Dst: g_module_error
      Src: /src/glib/gio/giomodule.c:375,1
    - Dst: g_module_close
      Src: /src/glib/gio/giomodule.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - gmodule
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 386
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 386
    functionName: g_io_module_load_module
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_module_close
    - G_IO_MODULE
    - g_module_error
    - g_warning
    - g_clear_error
    - g_module_open_full
    - load_symbols
    - g_printerr
    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:922,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 924
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 924
    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:391,1
    - Dst: g_module_close
      Src: /src/glib/gio/giomodule.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - gmodule
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: g_io_module_unload_module
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_module_close
    - G_IO_MODULE
    linkageType: ''
    returnType: void
    signature: 'static void g_io_module_unload_module (GTypeModule *gmodule) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/giomodule.c:433,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/giomodule.c:438,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giomodule.c:439,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giomodule.c:434,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giomodule.c:435,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giomodule.c:443,1
    - Dst: _g_io_module_scope_contains
      Src: /src/glib/gio/giomodule.c:450,1
    - Dst: g_io_module_scope_block
      Src: /src/glib/gio/giomodule.c:452,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - basename
    - scope
    argTypes:
    - gchar*
    - GIOModuleScope*
    constantsTouched: []
    func_position:
      end: 456
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 456
    functionName: is_valid_module_name
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_io_module_scope_block
    - g_str_has_suffix
    - g_str_has_prefix
    - _g_io_module_scope_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_module_name (const gchar *basename, GIOModuleScope
      *scope) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/gio/giomodule.c:826,1
    - Dst: g_io_extension_point_get_extension_by_name
      Src: /src/glib/gio/giomodule.c:851,1
    - Dst: print_help
      Src: /src/glib/gio/giomodule.c:845,1
    - Dst: try_class
      Src: /src/glib/gio/giomodule.c:870,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:859,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:820,1
    - Dst: _g_io_modules_ensure_loaded
      Src: /src/glib/gio/giomodule.c:829,1
    - Dst: g_getenv
      Src: /src/glib/gio/giomodule.c:842,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:879,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/giomodule.c:881,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/giomodule.c:813,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/giomodule.c:821,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/giomodule.c:830,1
    - Dst: try_class
      Src: /src/glib/gio/giomodule.c:854,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:864,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/giomodule.c:843,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/gio/giomodule.c:818,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/giomodule.c:834,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:835,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:878,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/giomodule.c:878,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 3
    argNames:
    - extension_point
    - envvar
    - is_supported_offset
    argTypes:
    - gchar*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 882
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 882
    functionName: _g_io_module_get_default_type
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT_CLASS_TYPE
    - try_class
    - g_strcmp0
    - g_hash_table_insert
    - g_warning
    - g_warn_if_reached
    - g_hash_table_new
    - g_io_extension_point_lookup
    - g_getenv
    - print_help
    - g_io_extension_point_get_extension_by_name
    - g_rec_mutex_lock
    - g_io_extension_point_get_extensions
    - g_rec_mutex_unlock
    - _g_io_modules_ensure_loaded
    - g_hash_table_lookup_extended
    linkageType: ''
    returnType: GType
    signature: 'GType _g_io_module_get_default_type (const gchar *extension_point,
      const gchar *envvar, guint is_supported_offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_type_module_use
      Src: /src/glib/gio/giomodule.c:1518,1
    - Dst: g_type_module_unuse
      Src: /src/glib/gio/giomodule.c:1519,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:1519,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:1518,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:1521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - extension_point
    argTypes:
    - GIOExtensionPoint*
    constantsTouched: []
    func_position:
      end: 1525
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1525
    functionName: lazy_load_modules
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_type_module_unuse
    - g_type_module_use
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void lazy_load_modules (GIOExtensionPoint *extension_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/giomodule.c:182,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/giomodule.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GIOModuleScopeFlags
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: g_io_module_scope_new
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_new0
    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:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 635
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/giomodule.c:1192,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1204,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1210,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1217,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1225,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1228,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1231,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1237,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/giomodule.c:1243,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1197,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1205,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1223,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1229,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1235,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1201,1
    - 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:1207,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1214,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1222,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1216,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1234,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1240,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/glib/gio/giomodule.c:1195,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1202,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1208,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1219,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1211,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1220,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1213,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1226,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1232,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1238,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1245
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1245
    functionName: _g_io_modules_ensure_extension_points_registered
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - GLIB_CHECK_VERSION
    - g_once_init_enter
    - g_io_extension_point_set_required_type
    - g_once_init_leave
    - g_io_extension_point_register
    linkageType: ''
    returnType: void
    signature: 'void _g_io_modules_ensure_extension_points_registered (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - extension
    argTypes:
    - GIOExtension*
    constantsTouched: []
    func_position:
      end: 1701
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1701
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/giomodule.c:290,1
    - Dst: G_TYPE_MODULE_CLASS
      Src: /src/glib/gio/giomodule.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - GIOModuleClass*
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 297
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/giomodule.c:1260,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/gio/giomodule.c:1266,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1260,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/giomodule.c:1251,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:1267,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1270,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1272,1
    - Dst: dladdr
      Src: /src/glib/gio/giomodule.c:1284,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/giomodule.c:1287,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:1288,1
    - Dst: g_file_test
      Src: /src/glib/gio/giomodule.c:1289,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giomodule.c:1292,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1291,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1302
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1302
    functionName: get_gio_module_dir
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - dladdr
    - GLIB_PRIVATE_CALL
    - g_build_filename
    - g_path_get_dirname
    - g_steal_pointer
    - g_file_test
    - g_getenv
    - g_win32_get_package_installation_directory_of_module
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_gio_module_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - extension_point
    argTypes:
    - GIOExtensionPoint*
    constantsTouched: []
    func_position:
      end: 1504
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1504
    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: 1684
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1684
    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: 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:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:168,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:171,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_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_ANON
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'static GDBusAuthMechanismState mechanism_server_get_state (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_OBJECT_CLASS
    - G_DBUS_AUTH_MECHANISM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_anon_class_init (GDBusAuthMechanismAnonClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:181,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
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:183,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_IS_DBUS_AUTH_MECHANISM_ANON
    - G_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:288,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:291,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:290,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:292,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_IS_DBUS_AUTH_MECHANISM_ANON
    - g_assert_not_reached
    - G_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:305,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:304,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: 2
    argNames:
    - mechanism
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gsize*
    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_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_val_if_fail
    - g_assert_not_reached
    - G_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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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_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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - mechanism
    - data
    - data_len
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    - gsize*
    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:197,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:199,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:200,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:201,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_IS_DBUS_AUTH_MECHANISM_ANON
    - g_assert_not_reached
    - G_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_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:230,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:229,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:228,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauthmechanismanon.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    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_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_val_if_fail
    - g_assert_not_reached
    - G_DBUS_AUTH_MECHANISM_ANON
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_server_get_reject_reason (GDBusAuthMechanism
      *mechanism) '
  - 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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - mechanism
    - data
    - data_len
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    - gsize*
    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:211,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:213,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_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: 2
    argNames:
    - mechanism
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gsize*
    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_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_val_if_fail
    - g_assert_not_reached
    - G_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_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:244,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:243,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:243,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_IS_DBUS_AUTH_MECHANISM_ANON
    - G_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_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:319,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:320,1
    - Dst: g_return_if_fail
      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_IS_DBUS_AUTH_MECHANISM_ANON
    - G_DBUS_AUTH_MECHANISM_ANON
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_client_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:254,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:256,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
    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_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_val_if_fail
    - G_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_strdup
      Src: /src/glib/gio/gdbusauthmechanismanon.c:277,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:271,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:270,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusauthmechanismanon.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - mechanism
    - conn_flags
    - out_initial_response_len
    argTypes:
    - GDBusAuthMechanism*
    - GDBusConnectionFlags
    - gsize*
    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:
    - strlen
    - g_strdup
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_ANON
    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: 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:
    - 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: 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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_TLS_BACKEND
      Src: /src/glib/gio/gdummytlsbackend.c:93,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdummytlsbackend.c:99,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gdummytlsbackend.c:100,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gdummytlsbackend.c:95,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: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    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_object_ref
    - g_object_new
    - g_once_init_enter
    - _g_dummy_tls_database_get_type
    - G_DUMMY_TLS_BACKEND
    - g_once_init_leave
    linkageType: ''
    returnType: GTlsDatabase*
    signature: 'static GTlsDatabase *g_dummy_tls_backend_get_default_database (GTlsBackend
      *backend) '
  - 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:
    - 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: 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:
    - 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
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_database_class_init (GDummyTlsDatabaseClass
      *database_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: []
    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: 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: 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: []
    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: 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: []
    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:280,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:293,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: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:303,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:308,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:301,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:307,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:302,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
    - g_object_class_override_property
    - G_IO_STREAM_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_DUMMY_TLS_BACKEND
      Src: /src/glib/gio/gdummytlsbackend.c:75,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummytlsbackend.c:79,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdummytlsbackend.c:77,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_DUMMY_TLS_BACKEND
    - G_OBJECT_CLASS
    - g_clear_object
    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:
    - 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:180,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: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
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_certificate_class_init (GDummyTlsCertificateClass
      *certificate_class) '
  - 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:402,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: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:410,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:408,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
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_dtls_connection_class_init (GDummyDtlsConnectionClass
      *connection_class) '
  - 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_get_etag
      Src: /src/glib/gio/gpollfilemonitor.c:93,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gpollfilemonitor.c:92,1
    - Dst: g_file_info_get_etag
      Src: /src/glib/gio/gpollfilemonitor.c:93,1
    - Dst: g_strcmp0
      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_has_attribute
    - g_file_info_get_etag
    - 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_object_ref
      Src: /src/glib/gio/gpollfilemonitor.c:159,1
    - Dst: g_file_query_info_async
      Src: /src/glib/gio/gpollfilemonitor.c:158,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_object_ref
    - g_source_unref
    - g_file_query_info_async
    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_object_ref
      Src: /src/glib/gio/gpollfilemonitor.c:208,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
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_object_ref
    - g_object_new
    - g_file_query_info_async
    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_poll_file_monitor_cancel
      Src: /src/glib/gio/gpollfilemonitor.c:54,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:54,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_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_FILE_MONITOR
    - g_poll_file_monitor_cancel
    - g_clear_object
    - g_object_unref
    - G_POLL_FILE_MONITOR
    - G_OBJECT_CLASS
    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: calc_event_type
      Src: /src/glib/gio/gpollfilemonitor.c:117,1
    - Dst: g_file_monitor_emit_event
      Src: /src/glib/gio/gpollfilemonitor.c:121,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/gpollfilemonitor.c:115,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_ref
      Src: /src/glib/gio/gpollfilemonitor.c:139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gpollfilemonitor.c:145,1
    - Dst: schedule_poll_timeout
      Src: /src/glib/gio/gpollfilemonitor.c:141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gpollfilemonitor.c:147,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gpollfilemonitor.c:134,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:
    - calc_event_type
    - G_FILE_MONITOR
    - g_object_ref
    - schedule_poll_timeout
    - g_object_unref
    - g_file_query_info_finish
    - g_file_monitor_is_cancelled
    - g_file_monitor_emit_event
    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_main_context_get_thread_default
      Src: /src/glib/gio/gpollfilemonitor.c:169,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gpollfilemonitor.c:169,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gpollfilemonitor.c:168,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_set_callback
    - g_main_context_get_thread_default
    - g_source_attach
    - g_timeout_source_new_seconds
    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_unref
      Src: /src/glib/gio/gpollfilemonitor.c:221,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gpollfilemonitor.c:220,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_POLL_FILE_MONITOR
    - g_source_destroy
    - g_source_unref
    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: 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_FILE_MONITOR
      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
    - schedule_poll_timeout
    - g_object_unref
    - g_file_query_info_finish
    - g_file_monitor_is_cancelled
    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: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-tree.c:45,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-tree.c:52,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: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/gio-tool-tree.c:70,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_symlink_target
      Src: /src/glib/gio/gio-tool-tree.c:159,1
    - Dst: do_tree
      Src: /src/glib/gio/gio-tool-tree.c:192,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:145,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/gio-tool-tree.c:148,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gio-tool-tree.c:110,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/gio-tool-tree.c:123,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-tree.c:155,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:160,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-tree.c:168,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gio-tool-tree.c:183,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-tree.c:199,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:215,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gio-tool-tree.c:63,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:135,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:151,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-tree.c:187,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-tree.c:217,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:211,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gio-tool-tree.c:79,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:73,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gio-tool-tree.c:95,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:141,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/gio-tool-tree.c:108,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:164,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_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:197,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:207,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_info_has_attribute
    - g_file_info_get_attribute_string
    - g_file_enumerator_next_file
    - g_file_info_get_symlink_target
    - g_file_info_get_is_hidden
    - do_tree
    - g_file_info_get_is_symlink
    - g_file_info_get_attribute_uint32
    - g_object_unref
    - g_print
    - g_file_enumerate_children
    - g_error_free
    - g_list_prepend
    - g_file_query_info
    - g_file_info_get_name
    - g_file_new_for_uri
    - g_list_sort
    - g_file_enumerator_close
    - g_list_free
    - g_file_get_child
    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: do_tree
      Src: /src/glib/gio/gio-tool-tree.c:230,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:227,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:
    - g_print
    - g_file_get_uri
    - do_tree
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void tree (GFile *f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-tree.c:246,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-tree.c:266,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-tree.c:287,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-tree.c:247,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-tree.c:255,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_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_parse
      Src: /src/glib/gio/gio-tool-tree.c:260,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-tree.c:256,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-tree.c:264,1
    - Dst: tree
      Src: /src/glib/gio/gio-tool-tree.c:277,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-tree.c:276,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:289,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-tree.c:242,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: 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
    - 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
    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_option_context_new
    - _
    - g_set_prgname
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - tree
    - g_file_new_for_path
    - g_option_context_parse
    - g_error_free
    - g_option_context_add_main_entries
    - g_object_unref
    - g_strdup_printf
    - g_get_current_dir
    - g_option_context_set_help_enabled
    - show_help
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: int
    signature: 'int handle_tree (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: guint
      Src: /src/glib/gio/glistmodel.h:45,1
    - Dst: GType
      Src: /src/glib/gio/glistmodel.h:43,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:
    - GType
    - guint
    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: gxdp_proxy_resolver_proxy_new_for_bus_sync
      Src: /src/glib/gio/gproxyresolverportal.c:55,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/gproxyresolverportal.c:62,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:
    - glib_should_use_portal
    - glib_network_available_in_sandbox
    - gxdp_proxy_resolver_proxy_new_for_bus_sync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_resolver_proxy (GProxyResolverPortal *resolver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_RESOLVER_PORTAL
      Src: /src/glib/gio/gproxyresolverportal.c:97,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gproxyresolverportal.c:112,1
    - Dst: gxdp_proxy_resolver_call_lookup_sync
      Src: /src/glib/gio/gproxyresolverportal.c:103,1
    - Dst: ensure_resolver_proxy
      Src: /src/glib/gio/gproxyresolverportal.c:100,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyresolverportal.c:101,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gproxyresolverportal.c:113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 4
    argNames:
    - proxy_resolver
    - uri
    - cancellable
    - error
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GError**
    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_assert
    - g_strdupv
    - g_strfreev
    - ensure_resolver_proxy
    - gxdp_proxy_resolver_call_lookup_sync
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_proxy_resolver_portal_lookup (GProxyResolver *proxy_resolver,
      const gchar *uri, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_RESOLVER_PORTAL
      Src: /src/glib/gio/gproxyresolverportal.c:75,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gproxyresolverportal.c:82,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: 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_dbus_proxy_get_name_owner
    - G_DBUS_PROXY
    - g_free
    - G_PROXY_RESOLVER_PORTAL
    - ensure_resolver_proxy
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_proxy_resolver_portal_is_supported (GProxyResolver
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_RESOLVER_PORTAL
      Src: /src/glib/gio/gproxyresolverportal.c:146,1
    - Dst: gxdp_proxy_resolver_call_lookup
      Src: /src/glib/gio/gproxyresolverportal.c:153,1
    - Dst: g_task_new
      Src: /src/glib/gio/gproxyresolverportal.c:152,1
    - Dst: ensure_resolver_proxy
      Src: /src/glib/gio/gproxyresolverportal.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyresolverportal.c:150,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_object_ref
    - gxdp_proxy_resolver_call_lookup
    - G_PROXY_RESOLVER_PORTAL
    - g_assert
    - g_task_new
    - g_object_unref
    - ensure_resolver_proxy
    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_OBJECT_CLASS
      Src: /src/glib/gio/gproxyresolverportal.c:190,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gproxyresolverportal.c:188,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_OBJECT_CLASS
    - G_PROXY_RESOLVER_PORTAL
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_resolver_portal_finalize (GObject *object) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: gxdp_proxy_resolver_call_lookup_finish
      Src: /src/glib/gio/gproxyresolverportal.c:128,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gproxyresolverportal.c:132,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_pointer
      Src: /src/glib/gio/gproxyresolverportal.c:134,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:
    - GXDP_PROXY_RESOLVER
    - g_object_unref
    - gxdp_proxy_resolver_call_lookup_finish
    - g_task_return_pointer
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void lookup_done (GObject *source, GAsyncResult *result, gpointer
      data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_RESOLVER_PORTAL
      Src: /src/glib/gio/gproxyresolverportal.c:166,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gproxyresolverportal.c:177,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
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 3
    argNames:
    - proxy_resolver
    - result
    - error
    argTypes:
    - GProxyResolver*
    - GAsyncResult*
    - GError**
    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_TASK
    - G_PROXY_RESOLVER_PORTAL
    - g_strdupv
    - g_task_propagate_pointer
    - g_strfreev
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gfdonotificationbackend.c:90,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfdonotificationbackend.c:91,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
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - backend
    - id
    - notification
    argTypes:
    - GFdoNotificationBackend*
    - gchar*
    - GNotification*
    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_object_ref
    - g_notification_get_default_action
    - g_slice_new0
    linkageType: ''
    returnType: FreedesktopNotification*
    signature: 'static FreedesktopNotification *freedesktop_notification_new (GFdoNotificationBackend
      *backend, const gchar *id, GNotification *notification) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - backend
    - id
    argTypes:
    - GFdoNotificationBackend*
    - guint32
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gfdonotificationbackend.c:184,1
    - Dst: G_VARIANT_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:185,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gfdonotificationbackend.c:189,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: g_action_parse_detailed_name
      Src: /src/glib/gio/gfdonotificationbackend.c:213,1
    - Dst: activate_action
      Src: /src/glib/gio/gfdonotificationbackend.c:214,1
    - Dst: g_fdo_notification_backend_find_notification_by_notify_id
      Src: /src/glib/gio/gfdonotificationbackend.c:232,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:217,1
    - Dst: freedesktop_notification_free
      Src: /src/glib/gio/gfdonotificationbackend.c:236,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gfdonotificationbackend.c:235,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gfdonotificationbackend.c:218,1
    - Dst: activate_action
      Src: /src/glib/gio/gfdonotificationbackend.c:205,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_str_equal
    - G_VARIANT_TYPE
    - g_free
    - g_slist_remove
    - g_clear_pointer
    - g_fdo_notification_backend_find_notification_by_notify_id
    - g_variant_get
    - g_action_parse_detailed_name
    - activate_action
    - freedesktop_notification_free
    - g_variant_is_of_type
    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_get
      Src: /src/glib/gio/gfdonotificationbackend.c:398,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gfdonotificationbackend.c:399,1
    - Dst: g_fdo_notification_backend_find_notification_by_notify_id
      Src: /src/glib/gio/gfdonotificationbackend.c:401,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gfdonotificationbackend.c:392,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_slist_remove
    - g_variant_unref
    - g_fdo_notification_backend_find_notification_by_notify_id
    - g_dbus_connection_call_finish
    - g_variant_get
    - g_warning
    - g_error_free
    - g_slist_prepend
    - G_DBUS_CONNECTION
    - freedesktop_notification_free
    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: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    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:506,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gfdonotificationbackend.c:522,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gfdonotificationbackend.c:518,1
    - Dst: g_fdo_notification_backend_find_notification
      Src: /src/glib/gio/gfdonotificationbackend.c:509,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gfdonotificationbackend.c:514,1
    - Dst: freedesktop_notification_free
      Src: /src/glib/gio/gfdonotificationbackend.c:523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - backend
    - id
    argTypes:
    - GNotificationBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 525
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 525
    functionName: g_fdo_notification_backend_withdraw_notification
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - g_dbus_connection_call
    - G_FDO_NOTIFICATION_BACKEND
    - g_variant_new
    - freedesktop_notification_free
    - g_fdo_notification_backend_find_notification
    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_slice_free
      Src: /src/glib/gio/gfdonotificationbackend.c:80,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:76,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:75,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gfdonotificationbackend.c:78,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_slice_free
    - g_variant_unref
    - g_free
    - g_object_unref
    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_str_has_prefix
      Src: /src/glib/gio/gfdonotificationbackend.c:144,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gio/gfdonotificationbackend.c:141,1
    - Dst: g_assert
      Src: /src/glib/gio/gfdonotificationbackend.c:141,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:
    - strlen
    - g_action_group_query_action
    - g_variant_is_floating
    - g_action_group_activate_action
    - g_assert
    - G_NOTIFICATION_BACKEND
    - g_application_activate
    - g_str_has_prefix
    - g_variant_is_of_type
    - G_ACTION_GROUP
    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: 2
    argNames:
    - backend
    - id
    argTypes:
    - GFdoNotificationBackend*
    - gchar*
    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_action_print_detailed_name
      Src: /src/glib/gio/gfdonotificationbackend.c:310,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:319,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/gio/gfdonotificationbackend.c:323,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gfdonotificationbackend.c:331,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:326,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gfdonotificationbackend.c:323,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_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:357,1
    - Dst: g_get_application_name
      Src: /src/glib/gio/gfdonotificationbackend.c:362,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gfdonotificationbackend.c:358,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:297,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:298,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gfdonotificationbackend.c:317,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gfdonotificationbackend.c:331,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:332,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_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
      Src: /src/glib/gio/gfdonotificationbackend.c:349,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gfdonotificationbackend.c:294,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_VARIANT_TYPE
      Src: /src/glib/gio/gfdonotificationbackend.c:377,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gfdonotificationbackend.c:365,1
    - Dst: g_notification_get_title
      Src: /src/glib/gio/gfdonotificationbackend.c:369,1
    - Dst: g_notification_get_n_buttons
      Src: /src/glib/gio/gfdonotificationbackend.c:301,1
    - Dst: g_notification_get_button
      Src: /src/glib/gio/gfdonotificationbackend.c:309,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_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_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_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_n_buttons
    - G_FILE_ICON
    - G_THEMED_ICON
    - g_notification_get_priority
    - g_variant_new_string
    - g_variant_new_take_string
    - g_variant_builder_add
    - g_variant_builder_add_value
    - g_variant_new
    - g_notification_get_title
    - g_notification_get_icon
    - g_themed_icon_get_names
    - g_action_print_detailed_name
    - urgency_from_priority
    - g_variant_unref
    - g_dbus_generate_guid
    - g_application_get_application_id
    - g_variant_builder_init
    - g_file_icon_get_file
    - g_variant_new_byte
    - g_get_application_name
    - g_notification_get_body
    - g_str_equal
    - G_VARIANT_TYPE
    - g_free
    - g_dbus_connection_call
    - g_file_get_path
    - G_IS_THEMED_ICON
    - g_notification_get_default_action
    - G_IS_FILE_ICON
    - g_notification_get_category
    - g_notification_get_button
    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_NOTIFICATION_BACKEND
      Src: /src/glib/gio/gfdonotificationbackend.c:438,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/gfdonotificationbackend.c:430,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gfdonotificationbackend.c:445,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gfdonotificationbackend.c:439,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfdonotificationbackend.c:449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 450
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 450
    functionName: g_fdo_notification_backend_dispose
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_bus_unwatch_name
    - G_OBJECT_CLASS
    - G_FDO_NOTIFICATION_BACKEND
    - G_NOTIFICATION_BACKEND
    - g_slist_free_full
    - g_dbus_connection_signal_unsubscribe
    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:468,1
    - Dst: freedesktop_notification_new
      Src: /src/glib/gio/gfdonotificationbackend.c:493,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gfdonotificationbackend.c:485,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gfdonotificationbackend.c:473,1
    - Dst: g_fdo_notification_backend_find_notification
      Src: /src/glib/gio/gfdonotificationbackend.c:495,1
    - Dst: call_notify
      Src: /src/glib/gio/gfdonotificationbackend.c:499,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - backend
    - id
    - notification
    argTypes:
    - GNotificationBackend*
    - gchar*
    - GNotification*
    constantsTouched: []
    func_position:
      end: 500
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 500
    functionName: g_fdo_notification_backend_send_notification
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - call_notify
    - G_FDO_NOTIFICATION_BACKEND
    - g_bus_watch_name_on_connection
    - freedesktop_notification_new
    - g_dbus_connection_signal_subscribe
    - g_fdo_notification_backend_find_notification
    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: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    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:535,1
    - Dst: G_NOTIFICATION_BACKEND_CLASS
      Src: /src/glib/gio/gfdonotificationbackend.c:536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GFdoNotificationBackendClass*
    constantsTouched: []
    func_position:
      end: 543
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 543
    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: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: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.h:264,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfileinfo.h:266,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: 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: []
    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: 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: 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:
    - 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: stat
      Src: /src/glib/gio/glocalfileinfo.h:286,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.h:284,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:
    - stat
    - GLIB_PRIVATE_CALL
    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: 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: []
    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: 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: 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: 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: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.h:220,1
    - Dst: fstat
      Src: /src/glib/gio/glocalfileinfo.h:222,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:
    - 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: 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: 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: 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: []
    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: 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: 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: 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: 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: 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: 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: 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: 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: 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:
    - 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: 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: 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: 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: 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: 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:
    - 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: []
    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: 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: 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:
    - 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_queue_clear
    - g_mutex_clear
    linkageType: ''
    returnType: void
    signature: 'static void g_context_specific_source_finalize (GSource *source) '
  - 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_cond_broadcast
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_context_specific_group_change_state (gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gcontextspecificgroup.c:178,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gcontextspecificgroup.c:187,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcontextspecificgroup.c:182,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gcontextspecificgroup.c:185,1
    - Dst: g_main_context_default
      Src: /src/glib/gio/gcontextspecificgroup.c:180,1
    - Dst: g_object_new
      Src: /src/glib/gio/gcontextspecificgroup.c:193,1
    - Dst: g_context_specific_source_new
      Src: /src/glib/gio/gcontextspecificgroup.c:194,1
    - Dst: g_type_name
      Src: /src/glib/gio/gcontextspecificgroup.c:194,1
    - Dst: g_main_context_ref
      Src: /src/glib/gio/gcontextspecificgroup.c:195,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gcontextspecificgroup.c:196,1
    - Dst: g_context_specific_group_request_state
      Src: /src/glib/gio/gcontextspecificgroup.c:204,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:206,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gcontextspecificgroup.c:201,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gcontextspecificgroup.c:198,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: 209
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 209
    functionName: g_context_specific_group_get
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    - g_main_context_ref
    - g_context_specific_group_request_state
    - g_hash_table_insert
    - g_hash_table_lookup
    - g_main_context_default
    - g_hash_table_new
    - g_context_specific_source_new
    - g_type_name
    - g_mutex_unlock
    - g_main_context_get_thread_default
    - g_source_attach
    - g_mutex_lock
    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: GPOINTER_TO_UINT
      Src: /src/glib/gio/gcontextspecificgroup.c:48,1
    - Dst: g_assert
      Src: /src/glib/gio/gcontextspecificgroup.c:47,1
    - Dst: g_queue_pop_head
      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:
    - GPOINTER_TO_UINT
    - g_queue_pop_head
    - g_assert
    - g_mutex_lock
    - g_source_set_ready_time
    - g_mutex_unlock
    - g_signal_emit
    - g_queue_is_empty
    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_queue_init
      Src: /src/glib/gio/gcontextspecificgroup.c:89,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gcontextspecificgroup.c:88,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/gcontextspecificgroup.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - name
    - instance
    argTypes:
    - gchar*
    - gpointer
    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_source_set_name
    - g_mutex_init
    - 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:221,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcontextspecificgroup.c:226,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gcontextspecificgroup.c:227,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gcontextspecificgroup.c:228,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gcontextspecificgroup.c:222,1
    - Dst: g_assert
      Src: /src/glib/gio/gcontextspecificgroup.c:229,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gcontextspecificgroup.c:232,1
    - Dst: g_context_specific_group_request_state
      Src: /src/glib/gio/gcontextspecificgroup.c:233,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:235,1
    - Dst: g_assert
      Src: /src/glib/gio/gcontextspecificgroup.c:237,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gcontextspecificgroup.c:239,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gcontextspecificgroup.c:240,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gcontextspecificgroup.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - group
    - context
    - instance
    - stop_func
    argTypes:
    - GContextSpecificGroup*
    - GMainContext*
    - gpointer
    - GCallback
    constantsTouched: []
    func_position:
      end: 242
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 242
    functionName: g_context_specific_group_remove
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_context_specific_group_request_state
    - g_assert
    - g_hash_table_size
    - g_main_context_unref
    - g_hash_table_remove
    - g_critical
    - g_mutex_unlock
    - G_OBJECT_TYPE_NAME
    - g_source_unref
    - g_hash_table_lookup
    - g_source_destroy
    - g_mutex_lock
    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:248,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gcontextspecificgroup.c:259,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcontextspecificgroup.c:263,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gcontextspecificgroup.c:256,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gcontextspecificgroup.c:258,1
    - Dst: g_queue_remove
      Src: /src/glib/gio/gcontextspecificgroup.c:265,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/gcontextspecificgroup.c:266,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gcontextspecificgroup.c:268,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:270,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - group
    - signal_id
    argTypes:
    - GContextSpecificGroup*
    - guint
    constantsTouched: []
    func_position:
      end: 275
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 275
    functionName: g_context_specific_group_emit
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_queue_remove
    - GUINT_TO_POINTER
    - g_hash_table_iter_next
    - g_source_set_ready_time
    - g_hash_table_iter_init
    - g_mutex_unlock
    - g_queue_push_tail
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_context_specific_group_emit (GContextSpecificGroup *group,
      guint signal_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gcontextspecificgroup.c:139,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gcontextspecificgroup.c:150,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcontextspecificgroup.c:150,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gcontextspecificgroup.c:159,1
    - Dst: g_assert
      Src: /src/glib/gio/gcontextspecificgroup.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - group
    - requested_state
    - requested_func
    argTypes:
    - GContextSpecificGroup*
    - gboolean
    - GCallback
    constantsTouched: []
    func_position:
      end: 167
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 167
    functionName: g_context_specific_group_request_state
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - GLIB_PRIVATE_CALL
    - g_main_context_invoke
    - g_cond_wait
    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: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    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:85,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusinterface.c:85,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterface*
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: g_dbus_interface_get_object
    functionSourceFile: /src/glib/gio/gdbusinterface.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE
    - g_return_val_if_fail
    - G_DBUS_INTERFACE_GET_IFACE
    linkageType: ''
    returnType: GDBusObject*
    signature: 'GDBusObject *g_dbus_interface_get_object (GDBusInterface *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterface.c:135,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterface.c:136,1
    - Dst: G_IS_DBUS_OBJECT
      Src: /src/glib/gio/gdbusinterface.c:136,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusinterface.c:135,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - interface_
    - object
    argTypes:
    - GDBusInterface*
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: g_dbus_interface_set_object
    functionSourceFile: /src/glib/gio/gdbusinterface.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE
    - G_DBUS_INTERFACE_GET_IFACE
    - G_IS_DBUS_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_set_object (GDBusInterface *interface_, GDBusObject
      *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterface.c:104,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusinterface.c:104,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusinterface.c:105,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:105,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:107,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusinterface.c:111,1
    - Dst: g_type_name_from_instance
      Src: /src/glib/gio/gdbusinterface.c:112,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:113,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterface.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterface*
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: g_dbus_interface_dup_object
    functionSourceFile: /src/glib/gio/gdbusinterface.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_type_name_from_instance
    - g_warning
    - G_IS_DBUS_INTERFACE
    - g_return_val_if_fail
    - G_DBUS_INTERFACE_GET_IFACE
    - G_LIKELY
    linkageType: ''
    returnType: GDBusObject*
    signature: 'GDBusObject *g_dbus_interface_dup_object (GDBusInterface *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterface.c:63,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusinterface.c:63,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterface*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: g_dbus_interface_get_info
    functionSourceFile: /src/glib/gio/gdbusinterface.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE
    - g_return_val_if_fail
    - G_DBUS_INTERFACE_GET_IFACE
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'GDBusInterfaceInfo *g_dbus_interface_get_info (GDBusInterface *interface_) '
  - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/ginputstream.c:719,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/ginputstream.c:727,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:732,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:731,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:727,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_assert_cmpint
    - g_input_stream_read_async
    - g_object_unref
    - g_input_stream_read_finish
    - g_task_get_priority
    - g_task_return_boolean
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_get_cancellable
    - g_task_get_task_data
    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_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1314,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1312,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_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_read_all
      Src: /src/glib/gio/ginputstream.c:768,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/ginputstream.c:769,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
    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_input_stream_read_all
    - g_task_get_cancellable
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void read_all_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/ginputstream.c:252,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:252,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/ginputstream.c:258,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:253,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_return_val_if_fail
    - g_input_stream_read
    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: 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_set_error
      Src: /src/glib/gio/ginputstream.c:379,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_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_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - g_input_stream_set_pending
    - g_cancellable_push_current
    - G_IS_INPUT_STREAM
    - g_input_stream_clear_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
    - g_object_unref
    - g_input_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1240,1
    - Dst: _
      Src: /src/glib/gio/ginputstream.c:1245,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginputstream.c:1251,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginputstream.c:1244,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1240,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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1530,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:1532,1
    - Dst: g_input_stream_async_read_is_via_threads
      Src: /src/glib/gio/ginputstream.c:1536,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:1533,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/ginputstream.c:1534,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: MIN
      Src: /src/glib/gio/ginputstream.c:1556,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/ginputstream.c:1554,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_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - G_INPUT_STREAM_GET_CLASS
    - g_object_unref
    - g_new
    - g_input_stream_async_read_is_via_threads
    - GSIZE_TO_POINTER
    - g_task_set_check_cancellable
    - MIN
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:97,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/ginputstream.c:100,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginputstream.c:102,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
    - G_OBJECT_CLASS
    - g_input_stream_close
    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
    - g_object_unref
    - g_input_stream_clear_pending
    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: 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/ginputstream.c:1480,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1493,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/ginputstream.c:1484,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1484,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_clear_error
      Src: /src/glib/gio/ginputstream.c:1508,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/ginputstream.c:1514,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:1515,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:1512,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_error_matches
    - MIN
    - g_object_unref
    - G_INPUT_STREAM_GET_CLASS
    - g_input_stream_read_finish
    - g_clear_error
    - g_task_get_priority
    - g_task_return_int
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: "static void skip_callback_wrapper (GObject *source_object,\t\t GAsyncResult
      *res,\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_is_valid
      Src: /src/glib/gio/ginputstream.c:1567,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:1569,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/ginputstream.c:1569,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_is_valid
    - g_task_propagate_int
    - g_return_val_if_fail
    - G_TASK
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:171,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:172,1
    - Dst: _
      Src: /src/glib/gio/ginputstream.c:180,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: 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_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - g_input_stream_set_pending
    - g_cancellable_push_current
    - g_set_error_literal
    - G_IS_INPUT_STREAM
    - g_input_stream_clear_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: 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_input_stream_read
      Src: /src/glib/gio/ginputstream.c:324,1
    - Dst: g_free
      Src: /src/glib/gio/ginputstream.c:327,1
    - Dst: g_free
      Src: /src/glib/gio/ginputstream.c:332,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/ginputstream.c:336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    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_free
    - g_bytes_new_static
    - g_bytes_new_take
    - g_input_stream_read
    - g_malloc
    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
      Src: /src/glib/gio/ginputstream.c:869,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/ginputstream.c:867,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_is_valid
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_IS_INPUT_STREAM
    - g_task_get_task_data
    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_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1037,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:1044,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/ginputstream.c:1045,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:1043,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_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1068,1
    - Dst: g_object_ref
      Src: /src/glib/gio/ginputstream.c:1070,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_object_ref
    - _
    - g_task_report_error
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_INPUT_STREAM_GET_CLASS
    - g_input_stream_set_pending
    - g_task_report_new_error
    - G_IS_INPUT_STREAM
    - g_task_return_int
    - g_return_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:1135,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/ginputstream.c:1143,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1135,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:1141,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:1142,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_object_ref
    - g_task_report_error
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_INPUT_STREAM_GET_CLASS
    - g_input_stream_set_pending
    - g_task_return_boolean
    - G_IS_INPUT_STREAM
    - g_return_if_fail
    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_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      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_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:688,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_IS_ASYNC_RESULT
    - G_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - g_async_result_is_tagged
    - g_task_propagate_int
    - G_IS_INPUT_STREAM
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gssize
    signature: "gssize g_input_stream_read_finish (GInputStream *stream,\t\t\t GAsyncResult
      *result,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:812,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:813,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:812,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:815,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/ginputstream.c:816,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_OBJECT
    - read_all_callback
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_input_stream_async_read_is_via_threads
    - G_IS_INPUT_STREAM
    - g_return_if_fail
    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_task_new
      Src: /src/glib/gio/ginputstream.c:957,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_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:958,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_set_task_data
    - g_input_stream_read_async
    - g_task_new
    - g_task_set_source_tag
    - g_malloc
    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_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_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_propagate_pointer
      Src: /src/glib/gio/ginputstream.c:989,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    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_task_is_valid
    - G_TASK
    - g_task_propagate_pointer
    - g_return_val_if_fail
    - G_IS_INPUT_STREAM
    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_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_IS_ASYNC_RESULT
      Src: /src/glib/gio/ginputstream.c:1094,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_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_IS_ASYNC_RESULT
    - G_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - g_async_result_is_tagged
    - g_task_propagate_int
    - G_IS_INPUT_STREAM
    - g_async_result_legacy_propagate_error
    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: 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_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1439,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:1441,1
    - Dst: g_task_propagate_int
      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_is_valid
    - g_task_propagate_int
    - g_return_val_if_fail
    - G_TASK
    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: 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_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_return_int
      Src: /src/glib/gio/ginputstream.c:1355,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/ginputstream.c:1350,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_get_cancellable
    - g_task_return_int
    - g_task_return_error
    - G_INPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void read_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_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_get_cancellable
      Src: /src/glib/gio/ginputstream.c:1459,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:
    - G_INPUT_STREAM_GET_CLASS
    - GPOINTER_TO_SIZE
    - g_task_return_error
    - g_task_get_cancellable
    - g_task_return_int
    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_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_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_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_set_priority
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - 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_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1622,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/ginputstream.c:1624,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/ginputstream.c:1622,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_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:631,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:638,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:632,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:631,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:639,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_object_ref
      Src: /src/glib/gio/ginputstream.c:665,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:663,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_object_ref
    - _
    - g_task_report_error
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_INPUT_STREAM_GET_CLASS
    - g_input_stream_set_pending
    - g_task_report_new_error
    - G_IS_INPUT_STREAM
    - g_task_return_int
    - g_return_if_fail
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/ginputstream.c:887,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_task_return_error
      Src: /src/glib/gio/ginputstream.c:897,1
    - Dst: g_free
      Src: /src/glib/gio/ginputstream.c:896,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_free
    - g_bytes_new_static
    - g_object_unref
    - g_input_stream_read_finish
    - g_task_return_pointer
    - g_task_return_error
    - g_bytes_new_take
    - G_INPUT_STREAM
    - g_task_get_task_data
    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:1181,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/ginputstream.c:1184,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1182,1
    - Dst: G_IS_ASYNC_RESULT
      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_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_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - G_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - g_async_result_is_tagged
    - G_IS_INPUT_STREAM
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_input_stream_close_finish (GInputStream *stream,\t\t\t
      GAsyncResult *result,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      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_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_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_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - g_input_stream_set_pending
    - g_cancellable_push_current
    - G_IS_INPUT_STREAM
    - g_input_stream_clear_pending
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_input_stream_close (GInputStream *stream,\t\t GCancellable
      *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      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_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_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_pollable_input_stream_can_poll
    - G_IS_INPUT_STREAM
    - G_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - G_POLLABLE_INPUT_STREAM
    - G_IS_POLLABLE_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_input_stream_async_read_is_via_threads (GInputStream *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/ginputstream.c:1375,1
    - Dst: g_error_matches
      Src: /src/glib/gio/ginputstream.c:1385,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/ginputstream.c:1379,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/ginputstream.c:1382,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_task_attach_source
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    - g_error_matches
    - g_error_free
    - g_task_return_error_if_cancelled
    - g_task_return_int
    - g_source_unref
    - g_pollable_input_stream_create_source
    - g_task_return_error
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void read_async_pollable (GPollableInputStream *stream, GTask
      *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/ginputstream.c:1419,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:1421,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_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_set_priority
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_POLLABLE_INPUT_STREAM
    - g_input_stream_async_read_is_via_threads
    - read_async_pollable
    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: 8
    BranchProfiles: []
    Callsites:
    - 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_propagate_error
      Src: /src/glib/gio/ginputstream.c:475,1
    - Dst: g_error_free
      Src: /src/glib/gio/ginputstream.c:471,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/ginputstream.c:413,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/ginputstream.c:422,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:424,1
    - Dst: g_assert
      Src: /src/glib/gio/ginputstream.c:432,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/ginputstream.c:440,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/ginputstream.c:413,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:456,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/ginputstream.c:440,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_seekable_tell
    - G_IS_SEEKABLE
    - g_assert
    - g_error_free
    - MIN
    - G_INPUT_STREAM_GET_CLASS
    - g_seekable_can_seek
    - g_seekable_seek
    - G_SEEKABLE
    - g_propagate_error
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1583,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/ginputstream.c:1596,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
    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_task_return_error
    - G_INPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void close_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_init
      Src: /src/glib/gio/gasyncinitable.c:262,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gasyncinitable.c:265,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:262,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gasyncinitable.c:263,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: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: async_init_thread
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - g_initable_init
    - g_task_return_boolean
    - G_INITABLE
    - g_task_return_error
    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_return_val_if_fail
      Src: /src/glib/gio/gasyncinitable.c:243,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gasyncinitable.c:244,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gasyncinitable.c:246,1
    - Dst: G_IS_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:243,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gasyncinitable.c:244,1
    - Dst: G_ASYNC_INITABLE_GET_IFACE
      Src: /src/glib/gio/gasyncinitable.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - initable
    - res
    - error
    argTypes:
    - GAsyncInitable*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: g_async_initable_init_finish
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_INITABLE
    - G_IS_ASYNC_RESULT
    - G_ASYNC_INITABLE_GET_IFACE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_async_initable_init_finish (GAsyncInitable *initable,\t\t\t
      GAsyncResult *res,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gasyncinitable.c:298,1
    - Dst: G_TASK
      Src: /src/glib/gio/gasyncinitable.c:308,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gasyncinitable.c:308,1
    - Dst: g_simple_async_result_propagate_error
      Src: /src/glib/gio/gasyncinitable.c:299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 3
    argNames:
    - initable
    - res
    - error
    argTypes:
    - GAsyncInitable*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 309
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 309
    functionName: g_async_initable_real_init_finish
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_simple_async_result_propagate_error
    - G_TASK
    - 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:298,1
    - Dst: g_simple_async_result_propagate_error
      Src: /src/glib/gio/gasyncinitable.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - (res)
    argTypes:
    - G_IS_SIMPLE_ASYNC_RESULT
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    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:386,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:390,1
    - Dst: G_TYPE_IS_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:386,1
    - Dst: g_async_initable_init_async
      Src: /src/glib/gio/gasyncinitable.c:390,1
    - Dst: g_object_newv
      Src: /src/glib/gio/gasyncinitable.c:388,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gasyncinitable.c:393,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: 394
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 394
    functionName: g_async_initable_newv_async
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - g_async_initable_init_async
    - G_TYPE_IS_ASYNC_INITABLE
    - g_object_unref
    - g_object_newv
    - G_ASYNC_INITABLE
    - g_return_if_fail
    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: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    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:277,1
    - Dst: g_task_new
      Src: /src/glib/gio/gasyncinitable.c:279,1
    - Dst: G_IS_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:277,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gasyncinitable.c:280,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gasyncinitable.c:281,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gasyncinitable.c:282,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gasyncinitable.c:283,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: 284
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: g_async_initable_real_init_async
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - G_IS_INITABLE
    - g_task_set_priority
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_return_if_fail
    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:430,1
    - Dst: g_object_new_valist
      Src: /src/glib/gio/gasyncinitable.c:432,1
    - Dst: G_TYPE_IS_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:430,1
    - Dst: g_async_initable_init_async
      Src: /src/glib/gio/gasyncinitable.c:436,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:436,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gasyncinitable.c:439,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: 440
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 440
    functionName: g_async_initable_new_valist_async
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - g_async_initable_init_async
    - G_TYPE_IS_ASYNC_INITABLE
    - g_object_new_valist
    - g_object_unref
    - G_ASYNC_INITABLE
    - g_return_if_fail
    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][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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gasyncinitable.c:214,1
    - Dst: G_IS_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:214,1
    - Dst: G_ASYNC_INITABLE_GET_IFACE
      Src: /src/glib/gio/gasyncinitable.c:216,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: 219
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 219
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gasyncinitable.c:344,1
    - Dst: va_end
      Src: /src/glib/gio/gasyncinitable.c:349,1
    - Dst: g_async_initable_new_valist_async
      Src: /src/glib/gio/gasyncinitable.c:345,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: 350
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 350
    functionName: g_async_initable_new_async
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - g_async_initable_new_valist_async
    - va_end
    - va_start
    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:461,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gasyncinitable.c:462,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gasyncinitable.c:462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - initable
    - res
    - error
    argTypes:
    - GAsyncInitable*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 465
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 465
    functionName: g_async_initable_new_finish
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_async_initable_init_finish
    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_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectskeleton.c:85,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:81,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusobjectskeleton.c:83,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectskeleton.c:80,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_free
    - g_hash_table_unref
    - g_mutex_clear
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_skeleton_finalize (GObject *_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectskeleton.c:142,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectskeleton.c:188,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectskeleton.c:188,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectskeleton.c:159,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectskeleton.c:157,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectskeleton.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusObjectSkeletonClass*
    constantsTouched: []
    func_position:
      end: 199
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 199
    functionName: g_dbus_object_skeleton_class_init
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - I_
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_param_spec_string
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_skeleton_class_init (GDBusObjectSkeletonClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:117,1
    - Dst: g_dbus_object_skeleton_set_object_path
      Src: /src/glib/gio/gdbusobjectskeleton.c:122,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
    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_DBUS_OBJECT_SKELETON
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - 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_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:225,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:226,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectskeleton.c:225,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusobjectskeleton.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object_path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: g_dbus_object_skeleton_new
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - G_DBUS_OBJECT_SKELETON
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GDBusObjectSkeleton*
    signature: 'GDBusObjectSkeleton *g_dbus_object_skeleton_new (const gchar *object_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:295,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:295,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectskeleton.c:299,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:327,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:294,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:297,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:306,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectskeleton.c:308,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:310,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:318,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:294,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:300,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectskeleton.c:302,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:305,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectskeleton.c:311,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:313,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectskeleton.c:309,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:324,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectskeleton.c:317,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectskeleton.c:311,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectskeleton.c:306,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusobjectskeleton.c:311,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - object
    - interface_
    argTypes:
    - GDBusObjectSkeleton*
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 328
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 328
    functionName: g_dbus_object_skeleton_add_interface
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_strdup
    - g_object_ref
    - G_DBUS_INTERFACE
    - G_IS_DBUS_OBJECT_SKELETON
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_warn_if_fail
    - g_dbus_interface_skeleton_get_info
    - g_hash_table_remove
    - g_hash_table_insert
    - g_dbus_interface_set_object
    - g_object_unref
    - g_mutex_unlock
    - G_DBUS_OBJECT
    - g_hash_table_lookup
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_skeleton_add_interface (GDBusObjectSkeleton *object,
      GDBusInterfaceSkeleton *interface_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:404,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:407,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:404,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:405,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:405,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectskeleton.c:408,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:411,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:412,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectskeleton.c:412,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:413,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:422,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectskeleton.c:414,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:418,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - object
    - interface_name
    argTypes:
    - GDBusObjectSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 424
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 424
    functionName: g_dbus_object_skeleton_remove_interface_by_name
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_object_ref
    - G_IS_DBUS_OBJECT_SKELETON
    - g_warn_if_fail
    - g_hash_table_remove
    - g_dbus_interface_set_object
    - g_dbus_is_interface_name
    - g_object_unref
    - g_mutex_unlock
    - g_hash_table_lookup
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_skeleton_remove_interface_by_name (GDBusObjectSkeleton
      *object, const gchar *interface_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:430,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:433,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:434,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:434,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:433,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:436,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectskeleton.c:437,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:439,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - _object
    - interface_name
    argTypes:
    - GDBusObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 442
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 442
    functionName: g_dbus_object_skeleton_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_SKELETON
    - g_object_ref
    - G_IS_DBUS_OBJECT_SKELETON
    - g_dbus_is_interface_name
    - g_hash_table_lookup
    - g_mutex_unlock
    - g_return_val_if_fail
    - g_mutex_lock
    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:477,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/gio/gdbusobjectskeleton.c:478,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/gio/gdbusobjectskeleton.c:480,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusobjectskeleton.c:479,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:481,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/glib/gio/gdbusobjectskeleton.c:485,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:486,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusobjectskeleton.c:486,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusobjectskeleton.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 490
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 490
    functionName: g_dbus_object_skeleton_flush
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_ptr_array_set_free_func
    - G_DBUS_INTERFACE_SKELETON
    - g_clear_pointer
    - g_ptr_array_index
    - g_ptr_array_foreach
    - g_dbus_interface_skeleton_flush
    - g_mutex_unlock
    - g_hash_table_get_values_as_ptr_array
    - g_mutex_lock
    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_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectskeleton.c:106,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_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:102,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_DBUS_OBJECT_SKELETON
    - g_value_set_string
    - g_mutex_unlock
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_mutex_lock
    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:204,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectskeleton.c:206,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusobjectskeleton.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: g_dbus_object_skeleton_init
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_mutex_init
    - 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:447,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:450,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:450,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:454,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusobjectskeleton.c:455,1
    - Dst: g_list_foreach
      Src: /src/glib/gio/gdbusobjectskeleton.c:456,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - _object
    argTypes:
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 460
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 460
    functionName: g_dbus_object_skeleton_get_interfaces
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_SKELETON
    - G_IS_DBUS_OBJECT_SKELETON
    - g_hash_table_get_values
    - g_mutex_unlock
    - g_list_foreach
    - g_return_val_if_fail
    - g_mutex_lock
    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: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    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:506,1
    - Dst: G_DBUS_OBJECT_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusobjectskeleton.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 514
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 514
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:244,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:246,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:244,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectskeleton.c:245,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:245,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectskeleton.c:248,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectskeleton.c:250,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectskeleton.c:251,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:252,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusobjectskeleton.c:253,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:257,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectskeleton.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - object
    - object_path
    argTypes:
    - GDBusObjectSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 259
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 259
    functionName: g_dbus_object_skeleton_set_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_free
    - G_IS_DBUS_OBJECT_SKELETON
    - g_variant_is_object_path
    - g_strcmp0
    - g_mutex_unlock
    - g_object_notify
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_skeleton_set_object_path (GDBusObjectSkeleton *object,
      const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:264,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:266,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - _object
    argTypes:
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: g_dbus_object_skeleton_get_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - G_DBUS_OBJECT_SKELETON
    - g_mutex_lock
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_dbus_object_skeleton_get_object_path (GDBusObject
      *_object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:349,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:346,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectskeleton.c:377,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:375,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:346,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:347,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectskeleton.c:351,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectskeleton.c:353,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:356,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:376,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:381,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusobjectskeleton.c:347,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectskeleton.c:357,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectskeleton.c:365,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:378,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectskeleton.c:375,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:364,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:374,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusobjectskeleton.c:377,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - object
    - interface_
    argTypes:
    - GDBusObjectSkeleton*
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 383
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 383
    functionName: g_dbus_object_skeleton_remove_interface
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_object_ref
    - G_DBUS_INTERFACE
    - G_IS_DBUS_OBJECT_SKELETON
    - g_warn_if_fail
    - g_dbus_interface_skeleton_get_info
    - g_hash_table_remove
    - g_dbus_interface_set_object
    - g_warning
    - g_object_unref
    - g_mutex_unlock
    - G_IS_DBUS_INTERFACE
    - g_hash_table_lookup
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_skeleton_remove_interface (GDBusObjectSkeleton
      *object, GDBusInterfaceSkeleton *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdebugcontroller.c:69,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdebugcontroller.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDebugControllerInterface*
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: g_debug_controller_default_init
    functionSourceFile: /src/glib/gio/gdebugcontroller.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_interface_install_property
    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:93,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdebugcontroller.c:95,1
    - Dst: G_IS_DEBUG_CONTROLLER
      Src: /src/glib/gio/gdebugcontroller.c:93,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdebugcontroller.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - GDebugController*
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: g_debug_controller_get_debug_enabled
    functionSourceFile: /src/glib/gio/gdebugcontroller.c
    functionUses: []
    functionsReached:
    - G_IS_DEBUG_CONTROLLER
    - g_return_val_if_fail
    - G_OBJECT
    - g_object_get
    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:115,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdebugcontroller.c:117,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdebugcontroller.c:117,1
    - Dst: G_IS_DEBUG_CONTROLLER
      Src: /src/glib/gio/gdebugcontroller.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - self
    - debug_enabled
    argTypes:
    - GDebugController*
    - gboolean
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: g_debug_controller_set_debug_enabled
    functionSourceFile: /src/glib/gio/gdebugcontroller.c
    functionUses: []
    functionsReached:
    - G_IS_DEBUG_CONTROLLER
    - g_object_set
    - G_OBJECT
    - 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_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:310,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:316,1
    - Dst: g_strndup
      Src: /src/glib/gio/gresourcefile.c:320,1
    - Dst: g_object_new
      Src: /src/glib/gio/gresourcefile.c:319,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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_FILE
    - strrchr
    - g_strndup
    - G_RESOURCE_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_resource_file_get_parent (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GResourceFileMonitor*
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 636
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gresourcefile.c:650,1
    - Dst: g_resource_file_monitor_get_type
      Src: /src/glib/gio/gresourcefile.c:650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileMonitorFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 651
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 651
    functionName: g_resource_file_monitor_file
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_resource_file_monitor_get_type
    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
      Src: /src/glib/gio/gresourcefile.c:119,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:121,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:123,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_OBJECT_CLASS
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_finalize (GObject *object) '
  - 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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - class
    argTypes:
    - GResourceFileMonitorClass*
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 642
    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_set_error_literal
      Src: /src/glib/gio/gresourcefile.c:659,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - file
    - display_name
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 664
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 664
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - c
    argTypes:
    - gchar*
    - gchar*
    - gchar
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      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
    - Dst: strlen
      Src: /src/glib/gio/gresourcefile.c:182,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 228
    functionName: canonicalize_filename
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - strlen
    - pop_to_previous_part
    - g_malloc
    - g_assert
    linkageType: ''
    returnType: char*
    signature: 'static char *canonicalize_filename (const char *in) '
  - 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: 2
    argNames:
    - path
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 369
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 369
    functionName: match_prefix
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    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_strdup
      Src: /src/glib/gio/gresourcefile.c:396,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:390,1
    - Dst: match_prefix
      Src: /src/glib/gio/gresourcefile.c:393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    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_strdup
    - match_prefix
    - G_RESOURCE_FILE
    linkageType: ''
    returnType: char*
    signature: "static char *g_resource_file_get_relative_path (GFile *parent,\t\t\t\t
      GFile *descendant) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 808
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 808
    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:853,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:857,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresourcefile.c:855,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresourcefile.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 858
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 858
    functionName: g_resource_file_input_stream_finalize
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_OBJECT_CLASS
    - G_RESOURCE_FILE_INPUT_STREAM
    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: 881
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 881
    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_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:943,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:945,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:945,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/gresourcefile.c:945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 946
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 946
    functionName: g_resource_file_input_stream_can_seek
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_IS_SEEKABLE
    - G_SEEKABLE
    - G_RESOURCE_FILE_INPUT_STREAM
    - g_seekable_can_seek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_resource_file_input_stream_can_seek (GFileInputStream
      *stream) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gresourcefile.c:233,1
    - Dst: G_FILE
      Src: /src/glib/gio/gresourcefile.c:237,1
    - Dst: canonicalize_filename
      Src: /src/glib/gio/gresourcefile.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:375,1
    - Dst: match_prefix
      Src: /src/glib/gio/gresourcefile.c:379,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:376,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:
    - match_prefix
    - G_RESOURCE_FILE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_resource_file_prefix_matches (GFile *parent,\t\t\t\tGFile
      *descendant) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:404,1
    - Dst: g_resource_file_new_for_path
      Src: /src/glib/gio/gresourcefile.c:412,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:413,1
    - Dst: g_build_path
      Src: /src/glib/gio/gresourcefile.c:411,1
    - Dst: g_resource_file_new_for_path
      Src: /src/glib/gio/gresourcefile.c:409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - file
    - relative_path
    argTypes:
    - GFile*
    - char*
    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_free
    - G_RESOURCE_FILE
    - g_build_path
    - g_resource_file_new_for_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_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:863,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gresourcefile.c:864,1
    - Dst: G_FILE_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gresourcefile.c:865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GResourceFileInputStreamClass*
    constantsTouched: []
    func_position:
      end: 876
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 876
    functionName: g_resource_file_input_stream_class_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_FILE_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - G_INPUT_STREAM_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:888,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gresourcefile.c:890,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:892,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gresourcefile.c:889,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - in_stream
    - file
    argTypes:
    - GInputStream*
    - GFile*
    constantsTouched: []
    func_position:
      end: 893
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 893
    functionName: _g_resource_file_input_stream_new
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    - G_FILE_INPUT_STREAM
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'static GFileInputStream *_g_resource_file_input_stream_new (GInputStream
      *in_stream, GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:955,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/gresourcefile.c:964,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:957,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:960,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresourcefile.c:959,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:964,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: 966
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 966
    functionName: g_resource_file_input_stream_seek
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_SEEKABLE
    - g_seekable_seek
    - G_SEEKABLE
    - g_set_error_literal
    - G_RESOURCE_FILE_INPUT_STREAM
    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_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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_resources_get_info
      Src: /src/glib/gio/gresourcefile.c:475,1
    - Dst: strcmp
      Src: /src/glib/gio/gresourcefile.c:470,1
    - Dst: g_file_info_set_display_name
      Src: /src/glib/gio/gresourcefile.c:497,1
    - Dst: g_file_info_set_file_type
      Src: /src/glib/gio/gresourcefile.c:515,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gresourcefile.c:526,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresourcefile.c:529,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:539,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gresourcefile.c:465,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gresourcefile.c:487,1
    - Dst: g_resource_file_get_basename
      Src: /src/glib/gio/gresourcefile.c:495,1
    - Dst: g_file_info_set_name
      Src: /src/glib/gio/gresourcefile.c:496,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/gresourcefile.c:494,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/gresourcefile.c:492,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/gresourcefile.c:521,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/gresourcefile.c:527,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/gresourcefile.c:537,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gresourcefile.c:544,1
    - Dst: g_resources_enumerate_children
      Src: /src/glib/gio/gresourcefile.c:462,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:499,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:500,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:501,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:502,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:503,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:504,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:518,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/gresourcefile.c:520,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:450,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresourcefile.c:478,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresourcefile.c:480,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:481,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresourcefile.c:485,1
    - Dst: g_file_info_set_size
      Src: /src/glib/gio/gresourcefile.c:516,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/gresourcefile.c:536,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:543,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 547
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 547
    functionName: g_resource_file_query_info
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - _
    - g_file_info_set_name
    - g_resource_file_get_basename
    - _g_file_info_set_attribute_boolean_by_id
    - g_file_attribute_matcher_new
    - g_clear_error
    - g_strfreev
    - g_file_info_set_display_name
    - g_error_matches
    - g_bytes_unref
    - strcmp
    - g_set_error_literal
    - g_file_info_set_file_type
    - g_bytes_get_data
    - g_resources_get_info
    - G_RESOURCE_FILE
    - g_file_info_set_size
    - g_set_error
    - g_file_attribute_matcher_unref
    - g_free
    - _g_file_info_set_attribute_string_by_id
    - g_resources_enumerate_children
    - g_content_type_guess
    - _g_file_attribute_matcher_matches_id
    - g_resources_lookup_data
    - g_file_info_new
    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:
    - Dst: g_file_attribute_info_list_ref
      Src: /src/glib/gio/gresourcefile.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 578
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:593,1
    - Dst: g_resources_open_stream
      Src: /src/glib/gio/gresourcefile.c:598,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresourcefile.c:604,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresourcefile.c:602,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:605,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresourcefile.c:609,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gresourcefile.c:611,1
    - Dst: _g_resource_file_input_stream_new
      Src: /src/glib/gio/gresourcefile.c:615,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresourcefile.c:616,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 618
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 618
    functionName: g_resource_file_read
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _g_resource_file_input_stream_new
    - _
    - g_error_matches
    - g_object_unref
    - g_resources_open_stream
    - g_clear_error
    - g_set_error_literal
    - G_RESOURCE_FILE
    linkageType: ''
    returnType: GFileInputStream*
    signature: "static GFileInputStream *g_resource_file_read (GFile *file,\t\t GCancellable
      *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileIface*
    constantsTouched: []
    func_position:
      end: 694
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 694
    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: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:902,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gresourcefile.c:903,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: 905
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 905
    functionName: g_resource_file_input_stream_read
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_input_stream_read
    - G_RESOURCE_FILE_INPUT_STREAM
    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:923,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gresourcefile.c:924,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 926
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 926
    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: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_new
      Src: /src/glib/gio/gresourcefile.c:558,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/gresourcefile.c:564,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/gresourcefile.c:561,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/gresourcefile.c:562,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/gresourcefile.c:560,1
    - Dst: g_file_info_set_attribute_boolean
      Src: /src/glib/gio/gresourcefile.c:565,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gresourcefile.c:567,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 4
    argNames:
    - file
    - attributes
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 570
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 570
    functionName: g_resource_file_query_filesystem_info
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - g_file_attribute_matcher_matches
    - g_file_attribute_matcher_new
    - g_file_info_new
    - g_file_info_set_attribute_boolean
    - g_file_info_set_attribute_string
    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:
    - Dst: g_file_attribute_info_list_ref
      Src: /src/glib/gio/gresourcefile.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 586
    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: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:932,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gresourcefile.c:937,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:934,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 938
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 938
    functionName: g_resource_file_input_stream_tell
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_IS_SEEKABLE
    - g_seekable_tell
    - G_SEEKABLE
    - G_RESOURCE_FILE_INPUT_STREAM
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_resource_file_input_stream_tell (GFileInputStream
      *stream) '
  - 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_resource_file_new_for_path
      Src: /src/glib/gio/gresourcefile.c:251,1
    - Dst: G_FILE
      Src: /src/glib/gio/gresourcefile.c:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    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:
    - strlen
    - g_free
    - G_FILE
    - g_uri_unescape_string
    - g_resource_file_new_for_path
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *_g_resource_file_new (const char *uri) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/glib/gio/gresourcefile.c:281,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:281,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresourcefile.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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:
    - strrchr
    - g_strdup
    - G_RESOURCE_FILE
    linkageType: ''
    returnType: char*
    signature: 'static char *g_resource_file_get_basename (GFile *file) '
  - 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_free
      Src: /src/glib/gio/gresourcefile.c:297,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_strconcat
    - g_uri_escape_string
    - G_RESOURCE_FILE
    - g_free
    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: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    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_enumerator_new
    - G_RESOURCE_FILE
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:720,1
    - Dst: G_FILE_ENUMERATOR_CLASS
      Src: /src/glib/gio/gresourcefile.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GResourceFileEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 727
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 727
    functionName: g_resource_file_enumerator_class_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_FILE_ENUMERATOR_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_enumerator_class_init (GResourceFileEnumeratorClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_resources_enumerate_children
      Src: /src/glib/gio/gresourcefile.c:745,1
    - Dst: strcmp
      Src: /src/glib/gio/gresourcefile.c:747,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:752,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/gresourcefile.c:749,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresourcefile.c:751,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresourcefile.c:755,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:756,1
    - Dst: g_object_new
      Src: /src/glib/gio/gresourcefile.c:761,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresourcefile.c:766,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresourcefile.c:767,1
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gresourcefile.c:770,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GResourceFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 771
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 771
    functionName: _g_resource_file_enumerator_new
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - G_FILE_ENUMERATOR
    - _
    - g_object_new
    - g_resources_enumerate_children
    - g_resources_get_info
    - strcmp
    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: []
    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_strdup
      Src: /src/glib/gio/gresourcefile.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_get_uri
      Src: /src/glib/gio/gresourcefile.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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: 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_str_equal
    - G_RESOURCE_FILE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_resource_file_equal (GFile *file1,\t\t GFile *file2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/gresourcefile.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - file
    - display_name
    - error
    argTypes:
    - GFile*
    - char*
    - GError**
    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:
    - Dst: G_RESOURCE_FILE_ENUMERATOR
      Src: /src/glib/gio/gresourcefile.c:708,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gresourcefile.c:710,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:712,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:711,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 715
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 715
    functionName: g_resource_file_enumerator_finalize
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_free
    - G_OBJECT_CLASS
    - G_RESOURCE_FILE_ENUMERATOR
    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: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_ENUMERATOR
      Src: /src/glib/gio/gresourcefile.c:778,1
    - Dst: g_resource_file_new_for_path
      Src: /src/glib/gio/gresourcefile.c:788,1
    - Dst: g_build_path
      Src: /src/glib/gio/gresourcefile.c:787,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gresourcefile.c:791,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:789,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresourcefile.c:797,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 800
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 800
    functionName: g_resource_file_enumerator_next_file
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_build_path
    - G_RESOURCE_FILE_ENUMERATOR
    - g_object_unref
    - g_resource_file_new_for_path
    - g_file_query_info
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:913,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/gresourcefile.c:914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 916
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 916
    functionName: g_resource_file_input_stream_skip
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_input_stream_skip
    - G_RESOURCE_FILE_INPUT_STREAM
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:974,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gresourcefile.c:976,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - attributes
    - cancellable
    - error
    argTypes:
    - GFileInputStream*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 977
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 977
    functionName: g_resource_file_input_stream_query_info
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - G_RESOURCE_FILE_INPUT_STREAM
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:262,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:262,1
    - Dst: g_object_new
      Src: /src/glib/gio/gliststore.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - item_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: g_list_store_new
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_is_a
    - g_object_new
    linkageType: ''
    returnType: GListStore*
    signature: 'GListStore *g_list_store_new (GType item_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:483,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:483,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:486,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:484,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:487,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gliststore.c:489,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/gio/gliststore.c:495,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/gliststore.c:496,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:507,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:507,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:514,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:518,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/gliststore.c:514,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gliststore.c:510,1
    - Dst: g_type_name
      Src: /src/glib/gio/gliststore.c:510,1
    - Dst: g_critical
      Src: /src/glib/gio/gliststore.c:509,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: 519
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 519
    functionName: g_list_store_splice
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_sequence_insert_before
    - g_object_ref
    - G_IS_LIST_STORE
    - g_sequence_remove_range
    - G_OBJECT_TYPE
    - g_sequence_iter_move
    - g_critical
    - g_type_name
    - g_list_store_items_changed
    - g_type_is_a
    - G_OBJECT_TYPE_NAME
    - g_sequence_get_length
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    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_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:591,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:591,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:592,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:592,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:592,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:594,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/gio/gliststore.c:598,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/gio/gliststore.c:599,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/gliststore.c:606,1
    - Dst: equal_func
      Src: /src/glib/gio/gliststore.c:607,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/gio/gliststore.c:610,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/gio/gliststore.c:614,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: 618
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 618
    functionName: g_list_store_find_with_equal_func_full
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_sequence_iter_get_position
    - g_sequence_get
    - G_IS_LIST_STORE
    - G_OBJECT_TYPE
    - g_sequence_iter_next
    - g_sequence_get_begin_iter
    - equal_func
    - g_type_is_a
    - g_return_val_if_fail
    - g_sequence_get_end_iter
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_model_items_changed
      Src: /src/glib/gio/gliststore.c:91,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gio/gliststore.c:93,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gliststore.c:93,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/gliststore.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - store
    - position
    - removed
    - added
    argTypes:
    - GListStore*
    - guint
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    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: 527
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 527
    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_sequence_new
      Src: /src/glib/gio/gliststore.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - store
    argTypes:
    - GListStore*
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    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_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:556,1
    - Dst: g_list_store_find_with_equal_func_full
      Src: /src/glib/gio/gliststore.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - store
    - item
    - equal_func
    - position
    argTypes:
    - GListStore*
    - gpointer
    - GEqualFunc
    - guint*
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: g_list_store_find_with_equal_func
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_store_find_with_equal_func_full
    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_return_if_fail
      Src: /src/glib/gio/gliststore.c:361,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:361,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:366,1
    - Dst: g_sequence_sort
      Src: /src/glib/gio/gliststore.c:364,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:362,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - store
    - compare_func
    - user_data
    argTypes:
    - GListStore*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: g_list_store_sort
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_IS_LIST_STORE
    - g_sequence_sort
    - g_list_store_items_changed
    - g_sequence_get_length
    - g_return_if_fail
    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:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - store
    - item
    - position
    argTypes:
    - GListStore*
    - gpointer
    - guint*
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 647
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_STORE
      Src: /src/glib/gio/gliststore.c:204,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/gio/gliststore.c:224,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/gio/gliststore.c:210,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/gio/gliststore.c:212,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gliststore.c:218,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:227,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/gliststore.c:227,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - list
    - position
    argTypes:
    - GListModel*
    - guint
    constantsTouched: []
    func_position:
      end: 228
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 228
    functionName: g_list_store_get_item
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_sequence_iter_prev
    - g_object_ref
    - g_sequence_get
    - g_sequence_iter_next
    - G_LIST_STORE
    - g_sequence_iter_is_end
    - g_sequence_get_iter_at_pos
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_list_store_get_item (GListModel *list, guint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:332,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:333,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:333,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:332,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:333,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:334,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/gio/gliststore.c:336,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:336,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/gio/gliststore.c:337,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:339,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: 342
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 342
    functionName: g_list_store_insert_sorted
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_sequence_iter_get_position
    - G_IS_LIST_STORE
    - G_OBJECT_TYPE
    - g_list_store_items_changed
    - g_type_is_a
    - g_return_val_if_fail
    - g_sequence_insert_sorted
    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:418,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:418,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:421,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gliststore.c:420,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/gio/gliststore.c:421,1
    - Dst: g_sequence_remove
      Src: /src/glib/gio/gliststore.c:423,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - store
    - position
    argTypes:
    - GListStore*
    - guint
    constantsTouched: []
    func_position:
      end: 425
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 425
    functionName: g_list_store_remove
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_IS_LIST_STORE
    - g_list_store_items_changed
    - g_sequence_iter_is_end
    - g_sequence_remove
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_list_store_remove (GListStore *store, guint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GListModelInterface*
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 236
    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_if_fail
      Src: /src/glib/gio/gliststore.c:293,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:294,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:294,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:294,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:293,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:295,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:295,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gliststore.c:297,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/gliststore.c:298,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:298,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - store
    - position
    - item
    argTypes:
    - GListStore*
    - guint
    - gpointer
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: g_list_store_insert
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_sequence_insert_before
    - g_object_ref
    - G_IS_LIST_STORE
    - G_OBJECT_TYPE
    - g_list_store_items_changed
    - g_type_is_a
    - g_sequence_get_length
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    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:390,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:390,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:391,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:391,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:391,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:393,1
    - Dst: g_sequence_append
      Src: /src/glib/gio/gliststore.c:394,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:394,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - store
    - item
    argTypes:
    - GListStore*
    - gpointer
    constantsTouched: []
    func_position:
      end: 397
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 397
    functionName: g_list_store_append
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_LIST_STORE
    - G_OBJECT_TYPE
    - g_sequence_append
    - g_list_store_items_changed
    - g_type_is_a
    - g_sequence_get_length
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_list_store_append (GListStore *store, gpointer item) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_STORE
      Src: /src/glib/gio/gliststore.c:135,1
    - Dst: g_assert
      Src: /src/glib/gio/gliststore.c:140,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gio/gliststore.c:140,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:140,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gio/gliststore.c:141,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gliststore.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: g_list_store_set_property
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_get_gtype
    - g_type_is_a
    - G_LIST_STORE
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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_LIST_STORE
      Src: /src/glib/gio/gliststore.c:99,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gliststore.c:103,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gliststore.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    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:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GListModel*
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    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_OBJECT_CLASS
      Src: /src/glib/gio/gliststore.c:152,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gliststore.c:181,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gliststore.c:178,1
    - Dst: g_param_spec_gtype
      Src: /src/glib/gio/gliststore.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GListStoreClass*
    constantsTouched: []
    func_position:
      end: 182
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 182
    functionName: g_list_store_class_init
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_param_spec_gtype
    - G_OBJECT_CLASS
    - g_object_class_install_properties
    - g_param_spec_uint
    linkageType: ''
    returnType: void
    signature: 'static void g_list_store_class_init (GListStoreClass *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_STORE
      Src: /src/glib/gio/gliststore.c:112,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:121,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gio/gliststore.c:117,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gliststore.c:125,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gliststore.c:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 127
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 127
    functionName: g_list_store_get_property
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_value_set_uint
    - g_sequence_get_length
    - g_value_set_gtype
    - G_LIST_STORE
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:195,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GListModel*
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:440,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:440,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:442,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/gio/gliststore.c:443,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/gliststore.c:443,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/gio/gliststore.c:444,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - store
    argTypes:
    - GListStore*
    constantsTouched: []
    func_position:
      end: 447
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 447
    functionName: g_list_store_remove_all
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_IS_LIST_STORE
    - g_sequence_remove_range
    - g_sequence_get_begin_iter
    - g_list_store_items_changed
    - g_sequence_get_length
    - g_sequence_get_end_iter
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_list_store_remove_all (GListStore *store) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gnetworkmonitor.c:148,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitor.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GNetworkMonitor*
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: g_network_monitor_get_network_metered
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_get
    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:185,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitor.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GNetworkMonitor*
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: g_network_monitor_get_connectivity
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_get
    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:241,1
    - Dst: g_network_monitor_can_reach
      Src: /src/glib/gio/gnetworkmonitor.c:244,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkmonitor.c:247,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gnetworkmonitor.c:245,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gnetworkmonitor.c:242,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitor.c:248,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: 249
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 249
    functionName: g_network_monitor_real_can_reach_async
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_network_monitor_can_reach
    - g_task_set_source_tag
    - g_object_unref
    - g_task_return_boolean
    - 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_NETWORK_MONITOR_GET_INTERFACE
      Src: /src/glib/gio/gnetworkmonitor.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - monitor
    - result
    - error
    argTypes:
    - GNetworkMonitor*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 313
    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_once_init_enter
      Src: /src/glib/gio/gnetworkmonitor.c:96,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gnetworkmonitor.c:100,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gnetworkmonitor.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: g_network_monitor_get_default
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - _g_io_module_get_default
    - g_once_init_leave
    - g_once_init_enter
    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:331,1
    - Dst: I_
      Src: /src/glib/gio/gnetworkmonitor.c:331,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gnetworkmonitor.c:334,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gnetworkmonitor.c:364,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gnetworkmonitor.c:363,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkmonitor.c:365,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkmonitor.c:366,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gnetworkmonitor.c:398,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gnetworkmonitor.c:399,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkmonitor.c:400,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkmonitor.c:401,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gnetworkmonitor.c:416,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gnetworkmonitor.c:415,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkmonitor.c:418,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkmonitor.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GNetworkMonitorInterface*
    constantsTouched: []
    func_position:
      end: 423
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 423
    functionName: g_network_monitor_default_init
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - I_
    - g_param_spec_boolean
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_object_interface_install_property
    - g_param_spec_enum
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_default_init (GNetworkMonitorInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_GET_INTERFACE
      Src: /src/glib/gio/gnetworkmonitor.c:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - monitor
    - connectable
    - cancellable
    - error
    argTypes:
    - GNetworkMonitor*
    - GSocketConnectable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 229
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 229
    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_object_get
      Src: /src/glib/gio/gnetworkmonitor.c:128,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitor.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GNetworkMonitor*
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: g_network_monitor_get_network_available
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_get
    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:279,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: 281
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 281
    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_return_val_if_fail
      Src: /src/glib/gio/gnetworkmonitor.c:288,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gnetworkmonitor.c:288,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gnetworkmonitor.c:290,1
    - Dst: G_TASK
      Src: /src/glib/gio/gnetworkmonitor.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - monitor
    - result
    - error
    argTypes:
    - GNetworkMonitor*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: g_network_monitor_real_can_reach_finish
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_real_can_reach_finish (GNetworkMonitor
      *monitor, GAsyncResult *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:457,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileenumerator.c:458,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileenumerator.c:460,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:457,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:458,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileenumerator.c:462,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileenumerator.c:463,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileenumerator.c:463,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GFileEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 467
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 467
    functionName: g_file_enumerator_next_files_finish
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - G_FILE_ENUMERATOR_GET_CLASS
    - G_IS_FILE_ENUMERATOR
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:587,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GFileEnumerator*
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: g_file_enumerator_is_closed
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILE_ENUMERATOR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_enumerator_is_closed (GFileEnumerator *enumerator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:474,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 481
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 481
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:792,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:792,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileenumerator.c:793,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gfileenumerator.c:795,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:793,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gfileenumerator.c:797,1
    - Dst: g_critical
      Src: /src/glib/gio/gfileenumerator.c:799,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gfileenumerator.c:800,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gfileenumerator.c:803,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - enumerator
    - info
    argTypes:
    - GFileEnumerator*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 804
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 804
    functionName: g_file_enumerator_get_child
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_file_info_get_name
    - g_critical
    - G_IS_FILE_INFO
    - G_IS_FILE_ENUMERATOR
    - g_return_val_if_fail
    - g_return_val_if_reached
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_enumerator_get_child (GFileEnumerator *enumerator, GFileInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileenumerator.c:150,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gfileenumerator.c:163,1
    - Dst: P_
      Src: /src/glib/gio/gfileenumerator.c:163,1
    - Dst: P_
      Src: /src/glib/gio/gfileenumerator.c:164,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfileenumerator.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: g_file_enumerator_class_init
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_file_enumerator_class_init (GFileEnumeratorClass *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileenumerator.c:395,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileenumerator.c:397,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:395,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileenumerator.c:396,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfileenumerator.c:403,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileenumerator.c:404,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileenumerator.c:405,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:406,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfileenumerator.c:412,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:415,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:424,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileenumerator.c:432,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfileenumerator.c:421,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:428,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: 435
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 435
    functionName: g_file_enumerator_next_files_async
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - _
    - g_task_set_source_tag
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - G_FILE_ENUMERATOR_GET_CLASS
    - G_IS_FILE_ENUMERATOR
    - g_task_report_new_error
    - g_return_if_fail
    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_if_fail
      Src: /src/glib/gio/gfileenumerator.c:508,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:508,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfileenumerator.c:521,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:515,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfileenumerator.c:512,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:524,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:528,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileenumerator.c:532,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: 535
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 535
    functionName: g_file_enumerator_close_async
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - _
    - G_FILE_ENUMERATOR_GET_CLASS
    - G_IS_FILE_ENUMERATOR
    - g_task_report_new_error
    - g_return_if_fail
    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_list_free_full
      Src: /src/glib/gio/gfileenumerator.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - files
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:107,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gfileenumerator.c:111,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfileenumerator.c:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: g_file_enumerator_set_property
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_FILE_ENUMERATOR
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_object
    linkageType: ''
    returnType: void
    signature: 'static void g_file_enumerator_set_property (GObject *object, guint
      property_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerator_get_instance_private
      Src: /src/glib/gio/gfileenumerator.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GFileEnumerator*
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gfileenumerator.c:819,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:826,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfileenumerator.c:840,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfileenumerator.c:830,1
    - Dst: g_error_free
      Src: /src/glib/gio/gfileenumerator.c:841,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gfileenumerator.c:850,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfileenumerator.c:855,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfileenumerator.c:856,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileenumerator.c:859,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: 860
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 860
    functionName: next_files_thread
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_error_matches
    - g_error_free
    - g_list_prepend
    - g_cancellable_set_error_if_cancelled
    - g_task_return_pointer
    - G_FILE_ENUMERATOR_GET_CLASS
    - g_task_return_error
    - GPOINTER_TO_INT
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void next_files_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:302,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 308
    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:603,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GFileEnumerator*
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: g_file_enumerator_has_pending
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILE_ENUMERATOR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_enumerator_has_pending (GFileEnumerator *enumerator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:207,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileenumerator.c:212,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:213,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:208,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:207,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileenumerator.c:219,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:220,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfileenumerator.c:226,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:231,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileenumerator.c:234,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileenumerator.c:241,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 244
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 244
    functionName: g_file_enumerator_next_file
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - _
    - g_cancellable_push_current
    - G_FILE_ENUMERATOR_GET_CLASS
    - G_IS_FILE_ENUMERATOR
    - g_propagate_error
    - g_set_error_literal
    - g_return_val_if_fail
    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_task_new
      Src: /src/glib/gio/gfileenumerator.c:872,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileenumerator.c:873,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfileenumerator.c:875,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfileenumerator.c:874,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gfileenumerator.c:874,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfileenumerator.c:877,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:878,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: 879
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 879
    functionName: g_file_enumerator_real_next_files_async
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:886,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileenumerator.c:886,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileenumerator.c:888,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileenumerator.c:888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GFileEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 889
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 889
    functionName: g_file_enumerator_real_next_files_finish
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:564,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileenumerator.c:567,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:565,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileenumerator.c:565,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:564,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileenumerator.c:569,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfileenumerator.c:570,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileenumerator.c:570,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GFileEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 574
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 574
    functionName: g_file_enumerator_close_finish
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - G_FILE_ENUMERATOR_GET_CLASS
    - G_IS_FILE_ENUMERATOR
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_enumerator_close_finish (GFileEnumerator *enumerator,\t\t\t\tGAsyncResult
      *result,\t\t\t\tGError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:124,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileenumerator.c:131,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: g_file_enumerator_dispose
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_FILE_ENUMERATOR
    - G_OBJECT_CLASS
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_file_enumerator_dispose (GObject *object) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:689,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gfileenumerator.c:694,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:690,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gfileenumerator.c:692,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gfileenumerator.c:695,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gfileenumerator.c:696,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gfileenumerator.c:699,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfileenumerator.c:702,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gfileenumerator.c:710,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gfileenumerator.c:712,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gfileenumerator.c:715,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gfileenumerator.c:720,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gfileenumerator.c:725,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:729,1
    - Dst: g_file_enumerator_get_container
      Src: /src/glib/gio/gfileenumerator.c:719,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gfileenumerator.c:719,1
    - Dst: g_critical
      Src: /src/glib/gio/gfileenumerator.c:714,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: 742
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 742
    functionName: g_file_enumerator_iterate
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - G_UNLIKELY
    - g_file_info_get_name
    - g_once_init_enter
    - g_file_enumerator_get_container
    - g_file_enumerator_next_file
    - g_object_set_qdata_full
    - g_object_unref
    - g_critical
    - g_once_init_leave
    - g_propagate_error
    - g_return_val_if_fail
    - g_return_val_if_reached
    - g_file_get_child
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_enumerator_iterate (GFileEnumerator *direnum, GFileInfo
      **out_info, GFile **out_child, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:757,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GFileEnumerator*
    constantsTouched: []
    func_position:
      end: 760
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 760
    functionName: g_file_enumerator_get_container
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILE_ENUMERATOR
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_enumerator_get_container (GFileEnumerator *enumerator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:902,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfileenumerator.c:905,1
    - Dst: g_task_return_error
      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: 908
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 908
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:139,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileenumerator.c:144,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/gfileenumerator.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: g_file_enumerator_finalize
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_FILE_ENUMERATOR
    - g_file_enumerator_close
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_enumerator_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfileenumerator.c:919,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileenumerator.c:920,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:924,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfileenumerator.c:923,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfileenumerator.c:921,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: 925
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 925
    functionName: g_file_enumerator_real_close_async
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_task_run_in_thread
    - g_object_unref
    - g_task_new
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:932,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileenumerator.c:934,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileenumerator.c:932,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfileenumerator.c:934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GFileEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 935
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 935
    functionName: g_file_enumerator_real_close_finish
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_enumerator_real_close_finish (GFileEnumerator
      *enumerator, GAsyncResult *result, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:268,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:271,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:269,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:268,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileenumerator.c:278,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:279,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileenumerator.c:284,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileenumerator.c:292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 295
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 295
    functionName: g_file_enumerator_close
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - _
    - g_cancellable_push_current
    - G_FILE_ENUMERATOR_GET_CLASS
    - G_IS_FILE_ENUMERATOR
    - g_set_error_literal
    - g_return_val_if_fail
    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:619,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - enumerator
    - pending
    argTypes:
    - GFileEnumerator*
    - gboolean
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 622
    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_file_output_stream_get_instance_private
      Src: /src/glib/gio/gfileoutputstream.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:217,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gfileoutputstream.c:223,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:219,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:217,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/gfileoutputstream.c:221,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:229,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileoutputstream.c:232,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: 235
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 235
    functionName: g_file_output_stream_query_info_async
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_task_report_error
    - G_IS_FILE_OUTPUT_STREAM
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - G_OUTPUT_STREAM
    - g_return_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:255,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileoutputstream.c:256,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:255,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:256,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileoutputstream.c:258,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileoutputstream.c:260,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileoutputstream.c:261,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileoutputstream.c:261,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GFileOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: g_file_output_stream_query_info_finish
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - G_IS_FILE_OUTPUT_STREAM
    - g_task_propagate_pointer
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:309,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:311,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 318
    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:332,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:334,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 345
    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:440,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:440,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileoutputstream.c:447,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:443,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:442,1
    - Dst: _
      Src: /src/glib/gio/gfileoutputstream.c:448,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/gfileoutputstream.c:452,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileoutputstream.c:456,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileoutputstream.c:461,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/gfileoutputstream.c:463,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - stream
    - size
    - cancellable
    - error
    argTypes:
    - GFileOutputStream*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 466
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 466
    functionName: g_file_output_stream_truncate
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - _
    - G_IS_FILE_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_cancellable_push_current
    - g_set_error_literal
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_output_stream_tell
      Src: /src/glib/gio/gfileoutputstream.c:323,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    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_seek
      Src: /src/glib/gio/gfileoutputstream.c:350,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: g_file_output_stream_seekable_can_seek
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_file_output_stream_can_seek
    - G_FILE_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_output_stream_seekable_can_seek (GSeekable
      *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_output_stream_truncate
      Src: /src/glib/gio/gfileoutputstream.c:474,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - seekable
    - size
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 476
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:148,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:150,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:148,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/gfileoutputstream.c:152,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileoutputstream.c:158,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:160,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileoutputstream.c:164,1
    - Dst: _
      Src: /src/glib/gio/gfileoutputstream.c:165,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileoutputstream.c:168,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/gfileoutputstream.c:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 4
    argNames:
    - stream
    - attributes
    - cancellable
    - error
    argTypes:
    - GFileOutputStream*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 173
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 173
    functionName: g_file_output_stream_query_info
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - _
    - G_IS_FILE_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_cancellable_push_current
    - g_set_error_literal
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:530,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileoutputstream.c:530,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileoutputstream.c:532,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileoutputstream.c:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - res
    - error
    argTypes:
    - GFileOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: g_file_output_stream_real_query_info_finish
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:284,1
    - Dst: g_warning
      Src: /src/glib/gio/gfileoutputstream.c:290,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:284,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/gfileoutputstream.c:288,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:286,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 301
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 301
    functionName: g_file_output_stream_get_etag
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_output_stream_is_closed
    - G_IS_FILE_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    - g_warning
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_output_stream_get_etag (GFileOutputStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:180,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileoutputstream.c:185,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/gfileoutputstream.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/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:364,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileoutputstream.c:371,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:366,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:364,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:367,1
    - Dst: _
      Src: /src/glib/gio/gfileoutputstream.c:372,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/gfileoutputstream.c:376,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileoutputstream.c:380,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileoutputstream.c:385,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/gfileoutputstream.c:387,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: 390
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 390
    functionName: g_file_output_stream_seek
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - _
    - G_IS_FILE_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_cancellable_push_current
    - g_set_error_literal
    - g_return_val_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:409,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:411,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 422
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 422
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:493,1
    - Dst: _
      Src: /src/glib/gio/gfileoutputstream.c:498,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfileoutputstream.c:501,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileoutputstream.c:497,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileoutputstream.c:503,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: 504
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 504
    functionName: query_info_async_thread
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - _
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_task_return_pointer
    - g_task_return_error
    - g_set_error_literal
    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_seek
      Src: /src/glib/gio/gfileoutputstream.c:399,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:399,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: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    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_can_truncate
      Src: /src/glib/gio/gfileoutputstream.c:427,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfileoutputstream.c:516,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfileoutputstream.c:519,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileoutputstream.c:517,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileoutputstream.c:518,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfileoutputstream.c:518,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfileoutputstream.c:521,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileoutputstream.c:522,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: 523
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 523
    functionName: g_file_output_stream_real_query_info_async
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gseekable.c:71,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:71,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: g_seekable_tell
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    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:135,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:135,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:137,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: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: g_seekable_seek
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    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:193,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:195,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: g_seekable_truncate
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_seekable_truncate (GSeekable *seekable,\t\t goffset offset,\t\t
      GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableInterface*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    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:156,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:158,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: g_seekable_can_truncate
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_seekable_can_truncate (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gseekable.c:91,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:93,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: g_seekable_can_seek
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_seekable_can_seek (GSeekable *seekable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:133,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:133,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileinputstream.c:143,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/gfileinputstream.c:137,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:135,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:145,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileinputstream.c:149,1
    - Dst: _
      Src: /src/glib/gio/gfileinputstream.c:150,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileinputstream.c:153,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gfileinputstream.c:155,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 4
    argNames:
    - stream
    - attributes
    - cancellable
    - error
    argTypes:
    - GFileInputStream*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: g_file_input_stream_query_info
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - _
    - G_IS_FILE_INPUT_STREAM
    - g_set_error_literal
    - g_input_stream_set_pending
    - g_cancellable_push_current
    - G_FILE_INPUT_STREAM_GET_CLASS
    - G_INPUT_STREAM
    - g_return_val_if_fail
    - g_input_stream_clear_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: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinputstream.c:208,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gfileinputstream.c:214,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:208,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:210,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/gfileinputstream.c:212,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:220,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileinputstream.c:223,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: 226
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 226
    functionName: g_file_input_stream_query_info_async
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_FILE_INPUT_STREAM
    - g_task_report_error
    - g_input_stream_set_pending
    - G_FILE_INPUT_STREAM_GET_CLASS
    - G_INPUT_STREAM
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:264,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:264,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: g_file_input_stream_tell
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILE_INPUT_STREAM
    - G_FILE_INPUT_STREAM_GET_CLASS
    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:287,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:287,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: g_file_input_stream_can_seek
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILE_INPUT_STREAM
    - G_FILE_INPUT_STREAM_GET_CLASS
    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:319,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:322,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileinputstream.c:326,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:319,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:321,1
    - Dst: _
      Src: /src/glib/gio/gfileinputstream.c:327,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/gfileinputstream.c:331,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileinputstream.c:335,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileinputstream.c:340,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gfileinputstream.c:342,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: 345
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 345
    functionName: g_file_input_stream_seek
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - _
    - G_IS_FILE_INPUT_STREAM
    - g_input_stream_set_pending
    - g_cancellable_push_current
    - G_INPUT_STREAM
    - g_set_error_literal
    - g_return_val_if_fail
    - G_FILE_INPUT_STREAM_GET_CLASS
    - g_input_stream_clear_pending
    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: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    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:391,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfileinputstream.c:399,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileinputstream.c:395,1
    - Dst: _
      Src: /src/glib/gio/gfileinputstream.c:396,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileinputstream.c:401,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: 402
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 402
    functionName: query_info_async_thread
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - _
    - g_task_return_pointer
    - g_task_return_error
    - g_set_error_literal
    - G_FILE_INPUT_STREAM_GET_CLASS
    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: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:165,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gfileinputstream.c:167,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:167,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileinputstream.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: async_ready_callback_wrapper
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM
    - g_input_stream_clear_pending
    - g_object_unref
    - G_FILE_INPUT_STREAM
    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_get_instance_private
      Src: /src/glib/gio/gfileinputstream.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_input_stream_tell
      Src: /src/glib/gio/gfileinputstream.c:278,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: g_file_input_stream_seekable_tell
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_file_input_stream_tell
    - G_FILE_INPUT_STREAM
    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:305,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: g_file_input_stream_seekable_can_seek
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_file_input_stream_can_seek
    - G_FILE_INPUT_STREAM
    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:354,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:354,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: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    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:370,1
    - Dst: _
      Src: /src/glib/gio/gfileinputstream.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 373
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 373
    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:414,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfileinputstream.c:416,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileinputstream.c:415,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfileinputstream.c:417,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinputstream.c:416,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfileinputstream.c:419,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileinputstream.c:420,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: 421
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 421
    functionName: g_file_input_stream_real_query_info_async
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:246,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileinputstream.c:247,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileinputstream.c:249,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:247,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:246,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileinputstream.c:251,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileinputstream.c:252,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileinputstream.c:252,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GFileInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: g_file_input_stream_query_info_finish
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INPUT_STREAM
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - G_FILE_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_input_stream_query_info_finish (GFileInputStream
      *stream, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:428,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileinputstream.c:430,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileinputstream.c:430,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileinputstream.c:428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - res
    - error
    argTypes:
    - GFileInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: g_file_input_stream_real_query_info_finish
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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:85,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:84,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: 3
    argNames:
    - table
    - key
    - length
    argTypes:
    - GHashTable*
    - gchar*
    - gint
    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
    - get_parent
    - g_hash_table_lookup
    - gvdb_item_set_parent
    linkageType: ''
    returnType: GvdbItem*
    signature: "static GvdbItem *get_parent (GHashTable *table,\t gchar *key,\t gint
      length) "
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - 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:481,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/glib-compile-resources.c:443,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:400,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:373,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_free
      Src: /src/glib/gio/glib-compile-resources.c:392,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_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/glib-compile-resources.c:487,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_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:347,1
    - Dst: close
      Src: /src/glib/gio/glib-compile-resources.c:436,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/glib-compile-resources.c:475,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_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_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:516,1
    - Dst: file_data_free
      Src: /src/glib/gio/glib-compile-resources.c:520,1
    - Dst: g_build_path
      Src: /src/glib/gio/glib-compile-resources.c:230,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_free
      Src: /src/glib/gio/glib-compile-resources.c:440,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/glib-compile-resources.c:468,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:424,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:425,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:504,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:458,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:491,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:478,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:457,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:343,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glib-compile-resources.c:368,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:282,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:291,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glib-compile-resources.c:311,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: _
      Src: /src/glib/gio/glib-compile-resources.c:368,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:349,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/glib-compile-resources.c:473,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:256,1
    - Dst: g_strsplit
      Src: /src/glib/gio/glib-compile-resources.c:278,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: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:490,1
    - Dst: unlink
      Src: /src/glib/gio/glib-compile-resources.c:515,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-resources.c:292,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:316,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:449,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:406,1
    - Dst: g_converter_output_stream_new
      Src: /src/glib/gio/glib-compile-resources.c:471,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:480,1
    - Dst: close
      Src: /src/glib/gio/glib-compile-resources.c:388,1
    - Dst: g_build_path
      Src: /src/glib/gio/glib-compile-resources.c:228,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:210,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:257,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/glib-compile-resources.c:455,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_strdup
      Src: /src/glib/gio/glib-compile-resources.c:451,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:486,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:477,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_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_zlib_compressor_new
      Src: /src/glib/gio/glib-compile-resources.c:470,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:482,1
    - Dst: g_new0
      Src: /src/glib/gio/glib-compile-resources.c:265,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/glib-compile-resources.c:488,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-resources.c:460,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_printerr
      Src: /src/glib/gio/glib-compile-resources.c:372,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_CONVERTER
    - g_hash_table_insert
    - file_data_free
    - g_clear_error
    - g_strfreev
    - g_file_open_tmp
    - g_build_path
    - g_object_unref
    - close
    - g_strsplit
    - g_zlib_compressor_new
    - strcmp
    - g_string_free
    - g_memory_output_stream_new
    - g_subprocess_wait_check
    - unlink
    - g_memory_output_stream_get_data_size
    - G_MEMORY_OUTPUT_STREAM
    - g_strdup_printf
    - g_output_stream_write_all
    - g_printerr
    - g_set_error
    - g_strdup
    - g_free
    - g_new0
    - g_memory_output_stream_steal_data
    - g_converter_output_stream_new
    - find_file
    - g_subprocess_new
    - g_file_test
    - g_output_stream_close
    - g_file_get_contents
    - g_hash_table_lookup
    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_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_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_item_set_parent
      Src: /src/glib/gio/glib-compile-resources.c:603,1
    - Dst: gvdb_hash_table_insert
      Src: /src/glib/gio/glib-compile-resources.c:602,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_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_new
      Src: /src/glib/gio/glib-compile-resources.c:572,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/gio/glib-compile-resources.c:577,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:599,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/glib-compile-resources.c:597,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/glib-compile-resources.c:596,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:624,1
    - Dst: gvdb_hash_table_new
      Src: /src/glib/gio/glib-compile-resources.c:594,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:606,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/glib-compile-resources.c:608,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:600,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
      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
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/gio/glib-compile-resources.c:578,1
    - Dst: get_parent
      Src: /src/glib/gio/glib-compile-resources.c:604,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
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - filename
    - collect_data
    - files
    argTypes:
    - gchar*
    - gboolean
    - GHashTable*
    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_markup_parse_context_free
    - g_hash_table_unref
    - g_hash_table_iter_next
    - g_clear_error
    - g_variant_new_from_data
    - strlen
    - g_markup_parse_context_parse
    - g_markup_parse_context_new
    - get_parent
    - g_variant_builder_add
    - g_variant_builder_add_value
    - g_hash_table_ref
    - g_markup_parse_context_end_parse
    - g_hash_table_iter_init
    - g_variant_builder_init
    - gvdb_item_set_value
    - g_printerr
    - g_variant_builder_end
    - g_strdup
    - G_VARIANT_TYPE
    - g_free
    - gvdb_hash_table_new
    - gvdb_item_set_parent
    - gvdb_hash_table_insert
    - g_file_get_contents
    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: va_start
      Src: /src/glib/gio/glib-compile-resources.c:658,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
    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:
    - va_end
    - g_ascii_strcasecmp
    - strrchr
    - va_start
    - va_arg
    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: COLLECT
      Src: /src/glib/gio/glib-compile-resources.c:122,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:118,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:115,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:120,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:141,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:144,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:145,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_string_new
    - _
    - g_markup_parse_context_get_element_stack
    - strcmp
    - COLLECT
    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_strdup
      Src: /src/glib/gio/glib-compile-resources.c:185,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:194,1
    - Dst: g_build_path
      Src: /src/glib/gio/glib-compile-resources.c:190,1
    - Dst: g_file_test
      Src: /src/glib/gio/glib-compile-resources.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    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_free
    - g_build_path
    - g_file_test
    - 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: _
      Src: /src/glib/gio/glib-compile-resources.c:542,1
    - Dst: g_markup_parse_context_get_element
      Src: /src/glib/gio/glib-compile-resources.c:543,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:541,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/glib-compile-resources.c:538,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_set_error
    - _
    - g_markup_parse_context_get_element
    - g_string_append_len
    - g_ascii_isspace
    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:825,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/glib-compile-resources.c:847,1
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/glib-compile-resources.c:911,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_str_equal
      Src: /src/glib/gio/glib-compile-resources.c:1032,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/glib-compile-resources.c:1059,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:1251,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1287,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-resources.c:943,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:820,1
    - Dst: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:913,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:1229,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1040,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glib-compile-resources.c:923,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_strv_length
      Src: /src/glib/gio/glib-compile-resources.c:873,1
    - Dst: parse_resource_file
      Src: /src/glib/gio/glib-compile-resources.c:966,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:932,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:968,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/glib-compile-resources.c:1020,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1077,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1159,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:901,1
    - Dst: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:909,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:831,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: strlen
      Src: /src/glib/gio/glib-compile-resources.c:932,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_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1138,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1224,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: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1328,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:1142,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:824,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/glib-compile-resources.c:850,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-resources.c:937,1
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/glib-compile-resources.c:919,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:893,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:969,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_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1122,1
    - Dst: fclose
      Src: /src/glib/gio/glib-compile-resources.c:1318,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1194,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:827,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: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:944,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glib-compile-resources.c:939,1
    - Dst: g_string_append
      Src: /src/glib/gio/glib-compile-resources.c:1009,1
    - Dst: g_print
      Src: /src/glib/gio/glib-compile-resources.c:1065,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1076,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1125,1
    - Dst: g_unlink
      Src: /src/glib/gio/glib-compile-resources.c:1180,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1185,1
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/glib-compile-resources.c:915,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:822,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:870,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-resources.c:988,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:995,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:1050,1
    - Dst: strchr
      Src: /src/glib/gio/glib-compile-resources.c:1091,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_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1247,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/glib-compile-resources.c:1325,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:952,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:821,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:830,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:892,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glib-compile-resources.c:924,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_hash_table_iter_init
      Src: /src/glib/gio/glib-compile-resources.c:1019,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1027,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1152,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:827,1
    - Dst: g_print
      Src: /src/glib/gio/glib-compile-resources.c:886,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:927,1
    - Dst: escape_makefile_string
      Src: /src/glib/gio/glib-compile-resources.c:1025,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:1113,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_free
      Src: /src/glib/gio/glib-compile-resources.c:1326,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:909,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:860,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-resources.c:926,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:970,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:1267,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/glib-compile-resources.c:857,1
    - Dst: extension_in_set
      Src: /src/glib/gio/glib-compile-resources.c:956,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:938,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:951,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:1175,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1186,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1327,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/glib-compile-resources.c:1172,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1225,1
    - Dst: textdomain
      Src: /src/glib/gio/glib-compile-resources.c:843,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:833,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:938,1
    - Dst: g_string_append
      Src: /src/glib/gio/glib-compile-resources.c:1016,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: fopen
      Src: /src/glib/gio/glib-compile-resources.c:1182,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:1236,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1323,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:857,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/glib-compile-resources.c:875,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-resources.c:931,1
    - Dst: extension_in_set
      Src: /src/glib/gio/glib-compile-resources.c:960,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_string_new
      Src: /src/glib/gio/glib-compile-resources.c:1095,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1207,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1244,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1324,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glib-compile-resources.c:964,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:828,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: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:917,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:950,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:892,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glib-compile-resources.c:933,1
    - Dst: escape_makefile_string
      Src: /src/glib/gio/glib-compile-resources.c:1003,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/glib-compile-resources.c:1026,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1329,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glib-compile-resources.c:949,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:823,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/glib-compile-resources.c:863,1
    - Dst: get_compiler_id
      Src: /src/glib/gio/glib-compile-resources.c:900,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: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1005,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: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1177,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1320,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-resources.c:1332,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glib-compile-resources.c:946,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:913,1
    - Dst: extension_in_set
      Src: /src/glib/gio/glib-compile-resources.c:958,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:927,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:832,1
    - Dst: setlocale
      Src: /src/glib/gio/glib-compile-resources.c:842,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-resources.c:1041,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1042,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1136,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1288,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/glib-compile-resources.c:1104,1
    - Dst: fclose
      Src: /src/glib/gio/glib-compile-resources.c:1162,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 314
    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:
    - _glib_get_locale_dir
    - g_string_append
    - _
    - g_option_context_set_summary
    - g_path_get_basename
    - parse_resource_file
    - g_hash_table_unref
    - write_to_file
    - g_win32_get_command_line
    - g_string_append_c
    - g_hash_table_iter_next
    - g_path_get_dirname
    - get_compiler_id
    - g_strfreev
    - strlen
    - g_option_context_free
    - g_file_open_tmp
    - close
    - fclose
    - g_strconcat
    - g_string_free
    - g_print
    - strchr
    - textdomain
    - g_option_context_new
    - g_file_set_contents
    - g_hash_table_destroy
    - g_find_program_in_path
    - g_error_free
    - g_fprintf
    - g_build_filename
    - g_hash_table_iter_init
    - g_str_has_suffix
    - g_string_printf
    - g_unlink
    - bind_textdomain_codeset
    - g_hash_table_new_full
    - g_strv_length
    - N_
    - g_printerr
    - setlocale
    - g_strdup
    - g_string_new
    - g_str_equal
    - g_free
    - g_option_context_parse
    - g_string_append_printf
    - g_option_context_add_main_entries
    - extension_in_set
    - g_option_context_set_translation_domain
    - g_getenv
    - bindtextdomain
    - fopen
    - g_option_context_parse_strv
    - g_file_get_contents
    - escape_makefile_string
    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: 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:701,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/glib-compile-resources.c:697,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: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: 1
    argNames:
    - string
    argTypes:
    - char*
    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:
    - strlen
    - g_string_sized_new
    - g_string_append_c
    - g_string_free
    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: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:756,1
    - Dst: strrchr
      Src: /src/glib/gio/glib-compile-resources.c:771,1
    - Dst: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:758,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glib-compile-resources.c:770,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_free
    - g_path_get_basename
    - strrchr
    - g_strcmp0
    - g_getenv
    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_object_run_dispose
      Src: /src/glib/gio/gunionvolumemonitor.c:92,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gunionvolumemonitor.c:92,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:86,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_OBJECT
    - G_OBJECT_CLASS
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - g_object_run_dispose
    - G_UNION_VOLUME_MONITOR
    linkageType: ''
    returnType: void
    signature: 'static void g_union_volume_monitor_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:186,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:190,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
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - volume_monitor
    - uuid
    argTypes:
    - GVolumeMonitor*
    - char*
    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_volume_monitor_get_volume_for_uuid
    - g_rec_mutex_unlock
    - G_UNION_VOLUME_MONITOR
    - g_rec_mutex_lock
    linkageType: ''
    returnType: GVolume*
    signature: 'static GVolume *get_volume_for_uuid (GVolumeMonitor *volume_monitor,
      const char *uuid) '
  - 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: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: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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once
      Src: /src/glib/gio/gunionvolumemonitor.c:444,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gunionvolumemonitor.c:447,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gunionvolumemonitor.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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:
    - GUINT_TO_POINTER
    - g_type_class_ref
    - g_once
    linkageType: ''
    returnType: GNativeVolumeMonitorClass*
    signature: 'static GNativeVolumeMonitorClass *get_native_class (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_native_class
      Src: /src/glib/gio/gunionvolumemonitor.c:467,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunionvolumemonitor.c:471,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunionvolumemonitor.c:473,1
    - Dst: g_union_volume_monitor_add_monitor
      Src: /src/glib/gio/gunionvolumemonitor.c:472,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gunionvolumemonitor.c:471,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_unref
      Src: /src/glib/gio/gunionvolumemonitor.c:487,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunionvolumemonitor.c:485,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:
    - get_native_class
    - g_object_new
    - g_union_volume_monitor_add_monitor
    - G_TYPE_FROM_CLASS
    - G_VOLUME_MONITOR_CLASS
    - g_object_unref
    - g_type_class_unref
    - g_io_extension_ref_class
    - g_io_extension_point_lookup
    - g_io_extension_get_type
    - g_io_extension_point_get_extensions
    linkageType: ''
    returnType: void
    signature: 'static void populate_union_monitor (GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:108,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
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    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_volume_monitor_get_mounts
    - g_list_concat
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - G_UNION_VOLUME_MONITOR
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_mounts (GVolumeMonitor *volume_monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:215,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:231,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
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - volume_monitor
    - uuid
    argTypes:
    - GVolumeMonitor*
    - char*
    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_unlock
    - g_volume_monitor_get_mount_for_uuid
    - G_UNION_VOLUME_MONITOR
    - g_rec_mutex_lock
    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: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: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: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: []
    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_object_new
      Src: /src/glib/gio/gunionvolumemonitor.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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: 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_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:519,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:524,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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_object_ref
    - G_VOLUME_MONITOR
    - g_rec_mutex_lock
    - populate_union_monitor
    - g_rec_mutex_unlock
    - g_union_volume_monitor_new
    linkageType: ''
    returnType: GVolumeMonitor*
    signature: 'GVolumeMonitor *g_volume_monitor_get (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: 2
    argNames:
    - mount_path
    - cancellable
    argTypes:
    - gchar*
    - GCancellable*
    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:
    - get_native_class
    - g_type_class_unref
    linkageType: ''
    returnType: GMount*
    signature: "GMount *_g_mount_get_for_mount_path (const gchar *mount_path,\t\t\t
      GCancellable *cancellable) "
  - 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: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    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_volume_monitor_get_volumes
    - g_list_concat
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - G_UNION_VOLUME_MONITOR
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_volumes (GVolumeMonitor *volume_monitor) '
  - 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: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: 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: 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:411,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: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:421,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:419,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:418,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_list_find
    - g_signal_handlers_disconnect_by_func
    linkageType: ''
    returnType: void
    signature: 'static void g_union_volume_monitor_remove_monitor (GUnionVolumeMonitor
      *union_monitor, GVolumeMonitor *child_monitor) '
  - 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_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:618,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:633,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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_return_val_if_fail
    - g_rec_mutex_unlock
    - G_VOLUME_MONITOR_GET_CLASS
    - g_rec_mutex_lock
    linkageType: ''
    returnType: GVolume*
    signature: 'GVolume *g_volume_monitor_adopt_orphan_mount (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:64,1
    - Dst: g_union_volume_monitor_remove_monitor
      Src: /src/glib/gio/gunionvolumemonitor.c:69,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunionvolumemonitor.c:74,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunionvolumemonitor.c:71,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_object_unref
    - G_OBJECT_CLASS
    - g_union_volume_monitor_remove_monitor
    - G_UNION_VOLUME_MONITOR
    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:160,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:164,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:173,1
    - Dst: g_volume_monitor_get_connected_drives
      Src: /src/glib/gio/gunionvolumemonitor.c:170,1
    - Dst: g_list_concat
      Src: /src/glib/gio/gunionvolumemonitor.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    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_volume_monitor_get_connected_drives
    - g_list_concat
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - G_UNION_VOLUME_MONITOR
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_connected_drives (GVolumeMonitor *volume_monitor) '
  - 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: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_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_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_STRUCT_OFFSET
    - _g_io_module_get_default_type
    linkageType: ''
    returnType: GType
    signature: 'static GType get_default_native_class (gpointer data) '
  - 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:385,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:384,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:391,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:395,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:392,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:393,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_prepend
    - g_list_find
    linkageType: ''
    returnType: void
    signature: 'static void g_union_volume_monitor_add_monitor (GUnionVolumeMonitor
      *union_monitor, GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimplePermission*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    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:80,1
    - Dst: g_permission_impl_update
      Src: /src/glib/gio/gsimplepermission.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: g_simple_permission_new
    functionSourceFile: /src/glib/gio/gsimplepermission.c
    functionUses: []
    functionsReached:
    - g_permission_impl_update
    - g_object_new
    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: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    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:56,1
    - Dst: CancelIo
      Src: /src/glib/gio/gasynchelper.c:72,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gasynchelper.c:73,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gasynchelper.c:65,1
    - Dst: g_poll
      Src: /src/glib/gio/gasynchelper.c:60,1
    - Dst: GetOverlappedResult
      Src: /src/glib/gio/gasynchelper.c:76,1
    - Dst: GetLastError
      Src: /src/glib/gio/gasynchelper.c:78,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gasynchelper.c:79,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gasynchelper.c:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - hfile
    - overlap
    - transferred
    - cancellable
    argTypes:
    - HANDLE
    - OVERLAPPED*
    - DWORD*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: _g_win32_overlap_wait_result
    functionSourceFile: /src/glib/gio/gasynchelper.c
    functionUses: []
    functionsReached:
    - CancelIo
    - GetOverlappedResult
    - g_cancellable_make_pollfd
    - g_warn_if_fail
    - g_cancellable_is_cancelled
    - GetLastError
    - g_cancellable_release_fd
    - g_poll
    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:201,1
    - Dst: g_action_get_state_type
      Src: /src/glib/gio/gaction.c:203,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gaction.c:204,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gaction.c:202,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:201,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gaction.c:205,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gaction.c:205,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gaction.c:207,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:209,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gaction.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - action
    - value
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 213
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 213
    functionName: g_action_change_state
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - G_IS_ACTION
    - g_return_if_fail
    - g_variant_ref_sink
    - G_ACTION_GET_IFACE
    - g_variant_is_of_type
    - 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:254,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:254,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    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:310,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:310,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:368,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:370,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/glib/gio/gaction.c:500,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gaction.c:514,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gaction.c:514,1
    - Dst: strlen
      Src: /src/glib/gio/gaction.c:502,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gaction.c:522,1
    - Dst: g_strndup
      Src: /src/glib/gio/gaction.c:533,1
    - Dst: g_set_error
      Src: /src/glib/gio/gaction.c:541,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gaction.c:544,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: 548
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 548
    functionName: g_action_parse_detailed_name
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - strlen
    - g_set_error
    - g_variant_new_string
    - g_strndup
    - g_variant_ref_sink
    - g_prefix_error
    - g_variant_parse
    - strcspn
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_action_parse_detailed_name (const gchar *detailed_name,
      gchar **action_name, GVariant **target_value, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:574,1
    - Dst: g_strdup
      Src: /src/glib/gio/gaction.c:577,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gaction.c:581,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/gaction.c:574,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gaction.c:579,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/gaction.c:583,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gaction.c:584,1
    - Dst: g_string_new
      Src: /src/glib/gio/gaction.c:588,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gaction.c:589,1
    - Dst: g_variant_print_string
      Src: /src/glib/gio/gaction.c:590,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gaction.c:591,1
    - Dst: g_string_free
      Src: /src/glib/gio/gaction.c:593,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - action_name
    - target_value
    argTypes:
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 595
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 595
    functionName: g_action_print_detailed_name
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_new
    - g_action_name_is_valid
    - g_string_append_c
    - g_string_free
    - g_strconcat
    - g_variant_print_string
    - g_variant_get_string
    - g_return_val_if_fail
    - g_variant_is_of_type
    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:101,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:103,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:120,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gaction.c:136,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:154,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gaction.c:168,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:138,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:170,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:104,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gaction.c:119,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:121,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gaction.c:167,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:155,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gaction.c:153,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gaction.c:102,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gaction.c:118,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gaction.c:137,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:139,1
    - Dst: P_
      Src: /src/glib/gio/gaction.c:169,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gaction.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionInterface*
    constantsTouched: []
    func_position:
      end: 175
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 175
    functionName: g_action_default_init
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_variant
    - g_object_interface_install_property
    - g_param_spec_string
    - g_param_spec_boxed
    - P_
    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:235,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:237,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    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:280,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:282,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    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:346,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:348,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 350
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gaction.c:393,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gaction.c:396,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:398,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:393,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gaction.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - action
    - parameter
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: g_action_activate
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - G_IS_ACTION
    - g_variant_ref_sink
    - G_ACTION_GET_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_action_activate (GAction *action, GVariant *parameter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:427,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gaction.c:430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - action_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: g_action_name_is_valid
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_ascii_isalnum
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_action_name_is_valid (const gchar *action_name) '
  - 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_OBJECT_CLASS
    - G_DBUS_AUTH_MECHANISM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_external_class_init (GDBusAuthMechanismExternalClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:325,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:327,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: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    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_return_val_if_fail
    - g_assert_not_reached
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_server_get_reject_reason (GDBusAuthMechanism
      *mechanism) '
  - 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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - mechanism
    - data
    - data_len
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    - gsize*
    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:248,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:247,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:247,1
    - Dst: data_matches_credentials
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:254,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
    - data_matches_credentials
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - _g_dbus_auth_mechanism_get_credentials
    - 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_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:343,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:342,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_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_shutdown (GDBusAuthMechanism *mechanism) '
  - 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:187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:186,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_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'static GDBusAuthMechanismState mechanism_server_get_state (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:355,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:356,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_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'static GDBusAuthMechanismState mechanism_client_get_state (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:366,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_debug
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:384,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:369,1
    - Dst: _g_dbus_auth_mechanism_get_credentials
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:394,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:395,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:397,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:397,1
    - Dst: _g_win32_current_process_sid_string
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:399,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:411,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:404,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - mechanism
    - conn_flags
    - out_initial_response_len
    argTypes:
    - GDBusAuthMechanism*
    - GDBusConnectionFlags
    - gsize*
    constantsTouched: []
    func_position:
      end: 414
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 414
    functionName: mechanism_client_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - strlen
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - _g_win32_current_process_sid_string
    - g_assert
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_debug
    - _g_dbus_auth_mechanism_get_credentials
    - g_strdup_printf
    - g_return_val_if_fail
    - g_credentials_get_unix_user
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_client_initiate (GDBusAuthMechanism *mechanism,
      GDBusConnectionFlags conn_flags, gsize *out_initial_response_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - mechanism
    - data
    - data_len
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    - gsize*
    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: 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_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:280,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:282,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:281,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
    - data_matches_credentials
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - _g_dbus_auth_mechanism_get_credentials
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_data_receive (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len) '
  - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:300,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:303,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:302,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:319,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - mechanism
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gsize*
    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_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    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:452,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:455,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:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: mechanism_client_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_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_dbus_auth_mechanism_get_credentials
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mechanism_is_supported (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:421,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
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:423,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 430
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 430
    functionName: mechanism_client_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_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: []
    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_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:436,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:439,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:440,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:438,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:438,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - mechanism
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gsize*
    constantsTouched: []
    func_position:
      end: 447
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 447
    functionName: mechanism_client_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_client_data_send (GDBusAuthMechanism *mechanism,
      gsize *out_data_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-list.c:56,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-list.c:64,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: 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_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_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: strcmp
      Src: /src/glib/gio/gio-tool-list.c:94,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
    - 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: strcmp
      Src: /src/glib/gio/gio-tool-list.c:97,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/gio-tool-list.c:62,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-list.c:70,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-list.c:93,1
    - Dst: file_type_to_string
      Src: /src/glib/gio/gio-tool-list.c:77,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-list.c:81,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-list.c:79,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-list.c:109,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-list.c:114,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-list.c:112,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_get_name
    - g_free
    - g_file_info_has_attribute
    - file_type_to_string
    - g_object_unref
    - g_file_info_get_file_type
    - strcmp
    - g_strfreev
    - g_print
    - g_file_info_get_display_name
    - g_file_info_get_is_hidden
    - g_file_info_list_attributes
    - g_file_get_child
    - g_file_info_get_attribute_as_string
    - g_file_info_get_size
    linkageType: ''
    returnType: void
    signature: 'static void show_file_listing (GFileInfo *info, GFile *parent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gio-tool-list.c:126,1
    - Dst: show_file_listing
      Src: /src/glib/gio/gio-tool-list.c:141,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-list.c:134,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gio-tool-list.c:139,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-list.c:133,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_clear_error
      Src: /src/glib/gio/gio-tool-list.c:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 160
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 160
    functionName: list
    functionSourceFile: /src/glib/gio/gio-tool-list.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_next_file
    - g_file_enumerate_children
    - g_error_free
    - g_object_unref
    - g_clear_error
    - g_file_enumerator_close
    - show_file_listing
    - print_file_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean list (GFile *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gio-tool-list.c:175,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-list.c:198,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gio-tool-list.c:208,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-list.c:203,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-list.c:222,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gio-tool-list.c:229,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gio-tool-list.c:230,1
    - Dst: list
      Src: /src/glib/gio/gio-tool-list.c:231,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-list.c:175,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-list.c:177,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-list.c:182,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-list.c:190,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-list.c:199,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-list.c:232,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-list.c:176,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-list.c:179,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-list.c:181,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-list.c:191,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-list.c:195,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-list.c:186,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-list.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-list.c:233,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-list.c:172,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-list.c:178,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-list.c:180,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-list.c:197,1
    - Dst: list
      Src: /src/glib/gio/gio-tool-list.c:221,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-list.c:236,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 239
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 239
    functionName: handle_list
    functionSourceFile: /src/glib/gio/gio-tool-list.c
    functionUses: []
    functionsReached:
    - _
    - g_option_context_set_summary
    - g_get_current_dir
    - show_help
    - g_file_new_for_commandline_arg
    - g_option_context_free
    - g_option_context_set_description
    - g_object_unref
    - g_strconcat
    - list
    - g_option_context_new
    - g_file_new_for_path
    - g_error_free
    - g_strdup_printf
    - g_option_context_set_help_enabled
    - g_free
    - g_set_prgname
    - g_option_context_parse
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: int
    signature: 'int handle_list (int argc, char *argv[], gboolean do_help) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_point_get_device_path
      Src: /src/glib/gio/gunixvolume.c:114,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixvolume.c:134,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:137,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_unix_mount_point_guess_symbolic_icon
      Src: /src/glib/gio/gunixvolume.c:126,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_path_is_absolute
      Src: /src/glib/gio/gunixvolume.c:144,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixvolume.c:119,1
    - Dst: g_unix_mount_point_guess_can_eject
      Src: /src/glib/gio/gunixvolume.c:122,1
    - Dst: g_unix_mount_point_get_fs_type
      Src: /src/glib/gio/gunixvolume.c:129,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:131,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:141,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_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_strdup
      Src: /src/glib/gio/gunixvolume.c:132,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixvolume.c:129,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:147,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 2
    argNames:
    - volume_monitor
    - mountpoint
    argTypes:
    - GVolumeMonitor*
    - GUnixMountPoint*
    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_guess_symbolic_icon
    - g_object_ref
    - g_unix_mount_point_is_user_mountable
    - g_object_new
    - g_unix_mount_point_guess_icon
    - g_unix_mount_point_get_device_path
    - g_unix_mount_point_guess_name
    - g_unix_mount_point_get_mount_path
    - g_str_has_prefix
    - g_unix_mount_point_is_loopback
    - g_unix_mount_point_get_fs_type
    - strcmp
    - g_path_is_absolute
    - g_unix_mount_point_guess_can_eject
    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: 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_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: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    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_object_ref
    - G_MOUNT
    - G_UNIX_VOLUME
    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:
    - eject_mount_do
    - G_UNIX_VOLUME
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_eject (GVolume *volume, GMountUnmountFlags
      flags, 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:84,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolume.c:78,1
    - Dst: _g_unix_mount_unset_volume
      Src: /src/glib/gio/gunixvolume.c:81,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolume.c:83,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_free
    - G_UNIX_VOLUME
    - g_object_unref
    - _g_unix_mount_unset_volume
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_finalize (GObject *object) '
  - 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_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/gunixvolume.c:274,1
    - Dst: g_subprocess_get_successful
      Src: /src/glib/gio/gunixvolume.c:287,1
    - Dst: g_subprocess_communicate_utf8_finish
      Src: /src/glib/gio/gunixvolume.c:280,1
    - Dst: g_error_free
      Src: /src/glib/gio/gunixvolume.c:283,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gunixvolume.c:282,1
    - Dst: g_task_return_new_error
      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_object_unref
      Src: /src/glib/gio/gunixvolume.c:301,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
    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_UNIX_VOLUME_MONITOR
    - g_task_get_source_object
    - g_free
    - G_UNIX_VOLUME
    - g_error_free
    - g_object_unref
    - G_SUBPROCESS
    - g_subprocess_communicate_utf8_finish
    - _g_unix_volume_monitor_update
    - g_task_return_boolean
    - g_task_return_error
    - g_task_return_new_error
    - g_subprocess_get_successful
    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: strcmp
      Src: /src/glib/gio/gunixvolume.c:395,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - volume
    - kind
    argTypes:
    - GVolume*
    - gchar*
    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:
    - g_strdup
    - strcmp
    - G_UNIX_VOLUME
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_unix_volume_get_identifier (GVolume *volume, const
      gchar *kind) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gunixvolume.c:316,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolume.c:322,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gunixvolume.c:320,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gunixvolume.c:317,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gunixvolume.c:318,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_assert_no_error
    - g_object_unref
    - g_task_new
    - g_task_set_source_tag
    - g_task_return_error_if_cancelled
    - g_subprocess_newv
    - g_task_set_name
    - g_subprocess_communicate_utf8_async
    - g_task_get_cancellable
    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:409,1
    - Dst: g_new
      Src: /src/glib/gio/gunixvolume.c:415,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    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_new
    - G_UNIX_VOLUME
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_unix_volume_enumerate_identifiers (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:198,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixvolume.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    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_object_ref
    - G_UNIX_VOLUME
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_unix_volume_get_icon (GVolume *volume) '
  - 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: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    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: 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: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:
    - eject_mount_do
    - G_UNIX_VOLUME
    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: 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:
    - 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: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    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_object_ref
    - G_UNIX_VOLUME
    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: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    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: g_return_val_if_fail
      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
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gunixvolume.c:358,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_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_volume_mount_finish (GVolume *volume, GAsyncResult
      *result, GError **error) '
  - 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: g_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/gmemorymonitorportal.c:91,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gmemorymonitorportal.c:102,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gmemorymonitorportal.c:85,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_dbus_proxy_get_name_owner
    - g_signal_connect
    - g_free
    - glib_should_use_portal
    - G_MEMORY_MONITOR_PORTAL
    - g_object_unref
    - G_CALLBACK
    - g_dbus_proxy_new_for_bus_sync
    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_signal_handler
    - g_clear_object
    - 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_variant_get
      Src: /src/glib/gio/gmemorymonitorportal.c:72,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gmemorymonitorportal.c:73,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
    - g_variant_get
    - strcmp
    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:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    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:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GUnixFDListClass*
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    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:198,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixfdlist.c:208,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixfdlist.c:203,1
    - Dst: g_new
      Src: /src/glib/gio/gunixfdlist.c:204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - fds
    - n_fds
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 212
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 212
    functionName: g_unix_fd_list_new_from_array
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_object_new
    - g_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:299,1
    - Dst: g_new
      Src: /src/glib/gio/gunixfdlist.c:304,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - list
    - length
    argTypes:
    - GUnixFDList*
    - gint*
    constantsTouched: []
    func_position:
      end: 313
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 313
    functionName: g_unix_fd_list_peek_fds
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_UNIX_FD_LIST
    - g_new
    linkageType: ''
    returnType: gint*
    signature: 'const gint *g_unix_fd_list_peek_fds (GUnixFDList *list, gint *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:390,1
    - Dst: dup_close_on_exec_fd
      Src: /src/glib/gio/gunixfdlist.c:394,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:390,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:391,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - list
    - index_
    - error
    argTypes:
    - GUnixFDList*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: g_unix_fd_list_get
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - dup_close_on_exec_fd
    - g_return_val_if_fail
    - G_IS_UNIX_FD_LIST
    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:107,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixfdlist.c:125,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixfdlist.c:126,1
    - Dst: dup
      Src: /src/glib/gio/gunixfdlist.c:117,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixfdlist.c:124,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gunixfdlist.c:132,1
    - Dst: fcntl
      Src: /src/glib/gio/gunixfdlist.c:136,1
    - Dst: fcntl
      Src: /src/glib/gio/gunixfdlist.c:139,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixfdlist.c:147,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixfdlist.c:149,1
    - Dst: g_close
      Src: /src/glib/gio/gunixfdlist.c:150,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixfdlist.c:148,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - fd
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 157
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 157
    functionName: dup_close_on_exec_fd
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_close
    - dup
    - g_strerror
    - GLIB_PRIVATE_CALL
    - fcntl
    - g_io_error_from_errno
    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:77,1
    - Dst: g_free
      Src: /src/glib/gio/gunixfdlist.c:82,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixfdlist.c:84,1
    - Dst: g_close
      Src: /src/glib/gio/gunixfdlist.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: g_unix_fd_list_finalize
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - G_UNIX_FD_LIST
    - g_close
    - g_free
    - G_OBJECT_CLASS
    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:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    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:250,1
    - Dst: g_new
      Src: /src/glib/gio/gunixfdlist.c:255,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - list
    - length
    argTypes:
    - GUnixFDList*
    - gint*
    constantsTouched: []
    func_position:
      end: 268
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 268
    functionName: g_unix_fd_list_steal_fds
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_UNIX_FD_LIST
    - g_new
    linkageType: ''
    returnType: gint*
    signature: 'gint *g_unix_fd_list_steal_fds (GUnixFDList *list, gint *length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:346,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:346,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:347,1
    - Dst: dup_close_on_exec_fd
      Src: /src/glib/gio/gunixfdlist.c:350,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:348,1
    - Dst: g_realloc
      Src: /src/glib/gio/gunixfdlist.c:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - list
    - fd
    - error
    argTypes:
    - GUnixFDList*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 360
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 360
    functionName: g_unix_fd_list_append
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - dup_close_on_exec_fd
    - g_realloc
    - g_return_val_if_fail
    - G_IS_UNIX_FD_LIST
    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:411,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: g_unix_fd_list_get_length
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_UNIX_FD_LIST
    linkageType: ''
    returnType: gint
    signature: 'gint g_unix_fd_list_get_length (GUnixFDList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_service_get_instance_private
      Src: /src/glib/gio/gsocketservice.c:104,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gsocketservice.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_accept_async
      Src: /src/glib/gio/gsocketservice.c:123,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketservice.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketservice.c:148,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketservice.c:165,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketservice.c:169,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketservice.c:158,1
    - Dst: do_accept
      Src: /src/glib/gio/gsocketservice.c:160,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketservice.c:172,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketservice.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - service
    - active
    argTypes:
    - GSocketService*
    - gboolean
    constantsTouched: []
    func_position:
      end: 173
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 173
    functionName: set_active
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_LOCK
    - G_UNLOCK
    - g_cancellable_cancel
    - g_object_notify
    - do_accept
    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:200,1
    - Dst: set_active
      Src: /src/glib/gio/gsocketservice.c:205,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketservice.c:208,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocketservice.c:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: g_socket_service_set_property
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - set_active
    - 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:247,1
    - Dst: G_IS_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:247,1
    - Dst: get_active
      Src: /src/glib/gio/gsocketservice.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    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:299,1
    - Dst: G_IS_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:299,1
    - Dst: set_active
      Src: /src/glib/gio/gsocketservice.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 302
    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:319,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsocketservice.c:348,1
    - Dst: G_SOCKET_LISTENER_CLASS
      Src: /src/glib/gio/gsocketservice.c:320,1
    - Dst: I_
      Src: /src/glib/gio/gsocketservice.c:348,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketservice.c:348,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocketservice.c:349,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsocketservice.c:354,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketservice.c:355,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketservice.c:365,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocketservice.c:366,1
    - Dst: P_
      Src: /src/glib/gio/gsocketservice.c:367,1
    - Dst: P_
      Src: /src/glib/gio/gsocketservice.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSocketServiceClass*
    constantsTouched: []
    func_position:
      end: 371
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 371
    functionName: g_socket_service_class_init
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_SOCKET_LISTENER_CLASS
    - I_
    - G_TYPE_FROM_CLASS
    - g_param_spec_boolean
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_service_class_init (GSocketServiceClass *class) '
  - 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: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    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_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:112,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketservice.c:114,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketservice.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: g_socket_service_finalize
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_OBJECT_CLASS
    - G_SOCKET_SERVICE
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_service_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketservice.c:134,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketservice.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:181,1
    - Dst: get_active
      Src: /src/glib/gio/gsocketservice.c:186,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocketservice.c:186,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketservice.c:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: g_socket_service_get_property
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - get_active
    - G_SOCKET_SERVICE
    - g_value_set_boolean
    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:216,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketservice.c:228,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketservice.c:223,1
    - Dst: do_accept
      Src: /src/glib/gio/gsocketservice.c:225,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketservice.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - listener
    argTypes:
    - GSocketListener*
    constantsTouched: []
    func_position:
      end: 229
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 229
    functionName: g_socket_service_changed
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - G_UNLOCK
    - g_cancellable_cancel
    - G_SOCKET_SERVICE
    - do_accept
    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:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - service
    - connection
    - source_object
    argTypes:
    - GSocketService*
    - GSocketConnection*
    - GObject*
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 314
    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:378,1
    - Dst: g_socket_listener_accept_finish
      Src: /src/glib/gio/gsocketservice.c:384,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gsocketservice.c:387,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:379,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocketservice.c:388,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocketservice.c:389,1
    - Dst: g_socket_service_incoming
      Src: /src/glib/gio/gsocketservice.c:393,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketservice.c:394,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketservice.c:397,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/gsocketservice.c:399,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketservice.c:406,1
    - Dst: do_accept
      Src: /src/glib/gio/gsocketservice.c:404,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 407
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 407
    functionName: g_socket_service_ready
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - G_LOCK
    - do_accept
    - g_error_matches
    - g_error_free
    - g_object_unref
    - G_UNLOCK
    - g_warning
    - G_SOCKET_SERVICE
    - g_cancellable_reset
    - g_socket_service_incoming
    - g_socket_listener_accept_finish
    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:269,1
    - Dst: set_active
      Src: /src/glib/gio/gsocketservice.c:271,1
    - Dst: G_IS_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    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_object_new
      Src: /src/glib/gio/gsocketservice.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    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:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:244,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:244,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsclientconnection.c:246,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - GTlsClientConnection*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: g_tls_client_connection_set_validation_flags
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - 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:217,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:217,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:219,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsclientconnection.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsClientConnection*
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: g_tls_client_connection_get_validation_flags
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - G_IS_TLS_CLIENT_CONNECTION
    - g_object_get
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_tls_client_connection_get_validation_flags
      (GTlsClientConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:313,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsclientconnection.c:315,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:315,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsClientConnection*
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: g_tls_client_connection_get_use_ssl3
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - G_IS_TLS_CLIENT_CONNECTION
    - g_object_get
    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:343,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:343,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsclientconnection.c:345,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - use_ssl3
    argTypes:
    - GTlsClientConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 346
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 346
    functionName: g_tls_client_connection_set_use_ssl3
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsclientconnection.c:79,1
    - Dst: P_
      Src: /src/glib/gio/gtlsclientconnection.c:81,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gtlsclientconnection.c:80,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsclientconnection.c:110,1
    - Dst: P_
      Src: /src/glib/gio/gtlsclientconnection.c:82,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsclientconnection.c:111,1
    - Dst: P_
      Src: /src/glib/gio/gtlsclientconnection.c:112,1
    - Dst: P_
      Src: /src/glib/gio/gtlsclientconnection.c:113,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsclientconnection.c:129,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtlsclientconnection.c:130,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsclientconnection.c:152,1
    - Dst: P_
      Src: /src/glib/gio/gtlsclientconnection.c:155,1
    - Dst: P_
      Src: /src/glib/gio/gtlsclientconnection.c:131,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gtlsclientconnection.c:153,1
    - Dst: P_
      Src: /src/glib/gio/gtlsclientconnection.c:132,1
    - Dst: P_
      Src: /src/glib/gio/gtlsclientconnection.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsClientConnectionInterface*
    constantsTouched: []
    func_position:
      end: 158
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 158
    functionName: g_tls_client_connection_default_init
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_param_spec_boolean
    - g_object_interface_install_property
    - g_param_spec_pointer
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_client_connection_default_init (GTlsClientConnectionInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:266,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsclientconnection.c:270,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:266,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsclientconnection.c:268,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsClientConnection*
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: g_tls_client_connection_get_server_identity
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_TLS_CLIENT_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GSocketConnectable*
    signature: 'GSocketConnectable *g_tls_client_connection_get_server_identity (GTlsClientConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gtlsclientconnection.c:187,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gtlsclientconnection.c:193,1
    - Dst: g_tls_backend_get_client_connection_type
      Src: /src/glib/gio/gtlsclientconnection.c:188,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlsclientconnection.c:188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - base_io_stream
    - server_identity
    - error
    argTypes:
    - GIOStream*
    - GSocketConnectable*
    - GError**
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 194
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:290,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:292,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:290,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsclientconnection.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - identity
    argTypes:
    - GTlsClientConnection*
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: g_tls_client_connection_set_server_identity
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set
    - 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:371,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:371,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsclientconnection.c:373,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsClientConnection*
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: g_tls_client_connection_get_accepted_cas
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - G_IS_TLS_CLIENT_CONNECTION
    - g_object_get
    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:417,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:417,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:418,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:418,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:419,1
    - Dst: G_TLS_CLIENT_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gtlsclientconnection.c:419,1
    - Dst: G_TLS_CLIENT_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gtlsclientconnection.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - source
    argTypes:
    - GTlsClientConnection*
    - GTlsClientConnection*
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 423
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:222,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusserver.c:231,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusserver.c:235,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusserver.c:227,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusserver.c:239,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusserver.c:243,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusserver.c:247,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusserver.c:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 254
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 254
    functionName: g_dbus_server_get_property
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_value_set_flags
    - g_value_set_string
    - G_DBUS_SERVER
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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_install_property
      Src: /src/glib/gio/gdbusserver.c:305,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusserver.c:307,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:332,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:348,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusserver.c:350,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:372,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusserver.c:452,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:308,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:351,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:352,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:389,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:407,1
    - Dst: I_
      Src: /src/glib/gio/gdbusserver.c:449,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusserver.c:459,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusserver.c:291,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:331,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:371,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusserver.c:449,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusserver.c:460,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:408,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:309,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:328,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusserver.c:330,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:368,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusserver.c:370,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdbusserver.c:388,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:386,1
    - Dst: P_
      Src: /src/glib/gio/gdbusserver.c:390,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:404,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusserver.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusServerClass*
    constantsTouched: []
    func_position:
      end: 462
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 462
    functionName: g_dbus_server_class_init
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - I_
    - G_TYPE_FROM_CLASS
    - g_param_spec_boolean
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_server_class_init (GDBusServerClass *klass) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:708,1
    - Dst: random_ascii
      Src: /src/glib/gio/gdbusserver.c:725,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/gdbusserver.c:727,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusserver.c:728,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:757,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusserver.c:754,1
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gdbusserver.c:791,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusserver.c:801,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:810,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/gdbusserver.c:713,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:709,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusserver.c:722,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusserver.c:725,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/gdbusserver.c:731,1
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gdbusserver.c:794,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusserver.c:802,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:812,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:706,1
    - Dst: g_unix_socket_address_abstract_names_supported
      Src: /src/glib/gio/gdbusserver.c:752,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusserver.c:766,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/gdbusserver.c:769,1
    - Dst: g_unix_socket_address_get_path
      Src: /src/glib/gio/gdbusserver.c:791,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/gdbusserver.c:792,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusserver.c:797,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusserver.c:806,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:707,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusserver.c:723,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gdbusserver.c:760,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusserver.c:741,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusserver.c:744,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/gdbusserver.c:794,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: 815
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 815
    functionName: try_unix
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_string_append
    - _
    - g_unix_socket_address_new_with_type
    - g_string_append_c
    - g_dbus_address_escape_value
    - random_ascii
    - g_propagate_error
    - G_UNIX_SOCKET_ADDRESS
    - g_unix_socket_address_get_address_type
    - g_assert_not_reached
    - g_object_unref
    - g_unix_socket_address_abstract_names_supported
    - g_string_free
    - g_set_error_literal
    - g_unix_socket_address_get_path
    - g_error_free
    - g_strdup_printf
    - g_unix_socket_address_new
    - g_socket_listener_add_address
    - g_string_new
    - g_strdup
    - g_free
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean try_unix (GDBusServer *server, const gchar *address_entry,
      GHashTable *key_value_pairs, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:262,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusserver.c:267,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusserver.c:271,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusserver.c:279,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusserver.c:275,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusserver.c:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 286
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 286
    functionName: g_dbus_server_set_property
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - G_DBUS_SERVER
    - g_value_dup_object
    - g_value_get_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    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: 1187
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1187
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/gio/gdbusserver.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 687
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 687
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusserver.c:622,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:622,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gdbusserver.c:627,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gdbusserver.c:627,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:626,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusserver.c:629,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusserver.c:630,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/gdbusserver.c:633,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gdbusserver.c:633,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusserver.c:635,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusserver.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 636
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 636
    functionName: g_dbus_server_start
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_signal_connect_data
    - g_assert
    - g_socket_service_start
    - G_IS_DBUS_SERVER
    - G_CALLBACK
    - g_object_notify
    - G_SOCKET_SERVICE
    - g_return_if_fail
    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:842,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/gdbusserver.c:870,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gdbusserver.c:888,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:883,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusserver.c:903,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdbusserver.c:930,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/gdbusserver.c:942,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:948,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusserver.c:952,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:844,1
    - Dst: g_resolver_lookup_by_name
      Src: /src/glib/gio/gdbusserver.c:860,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gdbusserver.c:874,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/gdbusserver.c:906,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/gdbusserver.c:875,1
    - Dst: g_socket_listener_close
      Src: /src/glib/gio/gdbusserver.c:911,1
    - Dst: write
      Src: /src/glib/gio/gdbusserver.c:922,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:931,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/gdbusserver.c:941,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusserver.c:846,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:849,1
    - Dst: strtol
      Src: /src/glib/gio/gdbusserver.c:857,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gdbusserver.c:859,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gdbusserver.c:888,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:890,1
    - Dst: g_close
      Src: /src/glib/gio/gdbusserver.c:939,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusserver.c:943,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdbusserver.c:958,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:841,1
    - Dst: g_random_int_range
      Src: /src/glib/gio/gdbusserver.c:905,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:891,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusserver.c:928,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusserver.c:933,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:947,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:960,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: 962
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 962
    functionName: try_tcp
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_close
    - _
    - g_random_int_range
    - g_inet_socket_address_new
    - g_dbus_address_escape_value
    - g_list_free_full
    - g_io_error_from_errno
    - G_INET_SOCKET_ADDRESS
    - strtol
    - g_file_open_tmp
    - g_strerror
    - g_resolver_get_default
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_set_error_literal
    - G_INET_ADDRESS
    - g_strdup_printf
    - write
    - g_set_error
    - g_socket_listener_add_address
    - g_free
    - g_new0
    - g_resolver_lookup_by_name
    - g_socket_listener_close
    - g_hash_table_lookup
    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:556,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    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:590,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 592
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusserver.c:1016,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusserver.c:1067,1
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:1007,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusserver.c:1069,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusserver.c:1077,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusserver.c:1072,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusserver.c:1073,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusserver.c:1071,1
    - Dst: memcmp
      Src: /src/glib/gio/gdbusserver.c:1027,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gdbusserver.c:1016,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gdbusserver.c:1039,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusserver.c:1053,1
    - Dst: g_dbus_connection_start_message_processing
      Src: /src/glib/gio/gdbusserver.c:1059,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusserver.c:1068,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gdbusserver.c:1016,1
    - Dst: g_dbus_connection_new_sync
      Src: /src/glib/gio/gdbusserver.c:1039,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:1060,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusserver.c:1078,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusserver.c:1079,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: 1084
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1084
    functionName: on_run
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - G_IO_STREAM
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    - G_DBUS_SERVER
    - g_dbus_connection_start_message_processing
    - g_object_unref
    - g_source_set_priority
    - g_dbus_connection_new_sync
    - g_input_stream_read_all
    - g_signal_emit
    - g_source_unref
    - g_idle_source_new
    - memcmp
    - g_source_attach
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_run (GSocketService *service, GSocketConnection
      *socket_connection, GObject *source_object, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:975,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:976,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitIdleData*
    constantsTouched: []
    func_position:
      end: 978
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 978
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusserver.c:987,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:995,1
    - Dst: g_dbus_connection_start_message_processing
      Src: /src/glib/gio/gdbusserver.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 998
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 998
    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:1111,1
    - Dst: _g_dbus_address_parse_entry
      Src: /src/glib/gio/gdbusserver.c:1125,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusserver.c:1138,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:1147,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:1144,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:1153,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusserver.c:1168,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/gdbusserver.c:1101,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusserver.c:1113,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusserver.c:1134,1
    - Dst: try_unix
      Src: /src/glib/gio/gdbusserver.c:1135,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusserver.c:1136,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusserver.c:1141,1
    - Dst: try_tcp
      Src: /src/glib/gio/gdbusserver.c:1139,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusserver.c:1172,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:1176,1
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:1091,1
    - Dst: g_threaded_socket_service_new
      Src: /src/glib/gio/gdbusserver.c:1111,1
    - Dst: g_dbus_is_supported_address
      Src: /src/glib/gio/gdbusserver.c:1123,1
    - Dst: try_tcp
      Src: /src/glib/gio/gdbusserver.c:1137,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusserver.c:1161,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:1106,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusserver.c:1103,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusserver.c:1149,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusserver.c:1177,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1180
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1180
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - _
    - g_hash_table_unref
    - G_DBUS_SERVER
    - g_clear_error
    - g_strfreev
    - g_propagate_error
    - try_unix
    - g_strcmp0
    - g_strsplit
    - G_SOCKET_LISTENER
    - try_tcp
    - _g_dbus_address_parse_entry
    - g_error_free
    - g_dbus_is_guid
    - g_threaded_socket_service_new
    - g_dbus_is_supported_address
    - g_set_error
    - g_free
    - g_assert
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initable_init (GInitable *initable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusserver.c:649,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gdbusserver.c:655,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:654,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:649,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:653,1
    - Dst: g_socket_service_stop
      Src: /src/glib/gio/gdbusserver.c:656,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gdbusserver.c:656,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusserver.c:658,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusserver.c:658,1
    - Dst: g_unlink
      Src: /src/glib/gio/gdbusserver.c:662,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusserver.c:663,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusserver.c:669,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusserver.c:663,1
    - Dst: g_unlink
      Src: /src/glib/gio/gdbusserver.c:668,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusserver.c:669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 671
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 671
    functionName: g_dbus_server_stop
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_clear_signal_handler
    - G_OBJECT
    - g_assert
    - g_strerror
    - G_IS_DBUS_SERVER
    - g_warning
    - g_object_notify
    - G_SOCKET_SERVICE
    - g_unlink
    - g_socket_service_stop
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_server_stop (GDBusServer *server) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:175,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusserver.c:180,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/gdbusserver.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: g_dbus_server_dispose
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_SERVER
    - G_OBJECT_CLASS
    - g_dbus_server_stop
    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:186,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:188,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusserver.c:194,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:197,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:191,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:199,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:200,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:201,1
    - Dst: memset
      Src: /src/glib/gio/gdbusserver.c:204,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:205,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:209,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:208,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusserver.c:213,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusserver.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 214
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 214
    functionName: g_dbus_server_finalize
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_free
    - G_DBUS_SERVER
    - g_assert
    - g_main_context_unref
    - g_object_unref
    - memset
    - G_OBJECT_CLASS
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_server_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:521,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/gdbusserver.c:522,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:522,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:523,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:524,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusserver.c:526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 6
    argNames:
    - address
    - flags
    - guid
    - observer
    - cancellable
    - error
    argTypes:
    - gchar*
    - GDBusServerFlags
    - gchar*
    - GDBusAuthObserver*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 536
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 536
    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:573,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 575
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 575
    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:607,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 609
    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: 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:60,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
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    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:
    - strlen
    - g_ascii_xdigit_value
    - g_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *hex_unescape (const char *str) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - 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_error_free
      Src: /src/glib/gio/gio-tool-set.c:111,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-set.c:99,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:142,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:149,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: hex_unescape
      Src: /src/glib/gio/gio-tool-set.c:162,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-set.c:207,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-set.c:196,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gio-tool-set.c:212,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-set.c:96,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:103,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:110,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:118,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:143,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: _
      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: g_option_context_free
      Src: /src/glib/gio/gio-tool-set.c:154,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/gio-tool-set.c:181,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_set_prgname
      Src: /src/glib/gio/gio-tool-set.c:91,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:94,1
    - Dst: g_strdup_printf
      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: 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: _
      Src: /src/glib/gio/gio-tool-set.c:149,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-set.c:213,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-set.c:208,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_option_context_set_summary
    - g_clear_pointer
    - show_help
    - g_file_new_for_commandline_arg
    - hex_unescape
    - g_option_context_free
    - g_ascii_strtoll
    - g_object_unref
    - g_option_context_new
    - g_ascii_strcasecmp
    - g_file_set_attribute
    - g_error_free
    - g_strdup_printf
    - g_ascii_strtoull
    - attribute_type_from_string
    - g_option_context_set_help_enabled
    - g_free
    - g_set_prgname
    - g_option_context_parse
    - g_option_context_add_main_entries
    - print_error
    - atol
    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:63,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobject.c:83,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobject.c:66,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobject.c:63,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobject.c:64,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobject.c:83,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobject.c:84,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobject.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusObjectIface*
    constantsTouched: []
    func_position:
      end: 93
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 93
    functionName: g_dbus_object_default_init
    functionSourceFile: /src/glib/gio/gdbusobject.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new
    - I_
    - G_TYPE_FROM_INTERFACE
    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:150,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobject.c:151,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobject.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - object
    - interface_name
    argTypes:
    - GDBusObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_GET_IFACE
      Src: /src/glib/gio/gdbusobject.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    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:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gnetworking.c:68,1
    - Dst: WSAStartup
      Src: /src/glib/gio/gnetworking.c:72,1
    - Dst: g_error
      Src: /src/glib/gio/gnetworking.c:73,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gnetworking.c:75,1
    - Dst: MAKEWORD
      Src: /src/glib/gio/gnetworking.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: g_networking_init
    functionSourceFile: /src/glib/gio/gnetworking.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_error
    - g_once_init_leave
    - WSAStartup
    - MAKEWORD
    linkageType: ''
    returnType: void
    signature: 'void g_networking_init (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getservbyname_r
      Src: /src/glib/gio/gnetworking.c:90,1
    - Dst: g_ntohs
      Src: /src/glib/gio/gnetworking.c:99,1
    - Dst: getservbyname
      Src: /src/glib/gio/gnetworking.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - name
    - proto
    - out_port
    argTypes:
    - char*
    - char*
    - guint16*
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 101
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginitable.c:201,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/ginitable.c:205,1
    - Dst: g_initable_init
      Src: /src/glib/gio/ginitable.c:205,1
    - Dst: G_TYPE_IS_INITABLE
      Src: /src/glib/gio/ginitable.c:201,1
    - Dst: g_object_newv
      Src: /src/glib/gio/ginitable.c:203,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginitable.c:207,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: 212
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 212
    functionName: g_initable_newv
    functionSourceFile: /src/glib/gio/ginitable.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_INITABLE
    - g_initable_init
    - g_object_unref
    - G_INITABLE
    - g_object_newv
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginitable.c:125,1
    - Dst: G_IS_INITABLE
      Src: /src/glib/gio/ginitable.c:125,1
    - Dst: G_INITABLE_GET_IFACE
      Src: /src/glib/gio/ginitable.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: g_initable_init
    functionSourceFile: /src/glib/gio/ginitable.c
    functionUses: []
    functionsReached:
    - G_IS_INITABLE
    - g_return_val_if_fail
    - G_INITABLE_GET_IFACE
    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:243,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/ginitable.c:249,1
    - Dst: G_TYPE_IS_INITABLE
      Src: /src/glib/gio/ginitable.c:243,1
    - Dst: g_initable_init
      Src: /src/glib/gio/ginitable.c:249,1
    - Dst: g_object_new_valist
      Src: /src/glib/gio/ginitable.c:245,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginitable.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - object_type
    - first_property_name
    - var_args
    - cancellable
    - error
    argTypes:
    - GType
    - gchar*
    - va_list
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 256
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 256
    functionName: g_initable_new_valist
    functionSourceFile: /src/glib/gio/ginitable.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_INITABLE
    - g_initable_init
    - g_object_new_valist
    - g_object_unref
    - G_INITABLE
    - g_return_val_if_fail
    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: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    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:162,1
    - Dst: va_end
      Src: /src/glib/gio/ginitable.c:166,1
    - Dst: g_initable_new_valist
      Src: /src/glib/gio/ginitable.c:163,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: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: g_initable_new
    functionSourceFile: /src/glib/gio/ginitable.c
    functionUses: []
    functionsReached:
    - va_end
    - g_initable_new_valist
    - va_start
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:131,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:135,1
    - Dst: _g_stat_has_field
      Src: /src/glib/gio/glocalfileinfo.c:131,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:134,1
    - Dst: _g_stat_mtime
      Src: /src/glib/gio/glocalfileinfo.c:133,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - statbuf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: _g_local_file_info_create_etag
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_stat_mtim_nsec
    - _g_stat_has_field
    - g_strdup_printf
    - _g_stat_mtime
    - g_return_val_if_fail
    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:157,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - statbuf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: _g_local_file_info_create_fs_id
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - _g_stat_dev
    linkageType: ''
    returnType: char*
    signature: 'static char *_g_local_file_info_create_fs_id (GLocalFileStat *statbuf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:909,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfileinfo.c:912,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:916,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:911,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:914,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfileinfo.c:917,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:919,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:921,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfileinfo.c:922,1
    - Dst: geteuid
      Src: /src/glib/gio/glocalfileinfo.c:937,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:950,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:953,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:954,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:957,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:949,1
    - Dst: _g_stat_uid
      Src: /src/glib/gio/glocalfileinfo.c:939,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:958,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: 961
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 961
    functionName: get_access_rights
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_boolean_by_id
    - g_access
    - _g_file_attribute_matcher_matches_id
    - _g_stat_uid
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:2591,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2596,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2605,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2598,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:2592,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2607,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2615,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2617,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2626,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2628,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - ut
    - nsec
    - ft
    - error
    argTypes:
    - gint64
    - gint32
    - FILETIME*
    - GError**
    constantsTouched: []
    func_position:
      end: 2637
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2637
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_stat_ino
      Src: /src/glib/gio/glocalfileinfo.c:147,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:150,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - statbuf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: _g_local_file_info_create_file_id
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - _g_stat_ino
    - _g_stat_dev
    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:266,1
    - Dst: lgetxattr
      Src: /src/glib/gio/glocalfileinfo.c:271,1
    - Dst: getxattr
      Src: /src/glib/gio/glocalfileinfo.c:269,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: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: g_getxattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - lgetxattr
    - getxattr
    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_nlink
      Src: /src/glib/gio/glocalfileinfo.c:999,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/gio/glocalfileinfo.c:1017,1
    - Dst: _g_stat_has_field
      Src: /src/glib/gio/glocalfileinfo.c:1028,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1050,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1079,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1032,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1059,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1076,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1062,1
    - Dst: g_file_info_set_size
      Src: /src/glib/gio/glocalfileinfo.c:996,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1004,1
    - Dst: _g_stat_atim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1031,1
    - Dst: _g_stat_has_field
      Src: /src/glib/gio/glocalfileinfo.c:1047,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1071,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1092,1
    - Dst: S_ISFIFO
      Src: /src/glib/gio/glocalfileinfo.c:979,1
    - Dst: S_ISSOCK
      Src: /src/glib/gio/glocalfileinfo.c:981,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1055,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1026,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1084,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1049,1
    - Dst: S_ISREG
      Src: /src/glib/gio/glocalfileinfo.c:972,1
    - Dst: _g_stat_size
      Src: /src/glib/gio/glocalfileinfo.c:996,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:998,1
    - Dst: _g_stat_rdev
      Src: /src/glib/gio/glocalfileinfo.c:1005,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1010,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:999,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:972,1
    - Dst: _g_stat_ino
      Src: /src/glib/gio/glocalfileinfo.c:1002,1
    - Dst: _g_stat_blksize
      Src: /src/glib/gio/glocalfileinfo.c:1012,1
    - Dst: _g_local_file_info_create_etag
      Src: /src/glib/gio/glocalfileinfo.c:1074,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1066,1
    - Dst: _g_local_file_info_create_fs_id
      Src: /src/glib/gio/glocalfileinfo.c:1090,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:974,1
    - Dst: _g_local_file_info_create_file_id
      Src: /src/glib/gio/glocalfileinfo.c:1082,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:981,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1087,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:998,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1005,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1010,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1016,1
    - Dst: g_file_info_set_file_type
      Src: /src/glib/gio/glocalfileinfo.c:995,1
    - Dst: _g_stat_atime
      Src: /src/glib/gio/glocalfileinfo.c:1030,1
    - Dst: _g_stat_ctim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1043,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1075,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1091,1
    - Dst: _g_stat_uid
      Src: /src/glib/gio/glocalfileinfo.c:1003,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1002,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1012,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1083,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:979,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1067,1
    - Dst: _g_stat_blocks
      Src: /src/glib/gio/glocalfileinfo.c:1015,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1051,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1056,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1060,1
    - Dst: _g_stat_ctime
      Src: /src/glib/gio/glocalfileinfo.c:1041,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfileinfo.c:974,1
    - Dst: _g_stat_blocks
      Src: /src/glib/gio/glocalfileinfo.c:1017,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1025,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1030,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1043,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1068,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1031,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1058,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1003,1
    - Dst: _g_stat_atim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1032,1
    - Dst: _g_stat_ctim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1042,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1064,1
    - Dst: _g_stat_gid
      Src: /src/glib/gio/glocalfileinfo.c:1004,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1015,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1019,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1025,1
    - Dst: _g_stat_mtime
      Src: /src/glib/gio/glocalfileinfo.c:1024,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1042,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1026,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1054,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1041,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 3
    argNames:
    - info
    - statbuf
    - attribute_matcher
    argTypes:
    - GFileInfo*
    - GLocalFileStat*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 1094
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1094
    functionName: set_info_from_stat
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - _g_stat_ctim_nsec
    - _g_file_info_set_attribute_uint32_by_id
    - G_GUINT64_CONSTANT
    - _g_stat_nlink
    - _g_stat_blocks
    - _g_stat_gid
    - _g_stat_ino
    - S_ISDIR
    - _g_stat_size
    - _g_stat_has_field
    - _g_local_file_info_create_etag
    - _g_stat_dev
    - _g_stat_ctime
    - _g_stat_mtime
    - _g_stat_rdev
    - _g_stat_uid
    - _g_local_file_info_create_file_id
    - g_file_info_set_file_type
    - S_ISFIFO
    - _g_stat_atim_nsec
    - g_file_info_set_size
    - _g_stat_atime
    - _g_stat_mtim_nsec
    - g_free
    - _g_local_file_info_create_fs_id
    - _g_file_info_set_attribute_string_by_id
    - _g_stat_mode
    - _g_file_attribute_matcher_matches_id
    - S_ISSOCK
    - _g_file_info_set_attribute_uint64_by_id
    - _g_stat_blksize
    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:1156,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1157,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - UidData*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1159
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2369,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfileinfo.c:2382,1
    - Dst: lchmod
      Src: /src/glib/gio/glocalfileinfo.c:2375,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfileinfo.c:2383,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.c:2388,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2395,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2397,1
    - Dst: g_chmod
      Src: /src/glib/gio/glocalfileinfo.c:2401,1
    - Dst: g_chmod
      Src: /src/glib/gio/glocalfileinfo.c:2405,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2411,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2414,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2413,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2412,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - filename
    - flags
    - value
    - error
    argTypes:
    - char*
    - GFileQueryInfoFlags
    - GFileAttributeValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 2418
      start: 2360
    functionDepth: 0
    functionLinenumber: 2360
    functionLinenumberEnd: 2418
    functionName: set_unix_mode
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - lchmod
    - g_lstat
    - _
    - GLIB_PRIVATE_CALL
    - g_strerror
    - S_ISLNK
    - get_uint32
    - g_set_error_literal
    - g_chmod
    - g_io_error_from_errno
    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: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2686,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2674,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2695,1
    - Dst: _g_win32_unix_time_to_filetime
      Src: /src/glib/gio/glocalfileinfo.c:2699,1
    - Dst: _g_win32_unix_time_to_filetime
      Src: /src/glib/gio/glocalfileinfo.c:2704,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2713,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2777,1
    - Dst: CloseHandle
      Src: /src/glib/gio/glocalfileinfo.c:2787,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2790,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2667,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/glocalfileinfo.c:2759,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2760,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:2772,1
    - Dst: CreateFileW
      Src: /src/glib/gio/glocalfileinfo.c:2765,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2778,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2791,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfileinfo.c:2755,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2779,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2792,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2720,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2732,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2741,1
    - Dst: _g_win32_unix_time_to_filetime
      Src: /src/glib/gio/glocalfileinfo.c:2745,1
    - Dst: _g_win32_unix_time_to_filetime
      Src: /src/glib/gio/glocalfileinfo.c:2750,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfileinfo.c:2773,1
    - Dst: SetFileTime
      Src: /src/glib/gio/glocalfileinfo.c:2785,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:2786,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: 2796
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2796
    functionName: set_mtime_atime
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - lazy_stat
    - get_uint64
    - _
    - g_utf8_to_utf16
    - g_clear_pointer
    - CloseHandle
    - _g_win32_unix_time_to_filetime
    - SetFileTime
    - get_uint32
    - CreateFileW
    - g_prefix_error
    - GetLastError
    - g_io_error_from_errno
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2349,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - value
    - val_out
    - error
    argTypes:
    - GFileAttributeValue*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 2357
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2357
    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: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2495,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2498,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2506,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2526,1
    - Dst: get_byte_string
      Src: /src/glib/gio/glocalfileinfo.c:2481,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2487,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfileinfo.c:2491,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2486,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2496,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2517,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2514,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2527,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2497,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfileinfo.c:2502,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2504,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2515,1
    - Dst: symlink
      Src: /src/glib/gio/glocalfileinfo.c:2521,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfileinfo.c:2510,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2516,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2525,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2528,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - filename
    - value
    - error
    argTypes:
    - char*
    - GFileAttributeValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 2533
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2533
    functionName: set_symlink
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_lstat
    - _
    - g_strerror
    - S_ISLNK
    - symlink
    - get_byte_string
    - g_unlink
    - g_set_error_literal
    - g_io_error_from_errno
    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:2986,1
    - Dst: is_selinux_enabled
      Src: /src/glib/gio/glocalfileinfo.c:2996,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2991,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2998,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2992,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2999,1
    - Dst: setfilecon_raw
      Src: /src/glib/gio/glocalfileinfo.c:3003,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:3007,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:3008,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:3009,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:3010,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - filename
    - value
    - error
    argTypes:
    - char*
    - GFileAttributeValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 3015
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 3015
    functionName: set_selinux_context
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - is_selinux_enabled
    - g_strerror
    - g_io_error_from_errno
    - get_string
    - g_set_error_literal
    - setfilecon_raw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_selinux_context (char *filename, const GFileAttributeValue
      *value, GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_matcher_enumerate_namespace
      Src: /src/glib/gio/glocalfileinfo.c:488,1
    - Dst: g_realloc
      Src: /src/glib/gio/glocalfileinfo.c:511,1
    - Dst: get_one_xattr
      Src: /src/glib/gio/glocalfileinfo.c:544,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:538,1
    - Dst: g_listxattr
      Src: /src/glib/gio/glocalfileinfo.c:494,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:501,1
    - Dst: g_listxattr
      Src: /src/glib/gio/glocalfileinfo.c:505,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:517,1
    - Dst: hex_escape_string
      Src: /src/glib/gio/glocalfileinfo.c:532,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:549,1
    - Dst: g_file_attribute_matcher_enumerate_next
      Src: /src/glib/gio/glocalfileinfo.c:558,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:579,1
    - Dst: g_file_attribute_matcher_enumerate_namespace
      Src: /src/glib/gio/glocalfileinfo.c:486,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:524,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:525,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:546,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:554,1
    - Dst: hex_escape_string
      Src: /src/glib/gio/glocalfileinfo.c:537,1
    - Dst: hex_unescape_string
      Src: /src/glib/gio/glocalfileinfo.c:567,1
    - Dst: get_one_xattr
      Src: /src/glib/gio/glocalfileinfo.c:573,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:576,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:542,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:533,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfileinfo.c:563,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:569,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: 584
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 584
    functionName: get_xattrs
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - strlen
    - hex_escape_string
    - g_realloc
    - g_free
    - g_listxattr
    - hex_unescape_string
    - get_one_xattr
    - g_file_attribute_matcher_enumerate_next
    - strchr
    - g_str_has_prefix
    - g_file_attribute_matcher_enumerate_namespace
    - g_strconcat
    - g_malloc
    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:856,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:857,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfileinfo.c:866,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:859,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:858,1
    - Dst: g_stat
      Src: /src/glib/gio/glocalfileinfo.c:868,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:887,1
    - Dst: _g_local_file_has_trash_dir
      Src: /src/glib/gio/glocalfileinfo.c:888,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - dir
    - attribute_matcher
    - parent_info
    argTypes:
    - char*
    - GFileAttributeMatcher*
    - GLocalParentFileInfo*
    constantsTouched: []
    func_position:
      end: 891
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 891
    functionName: _g_local_file_info_get_parent_info
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_local_file_has_trash_dir
    - g_stat
    - g_access
    - _g_file_attribute_matcher_matches_id
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfileinfo.c:1244,1
    - Dst: lookup_uid_data
      Src: /src/glib/gio/glocalfileinfo.c:1245,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1246,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_t
    constantsTouched: []
    func_position:
      end: 1250
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1250
    functionName: get_realname_from_uid
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_UNLOCK
    - lookup_uid_data
    - G_LOCK
    linkageType: ''
    returnType: char*
    signature: 'static char *get_realname_from_uid (uid_t uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_path
      Src: /src/glib/gio/glocalfileinfo.c:1674,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glocalfileinfo.c:1684,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/glocalfileinfo.c:1675,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1676,1
    - Dst: g_strsplit
      Src: /src/glib/gio/glocalfileinfo.c:1686,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1687,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/glocalfileinfo.c:1691,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1694,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1700
    functionName: read_hidden_file
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_add
    - g_build_path
    - g_strsplit
    - g_hash_table_new_full
    - g_file_get_contents
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *read_hidden_file (const gchar *dirname) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: set_symlink
      Src: /src/glib/gio/glocalfileinfo.c:3141,1
    - Dst: set_unix_uid_gid
      Src: /src/glib/gio/glocalfileinfo.c:3164,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3200,1
    - Dst: set_selinux_context
      Src: /src/glib/gio/glocalfileinfo.c:3243,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfileinfo.c:3257,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfileinfo.c:3256,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3138,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3160,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3180,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3203,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3205,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3240,1
    - Dst: set_unix_mode
      Src: /src/glib/gio/glocalfileinfo.c:3183,1
    - Dst: set_mtime_atime
      Src: /src/glib/gio/glocalfileinfo.c:3209,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:3201,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3202,1
    - Dst: is_selinux_enabled
      Src: /src/glib/gio/glocalfileinfo.c:3239,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3204,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: 3272
      start: 3110
    functionDepth: 0
    functionLinenumber: 3110
    functionLinenumberEnd: 3272
    functionName: _g_local_file_info_set_attributes
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_get_attribute_value
    - is_selinux_enabled
    - set_mtime_atime
    - set_selinux_context
    - g_vfs_get_default
    - set_unix_uid_gid
    - set_unix_mode
    - set_symlink
    - G_VFS_GET_CLASS
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_getxattr
      Src: /src/glib/gio/glocalfileinfo.c:433,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:452,1
    - Dst: g_getxattr
      Src: /src/glib/gio/glocalfileinfo.c:441,1
    - Dst: g_getxattr
      Src: /src/glib/gio/glocalfileinfo.c:448,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:446,1
    - Dst: escape_xattr
      Src: /src/glib/gio/glocalfileinfo.c:462,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:465,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: 466
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 466
    functionName: get_one_xattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_getxattr
    - escape_xattr
    - g_malloc
    - g_free
    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: 899
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 899
    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:1295,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1297,1
    - Dst: lookup_gid_name
      Src: /src/glib/gio/glocalfileinfo.c:1296,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - gid
    argTypes:
    - gid_t
    constantsTouched: []
    func_position:
      end: 1300
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1300
    functionName: get_groupname_from_gid
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - lookup_gid_name
    - G_UNLOCK
    - 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:1645,1
    - Dst: g_hash_table_iter_remove
      Src: /src/glib/gio/glocalfileinfo.c:1652,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/glocalfileinfo.c:1648,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/glocalfileinfo.c:1646,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/glocalfileinfo.c:1649,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/glocalfileinfo.c:1655,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfileinfo.c:1657,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1666
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1666
    functionName: remove_from_hidden_cache
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_clear_pointer
    - g_hash_table_size
    - G_UNLOCK
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_source_get_time
    - g_hash_table_iter_remove
    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:1707,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1709
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1709
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:782,1
    - Dst: g_removexattr
      Src: /src/glib/gio/glocalfileinfo.c:811,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:823,1
    - Dst: name_is_valid
      Src: /src/glib/gio/glocalfileinfo.c:775,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:771,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:770,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:790,1
    - Dst: hex_unescape_string
      Src: /src/glib/gio/glocalfileinfo.c:803,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:820,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:827,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:828,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:830,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:763,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:764,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:789,1
    - Dst: g_setxattr
      Src: /src/glib/gio/glocalfileinfo.c:804,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:797,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:817,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:789,1
    - Dst: hex_unescape_string
      Src: /src/glib/gio/glocalfileinfo.c:794,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:829,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:777,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:778,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:784,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: 835
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 835
    functionName: set_xattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - strlen
    - g_set_error
    - _
    - g_free
    - hex_unescape_string
    - g_removexattr
    - g_strerror
    - g_warn_if_fail
    - g_setxattr
    - g_str_has_prefix
    - g_strconcat
    - g_set_error_literal
    - name_is_valid
    - g_io_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean set_xattr (char *filename,\t const char *escaped_attribute,\t
      const GFileAttributeValue *attr_value,\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2435,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2444,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2462,1
    - Dst: lchown
      Src: /src/glib/gio/glocalfileinfo.c:2453,1
    - Dst: chown
      Src: /src/glib/gio/glocalfileinfo.c:2456,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2463,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2464,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2465,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: 2469
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2469
    functionName: set_unix_uid_gid
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - g_io_error_from_errno
    - get_uint32
    - lchown
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: valid_char
      Src: /src/glib/gio/glocalfileinfo.c:319,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:329,1
    - Dst: valid_char
      Src: /src/glib/gio/glocalfileinfo.c:334,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - str
    - len
    - free_return
    argTypes:
    - char*
    - size_t
    - gboolean*
    constantsTouched: []
    func_position:
      end: 349
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 349
    functionName: hex_escape_buffer
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_malloc
    - valid_char
    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:368,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/glocalfileinfo.c:389,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfileinfo.c:370,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:378,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/glocalfileinfo.c:388,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - str
    - out_len
    - free_return
    argTypes:
    - char*
    - int*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 402
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 402
    functionName: hex_unescape_string
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - strlen
    - g_ascii_xdigit_value
    - g_malloc
    - strchr
    linkageType: ''
    returnType: char*
    signature: 'static char *hex_unescape_string (const char *str, int *out_len, gboolean
      *free_return) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:1107,1
    - Dst: g_string_append
      Src: /src/glib/gio/glocalfileinfo.c:1120,1
    - Dst: g_string_sized_new
      Src: /src/glib/gio/glocalfileinfo.c:1116,1
    - Dst: g_utf8_validate_len
      Src: /src/glib/gio/glocalfileinfo.c:1111,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/glocalfileinfo.c:1118,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1127,1
    - Dst: g_string_append
      Src: /src/glib/gio/glocalfileinfo.c:1129,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:1131,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/glocalfileinfo.c:1131,1
    - Dst: g_string_free
      Src: /src/glib/gio/glocalfileinfo.c:1133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1134
    functionName: make_valid_utf8
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_string_sized_new
    - g_string_append
    - g_warn_if_fail
    - g_utf8_validate
    - g_string_append_len
    - g_string_free
    - g_utf8_validate_len
    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:1174,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glocalfileinfo.c:1176,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/glocalfileinfo.c:1176,1
    - Dst: getpwuid_r
      Src: /src/glib/gio/glocalfileinfo.c:1184,1
    - Dst: g_new0
      Src: /src/glib/gio/glocalfileinfo.c:1181,1
    - Dst: getpwuid
      Src: /src/glib/gio/glocalfileinfo.c:1186,1
    - Dst: convert_pwd_string_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1192,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfileinfo.c:1199,1
    - Dst: convert_pwd_string_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1202,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1211,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/glocalfileinfo.c:1219,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:1217,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:1213,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/glocalfileinfo.c:1219,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_t
    constantsTouched: []
    func_position:
      end: 1222
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1222
    functionName: lookup_uid_data
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - GINT_TO_POINTER
    - convert_pwd_string_to_utf8
    - g_new0
    - g_strdup_printf
    - g_hash_table_replace
    - getpwuid_r
    - strchr
    - g_hash_table_new_full
    - getpwuid
    - g_hash_table_lookup
    linkageType: ''
    returnType: UidData*
    signature: 'static UidData *lookup_uid_data (uid_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/glocalfileinfo.c:1418,1
    - Dst: g_checksum_get_string
      Src: /src/glib/gio/glocalfileinfo.c:1474,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfileinfo.c:1479,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfileinfo.c:1492,1
    - Dst: get_thumbnail_dirname_from_size
      Src: /src/glib/gio/glocalfileinfo.c:1395,1
    - Dst: get_thumbnail_dirname_from_size
      Src: /src/glib/gio/glocalfileinfo.c:1494,1
    - Dst: chardevice
      Src: /src/glib/gio/glocalfileinfo.c:1320,1
    - Dst: blockdevice
      Src: /src/glib/gio/glocalfileinfo.c:1322,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1324,1
    - Dst: _g_stat_size
      Src: /src/glib/gio/glocalfileinfo.c:1325,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1330,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/glocalfileinfo.c:1374,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/glocalfileinfo.c:1415,1
    - Dst: get_thumbnail_dirname_from_size
      Src: /src/glib/gio/glocalfileinfo.c:1468,1
    - Dst: S_ISBLK
      Src: /src/glib/gio/glocalfileinfo.c:1321,1
    - Dst: S_ISFIFO
      Src: /src/glib/gio/glocalfileinfo.c:1323,1
    - Dst: S_ISREG
      Src: /src/glib/gio/glocalfileinfo.c:1325,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1335,1
    - Dst: _g_file_info_set_attribute_byte_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1506,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1321,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1323,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1325,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:1423,1
    - Dst: g_filename_to_uri
      Src: /src/glib/gio/glocalfileinfo.c:1469,1
    - Dst: g_open
      Src: /src/glib/gio/glocalfileinfo.c:1359,1
    - Dst: read
      Src: /src/glib/gio/glocalfileinfo.c:1369,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/gio/glocalfileinfo.c:1479,1
    - Dst: _g_unix_content_type_get_sniff_len
      Src: /src/glib/gio/glocalfileinfo.c:1354,1
    - Dst: fifo
      Src: /src/glib/gio/glocalfileinfo.c:1324,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/glocalfileinfo.c:1342,1
    - Dst: if
      Src: /src/glib/gio/glocalfileinfo.c:1345,1
    - Dst: guint32
      Src: /src/glib/gio/glocalfileinfo.c:1435,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:1474,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1507,1
    - Dst: thumbnail_verify
      Src: /src/glib/gio/glocalfileinfo.c:1508,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1320,1
    - Dst: g_open
      Src: /src/glib/gio/glocalfileinfo.c:1363,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1322,1
    - Dst: S_ISSOCK
      Src: /src/glib/gio/glocalfileinfo.c:1333,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfileinfo.c:1370,1
    - Dst: g_checksum_new
      Src: /src/glib/gio/glocalfileinfo.c:1471,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:1472,1
    - Dst: errno
      Src: /src/glib/gio/glocalfileinfo.c:1360,1
    - Dst: g_checksum_update
      Src: /src/glib/gio/glocalfileinfo.c:1472,1
    - Dst: g_file_test
      Src: /src/glib/gio/glocalfileinfo.c:1483,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/gio/glocalfileinfo.c:1492,1
    - Dst: S_ISSOCK
      Src: /src/glib/gio/glocalfileinfo.c:1334,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1373,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/glocalfileinfo.c:1465,1
    - Dst: g_checksum_free
      Src: /src/glib/gio/glocalfileinfo.c:1475,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1334,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 106
    argCount: 1
    argNames:
    - S_ISCHR
    argTypes:
    - statbuf
    constantsTouched: []
    func_position:
      end: 1509
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1509
    functionName: if
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - g_close
    - get_thumbnail_dirname_from_size
    - _g_file_info_set_attribute_byte_string_by_id
    - _g_file_info_set_attribute_boolean_by_id
    - g_checksum_get_string
    - read
    - chardevice
    - _g_unix_content_type_get_sniff_len
    - strlen
    - get_thumbnail_attributes
    - _g_stat_size
    - g_assert_not_reached
    - g_checksum_update
    - guint32
    - fifo
    - g_get_user_cache_dir
    - g_strconcat
    - if
    - g_checksum_free
    - g_checksum_new
    - g_open
    - thumbnail_verify
    - S_ISFIFO
    - g_build_filename
    - errno
    - blockdevice
    - g_free
    - g_content_type_from_mime_type
    - _g_stat_mode
    - g_filename_to_uri
    - g_content_type_guess
    - g_file_test
    - S_ISSOCK
    - g_return_val_if_reached
    - S_ISBLK
    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{\t guchar sniff_buffer[4096];\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
      > 4096)\t sniff_length = 4096;#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: 1
    BranchProfiles: []
    Callsites:
    - Dst: hex_escape_buffer
      Src: /src/glib/gio/glocalfileinfo.c:355,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - str
    - free_return
    argTypes:
    - char*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: hex_escape_string
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - strlen
    - hex_escape_buffer
    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:413,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/glocalfileinfo.c:415,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:418,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: 419
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 419
    functionName: escape_xattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - hex_escape_buffer
    - 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:1141,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1148,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1143,1
    - Dst: make_valid_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pwd_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1151
    functionName: convert_pwd_string_to_utf8
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_locale_to_utf8
    - g_strdup
    - make_valid_utf8
    - g_utf8_validate
    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:1230,1
    - Dst: lookup_uid_data
      Src: /src/glib/gio/glocalfileinfo.c:1231,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1232,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_t
    constantsTouched: []
    func_position:
      end: 1236
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1236
    functionName: get_username_from_uid
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_UNLOCK
    - lookup_uid_data
    - G_LOCK
    linkageType: ''
    returnType: char*
    signature: 'static char *get_username_from_uid (uid_t uid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glocalfileinfo.c:1264,1
    - Dst: getgrgid_r
      Src: /src/glib/gio/glocalfileinfo.c:1272,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/glocalfileinfo.c:1266,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glocalfileinfo.c:1266,1
    - Dst: getgrgid
      Src: /src/glib/gio/glocalfileinfo.c:1274,1
    - Dst: convert_pwd_string_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1280,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:1282,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/glocalfileinfo.c:1284,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/glocalfileinfo.c:1284,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - gid
    argTypes:
    - gid_t
    constantsTouched: []
    func_position:
      end: 1287
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1287
    functionName: lookup_gid_name
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - getgrgid_r
    - convert_pwd_string_to_utf8
    - g_strdup_printf
    - g_hash_table_replace
    - g_hash_table_new_full
    - g_hash_table_lookup
    - getgrgid
    linkageType: ''
    returnType: char*
    signature: 'static char *lookup_gid_name (gid_t gid) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1547,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1574,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1582,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1585,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1617,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfileinfo.c:1541,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:1546,1
    - Dst: LookupAccountSidW
      Src: /src/glib/gio/glocalfileinfo.c:1603,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1611,1
    - Dst: GetFileSecurityW
      Src: /src/glib/gio/glocalfileinfo.c:1542,1
    - Dst: GetFileSecurityW
      Src: /src/glib/gio/glocalfileinfo.c:1548,1
    - Dst: LookupAccountSidW
      Src: /src/glib/gio/glocalfileinfo.c:1567,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1573,1
    - Dst: GetSecurityDescriptorGroup
      Src: /src/glib/gio/glocalfileinfo.c:1592,1
    - Dst: LookupAccountSidW
      Src: /src/glib/gio/glocalfileinfo.c:1594,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1601,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1609,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1612,1
    - Dst: GetSecurityDescriptorOwner
      Src: /src/glib/gio/glocalfileinfo.c:1565,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:1571,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:1598,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1600,1
    - Dst: LookupAccountSidW
      Src: /src/glib/gio/glocalfileinfo.c:1576,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1584,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1619,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: 1620
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1620
    functionName: win32_get_file_user_info
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - GetSecurityDescriptorGroup
    - g_utf8_to_utf16
    - LookupAccountSidW
    - GetSecurityDescriptorOwner
    - GetFileSecurityW
    - GetLastError
    - g_utf16_to_utf8
    - g_try_malloc
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:219,1
    - Dst: getfilecon_raw
      Src: /src/glib/gio/glocalfileinfo.c:231,1
    - Dst: is_selinux_enabled
      Src: /src/glib/gio/glocalfileinfo.c:222,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:237,1
    - Dst: lgetfilecon_raw
      Src: /src/glib/gio/glocalfileinfo.c:226,1
    - Dst: freecon
      Src: /src/glib/gio/glocalfileinfo.c:238,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: 241
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 241
    functionName: get_selinux_context
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - freecon
    - _g_file_info_set_attribute_string_by_id
    - is_selinux_enabled
    - getfilecon_raw
    - _g_file_attribute_matcher_matches_id
    - lgetfilecon_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:171,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:180,1
    - Dst: readlink
      Src: /src/glib/gio/glocalfileinfo.c:177,1
    - Dst: g_realloc
      Src: /src/glib/gio/glocalfileinfo.c:189,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.c:195,1
    - Dst: strdup
      Src: /src/glib/gio/glocalfileinfo.c:199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - full_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 205
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 205
    functionName: read_link
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_realloc
    - g_free
    - strdup
    - GLIB_PRIVATE_CALL
    - readlink
    - g_malloc
    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:2311,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - value
    - val_out
    - error
    argTypes:
    - GFileAttributeValue*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 2319
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2319
    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:2330,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - value
    - val_out
    - error
    argTypes:
    - GFileAttributeValue*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 2338
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2338
    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:2547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - statbuf
    - called_stat
    argTypes:
    - char*
    - GStatBuf*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 2553
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2553
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: valid_char
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean valid_char (char c) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_matcher_enumerate_namespace
      Src: /src/glib/gio/glocalfileinfo.c:649,1
    - Dst: g_realloc
      Src: /src/glib/gio/glocalfileinfo.c:674,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:711,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:701,1
    - Dst: hex_unescape_string
      Src: /src/glib/gio/glocalfileinfo.c:729,1
    - Dst: g_flistxattr
      Src: /src/glib/gio/glocalfileinfo.c:668,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:680,1
    - Dst: hex_escape_string
      Src: /src/glib/gio/glocalfileinfo.c:695,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:708,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:731,1
    - Dst: g_flistxattr
      Src: /src/glib/gio/glocalfileinfo.c:657,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:664,1
    - Dst: g_file_attribute_matcher_enumerate_namespace
      Src: /src/glib/gio/glocalfileinfo.c:651,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:687,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:688,1
    - Dst: hex_escape_string
      Src: /src/glib/gio/glocalfileinfo.c:700,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfileinfo.c:725,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:741,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:696,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:705,1
    - Dst: g_file_attribute_matcher_enumerate_next
      Src: /src/glib/gio/glocalfileinfo.c:720,1
    - Dst: get_one_xattr_from_fd
      Src: /src/glib/gio/glocalfileinfo.c:707,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:716,1
    - Dst: get_one_xattr_from_fd
      Src: /src/glib/gio/glocalfileinfo.c:735,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:738,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 4
    argNames:
    - fd
    - user
    - info
    - matcher
    argTypes:
    - int
    - gboolean
    - GFileInfo*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 746
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 746
    functionName: get_xattrs_from_fd
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - strlen
    - hex_escape_string
    - g_realloc
    - g_free
    - hex_unescape_string
    - g_file_attribute_matcher_enumerate_next
    - get_one_xattr_from_fd
    - strchr
    - g_str_has_prefix
    - g_file_attribute_matcher_enumerate_namespace
    - g_flistxattr
    - g_strconcat
    - g_malloc
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_set_name
      Src: /src/glib/gio/glocalfileinfo.c:1773,1
    - Dst: strstr
      Src: /src/glib/gio/glocalfileinfo.c:1781,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1775,1
    - Dst: g_filename_display_basename
      Src: /src/glib/gio/glocalfileinfo.c:1778,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:1784,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:1784,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1785,1
    - Dst: g_file_info_set_display_name
      Src: /src/glib/gio/glocalfileinfo.c:1787,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1788,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1791,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1800,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1805,1
    - Dst: g_file_info_set_edit_name
      Src: /src/glib/gio/glocalfileinfo.c:1795,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1803,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1806,1
    - Dst: g_filename_display_basename
      Src: /src/glib/gio/glocalfileinfo.c:1794,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1796,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - info
    - basename
    - path
    - attribute_matcher
    argTypes:
    - GFileInfo*
    - char*
    - char*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1808
    functionName: _g_local_file_info_get_nostat
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _
    - g_file_info_set_name
    - g_free
    - _g_file_info_set_attribute_string_by_id
    - g_file_info_set_display_name
    - g_file_info_set_edit_name
    - g_filename_to_utf8
    - strstr
    - _g_file_attribute_matcher_matches_id
    - g_filename_display_basename
    - g_strconcat
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_icon_name
      Src: /src/glib/gio/glocalfileinfo.c:1876,1
    - Dst: g_content_type_get_icon
      Src: /src/glib/gio/glocalfileinfo.c:1889,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/glocalfileinfo.c:1882,1
    - Dst: g_content_type_get_symbolic_icon
      Src: /src/glib/gio/glocalfileinfo.c:1887,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/glocalfileinfo.c:1880,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - path
    - content_type
    - use_symbolic
    argTypes:
    - char*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1893
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1893
    functionName: get_icon
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_content_type_get_icon
    - get_icon_name
    - g_themed_icon_new
    - g_content_type_get_symbolic_icon
    - g_themed_icon_new_with_default_fallbacks
    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:2240,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2249,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2250,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2248,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2247,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/glocalfileinfo.c:2254,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/glocalfileinfo.c:2256,1
    - Dst: g_file_info_set_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:2259,1
    - Dst: set_info_from_stat
      Src: /src/glib/gio/glocalfileinfo.c:2261,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2264,1
    - Dst: freecon
      Src: /src/glib/gio/glocalfileinfo.c:2271,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfileinfo.c:2279,1
    - Dst: get_xattrs_from_fd
      Src: /src/glib/gio/glocalfileinfo.c:2276,1
    - Dst: g_file_info_unset_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:2281,1
    - Dst: is_selinux_enabled
      Src: /src/glib/gio/glocalfileinfo.c:2265,1
    - Dst: get_xattrs_from_fd
      Src: /src/glib/gio/glocalfileinfo.c:2277,1
    - Dst: fgetfilecon_raw
      Src: /src/glib/gio/glocalfileinfo.c:2268,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - fd
    - attributes
    - error
    argTypes:
    - int
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 2284
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2284
    functionName: _g_local_file_info_get_from_fd
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_file_attribute_matcher_unref
    - freecon
    - _
    - _g_file_info_set_attribute_string_by_id
    - is_selinux_enabled
    - g_strerror
    - g_file_info_set_attribute_mask
    - set_info_from_stat
    - g_file_attribute_matcher_new
    - get_xattrs_from_fd
    - _g_file_attribute_matcher_matches_id
    - g_local_file_fstat
    - g_file_info_unset_attribute_mask
    - g_file_info_new
    - g_io_error_from_errno
    - fgetfilecon_raw
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: listxattr
      Src: /src/glib/gio/glocalfileinfo.c:280,1
    - Dst: llistxattr
      Src: /src/glib/gio/glocalfileinfo.c:285,1
    - Dst: listxattr
      Src: /src/glib/gio/glocalfileinfo.c:283,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: 287
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 287
    functionName: g_listxattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - llistxattr
    - listxattr
    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:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 304
    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_hash_table_new_full
      Src: /src/glib/gio/glocalfileinfo.c:1725,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1761,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/glocalfileinfo.c:1745,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/glocalfileinfo.c:1757,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfileinfo.c:1720,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/gio/glocalfileinfo.c:1728,1
    - Dst: g_new0
      Src: /src/glib/gio/glocalfileinfo.c:1731,1
    - Dst: read_hidden_file
      Src: /src/glib/gio/glocalfileinfo.c:1732,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glocalfileinfo.c:1735,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1736,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/glocalfileinfo.c:1742,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/glocalfileinfo.c:1747,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1759,1
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfileinfo.c:1722,1
    - Dst: g_source_attach
      Src: /src/glib/gio/glocalfileinfo.c:1750,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/glocalfileinfo.c:1744,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.c:1751,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/glocalfileinfo.c:1733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - path
    - basename
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1764
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1764
    functionName: file_is_hidden
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_source_set_callback
    - g_hash_table_contains
    - g_free
    - g_new0
    - G_LOCK
    - read_hidden_file
    - g_source_set_static_name
    - GLIB_PRIVATE_CALL
    - g_hash_table_insert
    - G_UNLOCK
    - g_source_set_priority
    - g_path_get_dirname
    - g_get_monotonic_time
    - g_hash_table_new_full
    - g_source_attach
    - g_hash_table_lookup_extended
    - g_timeout_source_new_seconds
    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:1818,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalfileinfo.c:1818,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1828,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1823,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1823,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1828,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1832,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1832,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1836,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1836,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1840,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1844,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1840,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1848,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1848,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1844,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1852,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1852,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - path
    - use_symbolic
    - with_fallbacks_out
    argTypes:
    - char*
    - gboolean
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1865
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1865
    functionName: get_icon_name
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_get_user_special_dir
    - 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: 37
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:1941,1
    - Dst: g_file_info_set_is_symlink
      Src: /src/glib/gio/glocalfileinfo.c:1993,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2010,1
    - Dst: _g_stat_uid
      Src: /src/glib/gio/glocalfileinfo.c:2124,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2048,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2162,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2226,1
    - Dst: g_file_info_unset_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:1923,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2084,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2177,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:2149,1
    - Dst: g_local_file_lstat
      Src: /src/glib/gio/glocalfileinfo.c:1927,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:1954,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2041,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfileinfo.c:2071,1
    - Dst: win32_get_file_user_info
      Src: /src/glib/gio/glocalfileinfo.c:2121,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2180,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2187,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/glocalfileinfo.c:1914,1
    - Dst: set_info_from_stat
      Src: /src/glib/gio/glocalfileinfo.c:1996,1
    - Dst: g_local_file_stat
      Src: /src/glib/gio/glocalfileinfo.c:1977,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1999,1
    - Dst: get_icon
      Src: /src/glib/gio/glocalfileinfo.c:2067,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2128,1
    - Dst: get_xattrs
      Src: /src/glib/gio/glocalfileinfo.c:2158,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2172,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2190,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2197,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1945,1
    - Dst: get_icon
      Src: /src/glib/gio/glocalfileinfo.c:2075,1
    - Dst: _g_local_file_is_lost_found_dir
      Src: /src/glib/gio/glocalfileinfo.c:2007,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2029,1
    - Dst: g_file_info_set_symbolic_icon
      Src: /src/glib/gio/glocalfileinfo.c:2078,1
    - Dst: _g_stat_ino
      Src: /src/glib/gio/glocalfileinfo.c:2149,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfileinfo.c:1959,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2046,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2096,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2113,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:2160,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2167,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2131,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2112,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2147,1
    - Dst: get_username_from_uid
      Src: /src/glib/gio/glocalfileinfo.c:2109,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:1942,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2170,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfileinfo.c:2210,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfileinfo.c:1940,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1959,1
    - Dst: g_file_info_set_is_hidden
      Src: /src/glib/gio/glocalfileinfo.c:2002,1
    - Dst: g_file_info_set_is_hidden
      Src: /src/glib/gio/glocalfileinfo.c:2017,1
    - Dst: get_content_type
      Src: /src/glib/gio/glocalfileinfo.c:2053,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2143,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2022,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2148,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2019,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2025,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:1943,1
    - Dst: _g_stat_uid
      Src: /src/glib/gio/glocalfileinfo.c:2109,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2088,1
    - Dst: get_content_type
      Src: /src/glib/gio/glocalfileinfo.c:2091,1
    - Dst: get_selinux_context
      Src: /src/glib/gio/glocalfileinfo.c:2155,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2184,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfileinfo.c:2211,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2174,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfileinfo.c:2079,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2116,1
    - Dst: get_access_rights
      Src: /src/glib/gio/glocalfileinfo.c:2152,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2194,1
    - Dst: win32_get_file_user_info
      Src: /src/glib/gio/glocalfileinfo.c:2106,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2142,1
    - Dst: get_groupname_from_gid
      Src: /src/glib/gio/glocalfileinfo.c:2139,1
    - Dst: S_ISREG
      Src: /src/glib/gio/glocalfileinfo.c:2013,1
    - Dst: _g_local_file_info_get_nostat
      Src: /src/glib/gio/glocalfileinfo.c:1919,1
    - Dst: g_file_info_set_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:1917,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:2012,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2204,1
    - Dst: g_file_info_unset_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:2224,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:1944,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:2007,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2015,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2031,1
    - Dst: read_link
      Src: /src/glib/gio/glocalfileinfo.c:2038,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2182,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2200,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2207,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:2013,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2050,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2059,1
    - Dst: g_file_info_set_icon
      Src: /src/glib/gio/glocalfileinfo.c:2070,1
    - Dst: _g_stat_gid
      Src: /src/glib/gio/glocalfileinfo.c:2139,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2164,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2192,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2127,1
    - Dst: file_is_hidden
      Src: /src/glib/gio/glocalfileinfo.c:2005,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2100,1
    - Dst: get_realname_from_uid
      Src: /src/glib/gio/glocalfileinfo.c:2124,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2202,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2095,1
    - Dst: win32_get_file_user_info
      Src: /src/glib/gio/glocalfileinfo.c:2136,1
    - Dst: g_file_info_set_symlink_target
      Src: /src/glib/gio/glocalfileinfo.c:2043,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2061,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfileinfo.c:1939,1
    - Dst: g_file_info_set_is_symlink
      Src: /src/glib/gio/glocalfileinfo.c:1972,1
    - Dst: g_file_info_set_content_type
      Src: /src/glib/gio/glocalfileinfo.c:2057,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 223
    argCount: 6
    argNames:
    - basename
    - path
    - attribute_matcher
    - flags
    - parent_info
    - error
    argTypes:
    - char*
    - char*
    - GFileAttributeMatcher*
    - GFileQueryInfoFlags
    - GLocalParentFileInfo*
    - GError**
    constantsTouched: []
    func_position:
      end: 2229
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 2229
    functionName: _g_local_file_info_get
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - S_ISREG
    - _
    - _g_file_info_set_attribute_uint32_by_id
    - g_file_info_set_content_type
    - _g_local_file_info_get_nostat
    - _g_file_info_set_attribute_boolean_by_id
    - S_ISLNK
    - get_xattrs
    - g_filename_display_name
    - _g_stat_gid
    - _g_stat_ino
    - g_file_info_set_symlink_target
    - g_io_error_from_errno
    - G_VFS_GET_CLASS
    - strlen
    - get_selinux_context
    - get_thumbnail_attributes
    - g_strerror
    - get_icon
    - g_vfs_get_default
    - g_object_unref
    - g_file_info_set_icon
    - _g_stat_dev
    - g_file_info_set_symbolic_icon
    - g_file_info_set_is_hidden
    - win32_get_file_user_info
    - _g_stat_uid
    - g_file_info_unset_attribute_mask
    - g_local_file_lstat
    - file_is_hidden
    - g_file_info_set_attribute_mask
    - get_content_type
    - _g_local_file_is_lost_found_dir
    - g_set_error
    - g_free
    - _g_file_info_set_attribute_string_by_id
    - set_info_from_stat
    - _g_stat_mode
    - g_file_info_set_is_symlink
    - get_realname_from_uid
    - get_groupname_from_gid
    - get_access_rights
    - _g_file_attribute_matcher_matches_id
    - read_link
    - get_username_from_uid
    - g_file_info_new
    - g_local_file_stat
    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:2293,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - value
    - val_out
    - error
    argTypes:
    - GFileAttributeValue*
    - guint32*
    - GError**
    constantsTouched: []
    func_position:
      end: 2301
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2301
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_fgetxattr
      Src: /src/glib/gio/glocalfileinfo.c:598,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:611,1
    - Dst: g_fgetxattr
      Src: /src/glib/gio/glocalfileinfo.c:613,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:617,1
    - Dst: g_fgetxattr
      Src: /src/glib/gio/glocalfileinfo.c:606,1
    - Dst: escape_xattr
      Src: /src/glib/gio/glocalfileinfo.c:627,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:630,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - fd
    - info
    - gio_attr
    - xattr
    argTypes:
    - int
    - GFileInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 631
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 631
    functionName: get_one_xattr_from_fd
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - escape_xattr
    - g_fgetxattr
    - g_malloc
    - g_free
    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: 26
    BranchProfiles: []
    Callsites:
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2862,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2887,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2901,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2923,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2939,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2817,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2838,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2908,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2967,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2954,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2970,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2848,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2823,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2968,1
    - Dst: utimes
      Src: /src/glib/gio/glocalfileinfo.c:2960,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2856,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2877,1
    - Dst: utimensat
      Src: /src/glib/gio/glocalfileinfo.c:2892,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2932,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2969,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: 2974
      start: 2798
    functionDepth: 0
    functionLinenumber: 2798
    functionLinenumberEnd: 2974
    functionName: set_mtime_atime
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - lazy_stat
    - get_uint64
    - _
    - g_strerror
    - utimensat
    - get_uint32
    - utimes
    - g_io_error_from_errno
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnetworkservice.c:354,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:356,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkservice.c:359,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnetworkservice.c:357,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:354,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkservice.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - srv
    - scheme
    argTypes:
    - GNetworkService*
    - gchar*
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: g_network_service_set_scheme
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_free
    - g_object_notify
    - g_return_if_fail
    - G_IS_NETWORK_SERVICE
    linkageType: ''
    returnType: void
    signature: 'void g_network_service_set_scheme (GNetworkService *srv, const gchar
      *scheme) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_srv_target_get_hostname
      Src: /src/glib/gio/gnetworkservice.c:457,1
    - Dst: g_uri_join
      Src: /src/glib/gio/gnetworkservice.c:469,1
    - Dst: g_srv_target_get_port
      Src: /src/glib/gio/gnetworkservice.c:480,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:482,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:497,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gnetworkservice.c:504,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnetworkservice.c:513,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gnetworkservice.c:527,1
    - Dst: G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkservice.c:412,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkservice.c:426,1
    - Dst: g_resolver_lookup_service
      Src: /src/glib/gio/gnetworkservice.c:421,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkservice.c:431,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gnetworkservice.c:436,1
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/gnetworkservice.c:479,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkservice.c:455,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gnetworkservice.c:457,1
    - Dst: g_error_new
      Src: /src/glib/gio/gnetworkservice.c:463,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnetworkservice.c:489,1
    - Dst: g_srv_target_get_hostname
      Src: /src/glib/gio/gnetworkservice.c:465,1
    - Dst: g_network_service_fallback_targets
      Src: /src/glib/gio/gnetworkservice.c:429,1
    - Dst: g_network_service_get_scheme
      Src: /src/glib/gio/gnetworkservice.c:470,1
    - Dst: g_srv_target_get_port
      Src: /src/glib/gio/gnetworkservice.c:473,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:477,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gnetworkservice.c:494,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gnetworkservice.c:496,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:518,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 69
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 532
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 532
    functionName: g_network_service_address_enumerator_next
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_list_next
    - g_clear_error
    - g_srv_target_get_hostname
    - g_propagate_error
    - g_uri_join
    - g_error_matches
    - g_socket_connectable_proxy_enumerate
    - g_network_service_get_scheme
    - g_object_unref
    - g_socket_connectable_enumerate
    - g_error_new
    - g_socket_address_enumerator_next
    - g_error_free
    - g_srv_target_get_port
    - g_network_service_fallback_targets
    - g_network_address_parse_uri
    - g_free
    - g_hostname_to_ascii
    - G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
    - g_resolver_lookup_service
    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:549,1
    - Dst: next_async_have_targets
      Src: /src/glib/gio/gnetworkservice.c:567,1
    - Dst: g_task_new
      Src: /src/glib/gio/gnetworkservice.c:552,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gnetworkservice.c:553,1
    - Dst: g_resolver_lookup_service_async
      Src: /src/glib/gio/gnetworkservice.c:558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 568
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 568
    functionName: g_network_service_address_enumerator_next_async
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_resolver_lookup_service_async
    - g_task_new
    - g_task_set_source_tag
    - G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
    - next_async_have_targets
    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:700,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnetworkservice.c:712,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:706,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:703,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:709,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkservice.c:714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 715
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 715
    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_CLASS
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_address_enumerator_finalize (GObject
      *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getservbyname_ntohs
      Src: /src/glib/gio/gnetworkservice.c:369,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/gnetworkservice.c:378,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkservice.c:379,1
    - Dst: endservent
      Src: /src/glib/gio/gnetworkservice.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - srv
    argTypes:
    - GNetworkService*
    constantsTouched: []
    func_position:
      end: 380
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 380
    functionName: g_network_service_fallback_targets
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_srv_target_new
    - g_getservbyname_ntohs
    - endservent
    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:576,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkservice.c:583,1
    - Dst: g_resolver_lookup_service_finish
      Src: /src/glib/gio/gnetworkservice.c:580,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkservice.c:588,1
    - Dst: g_network_service_fallback_targets
      Src: /src/glib/gio/gnetworkservice.c:586,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkservice.c:593,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:594,1
    - Dst: next_async_have_targets
      Src: /src/glib/gio/gnetworkservice.c:599,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 601
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 601
    functionName: next_async_resolved_targets
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_error_matches
    - g_object_unref
    - g_network_service_fallback_targets
    - g_clear_error
    - g_task_return_error
    - g_resolver_lookup_service_finish
    - next_async_have_targets
    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:720,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_CLASS
      Src: /src/glib/gio/gnetworkservice.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - srvenum_class
    argTypes:
    - GNetworkServiceAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 729
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 729
    functionName: _g_network_service_address_enumerator_class_init
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_SOCKET_ADDRESS_ENUMERATOR_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_network_service_address_enumerator_class_init (GNetworkServiceAddressEnumeratorClass
      *srvenum_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkservice.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - service
    - protocol
    - domain
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gnetworkservice.c:688,1
    - Dst: G_TASK
      Src: /src/glib/gio/gnetworkservice.c:688,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: g_network_service_address_enumerator_next_finish
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *g_network_service_address_enumerator_next_finish
      (GSocketAddressEnumerator *enumerator, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkservice.c:736,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkservice.c:741,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkservice.c:737,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gnetworkservice.c:738,1
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: g_network_service_connectable_enumerate
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    - g_resolver_get_default
    - G_SOCKET_ADDRESS_ENUMERATOR
    - G_NETWORK_SERVICE
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'static GSocketAddressEnumerator *g_network_service_connectable_enumerate
      (GSocketConnectable *connectable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GNetworkServiceAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 694
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 694
    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_network_service_connectable_enumerate
      Src: /src/glib/gio/gnetworkservice.c:750,1
    - Dst: G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkservice.c:751,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 755
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 755
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:211,1
    - Dst: g_network_service_get_protocol
      Src: /src/glib/gio/gnetworkservice.c:220,1
    - Dst: g_network_service_get_service
      Src: /src/glib/gio/gnetworkservice.c:216,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkservice.c:216,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkservice.c:220,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkservice.c:224,1
    - Dst: g_network_service_get_domain
      Src: /src/glib/gio/gnetworkservice.c:224,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkservice.c:228,1
    - Dst: g_network_service_get_scheme
      Src: /src/glib/gio/gnetworkservice.c:228,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkservice.c:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 235
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 235
    functionName: g_network_service_get_property
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_network_service_get_domain
    - g_network_service_get_service
    - g_value_set_string
    - g_network_service_get_scheme
    - G_NETWORK_SERVICE
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_network_service_get_protocol
    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_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkservice.c:119,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkservice.c:125,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkservice.c:128,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkservice.c:127,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkservice.c:126,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkservice.c:133,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkservice.c:134,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkservice.c:135,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkservice.c:136,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkservice.c:141,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkservice.c:144,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkservice.c:150,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkservice.c:152,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkservice.c:149,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkservice.c:142,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkservice.c:143,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkservice.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GNetworkServiceClass*
    constantsTouched: []
    func_position:
      end: 157
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 157
    functionName: g_network_service_class_init
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_class_init (GNetworkServiceClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkservice.c:294,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - GNetworkService*
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: g_network_service_get_protocol
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NETWORK_SERVICE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_service_get_protocol (GNetworkService *srv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gnetworkservice.c:606,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkservice.c:614,1
    - Dst: g_srv_target_get_hostname
      Src: /src/glib/gio/gnetworkservice.c:615,1
    - Dst: g_srv_target_get_port
      Src: /src/glib/gio/gnetworkservice.c:616,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/gnetworkservice.c:615,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gnetworkservice.c:619,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gnetworkservice.c:621,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:623,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gnetworkservice.c:628,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gnetworkservice.c:629,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:643,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkservice.c:637,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gnetworkservice.c:641,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 645
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 645
    functionName: next_async_have_targets
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_network_address_new
    - g_task_get_source_object
    - g_socket_connectable_proxy_enumerate
    - g_object_unref
    - g_srv_target_get_port
    - g_list_next
    - g_task_return_pointer
    - g_srv_target_get_hostname
    - g_socket_address_enumerator_next_async
    - g_task_return_error
    - g_socket_connectable_enumerate
    - g_task_get_cancellable
    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: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gnetworkservice.c:653,1
    - Dst: next_async_have_targets
      Src: /src/glib/gio/gnetworkservice.c:674,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/gnetworkservice.c:657,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnetworkservice.c:666,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:671,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gnetworkservice.c:678,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:679,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 681
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 681
    functionName: next_async_have_address
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_socket_address_enumerator_next_finish
    - g_error_free
    - g_object_unref
    - g_task_return_pointer
    - next_async_have_targets
    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:276,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - GNetworkService*
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: g_network_service_get_service
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NETWORK_SERVICE
    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:332,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - GNetworkService*
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: g_network_service_get_scheme
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NETWORK_SERVICE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_service_get_scheme (GNetworkService *srv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_service_get_instance_private
      Src: /src/glib/gio/gnetworkservice.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - GNetworkService*
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    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:313,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - GNetworkService*
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: g_network_service_get_domain
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NETWORK_SERVICE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_service_get_domain (GNetworkService *srv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:103,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:106,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:108,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:105,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:107,1
    - Dst: g_resolver_free_targets
      Src: /src/glib/gio/gnetworkservice.c:111,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkservice.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: g_network_service_finalize
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_NETWORK_SERVICE
    - g_free
    - G_OBJECT_CLASS
    - g_resolver_free_targets
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_finalize (GObject *object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:179,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkservice.c:184,1
    - Dst: g_network_service_set_scheme
      Src: /src/glib/gio/gnetworkservice.c:196,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkservice.c:188,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkservice.c:192,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gnetworkservice.c:196,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkservice.c:200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 203
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 203
    functionName: g_network_service_set_property
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_value_get_string
    - G_NETWORK_SERVICE
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - 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
      Src: /src/glib/gio/gnetworkservice.c:762,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gnetworkservice.c:764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 767
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 767
    functionName: g_network_service_connectable_to_string
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - G_NETWORK_SERVICE
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_network_service_connectable_to_string (GSocketConnectable
      *connectable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:77,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gemblem.c:86,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gemblem.c:90,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gemblem.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: g_emblem_get_property
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - g_value_set_object
    - 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - emblem
    argTypes:
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: g_emblem_init
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_emblem_init (GEmblem *emblem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:122,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gemblem.c:127,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gemblem.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: g_emblem_finalize
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_EMBLEM
    - g_object_unref
    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:231,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblem.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - emblem
    argTypes:
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: g_emblem_get_icon
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_EMBLEM
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_emblem_get_icon (GEmblem *emblem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:250,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblem.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - emblem
    argTypes:
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: g_emblem_get_origin
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_EMBLEM
    linkageType: ''
    returnType: GEmblemOrigin
    signature: 'GEmblemOrigin g_emblem_get_origin (GEmblem *emblem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:271,1
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:272,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/gemblem.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: g_emblem_equal
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - G_EMBLEM
    - g_icon_equal
    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:321,1
    - Dst: g_set_error
      Src: /src/glib/gio/gemblem.c:331,1
    - Dst: _
      Src: /src/glib/gio/gemblem.c:334,1
    - Dst: _
      Src: /src/glib/gio/gemblem.c:324,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/gemblem.c:339,1
    - Dst: atoi
      Src: /src/glib/gio/gemblem.c:344,1
    - Dst: g_emblem_new_with_origin
      Src: /src/glib/gio/gemblem.c:346,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gemblem.c:347,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblem.c:349,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - tokens
    - num_tokens
    - version
    - error
    argTypes:
    - gchar**
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 350
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 350
    functionName: g_emblem_from_tokens
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_icon_new_for_string
    - g_object_unref
    - atoi
    - g_emblem_new_with_origin
    - G_ICON
    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:101,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gemblem.c:106,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gemblem.c:114,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gemblem.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: g_emblem_set_property
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - g_value_get_enum
    - G_EMBLEM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:133,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gemblem.c:139,1
    - Dst: P_
      Src: /src/glib/gio/gemblem.c:143,1
    - Dst: P_
      Src: /src/glib/gio/gemblem.c:142,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gemblem.c:141,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gemblem.c:148,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gemblem.c:150,1
    - Dst: P_
      Src: /src/glib/gio/gemblem.c:151,1
    - Dst: P_
      Src: /src/glib/gio/gemblem.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GEmblemClass*
    constantsTouched: []
    func_position:
      end: 156
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 156
    functionName: g_emblem_class_init
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - P_
    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:258,1
    - Dst: g_emblem_get_icon
      Src: /src/glib/gio/gemblem.c:261,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblem.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: g_emblem_hash
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_emblem_get_icon
    - g_icon_hash
    - G_EMBLEM
    linkageType: ''
    returnType: guint
    signature: 'static guint g_emblem_hash (GIcon *icon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:283,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gemblem.c:299,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gemblem.c:301,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/gemblem.c:295,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:291,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gemblem.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - icon
    - tokens
    - out_version
    argTypes:
    - GIcon*
    - GPtrArray*
    - gint*
    constantsTouched: []
    func_position:
      end: 305
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 305
    functionName: g_emblem_to_tokens
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_icon_to_string
    - g_return_val_if_fail
    - 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:355,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gemblem.c:364,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/gemblem.c:364,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/gemblem.c:365,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gemblem.c:360,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gemblem.c:367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: g_emblem_serialize
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_icon_serialize
    - g_type_class_peek
    - g_variant_unref
    - g_enum_get_value
    - 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: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:178,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblem.c:180,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:179,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:180,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gemblem.c:179,1
    - Dst: g_object_new
      Src: /src/glib/gio/gemblem.c:182,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gemblem.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: g_emblem_new
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    - G_IS_ICON
    - G_IS_EMBLEM
    - g_return_val_if_fail
    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:206,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblem.c:208,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gemblem.c:207,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:208,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:207,1
    - Dst: g_object_new
      Src: /src/glib/gio/gemblem.c:210,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gemblem.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - icon
    - origin
    argTypes:
    - GIcon*
    - GEmblemOrigin
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: g_emblem_new_with_origin
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    - G_IS_ICON
    - G_IS_EMBLEM
    - g_return_val_if_fail
    linkageType: ''
    returnType: GEmblem*
    signature: 'GEmblem *g_emblem_new_with_origin (GIcon *icon, GEmblemOrigin origin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gfileinfo.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1300,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1300,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/gfileinfo.c:1304,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1302,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1301,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1307
    functionName: g_file_info_set_attribute_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_info_set_attribute_string_by_id
    - lookup_attribute
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1792,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1792,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gfileinfo.c:1797,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1794,1
    - Dst: _g_file_attribute_value_get_object
      Src: /src/glib/gio/gfileinfo.c:1796,1
    - Dst: G_ICON
      Src: /src/glib/gio/gfileinfo.c:1798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1800
    functionName: g_file_info_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_ICON
    - get_required_attribute
    - _g_file_attribute_value_get_object
    - G_IS_FILE_INFO
    - G_ICON
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_file_info_get_symbolic_icon (GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2280,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gfileinfo.c:2281,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2284,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2280,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2281,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2286,1
    - Dst: _g_file_attribute_value_set_object
      Src: /src/glib/gio/gfileinfo.c:2288,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfileinfo.c:2288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - info
    - icon
    argTypes:
    - GFileInfo*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 2289
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2289
    functionName: g_file_info_set_icon
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_ICON
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - _g_file_attribute_value_set_object
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_icon (GFileInfo *info,\t\t GIcon *icon) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2516,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2521,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2516,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2517,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2522,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2523,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2526,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2528,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/gio/gfileinfo.c:2528,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2529,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2531,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:2534,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/gfileinfo.c:2531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - info
    - creation_time
    argTypes:
    - GFileInfo*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2535
      start: 2509
    functionDepth: 0
    functionLinenumber: 2509
    functionLinenumberEnd: 2535
    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_date_time_to_unix
    - _g_file_attribute_value_set_uint32
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - g_date_time_get_microsecond
    - g_return_if_fail
    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:1316,1
    - Dst: _g_file_attribute_value_set_byte_string
      Src: /src/glib/gio/gfileinfo.c:1318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - char*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1319
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2475,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2475,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2480,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2481,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2476,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2482,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2485,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2487,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/gio/gfileinfo.c:2487,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2488,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/gfileinfo.c:2490,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2490,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:2493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - info
    - atime
    argTypes:
    - GFileInfo*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2494
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2494
    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_date_time_to_unix
    - _g_file_attribute_value_set_uint32
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - g_date_time_get_microsecond
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_set_access_date_time (GFileInfo *info, GDateTime
      *atime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:606,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:604,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: g_file_info_has_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    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:1494,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/gfileinfo.c:1497,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1498,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1495,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - guint64
    constantsTouched: []
    func_position:
      end: 1500
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1500
    functionName: g_file_info_set_attribute_uint64
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - lookup_attribute
    - _g_file_info_set_attribute_uint64_by_id
    - 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:2202,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2208,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2202,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2203,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2206,1
    - Dst: _g_file_attribute_value_set_byte_string
      Src: /src/glib/gio/gfileinfo.c:2210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - name
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2211
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2211
    functionName: g_file_info_set_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_byte_string
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_name (GFileInfo *info,\t\t const char *name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:583,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 585
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 585
    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:1475,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:1477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - guint64
    constantsTouched: []
    func_position:
      end: 1478
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1478
    functionName: _g_file_info_set_attribute_uint64_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_uint64
    - g_file_info_create_value
    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:2177,1
    - Dst: _g_file_attribute_value_set_boolean
      Src: /src/glib/gio/gfileinfo.c:2184,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2177,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2180,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - is_symlink
    argTypes:
    - GFileInfo*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2185
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2185
    functionName: g_file_info_set_is_symlink
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_attribute_value_set_boolean
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    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:1460,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1460,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1461,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1464,1
    - Dst: _g_file_info_set_attribute_int32_by_id
      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: 1466
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1466
    functionName: g_file_info_set_attribute_int32
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_info_set_attribute_int32_by_id
    - lookup_attribute
    - 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:1763,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gfileinfo.c:1768,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1765,1
    - Dst: _g_file_attribute_value_get_object
      Src: /src/glib/gio/gfileinfo.c:1767,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1763,1
    - Dst: G_ICON
      Src: /src/glib/gio/gfileinfo.c:1769,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1771
    functionName: g_file_info_get_icon
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_ICON
    - get_required_attribute
    - _g_file_attribute_value_get_object
    - G_IS_FILE_INFO
    - G_ICON
    - g_return_val_if_fail
    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:2254,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2258,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2260,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2254,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2255,1
    - Dst: _g_file_attribute_value_set_string
      Src: /src/glib/gio/gfileinfo.c:2262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - edit_name
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2263
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2263
    functionName: g_file_info_set_edit_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_attribute_value_set_string
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    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:2870,1
    - Dst: g_array_free
      Src: /src/glib/gio/gfileinfo.c:2875,1
    - Dst: g_free
      Src: /src/glib/gio/gfileinfo.c:2877,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gfileinfo.c:2872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 2880
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2880
    functionName: g_file_attribute_matcher_unref
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_array_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_attribute_matcher_unref (GFileAttributeMatcher *matcher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2623
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2623
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1441,1
    - Dst: _g_file_attribute_value_set_int32
      Src: /src/glib/gio/gfileinfo.c:1443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - gint32
    constantsTouched: []
    func_position:
      end: 1444
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1444
    functionName: _g_file_info_set_attribute_int32_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_int32
    - g_file_info_create_value
    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:1740,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:1743,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1742,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1744
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1744
    functionName: g_file_info_get_edit_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_string
    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:2228,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2228,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2232,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2234,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2229,1
    - Dst: _g_file_attribute_value_set_string
      Src: /src/glib/gio/gfileinfo.c:2236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - display_name
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2237
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2237
    functionName: g_file_info_set_display_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_attribute_value_set_string
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    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:2851,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gfileinfo.c:2852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 2855
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2855
    functionName: g_file_attribute_matcher_ref
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GFileAttributeMatcher*
    signature: 'GFileAttributeMatcher *g_file_attribute_matcher_ref (GFileAttributeMatcher
      *matcher) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:408,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:409,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:409,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileinfo.c:413,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:408,1
    - Dst: g_array_set_size
      Src: /src/glib/gio/gfileinfo.c:415,1
    - Dst: _g_file_attribute_value_set
      Src: /src/glib/gio/gfileinfo.c:425,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:429,1
    - Dst: g_file_attribute_matcher_ref
      Src: /src/glib/gio/gfileinfo.c:434,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - src_info
    - dest_info
    argTypes:
    - GFileInfo*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 435
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 435
    functionName: g_file_info_copy_into
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - _g_file_attribute_value_set
    - g_array_set_size
    - g_file_attribute_matcher_ref
    - G_IS_FILE_INFO
    - _g_file_attribute_value_clear
    - g_return_if_fail
    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:1819,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1819,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1821,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:1822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1823
    functionName: g_file_info_get_content_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_string
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_info_get_content_type (GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2308,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gfileinfo.c:2309,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2308,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2312,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2309,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2314,1
    - Dst: _g_file_attribute_value_set_object
      Src: /src/glib/gio/gfileinfo.c:2316,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfileinfo.c:2316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - info
    - icon
    argTypes:
    - GFileInfo*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 2317
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2317
    functionName: g_file_info_set_symbolic_icon
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_ICON
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - _g_file_attribute_value_set_object
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_set_symbolic_icon (GFileInfo *info, GIcon *icon) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:471,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:476,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:471,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:482,1
    - Dst: g_file_attribute_matcher_ref
      Src: /src/glib/gio/gfileinfo.c:477,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/gfileinfo.c:483,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileinfo.c:486,1
    - Dst: g_array_remove_index
      Src: /src/glib/gio/gfileinfo.c:487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - info
    - mask
    argTypes:
    - GFileInfo*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 492
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 492
    functionName: g_file_info_set_attribute_mask
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - g_array_remove_index
    - g_array_index
    - g_file_attribute_matcher_ref
    - G_IS_FILE_INFO
    - _g_file_attribute_value_clear
    - _g_file_attribute_matcher_matches_id
    - g_return_if_fail
    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:961,1
    - Dst: _g_file_attribute_value_get_byte_string
      Src: /src/glib/gio/gfileinfo.c:965,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:961,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:962,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 966
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 966
    functionName: g_file_info_get_attribute_byte_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_attribute_value_get_byte_string
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    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:3055,1
    - Dst: get_attribute_for_id
      Src: /src/glib/gio/gfileinfo.c:3061,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 3063
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3063
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:450,1
    - Dst: g_file_info_copy_into
      Src: /src/glib/gio/gfileinfo.c:453,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:450,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/gfileinfo.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: g_file_info_dup
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_copy_into
    - g_file_info_new
    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:847,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:848,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:847,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:850,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - status
    argTypes:
    - GFileInfo*
    - char*
    - GFileAttributeStatus
    constantsTouched: []
    func_position:
      end: 858
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 858
    functionName: g_file_info_set_attribute_status
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    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:1392,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1392,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1393,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1396,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gfileinfo.c:1395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1398
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1398
    functionName: g_file_info_set_attribute_boolean
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_info_set_attribute_boolean_by_id
    - lookup_attribute
    - 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:1718,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1720,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:1721,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1722
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1722
    functionName: g_file_info_get_display_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_string
    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:2059,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2059,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:2061,1
    - Dst: _g_file_attribute_value_get_byte_string
      Src: /src/glib/gio/gfileinfo.c:2062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 2063
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2063
    functionName: g_file_info_get_symlink_target
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - _g_file_attribute_value_get_byte_string
    - g_return_val_if_fail
    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:2649,1
    - Dst: g_array_sort
      Src: /src/glib/gio/gfileinfo.c:2663,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2667,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:2657,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2671,1
    - Dst: sub_matcher_matches
      Src: /src/glib/gio/gfileinfo.c:2672,1
    - Dst: g_array_set_size
      Src: /src/glib/gio/gfileinfo.c:2682,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 2685
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2685
    functionName: matcher_optimize
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - sub_matcher_matches
    - g_array_set_size
    - g_array_index
    - g_array_sort
    - g_array_free
    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:3001,1
    - Dst: lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:3010,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - matcher
    - ns
    argTypes:
    - GFileAttributeMatcher*
    - char*
    constantsTouched: []
    func_position:
      end: 3026
      start: 2993
    functionDepth: 0
    functionLinenumber: 2993
    functionLinenumberEnd: 3026
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1373,1
    - Dst: _g_file_attribute_value_set_boolean
      Src: /src/glib/gio/gfileinfo.c:1375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - gboolean
    constantsTouched: []
    func_position:
      end: 1376
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1376
    functionName: _g_file_info_set_attribute_boolean_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_boolean
    - g_file_info_create_value
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:2019,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2019,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:2027,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2024,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:2031,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:2031,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:2033,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:2035,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/gfileinfo.c:2037,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:2040,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:2037,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/gfileinfo.c:2038,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 2041
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2041
    functionName: g_file_info_get_creation_date_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_date_time_unref
    - G_IS_FILE_INFO
    - g_file_info_find_value
    - g_steal_pointer
    - lookup_attribute
    - g_return_val_if_fail
    - g_date_time_add
    - _g_file_attribute_value_get_uint32
    - _g_file_attribute_value_get_uint64
    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:813,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:813,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:816,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 821
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 821
    functionName: g_file_info_get_attribute_status
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    linkageType: ''
    returnType: GFileAttributeStatus
    signature: "GFileAttributeStatus g_file_info_get_attribute_status (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:1630,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1632,1
    - Dst: _g_file_attribute_value_get_boolean
      Src: /src/glib/gio/gfileinfo.c:1633,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1634
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1634
    functionName: g_file_info_get_is_hidden
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_boolean
    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:1696,1
    - Dst: _g_file_attribute_value_get_byte_string
      Src: /src/glib/gio/gfileinfo.c:1699,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1696,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1700
    functionName: g_file_info_get_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - _g_file_attribute_value_get_byte_string
    - g_return_val_if_fail
    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:2152,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2152,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2157,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2155,1
    - Dst: _g_file_attribute_value_set_boolean
      Src: /src/glib/gio/gfileinfo.c:2159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - is_hidden
    argTypes:
    - GFileInfo*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2160
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2160
    functionName: g_file_info_set_is_hidden
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_attribute_value_set_boolean
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_is_hidden (GFileInfo *info,\t\t\t gboolean is_hidden) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2392,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2392,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2393,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2398,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2397,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2399,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2402,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2404,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2405,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2407,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:2410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - info
    - mtime
    argTypes:
    - GFileInfo*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2411
    functionName: g_file_info_set_modification_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_uint64
    - _g_file_attribute_value_set_uint32
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - g_file_info_remove_value
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - matcher
    - submatcher
    argTypes:
    - SubMatcher*
    - SubMatcher*
    constantsTouched: []
    func_position:
      end: 2633
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2633
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2434,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2435,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2440,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2434,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2439,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2441,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2444,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2446,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/gio/gfileinfo.c:2446,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2447,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/gfileinfo.c:2449,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:2452,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - info
    - mtime
    argTypes:
    - GFileInfo*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2453
      start: 2412
    functionDepth: 0
    functionLinenumber: 2412
    functionLinenumberEnd: 2453
    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_date_time_to_unix
    - _g_file_attribute_value_set_uint32
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - g_date_time_get_microsecond
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1608,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1610,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1611,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1612
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1612
    functionName: g_file_info_get_file_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_uint32
    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:2127,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2134,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2130,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2132,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - type
    argTypes:
    - GFileInfo*
    - GFileType
    constantsTouched: []
    func_position:
      end: 2135
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2135
    functionName: g_file_info_set_file_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_uint32
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    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_create_value
      Src: /src/glib/gio/gfileinfo.c:1407,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:1409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - guint32
    constantsTouched: []
    func_position:
      end: 1410
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1410
    functionName: _g_file_info_set_attribute_uint32_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_uint32
    - g_file_info_create_value
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:3089,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:3094,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfileinfo.c:3099,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gfileinfo.c:3097,1
    - Dst: g_string_new
      Src: /src/glib/gio/gfileinfo.c:3091,1
    - Dst: get_attribute_for_id
      Src: /src/glib/gio/gfileinfo.c:3099,1
    - Dst: g_string_free
      Src: /src/glib/gio/gfileinfo.c:3102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 3103
      start: 3079
    functionDepth: 0
    functionLinenumber: 3079
    functionLinenumberEnd: 3103
    functionName: g_file_attribute_matcher_to_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_new
    - g_string_append
    - g_array_index
    - g_string_append_c
    - get_attribute_for_id
    - g_string_free
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_attribute_matcher_to_string (GFileAttributeMatcher *matcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/gfileinfo.c:989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 990
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - guint32
    constantsTouched: []
    func_position:
      end: 559
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 559
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1265,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1265,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1267,1
    - Dst: _g_file_info_set_attribute_stringv_by_id
      Src: /src/glib/gio/gfileinfo.c:1269,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1266,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1272
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1272
    functionName: g_file_info_set_attribute_stringv
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_info_set_attribute_stringv_by_id
    - lookup_attribute
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_find_place
      Src: /src/glib/gio/gfileinfo.c:568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - info
    - attr_id
    argTypes:
    - GFileInfo*
    - guint32
    constantsTouched: []
    func_position:
      end: 575
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 575
    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:1281,1
    - Dst: _g_file_attribute_value_set_string
      Src: /src/glib/gio/gfileinfo.c:1283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - char*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1284
    functionName: _g_file_info_set_attribute_string_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_string
    - g_file_info_create_value
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:777,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:778,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:777,1
    - Dst: _g_file_attribute_value_peek_as_pointer
      Src: /src/glib/gio/gfileinfo.c:791,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:780,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: 794
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 794
    functionName: g_file_info_get_attribute_data
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_attribute_value_peek_as_pointer
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_info_get_attribute_data (GFileInfo *info,\t\t\t\tconst
      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:889,1
    - Dst: _g_file_attribute_value_as_string
      Src: /src/glib/gio/gfileinfo.c:891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 893
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 893
    functionName: g_file_info_get_attribute_as_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_as_string
    - _g_file_info_get_attribute_value
    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:937,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:941,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:937,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:938,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 942
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 942
    functionName: g_file_info_get_attribute_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    - _g_file_attribute_value_get_string
    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_LOCK
      Src: /src/glib/gio/gfileinfo.c:305,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gfileinfo.c:314,1
    - Dst: ensure_attribute_hash
      Src: /src/glib/gio/gfileinfo.c:307,1
    - Dst: _lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - namespace
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 317
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 317
    functionName: lookup_namespace
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _lookup_namespace
    - ensure_attribute_hash
    - G_UNLOCK
    - 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:746,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:746,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:751,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:749,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 752
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 752
    functionName: g_file_info_remove_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_file_info_remove_value
    - lookup_attribute
    - 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:865,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:865,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:866,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 869
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 869
    functionName: _g_file_info_get_attribute_value
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    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_if_fail
      Src: /src/glib/gio/gfileinfo.c:1195,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1198,1
    - Dst: _g_file_info_set_attribute_by_id
      Src: /src/glib/gio/gfileinfo.c:1198,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1195,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - info
    - attribute
    - type
    - value_p
    argTypes:
    - GFileInfo*
    - char*
    - GFileAttributeType
    - gpointer
    constantsTouched: []
    func_position:
      end: 1199
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1199
    functionName: g_file_info_set_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_info_set_attribute_by_id
    - lookup_attribute
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:913,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:914,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:916,1
    - Dst: _g_file_attribute_value_get_object
      Src: /src/glib/gio/gfileinfo.c:917,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:913,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 918
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 918
    functionName: g_file_info_get_attribute_object
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    - _g_file_attribute_value_get_object
    linkageType: ''
    returnType: GObject*
    signature: "GObject *g_file_info_get_attribute_object (GFileInfo *info,\t\t\t\t
      const char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gfileinfo.c:323,1
    - Dst: GET_ID
      Src: /src/glib/gio/gfileinfo.c:324,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gfileinfo.c:325,1
    - Dst: GET_NS
      Src: /src/glib/gio/gfileinfo.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: get_attribute_for_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - GET_NS
    - G_UNLOCK
    - GET_ID
    - G_LOCK
    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:1208,1
    - Dst: _g_file_attribute_value_set_object
      Src: /src/glib/gio/gfileinfo.c:1210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - GObject*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1211
    functionName: _g_file_info_set_attribute_object_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_object
    - g_file_info_create_value
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1426,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1426,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1427,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1430,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/gfileinfo.c:1429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - guint32
    constantsTouched: []
    func_position:
      end: 1432
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1432
    functionName: g_file_info_set_attribute_uint32
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_info_set_attribute_uint32_by_id
    - lookup_attribute
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileinfo.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileInfoClass*
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    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:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1872,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1877,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1878,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1872,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1873,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1881,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gfileinfo.c:1883,1
    - Dst: g_critical
      Src: /src/glib/gio/gfileinfo.c:1885,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gfileinfo.c:1887,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1890,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1892,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - info
    - result
    argTypes:
    - GFileInfo*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 1893
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1893
    functionName: g_file_info_get_modification_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_critical
    - G_IS_FILE_INFO
    - g_file_info_find_value
    - lookup_attribute
    - g_return_if_reached
    - _g_file_attribute_value_get_uint64
    - _g_file_attribute_value_get_uint32
    - g_return_if_fail
    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:2965,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2974,1
    - Dst: matcher_matches_id
      Src: /src/glib/gio/gfileinfo.c:2974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - matcher
    - attribute
    argTypes:
    - GFileAttributeMatcher*
    - char*
    constantsTouched: []
    func_position:
      end: 2975
      start: 2961
    functionDepth: 0
    functionLinenumber: 2961
    functionLinenumberEnd: 2975
    functionName: g_file_attribute_matcher_matches
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - matcher_matches_id
    - lookup_attribute
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_attribute_matcher_matches (GFileAttributeMatcher *matcher,\t\t\t\t
      const char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/gio/gfileinfo.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1574,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1574,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:1580,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1579,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1577,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/gio/gfileinfo.c:1584,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/gio/gfileinfo.c:1585,1
    - Dst: g_time_zone_unref
      Src: /src/glib/gio/gfileinfo.c:1586,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1588,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1589
    functionName: g_file_info_get_deletion_date
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - _g_file_attribute_value_get_string
    - G_IS_FILE_INFO
    - g_file_info_find_value
    - g_time_zone_new_local
    - g_steal_pointer
    - lookup_attribute
    - g_date_time_new_from_iso8601
    - g_return_val_if_fail
    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:1843,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1846,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1843,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1847
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1847
    functionName: g_file_info_get_size
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_uint64
    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:2105,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:2107,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2105,1
    - Dst: _g_file_attribute_value_get_int32
      Src: /src/glib/gio/gfileinfo.c:2108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 2109
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2109
    functionName: g_file_info_get_sort_order
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_int32
    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:2947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - matcher
    - id
    argTypes:
    - GFileAttributeMatcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 2948
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2948
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gfileinfo.c:137,1
    - Dst: g_new0
      Src: /src/glib/gio/gfileinfo.c:140,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:142,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gfileinfo.c:142,1
    - Dst: g_realloc
      Src: /src/glib/gio/gfileinfo.c:143,1
    - Dst: g_new
      Src: /src/glib/gio/gfileinfo.c:144,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gfileinfo.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - namespace
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: _lookup_namespace
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_realloc
    - g_new0
    - g_hash_table_insert
    - g_new
    - g_strconcat
    - g_hash_table_lookup
    linkageType: ''
    returnType: NSInfo*
    signature: 'static NSInfo *_lookup_namespace (const char *namespace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:1034,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1035,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1037,1
    - Dst: _g_file_attribute_value_get_boolean
      Src: /src/glib/gio/gfileinfo.c:1038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1039
    functionName: g_file_info_get_attribute_boolean
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    - _g_file_attribute_value_get_boolean
    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:1082,1
    - Dst: _g_file_attribute_value_get_int32
      Src: /src/glib/gio/gfileinfo.c:1086,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1083,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1085,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1082,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1087
    functionName: g_file_info_get_attribute_int32
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    - _g_file_attribute_value_get_int32
    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:1130,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1131,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1133,1
    - Dst: _g_file_attribute_value_get_int64
      Src: /src/glib/gio/gfileinfo.c:1134,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1135
    functionName: g_file_info_get_attribute_int64
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_attribute_value_get_int64
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    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:2082,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2082,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:2084,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:2085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 2086
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2086
    functionName: g_file_info_get_etag
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_string
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_info_get_etag (GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gfileinfo.c:158,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:167,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gfileinfo.c:158,1
    - Dst: strstr
      Src: /src/glib/gio/gfileinfo.c:163,1
    - Dst: g_strndup
      Src: /src/glib/gio/gfileinfo.c:165,1
    - Dst: _lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:169,1
    - Dst: g_free
      Src: /src/glib/gio/gfileinfo.c:170,1
    - Dst: g_realloc
      Src: /src/glib/gio/gfileinfo.c:173,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:174,1
    - Dst: MAKE_ATTR_ID
      Src: /src/glib/gio/gfileinfo.c:176,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gfileinfo.c:178,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gfileinfo.c:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: _lookup_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_realloc
    - g_free
    - GPOINTER_TO_UINT
    - MAKE_ATTR_ID
    - g_strndup
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - _lookup_namespace
    - strstr
    - g_hash_table_lookup
    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:1011,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1011,1
    - Dst: _g_file_attribute_value_get_stringv
      Src: /src/glib/gio/gfileinfo.c:1015,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1012,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1016
    functionName: g_file_info_get_attribute_stringv
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    - _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:1058,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1061,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1058,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1062,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1059,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1063
    functionName: g_file_info_get_attribute_uint32
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    - _g_file_attribute_value_get_uint32
    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:1106,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1106,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1110,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1107,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1111
    functionName: g_file_info_get_attribute_uint64
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    - _g_file_attribute_value_get_uint64
    linkageType: ''
    returnType: guint64
    signature: "guint64 g_file_info_get_attribute_uint64 (GFileInfo *info,\t\t\t\t
      const char *attribute) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:665,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:668,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gfileinfo.c:670,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:668,1
    - Dst: GET_NS
      Src: /src/glib/gio/gfileinfo.c:675,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfileinfo.c:676,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:676,1
    - Dst: get_attribute_for_id
      Src: /src/glib/gio/gfileinfo.c:676,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfileinfo.c:680,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gfileinfo.c:682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - info
    - name_space
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 683
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 683
    functionName: g_file_info_list_attributes
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - lookup_namespace
    - g_ptr_array_free
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - get_attribute_for_id
    - g_ptr_array_new
    - g_ptr_array_add
    - GET_NS
    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:1529,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1530,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1533,1
    - Dst: _g_file_info_set_attribute_int64_by_id
      Src: /src/glib/gio/gfileinfo.c:1532,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - gint64
    constantsTouched: []
    func_position:
      end: 1535
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1535
    functionName: g_file_info_set_attribute_int64
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_info_set_attribute_int64_by_id
    - lookup_attribute
    - 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:2334,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2335,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2334,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2338,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2340,1
    - Dst: _g_file_attribute_value_set_string
      Src: /src/glib/gio/gfileinfo.c:2342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - content_type
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2343
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2343
    functionName: g_file_info_set_content_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_attribute_value_set_string
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    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:2578,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2578,1
    - Dst: _g_file_attribute_value_set_int32
      Src: /src/glib/gio/gfileinfo.c:2585,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2583,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - sort_order
    argTypes:
    - GFileInfo*
    - gint32
    constantsTouched: []
    func_position:
      end: 2586
      start: 2571
    functionDepth: 0
    functionLinenumber: 2571
    functionLinenumberEnd: 2586
    functionName: g_file_info_set_sort_order
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_attribute_value_set_int32
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_sort_order (GFileInfo *info,\t\t\t gint32 sort_order) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:631,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:632,1
    - Dst: GET_NS
      Src: /src/glib/gio/gfileinfo.c:639,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:631,1
    - Dst: lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:634,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - info
    - name_space
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 644
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 644
    functionName: g_file_info_has_namespace
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - lookup_namespace
    - GET_NS
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_info_has_namespace (GFileInfo *info,\t\t\t const char
      *name_space) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1509,1
    - Dst: _g_file_attribute_value_set_int64
      Src: /src/glib/gio/gfileinfo.c:1511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - gint64
    constantsTouched: []
    func_position:
      end: 1512
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1512
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2552,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2552,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2558,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2553,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2556,1
    - Dst: _g_file_attribute_value_set_byte_string
      Src: /src/glib/gio/gfileinfo.c:2560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - symlink_target
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2561
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2561
    functionName: g_file_info_set_symlink_target
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_byte_string
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_symlink_target (GFileInfo *info,\t\t\t\tconst
      char *symlink_target) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gfileinfo.c:189,1
    - Dst: _lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:194,1
    - Dst: g_assert
      Src: /src/glib/gio/gfileinfo.c:196,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gfileinfo.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 197
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 197
    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:334,1
    - Dst: ensure_attribute_hash
      Src: /src/glib/gio/gfileinfo.c:335,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gfileinfo.c:339,1
    - Dst: _lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 342
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 342
    functionName: lookup_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - ensure_attribute_hash
    - _lookup_attribute
    - G_LOCK
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 lookup_attribute (const char *attribute) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:523,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 528
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 528
    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:2795,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gfileinfo.c:2801,1
    - Dst: g_file_attribute_matcher_ref
      Src: /src/glib/gio/gfileinfo.c:2799,1
    - Dst: g_array_new
      Src: /src/glib/gio/gfileinfo.c:2803,1
    - Dst: g_assert
      Src: /src/glib/gio/gfileinfo.c:2806,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2807,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2811,1
    - Dst: sub_matcher_matches
      Src: /src/glib/gio/gfileinfo.c:2814,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2821,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gfileinfo.c:2825,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2830,1
    - Dst: g_array_append_vals
      Src: /src/glib/gio/gfileinfo.c:2829,1
    - Dst: matcher_optimize
      Src: /src/glib/gio/gfileinfo.c:2833,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 2
    argNames:
    - matcher
    - subtract
    argTypes:
    - GFileAttributeMatcher*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 2836
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2836
    functionName: g_file_attribute_matcher_subtract
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_array_append_vals
    - sub_matcher_matches
    - g_malloc0
    - g_assert
    - g_array_index
    - g_array_new
    - g_file_attribute_matcher_ref
    - g_array_append_val
    - matcher_optimize
    linkageType: ''
    returnType: GFileAttributeMatcher*
    signature: 'GFileAttributeMatcher *g_file_attribute_matcher_subtract (GFileAttributeMatcher
      *matcher, GFileAttributeMatcher *subtract) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:2899,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2910,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2908,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - matcher
    - attribute
    argTypes:
    - GFileAttributeMatcher*
    - char*
    constantsTouched: []
    func_position:
      end: 2914
      start: 2892
    functionDepth: 0
    functionLinenumber: 2892
    functionLinenumberEnd: 2914
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:351,1
    - Dst: g_array_free
      Src: /src/glib/gio/gfileinfo.c:356,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:359,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileinfo.c:355,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileinfo.c:361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: g_file_info_finalize
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - _g_file_attribute_value_clear
    - g_array_free
    - G_FILE_INFO
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_info_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - matcher
    - id
    argTypes:
    - GFileAttributeMatcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 2934
      start: 2916
    functionDepth: 0
    functionLinenumber: 2916
    functionLinenumberEnd: 2934
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:504,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:507,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: g_file_info_unset_attribute_mask
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_file_attribute_matcher_unref
    - 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:2724,1
    - Dst: strcmp
      Src: /src/glib/gio/gfileinfo.c:2732,1
    - Dst: g_array_new
      Src: /src/glib/gio/gfileinfo.c:2726,1
    - Dst: strstr
      Src: /src/glib/gio/gfileinfo.c:2738,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gfileinfo.c:2728,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2744,1
    - Dst: lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:2752,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gfileinfo.c:2756,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gfileinfo.c:2760,1
    - Dst: matcher_optimize
      Src: /src/glib/gio/gfileinfo.c:2762,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2765
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2765
    functionName: g_file_attribute_matcher_new
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - lookup_namespace
    - g_malloc0
    - g_array_new
    - g_array_append_val
    - g_strsplit
    - strstr
    - g_strfreev
    - lookup_attribute
    - strcmp
    - matcher_optimize
    linkageType: ''
    returnType: GFileAttributeMatcher*
    signature: 'GFileAttributeMatcher *g_file_attribute_matcher_new (const char *attributes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/gfileinfo.c:1145,1
    - Dst: g_array_insert_val
      Src: /src/glib/gio/gfileinfo.c:1158,1
    - Dst: g_file_info_find_place
      Src: /src/glib/gio/gfileinfo.c:1148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - info
    - attr_id
    argTypes:
    - GFileInfo*
    - guint32
    constantsTouched: []
    func_position:
      end: 1163
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1163
    functionName: g_file_info_create_value
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_array_insert_val
    - _g_file_attribute_matcher_matches_id
    - g_file_info_find_place
    linkageType: ''
    returnType: GFileAttributeValue*
    signature: "static GFileAttributeValue *g_file_info_create_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:1173,1
    - Dst: _g_file_attribute_value_set_from_pointer
      Src: /src/glib/gio/gfileinfo.c:1176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - info
    - attribute
    - type
    - value_p
    argTypes:
    - GFileInfo*
    - guint32
    - GFileAttributeType
    - gpointer
    constantsTouched: []
    func_position:
      end: 1177
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1177
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1674,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1674,1
    - Dst: _g_file_attribute_value_get_boolean
      Src: /src/glib/gio/gfileinfo.c:1677,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1678
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1678
    functionName: g_file_info_get_is_symlink
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_info_get_is_symlink (GFileInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1970,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1970,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1975,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1978,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1974,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/gio/gfileinfo.c:1982,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1982,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1984,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1986,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/gfileinfo.c:1988,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1991,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1988,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/gfileinfo.c:1989,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1992
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1992
    functionName: g_file_info_get_access_date_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_date_time_unref
    - G_IS_FILE_INFO
    - g_file_info_find_value
    - g_steal_pointer
    - lookup_attribute
    - g_return_val_if_fail
    - g_date_time_add
    - _g_file_attribute_value_get_uint32
    - _g_file_attribute_value_get_uint64
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_file_info_get_access_date_time (GFileInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1921,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1926,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1929,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1925,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1921,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/gio/gfileinfo.c:1933,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1933,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1935,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1937,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/gfileinfo.c:1939,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1939,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1942,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/gfileinfo.c:1940,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1943
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1943
    functionName: g_file_info_get_modification_date_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_date_time_unref
    - G_IS_FILE_INFO
    - g_file_info_find_value
    - g_steal_pointer
    - lookup_attribute
    - g_return_val_if_fail
    - g_date_time_add
    - _g_file_attribute_value_get_uint32
    - _g_file_attribute_value_get_uint64
    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_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:701,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:702,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:704,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:701,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 709
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 709
    functionName: g_file_info_get_attribute_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_val_if_fail
    - g_file_info_find_value_by_name
    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_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1227,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1228,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gfileinfo.c:1229,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1227,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1229,1
    - Dst: _g_file_info_set_attribute_object_by_id
      Src: /src/glib/gio/gfileinfo.c:1231,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - GObject*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1234
    functionName: g_file_info_set_attribute_object
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_OBJECT
    - G_IS_FILE_INFO
    - lookup_attribute
    - _g_file_info_set_attribute_object_by_id
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/glib/gio/gfileinfo.c:1363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1364
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1652,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1654,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1652,1
    - Dst: _g_file_attribute_value_get_boolean
      Src: /src/glib/gio/gfileinfo.c:1655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1656
    functionName: g_file_info_get_is_backup
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_info_get_is_backup (GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/gfileinfo.c:719,1
    - Dst: g_array_remove_index
      Src: /src/glib/gio/gfileinfo.c:729,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileinfo.c:728,1
    - Dst: g_file_info_find_place
      Src: /src/glib/gio/gfileinfo.c:722,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - info
    - attr_id
    argTypes:
    - GFileInfo*
    - guint32
    constantsTouched: []
    func_position:
      end: 731
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 731
    functionName: g_file_info_remove_value
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_array_remove_index
    - _g_file_attribute_value_clear
    - _g_file_attribute_matcher_matches_id
    - g_file_info_find_place
    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:1243,1
    - Dst: _g_file_attribute_value_set_stringv
      Src: /src/glib/gio/gfileinfo.c:1245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - char**
    constantsTouched: []
    func_position:
      end: 1246
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1246
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1335,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1337,1
    - Dst: _g_file_info_set_attribute_byte_string_by_id
      Src: /src/glib/gio/gfileinfo.c:1339,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1336,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1335,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: g_file_info_set_attribute_byte_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - _g_file_info_set_attribute_byte_string_by_id
    - lookup_attribute
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2360,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2367,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2365,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2363,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - size
    argTypes:
    - GFileInfo*
    - goffset
    constantsTouched: []
    func_position:
      end: 2368
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2368
    functionName: g_file_info_set_size
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_uint64
    - G_IS_FILE_INFO
    - g_file_info_create_value
    - lookup_attribute
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_size (GFileInfo *info,\t\t goffset size) "
  - 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: 2
    argNames:
    - filename
    - len
    argTypes:
    - gunichar2*
    - gssize
    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: 2
    argNames:
    - str
    - wchr
    argTypes:
    - gunichar2*
    - wchar_t
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giowin32-private.c:38,1
    - Dst: g_memdup2
      Src: /src/glib/gio/giowin32-private.c:48,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/giowin32-private.c:41,1
    - Dst: g_assert
      Src: /src/glib/gio/giowin32-private.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - gunichar2*
    - gssize
    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: 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_utf8_casefold
      Src: /src/glib/gio/giowin32-private.c:74,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giowin32-private.c:77,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_steal_pointer
    - g_utf16_to_utf8
    - g_utf8_casefold
    - g_free
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/giowin32-private.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - filename
    - len
    argTypes:
    - gchar*
    - gssize
    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_strcmp0
      Src: /src/glib/gio/giowin32-private.c:302,1
    - Dst: _g_win32_parse_filename
      Src: /src/glib/gio/giowin32-private.c:343,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giowin32-private.c:395,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giowin32-private.c:373,1
    - Dst: g_free
      Src: /src/glib/gio/giowin32-private.c:398,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/giowin32-private.c:370,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_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_assert
      Src: /src/glib/gio/giowin32-private.c:290,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giowin32-private.c:304,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_assert
      Src: /src/glib/gio/giowin32-private.c:368,1
    - Dst: g_free
      Src: /src/glib/gio/giowin32-private.c:375,1
    - Dst: g_utf8_find_basename
      Src: /src/glib/gio/giowin32-private.c:403,1
    - 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_steal_pointer
      Src: /src/glib/gio/giowin32-private.c:405,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_utf16_wchr
    - g_free
    - g_assert
    - _g_win32_parse_filename
    - g_strcmp0
    - g_utf16_len
    - g_utf8_find_basename
    - g_utf16_to_utf8_and_fold
    - g_steal_pointer
    - g_str_has_suffix
    - 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:99,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:99,1
    - Dst: g_unix_fd_message_new
      Src: /src/glib/gio/gunixconnection.c:102,1
    - Dst: g_unix_fd_message_append_fd
      Src: /src/glib/gio/gunixconnection.c:104,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:100,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:104,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:106,1
    - Dst: g_object_get
      Src: /src/glib/gio/gunixconnection.c:110,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/gunixconnection.c:111,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:114,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:121,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:120,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:126,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:115,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - connection
    - fd
    - cancellable
    - error
    argTypes:
    - GUnixConnection*
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 129
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 129
    functionName: g_unix_connection_send_fd
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_UNIX_CONNECTION
    - g_unix_fd_message_append_fd
    - g_object_unref
    - g_socket_send_message
    - g_unix_fd_message_new
    - g_set_error_literal
    - g_return_val_if_fail
    - G_UNIX_FD_MESSAGE
    - g_object_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_connection_send_fd (GUnixConnection *connection, gint
      fd, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:160,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:160,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:196,1
    - Dst: g_unix_fd_message_steal_fds
      Src: /src/glib/gio/gunixconnection.c:206,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:203,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gunixconnection.c:214,1
    - Dst: close
      Src: /src/glib/gio/gunixconnection.c:221,1
    - Dst: g_object_get
      Src: /src/glib/gio/gunixconnection.c:162,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:197,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:240,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:241,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gunixconnection.c:163,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:178,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:207,1
    - Dst: G_IS_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:193,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:195,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:233,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:234,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:167,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:172,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gunixconnection.c:179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:186,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:198,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:204,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:213,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:223,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:229,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GUnixConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 244
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 244
    functionName: g_unix_connection_receive_fd
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_UNIX_FD_MESSAGE
    - g_free
    - G_IS_UNIX_CONNECTION
    - _
    - g_object_unref
    - g_dngettext
    - close
    - g_unix_fd_message_steal_fds
    - g_socket_receive_message
    - g_set_error_literal
    - g_return_val_if_fail
    - G_UNIX_FD_MESSAGE
    - g_object_get
    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:405,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gunixconnection.c:408,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:405,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gunixconnection.c:410,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:411,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: 412
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: send_credentials_async_thread
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_unix_connection_send_credentials
    - g_object_unref
    - g_task_return_boolean
    - g_task_return_error
    - G_UNIX_CONNECTION
    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:519,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gunixconnection.c:566,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixconnection.c:556,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:610,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:613,1
    - Dst: g_unix_credentials_message_get_credentials
      Src: /src/glib/gio/gunixconnection.c:617,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixconnection.c:651,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:513,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:514,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:541,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixconnection.c:558,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:586,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:583,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gunixconnection.c:567,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:554,1
    - Dst: g_socket_get_credentials
      Src: /src/glib/gio/gunixconnection.c:633,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:649,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:662,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:513,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gunixconnection.c:531,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixconnection.c:540,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gunixconnection.c:547,1
    - Dst: g_unix_credentials_message_is_supported
      Src: /src/glib/gio/gunixconnection.c:591,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:597,1
    - Dst: G_IS_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:608,1
    - Dst: G_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:617,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:624,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gunixconnection.c:642,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixconnection.c:653,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:538,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixconnection.c:542,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:557,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gunixconnection.c:600,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixconnection.c:618,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:627,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:652,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:663,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:665,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 83
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GUnixConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 667
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 667
    functionName: g_unix_connection_receive_credentials
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_UNIX_CONNECTION
    - g_return_val_if_fail
    - g_io_error_from_errno
    - g_strerror
    - g_object_unref
    - g_unix_credentials_message_get_credentials
    - g_socket_set_option
    - g_set_error_literal
    - g_object_ref
    - g_unix_credentials_message_is_supported
    - G_UNIX_CREDENTIALS_MESSAGE
    - g_dngettext
    - g_socket_receive_message
    - g_socket_get_option
    - g_set_error
    - g_free
    - g_type_ensure
    - G_IS_UNIX_CREDENTIALS_MESSAGE
    - g_socket_get_credentials
    - g_object_get
    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:678,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gunixconnection.c:682,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:678,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gunixconnection.c:684,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:685,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: 686
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 686
    functionName: receive_credentials_async_thread
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_pointer
    - g_task_return_error
    - G_UNIX_CONNECTION
    - g_unix_connection_receive_credentials
    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:738,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gunixconnection.c:740,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gunixconnection.c:738,1
    - Dst: G_TASK
      Src: /src/glib/gio/gunixconnection.c:740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - result
    - error
    argTypes:
    - GUnixConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 741
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 741
    functionName: g_unix_connection_receive_credentials_finish
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    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:351,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gunixconnection.c:356,1
    - Dst: g_unix_credentials_message_is_supported
      Src: /src/glib/gio/gunixconnection.c:361,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:352,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:351,1
    - Dst: g_unix_credentials_message_new_with_credentials
      Src: /src/glib/gio/gunixconnection.c:363,1
    - Dst: g_object_get
      Src: /src/glib/gio/gunixconnection.c:372,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/gunixconnection.c:373,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gunixconnection.c:383,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:383,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:393,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:392,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:390,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GUnixConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 395
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 395
    functionName: g_unix_connection_send_credentials
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_unix_credentials_message_is_supported
    - G_IS_UNIX_CONNECTION
    - _
    - g_credentials_new
    - g_object_unref
    - g_socket_send_message
    - g_prefix_error
    - g_unix_credentials_message_new_with_credentials
    - g_return_val_if_fail
    - g_object_get
    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: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    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:440,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gunixconnection.c:442,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gunixconnection.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - connection
    - cancellable
    - callback
    - user_data
    argTypes:
    - GUnixConnection*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 443
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 443
    functionName: g_unix_connection_send_credentials_async
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_task_run_in_thread
    - g_task_new
    - 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:463,1
    - Dst: G_TASK
      Src: /src/glib/gio/gunixconnection.c:465,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gunixconnection.c:465,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gunixconnection.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - result
    - error
    argTypes:
    - GUnixConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: g_unix_connection_send_credentials_finish
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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:714,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gunixconnection.c:716,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gunixconnection.c:715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - connection
    - cancellable
    - callback
    - user_data
    argTypes:
    - GUnixConnection*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 717
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 717
    functionName: g_unix_connection_receive_credentials_async
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_task_run_in_thread
    - g_task_new
    - 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: 1
    argNames:
    - fd
    argTypes:
    - int
    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_object_new
    - G_FILE_INPUT_STREAM
    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: g_set_error
      Src: /src/glib/gio/glocalfileinputstream.c:193,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfileinputstream.c:189,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinputstream.c:195,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinputstream.c:194,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_close
    - _
    - g_strerror
    - g_io_error_from_errno
    - 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: seek_type_to_lseek
      Src: /src/glib/gio/glocalfileinputstream.c:265,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: _
      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
    - _
    - lseek
    - g_strerror
    - seek_type_to_lseek
    - g_io_error_from_errno
    - 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_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_FILE_INPUT_STREAM_CLASS
    - G_INPUT_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_input_stream_class_init (GLocalFileInputStreamClass
      *klass) '
  - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileinputstream.c:147,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinputstream.c:163,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_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileinputstream.c:152,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_strerror
    - g_cancellable_set_error_if_cancelled
    - read
    - g_io_error_from_errno
    - 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: 4
    argNames:
    - stream
    - attributes
    - cancellable
    - error
    argTypes:
    - GFileInputStream*
    - char*
    - GCancellable*
    - GError**
    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_info_get_from_fd
    - G_LOCAL_FILE_INPUT_STREAM
    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_strdup
      Src: /src/glib/gio/gio-tool-monitor.c:79,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_print
      Src: /src/glib/gio/gio-tool-monitor.c:134,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:64,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: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:132,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/gio-tool-monitor.c:66,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: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_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_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_path
      Src: /src/glib/gio/gio-tool-monitor.c:67,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_print
      Src: /src/glib/gio/gio-tool-monitor.c:86,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_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_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_strdup
    - g_file_get_uri
    - g_free
    - g_assert
    - g_file_get_path
    - g_assert_not_reached
    - g_file_is_native
    - g_print
    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_info_get_attribute_uint32
      Src: /src/glib/gio/gio-tool-monitor.c:165,1
    - Dst: g_file_monitor_directory
      Src: /src/glib/gio/gio-tool-monitor.c:170,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gio-tool-monitor.c:161,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_strdup
    - g_signal_connect
    - print_file_error
    - g_error_free
    - g_file_info_get_attribute_uint32
    - g_object_unref
    - G_CALLBACK
    - g_file_monitor_directory
    - g_file_query_info
    - g_file_monitor
    - g_file_new_for_commandline_arg
    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_free
      Src: /src/glib/gio/gio-tool-monitor.c:207,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:224,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-monitor.c:231,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gio-tool-monitor.c:276,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-monitor.c:209,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-monitor.c:211,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-monitor.c:220,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-monitor.c:216,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-monitor.c:235,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-monitor.c:230,1
    - Dst: add_watch
      Src: /src/glib/gio/gio-tool-monitor.c:257,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_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: _
      Src: /src/glib/gio/gio-tool-monitor.c:230,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-monitor.c:222,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-monitor.c:206,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-monitor.c:205,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-monitor.c:223,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
    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:
    - add_watch
    - g_option_context_new
    - _
    - g_set_prgname
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - g_option_context_parse
    - g_error_free
    - g_option_context_add_main_entries
    - g_strdup_printf
    - g_main_context_iteration
    - g_option_context_set_help_enabled
    - show_help
    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:262,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileiostream.c:265,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:262,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:263,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileiostream.c:263,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileiostream.c:267,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileiostream.c:268,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileiostream.c:268,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GFileIOStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 272
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 272
    functionName: g_file_io_stream_query_info_finish
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - G_IS_FILE_IO_STREAM
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:318,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:320,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 327
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 327
    functionName: g_file_io_stream_tell
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_IO_STREAM
    - G_FILE_IO_STREAM_GET_CLASS
    - g_return_val_if_fail
    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:341,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:341,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: g_file_io_stream_can_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_IO_STREAM
    - G_FILE_IO_STREAM_GET_CLASS
    - g_return_val_if_fail
    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:373,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:375,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:376,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileiostream.c:380,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:373,1
    - Dst: _
      Src: /src/glib/gio/gfileiostream.c:381,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/gfileiostream.c:385,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileiostream.c:389,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileiostream.c:394,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/gfileiostream.c:396,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: 399
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 399
    functionName: g_file_io_stream_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - G_IO_STREAM
    - _
    - g_cancellable_pop_current
    - g_io_stream_set_pending
    - g_io_stream_clear_pending
    - g_cancellable_push_current
    - G_IS_FILE_IO_STREAM
    - g_set_error_literal
    - g_return_val_if_fail
    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:449,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:451,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:449,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:452,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileiostream.c:456,1
    - Dst: _
      Src: /src/glib/gio/gfileiostream.c:457,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/gfileiostream.c:461,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileiostream.c:465,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileiostream.c:470,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/gfileiostream.c:472,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - stream
    - size
    - cancellable
    - error
    argTypes:
    - GFileIOStream*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 475
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 475
    functionName: g_file_io_stream_truncate
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - G_IO_STREAM
    - _
    - g_cancellable_pop_current
    - g_io_stream_set_pending
    - g_io_stream_clear_pending
    - g_cancellable_push_current
    - G_IS_FILE_IO_STREAM
    - g_set_error_literal
    - g_return_val_if_fail
    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_tell
      Src: /src/glib/gio/gfileiostream.c:332,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    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_seek
      Src: /src/glib/gio/gfileiostream.c:359,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: g_file_io_stream_seekable_can_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_file_io_stream_can_seek
    - G_FILE_IO_STREAM
    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:408,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:408,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: 410
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 410
    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:483,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - seekable
    - size
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 485
    functionName: g_file_io_stream_seekable_truncate
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_file_io_stream_truncate
    - G_FILE_IO_STREAM
    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: 664
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 664
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:151,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/gfileiostream.c:155,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:153,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:151,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileiostream.c:161,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:163,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileiostream.c:167,1
    - Dst: _
      Src: /src/glib/gio/gfileiostream.c:168,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileiostream.c:171,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/gfileiostream.c:173,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 4
    argNames:
    - stream
    - attributes
    - cancellable
    - error
    argTypes:
    - GFileIOStream*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: g_file_io_stream_query_info
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - G_IO_STREAM
    - _
    - g_cancellable_pop_current
    - g_io_stream_set_pending
    - g_io_stream_clear_pending
    - g_cancellable_push_current
    - G_IS_FILE_IO_STREAM
    - g_set_error_literal
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:496,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:497,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:496,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gfileiostream.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 500
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 500
    functionName: g_file_io_stream_real_tell
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE
    - G_IO_STREAM
    - g_seekable_tell
    - g_io_stream_get_output_stream
    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:524,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/gfileiostream.c:527,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:524,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:525,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: 528
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 528
    functionName: g_file_io_stream_real_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_seekable_seek
    - G_SEEKABLE
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    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:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:578,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:578,1
    - Dst: g_file_output_stream_query_info
      Src: /src/glib/gio/gfileiostream.c:581,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileiostream.c:579,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - stream
    - attributes
    - cancellable
    - error
    argTypes:
    - GFileIOStream*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 583
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 583
    functionName: g_file_io_stream_real_query_info
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_file_output_stream_query_info
    - G_FILE_OUTPUT_STREAM
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    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:598,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileiostream.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - object
    - callback
    - user_data
    argTypes:
    - gpointer
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 604
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 604
    functionName: async_op_wrapper_new
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_new0
    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:508,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:509,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:508,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/gfileiostream.c:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 512
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 512
    functionName: g_file_io_stream_real_can_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    - g_seekable_can_seek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_io_stream_real_can_seek (GFileIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:536,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:537,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/gfileiostream.c:539,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 540
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 540
    functionName: g_file_io_stream_real_can_truncate
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE
    - g_seekable_can_truncate
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_io_stream_real_can_truncate (GFileIOStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileiostream.c:613,1
    - Dst: g_free
      Src: /src/glib/gio/gfileiostream.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 615
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 615
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:293,1
    - Dst: g_warning
      Src: /src/glib/gio/gfileiostream.c:299,1
    - Dst: g_io_stream_is_closed
      Src: /src/glib/gio/gfileiostream.c:297,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:295,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:293,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 310
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 310
    functionName: g_file_io_stream_get_etag
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - G_IO_STREAM
    - g_io_stream_is_closed
    - g_warning
    - G_IS_FILE_IO_STREAM
    - g_return_val_if_fail
    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:222,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/gfileiostream.c:226,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gfileiostream.c:228,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:224,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:222,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:234,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileiostream.c:237,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: 240
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 240
    functionName: g_file_io_stream_query_info_async
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - G_IO_STREAM
    - g_object_ref
    - g_task_report_error
    - g_io_stream_set_pending
    - G_IS_FILE_IO_STREAM
    - g_return_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:418,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:418,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 431
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 431
    functionName: g_file_io_stream_can_truncate
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_IO_STREAM
    - G_FILE_IO_STREAM_GET_CLASS
    - g_return_val_if_fail
    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:551,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:552,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:551,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/gfileiostream.c:554,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - stream
    - size
    - cancellable
    - error
    argTypes:
    - GFileIOStream*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 555
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 555
    functionName: g_file_io_stream_real_truncate_fn
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    - g_seekable_truncate
    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:629,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileiostream.c:630,1
    - Dst: g_file_output_stream_query_info_async
      Src: /src/glib/gio/gfileiostream.c:633,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:629,1
    - Dst: async_op_wrapper_new
      Src: /src/glib/gio/gfileiostream.c:632,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: 636
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 636
    functionName: g_file_io_stream_real_query_info_async
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    - g_file_output_stream_query_info_async
    - G_FILE_OUTPUT_STREAM
    - async_op_wrapper_new
    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\tgpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_io_stream_can_truncate
      Src: /src/glib/gio/gfileiostream.c:436,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    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:563,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileiostream.c:564,1
    - Dst: g_file_output_stream_get_etag
      Src: /src/glib/gio/gfileiostream.c:566,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 567
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 567
    functionName: g_file_io_stream_real_get_etag
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_get_etag
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    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:646,1
    - Dst: g_file_output_stream_query_info_finish
      Src: /src/glib/gio/gfileiostream.c:649,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:646,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileiostream.c:647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - res
    - error
    argTypes:
    - GFileIOStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 650
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 650
    functionName: g_file_io_stream_real_query_info_finish
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_file_output_stream_query_info_finish
    - G_FILE_OUTPUT_STREAM
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:183,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileiostream.c:188,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:185,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/gfileiostream.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: async_ready_callback_wrapper
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM
    - g_io_stream_clear_pending
    - G_IO_STREAM
    - 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:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:697,1
    - Dst: G_BUFFERED_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:740,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: 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_GET_CLASS
    - g_input_stream_skip
    - G_FILTER_INPUT_STREAM
    - MIN
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_input_stream_skip (GInputStream *stream,
      gsize count, GCancellable *cancellable, GError **error) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:147,1
    - Dst: G_BUFFERED_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:158,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gbufferedinputstream.c:163,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gbufferedinputstream.c:165,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:152,1
    - Dst: P_
      Src: /src/glib/gio/gbufferedinputstream.c:166,1
    - Dst: P_
      Src: /src/glib/gio/gbufferedinputstream.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBufferedInputStreamClass*
    constantsTouched: []
    func_position:
      end: 175
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 175
    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_param_spec_uint
    - G_BUFFERED_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_class_init (GBufferedInputStreamClass
      *klass) '
  - 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: memcpy
      Src: /src/glib/gio/gbufferedinputstream.c:781,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: 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_GET_CLASS
    - G_FILTER_INPUT_STREAM
    - MIN
    - g_input_stream_read
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_input_stream_read (GInputStream *stream,
      void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:210,1
    - Dst: MAX
      Src: /src/glib/gio/gbufferedinputstream.c:222,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedinputstream.c:225,1
    - Dst: g_malloc
      Src: /src/glib/gio/gbufferedinputstream.c:224,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:210,1
    - Dst: g_free
      Src: /src/glib/gio/gbufferedinputstream.c:229,1
    - Dst: g_malloc
      Src: /src/glib/gio/gbufferedinputstream.c:237,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gbufferedinputstream.c:240,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gbufferedinputstream.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - stream
    - size
    argTypes:
    - GBufferedInputStream*
    - gsize
    constantsTouched: []
    func_position:
      end: 241
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 241
    functionName: g_buffered_input_stream_set_buffer_size
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_OBJECT
    - g_free
    - G_IS_BUFFERED_INPUT_STREAM
    - g_object_notify
    - MAX
    - g_malloc
    - g_return_if_fail
    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_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_task_return_int
      Src: /src/glib/gio/gbufferedinputstream.c:489,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbufferedinputstream.c:487,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_object_ref
      Src: /src/glib/gio/gbufferedinputstream.c:515,1
    - Dst: G_BUFFERED_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:512,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_object_ref
    - _
    - g_task_report_error
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_input_stream_set_pending
    - G_IS_BUFFERED_INPUT_STREAM
    - g_task_report_new_error
    - G_INPUT_STREAM
    - g_task_return_int
    - g_return_if_fail
    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_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_is_valid
      Src: /src/glib/gio/gbufferedinputstream.c:1273,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedinputstream.c:1275,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_is_valid
    - g_task_propagate_int
    - g_return_val_if_fail
    - G_TASK
    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:188,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedInputStream*
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    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_object_unref
      Src: /src/glib/gio/gbufferedinputstream.c:451,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:449,1
    - Dst: g_input_stream_clear_pending
      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
    - g_input_stream_clear_pending
    - g_object_unref
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void async_fill_callback_wrapper (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:295,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:300,1
    - Dst: g_free
      Src: /src/glib/gio/gbufferedinputstream.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: g_buffered_input_stream_finalize
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_free
    - G_OBJECT_CLASS
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:334,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:334,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbufferedinputstream.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - base_stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 341
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 341
    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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:850,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gbufferedinputstream.c:859,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:854,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:856,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:853,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_seekable_tell
    - G_IS_SEEKABLE
    - G_FILTER_INPUT_STREAM
    - G_SEEKABLE
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_buffered_input_stream_tell (GSeekable *seekable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:885,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:888,1
    - Dst: _
      Src: /src/glib/gio/gbufferedinputstream.c:892,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gbufferedinputstream.c:891,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:889,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_IS_SEEKABLE
    - G_FILTER_INPUT_STREAM
    - g_seekable_seek
    - G_SEEKABLE
    - g_set_error_literal
    - G_BUFFERED_INPUT_STREAM
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gbufferedinputstream.c:1035,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_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1045,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gbufferedinputstream.c:1044,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_assert_cmpint
    - g_task_get_source_object
    - g_object_unref
    - g_input_stream_read_finish
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_return_int
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void fill_async_callback (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:1101,1
    - Dst: g_task_is_valid
      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
    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_is_valid
    - g_task_propagate_int
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_input_stream_real_fill_finish (GBufferedInputStream
      *stream, GAsyncResult *result, GError **error) '
  - 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_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1165,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gbufferedinputstream.c:1168,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_TASK
    - g_assert
    - g_error_free
    - MIN
    - g_object_unref
    - g_task_return_int
    - g_task_return_error
    - g_task_get_task_data
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void skip_fill_buffer_callback (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 311
    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: compact_buffer
      Src: /src/glib/gio/gbufferedinputstream.c:669,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gbufferedinputstream.c:672,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:671,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
    - MIN
    - G_FILTER_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_input_stream_real_fill (GBufferedInputStream
      *stream, gssize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:869,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:870,1
    - Dst: g_seekable_can_seek
      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_IS_SEEKABLE
    - G_SEEKABLE
    - G_FILTER_INPUT_STREAM
    - g_seekable_can_seek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_buffered_input_stream_can_seek (GSeekable *seekable) '
  - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/gio/gbufferedinputstream.c:1077,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gbufferedinputstream.c:1081,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1086,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbufferedinputstream.c:1084,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbufferedinputstream.c:1083,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_FILTER_INPUT_STREAM
    - g_input_stream_read_async
    - MIN
    - g_task_new
    - g_task_set_source_tag
    - 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_slice_new
      Src: /src/glib/gio/gbufferedinputstream.c:1216,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbufferedinputstream.c:1219,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_BUFFERED_INPUT_STREAM_GET_CLASS
    - G_FILTER_INPUT_STREAM
    - g_task_set_task_data
    - g_assert
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_input_stream_skip_async
    - g_slice_new
    - g_task_return_int
    - G_BUFFERED_INPUT_STREAM
    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_buffered_input_stream_get_instance_private
      Src: /src/glib/gio/gbufferedinputstream.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedInputStream*
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    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: _
      Src: /src/glib/gio/gbufferedinputstream.c:421,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:416,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:414,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_input_stream_set_pending
    - G_IS_BUFFERED_INPUT_STREAM
    - g_cancellable_push_current
    - G_INPUT_STREAM
    - g_return_val_if_fail
    - g_input_stream_clear_pending
    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: 2
    argNames:
    - stream
    - count
    argTypes:
    - GBufferedInputStream*
    - gsize*
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:251,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gbufferedinputstream.c:256,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/gbufferedinputstream.c:256,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbufferedinputstream.c:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 263
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 263
    functionName: g_buffered_input_stream_set_property
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_uint
    - g_buffered_input_stream_set_buffer_size
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_BUFFERED_INPUT_STREAM
    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_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:359,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:359,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbufferedinputstream.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - base_stream
    - size
    argTypes:
    - GInputStream*
    - gsize
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 367
    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_async_result_legacy_propagate_error
      Src: /src/glib/gio/gbufferedinputstream.c:540,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gbufferedinputstream.c:538,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_BUFFERED_INPUT_STREAM_GET_CLASS
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_async_result_is_tagged
    - G_IS_BUFFERED_INPUT_STREAM
    - g_task_propagate_int
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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_buffered_input_stream_get_available
      Src: /src/glib/gio/gbufferedinputstream.c:590,1
    - Dst: MIN
      Src: /src/glib/gio/gbufferedinputstream.c:595,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:587,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:
    - memcpy
    - g_buffered_input_stream_get_available
    - MIN
    - G_IS_BUFFERED_INPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_buffered_input_stream_peek (GBufferedInputStream *stream,
      void *buffer, gsize offset, gsize count) '
  - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:274,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gbufferedinputstream.c:280,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbufferedinputstream.c:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 287
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 287
    functionName: g_buffered_input_stream_get_property
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedinputstream.c:1124,1
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/gbufferedinputstream.c:1132,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1132,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gbufferedinputstream.c:1137,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gbufferedinputstream.c:1129,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_TASK
    - g_error_free
    - g_object_unref
    - g_task_return_int
    - g_task_return_error
    - G_INPUT_STREAM
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void large_skip_callback (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - 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_input_stream_is_closed
      Src: /src/glib/gio/gbufferedinputstream.c:981,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:976,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gbufferedinputstream.c:983,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_input_stream_clear_pending
      Src: /src/glib/gio/gbufferedinputstream.c:1013,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gbufferedinputstream.c:1011,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_input_stream_set_pending
    - g_input_stream_is_closed
    - G_IS_BUFFERED_INPUT_STREAM
    - g_cancellable_push_current
    - G_INPUT_STREAM
    - g_set_error_literal
    - g_return_val_if_fail
    - g_input_stream_clear_pending
    linkageType: ''
    returnType: int
    signature: 'int g_buffered_input_stream_read_byte (GBufferedInputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:757,1
    - Dst: va_start
      Src: /src/glib/gio/gsimpleasyncresult.c:761,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:758,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:757,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:759,1
    - Dst: g_simple_async_result_set_error_va
      Src: /src/glib/gio/gsimpleasyncresult.c:762,1
    - Dst: va_end
      Src: /src/glib/gio/gsimpleasyncresult.c:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - simple
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GSimpleAsyncResult*
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 764
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 764
    functionName: g_simple_async_result_set_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - va_end
    - g_simple_async_result_set_error_va
    - G_IS_SIMPLE_ASYNC_RESULT
    - va_start
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_error (GSimpleAsyncResult *simple,
      GQuark domain, gint code, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:839,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:839,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gsimpleasyncresult.c:844,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:841,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gsimpleasyncresult.c:843,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsimpleasyncresult.c:845,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gsimpleasyncresult.c:846,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsimpleasyncresult.c:848,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 850
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 850
    functionName: g_simple_async_result_complete_in_idle
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_object_ref
    - g_source_set_static_name
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_source_unref
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_complete_in_idle (GSimpleAsyncResult *simple) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:987,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:999,1
    - Dst: g_simple_async_result_get_source_tag
      Src: /src/glib/gio/gsimpleasyncresult.c:1001,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:995,1
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gsimpleasyncresult.c:991,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - result
    - source
    - source_tag
    argTypes:
    - GAsyncResult*
    - GObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1004
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1004
    functionName: g_simple_async_result_is_valid
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_object_unref
    - g_simple_async_result_get_source_tag
    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:1144,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:1144,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsimpleasyncresult.c:1147,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1145,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsimpleasyncresult.c:1145,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:1149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - simple
    - check_cancellable
    argTypes:
    - GSimpleAsyncResult*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1150
    functionName: g_simple_async_result_set_check_cancellable
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_clear_object
    - G_IS_CANCELLABLE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_check_cancellable (GSimpleAsyncResult
      *simple, GCancellable *check_cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:323,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsimpleasyncresult.c:325,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:328,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - source_object
    - callback
    - user_data
    - source_tag
    argTypes:
    - GObject*
    - GAsyncReadyCallback
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 335
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 335
    functionName: g_simple_async_result_new
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_return_val_if_fail
    - 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:392,1
    - Dst: g_simple_async_result_take_error
      Src: /src/glib/gio/gsimpleasyncresult.c:397,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/gsimpleasyncresult.c:394,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - source_object
    - callback
    - user_data
    - error
    argTypes:
    - GObject*
    - GAsyncReadyCallback
    - gpointer
    - GError*
    constantsTouched: []
    func_position:
      end: 400
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 400
    functionName: g_simple_async_result_new_take_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_new
    - g_return_val_if_fail
    - G_IS_OBJECT
    - g_simple_async_result_take_error
    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:583,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 585
    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:697,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsimpleasyncresult.c:701,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:697,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - simple
    - error
    argTypes:
    - GSimpleAsyncResult*
    - GError*
    constantsTouched: []
    func_position:
      end: 704
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 704
    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:726,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:727,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:728,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsimpleasyncresult.c:731,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:726,1
    - Dst: g_error_new_valist
      Src: /src/glib/gio/gsimpleasyncresult.c:732,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: 734
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 734
    functionName: g_simple_async_result_set_error_va
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_error_new_valist
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_error_free
    - 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:939,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:939,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:940,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:944,1
    - Dst: g_new
      Src: /src/glib/gio/gsimpleasyncresult.c:942,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:947,1
    - Dst: g_io_scheduler_push_job
      Src: /src/glib/gio/gsimpleasyncresult.c:949,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - simple
    - func
    - io_priority
    - cancellable
    argTypes:
    - GSimpleAsyncResult*
    - GSimpleAsyncThreadFunc
    - int
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 951
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 951
    functionName: g_simple_async_result_run_in_thread
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_new
    - g_io_scheduler_push_job
    - g_return_if_fail
    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:1104,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1105,1
    - Dst: g_simple_async_result_new_take_error
      Src: /src/glib/gio/gsimpleasyncresult.c:1107,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:1104,1
    - Dst: g_simple_async_result_complete_in_idle
      Src: /src/glib/gio/gsimpleasyncresult.c:1111,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:1112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - object
    - callback
    - user_data
    - error
    argTypes:
    - GObject*
    - GAsyncReadyCallback
    - gpointer
    - GError*
    constantsTouched: []
    func_position:
      end: 1113
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1113
    functionName: g_simple_async_report_take_gerror_in_idle
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_complete_in_idle
    - g_object_unref
    - G_IS_OBJECT
    - g_simple_async_result_new_take_error
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_report_take_gerror_in_idle (GObject *object, GAsyncReadyCallback
      callback, gpointer user_data, GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gsimpleasyncresult.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:259,1
    - Dst: clear_op_res
      Src: /src/glib/gio/gsimpleasyncresult.c:269,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:267,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:262,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:265,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsimpleasyncresult.c:272,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleasyncresult.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 275
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 275
    functionName: g_simple_async_result_finalize
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - clear_op_res
    - g_main_context_unref
    - g_error_free
    - g_object_unref
    - G_OBJECT_CLASS
    - 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:358,1
    - Dst: g_simple_async_result_set_from_error
      Src: /src/glib/gio/gsimpleasyncresult.c:363,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:358,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/gsimpleasyncresult.c:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - source_object
    - callback
    - user_data
    - error
    argTypes:
    - GObject*
    - GAsyncReadyCallback
    - gpointer
    - GError*
    constantsTouched: []
    func_position:
      end: 366
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 366
    functionName: g_simple_async_result_new_from_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_new
    - g_return_val_if_fail
    - G_IS_OBJECT
    - g_simple_async_result_set_from_error
    linkageType: ''
    returnType: GSimpleAsyncResult*
    signature: 'GSimpleAsyncResult *g_simple_async_result_new_from_error (GObject
      *source_object, GAsyncReadyCallback callback, gpointer user_data, const GError
      *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:455,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:456,1
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - GAsyncResult*
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: g_simple_async_result_get_source_object
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: GObject*
    signature: 'static GObject *g_simple_async_result_get_source_object (GAsyncResult
      *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:492,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - simple
    - handle_cancellation
    argTypes:
    - GSimpleAsyncResult*
    - gboolean
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    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:563,1
    - Dst: clear_op_res
      Src: /src/glib/gio/gsimpleasyncresult.c:565,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - simple
    - op_res
    - destroy_op_res
    argTypes:
    - GSimpleAsyncResult*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: g_simple_async_result_set_op_res_gpointer
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - clear_op_res
    - 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:672,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gsimpleasyncresult.c:677,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:673,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:672,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsimpleasyncresult.c:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - simple
    - error
    argTypes:
    - GSimpleAsyncResult*
    - GError*
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: g_simple_async_result_set_from_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_error_copy
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_error_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_from_error (GSimpleAsyncResult *simple,
      const GError *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gsimpleasyncresult.c:868,1
    - Dst: _
      Src: /src/glib/gio/gsimpleasyncresult.c:872,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:877,1
    - Dst: g_simple_async_result_complete
      Src: /src/glib/gio/gsimpleasyncresult.c:874,1
    - Dst: g_simple_async_result_set_error
      Src: /src/glib/gio/gsimpleasyncresult.c:869,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:878,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleasyncresult.c:879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: complete_in_idle_cb_for_thread
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_complete
    - _
    - g_free
    - g_simple_async_result_set_error
    - g_object_unref
    - g_cancellable_is_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean complete_in_idle_cb_for_thread (gpointer _data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    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:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSimpleAsyncResultClass*
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    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:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - res
    - source_tag
    argTypes:
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    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:894,1
    - Dst: g_simple_async_result_set_error
      Src: /src/glib/gio/gsimpleasyncresult.c:895,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gsimpleasyncresult.c:904,1
    - Dst: _
      Src: /src/glib/gio/gsimpleasyncresult.c:898,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gsimpleasyncresult.c:905,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsimpleasyncresult.c:906,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gsimpleasyncresult.c:907,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsimpleasyncresult.c:909,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:910,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - job
    - c
    - _data
    argTypes:
    - GIOSchedulerJob*
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 913
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 913
    functionName: run_in_thread
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - _
    - g_source_set_static_name
    - g_simple_async_result_set_error
    - g_cancellable_is_cancelled
    - g_source_unref
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean run_in_thread (GIOSchedulerJob *job, GCancellable
      *c, gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAsyncResultIface*
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 473
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:619,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 621
    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_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:533,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsimpleasyncresult.c:535,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:533,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsimpleasyncresult.c:540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - simple
    - dest
    argTypes:
    - GSimpleAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 546
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 546
    functionName: g_simple_async_result_propagate_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_val_if_fail
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_simple_async_result_propagate_error (GSimpleAsyncResult
      *simple, GError **dest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:601,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:601,1
    - Dst: clear_op_res
      Src: /src/glib/gio/gsimpleasyncresult.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - simple
    - op_res
    argTypes:
    - GSimpleAsyncResult*
    - gssize
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: g_simple_async_result_set_op_res_gssize
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - clear_op_res
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_op_res_gssize (GSimpleAsyncResult *simple,
      gssize op_res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:788,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:788,1
    - Dst: g_main_current_source
      Src: /src/glib/gio/gsimpleasyncresult.c:791,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/gio/gsimpleasyncresult.c:792,1
    - Dst: g_source_get_context
      Src: /src/glib/gio/gsimpleasyncresult.c:794,1
    - Dst: g_warning
      Src: /src/glib/gio/gsimpleasyncresult.c:796,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gsimpleasyncresult.c:802,1
    - Dst: G_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:804,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gsimpleasyncresult.c:806,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 808
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 808
    functionName: g_simple_async_result_complete
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - G_IS_SIMPLE_ASYNC_RESULT
    - G_ASYNC_RESULT
    - g_source_is_destroyed
    - g_warning
    - g_source_get_context
    - g_main_current_source
    - g_main_context_pop_thread_default
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_complete (GSimpleAsyncResult *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:813,1
    - Dst: g_simple_async_result_complete
      Src: /src/glib/gio/gsimpleasyncresult.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 818
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 818
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:509,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    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_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:430,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:431,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:432,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:430,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/gsimpleasyncresult.c:434,1
    - Dst: va_start
      Src: /src/glib/gio/gsimpleasyncresult.c:438,1
    - Dst: g_simple_async_result_set_error_va
      Src: /src/glib/gio/gsimpleasyncresult.c:439,1
    - Dst: va_end
      Src: /src/glib/gio/gsimpleasyncresult.c:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - source_object
    - callback
    - user_data
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GObject*
    - GAsyncReadyCallback
    - gpointer
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 443
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 443
    functionName: g_simple_async_result_new_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - va_end
    - g_simple_async_result_set_error_va
    - G_IS_OBJECT
    - va_start
    - g_simple_async_result_new
    - g_return_val_if_fail
    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:655,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 657
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 657
    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:1070,1
    - Dst: g_simple_async_result_complete_in_idle
      Src: /src/glib/gio/gsimpleasyncresult.c:1077,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:1070,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1071,1
    - Dst: g_simple_async_result_new_from_error
      Src: /src/glib/gio/gsimpleasyncresult.c:1073,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:1078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - object
    - callback
    - user_data
    - error
    argTypes:
    - GObject*
    - GAsyncReadyCallback
    - gpointer
    - GError*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1079
    functionName: g_simple_async_report_gerror_in_idle
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_complete_in_idle
    - g_object_unref
    - G_IS_OBJECT
    - g_simple_async_result_new_from_error
    - g_return_if_fail
    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_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - GAsyncResult*
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:636,1
    - Dst: clear_op_res
      Src: /src/glib/gio/gsimpleasyncresult.c:637,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - simple
    - op_res
    argTypes:
    - GSimpleAsyncResult*
    - gboolean
    constantsTouched: []
    func_position:
      end: 639
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 639
    functionName: g_simple_async_result_set_op_res_gboolean
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - clear_op_res
    - 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:1034,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1036,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1035,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/gsimpleasyncresult.c:1038,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:1034,1
    - Dst: va_start
      Src: /src/glib/gio/gsimpleasyncresult.c:1042,1
    - Dst: g_simple_async_result_set_error_va
      Src: /src/glib/gio/gsimpleasyncresult.c:1043,1
    - Dst: va_end
      Src: /src/glib/gio/gsimpleasyncresult.c:1044,1
    - Dst: g_simple_async_result_complete_in_idle
      Src: /src/glib/gio/gsimpleasyncresult.c:1045,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:1046,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: 1047
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1047
    functionName: g_simple_async_report_error_in_idle
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - va_end
    - g_simple_async_result_set_error_va
    - g_simple_async_result_complete_in_idle
    - G_IS_OBJECT
    - g_object_unref
    - va_start
    - g_simple_async_result_new
    - g_return_if_fail
    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_val_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:184,1
    - Dst: G_IS_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedOutputStream*
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:453,1
    - Dst: MIN
      Src: /src/glib/gio/gbufferedoutputstream.c:473,1
    - Dst: MAX
      Src: /src/glib/gio/gbufferedoutputstream.c:460,1
    - Dst: g_buffered_output_stream_set_buffer_size
      Src: /src/glib/gio/gbufferedoutputstream.c:461,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:465,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedoutputstream.c:474,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: 478
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 478
    functionName: g_buffered_output_stream_write
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - MAX
    - G_BUFFERED_OUTPUT_STREAM
    - MIN
    - g_buffered_output_stream_set_buffer_size
    - flush_buffer
    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:511,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:512,1
    - Dst: g_filter_output_stream_get_close_base_stream
      Src: /src/glib/gio/gbufferedoutputstream.c:515,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:515,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:513,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gbufferedoutputstream.c:519,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gbufferedoutputstream.c:521,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 525
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 525
    functionName: g_buffered_output_stream_close
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_BUFFERED_OUTPUT_STREAM
    - G_FILTER_OUTPUT_STREAM
    - g_output_stream_close
    - g_filter_output_stream_get_close_base_stream
    - flush_buffer
    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:721,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedoutputstream.c:723,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:723,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gbufferedoutputstream.c:721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: g_buffered_output_stream_flush_finish
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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:489,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/gbufferedoutputstream.c:497,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:492,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:490,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 500
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 500
    functionName: g_buffered_output_stream_flush
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_output_stream_flush
    - G_FILTER_OUTPUT_STREAM
    - G_BUFFERED_OUTPUT_STREAM
    - flush_buffer
    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:536,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:540,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:539,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:543,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gbufferedoutputstream.c:545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 547
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 547
    functionName: g_buffered_output_stream_tell
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - G_IS_SEEKABLE
    - G_BUFFERED_OUTPUT_STREAM
    - G_FILTER_OUTPUT_STREAM
    - G_SEEKABLE
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_buffered_output_stream_tell (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gbufferedoutputstream.c:736,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gbufferedoutputstream.c:741,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbufferedoutputstream.c:739,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbufferedoutputstream.c:740,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gbufferedoutputstream.c:742,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gbufferedoutputstream.c:744,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedoutputstream.c:745,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: 746
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 746
    functionName: g_buffered_output_stream_close_async
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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:753,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:755,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedoutputstream.c:755,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gbufferedoutputstream.c:753,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 756
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 756
    functionName: g_buffered_output_stream_close_finish
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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:243,1
    - Dst: G_IS_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedOutputStream*
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    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:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:335,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbufferedoutputstream.c:340,1
    - Dst: g_free
      Src: /src/glib/gio/gbufferedoutputstream.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 341
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 341
    functionName: g_buffered_output_stream_finalize
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_BUFFERED_OUTPUT_STREAM
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:593,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:594,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/gbufferedoutputstream.c:594,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: g_buffered_output_stream_can_truncate
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - g_seekable_can_truncate
    - G_SEEKABLE
    - G_IS_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:661,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:663,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:665,1
    - Dst: g_filter_output_stream_get_close_base_stream
      Src: /src/glib/gio/gbufferedoutputstream.c:678,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/gbufferedoutputstream.c:670,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:678,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gbufferedoutputstream.c:681,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gbufferedoutputstream.c:683,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gbufferedoutputstream.c:688,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:690,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 691
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 691
    functionName: flush_buffer_thread
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_output_stream_flush
    - G_BUFFERED_OUTPUT_STREAM
    - G_FILTER_OUTPUT_STREAM
    - g_task_return_boolean
    - g_output_stream_close
    - g_task_return_error
    - g_filter_output_stream_get_close_base_stream
    - flush_buffer
    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:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedOutputStream*
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    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:608,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gbufferedoutputstream.c:612,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:609,1
    - Dst: _
      Src: /src/glib/gio/gbufferedoutputstream.c:613,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:610,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:617,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:619,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/gbufferedoutputstream.c:622,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 623
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 623
    functionName: g_buffered_output_stream_truncate
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_SEEKABLE
    - G_BUFFERED_OUTPUT_STREAM
    - G_FILTER_OUTPUT_STREAM
    - g_seekable_truncate
    - G_SEEKABLE
    - g_set_error_literal
    - flush_buffer
    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:703,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gbufferedoutputstream.c:710,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbufferedoutputstream.c:707,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gbufferedoutputstream.c:709,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbufferedoutputstream.c:708,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gbufferedoutputstream.c:712,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedoutputstream.c:713,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: 714
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 714
    functionName: g_buffered_output_stream_flush_async
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_flush_async (GOutputStream *stream,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:203,1
    - Dst: g_malloc
      Src: /src/glib/gio/gbufferedoutputstream.c:214,1
    - Dst: MAX
      Src: /src/glib/gio/gbufferedoutputstream.c:212,1
    - Dst: G_IS_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:203,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedoutputstream.c:215,1
    - Dst: g_free
      Src: /src/glib/gio/gbufferedoutputstream.c:216,1
    - Dst: g_malloc
      Src: /src/glib/gio/gbufferedoutputstream.c:223,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gbufferedoutputstream.c:228,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gbufferedoutputstream.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - stream
    - size
    argTypes:
    - GBufferedOutputStream*
    - gsize
    constantsTouched: []
    func_position:
      end: 229
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 229
    functionName: g_buffered_output_stream_set_buffer_size
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_OBJECT
    - g_free
    - G_IS_BUFFERED_OUTPUT_STREAM
    - g_object_notify
    - MAX
    - g_malloc
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_buffered_output_stream_set_buffer_size (GBufferedOutputStream
      *stream, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:554,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:555,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/gbufferedoutputstream.c:555,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: g_buffered_output_stream_can_seek
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_SEEKABLE
    - G_IS_SEEKABLE
    - g_seekable_can_seek
    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:570,1
    - Dst: _
      Src: /src/glib/gio/gbufferedoutputstream.c:576,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:573,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gbufferedoutputstream.c:575,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:572,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:580,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:581,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/gbufferedoutputstream.c:585,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: 586
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 586
    functionName: g_buffered_output_stream_seek
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_SEEKABLE
    - G_BUFFERED_OUTPUT_STREAM
    - G_FILTER_OUTPUT_STREAM
    - g_seekable_seek
    - G_SEEKABLE
    - g_set_error_literal
    - flush_buffer
    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_slice_free
      Src: /src/glib/gio/gbufferedoutputstream.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 642
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:263,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gbufferedoutputstream.c:269,1
    - Dst: G_IS_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:263,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gbufferedoutputstream.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - auto_grow
    argTypes:
    - GBufferedOutputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 271
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 271
    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:372,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:372,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbufferedoutputstream.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - base_stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: g_buffered_output_stream_new
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    - g_object_new
    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:281,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gbufferedoutputstream.c:286,1
    - Dst: g_buffered_output_stream_set_auto_grow
      Src: /src/glib/gio/gbufferedoutputstream.c:290,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:290,1
    - Dst: g_buffered_output_stream_set_buffer_size
      Src: /src/glib/gio/gbufferedoutputstream.c:286,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbufferedoutputstream.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 298
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 298
    functionName: g_buffered_output_stream_set_property
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_uint
    - G_BUFFERED_OUTPUT_STREAM
    - g_buffered_output_stream_set_auto_grow
    - g_value_get_boolean
    - g_buffered_output_stream_set_buffer_size
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:396,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbufferedoutputstream.c:398,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - base_stream
    - size
    argTypes:
    - GOutputStream*
    - gsize
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: g_buffered_output_stream_new_sized
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    - g_object_new
    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:137,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gbufferedoutputstream.c:151,1
    - Dst: P_
      Src: /src/glib/gio/gbufferedoutputstream.c:154,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gbufferedoutputstream.c:153,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gbufferedoutputstream.c:142,1
    - Dst: P_
      Src: /src/glib/gio/gbufferedoutputstream.c:155,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gbufferedoutputstream.c:162,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:164,1
    - Dst: P_
      Src: /src/glib/gio/gbufferedoutputstream.c:165,1
    - Dst: P_
      Src: /src/glib/gio/gbufferedoutputstream.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBufferedOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 171
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 171
    functionName: g_buffered_output_stream_class_init
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_boolean
    - g_param_spec_uint
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - P_
    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:309,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:319,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbufferedoutputstream.c:323,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gbufferedoutputstream.c:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: g_buffered_output_stream_get_property
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_BUFFERED_OUTPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - g_value_set_boolean
    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:419,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:421,1
    - Dst: memmove
      Src: /src/glib/gio/gbufferedoutputstream.c:433,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:421,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gbufferedoutputstream.c:423,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GBufferedOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 438
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 438
    functionName: flush_buffer
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_OUTPUT_STREAM
    - G_FILTER_OUTPUT_STREAM
    - memmove
    - g_output_stream_write_all
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean flush_buffer (GBufferedOutputStream *stream, GCancellable
      *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_INPUT_STREAM
      Src: /src/glib/gio/gsocketinputstream.c:75,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocketinputstream.c:80,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketinputstream.c:84,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_SOCKET_INPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_object
    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_INPUT_STREAM
    - g_socket_condition_check
    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_CLASS
    - g_object_unref
    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_receive_with_blocking
    - G_SOCKET_INPUT_STREAM
    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_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:
    - 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: P_
      Src: /src/glib/gio/gsocketinputstream.c:194,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketinputstream.c:192,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketinputstream.c:193,1
    - Dst: P_
      Src: /src/glib/gio/gsocketinputstream.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketInputStreamClass*
    constantsTouched: []
    func_position:
      end: 198
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 198
    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
    - P_
    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: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_object
    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_receive_with_blocking
    - G_SOCKET_INPUT_STREAM
    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_source_set_dummy_callback
      Src: /src/glib/gio/gsocketinputstream.c:150,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_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: 2
    argNames:
    - pollable
    - cancellable
    argTypes:
    - GPollableInputStream*
    - GCancellable*
    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_source_unref
    - g_socket_create_source
    - g_source_add_child_source
    - G_SOCKET_INPUT_STREAM
    - g_pollable_source_new
    - 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:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GSocketInputStream*
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    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:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    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_OBJECT_CLASS
      Src: /src/glib/gio/gvfs.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GVfsClass*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    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_resource_file_new
      Src: /src/glib/gio/gvfs.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - vfs
    - uri
    - user_data
    argTypes:
    - GVfs*
    - char*
    - gpointer
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    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_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:138,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:140,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GVfs*
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: g_vfs_is_active
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_IS_VFS
    - g_return_val_if_fail
    - 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:162,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:165,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:162,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - vfs
    - path
    argTypes:
    - GVfs*
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: g_vfs_get_file_for_path
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_IS_VFS
    - g_return_val_if_fail
    - 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:200,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gvfs.c:210,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gvfs.c:205,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gvfs.c:209,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gvfs.c:215,1
    - Dst: g_free
      Src: /src/glib/gio/gvfs.c:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - vfs
    - uri
    argTypes:
    - GVfs*
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 219
    functionName: get_file_for_uri_internal
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_uri_parse_scheme
    - g_free
    - g_rw_lock_reader_unlock
    - g_rw_lock_reader_lock
    - g_vfs_get_instance_private
    - g_hash_table_lookup
    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:271,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:283,1
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:273,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:271,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gvfs.c:286,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gvfs.c:289,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gvfs.c:291,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gvfs.c:292,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gvfs.c:294,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gvfs.c:298,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gvfs.c:304,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gvfs.c:296,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gvfs.c:300,1
    - Dst: g_free
      Src: /src/glib/gio/gvfs.c:302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GVfs*
    constantsTouched: []
    func_position:
      end: 308
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 308
    functionName: g_vfs_get_supported_uri_schemes
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_IS_VFS
    - g_free
    - g_ptr_array_free
    - g_rw_lock_reader_unlock
    - g_hash_table_iter_next
    - g_return_val_if_fail
    - g_hash_table_iter_init
    - g_rw_lock_reader_lock
    - g_ptr_array_add
    - g_vfs_get_instance_private
    - g_ptr_array_new
    - G_VFS_GET_CLASS
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_vfs_get_supported_uri_schemes (GVfs *vfs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gvfs.c:383,1
    - Dst: G_VFS
      Src: /src/glib/gio/gvfs.c:386,1
    - Dst: _g_local_vfs_new
      Src: /src/glib/gio/gvfs.c:384,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gvfs.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: g_vfs_get_local
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_VFS
    - _g_local_vfs_new
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: GVfs*
    signature: 'GVfs *g_vfs_get_local (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:494,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:495,1
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:497,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:494,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gvfs.c:499,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gvfs.c:500,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gvfs.c:501,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gvfs.c:506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - vfs
    - scheme
    argTypes:
    - GVfs*
    - char*
    constantsTouched: []
    func_position:
      end: 512
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 512
    functionName: g_vfs_unregister_uri_scheme
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_IS_VFS
    - g_clear_pointer
    - g_rw_lock_writer_unlock
    - g_hash_table_remove
    - g_rw_lock_writer_lock
    - g_vfs_get_instance_private
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_vfs_unregister_uri_scheme (GVfs *vfs, const char *scheme) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VFS
      Src: /src/glib/gio/gvfs.c:63,1
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:64,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gvfs.c:66,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gvfs.c:67,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gvfs.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: g_vfs_dispose
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_VFS
    - g_clear_pointer
    - g_vfs_get_instance_private
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_vfs_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gvfs.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    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_str_has_prefix
      Src: /src/glib/gio/gvfs.c:84,1
    - Dst: _g_resource_file_new
      Src: /src/glib/gio/gvfs.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - vfs
    - parse_name
    - user_data
    argTypes:
    - GVfs*
    - char*
    - gpointer
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:174,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gvfs.c:180,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gvfs.c:182,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gvfs.c:179,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gvfs.c:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - vfs
    - parse_name
    argTypes:
    - GVfs*
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 194
    functionName: parse_name_internal
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_unlock
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_rw_lock_reader_lock
    - g_vfs_get_instance_private
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *parse_name_internal (GVfs *vfs, const char *parse_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gvfs.c:354,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gvfs.c:357,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gvfs.c:361,1
    - Dst: g_vfs_get_local
      Src: /src/glib/gio/gvfs.c:355,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gvfs.c:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 369
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 369
    functionName: g_vfs_get_default
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_vfs_get_local
    - _g_io_module_get_default
    - g_once_init_enter
    - GLIB_PRIVATE_CALL
    - g_once_init_leave
    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:114,1
    - Dst: g_vfs_register_uri_scheme
      Src: /src/glib/gio/gvfs.c:119,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gvfs.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GVfs*
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: g_vfs_init
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_vfs_get_instance_private
    - g_hash_table_new_full
    - g_vfs_register_uri_scheme
    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:242,1
    - Dst: get_file_for_uri_internal
      Src: /src/glib/gio/gvfs.c:247,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:243,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:242,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:245,1
    - Dst: g_assert
      Src: /src/glib/gio/gvfs.c:251,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gvfs.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - vfs
    - uri
    argTypes:
    - GVfs*
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: g_vfs_get_file_for_uri
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_IS_VFS
    - g_assert
    - get_file_for_uri_internal
    - g_steal_pointer
    - g_return_val_if_fail
    - G_VFS_GET_CLASS
    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:329,1
    - Dst: parse_name_internal
      Src: /src/glib/gio/gvfs.c:334,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:332,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:330,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - vfs
    - parse_name
    argTypes:
    - GVfs*
    - char*
    constantsTouched: []
    func_position:
      end: 339
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 339
    functionName: g_vfs_parse_name
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_IS_VFS
    - g_return_val_if_fail
    - parse_name_internal
    - 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:444,1
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:447,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:445,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:444,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gvfs.c:449,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gvfs.c:450,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gvfs.c:451,1
    - Dst: g_new0
      Src: /src/glib/gio/gvfs.c:456,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gvfs.c:464,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gvfs.c:465,1
    - Dst: g_strdup
      Src: /src/glib/gio/gvfs.c:465,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gvfs.c:466,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gvfs.c:469,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: 472
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 472
    functionName: g_vfs_register_uri_scheme
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_IS_VFS
    - g_strdup
    - g_new0
    - g_clear_pointer
    - g_rw_lock_writer_unlock
    - g_rw_lock_reader_unlock
    - g_hash_table_insert
    - g_hash_table_lookup
    - g_rw_lock_writer_lock
    - g_rw_lock_reader_lock
    - g_vfs_get_instance_private
    - g_return_val_if_fail
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read
      Src: /src/glib/gio/gio-tool-cat.c:61,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: print_file_error
      Src: /src/glib/gio/gio-tool-cat.c:64,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: g_error_free
      Src: /src/glib/gio/gio-tool-cat.c:113,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
    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:
    - _
    - g_free
    - write
    - g_error_free
    - print_error
    - g_input_stream_close
    - g_input_stream_read
    - g_file_read
    - print_file_error
    - g_malloc
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cat (GFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-cat.c:132,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-cat.c:136,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-cat.c:157,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: _
      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_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: cat
      Src: /src/glib/gio/gio-tool-cat.c:174,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: 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_object_unref
      Src: /src/glib/gio/gio-tool-cat.c:175,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_free
      Src: /src/glib/gio/gio-tool-cat.c:149,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-cat.c:156,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:168,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_new
    - _
    - g_set_prgname
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - g_option_context_parse
    - g_option_context_set_description
    - g_option_context_add_main_entries
    - g_error_free
    - cat
    - g_object_unref
    - g_strdup_printf
    - g_option_context_set_help_enabled
    - show_help
    - g_file_new_for_commandline_arg
    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_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: 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: 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
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:56,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: 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_print
    - g_strv_length
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void output_list (gchar **list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_list_children
      Src: /src/glib/gio/gsettings-tool.c:206,1
    - Dst: strlen
      Src: /src/glib/gio/gsettings-tool.c:210,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: qsort
      Src: /src/glib/gio/gsettings-tool.c:207,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_print
      Src: /src/glib/gio/gsettings-tool.c:231,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:236,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings-tool.c:235,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings-tool.c:232,1
    - Dst: MIN
      Src: /src/glib/gio/gsettings-tool.c:231,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings-tool.c:234,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:239,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:
    - strlen
    - g_settings_get_child
    - g_settings_schema_get_path
    - g_free
    - g_object_get
    - g_settings_schema_get_id
    - MIN
    - g_object_unref
    - g_settings_schema_unref
    - g_strfreev
    - g_settings_list_children
    - g_print
    - g_strv_length
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_list_children (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:71,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:77,1
    - Dst: _
      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
    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_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_source_lookup
      Src: /src/glib/gio/gsettings-tool.c:166,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_settings_schema_get_path
    - g_free
    - g_settings_schema_source_lookup
    - output_list
    - g_steal_pointer
    - g_settings_schema_unref
    - g_strfreev
    - g_strconcat
    - g_settings_schema_source_list_schemas
    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_settings_schema_list_keys
      Src: /src/glib/gio/gsettings-tool.c:251,1
    - Dst: qsort
      Src: /src/glib/gio/gsettings-tool.c:252,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gsettings-tool.c:252,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_strfreev
      Src: /src/glib/gio/gsettings-tool.c:266,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings-tool.c:265,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_free
    - g_object_get
    - g_settings_schema_get_id
    - g_variant_print
    - g_settings_schema_list_keys
    - g_settings_get_value
    - g_variant_unref
    - g_settings_schema_unref
    - g_strfreev
    - g_print
    - g_strv_length
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void enumerate (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_reset
      Src: /src/glib/gio/gsettings-tool.c:413,1
    - Dst: g_settings_sync
      Src: /src/glib/gio/gsettings-tool.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    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:442,1
    - Dst: g_settings_get_child
      Src: /src/glib/gio/gsettings-tool.c:449,1
    - Dst: g_settings_list_children
      Src: /src/glib/gio/gsettings-tool.c:445,1
    - Dst: reset_all_keys
      Src: /src/glib/gio/gsettings-tool.c:451,1
    - Dst: reset_all_keys
      Src: /src/glib/gio/gsettings-tool.c:444,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings-tool.c:453,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:456,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/gsettings-tool.c:458,1
    - Dst: g_settings_sync
      Src: /src/glib/gio/gsettings-tool.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 460
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 460
    functionName: gsettings_reset_recursively
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_sync
    - g_settings_get_child
    - g_object_unref
    - reset_all_keys
    - g_strfreev
    - g_settings_delay
    - g_settings_apply
    - g_settings_list_children
    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:478,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:480,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:479,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:481,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 483
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 483
    functionName: value_changed
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_free
    - g_variant_print
    - g_settings_get_value
    - g_variant_unref
    - g_print
    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:91,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:97,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:
    - strstr
    - g_str_has_suffix
    - _
    - g_printerr
    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: output_list
      Src: /src/glib/gio/gsettings-tool.c:146,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:147,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: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:186,1
    - Dst: output_list
      Src: /src/glib/gio/gsettings-tool.c:185,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_settings_list_children
      Src: /src/glib/gio/gsettings-tool.c:276,1
    - Dst: qsort
      Src: /src/glib/gio/gsettings-tool.c:277,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gsettings-tool.c:277,1
    - Dst: g_settings_get_child
      Src: /src/glib/gio/gsettings-tool.c:283,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
    - is_relocatable_schema
    - g_object_unref
    - list_recursively
    - enumerate
    - g_settings_schema_unref
    - g_strfreev
    - g_settings_list_children
    - g_strv_length
    - qsort
    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:424,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:433,1
    - Dst: g_settings_schema_list_keys
      Src: /src/glib/gio/gsettings-tool.c:426,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/gsettings-tool.c:429,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings-tool.c:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 434
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 434
    functionName: reset_all_keys
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_schema_list_keys
    - g_settings_schema_unref
    - g_strfreev
    - g_settings_reset
    - g_object_get
    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:465,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/gsettings-tool.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: gsettings_writable
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_print
    - g_settings_is_writable
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_writable (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings-tool.c:492,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings-tool.c:493,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings-tool.c:496,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings-tool.c:496,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings-tool.c:493,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gsettings-tool.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: gsettings_monitor
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_signal_connect
    - G_CALLBACK
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_monitor (void) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/gsettings-tool.c:762,1
    - Dst: textdomain
      Src: /src/glib/gio/gsettings-tool.c:763,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:812,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:803,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:791,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:818,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:828,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:837,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:840,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:864,1
    - Dst: gsettings_help
      Src: /src/glib/gio/gsettings-tool.c:874,1
    - Dst: g_settings_new_full
      Src: /src/glib/gio/gsettings-tool.c:904,1
    - Dst: g_settings_schema_has_key
      Src: /src/glib/gio/gsettings-tool.c:935,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:937,1
    - Dst: check_relocatable_schema
      Src: /src/glib/gio/gsettings-tool.c:917,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsettings-tool.c:951,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gsettings-tool.c:770,1
    - Dst: gsettings_help
      Src: /src/glib/gio/gsettings-tool.c:778,1
    - Dst: g_settings_schema_source_new_from_directory
      Src: /src/glib/gio/gsettings-tool.c:787,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:815,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:843,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:858,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:861,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:882,1
    - Dst: g_settings_new_full
      Src: /src/glib/gio/gsettings-tool.c:897,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:924,1
    - Dst: check_schema
      Src: /src/glib/gio/gsettings-tool.c:901,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:937,1
    - Dst: check_path
      Src: /src/glib/gio/gsettings-tool.c:894,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/gsettings-tool.c:766,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gsettings-tool.c:774,1
    - Dst: g_settings_schema_source_get_default
      Src: /src/glib/gio/gsettings-tool.c:780,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettings-tool.c:782,1
    - Dst: gsettings_help
      Src: /src/glib/gio/gsettings-tool.c:813,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsettings-tool.c:792,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:803,1
    - Dst: g_settings_schema_source_ref
      Src: /src/glib/gio/gsettings-tool.c:807,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:791,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:849,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gsettings-tool.c:886,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsettings-tool.c:953,1
    - Dst: check_path
      Src: /src/glib/gio/gsettings-tool.c:917,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsettings-tool.c:954,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsettings-tool.c:952,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gsettings-tool.c:767,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:768,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:821,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:822,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:831,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:855,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:867,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:870,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:882,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettings-tool.c:888,1
    - Dst: check_relocatable_schema
      Src: /src/glib/gio/gsettings-tool.c:894,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:930,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:924,1
    - Dst: g_settings_schema_get_key
      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: 957
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 957
    functionName: main
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - _glib_get_locale_dir
    - _
    - g_settings_schema_source_get_default
    - g_clear_pointer
    - g_clear_error
    - g_strfreev
    - g_settings_schema_source_new_from_directory
    - check_relocatable_schema
    - g_settings_schema_get_key
    - check_schema
    - g_strsplit
    - strcmp
    - g_settings_new_full
    - textdomain
    - check_path
    - bind_textdomain_codeset
    - g_printerr
    - setlocale
    - g_str_equal
    - g_free
    - g_settings_schema_source_ref
    - g_settings_schema_source_lookup
    - g_clear_object
    - g_settings_schema_has_key
    - bindtextdomain
    - gsettings_help
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_recursively
      Src: /src/glib/gio/gsettings-tool.c:313,1
    - Dst: g_settings_new
      Src: /src/glib/gio/gsettings-tool.c:327,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gsettings-tool.c:321,1
    - Dst: g_settings_schema_source_list_schemas
      Src: /src/glib/gio/gsettings-tool.c:320,1
    - Dst: qsort
      Src: /src/glib/gio/gsettings-tool.c:321,1
    - Dst: list_recursively
      Src: /src/glib/gio/gsettings-tool.c:328,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings-tool.c:329,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 334
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 334
    functionName: gsettings_list_recursively
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_new
    - g_object_unref
    - list_recursively
    - g_strfreev
    - g_settings_schema_source_list_schemas
    - g_strv_length
    - qsort
    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:352,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettings-tool.c:353,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings-tool.c:356,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:358,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:369,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gsettings-tool.c:383,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:387,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:356,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:365,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettings-tool.c:382,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:375,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings-tool.c:368,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:372,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:389,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:394,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:355,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:367,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:371,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:375,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:380,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:393,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettings-tool.c:363,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:364,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:370,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 395
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 395
    functionName: gsettings_range
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - g_variant_get_type_string
    - g_free
    - g_variant_print
    - g_variant_iter_init
    - g_settings_schema_key_get_range
    - g_variant_unref
    - g_variant_get
    - strcmp
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_range (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_get_description
      Src: /src/glib/gio/gsettings-tool.c:340,1
    - Dst: g_settings_schema_key_get_summary
      Src: /src/glib/gio/gsettings-tool.c:342,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: gsettings_description
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_summary
    - g_settings_schema_key_get_description
    - g_print
    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:403,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:405,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:407,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:406,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 408
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 408
    functionName: gsettings_get
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_free
    - g_variant_print
    - g_settings_get_value
    - g_variant_unref
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_get (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettings-tool.c:540,1
    - Dst: g_variant_parse_error_print_context
      Src: /src/glib/gio/gsettings-tool.c:547,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:554,1
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings-tool.c:559,1
    - Dst: g_settings_schema_key_get_value_type
      Src: /src/glib/gio/gsettings-tool.c:510,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gsettings-tool.c:512,1
    - Dst: exit
      Src: /src/glib/gio/gsettings-tool.c:549,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings-tool.c:552,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:555,1
    - Dst: exit
      Src: /src/glib/gio/gsettings-tool.c:562,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:567,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:561,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsettings-tool.c:539,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:548,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:554,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-tool.c:536,1
    - Dst: exit
      Src: /src/glib/gio/gsettings-tool.c:556,1
    - Dst: g_settings_sync
      Src: /src/glib/gio/gsettings-tool.c:565,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 568
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 568
    functionName: gsettings_set
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_sync
    - g_variant_type_equal
    - _
    - g_free
    - g_variant_new_string
    - g_settings_schema_key_range_check
    - g_variant_unref
    - g_clear_error
    - exit
    - g_settings_set_value
    - g_settings_schema_key_get_value_type
    - g_variant_parse
    - g_variant_parse_error_print_context
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_set (void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gsettings-tool.c:578,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:595,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:601,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:609,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:610,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:613,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:623,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:621,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:634,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:635,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:668,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:677,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:714,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:727,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:730,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:712,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:732,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:719,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:583,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:607,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:628,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:629,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:632,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:652,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:653,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:656,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:664,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:665,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:717,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:728,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:736,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:735,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:710,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:744,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:715,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:591,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:585,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:626,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:646,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:647,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:650,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:662,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:670,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:673,1
    - Dst: g_string_printf
      Src: /src/glib/gio/gsettings-tool.c:677,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:722,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:731,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:726,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:742,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:738,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsettings-tool.c:746,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:734,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:659,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:684,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:589,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:597,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:603,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:616,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:619,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:615,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:640,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:641,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:644,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:709,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:718,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:638,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:685,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsettings-tool.c:709,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:658,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:712,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:723,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:721,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 141
    argCount: 2
    argNames:
    - requested
    - command
    argTypes:
    - gboolean
    - gchar*
    constantsTouched: []
    func_position:
      end: 749
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 749
    functionName: gsettings_help
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - _
    - g_string_append_printf
    - strstr
    - g_string_printf
    - strcmp
    - g_string_free
    - g_print
    - N_
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'static int gsettings_help (gboolean requested, const gchar *command) '
  - 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_STRUCT_OFFSET
      Src: /src/glib/gio/gnotificationbackend.c:64,1
    - Dst: _g_io_module_get_default_type
      Src: /src/glib/gio/gnotificationbackend.c:62,1
    - Dst: g_object_new
      Src: /src/glib/gio/gnotificationbackend.c:66,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: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    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_object_ref
    - g_object_new
    - g_application_get_dbus_connection
    - G_STRUCT_OFFSET
    - _g_io_module_get_default_type
    - g_return_val_if_fail
    - 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_clear_object
      Src: /src/glib/gio/gnotificationbackend.c:36,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnotificationbackend.c:38,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_NOTIFICATION_BACKEND
    - G_OBJECT_CLASS
    - g_clear_object
    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_NOTIFICATION_BACKEND_GET_CLASS
    - G_IS_NOTIFICATION
    - 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_return_if_fail
      Src: /src/glib/gio/gnotificationbackend.c:96,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
    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:204,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:204,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:277,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:279,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 282
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:519,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:521,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 527
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 527
    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_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1294,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:1296,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1302
    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_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1325,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1325,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:1327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1333
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gappinfo.c:1358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1359
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1359
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1528,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gappinfo.c:1532,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1529,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/gio/gappinfo.c:1535,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - context
    - variable
    argTypes:
    - GAppLaunchContext*
    - char*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1536
    functionName: g_app_launch_context_unsetenv
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_get_environ
    - g_environ_unsetenv
    - G_IS_APP_LAUNCH_CONTEXT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_app_launch_context_unsetenv (GAppLaunchContext *context, const
      char *variable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1648,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1649,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1648,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gappinfo.c:1651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - context
    - startup_notify_id
    argTypes:
    - GAppLaunchContext*
    - char*
    constantsTouched: []
    func_position:
      end: 1652
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1652
    functionName: g_app_launch_context_launch_failed
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_LAUNCH_CONTEXT
    - g_signal_emit
    - 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_free
      Src: /src/glib/gio/gappinfo.c:1049,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gappinfo.c:1050,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - LaunchDefaultForUriData*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1052
    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
      Src: /src/glib/gio/gappinfo.c:1364,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gappinfo.c:1366,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gappinfo.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1369
    functionName: g_app_launch_context_finalize
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_APP_LAUNCH_CONTEXT
    - g_strfreev
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_app_launch_context_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GAppInfoMonitor*
    constantsTouched: []
    func_position:
      end: 1735
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1735
    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_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:184,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:186,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    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_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:618,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:620,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 623
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 623
    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_val_if_fail
      Src: /src/glib/gio/gappinfo.c:752,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:752,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:757,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:754,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - result
    - error
    argTypes:
    - GAppInfo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 763
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 763
    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:933,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:934,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:934,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gappinfo.c:933,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/gappinfo.c:934,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:936,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gappinfo.c:938,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 939
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 939
    functionName: g_app_info_get_default_for_uri_scheme_finish
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_get_source_tag
    - G_TASK
    - g_task_propagate_pointer
    - g_return_val_if_fail
    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:1273,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gappinfo.c:1275,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1275,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gappinfo.c:1273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1276
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1276
    functionName: g_app_info_launch_default_for_uri_finish
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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:1503,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1503,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gappinfo.c:1508,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1505,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1504,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/gappinfo.c:1511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - context
    - variable
    - value
    argTypes:
    - GAppLaunchContext*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1512
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1512
    functionName: g_app_launch_context_setenv
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_get_environ
    - G_IS_APP_LAUNCH_CONTEXT
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1623,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1624,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1623,1
    - Dst: G_APP_LAUNCH_CONTEXT_GET_CLASS
      Src: /src/glib/gio/gappinfo.c:1626,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - context
    - info
    - files
    argTypes:
    - GAppLaunchContext*
    - GAppInfo*
    - GList*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1632
    functionName: g_app_launch_context_get_startup_notify_id
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_APP_LAUNCH_CONTEXT_GET_CLASS
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_IS_APP_LAUNCH_CONTEXT
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:154,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:154,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:155,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:155,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gappinfo.c:157,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gappinfo.c:157,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - appinfo1
    - appinfo2
    argTypes:
    - GAppInfo*
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: g_app_info_equal
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_TYPE_FROM_INSTANCE
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_app_info_equal (GAppInfo *appinfo1,\t\t GAppInfo *appinfo2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:393,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:396,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:394,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:393,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - extension
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 404
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 404
    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_free
      Src: /src/glib/gio/gappinfo.c:794,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - DefaultForTypeData*
    constantsTouched: []
    func_position:
      end: 796
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 796
    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_OBJECT_CLASS
      Src: /src/glib/gio/gappinfo.c:1374,1
    - Dst: I_
      Src: /src/glib/gio/gappinfo.c:1393,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gappinfo.c:1396,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/gappinfo.c:1394,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gappinfo.c:1393,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gappinfo.c:1427,1
    - Dst: I_
      Src: /src/glib/gio/gappinfo.c:1427,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/gappinfo.c:1428,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gappinfo.c:1430,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gappinfo.c:1435,1
    - Dst: I_
      Src: /src/glib/gio/gappinfo.c:1468,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gappinfo.c:1477,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gappinfo.c:1468,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/gappinfo.c:1469,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gappinfo.c:1436,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gappinfo.c:1476,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gappinfo.c:1471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GAppLaunchContextClass*
    constantsTouched: []
    func_position:
      end: 1479
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1479
    functionName: g_app_launch_context_class_init
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS_TYPE
    - I_
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_app_launch_context_class_init (GAppLaunchContextClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gappinfo.c:1740,1
    - Dst: I_
      Src: /src/glib/gio/gappinfo.c:1750,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gappinfo.c:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - GAppInfoMonitorClass*
    constantsTouched: []
    func_position:
      end: 1754
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1754
    functionName: g_app_info_monitor_class_init
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_signal_new
    - G_OBJECT_CLASS
    - I_
    linkageType: ''
    returnType: void
    signature: 'static void g_app_info_monitor_class_init (GAppInfoMonitorClass *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/gappinfo.c:807,1
    - Dst: _
      Src: /src/glib/gio/gappinfo.c:813,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:818,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gappinfo.c:812,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gappinfo.c:818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 819
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 819
    functionName: get_default_for_type_thread
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - _
    - g_app_info_get_default_for_type
    - g_task_return_pointer
    - g_steal_pointer
    - g_task_return_new_error
    linkageType: ''
    returnType: void
    signature: 'static void get_default_for_type_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_launch_context_get_instance_private
      Src: /src/glib/gio/gappinfo.c:1484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GAppLaunchContext*
    constantsTouched: []
    func_position:
      end: 1485
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1485
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:128,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:128,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    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:302,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:304,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 310
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 310
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:544,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:546,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 549
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APP_INFO_MONITOR
      Src: /src/glib/gio/gappinfo.c:1725,1
    - Dst: g_context_specific_group_remove
      Src: /src/glib/gio/gappinfo.c:1727,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gappinfo.c:1729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1730
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1730
    functionName: g_app_info_monitor_finalize
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_APP_INFO_MONITOR
    - g_context_specific_group_remove
    - 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:329,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:332,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:330,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:329,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:337,1
    - Dst: _
      Src: /src/glib/gio/gappinfo.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: g_app_info_set_as_default_for_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - _
    - G_APP_INFO_GET_IFACE
    - g_set_error_literal
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:455,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:455,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 463
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 463
    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:639,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:639,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 644
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 644
    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_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:779,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:779,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 784
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 784
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:960,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/gappinfo.c:961,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:961,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:961,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gappinfo.c:960,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:963,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gappinfo.c:965,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 966
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 966
    functionName: g_app_info_get_default_for_type_finish
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_get_source_tag
    - G_TASK
    - g_task_propagate_pointer
    - g_return_val_if_fail
    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:1060,1
    - Dst: g_openuri_portal_open_uri_finish
      Src: /src/glib/gio/gappinfo.c:1063,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gappinfo.c:1064,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gappinfo.c:1066,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1066,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1067,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1068
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1068
    functionName: launch_default_for_uri_portal_open_uri_cb
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_openuri_portal_open_uri_finish
    - G_TASK
    - g_object_unref
    - g_steal_pointer
    - g_task_return_boolean
    - 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_FILE
      Src: /src/glib/gio/gappinfo.c:1144,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1145,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1151,1
    - Dst: launch_default_for_uri_launch_uris
      Src: /src/glib/gio/gappinfo.c:1151,1
    - Dst: g_file_query_default_handler_finish
      Src: /src/glib/gio/gappinfo.c:1149,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1151,1
    - Dst: launch_default_for_uri_portal_open_uri
      Src: /src/glib/gio/gappinfo.c:1153,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1153,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1154
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1154
    functionName: launch_default_for_uri_default_handler_cb
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_FILE
    - g_steal_pointer
    - launch_default_for_uri_portal_open_uri
    - launch_default_for_uri_launch_uris
    - g_file_query_default_handler_finish
    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_TASK
      Src: /src/glib/gio/gappinfo.c:1180,1
    - Dst: launch_default_app_for_default_handler
      Src: /src/glib/gio/gappinfo.c:1187,1
    - Dst: launch_default_for_uri_launch_uris
      Src: /src/glib/gio/gappinfo.c:1191,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1187,1
    - Dst: g_app_info_get_default_for_uri_scheme_finish
      Src: /src/glib/gio/gappinfo.c:1183,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1191,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1194
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1194
    functionName: launch_default_app_for_uri_cb
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_app_info_get_default_for_uri_scheme_finish
    - g_steal_pointer
    - launch_default_for_uri_launch_uris
    - launch_default_app_for_default_handler
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_app_for_uri_cb (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gappinfo.c:1075,1
    - Dst: g_error_free
      Src: /src/glib/gio/gappinfo.c:1083,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gappinfo.c:1076,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/gappinfo.c:1086,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gappinfo.c:1078,1
    - Dst: g_openuri_portal_open_uri_async
      Src: /src/glib/gio/gappinfo.c:1089,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1093,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gappinfo.c:1098,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1098,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1099,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1100
    functionName: launch_default_for_uri_portal_open_uri
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_openuri_portal_open_uri_async
    - g_environ_getenv
    - glib_should_use_portal
    - g_error_free
    - g_object_unref
    - g_steal_pointer
    - g_task_return_error
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_for_uri_portal_open_uri (GTask *task, GError
      *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gappinfo.c:1163,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gappinfo.c:1165,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/gappinfo.c:1167,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gappinfo.c:1164,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1171,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1173
    functionName: launch_default_app_for_default_handler
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_file_new_for_uri
    - g_object_unref
    - g_steal_pointer
    - g_file_query_default_handler_async
    - 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_context_specific_group_emit
      Src: /src/glib/gio/gappinfo.c:1789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1790
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1790
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1555,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gappinfo.c:1560,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gappinfo.c:1558,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GAppLaunchContext*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1561
    functionName: g_app_launch_context_get_environment
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_get_environ
    - g_return_val_if_fail
    - G_IS_APP_LAUNCH_CONTEXT
    - 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:425,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:426,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:425,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:428,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 438
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 438
    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_context_specific_group_get
      Src: /src/glib/gio/gappinfo.c:1780,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gappinfo.c:1782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1784
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1784
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:252,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:252,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    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_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:597,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:599,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:597,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - appinfo
    - files
    - launch_context
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 602
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:712,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:713,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:714,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:713,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:712,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gappinfo.c:714,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:716,1
    - Dst: g_task_new
      Src: /src/glib/gio/gappinfo.c:721,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gappinfo.c:722,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gappinfo.c:723,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:725,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: 731
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 731
    functionName: g_app_info_launch_uris_async
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - G_IS_APP_LAUNCH_CONTEXT
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_IS_CANCELLABLE
    - G_APP_INFO_GET_IFACE
    - g_task_return_new_error
    - g_return_if_fail
    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:844,1
    - Dst: g_new0
      Src: /src/glib/gio/gappinfo.c:847,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gappinfo.c:845,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:845,1
    - Dst: g_strdup
      Src: /src/glib/gio/gappinfo.c:848,1
    - Dst: g_task_new
      Src: /src/glib/gio/gappinfo.c:851,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gappinfo.c:852,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gappinfo.c:853,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gappinfo.c:854,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gappinfo.c:855,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:856,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: 857
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 857
    functionName: g_app_info_get_default_for_type_async
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_set_check_cancellable
    - G_IS_CANCELLABLE
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:903,1
    - Dst: g_task_new
      Src: /src/glib/gio/gappinfo.c:906,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:904,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gappinfo.c:907,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gappinfo.c:904,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gappinfo.c:908,1
    - Dst: g_strdup
      Src: /src/glib/gio/gappinfo.c:908,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gappinfo.c:909,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gappinfo.c:910,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:911,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: 912
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 912
    functionName: g_app_info_get_default_for_uri_scheme_async
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_set_check_cancellable
    - G_IS_CANCELLABLE
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1107,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gappinfo.c:1113,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1108,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1114,1
    - Dst: g_app_info_launch_uris_finish
      Src: /src/glib/gio/gappinfo.c:1111,1
    - Dst: launch_default_for_uri_portal_open_uri
      Src: /src/glib/gio/gappinfo.c:1117,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1117,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1118
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1118
    functionName: launch_default_for_uri_launch_uris_cb
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_object_unref
    - g_app_info_launch_uris_finish
    - launch_default_for_uri_portal_open_uri
    - g_steal_pointer
    - g_task_return_boolean
    - G_APP_INFO
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_for_uri_launch_uris_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: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/gappinfo.c:868,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:878,1
    - Dst: _
      Src: /src/glib/gio/gappinfo.c:873,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gappinfo.c:878,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gappinfo.c:872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 879
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 879
    functionName: get_default_for_scheme_thread
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - _
    - g_app_info_get_default_for_uri_scheme
    - g_task_return_pointer
    - g_steal_pointer
    - g_task_return_new_error
    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_cancellable
      Src: /src/glib/gio/gappinfo.c:1124,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1135,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1136,1
    - Dst: g_app_info_launch_uris_async
      Src: /src/glib/gio/gappinfo.c:1130,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gappinfo.c:1126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - task
    - app_info
    argTypes:
    - GTask*
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1137
    functionName: launch_default_for_uri_launch_uris
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_app_info_launch_uris_async
    - g_steal_pointer
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:228,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:228,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 236
    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:362,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:365,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:363,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:362,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:370,1
    - Dst: _
      Src: /src/glib/gio/gappinfo.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 373
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 373
    functionName: g_app_info_set_as_last_used_for_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - _
    - G_APP_INFO_GET_IFACE
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_set_as_last_used_for_type (GAppInfo *appinfo,
      const char *content_type, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:483,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:486,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:484,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:483,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 496
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 496
    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:677,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:677,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:679,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - appinfo
    - uris
    - launch_context
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 682
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 682
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gappinfo.c:998,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:1001,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/gappinfo.c:1000,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gappinfo.c:1007,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/gappinfo.c:1008,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1009,1
    - Dst: g_app_info_launch_uris
      Src: /src/glib/gio/gappinfo.c:1018,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1019,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gappinfo.c:1023,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gappinfo.c:1028,1
    - Dst: g_openuri_portal_open_uri
      Src: /src/glib/gio/gappinfo.c:1033,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/gappinfo.c:1031,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 3
    argNames:
    - uri
    - launch_context
    - error
    argTypes:
    - char*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1038
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1038
    functionName: g_app_info_launch_default_for_uri
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_uri_parse_scheme
    - g_free
    - g_environ_getenv
    - g_app_info_get_default_for_uri_scheme
    - g_file_new_for_uri
    - glib_should_use_portal
    - g_object_unref
    - g_file_query_default_handler
    - g_clear_error
    - g_app_info_launch_uris
    - g_openuri_portal_open_uri
    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_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1228,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gappinfo.c:1231,1
    - Dst: g_strdup
      Src: /src/glib/gio/gappinfo.c:1234,1
    - Dst: g_task_new
      Src: /src/glib/gio/gappinfo.c:1230,1
    - Dst: g_new
      Src: /src/glib/gio/gappinfo.c:1233,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gappinfo.c:1235,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gappinfo.c:1236,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1236,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gappinfo.c:1242,1
    - Dst: g_app_info_get_default_for_uri_scheme_async
      Src: /src/glib/gio/gappinfo.c:1245,1
    - Dst: launch_default_app_for_default_handler
      Src: /src/glib/gio/gappinfo.c:1252,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1252,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:1255,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1248,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: 1256
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1256
    functionName: g_app_info_launch_default_for_uri_async
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_uri_parse_scheme
    - g_free
    - g_task_set_task_data
    - g_task_new
    - g_new
    - g_task_set_source_tag
    - g_steal_pointer
    - g_app_info_get_default_for_uri_scheme_async
    - launch_default_app_for_default_handler
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1582,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1583,1
    - Dst: G_APP_LAUNCH_CONTEXT_GET_CLASS
      Src: /src/glib/gio/gappinfo.c:1585,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1582,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1583,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - context
    - info
    - files
    argTypes:
    - GAppLaunchContext*
    - GAppInfo*
    - GList*
    constantsTouched: []
    func_position:
      end: 1591
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1591
    functionName: g_app_launch_context_get_display
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_APP_LAUNCH_CONTEXT_GET_CLASS
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_IS_APP_LAUNCH_CONTEXT
    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:471,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:473,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gthreadedresolver.c:471,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionName: lookup_by_name_with_flags_finish
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name_with_flags_finish (GResolver *resolver,
      GAsyncResult *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:886,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gthreadedresolver.c:892,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:898,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:888,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:900,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gthreadedresolver.c:901,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gthreadedresolver.c:905,1
    - Dst: g_strndup
      Src: /src/glib/gio/gthreadedresolver.c:905,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:910,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gthreadedresolver.c:911,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gthreadedresolver.c:912,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - answer
    - end
    - p
    - error
    argTypes:
    - guint8*
    - guint8*
    - guint8**
    - GError**
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: parse_res_txt
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_new_strv
    - _
    - g_ptr_array_new_with_free_func
    - g_strndup
    - g_ptr_array_free
    - g_variant_new
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gthreadedresolver.c:1149,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:1152,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gthreadedresolver.c:1154,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gthreadedresolver.c:1153,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gthreadedresolver.c:1151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - rec
    argTypes:
    - DNS_RECORD*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1156
    functionName: parse_dns_txt
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_ptr_array_free
    - g_variant_new
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_dns_txt (DNS_RECORD *rec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: res_ninit
      Src: /src/glib/gio/gthreadedresolver.c:1296,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/gthreadedresolver.c:1304,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1298,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1299,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/gthreadedresolver.c:1305,1
    - Dst: g_byte_array_set_size
      Src: /src/glib/gio/gthreadedresolver.c:1308,1
    - Dst: res_nquery
      Src: /src/glib/gio/gthreadedresolver.c:1310,1
    - Dst: res_query
      Src: /src/glib/gio/gthreadedresolver.c:1312,1
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/gio/gthreadedresolver.c:1326,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/gthreadedresolver.c:1327,1
    - Dst: res_ndestroy
      Src: /src/glib/gio/gthreadedresolver.c:1332,1
    - Dst: res_nclose
      Src: /src/glib/gio/gthreadedresolver.c:1334,1
    - Dst: g_resolver_record_type_to_dnstype
      Src: /src/glib/gio/gthreadedresolver.c:1347,1
    - Dst: g_resolver_records_from_DnsQuery
      Src: /src/glib/gio/gthreadedresolver.c:1349,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1355,1
    - Dst: DnsQuery_A
      Src: /src/glib/gio/gthreadedresolver.c:1348,1
    - Dst: DnsRecordListFree
      Src: /src/glib/gio/gthreadedresolver.c:1351,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - rrname
    - record_type
    - cancellable
    - error
    argTypes:
    - gchar*
    - GResolverRecordType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1356
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1356
    functionName: do_lookup_records
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - DnsRecordListFree
    - res_ninit
    - _
    - DnsQuery_A
    - res_nquery
    - g_resolver_record_type_to_rrtype
    - res_query
    - res_ndestroy
    - res_nclose
    - g_byte_array_new
    - g_resolver_records_from_res_query
    - g_resolver_records_from_DnsQuery
    - g_byte_array_free
    - g_steal_pointer
    - g_byte_array_set_size
    - g_resolver_record_type_to_dnstype
    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:1468,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gthreadedresolver.c:1476,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1474,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1472,1
    - Dst: g_assert
      Src: /src/glib/gio/gthreadedresolver.c:1476,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1477,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1478,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1480,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gthreadedresolver.c:1483,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1486,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gthreadedresolver.c:1488,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1489,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1494
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1494
    functionName: cancelled_cb
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_pointer
    - g_object_unref
    - g_cancellable_is_cancelled
    - g_task_return_error_if_cancelled
    - g_cond_broadcast
    - g_mutex_unlock
    - g_weak_ref_get
    - g_atomic_int_compare_and_exchange
    - g_task_get_task_data
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cancelled_cb (GCancellable *cancellable, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:188,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gthreadedresolver.c:191,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:194,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gthreadedresolver.c:190,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - hostname
    - address_family
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: lookup_data_new_by_name
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_steal_pointer
    - g_mutex_init
    - g_cond_init
    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:487,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gthreadedresolver.c:488,1
    - Dst: getnameinfo
      Src: /src/glib/gio/gthreadedresolver.c:493,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:491,1
    - Dst: g_socket_address_get_native_size
      Src: /src/glib/gio/gthreadedresolver.c:490,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:496,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gthreadedresolver.c:502,1
    - Dst: WSAGetLastError
      Src: /src/glib/gio/gthreadedresolver.c:502,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/gio/gthreadedresolver.c:504,1
    - Dst: gai_strerror
      Src: /src/glib/gio/gthreadedresolver.c:504,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:516,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gthreadedresolver.c:509,1
    - Dst: g_resolver_error_from_addrinfo_error
      Src: /src/glib/gio/gthreadedresolver.c:512,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:513,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:517,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:510,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:506,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - address
    - cancellable
    - error
    argTypes:
    - GInetAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 521
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 521
    functionName: do_lookup_by_address
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_inet_address_to_string
    - _
    - g_free
    - g_socket_address_to_native
    - g_locale_to_utf8
    - g_resolver_error_from_addrinfo_error
    - g_inet_socket_address_new
    - g_object_unref
    - g_socket_address_get_native_size
    - getnameinfo
    - gai_strerror
    - WSAGetLastError
    - g_win32_error_message
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *do_lookup_by_address (GInetAddress *address, GCancellable
      *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gthreadedresolver.c:932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GResolverRecordType
    constantsTouched: []
    func_position:
      end: 933
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 933
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gthreadedresolver.c:1174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GResolverRecordType
    constantsTouched: []
    func_position:
      end: 1175
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1175
    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:1192,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1197,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1193,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1198,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1202,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1203,1
    - Dst: parse_dns_srv
      Src: /src/glib/gio/gthreadedresolver.c:1217,1
    - Dst: parse_dns_soa
      Src: /src/glib/gio/gthreadedresolver.c:1220,1
    - Dst: parse_dns_ns
      Src: /src/glib/gio/gthreadedresolver.c:1223,1
    - Dst: parse_dns_mx
      Src: /src/glib/gio/gthreadedresolver.c:1226,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthreadedresolver.c:1237,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1243,1
    - Dst: parse_dns_txt
      Src: /src/glib/gio/gthreadedresolver.c:1229,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gthreadedresolver.c:1237,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gthreadedresolver.c:1232,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1242,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 5
    argNames:
    - rrname
    - dnstype
    - status
    - results
    - error
    argTypes:
    - gchar*
    - WORD
    - DNS_STATUS
    - DNS_RECORD*
    - GError**
    constantsTouched: []
    func_position:
      end: 1249
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1249
    functionName: g_resolver_records_from_DnsQuery
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - parse_dns_soa
    - parse_dns_mx
    - g_list_prepend
    - parse_dns_ns
    - g_warn_if_reached
    - parse_dns_srv
    - parse_dns_txt
    - g_variant_ref_sink
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_resolver_records_from_DnsQuery (const gchar *rrname,
      WORD dnstype, DNS_STATUS status, DNS_RECORD *results, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:1365,1
    - Dst: lookup_data_new_records
      Src: /src/glib/gio/gthreadedresolver.c:1374,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:1370,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:1372,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:1371,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1375,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1375,1
    - Dst: run_task_in_thread_pool_sync
      Src: /src/glib/gio/gthreadedresolver.c:1377,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1379,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1380,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - resolver
    - rrname
    - record_type
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GResolverRecordType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1383
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1383
    functionName: lookup_records
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_task_set_task_data
    - G_THREADED_RESOLVER
    - g_task_propagate_pointer
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_steal_pointer
    - g_task_set_name
    - lookup_data_new_records
    - run_task_in_thread_pool_sync
    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_OBJECT_CLASS
      Src: /src/glib/gio/gthreadedresolver.c:1646,1
    - Dst: G_RESOLVER_CLASS
      Src: /src/glib/gio/gthreadedresolver.c:1647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - threaded_class
    argTypes:
    - GThreadedResolverClass*
    constantsTouched: []
    func_position:
      end: 1663
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1663
    functionName: g_threaded_resolver_class_init
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_RESOLVER_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_resolver_class_init (GThreadedResolverClass
      *threaded_class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gthreadedresolver.c:1429,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1437,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1435,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1433,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1438,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1440,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gthreadedresolver.c:1443,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1444,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1447,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gthreadedresolver.c:1449,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1450,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1455
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1455
    functionName: timeout_cb
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - _
    - g_clear_pointer
    - g_object_unref
    - g_cond_broadcast
    - g_mutex_unlock
    - g_weak_ref_get
    - g_atomic_int_compare_and_exchange
    - g_task_return_new_error
    - g_task_get_task_data
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:112,1
    - Dst: g_thread_pool_free
      Src: /src/glib/gio/gthreadedresolver.c:114,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gthreadedresolver.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: g_threaded_resolver_finalize
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - G_THREADED_RESOLVER
    - G_OBJECT_CLASS
    - g_thread_pool_free
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_resolver_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:395,1
    - Dst: lookup_data_new_by_name
      Src: /src/glib/gio/gthreadedresolver.c:400,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:402,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:401,1
    - Dst: flags_to_family
      Src: /src/glib/gio/gthreadedresolver.c:400,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:403,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:404,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:404,1
    - Dst: run_task_in_thread_pool_sync
      Src: /src/glib/gio/gthreadedresolver.c:406,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:408,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 5
    argNames:
    - resolver
    - hostname
    - flags
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GResolverNameLookupFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 412
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 412
    functionName: lookup_by_name_with_flags
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - lookup_data_new_by_name
    - g_task_set_task_data
    - G_THREADED_RESOLVER
    - g_task_propagate_pointer
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_steal_pointer
    - g_task_set_name
    - run_task_in_thread_pool_sync
    - flags_to_family
    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:448,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: 454
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 454
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:756,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:762,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:758,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:763,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:764,1
    - Dst: expand_name
      Src: /src/glib/gio/gthreadedresolver.c:782,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:785,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - answer
    - end
    - p
    - error
    argTypes:
    - guint8*
    - guint8*
    - guint8**
    - GError**
    constantsTouched: []
    func_position:
      end: 790
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 790
    functionName: parse_res_srv
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - expand_name
    - g_variant_new
    - GETSHORT
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_res_srv (const guint8 *answer, const guint8
      *end, const guint8 **p, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gthreadedresolver.c:1256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - records
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 1257
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1257
    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_weak_ref_clear
      Src: /src/glib/gio/gthreadedresolver.c:1499,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:1500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 1501
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1501
    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: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 138
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 138
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:422,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:427,1
    - Dst: lookup_data_new_by_name
      Src: /src/glib/gio/gthreadedresolver.c:426,1
    - Dst: g_debug
      Src: /src/glib/gio/gthreadedresolver.c:429,1
    - Dst: flags_to_family
      Src: /src/glib/gio/gthreadedresolver.c:426,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:432,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:433,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:434,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:434,1
    - Dst: run_task_in_thread_pool_async
      Src: /src/glib/gio/gthreadedresolver.c:436,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:438,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: 439
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 439
    functionName: lookup_by_name_with_flags_async
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - lookup_data_new_by_name
    - g_task_set_task_data
    - G_THREADED_RESOLVER
    - run_task_in_thread_pool_async
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_debug
    - g_steal_pointer
    - g_task_set_name
    - flags_to_family
    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:461,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gthreadedresolver.c:461,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:463,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: lookup_by_name_finish
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expand_name
      Src: /src/glib/gio/gthreadedresolver.c:802,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:810,1
    - Dst: GETLONG
      Src: /src/glib/gio/gthreadedresolver.c:816,1
    - Dst: expand_name
      Src: /src/glib/gio/gthreadedresolver.c:805,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:812,1
    - Dst: GETLONG
      Src: /src/glib/gio/gthreadedresolver.c:817,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: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:822,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - answer
    - end
    - p
    - error
    argTypes:
    - guint8*
    - guint8*
    - guint8**
    - GError**
    constantsTouched: []
    func_position:
      end: 830
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 830
    functionName: parse_res_soa
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - expand_name
    - g_variant_new
    - GETLONG
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_res_soa (const guint8 *answer, const guint8
      *end, const guint8 **p, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gthreadedresolver.c:1513,1
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:1517,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gthreadedresolver.c:1523,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1522,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1533,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gthreadedresolver.c:1534,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1511,1
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:1508,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gthreadedresolver.c:1521,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gthreadedresolver.c:1532,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1537,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1507,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gthreadedresolver.c:1509,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gthreadedresolver.c:1520,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gthreadedresolver.c:1522,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gthreadedresolver.c:1523,1
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:1528,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gthreadedresolver.c:1531,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gthreadedresolver.c:1533,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gthreadedresolver.c:1534,1
    - Dst: g_resolver_get_timeout
      Src: /src/glib/gio/gthreadedresolver.c:1508,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedresolver.c:1513,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/gthreadedresolver.c:1518,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/gthreadedresolver.c:1529,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gthreadedresolver.c:1522,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gthreadedresolver.c:1533,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - self
    - task
    argTypes:
    - GThreadedResolver*
    - GTask*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1538
    functionName: run_task_in_thread_pool_async
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_object_ref
    - g_new0
    - g_source_attach
    - g_source_set_static_name
    - GLIB_PRIVATE_CALL
    - g_thread_pool_push
    - G_RESOLVER
    - g_resolver_get_timeout
    - g_steal_pointer
    - g_cancellable_source_new
    - g_mutex_unlock
    - G_SOURCE_FUNC
    - g_timeout_source_new
    - g_weak_ref_set
    - g_task_get_cancellable
    - g_task_get_task_data
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void run_task_in_thread_pool_async (GThreadedResolver *self,
      GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dn_expand
      Src: /src/glib/gio/gthreadedresolver.c:731,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:734,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:736,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: 743
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 743
    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_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:351,1
    - Dst: lookup_data_new_by_name
      Src: /src/glib/gio/gthreadedresolver.c:356,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:357,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:358,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:359,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:360,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:360,1
    - Dst: run_task_in_thread_pool_sync
      Src: /src/glib/gio/gthreadedresolver.c:362,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:364,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:365,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - resolver
    - hostname
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 368
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 368
    functionName: lookup_by_name
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - lookup_data_new_by_name
    - g_task_set_task_data
    - G_THREADED_RESOLVER
    - g_task_propagate_pointer
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_steal_pointer
    - g_task_set_name
    - run_task_in_thread_pool_sync
    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:840,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:843,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - answer
    - end
    - p
    - error
    argTypes:
    - guint8*
    - guint8*
    - guint8**
    - GError**
    constantsTouched: []
    func_position:
      end: 844
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 844
    functionName: parse_res_ns
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - expand_name
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_res_ns (const guint8 *answer, const guint8
      *end, const guint8 **p, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:1131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rec
    argTypes:
    - DNS_RECORD*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1132
    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_RECORD *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new_full
      Src: /src/glib/gio/gthreadedresolver.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GThreadedResolver*
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthreadedresolver.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GResolverNameLookupFlags
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 386
    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:857,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:859,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:868,1
    - Dst: expand_name
      Src: /src/glib/gio/gthreadedresolver.c:865,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:863,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - answer
    - end
    - p
    - error
    argTypes:
    - guint8*
    - guint8*
    - guint8**
    - GError**
    constantsTouched: []
    func_position:
      end: 871
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 871
    functionName: parse_res_mx
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - expand_name
    - g_variant_new
    - GETSHORT
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_res_mx (const guint8 *answer, const guint8
      *end, const guint8 **p, GError **error) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:967,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1006,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1003,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:1037,1
    - Dst: parse_res_txt
      Src: /src/glib/gio/gthreadedresolver.c:1071,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gthreadedresolver.c:1089,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1095,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:963,1
    - Dst: dn_expand
      Src: /src/glib/gio/gthreadedresolver.c:998,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1006,1
    - Dst: dn_expand
      Src: /src/glib/gio/gthreadedresolver.c:1023,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:1036,1
    - Dst: parse_res_ns
      Src: /src/glib/gio/gthreadedresolver.c:1068,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthreadedresolver.c:1080,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1094,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1088,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:962,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:958,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:979,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:982,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1031,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1028,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:1039,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1043,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1046,1
    - Dst: parse_res_soa
      Src: /src/glib/gio/gthreadedresolver.c:1065,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:957,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:968,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:982,1
    - Dst: ntohs
      Src: /src/glib/gio/gthreadedresolver.c:993,1
    - Dst: ntohs
      Src: /src/glib/gio/gthreadedresolver.c:1018,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1031,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1046,1
    - Dst: parse_res_srv
      Src: /src/glib/gio/gthreadedresolver.c:1059,1
    - Dst: parse_res_mx
      Src: /src/glib/gio/gthreadedresolver.c:1062,1
    - Dst: g_debug
      Src: /src/glib/gio/gthreadedresolver.c:1074,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gthreadedresolver.c:1088,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 112
    argCount: 6
    argNames:
    - rrname
    - rrtype
    - answer
    - len
    - herr
    - error
    argTypes:
    - gchar*
    - gint
    - guint8*
    - gssize
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 1101
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 1101
    functionName: g_resolver_records_from_res_query
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - parse_res_srv
    - _
    - dn_expand
    - g_list_prepend
    - parse_res_soa
    - g_debug
    - ntohs
    - parse_res_mx
    - parse_res_txt
    - parse_res_ns
    - g_propagate_prefixed_error
    - g_list_free_full
    - GETSHORT
    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:1137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rec
    argTypes:
    - DNS_RECORD*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1140
    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_RECORD *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:200,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gthreadedresolver.c:202,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:205,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedresolver.c:204,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gthreadedresolver.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: lookup_data_new_by_address
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_new0
    - g_steal_pointer
    - g_mutex_init
    - g_cond_init
    linkageType: ''
    returnType: LookupData*
    signature: 'static LookupData *lookup_data_new_by_address (GInetAddress *address) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:226,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedresolver.c:229,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:232,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gthreadedresolver.c:240,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gthreadedresolver.c:235,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:241,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gthreadedresolver.c:246,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:247,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gthreadedresolver.c:250,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gthreadedresolver.c:251,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - LookupData*
    constantsTouched: []
    func_position:
      end: 254
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 254
    functionName: lookup_data_free
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_free
    - g_clear_pointer
    - g_clear_object
    - g_assert_not_reached
    - g_cond_clear
    - g_mutex_clear
    - g_source_destroy
    linkageType: ''
    returnType: void
    signature: 'static void lookup_data_free (LookupData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:529,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:537,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:536,1
    - Dst: lookup_data_new_by_address
      Src: /src/glib/gio/gthreadedresolver.c:534,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:535,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:538,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:538,1
    - Dst: run_task_in_thread_pool_sync
      Src: /src/glib/gio/gthreadedresolver.c:540,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:542,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:543,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - resolver
    - address
    - cancellable
    - error
    argTypes:
    - GResolver*
    - GInetAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 546
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 546
    functionName: lookup_by_address
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_task_set_task_data
    - G_THREADED_RESOLVER
    - g_task_propagate_pointer
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_steal_pointer
    - g_task_set_name
    - run_task_in_thread_pool_sync
    - lookup_data_new_by_address
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *lookup_by_address (GResolver *resolver, GInetAddress
      *address, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthreadedresolver.c:575,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:577,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:577,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gthreadedresolver.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 578
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 578
    functionName: lookup_by_address_finish
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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:1108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rec
    argTypes:
    - DNS_RECORD*
    constantsTouched: []
    func_position:
      end: 1113
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1113
    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_RECORD *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:1393,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:1399,1
    - Dst: lookup_data_new_records
      Src: /src/glib/gio/gthreadedresolver.c:1401,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:1398,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:1397,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1402,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1402,1
    - Dst: run_task_in_thread_pool_async
      Src: /src/glib/gio/gthreadedresolver.c:1404,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1406,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: 1407
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1407
    functionName: lookup_records_async
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_task_set_task_data
    - G_THREADED_RESOLVER
    - run_task_in_thread_pool_async
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_steal_pointer
    - 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:1544,1
    - Dst: run_task_in_thread_pool_async
      Src: /src/glib/gio/gthreadedresolver.c:1546,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gthreadedresolver.c:1550,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1551,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - self
    - task
    argTypes:
    - GThreadedResolver*
    - GTask*
    constantsTouched: []
    func_position:
      end: 1552
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1552
    functionName: run_task_in_thread_pool_sync
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - run_task_in_thread_pool_async
    - g_cond_wait
    - g_mutex_unlock
    - g_task_get_task_data
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void run_task_in_thread_pool_sync (GThreadedResolver *self,
      GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:212,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gthreadedresolver.c:215,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:216,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gthreadedresolver.c:214,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - rrname
    - record_type
    argTypes:
    - gchar*
    - GResolverRecordType
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: lookup_data_new_records
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_steal_pointer
    - g_mutex_init
    - g_cond_init
    linkageType: ''
    returnType: LookupData*
    signature: 'static LookupData *lookup_data_new_records (const gchar *rrname, GResolverRecordType
      record_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getaddrinfo
      Src: /src/glib/gio/gthreadedresolver.c:278,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gthreadedresolver.c:307,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:316,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:329,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gthreadedresolver.c:325,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:332,1
    - Dst: g_resolver_error_from_addrinfo_error
      Src: /src/glib/gio/gthreadedresolver.c:336,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedresolver.c:294,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gthreadedresolver.c:292,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedresolver.c:298,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:337,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:300,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:318,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/gio/gthreadedresolver.c:327,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:313,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/gthreadedresolver.c:289,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gthreadedresolver.c:298,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthreadedresolver.c:299,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:303,1
    - Dst: WSAGetLastError
      Src: /src/glib/gio/gthreadedresolver.c:325,1
    - Dst: gai_strerror
      Src: /src/glib/gio/gthreadedresolver.c:327,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:308,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:334,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:339,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 4
    argNames:
    - hostname
    - address_family
    - cancellable
    - error
    argTypes:
    - gchar*
    - int
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 343
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 343
    functionName: do_lookup_by_name
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - _
    - g_clear_pointer
    - getaddrinfo
    - g_steal_pointer
    - gai_strerror
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_socket_address_get_address
    - g_object_unref
    - g_list_reverse
    - g_object_ref
    - g_resolver_error_from_addrinfo_error
    - g_list_prepend
    - g_win32_error_message
    - g_socket_address_new_from_native
    - g_set_error
    - g_strdup
    - g_free
    - g_locale_to_utf8
    - g_clear_object
    - WSAGetLastError
    linkageType: ''
    returnType: GList*
    signature: 'static GList *do_lookup_by_name (const gchar *hostname, int address_family,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:555,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:560,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:561,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:562,1
    - Dst: lookup_data_new_by_address
      Src: /src/glib/gio/gthreadedresolver.c:559,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:563,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:563,1
    - Dst: run_task_in_thread_pool_async
      Src: /src/glib/gio/gthreadedresolver.c:565,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:567,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: 568
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 568
    functionName: lookup_by_address_async
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_task_set_task_data
    - G_THREADED_RESOLVER
    - run_task_in_thread_pool_async
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_steal_pointer
    - g_task_set_name
    - lookup_data_new_by_address
    linkageType: ''
    returnType: void
    signature: 'static void lookup_by_address_async (GResolver *resolver, GInetAddress
      *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:1118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rec
    argTypes:
    - DNS_RECORD*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1126
    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_RECORD *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthreadedresolver.c:1414,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:1416,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gthreadedresolver.c:1414,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1417
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1417
    functionName: lookup_records_finish
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_records_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1559,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1558,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1573,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1579,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1584,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1600,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1595,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1602,1
    - Dst: do_lookup_records
      Src: /src/glib/gio/gthreadedresolver.c:1610,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1615,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1635,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:1558,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1574,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1579,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gthreadedresolver.c:1602,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1616,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1624,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gthreadedresolver.c:1637,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1640,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gthreadedresolver.c:1560,1
    - Dst: do_lookup_by_address
      Src: /src/glib/gio/gthreadedresolver.c:1589,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1593,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1581,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1600,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1605,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1617,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gthreadedresolver.c:1624,1
    - Dst: do_lookup_by_name
      Src: /src/glib/gio/gthreadedresolver.c:1567,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1572,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1594,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gthreadedresolver.c:1581,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1622,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1622,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1627,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1638,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gthreadedresolver.c:1631,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - task_data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1641
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1641
    functionName: threaded_resolver_worker_cb
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - G_TASK
    - do_lookup_by_address
    - g_clear_pointer
    - do_lookup_records
    - g_assert_not_reached
    - g_object_unref
    - g_cond_broadcast
    - g_steal_pointer
    - g_mutex_unlock
    - g_task_return_pointer
    - g_task_return_error
    - do_lookup_by_name
    - g_atomic_int_compare_and_exchange
    - g_task_get_cancellable
    - g_task_get_task_data
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void threaded_resolver_worker_cb (gpointer task_data, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetIpForwardTable2
      Src: /src/glib/gio/gwin32networkmonitor.c:135,1
    - Dst: win_network_monitor_get_ip_info
      Src: /src/glib/gio/gwin32networkmonitor.c:154,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32networkmonitor.c:138,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32networkmonitor.c:144,1
    - Dst: get_network_mask
      Src: /src/glib/gio/gwin32networkmonitor.c:157,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
    - g_ptr_array_new_full
    - GetIpForwardTable2
    - get_network_mask
    - win_network_monitor_get_ip_info
    - g_ptr_array_add
    - G_NETWORK_MONITOR_BASE
    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_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gwin32networkmonitor.c:198,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
    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:
    - get_network_mask
    - g_object_unref
    - g_network_monitor_base_remove_network
    - G_NETWORK_MONITOR_BASE
    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: remove_network
      Src: /src/glib/gio/gwin32networkmonitor.c:223,1
    - Dst: add_network
      Src: /src/glib/gio/gwin32networkmonitor.c:229,1
    - Dst: win_network_monitor_get_ip_info
      Src: /src/glib/gio/gwin32networkmonitor.c:226,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
    - add_network
    - remove_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: NotifyRouteChange2
      Src: /src/glib/gio/gwin32networkmonitor.c:280,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: g_main_context_ref_thread_default
      Src: /src/glib/gio/gwin32networkmonitor.c:273,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
    - win_network_monitor_process_table
    - G_WIN32_NETWORK_MONITOR
    - g_error_copy
    - g_main_context_ref_thread_default
    - NotifyRouteChange2
    - g_propagate_error
    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: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gwin32networkmonitor.c:115,1
    - Dst: g_inet_address_mask_new
      Src: /src/glib/gio/gwin32networkmonitor.c:119,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gwin32networkmonitor.c:117,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32networkmonitor.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - family
    - dest
    - len
    argTypes:
    - GSocketFamily
    - guint8*
    - gsize
    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_new_from_bytes
    - g_object_unref
    - g_inet_address_mask_new
    - g_inet_address_new_any
    linkageType: ''
    returnType: GInetAddressMask*
    signature: 'static GInetAddressMask *get_network_mask (GSocketFamily family, const
      guint8 *dest, gsize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_network_mask
      Src: /src/glib/gio/gwin32networkmonitor.c:179,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
    - Dst: G_NETWORK_MONITOR_BASE
      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:
    - get_network_mask
    - g_object_unref
    - g_network_monitor_base_add_network
    - G_NETWORK_MONITOR_BASE
    linkageType: ''
    returnType: void
    signature: 'static void add_network (GWin32NetworkMonitor *win, GSocketFamily
      family, const guint8 *dest, gsize dest_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gwin32networkmonitor.c:247,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_set_callback
      Src: /src/glib/gio/gwin32networkmonitor.c:254,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_callback
    - g_new0
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    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: g_source_destroy
      Src: /src/glib/gio/gwin32networkmonitor.c:312,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gwin32networkmonitor.c:308,1
    - Dst: CancelMibChangeNotify2
      Src: /src/glib/gio/gwin32networkmonitor.c:306,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_OBJECT_CLASS
    - G_WIN32_NETWORK_MONITOR
    - g_main_context_unref
    - CancelMibChangeNotify2
    - g_clear_error
    - g_source_unref
    - g_source_destroy
    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:216,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:216,1
    - Dst: G_LIST_MODEL_GET_IFACE
      Src: /src/glib/gio/glistmodel.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - GListModel*
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glistmodel.c:244,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:244,1
    - Dst: G_LIST_MODEL_GET_IFACE
      Src: /src/glib/gio/glistmodel.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - list
    - position
    argTypes:
    - GListModel*
    - guint
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    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_signal_new
      Src: /src/glib/gio/glistmodel.c:161,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/glistmodel.c:170,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/glistmodel.c:169,1
    - Dst: I_
      Src: /src/glib/gio/glistmodel.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GListModelInterface*
    constantsTouched: []
    func_position:
      end: 172
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 172
    functionName: g_list_model_default_init
    functionSourceFile: /src/glib/gio/glistmodel.c
    functionUses: []
    functionsReached:
    - g_signal_set_va_marshaller
    - g_signal_new
    - I_
    - G_TYPE_FROM_INTERFACE
    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:277,1
    - Dst: g_list_model_get_item
      Src: /src/glib/gio/glistmodel.c:279,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/glistmodel.c:281,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - list
    - position
    argTypes:
    - GListModel*
    - guint
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: g_list_model_get_object
    functionSourceFile: /src/glib/gio/glistmodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_return_val_if_fail
    - g_list_model_get_item
    - G_IS_LIST_MODEL
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_list_model_get_object (GListModel *list, guint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glistmodel.c:194,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:194,1
    - Dst: G_LIST_MODEL_GET_IFACE
      Src: /src/glib/gio/glistmodel.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - GListModel*
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    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_if_fail
      Src: /src/glib/gio/glistmodel.c:320,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:320,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/glistmodel.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - list
    - position
    - removed
    - added
    argTypes:
    - GListModel*
    - guint
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: g_list_model_items_changed
    functionSourceFile: /src/glib/gio/glistmodel.c
    functionUses: []
    functionsReached:
    - G_IS_LIST_MODEL
    - g_signal_emit
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_list_model_items_changed (GListModel *list, guint position,
      guint removed, guint added) '
  - 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:63,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-move.c:64,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-move.c:65,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:
    - _
    - g_free
    - g_format_size
    - g_get_monotonic_time
    - MAX
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void show_progress (goffset current_num_bytes, goffset total_num_bytes,
      gpointer user_data) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - 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_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_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_free
      Src: /src/glib/gio/gio-tool-move.c:146,1
    - Dst: fgets
      Src: /src/glib/gio/gio-tool-move.c:189,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-move.c:187,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-move.c:188,1
    - 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: show_help
      Src: /src/glib/gio/gio-tool-move.c:109,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_get_monotonic_time
      Src: /src/glib/gio/gio-tool-move.c:176,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: print_file_error
      Src: /src/glib/gio/gio-tool-move.c:201,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-move.c:99,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-move.c:105,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-move.c:114,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-move.c:110,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_option_context_free
      Src: /src/glib/gio/gio-tool-move.c:148,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-move.c:208,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-move.c:214,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-move.c:179,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-move.c:202,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-move.c:162,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: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_file_get_uri
      Src: /src/glib/gio/gio-tool-move.c:186,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-move.c:187,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-move.c:211,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-move.c:210,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-move.c:161,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-move.c:183,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_option_context_set_summary
    - g_file_get_basename
    - g_file_get_uri
    - fgets
    - show_help
    - g_file_new_for_commandline_arg
    - g_option_context_free
    - g_error_matches
    - g_option_context_set_description
    - g_object_unref
    - g_get_monotonic_time
    - g_print
    - print_file_error
    - g_object_ref
    - g_option_context_new
    - g_error_free
    - g_strdup_printf
    - g_option_context_set_help_enabled
    - g_free
    - g_set_prgname
    - file_is_dir
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_file_move
    - g_file_get_child
    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:130,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gmemorymonitor.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    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:151,1
    - Dst: I_
      Src: /src/glib/gio/gmemorymonitor.c:151,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmemorymonitor.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GMemoryMonitorInterface*
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: g_memory_monitor_default_init
    functionSourceFile: /src/glib/gio/gmemorymonitor.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new
    - I_
    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:56,1
    - Dst: G_DEBUG_CONTROLLER_GET_INTERFACE
      Src: /src/glib/gio/gdebugcontroller.h:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames:
    - GDebugController
    - g_debug_controller
    - g
    - debug_controller
    - GObject
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: G_DECLARE_INTERFACE
    functionSourceFile: /src/glib/gio/gdebugcontroller.h
    functionUses: []
    functionsReached:
    - G_IS_DEBUG_CONTROLLER
    - G_DEBUG_CONTROLLER_GET_INTERFACE
    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: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    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:148,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:148,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableinputstream.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - cancellable
    argTypes:
    - GPollableInputStream*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: g_pollable_input_stream_create_source
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_POLLABLE_INPUT_STREAM
    - g_return_val_if_fail
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    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:118,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableinputstream.c:120,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: g_pollable_input_stream_is_readable
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_POLLABLE_INPUT_STREAM
    - g_return_val_if_fail
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pollable_input_stream_is_readable (GPollableInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    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:160,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gpollableinputstream.c:167,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gpollableinputstream.c:162,1
    - Dst: g_strerror
      Src: /src/glib/gio/gpollableinputstream.c:163,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - stream
    - buffer
    - count
    - error
    argTypes:
    - GPollableInputStream*
    - void*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: g_pollable_input_stream_default_read_nonblocking
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - g_pollable_input_stream_is_readable
    - g_strerror
    - G_INPUT_STREAM_GET_CLASS
    - G_INPUT_STREAM
    - g_set_error_literal
    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:87,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:87,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableinputstream.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: g_pollable_input_stream_can_poll
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_POLLABLE_INPUT_STREAM
    - g_return_val_if_fail
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pollable_input_stream_can_poll (GPollableInputStream *stream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableinputstream.c:208,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableinputstream.c:209,1
    - Dst: g_set_error
      Src: /src/glib/gio/gpollableinputstream.c:219,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gpollableinputstream.c:211,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:208,1
    - Dst: _
      Src: /src/glib/gio/gpollableinputstream.c:220,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gpollableinputstream.c:225,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableinputstream.c:227,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gpollableinputstream.c:231,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: 234
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 234
    functionName: g_pollable_input_stream_read_nonblocking
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_pop_current
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    - _
    - g_return_val_if_fail
    - g_cancellable_set_error_if_cancelled
    - g_cancellable_push_current
    - G_IS_POLLABLE_INPUT_STREAM
    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:
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gcancellable.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 723
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:730,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:760,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gcancellable.c:755,1
    - Dst: g_source_ref
      Src: /src/glib/gio/gcancellable.c:751,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gcancellable.c:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 761
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 761
    functionName: cancellable_source_dispose
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_clear_signal_handler
    - g_clear_object
    - g_mutex_unlock
    - g_mutex_lock
    - g_source_ref
    linkageType: ''
    returnType: void
    signature: 'static void cancellable_source_dispose (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gcancellable.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:70,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcancellable.c:75,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: g_cancellable_finalize
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - G_CANCELLABLE
    - GLIB_PRIVATE_CALL
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_cancellable_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gcancellable.c:497,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:502,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:506,1
    - Dst: g_atomic_int_exchange
      Src: /src/glib/gio/gcancellable.c:504,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:513,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:515,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gcancellable.c:517,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gcancellable.c:518,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:520,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcancellable.c:529,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:527,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gcancellable.c:524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 530
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 530
    functionName: g_cancellable_cancel
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - GLIB_PRIVATE_CALL
    - g_object_unref
    - g_cancellable_is_cancelled
    - g_cond_broadcast
    - g_mutex_unlock
    - g_signal_emit
    - g_mutex_lock
    - g_atomic_int_exchange
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_cancel (GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcancellable.c:81,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gcancellable.c:142,1
    - Dst: I_
      Src: /src/glib/gio/gcancellable.c:142,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gcancellable.c:145,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gcancellable.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GCancellableClass*
    constantsTouched: []
    func_position:
      end: 150
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 150
    functionName: g_cancellable_class_init
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - I_
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_STRUCT_OFFSET
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_cancellable_class_init (GCancellableClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:454,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:458,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:454,1
    - Dst: g_assert
      Src: /src/glib/gio/gcancellable.c:459,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:464,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 469
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 469
    functionName: g_cancellable_release_fd
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_assert
    - GLIB_PRIVATE_CALL
    - g_mutex_unlock
    - G_IS_CANCELLABLE
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_release_fd (GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/gio/gcancellable.c:215,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:218,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gcancellable.c:220,1
    - Dst: g_private_set
      Src: /src/glib/gio/gcancellable.c:221,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: g_cancellable_pop_current
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_private_set
    - g_private_get
    - g_slist_delete_link
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_pop_current (GCancellable *cancellable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:265,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:267,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gcancellable.c:279,1
    - Dst: g_atomic_int_exchange
      Src: /src/glib/gio/gcancellable.c:282,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:265,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:285,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 289
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 289
    functionName: g_cancellable_reset
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - GLIB_PRIVATE_CALL
    - g_cond_wait
    - g_mutex_unlock
    - G_IS_CANCELLABLE
    - g_return_if_fail
    - g_mutex_lock
    - g_atomic_int_exchange
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_reset (GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gcancellable.c:367,1
    - Dst: g_assert
      Src: /src/glib/gio/gcancellable.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 372
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 372
    functionName: g_cancellable_get_fd
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_cancellable_make_pollfd
    linkageType: ''
    returnType: int
    signature: 'int g_cancellable_get_fd (GCancellable *cancellable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcancellable.c:571,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:571,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:573,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:575,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:585,1
    - Dst: _callback
      Src: /src/glib/gio/gcancellable.c:587,1
    - Dst: data_destroy_func
      Src: /src/glib/gio/gcancellable.c:590,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:592,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gcancellable.c:595,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:599,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gcancellable.c:603,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - cancellable
    - callback
    - data
    - data_destroy_func
    argTypes:
    - GCancellable*
    - GCallback
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 613
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 613
    functionName: g_cancellable_connect
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_signal_connect_data
    - data_destroy_func
    - g_atomic_int_get
    - g_mutex_unlock
    - g_cond_broadcast
    - G_IS_CANCELLABLE
    - _callback
    - g_return_val_if_fail
    - g_mutex_lock
    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_value_init
      Src: /src/glib/gio/gcancellable.c:773,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gcancellable.c:780,1
    - Dst: g_value_init
      Src: /src/glib/gio/gcancellable.c:775,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gcancellable.c:776,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gcancellable.c:778,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gcancellable.c:781,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gcancellable.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - cancellable
    - data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 785
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 785
    functionName: cancellable_source_closure_callback
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_get_boolean
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean cancellable_source_closure_callback (GCancellable
      *cancellable,\t\t\t\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:196,1
    - Dst: g_private_set
      Src: /src/glib/gio/gcancellable.c:200,1
    - Dst: g_private_get
      Src: /src/glib/gio/gcancellable.c:198,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gcancellable.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: g_cancellable_push_current
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_private_set
    - g_slist_prepend
    - g_private_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_push_current (GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/gio/gcancellable.c:237,1
    - Dst: G_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    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_source_new
      Src: /src/glib/gio/gcancellable.c:821,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gcancellable.c:834,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gcancellable.c:828,1
    - Dst: g_source_set_dispose_function
      Src: /src/glib/gio/gcancellable.c:823,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gcancellable.c:822,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gcancellable.c:835,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: 14
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 842
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 842
    functionName: g_cancellable_source_new
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_object_ref
    - g_source_set_static_name
    - g_source_set_dispose_function
    - g_cancellable_is_cancelled
    - g_source_set_ready_time
    - G_CALLBACK
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_cancellable_source_new (GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_get_instance_private
      Src: /src/glib/gio/gcancellable.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: g_cancellable_init
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_cancellable_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_cancellable_init (GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gcancellable.c:320,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcancellable.c:322,1
    - Dst: _
      Src: /src/glib/gio/gcancellable.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - cancellable
    - error
    argTypes:
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 330
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 330
    functionName: g_cancellable_set_error_if_cancelled
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - _
    - g_cancellable_is_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cancellable_set_error_if_cancelled (GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    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:406,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:409,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:411,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcancellable.c:409,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:417,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:419,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:420,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:425,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - cancellable
    - pollfd
    argTypes:
    - GCancellable*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 428
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 428
    functionName: g_cancellable_make_pollfd
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - GLIB_PRIVATE_CALL
    - g_atomic_int_get
    - g_mutex_unlock
    - G_IS_CANCELLABLE
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cancellable_make_pollfd (GCancellable *cancellable, GPollFD
      *pollfd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:646,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gcancellable.c:661,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:663,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gcancellable.c:658,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - cancellable
    - handler_id
    argTypes:
    - GCancellable*
    - gulong
    constantsTouched: []
    func_position:
      end: 664
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 664
    functionName: g_cancellable_disconnect
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_signal_handler_disconnect
    - g_mutex_lock
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: "void g_cancellable_disconnect (GCancellable *cancellable,\t\t\t gulong
      handler_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:693,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:708,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gcancellable.c:703,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:702,1
    - Dst: g_source_ref
      Src: /src/glib/gio/gcancellable.c:707,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gcancellable.c:709,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gcancellable.c:710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 711
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 711
    functionName: cancellable_source_cancelled
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_source_set_ready_time
    - g_mutex_unlock
    - g_source_unref
    - g_mutex_lock
    - g_source_ref
    linkageType: ''
    returnType: void
    signature: "static void cancellable_source_cancelled (GCancellable *cancellable,\t\t\t
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:439,1
    - Dst: G_INET_ADDRESS_FAMILY_IS_VALID
      Src: /src/glib/gio/ginetaddress.c:439,1
    - Dst: g_object_new
      Src: /src/glib/gio/ginetaddress.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - family
    argTypes:
    - guint8*
    - GSocketFamily
    constantsTouched: []
    func_position:
      end: 445
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 445
    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:527,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:527,1
    - Dst: g_strdup
      Src: /src/glib/gio/ginetaddress.c:532,1
    - Dst: inet_ntop
      Src: /src/glib/gio/ginetaddress.c:537,1
    - Dst: inet_ntop
      Src: /src/glib/gio/ginetaddress.c:531,1
    - Dst: g_strdup
      Src: /src/glib/gio/ginetaddress.c:538,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 543
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 543
    functionName: g_inet_address_to_string
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    - inet_ntop
    - g_return_val_if_fail
    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:713,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:713,1
    - Dst: IN6_IS_ADDR_SITELOCAL
      Src: /src/glib/gio/ginetaddress.c:726,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:728,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: g_inet_address_get_is_site_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_ntohl
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    - IN6_IS_ADDR_SITELOCAL
    - g_return_val_if_fail
    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:824,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:824,1
    - Dst: IN6_IS_ADDR_MC_NODELOCAL
      Src: /src/glib/gio/ginetaddress.c:830,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 834
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 834
    functionName: g_inet_address_get_is_mc_node_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - IN6_IS_ADDR_MC_NODELOCAL
    - g_assert_not_reached
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_mc_node_local (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:401,1
    - Dst: inet_pton
      Src: /src/glib/gio/ginetaddress.c:409,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:410,1
    - Dst: g_networking_init
      Src: /src/glib/gio/ginetaddress.c:407,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 417
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 417
    functionName: g_inet_address_new_from_string
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - inet_pton
    - g_return_val_if_fail
    - g_networking_init
    - g_inet_address_new_from_bytes
    linkageType: ''
    returnType: GInetAddress*
    signature: 'GInetAddress *g_inet_address_new_from_string (const gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:680,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:680,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/glib/gio/ginetaddress.c:691,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:684,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 695
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 695
    functionName: g_inet_address_get_is_link_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_ntohl
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    - g_return_val_if_fail
    - IN6_IS_ADDR_LINKLOCAL
    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:799,1
    - Dst: IN6_IS_ADDR_MC_LINKLOCAL
      Src: /src/glib/gio/ginetaddress.c:805,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:799,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 809
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 809
    functionName: g_inet_address_get_is_mc_link_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - IN6_IS_ADDR_MC_LINKLOCAL
    - g_return_val_if_fail
    - 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_inet_address_get_instance_private
      Src: /src/glib/gio/ginetaddress.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    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:648,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:648,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:661,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:652,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/glib/gio/ginetaddress.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 663
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 663
    functionName: g_inet_address_get_is_loopback
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_ntohl
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    - g_return_val_if_fail
    - IN6_IS_ADDR_LOOPBACK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_loopback (GInetAddress *address) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:96,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/ginetaddress.c:101,1
    - Dst: g_assert
      Src: /src/glib/gio/ginetaddress.c:111,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/ginetaddress.c:106,1
    - Dst: memcpy
      Src: /src/glib/gio/ginetaddress.c:106,1
    - Dst: memcpy
      Src: /src/glib/gio/ginetaddress.c:112,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/ginetaddress.c:112,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetaddress.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: g_inet_address_set_property
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_assert
    - g_value_get_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_pointer
    - G_INET_ADDRESS
    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: 1
    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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 604
    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:619,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/glib/gio/ginetaddress.c:629,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:631,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:619,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 633
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 633
    functionName: g_inet_address_get_is_any
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    - g_ntohl
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_any (GInetAddress *address) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/ginetaddress.c:139,1
    - Dst: g_inet_address_get_is_link_local
      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:175,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:179,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/ginetaddress.c:135,1
    - Dst: g_inet_address_get_is_loopback
      Src: /src/glib/gio/ginetaddress.c:147,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:171,1
    - Dst: g_inet_address_get_is_mc_global
      Src: /src/glib/gio/ginetaddress.c:163,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:175,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:130,1
    - Dst: g_inet_address_get_is_any
      Src: /src/glib/gio/ginetaddress.c:143,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:147,1
    - Dst: g_inet_address_get_is_multicast
      Src: /src/glib/gio/ginetaddress.c:159,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:163,1
    - Dst: g_inet_address_get_is_mc_link_local
      Src: /src/glib/gio/ginetaddress.c:167,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:171,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetaddress.c:183,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:167,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:159,1
    - Dst: g_inet_address_get_is_site_local
      Src: /src/glib/gio/ginetaddress.c:155,1
    - Dst: g_inet_address_get_is_mc_site_local
      Src: /src/glib/gio/ginetaddress.c:179,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 185
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 185
    functionName: g_inet_address_get_property
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_is_mc_site_local
    - g_value_set_pointer
    - g_inet_address_get_is_mc_org_local
    - g_inet_address_get_is_site_local
    - g_inet_address_get_is_any
    - g_inet_address_get_is_mc_link_local
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_enum
    - g_inet_address_get_is_mc_global
    - g_inet_address_get_is_loopback
    - g_inet_address_get_is_multicast
    - g_inet_address_get_is_link_local
    - g_inet_address_get_is_mc_node_local
    - G_INET_ADDRESS
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_address_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/ginetaddress.c:494,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:504,1
    - Dst: G_INET_ADDRESS_FAMILY_IS_VALID
      Src: /src/glib/gio/ginetaddress.c:494,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:500,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - family
    argTypes:
    - GSocketFamily
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: g_inet_address_new_any
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_new_from_bytes
    - G_INET_ADDRESS_FAMILY_IS_VALID
    - 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_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 586
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 586
    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:774,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:774,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:782,1
    - Dst: IN6_IS_ADDR_MC_GLOBAL
      Src: /src/glib/gio/ginetaddress.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 784
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 784
    functionName: g_inet_address_get_is_mc_global
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS
    - IN6_IS_ADDR_MC_GLOBAL
    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:874,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:882,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:874,1
    - Dst: IN6_IS_ADDR_MC_SITELOCAL
      Src: /src/glib/gio/ginetaddress.c:880,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 884
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 884
    functionName: g_inet_address_get_is_mc_site_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - IN6_IS_ADDR_MC_SITELOCAL
    - g_assert_not_reached
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_mc_site_local (GInetAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginetaddress.c:190,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:195,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/ginetaddress.c:196,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/ginetaddress.c:206,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:352,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:369,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:335,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:256,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:304,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:334,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:336,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:270,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:319,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:197,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:208,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:239,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:223,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:255,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:269,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:271,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:285,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:286,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:287,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:318,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:320,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:367,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:368,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:302,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:366,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:301,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:303,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:205,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:288,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:353,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:198,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:207,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:221,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:237,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:254,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:224,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:222,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:253,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:240,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:337,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:351,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:272,1
    - Dst: P_
      Src: /src/glib/gio/ginetaddress.c:321,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInetAddressClass*
    constantsTouched: []
    func_position:
      end: 373
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 373
    functionName: g_inet_address_class_init
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_boolean
    - g_param_spec_pointer
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - P_
    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:462,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:472,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:474,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:468,1
    - Dst: G_INET_ADDRESS_FAMILY_IS_VALID
      Src: /src/glib/gio/ginetaddress.c:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - family
    argTypes:
    - GSocketFamily
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: g_inet_address_new_loopback
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_new_from_bytes
    - G_INET_ADDRESS_FAMILY_IS_VALID
    - 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:745,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:749,1
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/glib/gio/ginetaddress.c:755,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:745,1
    - Dst: IN_MULTICAST
      Src: /src/glib/gio/ginetaddress.c:751,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 759
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 759
    functionName: g_inet_address_get_is_multicast
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_ntohl
    - G_IS_INET_ADDRESS
    - g_assert_not_reached
    - IN6_IS_ADDR_MULTICAST
    - g_return_val_if_fail
    - IN_MULTICAST
    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:849,1
    - Dst: IN6_IS_ADDR_MC_ORGLOCAL
      Src: /src/glib/gio/ginetaddress.c:855,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:857,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 859
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 859
    functionName: g_inet_address_get_is_mc_org_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS
    - IN6_IS_ADDR_MC_ORGLOCAL
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_mc_org_local (GInetAddress *address) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:901,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:902,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddress.c:904,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:902,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:901,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddress.c:904,1
    - Dst: memcmp
      Src: /src/glib/gio/ginetaddress.c:907,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddress.c:907,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddress.c:908,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/ginetaddress.c:909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - address
    - other_address
    argTypes:
    - GInetAddress*
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 913
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 913
    functionName: g_inet_address_equal
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_to_bytes
    - G_IS_INET_ADDRESS
    - g_inet_address_get_native_size
    - memcmp
    - g_return_val_if_fail
    - g_inet_address_get_family
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_equal (GInetAddress *address, GInetAddress
      *other_address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:560,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 563
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2799,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2806,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2810,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2818,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2804,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2822,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2829,1
    - Dst: read_incapable_app
      Src: /src/glib/gio/gwin32appinfo.c:2834,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2839,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2840,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2841,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2844,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2845,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2846
      start: 2792
    functionDepth: 0
    functionLinenumber: 2792
    functionLinenumberEnd: 2846
    functionName: read_exeapps
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_subkey_iter_clear
    - g_clear_pointer
    - g_clear_object
    - read_incapable_app
    - g_object_unref
    - g_win32_registry_subkey_iter_next
    - g_utf16_to_utf8_and_fold
    - g_win32_registry_key_new_w
    - g_win32_registry_key_get_child_w
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_subkey_iter_get_name_w
    linkageType: ''
    returnType: void
    signature: 'static void read_exeapps (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4754,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4761,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4760,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4759,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gwin32appinfo.c:4763,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gwin32appinfo.c:4763,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gwin32appinfo.c:4764,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gwin32appinfo.c:4765,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4766,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - context
    - info
    - from_task
    argTypes:
    - GAppLaunchContext*
    - GWin32AppInfo*
    - GTask*
    constantsTouched: []
    func_position:
      end: 4769
      start: 4745
    functionDepth: 0
    functionLinenumber: 4745
    functionLinenumberEnd: 4769
    functionName: emit_launch_started
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_object_ref
    - g_main_context_invoke_full
    - g_new
    - g_steal_pointer
    - g_task_get_context
    - G_SOURCE_FUNC
    - g_task_get_priority
    linkageType: ''
    returnType: void
    signature: 'static void emit_launch_started (GAppLaunchContext *context, GWin32AppInfo
      *info, GTask *from_task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:5605,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gwin32appinfo.c:5607,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gwin32appinfo.c:5605,1
    - Dst: G_TASK
      Src: /src/glib/gio/gwin32appinfo.c:5607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - appinfo
    - result
    - error
    argTypes:
    - GAppInfo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5608
      start: 5600
    functionDepth: 0
    functionLinenumber: 5600
    functionLinenumberEnd: 5608
    functionName: g_win32_app_info_launch_uris_finish
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_launch_uris_finish (GAppInfo *appinfo,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 5617
      start: 5610
    functionDepth: 0
    functionLinenumber: 5610
    functionLinenumberEnd: 5617
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:736,1
    - Dst: is_open
      Src: /src/glib/gio/gwin32appinfo.c:742,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:738,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:750,1
    - Dst: is_open
      Src: /src/glib/gio/gwin32appinfo.c:743,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 751
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 751
    functionName: compare_verbs
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - is_open
    - _wcsicmp
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_verbs (gconstpointer a, gconstpointer b, gpointer
      user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1497,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1571,1
    - Dst: handler
      Src: /src/glib/gio/gwin32appinfo.c:1590,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1567,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1597,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:1511,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1522,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:1534,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:1546,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:1583,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:1565,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1586,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1596,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:1601,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1496,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1498,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1587,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:1592,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:1516,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1530,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1540,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1553,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:1554,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1598,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: 1602
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1602
    functionName: process_verbs_commands
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _g_win32_registry_key_build_and_new_w
    - g_assert
    - g_clear_pointer
    - g_clear_object
    - handler
    - g_debug
    - g_list_free_full
    - g_utf16_to_utf8
    - _wcsicmp
    - g_win32_registry_get_os_dirs_w
    - g_win32_registry_key_get_value_w
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:2669,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:2688,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2697,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2709,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gwin32appinfo.c:2737,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2768,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2776,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2779,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2782,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2786,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:2666,1
    - Dst: process_verbs_commands
      Src: /src/glib/gio/gwin32appinfo.c:2677,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2699,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2746,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2747,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2730,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2766,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:2784,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2718,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:2738,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2728,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:2753,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2756,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:2783,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2677,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2687,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2735,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2749,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2761,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: 2787
      start: 2647
    functionDepth: 0
    functionLinenumber: 2647
    functionLinenumberEnd: 2787
    functionName: read_incapable_app
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_themed_icon_new
    - g_steal_pointer
    - g_win32_registry_value_iter_init
    - get_verbs
    - g_win32_registry_value_iter_next
    - g_object_unref
    - g_win32_registry_key_get_child_w
    - get_file_ext
    - g_win32_registry_key_get_value_w
    - g_object_ref
    - process_verbs_commands
    - get_app_object
    - g_wcsdup
    - g_win32_registry_value_iter_clear
    - g_free
    - g_clear_object
    - g_win32_registry_value_iter_get_name_w
    - g_utf16_to_utf8
    - g_win32_registry_get_os_dirs_w
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: watch_keys
      Src: /src/glib/gio/gwin32appinfo.c:3861,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gwin32appinfo.c:3863,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gwin32appinfo.c:3865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key
    - user_data
    argTypes:
    - GWin32RegistryKey*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3866
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3866
    functionName: keys_updated
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_thread_pool_push
    - watch_keys
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'static void keys_updated (GWin32RegistryKey *key, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DEFINE_TYPE
      Src: /src/glib/gio/gwin32appinfo.c:377,1
    - Dst: G_DEFINE_TYPE
      Src: /src/glib/gio/gwin32appinfo.c:379,1
    - Dst: G_WIN32_APPINFO_URL_SCHEMA
      Src: /src/glib/gio/gwin32appinfo.c:385,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:387,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_object
      Src: /src/glib/gio/gwin32appinfo.c:390,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:391,1
    - Dst: G_DEFINE_TYPE
      Src: /src/glib/gio/gwin32appinfo.c:380,1
    - Dst: G_DEFINE_TYPE
      Src: /src/glib/gio/gwin32appinfo.c:378,1
    - Dst: g_win32_appinfo_url_schema_dispose
      Src: /src/glib/gio/gwin32appinfo.c:383,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:392,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: 393
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: G_DEFINE_TYPE
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - G_WIN32_APPINFO_URL_SCHEMA
    - g_clear_object
    - g_win32_appinfo_url_schema_dispose
    - G_OBJECT_CLASS
    - G_DEFINE_TYPE
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:1372,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:1393,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1396,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:1423,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1453,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1357,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1376,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1385,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1429,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1434,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:1439,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1446,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1447,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1454,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1456,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:1398,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1415,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1431,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1444,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1406,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1457,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1459,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1463,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1467,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1460,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:1365,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1396,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1396,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1428,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1464,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 67
    argCount: 5
    argNames:
    - program_id
    - return_key
    - return_handler_id_u8
    - return_handler_id_u8_folded
    - return_uwp_aumid
    argTypes:
    - gunichar2*
    - GWin32RegistryKey**
    - gchar**
    - gchar**
    - gunichar2**
    constantsTouched: []
    func_position:
      end: 1470
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1470
    functionName: decide_which_id_to_use
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_assert
    - g_clear_pointer
    - g_clear_object
    - g_hash_table_insert
    - g_object_unref
    - g_utf16_to_utf8_and_fold
    - g_debug
    - g_steal_pointer
    - g_wcsdup
    - g_win32_registry_key_get_child_w
    - g_win32_registry_key_get_value_w
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1687,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1693,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1694,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1695,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1692,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1696,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - schema
    - schema_u8
    - schema_u8_folded
    argTypes:
    - gunichar2*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1699
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1699
    functionName: get_schema_object
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    - g_hash_table_insert
    - g_wcsdup
    - g_hash_table_lookup
    linkageType: ''
    returnType: GWin32AppInfoURLSchema*
    signature: 'static GWin32AppInfoURLSchema *get_schema_object (const gunichar2
      *schema, const gchar *schema_u8, const gchar *schema_u8_folded) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:1793,1
    - Dst: strlen
      Src: /src/glib/gio/gwin32appinfo.c:1794,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1800,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1795,1
    - Dst: _snwprintf
      Src: /src/glib/gio/gwin32appinfo.c:1803,1
    - Dst: _verb_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1804,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:1810,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: 1817
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1817
    functionName: generate_new_verb_name
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_utf16_len
    - _verb_lookup
    - g_new
    - g_strdup_printf
    - _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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APPINFO_HANDLER
      Src: /src/glib/gio/gwin32appinfo.c:399,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:404,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:401,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:403,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:402,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:405,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:406,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: g_win32_appinfo_handler_dispose
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APPINFO_HANDLER
    - g_clear_pointer
    - g_clear_object
    - 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:1834,1
    - Dst: generate_new_verb_name
      Src: /src/glib/gio/gwin32appinfo.c:1860,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:1853,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:1855,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1868,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1870,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1872,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1874,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1876,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1878,1
    - Dst: _g_win32_fixup_broken_microsoft_rundll_commandline
      Src: /src/glib/gio/gwin32appinfo.c:1890,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:1893,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1879,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1880,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/gio/gwin32appinfo.c:1895,1
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/gwin32appinfo.c:1882,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: 1896
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1896
    functionName: app_add_verb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    - generate_new_verb_name
    - _g_win32_extract_executable
    - _verb_lookup
    - g_steal_pointer
    - _verb_idx
    - g_wcsdup
    - _g_win32_fixup_broken_microsoft_rundll_commandline
    - g_ptr_array_insert
    - g_ptr_array_add
    - _wcsicmp
    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:3872,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3902,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3912,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3882,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3892,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3922,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3932,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3942,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3950
      start: 3868
    functionDepth: 0
    functionLinenumber: 3868
    functionLinenumberEnd: 3950
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:5554,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5556,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:5555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - LaunchUrisData*
    constantsTouched: []
    func_position:
      end: 5557
      start: 5551
    functionDepth: 0
    functionLinenumber: 5551
    functionLinenumberEnd: 5557
    functionName: launch_uris_data_free
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_list_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_data_free (LaunchUrisData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1615,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:1638,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:1631,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:1626,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1637,1
    - Dst: uwp_handler_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:1654,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:1658,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:1663,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1667,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1668,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:1671,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: 1672
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1672
    functionName: process_uwp_verbs
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _g_win32_registry_key_build_and_new_w
    - g_assert
    - g_clear_pointer
    - g_clear_object
    - g_debug
    - g_list_free_full
    - uwp_handler_add_verb
    - _wcsicmp
    - g_win32_registry_get_os_dirs_w
    - g_win32_registry_key_get_value_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:2018,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2024,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2063,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2066,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2115,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:2124,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:2126,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2138,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2014,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2026,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2039,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2045,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2075,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2088,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2082,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2121,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32appinfo.c:2121,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2134,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2030,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2070,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2108,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2104,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2052,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2097,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2071,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32appinfo.c:2123,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2129,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2132,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2133,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2137,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: 2139
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2139
    functionName: collect_capable_apps_from_clients
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - wcscmp
    - g_win32_registry_subkey_iter_clear
    - g_clear_pointer
    - g_object_unref
    - g_win32_registry_subkey_iter_next
    - g_win32_registry_key_get_path_w
    - g_win32_registry_key_new_w
    - g_wcsdup
    - g_win32_registry_key_get_child_w
    - g_ptr_array_add
    - g_win32_registry_key_get_value_w
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_subkey_iter_get_name_w
    linkageType: ''
    returnType: void
    signature: 'static void collect_capable_apps_from_clients (GPtrArray *capable_apps,
      GPtrArray *priority_capable_apps, gboolean user_registry) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2960,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2991,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2993,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2998,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3041,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2958,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2985,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2986,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:3009,1
    - Dst: iswalpha
      Src: /src/glib/gio/gwin32appinfo.c:3022,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3053,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:3057,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2978,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2980,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:3006,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3010,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3047,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:3033,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3052,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2955,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:3000,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:3028,1
    - Dst: get_url_association
      Src: /src/glib/gio/gwin32appinfo.c:3050,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 1
    argNames:
    - classes_root
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 3058
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 3058
    functionName: read_classes
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_subkey_iter_clear
    - get_url_association
    - g_clear_pointer
    - g_clear_object
    - g_win32_registry_value_iter_next
    - g_win32_registry_subkey_iter_next
    - g_utf16_to_utf8_and_fold
    - g_win32_registry_value_iter_init
    - iswalpha
    - g_win32_registry_value_iter_get_name_w
    - g_win32_registry_key_get_child_w
    - g_win32_registry_value_iter_clear
    - g_win32_registry_key_get_value_w
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_subkey_iter_get_name_w
    - get_file_ext
    linkageType: ''
    returnType: void
    signature: 'static void read_classes (GWin32RegistryKey *classes_root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5036
      start: 5029
    functionDepth: 0
    functionLinenumber: 5029
    functionLinenumberEnd: 5036
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/glib/gio/gwin32appinfo.c:5055,1
    - Dst: CoCreateInstance
      Src: /src/glib/gio/gwin32appinfo.c:5082,1
    - Dst: g_win32_app_info_supports_files
      Src: /src/glib/gio/gwin32appinfo.c:5117,1
    - Dst: IApplicationActivationManager_Release
      Src: /src/glib/gio/gwin32appinfo.c:5167,1
    - Dst: make_single_entry_list
      Src: /src/glib/gio/gwin32appinfo.c:5125,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32appinfo.c:5085,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5087,1
    - Dst: g_win32_app_info_launch_uwp_single
      Src: /src/glib/gio/gwin32appinfo.c:5094,1
    - Dst: CoUninitialize
      Src: /src/glib/gio/gwin32appinfo.c:5173,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5060,1
    - Dst: IShellItemArray_Release
      Src: /src/glib/gio/gwin32appinfo.c:5108,1
    - Dst: make_item_array
      Src: /src/glib/gio/gwin32appinfo.c:5138,1
    - Dst: make_item_array
      Src: /src/glib/gio/gwin32appinfo.c:5143,1
    - Dst: IShellItemArray_Release
      Src: /src/glib/gio/gwin32appinfo.c:5157,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5117,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32appinfo.c:5056,1
    - Dst: make_item_array
      Src: /src/glib/gio/gwin32appinfo.c:5099,1
    - Dst: g_win32_app_info_launch_uwp_single
      Src: /src/glib/gio/gwin32appinfo.c:5104,1
    - Dst: g_win32_app_info_launch_uwp_single
      Src: /src/glib/gio/gwin32appinfo.c:5152,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5120,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: 5178
      start: 5038
    functionDepth: 0
    functionLinenumber: 5038
    functionLinenumberEnd: 5178
    functionName: g_win32_app_info_launch_uwp_internal
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - CoCreateInstance
    - IShellItemArray_Release
    - G_APP_INFO
    - IApplicationActivationManager_Release
    - CoInitializeEx
    - g_win32_app_info_launch_uwp_single
    - make_item_array
    - FAILED
    - CoUninitialize
    - g_win32_app_info_supports_files
    - make_single_entry_list
    - g_hash_table_lookup
    - SUCCEEDED
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2862,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2882,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2885,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2865,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2875,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2902,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2905,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2906,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2908,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2916,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2918,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2922,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2933,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2937,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2934,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2930,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2924,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 1
    argNames:
    - file_exts
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2938
      start: 2852
    functionDepth: 0
    functionLinenumber: 2852
    functionLinenumberEnd: 2938
    functionName: read_exts
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _g_win32_registry_key_build_and_new_w
    - g_win32_registry_subkey_iter_clear
    - g_clear_pointer
    - g_clear_object
    - g_win32_registry_value_iter_next
    - g_win32_registry_subkey_iter_next
    - g_win32_registry_subkey_iter_get_name_w
    - g_win32_registry_value_iter_init
    - g_win32_registry_value_iter_get_name_w
    - g_win32_registry_value_iter_clear
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_key_get_value_w
    - get_file_ext
    linkageType: ''
    returnType: void
    signature: 'static void read_exts (GWin32RegistryKey *file_exts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3228,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:3233,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3263,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:3287,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3268,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3257,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3255,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3262,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3282,1
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:3237,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3244,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3245,1
    - Dst: app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3247,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3267,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:3307,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3208,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3209,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3214,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3306,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3308,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3213,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:3256,1
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:3288,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3295,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3296,1
    - Dst: app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3298,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3312
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3312
    functionName: link_handlers_to_fake_apps
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_utf8_casefold
    - g_utf8_to_utf16
    - app_add_verb
    - g_clear_pointer
    - g_hash_table_insert
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - _verb_idx
    - get_app_object
    linkageType: ''
    returnType: void
    signature: 'static void link_handlers_to_fake_apps (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoApplicationClass*
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1715,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1723,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1722,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1724,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1720,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1726,1
    - Dst: read_handler_icon
      Src: /src/glib/gio/gwin32appinfo.c:1728,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1729,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1729,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - handler_id_u8_folded
    - handler_key
    - handler_id
    - uwp_aumid
    argTypes:
    - gchar*
    - GWin32RegistryKey*
    - gunichar2*
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1732
    functionName: get_handler_object
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    - g_hash_table_insert
    - g_wcsdup
    - read_handler_icon
    - g_hash_table_lookup
    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_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3075,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3097,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3076,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3178,1
    - Dst: g_utf8_find_basename
      Src: /src/glib/gio/gwin32appinfo.c:3105,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3122,1
    - Dst: g_utf8_find_basename
      Src: /src/glib/gio/gwin32appinfo.c:3127,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:3130,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:3135,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3157,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gwin32appinfo.c:3143,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gwin32appinfo.c:3151,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:3175,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3106,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3108,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3167,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3165,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3183
      start: 3064
    functionDepth: 0
    functionLinenumber: 3064
    functionLinenumberEnd: 3183
    functionName: link_handlers_to_unregistered_apps
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_strcmp0
    - GLIB_PRIVATE_CALL
    - g_utf8_find_basename
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - _verb_idx
    linkageType: ''
    returnType: void
    signature: 'static void link_handlers_to_unregistered_apps (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4302,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4311
      start: 4299
    functionDepth: 0
    functionLinenumber: 4299
    functionLinenumberEnd: 4311
    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: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32AppInfoURLSchema*
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 518
    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:1748,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1755,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1756,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1753,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1754,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1757,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1760,1
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/gwin32appinfo.c:1762,1
    - Dst: _g_win32_fixup_broken_microsoft_rundll_commandline
      Src: /src/glib/gio/gwin32appinfo.c:1770,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:1773,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/gio/gwin32appinfo.c:1775,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: 1776
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1776
    functionName: handler_add_verb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    - _g_win32_extract_executable
    - _verb_lookup
    - g_wcsdup
    - _g_win32_fixup_broken_microsoft_rundll_commandline
    - g_ptr_array_insert
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4322
      start: 4313
    functionDepth: 0
    functionLinenumber: 4313
    functionLinenumberEnd: 4322
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: emit_launch_started
      Src: /src/glib/gio/gwin32appinfo.c:4926,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:4942,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:4934,1
    - Dst: IApplicationActivationManager_ActivateForProtocol
      Src: /src/glib/gio/gwin32appinfo.c:4944,1
    - Dst: IApplicationActivationManager_ActivateApplication
      Src: /src/glib/gio/gwin32appinfo.c:4936,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:4950,1
    - Dst: IApplicationActivationManager_ActivateForFile
      Src: /src/glib/gio/gwin32appinfo.c:4952,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32appinfo.c:4959,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:4961,1
    - Dst: g_win32_appinfo_application_get_some_name
      Src: /src/glib/gio/gwin32appinfo.c:4963,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:5015,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32appinfo.c:4997,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32appinfo.c:5008,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32appinfo.c:5007,1
    - Dst: emit_launch_failed
      Src: /src/glib/gio/gwin32appinfo.c:4965,1
    - Dst: OpenProcess
      Src: /src/glib/gio/gwin32appinfo.c:5002,1
    - Dst: emit_launched
      Src: /src/glib/gio/gwin32appinfo.c:5013,1
    - Dst: OpenProcess
      Src: /src/glib/gio/gwin32appinfo.c:4995,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: 5019
      start: 4912
    functionDepth: 0
    functionLinenumber: 4912
    functionLinenumberEnd: 5019
    functionName: g_win32_app_info_launch_uwp_single
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_spawn_close_pid
    - g_win32_appinfo_application_get_some_name
    - OpenProcess
    - g_assert
    - g_warning
    - IApplicationActivationManager_ActivateApplication
    - IApplicationActivationManager_ActivateForProtocol
    - FAILED
    - GetLastError
    - IApplicationActivationManager_ActivateForFile
    - emit_launch_failed
    - emit_launched
    - emit_launch_started
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoShellVerbClass*
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 493
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2366,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:2450,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2581,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2473,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2397,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2577,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:2445,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2515,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2464,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2524,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2306,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:2356,1
    - Dst: g_win32_registry_value_iter_get_data_w
      Src: /src/glib/gio/gwin32appinfo.c:2501,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2305,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2391,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:2298,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2373,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2443,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2459,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2574,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2512,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2583,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2532,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2303,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2582,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2565,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2320,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2381,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2576,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2489,1
    - Dst: g_win32_registry_value_iter_get_data_w
      Src: /src/glib/gio/gwin32appinfo.c:2548,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2580,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2575,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2518,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2564,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2302,1
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:2312,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2340,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2355,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2396,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2584,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2465,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2509,1
    - Dst: g_win32_registry_value_iter_get_value_type
      Src: /src/glib/gio/gwin32appinfo.c:2491,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2571,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2296,1
    - Dst: process_verbs_commands
      Src: /src/glib/gio/gwin32appinfo.c:2320,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2346,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2395,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2408,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2419,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2542,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2466,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gwin32appinfo.c:2444,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2297,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2330,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2372,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2579,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2449,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2292,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2347,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2495,1
    - Dst: get_url_association
      Src: /src/glib/gio/gwin32appinfo.c:2562,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2421,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2426,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2437,1
    - Dst: g_win32_registry_value_iter_get_value_type
      Src: /src/glib/gio/gwin32appinfo.c:2537,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2568,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2288,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2307,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2345,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2558,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:2300,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2304,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2371,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2400,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2481,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32appinfo.c:2323,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:2382,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: 2585
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2585
    functionName: read_capable_app
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_utf16_to_utf8_and_fold
    - g_themed_icon_new
    - g_steal_pointer
    - g_win32_registry_value_iter_init
    - g_win32_registry_key_new_w
    - get_verbs
    - get_url_association
    - g_win32_registry_value_iter_next
    - g_object_unref
    - g_win32_registry_key_get_child_w
    - get_file_ext
    - g_win32_registry_key_get_value_w
    - process_verbs_commands
    - g_win32_registry_value_iter_get_data_w
    - g_win32_registry_key_get_path_w
    - get_app_object
    - g_wcsdup
    - g_win32_registry_value_iter_clear
    - g_free
    - g_win32_registry_value_iter_get_value_type
    - g_clear_object
    - g_win32_registry_value_iter_get_name_w
    - g_utf16_to_utf8
    - g_win32_registry_get_os_dirs_w
    linkageType: ''
    returnType: void
    signature: 'static void read_capable_app (const gunichar2 *app_key_path, gboolean
      user_specific, gboolean default_app) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5565,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gwin32appinfo.c:5572,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gwin32appinfo.c:5574,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/gwin32appinfo.c:5573,1
    - Dst: g_win32_app_info_launch_uris_impl
      Src: /src/glib/gio/gwin32appinfo.c:5570,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:5574,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: 5575
      start: 5559
    functionDepth: 0
    functionLinenumber: 5559
    functionLinenumberEnd: 5575
    functionName: launch_uris_async_thread
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_app_info_launch_uris_impl
    - g_steal_pointer
    - g_task_return_boolean
    - g_task_return_error
    - g_task_had_error
    - G_APP_INFO
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoHandlerClass*
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    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:
    - Dst: g_task_new
      Src: /src/glib/gio/gwin32appinfo.c:5588,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gwin32appinfo.c:5592,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:5593,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32appinfo.c:5591,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gwin32appinfo.c:5589,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gwin32appinfo.c:5594,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:5594,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gwin32appinfo.c:5596,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:5597,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: 5598
      start: 5577
    functionDepth: 0
    functionLinenumber: 5577
    functionLinenumberEnd: 5598
    functionName: g_win32_app_info_launch_uris_async
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_set_object
    - g_new0
    - g_task_set_task_data
    - g_list_copy_deep
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_steal_pointer
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APPINFO_FILE_EXTENSION
      Src: /src/glib/gio/gwin32appinfo.c:413,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:418,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:415,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:417,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:416,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 420
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 420
    functionName: g_win32_appinfo_file_extension_dispose
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - G_OBJECT_CLASS
    - G_WIN32_APPINFO_FILE_EXTENSION
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_file_extension_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:2235,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:2243,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:2242,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2241,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:2240,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:2248,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:2249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 7
    argNames:
    - app_hashmap
    - canonical_name
    - canonical_name_u8
    - canonical_name_folded
    - user_specific
    - default_app
    - is_uwp
    argTypes:
    - GHashTable*
    - gunichar2*
    - gchar*
    - gchar*
    - gboolean
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 2253
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2253
    functionName: get_app_object
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    - g_hash_table_insert
    - g_wcsdup
    - g_hash_table_lookup
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4248,1
    - Dst: P_
      Src: /src/glib/gio/gwin32appinfo.c:4255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4256
      start: 4245
    functionDepth: 0
    functionLinenumber: 4245
    functionLinenumberEnd: 4256
    functionName: g_win32_app_info_get_name
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APP_INFO
    - P_
    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:4118,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:4126,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:4123,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:4122,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4120,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:4128,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4134,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:4137,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:4139,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:4144,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4152,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4154,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:4148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - app
    - handler
    argTypes:
    - GWin32AppInfoApplication*
    - GWin32AppInfoHandler*
    constantsTouched: []
    func_position:
      end: 4155
      start: 4109
    functionDepth: 0
    functionLinenumber: 4109
    functionLinenumberEnd: 4155
    functionName: g_win32_app_info_new_from_app
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    - g_hash_table_iter_next
    - g_new
    - g_hash_table_iter_init
    - g_mutex_unlock
    - gio_win32_appinfo_init
    - g_mutex_lock
    - G_APP_INFO
    linkageType: ''
    returnType: GAppInfo*
    signature: 'static GAppInfo *g_win32_app_info_new_from_app (GWin32AppInfoApplication
      *app, GWin32AppInfoHandler *handler) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APPINFO_SHELL_VERB
      Src: /src/glib/gio/gwin32appinfo.c:425,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:427,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:428,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:430,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:429,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_object
      Src: /src/glib/gio/gwin32appinfo.c:434,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 436
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 436
    functionName: g_win32_appinfo_shell_verb_dispose
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APPINFO_SHELL_VERB
    - g_clear_pointer
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_shell_verb_dispose (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4161,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4181,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4170,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:4164,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4167,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:4184,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4190
      start: 4158
    functionDepth: 0
    functionLinenumber: 4158
    functionLinenumberEnd: 4190
    functionName: g_win32_app_info_dup
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    - G_WIN32_APP_INFO
    - g_new
    - 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:4261,1
    - Dst: g_win32_app_info_get_name
      Src: /src/glib/gio/gwin32appinfo.c:4271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4272
      start: 4258
    functionDepth: 0
    functionLinenumber: 4258
    functionLinenumberEnd: 4272
    functionName: g_win32_app_info_get_display_name
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APP_INFO
    - g_win32_app_info_get_name
    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: 5976
      start: 5972
    functionDepth: 0
    functionLinenumber: 5972
    functionLinenumberEnd: 5976
    functionName: g_app_info_reset_type_associations
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_reset_type_associations (const char *content_type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2164,1
    - Dst: g_win32_registry_value_iter_get_value_type
      Src: /src/glib/gio/gwin32appinfo.c:2182,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2169,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2176,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2171,1
    - Dst: g_win32_registry_value_iter_get_data_w
      Src: /src/glib/gio/gwin32appinfo.c:2186,1
    - Dst: build_registry_path
      Src: /src/glib/gio/gwin32appinfo.c:2194,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2198,1
    - Dst: wcsrchr
      Src: /src/glib/gio/gwin32appinfo.c:2203,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:2208,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2211,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2215,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2208,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2214,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 2
    argNames:
    - capable_apps
    - user_registry
    argTypes:
    - GPtrArray*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2216
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2216
    functionName: collect_capable_apps_from_registered_apps
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_value_iter_get_value_type
    - g_win32_registry_value_iter_next
    - g_win32_registry_value_iter_get_data_w
    - g_object_unref
    - wcsrchr
    - g_win32_registry_value_iter_init
    - g_win32_registry_key_new_w
    - g_wcsdup
    - build_registry_path
    - g_ptr_array_add
    - g_win32_registry_value_iter_clear
    linkageType: ''
    returnType: void
    signature: 'static void collect_capable_apps_from_registered_apps (GPtrArray *capable_apps,
      gboolean user_registry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/gio/gwin32appinfo.c:1980,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1988,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1989,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1987,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1986,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - ext
    - ext_u8
    - ext_u8_folded
    argTypes:
    - gunichar2*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1992
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1992
    functionName: get_ext_object
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    - g_hash_table_insert
    - g_wcsdup
    - g_hash_table_lookup_extended
    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_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3750,1
    - Dst: collect_capable_apps_from_registered_apps
      Src: /src/glib/gio/gwin32appinfo.c:3763,1
    - Dst: read_capable_app
      Src: /src/glib/gio/gwin32appinfo.c:3784,1
    - Dst: read_capable_app
      Src: /src/glib/gio/gwin32appinfo.c:3792,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3795,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3798,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3800,1
    - Dst: read_classes
      Src: /src/glib/gio/gwin32appinfo.c:3803,1
    - Dst: g_win32_package_parser_enum_packages
      Src: /src/glib/gio/gwin32appinfo.c:3806,1
    - Dst: read_uwp_handler_info
      Src: /src/glib/gio/gwin32appinfo.c:3812,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3784,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gwin32appinfo.c:3843,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3778,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gwin32appinfo.c:3844,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3736,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3749,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3765,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3754,1
    - Dst: collect_capable_apps_from_registered_apps
      Src: /src/glib/gio/gwin32appinfo.c:3761,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3768,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3770,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3772,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3774,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3776,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3802,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3840,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3842,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:3819,1
    - Dst: read_capable_app
      Src: /src/glib/gio/gwin32appinfo.c:3788,1
    - Dst: link_handlers_to_fake_apps
      Src: /src/glib/gio/gwin32appinfo.c:3816,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3748,1
    - Dst: collect_capable_apps_from_clients
      Src: /src/glib/gio/gwin32appinfo.c:3758,1
    - Dst: collect_capable_apps_from_clients
      Src: /src/glib/gio/gwin32appinfo.c:3755,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3752,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3788,1
    - Dst: read_exts
      Src: /src/glib/gio/gwin32appinfo.c:3799,1
    - Dst: read_exeapps
      Src: /src/glib/gio/gwin32appinfo.c:3801,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3804,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:3808,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gwin32appinfo.c:3809,1
    - Dst: link_handlers_to_unregistered_apps
      Src: /src/glib/gio/gwin32appinfo.c:3815,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gwin32appinfo.c:3845,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3781,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3841,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:3743,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3739,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3741,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gwin32appinfo.c:3745,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3747,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3751,1
    - Dst: read_urls
      Src: /src/glib/gio/gwin32appinfo.c:3797,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3814,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3817,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gwin32appinfo.c:3846,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3792,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3780,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 99
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3849
      start: 3722
    functionDepth: 0
    functionLinenumber: 3722
    functionLinenumberEnd: 3849
    functionName: update_registry_data
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - g_clear_error
    - g_win32_registry_key_new_w
    - GetTickCount
    - read_classes
    - read_urls
    - collect_capable_apps_from_registered_apps
    - collect_capable_apps_from_clients
    - g_win32_package_parser_enum_packages
    - read_exeapps
    - link_handlers_to_unregistered_apps
    - read_capable_app
    - g_ptr_array_index
    - g_hash_table_new_full
    - read_exts
    - g_ptr_array_free
    - g_clear_object
    - g_debug
    - read_uwp_handler_info
    - link_handlers_to_fake_apps
    linkageType: ''
    returnType: void
    signature: 'static void update_registry_data (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4198,1
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4199,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:4209,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4216,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4215,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:4219,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 2
    argNames:
    - appinfo1
    - appinfo2
    argTypes:
    - GAppInfo*
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4224
      start: 4192
    functionDepth: 0
    functionLinenumber: 4192
    functionLinenumberEnd: 4224
    functionName: g_win32_app_info_equal
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - _verb_idx
    - G_WIN32_APP_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_equal (GAppInfo *appinfo1, GAppInfo
      *appinfo2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:4682,1
    - Dst: g_win32_registry_key_get_value
      Src: /src/glib/gio/gwin32appinfo.c:4696,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4691,1
    - Dst: g_win32_registry_key_new
      Src: /src/glib/gio/gwin32appinfo.c:4690,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:4705,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4711,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - exe_basename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4714
      start: 4675
    functionDepth: 0
    functionLinenumber: 4675
    functionLinenumberEnd: 4714
    functionName: get_appath_for_exe
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_object_unref
    - g_win32_registry_key_new
    - g_strdup_printf
    - g_win32_registry_key_get_value
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_appath_for_exe (const gchar *exe_basename) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4229,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4243
      start: 4226
    functionDepth: 0
    functionLinenumber: 4226
    functionLinenumberEnd: 4243
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:946,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:958,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1022,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1020,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1025,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1026,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1017,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:1030,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1037,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32appinfo.c:1070,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:1114,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:965,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:978,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:980,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1005,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1029,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1042,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1073,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1075,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1078,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:1083,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1118,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:1106,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:1087,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:960,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:951,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1018,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1016,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1071,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1076,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1077,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1104,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:966,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:968,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:983,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:1031,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1060,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1072,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:1103,1
    - Dst: g_list_sort_with_data
      Src: /src/glib/gio/gwin32appinfo.c:1111,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1094,1
    - Dst: g_list_append
      Src: /src/glib/gio/gwin32appinfo.c:1080,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: 1121
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 1121
    functionName: get_verbs
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - get_verbs
    - _wcsicmp
    - g_win32_registry_subkey_iter_clear
    - g_object_unref
    - g_win32_registry_subkey_iter_next
    - g_win32_registry_key_get_child_w
    - g_list_sort_with_data
    - g_win32_registry_key_get_value_w
    - memcpy
    - g_utf16_len
    - g_list_append
    - g_win32_registry_subkey_iter_get_name_w
    - g_free
    - g_new0
    - g_assert
    - g_clear_object
    - g_new
    - g_win32_registry_subkey_iter_init
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:666,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:670,1
    - Dst: g_win32_registry_key_get_value
      Src: /src/glib/gio/gwin32appinfo.c:675,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:694,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gwin32appinfo.c:692,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:697,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - key
    - icon_out
    argTypes:
    - GWin32RegistryKey*
    - GIcon**
    constantsTouched: []
    func_position:
      end: 698
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 698
    functionName: read_handler_icon
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_pointer
    - g_object_unref
    - g_themed_icon_new
    - g_win32_registry_key_get_child_w
    - g_win32_registry_key_get_value
    linkageType: ''
    returnType: void
    signature: 'static void read_handler_icon (GWin32RegistryKey *key, GIcon **icon_out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gwin32appinfo.c:860,1
    - Dst: va_arg
      Src: /src/glib/gio/gwin32appinfo.c:864,1
    - Dst: va_end
      Src: /src/glib/gio/gwin32appinfo.c:869,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:866,1
    - Dst: va_arg
      Src: /src/glib/gio/gwin32appinfo.c:862,1
    - Dst: va_arg
      Src: /src/glib/gio/gwin32appinfo.c:877,1
    - Dst: va_arg
      Src: /src/glib/gio/gwin32appinfo.c:879,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:881,1
    - Dst: wcscat
      Src: /src/glib/gio/gwin32appinfo.c:882,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - output
    - output_size
    - components
    argTypes:
    - gunichar2*
    - gsize
    - va_list
    constantsTouched: []
    func_position:
      end: 887
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 887
    functionName: build_registry_pathv
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - va_end
    - wcscat
    - va_copy
    - wcslen
    - va_arg
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean build_registry_pathv (gunichar2 *output, gsize output_size,
      va_list components) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gwin32appinfo.c:897,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:902,1
    - Dst: build_registry_pathv
      Src: /src/glib/gio/gwin32appinfo.c:901,1
    - Dst: va_end
      Src: /src/glib/gio/gwin32appinfo.c:904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - error
    - '...'
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 907
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 907
    functionName: _g_win32_registry_key_build_and_new_w
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - build_registry_pathv
    - va_end
    - g_win32_registry_key_new_w
    - va_start
    linkageType: ''
    returnType: GWin32RegistryKey*
    signature: 'static GWin32RegistryKey *_g_win32_registry_key_build_and_new_w (GError
      **error, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:706,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:707,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: 709
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 709
    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: va_start
      Src: /src/glib/gio/gwin32appinfo.c:839,1
    - Dst: va_end
      Src: /src/glib/gio/gwin32appinfo.c:843,1
    - Dst: build_registry_pathv
      Src: /src/glib/gio/gwin32appinfo.c:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - output
    - output_size
    - '...'
    argTypes:
    - gunichar2*
    - gsize
    constantsTouched: []
    func_position:
      end: 846
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 846
    functionName: build_registry_path
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - build_registry_pathv
    - va_end
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean build_registry_path (gunichar2 *output, gsize output_size,
      ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2598,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2611,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2601,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2615,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2619,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2622,1
    - Dst: get_url_association
      Src: /src/glib/gio/gwin32appinfo.c:2631,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2633,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_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2639,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 1
    argNames:
    - url_associations
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2640
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2640
    functionName: read_urls
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _g_win32_registry_key_build_and_new_w
    - g_win32_registry_subkey_iter_clear
    - get_url_association
    - g_clear_pointer
    - g_win32_registry_subkey_iter_next
    - g_utf16_to_utf8_and_fold
    - g_win32_registry_key_get_value_w
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_subkey_iter_get_name_w
    linkageType: ''
    returnType: void
    signature: 'static void read_urls (GWin32RegistryKey *url_associations) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gwin32appinfo.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32AppInfoHandler*
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 538
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1162,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1172,1
    - Dst: process_verbs_commands
      Src: /src/glib/gio/gwin32appinfo.c:1198,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1187,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1219,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1164,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1166,1
    - Dst: get_schema_object
      Src: /src/glib/gio/gwin32appinfo.c:1174,1
    - Dst: get_handler_object
      Src: /src/glib/gio/gwin32appinfo.c:1178,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1188,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1186,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:1184,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1207,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1218,1
    - Dst: decide_which_id_to_use
      Src: /src/glib/gio/gwin32appinfo.c:1151,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1160,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1163,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1165,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1190,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1194,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1198,1
    - Dst: process_uwp_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1207,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1217,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1195,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1193,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1216,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: 1220
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1220
    functionName: get_url_association
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - get_handler_object
    - g_strdup
    - g_object_ref
    - g_set_object
    - process_verbs_commands
    - decide_which_id_to_use
    - g_clear_pointer
    - g_clear_object
    - g_hash_table_insert
    - g_steal_pointer
    - get_schema_object
    - get_verbs
    - process_uwp_verbs
    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: 56
    BranchProfiles: []
    Callsites:
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4428,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4433,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4456,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4461,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4559,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gwin32appinfo.c:4583,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:4396,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4548,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4547,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4554,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4558,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4592,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4593,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gwin32appinfo.c:4605,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4528,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4527,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4576,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gwin32appinfo.c:4591,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4436,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4435,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4463,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4464,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4520,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4525,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gwin32appinfo.c:4546,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4571,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4575,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: 4612
      start: 4385
    functionDepth: 0
    functionLinenumber: 4385
    functionLinenumberEnd: 4612
    functionName: expand_macro
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_free
    - g_string_append_c
    - expand_macro_single
    - g_get_current_dir
    - g_shell_quote
    - g_return_val_if_fail
    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_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:543,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gwin32appinfo.c:551,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32AppInfoApplication*
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: g_win32_appinfo_application_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_application_init (GWin32AppInfoApplication
      *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gwin32appinfo.c:4629,1
    - Dst: expand_macro
      Src: /src/glib/gio/gwin32appinfo.c:4655,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gwin32appinfo.c:4654,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gwin32appinfo.c:4645,1
    - Dst: expand_macro
      Src: /src/glib/gio/gwin32appinfo.c:4636,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/gio/gwin32appinfo.c:4669,1
    - Dst: g_string_free
      Src: /src/glib/gio/gwin32appinfo.c:4670,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: 4672
      start: 4614
    functionDepth: 0
    functionLinenumber: 4614
    functionLinenumberEnd: 4672
    functionName: expand_application_parameters
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_string_new
    - expand_macro
    - g_string_append_c
    - g_shell_parse_argv
    - g_string_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean expand_application_parameters (GWin32AppInfo *info,
      const gchar *exec_line, GList **objs, int *argc, char ***argv, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _verb_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1905,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1911,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1910,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1912,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1913,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:1928,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - app_rec
    - verb
    - verb_displayname
    argTypes:
    - GWin32AppInfoApplication*
    - gunichar2*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1929
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1929
    functionName: uwp_app_add_verb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    - _verb_lookup
    - g_wcsdup
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4780,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:4782,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4781,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchedData*
    constantsTouched: []
    func_position:
      end: 4784
      start: 4777
    functionDepth: 0
    functionLinenumber: 4777
    functionLinenumberEnd: 4784
    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:5354,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - app
    argTypes:
    - GWin32AppInfoApplication*
    constantsTouched: []
    func_position:
      end: 5360
      start: 5346
    functionDepth: 0
    functionLinenumber: 5346
    functionLinenumberEnd: 5360
    functionName: g_win32_app_supports_uris
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_size
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_supports_uris (GWin32AppInfoApplication
      *app) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _verb_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1940,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1945,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1952,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1946,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1947,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:1962,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/gio/gwin32appinfo.c:1964,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: 1965
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1965
    functionName: uwp_handler_add_verb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    - _verb_lookup
    - g_wcsdup
    - g_ptr_array_insert
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gwin32appinfo.c:4791,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gwin32appinfo.c:4800,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gwin32appinfo.c:4798,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gwin32appinfo.c:4798,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gwin32appinfo.c:4800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 4801
      start: 4786
    functionDepth: 0
    functionLinenumber: 4786
    functionLinenumberEnd: 4801
    functionName: make_platform_data
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_new_int32
    - g_variant_builder_add
    - g_variant_builder_init
    - g_variant_ref_sink
    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:5366,1
    - Dst: g_win32_app_supports_uris
      Src: /src/glib/gio/gwin32appinfo.c:5371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 5372
      start: 5363
    functionDepth: 0
    functionLinenumber: 5363
    functionLinenumberEnd: 5372
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4283
      start: 4274
    functionDepth: 0
    functionLinenumber: 4274
    functionLinenumberEnd: 4283
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:5763,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5770,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:5775,1
    - Dst: strcmp
      Src: /src/glib/gio/gwin32appinfo.c:5768,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:5776,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:5778,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5778,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5779,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:5781,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5788,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5789,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:5792,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - uri_scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5795
      start: 5755
    functionDepth: 0
    functionLinenumber: 5755
    functionLinenumberEnd: 5795
    functionName: g_app_info_get_default_for_uri_scheme
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - g_utf8_casefold
    - g_set_object
    - g_clear_object
    - g_win32_app_info_new_from_app
    - g_mutex_unlock
    - _verb_idx
    - gio_win32_appinfo_init
    - g_hash_table_lookup
    - strcmp
    - g_mutex_lock
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_uri_scheme (const char *uri_scheme) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4288,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4297
      start: 4285
    functionDepth: 0
    functionLinenumber: 4285
    functionLinenumberEnd: 4297
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:5806,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:5812,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:5811,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5815,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:5815,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5816,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:5818,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5827,1
    - Dst: g_win32_app_supports_uris
      Src: /src/glib/gio/gwin32appinfo.c:5829,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5830,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:5840,1
    - Dst: g_win32_app_supports_uris
      Src: /src/glib/gio/gwin32appinfo.c:5849,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:5854,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5850,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5845,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:5837,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 2
    argNames:
    - content_type
    - must_support_uris
    argTypes:
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 5857
      start: 5797
    functionDepth: 0
    functionLinenumber: 5797
    functionLinenumberEnd: 5857
    functionName: g_app_info_get_default_for_type
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_utf8_casefold
    - g_set_object
    - g_free
    - g_win32_app_supports_uris
    - g_clear_object
    - g_hash_table_iter_next
    - g_mutex_unlock
    - _verb_idx
    - g_hash_table_iter_init
    - gio_win32_appinfo_init
    - g_hash_table_lookup
    - g_win32_app_info_new_from_app
    - g_mutex_lock
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_type (const char *content_type,
      gboolean must_support_uris) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4733,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4734,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchStartedData*
    constantsTouched: []
    func_position:
      end: 4736
      start: 4730
    functionDepth: 0
    functionLinenumber: 4730
    functionLinenumberEnd: 4736
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:3646,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3666,1
    - Dst: memcmp
      Src: /src/glib/gio/gwin32appinfo.c:3671,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:3651,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:3657,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3674,1
    - Dst: resolve_string
      Src: /src/glib/gio/gwin32appinfo.c:3679,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3679,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:3685,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: 3686
      start: 3636
    functionDepth: 0
    functionLinenumber: 3636
    functionLinenumberEnd: 3686
    functionName: grab_registry_string
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_pointer
    - wcslen
    - g_steal_pointer
    - resolve_string
    - memcmp
    - g_utf16_to_utf8
    - g_win32_registry_key_get_value_w
    linkageType: ''
    returnType: void
    signature: 'static void grab_registry_string (GWin32RegistryKey *handler_appkey,
      const gunichar2 *value_name, gunichar2 **destination, gchar **destination_u8) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchFailedData*
    constantsTouched: []
    func_position:
      end: 4868
      start: 4863
    functionDepth: 0
    functionLinenumber: 4863
    functionLinenumberEnd: 4868
    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:5378,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gwin32appinfo.c:5383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 5384
      start: 5375
    functionDepth: 0
    functionLinenumber: 5375
    functionLinenumberEnd: 5384
    functionName: g_win32_app_info_supports_files
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_size
    - G_WIN32_APP_INFO
    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:5491,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32appinfo.c:5499,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gwin32appinfo.c:5507,1
    - Dst: g_win32_app_info_supports_files
      Src: /src/glib/gio/gwin32appinfo.c:5494,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gwin32appinfo.c:5506,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:5509,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:5512,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5514,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gwin32appinfo.c:5517,1
    - Dst: g_win32_app_info_launch_internal
      Src: /src/glib/gio/gwin32appinfo.c:5521,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:5531,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: 5534
      start: 5481
    functionDepth: 0
    functionLinenumber: 5481
    functionLinenumberEnd: 5534
    functionName: g_win32_app_info_launch_uris_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_file_new_for_uri
    - g_file_get_path
    - g_win32_app_info_launch_internal
    - G_WIN32_APP_INFO
    - g_object_unref
    - g_list_prepend
    - g_win32_app_info_supports_files
    - g_list_reverse
    - g_list_free_full
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5628,1
    - Dst: G_FILE
      Src: /src/glib/gio/gwin32appinfo.c:5637,1
    - Dst: g_win32_app_info_supports_uris
      Src: /src/glib/gio/gwin32appinfo.c:5631,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32appinfo.c:5636,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gwin32appinfo.c:5637,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gwin32appinfo.c:5640,1
    - Dst: G_FILE
      Src: /src/glib/gio/gwin32appinfo.c:5640,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5642,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gwin32appinfo.c:5645,1
    - Dst: g_win32_app_info_launch_internal
      Src: /src/glib/gio/gwin32appinfo.c:5649,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:5659,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: 5662
      start: 5619
    functionDepth: 0
    functionLinenumber: 5619
    functionLinenumberEnd: 5662
    functionName: g_win32_app_info_launch
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_new0
    - G_FILE
    - g_file_get_path
    - g_win32_app_info_launch_internal
    - G_WIN32_APP_INFO
    - g_list_prepend
    - g_win32_app_info_supports_uris
    - g_list_reverse
    - g_list_free_full
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_launch (GAppInfo *appinfo, GList
      *files, /* (element-type GFile) */ GAppLaunchContext *launch_context, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3695,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3697,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:3708,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3709,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3702,1
    - Dst: grab_registry_string
      Src: /src/glib/gio/gwin32appinfo.c:3714,1
    - Dst: grab_registry_string
      Src: /src/glib/gio/gwin32appinfo.c:3715,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3720
      start: 3688
    functionDepth: 0
    functionLinenumber: 3688
    functionLinenumberEnd: 3720
    functionName: read_uwp_handler_info
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_hash_table_iter_next
    - g_utf16_to_utf8_and_fold
    - g_hash_table_iter_init
    - grab_registry_string
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void read_uwp_handler_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchStartedData*
    constantsTouched: []
    func_position:
      end: 4743
      start: 4738
    functionDepth: 0
    functionLinenumber: 4738
    functionLinenumberEnd: 4743
    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_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4858,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4859,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchFailedData*
    constantsTouched: []
    func_position:
      end: 4861
      start: 4855
    functionDepth: 0
    functionLinenumber: 4855
    functionLinenumberEnd: 4861
    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:4879,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gwin32appinfo.c:4888,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4885,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4886,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4884,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gwin32appinfo.c:4888,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gwin32appinfo.c:4889,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gwin32appinfo.c:4890,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4891,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - context
    - info
    - from_task
    argTypes:
    - GAppLaunchContext*
    - GWin32AppInfo*
    - GTask*
    constantsTouched: []
    func_position:
      end: 4894
      start: 4870
    functionDepth: 0
    functionLinenumber: 4870
    functionLinenumberEnd: 4894
    functionName: emit_launch_failed
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_object_ref
    - g_main_context_invoke_full
    - g_new
    - g_steal_pointer
    - g_task_get_context
    - G_SOURCE_FUNC
    - g_task_get_priority
    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:5399,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:5412,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:5423,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:5410,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:5402,1
    - Dst: memmove
      Src: /src/glib/gio/gwin32appinfo.c:5440,1
    - Dst: SHParseDisplayName
      Src: /src/glib/gio/gwin32appinfo.c:5444,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32appinfo.c:5446,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5448,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5452,1
    - Dst: SHCreateShellItemArrayFromIDLists
      Src: /src/glib/gio/gwin32appinfo.c:5461,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32appinfo.c:5462,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5475,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5464,1
    - Dst: CoTaskMemFree
      Src: /src/glib/gio/gwin32appinfo.c:5473,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5456,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 3
    argNames:
    - for_files
    - objs
    - /* (element-type file_or_uri) */
    - error
    argTypes:
    - gboolean
    - GList*
    - GError**
    constantsTouched: []
    func_position:
      end: 5478
      start: 5387
    functionDepth: 0
    functionLinenumber: 5387
    functionLinenumberEnd: 5478
    functionName: make_item_array
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - CoTaskMemFree
    - g_free
    - g_utf8_to_utf16
    - SHParseDisplayName
    - wcslen
    - g_new
    - SHCreateShellItemArrayFromIDLists
    - memmove
    - FAILED
    - g_list_length
    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_launch_uris_impl
      Src: /src/glib/gio/gwin32appinfo.c:5542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - appinfo
    - uris
    - launch_context
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 5543
      start: 5536
    functionDepth: 0
    functionLinenumber: 5536
    functionLinenumberEnd: 5543
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 5670
      start: 5664
    functionDepth: 0
    functionLinenumber: 5664
    functionLinenumberEnd: 5670
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1259,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1262,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1274,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1278,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1305,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1307,1
    - Dst: process_verbs_commands
      Src: /src/glib/gio/gwin32appinfo.c:1310,1
    - Dst: process_uwp_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1319,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1328,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1330,1
    - Dst: decide_which_id_to_use
      Src: /src/glib/gio/gwin32appinfo.c:1247,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1261,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1263,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1270,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1273,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1277,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1284,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1297,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1302,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1319,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1310,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1260,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:1254,1
    - Dst: get_handler_object
      Src: /src/glib/gio/gwin32appinfo.c:1288,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1276,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:1294,1
    - Dst: get_ext_object
      Src: /src/glib/gio/gwin32appinfo.c:1286,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1296,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1298,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1301,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1303,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1327,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1272,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1275,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1306,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1329,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: 1331
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1331
    functionName: get_file_ext
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - get_handler_object
    - g_strdup
    - g_object_ref
    - g_set_object
    - process_verbs_commands
    - decide_which_id_to_use
    - g_clear_pointer
    - g_clear_object
    - g_hash_table_insert
    - get_ext_object
    - g_utf16_to_utf8_and_fold
    - g_steal_pointer
    - get_verbs
    - process_uwp_verbs
    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_WIN32_APPINFO_APPLICATION
      Src: /src/glib/gio/gwin32appinfo.c:441,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:443,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:445,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:444,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: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_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:456,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:453,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:455,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:452,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 457
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 457
    functionName: g_win32_appinfo_application_dispose
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APPINFO_APPLICATION
    - g_clear_pointer
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_application_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoURLSchemaClass*
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    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: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    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: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4006,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4009,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4012,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gwin32appinfo.c:4031,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gwin32appinfo.c:4041,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:4056,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3997,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4003,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4000,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3994,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4015,1
    - Dst: watch_keys
      Src: /src/glib/gio/gwin32appinfo.c:4018,1
    - Dst: g_thread_pool_new
      Src: /src/glib/gio/gwin32appinfo.c:4025,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gwin32appinfo.c:3989,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gwin32appinfo.c:4030,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gwin32appinfo.c:4034,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32appinfo.c:4051,1
    - Dst: GetModuleHandleExA
      Src: /src/glib/gio/gwin32appinfo.c:4036,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:4053,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32appinfo.c:4032,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32appinfo.c:4054,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gwin32appinfo.c:4055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - do_wait
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 4058
      start: 3984
    functionDepth: 0
    functionLinenumber: 3984
    functionLinenumberEnd: 4058
    functionName: gio_win32_appinfo_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_thread_pool_push
    - g_mutex_lock
    - g_cond_wait
    - g_atomic_int_get
    - g_thread_pool_new
    - g_mutex_unlock
    - g_win32_registry_key_new_w
    - g_mutex_init
    - g_once_init_leave
    - GetModuleHandleExA
    - watch_keys
    - g_atomic_int_set
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'void gio_win32_appinfo_init (gboolean do_wait) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:4099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoClass*
    constantsTouched: []
    func_position:
      end: 4102
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4102
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3322,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:3330,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - file_extn
    - app_user_model_id
    argTypes:
    - GWin32AppInfoFileExtension*
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 3335
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3335
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_appinfo_application_get_some_name
      Src: /src/glib/gio/gwin32appinfo.c:5220,1
    - Dst: g_app_launch_context_get_environment
      Src: /src/glib/gio/gwin32appinfo.c:5236,1
    - Dst: g_win32_app_info_launch_uwp_internal
      Src: /src/glib/gio/gwin32appinfo.c:5227,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gwin32appinfo.c:5263,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5266,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:5276,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:5281,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gwin32appinfo.c:5289,1
    - Dst: g_spawn_async
      Src: /src/glib/gio/gwin32appinfo.c:5302,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gwin32appinfo.c:5330,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:5198,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5214,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5207,1
    - Dst: g_win32_appinfo_application_get_some_name
      Src: /src/glib/gio/gwin32appinfo.c:5216,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5218,1
    - Dst: P_
      Src: /src/glib/gio/gwin32appinfo.c:5219,1
    - Dst: get_appath_for_exe
      Src: /src/glib/gio/gwin32appinfo.c:5242,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:5260,1
    - Dst: expand_application_parameters
      Src: /src/glib/gio/gwin32appinfo.c:5292,1
    - Dst: emit_launch_failed
      Src: /src/glib/gio/gwin32appinfo.c:5312,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:5329,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5209,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:5199,1
    - Dst: P_
      Src: /src/glib/gio/gwin32appinfo.c:5215,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gwin32appinfo.c:5260,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:5261,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5283,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:5319,1
    - Dst: emit_launched
      Src: /src/glib/gio/gwin32appinfo.c:5317,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:5240,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gwin32appinfo.c:5238,1
    - Dst: emit_launch_started
      Src: /src/glib/gio/gwin32appinfo.c:5300,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gwin32appinfo.c:5321,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gwin32appinfo.c:5331,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: 5334
      start: 5181
    functionDepth: 0
    functionLinenumber: 5181
    functionLinenumberEnd: 5334
    functionName: g_win32_app_info_launch_internal
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_appinfo_application_get_some_name
    - g_spawn_async
    - g_task_return_error_if_cancelled
    - g_strfreev
    - emit_launch_failed
    - g_return_val_if_fail
    - get_appath_for_exe
    - emit_launched
    - expand_application_parameters
    - g_strdup_printf
    - g_strv_length
    - emit_launch_started
    - g_set_error
    - g_spawn_close_pid
    - g_win32_app_info_launch_uwp_internal
    - g_get_environ
    - g_free
    - g_assert
    - g_new
    - _verb_idx
    - g_app_launch_context_get_environment
    - P_
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:5682,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:5684,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:5690,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:5689,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:5698,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:5703,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:5704,1
    - Dst: app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:5707,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:5716,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5720,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - commandline
    - application_name
    - flags
    - error
    argTypes:
    - char*
    - char*
    - GAppInfoCreateFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 5721
      start: 5672
    functionDepth: 0
    functionLinenumber: 5672
    functionLinenumberEnd: 5721
    functionName: g_app_info_create_from_commandline
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_utf8_casefold
    - g_object_new
    - g_utf8_to_utf16
    - app_add_verb
    - g_clear_pointer
    - g_return_val_if_fail
    - G_APP_INFO
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_create_from_commandline (const char *commandline,
      const char *application_name, GAppInfoCreateFlags flags, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - app
    argTypes:
    - GWin32AppInfoApplication*
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 469
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoFileExtensionClass*
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    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:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32AppInfoFileExtension*
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 532
    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_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3345,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:3353,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3346,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - schema
    - app_user_model_id
    argTypes:
    - GWin32AppInfoURLSchema*
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 3358
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3358
    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_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4087,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4091,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4090,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4089,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:4093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 4094
      start: 4082
    functionDepth: 0
    functionLinenumber: 4082
    functionLinenumberEnd: 4094
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GWin32AppInfo*
    constantsTouched: []
    func_position:
      end: 4107
      start: 4104
    functionDepth: 0
    functionLinenumber: 4104
    functionLinenumberEnd: 4107
    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: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5340,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5341,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5343
      start: 5336
    functionDepth: 0
    functionLinenumber: 5336
    functionLinenumberEnd: 5343
    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:5969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 5970
      start: 5965
    functionDepth: 0
    functionLinenumber: 5965
    functionLinenumberEnd: 5970
    functionName: g_app_info_get_recommended_for_type
    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 (const gchar *content_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:3958,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32appinfo.c:3959,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gwin32appinfo.c:3969,1
    - Dst: update_registry_data
      Src: /src/glib/gio/gwin32appinfo.c:3962,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gwin32appinfo.c:3972,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:3974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 3975
      start: 3953
    functionDepth: 0
    functionLinenumber: 3953
    functionLinenumberEnd: 3975
    functionName: gio_win32_appinfo_thread_func
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_cond_broadcast
    - g_mutex_unlock
    - update_registry_data
    - g_atomic_int_compare_and_exchange
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void gio_win32_appinfo_thread_func (gpointer data, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:3599,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3614,1
    - Dst: g_renew
      Src: /src/glib/gio/gwin32appinfo.c:3603,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32appinfo.c:3612,1
    - Dst: SHLoadIndirectString
      Src: /src/glib/gio/gwin32appinfo.c:3611,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3615,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:3622,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3623,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3624,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gwin32appinfo.c:3631,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - at_string
    argTypes:
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 3634
      start: 3584
    functionDepth: 0
    functionLinenumber: 3584
    functionLinenumberEnd: 3634
    functionName: resolve_string
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_not_reached
    - SHLoadIndirectString
    - wcslen
    - g_wcsdup
    - g_renew
    - SUCCEEDED
    linkageType: ''
    returnType: gunichar2*
    signature: 'static gunichar2 *resolve_string (gunichar2 *at_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_platform_data
      Src: /src/glib/gio/gwin32appinfo.c:4807,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gwin32appinfo.c:4810,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchedData*
    constantsTouched: []
    func_position:
      end: 4813
      start: 4803
    functionDepth: 0
    functionLinenumber: 4803
    functionLinenumberEnd: 4813
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_platform_data
      Src: /src/glib/gio/gwin32appinfo.c:4826,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4827,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gwin32appinfo.c:4828,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:4829,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4835,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4836,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4837,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gwin32appinfo.c:4840,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gwin32appinfo.c:4840,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gwin32appinfo.c:4841,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4843,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gwin32appinfo.c:4842,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - context
    - info
    - pid
    - from_task
    argTypes:
    - GAppLaunchContext*
    - GWin32AppInfo*
    - GPid*
    - GTask*
    constantsTouched: []
    func_position:
      end: 4848
      start: 4815
    functionDepth: 0
    functionLinenumber: 4815
    functionLinenumberEnd: 4848
    functionName: emit_launched
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_spawn_close_pid
    - g_object_ref
    - g_main_context_invoke_full
    - g_variant_unref
    - g_new
    - g_steal_pointer
    - g_task_get_context
    - G_SOURCE_FUNC
    - make_platform_data
    - g_task_get_priority
    linkageType: ''
    returnType: void
    signature: 'static void emit_launched (GAppLaunchContext *context, GWin32AppInfo
      *info, GPid *pid, GTask *from_task) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:3395,1
    - Dst: get_handler_object
      Src: /src/glib/gio/gwin32appinfo.c:3429,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3464,1
    - Dst: uwp_handler_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3457,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3466,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3475,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3515,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3547,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3551,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3529,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3564,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3527,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3379,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3410,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3423,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3486,1
    - Dst: get_schema_object
      Src: /src/glib/gio/gwin32appinfo.c:3511,1
    - Dst: find_uwp_handler_for_schema
      Src: /src/glib/gio/gwin32appinfo.c:3517,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:3528,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3546,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3548,1
    - Dst: uwp_app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3565,1
    - Dst: uwp_handler_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3540,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3397,1
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:3385,1
    - Dst: get_ext_object
      Src: /src/glib/gio/gwin32appinfo.c:3422,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:3434,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3453,1
    - Dst: find_uwp_handler_for_ext
      Src: /src/glib/gio/gwin32appinfo.c:3424,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3470,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3499,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3505,1
    - Dst: get_handler_object
      Src: /src/glib/gio/gwin32appinfo.c:3522,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3553,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:3533,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3572,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:3396,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3404,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3416,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:3439,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3435,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3433,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3465,1
    - Dst: uwp_app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3487,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3489,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:3494,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3567,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3571,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: 3575
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3575
    functionName: uwp_package_cb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_set_object
    - g_hash_table_insert
    - g_hash_table_iter_next
    - g_utf16_to_utf8_and_fold
    - g_steal_pointer
    - uwp_handler_add_verb
    - find_uwp_handler_for_ext
    - find_uwp_handler_for_schema
    - g_object_ref
    - g_ptr_array_index
    - uwp_app_add_verb
    - get_ext_object
    - g_hash_table_iter_init
    - get_app_object
    - g_wcsdup
    - get_handler_object
    - g_strdup
    - g_free
    - g_debug
    - _verb_idx
    - get_schema_object
    - g_utf16_to_utf8
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/gwin32appinfo.c:5962,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 5963
      start: 5958
    functionDepth: 0
    functionLinenumber: 5958
    functionLinenumberEnd: 5963
    functionName: g_app_info_get_fallback_for_type
    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 (const gchar *content_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:5868,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:5872,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:5869,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:5873,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5874,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:5874,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gwin32appinfo.c:5874,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:5876,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5880,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5881,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:5883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5886
      start: 5859
    functionDepth: 0
    functionLinenumber: 5859
    functionLinenumberEnd: 5886
    functionName: g_app_info_get_all
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_list_prepend
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_mutex_unlock
    - gio_win32_appinfo_init
    - g_list_free_full
    - g_win32_app_info_new_from_app
    - g_mutex_lock
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all (void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:4352,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gwin32appinfo.c:4361,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gwin32appinfo.c:4362,1
    - Dst: strlen
      Src: /src/glib/gio/gwin32appinfo.c:4357,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gwin32appinfo.c:4359,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:4363,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:4367,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gwin32appinfo.c:4373,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gwin32appinfo.c:4378,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 22
    argCount: 2
    argNames:
    - macro
    - obj
    argTypes:
    - char
    - file_or_uri*
    constantsTouched: []
    func_position:
      end: 4383
      start: 4329
    functionDepth: 0
    functionLinenumber: 4329
    functionLinenumberEnd: 4383
    functionName: expand_macro_single
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_file_get_path
    - g_file_new_for_uri
    - g_object_unref
    - g_str_has_prefix
    - g_shell_quote
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_macro_single (char macro, file_or_uri *obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:5905,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gwin32appinfo.c:5918,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5925,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:5930,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5938,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gwin32appinfo.c:5953,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:5908,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gwin32appinfo.c:5944,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5926,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gwin32appinfo.c:5952,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:5899,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5908,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5909,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5945,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:5932,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:5951,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:5904,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:5911,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5922,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gwin32appinfo.c:5924,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5946,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gwin32appinfo.c:5941,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5956
      start: 5888
    functionDepth: 0
    functionLinenumber: 5888
    functionLinenumberEnd: 5956
    functionName: g_app_info_get_all_for_type
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_contains
    - g_utf8_casefold
    - g_set_object
    - g_free
    - g_hash_table_add
    - g_hash_table_unref
    - g_clear_object
    - g_list_prepend
    - g_hash_table_iter_next
    - g_mutex_unlock
    - g_hash_table_new
    - _verb_idx
    - g_hash_table_iter_init
    - gio_win32_appinfo_init
    - g_list_reverse
    - g_hash_table_lookup
    - g_win32_app_info_new_from_app
    - g_mutex_lock
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all_for_type (const char *content_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAppInfoIface*
    constantsTouched: []
    func_position:
      end: 5753
      start: 5725
    functionDepth: 0
    functionLinenumber: 5725
    functionLinenumberEnd: 5753
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedInterface*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    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:67,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfiledescriptorbased.c:67,1
    - Dst: G_FILE_DESCRIPTOR_BASED_GET_IFACE
      Src: /src/glib/gio/gfiledescriptorbased.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - fd_based
    argTypes:
    - GFileDescriptorBased*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: g_file_descriptor_based_get_fd
    functionSourceFile: /src/glib/gio/gfiledescriptorbased.c
    functionUses: []
    functionsReached:
    - G_FILE_DESCRIPTOR_BASED_GET_IFACE
    - G_IS_FILE_DESCRIPTOR_BASED
    - g_return_val_if_fail
    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:82,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilteroutputstream.c:92,1
    - Dst: P_
      Src: /src/glib/gio/gfilteroutputstream.c:95,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gfilteroutputstream.c:94,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gfilteroutputstream.c:87,1
    - Dst: P_
      Src: /src/glib/gio/gfilteroutputstream.c:96,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilteroutputstream.c:101,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gfilteroutputstream.c:103,1
    - Dst: P_
      Src: /src/glib/gio/gfilteroutputstream.c:104,1
    - Dst: P_
      Src: /src/glib/gio/gfilteroutputstream.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFilterOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 108
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 108
    functionName: g_filter_output_stream_class_init
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - g_param_spec_boolean
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_output_stream_class_init (GFilterOutputStreamClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:149,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gfilteroutputstream.c:155,1
    - Dst: g_filter_output_stream_get_instance_private
      Src: /src/glib/gio/gfilteroutputstream.c:150,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilteroutputstream.c:163,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gfilteroutputstream.c:159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 167
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 167
    functionName: g_filter_output_stream_get_property
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_filter_output_stream_get_instance_private
    - g_value_set_boolean
    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:202,1
    - Dst: G_IS_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterOutputStream*
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    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:241,1
    - Dst: G_IS_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:241,1
    - Dst: g_filter_output_stream_get_instance_private
      Src: /src/glib/gio/gfilteroutputstream.c:245,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfilteroutputstream.c:250,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gfilteroutputstream.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - close_base
    argTypes:
    - GFilterOutputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: g_filter_output_stream_set_close_base_stream
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - G_IS_FILTER_OUTPUT_STREAM
    - g_filter_output_stream_get_instance_private
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_filter_output_stream_set_close_base_stream (GFilterOutputStream
      *stream, gboolean close_base) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:264,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/gfilteroutputstream.c:266,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: 273
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 273
    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:174,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilteroutputstream.c:180,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilteroutputstream.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: g_filter_output_stream_dispose
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_OBJECT_CLASS
    - g_object_unref
    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:119,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gfilteroutputstream.c:124,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:125,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gfilteroutputstream.c:130,1
    - Dst: g_filter_output_stream_set_close_base_stream
      Src: /src/glib/gio/gfilteroutputstream.c:129,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilteroutputstream.c:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 138
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 138
    functionName: g_filter_output_stream_set_property
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - g_filter_output_stream_set_close_base_stream
    - G_FILTER_OUTPUT_STREAM
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_OUTPUT_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:283,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/gfilteroutputstream.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 290
    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:297,1
    - Dst: g_filter_output_stream_get_instance_private
      Src: /src/glib/gio/gfilteroutputstream.c:298,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gfilteroutputstream.c:303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: g_filter_output_stream_close
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - g_filter_output_stream_get_instance_private
    - g_output_stream_close
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_filter_output_stream_close (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterOutputStream*
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilteroutputstream.c:221,1
    - Dst: G_IS_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:221,1
    - Dst: g_filter_output_stream_get_instance_private
      Src: /src/glib/gio/gfilteroutputstream.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterOutputStream*
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:44,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:54,1
    - Dst: g_variant_new_handle
      Src: /src/glib/gio/gsettings-mapping.c:72,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:39,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:49,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:74,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gsettings-mapping.c:67,1
    - 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_HOLDS_INT64
      Src: /src/glib/gio/gsettings-mapping.c:34,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gsettings-mapping.c:33,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:64,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gsettings-mapping.c:57,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:69,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gsettings-mapping.c:75,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gio/gsettings-mapping.c:42,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gsettings-mapping.c:52,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:59,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 2
    argNames:
    - value
    - expected_type
    argTypes:
    - GValue*
    - GVariantType*
    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_value_get_int64
    - g_variant_type_equal
    - g_value_get_int
    - g_variant_new_uint16
    - g_variant_new_handle
    - g_variant_new_uint32
    - g_variant_new_int32
    - G_VALUE_HOLDS_INT64
    - g_variant_new_int64
    - G_VALUE_HOLDS_INT
    - g_variant_new_double
    - g_variant_new_uint64
    - g_variant_new_int16
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_set_mapping_int (const GValue *value,
      const GVariantType *expected_type) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - 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_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_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_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_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:153,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_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:148,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_variant_new_uint16
      Src: /src/glib/gio/gsettings-mapping.c:156,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:163,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:183,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 2
    argNames:
    - value
    - expected_type
    argTypes:
    - GValue*
    - GVariantType*
    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_variant_new_uint16
    - g_variant_new_handle
    - g_variant_new_uint32
    - g_value_get_uint
    - g_variant_new_int32
    - g_variant_new_int64
    - G_VALUE_HOLDS_UINT64
    - g_value_get_uint64
    - g_variant_new_double
    - g_variant_new_uint64
    - g_variant_new_int16
    - G_VALUE_HOLDS_UINT
    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_VALUE_HOLDS_INT
      Src: /src/glib/gio/gsettings-mapping.c:254,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_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_HOLDS_DOUBLE
      Src: /src/glib/gio/gsettings-mapping.c:274,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
    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_set_double
    - G_VALUE_HOLDS_DOUBLE
    - g_variant_get_double
    - g_value_set_uint
    - g_variant_get_type
    - G_VALUE_HOLDS_INT64
    - g_value_set_int
    - g_value_set_int64
    - G_VALUE_HOLDS_INT
    - G_VALUE_HOLDS_UINT64
    - g_value_set_uint64
    - G_VALUE_HOLDS_UINT
    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_get_boolean
      Src: /src/glib/gio/gsettings-mapping.c:339,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_boxed
      Src: /src/glib/gio/gsettings-mapping.c:381,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_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_VALUE_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:409,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gsettings-mapping.c:423,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings-mapping.c:431,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsettings-mapping.c:374,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gsettings-mapping.c:419,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gio/gsettings-mapping.c:415,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gsettings-mapping.c:427,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gsettings-mapping.c:430,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:338,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_INT
      Src: /src/glib/gio/gsettings-mapping.c:354,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gio/gsettings-mapping.c:355,1
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gio/gsettings-mapping.c:358,1
    - Dst: g_value_get_uchar
      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_variant_new_signature
      Src: /src/glib/gio/gsettings-mapping.c:376,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsettings-mapping.c:394,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gsettings-mapping.c:412,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_settings_set_mapping_int
      Src: /src/glib/gio/gsettings-mapping.c:356,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_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_HOLDS
      Src: /src/glib/gio/gsettings-mapping.c:379,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/gsettings-mapping.c:409,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:393,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gsettings-mapping.c:394,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gio/gsettings-mapping.c:336,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/gsettings-mapping.c:348,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/gsettings-mapping.c:350,1
    - Dst: g_settings_set_mapping_float
      Src: /src/glib/gio/gsettings-mapping.c:359,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_value_get_string
      Src: /src/glib/gio/gsettings-mapping.c:372,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/gsettings-mapping.c:374,1
    - Dst: g_value_get_string
      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_value_get_flags
      Src: /src/glib/gio/gsettings-mapping.c:410,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
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    argCount: 3
    argNames:
    - value
    - expected_type
    - user_data
    argTypes:
    - GValue*
    - GVariantType*
    - gpointer
    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_variant_new_strv
    - G_VALUE_HOLDS
    - g_type_class_peek
    - g_settings_set_mapping_float
    - g_value_get_enum
    - G_VALUE_HOLDS_INT64
    - g_variant_new_bytestring
    - g_value_get_boxed
    - g_value_get_flags
    - G_VALUE_HOLDS_ENUM
    - g_value_get_string
    - G_VALUE_HOLDS_CHAR
    - g_variant_new_string
    - g_flags_get_first_value
    - g_variant_builder_clear
    - g_variant_builder_add
    - G_VALUE_HOLDS_FLAGS
    - g_value_get_uchar
    - g_variant_type_equal
    - G_VALUE_HOLDS_STRING
    - g_value_get_schar
    - G_VALUE_HOLDS_DOUBLE
    - G_VALUE_HOLDS_BOOLEAN
    - g_variant_new_boolean
    - g_critical
    - g_variant_builder_init
    - g_variant_new_byte
    - g_value_get_boolean
    - g_settings_set_mapping_unsigned_int
    - G_VALUE_HOLDS_UINT
    - g_variant_builder_end
    - g_settings_set_mapping_int
    - G_VARIANT_TYPE
    - g_variant_type_dup_string
    - g_free
    - g_variant_new_signature
    - G_VALUE_TYPE
    - G_VALUE_HOLDS_UCHAR
    - G_VALUE_HOLDS_UINT64
    - g_enum_get_value
    - G_VALUE_HOLDS_INT
    - g_variant_new_object_path
    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_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:94,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: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_new_int64
      Src: /src/glib/gio/gsettings-mapping.c:117,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_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:124,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:114,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 2
    argNames:
    - value
    - expected_type
    argTypes:
    - GValue*
    - GVariantType*
    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_uint16
    - g_variant_new_handle
    - G_VALUE_HOLDS_DOUBLE
    - g_variant_new_uint32
    - g_variant_new_int32
    - g_variant_new_int64
    - g_variant_new_double
    - g_value_get_double
    - g_variant_new_uint64
    - g_variant_new_int16
    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_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_HOLDS_UINT
      Src: /src/glib/gio/gsettings-mapping.c:214,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsettings-mapping.c:216,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_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_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_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
    - Dst: g_value_set_int64
      Src: /src/glib/gio/gsettings-mapping.c:221,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_variant_get_int32
    - g_value_set_double
    - G_VALUE_HOLDS_DOUBLE
    - g_variant_get_int16
    - g_value_set_uint
    - g_variant_get_type
    - G_VALUE_HOLDS_INT64
    - g_value_set_int
    - g_value_set_int64
    - G_VALUE_HOLDS_INT
    - G_VALUE_HOLDS_UINT64
    - g_value_set_uint64
    - g_variant_get_handle
    - g_variant_get_int64
    - G_VALUE_HOLDS_UINT
    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_get_uint16
      Src: /src/glib/gio/gsettings-mapping.c:292,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:293,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:291,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gsettings-mapping.c:294,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_uint
      Src: /src/glib/gio/gsettings-mapping.c:307,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gio/gsettings-mapping.c:310,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gio/gsettings-mapping.c:315,1
    - Dst: g_value_set_double
      Src: /src/glib/gio/gsettings-mapping.c:322,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_int64
      Src: /src/glib/gio/gsettings-mapping.c:312,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_set_double
    - g_variant_get_uint16
    - G_VALUE_HOLDS_DOUBLE
    - g_value_set_uint
    - g_variant_get_type
    - G_VALUE_HOLDS_INT64
    - g_value_set_int
    - g_value_set_int64
    - G_VALUE_HOLDS_INT
    - g_variant_get_uint32
    - G_VALUE_HOLDS_UINT64
    - g_value_set_uint64
    - g_variant_get_uint64
    - G_VALUE_HOLDS_UINT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_get_mapping_unsigned_int (GValue *value,
      GVariant *variant) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - 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_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:463,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_enum_get_value_by_nick
      Src: /src/glib/gio/gsettings-mapping.c:494,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_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:522,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettings-mapping.c:524,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gsettings-mapping.c:540,1
    - Dst: g_variant_get_bytestring
      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_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:464,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:461,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_warning
      Src: /src/glib/gio/gsettings-mapping.c:502,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gsettings-mapping.c:525,1
    - 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_settings_get_mapping_int
      Src: /src/glib/gio/gsettings-mapping.c:465,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_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_VALUE_HOLDS
      Src: /src/glib/gio/gsettings-mapping.c:508,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings-mapping.c:551,1
    - Dst: g_variant_dup_strv
      Src: /src/glib/gio/gsettings-mapping.c:510,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_value_set_schar
      Src: /src/glib/gio/gsettings-mapping.c:455,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:462,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gsettings-mapping.c:455,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_VARIANT_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:506,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:544,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsettings-mapping.c:546,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings-mapping.c:550,1
    - Dst: g_flags_get_value_by_nick
      Src: /src/glib/gio/gsettings-mapping.c:527,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettings-mapping.c:534,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gsettings-mapping.c:510,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_value_set_schar
    - g_value_set_string
    - G_VALUE_HOLDS
    - g_variant_get_boolean
    - g_settings_get_mapping_int
    - g_type_class_peek
    - g_enum_get_value_by_nick
    - g_variant_iter_next
    - G_VALUE_HOLDS_ENUM
    - g_variant_get_type_string
    - G_VALUE_HOLDS_CHAR
    - g_settings_get_mapping_unsigned_int
    - g_value_set_enum
    - G_VALUE_HOLDS_FLAGS
    - g_variant_get_bytestring
    - g_value_take_boxed
    - g_variant_get_string
    - g_variant_dup_strv
    - g_value_set_uchar
    - g_value_set_boolean
    - g_value_set_flags
    - G_VALUE_HOLDS_STRING
    - g_variant_iter_init
    - G_VALUE_HOLDS_BOOLEAN
    - g_warning
    - g_critical
    - g_flags_get_value_by_nick
    - G_VARIANT_TYPE
    - G_VALUE_TYPE
    - G_VALUE_HOLDS_UCHAR
    - g_settings_get_mapping_float
    - g_variant_get_byte
    - g_variant_is_of_type
    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_equal
      Src: /src/glib/gio/gsettings-mapping.c:583,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:582,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:590,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: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:577,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:581,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
      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:572,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: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
    - G_TYPE_IS_FLAGS
    - g_variant_type_equal
    - 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_variant_new
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'static void g_portal_notification_backend_withdraw_notification (GNotificationBackend
      *backend, const gchar *id) '
  - 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_dbus_connection_call
      Src: /src/glib/gio/gportalnotificationbackend.c:59,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gportalnotificationbackend.c:64,1
    - Dst: g_notification_serialize
      Src: /src/glib/gio/gportalnotificationbackend.c:66,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_notification_serialize
    - g_variant_new
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'static void g_portal_notification_backend_send_notification (GNotificationBackend
      *backend, const gchar *id, GNotification *notification) '
  - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:75,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:82,1
    - Dst: G_OBJECT
      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_variant_lookup
    - G_OBJECT
    - g_object_notify
    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_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:120,1
    - Dst: g_set_error
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:116,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:114,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:131,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_is_of_type
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:150,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:151,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:154,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
    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_dbus_proxy_get_name_owner
    - g_signal_connect
    - g_dbus_proxy_get_cached_property
    - g_free
    - g_variant_get_boolean
    - glib_should_use_portal
    - g_clear_pointer
    - G_POWER_PROFILE_MONITOR_PORTAL
    - g_object_unref
    - G_CALLBACK
    - g_steal_pointer
    - g_dbus_proxy_new_for_bus_sync
    - g_variant_is_of_type
    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
    - g_object_class_override_property
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_POWER_PROFILE_MONITOR_PORTAL
    - g_value_set_boolean
    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_clear_object
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:165,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:164,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:167,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_signal_handler
    - g_clear_object
    - G_OBJECT_CLASS
    - G_POWER_PROFILE_MONITOR_PORTAL
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:205,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_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:209,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:
    - g_set_error
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _
    - g_strerror
    - g_cancellable_set_error_if_cancelled
    - g_io_error_from_errno
    - write
    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: output_stream_open
      Src: /src/glib/gio/glocalfileoutputstream.c:745,1
    - Dst: mode_from_flags_or_info
      Src: /src/glib/gio/glocalfileoutputstream.c:737,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - filename
    - readable
    - flags
    - reference_info
    - cancellable
    - error
    argTypes:
    - char*
    - gboolean
    - GFileCreateFlags
    - GFileInfo*
    - GCancellable*
    - GError**
    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:
    - g_cancellable_set_error_if_cancelled
    - output_stream_open
    - mode_from_flags_or_info
    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: 1
    argNames:
    - filename
    argTypes:
    - char*
    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_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:563,1
    - Dst: seek_type_to_lseek
      Src: /src/glib/gio/glocalfileoutputstream.c:556,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:562,1
    - Dst: lseek
      Src: /src/glib/gio/glocalfileoutputstream.c:556,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_LOCAL_FILE_OUTPUT_STREAM
    - _
    - lseek
    - g_strerror
    - seek_type_to_lseek
    - g_io_error_from_errno
    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: 4
    argNames:
    - filename
    - flags
    - cancellable
    - error
    argTypes:
    - char*
    - GFileCreateFlags
    - GCancellable*
    - GError**
    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:
    - g_cancellable_set_error_if_cancelled
    - output_stream_open
    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_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:603,1
    - Dst: ftruncate
      Src: /src/glib/gio/glocalfileoutputstream.c:594,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:608,1
    - Dst: g_win32_ftruncate
      Src: /src/glib/gio/glocalfileoutputstream.c:592,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_LOCAL_FILE_OUTPUT_STREAM
    - _
    - g_strerror
    - g_win32_ftruncate
    - g_cancellable_set_error_if_cancelled
    - ftruncate
    - g_io_error_from_errno
    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_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:800,1
    - Dst: read
      Src: /src/glib/gio/glocalfileoutputstream.c:792,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:801,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:802,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
    - _
    - g_free
    - g_strerror
    - read
    - g_malloc
    - g_io_error_from_errno
    - write
    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: 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_get_fd
    - G_LOCAL_FILE_OUTPUT_STREAM
    linkageType: ''
    returnType: int
    signature: 'static int g_local_file_output_stream_get_fd (GFileDescriptorBased
      *fd_based) '
  - 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_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:629,1
    - Dst: _g_local_file_info_get_from_fd
      Src: /src/glib/gio/glocalfileoutputstream.c:632,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 4
    argNames:
    - stream
    - attributes
    - cancellable
    - error
    argTypes:
    - GFileOutputStream*
    - char*
    - GCancellable*
    - GError**
    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_cancellable_set_error_if_cancelled
    - _g_local_file_info_get_from_fd
    - G_LOCAL_FILE_OUTPUT_STREAM
    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_filename_display_name
      Src: /src/glib/gio/glocalfileoutputstream.c:660,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:661,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:662,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:657,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_free
    - g_strerror
    - g_filename_display_name
    - g_set_error_literal
    - g_io_error_from_errno
    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: 4
    argNames:
    - filename
    - readable
    - cancellable
    - error
    argTypes:
    - char*
    - gboolean
    - GCancellable*
    - GError**
    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:
    - g_cancellable_set_error_if_cancelled
    - output_stream_open
    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:490,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileoutputstream.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    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_strdup
    - G_LOCAL_FILE_OUTPUT_STREAM
    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: 1
    argNames:
    - fd
    argTypes:
    - int
    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: 5
    argNames:
    - filename
    - open_flags
    - mode
    - cancellable
    - error
    argTypes:
    - char*
    - gint
    - guint
    - GCancellable*
    - GError**
    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
    - set_error_from_open_errno
    - g_object_new
    - G_FILE_OUTPUT_STREAM
    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_has_attribute
    - g_file_info_get_attribute_uint32
    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:151,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileoutputstream.c:149,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_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: mode_from_flags_or_info
      Src: /src/glib/gio/glocalfileoutputstream.c:1278,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: 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: 8
    argNames:
    - filename
    - readable
    - etag
    - create_backup
    - flags
    - reference_info
    - cancellable
    - error
    argTypes:
    - char*
    - gboolean
    - char*
    - gboolean
    - GFileCreateFlags
    - GFileInfo*
    - GCancellable*
    - GError**
    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_open
    - g_strdup
    - mode_from_flags_or_info
    - g_object_new
    - set_error_from_open_errno
    - g_cancellable_set_error_if_cancelled
    - create_backup_filename
    - G_FILE_OUTPUT_STREAM
    - handle_overwrite_open
    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_FILE_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/glocalfileoutputstream.c:162,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/glocalfileoutputstream.c:161,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_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - G_FILE_OUTPUT_STREAM_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_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:287,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_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:
    - g_set_error
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _
    - g_strerror
    - g_newa
    - writev
    - g_cancellable_set_error_if_cancelled
    - g_io_error_from_errno
    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_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:334,1
    - Dst: _g_local_file_info_create_etag
      Src: /src/glib/gio/glocalfileoutputstream.c:346,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:354,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_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: 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_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:434,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: _
      Src: /src/glib/gio/glocalfileoutputstream.c:426,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:409,1
    - Dst: _g_local_file_info_create_etag
      Src: /src/glib/gio/glocalfileoutputstream.c:440,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfileoutputstream.c:420,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfileoutputstream.c:389,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:449,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:408,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfileoutputstream.c:463,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:381,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfileoutputstream.c:374,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:335,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:336,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:333,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_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:355,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:369,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:427,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:448,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:395,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfileoutputstream.c:442,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfileoutputstream.c:460,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:396,1
    - Dst: g_local_file_fstat
      Src: /src/glib/gio/glocalfileoutputstream.c:439,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:379,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_close
    - _
    - g_clear_pointer
    - g_strerror
    - GLIB_PRIVATE_CALL
    - _g_local_file_info_create_etag
    - g_rename
    - g_fsync
    - g_cancellable_set_error_if_cancelled
    - g_unlink
    - g_local_file_fstat
    - g_io_error_from_errno
    - link
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gmemorymonitordbus.c:73,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gmemorymonitordbus.c:78,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gmemorymonitordbus.c:79,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_strcmp0
    - g_signal_emit_by_name
    - 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_cancellable_new
      Src: /src/glib/gio/gmemorymonitordbus.c:143,1
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/gmemorymonitordbus.c:144,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: 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_signal_handler
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void lmm_vanished_cb (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_finish
      Src: /src/glib/gio/gmemorymonitordbus.c:91,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_OBJECT
      Src: /src/glib/gio/gmemorymonitordbus.c:100,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitordbus.c:94,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_OBJECT
    - g_signal_connect
    - g_error_free
    - g_dbus_proxy_new_finish
    - g_debug
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void lmm_proxy_cb (GObject *source_object, GAsyncResult *res,
      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:161,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gmemorymonitordbus.c:162,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_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_clear_object
    - G_MEMORY_MONITOR_DBUS
    - g_cancellable_cancel
    - G_OBJECT_CLASS
    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: []
    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: do_call
      Src: /src/glib/gio/gdbusnamewatching.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 277
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_finish
      Src: /src/glib/gio/gdbusnamewatching.c:558,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:568,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:561,1
    - Dst: has_connection
      Src: /src/glib/gio/gdbusnamewatching.c:565,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 569
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 569
    functionName: connection_get_cb
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - call_vanished_handler
    - client_unref
    - g_bus_get_finish
    - has_connection
    linkageType: ''
    returnType: void
    signature: 'static void connection_get_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusnamewatching.c:511,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusnamewatching.c:517,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:514,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:525,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusnamewatching.c:513,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusnamewatching.c:530,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusnamewatching.c:535,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnamewatching.c:536,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:541,1
    - Dst: invoke_get_name_owner
      Src: /src/glib/gio/gdbusnamewatching.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 548
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 548
    functionName: has_connection
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_signal_connect
    - invoke_get_name_owner
    - g_dbus_connection_call
    - GUINT_TO_POINTER
    - G_CALLBACK
    - g_variant_new
    - client_ref
    - g_dbus_connection_signal_subscribe
    linkageType: ''
    returnType: void
    signature: 'static void has_connection (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnamewatching.c:167,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:169,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:170,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - CallHandlerData*
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: call_handler_data_free
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - client_unref
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void call_handler_data_free (CallHandlerData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusnamewatching.c:406,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:416,1
    - Dst: call_appeared_handler
      Src: /src/glib/gio/gdbusnamewatching.c:418,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnamewatching.c:411,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:417,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:422,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusnamewatching.c:428,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 430
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 430
    functionName: get_name_owner_cb
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_strdup
    - call_vanished_handler
    - client_unref
    - g_warn_if_fail
    - call_appeared_handler
    - g_variant_unref
    - g_variant_get
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void get_name_owner_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:900,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnamewatching.c:904,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnamewatching.c:909,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:907,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusnamewatching.c:907,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:914,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusnamewatching.c:914,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:914,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnamewatching.c:917,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:922,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - watcher_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 924
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 924
    functionName: g_bus_unwatch_name
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - client_unref
    - g_warn_if_fail
    - g_hash_table_remove
    - GUINT_TO_POINTER
    - g_warning
    - G_UNLOCK
    - g_hash_table_lookup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_bus_unwatch_name (guint watcher_id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusnamewatching.c:203,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: 206
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 206
    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:104,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnamewatching.c:112,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnamewatching.c:111,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:114,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnamewatching.c:109,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:115,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gdbusnamewatching.c:120,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusnamewatching.c:122,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusnamewatching.c:123,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/gdbusnamewatching.c:126,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusnamewatching.c:127,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusnamewatching.c:134,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusnamewatching.c:128,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 138
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 138
    functionName: client_unref
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_atomic_int_dec_and_test
    - g_free
    - g_source_attach
    - g_main_context_unref
    - g_object_unref
    - g_source_set_name
    - g_source_unref
    - g_idle_source_new
    - g_main_context_get_thread_default
    - g_dbus_connection_signal_unsubscribe
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void client_unref (Client *client) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnamewatching.c:288,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusnamewatching.c:291,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:293,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusnamewatching.c:293,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusnamewatching.c:290,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:296,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnamewatching.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - watcher_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 301
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 301
    functionName: dup_client
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_assert
    - G_UNLOCK
    - GUINT_TO_POINTER
    - client_ref
    - g_hash_table_lookup
    linkageType: ''
    returnType: Client*
    signature: 'static Client *dup_client (guint watcher_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:629,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnamewatching.c:633,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusnamewatching.c:629,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnamewatching.c:631,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusnamewatching.c:635,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:636,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnamewatching.c:642,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusnamewatching.c:646,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusnamewatching.c:648,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:649,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:655,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnamewatching.c:657,1
    - Dst: g_bus_get
      Src: /src/glib/gio/gdbusnamewatching.c:652,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: 660
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 660
    functionName: g_bus_watch_name
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_strdup
    - g_new0
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_main_context_ref_thread_default
    - g_hash_table_new
    - g_dbus_is_name
    - g_bus_get
    - client_ref
    - g_return_val_if_fail
    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_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnamewatching.c:245,1
    - Dst: actually_do_call
      Src: /src/glib/gio/gdbusnamewatching.c:249,1
    - Dst: schedule_call_in_idle
      Src: /src/glib/gio/gdbusnamewatching.c:247,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusnamewatching.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - client
    - call_type
    argTypes:
    - Client*
    - CallType
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: do_call
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_main_context_ref_thread_default
    - g_main_context_unref
    - actually_do_call
    - schedule_call_in_idle
    linkageType: ''
    returnType: void
    signature: 'static void do_call (Client *client, CallType call_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:690,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusnamewatching.c:691,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusnamewatching.c:690,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:691,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnamewatching.c:693,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnamewatching.c:695,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusnamewatching.c:697,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:698,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnamewatching.c:704,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusnamewatching.c:707,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:710,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnamewatching.c:714,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusnamewatching.c:709,1
    - Dst: has_connection
      Src: /src/glib/gio/gdbusnamewatching.c:716,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnamewatching.c:713,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: 719
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 719
    functionName: g_bus_watch_name_on_connection
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_strdup
    - g_object_ref
    - g_new0
    - G_LOCK
    - has_connection
    - g_hash_table_insert
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_main_context_ref_thread_default
    - g_hash_table_new
    - g_dbus_is_name
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnamewatching.c:732,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnamewatching.c:736,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnamewatching.c:739,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnamewatching.c:737,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnamewatching.c:738,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnamewatching.c:744,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnamewatching.c:745,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnamewatching.c:746,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnamewatching.c:747,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - name_appeared_closure
    - name_vanished_closure
    argTypes:
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 751
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 751
    functionName: watch_name_data_new
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_closure_set_marshal
    - g_new0
    - g_closure_ref
    - g_closure_sink
    - 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:786,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnamewatching.c:790,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnamewatching.c:789,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnamewatching.c:787,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnamewatching.c:792,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:794,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 796
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 796
    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:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 264
    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:762,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnamewatching.c:763,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnamewatching.c:765,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnamewatching.c:768,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnamewatching.c:766,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnamewatching.c:769,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnamewatching.c:771,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:773,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:774,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:775,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: 776
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 776
    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:804,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:809,1
    - Dst: g_closure_unref
      Src: /src/glib/gio/gdbusnamewatching.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 810
    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:437,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnamewatching.c:443,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:448,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusnamewatching.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 449
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 449
    functionName: invoke_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - client_ref
    - G_VARIANT_TYPE
    - g_variant_new
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'static void invoke_get_name_owner (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actually_do_call
      Src: /src/glib/gio/gdbusnamewatching.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusnamewatching.c:463,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnamewatching.c:481,1
    - Dst: invoke_get_name_owner
      Src: /src/glib/gio/gdbusnamewatching.c:473,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnamewatching.c:469,1
    - Dst: invoke_get_name_owner
      Src: /src/glib/gio/gdbusnamewatching.c:477,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:482,1
    - Dst: invoke_get_name_owner
      Src: /src/glib/gio/gdbusnamewatching.c:497,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusnamewatching.c:501,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:502,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 503
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 503
    functionName: start_service_by_name_cb
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - invoke_get_name_owner
    - call_vanished_handler
    - client_unref
    - g_variant_unref
    - g_variant_get
    - g_warning
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void start_service_by_name_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gdbusnamewatching.c:871,1
    - Dst: watch_name_data_new
      Src: /src/glib/gio/gdbusnamewatching.c:876,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: 878
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 878
    functionName: g_bus_watch_name_on_connection_with_closures
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - watch_name_data_new
    - g_bus_watch_name_on_connection
    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:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnamewatching.c:222,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusnamewatching.c:228,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:225,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnamewatching.c:224,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:223,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusnamewatching.c:229,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusnamewatching.c:230,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusnamewatching.c:234,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusnamewatching.c:235,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusnamewatching.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - client
    - call_type
    argTypes:
    - Client*
    - CallType
    constantsTouched: []
    func_position:
      end: 237
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 237
    functionName: schedule_call_in_idle
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_source_set_callback
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    - g_source_unref
    - g_idle_source_new
    - client_ref
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: void
    signature: 'static void schedule_call_in_idle (Client *client, CallType call_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusnamewatching.c:345,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnamewatching.c:358,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnamewatching.c:360,1
    - Dst: dup_client
      Src: /src/glib/gio/gdbusnamewatching.c:351,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnamewatching.c:359,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnamewatching.c:363,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnamewatching.c:370,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusnamewatching.c:373,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:375,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:377,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:384,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:382,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:389,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusnamewatching.c:380,1
    - Dst: call_appeared_handler
      Src: /src/glib/gio/gdbusnamewatching.c:385,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:383,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: 390
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 390
    functionName: on_name_owner_changed
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - GPOINTER_TO_UINT
    - g_strcmp0
    - call_vanished_handler
    - client_unref
    - g_warn_if_fail
    - call_appeared_handler
    - g_variant_get
    - dup_client
    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:312,1
    - Dst: dup_client
      Src: /src/glib/gio/gdbusnamewatching.c:315,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnamewatching.c:322,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnamewatching.c:320,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnamewatching.c:323,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:328,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:330,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: 331
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 331
    functionName: on_connection_disconnected
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - call_vanished_handler
    - client_unref
    - g_object_unref
    - dup_client
    - g_dbus_connection_signal_unsubscribe
    - g_signal_handler_disconnect
    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_bus_watch_name
      Src: /src/glib/gio/gdbusnamewatching.c:837,1
    - Dst: watch_name_data_new
      Src: /src/glib/gio/gdbusnamewatching.c:842,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: 844
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 844
    functionName: g_bus_watch_name_with_closures
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - watch_name_data_new
    - g_bus_watch_name
    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: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketaddressenumerator.c:155,1
    - Dst: G_IS_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketaddressenumerator.c:155,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gsocketaddressenumerator.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 160
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketaddressenumerator.c:100,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gsocketaddressenumerator.c:102,1
    - Dst: G_IS_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketaddressenumerator.c:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: g_socket_address_enumerator_next
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_ADDRESS_ENUMERATOR
    - g_return_val_if_fail
    - 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:194,1
    - Dst: G_IS_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketaddressenumerator.c:194,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gsocketaddressenumerator.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: g_socket_address_enumerator_next_finish
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_ADDRESS_ENUMERATOR
    - g_return_val_if_fail
    - 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: 3
    argCount: 1
    argNames:
    - enumerator_class
    argTypes:
    - GSocketAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    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:167,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsocketaddressenumerator.c:167,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsocketaddressenumerator.c:169,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketaddressenumerator.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: g_socket_address_enumerator_real_next_finish
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketaddressenumerator.c:121,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketaddressenumerator.c:122,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketaddressenumerator.c:126,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gsocketaddressenumerator.c:124,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsocketaddressenumerator.c:128,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddressenumerator.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: g_socket_address_enumerator_real_next_async
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_socket_address_enumerator_next
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_return_pointer
    - 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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableOutputStreamInterface*
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    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:182,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gunixoutputstream.c:187,1
    - Dst: _g_fd_is_pollable
      Src: /src/glib/gio/gunixoutputstream.c:188,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gunixoutputstream.c:191,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixoutputstream.c:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: g_unix_output_stream_set_property
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_int
    - _g_fd_is_pollable
    - G_UNIX_OUTPUT_STREAM
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - unix_stream
    argTypes:
    - GUnixOutputStream*
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gunixoutputstream.c:272,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gunixoutputstream.c:278,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gunixoutputstream.c:278,1
    - Dst: G_IS_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - close_fd
    argTypes:
    - GUnixOutputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: g_unix_output_stream_set_close_fd
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_UNIX_OUTPUT_STREAM
    - g_object_notify
    - 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_return_val_if_fail
      Src: /src/glib/gio/gunixoutputstream.c:314,1
    - Dst: G_IS_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GUnixOutputStream*
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 317
    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:508,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:520,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:519,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:521,1
    - Dst: close
      Src: /src/glib/gio/gunixoutputstream.c:514,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:522,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 526
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 526
    functionName: g_unix_output_stream_close
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - close
    - G_UNIX_OUTPUT_STREAM
    - g_io_error_from_errno
    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:537,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixoutputstream.c:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 550
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 550
    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:118,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gunixoutputstream.c:119,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixoutputstream.c:135,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gunixoutputstream.c:137,1
    - Dst: P_
      Src: /src/glib/gio/gunixoutputstream.c:138,1
    - Dst: P_
      Src: /src/glib/gio/gunixoutputstream.c:139,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixoutputstream.c:150,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gunixoutputstream.c:152,1
    - Dst: P_
      Src: /src/glib/gio/gunixoutputstream.c:153,1
    - Dst: P_
      Src: /src/glib/gio/gunixoutputstream.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 157
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 157
    functionName: g_unix_output_stream_class_init
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_int
    - g_param_spec_boolean
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_output_stream_class_init (GUnixOutputStreamClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:207,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gunixoutputstream.c:215,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixoutputstream.c:218,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gunixoutputstream.c:212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: g_unix_output_stream_get_property
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - G_UNIX_OUTPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    - g_value_set_boolean
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:332,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gunixoutputstream.c:339,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:356,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixoutputstream.c:349,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:357,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:358,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:359,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gunixoutputstream.c:363,1
    - Dst: write
      Src: /src/glib/gio/gunixoutputstream.c:369,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:376,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:378,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:379,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gunixoutputstream.c:386,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:377,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: 388
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 388
    functionName: g_unix_output_stream_write
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - g_cancellable_make_pollfd
    - G_UNIX_OUTPUT_STREAM
    - g_cancellable_set_error_if_cancelled
    - g_cancellable_release_fd
    - g_poll
    - g_io_error_from_errno
    - write
    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:421,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:463,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixoutputstream.c:456,1
    - Dst: g_newa
      Src: /src/glib/gio/gunixoutputstream.c:433,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gunixoutputstream.c:446,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:464,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:465,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:466,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gunixoutputstream.c:470,1
    - Dst: writev
      Src: /src/glib/gio/gunixoutputstream.c:476,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gunixoutputstream.c:496,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:484,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:486,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:483,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:485,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: 498
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 498
    functionName: g_unix_output_stream_writev
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - g_cancellable_make_pollfd
    - g_newa
    - writev
    - G_UNIX_OUTPUT_STREAM
    - g_cancellable_set_error_if_cancelled
    - g_cancellable_release_fd
    - g_poll
    - g_io_error_from_errno
    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:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 532
    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:556,1
    - Dst: g_pollable_source_new
      Src: /src/glib/gio/gunixoutputstream.c:559,1
    - Dst: g_unix_fd_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_OBJECT
      Src: /src/glib/gio/gunixoutputstream.c:559,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
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gunixoutputstream.c:568,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gunixoutputstream.c:569,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gunixoutputstream.c:570,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixoutputstream.c:571,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - stream
    - cancellable
    argTypes:
    - GPollableOutputStream*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 575
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 575
    functionName: g_unix_output_stream_pollable_create_source
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_unix_fd_source_new
    - G_UNIX_OUTPUT_STREAM
    - g_cancellable_source_new
    - g_source_unref
    - g_source_add_child_source
    - g_pollable_source_new
    - 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:584,1
    - Dst: writev
      Src: /src/glib/gio/gunixoutputstream.c:622,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:629,1
    - Dst: g_newa
      Src: /src/glib/gio/gunixoutputstream.c:610,1
    - Dst: g_pollable_output_stream_is_writable
      Src: /src/glib/gio/gunixoutputstream.c:588,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:630,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:631,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:632,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: 642
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 642
    functionName: g_unix_output_stream_pollable_writev_nonblocking
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - g_newa
    - writev
    - g_pollable_output_stream_is_writable
    - G_UNIX_OUTPUT_STREAM
    - g_io_error_from_errno
    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:248,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:255,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixoutputstream.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_fd
    argTypes:
    - gint
    - gboolean
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: g_unix_output_stream_new
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: "GOutputStream *g_unix_output_stream_new (gint fd,\t\t\t gboolean close_fd) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixoutputstream.c:296,1
    - Dst: G_IS_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GUnixOutputStream*
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gtestdbus.c:126,1
    - Dst: SetInformationJobObject
      Src: /src/glib/gio/gtestdbus.c:134,1
    - Dst: CreateJobObjectW
      Src: /src/glib/gio/gtestdbus.c:130,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:135,1
    - Dst: memset
      Src: /src/glib/gio/gtestdbus.c:131,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gtestdbus.c:135,1
    - Dst: GetLastError
      Src: /src/glib/gio/gtestdbus.c:135,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gtestdbus.c:137,1
    - Dst: AssignProcessToJobObject
      Src: /src/glib/gio/gtestdbus.c:142,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:143,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gtestdbus.c:143,1
    - Dst: GetLastError
      Src: /src/glib/gio/gtestdbus.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: _g_test_watcher_add_pid
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - SetInformationJobObject
    - g_once_init_enter
    - AssignProcessToJobObject
    - g_warning
    - memset
    - g_once_init_leave
    - GetLastError
    - CreateJobObjectW
    - g_win32_error_message
    linkageType: ''
    returnType: void
    signature: 'static void _g_test_watcher_add_pid (GPid pid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_array_index
      Src: /src/glib/gio/gtestdbus.c:190,1
    - Dst: kill
      Src: /src/glib/gio/gtestdbus.c:192,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:197,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:233,1
    - Dst: g_poll
      Src: /src/glib/gio/gtestdbus.c:181,1
    - Dst: g_array_unref
      Src: /src/glib/gio/gtestdbus.c:195,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gio/gtestdbus.c:198,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gtestdbus.c:210,1
    - Dst: g_array_index
      Src: /src/glib/gio/gtestdbus.c:216,1
    - Dst: exit
      Src: /src/glib/gio/gtestdbus.c:200,1
    - Dst: sscanf
      Src: /src/glib/gio/gtestdbus.c:212,1
    - Dst: g_io_channel_shutdown
      Src: /src/glib/gio/gtestdbus.c:196,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:205,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:230,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/gtestdbus.c:165,1
    - Dst: g_array_new
      Src: /src/glib/gio/gtestdbus.c:171,1
    - Dst: g_printerr
      Src: /src/glib/gio/gtestdbus.c:191,1
    - Dst: g_array_remove_index
      Src: /src/glib/gio/gtestdbus.c:218,1
    - Dst: sscanf
      Src: /src/glib/gio/gtestdbus.c:208,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:225,1
    - Dst: g_io_channel_read_line
      Src: /src/glib/gio/gtestdbus.c:204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 236
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 236
    functionName: watch_parent
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_array_remove_index
    - g_free
    - sscanf
    - g_io_channel_shutdown
    - g_assert_no_error
    - g_array_index
    - g_array_new
    - kill
    - g_io_channel_read_line
    - g_array_append_val
    - g_warning
    - g_io_channel_unix_new
    - g_array_unref
    - g_io_channel_unref
    - exit
    - g_poll
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void watch_parent (gint fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtestdbus.c:754,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 757
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gtestdbus.c:245,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:253,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gtestdbus.c:254,1
    - Dst: g_strerror
      Src: /src/glib/gio/gtestdbus.c:253,1
    - Dst: g_unix_open_pipe_internal
      Src: /src/glib/gio/gtestdbus.c:250,1
    - Dst: fflush
      Src: /src/glib/gio/gtestdbus.c:264,1
    - Dst: fflush
      Src: /src/glib/gio/gtestdbus.c:265,1
    - Dst: fork
      Src: /src/glib/gio/gtestdbus.c:267,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:271,1
    - Dst: g_strerror
      Src: /src/glib/gio/gtestdbus.c:271,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gtestdbus.c:272,1
    - Dst: close
      Src: /src/glib/gio/gtestdbus.c:283,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gtestdbus.c:287,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/gtestdbus.c:284,1
    - Dst: close
      Src: /src/glib/gio/gtestdbus.c:277,1
    - Dst: watch_parent
      Src: /src/glib/gio/gtestdbus.c:278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 291
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 291
    functionName: watcher_init
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - watch_parent
    - g_unix_open_pipe_internal
    - g_once_init_enter
    - fflush
    - g_strerror
    - g_assert_not_reached
    - g_warning
    - close
    - g_io_channel_unix_new
    - fork
    - g_once_init_leave
    linkageType: ''
    returnType: GIOChannel*
    signature: 'static GIOChannel *watcher_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:317,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:319,1
    - Dst: watcher_send_command
      Src: /src/glib/gio/gtestdbus.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: _g_test_watcher_add_pid
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - watcher_send_command
    linkageType: ''
    returnType: void
    signature: 'static void _g_test_watcher_add_pid (GPid pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:889,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:892,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:894,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:890,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 895
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 895
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/gtestdbus.c:467,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtestdbus.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 470
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 470
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TerminateProcess
      Src: /src/glib/gio/gtestdbus.c:714,1
    - Dst: kill
      Src: /src/glib/gio/gtestdbus.c:717,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:715,1
    - Dst: GetLastError
      Src: /src/glib/gio/gtestdbus.c:715,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gtestdbus.c:715,1
    - Dst: _g_test_watcher_remove_pid
      Src: /src/glib/gio/gtestdbus.c:719,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gtestdbus.c:720,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 725
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 725
    functionName: stop_daemon
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - _g_test_watcher_remove_pid
    - g_spawn_close_pid
    - g_free
    - kill
    - g_warning
    - TerminateProcess
    - GetLastError
    - g_win32_error_message
    linkageType: ''
    returnType: void
    signature: 'static void stop_daemon (GTestDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gtestdbus.c:477,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtestdbus.c:480,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 481
    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_val_if_fail
      Src: /src/glib/gio/gtestdbus.c:772,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 775
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 775
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gtestdbus.c:85,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_timeout_add_seconds_once
      Src: /src/glib/gio/gtestdbus.c:96,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gtestdbus.c:98,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_OBJECT
    - g_idle_add
    - g_source_remove
    - g_object_weak_ref
    - g_warning
    - g_main_loop_unref
    - g_timeout_add_seconds_once
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_object_unref_and_wait_weak_notify (gpointer object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtestdbus.c:524,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gtestdbus.c:539,1
    - Dst: P_
      Src: /src/glib/gio/gtestdbus.c:540,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtestdbus.c:538,1
    - Dst: P_
      Src: /src/glib/gio/gtestdbus.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestDBusClass*
    constantsTouched: []
    func_position:
      end: 546
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 546
    functionName: g_test_dbus_class_init
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - P_
    - g_param_spec_flags
    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:606,1
    - Dst: _
      Src: /src/glib/gio/gtestdbus.c:613,1
    - Dst: g_set_error
      Src: /src/glib/gio/gtestdbus.c:612,1
    - Dst: g_strerror
      Src: /src/glib/gio/gtestdbus.c:614,1
    - Dst: _pipe
      Src: /src/glib/gio/gtestdbus.c:608,1
    - Dst: g_set_error
      Src: /src/glib/gio/gtestdbus.c:619,1
    - Dst: _
      Src: /src/glib/gio/gtestdbus.c:620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pipe_fds
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: make_pipe
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - g_unix_open_pipe
    - _pipe
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean make_pipe (gint pipe_fds[2], GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:327,1
    - Dst: watcher_send_command
      Src: /src/glib/gio/gtestdbus.c:328,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: _g_test_watcher_remove_pid
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - watcher_send_command
    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:457,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gtestdbus.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 459
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/gtestdbus.c:557,1
    - Dst: g_string_new
      Src: /src/glib/gio/gtestdbus.c:560,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:558,1
    - Dst: g_string_append
      Src: /src/glib/gio/gtestdbus.c:561,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gtestdbus.c:573,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gtestdbus.c:575,1
    - Dst: g_string_append
      Src: /src/glib/gio/gtestdbus.c:579,1
    - Dst: close
      Src: /src/glib/gio/gtestdbus.c:590,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/gtestdbus.c:591,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:594,1
    - Dst: g_string_free
      Src: /src/glib/gio/gtestdbus.c:596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 599
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 599
    functionName: write_config_file
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_file_open_tmp
    - g_file_set_contents_full
    - g_ptr_array_index
    - g_assert_no_error
    - g_string_append_printf
    - close
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *write_config_file (GTestDBus *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_pipe
      Src: /src/glib/gio/gtestdbus.c:640,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:668,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:678,1
    - Dst: g_io_channel_shutdown
      Src: /src/glib/gio/gtestdbus.c:697,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gio/gtestdbus.c:699,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:705,1
    - Dst: g_getenv
      Src: /src/glib/gio/gtestdbus.c:637,1
    - Dst: write_config_file
      Src: /src/glib/gio/gtestdbus.c:648,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:649,1
    - Dst: g_spawn_async_with_pipes_and_fds
      Src: /src/glib/gio/gtestdbus.c:653,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/gtestdbus.c:673,1
    - Dst: g_getenv
      Src: /src/glib/gio/gtestdbus.c:684,1
    - Dst: g_usleep
      Src: /src/glib/gio/gtestdbus.c:693,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:706,1
    - Dst: g_getenv
      Src: /src/glib/gio/gtestdbus.c:638,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:643,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:641,1
    - Dst: g_io_channel_read_line
      Src: /src/glib/gio/gtestdbus.c:676,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:688,1
    - Dst: close
      Src: /src/glib/gio/gtestdbus.c:680,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:691,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:707,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:645,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/gtestdbus.c:690,1
    - Dst: _g_test_watcher_add_pid
      Src: /src/glib/gio/gtestdbus.c:670,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/gio/gtestdbus.c:675,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:698,1
    - Dst: g_unlink
      Src: /src/glib/gio/gtestdbus.c:702,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gtestdbus.c:703,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 708
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 708
    functionName: start_daemon
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_free
    - g_io_channel_shutdown
    - g_assert_no_error
    - g_spawn_async_with_pipes_and_fds
    - _g_test_watcher_add_pid
    - write_config_file
    - g_io_channel_read_line
    - close
    - g_strdup_printf
    - g_io_channel_unix_new
    - g_io_channel_set_close_on_unref
    - g_getenv
    - make_pipe
    - g_spawn_command_line_async
    - g_usleep
    - g_io_channel_unref
    - g_unlink
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void start_daemon (GTestDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gtestdbus.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GTestDBusFlags
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 741
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: watcher_init
      Src: /src/glib/gio/gtestdbus.c:300,1
    - Dst: g_io_channel_flush
      Src: /src/glib/gio/gtestdbus.c:307,1
    - Dst: g_io_channel_write_chars
      Src: /src/glib/gio/gtestdbus.c:303,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:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: watcher_send_command
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_io_channel_flush
    - g_assert_no_error
    - g_io_channel_write_chars
    - watcher_init
    linkageType: ''
    returnType: void
    signature: 'static void watcher_send_command (const gchar *command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gtestdbus.c:494,1
    - Dst: g_test_dbus_get_flags
      Src: /src/glib/gio/gtestdbus.c:494,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtestdbus.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 500
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 500
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:811,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:812,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:813,1
    - Dst: start_daemon
      Src: /src/glib/gio/gtestdbus.c:815,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:811,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/gtestdbus.c:817,1
    - Dst: g_setenv
      Src: /src/glib/gio/gtestdbus.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 820
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 820
    functionName: g_test_dbus_up
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_test_dbus_unset
    - G_IS_TEST_DBUS
    - start_daemon
    - g_setenv
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_dbus_up (GTestDBus *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:858,1
    - Dst: _g_bus_get_singleton_if_exists
      Src: /src/glib/gio/gtestdbus.c:861,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:859,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/gtestdbus.c:863,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:858,1
    - Dst: stop_daemon
      Src: /src/glib/gio/gtestdbus.c:866,1
    - Dst: _g_object_unref_and_wait_weak_notify
      Src: /src/glib/gio/gtestdbus.c:869,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/gtestdbus.c:871,1
    - Dst: _g_bus_forget_singleton
      Src: /src/glib/gio/gtestdbus.c:872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 874
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 874
    functionName: g_test_dbus_down
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_test_dbus_unset
    - G_IS_TEST_DBUS
    - stop_daemon
    - _g_bus_forget_singleton
    - _g_object_unref_and_wait_weak_notify
    - g_dbus_connection_set_exit_on_close
    - _g_bus_get_singleton_if_exists
    - g_return_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gtestdbus.c:513,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtestdbus.c:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 519
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 519
    functionName: g_test_dbus_set_property
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_flags
    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: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:789,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gtestdbus.c:792,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:789,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:790,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtestdbus.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - GTestDBus*
    - gchar*
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: g_test_dbus_add_service_dir
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_add
    - G_IS_TEST_DBUS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_dbus_add_service_dir (GTestDBus *self, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:837,1
    - Dst: stop_daemon
      Src: /src/glib/gio/gtestdbus.c:840,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:838,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 841
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 841
    functionName: g_test_dbus_stop
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - stop_daemon
    - G_IS_TEST_DBUS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_dbus_stop (GTestDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuLinkHashIterClass*
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    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:269,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: g_menu_attribute_hash_iter_finalize
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - G_OBJECT_CLASS
    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:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 484
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 484
    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:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - model
    - item_index
    argTypes:
    - GMenuModel*
    - gint
    constantsTouched: []
    func_position:
      end: 523
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 523
    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:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - model
    - item_index
    - attribute
    - expected_type
    argTypes:
    - GMenuModel*
    - gint
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 557
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 557
    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:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - model
    - item_index
    argTypes:
    - GMenuModel*
    - gint
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 638
    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:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - model
    - position
    - removed
    - added
    argTypes:
    - GMenuModel*
    - gint
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 697
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 697
    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_return_val_if_fail
      Src: /src/glib/gio/gmenumodel.c:958,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gmenumodel.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuLinkIter*
    constantsTouched: []
    func_position:
      end: 961
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 961
    functionName: g_menu_link_iter_get_name
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_quark_to_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_menu_link_iter_get_name (GMenuLinkIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuAttributeHashIter*
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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:744,1
    - Dst: G_MENU_ATTRIBUTE_ITER_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:748,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gmenumodel.c:755,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gmenumodel.c:753,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenumodel.c:758,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - iter
    - out_name
    - value
    argTypes:
    - GMenuAttributeIter*
    - gchar**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 762
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 762
    functionName: g_menu_attribute_iter_get_next
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_quark_to_string
    - g_variant_unref
    - g_variant_ref
    - g_quark_from_string
    - G_MENU_ATTRIBUTE_ITER_GET_CLASS
    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:455,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmenumodel.c:460,1
    - Dst: I_
      Src: /src/glib/gio/gmenumodel.c:455,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmenumodel.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuModelClass*
    constantsTouched: []
    func_position:
      end: 463
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 463
    functionName: g_menu_model_class_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_signal_set_va_marshaller
    - g_signal_new
    - I_
    - G_TYPE_FROM_CLASS
    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:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 501
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/gmenumodel.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuLinkIter*
    constantsTouched: []
    func_position:
      end: 941
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 941
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenumodel.c:824,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenumodel.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuAttributeIter*
    constantsTouched: []
    func_position:
      end: 827
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 827
    functionName: g_menu_attribute_iter_get_value
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_menu_attribute_iter_get_value (GMenuAttributeIter *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_ATTRIBUTE_ITER
      Src: /src/glib/gio/gmenumodel.c:832,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:837,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenumodel.c:835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 839
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 839
    functionName: g_menu_attribute_iter_finalize
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - G_MENU_ATTRIBUTE_ITER
    - 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:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuLinkIterClass*
    constantsTouched: []
    func_position:
      end: 1007
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1007
    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:599,1
    - Dst: va_start
      Src: /src/glib/gio/gmenumodel.c:610,1
    - Dst: g_variant_get_va
      Src: /src/glib/gio/gmenumodel.c:611,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenumodel.c:606,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/gio/gmenumodel.c:604,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenumodel.c:612,1
    - Dst: va_end
      Src: /src/glib/gio/gmenumodel.c:613,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: 616
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 616
    functionName: g_menu_model_get_item_attribute
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_unref
    - va_start
    - g_variant_get_va
    - g_variant_check_format_string
    - g_menu_model_get_item_attribute_value
    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:661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - model
    - item_index
    - link
    argTypes:
    - GMenuModel*
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 663
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 663
    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:978,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenumodel.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuLinkIter*
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: g_menu_link_iter_get_value
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_return_val_if_fail
    linkageType: ''
    returnType: GMenuModel*
    signature: 'GMenuModel *g_menu_link_iter_get_value (GMenuLinkIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:212,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: g_menu_link_hash_iter_finalize
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_link_hash_iter_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenumodel.c:343,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenumodel.c:338,1
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:333,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gmenumodel.c:342,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gmenumodel.c:349,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:352,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - model
    - item_index
    - attribute
    - expected_type
    argTypes:
    - GMenuModel*
    - gint
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 355
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 355
    functionName: g_menu_model_real_get_item_attribute_value
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - G_MENU_MODEL_GET_CLASS
    - g_assert_not_reached
    - g_variant_ref
    - g_hash_table_lookup
    - g_variant_is_of_type
    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:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuAttributeIter*
    constantsTouched: []
    func_position:
      end: 845
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 845
    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: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    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:370,1
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:364,1
    - Dst: g_menu_link_hash_iter_get_type
      Src: /src/glib/gio/gmenumodel.c:369,1
    - Dst: g_object_new
      Src: /src/glib/gio/gmenumodel.c:369,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenumodel.c:371,1
    - Dst: G_MENU_LINK_ITER
      Src: /src/glib/gio/gmenumodel.c:372,1
    - Dst: g_critical
      Src: /src/glib/gio/gmenumodel.c:376,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gmenumodel.c:378,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - model
    - item_index
    argTypes:
    - GMenuModel*
    - gint
    constantsTouched: []
    func_position:
      end: 386
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 386
    functionName: g_menu_model_real_iterate_item_links
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - G_MENU_LINK_ITER
    - g_hash_table_unref
    - g_object_new
    - G_MENU_MODEL_GET_CLASS
    - g_menu_link_hash_iter_get_type
    - g_critical
    - g_hash_table_iter_init
    - G_OBJECT_TYPE_NAME
    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:850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuAttributeIterClass*
    constantsTouched: []
    func_position:
      end: 853
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 853
    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:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuAttributeHashIterClass*
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 287
    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:400,1
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:396,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gmenumodel.c:402,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenumodel.c:405,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - model
    - item_index
    - link
    argTypes:
    - GMenuModel*
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 411
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 411
    functionName: g_menu_model_real_get_item_link
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_hash_table_unref
    - G_MENU_MODEL_GET_CLASS
    - g_assert_not_reached
    - g_hash_table_lookup
    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:804,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gmenumodel.c:806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuAttributeIter*
    constantsTouched: []
    func_position:
      end: 807
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 807
    functionName: g_menu_attribute_iter_get_name
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_quark_to_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_menu_attribute_iter_get_name (GMenuAttributeIter *iter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenumodel.c:898,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenumodel.c:907,1
    - Dst: G_MENU_LINK_ITER_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:902,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gmenumodel.c:909,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gmenumodel.c:911,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenumodel.c:914,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - iter
    - out_link
    - value
    argTypes:
    - GMenuLinkIter*
    - gchar**
    - GMenuModel**
    constantsTouched: []
    func_position:
      end: 918
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 918
    functionName: g_menu_link_iter_get_next
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_LINK_ITER_GET_CLASS
    - g_object_ref
    - g_assert
    - g_quark_to_string
    - g_object_unref
    - g_quark_from_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_menu_link_iter_get_next (GMenuLinkIter *iter, const gchar
      **out_link, GMenuModel **value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_LINK_ITER
      Src: /src/glib/gio/gmenumodel.c:986,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:991,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenumodel.c:989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 993
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 993
    functionName: g_menu_link_iter_finalize
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_LINK_ITER
    - G_OBJECT_CLASS
    - g_object_unref
    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:198,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenumodel.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - link_iter
    - out_name
    - value
    argTypes:
    - GMenuLinkIter*
    - gchar**
    - GMenuModel**
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: g_menu_link_hash_iter_get_next
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_hash_table_iter_next
    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:254,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenumodel.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - attr_iter
    - name
    - value
    argTypes:
    - GMenuAttributeIter*
    - gchar**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 262
    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_menu_attribute_hash_iter_get_type
      Src: /src/glib/gio/gmenumodel.c:305,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenumodel.c:306,1
    - Dst: g_object_new
      Src: /src/glib/gio/gmenumodel.c:305,1
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:301,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenumodel.c:307,1
    - Dst: G_MENU_ATTRIBUTE_ITER
      Src: /src/glib/gio/gmenumodel.c:308,1
    - Dst: g_critical
      Src: /src/glib/gio/gmenumodel.c:312,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gmenumodel.c:314,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - model
    - item_index
    argTypes:
    - GMenuModel*
    - gint
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: g_menu_model_real_iterate_item_attributes
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - G_MENU_ATTRIBUTE_ITER
    - g_hash_table_unref
    - g_object_new
    - g_menu_attribute_hash_iter_get_type
    - G_MENU_MODEL_GET_CLASS
    - g_critical
    - g_hash_table_iter_init
    - G_OBJECT_TYPE_NAME
    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: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    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:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuLinkIter*
    constantsTouched: []
    func_position:
      end: 999
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 999
    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:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuAttributeIter*
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 786
    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_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    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:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    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:200,1
    - Dst: g_object_set_property
      Src: /src/glib/gio/gpropertyaction.c:206,1
    - Dst: g_settings_get_mapping
      Src: /src/glib/gio/gpropertyaction.c:201,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpropertyaction.c:204,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gpropertyaction.c:204,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gpropertyaction.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - paction
    - variant
    argTypes:
    - GPropertyAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: g_property_action_set_state
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_value_init
    - g_object_set_property
    - g_settings_get_mapping
    - g_value_get_boolean
    - g_value_unset
    - g_value_set_boolean
    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:224,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gpropertyaction.c:232,1
    - Dst: g_object_get_property
      Src: /src/glib/gio/gpropertyaction.c:229,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpropertyaction.c:232,1
    - Dst: g_value_init
      Src: /src/glib/gio/gpropertyaction.c:228,1
    - Dst: g_settings_set_mapping
      Src: /src/glib/gio/gpropertyaction.c:234,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gpropertyaction.c:235,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gpropertyaction.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: g_property_action_get_state
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_object_get_property
    - g_settings_set_mapping
    - G_PROPERTY_ACTION
    - g_value_init
    - g_variant_ref_sink
    - g_value_get_boolean
    - g_value_unset
    - g_value_set_boolean
    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:318,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gpropertyaction.c:324,1
    - Dst: g_critical
      Src: /src/glib/gio/gpropertyaction.c:320,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/gpropertyaction.c:324,1
    - Dst: g_critical
      Src: /src/glib/gio/gpropertyaction.c:328,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gpropertyaction.c:329,1
    - Dst: g_critical
      Src: /src/glib/gio/gpropertyaction.c:335,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gpropertyaction.c:336,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gpropertyaction.c:342,1
    - Dst: g_property_action_determine_type
      Src: /src/glib/gio/gpropertyaction.c:343,1
    - Dst: g_free
      Src: /src/glib/gio/gpropertyaction.c:345,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gpropertyaction.c:344,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gpropertyaction.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - paction
    - property_name
    argTypes:
    - GPropertyAction*
    - gchar*
    constantsTouched: []
    func_position:
      end: 346
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 346
    functionName: g_property_action_set_property_name
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - G_UNLIKELY
    - g_free
    - G_OBJECT_GET_CLASS
    - g_strconcat
    - g_critical
    - G_CALLBACK
    - G_OBJECT_TYPE_NAME
    - g_property_action_determine_type
    - g_object_class_find_property
    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:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    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:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    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:214,1
    - Dst: g_property_action_set_state
      Src: /src/glib/gio/gpropertyaction.c:218,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gpropertyaction.c:216,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gpropertyaction.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - action
    - value
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: g_property_action_change_state
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - G_PROPERTY_ACTION
    - g_property_action_set_state
    - 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:244,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gpropertyaction.c:250,1
    - Dst: g_object_get
      Src: /src/glib/gio/gpropertyaction.c:252,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gpropertyaction.c:258,1
    - Dst: g_object_set
      Src: /src/glib/gio/gpropertyaction.c:254,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gpropertyaction.c:258,1
    - Dst: g_property_action_set_state
      Src: /src/glib/gio/gpropertyaction.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - action
    - parameter
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 262
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 262
    functionName: g_property_action_activate
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_property_action_set_state
    - g_object_get
    - G_PROPERTY_ACTION
    - g_object_set
    - g_variant_is_of_type
    - g_return_if_fail
    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:354,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gpropertyaction.c:367,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gpropertyaction.c:363,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gpropertyaction.c:359,1
    - Dst: g_property_action_set_property_name
      Src: /src/glib/gio/gpropertyaction.c:367,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gpropertyaction.c:371,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gpropertyaction.c:375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 377
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 377
    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_value_get_string
    - G_PROPERTY_ACTION
    - g_value_dup_object
    - g_assert_not_reached
    - g_value_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_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/gpropertyaction.c:634,1
    - Dst: g_object_new
      Src: /src/glib/gio/gpropertyaction.c:638,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpropertyaction.c:635,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gpropertyaction.c:635,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpropertyaction.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - name
    - object
    - property_name
    argTypes:
    - gchar*
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 643
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 643
    functionName: g_property_action_new
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_return_val_if_fail
    - 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:267,1
    - Dst: g_type_name
      Src: /src/glib/gio/gpropertyaction.c:290,1
    - Dst: g_type_name
      Src: /src/glib/gio/gpropertyaction.c:290,1
    - Dst: g_critical
      Src: /src/glib/gio/gpropertyaction.c:289,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 293
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 293
    functionName: g_property_action_determine_type
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_type_name
    - G_TYPE_IS_ENUM
    - g_critical
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_property_action_determine_type (GParamSpec
      *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionInterface*
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 459
    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:
    - Dst: g_assert
      Src: /src/glib/gio/gpropertyaction.c:302,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpropertyaction.c:305,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gpropertyaction.c:305,1
    - Dst: g_assert
      Src: /src/glib/gio/gpropertyaction.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: g_property_action_notify
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_OBJECT
    - g_object_notify
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_notify (GObject *object, GParamSpec
      *pspec, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:482,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:582,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:530,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gpropertyaction.c:583,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:602,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpropertyaction.c:464,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:496,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gpropertyaction.c:497,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:499,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:514,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpropertyaction.c:515,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:517,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:545,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gpropertyaction.c:546,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:533,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gpropertyaction.c:564,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:563,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gpropertyaction.c:531,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:481,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:599,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpropertyaction.c:600,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:601,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:479,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gpropertyaction.c:480,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:498,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:532,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:516,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:547,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:565,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:584,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:585,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:566,1
    - Dst: P_
      Src: /src/glib/gio/gpropertyaction.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 1
    argNames:
    - class
    argTypes:
    - GPropertyActionClass*
    constantsTouched: []
    func_position:
      end: 607
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 607
    functionName: g_property_action_class_init
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - g_param_spec_boolean
    - g_param_spec_variant
    - g_param_spec_string
    - g_param_spec_boxed
    - P_
    linkageType: ''
    returnType: void
    signature: 'void g_property_action_class_init (GPropertyActionClass *class) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:162,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gpropertyaction.c:182,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gpropertyaction.c:177,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
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: g_property_action_get_state_hint
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - G_PROPERTY_ACTION
    - g_variant_new
    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:385,1
    - Dst: g_property_action_get_name
      Src: /src/glib/gio/gpropertyaction.c:390,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gpropertyaction.c:394,1
    - Dst: g_property_action_get_parameter_type
      Src: /src/glib/gio/gpropertyaction.c:394,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gpropertyaction.c:390,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpropertyaction.c:398,1
    - Dst: g_property_action_get_enabled
      Src: /src/glib/gio/gpropertyaction.c:398,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gpropertyaction.c:402,1
    - Dst: g_property_action_get_state_type
      Src: /src/glib/gio/gpropertyaction.c:402,1
    - Dst: g_value_take_variant
      Src: /src/glib/gio/gpropertyaction.c:406,1
    - Dst: g_property_action_get_state
      Src: /src/glib/gio/gpropertyaction.c:406,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpropertyaction.c:410,1
    - Dst: g_property_action_get_invert_boolean
      Src: /src/glib/gio/gpropertyaction.c:410,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gpropertyaction.c:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 416
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 416
    functionName: g_property_action_get_property
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_property_action_get_enabled
    - g_value_set_string
    - g_property_action_get_parameter_type
    - g_property_action_get_invert_boolean
    - g_property_action_get_name
    - g_value_set_boxed
    - g_assert_not_reached
    - g_property_action_get_state
    - g_property_action_get_state_type
    - g_value_take_variant
    - G_ACTION
    - g_value_set_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:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:435,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpropertyaction.c:439,1
    - Dst: g_free
      Src: /src/glib/gio/gpropertyaction.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: g_property_action_finalize
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - G_PROPERTY_ACTION
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    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:421,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gpropertyaction.c:425,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gpropertyaction.c:426,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpropertyaction.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: g_property_action_dispose
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - G_PROPERTY_ACTION
    - g_clear_object
    - G_OBJECT_CLASS
    - g_signal_handlers_disconnect_by_func
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - property
    argTypes:
    - GPropertyAction*
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 446
    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_free
      Src: /src/glib/gio/gsrvtarget.c:130,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsrvtarget.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - target
    argTypes:
    - GSrvTarget*
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - GSrvTarget*
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    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_srv_target_new
      Src: /src/glib/gio/gsrvtarget.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - GSrvTarget*
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    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: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    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: 221
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 221
    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_slice_new0
      Src: /src/glib/gio/gsrvtarget.c:92,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsrvtarget.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - hostname
    - port
    - priority
    - weight
    argTypes:
    - gchar*
    - guint16
    - guint16
    - guint16
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    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: 1
    argNames:
    - target
    argTypes:
    - GSrvTarget*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    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: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gsrvtarget.c:246,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gsrvtarget.c:260,1
    - Dst: g_srv_target_free
      Src: /src/glib/gio/gsrvtarget.c:251,1
    - Dst: g_random_int_range
      Src: /src/glib/gio/gsrvtarget.c:290,1
    - Dst: g_list_free
      Src: /src/glib/gio/gsrvtarget.c:252,1
    - Dst: g_list_remove_link
      Src: /src/glib/gio/gsrvtarget.c:299,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 1
    argNames:
    - targets
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 313
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 313
    functionName: g_srv_target_list_sort
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached:
    - g_list_remove_link
    - g_list_sort
    - g_random_int_range
    - g_list_free
    - strcmp
    - g_srv_target_free
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_srv_target_list_sort (GList *targets) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_io_modules_ensure_loaded
      Src: /src/glib/gio/gproxy.c:71,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/gproxy.c:73,1
    - Dst: g_io_extension_get_type
      Src: /src/glib/gio/gproxy.c:78,1
    - Dst: g_object_new
      Src: /src/glib/gio/gproxy.c:78,1
    - Dst: g_io_extension_point_get_extension_by_name
      Src: /src/glib/gio/gproxy.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    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:176,1
    - Dst: G_IS_PROXY
      Src: /src/glib/gio/gproxy.c:176,1
    - Dst: G_PROXY_GET_IFACE
      Src: /src/glib/gio/gproxy.c:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - proxy
    - result
    - error
    argTypes:
    - GProxy*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: g_proxy_connect_finish
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached:
    - G_IS_PROXY
    - g_return_val_if_fail
    - G_PROXY_GET_IFACE
    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: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    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_val_if_fail
      Src: /src/glib/gio/gproxy.c:111,1
    - Dst: G_IS_PROXY
      Src: /src/glib/gio/gproxy.c:111,1
    - Dst: G_PROXY_GET_IFACE
      Src: /src/glib/gio/gproxy.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - connection
    - proxy_address
    - cancellable
    - error
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: g_proxy_connect
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached:
    - G_IS_PROXY
    - g_return_val_if_fail
    - G_PROXY_GET_IFACE
    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_if_fail
      Src: /src/glib/gio/gproxy.c:145,1
    - Dst: G_PROXY_GET_IFACE
      Src: /src/glib/gio/gproxy.c:147,1
    - Dst: G_IS_PROXY
      Src: /src/glib/gio/gproxy.c:145,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: 155
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: g_proxy_connect_async
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached:
    - G_IS_PROXY
    - G_PROXY_GET_IFACE
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxy.c:204,1
    - Dst: G_PROXY_GET_IFACE
      Src: /src/glib/gio/gproxy.c:206,1
    - Dst: G_IS_PROXY
      Src: /src/glib/gio/gproxy.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxy*
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: g_proxy_supports_hostname
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached:
    - G_IS_PROXY
    - g_return_val_if_fail
    - G_PROXY_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_proxy_supports_hostname (GProxy *proxy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gtrashportal.c:50,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gtrashportal.c:64,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtrashportal.c:61,1
    - Dst: gxdp_trash_proxy_new_sync
      Src: /src/glib/gio/gtrashportal.c:57,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gtrashportal.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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_enter
    - gxdp_trash_proxy_new_sync
    - g_bus_get_sync
    - g_object_unref
    - g_once_init_leave
    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_file_get_path
      Src: /src/glib/gio/gtrashportal.c:89,1
    - Dst: g_open
      Src: /src/glib/gio/gtrashportal.c:98,1
    - Dst: g_open
      Src: /src/glib/gio/gtrashportal.c:91,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_set_error
      Src: /src/glib/gio/gtrashportal.c:130,1
    - Dst: g_free
      Src: /src/glib/gio/gtrashportal.c:136,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_clear_object
      Src: /src/glib/gio/gtrashportal.c:135,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
    - ensure_trash_portal
    - g_open
    - g_close
    - g_free
    - g_file_get_path
    - g_variant_new_handle
    - g_unix_fd_list_append
    - g_clear_object
    - fcntl
    - gxdp_trash_call_trash_file_sync
    - g_unix_fd_list_new
    - g_io_error_from_errno
    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:253,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:255,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: g_volume_get_mount
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    linkageType: ''
    returnType: GMount*
    signature: 'GMount *g_volume_get_mount (GVolume *volume) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:395,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gvolume.c:398,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gvolume.c:396,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:395,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:396,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gvolume.c:400,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gvolume.c:401,1
    - Dst: G_TASK
      Src: /src/glib/gio/gvolume.c:401,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:403,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - volume
    - result
    - error
    argTypes:
    - GVolume*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 405
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 405
    functionName: g_volume_mount_finish
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - G_VOLUME_GET_IFACE
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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:606,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:607,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:606,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 613
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 613
    functionName: g_volume_enumerate_identifiers
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    linkageType: ''
    returnType: char**
    signature: 'char **g_volume_enumerate_identifiers (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:231,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:233,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: g_volume_get_drive
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDrive*
    signature: 'GDrive *g_volume_get_drive (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:209,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:211,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: g_volume_get_uuid
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    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:504,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gvolume.c:510,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:504,1
    - Dst: _
      Src: /src/glib/gio/gvolume.c:516,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:506,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: 524
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 524
    functionName: g_volume_eject_with_operation
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - _
    - G_VOLUME_GET_IFACE
    - g_task_report_new_error
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:177,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:179,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gvolume.c:184,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: g_volume_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    - g_themed_icon_new_with_default_fallbacks
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_volume_get_symbolic_icon (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gvolume.c:430,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:432,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:430,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gvolume.c:436,1
    - Dst: _
      Src: /src/glib/gio/gvolume.c:439,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: 444
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 444
    functionName: g_volume_eject
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - _
    - G_VOLUME_GET_IFACE
    - g_task_report_new_error
    - g_return_if_fail
    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:466,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:466,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gvolume.c:469,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gvolume.c:467,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:467,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gvolume.c:471,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gvolume.c:472,1
    - Dst: G_TASK
      Src: /src/glib/gio/gvolume.c:472,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - volume
    - result
    - error
    argTypes:
    - GVolume*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: g_volume_eject_finish
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - G_VOLUME_GET_IFACE
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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:656,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:656,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 663
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 663
    functionName: g_volume_get_activation_root
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    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:152,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:154,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: g_volume_get_icon
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    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:274,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:276,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: g_volume_can_mount
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    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:546,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gvolume.c:549,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:546,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:547,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gvolume.c:547,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gvolume.c:551,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gvolume.c:552,1
    - Dst: G_TASK
      Src: /src/glib/gio/gvolume.c:552,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - volume
    - result
    - error
    argTypes:
    - GVolume*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 559
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 559
    functionName: g_volume_eject_with_operation_finish
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - G_VOLUME_GET_IFACE
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_volume_eject_with_operation_finish (GVolume *volume, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolume.c:92,1
    - Dst: I_
      Src: /src/glib/gio/gvolume.c:107,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolume.c:95,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolume.c:107,1
    - Dst: I_
      Src: /src/glib/gio/gvolume.c:92,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolume.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GVolumeInterface*
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: g_volume_default_init
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new
    - I_
    linkageType: ''
    returnType: void
    signature: 'static void g_volume_default_init (GVolumeInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:130,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:132,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: g_volume_get_name
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    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:356,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:356,1
    - Dst: _
      Src: /src/glib/gio/gvolume.c:365,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:358,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gvolume.c:362,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: 370
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 370
    functionName: g_volume_mount
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - _
    - G_VOLUME_GET_IFACE
    - g_task_report_new_error
    - g_return_if_fail
    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:681,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:683,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 688
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 688
    functionName: g_volume_get_sort_key
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_volume_get_sort_key (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:297,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:297,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: g_volume_can_eject
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    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:320,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:320,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: g_volume_should_automount
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    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:580,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:581,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:583,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - volume
    - kind
    argTypes:
    - GVolume*
    - char*
    constantsTouched: []
    func_position:
      end: 589
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 589
    functionName: g_volume_get_identifier
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_VOLUME_GET_IFACE
    - G_IS_VOLUME
    - g_return_val_if_fail
    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: strchr
      Src: /src/glib/gio/giomodule-priv.c:63,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/giomodule-priv.c:55,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: 1
    argNames:
    - filename
    argTypes:
    - char*
    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:
    - strlen
    - g_free
    - g_path_get_basename
    - g_strndup
    - g_str_has_prefix
    - strchr
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_io_module_extract_name (const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gmenuexporter.c:323,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenuexporter.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - group
    - id
    - model
    argTypes:
    - GMenuExporterGroup*
    - guint
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 329
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 329
    functionName: g_menu_exporter_menu_new
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_slice_new0
    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:410,1
    - Dst: g_menu_exporter_group_check_if_useless
      Src: /src/glib/gio/gmenuexporter.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - group
    - count
    argTypes:
    - GMenuExporterGroup*
    - gint
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    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:492,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:492,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:493,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:493,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:493,1
    - Dst: g_menu_exporter_lookup_group
      Src: /src/glib/gio/gmenuexporter.c:496,1
    - Dst: g_menu_exporter_group_subscribe
      Src: /src/glib/gio/gmenuexporter.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - remote
    - group_id
    - builder
    argTypes:
    - GMenuExporterRemote*
    - guint
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 498
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 498
    functionName: g_menu_exporter_remote_subscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_menu_exporter_lookup_group
    - g_menu_exporter_group_subscribe
    - g_hash_table_insert
    - g_hash_table_lookup
    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: 1
    argNames:
    - group
    argTypes:
    - GMenuExporterGroup*
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    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:507,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:513,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:513,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:513,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:507,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenuexporter.c:515,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:515,1
    - Dst: g_menu_exporter_lookup_group
      Src: /src/glib/gio/gmenuexporter.c:517,1
    - Dst: g_menu_exporter_group_unsubscribe
      Src: /src/glib/gio/gmenuexporter.c:518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - remote
    - group_id
    argTypes:
    - GMenuExporterRemote*
    - guint
    constantsTouched: []
    func_position:
      end: 519
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 519
    functionName: g_menu_exporter_remote_unsubscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_menu_exporter_group_unsubscribe
    - g_menu_exporter_lookup_group
    - g_hash_table_insert
    - g_hash_table_remove
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_remote_unsubscribe (GMenuExporterRemote
      *remote, guint group_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gmenuexporter.c:214,1
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/gmenuexporter.c:216,1
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/gmenuexporter.c:217,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:219,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenuexporter.c:220,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:222,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gmenuexporter.c:224,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/gmenuexporter.c:225,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:226,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gmenuexporter.c:227,1
    - Dst: g_menu_exporter_group_get_id
      Src: /src/glib/gio/gmenuexporter.c:227,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - menu
    - position
    argTypes:
    - GMenuExporterMenu*
    - gint
    constantsTouched: []
    func_position:
      end: 230
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 230
    functionName: g_menu_exporter_menu_describe_item
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_sequence_get
    - g_variant_unref
    - g_menu_model_iterate_item_attributes
    - g_menu_attribute_iter_get_next
    - g_object_unref
    - g_variant_builder_add
    - g_variant_builder_init
    - g_variant_new
    - g_menu_exporter_group_get_id
    - g_sequence_get_iter_at_pos
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_menu_exporter_menu_describe_item (GMenuExporterMenu
      *menu, gint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gmenuexporter.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - remote
    argTypes:
    - GMenuExporterRemote*
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    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_assert
      Src: /src/glib/gio/gmenuexporter.c:588,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenuexporter.c:590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 591
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 591
    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:647,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gmenuexporter.c:655,1
    - Dst: g_menu_exporter_remote_unsubscribe
      Src: /src/glib/gio/gmenuexporter.c:656,1
    - Dst: g_menu_exporter_remote_has_subscriptions
      Src: /src/glib/gio/gmenuexporter.c:658,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gmenuexporter.c:654,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenuexporter.c:661,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gmenuexporter.c:663,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - exporter
    - sender
    - group_ids
    argTypes:
    - GMenuExporter*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 665
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 665
    functionName: g_menu_exporter_unsubscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_remote_has_subscriptions
    - g_menu_exporter_remote_unsubscribe
    - g_variant_iter_init
    - g_clear_pointer
    - g_hash_table_remove
    - g_hash_table_lookup
    - g_variant_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_unsubscribe (GMenuExporter *exporter,
      const gchar *sender, GVariant *group_ids) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gmenuexporter.c:238,1
    - Dst: g_menu_exporter_menu_describe_item
      Src: /src/glib/gio/gmenuexporter.c:242,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gmenuexporter.c:242,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gmenuexporter.c:240,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:238,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenuExporterMenu*
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: g_menu_exporter_menu_list
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_variant_builder_add_value
    - g_menu_exporter_menu_describe_item
    - g_variant_builder_init
    - g_sequence_get_length
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_menu_exporter_menu_list (GMenuExporterMenu *menu) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenuexporter.c:534,1
    - Dst: g_menu_exporter_group_unsubscribe
      Src: /src/glib/gio/gmenuexporter.c:540,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenuexporter.c:535,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gmenuexporter.c:539,1
    - Dst: g_menu_exporter_lookup_group
      Src: /src/glib/gio/gmenuexporter.c:539,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gmenuexporter.c:540,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/gmenuexporter.c:544,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenuexporter.c:546,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 549
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 549
    functionName: g_menu_exporter_remote_free
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_bus_unwatch_name
    - g_hash_table_unref
    - g_menu_exporter_group_unsubscribe
    - g_menu_exporter_lookup_group
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - GPOINTER_TO_INT
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_remote_free (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenuexporter.c:604,1
    - Dst: g_menu_exporter_remote_new
      Src: /src/glib/gio/gmenuexporter.c:616,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenuexporter.c:617,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gmenuexporter.c:614,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:617,1
    - Dst: g_menu_exporter_remote_new
      Src: /src/glib/gio/gmenuexporter.c:621,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gmenuexporter.c:624,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:624,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gmenuexporter.c:626,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:626,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gmenuexporter.c:629,1
    - Dst: g_menu_exporter_remote_subscribe
      Src: /src/glib/gio/gmenuexporter.c:630,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gmenuexporter.c:632,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:634,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gmenuexporter.c:628,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - exporter
    - sender
    - group_ids
    argTypes:
    - GMenuExporter*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: g_menu_exporter_subscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_strdup
    - G_VARIANT_TYPE
    - g_variant_builder_close
    - g_variant_iter_init
    - g_hash_table_insert
    - g_bus_watch_name_on_connection
    - g_menu_exporter_remote_new
    - g_variant_builder_init
    - g_variant_builder_open
    - g_menu_exporter_remote_subscribe
    - g_hash_table_lookup
    - g_variant_iter_next
    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
      Src: /src/glib/gio/gmenuexporter.c:673,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gmenuexporter.c:674,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gmenuexporter.c:675,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gmenuexporter.c:676,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gmenuexporter.c:678,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - exporter
    - report
    argTypes:
    - GMenuExporter*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 684
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 684
    functionName: g_menu_exporter_report
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_builder_close
    - g_variant_builder_add_value
    - g_variant_builder_open
    - g_variant_builder_init
    - g_dbus_connection_emit_signal
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_report (GMenuExporter *exporter, GVariant
      *report) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gmenuexporter.c:467,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gmenuexporter.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - exporter
    - id
    argTypes:
    - GMenuExporter*
    - guint
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 473
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gmenuexporter.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - connection
    - export_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 849
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 849
    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_once_init_enter
      Src: /src/glib/gio/gmenuexporter.c:57,1
    - Dst: g_error
      Src: /src/glib/gio/gmenuexporter.c:77,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gmenuexporter.c:62,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gmenuexporter.c:78,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:79,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gmenuexporter.c:80,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gmenuexporter.c:81,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gmenuexporter.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: org_gtk_Menus_get_interface
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_once_init_enter
    - g_assert
    - g_error
    - g_dbus_node_info_lookup_interface
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - g_once_init_leave
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *org_gtk_Menus_get_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - GMenuExporterGroup*
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    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:439,1
    - Dst: g_menu_exporter_group_check_if_useless
      Src: /src/glib/gio/gmenuexporter.c:441,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - group
    - id
    argTypes:
    - GMenuExporterGroup*
    - guint
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: g_menu_exporter_group_remove_menu
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_menu_exporter_group_check_if_useless
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_group_remove_menu (GMenuExporterGroup
      *group, guint id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_exporter_group_new
      Src: /src/glib/gio/gmenuexporter.c:717,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:718,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - exporter
    argTypes:
    - GMenuExporter*
    constantsTouched: []
    func_position:
      end: 721
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 721
    functionName: g_menu_exporter_create_group
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_menu_exporter_group_new
    - g_hash_table_insert
    linkageType: ''
    returnType: GMenuExporterGroup*
    signature: 'static GMenuExporterGroup *g_menu_exporter_create_group (GMenuExporter
      *exporter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_exporter_group_remove_menu
      Src: /src/glib/gio/gmenuexporter.c:135,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:143,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gmenuexporter.c:138,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:145,1
    - Dst: g_sequence_free
      Src: /src/glib/gio/gmenuexporter.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenuExporterMenu*
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: g_menu_exporter_menu_free
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_sequence_free
    - g_object_unref
    - g_menu_exporter_group_remove_menu
    - g_slice_free
    - g_signal_handler_disconnect
    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: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    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:452,1
    - Dst: g_menu_exporter_menu_prepare
      Src: /src/glib/gio/gmenuexporter.c:456,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:453,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:453,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - group
    - model
    argTypes:
    - GMenuExporterGroup*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: g_menu_exporter_group_add_menu
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_hash_table_insert
    - g_menu_exporter_menu_new
    - g_menu_exporter_menu_prepare
    linkageType: ''
    returnType: GMenuExporterMenu*
    signature: 'static GMenuExporterMenu *g_menu_exporter_group_add_menu (GMenuExporterGroup
      *group, GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_exporter_menu_free
      Src: /src/glib/gio/gmenuexporter.c:728,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:732,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenuexporter.c:730,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gmenuexporter.c:729,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenuexporter.c:731,1
    - Dst: g_free
      Src: /src/glib/gio/gmenuexporter.c:733,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 736
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 736
    functionName: g_menu_exporter_free
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_menu_free
    - g_hash_table_unref
    - g_free
    - g_clear_pointer
    - g_object_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_free (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_exporter_menu_free
      Src: /src/glib/gio/gmenuexporter.c:158,1
    - Dst: g_free
      Src: /src/glib/gio/gmenuexporter.c:159,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:267,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gmenuexporter.c:265,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:262,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gmenuexporter.c:289,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gmenuexporter.c:292,1
    - Dst: g_menu_exporter_group_get_exporter
      Src: /src/glib/gio/gmenuexporter.c:294,1
    - Dst: g_menu_exporter_group_is_subscribed
      Src: /src/glib/gio/gmenuexporter.c:279,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:283,1
    - Dst: g_menu_exporter_menu_create_links
      Src: /src/glib/gio/gmenuexporter.c:277,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:285,1
    - Dst: g_menu_exporter_menu_describe_item
      Src: /src/glib/gio/gmenuexporter.c:291,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:294,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:269,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:271,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gmenuexporter.c:273,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/gmenuexporter.c:274,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/gmenuexporter.c:277,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gmenuexporter.c:274,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gmenuexporter.c:283,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:286,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gmenuexporter.c:291,1
    - Dst: g_menu_exporter_report
      Src: /src/glib/gio/gmenuexporter.c:294,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:261,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:268,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:270,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:284,1
    - Dst: g_menu_exporter_group_get_id
      Src: /src/glib/gio/gmenuexporter.c:284,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:287,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:289,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: 296
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 296
    functionName: g_menu_exporter_menu_items_changed
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_sequence_insert_before
    - G_VARIANT_TYPE
    - g_menu_exporter_group_is_subscribed
    - g_variant_builder_end
    - g_variant_builder_close
    - g_sequence_remove_range
    - g_assert
    - g_menu_exporter_menu_create_links
    - g_variant_builder_add
    - g_variant_builder_add_value
    - g_menu_exporter_menu_describe_item
    - g_variant_builder_init
    - g_variant_builder_open
    - g_menu_exporter_group_get_exporter
    - g_sequence_get_length
    - g_menu_exporter_group_get_id
    - g_menu_exporter_report
    - g_sequence_get_iter_at_pos
    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:348,1
    - Dst: g_menu_exporter_remove_group
      Src: /src/glib/gio/gmenuexporter.c:350,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:354,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenuexporter.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - group
    argTypes:
    - GMenuExporterGroup*
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: g_menu_exporter_group_check_if_useless
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_remove_group
    - g_hash_table_size
    - g_slice_free
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_group_check_if_useless (GMenuExporterGroup
      *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenuexporter.c:690,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - exporter
    - id
    argTypes:
    - GMenuExporter*
    - guint
    constantsTouched: []
    func_position:
      end: 691
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 691
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_model_iterate_item_links
      Src: /src/glib/gio/gmenuexporter.c:174,1
    - Dst: g_menu_exporter_group_get_exporter
      Src: /src/glib/gio/gmenuexporter.c:185,1
    - Dst: g_menu_exporter_create_group
      Src: /src/glib/gio/gmenuexporter.c:185,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gmenuexporter.c:184,1
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/gmenuexporter.c:176,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gmenuexporter.c:189,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gmenuexporter.c:190,1
    - Dst: g_menu_exporter_group_add_menu
      Src: /src/glib/gio/gmenuexporter.c:191,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:195,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - menu
    - position
    argTypes:
    - GMenuExporterMenu*
    - gint
    constantsTouched: []
    func_position:
      end: 201
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 201
    functionName: g_menu_exporter_menu_create_links
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_menu_exporter_group_add_menu
    - g_menu_exporter_create_group
    - g_object_unref
    - g_menu_exporter_group_get_exporter
    - g_slice_new
    - g_strconcat
    - g_menu_link_iter_get_next
    - g_menu_model_iterate_item_links
    linkageType: ''
    returnType: GMenuExporterLink*
    signature: 'static GMenuExporterLink *g_menu_exporter_menu_create_links (GMenuExporterMenu
      *menu, gint position) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:303,1
    - Dst: g_sequence_new
      Src: /src/glib/gio/gmenuexporter.c:309,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gmenuexporter.c:306,1
    - Dst: g_menu_model_is_mutable
      Src: /src/glib/gio/gmenuexporter.c:305,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gmenuexporter.c:307,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/gmenuexporter.c:311,1
    - Dst: g_menu_exporter_menu_items_changed
      Src: /src/glib/gio/gmenuexporter.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenuExporterMenu*
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: g_menu_exporter_menu_prepare
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_assert
    - g_sequence_new
    - g_menu_exporter_menu_items_changed
    - G_CALLBACK
    - g_menu_model_get_n_items
    - g_menu_model_is_mutable
    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:375,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenuexporter.c:389,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gmenuexporter.c:392,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenuexporter.c:390,1
    - Dst: g_menu_exporter_menu_prepare
      Src: /src/glib/gio/gmenuexporter.c:384,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/gio/gmenuexporter.c:395,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gmenuexporter.c:397,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:397,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:398,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:399,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gmenuexporter.c:401,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gmenuexporter.c:400,1
    - Dst: g_menu_exporter_menu_list
      Src: /src/glib/gio/gmenuexporter.c:400,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - group
    - builder
    argTypes:
    - GMenuExporterGroup*
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 404
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 404
    functionName: g_menu_exporter_group_subscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_builder_close
    - g_menu_exporter_menu_prepare
    - g_menu_exporter_menu_list
    - g_hash_table_iter_next
    - g_variant_builder_add
    - g_variant_builder_add_value
    - g_hash_table_iter_init
    - g_variant_builder_open
    - g_sequence_is_empty
    - GPOINTER_TO_INT
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_group_subscribe (GMenuExporterGroup *group,
      GVariantBuilder *builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenuexporter.c:699,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:699,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:704,1
    - Dst: g_menu_exporter_group_new
      Src: /src/glib/gio/gmenuexporter.c:703,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:704,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - exporter
    - group_id
    argTypes:
    - GMenuExporter*
    - guint
    constantsTouched: []
    func_position:
      end: 708
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 708
    functionName: g_menu_exporter_lookup_group
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_hash_table_lookup
    - g_menu_exporter_group_new
    - GINT_TO_POINTER
    linkageType: ''
    returnType: GMenuExporterGroup*
    signature: 'static GMenuExporterGroup *g_menu_exporter_lookup_group (GMenuExporter
      *exporter, guint group_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gmenuexporter.c:810,1
    - Dst: org_gtk_Menus_get_interface
      Src: /src/glib/gio/gmenuexporter.c:812,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenuexporter.c:821,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:817,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gmenuexporter.c:812,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenuexporter.c:822,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gmenuexporter.c:823,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gmenuexporter.c:824,1
    - Dst: g_menu_exporter_group_add_menu
      Src: /src/glib/gio/gmenuexporter.c:825,1
    - Dst: g_menu_exporter_create_group
      Src: /src/glib/gio/gmenuexporter.c:825,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - connection
    - object_path
    - menu
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - GMenuModel*
    - GError**
    constantsTouched: []
    func_position:
      end: 828
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 828
    functionName: g_dbus_connection_export_menu_model
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - org_gtk_Menus_get_interface
    - g_strdup
    - g_object_ref
    - g_slice_new0
    - g_menu_exporter_group_add_menu
    - g_menu_exporter_create_group
    - g_hash_table_new
    - g_hash_table_new_full
    - g_slice_free
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_export_menu_model (GDBusConnection *connection,
      const gchar *object_path, GMenuModel *menu, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gmenuexporter.c:557,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gmenuexporter.c:559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - exporter
    - watch_id
    argTypes:
    - GMenuExporter*
    - guint
    constantsTouched: []
    func_position:
      end: 563
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 563
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gmenuexporter.c:751,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gmenuexporter.c:756,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gmenuexporter.c:753,1
    - Dst: g_menu_exporter_subscribe
      Src: /src/glib/gio/gmenuexporter.c:754,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gmenuexporter.c:754,1
    - Dst: g_menu_exporter_unsubscribe
      Src: /src/glib/gio/gmenuexporter.c:758,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gmenuexporter.c:759,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gmenuexporter.c:763,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenuexporter.c:765,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: 766
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 766
    functionName: g_menu_exporter_method_call
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_menu_exporter_unsubscribe
    - g_variant_get_child_value
    - g_assert_not_reached
    - g_variant_unref
    - g_dbus_method_invocation_return_value
    - g_menu_exporter_subscribe
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/gio/gthemedicon.c:277,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/gthemedicon.c:281,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthemedicon.c:317,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:314,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gthemedicon.c:359,1
    - Dst: g_list_free
      Src: /src/glib/gio/gthemedicon.c:357,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthemedicon.c:343,1
    - Dst: g_list_length
      Src: /src/glib/gio/gthemedicon.c:348,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gthemedicon.c:268,1
    - Dst: strlen
      Src: /src/glib/gio/gthemedicon.c:277,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:283,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:307,1
    - Dst: g_strndup
      Src: /src/glib/gio/gthemedicon.c:304,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:320,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gthemedicon.c:331,1
    - Dst: g_strndup
      Src: /src/glib/gio/gthemedicon.c:333,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/gthemedicon.c:336,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/gthemedicon.c:337,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gthemedicon.c:359,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:339,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gthemedicon.c:275,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:279,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:288,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthemedicon.c:290,1
    - Dst: strrchr
      Src: /src/glib/gio/gthemedicon.c:299,1
    - Dst: strlen
      Src: /src/glib/gio/gthemedicon.c:333,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:347,1
    - Dst: g_new
      Src: /src/glib/gio/gthemedicon.c:348,1
    - Dst: g_list_free
      Src: /src/glib/gio/gthemedicon.c:356,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthemedicon.c:288,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gthemedicon.c:308,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:323,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/gthemedicon.c:312,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gthemedicon.c:335,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gthemedicon.c:345,1
    - Dst: g_list_length
      Src: /src/glib/gio/gthemedicon.c:348,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 1
    argNames:
    - themed
    argTypes:
    - GThemedIcon*
    constantsTouched: []
    func_position:
      end: 360
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 360
    functionName: g_themed_icon_update_names
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - G_OBJECT
    - g_free
    - g_strndup
    - strrchr
    - g_list_find_custom
    - g_list_prepend
    - g_new
    - g_strdup_printf
    - g_str_has_suffix
    - g_strfreev
    - g_list_length
    - g_list_free
    - g_object_notify
    - g_list_reverse
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_update_names (GThemedIcon *themed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GIconIface*
    constantsTouched: []
    func_position:
      end: 629
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 629
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gthemedicon.c:511,1
    - Dst: g_new
      Src: /src/glib/gio/gthemedicon.c:515,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:511,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gthemedicon.c:512,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gthemedicon.c:514,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:518,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:521,1
    - Dst: g_themed_icon_update_names
      Src: /src/glib/gio/gthemedicon.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - icon
    - iconname
    argTypes:
    - GThemedIcon*
    - char*
    constantsTouched: []
    func_position:
      end: 525
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 525
    functionName: g_themed_icon_prepend_name
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_new
    - g_themed_icon_update_names
    - G_IS_THEMED_ICON
    - g_strv_length
    - g_return_if_fail
    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:546,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gthemedicon.c:552,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:547,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: g_themed_icon_equal
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - G_THEMED_ICON
    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:530,1
    - Dst: g_str_hash
      Src: /src/glib/gio/gthemedicon.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 540
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 540
    functionName: g_themed_icon_hash
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_str_hash
    - G_THEMED_ICON
    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:565,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:574,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gthemedicon.c:573,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthemedicon.c:568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - icon
    - tokens
    - out_version
    argTypes:
    - GIcon*
    - GPtrArray*
    - gint*
    constantsTouched: []
    func_position:
      end: 577
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 577
    functionName: g_themed_icon_to_tokens
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_ptr_array_add
    - G_THEMED_ICON
    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_return_val_if_fail
      Src: /src/glib/gio/gthemedicon.c:373,1
    - Dst: G_ICON
      Src: /src/glib/gio/gthemedicon.c:375,1
    - Dst: g_object_new
      Src: /src/glib/gio/gthemedicon.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - iconname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: g_themed_icon_new
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - G_ICON
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_themed_icon_new (const char *iconname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_themed_icon_update_names
      Src: /src/glib/gio/gthemedicon.c:150,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.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_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_OBJECT_CLASS
      Src: /src/glib/gio/gthemedicon.c:169,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gthemedicon.c:182,1
    - Dst: P_
      Src: /src/glib/gio/gthemedicon.c:184,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gthemedicon.c:181,1
    - Dst: P_
      Src: /src/glib/gio/gthemedicon.c:183,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gthemedicon.c:193,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gthemedicon.c:194,1
    - Dst: P_
      Src: /src/glib/gio/gthemedicon.c:195,1
    - Dst: P_
      Src: /src/glib/gio/gthemedicon.c:196,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gthemedicon.c:219,1
    - Dst: P_
      Src: /src/glib/gio/gthemedicon.c:221,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gthemedicon.c:220,1
    - Dst: P_
      Src: /src/glib/gio/gthemedicon.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GThemedIconClass*
    constantsTouched: []
    func_position:
      end: 225
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 225
    functionName: g_themed_icon_class_init
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_boolean
    - g_param_spec_string
    - g_param_spec_boxed
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_class_init (GThemedIconClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthemedicon.c:460,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GThemedIcon*
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 462
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gthemedicon.c:593,1
    - Dst: g_themed_icon_new_from_names
      Src: /src/glib/gio/gthemedicon.c:606,1
    - Dst: g_new0
      Src: /src/glib/gio/gthemedicon.c:601,1
    - Dst: _
      Src: /src/glib/gio/gthemedicon.c:596,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:607,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - tokens
    - num_tokens
    - version
    - error
    argTypes:
    - gchar**
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 611
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 611
    functionName: g_themed_icon_from_tokens
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_new0
    - g_themed_icon_new_from_names
    - 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:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:158,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gthemedicon.c:163,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:160,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: g_themed_icon_finalize
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - G_OBJECT_CLASS
    - G_THEMED_ICON
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - themed
    argTypes:
    - GThemedIcon*
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    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:616,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthemedicon.c:618,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthemedicon.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: g_themed_icon_serialize
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - G_THEMED_ICON
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_themed_icon_serialize (GIcon *icon) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:83,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gthemedicon.c:88,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gthemedicon.c:96,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gthemedicon.c:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: g_themed_icon_get_property
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boxed
    - G_THEMED_ICON
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_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/gthemedicon.c:443,1
    - Dst: G_ICON
      Src: /src/glib/gio/gthemedicon.c:445,1
    - Dst: g_object_new
      Src: /src/glib/gio/gthemedicon.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - iconname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionName: g_themed_icon_new_with_default_fallbacks
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - G_ICON
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_themed_icon_new_with_default_fallbacks (const char *iconname) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:106,1
    - Dst: g_new
      Src: /src/glib/gio/gthemedicon.c:121,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gthemedicon.c:113,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:119,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:122,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gthemedicon.c:127,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:133,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gthemedicon.c:139,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gthemedicon.c:143,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 145
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 145
    functionName: g_themed_icon_set_property
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_value_get_string
    - g_new
    - G_THEMED_ICON
    - g_strfreev
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthemedicon.c:394,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:410,1
    - Dst: g_object_new
      Src: /src/glib/gio/gthemedicon.c:408,1
    - Dst: G_ICON
      Src: /src/glib/gio/gthemedicon.c:408,1
    - Dst: g_new
      Src: /src/glib/gio/gthemedicon.c:401,1
    - Dst: G_ICON
      Src: /src/glib/gio/gthemedicon.c:413,1
    - Dst: g_object_new
      Src: /src/glib/gio/gthemedicon.c:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - iconnames
    - len
    argTypes:
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 416
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 416
    functionName: g_themed_icon_new_from_names
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_new
    - g_new
    - G_ICON
    - g_return_val_if_fail
    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:480,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gthemedicon.c:481,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:480,1
    - Dst: g_realloc
      Src: /src/glib/gio/gthemedicon.c:484,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gthemedicon.c:483,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:485,1
    - Dst: g_themed_icon_update_names
      Src: /src/glib/gio/gthemedicon.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - icon
    - iconname
    argTypes:
    - GThemedIcon*
    - char*
    constantsTouched: []
    func_position:
      end: 489
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 489
    functionName: g_themed_icon_append_name
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_realloc
    - g_themed_icon_update_names
    - G_IS_THEMED_ICON
    - g_strv_length
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_themed_icon_append_name (GThemedIcon *icon, const char *iconname) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: g_file_error_from_errno
      Src: /src/glib/gio/gioerror.c:78,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/gioerror.c:79,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 19
    argCount: 1
    argNames:
    - err_no
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 243
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 243
    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: 394
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 394
    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:305,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 3
    argCount: 1
    argNames:
    - file_error
    argTypes:
    - GFileError
    constantsTouched: []
    func_position:
      end: 307
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 307
    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:502,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:502,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:503,1
    - Dst: is_key
      Src: /src/glib/gio/gsettingsbackend.c:503,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:505,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - backend
    - key
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: g_settings_backend_writable_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS_BACKEND
    - g_settings_backend_dispatch_signal
    - is_key
    - G_STRUCT_OFFSET
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_writable_changed (GSettingsBackend *backend,
      const gchar *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettingsbackend.c:723,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsbackend.c:725,1
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:717,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gsettingsbackend.c:721,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - backend
    - key
    - expected_type
    - default_value
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariantType*
    - gboolean
    constantsTouched: []
    func_position:
      end: 730
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 730
    functionName: g_settings_backend_read
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_take_ref
    - g_variant_unref
    - G_SETTINGS_BACKEND_GET_CLASS
    - g_variant_is_of_type
    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:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - char*
    constantsTouched: []
    func_position:
      end: 895
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 895
    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:1073,1
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:1074,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettingsbackend.c:1079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1081
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1081
    functionName: g_settings_backend_sync_default
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_get_default
    - g_object_unref
    - G_SETTINGS_BACKEND_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_sync_default (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsettingsbackend.c:162,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsbackend.c:170,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsettingsbackend.c:172,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gsettingsbackend.c:169,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsettingsbackend.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - data
    - where_the_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: g_settings_backend_watch_weak_notify
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_mutex_unlock
    - g_slice_free
    - g_weak_ref_clear
    - g_mutex_lock
    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_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:477,1
    - Dst: is_path
      Src: /src/glib/gio/gsettingsbackend.c:478,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:477,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:478,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:480,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - backend
    - path
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: g_settings_backend_path_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS_BACKEND
    - g_settings_backend_dispatch_signal
    - G_STRUCT_OFFSET
    - is_path
    - g_return_if_fail
    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:666,1
    - Dst: g_settings_backend_flatten_tree
      Src: /src/glib/gio/gsettingsbackend.c:668,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:666,1
    - Dst: g_print
      Src: /src/glib/gio/gsettingsbackend.c:675,1
    - Dst: g_print
      Src: /src/glib/gio/gsettingsbackend.c:674,1
    - Dst: g_print
      Src: /src/glib/gio/gsettingsbackend.c:677,1
    - Dst: g_print
      Src: /src/glib/gio/gsettingsbackend.c:678,1
    - Dst: g_settings_backend_keys_changed
      Src: /src/glib/gio/gsettingsbackend.c:682,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsbackend.c:683,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsbackend.c:684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - backend
    - tree
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 685
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 685
    functionName: g_settings_backend_changed_tree
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_free
    - G_IS_SETTINGS_BACKEND
    - g_settings_backend_keys_changed
    - g_settings_backend_flatten_tree
    - g_print
    - g_return_if_fail
    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:855,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - backend
    - key
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 857
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 857
    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:877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - key
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 879
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 879
    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:985,1
    - Dst: g_getenv
      Src: /src/glib/gio/gsettingsbackend.c:986,1
    - Dst: g_message
      Src: /src/glib/gio/gsettingsbackend.c:988,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettingsbackend.c:985,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gsettingsbackend.c:986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - impl
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 994
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 994
    functionName: g_settings_backend_verify
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_message
    - g_getenv
    - G_OBJECT_TYPE_NAME
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_backend_verify (gpointer impl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:430,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:431,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:430,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:434,1
    - Dst: is_path
      Src: /src/glib/gio/gsettingsbackend.c:431,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:436,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - backend
    - path
    - items
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gchar**
    - gpointer
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: g_settings_backend_keys_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS_BACKEND
    - g_settings_backend_dispatch_signal
    - G_STRUCT_OFFSET
    - is_path
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_keys_changed (GSettingsBackend *backend, const
      gchar *path, gchar const * const *items, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettingsbackend.c:800,1
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:801,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsbackend.c:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - backend
    - key
    - value
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 806
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 806
    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:836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - backend
    - tree
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 838
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 838
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - backend
    - key
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 927
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 927
    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:940,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gsettingsbackend.c:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GSettingsBackend*
    constantsTouched: []
    func_position:
      end: 942
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 942
    functionName: g_settings_backend_init
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_get_instance_private
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_backend_init (GSettingsBackend *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_backend_read
      Src: /src/glib/gio/gsettingsbackend.c:934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - backend
    - key
    - expected_type
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 935
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 935
    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:947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSettingsBackendClass*
    constantsTouched: []
    func_position:
      end: 955
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 955
    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_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:384,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:387,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:385,1
    - Dst: is_key
      Src: /src/glib/gio/gsettingsbackend.c:385,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:384,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - backend
    - key
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 391
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: g_settings_backend_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS_BACKEND
    - g_settings_backend_dispatch_signal
    - is_key
    - G_STRUCT_OFFSET
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_changed (GSettingsBackend *backend, const
      gchar *key, gpointer origin_tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:754,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gsettingsbackend.c:758,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsbackend.c:762,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettingsbackend.c:760,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - backend
    - key
    - expected_type
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 767
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 767
    functionName: g_settings_backend_read_user_value
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_take_ref
    - g_variant_unref
    - G_SETTINGS_BACKEND_GET_CLASS
    - g_variant_is_of_type
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_backend_read_user_value (GSettingsBackend *backend,
      const gchar *key, const GVariantType *expected_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:111,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:112,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:119,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 122
    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:279,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettingsbackend.c:280,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsettingsbackend.c:278,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettingsbackend.c:281,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsbackend.c:282,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsbackend.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: g_settings_backend_invoke_closure
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_free
    - g_main_context_unref
    - g_object_unref
    - g_strfreev
    - g_slice_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:528,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:529,1
    - Dst: is_path
      Src: /src/glib/gio/gsettingsbackend.c:529,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:528,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:531,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - backend
    - path
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 535
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 535
    functionName: g_settings_backend_path_writable_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS_BACKEND
    - g_settings_backend_dispatch_signal
    - G_STRUCT_OFFSET
    - is_path
    - g_return_if_fail
    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:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 910
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 910
    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:307,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gsettingsbackend.c:317,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettingsbackend.c:321,1
    - Dst: g_main_context_ref
      Src: /src/glib/gio/gsettingsbackend.c:320,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gsettingsbackend.c:311,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsettingsbackend.c:322,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gio/gsettingsbackend.c:323,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsbackend.c:325,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gsettingsbackend.c:327,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gsettingsbackend.c:329,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsettingsbackend.c:331,1
    - Dst: g_settings_backend_invoke_closure
      Src: /src/glib/gio/gsettingsbackend.c:342,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gsettingsbackend.c:338,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gsettingsbackend.c:344,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: 346
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 346
    functionName: g_settings_backend_dispatch_signal
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_slist_delete_link
    - g_main_context_ref
    - g_strdupv
    - G_STRUCT_MEMBER
    - g_settings_backend_invoke_closure
    - g_steal_pointer
    - g_weak_ref_get
    - g_slist_prepend
    - g_mutex_unlock
    - g_slice_new
    - g_main_context_invoke
    - g_mutex_lock
    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:915,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gsettingsbackend.c:917,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 921
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 921
    functionName: g_settings_backend_finalize
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - G_OBJECT_CLASS
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_backend_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:92,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:93,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:100,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 103
    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_slice_new
      Src: /src/glib/gio/gsettingsbackend.c:244,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsettingsbackend.c:255,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/gsettingsbackend.c:247,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsettingsbackend.c:252,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gio/gsettingsbackend.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - backend
    - vtable
    - target
    - context
    argTypes:
    - GSettingsBackend*
    - GSettingsListenerVTable*
    - GObject*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 256
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 256
    functionName: g_settings_backend_watch
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_object_weak_ref
    - g_weak_ref_init
    - g_mutex_unlock
    - g_slice_new
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_watch (GSettingsBackend *backend, const GSettingsListenerVTable
      *vtable, GObject *target, GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gsettingsbackend.c:627,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gsettingsbackend.c:638,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsbackend.c:634,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:639,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: 644
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 644
    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:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 978
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 978
    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:1052,1
    - Dst: g_simple_permission_new
      Src: /src/glib/gio/gsettingsbackend.c:1057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - backend
    - path
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1058
    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_object_weak_unref
      Src: /src/glib/gio/gsettingsbackend.c:265,1
    - Dst: g_settings_backend_watch_weak_notify
      Src: /src/glib/gio/gsettingsbackend.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - target
    argTypes:
    - GSettingsBackend*
    - GObject*
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: g_settings_backend_unwatch
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_watch_weak_notify
    - g_object_weak_unref
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_unwatch (GSettingsBackend *backend, GObject
      *target) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:554,1
    - Dst: strrchr
      Src: /src/glib/gio/gsettingsbackend.c:563,1
    - Dst: is_key
      Src: /src/glib/gio/gsettingsbackend.c:554,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsbackend.c:562,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 597
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 597
    functionName: g_settings_backend_flatten_one
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_strdup
    - g_return_val_if_fail
    - is_key
    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:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 962
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 962
    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
      Src: /src/glib/gio/gsettingsbackend.c:1020,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettingsbackend.c:1031,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gsettingsbackend.c:1024,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gsettingsbackend.c:1028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1032
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1032
    functionName: g_settings_backend_get_default
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - _g_io_module_get_default
    - g_object_ref
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: GSettingsBackend*
    signature: 'GSettingsBackend *g_settings_backend_get_default (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:202,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:205,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:228,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:224,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gapplicationimpl-dbus.c:230,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:240,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gapplicationimpl-dbus.c:237,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:217,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:330,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:247,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/gapplicationimpl-dbus.c:322,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:187,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gapplicationimpl-dbus.c:198,1
    - Dst: g_application_get_flags
      Src: /src/glib/gio/gapplicationimpl-dbus.c:214,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:251,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:253,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:266,1
    - Dst: g_dbus_command_line_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:273,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:279,1
    - Dst: g_application_get_flags
      Src: /src/glib/gio/gapplicationimpl-dbus.c:263,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:317,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:326,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:292,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:195,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:189,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:200,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gapplicationimpl-dbus.c:238,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gapplicationimpl-dbus.c:244,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:250,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:274,1
    - Dst: g_application_command_line_set_exit_status
      Src: /src/glib/gio/gapplicationimpl-dbus.c:277,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:280,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gapplicationimpl-dbus.c:309,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:304,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:328,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationimpl-dbus.c:333,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gapplicationimpl-dbus.c:316,1
    - Dst: g_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:231,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplicationimpl-dbus.c:222,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:256,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gapplicationimpl-dbus.c:276,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gapplicationimpl-dbus.c:293,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplicationimpl-dbus.c:282,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gapplicationimpl-dbus.c:297,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gapplicationimpl-dbus.c:303,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:311,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gapplicationimpl-dbus.c:315,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:294,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:301,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 103
    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: 334
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 334
    functionName: g_application_impl_method_call
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_variant_get_child_value
    - g_variant_get_child
    - g_dbus_method_invocation_return_value
    - g_variant_iter_next
    - g_variant_get_type_string
    - G_APPLICATION_GET_CLASS
    - g_action_group_activate_action
    - g_dbus_command_line_new
    - g_object_unref
    - g_assert_not_reached
    - strcmp
    - g_dbus_method_invocation_return_error
    - g_action_group_query_action
    - g_application_command_line_set_exit_status
    - g_variant_unref
    - g_application_get_flags
    - g_variant_get
    - g_variant_iter_free
    - g_signal_emit_by_name
    - g_str_equal
    - g_free
    - g_file_new_for_uri
    - g_variant_n_children
    - g_new
    - g_variant_is_of_type
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gapplicationimpl-dbus.c:343,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gapplicationimpl-dbus.c:345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - appid
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 356
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 356
    functionName: application_path_from_appid
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *application_path_from_appid (const gchar *appid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_impl_stop_primary
      Src: /src/glib/gio/gapplicationimpl-dbus.c:373,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gapplicationimpl-dbus.c:374,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: 375
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 375
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 891
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_property_change
      Src: /src/glib/gio/gapplicationimpl-dbus.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - impl
    - busy
    argTypes:
    - GApplicationImpl*
    - gboolean
    constantsTouched: []
    func_position:
      end: 598
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 598
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_get_message
      Src: /src/glib/gio/gapplicationimpl-dbus.c:949,1
    - Dst: g_dbus_message_get_unix_fd_list
      Src: /src/glib/gio/gapplicationimpl-dbus.c:950,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:957,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gapplicationimpl-dbus.c:952,1
    - Dst: g_unix_fd_list_steal_fds
      Src: /src/glib/gio/gapplicationimpl-dbus.c:956,1
    - Dst: g_close
      Src: /src/glib/gio/gapplicationimpl-dbus.c:959,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:960,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 967
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 967
    functionName: g_dbus_command_line_get_stdin
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_unix_fd_list
    - g_unix_fd_list_get_length
    - g_close
    - g_free
    - g_dbus_method_invocation_get_message
    - g_unix_input_stream_new
    - g_unix_fd_list_steal_fds
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_dbus_command_line_get_stdin (GApplicationCommandLine
      *cmdline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_application_impl_stop_primary
      Src: /src/glib/gio/gapplicationimpl-dbus.c:603,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:608,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:606,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 611
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 611
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:972,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:979,1
    - Dst: g_application_command_line_get_exit_status
      Src: /src/glib/gio/gapplicationimpl-dbus.c:976,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:980,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:978,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:982,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 984
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 984
    functionName: g_dbus_command_line_finalize
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_application_command_line_get_exit_status
    - G_APPLICATION_COMMAND_LINE
    - g_object_unref
    - g_dbus_method_invocation_return_value
    - g_variant_new
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_command_line_finalize (GObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:545,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:557,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:563,1
    - Dst: g_dbus_connection_unexport_action_group
      Src: /src/glib/gio/gapplicationimpl-dbus.c:569,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gapplicationimpl-dbus.c:575,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:581,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:583,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 587
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 587
    functionName: g_application_impl_stop_primary
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_unexport_action_group
    - g_dbus_connection_unregister_object
    - G_APPLICATION_GET_CLASS
    - g_dbus_connection_call
    - g_variant_new
    - g_dbus_connection_signal_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void g_application_impl_stop_primary (GApplicationImpl *impl) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:413,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:465,1
    - Dst: g_dbus_connection_export_action_group
      Src: /src/glib/gio/gapplicationimpl-dbus.c:452,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:446,1
    - Dst: g_application_get_flags
      Src: /src/glib/gio/gapplicationimpl-dbus.c:487,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gapplicationimpl-dbus.c:527,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:397,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gapplicationimpl-dbus.c:412,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:415,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:421,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gapplicationimpl-dbus.c:465,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gapplicationimpl-dbus.c:491,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gapplicationimpl-dbus.c:507,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:513,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:519,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:520,1
    - Dst: g_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:411,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:414,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gapplicationimpl-dbus.c:420,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:440,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:423,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationimpl-dbus.c:469,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:512,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gapplicationimpl-dbus.c:409,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gapplicationimpl-dbus.c:417,1
    - Dst: g_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:419,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationimpl-dbus.c:464,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:422,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 3
    argNames:
    - impl
    - cancellable
    - error
    argTypes:
    - GApplicationImpl*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 532
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 532
    functionName: g_application_impl_attempt_primary
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_steal_pointer
    - g_propagate_error
    - g_return_val_if_fail
    - g_dbus_connection_register_object
    - G_APPLICATION_GET_CLASS
    - g_error
    - g_variant_new
    - g_dbus_connection_export_action_group
    - g_dbus_connection_signal_subscribe
    - g_application_get_flags
    - g_variant_unref
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - g_variant_get
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_assert
    - g_dbus_node_info_lookup_interface
    - g_dbus_connection_signal_unsubscribe
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_application_impl_attempt_primary (GApplicationImpl
      *impl, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:625,1
    - Dst: application_path_from_appid
      Src: /src/glib/gio/gapplicationimpl-dbus.c:647,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gapplicationimpl-dbus.c:636,1
    - Dst: g_application_impl_attempt_primary
      Src: /src/glib/gio/gapplicationimpl-dbus.c:654,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gapplicationimpl-dbus.c:627,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplicationimpl-dbus.c:656,1
    - Dst: g_application_impl_stop_primary
      Src: /src/glib/gio/gapplicationimpl-dbus.c:664,1
    - Dst: g_set_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:668,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplicationimpl-dbus.c:670,1
    - Dst: g_dbus_action_group_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:680,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:685,1
    - Dst: g_dbus_action_group_sync
      Src: /src/glib/gio/gapplicationimpl-dbus.c:681,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gapplicationimpl-dbus.c:690,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplicationimpl-dbus.c:684,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 7
    argNames:
    - application
    - appid
    - flags
    - exported_actions
    - remote_actions
    - cancellable
    - error
    argTypes:
    - GApplication*
    - gchar*
    - GApplicationFlags
    - GActionGroup*
    - GRemoteActionGroup**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 693
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 693
    functionName: g_application_impl_register
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_dbus_action_group_get
    - g_slice_new0
    - g_assert
    - G_REMOTE_ACTION_GROUP
    - g_bus_get_sync
    - g_application_impl_destroy
    - g_application_impl_attempt_primary
    - g_object_unref
    - g_application_impl_stop_primary
    - application_path_from_appid
    - g_dbus_action_group_sync
    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:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gapplicationimpl-dbus.c:718,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gapplicationimpl-dbus.c:722,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplicationimpl-dbus.c:723,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gapplicationimpl-dbus.c:719,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:718,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:724,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gapplicationimpl-dbus.c:726,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplicationimpl-dbus.c:727,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:728,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:730,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gapplicationimpl-dbus.c:735,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: 737
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 737
    functionName: g_application_impl_open
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_file_get_uri
    - g_free
    - g_variant_builder_close
    - g_dbus_connection_call
    - g_variant_builder_add
    - g_variant_builder_add_value
    - g_variant_builder_init
    - g_variant_builder_open
    linkageType: ''
    returnType: void
    signature: 'void g_application_impl_open (GApplicationImpl *impl, GFile **files,
      gint n_files, const gchar *hint, GVariant *platform_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:918,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - cmdline
    - message
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 924
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 924
    functionName: g_dbus_command_line_print_literal
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_command_line_print_literal (GApplicationCommandLine
      *cmdline, const gchar *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:699,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - impl
    - platform_data
    argTypes:
    - GApplicationImpl*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 706
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 706
    functionName: g_application_impl_activate
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'void g_application_impl_activate (GApplicationImpl *impl, GVariant
      *platform_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gapplicationimpl-dbus.c:751,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:755,1
    - Dst: g_print
      Src: /src/glib/gio/gapplicationimpl-dbus.c:754,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplicationimpl-dbus.c:756,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:753,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationimpl-dbus.c:758,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:760,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: 761
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 761
    functionName: g_application_impl_cmdline_method_call
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_variant_get_child
    - g_dbus_method_invocation_return_value
    - strcmp
    - g_print
    - g_printerr
    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: g_dbus_connection_call_with_unix_fd_list_finish
      Src: /src/glib/gio/gapplicationimpl-dbus.c:779,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gapplicationimpl-dbus.c:779,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gapplicationimpl-dbus.c:781,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gapplicationimpl-dbus.c:781,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:787,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:788,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplicationimpl-dbus.c:793,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:794,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gapplicationimpl-dbus.c:798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 799
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 799
    functionName: g_application_impl_cmdline_done
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - g_variant_unref
    - g_error_free
    - g_variant_get
    - g_dbus_connection_call_with_unix_fd_list_finish
    - g_main_loop_quit
    - g_dbus_connection_call_finish
    - g_printerr
    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: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_printerr_literal
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_command_line_printerr_literal (GApplicationCommandLine
      *cmdline, const gchar *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:144,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gapplicationimpl-dbus.c:145,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationimpl-dbus.c:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: g_application_impl_get_property
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_variant_new_boolean
    - strcmp
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gapplicationimpl-dbus.c:826,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:828,1
    - Dst: g_dbus_connection_call_with_unix_fd_list
      Src: /src/glib/gio/gapplicationimpl-dbus.c:850,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:836,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gapplicationimpl-dbus.c:865,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:827,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:853,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gapplicationimpl-dbus.c:847,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:861,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:868,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gapplicationimpl-dbus.c:816,1
    - Dst: g_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:825,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gapplicationimpl-dbus.c:823,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:815,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:832,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:846,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:855,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:852,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:860,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gapplicationimpl-dbus.c:867,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:814,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:829,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:848,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:858,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:869,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - impl
    - arguments
    - platform_data
    argTypes:
    - GApplicationImpl*
    - gchar**
    - GVariant*
    constantsTouched: []
    func_position:
      end: 872
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 872
    functionName: g_application_impl_command_line
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_with_unix_fd_list
    - g_dbus_node_info_new_for_xml
    - g_main_context_unref
    - g_main_loop_run
    - g_unix_fd_list_new
    - g_main_context_new
    - g_dbus_connection_register_object
    - g_unix_fd_list_append
    - g_error
    - g_object_unref
    - g_variant_new
    - g_main_context_push_thread_default
    - g_assert_no_error
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - g_main_loop_unref
    - g_main_loop_new
    - G_VARIANT_TYPE
    - g_dbus_connection_call
    - g_assert
    - g_dbus_node_info_lookup_interface
    - g_main_context_pop_thread_default
    linkageType: ''
    returnType: int
    signature: 'int g_application_impl_command_line (GApplicationImpl *impl, const
      gchar * const *arguments, GVariant *platform_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gdbcl
    argTypes:
    - GDBusCommandLine*
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 989
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gapplicationimpl-dbus.c:157,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplicationimpl-dbus.c:158,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:167,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gapplicationimpl-dbus.c:162,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gapplicationimpl-dbus.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: send_property_change
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_variant_builder_add
    - g_variant_builder_init
    - g_variant_new
    - g_dbus_connection_emit_signal
    linkageType: ''
    returnType: void
    signature: 'static void send_property_change (GApplicationImpl *impl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/gapplicationimpl-dbus.c:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 879
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 879
    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:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationCommandLineClass*
    constantsTouched: []
    func_position:
      end: 1000
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1000
    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:1009,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1011,1
    - Dst: g_dbus_command_line_get_type
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1013,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1012,1
    - Dst: g_object_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1013,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1017,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1018,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1020,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1021,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1022,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1023,1
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1025,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1026
    functionName: g_dbus_command_line_new
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    - G_APPLICATION_COMMAND_LINE
    - g_variant_get_child_value
    - g_variant_unref
    - g_dbus_method_invocation_get_parameters
    - g_dbus_command_line_get_type
    - g_dbus_method_invocation_get_connection
    - g_variant_get_child
    - g_dbus_method_invocation_get_sender
    linkageType: ''
    returnType: GApplicationCommandLine*
    signature: 'static GApplicationCommandLine *g_dbus_command_line_new (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gapplicationcommandline.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cmdline
    - message
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gapplicationcommandline.c:631,1
    - Dst: strncmp
      Src: /src/glib/gio/gapplicationcommandline.c:637,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - cmdline
    - name
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 642
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 642
    functionName: g_application_command_line_getenv
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_command_line_getenv (GApplicationCommandLine
      *cmdline, const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:718,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:718,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gapplicationcommandline.c:722,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:719,1
    - Dst: va_start
      Src: /src/glib/gio/gapplicationcommandline.c:721,1
    - Dst: va_end
      Src: /src/glib/gio/gapplicationcommandline.c:723,1
    - Dst: G_APPLICATION_COMMAND_LINE_GET_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:725,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationcommandline.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cmdline
    - format
    - '...'
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 728
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 728
    functionName: g_application_command_line_printerr
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - G_IS_APPLICATION_COMMAND_LINE
    - va_start
    - G_APPLICATION_COMMAND_LINE_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_command_line_printerr (GApplicationCommandLine
      *cmdline, const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/gapplicationcommandline.c:300,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/gapplicationcommandline.c:302,1
    - Dst: GetStdHandle
      Src: /src/glib/gio/gapplicationcommandline.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: g_application_command_line_real_get_stdin
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_unix_input_stream_new
    - g_win32_input_stream_new
    - GetStdHandle
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_application_command_line_real_get_stdin (GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE_GET_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 604
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 604
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:683,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gapplicationcommandline.c:687,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:684,1
    - Dst: va_start
      Src: /src/glib/gio/gapplicationcommandline.c:686,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:683,1
    - Dst: va_end
      Src: /src/glib/gio/gapplicationcommandline.c:688,1
    - Dst: G_APPLICATION_COMMAND_LINE_GET_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:690,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationcommandline.c:692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cmdline
    - format
    - '...'
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 693
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 693
    functionName: g_application_command_line_print
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - G_IS_APPLICATION_COMMAND_LINE
    - va_start
    - G_APPLICATION_COMMAND_LINE_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_command_line_print (GApplicationCommandLine *cmdline,
      const gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:838,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gapplicationcommandline.c:846,1
    - Dst: g_file_new_for_commandline_arg_and_cwd
      Src: /src/glib/gio/gapplicationcommandline.c:841,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplicationcommandline.c:843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cmdline
    - arg
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 847
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 847
    functionName: g_application_command_line_create_file_for_arg
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_file_new_for_commandline_arg
    - g_file_new_for_commandline_arg_and_cwd
    - g_warning
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_application_command_line_create_file_for_arg (GApplicationCommandLine
      *cmdline, const gchar *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_REMOTE
      Src: /src/glib/gio/gapplicationcommandline.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 658
    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:763,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cmdline
    - exit_status
    argTypes:
    - GApplicationCommandLine*
    - int
    constantsTouched: []
    func_position:
      end: 766
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 766
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:312,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gapplicationcommandline.c:321,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gapplicationcommandline.c:317,1
    - Dst: IS_REMOTE
      Src: /src/glib/gio/gapplicationcommandline.c:325,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gapplicationcommandline.c:325,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationcommandline.c:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 331
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 331
    functionName: g_application_command_line_get_property
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - G_APPLICATION_COMMAND_LINE
    - g_assert_not_reached
    - IS_REMOTE
    - g_value_set_variant
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:368,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/gapplicationcommandline.c:371,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationcommandline.c:377,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationcommandline.c:379,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationcommandline.c:374,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationcommandline.c:381,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplicationcommandline.c:382,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 386
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 386
    functionName: g_application_command_line_finalize
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_free
    - G_APPLICATION_COMMAND_LINE
    - g_variant_unref
    - g_strfreev
    - g_variant_dict_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:810,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:810,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gapplicationcommandline.c:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 816
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 816
    functionName: g_application_command_line_get_platform_data
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - G_IS_APPLICATION_COMMAND_LINE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_application_command_line_get_platform_data (GApplicationCommandLine
      *cmdline) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:339,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationcommandline.c:344,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationcommandline.c:349,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gapplicationcommandline.c:345,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gapplicationcommandline.c:350,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationcommandline.c:354,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gapplicationcommandline.c:355,1
    - Dst: grok_platform_data
      Src: /src/glib/gio/gapplicationcommandline.c:357,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationcommandline.c:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 363
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 363
    functionName: g_application_command_line_set_property
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_value_dup_variant
    - g_assert
    - G_APPLICATION_COMMAND_LINE
    - g_assert_not_reached
    - grok_platform_data
    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:
    - Dst: g_application_command_line_get_instance_private
      Src: /src/glib/gio/gapplicationcommandline.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:782,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 785
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 785
    functionName: g_application_command_line_get_exit_status
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION_COMMAND_LINE
    - g_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: 'int g_application_command_line_get_exit_status (GApplicationCommandLine
      *cmdline) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gapplicationcommandline.c:259,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gapplicationcommandline.c:261,1
    - Dst: g_variant_dup_bytestring
      Src: /src/glib/gio/gapplicationcommandline.c:265,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gapplicationcommandline.c:262,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationcommandline.c:262,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationcommandline.c:268,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gapplicationcommandline.c:268,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/gio/gapplicationcommandline.c:272,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationcommandline.c:275,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gapplicationcommandline.c:275,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gapplicationcommandline.c:278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 280
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 280
    functionName: grok_platform_data
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - g_variant_iter_init
    - g_variant_dup_bytestring_array
    - g_variant_ref
    - strcmp
    - g_variant_dup_bytestring
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void grok_platform_data (GApplicationCommandLine *cmdline) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:397,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gapplicationcommandline.c:407,1
    - Dst: IS_REMOTE
      Src: /src/glib/gio/gapplicationcommandline.c:399,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gapplicationcommandline.c:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 408
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 408
    functionName: g_application_command_line_constructed
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_get_current_dir
    - G_APPLICATION_COMMAND_LINE
    - IS_REMOTE
    - g_get_environ
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_constructed (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:519,1
    - Dst: g_variant_dict_new
      Src: /src/glib/gio/gapplicationcommandline.c:522,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 525
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 525
    functionName: g_application_command_line_get_options_dict
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION_COMMAND_LINE
    - g_return_val_if_fail
    - g_variant_dict_new
    linkageType: ''
    returnType: GVariantDict*
    signature: 'GVariantDict *g_application_command_line_get_options_dict (GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gapplicationcommandline.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cmdline
    - message
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    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_OBJECT_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:413,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplicationcommandline.c:424,1
    - Dst: P_
      Src: /src/glib/gio/gapplicationcommandline.c:427,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gapplicationcommandline.c:425,1
    - Dst: P_
      Src: /src/glib/gio/gapplicationcommandline.c:426,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplicationcommandline.c:432,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gapplicationcommandline.c:433,1
    - Dst: P_
      Src: /src/glib/gio/gapplicationcommandline.c:434,1
    - Dst: P_
      Src: /src/glib/gio/gapplicationcommandline.c:435,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplicationcommandline.c:439,1
    - Dst: P_
      Src: /src/glib/gio/gapplicationcommandline.c:441,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationcommandline.c:443,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gapplicationcommandline.c:448,1
    - Dst: P_
      Src: /src/glib/gio/gapplicationcommandline.c:450,1
    - Dst: P_
      Src: /src/glib/gio/gapplicationcommandline.c:442,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplicationcommandline.c:447,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gapplicationcommandline.c:440,1
    - Dst: P_
      Src: /src/glib/gio/gapplicationcommandline.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationCommandLineClass*
    constantsTouched: []
    func_position:
      end: 453
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 453
    functionName: g_application_command_line_class_init
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_VARIANT_TYPE
    - g_param_spec_boolean
    - g_param_spec_variant
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_class_init (GApplicationCommandLineClass
      *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:485,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:485,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/gio/gapplicationcommandline.c:487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - cmdline
    - argc
    argTypes:
    - GApplicationCommandLine*
    - int*
    constantsTouched: []
    func_position:
      end: 493
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 493
    functionName: g_application_command_line_get_arguments
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION_COMMAND_LINE
    - g_return_val_if_fail
    - g_variant_dup_bytestring_array
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_application_command_line_get_arguments (GApplicationCommandLine
      *cmdline, int *argc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:70,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusobjectproxy.c:78,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusobjectproxy.c:72,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectproxy.c:76,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusobjectproxy.c:74,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectproxy.c:80,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectproxy.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: g_dbus_object_proxy_finalize
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_unref
    - g_clear_object
    - G_DBUS_OBJECT_PROXY
    - g_mutex_clear
    - G_OBJECT_CLASS
    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:185,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusobjectproxy.c:186,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectproxy.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusObjectProxy*
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: g_dbus_object_proxy_init
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_dbus_object_proxy_get_instance_private
    - g_mutex_init
    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:116,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusobjectproxy.c:122,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:123,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:121,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:127,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusobjectproxy.c:128,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:129,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectproxy.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 136
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 136
    functionName: g_dbus_object_proxy_set_property
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_value_dup_object
    - G_DBUS_OBJECT_PROXY
    - g_mutex_unlock
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_mutex_lock
    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:219,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:219,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:220,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusObjectProxy*
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: g_dbus_object_proxy_get_connection
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_return_val_if_fail
    - G_IS_DBUS_OBJECT_PROXY
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_object_proxy_get_connection (GDBusObjectProxy
      *proxy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectproxy.c:318,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:297,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:305,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectproxy.c:306,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectproxy.c:321,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectproxy.c:309,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:296,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:299,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectproxy.c:302,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:310,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:311,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectproxy.c:308,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:296,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:297,1
    - Dst: g_dbus_proxy_get_interface_name
      Src: /src/glib/gio/gdbusobjectproxy.c:301,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:306,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectproxy.c:322,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectproxy.c:317,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - proxy
    - interface_proxy
    argTypes:
    - GDBusObjectProxy*
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 323
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 323
    functionName: _g_dbus_object_proxy_add_interface
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_strdup
    - g_object_ref
    - g_warn_if_fail
    - g_hash_table_insert
    - g_hash_table_remove
    - G_IS_DBUS_OBJECT_PROXY
    - g_object_unref
    - g_mutex_unlock
    - G_IS_DBUS_PROXY
    - g_dbus_proxy_get_interface_name
    - g_hash_table_lookup
    - g_mutex_lock
    - g_return_if_fail
    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:90,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusobjectproxy.c:101,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusobjectproxy.c:96,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:97,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:95,1
    - Dst: g_dbus_object_proxy_get_connection
      Src: /src/glib/gio/gdbusobjectproxy.c:101,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectproxy.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: g_dbus_object_proxy_get_property
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_dbus_object_proxy_get_connection
    - G_DBUS_OBJECT_PROXY
    - g_mutex_unlock
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_mutex_lock
    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:141,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectproxy.c:171,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectproxy.c:156,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusobjectproxy.c:173,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectproxy.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusObjectProxyClass*
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: g_dbus_object_proxy_class_init
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_string
    - g_param_spec_object
    - 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:196,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:198,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: g_dbus_object_proxy_get_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - G_DBUS_OBJECT_PROXY
    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:230,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:234,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:233,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:233,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectproxy.c:234,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:236,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectproxy.c:237,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:239,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - object
    - interface_name
    argTypes:
    - GDBusObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: g_dbus_object_proxy_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_DBUS_OBJECT_PROXY
    - g_dbus_is_interface_name
    - G_DBUS_OBJECT_PROXY
    - g_hash_table_lookup
    - g_mutex_unlock
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusInterface*
    signature: 'static GDBusInterface *g_dbus_object_proxy_get_interface (GDBusObject
      *object, const gchar *interface_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:281,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:282,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectproxy.c:281,1
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:283,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectproxy.c:282,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusobjectproxy.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - connection
    - object_path
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: g_dbus_object_proxy_new
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_variant_is_object_path
    - G_DBUS_OBJECT_PROXY
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusObjectProxy*
    signature: 'GDBusObjectProxy *g_dbus_object_proxy_new (GDBusConnection *connection,
      const gchar *object_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:331,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:331,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:334,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:332,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectproxy.c:332,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectproxy.c:336,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:339,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:340,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectproxy.c:340,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:341,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:347,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectproxy.c:343,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectproxy.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - proxy
    - interface_name
    argTypes:
    - GDBusObjectProxy*
    - gchar*
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: _g_dbus_object_proxy_remove_interface
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_object_ref
    - g_warn_if_fail
    - g_hash_table_remove
    - G_IS_DBUS_OBJECT_PROXY
    - g_dbus_is_interface_name
    - g_object_unref
    - g_mutex_unlock
    - g_hash_table_lookup
    - g_mutex_lock
    - g_return_if_fail
    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: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    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_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:248,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:251,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusobjectproxy.c:256,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:251,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:255,1
    - Dst: g_list_foreach
      Src: /src/glib/gio/gdbusobjectproxy.c:257,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 261
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 261
    functionName: g_dbus_object_proxy_get_interfaces
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_hash_table_get_values
    - G_IS_DBUS_OBJECT_PROXY
    - G_DBUS_OBJECT_PROXY
    - g_mutex_unlock
    - g_list_foreach
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_dbus_object_proxy_get_interfaces (GDBusObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusnameowning.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    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:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnameowning.c:395,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:397,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:406,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:400,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:399,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: 407
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 407
    functionName: on_connection_disconnected
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - call_lost_handler
    - g_dbus_connection_signal_unsubscribe
    - g_object_unref
    - g_signal_handler_disconnect
    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/gdbusnameowning.c:547,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusnameowning.c:547,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusnameowning.c:548,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusnameowning.c:548,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnameowning.c:548,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:550,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnameowning.c:552,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnameowning.c:555,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnameowning.c:561,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnameowning.c:563,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusnameowning.c:567,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusnameowning.c:569,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnameowning.c:570,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:573,1
    - Dst: has_connection
      Src: /src/glib/gio/gdbusnameowning.c:575,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: 578
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 578
    functionName: g_bus_own_name_on_connection
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_new0
    - G_LOCK
    - has_connection
    - g_hash_table_insert
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_main_context_ref_thread_default
    - g_hash_table_new
    - g_dbus_is_name
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_dbus_is_unique_name
    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:96,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:106,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:103,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnameowning.c:101,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:105,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusnameowning.c:108,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnameowning.c:109,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnameowning.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: client_unref
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_main_context_unref
    - g_object_unref
    - g_dbus_connection_signal_unsubscribe
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void client_unref (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnameowning.c:190,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusnameowning.c:196,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnameowning.c:192,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusnameowning.c:195,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:191,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusnameowning.c:197,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusnameowning.c:201,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusnameowning.c:202,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusnameowning.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - client
    - call_type
    argTypes:
    - Client*
    - CallType
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: schedule_call_in_idle
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    - g_source_unref
    - g_idle_source_new
    - client_ref
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: void
    signature: 'static void schedule_call_in_idle (Client *client, CallType call_type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusnameowning.c:320,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusnameowning.c:326,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnameowning.c:325,1
    - Dst: call_acquired_handler
      Src: /src/glib/gio/gdbusnameowning.c:335,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusnameowning.c:320,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:340,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:348,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:363,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnameowning.c:365,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:366,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:377,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:373,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnameowning.c:381,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:371,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 382
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 382
    functionName: request_name_cb
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_LOCK
    - call_lost_handler
    - client_unref
    - call_acquired_handler
    - g_variant_unref
    - g_dbus_connection_call_finish
    - G_UNLOCK
    - g_variant_get
    - g_object_unref
    - G_DBUS_CONNECTION
    - g_dbus_connection_signal_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void request_name_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:142,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnameowning.c:143,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnameowning.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - CallHandlerData*
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: call_handler_data_free
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - client_unref
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void call_handler_data_free (CallHandlerData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:742,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnameowning.c:748,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnameowning.c:746,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:745,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnameowning.c:743,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:750,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 752
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 752
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:782,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnameowning.c:788,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnameowning.c:786,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnameowning.c:783,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:785,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:790,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 792
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 792
    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:876,1
    - Dst: own_name_data_new
      Src: /src/glib/gio/gdbusnameowning.c:881,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: 885
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 885
    functionName: g_bus_own_name_on_connection_with_closures
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - own_name_data_new
    - g_bus_own_name_on_connection
    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:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - client
    - connection
    - call_type
    argTypes:
    - Client*
    - GDBusConnection*
    - CallType
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 174
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnameowning.c:705,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnameowning.c:710,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnameowning.c:711,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnameowning.c:712,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnameowning.c:709,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnameowning.c:717,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnameowning.c:718,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnameowning.c:719,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnameowning.c:720,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnameowning.c:725,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnameowning.c:728,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnameowning.c:727,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnameowning.c:726,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - bus_acquired_closure
    - name_acquired_closure
    - name_lost_closure
    argTypes:
    - GClosure*
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 732
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 732
    functionName: own_name_data_new
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_closure_set_marshal
    - g_new0
    - g_closure_ref
    - g_closure_sink
    - 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:762,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnameowning.c:768,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnameowning.c:766,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:765,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnameowning.c:763,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:770,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 772
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 772
    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_closure_unref
      Src: /src/glib/gio/gdbusnameowning.c:800,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnameowning.c:808,1
    - Dst: g_closure_unref
      Src: /src/glib/gio/gdbusnameowning.c:806,1
    - Dst: g_closure_unref
      Src: /src/glib/gio/gdbusnameowning.c:803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 809
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 809
    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:658,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusnameowning.c:658,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnameowning.c:662,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:660,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusnameowning.c:658,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnameowning.c:665,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnameowning.c:672,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusnameowning.c:676,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusnameowning.c:678,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnameowning.c:679,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:687,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:685,1
    - Dst: g_bus_get
      Src: /src/glib/gio/gdbusnameowning.c:682,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: 690
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 690
    functionName: g_bus_own_name
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_main_context_ref_thread_default
    - g_hash_table_new
    - g_dbus_is_name
    - g_bus_get
    - client_ref
    - g_return_val_if_fail
    - g_dbus_is_unique_name
    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:839,1
    - Dst: own_name_data_new
      Src: /src/glib/gio/gdbusnameowning.c:845,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: 849
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 849
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:242,1
    - Dst: do_call
      Src: /src/glib/gio/gdbusnameowning.c:249,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:253,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: call_lost_handler
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - do_call
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void call_lost_handler (Client *client) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusnameowning.c:907,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusnameowning.c:913,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusnameowning.c:971,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusnameowning.c:958,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnameowning.c:950,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:980,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:986,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:911,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusnameowning.c:920,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnameowning.c:920,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnameowning.c:957,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusnameowning.c:944,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnameowning.c:990,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusnameowning.c:949,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnameowning.c:976,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:978,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnameowning.c:915,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnameowning.c:913,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusnameowning.c:920,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:923,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/gdbusnameowning.c:931,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnameowning.c:962,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnameowning.c:965,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 1
    argNames:
    - owner_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 992
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 992
    functionName: g_bus_unown_name
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_object_unref
    - g_variant_new
    - g_dbus_connection_is_closed
    - client_unref
    - g_warn_if_fail
    - g_error_free
    - g_hash_table_remove
    - g_variant_get
    - g_warning
    - g_variant_unref
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - G_LOCK
    - G_UNLOCK
    - g_hash_table_lookup
    - g_dbus_connection_signal_unsubscribe
    - g_signal_handler_disconnect
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_bus_unown_name (guint owner_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnameowning.c:212,1
    - Dst: actually_do_call
      Src: /src/glib/gio/gdbusnameowning.c:216,1
    - Dst: schedule_call_in_idle
      Src: /src/glib/gio/gdbusnameowning.c:214,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusnameowning.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - client
    - call_type
    argTypes:
    - Client*
    - CallType
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: do_call
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_main_context_ref_thread_default
    - g_main_context_unref
    - actually_do_call
    - schedule_call_in_idle
    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:415,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusnameowning.c:417,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusnameowning.c:432,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusnameowning.c:443,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:440,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:451,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusnameowning.c:456,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusnameowning.c:461,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnameowning.c:464,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 470
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 470
    functionName: has_connection
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_signal_connect
    - g_dbus_connection_call
    - G_CALLBACK
    - g_variant_new
    - client_ref
    - g_dbus_connection_signal_subscribe
    linkageType: ''
    returnType: void
    signature: 'static void has_connection (Client *client) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:223,1
    - Dst: do_call
      Src: /src/glib/gio/gdbusnameowning.c:230,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:229,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: call_acquired_handler
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - do_call
    - G_UNLOCK
    - 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:481,1
    - Dst: g_bus_get_finish
      Src: /src/glib/gio/gdbusnameowning.c:489,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:487,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:484,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:492,1
    - Dst: has_connection
      Src: /src/glib/gio/gdbusnameowning.c:510,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnameowning.c:513,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 514
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 514
    functionName: connection_get_cb
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_bus_get_finish
    - G_LOCK
    - call_lost_handler
    - has_connection
    - client_unref
    - G_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'static void connection_get_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:272,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:274,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:273,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusnameowning.c:277,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnameowning.c:277,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnameowning.c:279,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusnameowning.c:280,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:284,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnameowning.c:286,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:287,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnameowning.c:294,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:295,1
    - Dst: call_acquired_handler
      Src: /src/glib/gio/gdbusnameowning.c:297,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:289,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:292,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: 302
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 302
    functionName: on_name_lost_or_acquired
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_get_type_string
    - g_strcmp0
    - call_lost_handler
    - call_acquired_handler
    - g_variant_get
    - g_warning
    - g_variant_is_of_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:335,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:332,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/gapplication.c:335,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:337,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: 339
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 339
    functionName: g_application_exported_actions_activate_action_full
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_APPLICATION_GET_CLASS
    - g_action_group_activate_action
    - G_ACTION_GROUP
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2192,1
    - Dst: g_application_impl_register
      Src: /src/glib/gio/gapplication.c:2200,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2192,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2212,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2212,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:2216,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:2219,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gapplication.c:2221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - application
    - cancellable
    - error
    argTypes:
    - GApplication*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2226
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2226
    functionName: g_application_register
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_impl_register
    - G_OBJECT
    - g_critical
    - g_object_notify
    - g_signal_emit
    - G_OBJECT_TYPE_NAME
    - g_return_val_if_fail
    - G_IS_APPLICATION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_application_register (GApplication *application, GCancellable
      *cancellable, GError **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_get_command_line
      Src: /src/glib/gio/gapplication.c:2469,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2462,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gapplication.c:2480,1
    - Dst: memmove
      Src: /src/glib/gio/gapplication.c:2489,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gapplication.c:2508,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:2510,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:2522,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gapplication.c:2531,1
    - Dst: g_main_context_acquire
      Src: /src/glib/gio/gapplication.c:2537,1
    - Dst: g_new
      Src: /src/glib/gio/gapplication.c:2520,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2463,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:2487,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/gapplication.c:2527,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplication.c:2541,1
    - Dst: g_application_register
      Src: /src/glib/gio/gapplication.c:2550,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplication.c:2560,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/gapplication.c:2568,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gapplication.c:2587,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2596,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplication.c:2600,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:2585,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gapplication.c:2607,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2461,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2461,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gapplication.c:2532,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplication.c:2553,1
    - Dst: g_application_call_command_line
      Src: /src/glib/gio/gapplication.c:2557,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gapplication.c:2576,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2596,1
    - Dst: g_application_impl_flush
      Src: /src/glib/gio/gapplication.c:2599,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:2545,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication.c:2552,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:2540,1
    - Dst: g_new
      Src: /src/glib/gio/gapplication.c:2505,1
    - Dst: g_main_context_default
      Src: /src/glib/gio/gapplication.c:2536,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:2533,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:2582,1
    - Dst: g_settings_sync
      Src: /src/glib/gio/gapplication.c:2604,1
    - Dst: g_main_context_release
      Src: /src/glib/gio/gapplication.c:2610,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 109
    argCount: 3
    argNames:
    - application
    - argc
    - argv
    argTypes:
    - GApplication*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2613
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2613
    functionName: g_application_run
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_application_impl_flush
    - g_settings_sync
    - g_path_get_basename
    - g_get_prgname
    - g_win32_get_command_line
    - g_main_context_default
    - memmove
    - g_strfreev
    - g_timeout_add
    - g_return_val_if_fail
    - G_APPLICATION_GET_CLASS
    - g_application_register
    - g_application_call_command_line
    - g_str_has_prefix
    - g_object_notify
    - G_IS_APPLICATION
    - g_main_context_acquire
    - g_error_free
    - g_critical
    - g_main_context_iteration
    - G_OBJECT_TYPE_NAME
    - g_strv_length
    - g_printerr
    - g_strdup
    - g_free
    - g_set_prgname
    - g_main_context_release
    - g_application_impl_destroy
    - g_new
    - g_signal_emit
    linkageType: ''
    returnType: int
    signature: 'int g_application_run (GApplication *application, int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:397,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:411,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplication.c:402,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gapplication.c:413,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 414
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 414
    functionName: free_option_entry
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_strfreev
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_option_entry (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2138,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2139,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2138,1
    - Dst: g_application_impl_get_dbus_object_path
      Src: /src/glib/gio/gapplication.c:2141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2142
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2142
    functionName: g_application_get_dbus_object_path
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_impl_get_dbus_object_path
    - g_return_val_if_fail
    - G_IS_APPLICATION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_get_dbus_object_path (GApplication *application) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2348,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2351,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2349,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2348,1
    - Dst: g_application_impl_open
      Src: /src/glib/gio/gapplication.c:2354,1
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:2356,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:2359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - application
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 2361
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2361
    functionName: g_application_open
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - get_platform_data
    - g_signal_emit
    - g_application_impl_open
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_open (GApplication *application, GFile **files,
      gint n_files, const gchar *hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gapplication.c:380,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:383,1
    - Dst: g_application_exported_actions_get_type
      Src: /src/glib/gio/gapplication.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: g_application_exported_actions_new
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_exported_actions_get_type
    - g_object_new
    - G_ACTION_GROUP
    linkageType: ''
    returnType: GActionGroup*
    signature: 'static GActionGroup *g_application_exported_actions_new (GApplication
      *application) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1278,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1279,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1278,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1282,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gapplication.c:1287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - application
    - action_group
    argTypes:
    - GApplication*
    - GActionGroup*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1288
    functionName: g_application_set_action_group
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_unref
    - G_IS_APPLICATION
    - 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:2106,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2107,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2106,1
    - Dst: g_application_impl_get_dbus_connection
      Src: /src/glib/gio/gapplication.c:2109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2110
    functionName: g_application_get_dbus_connection
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_impl_get_dbus_connection
    - g_return_val_if_fail
    - G_IS_APPLICATION
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_application_get_dbus_connection (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2907,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2910
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2910
    functionName: g_application_get_is_busy
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_application_get_is_busy (GApplication *application) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2881,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2881,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2889,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2882,1
    - Dst: g_application_impl_set_busy_state
      Src: /src/glib/gio/gapplication.c:2888,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2891
      start: 2878
    functionDepth: 0
    functionLinenumber: 2878
    functionLinenumberEnd: 2891
    functionName: g_application_unmark_busy
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - g_application_impl_set_busy_state
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_unmark_busy (GApplication *application) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1226,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gapplication.c:1236,1
    - Dst: g_application_set_flags
      Src: /src/glib/gio/gapplication.c:1236,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gapplication.c:1232,1
    - Dst: g_application_set_application_id
      Src: /src/glib/gio/gapplication.c:1231,1
    - Dst: g_application_set_resource_base_path
      Src: /src/glib/gio/gapplication.c:1240,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gapplication.c:1240,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/gapplication.c:1244,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gapplication.c:1245,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gapplication.c:1249,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplication.c:1254,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gapplication.c:1250,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1256
    functionName: g_application_set_property
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - g_value_get_string
    - g_application_set_flags
    - g_value_dup_object
    - g_value_get_uint
    - g_clear_object
    - g_assert_not_reached
    - G_APPLICATION
    - g_application_set_resource_base_path
    - g_value_get_flags
    - g_application_set_application_id
    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:2075,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2076,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2079
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2079
    functionName: g_application_get_is_remote
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_application_get_is_remote (GApplication *application) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2672,1
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:2680,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2676,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2674,1
    - Dst: g_remote_action_group_change_action_state_full
      Src: /src/glib/gio/gapplication.c:2679,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/gapplication.c:2683,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - action_group
    - action_name
    - value
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2684
      start: 2667
    functionDepth: 0
    functionLinenumber: 2667
    functionLinenumberEnd: 2684
    functionName: g_application_change_action_state
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - get_platform_data
    - g_action_group_change_action_state
    - g_remote_action_group_change_action_state_full
    - G_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_application_change_action_state (GActionGroup *action_group,
      const gchar *action_name, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2797
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2797
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2691,1
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:2699,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2695,1
    - Dst: g_remote_action_group_activate_action_full
      Src: /src/glib/gio/gapplication.c:2698,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2693,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/gapplication.c:2702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - action_group
    - action_name
    - parameter
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2703
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2703
    functionName: g_application_activate_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - get_platform_data
    - g_action_group_activate_action
    - G_APPLICATION
    - g_remote_action_group_activate_action_full
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_application_activate_action (GActionGroup *action_group,
      const gchar *action_name, GVariant *parameter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2778
      start: 2774
    functionDepth: 0
    functionLinenumber: 2774
    functionLinenumberEnd: 2778
    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: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3000,1
    - Dst: g_notification_backend_new_default
      Src: /src/glib/gio/gapplication.c:3004,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3001,1
    - Dst: g_notification_backend_withdraw_notification
      Src: /src/glib/gio/gapplication.c:3006,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:3000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - application
    - id
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3007
      start: 2996
    functionDepth: 0
    functionLinenumber: 2996
    functionLinenumberEnd: 3007
    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_if_fail
      Src: /src/glib/gio/gapplication.c:895,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:895,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:898,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - application
    - summary
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 899
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 899
    functionName: g_application_set_option_context_summary
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - G_IS_APPLICATION
    - 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_APPLICATION
      Src: /src/glib/gio/gapplication.c:2731,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2735,1
    - Dst: g_action_map_remove_action
      Src: /src/glib/gio/gapplication.c:2735,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2733,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - action_map
    - action_name
    argTypes:
    - GActionMap*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2736
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2736
    functionName: g_application_remove_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_action_map_remove_action
    - G_IS_ACTION_MAP
    - G_ACTION_MAP
    - G_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_application_remove_action (GActionMap *action_map, const
      gchar *action_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2956,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2957,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gapplication.c:2957,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2956,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2958,1
    - Dst: g_application_get_is_registered
      Src: /src/glib/gio/gapplication.c:2958,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2959,1
    - Dst: g_application_get_is_remote
      Src: /src/glib/gio/gapplication.c:2959,1
    - Dst: g_notification_backend_new_default
      Src: /src/glib/gio/gapplication.c:2962,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/gapplication.c:2966,1
    - Dst: g_notification_backend_send_notification
      Src: /src/glib/gio/gapplication.c:2970,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:2972,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - application
    - id
    - notification
    argTypes:
    - GApplication*
    - gchar*
    - GNotification*
    constantsTouched: []
    func_position:
      end: 2973
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 2973
    functionName: g_application_send_notification
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_free
    - g_notification_backend_send_notification
    - g_dbus_generate_guid
    - g_application_get_is_remote
    - G_IS_NOTIFICATION
    - g_application_get_is_registered
    - G_IS_APPLICATION
    - g_notification_backend_new_default
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_send_notification (GApplication *application, const
      gchar *id, GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 2745
      start: 2738
    functionDepth: 0
    functionLinenumber: 2738
    functionLinenumberEnd: 2745
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_application_unmark_busy
      Src: /src/glib/gio/gapplication.c:3024,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gapplication.c:3027,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:3026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 3028
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3028
    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_if_fail
      Src: /src/glib/gio/gapplication.c:873,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:875,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:873,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - application
    - parameter_string
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 877
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 877
    functionName: g_application_set_option_context_parameter_string
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - G_IS_APPLICATION
    - 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
    - builder
    argTypes:
    - GApplication*
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1194
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1364,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplication.c:1373,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:1367,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplication.c:1380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1381
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1381
    functionName: g_application_dispose
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_APPLICATION
    - G_OBJECT_CLASS
    - G_APPLICATION_GET_CLASS
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void g_application_dispose (GObject *object) '
  - 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: 1203
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1203
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_application_set_default
      Src: /src/glib/gio/gapplication.c:1408,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1405,1
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1386,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1411,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1416,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gapplication.c:1413,1
    - Dst: g_option_group_unref
      Src: /src/glib/gio/gapplication.c:1393,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gapplication.c:1391,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1398,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gapplication.c:1401,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplication.c:1404,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gapplication.c:1389,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gapplication.c:1395,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1399,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplication.c:1420,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1418,1
    - Dst: g_application_get_default
      Src: /src/glib/gio/gapplication.c:1407,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1422
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1422
    functionName: g_application_finalize
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_free
    - g_application_set_default
    - g_source_remove
    - g_clear_object
    - g_application_impl_destroy
    - g_object_unref
    - g_slist_free_full
    - G_APPLICATION
    - g_application_get_default
    - g_option_group_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_application_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:1868,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 1871
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1871
    functionName: g_application_get_flags
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION
    linkageType: ''
    returnType: GApplicationFlags
    signature: 'GApplicationFlags g_application_get_flags (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionMapInterface*
    constantsTouched: []
    func_position:
      end: 2753
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2753
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1839,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1843,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gapplication.c:1841,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/gapplication.c:1843,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1839,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1844,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1846,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:1847,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:1849,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:1849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - application
    - application_id
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1851
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1851
    functionName: g_application_set_application_id
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_free
    - g_application_id_is_valid
    - g_strcmp0
    - g_object_notify
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_application_id (GApplication *application,
      const gchar *application_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - application
    - platform_data
    argTypes:
    - GApplication*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 930
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 930
    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_val_if_fail
      Src: /src/glib/gio/gapplication.c:1997,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2000
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2000
    functionName: g_application_get_inactivity_timeout
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION
    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:917,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:920,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:919,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - application
    - description
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 922
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 922
    functionName: g_application_set_option_context_description
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - G_IS_APPLICATION
    - 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_return_if_fail
      Src: /src/glib/gio/gapplication.c:1968,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gapplication.c:1971,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gapplication.c:1969,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1968,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1969,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1973,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:1975,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:1977,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:1977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - application
    - resource_path
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1964
    functionDepth: 0
    functionLinenumber: 1964
    functionLinenumberEnd: 1979
    functionName: g_application_set_resource_base_path
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_free
    - g_strcmp0
    - g_str_has_prefix
    - g_object_notify
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_resource_base_path (GApplication *application,
      const gchar *resource_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2709,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2713,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2711,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2711,1
    - Dst: g_action_map_lookup_action
      Src: /src/glib/gio/gapplication.c:2713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - action_map
    - action_name
    argTypes:
    - GActionMap*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2714
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2714
    functionName: g_application_lookup_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_MAP
    - G_ACTION_MAP
    - G_APPLICATION
    - g_return_val_if_fail
    - g_action_map_lookup_action
    linkageType: ''
    returnType: GAction*
    signature: 'static GAction *g_application_lookup_action (GActionMap *action_map,
      const gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2720,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2724,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/gapplication.c:2724,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2722,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - action_map
    - action
    argTypes:
    - GActionMap*
    - GAction*
    constantsTouched: []
    func_position:
      end: 2725
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2725
    functionName: g_application_add_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_action_map_add_action
    - G_IS_ACTION_MAP
    - G_ACTION_MAP
    - G_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_application_add_action (GActionMap *action_map, GAction
      *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2851,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2852,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2851,1
    - Dst: g_application_impl_set_busy_state
      Src: /src/glib/gio/gapplication.c:2859,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2860,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2862
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2862
    functionName: g_application_mark_busy
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - g_application_impl_set_busy_state
    - G_IS_APPLICATION
    - g_return_if_fail
    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:3074,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gapplication.c:3075,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3075,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:3074,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3076,1
    - Dst: g_signal_lookup
      Src: /src/glib/gio/gapplication.c:3078,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gapplication.c:3079,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gapplication.c:3080,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/gapplication.c:3080,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3082,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:3087,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:3095,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gapplication.c:3092,1
    - Dst: g_application_notify_busy_binding
      Src: /src/glib/gio/gapplication.c:3100,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gio/gapplication.c:3084,1
    - Dst: g_signal_connect_closure_by_id
      Src: /src/glib/gio/gapplication.c:3097,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gapplication.c:3091,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/gapplication.c:3095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - application
    - object
    - property
    argTypes:
    - GApplication*
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3101
      start: 3063
    functionDepth: 0
    functionLinenumber: 3063
    functionLinenumberEnd: 3101
    functionName: g_application_bind_busy_property
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - g_cclosure_new
    - g_signal_handler_find
    - g_application_notify_busy_binding
    - G_IS_OBJECT
    - g_signal_lookup
    - g_critical
    - G_CALLBACK
    - g_signal_connect_closure_by_id
    - g_quark_from_string
    - g_slice_new
    - g_object_class_find_property
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_bind_busy_property (GApplication *application,
      gpointer object, const gchar *property) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gapplication.c:1769,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gapplication.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - application_id
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1771
    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:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2822,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2825
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2825
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gapplication.c:423,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gapplication.c:433,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gapplication.c:438,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gapplication.c:443,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gapplication.c:424,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gapplication.c:448,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gapplication.c:453,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/gio/gapplication.c:458,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gapplication.c:463,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gapplication.c:468,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplication.c:472,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/gio/gapplication.c:476,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 24
    argCount: 2
    argNames:
    - application
    - dict
    argTypes:
    - GApplication*
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 478
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 478
    functionName: g_application_pack_option_entries
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_variant_new_bytestring_array
    - g_variant_new_string
    - g_variant_new_int32
    - g_assert_not_reached
    - g_variant_new_boolean
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_variant_new_int64
    - g_variant_new_bytestring
    - g_variant_new_double
    - g_variant_dict_insert_value
    linkageType: ''
    returnType: void
    signature: 'static void g_application_pack_option_entries (GApplication *application,
      GVariantDict *dict) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:1074,1
    - Dst: g_application_impl_command_line
      Src: /src/glib/gio/gapplication.c:1075,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/gio/gapplication.c:1082,1
    - Dst: g_object_new
      Src: /src/glib/gio/gapplication.c:1083,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:1087,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1088,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - application
    - arguments
    - options
    - exit_status
    argTypes:
    - GApplication*
    - gchar**
    - GVariant*
    - gint*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1090
    functionName: g_application_call_command_line
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - get_platform_data
    - g_object_new
    - g_variant_new_bytestring_array
    - g_object_unref
    - g_application_impl_command_line
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void g_application_call_command_line (GApplication *application,
      const gchar * const *arguments, GVariant *options, gint *exit_status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1497,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1509,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gapplication.c:1510,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gapplication.c:1498,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1512,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1525,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gapplication.c:1538,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1551,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1563,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1575,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1575,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1678,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gapplication.c:1620,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1614,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1591,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1485,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1492,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1499,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1506,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1518,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1539,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gapplication.c:1597,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1615,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gapplication.c:1619,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gapplication.c:1684,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1703,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1564,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1563,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gapplication.c:1707,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1551,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1678,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1592,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1591,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gapplication.c:1708,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1576,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplication.c:1461,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gapplication.c:1484,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1483,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1490,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gapplication.c:1491,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1511,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1522,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gapplication.c:1523,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1524,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1552,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1486,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1493,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1500,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1505,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gapplication.c:1504,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1503,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1515,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gapplication.c:1516,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1517,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1537,1
    - Dst: P_
      Src: /src/glib/gio/gapplication.c:1540,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1614,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gapplication.c:1596,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gapplication.c:1683,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1702,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1702,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 98
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationClass*
    constantsTouched: []
    func_position:
      end: 1710
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1710
    functionName: g_application_class_init
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - I_
    - G_TYPE_FROM_CLASS
    - g_param_spec_boolean
    - g_param_spec_uint
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_application_class_init (GApplicationClass *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gapplication.c:3038,1
    - Dst: g_application_mark_busy
      Src: /src/glib/gio/gapplication.c:3041,1
    - Dst: g_application_unmark_busy
      Src: /src/glib/gio/gapplication.c:3043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3046
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3046
    functionName: g_application_notify_busy_binding
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_mark_busy
    - g_object_get
    - g_application_unmark_busy
    linkageType: ''
    returnType: void
    signature: 'static void g_application_notify_busy_binding (GObject *object, GParamSpec
      *pspec, gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gapplication.c:501,1
    - Dst: g_option_group_new
      Src: /src/glib/gio/gapplication.c:504,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gapplication.c:500,1
    - Dst: _
      Src: /src/glib/gio/gapplication.c:505,1
    - Dst: g_option_group_set_translation_domain
      Src: /src/glib/gio/gapplication.c:507,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gapplication.c:601,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:610,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gapplication.c:508,1
    - Dst: g_option_context_set_main_group
      Src: /src/glib/gio/gapplication.c:528,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gapplication.c:537,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gapplication.c:609,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:498,1
    - Dst: _
      Src: /src/glib/gio/gapplication.c:505,1
    - Dst: N_
      Src: /src/glib/gio/gapplication.c:550,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gapplication.c:554,1
    - Dst: N_
      Src: /src/glib/gio/gapplication.c:574,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gapplication.c:566,1
    - Dst: N_
      Src: /src/glib/gio/gapplication.c:562,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gapplication.c:578,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/gio/gapplication.c:582,1
    - Dst: g_application_pack_option_entries
      Src: /src/glib/gio/gapplication.c:600,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gapplication.c:502,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/gio/gapplication.c:520,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gapplication.c:538,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gapplication.c:521,1
    - Dst: g_application_set_application_id
      Src: /src/glib/gio/gapplication.c:591,1
    - Dst: g_variant_dict_new
      Src: /src/glib/gio/gapplication.c:597,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 3
    argNames:
    - application
    - arguments
    - error
    argTypes:
    - GApplication*
    - gchar***
    - GError**
    constantsTouched: []
    func_position:
      end: 613
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 613
    functionName: g_application_parse_command_line
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - _
    - g_option_context_set_summary
    - g_hash_table_unref
    - g_option_context_add_group
    - g_application_set_application_id
    - g_return_val_if_fail
    - g_option_context_free
    - g_slist_delete_link
    - g_option_context_set_description
    - g_option_context_set_ignore_unknown_options
    - g_variant_dict_new
    - g_option_group_set_translation_domain
    - g_option_context_new
    - g_option_context_set_main_group
    - g_option_group_new
    - g_application_pack_option_entries
    - g_option_context_set_help_enabled
    - N_
    - g_free
    - g_option_group_add_entries
    - g_option_context_parse_strv
    linkageType: ''
    returnType: GVariantDict*
    signature: 'static GVariantDict *g_application_parse_command_line (GApplication
      *application, gchar ***arguments, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:1110,1
    - Dst: g_application_register
      Src: /src/glib/gio/gapplication.c:1118,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/gapplication.c:1121,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication.c:1133,1
    - Dst: g_application_activate
      Src: /src/glib/gio/gapplication.c:1151,1
    - Dst: g_variant_dict_end
      Src: /src/glib/gio/gapplication.c:1144,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication.c:1104,1
    - Dst: g_application_open
      Src: /src/glib/gio/gapplication.c:1174,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gapplication.c:1172,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplication.c:1105,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gapplication.c:1127,1
    - Dst: g_application_parse_command_line
      Src: /src/glib/gio/gapplication.c:1101,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/gapplication.c:1114,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication.c:1120,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplication.c:1122,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:1159,1
    - Dst: g_new
      Src: /src/glib/gio/gapplication.c:1169,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1177,1
    - Dst: g_application_call_command_line
      Src: /src/glib/gio/gapplication.c:1142,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1178,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/gapplication.c:1185,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 3
    argNames:
    - application
    - arguments
    - exit_status
    argTypes:
    - GApplication*
    - gchar***
    - int*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1188
    functionName: g_application_real_local_command_line
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_free
    - g_application_open
    - g_application_register
    - g_variant_dict_end
    - g_application_call_command_line
    - g_error_free
    - g_application_activate
    - g_object_unref
    - g_new
    - g_critical
    - g_file_new_for_commandline_arg
    - g_signal_emit
    - g_variant_dict_unref
    - g_application_parse_command_line
    - g_strv_length
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_application_real_local_command_line (GApplication
      *application, gchar ***arguments, int *exit_status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2048,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2051
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2051
    functionName: g_application_get_is_registered
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION
    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:2307,1
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:2312,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2308,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2307,1
    - Dst: g_application_impl_activate
      Src: /src/glib/gio/gapplication.c:2311,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:2315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2316
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2316
    functionName: g_application_activate
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - get_platform_data
    - g_application_impl_activate
    - g_signal_emit
    - G_IS_APPLICATION
    - g_return_if_fail
    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:2022,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2028,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2028,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - application
    - inactivity_timeout
    argTypes:
    - GApplication*
    - guint
    constantsTouched: []
    func_position:
      end: 2030
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2030
    functionName: g_application_set_inactivity_timeout
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - G_IS_APPLICATION
    - 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:2280,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2281,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2280,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/gapplication.c:2286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2288
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2288
    functionName: g_application_release
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_timeout_add
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_release (GApplication *application) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2244,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2244,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gapplication.c:2248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2253
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2253
    functionName: g_application_hold
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_hold (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - application
    - platform_data
    argTypes:
    - GApplication*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 936
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_get_instance_private
      Src: /src/glib/gio/gapplication.c:1427,1
    - Dst: g_application_exported_actions_new
      Src: /src/glib/gio/gapplication.c:1429,1
    - Dst: g_signal_connect_swapped
      Src: /src/glib/gio/gapplication.c:1436,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:1435,1
    - Dst: g_signal_connect_swapped
      Src: /src/glib/gio/gapplication.c:1434,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:1437,1
    - Dst: g_signal_connect_swapped
      Src: /src/glib/gio/gapplication.c:1438,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:1439,1
    - Dst: g_signal_connect_swapped
      Src: /src/glib/gio/gapplication.c:1440,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:1441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1442
    functionName: g_application_init
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_CALLBACK
    - g_application_exported_actions_new
    - g_application_get_instance_private
    - g_signal_connect_swapped
    linkageType: ''
    returnType: void
    signature: 'static void g_application_init (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 942
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 942
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gio/gapplication.c:1452,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gapplication.c:1453,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: 1456
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1456
    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_APPLICATION
      Src: /src/glib/gio/gapplication.c:2258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2263
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2263
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GRemoteActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationExportedActionsClass*
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    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:
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:349,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:352,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/gapplication.c:352,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:354,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: 356
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 356
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 948
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 948
    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:976,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplication.c:986,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:979,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - application
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 991
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 991
    functionName: g_application_real_open
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_has_handler_pending
    - G_APPLICATION_GET_CLASS
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void g_application_real_open (GApplication *application, GFile
      **files, gint n_files, const gchar *hint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2618,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:2623,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/gapplication.c:2626,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2620,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/gapplication.c:2623,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:2630,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - action_group
    argTypes:
    - GActionGroup*
    constantsTouched: []
    func_position:
      end: 2631
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2631
    functionName: g_application_list_actions
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_action_group_list_actions
    - G_APPLICATION
    - g_return_val_if_fail
    - G_ACTION_GROUP
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_application_list_actions (GActionGroup *action_group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2642,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2644,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gapplication.c:2656,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:2647,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gapplication.c:2647,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: 2665
      start: 2633
    functionDepth: 0
    functionLinenumber: 2633
    functionLinenumberEnd: 2665
    functionName: g_application_query_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_action_group_query_action
    - G_APPLICATION
    - g_return_val_if_fail
    - G_ACTION_GROUP
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - actions
    argTypes:
    - GApplicationExportedActions*
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    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_signal_has_handler_pending
      Src: /src/glib/gio/gapplication.c:953,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:956,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplication.c:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 968
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 968
    functionName: g_application_real_activate
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_has_handler_pending
    - G_APPLICATION_GET_CLASS
    - g_warning
    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:997,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:1000,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplication.c:1007,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - application
    - cmdline
    argTypes:
    - GApplication*
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 1015
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1015
    functionName: g_application_real_command_line
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_has_handler_pending
    - G_APPLICATION_GET_CLASS
    - g_warning
    linkageType: ''
    returnType: int
    signature: 'static int g_application_real_command_line (GApplication *application,
      GApplicationCommandLine *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:1918,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 1921
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1921
    functionName: g_application_get_resource_base_path
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_get_resource_base_path (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - application
    - options
    argTypes:
    - GApplication*
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 1022
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1022
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1891,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1891,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1895,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:1899,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:1899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - application
    - flags
    argTypes:
    - GApplication*
    - GApplicationFlags
    constantsTouched: []
    func_position:
      end: 1901
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1901
    functionName: g_application_set_flags
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_flags (GApplication *application, GApplicationFlags
      flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_new
      Src: /src/glib/gio/gapplication.c:1031,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gapplication.c:1034,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplication.c:1031,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gapplication.c:1036,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplication.c:1035,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1037,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gapplication.c:1045,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/gio/gapplication.c:1046,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplication.c:1047,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplication.c:1049,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplication.c:1053,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gapplication.c:1058,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/gio/gapplication.c:1059,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:1055,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - application
    - options
    argTypes:
    - GApplication*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1062
    functionName: get_platform_data
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_free
    - g_get_environ
    - g_variant_new_bytestring_array
    - G_APPLICATION_GET_CLASS
    - g_variant_builder_new
    - g_variant_builder_add
    - g_variant_builder_unref
    - g_strfreev
    - g_variant_new_bytestring
    - g_get_current_dir
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *get_platform_data (GApplication *application, GVariant
      *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3124,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3125,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3126,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:3124,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gapplication.c:3125,1
    - Dst: g_signal_lookup
      Src: /src/glib/gio/gapplication.c:3128,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gapplication.c:3129,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gio/gapplication.c:3131,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:3135,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gapplication.c:3139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - application
    - object
    - property
    argTypes:
    - GApplication*
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3140
      start: 3115
    functionDepth: 0
    functionLinenumber: 3115
    functionLinenumberEnd: 3140
    functionName: g_application_unbind_busy_property
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_handler_find
    - G_IS_OBJECT
    - g_signal_lookup
    - g_critical
    - g_quark_from_string
    - G_IS_APPLICATION
    - g_signal_handler_disconnect
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_unbind_busy_property (GApplication *application,
      gpointer object, const gchar *property) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:728,1
    - Dst: g_option_group_new
      Src: /src/glib/gio/gapplication.c:733,1
    - Dst: g_option_group_set_translation_domain
      Src: /src/glib/gio/gapplication.c:734,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:729,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:728,1
    - Dst: add_packed_option
      Src: /src/glib/gio/gapplication.c:747,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gapplication.c:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - application
    - entries
    argTypes:
    - GApplication*
    - GOptionEntry*
    constantsTouched: []
    func_position:
      end: 751
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 751
    functionName: g_application_add_main_option_entries
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - add_packed_option
    - g_option_group_add_entries
    - g_option_group_new
    - G_IS_APPLICATION
    - g_option_group_set_translation_domain
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_add_main_option_entries (GApplication *application,
      const GOptionEntry *entries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:848,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gapplication.c:851,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:848,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - application
    - group
    argTypes:
    - GApplication*
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 852
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 852
    functionName: g_application_add_option_group
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_slist_prepend
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_add_option_group (GApplication *application, GOptionGroup
      *group) '
  - 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: 1210
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1210
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1296,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gapplication.c:1306,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/gapplication.c:1302,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gapplication.c:1301,1
    - Dst: g_application_get_flags
      Src: /src/glib/gio/gapplication.c:1307,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gapplication.c:1311,1
    - Dst: g_application_get_resource_base_path
      Src: /src/glib/gio/gapplication.c:1311,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gapplication.c:1315,1
    - Dst: g_application_get_is_registered
      Src: /src/glib/gio/gapplication.c:1316,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gapplication.c:1320,1
    - Dst: g_application_get_inactivity_timeout
      Src: /src/glib/gio/gapplication.c:1326,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gapplication.c:1330,1
    - Dst: g_application_get_is_remote
      Src: /src/glib/gio/gapplication.c:1321,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gapplication.c:1325,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/gapplication.c:1330,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplication.c:1334,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1336
    functionName: g_application_get_property
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_value_set_flags
    - g_value_set_string
    - g_application_get_resource_base_path
    - g_application_get_flags
    - g_assert_not_reached
    - g_application_get_is_busy
    - g_value_set_uint
    - g_application_get_inactivity_timeout
    - G_APPLICATION
    - g_application_get_application_id
    - g_application_get_is_remote
    - g_application_get_is_registered
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_application_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_quit
      Src: /src/glib/gio/gapplication.c:1215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1341,1
    - Dst: g_application_set_default
      Src: /src/glib/gio/gapplication.c:1344,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplication.c:1347,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gapplication.c:1353,1
    - Dst: g_application_get_default
      Src: /src/glib/gio/gapplication.c:1343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1359
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1359
    functionName: g_application_constructed
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_set_default
    - g_assert
    - G_APPLICATION
    - g_application_get_default
    - g_strconcat
    linkageType: ''
    returnType: void
    signature: 'static void g_application_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:1815,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 1818
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1818
    functionName: g_application_get_application_id
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_get_application_id (GApplication *application) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/gapplication.c:622,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:634,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:642,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:638,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:627,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gapplication.c:646,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gapplication.c:650,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gapplication.c:652,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:653,1
    - Dst: g_slice_dup
      Src: /src/glib/gio/gapplication.c:654,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - application
    - entry
    argTypes:
    - GApplication*
    - GOptionEntry*
    constantsTouched: []
    func_position:
      end: 655
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 655
    functionName: add_packed_option
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_hash_table_insert
    - g_new
    - g_slice_dup
    - g_return_if_reached
    - g_hash_table_new_full
    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:795,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:797,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:795,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:799,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:796,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gapplication.c:800,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:802,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gapplication.c:803,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:805,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gapplication.c:806,1
    - Dst: g_application_add_main_option_entries
      Src: /src/glib/gio/gapplication.c:808,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: 809
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 809
    functionName: g_application_add_main_option
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_application_add_main_option_entries
    - g_slist_prepend
    - G_IS_APPLICATION
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:1793,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/gapplication.c:1793,1
    - Dst: g_object_new
      Src: /src/glib/gio/gapplication.c:1795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - application_id
    - flags
    argTypes:
    - gchar*
    - GApplicationFlags
    constantsTouched: []
    func_position:
      end: 1799
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1799
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:125,1
    - Dst: srv_records_to_targets
      Src: /src/glib/gio/gresolver.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - resolver
    - rrname
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    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:214,1
    - Dst: P_
      Src: /src/glib/gio/gresolver.c:244,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gresolver.c:248,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gresolver.c:242,1
    - Dst: P_
      Src: /src/glib/gio/gresolver.c:243,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gresolver.c:248,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gresolver.c:258,1
    - Dst: I_
      Src: /src/glib/gio/gresolver.c:258,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gresolver.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - resolver_class
    argTypes:
    - GResolverClass*
    constantsTouched: []
    func_position:
      end: 265
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 265
    functionName: g_resolver_class_init
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - I_
    - g_object_class_install_properties
    - g_param_spec_uint
    - g_signal_new
    - G_STRUCT_OFFSET
    - G_N_ELEMENTS
    - G_OBJECT_CLASS
    - P_
    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:346,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gresolver.c:356,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gresolver.c:352,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gresolver.c:353,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gresolver.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: maybe_emit_reload
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - stat
    - g_mutex_unlock
    - g_signal_emit
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void maybe_emit_reload (GResolver *resolver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_async_real
      Src: /src/glib/gio/gresolver.c:813,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: 819
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 819
    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:875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 879
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 879
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:990,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:990,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:995,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gresolver.c:992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 997
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 997
    functionName: g_resolver_lookup_by_address_finish
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_RESOLVER
    - G_RESOLVER_GET_CLASS
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_resolver_lookup_by_address_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:141,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: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    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:274,1
    - Dst: stat
      Src: /src/glib/gio/gresolver.c:277,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gresolver.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 282
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 282
    functionName: g_resolver_init
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - stat
    - g_mutex_init
    - g_resolver_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_resolver_init (GResolver *resolver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/gio/gresolver.c:1006,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gresolver.c:1007,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:1013,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gresolver.c:1011,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - service
    - protocol
    - domain
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1015
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1015
    functionName: g_resolver_get_service_rrname
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_hostname_is_non_ascii
    - g_strdup_printf
    - g_hostname_to_ascii
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_resolver_get_service_rrname (const char *service,
      const char *protocol, const char *domain) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/glib/gio/gresolver.c:458,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:444,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresolver.c:474,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gresolver.c:495,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:500,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gresolver.c:497,1
    - Dst: hostname_is_localhost
      Src: /src/glib/gio/gresolver.c:492,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:501,1
    - Dst: strrchr
      Src: /src/glib/gio/gresolver.c:457,1
    - Dst: inet_aton
      Src: /src/glib/gio/gresolver.c:466,1
    - Dst: gai_strerror
      Src: /src/glib/gio/gresolver.c:472,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresolver.c:476,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:477,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:479,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gresolver.c:470,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/gio/gresolver.c:472,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:495,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:497,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gresolver.c:500,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gresolver.c:501,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/gresolver.c:441,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - hostname
    - addrs
    - flags
    - error
    argTypes:
    - char*
    - GList**
    - GResolverNameLookupFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 507
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 507
    functionName: handle_ip_address_or_localhost
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - inet_aton
    - g_strdup
    - _
    - g_free
    - strrchr
    - g_list_append
    - g_locale_to_utf8
    - g_inet_address_new_from_string
    - hostname_is_localhost
    - gai_strerror
    - g_inet_address_new_loopback
    - g_win32_error_message
    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: g_srv_target_free
      Src: /src/glib/gio/gresolver.c:1188,1
    - Dst: g_list_free
      Src: /src/glib/gio/gresolver.c:1189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - targets
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1190
    functionName: g_resolver_free_targets
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_srv_target_free
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_free_targets (GList *targets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:156,1
    - Dst: srv_records_to_targets
      Src: /src/glib/gio/gresolver.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 161
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:520,1
    - Dst: handle_ip_address_or_localhost
      Src: /src/glib/gio/gresolver.c:525,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/gio/gresolver.c:528,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gresolver.c:529,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresolver.c:533,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:546,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:547,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:542,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:554,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:559,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gresolver.c:521,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:519,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresolver.c:544,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:521,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:522,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:538,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:519,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:534,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:550,1
    - Dst: remove_duplicates
      Src: /src/glib/gio/gresolver.c:557,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 5
    argNames:
    - resolver
    - hostname
    - flags
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GResolverNameLookupFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 561
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 561
    functionName: lookup_by_name_real
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - G_IS_RESOLVER
    - G_RESOLVER_GET_CLASS
    - handle_ip_address_or_localhost
    - g_hostname_is_non_ascii
    - remove_duplicates
    - g_hostname_to_ascii
    - maybe_emit_reload
    - G_IS_CANCELLABLE
    - g_set_error_literal
    - g_return_val_if_fail
    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:959,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/gresolver.c:960,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:960,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:959,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:962,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:963,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: 965
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 965
    functionName: g_resolver_lookup_by_address_async
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_IS_RESOLVER
    - G_RESOLVER_GET_CLASS
    - G_IS_INET_ADDRESS
    - maybe_emit_reload
    - g_return_if_fail
    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:1116,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1116,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1118,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1117,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1119,1
    - Dst: g_resolver_get_service_rrname
      Src: /src/glib/gio/gresolver.c:1121,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gresolver.c:1124,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:1127,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1131,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:1135,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1132,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: 1136
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1136
    functionName: g_resolver_lookup_service_async
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - _
    - g_free
    - G_RESOLVER_GET_CLASS
    - maybe_emit_reload
    - g_resolver_get_service_rrname
    - g_task_report_new_error
    - G_IS_RESOLVER
    - g_return_if_fail
    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:1227,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1228,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1227,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1230,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - resolver
    - rrname
    - record_type
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GResolverRecordType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1235
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1235
    functionName: g_resolver_lookup_records
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - maybe_emit_reload
    - g_return_val_if_fail
    - G_IS_RESOLVER
    - G_RESOLVER_GET_CLASS
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_records (GResolver *resolver, const gchar
      *rrname, GResolverRecordType record_type, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_get_instance_private
      Src: /src/glib/gio/gresolver.c:1334,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1336,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1339
    functionName: g_resolver_get_timeout
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_RESOLVER
    - g_resolver_get_instance_private
    linkageType: ''
    returnType: unsigned
    signature: 'unsigned g_resolver_get_timeout (GResolver *resolver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gresolver.c:169,1
    - Dst: g_resolver_get_timeout
      Src: /src/glib/gio/gresolver.c:174,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gresolver.c:177,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gresolver.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 179
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: g_resolver_get_property
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_resolver_get_timeout
    - G_RESOLVER
    - g_value_set_uint
    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:375,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:382,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gresolver.c:384,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/gresolver.c:378,1
    - Dst: g_inet_address_equal
      Src: /src/glib/gio/gresolver.c:380,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gresolver.c:384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - addrs
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 388
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 388
    functionName: remove_duplicates
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_list_delete_link
    - g_object_unref
    - g_inet_address_equal
    - G_INET_ADDRESS
    linkageType: ''
    returnType: void
    signature: 'static void remove_duplicates (GList *addrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_finish_real
      Src: /src/glib/gio/gresolver.c:845,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 849
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 849
    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:898,1
    - Dst: g_list_free
      Src: /src/glib/gio/gresolver.c:899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - addresses
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: g_resolver_free_addresses
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_list_free
    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:930,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:930,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:931,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:933,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/gresolver.c:931,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:934,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - resolver
    - address
    - cancellable
    - error
    argTypes:
    - GResolver*
    - GInetAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 936
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 936
    functionName: g_resolver_lookup_by_address
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_IS_RESOLVER
    - G_RESOLVER_GET_CLASS
    - G_IS_INET_ADDRESS
    - g_return_val_if_fail
    - maybe_emit_reload
    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:1066,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1069,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1066,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1068,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1067,1
    - Dst: g_resolver_get_service_rrname
      Src: /src/glib/gio/gresolver.c:1071,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresolver.c:1074,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:1075,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1079,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1080,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:1083,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 6
    argNames:
    - resolver
    - service
    - protocol
    - domain
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - gchar*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1085
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1085
    functionName: g_resolver_lookup_service
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - _
    - g_free
    - G_IS_RESOLVER
    - G_RESOLVER_GET_CLASS
    - maybe_emit_reload
    - g_resolver_get_service_rrname
    - g_set_error_literal
    - g_return_val_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gresolver.c:333,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gresolver.c:337,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:335,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gresolver.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: g_resolver_set_default
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_object_ref
    - g_object_unref
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_set_default (GResolver *resolver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_real
      Src: /src/glib/gio/gresolver.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - resolver
    - hostname
    - flags
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GResolverNameLookupFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 645
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 645
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_async_real
      Src: /src/glib/gio/gresolver.c:783,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: 789
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 789
    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_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1296,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1297,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1299
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1299
    functionName: g_resolver_lookup_records_finish
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_RESOLVER
    - G_RESOLVER_GET_CLASS
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_records_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_next
      Src: /src/glib/gio/gresolver.c:106,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gresolver.c:110,1
    - Dst: g_srv_target_list_sort
      Src: /src/glib/gio/gresolver.c:114,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gresolver.c:108,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/gresolver.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - records
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: srv_records_to_targets
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_srv_target_list_sort
    - g_variant_unref
    - g_variant_get
    - g_list_next
    - g_srv_target_new
    linkageType: ''
    returnType: GList*
    signature: 'static GList *srv_records_to_targets (GList *records) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:659,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gresolver.c:670,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:675,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gresolver.c:689,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/gio/gresolver.c:679,1
    - Dst: g_task_new
      Src: /src/glib/gio/gresolver.c:688,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:696,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gresolver.c:709,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gresolver.c:708,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:659,1
    - Dst: g_task_new
      Src: /src/glib/gio/gresolver.c:668,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gresolver.c:691,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:692,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:706,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:714,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:661,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gresolver.c:669,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gresolver.c:672,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gresolver.c:674,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:687,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gresolver.c:690,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresolver.c:686,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:700,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresolver.c:704,1
    - Dst: g_task_new
      Src: /src/glib/gio/gresolver.c:707,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:721,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:660,1
    - Dst: handle_ip_address_or_localhost
      Src: /src/glib/gio/gresolver.c:664,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gresolver.c:680,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gresolver.c:710,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:711,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:718,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: 722
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 722
    functionName: lookup_by_name_async_real
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - G_RESOLVER_GET_CLASS
    - handle_ip_address_or_localhost
    - g_hostname_is_non_ascii
    - g_hostname_to_ascii
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_return_pointer
    - maybe_emit_reload
    - g_task_set_name
    - g_task_return_error
    - g_set_error_literal
    - G_IS_RESOLVER
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1306,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1306,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gresolver.c:1313,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1308,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gresolver.c:1311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1319
    functionName: g_resolver_get_serial
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_IS_RESOLVER
    - g_return_val_if_fail
    - g_mutex_unlock
    - maybe_emit_reload
    - g_mutex_lock
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_resolver_get_serial (GResolver *resolver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gresolver.c:303,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gresolver.c:308,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gresolver.c:309,1
    - Dst: g_object_new
      Src: /src/glib/gio/gresolver.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: g_resolver_get_default
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_object_ref
    - g_object_new
    - G_LOCK
    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:607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - resolver
    - hostname
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 612
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 612
    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:732,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:734,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gresolver.c:733,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:733,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:732,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gresolver.c:736,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gresolver.c:738,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gresolver.c:741,1
    - Dst: G_TASK
      Src: /src/glib/gio/gresolver.c:741,1
    - Dst: g_assert
      Src: /src/glib/gio/gresolver.c:746,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:746,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:751,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:747,1
    - Dst: remove_duplicates
      Src: /src/glib/gio/gresolver.c:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - resolver
    - result
    - error
    - with_flags
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    - gboolean
    constantsTouched: []
    func_position:
      end: 757
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 757
    functionName: lookup_by_name_finish_real
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_IS_RESOLVER
    - G_IS_ASYNC_RESULT
    - G_TASK
    - g_assert
    - G_RESOLVER_GET_CLASS
    - remove_duplicates
    - g_task_propagate_pointer
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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:1261,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1261,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1262,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1264,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1265,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: 1267
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1267
    functionName: g_resolver_lookup_records_async
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - maybe_emit_reload
    - G_RESOLVER_GET_CLASS
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_get_instance_private
      Src: /src/glib/gio/gresolver.c:1354,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gresolver.c:1362,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1356,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1356,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gio/gresolver.c:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - resolver
    - timeout_ms
    argTypes:
    - GResolver*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1363
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1363
    functionName: g_resolver_set_timeout
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify_by_pspec
    - g_resolver_get_instance_private
    - G_IS_RESOLVER
    - g_return_if_fail
    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:187,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gresolver.c:195,1
    - Dst: g_resolver_set_timeout
      Src: /src/glib/gio/gresolver.c:192,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gresolver.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: g_resolver_set_property
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_uint
    - g_resolver_set_timeout
    - G_RESOLVER
    linkageType: ''
    returnType: void
    signature: 'static void g_resolver_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gresolver.c:393,1
    - Dst: strlen
      Src: /src/glib/gio/gresolver.c:421,1
    - Dst: MAX
      Src: /src/glib/gio/gresolver.c:421,1
    - Dst: strlen
      Src: /src/glib/gio/gresolver.c:397,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/gio/gresolver.c:421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 422
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 422
    functionName: hostname_is_localhost
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - strlen
    - MAX
    - g_ascii_strncasecmp
    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:1162,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gresolver.c:1164,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1167,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1169
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1169
    functionName: g_resolver_lookup_service_finish
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_RESOLVER
    - G_RESOLVER_GET_CLASS
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_service_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gresolver.c:203,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresolver.c:208,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gresolver.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: g_resolver_finalize
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - G_OBJECT_CLASS
    - G_RESOLVER
    linkageType: ''
    returnType: void
    signature: 'static void g_resolver_finalize (GObject *object) '
  - 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_IS_MEMORY_MONITOR
    - G_MEMORY_MONITOR_GET_INTERFACE
    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_get_child
      Src: /src/glib/gio/gio-tool-trash.c:63,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gio-tool-trash.c:53,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_info_get_name
    - g_file_enumerator_next_file
    - g_file_enumerate_children
    - g_object_unref
    - g_file_enumerator_close
    - g_file_has_uri_scheme
    - g_file_delete
    - delete_trash_file
    - g_file_get_child
    - g_return_if_fail
    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:222,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-trash.c:227,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-trash.c:242,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-trash.c:230,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:264,1
    - Dst: g_file_trash
      Src: /src/glib/gio/gio-tool-trash.c:268,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-trash.c:277,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:287,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:291,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-trash.c:303,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-trash.c:218,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-trash.c:223,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-trash.c:234,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-trash.c:243,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gio-tool-trash.c:283,1
    - Dst: trash_list
      Src: /src/glib/gio/gio-tool-trash.c:284,1
    - Dst: delete_trash_file
      Src: /src/glib/gio/gio-tool-trash.c:296,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-trash.c:302,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gio-tool-trash.c:295,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:221,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-trash.c:225,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/gio-tool-trash.c:257,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-trash.c:235,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-trash.c:239,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:259,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-trash.c:271,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:273,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:278,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-trash.c:288,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:302,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-trash.c:221,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-trash.c:224,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:226,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:228,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-trash.c:241,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-trash.c:253,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:259,1
    - Dst: restore_trash
      Src: /src/glib/gio/gio-tool-trash.c:262,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:297,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-trash.c:307,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 310
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 310
    functionName: handle_trash
    functionSourceFile: /src/glib/gio/gio-tool-trash.c
    functionUses: []
    functionsReached:
    - _
    - g_option_context_set_summary
    - g_clear_error
    - show_help
    - g_file_new_for_commandline_arg
    - g_option_context_free
    - g_error_matches
    - g_option_context_set_description
    - g_object_unref
    - delete_trash_file
    - print_file_error
    - trash_list
    - g_option_context_new
    - g_file_trash
    - g_error_free
    - g_strdup_printf
    - restore_trash
    - g_option_context_set_help_enabled
    - g_file_has_uri_scheme
    - g_free
    - g_set_prgname
    - g_file_new_for_uri
    - g_option_context_parse
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: int
    signature: 'int handle_trash (int argc, char *argv[], gboolean do_help) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gio-tool-trash.c:159,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gio-tool-trash.c:172,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gio-tool-trash.c:167,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-trash.c:180,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-trash.c:179,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:188,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-trash.c:202,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gio-tool-trash.c:194,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/gio-tool-trash.c:199,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:201,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-trash.c:189,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 207
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 207
    functionName: trash_list
    functionSourceFile: /src/glib/gio/gio-tool-trash.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_file_info_get_name
    - g_free
    - g_file_enumerator_next_file
    - g_file_enumerate_children
    - g_object_unref
    - g_clear_error
    - g_file_enumerator_close
    - g_propagate_error
    - g_print
    - print_file_error
    - g_file_get_child
    - g_file_info_get_attribute_as_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trash_list (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - 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_propagate_prefixed_error
      Src: /src/glib/gio/gio-tool-trash.c:124,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-trash.c:120,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gio-tool-trash.c:100,1
    - 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: g_clear_object
      Src: /src/glib/gio/gio-tool-trash.c:143,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_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_file_move
      Src: /src/glib/gio/gio-tool-trash.c:129,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:107,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gio-tool-trash.c:107,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:144,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gio-tool-trash.c:137,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:137,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_file_make_directory_with_parents
    - _
    - g_free
    - g_clear_object
    - g_error_matches
    - g_file_move
    - g_file_get_parent
    - g_clear_error
    - g_propagate_error
    - g_propagate_prefixed_error
    - g_set_error_literal
    - g_file_query_info
    - g_file_info_get_attribute_as_string
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean restore_trash (GFile *file, gboolean force, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:73,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gemblemedicon.c:76,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gemblemedicon.c:75,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gemblemedicon.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: g_emblemed_icon_finalize
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - G_EMBLEMED_ICON
    - g_clear_object
    - g_list_free_full
    - G_OBJECT_CLASS
    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:106,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gemblemedicon.c:111,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gemblemedicon.c:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: g_emblemed_icon_get_property
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - G_EMBLEMED_ICON
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:161,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblemedicon.c:162,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:164,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblemedicon.c:162,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gemblemedicon.c:161,1
    - Dst: g_object_new
      Src: /src/glib/gio/gemblemedicon.c:164,1
    - Dst: g_emblemed_icon_add_emblem
      Src: /src/glib/gio/gemblemedicon.c:169,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - icon
    - emblem
    argTypes:
    - GIcon*
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: g_emblemed_icon_new
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_object_new
    - G_IS_ICON
    - g_emblemed_icon_add_emblem
    - G_ICON
    - G_IS_EMBLEM
    - G_EMBLEMED_ICON
    - g_return_val_if_fail
    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:208,1
    - Dst: G_IS_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - emblemed
    argTypes:
    - GEmblemedIcon*
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    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:224,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gemblemedicon.c:229,1
    - Dst: G_IS_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - emblemed
    argTypes:
    - GEmblemedIcon*
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    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:262,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblemedicon.c:263,1
    - Dst: G_IS_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:262,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gemblemedicon.c:263,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gemblemedicon.c:265,1
    - Dst: g_list_insert_sorted
      Src: /src/glib/gio/gemblemedicon.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - emblemed
    - emblem
    argTypes:
    - GEmblemedIcon*
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: g_emblemed_icon_add_emblem
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_EMBLEMED_ICON
    - G_IS_EMBLEM
    - g_list_insert_sorted
    - g_return_if_fail
    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:287,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:299,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/gemblemedicon.c:299,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:288,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/gemblemedicon.c:291,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:299,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: g_emblemed_icon_equal
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - G_EMBLEMED_ICON
    - G_ICON
    - g_icon_equal
    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:360,1
    - Dst: g_object_new
      Src: /src/glib/gio/gemblemedicon.c:378,1
    - Dst: g_set_error
      Src: /src/glib/gio/gemblemedicon.c:370,1
    - Dst: _
      Src: /src/glib/gio/gemblemedicon.c:373,1
    - Dst: _
      Src: /src/glib/gio/gemblemedicon.c:363,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/gemblemedicon.c:379,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/gemblemedicon.c:387,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblemedicon.c:391,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gemblemedicon.c:393,1
    - Dst: _
      Src: /src/glib/gio/gemblemedicon.c:396,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:404,1
    - Dst: g_list_append
      Src: /src/glib/gio/gemblemedicon.c:401,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gemblemedicon.c:397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gemblemedicon.c:408,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 4
    argNames:
    - tokens
    - num_tokens
    - version
    - error
    argTypes:
    - gchar**
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 410
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 410
    functionName: g_emblemed_icon_from_tokens
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_object_new
    - g_icon_new_for_string
    - g_list_append
    - g_object_unref
    - G_IS_EMBLEM
    - G_ICON
    - g_set_error_literal
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_emblemed_icon_from_tokens (gchar **tokens, gint num_tokens,
      gint version, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gemblemedicon.c:122,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gemblemedicon.c:129,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gemblemedicon.c:135,1
    - Dst: P_
      Src: /src/glib/gio/gemblemedicon.c:131,1
    - Dst: P_
      Src: /src/glib/gio/gemblemedicon.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GEmblemedIconClass*
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: g_emblemed_icon_class_init
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - G_OBJECT_CLASS
    - P_
    - g_object_class_install_properties
    linkageType: ''
    returnType: void
    signature: 'static void g_emblemed_icon_class_init (GEmblemedIconClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:87,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gemblemedicon.c:92,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gemblemedicon.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: g_emblemed_icon_set_property
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - G_EMBLEMED_ICON
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_emblemed_icon_set_property (GObject *object, guint property_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblemedicon.c:237,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:237,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:238,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblemedicon.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GEmblem*
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 247
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 247
    functionName: g_emblem_comp
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - G_ICON
    - g_icon_hash
    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:273,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblemedicon.c:278,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:278,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblemedicon.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: g_emblemed_icon_hash
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - G_EMBLEMED_ICON
    - g_icon_hash
    - G_ICON
    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:314,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/gemblemedicon.c:327,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblemedicon.c:323,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gemblemedicon.c:331,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:335,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/gemblemedicon.c:337,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gemblemedicon.c:341,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - icon
    - tokens
    - out_version
    argTypes:
    - GIcon*
    - GPtrArray*
    - gint*
    constantsTouched: []
    func_position:
      end: 345
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 345
    functionName: g_emblemed_icon_to_tokens
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - G_ICON
    - G_EMBLEMED_ICON
    - g_icon_to_string
    - g_return_val_if_fail
    - 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_variant_builder_add
      Src: /src/glib/gio/gemblemedicon.c:426,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gemblemedicon.c:444,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gemblemedicon.c:446,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gemblemedicon.c:439,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gemblemedicon.c:420,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gemblemedicon.c:424,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gemblemedicon.c:432,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gemblemedicon.c:446,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:415,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gemblemedicon.c:424,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gemblemedicon.c:427,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gemblemedicon.c:429,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gemblemedicon.c:429,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gemblemedicon.c:449,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gemblemedicon.c:446,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gemblemedicon.c:457,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gemblemedicon.c:457,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gemblemedicon.c:439,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gemblemedicon.c:455,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gemblemedicon.c:452,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gemblemedicon.c:447,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 458
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 458
    functionName: g_emblemed_icon_serialize
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_icon_serialize
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - g_variant_builder_close
    - g_variant_unref
    - g_variant_get
    - g_variant_builder_add
    - g_variant_builder_init
    - g_variant_builder_open
    - g_variant_new
    - G_EMBLEMED_ICON
    - g_variant_is_of_type
    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: 468
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 468
    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:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - emblemed
    argTypes:
    - GEmblemedIcon*
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    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:188,1
    - Dst: G_IS_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - emblemed
    argTypes:
    - GEmblemedIcon*
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/gio/gactiongroupexporter.c:217,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:219,1
    - Dst: g_action_group_exporter_dispatch_events
      Src: /src/glib/gio/gactiongroupexporter.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - exporter
    argTypes:
    - GActionGroupExporter*
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gactiongroupexporter.c:239,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gactiongroupexporter.c:243,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gactiongroupexporter.c:241,1
    - Dst: g_strdup
      Src: /src/glib/gio/gactiongroupexporter.c:239,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gactiongroupexporter.c:239,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gactiongroupexporter.c:250,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gactiongroupexporter.c:252,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gactiongroupexporter.c:253,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gactiongroupexporter.c:254,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gactiongroupexporter.c:255,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gactiongroupexporter.c:260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - exporter
    - name
    - events
    argTypes:
    - GActionGroupExporter*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 263
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 263
    functionName: g_action_group_exporter_set_events
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_source_set_callback
    - GINT_TO_POINTER
    - g_source_set_static_name
    - g_hash_table_size
    - g_hash_table_insert
    - g_hash_table_remove
    - g_source_unref
    - g_idle_source_new
    - g_source_destroy
    - g_source_attach
    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_action_group_exporter_get_events
      Src: /src/glib/gio/gactiongroupexporter.c:294,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:304,1
    - Dst: g_action_group_exporter_set_events
      Src: /src/glib/gio/gactiongroupexporter.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - action_group
    - action_name
    - user_data
    argTypes:
    - GActionGroup*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 317
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 317
    functionName: g_action_group_exporter_action_removed
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_action_group_exporter_get_events
    - g_action_group_exporter_set_events
    - g_assert
    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:355,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:358,1
    - Dst: g_action_group_exporter_set_events
      Src: /src/glib/gio/gactiongroupexporter.c:364,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: 365
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 365
    functionName: g_action_group_exporter_action_enabled_changed
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_action_group_exporter_get_events
    - g_action_group_exporter_set_events
    - g_assert
    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:541,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gactiongroupexporter.c:545,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gactiongroupexporter.c:547,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gactiongroupexporter.c:543,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gactiongroupexporter.c:550,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gactiongroupexporter.c:552,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gactiongroupexporter.c:554,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gactiongroupexporter.c:555,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gactiongroupexporter.c:556,1
    - Dst: g_free
      Src: /src/glib/gio/gactiongroupexporter.c:557,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gactiongroupexporter.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 560
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 560
    functionName: g_action_group_exporter_free
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_free
    - g_signal_handlers_disconnect_by_func
    - g_main_context_unref
    - g_object_unref
    - g_slice_free
    - g_source_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_action_group_exporter_free (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gactiongroupexporter.c:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - connection
    - export_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 669
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gactiongroupexporter.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - exporter
    - name
    argTypes:
    - GActionGroupExporter*
    - gchar*
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gactiongroupexporter.c:154,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:155,1
    - Dst: g_action_group_get_action_enabled
      Src: /src/glib/gio/gactiongroupexporter.c:176,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:194,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gactiongroupexporter.c:153,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:154,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gactiongroupexporter.c:157,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/gactiongroupexporter.c:184,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gactiongroupexporter.c:152,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:153,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gactiongroupexporter.c:160,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:166,1
    - Dst: g_action_group_describe_action
      Src: /src/glib/gio/gactiongroupexporter.c:193,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gactiongroupexporter.c:198,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gactiongroupexporter.c:155,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gactiongroupexporter.c:158,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:177,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:186,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:185,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:170,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gactiongroupexporter.c:200,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gactiongroupexporter.c:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 210
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 210
    functionName: g_action_group_exporter_dispatch_events
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_action_group_get_action_enabled
    - g_assert
    - g_hash_table_remove_all
    - g_action_group_describe_action
    - g_variant_unref
    - g_hash_table_iter_next
    - g_variant_builder_add
    - g_hash_table_iter_init
    - g_action_group_get_action_state
    - g_variant_builder_init
    - g_variant_new
    - g_dbus_connection_emit_signal
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_action_group_exporter_dispatch_events (gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_exporter_get_events
      Src: /src/glib/gio/gactiongroupexporter.c:273,1
    - Dst: g_action_group_exporter_set_events
      Src: /src/glib/gio/gactiongroupexporter.c:283,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - action_group
    - action_name
    - user_data
    argTypes:
    - GActionGroup*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 284
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 284
    functionName: g_action_group_exporter_action_added
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_action_group_exporter_get_events
    - g_action_group_exporter_set_events
    - g_assert
    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:328,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:333,1
    - Dst: g_action_group_exporter_set_events
      Src: /src/glib/gio/gactiongroupexporter.c:343,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: 344
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 344
    functionName: g_action_group_exporter_action_state_changed
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_action_group_exporter_get_events
    - g_action_group_exporter_set_events
    - g_assert
    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_action_group_exporter_flush_queue
      Src: /src/glib/gio/gactiongroupexporter.c:380,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:391,1
    - Dst: g_action_group_describe_action
      Src: /src/glib/gio/gactiongroupexporter.c:422,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:456,1
    - Dst: G_IS_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gactiongroupexporter.c:466,1
    - Dst: g_remote_action_group_activate_action_full
      Src: /src/glib/gio/gactiongroupexporter.c:467,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:473,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:478,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gactiongroupexporter.c:485,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:501,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:516,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:526,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:515,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gactiongroupexporter.c:387,1
    - Dst: g_action_group_has_action
      Src: /src/glib/gio/gactiongroupexporter.c:398,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gactiongroupexporter.c:406,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:409,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/gactiongroupexporter.c:415,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gactiongroupexporter.c:416,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gactiongroupexporter.c:426,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gactiongroupexporter.c:438,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroupexporter.c:442,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gactiongroupexporter.c:448,1
    - Dst: g_remote_action_group_change_action_state_full
      Src: /src/glib/gio/gactiongroupexporter.c:521,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:492,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/gactiongroupexporter.c:386,1
    - Dst: g_action_group_describe_action
      Src: /src/glib/gio/gactiongroupexporter.c:405,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:416,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gactiongroupexporter.c:425,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:429,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gactiongroupexporter.c:437,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gactiongroupexporter.c:460,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gactiongroupexporter.c:467,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/gactiongroupexporter.c:470,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:494,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:510,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gactiongroupexporter.c:531,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroupexporter.c:488,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gactiongroupexporter.c:514,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:504,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:462,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gactiongroupexporter.c:521,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gactiongroupexporter.c:388,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:382,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gactiongroupexporter.c:396,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:400,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:423,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gactiongroupexporter.c:439,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:446,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:449,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gactiongroupexporter.c:461,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:475,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gactiongroupexporter.c:508,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/gactiongroupexporter.c:524,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gactiongroupexporter.c:533,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:503,1
    - Dst: G_IS_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gactiongroupexporter.c:520,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:495,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:527,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gactiongroupexporter.c:454,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: 534
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 534
    functionName: org_gtk_Actions_method_call
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - G_IS_REMOTE_ACTION_GROUP
    - g_remote_action_group_change_action_state_full
    - g_action_group_list_actions
    - g_remote_action_group_activate_action_full
    - g_strfreev
    - g_dbus_method_invocation_return_value
    - g_variant_iter_next
    - g_variant_get_type_string
    - g_action_group_activate_action
    - G_REMOTE_ACTION_GROUP
    - g_assert_not_reached
    - g_variant_builder_add
    - g_variant_new
    - g_dbus_method_invocation_return_error
    - g_action_group_query_action
    - g_action_group_change_action_state
    - g_action_group_describe_action
    - g_variant_unref
    - g_variant_get
    - g_variant_iter_free
    - g_variant_builder_init
    - g_str_equal
    - G_VARIANT_TYPE
    - g_action_group_exporter_flush_queue
    - g_action_group_has_action
    - g_variant_is_of_type
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gactiongroupexporter.c:57,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:57,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:60,1
    - Dst: g_action_group_get_action_parameter_type
      Src: /src/glib/gio/gactiongroupexporter.c:62,1
    - Dst: g_action_group_get_action_enabled
      Src: /src/glib/gio/gactiongroupexporter.c:59,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gactiongroupexporter.c:64,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:65,1
    - Dst: g_free
      Src: /src/glib/gio/gactiongroupexporter.c:66,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:69,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gactiongroupexporter.c:71,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:74,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gactiongroupexporter.c:77,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/gactiongroupexporter.c:72,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:71,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gactiongroupexporter.c:79,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - action_group
    - name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 80
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 80
    functionName: g_action_group_describe_action
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_variant_type_dup_string
    - g_free
    - g_variant_builder_close
    - g_action_group_get_action_enabled
    - g_variant_unref
    - g_variant_builder_add
    - g_action_group_get_action_state
    - g_action_group_get_action_parameter_type
    - g_variant_builder_init
    - g_variant_builder_open
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_action_group_describe_action (GActionGroup *action_group,
      const gchar *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:616,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gactiongroupexporter.c:621,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactiongroupexporter.c:639,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactiongroupexporter.c:644,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gactiongroupexporter.c:615,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gactiongroupexporter.c:618,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gactiongroupexporter.c:631,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gactiongroupexporter.c:632,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactiongroupexporter.c:642,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gactiongroupexporter.c:634,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactiongroupexporter.c:645,1
    - Dst: g_error
      Src: /src/glib/gio/gactiongroupexporter.c:614,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gactiongroupexporter.c:617,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gactiongroupexporter.c:627,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactiongroupexporter.c:640,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gactiongroupexporter.c:635,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactiongroupexporter.c:643,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gactiongroupexporter.c:612,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gactiongroupexporter.c:622,1
    - Dst: g_strdup
      Src: /src/glib/gio/gactiongroupexporter.c:636,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactiongroupexporter.c:638,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactiongroupexporter.c:641,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - connection
    - object_path
    - action_group
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - GActionGroup*
    - GError**
    constantsTouched: []
    func_position:
      end: 648
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 648
    functionName: g_dbus_connection_export_action_group
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_signal_connect
    - g_object_ref
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_error
    - g_dbus_node_info_lookup_interface
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - g_main_context_ref_thread_default
    - G_CALLBACK
    - g_slice_new
    - g_hash_table_new_full
    - g_slice_free
    - g_dbus_connection_register_object
    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: 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: 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: 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: 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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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_WIN32_MOUNT
    - g_file_new_for_path
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_win32_mount_get_root (GMount *mount) '
  - 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: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - type
    - use_symbolic
    argTypes:
    - int
    - gboolean
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:163,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:170,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:166,1
    - Dst: SHGetDesktopFolder
      Src: /src/glib/gio/gwin32mount.c:163,1
    - Dst: IShellFolder_ParseDisplayName
      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: 1
    argNames:
    - wdrive
    argTypes:
    - gunichar2*
    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:
    - SHGetDesktopFolder
    - CoTaskMemFree
    - IShellFolder_GetDisplayNameOf
    - IShellFolder_Release
    - StrRetToStrW
    - IShellFolder_ParseDisplayName
    - g_utf16_to_utf8
    - SUCCEEDED
    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_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: g_object_ref
      Src: /src/glib/gio/gwin32mount.c:224,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32mount.c:225,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: 3
    argNames:
    - volume_monitor
    - path
    - volume
    argTypes:
    - GVolumeMonitor*
    - char*
    - GWin32Volume*
    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_ref
    - g_win32_mount_guess_should_display
    - g_object_new
    - g_utf8_to_utf16
    - GetDriveTypeW
    - g_free
    - _win32_get_displayname
    - _g_win32_volume_set_mount
    linkageType: ''
    returnType: GWin32Mount*
    signature: 'GWin32Mount *_g_win32_mount_new (GVolumeMonitor *volume_monitor, const
      char *path, GWin32Volume *volume) '
  - 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_win32_volume_unset_mount
      Src: /src/glib/gio/gwin32mount.c:118,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_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_free
    - G_WIN32_MOUNT
    - g_object_unref
    - _g_win32_volume_unset_mount
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_mount_finalize (GObject *object) '
  - 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:
    - 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:
    - 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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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: 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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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_object_ref
    - G_WIN32_MOUNT
    - G_VOLUME
    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: 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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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:
    - 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_utf8_to_utf16
      Src: /src/glib/gio/gwin32mount.c:191,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32mount.c:195,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32mount.c:194,1
    - Dst: get_mount_display_name
      Src: /src/glib/gio/gwin32mount.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - drive
    argTypes:
    - char*
    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_strdup
    - g_free
    - get_mount_display_name
    - g_utf8_to_utf16
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *_win32_get_displayname (const char *drive) '
  - 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: 9
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:320,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:327,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:324,1
    - Dst: SHGetDesktopFolder
      Src: /src/glib/gio/gwin32mount.c:320,1
    - Dst: IShellFolder_ParseDisplayName
      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_free
      Src: /src/glib/gio/gwin32mount.c:365,1
    - Dst: IShellFolder_Release
      Src: /src/glib/gio/gwin32mount.c:373,1
    - Dst: IMyExtractIconW_GetIconLocation
      Src: /src/glib/gio/gwin32mount.c:343,1
    - Dst: IShellFolder_Release
      Src: /src/glib/gio/gwin32mount.c:368,1
    - Dst: CoTaskMemFree
      Src: /src/glib/gio/gwin32mount.c:370,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32mount.c:358,1
    - Dst: IMyExtractIconW_Release
      Src: /src/glib/gio/gwin32mount.c:366,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:
    - SHGetDesktopFolder
    - CoTaskMemFree
    - g_free
    - IMyExtractIconW_GetIconLocation
    - IShellFolder_Release
    - g_steal_pointer
    - SHBindToParent
    - IShellFolder_ParseDisplayName
    - IShellFolder_GetUIObjectOf
    - IMyExtractIconW_Release
    - g_renew
    - SUCCEEDED
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_icon_name_index (wchar_t *mount_path, wchar_t
      **result_name, int *result_index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_MOUNT
      Src: /src/glib/gio/gwin32mount.c:418,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32mount.c:428,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gwin32mount.c:425,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: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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_object_ref
    - g_themed_icon_new_with_default_fallbacks
    - G_WIN32_MOUNT
    - _win32_drive_type_to_icon
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_win32_mount_get_symbolic_icon (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: 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_return_val_if_fail
      Src: /src/glib/gio/gwin32mount.c:383,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32mount.c:399,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32mount.c:391,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_free
      Src: /src/glib/gio/gwin32mount.c:409,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32mount.c:412,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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_object_ref
    - g_free
    - get_icon_name_index
    - g_utf8_to_utf16
    - g_themed_icon_new_with_default_fallbacks
    - G_WIN32_MOUNT
    - g_themed_icon_new
    - g_strdup_printf
    - _win32_drive_type_to_icon
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_win32_mount_get_icon (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    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: 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:69,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gtcpwrapperconnection.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - io_stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: g_tcp_wrapper_connection_get_input_stream
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_input_stream
    - G_TCP_WRAPPER_CONNECTION
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_tcp_wrapper_connection_get_input_stream (GIOStream
      *io_stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:123,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtcpwrapperconnection.c:126,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtcpwrapperconnection.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: g_tcp_wrapper_connection_finalize
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_object_unref
    - G_TCP_WRAPPER_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'static void g_tcp_wrapper_connection_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:88,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtcpwrapperconnection.c:97,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gtcpwrapperconnection.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: g_tcp_wrapper_connection_get_property
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_TCP_WRAPPER_CONNECTION
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtcpwrapperconnection.c:176,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtcpwrapperconnection.c:178,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtcpwrapperconnection.c:177,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gtcpwrapperconnection.c:177,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/gtcpwrapperconnection.c:176,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/gtcpwrapperconnection.c:178,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/gtcpwrapperconnection.c:179,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtcpwrapperconnection.c:180,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/gtcpwrapperconnection.c:180,1
    - Dst: g_object_new
      Src: /src/glib/gio/gtcpwrapperconnection.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - base_io_stream
    - socket
    argTypes:
    - GIOStream*
    - GSocket*
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: g_tcp_wrapper_connection_new
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_socket_get_family
    - g_object_new
    - G_IS_IO_STREAM
    - g_socket_get_socket_type
    - g_return_val_if_fail
    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_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:77,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gtcpwrapperconnection.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - io_stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    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:107,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gtcpwrapperconnection.c:112,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtcpwrapperconnection.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: g_tcp_wrapper_connection_set_property
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_TCP_WRAPPER_CONNECTION
    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:134,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtcpwrapperconnection.c:146,1
    - Dst: P_
      Src: /src/glib/gio/gtcpwrapperconnection.c:147,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtcpwrapperconnection.c:144,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gtcpwrapperconnection.c:135,1
    - Dst: P_
      Src: /src/glib/gio/gtcpwrapperconnection.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTcpWrapperConnectionClass*
    constantsTouched: []
    func_position:
      end: 153
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 153
    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
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_tcp_wrapper_connection_class_init (GTcpWrapperConnectionClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tcp_wrapper_connection_get_instance_private
      Src: /src/glib/gio/gtcpwrapperconnection.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GTcpWrapperConnection*
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    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:199,1
    - Dst: G_IS_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTcpWrapperConnection*
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    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_return_val_if_fail
      Src: /src/glib/gio/gmount.c:137,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:139,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: g_mount_get_root
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_mount_get_root (GMount *mount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:753,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:754,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:753,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:754,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:756,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:758,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:759,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:759,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:761,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 763
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 763
    functionName: g_mount_remount_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - G_IS_MOUNT
    - g_async_result_is_tagged
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_remount_finish (GMount *mount, GAsyncResult *result,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:885,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:896,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:887,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmount.c:891,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:885,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - mount
    - force_rescan
    - cancellable
    - error
    argTypes:
    - GMount*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 902
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 902
    functionName: g_mount_guess_content_type_sync
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: char**
    signature: 'char **g_mount_guess_content_type_sync (GMount *mount, gboolean force_rescan,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:1054,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:1056,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:1054,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1061
    functionName: g_mount_get_sort_key
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_mount_get_sort_key (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:212,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:212,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: g_mount_get_icon
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    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:715,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:715,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:721,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:717,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:727,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: 732
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 732
    functionName: g_mount_remount
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    - g_task_report_new_error
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mount_remount (GMount *mount, 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/gmount.c:292,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:292,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: g_mount_get_volume
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    linkageType: ''
    returnType: GVolume*
    signature: 'GVolume *g_mount_get_volume (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:358,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:360,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: g_mount_can_eject
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    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:388,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:388,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:394,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:390,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:400,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: 405
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 405
    functionName: g_mount_unmount
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    - g_task_report_new_error
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mount_unmount (GMount *mount, GMountUnmountFlags flags, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:797,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:799,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:797,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:803,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:809,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: 814
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 814
    functionName: g_mount_guess_content_type
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    - g_task_report_new_error
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mount_guess_content_type (GMount *mount, gboolean force_rescan,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:978,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gmount.c:980,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:978,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gmount.c:983,1
    - Dst: get_private
      Src: /src/glib/gio/gmount.c:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 986
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 986
    functionName: g_mount_is_shadowed
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - get_private
    - G_LOCK
    - G_UNLOCK
    - G_IS_MOUNT
    - g_return_val_if_fail
    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:162,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:162,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: g_mount_get_default_location
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    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:338,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:338,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: g_mount_can_unmount
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_can_unmount (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/glib/gio/gmount.c:926,1
    - Dst: g_new0
      Src: /src/glib/gio/gmount.c:930,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gio/gmount.c:931,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmount.c:926,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gmount.c:927,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmount.c:931,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 938
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 938
    functionName: get_private
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_new0
    - g_object_get_data
    - G_LIKELY
    - 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:238,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:240,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:238,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gmount.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: g_mount_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_themed_icon_new_with_default_fallbacks
    - g_return_val_if_fail
    - G_IS_MOUNT
    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:464,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:464,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:470,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:466,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:476,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: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: g_mount_eject
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    - g_task_report_new_error
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mount_eject (GMount *mount, GMountUnmountFlags flags, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:1004,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gmount.c:1009,1
    - Dst: get_private
      Src: /src/glib/gio/gmount.c:1007,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gmount.c:1006,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 1010
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1010
    functionName: g_mount_shadow
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - get_private
    - G_LOCK
    - G_UNLOCK
    - G_IS_MOUNT
    - g_return_if_fail
    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:318,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:318,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: g_mount_get_drive
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    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:428,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:428,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:431,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:429,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:429,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:433,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:434,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:434,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 438
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 438
    functionName: g_mount_unmount_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - G_IS_MOUNT
    - g_async_result_is_tagged
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_unmount_finish (GMount *mount, GAsyncResult *result,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:841,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:844,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:841,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:842,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:842,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:846,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gmount.c:847,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:847,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:849,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 851
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 851
    functionName: g_mount_guess_content_type_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_pointer
    - G_IS_MOUNT
    - g_async_result_is_tagged
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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:190,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:192,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: g_mount_get_name
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    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:585,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:585,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:586,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:586,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:588,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:590,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:591,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:591,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:593,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 598
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 598
    functionName: g_mount_unmount_with_operation_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - G_IS_MOUNT
    - g_async_result_is_tagged
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_unmount_with_operation_finish (GMount *mount, GAsyncResult
      *result, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:670,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:671,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:670,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:671,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:673,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:675,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:676,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:676,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:678,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 683
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 683
    functionName: g_mount_eject_with_operation_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - G_IS_MOUNT
    - g_async_result_is_tagged
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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:77,1
    - Dst: I_
      Src: /src/glib/gio/gmount.c:77,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmount.c:94,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmount.c:80,1
    - Dst: I_
      Src: /src/glib/gio/gmount.c:94,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmount.c:97,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmount.c:113,1
    - Dst: I_
      Src: /src/glib/gio/gmount.c:113,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmount.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GMountInterface*
    constantsTouched: []
    func_position:
      end: 120
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 120
    functionName: g_mount_default_init
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new
    - I_
    linkageType: ''
    returnType: void
    signature: 'static void g_mount_default_init (GMountInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gmount.c:915,1
    - Dst: g_free
      Src: /src/glib/gio/gmount.c:916,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gmount.c:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - private
    argTypes:
    - GMountPrivate*
    constantsTouched: []
    func_position:
      end: 918
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 918
    functionName: free_private
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_free
    - G_UNLOCK
    - 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:269,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:271,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: g_mount_get_uuid
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_MOUNT
    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:504,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:507,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:505,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:505,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:504,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:509,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:510,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:510,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 514
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 514
    functionName: g_mount_eject_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - g_task_propagate_boolean
    - G_IS_MOUNT
    - g_async_result_is_tagged
    - G_MOUNT_GET_IFACE
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_eject_finish (GMount *mount, GAsyncResult *result,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:542,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:542,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:548,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:554,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:544,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: 562
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 562
    functionName: g_mount_unmount_with_operation
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    - g_task_report_new_error
    - g_return_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:627,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:627,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:633,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:629,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:639,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: 647
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 647
    functionName: g_mount_eject_with_operation
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    - g_task_report_new_error
    - g_return_if_fail
    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:1028,1
    - Dst: g_warning
      Src: /src/glib/gio/gmount.c:1034,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gmount.c:1030,1
    - Dst: get_private
      Src: /src/glib/gio/gmount.c:1031,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:1028,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gmount.c:1035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1036
    functionName: g_mount_unshadow
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - get_private
    - G_LOCK
    - G_IS_MOUNT
    - G_UNLOCK
    - g_warning
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mount_unshadow (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: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    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_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:91,1
    - Dst: is_valid_initial_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:91,1
    - Dst: is_valid_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:95,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:95,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:102,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: 109
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 109
    functionName: is_valid_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - is_valid_bus_name_character
    - G_UNLIKELY
    - is_valid_initial_bus_name_character
    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:175,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:180,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusutils.c:179,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:183,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:186,1
    - Dst: is_valid_name
      Src: /src/glib/gio/gdbusutils.c:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 193
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 193
    functionName: g_dbus_is_unique_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - strlen
    - is_valid_name
    - g_return_val_if_fail
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_unique_name (const gchar *string) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      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:258,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:263,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusutils.c:253,1
    - Dst: is_valid_initial_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:263,1
    - Dst: is_valid_name
      Src: /src/glib/gio/gdbusutils.c:266,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 270
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 270
    functionName: g_dbus_is_interface_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - strlen
    - G_UNLIKELY
    - is_valid_initial_bus_name_character
    - is_valid_name
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_interface_name (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusutils.c:328,1
    - Dst: g_random_int
      Src: /src/glib/gio/gdbusutils.c:332,1
    - Dst: g_random_int
      Src: /src/glib/gio/gdbusutils.c:330,1
    - Dst: g_random_int
      Src: /src/glib/gio/gdbusutils.c:331,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/gdbusutils.c:333,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:335,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:336,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:337,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:338,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusutils.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 341
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 341
    functionName: g_dbus_generate_guid
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append_printf
    - g_string_free
    - g_get_real_time
    - g_random_int
    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:408,1
    - Dst: g_variant_classify
      Src: /src/glib/gio/gdbusutils.c:413,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gdbusutils.c:417,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gdbusutils.c:422,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:426,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gdbusutils.c:427,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gdbusutils.c:442,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:446,1
    - Dst: g_value_set_int64
      Src: /src/glib/gio/gdbusutils.c:447,1
    - Dst: g_value_set_double
      Src: /src/glib/gio/gdbusutils.c:457,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:477,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gdbusutils.c:502,1
    - Dst: g_variant_get_int16
      Src: /src/glib/gio/gdbusutils.c:427,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gdbusutils.c:432,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:431,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/gdbusutils.c:447,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:451,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gio/gdbusutils.c:452,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/gdbusutils.c:457,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:461,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusutils.c:462,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:471,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:513,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:524,1
    - Dst: g_variant_dup_strv
      Src: /src/glib/gio/gdbusutils.c:486,1
    - Dst: g_variant_dup_objv
      Src: /src/glib/gio/gdbusutils.c:492,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:497,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusutils.c:476,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusutils.c:525,1
    - Dst: memset
      Src: /src/glib/gio/gdbusutils.c:411,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusutils.c:409,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/gio/gdbusutils.c:432,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gdbusutils.c:437,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:436,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/gdbusutils.c:452,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:456,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusutils.c:462,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusutils.c:472,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:480,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:485,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/gio/gdbusutils.c:501,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:506,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusutils.c:514,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:491,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gdbusutils.c:487,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusutils.c:472,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gdbusutils.c:493,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:416,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusutils.c:417,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:421,1
    - Dst: g_value_set_uchar
      Src: /src/glib/gio/gdbusutils.c:422,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/gdbusutils.c:437,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:441,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gdbusutils.c:442,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:466,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusutils.c:467,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusutils.c:467,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:500,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusutils.c:481,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusutils.c:507,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/gdbusutils.c:481,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 71
    argCount: 2
    argNames:
    - value
    - out_gvalue
    argTypes:
    - GVariant*
    - GValue*
    constantsTouched: []
    func_position:
      end: 528
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 528
    functionName: g_dbus_gvariant_to_gvalue
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_variant_get_boolean
    - g_value_set_double
    - g_variant_get_int16
    - g_value_set_uint
    - g_value_init
    - g_variant_get_uint64
    - g_value_set_int64
    - g_variant_get_double
    - g_variant_dup_bytestring_array
    - memset
    - g_variant_get_bytestring
    - g_value_set_int
    - g_value_take_boxed
    - g_variant_get_string
    - g_variant_dup_strv
    - g_value_set_uchar
    - g_value_set_boolean
    - g_variant_type_peek_string
    - g_variant_get_type
    - g_variant_dup_objv
    - g_variant_get_int64
    - g_value_set_variant
    - g_variant_get_int32
    - g_variant_get_uint16
    - g_variant_classify
    - g_variant_get_uint32
    - g_variant_get_byte
    - g_value_set_uint64
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_gvariant_to_gvalue (GVariant *value, GValue *out_gvalue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:758,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbusutils.c:766,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusutils.c:761,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusutils.c:767,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusutils.c:763,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:769,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusutils.c:772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - guint8*
    constantsTouched: []
    func_position:
      end: 773
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 773
    functionName: g_dbus_escape_object_path_bytestring
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_new
    - g_string_append_printf
    - g_string_append_c
    - g_ascii_isalnum
    - g_string_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_escape_object_path_bytestring (const guint8 *bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - c
    - allow_initial_digit
    - allow_hyphen
    argTypes:
    - gint
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:128,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:145,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:133,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusutils.c:132,1
    - Dst: is_valid_name
      Src: /src/glib/gio/gdbusutils.c:140,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:150,1
    - Dst: is_valid_initial_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:150,1
    - Dst: is_valid_name
      Src: /src/glib/gio/gdbusutils.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 157
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 157
    functionName: g_dbus_is_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - strlen
    - G_UNLIKELY
    - is_valid_initial_bus_name_character
    - is_valid_name
    - g_return_val_if_fail
    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:212,1
    - Dst: is_valid_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:220,1
    - Dst: is_valid_initial_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:215,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:220,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 230
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 230
    functionName: g_dbus_is_member_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - is_valid_bus_name_character
    - G_UNLIKELY
    - is_valid_initial_bus_name_character
    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:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:362,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/gio/gdbusutils.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 378
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 378
    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:580,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gdbusutils.c:591,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:595,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gio/gdbusutils.c:606,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:614,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gdbusutils.c:614,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:622,1
    - Dst: g_value_get_int64
      Src: /src/glib/gio/gdbusutils.c:622,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gdbusutils.c:630,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:644,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/gio/gdbusutils.c:716,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:655,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gdbusutils.c:689,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:675,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gdbusutils.c:598,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/gdbusutils.c:602,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:610,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gdbusutils.c:610,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gdbusutils.c:618,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gdbusutils.c:626,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdbusutils.c:637,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusutils.c:658,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gdbusutils.c:661,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gdbusutils.c:682,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:685,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusutils.c:718,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusutils.c:648,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusutils.c:641,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:679,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:668,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gio/gdbusutils.c:589,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:606,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gdbusutils.c:606,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gdbusutils.c:614,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gdbusutils.c:622,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:630,1
    - Dst: g_value_get_double
      Src: /src/glib/gio/gdbusutils.c:630,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/gdbusutils.c:644,1
    - Dst: g_variant_new_signature
      Src: /src/glib/gio/gdbusutils.c:651,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:661,1
    - Dst: g_variant_new_objv
      Src: /src/glib/gio/gdbusutils.c:675,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusutils.c:634,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:651,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gdbusutils.c:705,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/gio/gdbusutils.c:685,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusutils.c:717,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusutils.c:721,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gdbusutils.c:672,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gio/gdbusutils.c:721,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:581,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:598,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gdbusutils.c:598,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:602,1
    - Dst: g_value_get_uchar
      Src: /src/glib/gio/gdbusutils.c:602,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gio/gdbusutils.c:610,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:618,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gdbusutils.c:618,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:626,1
    - Dst: g_value_get_uint64
      Src: /src/glib/gio/gdbusutils.c:626,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gdbusutils.c:668,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gdbusutils.c:695,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/gio/gdbusutils.c:717,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:637,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gdbusutils.c:665,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 120
    argCount: 2
    argNames:
    - gvalue
    - type
    argTypes:
    - GValue*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 724
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 724
    functionName: g_dbus_gvalue_to_gvariant
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_value_dup_variant
    - g_value_get_int
    - g_variant_new_int32
    - g_variant_new_from_data
    - g_variant_new_bytestring
    - g_value_get_boxed
    - g_value_get_double
    - g_variant_new_uint64
    - g_return_val_if_fail
    - g_value_get_string
    - g_variant_is_floating
    - g_variant_new_bytestring_array
    - g_variant_new_string
    - g_variant_new_uint16
    - g_variant_new_objv
    - g_variant_new_int64
    - g_value_get_uint64
    - g_variant_get_normal_form
    - g_variant_new_double
    - g_variant_take_ref
    - g_value_get_uchar
    - g_variant_type_peek_string
    - g_value_get_uint
    - g_variant_unref
    - g_variant_new_boolean
    - g_variant_new_byte
    - g_variant_ref_sink
    - g_value_get_boolean
    - g_variant_new_int16
    - g_value_get_int64
    - G_VALUE_TYPE
    - g_variant_new_signature
    - g_variant_new_uint32
    - g_assert
    - g_variant_new_object_path
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_gvalue_to_gvariant (const GValue *gvalue, const GVariantType
      *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_escape_object_path_bytestring
      Src: /src/glib/gio/gdbusutils.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 789
    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:816,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbusutils.c:826,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusutils.c:819,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusutils.c:818,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusutils.c:821,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusutils.c:828,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdbusutils.c:831,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdbusutils.c:832,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbusutils.c:834,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusutils.c:836,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusutils.c:847,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusutils.c:842,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 848
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 848
    functionName: g_dbus_unescape_object_path
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_strdup
    - g_string_new
    - g_ascii_xdigit_value
    - g_string_append_c
    - g_ascii_isalnum
    - g_string_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint8*
    signature: 'guint8 *g_dbus_unescape_object_path (const gchar *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GLoadableIconIface*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    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:114,1
    - Dst: G_LOADABLE_ICON_GET_IFACE
      Src: /src/glib/gio/gloadableicon.c:116,1
    - Dst: G_IS_LOADABLE_ICON
      Src: /src/glib/gio/gloadableicon.c:114,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: 119
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: g_loadable_icon_load_async
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - G_IS_LOADABLE_ICON
    - G_LOADABLE_ICON_GET_IFACE
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOADABLE_ICON_GET_IFACE
      Src: /src/glib/gio/gloadableicon.c:181,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gloadableicon.c:188,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gloadableicon.c:186,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: 189
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 189
    functionName: load_async_thread
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - G_LOADABLE_ICON_GET_IFACE
    - g_task_return_error
    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:165,1
    - Dst: g_free
      Src: /src/glib/gio/gloadableicon.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - LoadData*
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    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:203,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gloadableicon.c:207,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gloadableicon.c:204,1
    - Dst: g_new0
      Src: /src/glib/gio/gloadableicon.c:205,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gloadableicon.c:206,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gloadableicon.c:208,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: 209
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 209
    functionName: g_loadable_icon_real_load_async
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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:221,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gloadableicon.c:226,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gloadableicon.c:224,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gloadableicon.c:221,1
    - Dst: G_TASK
      Src: /src/glib/gio/gloadableicon.c:223,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 4
    argNames:
    - icon
    - res
    - type
    - error
    argTypes:
    - GLoadableIcon*
    - GAsyncResult*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 234
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 234
    functionName: g_loadable_icon_real_load_finish
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_pointer
    - g_return_val_if_fail
    - g_task_get_task_data
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gloadableicon.c:142,1
    - Dst: G_IS_LOADABLE_ICON
      Src: /src/glib/gio/gloadableicon.c:142,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gloadableicon.c:143,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gloadableicon.c:145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gloadableicon.c:143,1
    - Dst: G_LOADABLE_ICON_GET_IFACE
      Src: /src/glib/gio/gloadableicon.c:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - icon
    - res
    - type
    - error
    argTypes:
    - GLoadableIcon*
    - GAsyncResult*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: g_loadable_icon_load_finish
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - G_IS_ASYNC_RESULT
    - G_LOADABLE_ICON_GET_IFACE
    - G_IS_LOADABLE_ICON
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    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:85,1
    - Dst: G_LOADABLE_ICON_GET_IFACE
      Src: /src/glib/gio/gloadableicon.c:87,1
    - Dst: G_IS_LOADABLE_ICON
      Src: /src/glib/gio/gloadableicon.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 5
    argNames:
    - icon
    - size
    - type
    - cancellable
    - error
    argTypes:
    - GLoadableIcon*
    - int
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: g_loadable_icon_load
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - G_LOADABLE_ICON_GET_IFACE
    - g_return_val_if_fail
    - G_IS_LOADABLE_ICON
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1141,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1143,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1142,1
    - Dst: path_is_valid
      Src: /src/glib/gio/gsettings.c:1143,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:1142,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:1145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - schema
    - backend
    - path
    argTypes:
    - GSettingsSchema*
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1150
    functionName: g_settings_new_full
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - path_is_valid
    - g_object_new
    - g_return_val_if_fail
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: GSettings*
    signature: 'GSettings *g_settings_new_full (GSettingsSchema *schema, GSettingsBackend
      *backend, const gchar *path) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:2646,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettings.c:2663,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2666,1
    - Dst: g_settings_schema_key_get_per_desktop_default
      Src: /src/glib/gio/gsettings.c:2674,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2681,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2696,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:2648,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2639,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2652,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:2678,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2680,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2638,1
    - Dst: g_settings_schema_key_get_translated_default
      Src: /src/glib/gio/gsettings.c:2658,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsettings.c:2688,1
    - Dst: g_object_set_property
      Src: /src/glib/gio/gsettings.c:2695,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2667,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:2690,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2692,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:2697,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2700
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2700
    functionName: g_settings_binding_key_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_translated_default
    - g_settings_schema_get_id
    - g_assert
    - g_settings_read_from_backend
    - g_variant_unref
    - g_error
    - g_warning
    - g_value_init
    - g_settings_schema_key_get_per_desktop_default
    - g_variant_ref
    - g_object_set_property
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_binding_key_changed (GSettings *settings, const
      gchar *key, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsettings.c:3352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3353
      start: 3347
    functionDepth: 0
    functionLinenumber: 3347
    functionLinenumberEnd: 3353
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2731,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings.c:2739,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2735,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:2720,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2713,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gsettings.c:2730,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2748,1
    - Dst: g_object_get_property
      Src: /src/glib/gio/gsettings.c:2721,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2746,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2712,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gsettings.c:2725,1
    - Dst: g_settings_schema_key_type_check
      Src: /src/glib/gio/gsettings.c:2727,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings.c:2733,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2756,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings.c:2742,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2743,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:2754,1
    - Dst: g_type_name
      Src: /src/glib/gio/gsettings.c:2745,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:2758,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2761
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2761
    functionName: g_settings_binding_property_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_type_dup_string
    - g_object_get_property
    - g_variant_get_type_string
    - g_free
    - g_settings_write_to_backend
    - g_settings_schema_get_id
    - g_assert
    - g_variant_print
    - g_settings_schema_key_range_check
    - g_variant_unref
    - g_settings_schema_key_type_check
    - g_critical
    - g_value_init
    - g_type_name
    - g_variant_take_ref
    - g_value_unset
    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_object_notify
      Src: /src/glib/gio/gsettings.c:3360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3361
      start: 3355
    functionDepth: 0
    functionLinenumber: 3355
    functionLinenumberEnd: 3361
    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_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1091,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:1092,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1092,1
    - Dst: path_is_valid
      Src: /src/glib/gio/gsettings.c:1093,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1093,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:1095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - schema_id
    - backend
    - path
    argTypes:
    - gchar*
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1100
    functionName: g_settings_new_with_backend_and_path
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - path_is_valid
    - g_object_new
    - g_return_val_if_fail
    - 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_settings_get_value
      Src: /src/glib/gio/gsettings.c:2091,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2093,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/gsettings.c:2092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2096
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2096
    functionName: g_settings_get_double
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_value
    - g_variant_unref
    - g_variant_get_double
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_settings_get_double (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:1863,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1865,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/gsettings.c:1864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1868
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1868
    functionName: g_settings_get_int
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_value
    - g_variant_get_int32
    - g_variant_unref
    linkageType: ''
    returnType: gint
    signature: 'gint g_settings_get_int (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_get_range
      Src: /src/glib/gio/gsettings.c:3236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 3237
      start: 3230
    functionDepth: 0
    functionLinenumber: 3230
    functionLinenumberEnd: 3237
    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:3245,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings.c:3245,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:3246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - action
    - value
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3247
      start: 3239
    functionDepth: 0
    functionLinenumber: 3239
    functionLinenumberEnd: 3247
    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_set_value
      Src: /src/glib/gio/gsettings.c:1837,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettings.c:1837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1838
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1838
    functionName: g_settings_set_string
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_value
    - g_variant_new_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_string (GSettings *settings, const gchar *key,
      const gchar *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:2147,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2149,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gsettings.c:2148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2152
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2152
    functionName: g_settings_get_boolean
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_value
    - g_variant_unref
    - g_variant_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_get_boolean (GSettings *settings, const gchar
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2121,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gsettings.c:2121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gdouble
    constantsTouched: []
    func_position:
      end: 2122
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2122
    functionName: g_settings_set_double
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_value
    - g_variant_new_double
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_double (GSettings *settings, const gchar *key,
      gdouble value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:663,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:669,1
    - Dst: g_settings_schema_get_path
      Src: /src/glib/gio/gsettings.c:666,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:670,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings.c:668,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:675,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:676,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettings.c:678,1
    - Dst: g_settings_backend_get_default
      Src: /src/glib/gio/gsettings.c:682,1
    - Dst: g_settings_backend_watch
      Src: /src/glib/gio/gsettings.c:684,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsettings.c:685,1
    - Dst: g_settings_backend_subscribe
      Src: /src/glib/gio/gsettings.c:687,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 689
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 689
    functionName: g_settings_constructed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_settings_backend_subscribe
    - g_settings_schema_get_path
    - G_SETTINGS
    - g_settings_schema_get_id
    - g_settings_backend_watch
    - g_error
    - strcmp
    - g_settings_backend_get_default
    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:1893,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gsettings.c:1893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 1894
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1894
    functionName: g_settings_set_int
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_value
    - g_variant_new_int32
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_int (GSettings *settings, const gchar *key,
      gint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:694,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:699,1
    - Dst: g_settings_backend_unsubscribe
      Src: /src/glib/gio/gsettings.c:696,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings.c:700,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsettings.c:698,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:701,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsettings.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 704
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 704
    functionName: g_settings_finalize
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_free
    - G_SETTINGS
    - g_main_context_unref
    - g_object_unref
    - g_settings_backend_unsubscribe
    - g_settings_schema_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2177,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gsettings.c:2177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2178
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2178
    functionName: g_settings_set_boolean
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_value
    - g_variant_new_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_boolean (GSettings *settings, const gchar
      *key, gboolean value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:2528,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:2530,1
    - Dst: g_settings_schema_key_get_range
      Src: /src/glib/gio/gsettings.c:2529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2533
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2533
    functionName: g_settings_get_range
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - g_settings_schema_key_init
    - g_settings_schema_key_get_range
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_get_range (GSettings *settings, const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_bind_with_mapping
      Src: /src/glib/gio/gsettings.c:2830,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: 2832
      start: 2811
    functionDepth: 0
    functionLinenumber: 2811
    functionLinenumberEnd: 2832
    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_settings_get_value
      Src: /src/glib/gio/gsettings.c:1919,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/gsettings.c:1920,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1924
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1924
    functionName: g_settings_get_int64
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_value
    - g_variant_unref
    - g_variant_get_int64
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_settings_get_int64 (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_list_children
      Src: /src/glib/gio/gsettings.c:2507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2508
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:477,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:507,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:503,1
    - Dst: g_settings_schema_has_key
      Src: /src/glib/gio/gsettings.c:497,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettings.c:498,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: 510
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 510
    functionName: settings_backend_keys_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_SETTINGS
    - g_assert
    - g_settings_schema_has_key
    - g_signal_emit
    - g_quark_from_string
    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:517,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettings.c:526,1
    - Dst: g_settings_schema_has_key
      Src: /src/glib/gio/gsettings.c:524,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - target
    - backend
    - key
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 527
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 527
    functionName: settings_backend_writable_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_has_key
    - g_quark_from_string
    - g_signal_emit
    - G_SETTINGS
    linkageType: ''
    returnType: void
    signature: 'static void settings_backend_writable_changed (GObject *target, GSettingsBackend
      *backend, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:2203,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2205,1
    - Dst: g_variant_dup_strv
      Src: /src/glib/gio/gsettings.c:2204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2208
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2208
    functionName: g_settings_get_strv
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_value
    - g_variant_dup_strv
    - g_variant_unref
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_settings_get_strv (GSettings *settings, const gchar *key) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:2886,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:2901,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2908,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:2916,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2900,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:2909,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2915,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettings.c:2887,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings.c:2938,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gsettings.c:2940,1
    - Dst: g_settings_binding_quark
      Src: /src/glib/gio/gsettings.c:3009,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2878,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2880,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2881,1
    - Dst: g_type_name
      Src: /src/glib/gio/gsettings.c:2934,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2943,1
    - Dst: g_settings_mapping_is_compatible
      Src: /src/glib/gio/gsettings.c:2953,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:2959,1
    - Dst: g_type_name
      Src: /src/glib/gio/gsettings.c:2960,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2963,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2986,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:3001,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gsettings.c:2956,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2877,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsettings.c:2879,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/gsettings.c:2883,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsettings.c:2885,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:2933,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2941,1
    - Dst: g_settings_bind_writable
      Src: /src/glib/gio/gsettings.c:2976,1
    - Dst: g_settings_binding_property_changed
      Src: /src/glib/gio/gsettings.c:2989,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2945,1
    - Dst: g_settings_binding_key_changed
      Src: /src/glib/gio/gsettings.c:3006,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:3000,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2877,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2879,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gsettings.c:2889,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2931,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2957,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2962,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gsettings.c:2972,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:2981,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:2983,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:2984,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3003,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:2998,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsettings.c:3010,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: 3012
      start: 2861
    functionDepth: 0
    functionLinenumber: 2861
    functionLinenumberEnd: 3012
    functionName: g_settings_bind_with_mapping
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS
    - g_slice_new0
    - G_OBJECT_GET_CLASS
    - g_object_set_qdata_full
    - G_IS_OBJECT
    - g_settings_bind_writable
    - g_settings_schema_key_init
    - g_settings_schema_get_id
    - g_settings_binding_key_changed
    - g_type_name
    - g_settings_mapping_is_compatible
    - g_settings_binding_quark
    - g_signal_connect
    - g_object_ref
    - g_variant_type_equal
    - g_critical
    - g_strdup_printf
    - G_CALLBACK
    - g_settings_binding_property_changed
    - G_OBJECT_TYPE_NAME
    - g_object_class_find_property
    - g_variant_type_dup_string
    - g_free
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_backend_sync_default
      Src: /src/glib/gio/gsettings.c:2387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2388
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2388
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_list_keys
      Src: /src/glib/gio/gsettings.c:2482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2483
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2483
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_list
      Src: /src/glib/gio/gsettings.c:382,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettings.c:388,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gsettings.c:386,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - settings
    - keys
    - n_keys
    argTypes:
    - GSettings*
    - GQuark*
    - gint
    constantsTouched: []
    func_position:
      end: 395
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 395
    functionName: g_settings_real_change_event
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_quark_to_string
    - g_str_has_suffix
    - g_signal_emit
    - g_settings_schema_list
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_real_change_event (GSettings *settings,
      const GQuark *keys, gint n_keys) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:549,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:566,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsettings.c:576,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gsettings.c:557,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:586,1
    - Dst: g_settings_schema_source_get_default
      Src: /src/glib/gio/gsettings.c:587,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:590,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettings.c:592,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:595,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gsettings.c:601,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsettings.c:609,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsettings.c:605,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 611
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 611
    functionName: g_settings_set_property
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_value_get_string
    - G_SETTINGS
    - g_assert
    - g_settings_schema_source_get_default
    - g_settings_schema_source_lookup
    - g_error
    - g_value_dup_object
    - g_assert_not_reached
    - g_value_dup_boxed
    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_get_instance_private
      Src: /src/glib/gio/gsettings.c:709,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gsettings.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 711
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 711
    functionName: g_settings_init
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_main_context_ref_thread_default
    - g_settings_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_init (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:981,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - schema_id
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 986
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 986
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2591,1
    - Dst: g_signal_handler_is_connected
      Src: /src/glib/gio/gsettings.c:2601,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gsettings.c:2594,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gsettings.c:2603,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gsettings.c:2598,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:2606,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:2611,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettings.c:2613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2614
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2614
    functionName: g_settings_binding_free
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - g_assert
    - g_object_unref
    - g_signal_handler_is_connected
    - g_slice_free
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_binding_free (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_list
      Src: /src/glib/gio/gsettings.c:406,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:415,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettings.c:412,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gsettings.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - GQuark
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: g_settings_real_writable_change_event
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_quark_to_string
    - g_str_has_suffix
    - g_signal_emit
    - g_settings_schema_list
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_real_writable_change_event (GSettings *settings,
      GQuark key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettings.c:745,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsettings.c:782,1
    - Dst: I_
      Src: /src/glib/gio/gsettings.c:834,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:852,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:869,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:893,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:920,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsettings.c:776,1
    - Dst: I_
      Src: /src/glib/gio/gsettings.c:743,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsettings.c:743,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsettings.c:840,1
    - Dst: I_
      Src: /src/glib/gio/gsettings.c:800,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettings.c:836,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:891,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsettings.c:892,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:908,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:934,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:905,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsettings.c:716,1
    - Dst: I_
      Src: /src/glib/gio/gsettings.c:776,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsettings.c:783,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettings.c:802,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:849,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsettings.c:834,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsettings.c:850,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:851,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:867,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsettings.c:868,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsettings.c:948,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsettings.c:906,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:947,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettings.c:778,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsettings.c:800,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsettings.c:841,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:907,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:918,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsettings.c:919,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:932,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsettings.c:933,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:935,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:949,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:921,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:950,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:870,1
    - Dst: P_
      Src: /src/glib/gio/gsettings.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 73
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSettingsClass*
    constantsTouched: []
    func_position:
      end: 953
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 953
    functionName: g_settings_class_init
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - I_
    - G_TYPE_FROM_CLASS
    - g_param_spec_boolean
    - g_signal_new
    - g_signal_set_va_marshaller
    - G_STRUCT_OFFSET
    - g_param_spec_string
    - g_param_spec_boxed
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_class_init (GSettingsClass *class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettings.c:997,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings.c:1000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1001
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1001
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:2622,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2624,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettings.c:2623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2627
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2627
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:534,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:538,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gsettings.c:537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - target
    - backend
    - path
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 540
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 540
    functionName: settings_backend_path_writable_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_signal_emit
    - G_SETTINGS
    linkageType: ''
    returnType: void
    signature: 'static void settings_backend_path_writable_changed (GObject *target,
      GSettingsBackend *backend, const gchar *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:2444,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2444,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2450,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:2449,1
    - Dst: g_settings_schema_get_child_schema
      Src: /src/glib/gio/gsettings.c:2446,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:2452,1
    - Dst: g_settings_new_full
      Src: /src/glib/gio/gsettings.c:2453,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings.c:2456,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2457,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - settings
    - name
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2460
    functionName: g_settings_get_child
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS
    - g_free
    - g_settings_schema_get_id
    - g_error
    - g_settings_schema_unref
    - g_settings_schema_get_child_schema
    - g_strconcat
    - g_return_val_if_fail
    - g_settings_new_full
    linkageType: ''
    returnType: GSettings*
    signature: 'GSettings *g_settings_get_child (GSettings *settings, const gchar
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:3394,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:3395,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:3394,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:3397,1
    - Dst: g_settings_action_get_type
      Src: /src/glib/gio/gsettings.c:3397,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettings.c:3398,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:3399,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:3401,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:3402,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:3402,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3406,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:3405,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:3404,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3403,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:3405,1
    - Dst: G_ACTION
      Src: /src/glib/gio/gsettings.c:3408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3409
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3409
    functionName: g_settings_create_action
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS
    - g_object_ref
    - g_signal_connect
    - g_object_new
    - g_free
    - g_strdup_printf
    - G_CALLBACK
    - g_settings_action_get_type
    - g_settings_schema_key_init
    - g_return_val_if_fail
    - G_ACTION
    linkageType: ''
    returnType: GAction*
    signature: 'GAction *g_settings_create_action (GSettings *settings, const gchar
      *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1361,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1364,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1361,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1368,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1362,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1370,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1374,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:1377,1
    - Dst: g_settings_schema_key_to_enum
      Src: /src/glib/gio/gsettings.c:1379,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1380,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1384
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1384
    functionName: g_settings_get_enum
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_read_from_backend
    - g_variant_unref
    - g_settings_schema_key_to_enum
    - g_critical
    - g_settings_schema_key_get_default_value
    - g_settings_schema_key_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_settings_get_enum (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handlers_disconnect_by_data
      Src: /src/glib/gio/gsettings.c:3308,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:3310,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:3309,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsettings.c:3312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 3314
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3314
    functionName: g_settings_action_finalize
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - G_OBJECT_CLASS
    - g_object_unref
    - g_signal_handlers_disconnect_by_data
    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: 3319
      start: 3316
    functionDepth: 0
    functionLinenumber: 3316
    functionLinenumberEnd: 3319
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1317,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1318,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1317,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1321,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1320,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:1324,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1329
    functionName: g_settings_get_default_value
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_read_from_backend
    - g_settings_schema_key_get_default_value
    - g_settings_schema_key_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_get_default_value (GSettings *settings, const
      gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:2408,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2408,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:2410,1
    - Dst: g_settings_backend_get_writable
      Src: /src/glib/gio/gsettings.c:2411,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - settings
    - name
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2415
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2415
    functionName: g_settings_is_writable
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS
    - g_free
    - g_strconcat
    - g_return_val_if_fail
    - g_settings_backend_get_writable
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_is_writable (GSettings *settings, const gchar
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsettings.c:2768,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gsettings.c:2768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - value
    - variant
    - user_data
    argTypes:
    - GValue*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2770
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2770
    functionName: g_settings_bind_invert_boolean_get_mapping
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_get_boolean
    - g_value_set_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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionInterface*
    constantsTouched: []
    func_position:
      end: 3332
      start: 3321
    functionDepth: 0
    functionLinenumber: 3321
    functionLinenumberEnd: 3332
    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_variant_new_boolean
      Src: /src/glib/gio/gsettings.c:2777,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsettings.c:2777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - value
    - expected_type
    - user_data
    argTypes:
    - GValue*
    - GVariantType*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2778
      start: 2772
    functionDepth: 0
    functionLinenumber: 2772
    functionLinenumberEnd: 2778
    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_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3340,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3343,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3342,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3341,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSettingsActionClass*
    constantsTouched: []
    func_position:
      end: 3345
      start: 3334
    functionDepth: 0
    functionLinenumber: 3334
    functionLinenumberEnd: 3345
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1061,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1062,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:1064,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:1062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - schema_id
    - backend
    argTypes:
    - gchar*
    - GSettingsBackend*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1068
    functionName: g_settings_new_with_backend
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_return_val_if_fail
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: GSettings*
    signature: 'GSettings *g_settings_new_with_backend (const gchar *schema_id, GSettingsBackend
      *backend) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1525,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1528,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1525,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1532,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1526,1
    - Dst: g_settings_schema_key_from_flags
      Src: /src/glib/gio/gsettings.c:1537,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1539,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1541,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1542,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:1546,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1547,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsettings.c:1546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1550
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1550
    functionName: g_settings_set_flags
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_schema_key_from_flags
    - g_settings_write_to_backend
    - g_settings_schema_get_id
    - g_critical
    - g_steal_pointer
    - g_settings_schema_key_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_flags (GSettings *settings, const gchar *key,
      guint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gsettings.c:2237,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gsettings.c:2239,1
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 2242
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2242
    functionName: g_settings_set_strv
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_settings_set_value
    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:2291,1
    - Dst: g_delayed_settings_backend_apply
      Src: /src/glib/gio/gsettings.c:2296,1
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2298
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2298
    functionName: g_settings_apply
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_DELAYED_SETTINGS_BACKEND
    - G_IS_DELAYED_SETTINGS_BACKEND
    - g_delayed_settings_backend_apply
    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:2558,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:2560,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings.c:2559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2563
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2563
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gsettings.c:3030,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:3031,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettings.c:3032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3033
      start: 3025
    functionDepth: 0
    functionLinenumber: 3025
    functionLinenumberEnd: 3033
    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_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1030,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:1033,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1031,1
    - Dst: path_is_valid
      Src: /src/glib/gio/gsettings.c:1031,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - schema_id
    - path
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1037
    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_variant_get_type
      Src: /src/glib/gio/gsettings.c:3213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 3214
      start: 3208
    functionDepth: 0
    functionLinenumber: 3208
    functionLinenumberEnd: 3214
    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
      Src: /src/glib/gio/gsettings.c:427,1
    - Dst: g_settings_schema_has_key
      Src: /src/glib/gio/gsettings.c:446,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:451,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettings.c:450,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - target
    - backend
    - key
    - origin_tag
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 454
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 454
    functionName: settings_backend_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_has_key
    - g_signal_emit
    - g_quark_from_string
    - G_SETTINGS
    linkageType: ''
    returnType: void
    signature: 'static void settings_backend_changed (GObject *target, GSettingsBackend
      *backend, const gchar *key, gpointer origin_tag) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:619,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsettings.c:632,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsettings.c:628,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:628,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsettings.c:624,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsettings.c:636,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsettings.c:640,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/gsettings.c:640,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsettings.c:644,1
    - Dst: G_IS_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:644,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsettings.c:648,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 650
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 650
    functionName: g_settings_get_property
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_SETTINGS
    - g_settings_schema_get_id
    - g_value_set_boxed
    - g_assert_not_reached
    - G_IS_DELAYED_SETTINGS_BACKEND
    - g_value_set_object
    - g_settings_get_has_unapplied
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:1949,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gsettings.c:1949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gint64
    constantsTouched: []
    func_position:
      end: 1950
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1950
    functionName: g_settings_set_int64
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_new_int64
    - g_settings_set_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_int64 (GSettings *settings, const gchar *key,
      gint64 value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettings.c:3193,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings.c:3194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 3198
      start: 3187
    functionDepth: 0
    functionLinenumber: 3187
    functionLinenumberEnd: 3198
    functionName: g_settings_action_get_parameter_type
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    - g_variant_type_equal
    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:3255,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:3264,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gsettings.c:3263,1
    - Dst: g_settings_action_get_state
      Src: /src/glib/gio/gsettings.c:3262,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gsettings.c:3263,1
    - Dst: g_action_change_state
      Src: /src/glib/gio/gsettings.c:3267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - action
    - parameter
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3268
      start: 3249
    functionDepth: 0
    functionLinenumber: 3249
    functionLinenumberEnd: 3268
    functionName: g_settings_action_activate
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_get_boolean
    - g_variant_unref
    - g_variant_new_boolean
    - g_action_change_state
    - g_settings_action_get_state
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_activate (GAction *action, GVariant
      *parameter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:3222,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:3225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 3228
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3228
    functionName: g_settings_action_get_state
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_default_value
    - g_settings_read_from_backend
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_action_get_state (GAction *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:462,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gsettings.c:465,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - target
    - backend
    - path
    - origin_tag
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 468
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 468
    functionName: settings_backend_path_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_signal_emit
    - G_SETTINGS
    linkageType: ''
    returnType: void
    signature: 'static void settings_backend_path_changed (GObject *target, GSettingsBackend
      *backend, const gchar *path, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 3185
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3185
    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:3205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 3206
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3206
    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:3274,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsettings.c:3279,1
    - Dst: g_settings_action_get_name
      Src: /src/glib/gio/gsettings.c:3279,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsettings.c:3283,1
    - Dst: g_settings_action_get_parameter_type
      Src: /src/glib/gio/gsettings.c:3283,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsettings.c:3287,1
    - Dst: g_settings_action_get_enabled
      Src: /src/glib/gio/gsettings.c:3287,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsettings.c:3291,1
    - Dst: g_settings_action_get_state_type
      Src: /src/glib/gio/gsettings.c:3291,1
    - Dst: g_value_take_variant
      Src: /src/glib/gio/gsettings.c:3295,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsettings.c:3299,1
    - Dst: g_settings_action_get_state
      Src: /src/glib/gio/gsettings.c:3295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 3301
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3301
    functionName: g_settings_action_get_property
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_settings_action_get_name
    - g_value_set_boxed
    - g_assert_not_reached
    - g_settings_action_get_state_type
    - g_settings_action_get_enabled
    - g_settings_action_get_state
    - g_value_set_boolean
    - g_value_take_variant
    - G_ACTION
    - g_settings_action_get_parameter_type
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1579,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1580,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1579,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettings.c:1582,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1583,1
    - Dst: g_settings_schema_key_type_check
      Src: /src/glib/gio/gsettings.c:1585,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1587,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1589,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gsettings.c:1590,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings.c:1591,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings.c:1594,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1608,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1607,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettings.c:1596,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1599,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:1604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1611
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1611
    functionName: g_settings_set_value
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_variant_get_type_string
    - g_variant_type_peek_string
    - g_settings_write_to_backend
    - g_settings_schema_get_id
    - g_settings_schema_key_range_check
    - g_variant_unref
    - g_settings_schema_key_type_check
    - g_critical
    - g_warning
    - g_variant_ref_sink
    - g_settings_schema_key_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_value (GSettings *settings, const gchar *key,
      GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2314,1
    - Dst: g_delayed_settings_backend_revert
      Src: /src/glib/gio/gsettings.c:2319,1
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2321
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2321
    functionName: g_settings_revert
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_DELAYED_SETTINGS_BACKEND
    - G_IS_DELAYED_SETTINGS_BACKEND
    - g_delayed_settings_backend_revert
    linkageType: ''
    returnType: void
    signature: 'void g_settings_revert (GSettings *settings) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2260,1
    - Dst: G_IS_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2262,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2260,1
    - Dst: g_delayed_settings_backend_new
      Src: /src/glib/gio/gsettings.c:2265,1
    - Dst: g_settings_backend_unwatch
      Src: /src/glib/gio/gsettings.c:2268,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsettings.c:2268,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:2269,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2271,1
    - Dst: g_settings_backend_watch
      Src: /src/glib/gio/gsettings.c:2272,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsettings.c:2273,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsettings.c:2276,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsettings.c:2276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2277
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2277
    functionName: g_settings_delay
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SETTINGS
    - g_delayed_settings_backend_new
    - g_object_unref
    - G_SETTINGS_BACKEND
    - G_IS_DELAYED_SETTINGS_BACKEND
    - g_object_notify
    - g_settings_backend_watch
    - g_settings_backend_unwatch
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_settings_delay (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:1976,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1978,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gsettings.c:1977,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1981
    functionName: g_settings_get_uint
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_value
    - g_variant_unref
    - g_variant_get_uint32
    linkageType: ''
    returnType: guint
    signature: 'guint g_settings_get_uint (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:1163,1
    - Dst: g_settings_backend_write
      Src: /src/glib/gio/gsettings.c:1164,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:1165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1168
    functionName: g_settings_write_to_backend
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_settings_backend_write
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_write_to_backend (GSettings *settings,
      GSettingsSchemaKey *key, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1269,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1269,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1270,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1272,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1273,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1277
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1277
    functionName: g_settings_get_user_value
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_read_from_backend
    - g_settings_schema_key_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_get_user_value (GSettings *settings, const gchar
      *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1414,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1415,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1417,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1414,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1421,1
    - Dst: g_settings_schema_key_from_enum
      Src: /src/glib/gio/gsettings.c:1426,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1428,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1430,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1431,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:1435,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1436,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsettings.c:1435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 1439
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1439
    functionName: g_settings_set_enum
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_write_to_backend
    - g_settings_schema_get_id
    - g_settings_schema_key_from_enum
    - g_critical
    - g_steal_pointer
    - g_settings_schema_key_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_enum (GSettings *settings, const gchar *key,
      gint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gsettings.c:1686,1
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:1690,1
    - Dst: va_end
      Src: /src/glib/gio/gsettings.c:1688,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gsettings.c:1687,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsettings.c:1690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - settings
    - key
    - format
    - '...'
    argTypes:
    - GSettings*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1691
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1691
    functionName: g_settings_set
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_new_va
    - va_start
    - g_steal_pointer
    - g_settings_set_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set (GSettings *settings, const gchar *key, const
      gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:3043,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:3044,1
    - Dst: g_object_set
      Src: /src/glib/gio/gsettings.c:3051,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/gsettings.c:3046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3052
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3052
    functionName: g_settings_binding_writable_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_set
    - g_settings_is_writable
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_binding_writable_changed (GSettings *settings,
      const gchar *key, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:1180,1
    - Dst: g_settings_backend_read
      Src: /src/glib/gio/gsettings.c:1184,1
    - Dst: g_settings_backend_read_user_value
      Src: /src/glib/gio/gsettings.c:1182,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:1185,1
    - Dst: g_settings_schema_key_range_fixup
      Src: /src/glib/gio/gsettings.c:1189,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - settings
    - key
    - user_value_only
    - default_value
    argTypes:
    - GSettings*
    - GSettingsSchemaKey*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 1196
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1196
    functionName: g_settings_read_from_backend
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_backend_read_user_value
    - g_settings_schema_key_range_fixup
    - g_free
    - g_variant_unref
    - g_settings_backend_read
    - g_strconcat
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_read_from_backend (GSettings *settings,
      GSettingsSchemaKey *key, gboolean user_value_only, gboolean default_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1220,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1220,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1224,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1223,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1221,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:1227,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1232
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1232
    functionName: g_settings_get_value
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_read_from_backend
    - g_settings_schema_key_get_default_value
    - g_settings_schema_key_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_get_value (GSettings *settings, const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:1640,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1644,1
    - Dst: strchr
      Src: /src/glib/gio/gsettings.c:1642,1
    - Dst: va_start
      Src: /src/glib/gio/gsettings.c:1649,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1646,1
    - Dst: g_variant_get_va
      Src: /src/glib/gio/gsettings.c:1650,1
    - Dst: va_end
      Src: /src/glib/gio/gsettings.c:1651,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - settings
    - key
    - format
    - '...'
    argTypes:
    - GSettings*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1654
    functionName: g_settings_get
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - va_end
    - g_settings_schema_get_id
    - g_settings_get_value
    - g_variant_unref
    - va_start
    - g_critical
    - g_variant_get_va
    - strchr
    linkageType: ''
    returnType: void
    signature: 'void g_settings_get (GSettings *settings, const gchar *key, const
      gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:2034,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2036,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/gsettings.c:2035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2039
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2039
    functionName: g_settings_get_uint64
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_value
    - g_variant_unref
    - g_variant_get_uint64
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_settings_get_uint64 (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_binding_quark
      Src: /src/glib/gio/gsettings.c:3148,1
    - Dst: g_object_set_qdata
      Src: /src/glib/gio/gsettings.c:3149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - object
    - property
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3150
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3150
    functionName: g_settings_unbind
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_binding_quark
    - g_object_set_qdata
    linkageType: ''
    returnType: void
    signature: 'void g_settings_unbind (gpointer object, const gchar *property) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1471,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1471,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1478,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1472,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1474,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1480,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1484,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:1487,1
    - Dst: g_settings_schema_key_to_flags
      Src: /src/glib/gio/gsettings.c:1489,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1490,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1491,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1494
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1494
    functionName: g_settings_get_flags
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_read_from_backend
    - g_settings_schema_key_to_flags
    - g_variant_unref
    - g_critical
    - g_settings_schema_key_get_default_value
    - g_settings_schema_key_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_settings_get_flags (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2007,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gsettings.c:2007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 2008
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2008
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gsettings.c:3095,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:3093,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettings.c:3110,1
    - Dst: g_intern_string
      Src: /src/glib/gio/gsettings.c:3113,1
    - Dst: g_settings_binding_writable_changed
      Src: /src/glib/gio/gsettings.c:3126,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3121,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:3093,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:3104,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:3105,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gsettings.c:3109,1
    - Dst: g_intern_string
      Src: /src/glib/gio/gsettings.c:3112,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsettings.c:3123,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:3119,1
    - Dst: g_settings_binding_quark
      Src: /src/glib/gio/gsettings.c:3123,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/gsettings.c:3095,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:3098,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:3099,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:3118,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:3116,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: 3127
      start: 3082
    functionDepth: 0
    functionLinenumber: 3082
    functionLinenumberEnd: 3127
    functionName: g_settings_bind_writable
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS
    - g_object_ref
    - g_intern_string
    - g_signal_connect
    - G_OBJECT_GET_CLASS
    - g_free
    - g_object_set_qdata_full
    - g_critical
    - g_strdup_printf
    - G_CALLBACK
    - G_OBJECT_TYPE_NAME
    - g_slice_new
    - g_object_class_find_property
    - g_settings_binding_quark
    - g_settings_binding_writable_changed
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_settings_bind_writable (GSettings *settings, const gchar *key,
      gpointer object, const gchar *property, gboolean inverted) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1742,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1748,1
    - Dst: g_settings_schema_key_get_translated_default
      Src: /src/glib/gio/gsettings.c:1755,1
    - Dst: g_settings_schema_key_get_per_desktop_default
      Src: /src/glib/gio/gsettings.c:1762,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:1773,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1775,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1742,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1746,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1744,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1751,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1758,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1765,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1769,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1778,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1743,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1750,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1757,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1764,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1772,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 4
    argNames:
    - settings
    - key
    - mapping
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - GSettingsGetMapping
    - gpointer
    constantsTouched: []
    func_position:
      end: 1781
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1781
    functionName: g_settings_get_mapped
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_translated_default
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_schema_get_id
    - g_settings_read_from_backend
    - g_variant_unref
    - g_error
    - g_settings_schema_key_get_per_desktop_default
    - mapping
    - g_settings_schema_key_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_settings_get_mapped (GSettings *settings, const gchar *key,
      GSettingsGetMapping mapping, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2065,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gsettings.c:2065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - guint64
    constantsTouched: []
    func_position:
      end: 2066
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2066
    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_return_if_fail
      Src: /src/glib/gio/gsettings.c:2362,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:2365,1
    - Dst: g_settings_backend_reset
      Src: /src/glib/gio/gsettings.c:2366,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2362,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2363,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2368
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2368
    functionName: g_settings_reset
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS
    - g_free
    - g_settings_backend_reset
    - g_strconcat
    - g_return_if_fail
    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:2337,1
    - Dst: g_delayed_settings_backend_get_has_unapplied
      Src: /src/glib/gio/gsettings.c:2340,1
    - Dst: G_IS_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2339,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2337,1
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2342
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2342
    functionName: g_settings_get_has_unapplied
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_DELAYED_SETTINGS_BACKEND
    - G_IS_SETTINGS
    - G_IS_DELAYED_SETTINGS_BACKEND
    - g_delayed_settings_backend_get_has_unapplied
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_get_has_unapplied (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:1807,1
    - Dst: g_variant_dup_string
      Src: /src/glib/gio/gsettings.c:1808,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1812
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1812
    functionName: g_settings_get_string
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_dup_string
    - g_settings_get_value
    - g_variant_unref
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_settings_get_string (GSettings *settings, const gchar *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:76,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32inputstream.c:87,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gwin32inputstream.c:81,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gwin32inputstream.c:84,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    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_win32_input_stream_set_property
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - G_WIN32_INPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_pointer
    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:246,1
    - Dst: P_
      Src: /src/glib/gio/gwin32inputstream.c:265,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gwin32inputstream.c:263,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gwin32inputstream.c:247,1
    - Dst: P_
      Src: /src/glib/gio/gwin32inputstream.c:264,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gwin32inputstream.c:279,1
    - Dst: P_
      Src: /src/glib/gio/gwin32inputstream.c:280,1
    - Dst: P_
      Src: /src/glib/gio/gwin32inputstream.c:281,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gwin32inputstream.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32InputStreamClass*
    constantsTouched: []
    func_position:
      end: 288
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 288
    functionName: g_win32_input_stream_class_init
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM_CLASS
    - g_param_spec_boolean
    - g_object_class_install_properties
    - g_param_spec_pointer
    - G_OBJECT_CLASS
    - P_
    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:128,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32inputstream.c:139,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gwin32inputstream.c:138,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gwin32inputstream.c:130,1
    - Dst: ReadFile
      Src: /src/glib/gio/gwin32inputstream.c:141,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32inputstream.c:146,1
    - Dst: _g_win32_overlap_wait_result
      Src: /src/glib/gio/gwin32inputstream.c:149,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gwin32inputstream.c:156,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32inputstream.c:159,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gwin32inputstream.c:183,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32inputstream.c:184,1
    - Dst: _
      Src: /src/glib/gio/gwin32inputstream.c:186,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32inputstream.c:188,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32inputstream.c:193,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32inputstream.c:185,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: 195
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 195
    functionName: g_win32_input_stream_read
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_win32_error_message
    - CloseHandle
    - ReadFile
    - g_cancellable_set_error_if_cancelled
    - G_WIN32_INPUT_STREAM
    - g_io_error_from_win32_error
    - CreateEvent
    - GetLastError
    - g_return_val_if_fail
    - _g_win32_overlap_wait_result
    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:344,1
    - Dst: G_IS_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:344,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gwin32inputstream.c:350,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gwin32inputstream.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - close_handle
    argTypes:
    - GWin32InputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: g_win32_input_stream_set_close_handle
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - G_IS_WIN32_INPUT_STREAM
    - g_object_notify
    - 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:386,1
    - Dst: G_IS_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GWin32InputStream*
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    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:100,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gwin32inputstream.c:105,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gwin32inputstream.c:108,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32inputstream.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: g_win32_input_stream_get_property
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - G_WIN32_INPUT_STREAM
    - g_value_set_pointer
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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:205,1
    - Dst: close
      Src: /src/glib/gio/gwin32inputstream.c:212,1
    - Dst: _
      Src: /src/glib/gio/gwin32inputstream.c:218,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32inputstream.c:216,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32inputstream.c:217,1
    - Dst: g_strerror
      Src: /src/glib/gio/gwin32inputstream.c:219,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32inputstream.c:225,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32inputstream.c:228,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gwin32inputstream.c:229,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32inputstream.c:231,1
    - Dst: _
      Src: /src/glib/gio/gwin32inputstream.c:233,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32inputstream.c:235,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32inputstream.c:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 241
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 241
    functionName: g_win32_input_stream_close
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_strerror
    - CloseHandle
    - close
    - G_WIN32_INPUT_STREAM
    - g_io_error_from_win32_error
    - GetLastError
    - g_win32_error_message
    - g_io_error_from_errno
    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:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - win32_stream
    argTypes:
    - GWin32InputStream*
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    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:397,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gwin32inputstream.c:397,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/gwin32inputstream.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_fd
    argTypes:
    - gint
    - gboolean
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: g_win32_input_stream_new_from_fd
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - G_WIN32_INPUT_STREAM
    - g_win32_input_stream_new
    - _get_osfhandle
    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:320,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32inputstream.c:322,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - close_handle
    argTypes:
    - void*
    - gboolean
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: g_win32_input_stream_new
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM
    - g_return_val_if_fail
    - 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:368,1
    - Dst: G_IS_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GWin32InputStream*
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    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:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - nl
    argTypes:
    - GNetworkMonitorNetlink*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    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:170,1
    - Dst: memset
      Src: /src/glib/gio/gnetworkmonitornetlink.c:172,1
    - Dst: NLMSG_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:178,1
    - Dst: NLMSG_LENGTH
      Src: /src/glib/gio/gnetworkmonitornetlink.c:174,1
    - Dst: g_socket_send
      Src: /src/glib/gio/gnetworkmonitornetlink.c:181,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:184,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:184,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gnetworkmonitornetlink.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - nl
    - error
    argTypes:
    - GNetworkMonitorNetlink*
    - GError**
    constantsTouched: []
    func_position:
      end: 190
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 190
    functionName: request_dump
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - _
    - g_ptr_array_new_with_free_func
    - NLMSG_SPACE
    - memset
    - g_prefix_error
    - NLMSG_LENGTH
    - g_socket_send
    - NLMSG_DATA
    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:214,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gnetworkmonitornetlink.c:221,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:215,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gnetworkmonitornetlink.c:219,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/gnetworkmonitornetlink.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - nl
    argTypes:
    - GNetworkMonitorNetlink*
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: queue_request_dump
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_attach
    - g_source_unref
    - g_source_destroy
    - g_timeout_source_new_seconds
    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:248,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnetworkmonitornetlink.c:249,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gnetworkmonitornetlink.c:252,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/gnetworkmonitornetlink.c:254,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:252,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitornetlink.c:254,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - nl
    - family
    - dest
    - dest_len
    argTypes:
    - GNetworkMonitorNetlink*
    - GSocketFamily
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: add_network
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_NETWORK_MONITOR_BASE
    - g_object_unref
    - g_network_monitor_base_add_network
    - create_inet_address_mask
    - g_ptr_array_add
    - g_return_if_fail
    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:290,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitornetlink.c:290,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gnetworkmonitornetlink.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nl
    argTypes:
    - GNetworkMonitorNetlink*
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: finish_dump
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_network_monitor_base_set_networks
    - g_ptr_array_free
    - G_NETWORK_MONITOR_BASE
    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:456,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:462,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_OBJECT_CLASS
    - g_clear_pointer
    - g_object_unref
    - G_NETWORK_MONITOR_NETLINK
    - g_source_unref
    - g_socket_close
    - g_source_destroy
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkmonitornetlink.c:197,1
    - Dst: request_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:201,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 204
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gnetworkmonitornetlink.c:111,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:131,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gnetworkmonitornetlink.c:156,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gnetworkmonitornetlink.c:157,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gnetworkmonitornetlink.c:159,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:99,1
    - Dst: g_strerror
      Src: /src/glib/gio/gnetworkmonitornetlink.c:101,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:112,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gnetworkmonitornetlink.c:126,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/gnetworkmonitornetlink.c:118,1
    - Dst: read_netlink_messages
      Src: /src/glib/gio/gnetworkmonitornetlink.c:146,1
    - Dst: G_NETWORK_MONITOR_NETLINK
      Src: /src/glib/gio/gnetworkmonitornetlink.c:88,1
    - Dst: g_socket
      Src: /src/glib/gio/gnetworkmonitornetlink.c:95,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gnetworkmonitornetlink.c:99,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:121,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:130,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:121,1
    - Dst: g_strerror
      Src: /src/glib/gio/gnetworkmonitornetlink.c:132,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gnetworkmonitornetlink.c:155,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gnetworkmonitornetlink.c:154,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:100,1
    - Dst: bind
      Src: /src/glib/gio/gnetworkmonitornetlink.c:108,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:111,1
    - Dst: g_strerror
      Src: /src/glib/gio/gnetworkmonitornetlink.c:113,1
    - Dst: g_close
      Src: /src/glib/gio/gnetworkmonitornetlink.c:122,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gnetworkmonitornetlink.c:130,1
    - Dst: g_close
      Src: /src/glib/gio/gnetworkmonitornetlink.c:114,1
    - Dst: request_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:137,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitornetlink.c:148,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 162
    functionName: g_network_monitor_netlink_initable_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_close
    - _
    - g_clear_error
    - g_source_attach
    - g_io_error_from_errno
    - bind
    - g_socket
    - g_strerror
    - g_main_context_ref_thread_default
    - g_socket_create_source
    - g_socket_set_option
    - g_socket_new_from_fd
    - g_warning
    - g_prefix_error
    - request_dump
    - g_socket_set_blocking
    - g_set_error
    - g_source_set_callback
    - read_netlink_messages
    - G_NETWORK_MONITOR_NETLINK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_netlink_initable_init (GInitable
      *initable, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gnetworkmonitornetlink.c:233,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:237,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gnetworkmonitornetlink.c:235,1
    - Dst: g_inet_address_mask_new
      Src: /src/glib/gio/gnetworkmonitornetlink.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - family
    - dest
    - dest_len
    argTypes:
    - GSocketFamily
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: create_inet_address_mask
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_inet_address_new_from_bytes
    - g_object_unref
    - g_inet_address_mask_new
    - g_inet_address_new_any
    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:265,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gnetworkmonitornetlink.c:276,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/gnetworkmonitornetlink.c:281,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnetworkmonitornetlink.c:266,1
    - Dst: g_inet_address_mask_equal
      Src: /src/glib/gio/gnetworkmonitornetlink.c:275,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitornetlink.c:281,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - nl
    - family
    - dest
    - dest_len
    argTypes:
    - GNetworkMonitorNetlink*
    - GSocketFamily
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: remove_network
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - G_NETWORK_MONITOR_BASE
    - g_object_unref
    - create_inet_address_mask
    - g_inet_address_mask_equal
    - g_network_monitor_base_remove_network
    - g_ptr_array_remove_index_fast
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void remove_network (GNetworkMonitorNetlink *nl, GSocketFamily
      family, const guint8 *dest, gsize dest_len) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gnetworkmonitornetlink.c:328,1
    - Dst: NLMSG_PAYLOAD
      Src: /src/glib/gio/gnetworkmonitornetlink.c:370,1
    - Dst: UNALIGNED_IN6_IS_ADDR_MC_LINKLOCAL
      Src: /src/glib/gio/gnetworkmonitornetlink.c:396,1
    - Dst: finish_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:408,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gnetworkmonitornetlink.c:417,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnetworkmonitornetlink.c:437,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gnetworkmonitornetlink.c:336,1
    - Dst: NLMSG_NEXT
      Src: /src/glib/gio/gnetworkmonitornetlink.c:347,1
    - Dst: g_malloc
      Src: /src/glib/gio/gnetworkmonitornetlink.c:326,1
    - Dst: RTM_RTA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:371,1
    - Dst: RTA_OK
      Src: /src/glib/gio/gnetworkmonitornetlink.c:373,1
    - Dst: RTA_NEXT
      Src: /src/glib/gio/gnetworkmonitornetlink.c:381,1
    - Dst: RTA_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:376,1
    - Dst: NLMSG_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:413,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gnetworkmonitornetlink.c:318,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gnetworkmonitornetlink.c:351,1
    - Dst: NLMSG_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:363,1
    - Dst: RTA_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:378,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:425,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkmonitornetlink.c:436,1
    - Dst: finish_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:440,1
    - Dst: NLMSG_OK
      Src: /src/glib/gio/gnetworkmonitornetlink.c:349,1
    - Dst: queue_request_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:403,1
    - Dst: remove_network
      Src: /src/glib/gio/gnetworkmonitornetlink.c:402,1
    - Dst: RTA_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:380,1
    - Dst: add_network
      Src: /src/glib/gio/gnetworkmonitornetlink.c:400,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:415,1
    - Dst: g_strerror
      Src: /src/glib/gio/gnetworkmonitornetlink.c:419,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:443,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 92
    argCount: 2
    argNames:
    - nl
    - error
    argTypes:
    - GNetworkMonitorNetlink*
    - GError**
    constantsTouched: []
    func_position:
      end: 446
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 446
    functionName: read_netlink_messages
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_io_error_from_errno
    - NLMSG_DATA
    - g_strerror
    - UNALIGNED_IN6_IS_ADDR_MC_LINKLOCAL
    - RTA_NEXT
    - g_set_error_literal
    - finish_dump
    - RTA_OK
    - NLMSG_NEXT
    - g_socket_address_to_native
    - RTM_RTA
    - RTA_DATA
    - add_network
    - g_socket_receive_message
    - g_propagate_prefixed_error
    - NLMSG_PAYLOAD
    - g_malloc
    - g_set_error
    - g_free
    - g_clear_object
    - remove_network
    - queue_request_dump
    - NLMSG_OK
    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_warning
      Src: /src/glib/gio/gnetworkmonitornetlink.c:487,1
    - Dst: read_netlink_messages
      Src: /src/glib/gio/gnetworkmonitornetlink.c:485,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:488,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:
    - read_netlink_messages
    - g_warning
    - g_clear_error
    - G_NETWORK_MONITOR_NETLINK
    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:91,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusactiongroup.c:99,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:94,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusactiongroup.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: action_info_free
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_slice_free
    - g_variant_unref
    - g_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:256,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusactiongroup.c:259,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusactiongroup.c:260,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusactiongroup.c:267,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusactiongroup.c:257,1
    - Dst: action_info_new_from_iter
      Src: /src/glib/gio/gdbusactiongroup.c:268,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusactiongroup.c:270,1
    - Dst: g_action_group_action_added
      Src: /src/glib/gio/gdbusactiongroup.c:273,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:273,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:275,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:276,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusactiongroup.c:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 280
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 280
    functionName: g_dbus_action_group_describe_all_done
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_unref
    - g_hash_table_insert
    - g_object_unref
    - g_variant_get
    - g_variant_iter_free
    - action_info_new_from_iter
    - g_dbus_connection_call_finish
    - g_hash_table_new_full
    - g_action_group_action_added
    - G_ACTION_GROUP
    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:301,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusactiongroup.c:313,1
    - Dst: g_new
      Src: /src/glib/gio/gdbusactiongroup.c:311,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusactiongroup.c:310,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:314,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusactiongroup.c:315,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gdbusactiongroup.c:316,1
    - Dst: g_dbus_action_group_async_init
      Src: /src/glib/gio/gdbusactiongroup.c:321,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusactiongroup.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - g_group
    argTypes:
    - GActionGroup*
    constantsTouched: []
    func_position:
      end: 328
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 328
    functionName: g_dbus_action_group_list_actions
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_cmpint
    - g_new0
    - g_hash_table_size
    - G_DBUS_ACTION_GROUP
    - g_new
    - g_hash_table_iter_next
    - g_dbus_action_group_async_init
    - g_hash_table_iter_init
    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:384,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusactiongroup.c:390,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusactiongroup.c:387,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusactiongroup.c:392,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusactiongroup.c:387,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusactiongroup.c:393,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: 395
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 395
    functionName: g_dbus_action_group_activate_action_full
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_call
    - G_DBUS_ACTION_GROUP
    - g_variant_builder_add
    - g_variant_builder_init
    - g_variant_new
    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:415,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:415,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusactiongroup.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - group
    - action_name
    - value
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: g_dbus_action_group_change_state
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - G_REMOTE_ACTION_GROUP
    - g_dbus_action_group_change_action_state_full
    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:431,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusactiongroup.c:439,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusactiongroup.c:440,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusactiongroup.c:437,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusactiongroup.c:434,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusactiongroup.c:441,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusactiongroup.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: g_dbus_action_group_finalize
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_unref
    - G_OBJECT_CLASS
    - G_DBUS_ACTION_GROUP
    - g_object_unref
    - g_dbus_connection_signal_unsubscribe
    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:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GDBusActionGroupClass*
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 458
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusactiongroup.c:508,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusactiongroup.c:512,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusactiongroup.c:510,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusactiongroup.c:511,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusactiongroup.c:508,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusactiongroup.c:513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - connection
    - bus_name
    - object_path
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 516
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 516
    functionName: g_dbus_action_group_get
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_object_new
    - g_dbus_connection_get_unique_name
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusActionGroup*
    signature: 'GDBusActionGroup *g_dbus_action_group_get (GDBusConnection *connection,
      const gchar *bus_name, const gchar *object_path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:111,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:120,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gdbusactiongroup.c:119,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gdbusactiongroup.c:115,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:123,1
    - Dst: g_variant_type_copy
      Src: /src/glib/gio/gdbusactiongroup.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 131
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 131
    functionName: action_info_new_from_iter
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_unref
    - g_variant_get_child
    - g_slice_new
    - g_variant_iter_next
    - g_variant_type_copy
    linkageType: ''
    returnType: ActionInfo*
    signature: 'static ActionInfo *action_info_new_from_iter (GVariantIter *iter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusactiongroup.c:156,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusactiongroup.c:168,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/gdbusactiongroup.c:210,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:219,1
    - Dst: action_info_new_from_iter
      Src: /src/glib/gio/gdbusactiongroup.c:230,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusactiongroup.c:156,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:163,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:203,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:213,1
    - Dst: g_action_group_action_state_changed
      Src: /src/glib/gio/gdbusactiongroup.c:216,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusactiongroup.c:234,1
    - Dst: action_info_free
      Src: /src/glib/gio/gdbusactiongroup.c:240,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:242,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:164,1
    - Dst: g_action_group_action_removed
      Src: /src/glib/gio/gdbusactiongroup.c:169,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:186,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:208,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusactiongroup.c:211,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusactiongroup.c:214,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:221,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:232,1
    - Dst: g_action_group_action_added
      Src: /src/glib/gio/gdbusactiongroup.c:237,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusactiongroup.c:155,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:166,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:172,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:181,1
    - Dst: g_action_group_action_enabled_changed
      Src: /src/glib/gio/gdbusactiongroup.c:191,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:194,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:204,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusactiongroup.c:211,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:182,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:229,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: 245
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 245
    functionName: g_dbus_action_group_changed
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_action_group_action_enabled_changed
    - g_variant_get_child
    - g_variant_ref
    - g_variant_iter_next
    - g_action_group_action_state_changed
    - g_action_group_action_added
    - g_variant_unref
    - g_hash_table_remove
    - g_variant_iter_free
    - g_variant_get_type
    - g_str_equal
    - G_VARIANT_TYPE
    - g_action_group_action_removed
    - action_info_free
    - action_info_new_from_iter
    - g_variant_equal
    - g_hash_table_lookup
    - g_variant_is_of_type
    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:290,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusactiongroup.c:295,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusactiongroup.c:294,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusactiongroup.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusActionGroup*
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: g_dbus_action_group_async_init
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_object_ref
    - g_dbus_connection_signal_subscribe
    - g_dbus_connection_call
    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:339,1
    - Dst: g_dbus_action_group_async_init
      Src: /src/glib/gio/gdbusactiongroup.c:371,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:344,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusactiongroup.c:359,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusactiongroup.c:365,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: 376
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 376
    functionName: g_dbus_action_group_query_action
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - G_DBUS_ACTION_GROUP
    - g_dbus_action_group_async_init
    - g_variant_get_type
    - g_variant_ref
    - g_hash_table_lookup
    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:403,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusactiongroup.c:405,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusactiongroup.c:406,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: 408
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 408
    functionName: g_dbus_action_group_change_action_state_full
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - G_DBUS_ACTION_GROUP
    - g_variant_new
    - g_dbus_connection_call
    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:424,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusactiongroup.c:425,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - group
    - action_name
    - parameter
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: g_dbus_action_group_activate
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - G_REMOTE_ACTION_GROUP
    - g_dbus_action_group_activate_action_full
    - g_variant_new
    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: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    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: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusactiongroup.c:525,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusactiongroup.c:531,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusactiongroup.c:528,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusactiongroup.c:540,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusactiongroup.c:532,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusactiongroup.c:541,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusactiongroup.c:543,1
    - Dst: action_info_new_from_iter
      Src: /src/glib/gio/gdbusactiongroup.c:544,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusactiongroup.c:545,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:546,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:547,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - group
    - cancellable
    - error
    argTypes:
    - GDBusActionGroup*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 551
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 551
    functionName: g_dbus_action_group_sync
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_assert
    - g_variant_unref
    - g_hash_table_insert
    - g_variant_get
    - g_variant_iter_free
    - action_info_new_from_iter
    - g_hash_table_new_full
    - g_dbus_connection_signal_subscribe
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SOCKET_OUTPUT_STREAM
    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_send_message_with_timeout
    - G_SOCKET_OUTPUT_STREAM
    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_CLASS
    - g_object_unref
    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_pollable_source_new
      Src: /src/glib/gio/gsocketoutputstream.c:215,1
    - Dst: G_OBJECT
      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: 2
    argNames:
    - pollable
    - cancellable
    argTypes:
    - GPollableOutputStream*
    - GCancellable*
    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_OBJECT
    - G_SOCKET_OUTPUT_STREAM
    - g_source_unref
    - g_socket_create_source
    - g_source_add_child_source
    - g_pollable_source_new
    - 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: P_
      Src: /src/glib/gio/gsocketoutputstream.c:250,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketoutputstream.c:248,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gsocketoutputstream.c:239,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketoutputstream.c:249,1
    - Dst: P_
      Src: /src/glib/gio/gsocketoutputstream.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: g_socket_output_stream_class_init
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_output_stream_class_init (GSocketOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableOutputStreamInterface*
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    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_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SOCKET_OUTPUT_STREAM
    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_OUTPUT_STREAM
    - g_socket_condition_check
    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_send_message_with_timeout
    - G_SOCKET_OUTPUT_STREAM
    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:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GSocketOutputStream*
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    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: 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:
    - IsEqualGUID
    - IStream_AddRef
    - IUnknown_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: 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:
    - __HRESULT_FROM_WIN32
    - WriteFile
    - GetLastError
    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: _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: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetFileInformationByHandle
      Src: /src/glib/gio/gwin32file-sync-stream.c:210,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:212,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:213,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:
    - __HRESULT_FROM_WIN32
    - GetLastError
    - SetFileInformationByHandle
    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: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:292,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:293,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:
    - __HRESULT_FROM_WIN32
    - GetLastError
    - FlushFileBuffers
    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:404,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
    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:
    - CoTaskMemFree
    - __HRESULT_FROM_WIN32
    - CoTaskMemAlloc
    - GetFinalPathNameByHandleW
    - memset
    - GetLastError
    - GetFileInformationByHandleEx
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_stat (IStream *self_ptr,
      STATSTG *output_stat, DWORD flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/glib/gio/gwin32file-sync-stream.c:132,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:135,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:134,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:
    - __HRESULT_FROM_WIN32
    - GetLastError
    - ReadFile
    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:
    - __HRESULT_FROM_WIN32
    - SetFilePointerEx
    - GetLastError
    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: SUCCEEDED
      Src: /src/glib/gio/gwin32file-sync-stream.c:265,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:269,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:
    - __HRESULT_FROM_WIN32
    - SUCCEEDED
    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:
    - CloseHandle
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void _file_sync_stream_free (GWin32FileSyncStream *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gwin32file-sync-stream.c:487,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
    - Dst: g_free
      Src: /src/glib/gio/gwin32file-sync-stream.c:493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - file_handle
    - owns_handle
    - stgm_mode
    - output_hresult
    argTypes:
    - HANDLE
    - gboolean
    - DWORD
    - HRESULT*
    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:
    - IUnknown_QueryInterface
    - g_free
    - g_new0
    - SUCCEEDED
    linkageType: ''
    returnType: IStream*
    signature: 'IStream *g_win32_file_sync_stream_new (HANDLE file_handle, gboolean
      owns_handle, DWORD stgm_mode, HRESULT *output_hresult) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:968,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:971,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:969,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:970,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:972,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: 3
    argNames:
    - server_challenge
    - client_challenge
    - cookie
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    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_new
    - g_string_append
    - g_compute_checksum_for_string
    - g_string_append_c
    - g_string_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *generate_sha1 (const gchar *server_challenge, const
      gchar *client_challenge, const gchar *cookie) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1039,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1045,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1046,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_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_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1072,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1073,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1079,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1066,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1078,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_free
    - G_DBUS_AUTH_MECHANISM_SHA1
    - g_strcmp0
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - g_strsplit
    - g_strdup_printf
    - g_strfreev
    - generate_sha1
    - g_strv_length
    - 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_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_IS_DBUS_AUTH_MECHANISM_SHA1
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mechanism_is_supported (GDBusAuthMechanism *mechanism) '
  - 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_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: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1093,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: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1117,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - mechanism
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gsize*
    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:
    - strlen
    - g_free
    - G_DBUS_AUTH_MECHANISM_SHA1
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - g_error_free
    - g_strdup_printf
    - g_return_val_if_fail
    - random_ascii_string
    - keyring_generate_entry
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_server_data_send (GDBusAuthMechanism *mechanism,
      gsize *out_data_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - 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: 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_prefix_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:409,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:410,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:414,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:444,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:433,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:437,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:485,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:490,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: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:447,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:491,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:493,1
    - 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_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
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 3
    argNames:
    - cookie_context
    - cookie_id
    - error
    argTypes:
    - gchar*
    - gint
    - GError**
    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_free
    - g_ascii_strtoll
    - g_assert
    - g_build_filename
    - g_strsplit
    - g_strfreev
    - g_prefix_error
    - g_file_get_contents
    - g_return_val_if_fail
    - g_strv_length
    - ensure_keyring_directory
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *keyring_lookup_entry (const gchar *cookie_context, gint
      cookie_id, GError **error) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ensure_keyring_directory
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:716,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:741,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: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:778,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:849,1
    - Dst: MAX
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:854,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:890,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:951,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_propagate_prefixed_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:739,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:755,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:771,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:788,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:792,1
    - Dst: _g_dbus_hexencode
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:889,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:920,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_error_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:938,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:872,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:895,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:701,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:702,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:747,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:748,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:774,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:740,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: random_blob
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:888,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:953,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:720,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:735,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_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_prefix_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:934,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:948,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:935,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:949,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:950,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_clear_error
    - g_steal_pointer
    - g_strfreev
    - _g_dbus_hexencode
    - g_return_val_if_fail
    - random_blob
    - ensure_keyring_directory
    - g_ascii_strtoll
    - g_file_set_contents_full
    - g_strsplit
    - g_string_free
    - g_error_free
    - g_build_filename
    - g_prefix_error
    - MAX
    - _log
    - g_propagate_prefixed_error
    - g_strv_length
    - g_get_real_time
    - g_set_error
    - g_string_new
    - g_free
    - g_assert
    - keyring_release_lock
    - g_string_append_printf
    - keyring_acquire_lock
    - g_file_get_contents
    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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - mechanism
    - data
    - data_len
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    - gsize*
    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_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: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1216,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1262,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1216,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
    - 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:1238,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1248,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1249,1
    - Dst: keyring_lookup_entry
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1245,1
    - Dst: generate_sha1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1256,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1257,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1264,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_free
    - G_DBUS_AUTH_MECHANISM_SHA1
    - g_ascii_strtoll
    - keyring_lookup_entry
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - g_error_free
    - random_ascii_string
    - g_strsplit
    - g_strdup_printf
    - g_strfreev
    - generate_sha1
    - g_strv_length
    - 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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - mechanism
    - data
    - data_len
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    - gsize*
    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: 9
    BranchProfiles: []
    Callsites:
    - 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: S_ISDIR
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:313,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:321,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_mkdir_with_parents
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:348,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
    - 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_getenv
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:284,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:287,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_steal_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:328,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    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:
    - stat
    - g_strdup
    - g_set_error
    - _
    - g_get_home_dir
    - g_clear_pointer
    - g_strerror
    - GLIB_PRIVATE_CALL
    - g_mkdir_with_parents
    - g_build_filename
    - g_steal_pointer
    - g_file_test
    - g_getenv
    - g_return_val_if_fail
    - g_io_error_from_errno
    - S_ISDIR
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *ensure_keyring_directory (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1271,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1274,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_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: 2
    argNames:
    - mechanism
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gsize*
    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:
    - strlen
    - g_strdup
    - G_DBUS_AUTH_MECHANISM_SHA1
    - g_assert
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_client_data_send (GDBusAuthMechanism *mechanism,
      gsize *out_data_len) '
  - 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: 1
    argNames:
    - len
    argTypes:
    - guint
    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_free
    - g_string_new
    - g_random_int_range
    - g_string_append_c
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *random_blob (guint 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_local_file_stat
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:534,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:535,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_open
    - g_set_error
    - _g_stat_mtim_nsec
    - _
    - g_strerror
    - g_io_error_from_errno
    - _g_stat_mtime
    - g_local_file_stat
    linkageType: ''
    returnType: gint
    signature: 'static gint create_lock_exclusive (const gchar *lock_path, gint64
      *mtime_nsec, GError **error) '
  - 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
    - _
    - create_lock_exclusive
    - g_free
    - g_strerror
    - g_usleep
    - g_unlink
    - g_strconcat
    - _log
    - g_return_val_if_fail
    - g_io_error_from_errno
    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_IS_DBUS_AUTH_MECHANISM_SHA1
    - g_return_val_if_fail
    - G_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:1136,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:1135,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1134,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    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_strdup
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - g_return_val_if_fail
    - G_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_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_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:647,1
    - Dst: close
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:648,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_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:674,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:662,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:664,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:665,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:667,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_free
    - g_strerror
    - close
    - g_strdup_printf
    - g_unlink
    - g_return_val_if_fail
    - g_io_error_from_errno
    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:999,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1000,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:
    - g_free
    - g_ascii_strtoll
    - G_DBUS_AUTH_MECHANISM_SHA1
    - _g_win32_current_process_sid_string
    - g_strcmp0
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - getuid
    - 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_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:1147,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1146,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:506,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:512,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:507,1
    - Dst: va_end
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:508,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:511,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:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void _log (const gchar *message, ...) '
  - 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:148,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:145,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:149,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:146,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_OBJECT_CLASS
    - G_DBUS_AUTH_MECHANISM_SHA1
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_sha1_finalize (GObject *object) '
  - 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: 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1157,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: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_IS_DBUS_AUTH_MECHANISM_SHA1
    - g_return_val_if_fail
    - G_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_OBJECT_CLASS
    - G_DBUS_AUTH_MECHANISM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_sha1_class_init (GDBusAuthMechanismSha1Class
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:251,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
    - Dst: random_ascii
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - len
    argTypes:
    - guint
    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_free
    - g_string_new
    - g_string_append_c
    - random_ascii
    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_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: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1173,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: 3
    argNames:
    - mechanism
    - conn_flags
    - out_initial_response_len
    argTypes:
    - GDBusAuthMechanism*
    - GDBusConnectionFlags
    - gsize*
    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:
    - strlen
    - G_DBUS_AUTH_MECHANISM_SHA1
    - _g_win32_current_process_sid_string
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - getuid
    - g_strdup_printf
    - g_return_val_if_fail
    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_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: 11
    BranchProfiles: []
    Callsites:
    - 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_output_stream_write_all
      Src: /src/glib/gio/gio-tool-save.c:102,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-save.c:107,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gio-tool-save.c:123,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-save.c:114,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-save.c:137,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-save.c:144,1
    - 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: g_error_free
      Src: /src/glib/gio/gio-tool-save.c:128,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: _
      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_free
      Src: /src/glib/gio/gio-tool-save.c:141,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
    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_file_output_stream_get_etag
    - g_file_append_to
    - _
    - g_free
    - g_error_free
    - print_error
    - g_object_unref
    - g_clear_error
    - G_FILE_OUTPUT_STREAM
    - g_file_replace
    - read
    - g_print
    - g_output_stream_close
    - g_file_create
    - g_output_stream_write_all
    - print_file_error
    - g_malloc
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean save (GFile *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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:192,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-save.c:178,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-save.c:176,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-save.c:185,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-save.c:163,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-save.c:161,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_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: _
      Src: /src/glib/gio/gio-tool-save.c:191,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-save.c:184,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:184,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-save.c:177,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-save.c:191,1
    - Dst: save
      Src: /src/glib/gio/gio-tool-save.c:199,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_new
    - _
    - g_option_context_set_summary
    - g_set_prgname
    - g_option_context_free
    - g_option_context_parse
    - g_error_free
    - g_option_context_add_main_entries
    - g_object_unref
    - save
    - g_option_context_set_help_enabled
    - show_help
    - 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:56,1
    - Dst: P_
      Src: /src/glib/gio/gtlsserverconnection.c:58,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gtlsserverconnection.c:57,1
    - Dst: P_
      Src: /src/glib/gio/gtlsserverconnection.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsServerConnectionInterface*
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: g_tls_server_connection_default_init
    functionSourceFile: /src/glib/gio/gtlsserverconnection.c
    functionUses: []
    functionsReached:
    - P_
    - g_param_spec_enum
    - g_object_interface_install_property
    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:92,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlsserverconnection.c:93,1
    - Dst: g_tls_backend_get_server_connection_type
      Src: /src/glib/gio/gtlsserverconnection.c:93,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gtlsserverconnection.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - base_io_stream
    - certificate
    - error
    argTypes:
    - GIOStream*
    - GTlsCertificate*
    - GError**
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: g_tls_server_connection_new
    functionSourceFile: /src/glib/gio/gtlsserverconnection.c
    functionUses: []
    functionsReached:
    - g_tls_backend_get_server_connection_type
    - g_initable_new
    - g_tls_backend_get_default
    - G_IO_STREAM
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gopenuriportal.c:49,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gopenuriportal.c:52,1
    - Dst: gxdp_open_uri_proxy_new_sync
      Src: /src/glib/gio/gopenuriportal.c:56,1
    - Dst: g_warning
      Src: /src/glib/gio/gopenuriportal.c:62,1
    - Dst: g_error_free
      Src: /src/glib/gio/gopenuriportal.c:63,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:66,1
    - Dst: g_warning
      Src: /src/glib/gio/gopenuriportal.c:70,1
    - Dst: g_error_free
      Src: /src/glib/gio/gopenuriportal.c:72,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gopenuriportal.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: init_openuri_portal
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - g_error_free
    - g_bus_get_sync
    - g_object_unref
    - g_warning
    - gxdp_open_uri_proxy_new_sync
    - g_once_init_leave
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean init_openuri_portal (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GXDP_OPEN_URI
      Src: /src/glib/gio/gopenuriportal.c:200,1
    - Dst: g_dbus_proxy_get_connection
      Src: /src/glib/gio/gopenuriportal.c:210,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gopenuriportal.c:229,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gopenuriportal.c:211,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gopenuriportal.c:230,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gopenuriportal.c:232,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gopenuriportal.c:242,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gopenuriportal.c:242,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gopenuriportal.c:210,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gopenuriportal.c:211,1
    - Dst: gxdp_open_uri_call_open_file_finish
      Src: /src/glib/gio/gopenuriportal.c:214,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gopenuriportal.c:220,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gopenuriportal.c:226,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:222,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gopenuriportal.c:229,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gopenuriportal.c:242,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gopenuriportal.c:211,1
    - Dst: gxdp_open_uri_call_open_uri_finish
      Src: /src/glib/gio/gopenuriportal.c:216,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:221,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gopenuriportal.c:227,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gopenuriportal.c:229,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gopenuriportal.c:226,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 244
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 244
    functionName: open_call_done
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - G_OBJECT
    - GINT_TO_POINTER
    - g_free
    - g_dbus_proxy_get_connection
    - GPOINTER_TO_UINT
    - g_strcmp0
    - gxdp_open_uri_call_open_uri_finish
    - g_object_get_data
    - g_object_unref
    - gxdp_open_uri_call_open_file_finish
    - g_object_set_data
    - g_task_return_error
    - GPOINTER_TO_INT
    - g_dbus_connection_signal_unsubscribe
    - g_dbus_connection_signal_subscribe
    - GXDP_OPEN_URI
    linkageType: ''
    returnType: void
    signature: 'static void open_call_done (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gopenuriportal.c:268,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gopenuriportal.c:285,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gio/gopenuriportal.c:286,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gopenuriportal.c:299,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gopenuriportal.c:301,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:303,1
    - Dst: g_open
      Src: /src/glib/gio/gopenuriportal.c:321,1
    - Dst: gxdp_open_uri_call_open_file
      Src: /src/glib/gio/gopenuriportal.c:338,1
    - Dst: gxdp_open_uri_call_open_uri
      Src: /src/glib/gio/gopenuriportal.c:351,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:360,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gopenuriportal.c:262,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gopenuriportal.c:286,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gopenuriportal.c:310,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/gopenuriportal.c:311,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gopenuriportal.c:318,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gopenuriportal.c:340,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:346,1
    - Dst: g_dbus_proxy_get_connection
      Src: /src/glib/gio/gopenuriportal.c:268,1
    - Dst: g_random_int_range
      Src: /src/glib/gio/gopenuriportal.c:279,1
    - Dst: g_strdup
      Src: /src/glib/gio/gopenuriportal.c:280,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gopenuriportal.c:280,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:287,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gopenuriportal.c:302,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gopenuriportal.c:302,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gopenuriportal.c:318,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gopenuriportal.c:318,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gopenuriportal.c:320,1
    - Dst: fcntl
      Src: /src/glib/gio/gopenuriportal.c:332,1
    - Dst: init_openuri_portal
      Src: /src/glib/gio/gopenuriportal.c:260,1
    - Dst: g_task_new
      Src: /src/glib/gio/gopenuriportal.c:277,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gopenuriportal.c:279,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gopenuriportal.c:299,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gopenuriportal.c:299,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gopenuriportal.c:289,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gopenuriportal.c:305,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gopenuriportal.c:325,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gopenuriportal.c:326,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gopenuriportal.c:334,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:347,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 5
    argNames:
    - uri
    - parent_window
    - cancellable
    - callback
    - user_data
    argTypes:
    - char*
    - char*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 361
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 361
    functionName: g_openuri_portal_open_uri_async
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - G_OBJECT
    - g_unix_fd_list_new_from_array
    - g_random_int_range
    - g_dbus_connection_get_unique_name
    - g_task_report_new_error
    - g_io_error_from_errno
    - g_object_set_data_full
    - GINT_TO_POINTER
    - g_dbus_proxy_get_connection
    - g_variant_new_string
    - g_object_unref
    - g_variant_builder_add
    - g_variant_new
    - g_dbus_connection_signal_subscribe
    - g_open
    - gxdp_open_uri_call_open_uri
    - g_strdup_printf
    - fcntl
    - g_variant_builder_init
    - init_openuri_portal
    - gxdp_open_uri_call_open_file
    - g_variant_builder_end
    - g_strdup
    - g_free
    - g_file_new_for_uri
    - g_file_get_path
    - g_task_new
    - g_object_set_data
    - g_file_is_native
    linkageType: ''
    returnType: void
    signature: 'void g_openuri_portal_open_uri_async (const char *uri, const char
      *parent_window, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gopenuriportal.c:99,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/gopenuriportal.c:100,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gopenuriportal.c:106,1
    - Dst: g_open
      Src: /src/glib/gio/gopenuriportal.c:108,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gopenuriportal.c:112,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:114,1
    - Dst: fcntl
      Src: /src/glib/gio/gopenuriportal.c:120,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:135,1
    - Dst: g_set_error
      Src: /src/glib/gio/gopenuriportal.c:112,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:136,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gopenuriportal.c:128,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gopenuriportal.c:129,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:149,1
    - Dst: init_openuri_portal
      Src: /src/glib/gio/gopenuriportal.c:90,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gopenuriportal.c:143,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gopenuriportal.c:97,1
    - Dst: g_set_error
      Src: /src/glib/gio/gopenuriportal.c:92,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gopenuriportal.c:115,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gopenuriportal.c:122,1
    - Dst: gxdp_open_uri_call_open_file_sync
      Src: /src/glib/gio/gopenuriportal.c:126,1
    - Dst: gxdp_open_uri_call_open_uri_sync
      Src: /src/glib/gio/gopenuriportal.c:140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - uri
    - parent_window
    - error
    argTypes:
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 152
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 152
    functionName: g_openuri_portal_open_uri
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_open
    - g_variant_builder_end
    - g_free
    - g_unix_fd_list_new_from_array
    - g_file_new_for_uri
    - g_file_get_path
    - g_io_error_from_errno
    - g_variant_builder_clear
    - g_object_unref
    - fcntl
    - gxdp_open_uri_call_open_uri_sync
    - g_variant_builder_init
    - g_variant_new
    - g_file_is_native
    - gxdp_open_uri_call_open_file_sync
    - init_openuri_portal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_openuri_portal_open_uri (const char *uri, const char *parent_window,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gopenuriportal.c:173,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gopenuriportal.c:176,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gopenuriportal.c:174,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gopenuriportal.c:173,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gopenuriportal.c:173,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gopenuriportal.c:181,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gopenuriportal.c:184,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gopenuriportal.c:188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:192,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    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: 193
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 193
    functionName: response_received
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - GPOINTER_TO_UINT
    - g_object_get_data
    - g_object_unref
    - g_variant_get
    - g_task_return_boolean
    - g_task_return_new_error
    - g_dbus_connection_signal_unsubscribe
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gopenuriportal.c:367,1
    - Dst: G_TASK
      Src: /src/glib/gio/gopenuriportal.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: g_openuri_portal_open_uri_finish
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_openuri_portal_open_uri_finish (GAsyncResult *result, GError
      **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - 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: show_help
      Src: /src/glib/gio/gio-tool-mkdir.c:77,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mkdir.c:70,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_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:71,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: 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_parse
      Src: /src/glib/gio/gio-tool-mkdir.c:67,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_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_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: _
      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_new
    - _
    - g_set_prgname
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - g_option_context_parse
    - g_option_context_set_description
    - g_option_context_add_main_entries
    - g_error_free
    - g_object_unref
    - g_file_make_directory
    - g_strdup_printf
    - g_file_make_directory_with_parents
    - g_option_context_set_help_enabled
    - print_file_error
    - show_help
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: int
    signature: 'int handle_mkdir (int argc, char *argv[], gboolean do_help) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:472,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:525,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:544,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:475,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:463,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusaddress.c:480,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusaddress.c:481,1
    - Dst: strchr
      Src: /src/glib/gio/gdbusaddress.c:490,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:496,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusaddress.c:529,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusaddress.c:538,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusaddress.c:540,1
    - Dst: strchr
      Src: /src/glib/gio/gdbusaddress.c:460,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:466,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:493,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:507,1
    - Dst: g_uri_unescape_segment
      Src: /src/glib/gio/gdbusaddress.c:514,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:521,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusaddress.c:543,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusaddress.c:483,1
    - Dst: g_uri_unescape_segment
      Src: /src/glib/gio/gdbusaddress.c:515,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:518,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:504,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusaddress.c:515,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:526,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusaddress.c:545,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: 548
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 548
    functionName: _g_dbus_address_parse_entry
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strlen
    - _
    - g_free
    - g_strndup
    - g_clear_pointer
    - g_hash_table_insert
    - g_strsplit
    - g_steal_pointer
    - g_uri_unescape_segment
    - g_strfreev
    - strchr
    - g_hash_table_new_full
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:1452,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/gio/gdbusaddress.c:1458,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusaddress.c:1455,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1464,1
    - Dst: g_string_sized_new
      Src: /src/glib/gio/gdbusaddress.c:1455,1
    - Dst: g_string_insert
      Src: /src/glib/gio/gdbusaddress.c:1467,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusaddress.c:1472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1473
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1473
    functionName: g_dbus_address_escape_value
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_insert
    - g_string_sized_new
    - G_UNLIKELY
    - g_string_free
    - g_string_append_uri_escaped
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_address_escape_value (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:836,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:837,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - GetStreamData*
    constantsTouched: []
    func_position:
      end: 839
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 839
    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:395,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusaddress.c:398,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:396,1
    - Dst: _g_dbus_address_parse_entry
      Src: /src/glib/gio/gdbusaddress.c:405,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:412,1
    - Dst: is_valid_unix
      Src: /src/glib/gio/gdbusaddress.c:413,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:414,1
    - Dst: is_valid_tcp
      Src: /src/glib/gio/gdbusaddress.c:415,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:416,1
    - Dst: is_valid_nonce_tcp
      Src: /src/glib/gio/gdbusaddress.c:417,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusaddress.c:437,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:418,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:421,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:425,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:422,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusaddress.c:435,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusaddress.c:426,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 2
    argNames:
    - string
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 440
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 440
    functionName: g_dbus_is_supported_address
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_hash_table_unref
    - g_strcmp0
    - _g_dbus_address_parse_entry
    - is_valid_unix
    - g_assert
    - is_valid_tcp
    - g_strsplit
    - g_strfreev
    - g_return_val_if_fail
    - is_valid_nonce_tcp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_supported_address (const gchar *string, GError
      **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:316,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:315,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:319,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:320,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusaddress.c:365,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:326,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusaddress.c:314,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:338,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:349,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/gio/gdbusaddress.c:311,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:317,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:318,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:321,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:323,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:347,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:352,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:341,1
    - Dst: strtol
      Src: /src/glib/gio/gdbusaddress.c:335,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:347,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    argCount: 3
    argNames:
    - address_entry
    - key_value_pairs
    - error
    argTypes:
    - gchar*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 368
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 368
    functionName: is_valid_tcp
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strtol
    - _
    - g_strcmp0
    - g_ptr_array_index
    - g_hash_table_get_keys_as_ptr_array
    - g_ptr_array_unref
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_tcp (const gchar *address_entry, GHashTable
      *key_value_pairs, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/gio/gdbusaddress.c:150,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusaddress.c:153,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:154,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:156,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:155,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:157,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:158,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:159,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:160,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:161,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:162,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:164,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:167,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:177,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:186,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusaddress.c:197,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:180,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:189,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 3
    argNames:
    - address_entry
    - key_value_pairs
    - error
    argTypes:
    - gchar*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 200
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 200
    functionName: is_valid_unix
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strcmp0
    - g_ptr_array_index
    - g_hash_table_get_keys_as_ptr_array
    - g_ptr_array_unref
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_unix (const gchar *address_entry, GHashTable
      *key_value_pairs, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusaddress.c:891,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusaddress.c:893,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusaddress.c:897,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:894,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusaddress.c:896,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdbusaddress.c:898,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gdbusaddress.c:899,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - address
    - cancellable
    - callback
    - user_data
    argTypes:
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 901
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 901
    functionName: g_dbus_address_get_stream
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_return_if_fail
    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:1222,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 1227
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1227
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/glib/gio/gdbusaddress.c:248,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:262,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:280,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:226,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:228,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:227,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:229,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:232,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:233,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:239,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:260,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:265,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusaddress.c:225,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:260,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:251,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/gio/gdbusaddress.c:222,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:230,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:231,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:236,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:234,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:254,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:277,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusaddress.c:288,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    argCount: 3
    argNames:
    - address_entry
    - key_value_pairs
    - error
    argTypes:
    - gchar*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 291
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 291
    functionName: is_valid_nonce_tcp
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strtol
    - _
    - g_strcmp0
    - g_ptr_array_index
    - g_hash_table_get_keys_as_ptr_array
    - g_ptr_array_unref
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_nonce_tcp (const gchar *address_entry, GHashTable
      *key_value_pairs, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_address_get_stream_sync
      Src: /src/glib/gio/gdbusaddress.c:851,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusaddress.c:856,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusaddress.c:858,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: 859
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 859
    functionName: get_stream_thread_func
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_dbus_address_get_stream_sync
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void get_stream_thread_func (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdbusaddress.c:1288,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1317,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1335,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1344,1
    - Dst: g_dbus_address_get_for_bus_sync
      Src: /src/glib/gio/gdbusaddress.c:1364,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1404,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusaddress.c:1406,1
    - Dst: _g_dbus_enum_to_string
      Src: /src/glib/gio/gdbusaddress.c:1407,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1418,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:1293,1
    - Dst: _g_dbus_debug_address
      Src: /src/glib/gio/gdbusaddress.c:1298,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1352,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:1367,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:1376,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:1395,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusaddress.c:1423,1
    - Dst: _g_dbus_debug_address
      Src: /src/glib/gio/gdbusaddress.c:1404,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1415,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusaddress.c:1301,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1320,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1322,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusaddress.c:1324,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1335,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1361,1
    - Dst: g_dbus_address_get_for_bus_sync
      Src: /src/glib/gio/gdbusaddress.c:1369,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1379,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusaddress.c:1385,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1388,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1298,1
    - Dst: _g_dbus_enum_to_string
      Src: /src/glib/gio/gdbusaddress.c:1302,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1303,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1305,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusaddress.c:1315,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1318,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1352,1
    - Dst: get_session_address_platform_specific
      Src: /src/glib/gio/gdbusaddress.c:1356,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:1362,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1398,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1410,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusaddress.c:1419,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 86
    argCount: 3
    argNames:
    - bus_type
    - cancellable
    - error
    argTypes:
    - GBusType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1426
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1426
    functionName: g_dbus_address_get_for_bus_sync
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_dbus_address_get_for_bus_sync
    - _
    - g_propagate_error
    - g_return_val_if_fail
    - _g_dbus_enum_to_string
    - _g_dbus_debug_print_lock
    - g_strcmp0
    - GLIB_PRIVATE_CALL
    - g_assert_not_reached
    - g_set_error_literal
    - g_print
    - G_UNLIKELY
    - _g_dbus_debug_print_unlock
    - _g_dbus_debug_address
    - g_set_error
    - g_strdup
    - g_free
    - g_getenv
    - get_session_address_platform_specific
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_address_get_for_bus_sync (GBusType bus_type, GCancellable
      *cancellable, GError **error) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:583,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gdbusaddress.c:595,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gdbusaddress.c:599,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusaddress.c:605,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:616,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:652,1
    - Dst: g_dbus_address_try_connect_one
      Src: /src/glib/gio/gdbusaddress.c:667,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:678,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusaddress.c:691,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gdbusaddress.c:709,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:745,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusaddress.c:747,1
    - Dst: fclose
      Src: /src/glib/gio/gdbusaddress.c:763,1
    - Dst: fread
      Src: /src/glib/gio/gdbusaddress.c:733,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:758,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/gdbusaddress.c:700,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:742,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:582,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:629,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:621,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:646,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:705,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:751,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdbusaddress.c:765,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusaddress.c:765,1
    - Dst: g_socket_client_set_enable_proxy
      Src: /src/glib/gio/gdbusaddress.c:698,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:773,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:704,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:754,1
    - Dst: fclose
      Src: /src/glib/gio/gdbusaddress.c:760,1
    - Dst: fopen
      Src: /src/glib/gio/gdbusaddress.c:719,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:586,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/gdbusaddress.c:595,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gdbusaddress.c:599,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:618,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:624,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:635,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:608,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:661,1
    - Dst: get_session_address_dbus_launch
      Src: /src/glib/gio/gdbusaddress.c:664,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:668,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:723,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:726,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusaddress.c:772,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusaddress.c:728,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:681,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:729,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:578,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:589,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:608,1
    - Dst: strtol
      Src: /src/glib/gio/gdbusaddress.c:632,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:638,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:649,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/gdbusaddress.c:659,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusaddress.c:673,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:673,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/gdbusaddress.c:692,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:772,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 142
    argCount: 5
    argNames:
    - address_entry
    - transport_name
    - key_value_pairs
    - cancellable
    - error
    argTypes:
    - gchar*
    - gchar*
    - GHashTable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 783
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 783
    functionName: g_dbus_address_connect
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - _
    - g_io_stream_get_output_stream
    - g_unix_socket_address_new_with_type
    - G_SOCKET_CONNECTABLE
    - strtol
    - g_strcmp0
    - g_strerror
    - g_assert_not_reached
    - get_session_address_dbus_launch
    - g_socket_client_set_enable_proxy
    - g_object_unref
    - fclose
    - g_socket_client_connect
    - G_IO_STREAM
    - g_prefix_error
    - g_output_stream_write_all
    - g_set_error
    - g_unix_socket_address_new
    - g_network_address_new
    - g_free
    - g_assert
    - g_dbus_address_try_connect_one
    - g_socket_client_new
    - fopen
    - fread
    - g_hash_table_lookup
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gdbusaddress.c:1045,1
    - Dst: geteuid
      Src: /src/glib/gio/gdbusaddress.c:1054,1
    - Dst: g_stat
      Src: /src/glib/gio/gdbusaddress.c:1048,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/gdbusaddress.c:1045,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/gdbusaddress.c:1061,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdbusaddress.c:1062,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1063,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1066,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1071
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1071
    functionName: get_session_address_xdg
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_free
    - g_dbus_address_escape_value
    - g_build_filename
    - g_get_user_runtime_dir
    - g_stat
    - g_strconcat
    - 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:1246,1
    - Dst: get_session_address_dbus_launch
      Src: /src/glib/gio/gdbusaddress.c:1260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 1261
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1261
    functionName: get_session_address_platform_specific
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - get_session_address_xdg
    - get_session_address_dbus_launch
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_session_address_platform_specific (GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:110,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusaddress.c:112,1
    - Dst: _g_dbus_address_parse_entry
      Src: /src/glib/gio/gdbusaddress.c:118,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusaddress.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 130
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 130
    functionName: g_dbus_is_address
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - _g_dbus_address_parse_entry
    - g_strsplit
    - g_return_val_if_fail
    - g_strfreev
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_address (const gchar *string) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_address_parse_entry
      Src: /src/glib/gio/gdbusaddress.c:800,1
    - Dst: g_dbus_address_connect
      Src: /src/glib/gio/gdbusaddress.c:806,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:816,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:819,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:814,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusaddress.c:821,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 19
    argCount: 4
    argNames:
    - address_entry
    - out_guid
    - cancellable
    - error
    argTypes:
    - gchar*
    - gchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 823
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 823
    functionName: g_dbus_address_try_connect_one
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_dbus_address_connect
    - g_free
    - g_hash_table_unref
    - _g_dbus_address_parse_entry
    - g_hash_table_lookup
    linkageType: ''
    returnType: GIOStream*
    signature: 'static GIOStream *g_dbus_address_try_connect_one (const gchar *address_entry,
      gchar **out_guid, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:976,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:987,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusaddress.c:982,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:977,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/gdbusaddress.c:985,1
    - Dst: g_dbus_address_try_connect_one
      Src: /src/glib/gio/gdbusaddress.c:997,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusaddress.c:1007,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusaddress.c:1009,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusaddress.c:1018,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusaddress.c:1022,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusaddress.c:1023,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusaddress.c:1026,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 4
    argNames:
    - address
    - out_guid
    - cancellable
    - error
    argTypes:
    - gchar*
    - gchar**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1028
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 1028
    functionName: g_dbus_address_get_stream_sync
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - _
    - g_assert
    - g_error_new_literal
    - g_error_free
    - g_strsplit
    - g_dbus_address_try_connect_one
    - g_strfreev
    - g_propagate_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIOStream*
    signature: 'GIOStream *g_dbus_address_get_stream_sync (const gchar *address, gchar
      **out_guid, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:927,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusaddress.c:930,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:928,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusaddress.c:927,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusaddress.c:931,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusaddress.c:935,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - res
    - out_guid
    - error
    argTypes:
    - GAsyncResult*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 941
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 941
    functionName: g_dbus_address_get_stream_finish
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_pointer
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: GIOStream*
    signature: 'GIOStream *g_dbus_address_get_stream_finish (GAsyncResult *res, gchar
      **out_guid, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_get_machine_id
      Src: /src/glib/gio/gdbusaddress.c:1104,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1139,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1168,1
    - Dst: _g_dbus_debug_address
      Src: /src/glib/gio/gdbusaddress.c:1171,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusaddress.c:1174,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1175,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusaddress.c:1178,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1194,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1195,1
    - Dst: g_setenv
      Src: /src/glib/gio/gdbusaddress.c:1201,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1190,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1107,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:1113,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1114,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1135,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusaddress.c:1137,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusaddress.c:1156,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1156,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1179,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1184,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1186,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1188,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1100,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:1099,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusaddress.c:1107,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1111,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1139,1
    - Dst: g_setenv
      Src: /src/glib/gio/gdbusaddress.c:1141,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/gio/gdbusaddress.c:1145,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gdbusaddress.c:1154,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1171,1
    - Dst: _g_dbus_hexdump
      Src: /src/glib/gio/gdbusaddress.c:1178,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdbusaddress.c:1097,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusaddress.c:1133,1
    - Dst: _g_dbus_debug_address
      Src: /src/glib/gio/gdbusaddress.c:1135,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusaddress.c:1142,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1138,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1180,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusaddress.c:1191,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1196,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1198,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gdbusaddress.c:1203,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1197,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1205,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 1207
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1207
    functionName: get_session_address_dbus_launch
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - _
    - g_spawn_command_line_sync
    - _g_dbus_debug_print_lock
    - strlen
    - GLIB_PRIVATE_CALL
    - _g_dbus_get_machine_id
    - g_print
    - _g_dbus_hexdump
    - G_UNLIKELY
    - g_strdup_printf
    - g_prefix_error
    - _g_dbus_debug_print_unlock
    - g_setenv
    - _g_dbus_debug_address
    - g_set_error
    - g_strdup
    - g_unsetenv
    - g_free
    - g_getenv
    - g_spawn_check_wait_status
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_session_address_dbus_launch (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_win32_get_session_address_dbus_launch
      Src: /src/glib/gio/gdbusaddress.c:1215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_find_overlay
      Src: /src/glib/gio/gresource.c:1079,1
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1082,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:1093,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gresource.c:1084,1
    - Dst: g_resource_open_stream
      Src: /src/glib/gio/gresource.c:1091,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gresource.c:1095,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gresource.c:1100,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:1107,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:1108,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1111,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - path
    - lookup_flags
    - error
    argTypes:
    - gchar*
    - GResourceLookupFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1114
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1114
    functionName: g_resources_open_stream
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_set_error
    - register_lazy_static_resources
    - g_resource_open_stream
    - _
    - g_error_matches
    - g_rw_lock_reader_unlock
    - g_clear_error
    - g_rw_lock_reader_lock
    - g_propagate_error
    - g_resource_find_overlay
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_resources_open_stream (const gchar *path, GResourceLookupFlags
      lookup_flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gresource.c:1366,1
    - Dst: g_resources_register_unlocked
      Src: /src/glib/gio/gresource.c:1377,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/gresource.c:1374,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/gio/gresource.c:1368,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/gresource.c:1373,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gio/gresource.c:1378,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresource.c:1380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1384
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1384
    functionName: register_lazy_static_resources_unlocked
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_bytes_new_static
    - g_resource_new_from_data
    - g_bytes_unref
    - g_resources_register_unlocked
    - g_atomic_pointer_set
    - g_atomic_pointer_compare_and_exchange_full
    linkageType: ''
    returnType: void
    signature: 'static void register_lazy_static_resources_unlocked (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gresource.c:1389,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gresource.c:1394,1
    - Dst: register_lazy_static_resources_unlocked
      Src: /src/glib/gio/gresource.c:1393,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gresource.c:1392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1395
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1395
    functionName: register_lazy_static_resources
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_rw_lock_writer_lock
    - register_lazy_static_resources_unlocked
    - g_rw_lock_writer_unlock
    linkageType: ''
    returnType: void
    signature: 'static void register_lazy_static_resources (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1475,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gresource.c:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - static_resource
    argTypes:
    - GStaticResource*
    constantsTouched: []
    func_position:
      end: 1478
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1478
    functionName: g_static_resource_get_resource
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - register_lazy_static_resources
    linkageType: ''
    returnType: GResource*
    signature: 'GResource *g_static_resource_get_resource (GStaticResource *static_resource) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gresource.c:1440,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/gio/gresource.c:1444,1
    - Dst: g_assert
      Src: /src/glib/gio/gresource.c:1449,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gresource.c:1449,1
    - Dst: register_lazy_static_resources_unlocked
      Src: /src/glib/gio/gresource.c:1442,1
    - Dst: g_resources_unregister_unlocked
      Src: /src/glib/gio/gresource.c:1451,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource.c:1452,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gresource.c:1455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - static_resource
    argTypes:
    - GStaticResource*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1456
    functionName: g_static_resource_fini
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resource_unref
    - g_assert
    - g_rw_lock_writer_unlock
    - g_atomic_pointer_exchange
    - g_atomic_int_get
    - g_rw_lock_writer_lock
    - register_lazy_static_resources_unlocked
    - g_resources_unregister_unlocked
    linkageType: ''
    returnType: void
    signature: 'void g_static_resource_fini (GStaticResource *static_resource) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_stat
      Src: /src/glib/gio/gresource.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - candidate
    - user_data
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 321
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_table_new
      Src: /src/glib/gio/gresource.c:644,1
    - Dst: g_resource_error_from_gvdb_table_error
      Src: /src/glib/gio/gresource.c:647,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gresource.c:647,1
    - Dst: g_resource_new_from_table
      Src: /src/glib/gio/gresource.c:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - filename
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 652
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: g_resource_load
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_resource_new_from_table
    - g_resource_error_from_gvdb_table_error
    - gvdb_table_new
    linkageType: ''
    returnType: GResource*
    signature: 'GResource *g_resource_load (const gchar *filename, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_lookup
      Src: /src/glib/gio/gresource.c:750,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gio/gresource.c:754,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gresource.c:754,1
    - Dst: g_resource_ref
      Src: /src/glib/gio/gresource.c:755,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/gresource.c:753,1
    - Dst: g_zlib_decompressor_new
      Src: /src/glib/gio/gresource.c:761,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/gresource.c:763,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/gresource.c:763,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:764,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:765,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - resource
    - path
    - lookup_flags
    - error
    argTypes:
    - GResource*
    - gchar*
    - GResourceLookupFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 770
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 770
    functionName: g_resource_open_stream
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_converter_input_stream_new
    - G_CONVERTER
    - do_lookup
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_zlib_decompressor_new
    - g_resource_ref
    - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_find_overlay
      Src: /src/glib/gio/gresource.c:1299,1
    - Dst: g_resource_get_info
      Src: /src/glib/gio/gresource.c:1318,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gresource.c:1311,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:1320,1
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1309,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gresource.c:1322,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gresource.c:1327,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:1334,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:1335,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1338,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 5
    argNames:
    - path
    - lookup_flags
    - size
    - flags
    - error
    argTypes:
    - gchar*
    - GResourceLookupFlags
    - gsize*
    - guint32*
    - GError**
    constantsTouched: []
    func_position:
      end: 1341
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1341
    functionName: g_resources_get_info
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_set_error
    - register_lazy_static_resources
    - _
    - g_error_matches
    - g_rw_lock_reader_unlock
    - g_clear_error
    - g_rw_lock_reader_lock
    - g_propagate_error
    - g_resource_get_info
    - g_resource_find_overlay
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_resources_get_info (const gchar *path, GResourceLookupFlags
      lookup_flags, gsize *size, guint32 *flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gresource.c:1417,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/gio/gresource.c:1420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - static_resource
    argTypes:
    - GStaticResource*
    constantsTouched: []
    func_position:
      end: 1421
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1421
    functionName: g_static_resource_init
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_atomic_pointer_compare_and_exchange
    linkageType: ''
    returnType: void
    signature: 'void g_static_resource_init (GStaticResource *static_resource) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_new
      Src: /src/glib/gio/gresource.c:237,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:247,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/gio/gresource.c:243,1
    - Dst: g_message
      Src: /src/glib/gio/gresource.c:241,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/glib/gio/gresource.c:242,1
    - Dst: g_warning
      Src: /src/glib/gio/gresource.c:248,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource.c:249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - candidate
    - user_data
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 253
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 253
    functionName: get_overlay_bytes
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_mapped_file_get_bytes
    - g_mapped_file_unref
    - g_error_matches
    - g_message
    - g_error_free
    - g_mapped_file_new
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_overlay_bytes (const gchar *candidate, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/gresource.c:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - GvdbTable*
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 551
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gresource.c:596,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gresource.c:598,1
    - Dst: g_bytes_new
      Src: /src/glib/gio/gresource.c:598,1
    - Dst: gvdb_table_new_from_bytes
      Src: /src/glib/gio/gresource.c:603,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/gresource.c:599,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresource.c:606,1
    - Dst: g_resource_error_from_gvdb_table_error
      Src: /src/glib/gio/gresource.c:610,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gresource.c:610,1
    - Dst: g_resource_new_from_table
      Src: /src/glib/gio/gresource.c:614,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - GBytes*
    - GError**
    constantsTouched: []
    func_position:
      end: 615
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 615
    functionName: g_resource_new_from_data
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_resource_new_from_table
    - g_bytes_new
    - g_resource_error_from_gvdb_table_error
    - g_bytes_unref
    - gvdb_table_new_from_bytes
    - g_steal_pointer
    - g_bytes_get_size
    linkageType: ''
    returnType: GResource*
    signature: 'GResource *g_resource_new_from_data (GBytes *data, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gresource.c:670,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresource.c:673,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:682,1
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gresource.c:677,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:681,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gresource.c:690,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gresource.c:695,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gresource.c:696,1
    - Dst: g_variant_get_data
      Src: /src/glib/gio/gresource.c:703,1
    - Dst: g_variant_get_size
      Src: /src/glib/gio/gresource.c:708,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gresource.c:713,1
    - Dst: g_variant_get_size
      Src: /src/glib/gio/gresource.c:710,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gresource.c:712,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:718,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    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: 720
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 720
    functionName: do_lookup
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_set_error
    - _
    - g_free
    - g_variant_unref
    - g_variant_get
    - gvdb_table_get_raw_value
    - GUINT32_FROM_LE
    - g_variant_get_data
    - g_variant_get_size
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:943,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gresource.c:969,1
    - Dst: memcpy
      Src: /src/glib/gio/gresource.c:962,1
    - Dst: strlen
      Src: /src/glib/gio/gresource.c:949,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:944,1
    - Dst: gvdb_table_list
      Src: /src/glib/gio/gresource.c:977,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:978,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:983,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:984,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - resource
    - path
    - lookup_flags
    - error
    argTypes:
    - GResource*
    - gchar*
    - GResourceLookupFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 990
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 990
    functionName: g_resource_enumerate_children
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - strlen
    - _
    - g_free
    - gvdb_table_list
    - g_strconcat
    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_rw_lock_writer_lock
      Src: /src/glib/gio/gresource.c:1048,1
    - Dst: g_resources_unregister_unlocked
      Src: /src/glib/gio/gresource.c:1049,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gresource.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1051
    functionName: g_resources_unregister
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock
    - g_resources_unregister_unlocked
    - g_rw_lock_writer_unlock
    linkageType: ''
    returnType: void
    signature: 'void g_resources_unregister (GResource *resource) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_find_overlay
      Src: /src/glib/gio/gresource.c:1224,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gresource.c:1240,1
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1226,1
    - Dst: g_resource_enumerate_children
      Src: /src/glib/gio/gresource.c:1234,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gresource.c:1228,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gresource.c:1243,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:1244,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1248,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:1253,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:1254,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/gio/gresource.c:1260,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gresource.c:1262,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/gio/gresource.c:1261,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - path
    - lookup_flags
    - error
    argTypes:
    - gchar*
    - GResourceLookupFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1266
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1266
    functionName: g_resources_enumerate_children
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_set_error
    - register_lazy_static_resources
    - g_hash_table_add
    - g_free
    - _
    - g_hash_table_steal_all
    - g_hash_table_destroy
    - g_rw_lock_reader_unlock
    - g_hash_table_get_keys_as_array
    - g_rw_lock_reader_lock
    - g_resource_enumerate_children
    - g_hash_table_new_full
    - g_resource_find_overlay
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_resources_enumerate_children (const gchar *path, GResourceLookupFlags
      lookup_flags, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/gio/gresource.c:264,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/gresource.c:273,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gresource.c:269,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gresource.c:275,1
    - Dst: g_message
      Src: /src/glib/gio/gresource.c:271,1
    - Dst: g_file_test
      Src: /src/glib/gio/gresource.c:278,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gresource.c:279,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gresource.c:279,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gresource.c:281,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresource.c:281,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:283,1
    - Dst: g_dir_close
      Src: /src/glib/gio/gresource.c:286,1
    - Dst: g_warning
      Src: /src/glib/gio/gresource.c:291,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource.c:292,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:290,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - candidate
    - user_data
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 300
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 300
    functionName: enumerate_overlay_dir
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_hash_table_add
    - g_dir_read_name
    - g_dir_open
    - g_message
    - g_error_matches
    - g_error_free
    - g_warning
    - g_build_filename
    - g_file_test
    - g_strconcat
    - g_hash_table_new_full
    - g_dir_close
    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:557,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gresource.c:562,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gresource.c:562,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresource.c:558,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gresource.c:563,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: 564
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 564
    functionName: g_resource_error_from_gvdb_table_error
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_error_matches
    - g_clear_error
    - g_steal_pointer
    - g_propagate_error
    - 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: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:401,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:386,1
    - Dst: g_assert
      Src: /src/glib/gio/gresource.c:439,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gresource.c:352,1
    - Dst: strchr
      Src: /src/glib/gio/gresource.c:362,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:365,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:379,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:393,1
    - Dst: g_message
      Src: /src/glib/gio/gresource.c:405,1
    - Dst: g_malloc
      Src: /src/glib/gio/gresource.c:467,1
    - Dst: memcpy
      Src: /src/glib/gio/gresource.c:468,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gresource.c:340,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:366,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:372,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gresource.c:398,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:394,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:380,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gresource.c:422,1
    - Dst: strchr
      Src: /src/glib/gio/gresource.c:438,1
    - Dst: strlen
      Src: /src/glib/gio/gresource.c:446,1
    - Dst: memcmp
      Src: /src/glib/gio/gresource.c:453,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gresource.c:338,1
    - Dst: g_getenv
      Src: /src/glib/gio/gresource.c:346,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:373,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:387,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:400,1
    - Dst: strlen
      Src: /src/glib/gio/gresource.c:461,1
    - Dst: memcpy
      Src: /src/glib/gio/gresource.c:469,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:476,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 88
    argCount: 3
    argNames:
    - path
    - check
    - user_data
    argTypes:
    - gchar*
    - CheckCandidate
    - gpointer
    constantsTouched: []
    func_position:
      end: 483
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 483
    functionName: g_resource_find_overlay
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_free
    - g_once_init_enter
    - g_assert
    - GLIB_PRIVATE_CALL
    - g_message
    - g_critical
    - g_strsplit
    - g_getenv
    - g_once_init_leave
    - strchr
    - memcmp
    - g_path_is_absolute
    - g_malloc
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_resource_find_overlay (const gchar *path, CheckCandidate
      check, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_lookup
      Src: /src/glib/gio/gresource.c:899,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: 900
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 900
    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:1032,1
    - Dst: g_resources_register_unlocked
      Src: /src/glib/gio/gresource.c:1033,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gresource.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1035
    functionName: g_resources_register
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resources_register_unlocked
    - g_rw_lock_writer_lock
    - g_rw_lock_writer_unlock
    linkageType: ''
    returnType: void
    signature: 'void g_resources_register (GResource *resource) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gresource.c:528,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:531,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gresource.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: g_resource_unref
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - gvdb_table_free
    linkageType: ''
    returnType: void
    signature: 'void g_resource_unref (GResource *resource) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_lookup
      Src: /src/glib/gio/gresource.c:810,1
    - Dst: g_resource_ref
      Src: /src/glib/gio/gresource.c:814,1
    - Dst: g_zlib_decompressor_new
      Src: /src/glib/gio/gresource.c:825,1
    - Dst: g_malloc
      Src: /src/glib/gio/gresource.c:827,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/gio/gresource.c:814,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/gresource.c:836,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/gresource.c:836,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:845,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:846,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:848,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gresource.c:865,1
    - Dst: g_resource_ref
      Src: /src/glib/gio/gresource.c:868,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/gio/gresource.c:868,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:863,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:849,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - resource
    - path
    - lookup_flags
    - error
    argTypes:
    - GResource*
    - gchar*
    - GResourceLookupFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 869
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 869
    functionName: g_resource_lookup_data
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_bytes_new_with_free_func
    - g_free
    - _
    - G_CONVERTER
    - do_lookup
    - g_object_unref
    - g_bytes_new_take
    - g_zlib_decompressor_new
    - g_resource_ref
    - g_malloc
    - g_converter_convert
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_resource_lookup_data (GResource *resource, const gchar *path,
      GResourceLookupFlags lookup_flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gresource.c:1002,1
    - Dst: g_resource_ref
      Src: /src/glib/gio/gresource.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 1003
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1003
    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: g_file_new_for_path
      Src: /src/glib/gio/gresource.c:210,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:219,1
    - Dst: g_warning
      Src: /src/glib/gio/gresource.c:220,1
    - Dst: g_message
      Src: /src/glib/gio/gresource.c:215,1
    - Dst: g_file_read
      Src: /src/glib/gio/gresource.c:211,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource.c:221,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - candidate
    - user_data
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 227
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 227
    functionName: open_overlay_stream
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_error_matches
    - g_message
    - g_error_free
    - g_object_unref
    - g_warning
    - g_file_read
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean open_overlay_stream (const gchar *candidate, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_find
      Src: /src/glib/gio/gresource.c:1008,1
    - Dst: g_list_remove
      Src: /src/glib/gio/gresource.c:1014,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource.c:1015,1
    - Dst: g_warning
      Src: /src/glib/gio/gresource.c:1010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1017
    functionName: g_resources_unregister_unlocked
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_list_remove
    - g_resource_unref
    - g_list_find
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void g_resources_unregister_unlocked (GResource *resource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gresource.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 512
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_find_overlay
      Src: /src/glib/gio/gresource.c:1151,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gresource.c:1156,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:1165,1
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1154,1
    - Dst: g_resource_lookup_data
      Src: /src/glib/gio/gresource.c:1163,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gresource.c:1167,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gresource.c:1172,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:1179,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:1180,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1183,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - path
    - lookup_flags
    - error
    argTypes:
    - gchar*
    - GResourceLookupFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1186
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1186
    functionName: g_resources_lookup_data
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_resource_lookup_data
    - register_lazy_static_resources
    - _
    - g_error_matches
    - g_rw_lock_reader_unlock
    - g_clear_error
    - g_rw_lock_reader_lock
    - g_propagate_error
    - g_resource_find_overlay
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_resources_lookup_data (const gchar *path, GResourceLookupFlags
      lookup_flags, GError **error) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/ghttpproxy.c:313,1
    - Dst: g_slice_free
      Src: /src/glib/gio/ghttpproxy.c:315,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ghttpproxy.c:314,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: 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: g_set_error_literal
      Src: /src/glib/gio/ghttpproxy.c:159,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:144,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
    - _
    - atoi
    - g_set_error_literal
    - strncmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_reply (const gchar *buffer, gboolean has_cred,
      GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - 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_tls_connection_handshake
      Src: /src/glib/gio/ghttpproxy.c:216,1
    - Dst: create_request
      Src: /src/glib/gio/ghttpproxy.c:225,1
    - Dst: g_malloc
      Src: /src/glib/gio/ghttpproxy.c:236,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/ghttpproxy.c:247,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/ghttpproxy.c:276,1
    - Dst: strlen
      Src: /src/glib/gio/ghttpproxy.c:228,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_free
      Src: /src/glib/gio/ghttpproxy.c:291,1
    - Dst: g_free
      Src: /src/glib/gio/ghttpproxy.c:300,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/ghttpproxy.c:201,1
    - Dst: G_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/ghttpproxy.c:211,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
    - 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_output_stream_write_all
      Src: /src/glib/gio/ghttpproxy.c:228,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:267,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ghttpproxy.c:266,1
    - Dst: g_free
      Src: /src/glib/gio/ghttpproxy.c:232,1
    - Dst: g_clear_object
      Src: /src/glib/gio/ghttpproxy.c:294,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 63
    argCount: 5
    argNames:
    - proxy
    - io_stream
    - proxy_address
    - cancellable
    - error
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GError**
    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_TLS_CONNECTION
    - g_io_stream_get_output_stream
    - _
    - check_reply
    - G_IS_HTTPS_PROXY
    - create_request
    - g_tls_client_connection_set_validation_flags
    - G_SOCKET_CONNECTABLE
    - strlen
    - g_tls_client_connection_new
    - g_tls_connection_handshake
    - G_TLS_CLIENT_CONNECTION
    - g_set_error_literal
    - g_input_stream_read
    - g_realloc
    - g_object_ref
    - g_str_has_suffix
    - g_output_stream_write_all
    - g_malloc
    - g_free
    - g_clear_object
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: GIOStream*
    signature: 'static GIOStream *g_http_proxy_connect (GProxy *proxy, GIOStream *io_stream,
      GProxyAddress *proxy_address, GCancellable *cancellable, GError **error) '
  - 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:351,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ghttpproxy.c:354,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_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_object_ref
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    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: 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: _
      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_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_free
      Src: /src/glib/gio/ghttpproxy.c:121,1
    - Dst: g_free
      Src: /src/glib/gio/ghttpproxy.c:125,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/ghttpproxy.c:122,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/ghttpproxy.c:119,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: g_string_append
      Src: /src/glib/gio/ghttpproxy.c:128,1
    - Dst: strlen
      Src: /src/glib/gio/ghttpproxy.c:120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 3
    argNames:
    - proxy_address
    - has_cred
    - error
    argTypes:
    - GProxyAddress*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 131
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 131
    functionName: create_request
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_new
    - g_proxy_address_get_username
    - _
    - g_free
    - g_string_append
    - g_string_append_printf
    - g_proxy_address_get_destination_hostname
    - g_hostname_to_ascii
    - g_base64_encode
    - g_strdup_printf
    - g_proxy_address_get_destination_port
    - g_string_free
    - g_set_error_literal
    - g_proxy_address_get_password
    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_pointer
      Src: /src/glib/gio/ghttpproxy.c:335,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ghttpproxy.c:333,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_task_return_pointer
    - g_http_proxy_connect
    - g_task_return_error
    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: 3
    argNames:
    - proxy
    - result
    - error
    argTypes:
    - GProxy*
    - GAsyncResult*
    - GError**
    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_propagate_pointer
    - G_TASK
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_in
      Src: /src/glib/gio/gunixmounts.c:291,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:294,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gunixmounts.c:299,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:296,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:295,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - mount_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 303
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 303
    functionName: g_unix_is_mount_path_system_internal
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_str_has_suffix
    - g_str_has_prefix
    - is_in
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_is_mount_path_system_internal (const char *mount_path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_is_system_fs_type
      Src: /src/glib/gio/gunixmounts.c:414,1
    - Dst: g_unix_is_mount_path_system_internal
      Src: /src/glib/gio/gunixmounts.c:420,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:442,1
    - Dst: g_unix_is_system_device_path
      Src: /src/glib/gio/gunixmounts.c:417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - mountpoint
    - fs
    - device
    - root
    argTypes:
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 446
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 446
    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_unix_is_system_device_path
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean guess_system_internal (const char *mountpoint, const
      char *fs, const char *device, const char *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 574
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 574
    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_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2421
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2421
    functionName: g_unix_mount_get_options
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_get_options (GUnixMountEntry *mount_entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_guess_type
      Src: /src/glib/gio/gunixmounts.c:2928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2934
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2934
    functionName: g_unix_mount_guess_can_eject
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_guess_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_guess_can_eject (GUnixMountEntry *mount_entry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1228,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1242,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:1258,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1243,1
    - Dst: setmntent
      Src: /src/glib/gio/gunixmounts.c:1214,1
    - Dst: getmntent
      Src: /src/glib/gio/gunixmounts.c:1221,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1229,1
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:1212,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1233,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1244,1
    - Dst: endmntent
      Src: /src/glib/gio/gunixmounts.c:1261,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:1264,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1243,1
    - Dst: create_unix_mount_point
      Src: /src/glib/gio/gunixmounts.c:1250,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1220,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1227,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1236,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1245,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1262,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1265
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1265
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - getmntent
    - G_LOCK
    - endmntent
    - g_list_prepend
    - G_UNLOCK
    - hasmntopt
    - create_unix_mount_point
    - setmntent
    - get_fstab_file
    - strcmp
    - g_list_reverse
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - value
    - set
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 225
    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:2395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2398
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2398
    functionName: g_unix_mount_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_get_fs_type (GUnixMountEntry *mount_entry) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:2634,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:2639,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2655,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2669,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2680,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2690,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2695,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:2638,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2641,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2658,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2656,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2670,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2671,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2672,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2674,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2682,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2692,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:2635,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2642,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2643,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2645,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2660,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gunixmounts.c:2667,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2676,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2683,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2684,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2686,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:2636,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2646,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:2651,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2649,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2647,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2653,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2662,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2678,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2688,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 81
    argCount: 3
    argNames:
    - mount_path
    - device_path
    - filesystem_type
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2702
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2702
    functionName: guess_mount_type
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - g_path_get_basename
    - g_str_has_prefix
    - strcmp
    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_new0
      Src: /src/glib/gio/gunixmounts.c:460,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:464,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:462,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:463,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:461,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:465,1
    - Dst: guess_system_internal
      Src: /src/glib/gio/gunixmounts.c:469,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 6
    argNames:
    - device_path
    - mount_path
    - root_path
    - filesystem_type
    - options
    - is_read_only
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 475
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 475
    functionName: create_unix_mount_entry
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - 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_get_unix_mounts
      Src: /src/glib/gio/gunixmounts.c:1517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1518
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1518
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - _g_get_unix_mounts
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_is_system_internal
      Src: /src/glib/gio/gunixmounts.c:2952,1
    - Dst: strncmp
      Src: /src/glib/gio/gunixmounts.c:2978,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:2978,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2998,1
    - Dst: g_stat
      Src: /src/glib/gio/gunixmounts.c:3007,1
    - Dst: g_access
      Src: /src/glib/gio/gunixmounts.c:3009,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:2971,1
    - Dst: strncmp
      Src: /src/glib/gio/gunixmounts.c:2971,1
    - Dst: g_get_user_name
      Src: /src/glib/gio/gunixmounts.c:2976,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2984,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2994,1
    - Dst: g_access
      Src: /src/glib/gio/gunixmounts.c:2996,1
    - Dst: S_ISBLK
      Src: /src/glib/gio/gunixmounts.c:3008,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/gunixmounts.c:3016,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/gunixmounts.c:2964,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:2977,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:2980,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3002,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/gunixmounts.c:3015,1
    - Dst: getuid
      Src: /src/glib/gio/gunixmounts.c:2960,1
    - Dst: strncmp
      Src: /src/glib/gio/gunixmounts.c:2979,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:2979,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gunixmounts.c:2993,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3015,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:3016,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3021
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 3021
    functionName: g_unix_mount_guess_should_display
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strstr_len
    - g_free
    - g_get_home_dir
    - g_access
    - getuid
    - g_get_user_name
    - g_path_get_dirname
    - g_stat
    - g_str_has_prefix
    - S_ISBLK
    - g_unix_mount_is_system_internal
    - strncmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 979
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 979
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1532,1
    - Dst: proc_mounts_watch_is_running
      Src: /src/glib/gio/gunixmounts.c:1541,1
    - Dst: get_mtab_monitor_file
      Src: /src/glib/gio/gunixmounts.c:1534,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:1536,1
    - Dst: stat
      Src: /src/glib/gio/gunixmounts.c:1538,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:1553,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1559
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1559
    functionName: get_mounts_timestamp
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - stat
    - G_LOCK
    - G_UNLOCK
    - proc_mounts_watch_is_running
    - g_str_has_prefix
    - g_get_monotonic_time
    - get_mtab_monitor_file
    linkageType: ''
    returnType: guint64
    signature: 'static guint64 get_mounts_timestamp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mount_points_timestamp
      Src: /src/glib/gio/gunixmounts.c:1804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - time
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 1805
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1805
    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:
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gunixmounts.c:2912,1
    - Dst: type_to_icon
      Src: /src/glib/gio/gunixmounts.c:2912,1
    - Dst: g_unix_mount_point_guess_type
      Src: /src/glib/gio/gunixmounts.c:2912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2913
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2913
    functionName: g_unix_mount_point_guess_symbolic_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_point_guess_type
    - type_to_icon
    - g_themed_icon_new_with_default_fallbacks
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_point_guess_symbolic_icon (GUnixMountPoint *mount_point) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3115
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3115
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 986
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 986
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:1567,1
    - Dst: stat
      Src: /src/glib/gio/gunixmounts.c:1570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1574
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1574
    functionName: get_mount_points_timestamp
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - stat
    - get_fstab_file
    linkageType: ''
    returnType: guint64
    signature: 'static guint64 get_mount_points_timestamp (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:3126,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3134,1
    - Dst: g_file_test
      Src: /src/glib/gio/gunixmounts.c:3128,1
    - Dst: g_file_read_link
      Src: /src/glib/gio/gunixmounts.c:3130,1
    - Dst: g_error_free
      Src: /src/glib/gio/gunixmounts.c:3133,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gunixmounts.c:3139,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gunixmounts.c:3140,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3141,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3142,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3143,1
    - Dst: _canonicalize_filename
      Src: /src/glib/gio/gunixmounts.c:3149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3151
      start: 3117
    functionDepth: 0
    functionLinenumber: 3117
    functionLinenumberEnd: 3151
    functionName: _resolve_symlink
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_error_free
    - g_file_read_link
    - g_path_get_dirname
    - g_strdup_printf
    - g_file_test
    - _canonicalize_filename
    linkageType: ''
    returnType: char*
    signature: 'static char *_resolve_symlink (const char *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mounts_timestamp
      Src: /src/glib/gio/gunixmounts.c:1790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - time
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 1791
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1791
    functionName: g_unix_mounts_changed_since
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mounts_timestamp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mounts_changed_since (guint64 time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2716,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2719,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2718,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2717,1
    - Dst: guess_mount_type
      Src: /src/glib/gio/gunixmounts.c:2721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2724
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2724
    functionName: g_unix_mount_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_guess_type (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gunixmounts.c:2896,1
    - Dst: type_to_icon
      Src: /src/glib/gio/gunixmounts.c:2896,1
    - Dst: g_unix_mount_point_guess_type
      Src: /src/glib/gio/gunixmounts.c:2896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2897
      start: 2893
    functionDepth: 0
    functionLinenumber: 2893
    functionLinenumberEnd: 2897
    functionName: g_unix_mount_point_guess_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_point_guess_type
    - type_to_icon
    - g_themed_icon_new_with_default_fallbacks
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_point_guess_icon (GUnixMountPoint *mount_point) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_point_guess_type
      Src: /src/glib/gio/gunixmounts.c:3036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 3042
      start: 3031
    functionDepth: 0
    functionLinenumber: 3031
    functionLinenumberEnd: 3042
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2622
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2622
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2359
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2359
    functionName: g_unix_mount_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_get_device_path (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2556
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2556
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2540
      start: 2534
    functionDepth: 0
    functionLinenumber: 2534
    functionLinenumberEnd: 2540
    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:2603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2606
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2606
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 848
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 848
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: getvfsstat
      Src: /src/glib/gio/gunixmounts.c:867,1
    - Dst: getfsstat
      Src: /src/glib/gio/gunixmounts.c:869,1
    - Dst: g_malloc
      Src: /src/glib/gio/gunixmounts.c:875,1
    - Dst: getvfsstat
      Src: /src/glib/gio/gunixmounts.c:877,1
    - Dst: getfsstat
      Src: /src/glib/gio/gunixmounts.c:879,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:899,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:906,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:909,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:911,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 912
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 912
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_free
    - getvfsstat
    - g_list_prepend
    - getfsstat
    - g_list_reverse
    - create_unix_mount_entry
    - g_malloc
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2343
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2343
    functionName: g_unix_mount_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_get_mount_path (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gunixmounts.c:2843,1
    - Dst: type_to_icon
      Src: /src/glib/gio/gunixmounts.c:2843,1
    - Dst: g_unix_mount_guess_type
      Src: /src/glib/gio/gunixmounts.c:2843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2844
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2844
    functionName: g_unix_mount_guess_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_guess_type
    - type_to_icon
    - g_themed_icon_new_with_default_fallbacks
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_guess_icon (GUnixMountEntry *mount_entry) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gunixmounts.c:1962,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmounts.c:1963,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1972,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gunixmounts.c:1969,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1966,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gunixmounts.c:1976,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmounts.c:1977,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gunixmounts.c:1982,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixmounts.c:1986,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1987
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1987
    functionName: mount_monitor_stop
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_file_monitor_cancel
    - G_LOCK
    - g_source_remove
    - G_UNLOCK
    - g_object_unref
    - g_source_destroy
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void mount_monitor_stop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GUnixMountMonitor*
    constantsTouched: []
    func_position:
      end: 2118
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2118
    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_signal_connect
      Src: /src/glib/gio/gunixmounts.c:2000,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gunixmounts.c:2019,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:2018,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixmounts.c:2033,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2036,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gunixmounts.c:2041,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2049,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gunixmounts.c:2054,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gunixmounts.c:2057,1
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:1994,1
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:1996,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:2027,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/gunixmounts.c:2051,1
    - Dst: _g_get_unix_mounts
      Src: /src/glib/gio/gunixmounts.c:2052,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gunixmounts.c:2058,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/gunixmounts.c:1997,1
    - Dst: get_mtab_monitor_file
      Src: /src/glib/gio/gunixmounts.c:2003,1
    - Dst: get_mtab_monitor_file
      Src: /src/glib/gio/gunixmounts.c:2007,1
    - Dst: g_io_channel_new_file
      Src: /src/glib/gio/gunixmounts.c:2015,1
    - Dst: g_io_create_watch
      Src: /src/glib/gio/gunixmounts.c:2026,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gunixmounts.c:2031,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gunixmounts.c:2028,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/gunixmounts.c:2042,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunixmounts.c:2044,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixmounts.c:2059,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmounts.c:1998,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gunixmounts.c:1996,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2011,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2024,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gunixmounts.c:2032,1
    - Dst: g_error_free
      Src: /src/glib/gio/gunixmounts.c:2020,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gio/gunixmounts.c:2034,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmounts.c:2043,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:2053,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2061,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2063
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2063
    functionName: mount_monitor_start
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - _g_get_unix_mounts
    - get_fstab_file
    - g_source_unref
    - get_mtab_monitor_file
    - g_main_context_get_thread_default
    - g_source_attach
    - g_object_unref
    - g_str_has_prefix
    - g_get_monotonic_time
    - g_io_channel_new_file
    - g_signal_connect
    - g_file_new_for_path
    - g_quark_to_string
    - g_error_free
    - g_file_monitor_file
    - g_warning
    - g_timeout_source_new_seconds
    - g_source_set_callback
    - g_io_create_watch
    - G_LOCK
    - G_UNLOCK
    - g_io_channel_unref
    linkageType: ''
    returnType: void
    signature: 'static void mount_monitor_start (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mounts_get
      Src: /src/glib/gio/gunixmounts.c:1620,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixmounts.c:1637,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/gunixmounts.c:1630,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/gunixmounts.c:1635,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1627,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - mount_path
    - time_read
    argTypes:
    - char*
    - guint64*
    constantsTouched: []
    func_position:
      end: 1640
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1640
    functionName: g_unix_mount_at
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mounts_get
    - g_unix_mount_free
    - g_list_free
    - strcmp
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: "GUnixMountEntry *g_unix_mount_at (const char *mount_path,\t\t guint64
      *time_read) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2739,1
    - Dst: guess_mount_type
      Src: /src/glib/gio/gunixmounts.c:2744,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2742,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2741,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2747
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2747
    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: get_mtab_read_file
      Src: /src/glib/gio/gunixmounts.c:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 725
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 725
    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: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 17
    argCount: 3
    argNames:
    - type
    - is_mount_point
    - use_symbolic
    argTypes:
    - GUnixMountType
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 2807
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2807
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_mounts_timestamp
      Src: /src/glib/gio/gunixmounts.c:1592,1
    - Dst: _g_get_unix_mounts
      Src: /src/glib/gio/gunixmounts.c:1594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - time_read
    argTypes:
    - guint64*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1595
    functionName: g_unix_mounts_get
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mounts_timestamp
    - _g_get_unix_mounts
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_unix_mounts_get (guint64 *time_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - mount_monitor
    - limit_msec
    argTypes:
    - GUnixMountMonitor*
    - gint
    constantsTouched: []
    func_position:
      end: 2142
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2142
    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_get_unix_mounts
      Src: /src/glib/gio/gunixmounts.c:1509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1510
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1510
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - _g_get_unix_mounts
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aix_fs_getword
      Src: /src/glib/gio/gunixmounts.c:1345,1
    - Dst: aix_fs_getword
      Src: /src/glib/gio/gunixmounts.c:1354,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:1357,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:1349,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:1350,1
    - Dst: aix_fs_getword
      Src: /src/glib/gio/gunixmounts.c:1361,1
    - Dst: aix_fs_getword
      Src: /src/glib/gio/gunixmounts.c:1364,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1366,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:1367,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1368,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1370,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:1371,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:1369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - fd
    - prop
    argTypes:
    - FILE*
    - AixMountTableEntry*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1375
    functionName: aix_fs_get
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    - aix_fs_getword
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int aix_fs_get (FILE *fd, AixMountTableEntry *prop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gunixmounts.c:488,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:489,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:490,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:491,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 7
    argNames:
    - device_path
    - mount_path
    - filesystem_type
    - options
    - is_read_only
    - is_user_mountable
    - is_loopback
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - gboolean
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 498
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 498
    functionName: create_unix_mount_point
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 778
    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_getc
      Src: /src/glib/gio/gunixmounts.c:1291,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gunixmounts.c:1293,1
    - Dst: ungetc
      Src: /src/glib/gio/gunixmounts.c:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1301
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_points_get
      Src: /src/glib/gio/gunixmounts.c:1757,1
    - Dst: g_unix_mount_point_free
      Src: /src/glib/gio/gunixmounts.c:1767,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1764,1
    - Dst: g_unix_mount_point_free
      Src: /src/glib/gio/gunixmounts.c:1772,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixmounts.c:1774,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - mount_path
    - time_read
    argTypes:
    - char*
    - guint64*
    constantsTouched: []
    func_position:
      end: 1777
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1777
    functionName: g_unix_mount_point_at
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_points_get
    - g_unix_mount_point_free
    - g_list_free
    - strcmp
    linkageType: ''
    returnType: GUnixMountPoint*
    signature: 'GUnixMountPoint *g_unix_mount_point_at (const char *mount_path, guint64
      *time_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2458
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2458
    functionName: g_unix_mount_is_system_internal
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    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: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 719
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_mtab_read_file
      Src: /src/glib/gio/gunixmounts.c:736,1
    - Dst: setmntent
      Src: /src/glib/gio/gunixmounts.c:738,1
    - Dst: getmntent
      Src: /src/glib/gio/gunixmounts.c:745,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:744,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:750,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:754,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:761,1
    - Dst: endmntent
      Src: /src/glib/gio/gunixmounts.c:764,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:766,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:768,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 769
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 769
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - getmntent
    - get_mtab_read_file
    - G_LOCK
    - endmntent
    - g_list_prepend
    - G_UNLOCK
    - hasmntopt
    - setmntent
    - g_list_reverse
    - create_unix_mount_entry
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mntctl
      Src: /src/glib/gio/gunixmounts.c:790,1
    - Dst: mntctl
      Src: /src/glib/gio/gunixmounts.c:799,1
    - Dst: g_malloc
      Src: /src/glib/gio/gunixmounts.c:797,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:792,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:802,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:806,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:808,1
    - Dst: getvfsbytype
      Src: /src/glib/gio/gunixmounts.c:817,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:822,1
    - Dst: vmt2dataptr
      Src: /src/glib/gio/gunixmounts.c:822,1
    - Dst: vmt2dataptr
      Src: /src/glib/gio/gunixmounts.c:823,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:836,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:838,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:829,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 839
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 839
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - vmt2dataptr
    - getvfsbytype
    - g_free
    - g_list_prepend
    - g_warning
    - g_list_reverse
    - create_unix_mount_entry
    - mntctl
    - g_malloc
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/gio/gunixmounts.c:1712,1
    - Dst: _g_get_unix_mount_points
      Src: /src/glib/gio/gunixmounts.c:1721,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixmounts.c:1720,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1714,1
    - Dst: get_mount_points_timestamp
      Src: /src/glib/gio/gunixmounts.c:1716,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gunixmounts.c:1723,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - time_read
    argTypes:
    - guint64*
    constantsTouched: []
    func_position:
      end: 1731
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1731
    functionName: g_unix_mount_points_get
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - get_mount_points_timestamp
    - g_list_copy_deep
    - G_UNLOCK
    - _g_get_unix_mount_points
    - G_LOCK_DEFINE_STATIC
    - g_list_free_full
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_unix_mount_points_get (guint64 *time_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_monitor_get
      Src: /src/glib/gio/gunixmounts.c:2185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2186
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2186
    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_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2437
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2437
    functionName: g_unix_mount_is_readonly
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_is_readonly (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/gunixmounts.c:1863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1866
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1866
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_mtab_read_file
      Src: /src/glib/gio/gunixmounts.c:594,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gunixmounts.c:602,1
    - Dst: getmntent_r
      Src: /src/glib/gio/gunixmounts.c:605,1
    - Dst: setmntent
      Src: /src/glib/gio/gunixmounts.c:596,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:607,1
    - Dst: getmntent
      Src: /src/glib/gio/gunixmounts.c:608,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gunixmounts.c:626,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:629,1
    - Dst: _resolve_dev_root
      Src: /src/glib/gio/gunixmounts.c:630,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:635,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:650,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:657,1
    - Dst: endmntent
      Src: /src/glib/gio/gunixmounts.c:654,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:639,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gunixmounts.c:652,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gunixmounts.c:646,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:660,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 661
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 661
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - create_unix_mount_entry
    - G_LOCK
    - get_mtab_read_file
    - getmntent
    - g_strcmp0
    - g_hash_table_destroy
    - g_hash_table_insert
    - g_list_prepend
    - endmntent
    - hasmntopt
    - G_UNLOCK
    - g_hash_table_new
    - setmntent
    - getmntent_r
    - _resolve_dev_root
    - g_list_reverse
    - g_hash_table_lookup
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gunixmounts.c:1890,1
    - Dst: g_main_context_default
      Src: /src/glib/gio/gunixmounts.c:1892,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gunixmounts.c:1894,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gunixmounts.c:1895,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gunixmounts.c:1896,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gunixmounts.c:1897,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gunixmounts.c:1898,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixmounts.c:1899,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: 1900
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1900
    functionName: mtab_file_changed
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_set_static_name
    - g_main_context_default
    - g_source_unref
    - g_idle_source_new
    - g_main_context_get_thread_default
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: void
    signature: 'static void mtab_file_changed (GFileMonitor *monitor, GFile *file,
      GFile *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aix_fs_ignorespace
      Src: /src/glib/gio/gunixmounts.c:1310,1
    - Dst: aix_fs_getc
      Src: /src/glib/gio/gunixmounts.c:1316,1
    - Dst: aix_fs_getc
      Src: /src/glib/gio/gunixmounts.c:1312,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gunixmounts.c:1312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - fd
    - word
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1325
    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: getc
      Src: /src/glib/gio/gunixmounts.c:1278,1
    - Dst: getc
      Src: /src/glib/gio/gunixmounts.c:1280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1283
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/gio/gunixmounts.c:1424,1
    - Dst: sysctl
      Src: /src/glib/gio/gunixmounts.c:1445,1
    - Dst: getuid
      Src: /src/glib/gio/gunixmounts.c:1426,1
    - Dst: sysctl
      Src: /src/glib/gio/gunixmounts.c:1454,1
    - Dst: sysctlbyname
      Src: /src/glib/gio/gunixmounts.c:1436,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1459,1
    - Dst: setfsent
      Src: /src/glib/gio/gunixmounts.c:1460,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1462,1
    - Dst: getfsent
      Src: /src/glib/gio/gunixmounts.c:1466,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1471,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1474,1
    - Dst: stat
      Src: /src/glib/gio/gunixmounts.c:1481,1
    - Dst: create_unix_mount_point
      Src: /src/glib/gio/gunixmounts.c:1488,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:1496,1
    - Dst: endfsent
      Src: /src/glib/gio/gunixmounts.c:1499,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1500,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:1502,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1503
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1503
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - stat
    - G_LOCK
    - sysctl
    - getfsent
    - getuid
    - G_UNLOCK
    - create_unix_mount_point
    - g_list_prepend
    - endfsent
    - setfsent
    - strcmp
    - g_list_reverse
    - G_LOCK_DEFINE_STATIC
    - sysctlbyname
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:1667,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:1678,1
    - Dst: g_unix_mount_at
      Src: /src/glib/gio/gunixmounts.c:1669,1
    - Dst: _g_local_file_find_topdir_for
      Src: /src/glib/gio/gunixmounts.c:1674,1
    - Dst: g_unix_mount_at
      Src: /src/glib/gio/gunixmounts.c:1677,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - file_path
    - time_read
    argTypes:
    - char*
    - guint64*
    constantsTouched: []
    func_position:
      end: 1683
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1683
    functionName: g_unix_mount_for
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - _g_local_file_find_topdir_for
    - g_return_val_if_fail
    - g_free
    - g_unix_mount_at
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: 'GUnixMountEntry *g_unix_mount_for (const char *file_path, guint64
      *time_read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:2877,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2878,1
    - Dst: _
      Src: /src/glib/gio/gunixmounts.c:2878,1
    - Dst: g_filename_display_basename
      Src: /src/glib/gio/gunixmounts.c:2880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2883
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2883
    functionName: g_unix_mount_point_guess_name
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _
    - g_filename_display_basename
    - strcmp
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_unix_mount_point_guess_name (GUnixMountPoint *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_point_copy
      Src: /src/glib/gio/gunixmounts.c:1690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - src
    - data
    argTypes:
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1691
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1691
    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_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gunixmounts.c:2859,1
    - Dst: type_to_icon
      Src: /src/glib/gio/gunixmounts.c:2859,1
    - Dst: g_unix_mount_guess_type
      Src: /src/glib/gio/gunixmounts.c:2859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2860
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2860
    functionName: g_unix_mount_guess_symbolic_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_guess_type
    - type_to_icon
    - g_themed_icon_new_with_default_fallbacks
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_guess_symbolic_icon (GUnixMountEntry *mount_entry) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2300,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2302,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2306,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2310,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2314,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - mount1
    - mount2
    argTypes:
    - GUnixMountEntry*
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2327
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2327
    functionName: g_unix_mount_compare
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_unix_mount_compare (GUnixMountEntry *mount1,\t\t GUnixMountEntry
      *mount2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2524
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2524
    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:2587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2590
      start: 2584
    functionDepth: 0
    functionLinenumber: 2584
    functionLinenumberEnd: 2590
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:2824,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2825,1
    - Dst: _
      Src: /src/glib/gio/gunixmounts.c:2825,1
    - Dst: g_filename_display_basename
      Src: /src/glib/gio/gunixmounts.c:2827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2830
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2830
    functionName: g_unix_mount_guess_name
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _
    - g_filename_display_basename
    - strcmp
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_unix_mount_guess_name (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mnt_get_fstab_path
      Src: /src/glib/gio/gunixmounts.c:1004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1017
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1017
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2477,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2491,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2479,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2483,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2487,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - mount1
    - mount2
    argTypes:
    - GUnixMountPoint*
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2508
    functionName: g_unix_mount_point_compare
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_unix_mount_point_compare (GUnixMountPoint *mount1,\t\t\t GUnixMountPoint
      *mount2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2574
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2574
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gunixmounts.c:2246,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2251,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2249,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2250,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2248,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2253
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2253
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: mnt_has_regular_mtab
      Src: /src/glib/gio/gunixmounts.c:681,1
    - Dst: stat
      Src: /src/glib/gio/gunixmounts.c:686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 704
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 704
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2382
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2382
    functionName: g_unix_mount_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_get_root_path (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:369,1
    - Dst: is_in
      Src: /src/glib/gio/gunixmounts.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fs_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 372
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 372
    functionName: g_unix_is_system_fs_type
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - is_in
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_is_system_fs_type (const char *fs_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 921
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:1387,1
    - Dst: aix_fs_get
      Src: /src/glib/gio/gunixmounts.c:1395,1
    - Dst: setmntent
      Src: /src/glib/gio/gunixmounts.c:1389,1
    - Dst: create_unix_mount_point
      Src: /src/glib/gio/gunixmounts.c:1399,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1397,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:1407,1
    - Dst: endmntent
      Src: /src/glib/gio/gunixmounts.c:1411,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:1413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1414
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1414
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - aix_fs_get
    - endmntent
    - g_list_prepend
    - create_unix_mount_point
    - setmntent
    - get_fstab_file
    - strcmp
    - g_list_reverse
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1909,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:1910,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1911,1
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/gunixmounts.c:1913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - channel
    - cond
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1917
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1917
    functionName: proc_mounts_changed
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - 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: G_UNIX_MOUNT_MONITOR
      Src: /src/glib/gio/gunixmounts.c:2070,1
    - Dst: g_context_specific_group_remove
      Src: /src/glib/gio/gunixmounts.c:2072,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixmounts.c:2074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2075
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2075
    functionName: g_unix_mount_monitor_finalize
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - G_UNIX_MOUNT_MONITOR
    - G_OBJECT_CLASS
    - g_context_specific_group_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gunixmounts.c:2198,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2201,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2203,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2202,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2200,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2204,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2206
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2206
    functionName: g_unix_mount_free
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_unix_mount_free (GUnixMountEntry *mount_entry) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/glib/gio/gunixmounts.c:930,1
    - Dst: readdir_r
      Src: /src/glib/gio/gunixmounts.c:943,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:933,1
    - Dst: strcat
      Src: /src/glib/gio/gunixmounts.c:947,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:946,1
    - Dst: statvfs
      Src: /src/glib/gio/gunixmounts.c:949,1
    - Dst: g_new0
      Src: /src/glib/gio/gunixmounts.c:951,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:953,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:954,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:955,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:964,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:960,1
    - Dst: closedir
      Src: /src/glib/gio/gunixmounts.c:966,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 969
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 969
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strdup
    - closedir
    - g_new0
    - strcpy
    - readdir_r
    - g_list_prepend
    - g_warning
    - opendir
    - strcat
    - g_list_reverse
    - statvfs
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1049,1
    - Dst: mnt_optstr_get_flags
      Src: /src/glib/gio/gunixmounts.c:1062,1
    - Dst: mnt_get_builtin_optmap
      Src: /src/glib/gio/gunixmounts.c:1062,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:1074,1
    - Dst: _resolve_dev_root
      Src: /src/glib/gio/gunixmounts.c:1086,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:1105,1
    - Dst: mnt_new_iter
      Src: /src/glib/gio/gunixmounts.c:1037,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1051,1
    - Dst: mnt_fs_get_fstype
      Src: /src/glib/gio/gunixmounts.c:1054,1
    - Dst: mnt_fs_strdup_options
      Src: /src/glib/gio/gunixmounts.c:1055,1
    - Dst: mnt_optstr_get_flags
      Src: /src/glib/gio/gunixmounts.c:1061,1
    - Dst: mnt_get_builtin_optmap
      Src: /src/glib/gio/gunixmounts.c:1061,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:1096,1
    - Dst: mnt_free_iter
      Src: /src/glib/gio/gunixmounts.c:1100,1
    - Dst: mnt_free_table
      Src: /src/glib/gio/gunixmounts.c:1103,1
    - Dst: mnt_new_table
      Src: /src/glib/gio/gunixmounts.c:1033,1
    - Dst: mnt_table_next_fs
      Src: /src/glib/gio/gunixmounts.c:1038,1
    - Dst: mnt_table_parse_fstab
      Src: /src/glib/gio/gunixmounts.c:1034,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1050,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/gunixmounts.c:1076,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:1085,1
    - Dst: create_unix_mount_point
      Src: /src/glib/gio/gunixmounts.c:1088,1
    - Dst: mnt_fs_get_target
      Src: /src/glib/gio/gunixmounts.c:1048,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:1067,1
    - Dst: mnt_fs_get_source
      Src: /src/glib/gio/gunixmounts.c:1084,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:1098,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1106
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1106
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - mnt_fs_get_fstype
    - _resolve_dev_root
    - mnt_fs_get_source
    - mnt_new_iter
    - mnt_fs_get_target
    - mnt_new_table
    - g_strstr_len
    - g_strcmp0
    - mnt_optstr_get_flags
    - strcmp
    - g_list_reverse
    - mnt_get_builtin_optmap
    - mnt_free_iter
    - g_list_prepend
    - mnt_table_next_fs
    - mnt_free_table
    - mnt_fs_strdup_options
    - mnt_table_parse_fstab
    - g_free
    - create_unix_mount_point
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_get_unix_mounts
      Src: /src/glib/gio/gunixmounts.c:1925,1
    - Dst: g_list_next
      Src: /src/glib/gio/gunixmounts.c:1929,1
    - Dst: g_list_next
      Src: /src/glib/gio/gunixmounts.c:1929,1
    - Dst: g_unix_mount_compare
      Src: /src/glib/gio/gunixmounts.c:1931,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixmounts.c:1940,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1946,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:1947,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1948,1
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/gunixmounts.c:1950,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1954
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1954
    functionName: mount_change_poller
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_compare
    - g_context_specific_group_emit
    - G_LOCK
    - _g_get_unix_mounts
    - G_UNLOCK
    - g_list_next
    - g_get_monotonic_time
    - g_list_free_full
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mount_change_poller (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixmounts.c:2080,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gunixmounts.c:2106,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gunixmounts.c:2092,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gunixmounts.c:2091,1
    - Dst: I_
      Src: /src/glib/gio/gunixmounts.c:2091,1
    - Dst: I_
      Src: /src/glib/gio/gunixmounts.c:2106,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gunixmounts.c:2107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixMountMonitorClass*
    constantsTouched: []
    func_position:
      end: 2113
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2113
    functionName: g_unix_mount_monitor_class_init
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_signal_new
    - G_OBJECT_CLASS
    - I_
    - G_TYPE_FROM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_monitor_class_init (GUnixMountMonitorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2270,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2273,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2274,1
    - Dst: g_new0
      Src: /src/glib/gio/gunixmounts.c:2272,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2275,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2282
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2282
    functionName: g_unix_mount_point_copy
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_new0
    linkageType: ''
    returnType: GUnixMountPoint*
    signature: 'GUnixMountPoint *g_unix_mount_point_copy (GUnixMountPoint *mount_point) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _resolve_dev_root
      Src: /src/glib/gio/gunixmounts.c:533,1
    - Dst: mnt_optstr_get_flags
      Src: /src/glib/gio/gunixmounts.c:538,1
    - Dst: mnt_get_builtin_optmap
      Src: /src/glib/gio/gunixmounts.c:538,1
    - Dst: mnt_fs_get_fstype
      Src: /src/glib/gio/gunixmounts.c:546,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:557,1
    - Dst: mnt_fs_get_source
      Src: /src/glib/gio/gunixmounts.c:531,1
    - Dst: mnt_free_table
      Src: /src/glib/gio/gunixmounts.c:555,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:543,1
    - Dst: mnt_free_iter
      Src: /src/glib/gio/gunixmounts.c:552,1
    - Dst: mnt_new_iter
      Src: /src/glib/gio/gunixmounts.c:523,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:532,1
    - Dst: mnt_fs_get_options
      Src: /src/glib/gio/gunixmounts.c:547,1
    - Dst: mnt_fs_get_root
      Src: /src/glib/gio/gunixmounts.c:545,1
    - Dst: mnt_new_table
      Src: /src/glib/gio/gunixmounts.c:519,1
    - Dst: mnt_table_next_fs
      Src: /src/glib/gio/gunixmounts.c:524,1
    - Dst: mnt_table_parse_mtab
      Src: /src/glib/gio/gunixmounts.c:520,1
    - Dst: mnt_fs_strdup_options
      Src: /src/glib/gio/gunixmounts.c:535,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:539,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:550,1
    - Dst: mnt_fs_get_target
      Src: /src/glib/gio/gunixmounts.c:544,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 558
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 558
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - mnt_fs_get_fstype
    - mnt_fs_get_root
    - mnt_fs_get_options
    - _resolve_dev_root
    - mnt_fs_get_source
    - mnt_new_iter
    - mnt_fs_get_target
    - mnt_new_table
    - mnt_table_parse_mtab
    - g_strcmp0
    - mnt_optstr_get_flags
    - g_list_reverse
    - mnt_get_builtin_optmap
    - mnt_free_iter
    - g_list_prepend
    - mnt_table_next_fs
    - create_unix_mount_entry
    - mnt_free_table
    - mnt_fs_strdup_options
    - g_free
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:403,1
    - Dst: is_in
      Src: /src/glib/gio/gunixmounts.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - device_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 406
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 406
    functionName: g_unix_is_system_device_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - is_in
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_is_system_device_path (const char *device_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2223,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2226,1
    - Dst: g_new0
      Src: /src/glib/gio/gunixmounts.c:2225,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2228,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2227,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2229,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2235
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2235
    functionName: g_unix_mount_copy
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_new0
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: 'GUnixMountEntry *g_unix_mount_copy (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_is_destroyed
      Src: /src/glib/gio/gunixmounts.c:1841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1842
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1842
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_get
      Src: /src/glib/gio/gunixmounts.c:2164,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gunixmounts.c:2166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2168
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2168
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/gunixmounts.c:1856,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: 1857
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1857
    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_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:67,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gunixfdmessage.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    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: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    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:142,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixfdmessage.c:147,1
    - Dst: g_unix_fd_list_peek_fds
      Src: /src/glib/gio/gunixfdmessage.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - message
    - data
    argTypes:
    - GSocketControlMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: g_unix_fd_message_serialize
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_UNIX_FD_MESSAGE
    - g_unix_fd_list_peek_fds
    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: 1
    argNames:
    - message
    argTypes:
    - GUnixFDMessage*
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    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:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GUnixFDMessage*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    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:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    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:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fd_list
    argTypes:
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/gio/gunixfdmessage.c:101,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gunixfdmessage.c:131,1
    - Dst: fcntl
      Src: /src/glib/gio/gunixfdmessage.c:118,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixfdmessage.c:126,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixfdmessage.c:125,1
    - Dst: g_unix_fd_message_new_with_fd_list
      Src: /src/glib/gio/gunixfdmessage.c:132,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixfdmessage.c:133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - level
    - type
    - size
    - data
    argTypes:
    - int
    - int
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 136
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 136
    functionName: g_unix_fd_message_deserialize
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_new_from_array
    - g_unix_fd_message_new_with_fd_list
    - g_strerror
    - g_object_unref
    - g_warning
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:154,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gunixfdmessage.c:162,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gunixfdmessage.c:159,1
    - Dst: g_assert
      Src: /src/glib/gio/gunixfdmessage.c:156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gunixfdmessage.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: g_unix_fd_message_set_property
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert
    - g_value_dup_object
    - g_unix_fd_list_new
    - G_UNIX_FD_MESSAGE
    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:187,1
    - Dst: g_unix_fd_message_get_fd_list
      Src: /src/glib/gio/gunixfdmessage.c:191,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gunixfdmessage.c:191,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gunixfdmessage.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: g_unix_fd_message_get_property
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - g_assert_cmpint
    - G_UNIX_FD_MESSAGE
    - g_unix_fd_message_get_fd_list
    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:203,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixfdmessage.c:207,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixfdmessage.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: g_unix_fd_message_finalize
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_UNIX_FD_MESSAGE
    - g_object_unref
    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:214,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixfdmessage.c:226,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gunixfdmessage.c:227,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixfdmessage.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - class
    argTypes:
    - GUnixFDMessageClass*
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: g_unix_fd_message_class_init
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_SOCKET_CONTROL_MESSAGE_CLASS
    - G_OBJECT_CLASS
    - g_param_spec_object
    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:300,1
    - Dst: g_unix_fd_list_steal_fds
      Src: /src/glib/gio/gunixfdmessage.c:302,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - message
    - length
    argTypes:
    - GUnixFDMessage*
    - gint*
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    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:329,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gunixfdmessage.c:331,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - message
    - fd
    - error
    argTypes:
    - GUnixFDMessage*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 332
    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: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    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_value_init
      Src: /src/glib/gio/gpollableutils.c:72,1
    - Dst: g_value_init
      Src: /src/glib/gio/gpollableutils.c:74,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gpollableutils.c:75,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gpollableutils.c:79,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gpollableutils.c:77,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gpollableutils.c:80,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gpollableutils.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - data
    argTypes:
    - GObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: pollable_source_closure_callback
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_get_boolean
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean pollable_source_closure_callback (GObject *stream,\t\t\t\t
      gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableutils.c:116,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gpollableutils.c:120,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:116,1
    - Dst: g_source_new
      Src: /src/glib/gio/gpollableutils.c:119,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:117,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gpollableutils.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pollable_stream
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: g_pollable_source_new
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_POLLABLE_OUTPUT_STREAM
    - g_source_set_static_name
    - g_return_val_if_fail
    - g_source_new
    - G_IS_POLLABLE_INPUT_STREAM
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_pollable_source_new (GObject *pollable_stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gpollableutils.c:205,1
    - Dst: g_pollable_input_stream_read_nonblocking
      Src: /src/glib/gio/gpollableutils.c:211,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:211,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: 215
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 215
    functionName: g_pollable_stream_read
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - G_POLLABLE_INPUT_STREAM
    - g_pollable_input_stream_read_nonblocking
    - g_input_stream_read
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_pollable_stream_write
      Src: /src/glib/gio/gpollableutils.c:314,1
    - Dst: g_warning
      Src: /src/glib/gio/gpollableutils.c:327,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: 336
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 336
    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:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    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:150,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:150,1
    - Dst: g_pollable_source_new
      Src: /src/glib/gio/gpollableutils.c:153,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gpollableutils.c:156,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:151,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gpollableutils.c:157,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gpollableutils.c:161,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gpollableutils.c:163,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gpollableutils.c:164,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gpollableutils.c:165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pollable_stream
    - child_source
    - cancellable
    argTypes:
    - gpointer
    - GSource*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 169
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 169
    functionName: g_pollable_source_new_full
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - G_IS_POLLABLE_OUTPUT_STREAM
    - g_return_val_if_fail
    - g_cancellable_source_new
    - g_source_unref
    - g_source_add_child_source
    - G_IS_POLLABLE_INPUT_STREAM
    - g_pollable_source_new
    - 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_output_stream_write
      Src: /src/glib/gio/gpollableutils.c:252,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:258,1
    - Dst: g_pollable_output_stream_write_nonblocking
      Src: /src/glib/gio/gpollableutils.c:258,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: 262
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 262
    functionName: g_pollable_stream_write
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - g_pollable_output_stream_write_nonblocking
    - G_POLLABLE_OUTPUT_STREAM
    - 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: 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: 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_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_debug
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:113,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_steal_pointer
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:135,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:133,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:134,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_dbus_proxy_get_cached_property
    - G_OBJECT
    - g_signal_connect
    - g_strcmp0
    - g_clear_pointer
    - g_error_free
    - g_dbus_proxy_new_finish
    - g_debug
    - G_CALLBACK
    - g_object_notify
    - g_steal_pointer
    - g_variant_get_string
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void ppd_proxy_cb (GObject *source_object, GAsyncResult *res,
      gpointer user_data) '
  - 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_clear_signal_handler
    - g_clear_object
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void ppd_vanished_cb (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_POWER_PROFILE_MONITOR_DBUS
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:195,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:197,1
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:198,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_POWER_PROFILE_MONITOR_DBUS
    - g_cancellable_new
    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
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_dbus_class_init (GPowerProfileMonitorDBusClass
      *nl_class) '
  - 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_variant_lookup
    - G_OBJECT
    - g_object_notify
    - g_strcmp0
    linkageType: ''
    returnType: void
    signature: 'static void ppd_properties_changed_cb (GDBusProxy *proxy, GVariant
      *changed_properties, GStrv *invalidated_properties, gpointer user_data) '
  - 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_POWER_PROFILE_MONITOR_DBUS
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:177,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:186,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:182,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_POWER_PROFILE_MONITOR_DBUS
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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_clear_object
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:215,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:214,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:217,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:216,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_clear_object
    - g_cancellable_cancel
    - G_POWER_PROFILE_MONITOR_DBUS
    - G_OBJECT_CLASS
    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:39,1
    - Dst: gboolean
      Src: /src/glib/gio/gdebugcontrollerdbus.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ()
    argTypes:
    - g_debug_controller_dbus_get_type
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 58
    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 /** * GDebugControllerDBus: * * #GDebugControllerDBus
      is an implementation of #GDebugController over D-Bus. * * Since: 2.72 */ #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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1282,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1286,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1282,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1284,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1287
    functionName: g_tls_certificate_get_issuer_name
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_TLS_CERTIFICATE
    - g_steal_pointer
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_tls_certificate_get_issuer_name (GTlsCertificate *cert) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:835,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:837,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gtlscertificate.c:839,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:836,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gtlscertificate.c:839,1
    - Dst: g_set_error
      Src: /src/glib/gio/gtlscertificate.c:841,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gtlscertificate.c:846,1
    - Dst: g_tls_certificate_new_from_pkcs12
      Src: /src/glib/gio/gtlscertificate.c:849,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:851,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - file
    - password
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 853
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 853
    functionName: g_tls_certificate_new_from_file_with_password
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_free
    - g_tls_certificate_new_from_pkcs12
    - g_str_has_suffix
    - g_file_get_contents
    - g_return_val_if_fail
    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:1052,1
    - Dst: g_tls_certificate_new_internal
      Src: /src/glib/gio/gtlscertificate.c:1066,1
    - Dst: parse_next_pem_certificate
      Src: /src/glib/gio/gtlscertificate.c:1063,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:1067,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtlscertificate.c:1073,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gtlscertificate.c:1074,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/gtlscertificate.c:1079,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:1082,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 2
    argNames:
    - file
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1084
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1084
    functionName: g_tls_certificate_list_new_from_file
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - parse_next_pem_certificate
    - g_free
    - g_tls_certificate_new_internal
    - g_propagate_error
    - g_file_get_contents
    - g_queue_push_tail
    - g_list_free_full
    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:1238,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1242,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1240,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1240,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1243
    functionName: g_tls_certificate_get_not_valid_after
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_TLS_CERTIFICATE
    - g_steal_pointer
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_tls_certificate_get_not_valid_after (GTlsCertificate
      *cert) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:775,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/gtlscertificate.c:780,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/gtlscertificate.c:781,1
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gtlscertificate.c:778,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:776,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlscertificate.c:783,1
    - Dst: g_tls_backend_get_certificate_type
      Src: /src/glib/gio/gtlscertificate.c:783,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/gtlscertificate.c:789,1
    - Dst: g_tls_certificate_get_instance_private
      Src: /src/glib/gio/gtlscertificate.c:793,1
    - Dst: G_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:793,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:798,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlscertificate.c:797,1
    - Dst: G_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:804,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:799,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - data
    - length
    - password
    - error
    argTypes:
    - guint8*
    - gsize
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 805
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 805
    functionName: g_tls_certificate_new_from_pkcs12
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_tls_certificate_get_instance_private
    - g_byte_array_unref
    - _
    - g_clear_object
    - g_tls_backend_get_certificate_type
    - G_TLS_CERTIFICATE
    - g_byte_array_new
    - g_tls_backend_get_default
    - g_set_error_literal
    - g_return_val_if_fail
    - g_initable_new
    - g_byte_array_append
    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:997,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:998,1
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gtlscertificate.c:1000,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlscertificate.c:1002,1
    - Dst: g_tls_backend_get_certificate_type
      Src: /src/glib/gio/gtlscertificate.c:1002,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1013,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:1016,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:1016,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlscertificate.c:1017,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:1020,1
    - Dst: G_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1023,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - pkcs11_uri
    - private_key_pkcs11_uri
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1024
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1024
    functionName: g_tls_certificate_new_from_pkcs11_uris
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - _
    - g_free
    - g_tls_backend_get_certificate_type
    - g_object_unref
    - G_TLS_CERTIFICATE
    - g_tls_backend_get_default
    - g_set_error_literal
    - g_return_val_if_fail
    - g_initable_new
    - g_object_get
    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:1305,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1307,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1307,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1309,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1310
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1310
    functionName: g_tls_certificate_get_dns_names
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_TLS_CERTIFICATE
    - g_steal_pointer
    - g_return_val_if_fail
    - g_object_get
    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:442,1
    - Dst: g_tls_backend_get_certificate_type
      Src: /src/glib/gio/gtlscertificate.c:444,1
    - Dst: G_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:451,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlscertificate.c:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - certificate_pem
    - private_key_pem
    - issuer
    - error
    argTypes:
    - gchar*
    - gchar*
    - GTlsCertificate*
    - GError**
    constantsTouched: []
    func_position:
      end: 452
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 452
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_get_instance_private
      Src: /src/glib/gio/gtlscertificate.c:113,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlscertificate.c:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strstr_len
      Src: /src/glib/gio/gtlscertificate.c:471,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:479,1
    - Dst: g_strrstr_len
      Src: /src/glib/gio/gtlscertificate.c:473,1
    - Dst: strlen
      Src: /src/glib/gio/gtlscertificate.c:484,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:478,1
    - Dst: strncmp
      Src: /src/glib/gio/gtlscertificate.c:486,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:488,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:489,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/gtlscertificate.c:493,1
    - Dst: g_strrstr_len
      Src: /src/glib/gio/gtlscertificate.c:495,1
    - Dst: g_strndup
      Src: /src/glib/gio/gtlscertificate.c:509,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:500,1
    - Dst: strlen
      Src: /src/glib/gio/gtlscertificate.c:504,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:499,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 4
    argNames:
    - data
    - data_len
    - required
    - error
    argTypes:
    - gchar*
    - gsize
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 510
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 510
    functionName: parse_private_key
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strstr_len
    - _
    - g_strndup
    - g_set_error_literal
    - g_strrstr_len
    - 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:561,1
    - Dst: g_error_free
      Src: /src/glib/gio/gtlscertificate.c:581,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gtlscertificate.c:567,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gtlscertificate.c:580,1
    - Dst: parse_next_pem_certificate
      Src: /src/glib/gio/gtlscertificate.c:577,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gtlscertificate.c:589,1
    - Dst: g_slist_concat
      Src: /src/glib/gio/gtlscertificate.c:592,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 3
    argNames:
    - data
    - data_len
    - error
    argTypes:
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 595
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 595
    functionName: parse_and_create_certificate_list
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - parse_next_pem_certificate
    - g_slist_concat
    - g_error_free
    - g_slist_free_full
    - g_slist_prepend
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *parse_and_create_certificate_list (const gchar *data,
      gsize data_len, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1185,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1186,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1186,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1188,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1185,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1189,1
    - Dst: memcmp
      Src: /src/glib/gio/gtlscertificate.c:1192,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/gtlscertificate.c:1194,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/gtlscertificate.c:1195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - cert_one
    - cert_two
    argTypes:
    - GTlsCertificate*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1198
    functionName: g_tls_certificate_is_same
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_byte_array_unref
    - G_IS_TLS_CERTIFICATE
    - memcmp
    - g_return_val_if_fail
    - g_object_get
    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:1328,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1332,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1330,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1328,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1333
    functionName: g_tls_certificate_get_ip_addresses
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_TLS_CERTIFICATE
    - g_steal_pointer
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_tls_certificate_get_ip_addresses (GTlsCertificate *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:151,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:166,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:198,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:199,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:232,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:263,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:311,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:312,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:331,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:377,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:411,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:394,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:395,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:345,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:181,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:182,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:183,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:200,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:291,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlscertificate.c:292,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:293,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:314,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:328,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:329,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:361,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:363,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:378,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:346,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:427,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:362,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:150,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:148,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:149,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:167,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:230,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:229,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:231,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:264,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:330,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:392,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:348,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:379,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:408,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:364,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:393,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlscertificate.c:134,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:164,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:165,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:201,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:184,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:261,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:262,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:294,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:313,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:347,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:380,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:409,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:410,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:425,1
    - Dst: P_
      Src: /src/glib/gio/gtlscertificate.c:426,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 88
    argCount: 1
    argNames:
    - class
    argTypes:
    - GTlsCertificateClass*
    constantsTouched: []
    func_position:
      end: 431
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 431
    functionName: g_tls_certificate_class_init
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - g_param_spec_string
    - g_param_spec_boxed
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_certificate_class_init (GTlsCertificateClass *class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strstr_len
      Src: /src/glib/gio/gtlscertificate.c:521,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:527,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:535,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:526,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/gtlscertificate.c:532,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:536,1
    - Dst: strlen
      Src: /src/glib/gio/gtlscertificate.c:539,1
    - Dst: g_strndup
      Src: /src/glib/gio/gtlscertificate.c:545,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 4
    argNames:
    - data
    - data_end
    - required
    - error
    argTypes:
    - gchar**
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 546
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 546
    functionName: parse_next_pem_certificate
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strstr_len
    - _
    - g_strndup
    - 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:619,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlscertificate.c:628,1
    - Dst: g_slist_next
      Src: /src/glib/gio/gtlscertificate.c:630,1
    - Dst: g_tls_certificate_verify
      Src: /src/glib/gio/gtlscertificate.c:636,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlscertificate.c:621,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlscertificate.c:640,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlscertificate.c:643,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - pem_list
    - key_pem
    argTypes:
    - GSList*
    - gchar*
    constantsTouched: []
    func_position:
      end: 646
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 646
    functionName: create_certificate_chain_from_list
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_clear_object
    - g_tls_certificate_new_internal
    - g_tls_certificate_verify
    - g_object_unref
    - g_slist_next
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'static GTlsCertificate *create_certificate_chain_from_list (GSList
      *pem_list, const gchar *key_pem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1260,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1262,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1260,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1264,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1265
    functionName: g_tls_certificate_get_subject_name
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_TLS_CERTIFICATE
    - g_steal_pointer
    - g_return_val_if_fail
    - g_object_get
    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: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:717,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:718,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtlscertificate.c:726,1
    - Dst: parse_private_key
      Src: /src/glib/gio/gtlscertificate.c:723,1
    - Dst: strlen
      Src: /src/glib/gio/gtlscertificate.c:721,1
    - Dst: parse_and_create_certificate
      Src: /src/glib/gio/gtlscertificate.c:730,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - data
    - length
    - error
    argTypes:
    - gchar*
    - gssize
    - GError**
    constantsTouched: []
    func_position:
      end: 734
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 734
    functionName: g_tls_certificate_new_from_pem
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - parse_private_key
    - parse_and_create_certificate
    - g_propagate_error
    - g_return_val_if_fail
    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:934,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:938,1
    - Dst: parse_private_key
      Src: /src/glib/gio/gtlscertificate.c:937,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:944,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gtlscertificate.c:942,1
    - Dst: parse_and_create_certificate
      Src: /src/glib/gio/gtlscertificate.c:948,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:949,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:950,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 3
    argNames:
    - cert_file
    - key_file
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 952
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 952
    functionName: g_tls_certificate_new_from_files
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - parse_private_key
    - g_file_get_contents
    - g_free
    - parse_and_create_certificate
    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:1160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - cert
    - identity
    - trusted_ca
    argTypes:
    - GTlsCertificate*
    - GSocketConnectable*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1161
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_static_string
      Src: /src/glib/gio/gtlscertificate.c:99,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlscertificate.c:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: g_tls_certificate_get_property
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_value_set_static_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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: parse_and_create_certificate_list
      Src: /src/glib/gio/gtlscertificate.c:658,1
    - Dst: g_tls_certificate_new_internal
      Src: /src/glib/gio/gtlscertificate.c:675,1
    - Dst: g_slist_last
      Src: /src/glib/gio/gtlscertificate.c:673,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gtlscertificate.c:678,1
    - Dst: create_certificate_chain_from_list
      Src: /src/glib/gio/gtlscertificate.c:665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - data
    - data_len
    - key_pem
    - error
    argTypes:
    - gchar*
    - gsize
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 681
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 681
    functionName: parse_and_create_certificate
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_slist_last
    - create_certificate_chain_from_list
    - g_tls_certificate_new_internal
    - g_slist_free_full
    - parse_and_create_certificate_list
    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:882,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:883,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gtlscertificate.c:885,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gtlscertificate.c:888,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gtlscertificate.c:888,1
    - Dst: g_tls_certificate_new_from_pkcs12
      Src: /src/glib/gio/gtlscertificate.c:889,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/gtlscertificate.c:891,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:893,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - file
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 895
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 895
    functionName: g_tls_certificate_new_from_file
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_free
    - g_tls_certificate_new_from_pem
    - g_tls_certificate_new_from_pkcs12
    - g_str_has_suffix
    - g_file_get_contents
    - g_return_val_if_fail
    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:1104,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1104,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlscertificate.c:1106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1109
    functionName: g_tls_certificate_get_issuer
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - g_object_get
    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:1216,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1216,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1220,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1218,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1221
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1221
    functionName: g_tls_certificate_get_not_valid_before
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_TLS_CERTIFICATE
    - g_steal_pointer
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_tls_certificate_get_not_valid_before (GTlsCertificate
      *cert) '
  - 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_DELAYED_SETTINGS_BACKEND
    - g_settings_backend_unsubscribe
    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
      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: 2
    argNames:
    - backend
    - path
    argTypes:
    - GSettingsBackend*
    - gchar*
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:302,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:305,1
    - Dst: g_settings_backend_changed
      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_DELAYED_SETTINGS_BACKEND
    - g_settings_backend_changed
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void delayed_backend_changed (GObject *target, GSettingsBackend
      *backend, const gchar *key, gpointer origin_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:170,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_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:177,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gdelayedsettingsbackend.c:176,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
    - g_tree_foreach
    - g_tree_nnodes
    - g_mutex_unlock
    - g_settings_backend_changed_tree
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_delayed_settings_backend_write_tree (GSettingsBackend
      *backend, GTree *tree, gpointer origin_tag) '
  - 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_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_DELAYED_SETTINGS_BACKEND
    - G_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: 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_DELAYED_SETTINGS_BACKEND
    - g_settings_backend_get_writable
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_delayed_settings_backend_get_writable (GSettingsBackend
      *backend, const gchar *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:255,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:265,1
    - Dst: g_settings_backend_write_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:263,1
    - Dst: g_settings_backend_create_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:262,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:260,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_settings_backend_create_tree
    - g_tree_nnodes
    - G_SETTINGS_BACKEND
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_unlock
    - g_settings_backend_write_tree
    - g_settings_backend_changed_tree
    - g_tree_unref
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_delayed_settings_backend_apply (GDelayedSettingsBackend *delayed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:329,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:332,1
    - Dst: g_settings_backend_path_changed
      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_DELAYED_SETTINGS_BACKEND
    - g_settings_backend_path_changed
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void delayed_backend_path_changed (GObject *target, GSettingsBackend
      *backend, const gchar *path, gpointer origin_tag) '
  - 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_settings_backend_get_writable
      Src: /src/glib/gio/gdelayedsettingsbackend.c:347,1
    - Dst: g_tree_remove
      Src: /src/glib/gio/gdelayedsettingsbackend.c:357,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_DELAYED_SETTINGS_BACKEND
    - g_settings_backend_writable_changed
    - g_tree_nnodes
    - G_SETTINGS_BACKEND
    - g_mutex_lock
    - g_tree_remove
    - g_tree_lookup
    - g_mutex_unlock
    - g_delayed_settings_backend_notify_unapplied
    - g_settings_backend_get_writable
    linkageType: ''
    returnType: void
    signature: 'static void delayed_backend_writable_changed (GObject *target, GSettingsBackend
      *backend, const gchar *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:82,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_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_settings_backend_read
      Src: /src/glib/gio/gdelayedsettingsbackend.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - backend
    - key
    - expected_type
    - default_value
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariantType*
    - gboolean
    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_DELAYED_SETTINGS_BACKEND
    - g_tree_lookup_extended
    - g_mutex_unlock
    - g_variant_ref
    - g_settings_backend_read
    - g_mutex_lock
    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:138,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:142,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:141,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_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_DELAYED_SETTINGS_BACKEND
    - g_strdup
    - g_tree_insert
    - g_tree_nnodes
    - g_mutex_unlock
    - g_variant_ref_sink
    - g_delayed_settings_backend_notify_unapplied
    - g_settings_backend_changed
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_delayed_settings_backend_write (GSettingsBackend
      *backend, const gchar *key, GVariant *value, gpointer origin_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:201,1
    - Dst: g_tree_insert
      Src: /src/glib/gio/gdelayedsettingsbackend.c:206,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:205,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_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_DELAYED_SETTINGS_BACKEND
    - g_strdup
    - g_tree_insert
    - g_tree_nnodes
    - g_mutex_unlock
    - g_delayed_settings_backend_notify_unapplied
    - g_settings_backend_changed
    - g_mutex_lock
    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:440,1
    - Dst: g_assert
      Src: /src/glib/gio/gdelayedsettingsbackend.c:447,1
    - Dst: g_tree_unref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:444,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdelayedsettingsbackend.c:442,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:443,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_DELAYED_SETTINGS_BACKEND
    - g_assert
    - g_object_unref
    - g_tree_unref
    - g_mutex_clear
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_delayed_settings_backend_get_instance_private
      Src: /src/glib/gio/gdelayedsettingsbackend.c:475,1
    - Dst: g_settings_backend_create_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:476,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdelayedsettingsbackend.c:477,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_settings_backend_create_tree
    - g_mutex_init
    - g_delayed_settings_backend_get_instance_private
    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_variant_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:123,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:124,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: 3
    argNames:
    - backend
    - key
    - expected_type
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariantType*
    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_DELAYED_SETTINGS_BACKEND
    - g_tree_lookup_extended
    - g_settings_backend_read_user_value
    - g_mutex_unlock
    - g_variant_ref
    - g_mutex_lock
    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_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_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_DELAYED_SETTINGS_BACKEND
    - g_settings_backend_subscribe
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_subscribe (GSettingsBackend
      *backend, const char *name) '
  - 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: 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_object_weak_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:511,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:507,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdelayedsettingsbackend.c:514,1
    - Dst: g_settings_backend_watch
      Src: /src/glib/gio/gdelayedsettingsbackend.c:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - backend
    - owner
    - owner_context
    argTypes:
    - GSettingsBackend*
    - gpointer
    - GMainContext*
    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_OBJECT
    - g_object_ref
    - g_object_new
    - g_object_weak_ref
    - g_settings_backend_watch
    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_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:280,1
    - Dst: g_settings_backend_create_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:286,1
    - Dst: g_settings_backend_changed_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:288,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:284,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:287,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_settings_backend_create_tree
    - g_tree_nnodes
    - G_SETTINGS_BACKEND
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_unlock
    - g_settings_backend_changed_tree
    - g_tree_unref
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_delayed_settings_backend_revert (GDelayedSettingsBackend *delayed) '
  - 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_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:69,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:62,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_mutex_unlock
    - g_object_ref
    - g_main_context_invoke
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_notify_unapplied (GDelayedSettingsBackend
      *delayed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:398,1
    - Dst: g_new
      Src: /src/glib/gio/gdelayedsettingsbackend.c:408,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gdelayedsettingsbackend.c:412,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:404,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:402,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_delayed_settings_backend_notify_unapplied
      Src: /src/glib/gio/gdelayedsettingsbackend.c:431,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:428,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
    - g_settings_backend_path_writable_changed
    - g_tree_foreach
    - g_free
    - g_tree_nnodes
    - G_SETTINGS_BACKEND
    - g_new
    - g_tree_lookup
    - g_settings_backend_get_writable
    - g_tree_remove
    - g_mutex_unlock
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void delayed_backend_path_writable_changed (GObject *target,
      GSettingsBackend *backend, const gchar *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:535,1
    - Dst: push_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:543,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:539,1
    - Dst: push_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:544,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:537,1
    - Dst: push_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:545,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsettingsschema.c:549,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:553,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:553,1
    - Dst: g_string_new
      Src: /src/glib/gio/gsettingsschema.c:554,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: 555
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 555
    functionName: start_element
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - push_attribute_value
    - g_string_free
    - g_string_new
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettingsschema.c:988,1
    - Dst: g_settings_schema_get_string
      Src: /src/glib/gio/gsettingsschema.c:989,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettingsschema.c:996,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:991,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - schema
    - name
    argTypes:
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 997
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 997
    functionName: g_settings_schema_get_child_schema
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_settings_schema_source_lookup
    - g_free
    - g_settings_schema_get_string
    linkageType: ''
    returnType: GSettingsSchema*
    signature: 'GSettingsSchema *g_settings_schema_get_child_schema (GSettingsSchema
      *schema, const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_table_has_value
      Src: /src/glib/gio/gsettingsschema.c:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - schema
    - key
    argTypes:
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1068
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - GSettingsSchema*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1269
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1640,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsschema.c:1646,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettingsschema.c:1644,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gsettingsschema.c:1642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1648
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1648
    functionName: g_settings_schema_key_unref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - g_atomic_int_dec_and_test
    - g_slice_free
    - 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:1761,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:1764,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:1762,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1765
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1765
    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:1869,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gsettingsschema.c:1883,1
    - Dst: g_variant_new_array
      Src: /src/glib/gio/gsettingsschema.c:1879,1
    - Dst: strinfo_enumerate
      Src: /src/glib/gio/gsettingsschema.c:1874,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettingsschema.c:1883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1884
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1884
    functionName: g_settings_schema_key_get_range
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_new_array
    - strinfo_enumerate
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_get_range (GSettingsSchemaKey *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_container
      Src: /src/glib/gio/gsettingsschema.c:1908,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1918,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gsettingsschema.c:1915,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1914,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettingsschema.c:1917,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/gsettingsschema.c:1926,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/gsettingsschema.c:1927,1
    - Dst: strinfo_is_string_valid
      Src: /src/glib/gio/gsettingsschema.c:1930,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1931,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1932
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1932
    functionName: g_settings_schema_key_range_check
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - strinfo_is_string_valid
    - g_variant_iter_init
    - g_settings_schema_key_range_check
    - g_variant_unref
    - g_variant_compare
    - g_variant_get_string
    - g_variant_is_container
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_schema_key_range_check (GSettingsSchemaKey *key,
      GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList*
    constantsTouched: []
    func_position:
      end: 499
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 499
    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
      Src: /src/glib/gio/gsettingsschema.c:582,1
    - Dst: g_regex_new
      Src: /src/glib/gio/gsettingsschema.c:590,1
    - Dst: g_regex_new
      Src: /src/glib/gio/gsettingsschema.c:586,1
    - Dst: g_regex_new
      Src: /src/glib/gio/gsettingsschema.c:592,1
    - Dst: g_regex_new
      Src: /src/glib/gio/gsettingsschema.c:588,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gsettingsschema.c:595,1
    - Dst: g_regex_split
      Src: /src/glib/gio/gsettingsschema.c:598,1
    - Dst: g_regex_replace_literal
      Src: /src/glib/gio/gsettingsschema.c:603,1
    - Dst: g_regex_replace_literal
      Src: /src/glib/gio/gsettingsschema.c:604,1
    - Dst: g_regex_replace_literal
      Src: /src/glib/gio/gsettingsschema.c:605,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:606,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/gsettingsschema.c:612,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:607,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:608,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettingsschema.c:613,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - orig
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 616
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 616
    functionName: normalise_whitespace
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strjoinv
    - g_free
    - g_once_init_enter
    - g_regex_split
    - g_strfreev
    - g_once_init_leave
    - g_regex_replace_literal
    - g_regex_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *normalise_whitespace (const gchar *orig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1007,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettingsschema.c:1013,1
    - Dst: g_error
      Src: /src/glib/gio/gsettingsschema.c:1014,1
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gsettingsschema.c:1010,1
    - Dst: g_variant_iter_new
      Src: /src/glib/gio/gsettingsschema.c:1016,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1017,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - schema
    - key
    argTypes:
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1020
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1020
    functionName: g_settings_schema_get_value
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_iter_new
    - g_error
    - g_variant_unref
    - gvdb_table_get_raw_value
    - g_return_val_if_fail
    - g_variant_is_of_type
    linkageType: ''
    returnType: GVariantIter*
    signature: 'GVariantIter *g_settings_schema_get_value (GSettingsSchema *schema,
      const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_byteswap
      Src: /src/glib/gio/gsettingsschema.c:1277,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant**
    constantsTouched: []
    func_position:
      end: 1281
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1281
    functionName: endian_fixup
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_variant_byteswap
    linkageType: ''
    returnType: void
    signature: 'static inline void endian_fixup (GVariant **value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gsettingsschema.c:234,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gsettingsschema.c:241,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:242,1
    - Dst: g_error
      Src: /src/glib/gio/gsettingsschema.c:237,1
    - Dst: g_settings_schema_source_unref
      Src: /src/glib/gio/gsettingsschema.c:240,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:246,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:247,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:248,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsschema.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSettingsSchemaSource*
    constantsTouched: []
    func_position:
      end: 253
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 253
    functionName: g_settings_schema_source_unref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - gvdb_table_free
    - g_hash_table_unref
    - g_error
    - g_slice_free
    - g_settings_schema_source_unref
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_source_unref (GSettingsSchemaSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_string_from_enum
      Src: /src/glib/gio/gsettingsschema.c:1545,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettingsschema.c:1550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - gint
    constantsTouched: []
    func_position:
      end: 1551
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1551
    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_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1803,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsettingsschema.c:1811,1
    - Dst: g_settings_schema_key_get_per_desktop_default
      Src: /src/glib/gio/gsettingsschema.c:1808,1
    - Dst: g_settings_schema_key_get_translated_default
      Src: /src/glib/gio/gsettingsschema.c:1805,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1814
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1814
    functionName: g_settings_schema_key_get_default_value
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_translated_default
    - g_return_val_if_fail
    - g_variant_ref
    - g_settings_schema_key_get_per_desktop_default
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_get_default_value (GSettingsSchemaKey
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gsettingsschema.c:338,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:340,1
    - Dst: try_prepend_dir
      Src: /src/glib/gio/gsettingsschema.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - directory
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: try_prepend_data_dir
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_build_filename
    - g_free
    - try_prepend_dir
    linkageType: ''
    returnType: void
    signature: 'static void try_prepend_data_dir (const gchar *directory) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gsettingsschema.c:865,1
    - Dst: g_settings_schema_source_list_schemas
      Src: /src/glib/gio/gsettingsschema.c:869,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gsettingsschema.c:873,1
    - Dst: initialise_schema_sources
      Src: /src/glib/gio/gsettingsschema.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 875
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 875
    functionName: ensure_schema_lists
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_source_list_schemas
    - initialise_schema_sources
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: void
    signature: 'static void ensure_schema_lists (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1369,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettingsschema.c:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1372
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1372
    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_settings_schema_source_get_text_tables
      Src: /src/glib/gio/gsettingsschema.c:1726,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:1729,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:1727,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1730
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1730
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gsettingsschema.c:351,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gsettingsschema.c:353,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/gio/gsettingsschema.c:360,1
    - Dst: try_prepend_data_dir
      Src: /src/glib/gio/gsettingsschema.c:364,1
    - Dst: try_prepend_data_dir
      Src: /src/glib/gio/gsettingsschema.c:366,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gsettingsschema.c:366,1
    - Dst: g_getenv
      Src: /src/glib/gio/gsettingsschema.c:370,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gsettingsschema.c:372,1
    - Dst: try_prepend_dir
      Src: /src/glib/gio/gsettingsschema.c:376,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gsettingsschema.c:381,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettingsschema.c:378,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 383
    functionName: initialise_schema_sources
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - try_prepend_data_dir
    - g_once_init_enter
    - GLIB_PRIVATE_CALL
    - g_get_system_data_dirs
    - g_get_user_data_dir
    - g_strsplit
    - g_strfreev
    - g_getenv
    - g_once_init_leave
    - try_prepend_dir
    linkageType: ''
    returnType: void
    signature: 'static void initialise_schema_sources (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettingsschema.c:1380,1
    - Dst: g_variant_is_container
      Src: /src/glib/gio/gsettingsschema.c:1386,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gsettingsschema.c:1393,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1392,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsettingsschema.c:1381,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettingsschema.c:1393,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gsettingsschema.c:1395,1
    - Dst: g_settings_schema_key_range_fixup
      Src: /src/glib/gio/gsettingsschema.c:1399,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1400,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gsettingsschema.c:1404,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gsettingsschema.c:1412,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1416,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gsettingsschema.c:1408,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettingsschema.c:1412,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettingsschema.c:1417,1
    - Dst: strinfo_string_from_alias
      Src: /src/glib/gio/gsettingsschema.c:1415,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettingsschema.c:1417,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1409,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1418
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1418
    functionName: g_settings_schema_key_range_fixup
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - g_variant_iter_next_value
    - g_settings_schema_key_range_fixup
    - g_variant_new_string
    - g_variant_iter_init
    - g_settings_schema_key_range_check
    - g_variant_unref
    - g_variant_builder_clear
    - g_variant_builder_add_value
    - g_variant_get_type
    - strinfo_string_from_alias
    - g_variant_ref
    - g_variant_builder_init
    - g_variant_ref_sink
    - g_variant_get_string
    - g_variant_is_container
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_range_fixup (GSettingsSchemaKey *key,
      GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1622,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gsettingsschema.c:1624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1627
    functionName: g_settings_schema_key_ref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_inc
    linkageType: ''
    returnType: GSettingsSchemaKey*
    signature: 'GSettingsSchemaKey *g_settings_schema_key_ref (GSettingsSchemaKey
      *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1092,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gsettingsschema.c:1098,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettingsschema.c:1100,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsschema.c:1095,1
    - Dst: g_settings_schema_list
      Src: /src/glib/gio/gsettingsschema.c:1094,1
    - Dst: strlen
      Src: /src/glib/gio/gsettingsschema.c:1102,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gsettingsschema.c:1104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - schema
    argTypes:
    - GSettingsSchema*
    constantsTouched: []
    func_position:
      end: 1112
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1112
    functionName: g_settings_schema_list_children
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - strlen
    - g_quark_to_string
    - g_new
    - g_settings_schema_list
    - g_memdup2
    - g_str_has_suffix
    - g_return_val_if_fail
    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:1670,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1671,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettingsschema.c:1674,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gsettingsschema.c:1673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - schema
    - name
    argTypes:
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1678
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1678
    functionName: g_settings_schema_get_key
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_init
    - g_return_val_if_fail
    - g_slice_new
    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:1693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1696
    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:1780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1783
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gsettingsschema.c:306,1
    - Dst: gvdb_table_new
      Src: /src/glib/gio/gsettingsschema.c:307,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:314,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gsettingsschema.c:313,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:308,1
    - Dst: g_settings_schema_source_ref
      Src: /src/glib/gio/gsettingsschema.c:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - directory
    - parent
    - trusted
    - error
    argTypes:
    - gchar*
    - GSettingsSchemaSource*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 321
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: g_settings_schema_source_new_from_directory
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strdup
    - gvdb_table_new
    - g_free
    - g_settings_schema_source_ref
    - g_build_filename
    - g_slice_new
    linkageType: ''
    returnType: GSettingsSchemaSource*
    signature: 'GSettingsSchemaSource *g_settings_schema_source_new_from_directory
      (const gchar *directory, GSettingsSchemaSource *parent, gboolean trusted, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/gio/gsettingsschema.c:701,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/gsettingsschema.c:702,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gsettingsschema.c:708,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/gio/gsettingsschema.c:713,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gsettingsschema.c:709,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/gio/gsettingsschema.c:715,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/gio/gsettingsschema.c:716,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/gio/gsettingsschema.c:717,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsettingsschema.c:720,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsettingsschema.c:721,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsettingsschema.c:722,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsettingsschema.c:730,1
    - Dst: g_dir_close
      Src: /src/glib/gio/gsettingsschema.c:740,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:737,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:734,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - directory
    - summaries
    - descriptions
    argTypes:
    - gchar*
    - GHashTable*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 741
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 741
    functionName: parse_into_text_tables
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_free
    - g_dir_read_name
    - g_markup_parse_context_new
    - g_markup_parse_context_end_parse
    - g_dir_open
    - g_slist_free_full
    - g_build_filename
    - g_string_free
    - g_file_get_contents
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'static void parse_into_text_tables (const gchar *directory, GHashTable
      *summaries, GHashTable *descriptions) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:799,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettingsschema.c:824,1
    - Dst: gvdb_table_list
      Src: /src/glib/gio/gsettingsschema.c:807,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gsettingsschema.c:816,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:854,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/gio/gsettingsschema.c:845,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gsettingsschema.c:829,1
    - Dst: gvdb_table_has_value
      Src: /src/glib/gio/gsettingsschema.c:826,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/gio/gsettingsschema.c:844,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/gio/gsettingsschema.c:850,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:855,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gsettingsschema.c:815,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:800,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:821,1
    - Dst: gvdb_table_get_table
      Src: /src/glib/gio/gsettingsschema.c:823,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gsettingsschema.c:827,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gsettingsschema.c:831,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettingsschema.c:835,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/gio/gsettingsschema.c:851,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 4
    argNames:
    - source
    - recursive
    - non_relocatable
    - relocatable
    argTypes:
    - GSettingsSchemaSource*
    - gboolean
    - gchar***
    - gchar***
    constantsTouched: []
    func_position:
      end: 856
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 856
    functionName: g_settings_schema_source_list_schemas
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_steal_all
    - g_hash_table_add
    - gvdb_table_free
    - g_hash_table_unref
    - g_assert
    - g_hash_table_get_keys_as_array
    - g_strfreev
    - gvdb_table_list
    - gvdb_table_get_table
    - g_hash_table_new_full
    - g_hash_table_contains
    - gvdb_table_has_value
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_source_list_schemas (GSettingsSchemaSource
      *source, gboolean recursive, gchar ***non_relocatable, gchar ***relocatable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gsettingsschema.c:935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - schema
    argTypes:
    - GSettingsSchema*
    constantsTouched: []
    func_position:
      end: 938
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 938
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/gsettingsschema.c:1292,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gsettingsschema.c:1297,1
    - Dst: g_settings_schema_get_value
      Src: /src/glib/gio/gsettingsschema.c:1294,1
    - Dst: endian_fixup
      Src: /src/glib/gio/gsettingsschema.c:1298,1
    - Dst: g_settings_schema_ref
      Src: /src/glib/gio/gsettingsschema.c:1296,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettingsschema.c:1299,1
    - Dst: g_intern_string
      Src: /src/glib/gio/gsettingsschema.c:1300,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gsettingsschema.c:1302,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettingsschema.c:1308,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/gsettingsschema.c:1323,1
    - Dst: endian_fixup
      Src: /src/glib/gio/gsettingsschema.c:1328,1
    - Dst: endian_fixup
      Src: /src/glib/gio/gsettingsschema.c:1329,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettingsschema.c:1327,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gsettingsschema.c:1345,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1342,1
    - Dst: endian_fixup
      Src: /src/glib/gio/gsettingsschema.c:1334,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettingsschema.c:1333,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:1338,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - key
    - schema
    - name
    argTypes:
    - GSettingsSchemaKey*
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1346
    functionName: g_settings_schema_key_init
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - g_intern_string
    - g_variant_get_fixed_array
    - g_variant_unref
    - g_variant_get
    - g_settings_schema_ref
    - g_warning
    - memset
    - g_variant_get_type
    - g_variant_iter_free
    - g_settings_schema_get_value
    - endian_fixup
    - g_variant_iter_next
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_key_init (GSettingsSchemaKey *key, GSettingsSchema
      *schema, const gchar *name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_get_gettext_domain
      Src: /src/glib/gio/gsettingsschema.c:1433,1
    - Dst: g_dgettext
      Src: /src/glib/gio/gsettingsschema.c:1449,1
    - Dst: uselocale
      Src: /src/glib/gio/gsettingsschema.c:1448,1
    - Dst: setlocale
      Src: /src/glib/gio/gsettingsschema.c:1442,1
    - Dst: newlocale
      Src: /src/glib/gio/gsettingsschema.c:1445,1
    - Dst: uselocale
      Src: /src/glib/gio/gsettingsschema.c:1450,1
    - Dst: freelocale
      Src: /src/glib/gio/gsettingsschema.c:1451,1
    - Dst: g_dgettext
      Src: /src/glib/gio/gsettingsschema.c:1458,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gsettingsschema.c:1465,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:1469,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:1472,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1481,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettingsschema.c:1480,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsettingsschema.c:1473,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:1478,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettingsschema.c:1471,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettingsschema.c:1476,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1486
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1486
    functionName: g_settings_schema_key_get_translated_default
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_dgettext
    - uselocale
    - g_settings_schema_get_id
    - newlocale
    - g_settings_schema_key_range_check
    - g_error_free
    - g_variant_unref
    - g_warning
    - g_variant_parse
    - g_settings_schema_get_gettext_domain
    - freelocale
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_get_translated_default (GSettingsSchemaKey
      *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gsettingsschema.c:1586,1
    - Dst: strinfo_string_from_enum
      Src: /src/glib/gio/gsettingsschema.c:1593,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gsettingsschema.c:1586,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gsettingsschema.c:1601,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gsettingsschema.c:1597,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gsettingsschema.c:1604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - guint
    constantsTouched: []
    func_position:
      end: 1605
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1605
    functionName: g_settings_schema_key_from_flags
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_variant_builder_clear
    - g_variant_builder_add
    - strinfo_string_from_enum
    - g_variant_builder_init
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_from_flags (GSettingsSchemaKey *key,
      guint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_source_new_from_directory
      Src: /src/glib/gio/gsettingsschema.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - directory
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gsettingsschema.c:746,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsschema.c:750,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:752,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:751,1
    - Dst: parse_into_text_tables
      Src: /src/glib/gio/gsettingsschema.c:755,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gsettingsschema.c:757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSettingsSchemaSource*
    constantsTouched: []
    func_position:
      end: 761
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 761
    functionName: g_settings_schema_source_get_text_tables
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_once_init_enter
    - parse_into_text_tables
    - g_new
    - g_once_init_leave
    - g_hash_table_new_full
    linkageType: ''
    returnType: GHashTable**
    signature: 'static GHashTable **g_settings_schema_source_get_text_tables (GSettingsSchemaSource
      *source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1352,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettingsschema.c:1362,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1355,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1358,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1363
    functionName: g_settings_schema_key_clear
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_unref
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_key_clear (GSettingsSchemaKey *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gsettingsschema.c:1498,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gsettingsschema.c:1508,1
    - Dst: g_getenv
      Src: /src/glib/gio/gsettingsschema.c:1500,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gsettingsschema.c:1504,1
    - Dst: g_new0
      Src: /src/glib/gio/gsettingsschema.c:1506,1
    - Dst: g_variant_lookup_value
      Src: /src/glib/gio/gsettingsschema.c:1512,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1515
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1515
    functionName: g_settings_schema_key_get_per_desktop_default
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_once_init_enter
    - g_strsplit
    - g_getenv
    - g_once_init_leave
    - g_variant_lookup_value
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_get_per_desktop_default (GSettingsSchemaKey
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_schema_lists
      Src: /src/glib/gio/gsettingsschema.c:896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 899
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 899
    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:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 920
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 920
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1562,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettingsschema.c:1570,1
    - Dst: strinfo_enum_from_string
      Src: /src/glib/gio/gsettingsschema.c:1568,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gsettingsschema.c:1563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1576
    functionName: g_settings_schema_key_to_flags
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_iter_init
    - strinfo_enum_from_string
    - g_variant_iter_next
    linkageType: ''
    returnType: guint
    signature: 'guint g_settings_schema_key_to_flags (GSettingsSchemaKey *key, GVariant
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gsettingsschema.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSettingsSchemaSource*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    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:444,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:445,1
    - Dst: gvdb_table_get_table
      Src: /src/glib/gio/gsettingsschema.c:451,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsettingsschema.c:457,1
    - Dst: gvdb_table_get_table
      Src: /src/glib/gio/gsettingsschema.c:447,1
    - Dst: g_settings_schema_source_ref
      Src: /src/glib/gio/gsettingsschema.c:458,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:460,1
    - Dst: g_settings_schema_get_string
      Src: /src/glib/gio/gsettingsschema.c:462,1
    - Dst: g_settings_schema_get_string
      Src: /src/glib/gio/gsettingsschema.c:463,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gsettingsschema.c:466,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettingsschema.c:471,1
    - Dst: g_settings_schema_get_string
      Src: /src/glib/gio/gsettingsschema.c:468,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:473,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - source
    - schema_id
    - recursive
    argTypes:
    - GSettingsSchemaSource*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 477
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 477
    functionName: g_settings_schema_source_lookup
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    - g_settings_schema_source_ref
    - g_settings_schema_source_lookup
    - g_warning
    - gvdb_table_get_table
    - bind_textdomain_codeset
    - g_return_val_if_fail
    - 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_slist_remove
      Src: /src/glib/gio/gsettingsschema.c:507,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList**
    constantsTouched: []
    func_position:
      end: 510
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 510
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:638,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:641,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:643,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:651,1
    - Dst: normalise_whitespace
      Src: /src/glib/gio/gsettingsschema.c:659,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:665,1
    - Dst: pop_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:626,1
    - Dst: pop_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:627,1
    - Dst: get_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:637,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:655,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsettingsschema.c:673,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:656,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gsettingsschema.c:670,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:670,1
    - Dst: g_dgettext
      Src: /src/glib/gio/gsettingsschema.c:665,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:666,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gsettingsschema.c:656,1
    - Dst: pop_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:628,1
    - Dst: get_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:639,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: 676
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 676
    functionName: end_element
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_strdup
    - normalise_whitespace
    - g_dgettext
    - g_free
    - pop_attribute_value
    - g_hash_table_insert
    - get_attribute_value
    - g_string_free
    - g_hash_table_new_full
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void end_element (GMarkupParseContext *context, const gchar
      *element_name, gpointer user_data, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gsettingsschema.c:951,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:958,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettingsschema.c:954,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gsettingsschema.c:957,1
    - Dst: g_settings_schema_source_unref
      Src: /src/glib/gio/gsettingsschema.c:956,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:959,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsschema.c:961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - schema
    argTypes:
    - GSettingsSchema*
    constantsTouched: []
    func_position:
      end: 963
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 963
    functionName: g_settings_schema_unref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - gvdb_table_free
    - g_settings_schema_unref
    - g_slice_free
    - g_settings_schema_source_unref
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_unref (GSettingsSchema *schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - GSettingsSchema*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1137,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsschema.c:1140,1
    - Dst: g_settings_schema_list
      Src: /src/glib/gio/gsettingsschema.c:1139,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gsettingsschema.c:1143,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettingsschema.c:1145,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:1146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - schema
    argTypes:
    - GSettingsSchema*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1151
    functionName: g_settings_schema_list_keys
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_quark_to_string
    - g_new
    - g_settings_schema_list
    - g_str_has_suffix
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_settings_schema_list_keys (GSettingsSchema *schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_enum_from_string
      Src: /src/glib/gio/gsettingsschema.c:1524,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1525,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettingsschema.c:1533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1536
    functionName: g_settings_schema_key_to_enum
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_get_string
    - strinfo_enum_from_string
    - g_assert
    linkageType: ''
    returnType: gint
    signature: 'gint g_settings_schema_key_to_enum (GSettingsSchemaKey *key, GVariant
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gsettingsschema.c:516,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - list
    - value
    argTypes:
    - GSList**
    - gchar*
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 517
    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: g_string_append_len
      Src: /src/glib/gio/gsettingsschema.c:688,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: 689
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 689
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gsettingsschema.c:972,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:974,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:975,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - schema
    - key
    argTypes:
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 979
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 979
    functionName: g_settings_schema_get_string
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_get_string
    - g_variant_unref
    - gvdb_table_get_raw_value
    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: 1
    argNames:
    - schema
    argTypes:
    - GSettingsSchema*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1050
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:1166,1
    - Dst: gvdb_table_get_table
      Src: /src/glib/gio/gsettingsschema.c:1202,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1226,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gsettingsschema.c:1236,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gsettingsschema.c:1245,1
    - Dst: gvdb_table_list
      Src: /src/glib/gio/gsettingsschema.c:1172,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1187,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:1179,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gsettingsschema.c:1177,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gsettingsschema.c:1188,1
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gsettingsschema.c:1195,1
    - Dst: g_hash_table_iter_remove
      Src: /src/glib/gio/gsettingsschema.c:1210,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:1227,1
    - Dst: g_hash_table_iter_remove
      Src: /src/glib/gio/gsettingsschema.c:1233,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1243,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettingsschema.c:1189,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1225,1
    - Dst: gvdb_table_has_value
      Src: /src/glib/gio/gsettingsschema.c:1217,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1205,1
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gsettingsschema.c:1223,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsschema.c:1241,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettingsschema.c:1248,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:1250,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1202,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettingsschema.c:1224,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:1225,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gsettingsschema.c:1240,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettingsschema.c:1246,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 2
    argNames:
    - schema
    - n_items
    argTypes:
    - GSettingsSchema*
    - gint*
    constantsTouched: []
    func_position:
      end: 1255
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1255
    functionName: g_settings_schema_list
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_hash_table_iter_next
    - gvdb_table_get_raw_value
    - g_quark_from_string
    - g_hash_table_add
    - gvdb_table_free
    - gvdb_table_list
    - g_strconcat
    - g_variant_get_string
    - gvdb_table_has_value
    - g_variant_unref
    - g_hash_table_iter_init
    - g_str_has_suffix
    - g_hash_table_new_full
    - g_hash_table_iter_remove
    - g_str_equal
    - g_free
    - g_assert
    - g_hash_table_size
    - g_new
    - gvdb_table_get_table
    linkageType: ''
    returnType: GQuark*
    signature: 'const GQuark *g_settings_schema_list (GSettingsSchema *schema, gint
      *n_items) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialise_schema_sources
      Src: /src/glib/gio/gsettingsschema.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilterinputstream.c:83,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gfilterinputstream.c:88,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gfilterinputstream.c:95,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilterinputstream.c:93,1
    - Dst: P_
      Src: /src/glib/gio/gfilterinputstream.c:96,1
    - Dst: P_
      Src: /src/glib/gio/gfilterinputstream.c:97,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilterinputstream.c:102,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gfilterinputstream.c:104,1
    - Dst: P_
      Src: /src/glib/gio/gfilterinputstream.c:105,1
    - Dst: P_
      Src: /src/glib/gio/gfilterinputstream.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFilterInputStreamClass*
    constantsTouched: []
    func_position:
      end: 109
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 109
    functionName: g_filter_input_stream_class_init
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_INPUT_STREAM_CLASS
    - g_param_spec_boolean
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_input_stream_class_init (GFilterInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterInputStream*
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:150,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gfilterinputstream.c:160,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilterinputstream.c:164,1
    - Dst: g_filter_input_stream_get_instance_private
      Src: /src/glib/gio/gfilterinputstream.c:151,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gfilterinputstream.c:156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 168
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 168
    functionName: g_filter_input_stream_get_property
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_INPUT_STREAM
    - g_filter_input_stream_get_instance_private
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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:217,1
    - Dst: G_IS_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:217,1
    - Dst: g_filter_input_stream_get_instance_private
      Src: /src/glib/gio/gfilterinputstream.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterInputStream*
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: g_filter_input_stream_get_close_base_stream
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_FILTER_INPUT_STREAM
    - g_return_val_if_fail
    - g_filter_input_stream_get_instance_private
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_filter_input_stream_get_close_base_stream (GFilterInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:261,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gfilterinputstream.c:264,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: 271
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 271
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:120,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gfilterinputstream.c:131,1
    - Dst: g_filter_input_stream_set_close_base_stream
      Src: /src/glib/gio/gfilterinputstream.c:130,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gfilterinputstream.c:125,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:126,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilterinputstream.c:135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 139
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 139
    functionName: g_filter_input_stream_set_property
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_INPUT_STREAM
    - g_value_dup_object
    - g_filter_input_stream_set_close_base_stream
    - g_value_get_boolean
    - G_INPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:175,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilterinputstream.c:179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilterinputstream.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: g_filter_input_stream_finalize
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_OBJECT_CLASS
    - G_FILTER_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_input_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:283,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/gfilterinputstream.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 291
    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:298,1
    - Dst: g_filter_input_stream_get_instance_private
      Src: /src/glib/gio/gfilterinputstream.c:299,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gfilterinputstream.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 310
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 310
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilterinputstream.c:198,1
    - Dst: G_IS_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterInputStream*
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: g_filter_input_stream_get_base_stream
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_FILTER_INPUT_STREAM
    - g_return_val_if_fail
    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:237,1
    - Dst: g_filter_input_stream_get_instance_private
      Src: /src/glib/gio/gfilterinputstream.c:241,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gfilterinputstream.c:246,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfilterinputstream.c:246,1
    - Dst: G_IS_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - close_base
    argTypes:
    - GFilterInputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: g_filter_input_stream_set_close_base_stream
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_filter_input_stream_get_instance_private
    - G_IS_FILTER_INPUT_STREAM
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_filter_input_stream_set_close_base_stream (GFilterInputStream
      *stream, gboolean close_base) '
  - 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: []
    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: 4
    argNames:
    - resolver
    - uri
    - cancellable
    - error
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GError**
    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_cancellable_set_error_if_cancelled
    - g_strdup
    - g_new0
    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_propagate_pointer
      Src: /src/glib/gio/gdummyproxyresolver.c:116,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdummyproxyresolver.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GProxyResolver*
    - GAsyncResult*
    - GError**
    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_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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: 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: 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_return_pointer
      Src: /src/glib/gio/gdummyproxyresolver.c:103,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdummyproxyresolver.c:99,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_task_set_source_tag
    - g_object_unref
    - g_task_return_pointer
    - 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:
    - 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_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanager.c:157,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:166,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanager.c:82,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanager.c:103,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanager.c:125,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:126,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:137,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanager.c:79,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanager.c:100,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanager.c:125,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusobjectmanager.c:165,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:155,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanager.c:154,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:80,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanager.c:79,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanager.c:100,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:101,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanager.c:128,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanager.c:154,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusobjectmanager.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusObjectManagerIface*
    constantsTouched: []
    func_position:
      end: 169
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 169
    functionName: g_dbus_object_manager_default_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanager.c
    functionUses: []
    functionsReached:
    - I_
    - g_signal_new
    - G_TYPE_FROM_INTERFACE
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    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:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManager*
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    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:
    - Dst: G_DBUS_OBJECT_MANAGER_GET_IFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:250,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanager.c:252,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectmanager.c:252,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanager.c:251,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanager.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - manager
    - object_path
    - interface_name
    argTypes:
    - GDBusObjectManager*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: g_dbus_object_manager_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanager.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_is_object_path
    - G_DBUS_OBJECT_MANAGER_GET_IFACE
    - 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:226,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanager.c:227,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanager.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - manager
    - object_path
    argTypes:
    - GDBusObjectManager*
    - gchar*
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: g_dbus_object_manager_get_object
    functionSourceFile: /src/glib/gio/gdbusobjectmanager.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_is_object_path
    - G_DBUS_OBJECT_MANAGER_GET_IFACE
    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:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManager*
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    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: []
    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:
    - 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: 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gzlibdecompressor.c:85,1
    - Dst: g_new0
      Src: /src/glib/gio/gzlibdecompressor.c:91,1
    - Dst: memset
      Src: /src/glib/gio/gzlibdecompressor.c:87,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibdecompressor.c:99,1
    - Dst: inflateGetHeader
      Src: /src/glib/gio/gzlibdecompressor.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - decompressor
    argTypes:
    - GZlibDecompressor*
    constantsTouched: []
    func_position:
      end: 101
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 101
    functionName: g_zlib_decompressor_set_gzheader
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_new0
    - inflateGetHeader
    - g_object_unref
    - g_warning
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_decompressor_set_gzheader (GZlibDecompressor *decompressor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:158,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gzlibdecompressor.c:170,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gzlibdecompressor.c:163,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gzlibdecompressor.c:174,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gzlibdecompressor.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: g_zlib_decompressor_get_property
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_ZLIB_DECOMPRESSOR
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:112,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gzlibdecompressor.c:119,1
    - Dst: g_free
      Src: /src/glib/gio/gzlibdecompressor.c:120,1
    - Dst: inflateEnd
      Src: /src/glib/gio/gzlibdecompressor.c:114,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gzlibdecompressor.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: g_zlib_decompressor_finalize
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_free
    - inflateEnd
    - g_object_unref
    - G_ZLIB_DECOMPRESSOR
    - G_OBJECT_CLASS
    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:190,1
    - Dst: inflateInit2
      Src: /src/glib/gio/gzlibdecompressor.c:200,1
    - Dst: inflateInit2
      Src: /src/glib/gio/gzlibdecompressor.c:195,1
    - Dst: g_error
      Src: /src/glib/gio/gzlibdecompressor.c:206,1
    - Dst: inflateInit
      Src: /src/glib/gio/gzlibdecompressor.c:203,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibdecompressor.c:209,1
    - Dst: g_zlib_decompressor_set_gzheader
      Src: /src/glib/gio/gzlibdecompressor.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: g_zlib_decompressor_constructed
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_error
    - G_ZLIB_DECOMPRESSOR
    - g_warning
    - g_zlib_decompressor_set_gzheader
    - inflateInit2
    - inflateInit
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_decompressor_constructed (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gzlibdecompressor.c:293,1
    - Dst: G_IS_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - decompressor
    argTypes:
    - GZlibDecompressor*
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 299
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:304,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibdecompressor.c:309,1
    - Dst: g_zlib_decompressor_set_gzheader
      Src: /src/glib/gio/gzlibdecompressor.c:311,1
    - Dst: inflateReset
      Src: /src/glib/gio/gzlibdecompressor.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 312
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 312
    functionName: g_zlib_decompressor_reset
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - inflateReset
    - g_zlib_decompressor_set_gzheader
    - 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: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    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:135,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gzlibdecompressor.c:140,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gzlibdecompressor.c:144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    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_zlib_decompressor_set_property
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_enum
    - G_ZLIB_DECOMPRESSOR
    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:217,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gzlibdecompressor.c:224,1
    - Dst: P_
      Src: /src/glib/gio/gzlibdecompressor.c:227,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gzlibdecompressor.c:226,1
    - Dst: P_
      Src: /src/glib/gio/gzlibdecompressor.c:228,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gzlibdecompressor.c:244,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gzlibdecompressor.c:246,1
    - Dst: P_
      Src: /src/glib/gio/gzlibdecompressor.c:247,1
    - Dst: P_
      Src: /src/glib/gio/gzlibdecompressor.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GZlibDecompressorClass*
    constantsTouched: []
    func_position:
      end: 252
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 252
    functionName: g_zlib_decompressor_class_init
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - P_
    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:328,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibdecompressor.c:340,1
    - Dst: inflate
      Src: /src/glib/gio/gzlibdecompressor.c:336,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibdecompressor.c:347,1
    - Dst: _
      Src: /src/glib/gio/gzlibdecompressor.c:341,1
    - Dst: _
      Src: /src/glib/gio/gzlibdecompressor.c:348,1
    - Dst: g_set_error
      Src: /src/glib/gio/gzlibdecompressor.c:354,1
    - Dst: _
      Src: /src/glib/gio/gzlibdecompressor.c:355,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibdecompressor.c:368,1
    - Dst: _
      Src: /src/glib/gio/gzlibdecompressor.c:369,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gzlibdecompressor.c:403,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/gzlibdecompressor.c:388,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/gzlibdecompressor.c:387,1
    - Dst: g_assert
      Src: /src/glib/gio/gzlibdecompressor.c:373,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/glib/gio/gzlibdecompressor.c:391,1
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/glib/gio/gzlibdecompressor.c:399,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gzlibdecompressor.c:403,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/glib/gio/gzlibdecompressor.c:394,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: 410
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 410
    functionName: g_zlib_decompressor_convert
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_OBJECT
    - _
    - g_assert
    - G_ZLIB_DECOMPRESSOR
    - g_object_notify
    - inflate
    - g_file_info_set_attribute_uint64
    - g_file_info_set_attribute_byte_string
    - g_set_error_literal
    - g_file_info_new
    - 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: 417
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 417
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gzlibdecompressor.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - format
    argTypes:
    - GZlibCompressorFormat
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnotification.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GNotificationClass*
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    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_val_if_fail
      Src: /src/glib/gio/gnotification.c:190,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:193,1
    - Dst: g_object_new
      Src: /src/glib/gio/gnotification.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - title
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    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:326,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: g_notification_get_priority
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NOTIFICATION
    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:368,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: g_notification_get_category
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NOTIFICATION
    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: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    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_ptr_array_new_full
      Src: /src/glib/gio/gnotification.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:307,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:307,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnotification.c:312,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnotification.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - notification
    - icon
    argTypes:
    - GNotification*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: g_notification_set_icon
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_unref
    - G_IS_NOTIFICATION
    - 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:346,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - notification
    - urgent
    argTypes:
    - GNotification*
    - gboolean
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    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:519,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/gnotification.c:521,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:521,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:520,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:519,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gnotification.c:523,1
    - Dst: g_warning
      Src: /src/glib/gio/gnotification.c:525,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gnotification.c:529,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:530,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:531,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gnotification.c:534,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gnotification.c:536,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - notification
    - label
    - action
    - target
    argTypes:
    - GNotification*
    - gchar*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 537
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 537
    functionName: g_notification_add_button_with_target_value
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    - g_action_name_is_valid
    - g_warning
    - g_str_has_prefix
    - G_IS_NOTIFICATION
    - g_variant_ref_sink
    - g_ptr_array_add
    - g_return_if_fail
    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:679,1
    - Dst: g_warning
      Src: /src/glib/gio/gnotification.c:681,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnotification.c:682,1
    - Dst: g_notification_set_default_action_and_target_value
      Src: /src/glib/gio/gnotification.c:686,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:688,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - notification
    - detailed_action
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 691
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 691
    functionName: g_notification_set_default_action
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_free
    - g_notification_set_default_action_and_target_value
    - g_error_free
    - g_variant_unref
    - g_warning
    - g_action_parse_detailed_name
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_default_action (GNotification *notification,
      const gchar *detailed_action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:229,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:234,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:229,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:230,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - notification
    - title
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: g_notification_set_title
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - G_IS_NOTIFICATION
    - 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:442,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnotification.c:447,1
    - Dst: g_notification_add_button_with_target_value
      Src: /src/glib/gio/gnotification.c:451,1
    - Dst: g_warning
      Src: /src/glib/gio/gnotification.c:446,1
    - Dst: g_action_parse_detailed_name
      Src: /src/glib/gio/gnotification.c:444,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:453,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:455,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - notification
    - label
    - detailed_action
    argTypes:
    - GNotification*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 456
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 456
    functionName: g_notification_add_button
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_free
    - g_error_free
    - g_variant_unref
    - g_warning
    - g_notification_add_button_with_target_value
    - g_action_parse_detailed_name
    - g_return_if_fail
    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:756,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:756,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gnotification.c:759,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:757,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/gnotification.c:757,1
    - Dst: g_warning
      Src: /src/glib/gio/gnotification.c:761,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:765,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnotification.c:766,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:768,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gnotification.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - notification
    - action
    - target
    argTypes:
    - GNotification*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 772
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 772
    functionName: g_notification_set_default_action_and_target_value
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_clear_pointer
    - g_action_name_is_valid
    - g_warning
    - g_str_has_prefix
    - G_IS_NOTIFICATION
    - g_variant_ref_sink
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_default_action_and_target_value (GNotification
      *notification, const gchar *action, GVariant *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotification.c:211,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: g_notification_get_title
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NOTIFICATION
    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:725,1
    - Dst: va_end
      Src: /src/glib/gio/gnotification.c:727,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gnotification.c:726,1
    - Dst: g_notification_set_default_action_and_target_value
      Src: /src/glib/gio/gnotification.c:730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - notification
    - action
    - target_format
    - '...'
    argTypes:
    - GNotification*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 731
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 731
    functionName: g_notification_set_default_action_and_target
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_new_va
    - g_notification_set_default_action_and_target_value
    - va_start
    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_if_fail
      Src: /src/glib/gio/gnotification.c:411,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - notification
    - priority
    argTypes:
    - GNotification*
    - GNotificationPriority
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 414
    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:605,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gnotification.c:606,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - notification
    - action
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 611
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 611
    functionName: g_notification_get_button_with_action
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_ptr_array_index
    linkageType: ''
    returnType: gint
    signature: 'gint g_notification_get_button_with_action (GNotification *notification,
      const gchar *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:121,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:124,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gnotification.c:126,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: button_free
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_variant_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void button_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotification.c:250,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: g_notification_get_body
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NOTIFICATION
    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:391,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:391,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:394,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:392,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - notification
    - category
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: g_notification_set_category
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - G_IS_NOTIFICATION
    - 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:488,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gnotification.c:489,1
    - Dst: g_notification_add_button_with_target_value
      Src: /src/glib/gio/gnotification.c:493,1
    - Dst: va_end
      Src: /src/glib/gio/gnotification.c:490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - notification
    - label
    - action
    - target_format
    - '...'
    argTypes:
    - GNotification*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 494
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 494
    functionName: g_notification_add_button_with_target
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - va_end
    - g_notification_add_button_with_target_value
    - g_variant_new_va
    - va_start
    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:575,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:581,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:578,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gnotification.c:584,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: 585
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 585
    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_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:132,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnotification.c:136,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnotification.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotification.c:289,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: g_notification_get_icon
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NOTIFICATION
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_notification_get_icon (GNotification *notification) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:639,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gnotification.c:644,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - notification
    - action
    - target
    argTypes:
    - GNotification*
    - gchar**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 650
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 650
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gnotification.c:779,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:781,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:781,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gnotification.c:779,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:782,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:782,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:785,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gnotification.c:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - button
    argTypes:
    - Button*
    constantsTouched: []
    func_position:
      end: 788
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 788
    functionName: g_notification_serialize_button
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_variant_new_string
    - g_variant_builder_add
    - g_variant_builder_init
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_notification_serialize_button (Button *button) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:821,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gnotification.c:818,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:824,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:824,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:833,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:837,1
    - Dst: g_notification_get_priority_nick
      Src: /src/glib/gio/gnotification.c:837,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gnotification.c:818,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:832,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:859,1
    - Dst: g_notification_serialize_button
      Src: /src/glib/gio/gnotification.c:859,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gnotification.c:854,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gnotification.c:858,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:821,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gnotification.c:854,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:845,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:862,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gnotification.c:862,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gnotification.c:865,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gnotification.c:830,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:842,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:841,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 866
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 866
    functionName: g_notification_serialize
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_notification_get_priority_nick
    - g_icon_serialize
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - g_variant_new_string
    - g_ptr_array_index
    - g_variant_unref
    - g_variant_builder_add
    - g_notification_serialize_button
    - g_variant_builder_init
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_notification_serialize (GNotification *notification) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:142,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:145,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:146,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:144,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:147,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:149,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gnotification.c:150,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnotification.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: g_notification_finalize
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_free
    - g_ptr_array_free
    - g_variant_unref
    - G_NOTIFICATION
    - G_OBJECT_CLASS
    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:797,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:800,1
    - Dst: g_assert
      Src: /src/glib/gio/gnotification.c:799,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gnotification.c:798,1
    - Dst: g_notification_get_priority
      Src: /src/glib/gio/gnotification.c:798,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gnotification.c:801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 804
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 804
    functionName: g_notification_get_priority_nick
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_assert
    - g_type_class_unref
    - g_enum_get_value
    - g_notification_get_priority
    - g_type_class_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_notification_get_priority_nick (GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:268,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:271,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:273,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:268,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - notification
    - body
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: g_notification_set_body
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - G_IS_NOTIFICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_body (GNotification *notification, const gchar
      *body) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableOutputStreamInterface*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    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:155,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:157,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - cancellable
    argTypes:
    - GPollableOutputStream*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:94,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:94,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    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:186,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gpollableoutputstream.c:215,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gpollableoutputstream.c:217,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gpollableoutputstream.c:212,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gpollableoutputstream.c:222,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: 237
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 237
    functionName: g_pollable_output_stream_default_writev_nonblocking
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_propagate_error
    - g_error_matches
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    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:167,1
    - Dst: g_strerror
      Src: /src/glib/gio/gpollableoutputstream.c:170,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gpollableoutputstream.c:174,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gpollableoutputstream.c:169,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - stream
    - buffer
    - count
    - error
    argTypes:
    - GPollableOutputStream*
    - void*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: g_pollable_output_stream_default_write_nonblocking
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_strerror
    - G_OUTPUT_STREAM_GET_CLASS
    - g_pollable_output_stream_is_writable
    - g_set_error_literal
    - 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:125,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:127,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:280,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:280,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gpollableoutputstream.c:283,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:281,1
    - Dst: g_set_error
      Src: /src/glib/gio/gpollableoutputstream.c:291,1
    - Dst: _
      Src: /src/glib/gio/gpollableoutputstream.c:292,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gpollableoutputstream.c:297,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:299,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gpollableoutputstream.c:303,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: 306
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 306
    functionName: g_pollable_output_stream_write_nonblocking
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_pop_current
    - G_IS_POLLABLE_OUTPUT_STREAM
    - _
    - g_cancellable_set_error_if_cancelled
    - g_cancellable_push_current
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    - g_return_val_if_fail
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:362,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:363,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:364,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:362,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gpollableoutputstream.c:364,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:365,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gpollableoutputstream.c:367,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:373,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:374,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gpollableoutputstream.c:377,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:388,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gpollableoutputstream.c:383,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:391,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gpollableoutputstream.c:386,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:386,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: 397
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 397
    functionName: g_pollable_output_stream_writev_nonblocking
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - G_IS_POLLABLE_OUTPUT_STREAM
    - g_warn_if_fail
    - g_error_matches
    - g_cancellable_set_error_if_cancelled
    - G_IS_CANCELLABLE
    - g_cancellable_push_current
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    - g_return_val_if_fail
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1260,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1268,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:1296,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusproxy.c:1287,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gdbusproxy.c:1291,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1310,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1315,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gdbusproxy.c:1324,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusproxy.c:1326,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:1339,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1249,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gdbusproxy.c:1256,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1269,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusproxy.c:1282,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusproxy.c:1285,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1287,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusproxy.c:1288,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusproxy.c:1300,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1304,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusproxy.c:1306,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1350,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1332,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusproxy.c:1274,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1282,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusproxy.c:1298,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1306,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1322,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1325,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusproxy.c:1342,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1345,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1326,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusproxy.c:1249,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusproxy.c:1266,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gdbusproxy.c:1284,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusproxy.c:1286,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1293,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:1313,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1321,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gdbusproxy.c:1340,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusproxy.c:1341,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1344,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusproxy.c:1361,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1351,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: 1362
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1362
    functionName: on_name_owner_changed
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - G_OBJECT
    - g_ptr_array_new_with_free_func
    - g_hash_table_iter_next
    - g_ptr_array_unref
    - strlen
    - g_strcmp0
    - g_weak_ref_get
    - g_object_notify
    - g_variant_new
    - g_object_ref
    - g_hash_table_remove_all
    - g_cancellable_new
    - g_variant_get
    - g_cancellable_cancel
    - g_hash_table_iter_init
    - g_variant_builder_init
    - g_ptr_array_add
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_strdup
    - g_free
    - g_new0
    - G_LOCK
    - g_assert
    - g_hash_table_size
    - g_dbus_connection_call
    - g_clear_object
    - G_UNLOCK
    - g_signal_emit
    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_object_ref
      Src: /src/glib/gio/gdbusproxy.c:1865,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gdbusproxy.c:1866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1867
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1867
    functionName: async_initable_init_async_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void async_initable_init_async_cb (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_finish
      Src: /src/glib/gio/gdbusproxy.c:2185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2186
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2186
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2441,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2445,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2443,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2450
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2450
    functionName: g_dbus_proxy_get_interface_info
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_return_val_if_fail
    - G_IS_DBUS_PROXY
    - G_LOCK
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'GDBusInterfaceInfo *g_dbus_proxy_get_interface_info (GDBusProxy *proxy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2645,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2647,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2650,1
    - Dst: maybe_split_method_name
      Src: /src/glib/gio/gdbusproxy.c:2677,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusproxy.c:2667,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:2693,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gdbusproxy.c:2698,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2705,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2646,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusproxy.c:2646,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:2647,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2648,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusproxy.c:2650,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2652,1
    - Dst: lookup_method_info
      Src: /src/glib/gio/gdbusproxy.c:2685,1
    - Dst: g_dbus_connection_call_with_unix_fd_list
      Src: /src/glib/gio/gdbusproxy.c:2713,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:2746,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:2646,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusproxy.c:2687,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusproxy.c:2665,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusproxy.c:2666,1
    - Dst: get_destination_for_call
      Src: /src/glib/gio/gdbusproxy.c:2693,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:2727,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusproxy.c:2743,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:2745,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2645,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2675,1
    - Dst: _
      Src: /src/glib/gio/gdbusproxy.c:2701,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:2703,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2710,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: 2747
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2747
    functionName: g_dbus_proxy_call_internal
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_with_unix_fd_list
    - _
    - g_task_set_source_tag
    - lookup_method_info
    - _g_dbus_compute_complete_signature
    - g_variant_type_free
    - get_destination_for_call
    - g_object_unref
    - G_IS_DBUS_PROXY
    - G_IS_UNIX_FD_LIST
    - maybe_split_method_name
    - g_dbus_is_interface_name
    - g_task_set_name
    - g_task_return_new_error
    - g_strdup
    - g_free
    - G_LOCK
    - g_dbus_connection_call
    - g_task_new
    - G_UNLOCK
    - g_dbus_is_member_name
    - g_variant_is_of_type
    - g_return_if_fail
    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:911,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:921,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:918,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:916,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:916,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusproxy.c:928,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:935,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:936,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - proxy
    - property_name
    - value
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 937
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 937
    functionName: insert_property_checked
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_string
    - g_free
    - g_strcmp0
    - g_variant_unref
    - g_hash_table_insert
    - g_warning
    - g_dbus_interface_info_lookup_property
    linkageType: ''
    returnType: void
    signature: "static void insert_property_checked (GDBusProxy *proxy,\t\t\t gchar
      *property_name,\t\t\t GVariant *value) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:1185,1
    - Dst: _g_dbus_debug_proxy
      Src: /src/glib/gio/gdbusproxy.c:1199,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusproxy.c:1199,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusproxy.c:1206,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusproxy.c:1201,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1212,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1213,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusproxy.c:1214,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gdbusproxy.c:1215,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1216,1
    - Dst: process_get_all_reply
      Src: /src/glib/gio/gdbusproxy.c:1219,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1220,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusproxy.c:1223,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1223,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1231,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1229,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1232,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1233
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1233
    functionName: on_name_owner_changed_get_all_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - _g_dbus_debug_proxy
    - G_UNLIKELY
    - g_free
    - G_LOCK
    - g_hash_table_remove_all
    - g_error_free
    - g_variant_unref
    - G_UNLOCK
    - process_get_all_reply
    - g_object_unref
    - g_debug
    - g_steal_pointer
    - g_object_notify
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_name_owner_changed_get_all_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: 3192
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3192
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:848,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:855,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:859,1
    - Dst: g_dbus_interface_info_lookup_signal
      Src: /src/glib/gio/gdbusproxy.c:866,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusproxy.c:848,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusproxy.c:870,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gdbusproxy.c:871,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:874,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:880,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:889,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusproxy.c:883,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:857,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusproxy.c:871,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:887,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:876,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusproxy.c:879,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusproxy.c:897,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusproxy.c:873,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gdbusproxy.c:891,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:878,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: 898
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 898
    functionName: on_signal_received
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_variant_type_dup_string
    - g_variant_type_equal
    - g_variant_get_type_string
    - g_free
    - g_variant_type_free
    - G_LOCK
    - g_strcmp0
    - g_clear_object
    - G_UNLOCK
    - g_dbus_interface_info_lookup_signal
    - g_warning
    - g_variant_get_type
    - g_weak_ref_get
    - g_signal_emit
    - g_quark_try_string
    - _g_dbus_compute_complete_signature
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2096,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusproxy.c:2097,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusproxy.c:2096,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2097,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusproxy.c:2098,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2099,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusproxy.c:2099,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2100,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:2100,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusproxy.c:2102,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2113,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 8
    argNames:
    - connection
    - flags
    - info
    - name
    - object_path
    - interface_name
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - GDBusProxyFlags
    - GDBusInterfaceInfo*
    - gchar*
    - gchar*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2116
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2116
    functionName: g_dbus_proxy_new_sync
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_variant_is_object_path
    - g_dbus_is_interface_name
    - g_dbus_is_name
    - G_IS_DBUS_CONNECTION
    - g_dbus_connection_get_unique_name
    - g_return_val_if_fail
    - g_initable_new
    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:2149,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusproxy.c:2151,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusproxy.c:2152,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2151,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2152,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2153,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:2153,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusproxy.c:2155,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: 2167
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2167
    functionName: g_dbus_proxy_new_for_bus
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    - g_variant_is_object_path
    - g_dbus_is_interface_name
    - g_dbus_is_name
    - g_async_initable_new_async
    - g_return_if_fail
    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:2380,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2380,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2382,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2386
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2386
    functionName: g_dbus_proxy_get_default_timeout
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_return_val_if_fail
    - G_IS_DBUS_PROXY
    - G_LOCK
    linkageType: ''
    returnType: gint
    signature: 'gint g_dbus_proxy_get_default_timeout (GDBusProxy *proxy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2405,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2406,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2408,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2413,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2405,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusproxy.c:2415,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:2415,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - proxy
    - timeout_msec
    argTypes:
    - GDBusProxy*
    - gint
    constantsTouched: []
    func_position:
      end: 2421
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2421
    functionName: g_dbus_proxy_set_default_timeout
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_LOCK
    - G_UNLOCK
    - g_object_notify
    - G_IS_DBUS_PROXY
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_set_default_timeout (GDBusProxy *proxy, gint timeout_msec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:2493,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:2494,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbusproxy.c:2504,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:2503,1
    - Dst: strchr
      Src: /src/glib/gio/gdbusproxy.c:2498,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: 2514
      start: 2485
    functionDepth: 0
    functionLinenumber: 2485
    functionLinenumberEnd: 2514
    functionName: maybe_split_method_name
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_strdup
    - strrchr
    - strchr
    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: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2620
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2620
    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_dbus_proxy_call_finish_internal
      Src: /src/glib/gio/gdbusproxy.c:2975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - proxy
    - res
    - error
    argTypes:
    - GDBusProxy*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2976
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2976
    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_dbus_proxy_call_sync_internal
      Src: /src/glib/gio/gdbusproxy.c:3039,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 7
    argNames:
    - proxy
    - method_name
    - parameters
    - flags
    - timeout_msec
    - cancellable
    - error
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    - GDBusCallFlags
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3040
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3040
    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_finish_internal
      Src: /src/glib/gio/gdbusproxy.c:3100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - proxy
    - out_fd_list
    - res
    - error
    argTypes:
    - GDBusProxy*
    - GUnixFDList**
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 3101
      start: 3094
    functionDepth: 0
    functionLinenumber: 3094
    functionLinenumberEnd: 3101
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:235,1
    - Dst: g_value_take_string
      Src: /src/glib/gio/gdbusproxy.c:252,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusproxy.c:248,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusproxy.c:240,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusproxy.c:244,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gdbusproxy.c:252,1
    - Dst: g_value_set_string
      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_int
      Src: /src/glib/gio/gdbusproxy.c:264,1
    - Dst: g_dbus_proxy_get_default_timeout
      Src: /src/glib/gio/gdbusproxy.c:264,1
    - Dst: g_dbus_proxy_get_interface_info
      Src: /src/glib/gio/gdbusproxy.c:268,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusproxy.c:272,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gdbusproxy.c:268,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 275
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 275
    functionName: g_dbus_proxy_get_property
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_name_owner
    - G_DBUS_PROXY
    - g_value_set_flags
    - g_value_set_string
    - g_value_take_string
    - g_value_set_boxed
    - g_value_set_int
    - g_dbus_proxy_get_default_timeout
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_info_lookup_property
      Src: /src/glib/gio/gdbusproxy.c:689,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - proxy
    - property_name
    argTypes:
    - GDBusProxy*
    - gchar*
    constantsTouched: []
    func_position:
      end: 693
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 693
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:801,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:804,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:802,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:801,1
    - Dst: lookup_property_info
      Src: /src/glib/gio/gdbusproxy.c:808,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:811,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:811,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:813,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:816,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusproxy.c:821,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:822,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusproxy.c:827,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:831,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusproxy.c:823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - proxy
    - property_name
    - value
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 832
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 832
    functionName: g_dbus_proxy_set_cached_property
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_get_type_string
    - G_LOCK
    - g_strcmp0
    - g_hash_table_insert
    - g_hash_table_remove
    - G_UNLOCK
    - g_warning
    - lookup_property_info
    - G_IS_DBUS_PROXY
    - g_variant_ref_sink
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_set_cached_property (GDBusProxy *proxy, const gchar
      *property_name, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1609,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1611,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1619,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusproxy.c:1622,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1625
    functionName: async_init_call_start_service_by_name
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_task_get_source_object
    - g_dbus_connection_call
    - g_variant_new
    - g_task_get_cancellable
    linkageType: ''
    returnType: void
    signature: 'static void async_init_call_start_service_by_name (GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:2031,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:2037,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:2034,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:2032,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusproxy.c:2034,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2040,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2043
      start: 2024
    functionDepth: 0
    functionLinenumber: 2024
    functionLinenumberEnd: 2043
    functionName: g_dbus_proxy_new_finish
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_DBUS_PROXY
    - g_assert
    - g_object_unref
    - g_async_initable_new_finish
    - G_ASYNC_INITABLE
    linkageType: ''
    returnType: GDBusProxy*
    signature: 'GDBusProxy *g_dbus_proxy_new_finish (GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2357,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2359
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2359
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2468,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusproxy.c:2474,1
    - Dst: g_dbus_interface_info_cache_release
      Src: /src/glib/gio/gdbusproxy.c:2473,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2468,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2469,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gdbusproxy.c:2476,1
    - Dst: g_dbus_interface_info_cache_build
      Src: /src/glib/gio/gdbusproxy.c:2478,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - proxy
    - info
    argTypes:
    - GDBusProxy*
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 2481
      start: 2464
    functionDepth: 0
    functionLinenumber: 2464
    functionLinenumberEnd: 2481
    functionName: g_dbus_proxy_set_interface_info
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_info_unref
    - g_dbus_interface_info_cache_release
    - G_LOCK
    - g_dbus_interface_info_ref
    - G_UNLOCK
    - g_dbus_interface_info_cache_build
    - G_IS_DBUS_PROXY
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_set_interface_info (GDBusProxy *proxy, GDBusInterfaceInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_internal
      Src: /src/glib/gio/gdbusproxy.c:2954,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: 2955
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2955
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:283,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusproxy.c:292,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusproxy.c:296,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusproxy.c:300,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusproxy.c:288,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusproxy.c:304,1
    - Dst: g_dbus_proxy_set_default_timeout
      Src: /src/glib/gio/gdbusproxy.c:308,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gdbusproxy.c:308,1
    - Dst: g_dbus_proxy_set_interface_info
      Src: /src/glib/gio/gdbusproxy.c:312,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gdbusproxy.c:312,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusproxy.c:320,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdbusproxy.c:316,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 323
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 323
    functionName: g_dbus_proxy_set_property
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_value_dup_string
    - g_dbus_proxy_set_interface_info
    - g_value_get_int
    - g_value_dup_object
    - g_dbus_proxy_set_default_timeout
    - g_value_get_enum
    - g_value_get_boxed
    - g_value_get_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_proxy_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1634,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gdbusproxy.c:1640,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusproxy.c:1638,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusproxy.c:1637,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusproxy.c:1639,1
    - Dst: async_init_data_set_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1646,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusproxy.c:1648,1
    - Dst: async_init_data_set_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1650,1
    - Dst: async_init_call_get_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1657,1
    - Dst: async_init_call_start_service_by_name
      Src: /src/glib/gio/gdbusproxy.c:1661,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: 1664
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1664
    functionName: async_initable_init_second_async
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_task_set_priority
    - g_task_new
    - g_task_set_source_tag
    - g_dbus_is_unique_name
    - g_task_set_name
    - async_init_call_get_name_owner
    - async_init_call_start_service_by_name
    - async_init_data_set_name_owner
    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:2258,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2260
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2260
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:2527,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:2530,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusproxy.c:2532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ReplyData*
    constantsTouched: []
    func_position:
      end: 2533
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2533
    functionName: reply_data_free
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_variant_unref
    - g_object_unref
    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:3154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - interface
    argTypes:
    - GDBusInterface*
    constantsTouched: []
    func_position:
      end: 3156
      start: 3151
    functionDepth: 0
    functionLinenumber: 3151
    functionLinenumberEnd: 3156
    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:3175,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/gdbusproxy.c:3181,1
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gio/gdbusproxy.c:3178,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:3176,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:3178,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:3181,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:3182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - interface
    - object
    argTypes:
    - GDBusInterface*
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 3183
      start: 3171
    functionDepth: 0
    functionLinenumber: 3171
    functionLinenumberEnd: 3183
    functionName: _g_dbus_proxy_set_object
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - G_OBJECT
    - g_object_remove_weak_pointer
    - G_LOCK
    - G_UNLOCK
    - g_object_add_weak_pointer
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_proxy_set_object (GDBusInterface *interface, GDBusObject
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gdbusproxy.c:117,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:654,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusproxy.c:659,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusproxy.c:662,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:656,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:654,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusproxy.c:664,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusproxy.c:665,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusproxy.c:666,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:666,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/gdbusproxy.c:667,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusproxy.c:670,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:673,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusproxy.c:668,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 675
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 675
    functionName: g_dbus_proxy_get_cached_property_names
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_LOCK
    - g_hash_table_size
    - g_ptr_array_free
    - G_UNLOCK
    - g_hash_table_iter_next
    - g_return_val_if_fail
    - g_hash_table_iter_init
    - G_IS_DBUS_PROXY
    - g_ptr_array_sort_values
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_dbus_proxy_get_cached_property_names (GDBusProxy *proxy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:720,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:723,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:721,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusproxy.c:725,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:720,1
    - Dst: lookup_property_info
      Src: /src/glib/gio/gdbusproxy.c:729,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:732,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:733,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:735,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusproxy.c:745,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:748,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - proxy
    - property_name
    argTypes:
    - GDBusProxy*
    - gchar*
    constantsTouched: []
    func_position:
      end: 750
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 750
    functionName: g_dbus_proxy_get_cached_property
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_string
    - G_LOCK
    - g_strcmp0
    - G_UNLOCK
    - g_warning
    - g_return_val_if_fail
    - lookup_property_info
    - g_variant_ref
    - G_IS_DBUS_PROXY
    - g_hash_table_lookup
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_proxy_get_cached_property (GDBusProxy *proxy, const
      gchar *property_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1694,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusproxy.c:1720,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1712,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusproxy.c:1712,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusproxy.c:1704,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusproxy.c:1728,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1728,1
    - Dst: g_dbus_connection_get_flags
      Src: /src/glib/gio/gdbusproxy.c:1733,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusproxy.c:1736,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusproxy.c:1744,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - initable
    argTypes:
    - GAsyncInitable*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1747
    functionName: async_initable_init_first
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - G_OBJECT
    - g_dbus_connection_get_flags
    - weak_ref_new
    - g_dbus_connection_signal_subscribe
    linkageType: ''
    returnType: void
    signature: 'static void async_initable_init_first (GAsyncInitable *initable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusproxy.c:2221,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2224,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2223,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusproxy.c:2223,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusproxy.c:2224,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2225,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:2225,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusproxy.c:2227,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 8
    argNames:
    - bus_type
    - flags
    - info
    - name
    - object_path
    - interface_name
    - cancellable
    - error
    argTypes:
    - GBusType
    - GDBusProxyFlags
    - GDBusInterfaceInfo*
    - gchar*
    - gchar*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2241
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2241
    functionName: g_dbus_proxy_new_for_bus_sync
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - _g_dbus_initialize
    - g_variant_is_object_path
    - g_dbus_is_interface_name
    - g_dbus_is_name
    - g_return_val_if_fail
    - g_initable_new
    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:2340,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2342
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2342
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/gdbusproxy.c:2588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - proxy
    - method_name
    argTypes:
    - GDBusProxy*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2592
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2592
    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:3161,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusproxy.c:3166,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:3167,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:3164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - interface
    argTypes:
    - GDBusInterface*
    constantsTouched: []
    func_position:
      end: 3169
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3169
    functionName: _g_dbus_proxy_dup_object
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_object_ref
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *_g_dbus_proxy_dup_object (GDBusInterface *interface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:371,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:389,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:429,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:412,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusproxy.c:431,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:454,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:493,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:537,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gdbusproxy.c:539,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:540,1
    - Dst: I_
      Src: /src/glib/gio/gdbusproxy.c:603,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusproxy.c:452,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:433,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:450,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:476,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:490,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusproxy.c:492,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:514,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusproxy.c:573,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusproxy.c:603,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusproxy.c:606,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusproxy.c:615,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:510,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusproxy.c:512,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gdbusproxy.c:369,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:370,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:367,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:386,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusproxy.c:388,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:390,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:413,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:453,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:472,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusproxy.c:474,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusproxy.c:328,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: P_
      Src: /src/glib/gio/gdbusproxy.c:432,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:475,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:513,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusproxy.c:576,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:494,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusproxy.c:584,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusproxy.c:585,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusproxy.c:616,1
    - Dst: P_
      Src: /src/glib/gio/gdbusproxy.c:541,1
    - Dst: I_
      Src: /src/glib/gio/gdbusproxy.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 98
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusProxyClass*
    constantsTouched: []
    func_position:
      end: 619
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 619
    functionName: g_dbus_proxy_class_init
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - g_param_spec_int
    - I_
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - g_param_spec_string
    - g_param_spec_boxed
    - g_param_spec_enum
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_proxy_class_init (GDBusProxyClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1500,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1507,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1502,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1509,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusproxy.c:1512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1515
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1515
    functionName: async_init_call_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_task_get_source_object
    - g_dbus_connection_call
    - g_variant_new
    - g_task_get_cancellable
    linkageType: ''
    returnType: void
    signature: 'static void async_init_call_get_name_owner (GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1671,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/gdbusproxy.c:1676,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusproxy.c:1678,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusproxy.c:1672,1
    - Dst: process_get_all_reply
      Src: /src/glib/gio/gdbusproxy.c:1681,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1682,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - initable
    - res
    - error
    argTypes:
    - GAsyncInitable*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1687
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1687
    functionName: async_initable_init_second_finish
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - G_TASK
    - g_variant_unref
    - g_task_propagate_pointer
    - process_get_all_reply
    - g_task_had_error
    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:2296,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2298
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2298
    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:2319,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2319,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2323,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:2322,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2325
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2325
    functionName: g_dbus_proxy_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_LOCK
    - G_UNLOCK
    - G_IS_DBUS_PROXY
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_proxy_get_name_owner (GDBusProxy *proxy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_with_unix_fd_list_finish
      Src: /src/glib/gio/gdbusproxy.c:2549,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusproxy.c:2570,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:2560,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusproxy.c:2565,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:2554,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:2573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2574
      start: 2535
    functionDepth: 0
    functionLinenumber: 2535
    functionLinenumberEnd: 2574
    functionName: reply_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_dbus_connection_call_finish
    - g_object_unref
    - g_dbus_connection_call_with_unix_fd_list_finish
    - g_task_return_pointer
    - 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_get_instance_private
      Src: /src/glib/gio/gdbusproxy.c:624,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusproxy.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 629
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 629
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusproxy.c:1560,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:1602,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1603,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1580,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1523,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1561,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/gdbusproxy.c:1565,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusproxy.c:1566,1
    - Dst: _
      Src: /src/glib/gio/gdbusproxy.c:1567,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1569,1
    - Dst: async_init_call_get_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1597,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdbusproxy.c:1588,1
    - Dst: _
      Src: /src/glib/gio/gdbusproxy.c:1590,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/gdbusproxy.c:1557,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusproxy.c:1553,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:1528,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:1558,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1601,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1577,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1604
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1604
    functionName: async_init_start_service_by_name_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_free
    - _
    - g_error_new
    - g_strcmp0
    - g_error_free
    - g_dbus_error_get_remote_error
    - g_variant_unref
    - g_variant_get
    - g_warn_if_fail
    - g_object_unref
    - async_init_call_get_name_owner
    - g_prefix_error
    - g_dbus_connection_call_finish
    - g_task_return_error
    - g_dbus_error_strip_remote_error
    linkageType: ''
    returnType: void
    signature: 'static void async_init_start_service_by_name_cb (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusproxy.c:109,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/gdbusproxy.c:110,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusproxy.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:1124,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1124,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:1126,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:1127,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1131,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1133,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusproxy.c:1134,1
    - Dst: insert_property_checked
      Src: /src/glib/gio/gdbusproxy.c:1136,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusproxy.c:1140,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusproxy.c:1142,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1143,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1158,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1151,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:1154,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - proxy
    - result
    argTypes:
    - GDBusProxy*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1163
    functionName: process_get_all_reply
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_get_type_string
    - G_LOCK
    - g_hash_table_size
    - g_variant_unref
    - G_UNLOCK
    - g_variant_get
    - g_warning
    - g_variant_iter_free
    - insert_property_checked
    - g_signal_emit
    - g_variant_iter_next
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void process_get_all_reply (GDBusProxy *proxy, GVariant *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2275,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2277
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2277
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusproxy.c:1991,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1993,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1994,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusproxy.c:1993,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusproxy.c:1994,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusproxy.c:1994,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1995,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusproxy.c:1995,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1996,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:1996,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusproxy.c:1998,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: 2010
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 2010
    functionName: g_dbus_proxy_new
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    - g_variant_is_object_path
    - g_dbus_is_interface_name
    - g_dbus_is_name
    - G_IS_DBUS_CONNECTION
    - g_dbus_connection_get_unique_name
    - g_async_initable_new_async
    - g_return_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:3147,1
    - Dst: g_dbus_proxy_get_interface_info
      Src: /src/glib/gio/gdbusproxy.c:3148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - interface
    argTypes:
    - GDBusInterface*
    constantsTouched: []
    func_position:
      end: 3149
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3149
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:1028,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:1034,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1034,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:1036,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1072,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1050,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1042,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusproxy.c:1054,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusproxy.c:1108,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusproxy.c:1110,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1019,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:1037,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1038,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusproxy.c:1070,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusproxy.c:1071,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1079,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1026,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1030,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusproxy.c:1055,1
    - Dst: insert_property_checked
      Src: /src/glib/gio/gdbusproxy.c:1057,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1073,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1078,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusproxy.c:1019,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:1048,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusproxy.c:1093,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1097,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:1101,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1109,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: 1111
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1111
    functionName: on_properties_changed
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_slice_new0
    - g_clear_pointer
    - g_variant_iter_next
    - g_variant_get_type_string
    - g_strcmp0
    - g_weak_ref_get
    - g_variant_new
    - g_object_ref
    - g_variant_iter_init
    - g_hash_table_remove
    - g_variant_get
    - g_warning
    - insert_property_checked
    - G_VARIANT_TYPE
    - g_strdup
    - g_free
    - G_LOCK
    - g_dbus_connection_call
    - g_clear_object
    - G_UNLOCK
    - g_signal_emit
    - g_variant_is_of_type
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1407,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1415,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1414,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1416,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1412,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1439,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1444,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1445,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusproxy.c:1448,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusproxy.c:1454,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1455,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - task
    - name_owner
    argTypes:
    - GTask*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1457
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1457
    functionName: async_init_data_set_name_owner
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_VARIANT_TYPE
    - g_free
    - g_task_get_source_object
    - G_LOCK
    - g_dbus_connection_call
    - G_UNLOCK
    - g_object_unref
    - g_task_return_pointer
    - g_variant_new
    - g_task_get_cancellable
    linkageType: ''
    returnType: void
    signature: 'static void async_init_data_set_name_owner (GTask *task, const gchar
      *name_owner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_initable_init_second_finish
      Src: /src/glib/gio/gdbusproxy.c:1769,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:1772,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1769,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1773,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusproxy.c:1770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1774
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1774
    functionName: init_second_async_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_boolean
    - G_ASYNC_INITABLE
    - g_task_return_error
    - async_initable_init_second_finish
    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:1810,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gdbusproxy.c:1816,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusproxy.c:1814,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusproxy.c:1815,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusproxy.c:1813,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:1820,1
    - Dst: g_bus_get
      Src: /src/glib/gio/gdbusproxy.c:1822,1
    - Dst: async_initable_init_first
      Src: /src/glib/gio/gdbusproxy.c:1829,1
    - Dst: async_initable_init_second_async
      Src: /src/glib/gio/gdbusproxy.c:1830,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: 1833
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1833
    functionName: async_initable_init_async
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_task_set_priority
    - g_assert
    - g_task_new
    - g_task_set_source_tag
    - async_initable_init_first
    - g_task_set_name
    - g_bus_get
    - async_initable_init_second_async
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 1934
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1934
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2758,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2758,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2760,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2759,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusproxy.c:2759,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusproxy.c:2764,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusproxy.c:2764,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusproxy.c:2768,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusproxy.c:2771,1
    - Dst: reply_data_free
      Src: /src/glib/gio/gdbusproxy.c:2773,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - proxy
    - out_fd_list
    - res
    - error
    argTypes:
    - GDBusProxy*
    - GUnixFDList**
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2777
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2777
    functionName: g_dbus_proxy_call_finish_internal
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - reply_data_free
    - g_object_ref
    - G_TASK
    - g_task_propagate_pointer
    - g_variant_ref
    - G_IS_DBUS_PROXY
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_dbus_proxy_call_finish_internal (GDBusProxy *proxy,
      GUnixFDList **out_fd_list, GAsyncResult *res, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:192,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusproxy.c:201,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusproxy.c:194,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:197,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:209,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:210,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:211,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:212,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:213,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusproxy.c:220,1
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gio/gdbusproxy.c:224,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusproxy.c:215,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:224,1
    - Dst: g_dbus_interface_info_cache_release
      Src: /src/glib/gio/gdbusproxy.c:219,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusproxy.c:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 227
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 227
    functionName: g_dbus_proxy_finalize
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - G_OBJECT
    - g_dbus_interface_info_unref
    - g_free
    - g_hash_table_unref
    - g_object_remove_weak_pointer
    - g_dbus_interface_info_cache_release
    - G_OBJECT_CLASS
    - g_warn_if_fail
    - g_object_unref
    - g_dbus_connection_signal_unsubscribe
    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:957,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:965,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:965,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:963,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:963,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:969,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusproxy.c:972,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:972,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusproxy.c:973,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:975,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:982,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:990,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:991,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusproxy.c:993,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:992,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusproxy.c:984,1
    - Dst: insert_property_checked
      Src: /src/glib/gio/gdbusproxy.c:976,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:980,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 994
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 994
    functionName: invalidated_property_get_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_variant_get_type_string
    - g_free
    - G_LOCK
    - g_variant_unref
    - G_UNLOCK
    - g_variant_get
    - g_warning
    - g_variant_builder_add
    - g_object_unref
    - insert_property_checked
    - g_variant_builder_init
    - g_signal_emit
    - g_dbus_connection_call_finish
    - g_slice_free
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void invalidated_property_get_cb (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:1469,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1483,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:1482,1
    - Dst: g_error_free
      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_get
      Src: /src/glib/gio/gdbusproxy.c:1491,1
    - Dst: async_init_data_set_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1492,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1493,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1495
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1495
    functionName: async_init_get_name_owner_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_error_free
    - g_dbus_connection_call_finish
    - g_object_unref
    - g_variant_get
    - g_variant_unref
    - g_task_return_error
    - async_init_data_set_name_owner
    linkageType: ''
    returnType: void
    signature: 'static void async_init_get_name_owner_cb (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1782,1
    - Dst: async_initable_init_first
      Src: /src/glib/gio/gdbusproxy.c:1794,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:1789,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1790,1
    - Dst: g_bus_get_finish
      Src: /src/glib/gio/gdbusproxy.c:1786,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1794,1
    - Dst: async_initable_init_second_async
      Src: /src/glib/gio/gdbusproxy.c:1795,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1795,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gdbusproxy.c:1796,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusproxy.c:1797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1801
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1801
    functionName: get_connection_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_bus_get_finish
    - g_object_unref
    - async_initable_init_first
    - G_ASYNC_INITABLE
    - g_task_return_error
    - g_task_get_priority
    - async_initable_init_second_async
    - g_task_get_cancellable
    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:1840,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusproxy.c:1840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - initable
    - res
    - error
    argTypes:
    - GAsyncInitable*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1841
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1841
    functionName: async_initable_init_finish
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - G_TASK
    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:2800,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2799,1
    - Dst: lookup_method_info
      Src: /src/glib/gio/gdbusproxy.c:2822,1
    - Dst: _
      Src: /src/glib/gio/gdbusproxy.c:2836,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2839,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusproxy.c:2861,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2800,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2801,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2804,1
    - Dst: get_destination_for_call
      Src: /src/glib/gio/gdbusproxy.c:2830,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusproxy.c:2833,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusproxy.c:2824,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2806,1
    - Dst: g_dbus_connection_call_with_unix_fd_list_sync
      Src: /src/glib/gio/gdbusproxy.c:2847,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusproxy.c:2876,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2808,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2812,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:2879,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2799,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusproxy.c:2800,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:2801,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2802,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusproxy.c:2804,1
    - Dst: maybe_split_method_name
      Src: /src/glib/gio/gdbusproxy.c:2814,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:2830,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2844,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:2878,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 61
    argCount: 9
    argNames:
    - proxy
    - method_name
    - parameters
    - flags
    - timeout_msec
    - fd_list
    - out_fd_list
    - cancellable
    - error
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    - GDBusCallFlags
    - gint
    - GUnixFDList*
    - GUnixFDList**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2882
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2882
    functionName: g_dbus_proxy_call_sync_internal
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - _
    - lookup_method_info
    - g_return_val_if_fail
    - _g_dbus_compute_complete_signature
    - g_variant_type_free
    - get_destination_for_call
    - g_dbus_connection_call_with_unix_fd_list_sync
    - G_IS_DBUS_PROXY
    - G_IS_UNIX_FD_LIST
    - maybe_split_method_name
    - g_dbus_is_interface_name
    - g_set_error
    - g_strdup
    - g_dbus_connection_call_sync
    - g_free
    - G_LOCK
    - G_UNLOCK
    - g_dbus_is_member_name
    - g_variant_is_of_type
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_internal
      Src: /src/glib/gio/gdbusproxy.c:3077,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: 3078
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3078
    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:1376,1
    - Dst: _g_dbus_debug_proxy
      Src: /src/glib/gio/gdbusproxy.c:1388,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusproxy.c:1388,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusproxy.c:1395,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusproxy.c:1390,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusproxy.c:1398,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1401
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1401
    functionName: async_init_get_all_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_proxy
    - G_UNLIKELY
    - g_error_free
    - g_object_unref
    - g_debug
    - g_task_return_pointer
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void async_init_get_all_cb (GDBusConnection *connection, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - async_initable_iface
    argTypes:
    - GAsyncInitableIface*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1848
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1882,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1898,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdbusproxy.c:1891,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1923,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:1890,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbusproxy.c:1902,1
    - Dst: async_initable_init_second_async
      Src: /src/glib/gio/gdbusproxy.c:1906,1
    - Dst: async_initable_init_second_finish
      Src: /src/glib/gio/gdbusproxy.c:1914,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbusproxy.c:1912,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1914,1
    - Dst: async_initable_init_first
      Src: /src/glib/gio/gdbusproxy.c:1898,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusproxy.c:1900,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gdbusproxy.c:1901,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gdbusproxy.c:1904,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1906,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gdbusproxy.c:1918,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusproxy.c:1920,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbusproxy.c:1921,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1922,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1928
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1928
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_main_context_push_thread_default
    - g_free
    - g_new0
    - g_assert
    - g_main_context_unref
    - g_bus_get_sync
    - g_object_unref
    - g_main_loop_unref
    - async_initable_init_first
    - g_main_loop_new
    - g_main_context_pop_thread_default
    - G_ASYNC_INITABLE
    - g_main_loop_run
    - async_initable_init_second_async
    - g_main_context_new
    - async_initable_init_second_finish
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initable_init (GInitable *initable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_sync_internal
      Src: /src/glib/gio/gdbusproxy.c:3137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 9
    argNames:
    - proxy
    - method_name
    - parameters
    - flags
    - timeout_msec
    - fd_list
    - out_fd_list
    - cancellable
    - error
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    - GDBusCallFlags
    - gint
    - GUnixFDList*
    - GUnixFDList**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3138
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3138
    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_object_interface_install_property
      Src: /src/glib/gio/gdtlsclientconnection.c:83,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsclientconnection.c:86,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsclientconnection.c:85,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdtlsclientconnection.c:84,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsclientconnection.c:113,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsclientconnection.c:114,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsclientconnection.c:115,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsclientconnection.c:116,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsclientconnection.c:135,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gdtlsclientconnection.c:136,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsclientconnection.c:138,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsclientconnection.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDtlsClientConnectionInterface*
    constantsTouched: []
    func_position:
      end: 141
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 141
    functionName: g_dtls_client_connection_default_init
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_param_spec_pointer
    - g_object_interface_install_property
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dtls_client_connection_default_init (GDtlsClientConnectionInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:195,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:195,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsclientconnection.c:197,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsClientConnection*
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: g_dtls_client_connection_get_validation_flags
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DTLS_CLIENT_CONNECTION
    - g_return_val_if_fail
    - G_OBJECT
    - g_object_get
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_dtls_client_connection_get_validation_flags
      (GDtlsClientConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:268,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:270,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:268,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsclientconnection.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - identity
    argTypes:
    - GDtlsClientConnection*
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: g_dtls_client_connection_set_server_identity
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_DTLS_CLIENT_CONNECTION
    - g_object_set
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_client_connection_set_server_identity (GDtlsClientConnection
      *conn, GSocketConnectable *identity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:222,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsclientconnection.c:224,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:224,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - GDtlsClientConnection*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: g_dtls_client_connection_set_validation_flags
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_DTLS_CLIENT_CONNECTION
    - g_object_set
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_client_connection_set_validation_flags (GDtlsClientConnection
      *conn, GTlsCertificateFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:244,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsclientconnection.c:248,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:246,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsclientconnection.c:246,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsClientConnection*
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: g_dtls_client_connection_get_server_identity
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - G_IS_DTLS_CLIENT_CONNECTION
    - g_return_val_if_fail
    - g_object_get
    linkageType: ''
    returnType: GSocketConnectable*
    signature: 'GSocketConnectable *g_dtls_client_connection_get_server_identity (GDtlsClientConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gdtlsclientconnection.c:165,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdtlsclientconnection.c:166,1
    - Dst: G_DATAGRAM_BASED
      Src: /src/glib/gio/gdtlsclientconnection.c:171,1
    - Dst: g_tls_backend_get_dtls_client_connection_type
      Src: /src/glib/gio/gdtlsclientconnection.c:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - base_socket
    - server_identity
    - error
    argTypes:
    - GDatagramBased*
    - GSocketConnectable*
    - GError**
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 172
    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_val_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:296,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:298,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:296,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsclientconnection.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsClientConnection*
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: g_dtls_client_connection_get_accepted_cas
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DTLS_CLIENT_CONNECTION
    - g_return_val_if_fail
    - G_OBJECT
    - g_object_get
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_dtls_client_connection_get_accepted_cas (GDtlsClientConnection
      *conn) '
  - 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: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    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: g_pollable_stream_write_all
      Src: /src/glib/gio/gconverteroutputstream.c:382,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverteroutputstream.c:389,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:379,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:383,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:
    - G_FILTER_OUTPUT_STREAM
    - buffer_data_size
    - buffer_data
    - buffer_consumed
    - g_pollable_stream_write_all
    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:657,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - buffer
    - count
    - error
    argTypes:
    - GPollableOutputStream*
    - void*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 659
    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_object_unref
      Src: /src/glib/gio/gconverteroutputstream.c:167,1
    - Dst: g_free
      Src: /src/glib/gio/gconverteroutputstream.c:164,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_OBJECT_CLASS
    - g_object_unref
    - g_free
    - G_CONVERTER_OUTPUT_STREAM
    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: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:415,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:431,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:427,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:448,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverteroutputstream.c:481,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverteroutputstream.c:491,1
    - Dst: grow_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:449,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/gconverteroutputstream.c:453,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverteroutputstream.c:483,1
    - Dst: buffer_append
      Src: /src/glib/gio/gconverteroutputstream.c:502,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:456,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverteroutputstream.c:505,1
    - Dst: buffer_append
      Src: /src/glib/gio/gconverteroutputstream.c:430,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:420,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverteroutputstream.c:442,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverteroutputstream.c:495,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:456,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gconverteroutputstream.c:510,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverteroutputstream.c:517,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:527,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:432,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:457,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverteroutputstream.c:474,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 6
    argNames:
    - stream
    - buffer
    - count
    - blocking
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 530
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 530
    functionName: write_internal
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - buffer_tailspace
    - G_CONVERTER_OUTPUT_STREAM
    - g_error_matches
    - g_converter_convert
    - g_error_free
    - buffer_append
    - buffer_data_size
    - buffer_data
    - buffer_consumed
    - buffer_ensure_space
    - grow_buffer
    - g_propagate_error
    - flush_buffer
    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:665,1
    - Dst: g_pollable_output_stream_create_source
      Src: /src/glib/gio/gconverteroutputstream.c:668,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gconverteroutputstream.c:671,1
    - Dst: g_pollable_source_new_full
      Src: /src/glib/gio/gconverteroutputstream.c:669,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:668,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - stream
    - cancellable
    argTypes:
    - GPollableOutputStream*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 674
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 674
    functionName: g_converter_output_stream_create_source
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - G_POLLABLE_OUTPUT_STREAM
    - g_pollable_source_new_full
    - G_FILTER_OUTPUT_STREAM
    - g_pollable_output_stream_create_source
    - g_source_unref
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_converter_output_stream_create_source (GPollableOutputStream
      *stream,\t\t\t\t\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_internal
      Src: /src/glib/gio/gconverteroutputstream.c:539,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: 540
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 540
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:556,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverteroutputstream.c:567,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:580,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:581,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:582,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverteroutputstream.c:614,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:628,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:574,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/gconverteroutputstream.c:579,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:582,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gconverteroutputstream.c:622,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverteroutputstream.c:616,1
    - Dst: g_output_stream_is_closing
      Src: /src/glib/gio/gconverteroutputstream.c:559,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:563,1
    - Dst: grow_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:575,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:583,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverteroutputstream.c:592,1
    - Dst: g_assert
      Src: /src/glib/gio/gconverteroutputstream.c:600,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverteroutputstream.c:607,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:600,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 632
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 632
    functionName: g_converter_output_stream_flush
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - buffer_tailspace
    - G_CONVERTER_OUTPUT_STREAM
    - g_assert
    - g_error_matches
    - g_converter_convert
    - g_error_free
    - buffer_data
    - buffer_data_size
    - buffer_consumed
    - buffer_ensure_space
    - grow_buffer
    - g_output_stream_is_closing
    - g_propagate_error
    - flush_buffer
    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: []
    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:125,1
    - Dst: P_
      Src: /src/glib/gio/gconverteroutputstream.c:137,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gconverteroutputstream.c:134,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gconverteroutputstream.c:130,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gconverteroutputstream.c:136,1
    - Dst: P_
      Src: /src/glib/gio/gconverteroutputstream.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GConverterOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 144
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 144
    functionName: g_converter_output_stream_class_init
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - P_
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:180,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gconverteroutputstream.c:189,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gconverteroutputstream.c:185,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: grow_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:347,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:336,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:329,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:341,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_data_size
    - buffer_tailspace
    - grow_buffer
    linkageType: ''
    returnType: void
    signature: "static void buffer_ensure_space (Buffer *buffer,\t\t gsize at_least_size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:637,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:639,1
    - Dst: g_pollable_output_stream_can_poll
      Src: /src/glib/gio/gconverteroutputstream.c:640,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 641
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 641
    functionName: g_converter_output_stream_can_poll
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_IS_POLLABLE_OUTPUT_STREAM
    - G_POLLABLE_OUTPUT_STREAM
    - g_pollable_output_stream_can_poll
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_converter_output_stream_can_poll (GPollableOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - converter_stream
    argTypes:
    - GConverterOutputStream*
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 690
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:204,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gconverteroutputstream.c:210,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gconverteroutputstream.c:214,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: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:302,1
    - Dst: memcpy
      Src: /src/glib/gio/gconverteroutputstream.c:305,1
    - Dst: g_free
      Src: /src/glib/gio/gconverteroutputstream.c:309,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_malloc
    - g_free
    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: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:357,1
    - Dst: memcpy
      Src: /src/glib/gio/gconverteroutputstream.c:358,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:646,1
    - Dst: g_pollable_output_stream_is_writable
      Src: /src/glib/gio/gconverteroutputstream.c:648,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 649
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 649
    functionName: g_converter_output_stream_is_writable
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_POLLABLE_OUTPUT_STREAM
    - g_pollable_output_stream_is_writable
    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_object_new
      Src: /src/glib/gio/gconverteroutputstream.c:242,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - base_stream
    - converter
    argTypes:
    - GOutputStream*
    - GConverter*
    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_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    - g_object_new
    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:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - client
    - flags
    argTypes:
    - Client*
    - guint32
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    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:1011,1
    - Dst: _g_freedesktop_dbus_complete_get_id
      Src: /src/glib/gio/gdbusdaemon.c:1012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1015
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1015
    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_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1087,1
    - Dst: g_ptr_array_extend_and_steal
      Src: /src/glib/gio/gdbusdaemon.c:1095,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/gio/gdbusdaemon.c:1094,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/gio/gdbusdaemon.c:1091,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusdaemon.c:1092,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusdaemon.c:1095,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusdaemon.c:1097,1
    - Dst: _g_freedesktop_dbus_complete_list_names
      Src: /src/glib/gio/gdbusdaemon.c:1099,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusdaemon.c:1102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1104
    functionName: handle_list_names
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - G_DBUS_DAEMON
    - _g_freedesktop_dbus_complete_list_names
    - g_ptr_array_free
    - g_ptr_array_extend_and_steal
    - g_steal_pointer
    - g_hash_table_get_values_as_ptr_array
    - 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:1678,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusdaemon.c:1694,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusdaemon.c:1684,1
    - Dst: I_
      Src: /src/glib/gio/gdbusdaemon.c:1684,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusdaemon.c:1692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusDaemonClass*
    constantsTouched: []
    func_position:
      end: 1701
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1701
    functionName: g_dbus_daemon_class_init
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - I_
    - g_signal_new
    - g_param_spec_string
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_daemon_class_init (GDBusDaemonClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - owner
    argTypes:
    - NameOwner*
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    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: 32
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusdaemon.c:564,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusdaemon.c:647,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusdaemon.c:652,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusdaemon.c:642,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusdaemon.c:553,1
    - Dst: g_dbus_message_get_destination
      Src: /src/glib/gio/gdbusdaemon.c:570,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusdaemon.c:573,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusdaemon.c:579,1
    - Dst: message_get_argN
      Src: /src/glib/gio/gdbusdaemon.c:590,1
    - Dst: message_get_argN
      Src: /src/glib/gio/gdbusdaemon.c:594,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:608,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusdaemon.c:638,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusdaemon.c:622,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:615,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusdaemon.c:576,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:618,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:612,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:640,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusdaemon.c:646,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusdaemon.c:583,1
    - Dst: message_get_argN
      Src: /src/glib/gio/gdbusdaemon.c:587,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusdaemon.c:599,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusdaemon.c:630,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusdaemon.c:637,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusdaemon.c:641,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 91
    argCount: 4
    argNames:
    - daemon
    - match
    - message
    - has_destination
    argTypes:
    - GDBusDaemon*
    - Match*
    - GDBusMessage*
    - gboolean
    constantsTouched: []
    func_position:
      end: 657
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 657
    functionName: match_matches
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - strlen
    - g_dbus_message_get_message_type
    - message_get_argN
    - g_dbus_message_get_destination
    - g_assert_not_reached
    - g_str_has_prefix
    - g_dbus_message_get_sender
    - name_lookup
    - strcmp
    - g_dbus_message_get_interface
    - g_dbus_message_get_member
    - g_dbus_message_get_path
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean match_matches (GDBusDaemon *daemon,\t Match *match,
      GDBusMessage *message,\t gboolean has_destination) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1005
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1005
    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:1022,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1025,1
    - Dst: _g_freedesktop_dbus_complete_get_name_owner
      Src: /src/glib/gio/gdbusdaemon.c:1027,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1034,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1033,1
    - Dst: _g_freedesktop_dbus_complete_get_name_owner
      Src: /src/glib/gio/gdbusdaemon.c:1038,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1042,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1045,1
    - Dst: _g_freedesktop_dbus_complete_get_name_owner
      Src: /src/glib/gio/gdbusdaemon.c:1051,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1053
    functionName: handle_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - G_DBUS_DAEMON
    - name_lookup
    - strcmp
    - g_dbus_method_invocation_return_error
    - _g_freedesktop_dbus_complete_get_name_owner
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_get_name_owner (_GFreedesktopDBus *object,\t\t
      GDBusMethodInvocation *invocation,\t\t const gchar *arg_name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1111,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusdaemon.c:1125,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusdaemon.c:1116,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1118,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusdaemon.c:1129,1
    - Dst: _g_freedesktop_dbus_complete_list_queued_owners
      Src: /src/glib/gio/gdbusdaemon.c:1131,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusdaemon.c:1134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1136
    functionName: handle_list_queued_owners
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - G_DBUS_DAEMON
    - g_ptr_array_new
    - g_ptr_array_free
    - _g_freedesktop_dbus_complete_list_queued_owners
    - name_lookup
    - 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: 1723
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1723
    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:1746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - GDBusDaemon*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1747
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - daemon
    - str
    argTypes:
    - GDBusDaemon*
    - char*
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    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:245,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:261,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:257,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:249,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:253,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:265,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:269,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:273,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:277,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:281,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:294,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/gio/gdbusdaemon.c:286,1
    - Dst: atoi
      Src: /src/glib/gio/gdbusdaemon.c:292,1
    - Dst: atoi
      Src: /src/glib/gio/gdbusdaemon.c:297,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 3
    argNames:
    - element
    - key_start
    - key_end
    argTypes:
    - MatchElement*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 306
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 306
    functionName: parse_key
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_ascii_isdigit
    - is_key
    - atoi
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_key (MatchElement *element, const char *key_start,
      const char *key_end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdbusdaemon.c:733,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:734,1
    - Dst: name_owner_free
      Src: /src/glib/gio/gdbusdaemon.c:735,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - name
    - client
    argTypes:
    - Name*
    - Client*
    constantsTouched: []
    func_position:
      end: 741
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 741
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:805,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdbusdaemon.c:812,1
    - Dst: name_replace_owner
      Src: /src/glib/gio/gdbusdaemon.c:816,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:811,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:818,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - Name*
    constantsTouched: []
    func_position:
      end: 819
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 819
    functionName: name_release_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - name_ref
    - g_list_delete_link
    - name_unref
    - name_replace_owner
    linkageType: ''
    returnType: void
    signature: 'static void name_release_owner (Name *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusdaemon.c:1059,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusdaemon.c:1062,1
    - Dst: _g_freedesktop_dbus_complete_hello
      Src: /src/glib/gio/gdbusdaemon.c:1060,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:1059,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:1059,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusdaemon.c:1065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1069
    functionName: handle_hello
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - _g_freedesktop_dbus_complete_hello
    - g_object_get_data
    - g_dbus_method_invocation_get_connection
    - g_variant_new
    - g_dbus_connection_emit_signal
    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:1461,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:1464,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/gdbusdaemon.c:1463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1468
    functionName: copy_if_locked
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_locked
    - g_dbus_message_copy
    - g_object_unref
    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: 1729
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1729
    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:231,1
    - Dst: strncmp
      Src: /src/glib/gio/gdbusdaemon.c:237,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - key_start
    - key_end
    - value
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: is_key
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert
    - strncmp
    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:314,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusdaemon.c:355,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:337,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusdaemon.c:347,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusdaemon.c:362,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusdaemon.c:365,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusdaemon.c:369,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 2
    argNames:
    - element
    - s
    argTypes:
    - MatchElement*
    - char*
    constantsTouched: []
    func_position:
      end: 371
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 371
    functionName: parse_value
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - g_string_append_c
    linkageType: ''
    returnType: char*
    signature: 'static const char *parse_value (MatchElement *element, const char
      *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:754,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusdaemon.c:766,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusdaemon.c:769,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:761,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusdaemon.c:763,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:772,1
    - Dst: name_owner_free
      Src: /src/glib/gio/gdbusdaemon.c:773,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusdaemon.c:776,1
    - Dst: name_unqueue_owner
      Src: /src/glib/gio/gdbusdaemon.c:782,1
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:783,1
    - Dst: send_name_owner_changed
      Src: /src/glib/gio/gdbusdaemon.c:793,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:797,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:795,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusdaemon.c:786,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusdaemon.c:789,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - name
    - owner
    argTypes:
    - Name*
    - NameOwner*
    constantsTouched: []
    func_position:
      end: 798
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 798
    functionName: name_replace_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - send_name_owner_changed
    - g_strdup
    - name_unqueue_owner
    - g_free
    - g_assert
    - name_ref
    - name_unref
    - name_owner_free
    - g_list_prepend
    - g_variant_new
    - g_dbus_connection_emit_signal
    linkageType: ''
    returnType: void
    signature: 'static void name_replace_owner (Name *name, NameOwner *owner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_owner_free
      Src: /src/glib/gio/gdbusdaemon.c:833,1
    - Dst: g_list_append
      Src: /src/glib/gio/gdbusdaemon.c:838,1
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:839,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - name
    - owner
    argTypes:
    - Name*
    - NameOwner*
    constantsTouched: []
    func_position:
      end: 840
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 840
    functionName: name_queue_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_list_append
    - name_ref
    - name_owner_free
    linkageType: ''
    returnType: void
    signature: 'static void name_queue_owner (Name *name, NameOwner *owner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_freedesktop_dbus_complete_list_activatable_names
      Src: /src/glib/gio/gdbusdaemon.c:1077,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1081
    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:1484,1
    - Dst: copy_if_locked
      Src: /src/glib/gio/gdbusdaemon.c:1497,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusdaemon.c:1500,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusdaemon.c:1509,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusdaemon.c:1481,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusdaemon.c:1485,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusdaemon.c:1487,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusdaemon.c:1489,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusdaemon.c:1491,1
    - Dst: g_dbus_message_get_destination
      Src: /src/glib/gio/gdbusdaemon.c:1510,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusdaemon.c:1515,1
    - Dst: copy_if_locked
      Src: /src/glib/gio/gdbusdaemon.c:1512,1
    - Dst: g_dbus_message_set_destination
      Src: /src/glib/gio/gdbusdaemon.c:1523,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusdaemon.c:1520,1
    - Dst: g_dbus_message_set_sender
      Src: /src/glib/gio/gdbusdaemon.c:1503,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/gdbusdaemon.c:1486,1
    - Dst: g_dbus_message_get_destination
      Src: /src/glib/gio/gdbusdaemon.c:1488,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusdaemon.c:1490,1
    - Dst: g_dbus_message_set_sender
      Src: /src/glib/gio/gdbusdaemon.c:1521,1
    - Dst: route_message
      Src: /src/glib/gio/gdbusdaemon.c:1505,1
    - Dst: g_dbus_message_get_destination
      Src: /src/glib/gio/gdbusdaemon.c:1522,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - connection
    - message
    - incoming
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 1527
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1527
    functionName: filter_function
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_message_type
    - g_dbus_message_get_reply_serial
    - g_dbus_message_get_path
    - g_dbus_message_get_destination
    - copy_if_locked
    - g_warning
    - g_dbus_message_get_serial
    - g_dbus_message_set_sender
    - g_dbus_message_set_destination
    - g_dbus_message_get_sender
    - g_dbus_message_get_interface
    - g_dbus_message_get_member
    - route_message
    - g_printerr
    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:1736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - address
    - cancellable
    - error
    argTypes:
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1741
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1741
    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:1640,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusdaemon.c:1650,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1645,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusdaemon.c:1646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1652
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1652
    functionName: g_dbus_daemon_set_property
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_free
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusdaemon.c:180,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusdaemon.c:183,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusdaemon.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - daemon
    - str
    argTypes:
    - GDBusDaemon*
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: name_new
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_insert
    - g_new0
    linkageType: ''
    returnType: Name*
    signature: 'static Name *name_new (GDBusDaemon *daemon, const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:501,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Match*
    - Match*
    constantsTouched: []
    func_position:
      end: 505
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 505
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusdaemon.c:848,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:861,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusdaemon.c:851,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusdaemon.c:850,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gdbusdaemon.c:861,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusdaemon.c:862,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/gdbusdaemon.c:864,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusdaemon.c:864,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gdbusdaemon.c:866,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusdaemon.c:868,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusdaemon.c:868,1
    - Dst: send_name_owner_changed
      Src: /src/glib/gio/gdbusdaemon.c:873,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/gdbusdaemon.c:869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - daemon
    - connection
    argTypes:
    - GDBusDaemon*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 876
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 876
    functionName: client_new
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - send_name_owner_changed
    - G_OBJECT
    - g_signal_connect
    - g_object_ref
    - G_DBUS_INTERFACE_SKELETON
    - g_new0
    - g_assert_no_error
    - g_hash_table_insert
    - g_strdup_printf
    - G_CALLBACK
    - g_object_set_data
    - g_dbus_interface_skeleton_export
    - g_dbus_connection_add_filter
    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:956,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:956,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:962,1
    - Dst: match_new
      Src: /src/glib/gio/gdbusdaemon.c:959,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:956,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusdaemon.c:967,1
    - Dst: _g_freedesktop_dbus_complete_add_match
      Src: /src/glib/gio/gdbusdaemon.c:968,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_rule
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 971
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 971
    functionName: handle_add_match
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_get_data
    - g_list_prepend
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_return_error
    - match_new
    - _g_freedesktop_dbus_complete_add_match
    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_freedesktop_dbus_complete_reload_config
      Src: /src/glib/gio/gdbusdaemon.c:1211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1213
    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:1536,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gdbusdaemon.c:1540,1
    - Dst: client_new
      Src: /src/glib/gio/gdbusdaemon.c:1544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1547
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1547
    functionName: on_new_connection
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_dbus_connection_set_exit_on_close
    - client_new
    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_assert
      Src: /src/glib/gio/gdbusdaemon.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - Name*
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: name_ref
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: Name*
    signature: 'static Name *name_ref (Name *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusdaemon.c:515,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gdbusdaemon.c:520,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusdaemon.c:521,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusdaemon.c:517,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusdaemon.c:522,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusdaemon.c:523,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusdaemon.c:524,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - message
    - n
    - allow_path
    argTypes:
    - GDBusMessage*
    - int
    - gboolean
    constantsTouched: []
    func_position:
      end: 528
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 528
    functionName: message_get_argN
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_variant_get_child_value
    - g_variant_unref
    - g_dbus_message_get_body
    - g_variant_get_string
    - g_variant_is_of_type
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *message_get_argN (GDBusMessage *message, int n,
      gboolean allow_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_unexport_from_connection
      Src: /src/glib/gio/gdbusdaemon.c:884,1
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:894,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusdaemon.c:884,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusdaemon.c:887,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusdaemon.c:889,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:899,1
    - Dst: name_release_owner
      Src: /src/glib/gio/gdbusdaemon.c:900,1
    - Dst: name_unqueue_owner
      Src: /src/glib/gio/gdbusdaemon.c:903,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:905,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusdaemon.c:907,1
    - Dst: send_name_owner_changed
      Src: /src/glib/gio/gdbusdaemon.c:909,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:911,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:917,1
    - Dst: match_free
      Src: /src/glib/gio/gdbusdaemon.c:914,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:918,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusdaemon.c:915,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 919
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 919
    functionName: client_free
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - send_name_owner_changed
    - G_DBUS_INTERFACE_SKELETON
    - name_unqueue_owner
    - g_free
    - g_assert
    - name_ref
    - match_free
    - g_hash_table_get_values
    - g_hash_table_remove
    - name_release_owner
    - name_unref
    - g_object_unref
    - g_dbus_interface_skeleton_unexport_from_connection
    - g_list_free
    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:978,1
    - Dst: _g_freedesktop_dbus_complete_get_connection_selinux_security_context
      Src: /src/glib/gio/gdbusdaemon.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 983
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 983
    functionName: handle_get_connection_selinux_security_context
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_error
    - _g_freedesktop_dbus_complete_get_connection_selinux_security_context
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_environment
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1224
    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:1552,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gdbusdaemon.c:1556,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusdaemon.c:1561,1
    - Dst: client_free
      Src: /src/glib/gio/gdbusdaemon.c:1560,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusdaemon.c:1558,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:1563,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusdaemon.c:1563,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:1564,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusdaemon.c:1564,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gdbusdaemon.c:1566,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:1569,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1574,1
    - Dst: g_rmdir
      Src: /src/glib/gio/gdbusdaemon.c:1573,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1577,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gdbusdaemon.c:1567,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusdaemon.c:1580,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1581
    functionName: g_dbus_daemon_finalize
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_rmdir
    - G_DBUS_DAEMON
    - g_free
    - g_hash_table_destroy
    - g_assert
    - g_source_remove
    - g_hash_table_size
    - g_hash_table_get_values
    - g_object_unref
    - client_free
    - g_list_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_daemon_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:201,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:205,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusdaemon.c:204,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - Name*
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    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:403,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:435,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:444,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:448,1
    - Dst: g_array_new
      Src: /src/glib/gio/gdbusdaemon.c:388,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbusdaemon.c:409,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:431,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:452,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusdaemon.c:461,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gdbusdaemon.c:458,1
    - Dst: parse_value
      Src: /src/glib/gio/gdbusdaemon.c:423,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:442,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:438,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:446,1
    - Dst: g_array_index
      Src: /src/glib/gio/gdbusdaemon.c:471,1
    - Dst: g_array_free
      Src: /src/glib/gio/gdbusdaemon.c:472,1
    - Dst: memset
      Src: /src/glib/gio/gdbusdaemon.c:394,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbusdaemon.c:397,1
    - Dst: parse_key
      Src: /src/glib/gio/gdbusdaemon.c:420,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:429,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:455,1
    - Dst: g_array_free
      Src: /src/glib/gio/gdbusdaemon.c:463,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:471,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 68
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 474
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 474
    functionName: match_new
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - g_array_index
    - g_array_new
    - g_array_append_val
    - memset
    - parse_key
    - parse_value
    - g_array_free
    - strcmp
    - g_ascii_isspace
    linkageType: ''
    returnType: Match*
    signature: 'static Match *match_new (const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusdaemon.c:669,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/gdbusdaemon.c:687,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusdaemon.c:690,1
    - Dst: match_matches
      Src: /src/glib/gio/gdbusdaemon.c:681,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:692,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusdaemon.c:697,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: 698
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 698
    functionName: broadcast_message
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_send_message
    - g_object_unref
    - g_hash_table_get_values
    - match_matches
    - g_dbus_message_copy
    - g_list_free
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusdaemon.c:928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 933
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 933
    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_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1143,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1147,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1148,1
    - Dst: _g_freedesktop_dbus_complete_name_has_owner
      Src: /src/glib/gio/gdbusdaemon.c:1150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1153
    functionName: handle_name_has_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - _g_freedesktop_dbus_complete_name_has_owner
    - G_DBUS_DAEMON
    - name_lookup
    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:1231,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:1231,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1238,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:1231,1
    - Dst: match_new
      Src: /src/glib/gio/gdbusdaemon.c:1235,1
    - Dst: match_equal
      Src: /src/glib/gio/gdbusdaemon.c:1246,1
    - Dst: match_free
      Src: /src/glib/gio/gdbusdaemon.c:1248,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdbusdaemon.c:1249,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1255,1
    - Dst: _g_freedesktop_dbus_complete_remove_match
      Src: /src/glib/gio/gdbusdaemon.c:1259,1
    - Dst: match_free
      Src: /src/glib/gio/gdbusdaemon.c:1262,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_rule
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1265
    functionName: handle_remove_match
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_get_data
    - match_free
    - g_list_delete_link
    - g_dbus_method_invocation_get_connection
    - match_equal
    - g_dbus_method_invocation_return_error
    - _g_freedesktop_dbus_complete_remove_match
    - match_new
    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:1355,1
    - Dst: _g_freedesktop_dbus_complete_start_service_by_name
      Src: /src/glib/gio/gdbusdaemon.c:1360,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1363,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1358,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: 1368
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1368
    functionName: handle_start_service_by_name
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_error
    - _g_freedesktop_dbus_complete_start_service_by_name
    - G_DBUS_DAEMON
    - name_lookup
    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:1384,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/gdbusdaemon.c:1389,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/gdbusdaemon.c:1388,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusdaemon.c:1385,1
    - Dst: va_end
      Src: /src/glib/gio/gdbusdaemon.c:1386,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusdaemon.c:1391,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusdaemon.c:1395,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1396,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1397,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusdaemon.c:1399,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusdaemon.c:1400,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:1401,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: 1402
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1402
    functionName: return_error
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - va_end
    - g_dbus_message_new_method_error_literal
    - g_free
    - g_strdup_vprintf
    - g_dbus_connection_send_message
    - g_error_new_literal
    - g_error_free
    - g_object_unref
    - va_start
    - g_warning
    - g_dbus_error_encode_gerror
    linkageType: ''
    returnType: void
    signature: "static void return_error (Client *client, GDBusMessage *message,\t
      GQuark domain,\t gint code,\t const gchar *format,\t ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:215,1
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:218,1
    - Dst: name_new
      Src: /src/glib/gio/gdbusdaemon.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - daemon
    - str
    argTypes:
    - GDBusDaemon*
    - char*
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: name_ensure
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - name_ref
    - g_hash_table_lookup
    - name_new
    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:481,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:483,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - match
    argTypes:
    - Match*
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: match_free
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void match_free (Match *match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/gdbusdaemon.c:708,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:718,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusdaemon.c:711,1
    - Dst: broadcast_message
      Src: /src/glib/gio/gdbusdaemon.c:717,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusdaemon.c:712,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: 720
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 720
    functionName: send_name_owner_changed
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - broadcast_message
    - g_dbus_message_new_signal
    - g_object_unref
    - g_variant_new
    - g_dbus_message_set_body
    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: client_free
      Src: /src/glib/gio/gdbusdaemon.c:943,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusdaemon.c:945,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/gdbusdaemon.c:946,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: 949
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 949
    functionName: connection_closed
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - client_free
    - g_hash_table_size
    - g_timeout_add
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusdaemon.c:1160,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusdaemon.c:1165,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:1160,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:1160,1
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1161,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1167,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1175,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1181,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1183,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1189,1
    - Dst: name_unqueue_owner
      Src: /src/glib/gio/gdbusdaemon.c:1198,1
    - Dst: name_release_owner
      Src: /src/glib/gio/gdbusdaemon.c:1195,1
    - Dst: _g_freedesktop_dbus_complete_release_name
      Src: /src/glib/gio/gdbusdaemon.c:1203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1205
    functionName: handle_release_name
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - name_unqueue_owner
    - G_DBUS_DAEMON
    - g_object_get_data
    - _g_freedesktop_dbus_complete_release_name
    - name_release_owner
    - g_dbus_method_invocation_get_connection
    - g_dbus_is_name
    - name_lookup
    - strcmp
    - g_dbus_method_invocation_return_error
    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:1274,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1281,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1289,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1297,1
    - Dst: name_queue_owner
      Src: /src/glib/gio/gdbusdaemon.c:1330,1
    - Dst: name_replace_owner
      Src: /src/glib/gio/gdbusdaemon.c:1338,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusdaemon.c:1273,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:1273,1
    - Dst: name_owner_new
      Src: /src/glib/gio/gdbusdaemon.c:1306,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusdaemon.c:1279,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1295,1
    - Dst: name_ensure
      Src: /src/glib/gio/gdbusdaemon.c:1303,1
    - Dst: name_replace_owner
      Src: /src/glib/gio/gdbusdaemon.c:1307,1
    - Dst: name_unqueue_owner
      Src: /src/glib/gio/gdbusdaemon.c:1321,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:1273,1
    - Dst: name_owner_new
      Src: /src/glib/gio/gdbusdaemon.c:1337,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:1343,1
    - Dst: _g_freedesktop_dbus_complete_request_name
      Src: /src/glib/gio/gdbusdaemon.c:1345,1
    - Dst: name_owner_new
      Src: /src/glib/gio/gdbusdaemon.c:1329,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 4
    argNames:
    - object
    - invocation
    - arg_name
    - flags
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1347
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1347
    functionName: handle_request_name
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - name_queue_owner
    - name_unqueue_owner
    - G_DBUS_DAEMON
    - name_owner_new
    - g_object_get_data
    - name_unref
    - g_dbus_method_invocation_get_connection
    - name_replace_owner
    - _g_freedesktop_dbus_complete_request_name
    - g_dbus_is_name
    - strcmp
    - g_dbus_method_invocation_return_error
    - 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:1414,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1415,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusdaemon.c:1429,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1417,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1422,1
    - Dst: return_error
      Src: /src/glib/gio/gdbusdaemon.c:1430,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusdaemon.c:1438,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusdaemon.c:1440,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusdaemon.c:1441,1
    - Dst: broadcast_message
      Src: /src/glib/gio/gdbusdaemon.c:1446,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1449,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:1451,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 2
    argNames:
    - source_client
    - message
    argTypes:
    - Client*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1456
    functionName: route_message
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_message_type
    - return_error
    - broadcast_message
    - g_dbus_connection_send_message
    - g_dbus_message_get_destination
    - g_error_free
    - g_object_unref
    - g_warning
    - name_lookup
    - strcmp
    - g_hash_table_lookup
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *route_message (Client *source_client, GDBusMessage
      *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusdaemon.c:1587,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/gdbusdaemon.c:1589,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusdaemon.c:1588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - GDBusDaemon*
    constantsTouched: []
    func_position:
      end: 1590
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1590
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1597,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/gdbusdaemon.c:1615,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/gdbusdaemon.c:1604,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusdaemon.c:1610,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusdaemon.c:1605,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/gdbusdaemon.c:1625,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusdaemon.c:1627,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusdaemon.c:1628,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1632
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1632
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_dbus_server_new_sync
    - g_signal_connect
    - G_DBUS_DAEMON
    - g_dir_make_tmp
    - g_strdup_printf
    - g_dbus_server_start
    - G_CALLBACK
    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:1660,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusdaemon.c:1665,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusdaemon.c:1669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1671
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1671
    functionName: g_dbus_daemon_get_property
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:417,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:418,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:432,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:424,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:425,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 438
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 438
    functionName: check_socket
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_socket (GSocket *socket,\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3103,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3103,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3105,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:3111,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:3108,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocket.c:3113,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3113,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:3119,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:3119,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:3120,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:3123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 3133
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3133
    functionName: g_socket_check_connect_result
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - _
    - g_set_error_literal
    - check_socket
    - socket_strerror
    - g_object_unref
    - check_timeout
    - g_prefix_error
    - g_socket_get_option
    - g_return_val_if_fail
    - socket_io_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_check_connect_result (GSocket *socket,\t\t\t GError
      **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_condition_watch
      Src: /src/glib/gio/gsocket.c:4090,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:4093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 4094
      start: 4081
    functionDepth: 0
    functionLinenumber: 4081
    functionLinenumberEnd: 4094
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_message_with_timeout
      Src: /src/glib/gio/gsocket.c:6021,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: 6026
      start: 6010
    functionDepth: 0
    functionLinenumber: 6010
    functionLinenumberEnd: 6026
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:447,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 453
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 453
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4009,1
    - Dst: g_source_remove_poll
      Src: /src/glib/gio/gsocket.c:4011,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4018,1
    - Dst: update_condition
      Src: /src/glib/gio/gsocket.c:4016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 4020
      start: 3999
    functionDepth: 0
    functionLinenumber: 3999
    functionLinenumberEnd: 4020
    functionName: socket_source_prepare
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_source_remove_poll
    - update_condition
    - g_socket_is_closed
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean socket_source_prepare (GSource *source, gint *timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gsocket.c:4107,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsocket.c:4111,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocket.c:4110,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsocket.c:4109,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gsocket.c:4112,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gsocket.c:4114,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:4116,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsocket.c:4117,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsocket.c:4118,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsocket.c:4119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - socket
    - condition
    - data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 4122
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4122
    functionName: socket_source_closure_callback
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_value_set_flags
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_get_boolean
    - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3743,1
    - Dst: closesocket
      Src: /src/glib/gio/gsocket.c:3754,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3743,1
    - Dst: close
      Src: /src/glib/gio/gsocket.c:3756,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3748,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3760,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:3765,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:3766,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3767,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:3768,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:3780,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 3785
      start: 3737
    functionDepth: 0
    functionLinenumber: 3737
    functionLinenumberEnd: 3785
    functionName: g_socket_close
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - closesocket
    - g_set_error
    - G_IS_SOCKET
    - _
    - check_socket
    - socket_strerror
    - g_object_unref
    - close
    - g_return_val_if_fail
    - get_socket_errno
    - socket_io_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_close (GSocket *socket,\t\tGError **error) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5747,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5750,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5806,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5819,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:5915,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5746,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:5746,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:5749,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5752,1
    - Dst: input_message_to_msghdr
      Src: /src/glib/gio/gsocket.c:5784,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:5833,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5828,1
    - Dst: recvmmsg
      Src: /src/glib/gio/gsocket.c:5810,1
    - Dst: MAX
      Src: /src/glib/gio/gsocket.c:5899,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gsocket.c:5906,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:5909,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5898,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5748,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:5754,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:5757,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:5760,1
    - Dst: recvmmsg
      Src: /src/glib/gio/gsocket.c:5801,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:5777,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5847,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5848,1
    - Dst: input_message_from_msghdr
      Src: /src/glib/gio/gsocket.c:5863,1
    - Dst: g_socket_receive_message_with_timeout
      Src: /src/glib/gio/gsocket.c:5884,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gsocket.c:5907,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: 5926
      start: 5735
    functionDepth: 0
    functionLinenumber: 5735
    functionLinenumberEnd: 5926
    functionName: g_socket_receive_messages_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - _
    - g_clear_error
    - g_propagate_error
    - g_return_val_if_fail
    - input_message_from_msghdr
    - socket_set_error_lazy
    - g_error_matches
    - check_timeout
    - G_IS_CANCELLABLE
    - g_get_monotonic_time
    - get_socket_errno
    - recvmmsg
    - input_message_to_msghdr
    - MAX
    - block_on_timeout
    - check_socket
    - g_newa
    - g_cancellable_set_error_if_cancelled
    - 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: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5462,1
    - Dst: WSARecvFrom
      Src: /src/glib/gio/gsocket.c:5591,1
    - Dst: WSARecv
      Src: /src/glib/gio/gsocket.c:5597,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gsocket.c:5587,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5546,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5603,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:5608,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:5625,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:5469,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5464,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5520,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5530,1
    - Dst: input_message_from_msghdr
      Src: /src/glib/gio/gsocket.c:5552,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5622,1
    - Dst: cache_recv_address
      Src: /src/glib/gio/gsocket.c:5632,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:5462,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:5472,1
    - Dst: input_message_to_msghdr
      Src: /src/glib/gio/gsocket.c:5513,1
    - Dst: recvmsg
      Src: /src/glib/gio/gsocket.c:5518,1
    - Dst: recvmsg
      Src: /src/glib/gio/gsocket.c:5524,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5622,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:5466,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:5570,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5539,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5546,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5614,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: 5647
      start: 5446
    functionDepth: 0
    functionLinenumber: 5446
    functionLinenumberEnd: 5647
    functionName: g_socket_receive_message_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - _
    - recvmsg
    - g_return_val_if_fail
    - input_message_from_msghdr
    - socket_set_error_lazy
    - check_timeout
    - g_get_monotonic_time
    - get_socket_errno
    - input_message_to_msghdr
    - win32_unset_event_mask
    - WSARecv
    - G_STATIC_ASSERT
    - block_on_timeout
    - cache_recv_address
    - check_socket
    - g_newa
    - g_cancellable_set_error_if_cancelled
    - WSARecvFrom
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3170,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3170,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gsocket.c:3181,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3172,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:3176,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gsocket.c:3181,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gsocket.c:3182,1
    - Dst: g_malloc
      Src: /src/glib/gio/gsocket.c:3182,1
    - Dst: recv
      Src: /src/glib/gio/gsocket.c:3187,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3190,1
    - Dst: ioctlsocket
      Src: /src/glib/gio/gsocket.c:3202,1
    - Dst: ioctl
      Src: /src/glib/gio/gsocket.c:3204,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 3211
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3211
    functionName: g_socket_get_available_bytes
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - G_UNLIKELY
    - g_once_init_enter
    - check_socket
    - ioctl
    - recv
    - ioctlsocket
    - g_once_init_leave
    - g_socket_get_option
    - g_return_val_if_fail
    - g_malloc
    - get_socket_errno
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_socket_get_available_bytes (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDatagramBasedInterface*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1131
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_with_timeout
      Src: /src/glib/gio/gsocket.c:3359,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: 3362
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3362
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_instance_private
      Src: /src/glib/gio/gsocket.c:1136,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gsocket.c:1144,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gsocket.c:1145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1147
    functionName: g_socket_init
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_instance_private
    - g_mutex_init
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_init (GSocket *socket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:5725,1
    - Dst: g_socket_receive_messages_with_timeout
      Src: /src/glib/gio/gsocket.c:5729,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:5726,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: 5733
      start: 5717
    functionDepth: 0
    functionLinenumber: 5717
    functionLinenumberEnd: 5733
    functionName: g_socket_receive_messages
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_receive_messages_with_timeout
    - check_socket
    - check_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_io_error_from_win32_error
      Src: /src/glib/gio/gsocket.c:297,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: socket_io_error_from_errno
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_io_error_from_win32_error
    - g_io_error_from_errno
    linkageType: ''
    returnType: GIOErrorEnum
    signature: 'static GIOErrorEnum socket_io_error_from_errno (int err) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1156,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:1162,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:1163,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1156,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1158,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gsocket.c:1172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1178
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1178
    functionName: g_socket_initable_init
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - _
    - G_SOCKET
    - g_error_copy
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_socket_initable_init (GInitable *initable,\t\t\tGCancellable
      *cancellable,\t\t\tGError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1837,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1841,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1846,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1837,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:1850,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1854,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1860
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1860
    functionName: g_socket_get_multicast_ttl
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_error_free
    - g_warning
    - g_socket_get_option
    - g_return_val_if_fail
    - g_return_val_if_reached
    linkageType: ''
    returnType: guint
    signature: 'guint g_socket_get_multicast_ttl (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gsocket.c:3432,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: 3438
      start: 3419
    functionDepth: 0
    functionLinenumber: 3419
    functionLinenumberEnd: 3438
    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: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4963,1
    - Dst: WSASendTo
      Src: /src/glib/gio/gsocket.c:5097,1
    - Dst: WSASend
      Src: /src/glib/gio/gsocket.c:5103,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5131,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5131,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:5078,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5046,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:5018,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5110,1
    - Dst: g_socket_address_get_native_size
      Src: /src/glib/gio/gsocket.c:5089,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4956,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:4957,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:4956,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4960,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:4971,1
    - Dst: output_message_to_msghdr
      Src: /src/glib/gio/gsocket.c:5014,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:4968,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:4965,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5027,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5046,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:5117,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4957,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4958,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4959,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:4960,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4961,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5036,1
    - Dst: sendmsg
      Src: /src/glib/gio/gsocket.c:5024,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:5072,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5073,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:5090,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5121,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: 5142
      start: 4936
    functionDepth: 0
    functionLinenumber: 4936
    functionLinenumberEnd: 5142
    functionName: g_socket_send_message_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - _
    - WSASend
    - g_propagate_error
    - output_message_to_msghdr
    - g_return_val_if_fail
    - socket_set_error_lazy
    - check_timeout
    - sendmsg
    - G_IS_CANCELLABLE
    - g_get_monotonic_time
    - g_set_error_literal
    - get_socket_errno
    - WSASendTo
    - g_socket_address_to_native
    - G_IS_SOCKET_ADDRESS
    - win32_unset_event_mask
    - block_on_timeout
    - check_socket
    - g_newa
    - g_socket_address_get_native_size
    - g_cancellable_set_error_if_cancelled
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:6259,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:6263,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:6270,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:6259,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6268,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:6272,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:6274,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:6275,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: 6292
      start: 6250
    functionDepth: 0
    functionLinenumber: 6250
    functionLinenumberEnd: 6292
    functionName: g_socket_get_option
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - getsockopt
    - check_socket
    - socket_strerror
    - g_set_error_literal
    - g_return_val_if_fail
    - get_socket_errno
    - socket_io_error_from_errno
    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_strerror
      Src: /src/glib/gio/gsocket.c:307,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:315,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gsocket.c:312,1
    - Dst: g_intern_string
      Src: /src/glib/gio/gsocket.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: socket_strerror
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_win32_error_message
    - g_free
    - g_intern_string
    linkageType: ''
    returnType: char*
    signature: 'static const char *socket_strerror (int err) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/gsocket.c:1184,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:1188,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1184,1
    - Dst: g_socket_get_timeout
      Src: /src/glib/gio/gsocket.c:1203,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:1189,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1203,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:1205,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:1206,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - GDatagramBased*
    - GError**
    constantsTouched: []
    func_position:
      end: 1212
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1212
    functionName: check_datagram_based
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - G_SOCKET
    - g_socket_get_timeout
    - g_socket_get_socket_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_datagram_based (GDatagramBased *self, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1791,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1804,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1797,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1802,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1791,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gsocket.c:1808,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1812,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1813,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1817,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - socket
    - loopback
    argTypes:
    - GSocket*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1818
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1818
    functionName: g_socket_set_multicast_loopback
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SOCKET
    - g_error_free
    - g_warning
    - g_object_notify
    - g_return_if_reached
    - g_socket_set_option
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_multicast_loopback (GSocket *socket,\t\t\t\t gboolean
      loopback) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_with_timeout
      Src: /src/glib/gio/gsocket.c:3391,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: 3393
      start: 3383
    functionDepth: 0
    functionLinenumber: 3383
    functionLinenumberEnd: 3393
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:4850,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4852,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:4866,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4867,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4851,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4868,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:4879,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4880,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4881,1
    - Dst: g_socket_send_message_with_timeout
      Src: /src/glib/gio/gsocket.c:4885,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:4897,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4899,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4897,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:4899,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:4892,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: 4904
      start: 4828
    functionDepth: 0
    functionLinenumber: 4828
    functionLinenumberEnd: 4904
    functionName: g_socket_send_message
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_socket_send_message_with_timeout
    - _
    - g_assert
    - 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: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:6065,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6086,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6087,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6097,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6115,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:6125,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6161,1
    - Dst: WSAIoctl
      Src: /src/glib/gio/gsocket.c:6183,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6190,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:6204,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:6207,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:6065,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:6068,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6109,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6110,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:6133,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocket.c:6132,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6173,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:6144,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6191,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:6202,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:6213,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:6216,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:6208,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:6066,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6080,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6154,1
    - Dst: _g_credentials_set_local_peerid
      Src: /src/glib/gio/gsocket.c:6120,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6160,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:6141,1
    - Dst: getpeerucred
      Src: /src/glib/gio/gsocket.c:6170,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6172,1
    - Dst: ucred_free
      Src: /src/glib/gio/gsocket.c:6176,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:6206,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 6220
      start: 6059
    functionDepth: 0
    functionLinenumber: 6059
    functionLinenumberEnd: 6220
    functionName: g_socket_get_credentials
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - WSAIoctl
    - G_IS_SOCKET
    - getsockopt
    - _
    - check_socket
    - _g_credentials_set_local_peerid
    - g_credentials_new
    - getpeerucred
    - socket_strerror
    - ucred_free
    - g_prefix_error
    - g_set_error_literal
    - g_return_val_if_fail
    - get_socket_errno
    - g_credentials_set_native
    - socket_io_error_from_errno
    linkageType: ''
    returnType: GCredentials*
    signature: 'GCredentials *g_socket_get_credentials (GSocket *socket, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/glib/gio/gsocket.c:630,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:644,1
    - Dst: socket
      Src: /src/glib/gio/gsocket.c:638,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:644,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:642,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:645,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:645,1
    - Dst: fcntl
      Src: /src/glib/gio/gsocket.c:657,1
    - Dst: fcntl
      Src: /src/glib/gio/gsocket.c:662,1
    - Dst: WSAIoctl
      Src: /src/glib/gio/gsocket.c:672,1
    - Dst: socket_set_nonblock
      Src: /src/glib/gio/gsocket.c:678,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - domain
    - type
    - protocol
    - error
    argTypes:
    - gint
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 681
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 681
    functionName: g_socket
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - socket
    - WSAIoctl
    - socket_set_nonblock
    - _
    - socket_strerror
    - fcntl
    - get_socket_errno
    - socket_io_error_from_errno
    linkageType: ''
    returnType: gint
    signature: 'gint g_socket (gint domain, gint type, gint protocol, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_send_with_blocking
      Src: /src/glib/gio/gsocket.c:3544,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: 3547
      start: 3537
    functionDepth: 0
    functionLinenumber: 3537
    functionLinenumberEnd: 3547
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2184,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:2189,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2184,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2186,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:2184,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:2216,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:2218,1
    - Dst: bind
      Src: /src/glib/gio/gsocket.c:2221,1
    - Dst: g_socket_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2222,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2224,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2229,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2230,1
    - Dst: address_to_string
      Src: /src/glib/gio/gsocket.c:2225,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2231,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2228,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2227,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - socket
    - address
    - reuse_address
    - error
    argTypes:
    - GSocket*
    - GSocketAddress*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 2236
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2236
    functionName: g_socket_bind
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_SOCKET
    - _
    - g_free
    - socket_io_error_from_errno
    - g_socket_address_to_native
    - check_socket
    - address_to_string
    - socket_strerror
    - g_socket_address_get_native_size
    - G_IS_SOCKET_ADDRESS
    - g_socket_set_option
    - g_return_val_if_fail
    - get_socket_errno
    - bind
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_bind (GSocket *socket,\t GSocketAddress *address,\t
      gboolean reuse_address,\t GError **error) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3458,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3458,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3462,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:3465,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:3460,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:3468,1
    - Dst: send
      Src: /src/glib/gio/gsocket.c:3473,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3475,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3487,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:3491,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3499,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:3499,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: 3506
      start: 3447
    functionDepth: 0
    functionLinenumber: 3447
    functionLinenumberEnd: 3506
    functionName: g_socket_send_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - block_on_timeout
    - G_IS_SOCKET
    - _
    - check_socket
    - socket_set_error_lazy
    - check_timeout
    - g_cancellable_set_error_if_cancelled
    - g_get_monotonic_time
    - win32_unset_event_mask
    - g_return_val_if_fail
    - get_socket_errno
    - send
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1512,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1518,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1518,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1513,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - socket
    - backlog
    argTypes:
    - GSocket*
    - gint
    constantsTouched: []
    func_position:
      end: 1520
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1520
    functionName: g_socket_set_listen_backlog
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SOCKET
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_listen_backlog (GSocket *socket,\t\t\t gint backlog) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:6327,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:6346,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:6327,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:6334,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:6331,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:6351,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:6353,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:6355,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:6356,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: 6361
      start: 6318
    functionDepth: 0
    functionLinenumber: 6318
    functionLinenumberEnd: 6361
    functionName: g_socket_set_option
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - check_socket
    - socket_strerror
    - setsockopt
    - g_set_error_literal
    - g_return_val_if_fail
    - get_socket_errno
    - socket_io_error_from_errno
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gsocket.c:370,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:376,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:372,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gsocket.c:375,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:374,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gsocket.c:382,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gsocket.c:384,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsocket.c:385,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:386,1
    - Dst: g_inet_socket_address_get_scope_id
      Src: /src/glib/gio/gsocket.c:390,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsocket.c:393,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gsocket.c:398,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gsocket.c:395,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsocket.c:405,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsocket.c:400,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsocket.c:408,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsocket.c:405,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gsocket.c:400,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 409
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 409
    functionName: address_to_string
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - G_IS_INET_SOCKET_ADDRESS
    - g_string_new
    - g_inet_address_to_string
    - g_string_append
    - g_inet_socket_address_get_address
    - g_free
    - g_string_append_printf
    - g_string_append_c
    - g_inet_socket_address_get_port
    - g_inet_socket_address_get_scope_id
    - G_OBJECT_TYPE_NAME
    - g_string_free
    - g_inet_address_get_family
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *address_to_string (GSocketAddress *address) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2364,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2364,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2368,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2406,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2402,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2405,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:2415,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2439,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2439,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2443,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2365,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2404,1
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:2419,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:2429,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gsocket.c:2371,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:2372,1
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:2380,1
    - Dst: if_nametoindex
      Src: /src/glib/gio/gsocket.c:2385,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:2412,1
    - Dst: g_htonl
      Src: /src/glib/gio/gsocket.c:2392,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2420,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2441,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2442,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/gsocket.c:2366,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2366,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2381,1
    - Dst: g_socket_w32_get_adapter_ipv4_addr
      Src: /src/glib/gio/gsocket.c:2390,1
    - Dst: g_htonl
      Src: /src/glib/gio/gsocket.c:2394,1
    - Dst: if_nametoindex
      Src: /src/glib/gio/gsocket.c:2423,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:2433,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2437,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 6
    argNames:
    - socket
    - group
    - source_specific
    - iface
    - join_group
    - error
    argTypes:
    - GSocket*
    - GInetAddress*
    - gboolean
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 2448
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2448
    functionName: g_socket_multicast_group_operation
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - G_IS_SOCKET
    - get_socket_errno
    - _
    - check_socket
    - if_nametoindex
    - g_inet_address_to_bytes
    - G_IS_INET_ADDRESS
    - socket_strerror
    - memset
    - setsockopt
    - g_htonl
    - g_return_val_if_fail
    - g_return_val_if_reached
    - g_inet_address_get_family
    - g_socket_w32_get_adapter_ipv4_addr
    - socket_io_error_from_errno
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsocket.c:707,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:712,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:719,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:713,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:713,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:720,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:720,1
    - Dst: g_socket
      Src: /src/glib/gio/gsocket.c:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - error
    argTypes:
    - GSocketFamily
    - GSocketType
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 725
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 725
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocket.c:845,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocket.c:841,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gsocket.c:861,1
    - Dst: g_socket_set_keepalive
      Src: /src/glib/gio/gsocket.c:865,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:877,1
    - Dst: g_socket_set_multicast_loopback
      Src: /src/glib/gio/gsocket.c:881,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:836,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:865,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/gsocket.c:869,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:881,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocket.c:889,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gsocket.c:853,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gsocket.c:857,1
    - Dst: g_socket_set_ttl
      Src: /src/glib/gio/gsocket.c:873,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gsocket.c:869,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gsocket.c:885,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocket.c:849,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:857,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocket.c:861,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gsocket.c:873,1
    - Dst: g_socket_set_broadcast
      Src: /src/glib/gio/gsocket.c:877,1
    - Dst: g_socket_set_multicast_ttl
      Src: /src/glib/gio/gsocket.c:885,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 891
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 891
    functionName: g_socket_set_property
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_value_get_int
    - G_SOCKET
    - g_socket_set_ttl
    - g_value_get_uint
    - g_value_get_enum
    - g_socket_set_listen_backlog
    - g_socket_set_multicast_loopback
    - g_socket_set_keepalive
    - g_socket_set_multicast_ttl
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_value_get_boolean
    - g_socket_set_broadcast
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3226,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:3235,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:3231,1
    - Dst: g_socket_condition_timed_wait
      Src: /src/glib/gio/gsocket.c:3244,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3237,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: 3246
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3246
    functionName: block_on_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - _
    - g_socket_condition_timed_wait
    - g_get_monotonic_time
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean block_on_timeout (GSocket *socket, GIOCondition condition,
      gint64 timeout_us, gint64 start_time, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - condition
    argTypes:
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 3835
      start: 3823
    functionDepth: 0
    functionLinenumber: 3823
    functionLinenumberEnd: 3835
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:896,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:906,1
    - Dst: g_socket_close
      Src: /src/glib/gio/gsocket.c:903,1
    - Dst: WSACloseEvent
      Src: /src/glib/gio/gsocket.c:911,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:899,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:915,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gsocket.c:916,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gsocket.c:917,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:924,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:925,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocket.c:929,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocket.c:930,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 931
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 931
    functionName: g_socket_finalize
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_free
    - G_SOCKET
    - g_assert
    - g_object_unref
    - g_clear_error
    - g_mutex_clear
    - WSACloseEvent
    - g_cond_clear
    - g_socket_close
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_finalize (GObject *object) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3259,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:3261,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:3266,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3259,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3263,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:3269,1
    - Dst: recv
      Src: /src/glib/gio/gsocket.c:3274,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3276,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3288,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:3292,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3300,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:3302,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3306,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3302,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: 3312
      start: 3248
    functionDepth: 0
    functionLinenumber: 3248
    functionLinenumberEnd: 3312
    functionName: g_socket_receive_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - block_on_timeout
    - G_IS_SOCKET
    - _
    - check_socket
    - socket_set_error_lazy
    - recv
    - check_timeout
    - g_cancellable_set_error_if_cancelled
    - g_get_monotonic_time
    - win32_unset_event_mask
    - g_return_val_if_fail
    - get_socket_errno
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSACreateEvent
      Src: /src/glib/gio/gsocket.c:3841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 3842
      start: 3837
    functionDepth: 0
    functionLinenumber: 3837
    functionLinenumberEnd: 3842
    functionName: ensure_event
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - WSACreateEvent
    linkageType: ''
    returnType: void
    signature: 'static void ensure_event (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:3981,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:3983,1
    - Dst: update_condition_unlocked
      Src: /src/glib/gio/gsocket.c:3982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 3985
      start: 3977
    functionDepth: 0
    functionLinenumber: 3977
    functionLinenumberEnd: 3985
    functionName: update_condition
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - update_condition_unlocked
    - g_mutex_lock
    linkageType: ''
    returnType: GIOCondition
    signature: 'static GIOCondition update_condition (GSocket *socket) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cache_recv_address
      Src: /src/glib/gio/gsocket.c:4707,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/glib/gio/gsocket.c:4719,1
    - Dst: CMSG_NXTHDR
      Src: /src/glib/gio/gsocket.c:4721,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:4718,1
    - Dst: g_socket_control_message_deserialize
      Src: /src/glib/gio/gsocket.c:4725,1
    - Dst: CMSG_DATA
      Src: /src/glib/gio/gsocket.c:4727,1
    - Dst: CMSG_DATA
      Src: /src/glib/gio/gsocket.c:4728,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gsocket.c:4735,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocket.c:4736,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocket.c:4751,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:4757,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsocket.c:4752,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 3
    argNames:
    - msg
    - message
    - socket
    argTypes:
    - struct msghdr*
    - GInputMessage*
    - GSocket*
    constantsTouched: []
    func_position:
      end: 4763
      start: 4697
    functionDepth: 0
    functionLinenumber: 4697
    functionLinenumberEnd: 4763
    functionName: input_message_from_msghdr
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - cache_recv_address
    - g_assert
    - g_ptr_array_free
    - g_socket_control_message_deserialize
    - CMSG_FIRSTHDR
    - CMSG_NXTHDR
    - g_ptr_array_new
    - CMSG_DATA
    - 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_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1536,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1539
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1539
    functionName: g_socket_get_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_socket_get_timeout (GSocket *socket) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3657,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3657,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3659,1
    - Dst: shutdown
      Src: /src/glib/gio/gsocket.c:3682,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3684,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:3685,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:3685,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3686,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:3686,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: 3696
      start: 3649
    functionDepth: 0
    functionLinenumber: 3649
    functionLinenumberEnd: 3696
    functionName: g_socket_shutdown
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_SOCKET
    - _
    - shutdown
    - check_socket
    - socket_strerror
    - g_return_val_if_fail
    - get_socket_errno
    - socket_io_error_from_errno
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:467,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:470,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:472,1
    - Dst: getsockname
      Src: /src/glib/gio/gsocket.c:496,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:498,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:514,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:516,1
    - Dst: getpeername
      Src: /src/glib/gio/gsocket.c:563,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:570,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:583,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:585,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:586,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:584,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 57
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 587
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 587
    functionName: g_socket_details_from_fd
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - getpeername
    - g_set_error
    - getsockname
    - _
    - socket_strerror
    - memset
    - g_socket_get_option
    - get_socket_errno
    - socket_io_error_from_errno
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_details_from_fd (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAGetLastError
      Src: /src/glib/gio/gsocket.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    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:603,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:605,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:613,1
    - Dst: ioctlsocket
      Src: /src/glib/gio/gsocket.c:611,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:606,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:614,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 617
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 617
    functionName: socket_set_nonblock
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_unix_set_fd_nonblocking
    - socket_strerror
    - ioctlsocket
    - g_warning
    - g_clear_error
    - get_socket_errno
    linkageType: ''
    returnType: void
    signature: 'static void socket_set_nonblock (int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1715,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1719,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1715,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1722,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1723,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1727,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - socket
    - broadcast
    argTypes:
    - GSocket*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1728
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1728
    functionName: g_socket_set_broadcast
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SOCKET
    - g_error_free
    - g_warning
    - g_object_notify
    - g_socket_set_option
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_broadcast (GSocket *socket, \t gboolean broadcast) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_multicast_group_operation
      Src: /src/glib/gio/gsocket.c:2484,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: 2485
      start: 2477
    functionDepth: 0
    functionLinenumber: 2477
    functionLinenumberEnd: 2485
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/glib/gio/gsocket.c:2266,1
    - Dst: mbstowcs
      Src: /src/glib/gio/gsocket.c:2285,1
    - Dst: if_nametoindex
      Src: /src/glib/gio/gsocket.c:2274,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/gsocket.c:2283,1
    - Dst: strlen
      Src: /src/glib/gio/gsocket.c:2279,1
    - Dst: g_try_realloc
      Src: /src/glib/gio/gsocket.c:2298,1
    - Dst: GetAdaptersAddresses
      Src: /src/glib/gio/gsocket.c:2300,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2309,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2310,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gsocket.c:2323,1
    - Dst: stricmp
      Src: /src/glib/gio/gsocket.c:2328,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2346,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2347,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - name_or_ip
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2350
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2350
    functionName: g_socket_w32_get_adapter_ipv4_addr
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - inet_pton
    - strlen
    - stricmp
    - g_free
    - GetAdaptersAddresses
    - mbstowcs
    - if_nametoindex
    - g_try_realloc
    - g_try_malloc
    - _wcsicmp
    linkageType: ''
    returnType: gulong
    signature: 'static gulong g_socket_w32_get_adapter_ipv4_addr (const gchar *name_or_ip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:730,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:751,1
    - Dst: g_socket_create_socket
      Src: /src/glib/gio/gsocket.c:741,1
    - Dst: g_socket_details_from_fd
      Src: /src/glib/gio/gsocket.c:735,1
    - Dst: socket_set_nonblock
      Src: /src/glib/gio/gsocket.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 754
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 754
    functionName: g_socket_constructed
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_details_from_fd
    - socket_set_nonblock
    - G_SOCKET
    - g_socket_create_socket
    - g_socket_set_option
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1315,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gsocket.c:1315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - error
    argTypes:
    - GSocketFamily
    - GSocketType
    - GSocketProtocol
    - GError**
    constantsTouched: []
    func_position:
      end: 1321
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1321
    functionName: g_socket_new
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_initable_new
    - G_SOCKET
    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:2007,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2007,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2011,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2012,1
    - Dst: getsockname
      Src: /src/glib/gio/gsocket.c:2009,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2012,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2013,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2013,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/gsocket.c:2017,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 2018
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2018
    functionName: g_socket_get_local_address
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_SOCKET
    - getsockname
    - _
    - socket_strerror
    - g_return_val_if_fail
    - get_socket_errno
    - g_socket_address_new_from_native
    - socket_io_error_from_errno
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_socket_get_local_address (GSocket *socket,\t\t\t
      GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 3801
      start: 3797
    functionDepth: 0
    functionLinenumber: 3797
    functionLinenumberEnd: 3801
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocket.c:768,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/gsocket.c:796,1
    - Dst: g_value_take_object
      Src: /src/glib/gio/gsocket.c:797,1
    - Dst: g_socket_get_broadcast
      Src: /src/glib/gio/gsocket.c:814,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocket.c:818,1
    - Dst: g_socket_get_remote_address
      Src: /src/glib/gio/gsocket.c:801,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:762,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocket.c:776,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocket.c:784,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocket.c:792,1
    - Dst: g_socket_get_multicast_loopback
      Src: /src/glib/gio/gsocket.c:818,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsocket.c:806,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsocket.c:822,1
    - Dst: g_value_take_object
      Src: /src/glib/gio/gsocket.c:802,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsocket.c:810,1
    - Dst: g_socket_get_multicast_ttl
      Src: /src/glib/gio/gsocket.c:822,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gsocket.c:780,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocket.c:772,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gsocket.c:788,1
    - Dst: g_socket_get_ttl
      Src: /src/glib/gio/gsocket.c:810,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocket.c:814,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocket.c:826,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 26
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 828
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 828
    functionName: g_socket_get_property
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_local_address
    - g_socket_get_broadcast
    - G_SOCKET
    - g_socket_get_multicast_loopback
    - g_socket_get_remote_address
    - g_value_take_object
    - g_value_set_uint
    - g_value_set_enum
    - g_socket_get_ttl
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_socket_get_multicast_ttl
    - g_value_set_boolean
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_datagram_based
      Src: /src/glib/gio/gsocket.c:1276,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1279,1
    - Dst: g_socket_condition_timed_wait
      Src: /src/glib/gio/gsocket.c:1279,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: 1281
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1281
    functionName: g_socket_datagram_based_condition_wait
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_SOCKET
    - check_datagram_based
    - g_socket_condition_timed_wait
    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:1748,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:1761,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1752,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1757,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1748,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1765,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1771
    functionName: g_socket_get_multicast_loopback
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_error_free
    - g_warning
    - g_socket_get_option
    - g_return_val_if_fail
    - g_return_val_if_reached
    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:1978,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1981
    functionName: g_socket_get_fd
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: 'int g_socket_get_fd (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_multicast_group_operation
      Src: /src/glib/gio/gsocket.c:2516,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: 2517
      start: 2509
    functionDepth: 0
    functionLinenumber: 2509
    functionLinenumberEnd: 2517
    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\tGInetAddress
      *group, gboolean source_specific, const gchar *iface,\t\t\t\tGError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1640,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1640,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1649,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1651,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1644,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gsocket.c:1655,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1659,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1660,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1664,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - socket
    - ttl
    argTypes:
    - GSocket*
    - guint
    constantsTouched: []
    func_position:
      end: 1665
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1665
    functionName: g_socket_set_ttl
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SOCKET
    - g_error_free
    - g_warning
    - g_object_notify
    - g_return_if_reached
    - g_socket_set_option
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_socket_set_ttl (GSocket *socket, guint ttl) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2879,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2936,1
    - Dst: WSAEventSelect
      Src: /src/glib/gio/gsocket.c:2948,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/gsocket.c:2967,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2912,1
    - Dst: fcntl
      Src: /src/glib/gio/gsocket.c:2957,1
    - Dst: close
      Src: /src/glib/gio/gsocket.c:2973,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2881,1
    - Dst: accept4
      Src: /src/glib/gio/gsocket.c:2894,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:2884,1
    - Dst: accept
      Src: /src/glib/gio/gsocket.c:2908,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:2924,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:2942,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:2936,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2879,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:2905,1
    - Dst: g_socket_condition_wait
      Src: /src/glib/gio/gsocket.c:2928,1
    - Dst: closesocket
      Src: /src/glib/gio/gsocket.c:2971,1
    - Dst: fcntl
      Src: /src/glib/gio/gsocket.c:2962,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 3
    argNames:
    - socket
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2980
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2980
    functionName: g_socket_accept
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - closesocket
    - G_IS_SOCKET
    - _
    - g_assert
    - check_socket
    - accept
    - socket_set_error_lazy
    - g_socket_new_from_fd
    - check_timeout
    - close
    - accept4
    - fcntl
    - WSAEventSelect
    - win32_unset_event_mask
    - g_return_val_if_fail
    - get_socket_errno
    - g_socket_condition_wait
    linkageType: ''
    returnType: GSocket*
    signature: "GSocket *g_socket_accept (GSocket *socket,\t\t GCancellable *cancellable,\t\t
      GError **error) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4377,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:4377,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gsocket.c:4411,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:4425,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:4460,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:4457,1
    - Dst: remove_condition_watch
      Src: /src/glib/gio/gsocket.c:4485,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gsocket.c:4521,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4526,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4514,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:4417,1
    - Dst: g_cond_wait_until
      Src: /src/glib/gio/gsocket.c:4438,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4461,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gsocket.c:4432,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:4467,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4468,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:4472,1
    - Dst: update_condition_unlocked
      Src: /src/glib/gio/gsocket.c:4475,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4479,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gsocket.c:4501,1
    - Dst: g_poll
      Src: /src/glib/gio/gsocket.c:4507,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:4525,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4393,1
    - Dst: update_condition_unlocked
      Src: /src/glib/gio/gsocket.c:4418,1
    - Dst: WSAWaitForMultipleEvents
      Src: /src/glib/gio/gsocket.c:4427,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:4429,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gsocket.c:4487,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:4379,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:4382,1
    - Dst: add_condition_watch
      Src: /src/glib/gio/gsocket.c:4406,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gsocket.c:4450,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:4459,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:4462,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:4484,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:4530,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: 4533
      start: 4367
    functionDepth: 0
    functionLinenumber: 4367
    functionLinenumberEnd: 4533
    functionName: g_socket_condition_timed_wait
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - _
    - g_cancellable_make_pollfd
    - update_condition_unlocked
    - g_return_val_if_fail
    - g_cond_wait_until
    - remove_condition_watch
    - g_cond_wait
    - g_get_monotonic_time
    - add_condition_watch
    - g_cancellable_release_fd
    - g_set_error_literal
    - get_socket_errno
    - WSAWaitForMultipleEvents
    - socket_strerror
    - socket_io_error_from_errno
    - g_set_error
    - check_socket
    - g_cancellable_set_error_if_cancelled
    - g_mutex_unlock
    - g_cond_broadcast
    - g_poll
    - g_mutex_lock
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 3810
      start: 3804
    functionDepth: 0
    functionLinenumber: 3804
    functionLinenumberEnd: 3810
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4332,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:4332,1
    - Dst: g_socket_condition_timed_wait
      Src: /src/glib/gio/gsocket.c:4334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - socket
    - condition
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GIOCondition
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4336
      start: 4326
    functionDepth: 0
    functionLinenumber: 4326
    functionLinenumberEnd: 4336
    functionName: g_socket_condition_wait
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    - g_socket_condition_timed_wait
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocket.c:936,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:956,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:958,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocket.c:957,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:959,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:966,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocket.c:967,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:988,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:989,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:997,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1066,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocket.c:1024,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1111,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:986,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1000,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1015,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1031,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1046,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1081,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1096,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1033,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1063,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1078,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gsocket.c:1109,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocket.c:1032,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1023,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1025,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1008,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:968,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:969,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocket.c:977,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:976,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:979,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:978,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:999,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1005,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gsocket.c:1006,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1007,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1049,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocket.c:998,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1080,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gsocket.c:1047,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1093,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1095,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1026,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1108,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1017,1
    - Dst: signal
      Src: /src/glib/gio/gsocket.c:948,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocket.c:1064,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1065,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1048,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gsocket.c:1079,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1110,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocket.c:1094,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gsocket.c:987,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocket.c:1016,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1018,1
    - Dst: P_
      Src: /src/glib/gio/gsocket.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 83
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketClass*
    constantsTouched: []
    func_position:
      end: 1115
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 1115
    functionName: g_socket_class_init
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - signal
    - g_param_spec_int
    - g_param_spec_object
    - g_param_spec_boolean
    - g_param_spec_uint
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_class_init (GSocketClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2115,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2122,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2115,1
    - Dst: listen
      Src: /src/glib/gio/gsocket.c:2120,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2117,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2124,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2124,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2125,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 2132
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2132
    functionName: g_socket_listen
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_SOCKET
    - _
    - listen
    - check_socket
    - socket_strerror
    - g_return_val_if_fail
    - get_socket_errno
    - socket_io_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_listen (GSocket *socket,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:3897,1
    - Dst: g_list_find
      Src: /src/glib/gio/gsocket.c:3898,1
    - Dst: update_select_events
      Src: /src/glib/gio/gsocket.c:3903,1
    - Dst: g_list_remove
      Src: /src/glib/gio/gsocket.c:3901,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:3898,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:3904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - socket
    - condition
    argTypes:
    - GSocket*
    - GIOCondition*
    constantsTouched: []
    func_position:
      end: 3905
      start: 3893
    functionDepth: 0
    functionLinenumber: 3893
    functionLinenumberEnd: 3905
    functionName: remove_condition_watch
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_mutex_lock
    - g_mutex_unlock
    - update_select_events
    - g_list_remove
    - g_list_find
    linkageType: ''
    returnType: void
    signature: "static void remove_condition_watch (GSocket *socket,\t\t\tGIOCondition
      *condition) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4271,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:4271,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:4273,1
    - Dst: update_condition
      Src: /src/glib/gio/gsocket.c:4283,1
    - Dst: add_condition_watch
      Src: /src/glib/gio/gsocket.c:4282,1
    - Dst: remove_condition_watch
      Src: /src/glib/gio/gsocket.c:4284,1
    - Dst: g_poll
      Src: /src/glib/gio/gsocket.c:4296,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:4297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - socket
    - condition
    argTypes:
    - GSocket*
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 4302
      start: 4267
    functionDepth: 0
    functionLinenumber: 4267
    functionLinenumberEnd: 4302
    functionName: g_socket_condition_check
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - remove_condition_watch
    - G_IS_SOCKET
    - g_poll
    - check_socket
    - update_condition
    - add_condition_watch
    - g_return_val_if_fail
    - get_socket_errno
    linkageType: ''
    returnType: GIOCondition
    signature: "GIOCondition g_socket_condition_check (GSocket *socket,\t\t\t GIOCondition
      condition) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:344,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - socket
    - mask
    argTypes:
    - GSocket*
    - int
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1121
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: WSAEnumNetworkEvents
      Src: /src/glib/gio/gsocket.c:3914,1
    - Dst: recv
      Src: /src/glib/gio/gsocket.c:3935,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3937,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 3975
      start: 3907
    functionDepth: 0
    functionLinenumber: 3907
    functionLinenumberEnd: 3975
    functionName: update_condition_unlocked
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - get_socket_errno
    - recv
    - WSAEnumNetworkEvents
    linkageType: ''
    returnType: GIOCondition
    signature: 'static GIOCondition update_condition_unlocked (GSocket *socket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1685,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1690,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1685,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1691,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1696
    functionName: g_socket_get_broadcast
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_error_free
    - g_warning
    - g_socket_get_option
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_get_broadcast (GSocket *socket) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3021,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3023,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:3026,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3021,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:3021,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:3030,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:3031,1
    - Dst: connect
      Src: /src/glib/gio/gsocket.c:3035,1
    - Dst: g_socket_address_get_native_size
      Src: /src/glib/gio/gsocket.c:3036,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3038,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3049,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3062,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3076,1
    - Dst: g_socket_condition_wait
      Src: /src/glib/gio/gsocket.c:3053,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:3061,1
    - Dst: g_socket_check_connect_result
      Src: /src/glib/gio/gsocket.c:3055,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 4
    argNames:
    - socket
    - address
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GSocketAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3082
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3082
    functionName: g_socket_connect
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_object_ref
    - _
    - g_socket_address_to_native
    - check_socket
    - g_socket_check_connect_result
    - g_object_unref
    - g_socket_address_get_native_size
    - G_IS_SOCKET_ADDRESS
    - win32_unset_event_mask
    - connect
    - g_set_error_literal
    - g_return_val_if_fail
    - get_socket_errno
    - g_socket_condition_wait
    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: socket_source_prepare
      Src: /src/glib/gio/gsocket.c:4028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 4029
      start: 4023
    functionDepth: 0
    functionLinenumber: 4023
    functionLinenumberEnd: 4029
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4235,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:4235,1
    - Dst: socket_source_new
      Src: /src/glib/gio/gsocket.c:4237,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:4235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - socket
    - condition
    - cancellable
    argTypes:
    - GSocket*
    - GIOCondition
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 4238
      start: 4230
    functionDepth: 0
    functionLinenumber: 4230
    functionLinenumberEnd: 4238
    functionName: g_socket_create_source
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_CANCELLABLE
    - G_IS_SOCKET
    - g_return_val_if_fail
    - socket_source_new
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_socket_create_source (GSocket *socket,\t\t\tGIOCondition
      condition,\t\t\tGCancellable *cancellable) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1378,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1378,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1386,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - socket
    - blocking
    argTypes:
    - GSocket*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1387
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1387
    functionName: g_socket_set_blocking
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SOCKET
    - g_object_notify
    - 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:1469,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1472
    functionName: g_socket_get_keepalive
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    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:1573,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1578,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1578,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - socket
    - timeout
    argTypes:
    - GSocket*
    - guint
    constantsTouched: []
    func_position:
      end: 1580
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1580
    functionName: g_socket_set_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SOCKET
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_timeout (GSocket *socket,\t\t guint timeout) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ensure_event
      Src: /src/glib/gio/gsocket.c:3855,1
    - Dst: network_events_for_condition
      Src: /src/glib/gio/gsocket.c:3861,1
    - Dst: WSAEventSelect
      Src: /src/glib/gio/gsocket.c:3874,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 3877
      start: 3844
    functionDepth: 0
    functionLinenumber: 3844
    functionLinenumberEnd: 3877
    functionName: update_select_events
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - ensure_event
    - WSAEventSelect
    - network_events_for_condition
    linkageType: ''
    returnType: void
    signature: 'static void update_select_events (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:3883,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:3884,1
    - Dst: g_list_find
      Src: /src/glib/gio/gsocket.c:3884,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gsocket.c:3887,1
    - Dst: update_select_events
      Src: /src/glib/gio/gsocket.c:3889,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:3890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - socket
    - condition
    argTypes:
    - GSocket*
    - GIOCondition*
    constantsTouched: []
    func_position:
      end: 3891
      start: 3879
    functionDepth: 0
    functionLinenumber: 3879
    functionLinenumberEnd: 3891
    functionName: add_condition_watch
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_list_prepend
    - g_mutex_lock
    - g_mutex_unlock
    - update_select_events
    - g_list_find
    linkageType: ''
    returnType: void
    signature: "static void add_condition_watch (GSocket *socket,\t\t GIOCondition
      *condition) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ensure_event
      Src: /src/glib/gio/gsocket.c:4147,1
    - Dst: g_source_new
      Src: /src/glib/gio/gsocket.c:4164,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gsocket.c:4175,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4192,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:4156,1
    - Dst: g_source_new
      Src: /src/glib/gio/gsocket.c:4159,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gsocket.c:4165,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:4168,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gsocket.c:4177,1
    - Dst: g_source_add_poll
      Src: /src/glib/gio/gsocket.c:4186,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gsocket.c:4176,1
    - Dst: g_source_new
      Src: /src/glib/gio/gsocket.c:4152,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:4158,1
    - Dst: add_condition_watch
      Src: /src/glib/gio/gsocket.c:4182,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/gio/gsocket.c:4188,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocket.c:4178,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:4151,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gsocket.c:4192,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gsocket.c:4194,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - socket
    - condition
    - cancellable
    argTypes:
    - GSocket*
    - GIOCondition
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 4197
      start: 4138
    functionDepth: 0
    functionLinenumber: 4138
    functionLinenumberEnd: 4197
    functionName: socket_source_new
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_source_set_static_name
    - check_socket
    - ensure_event
    - g_warning
    - g_source_set_ready_time
    - g_source_add_poll
    - g_cancellable_source_new
    - g_source_add_child_source
    - g_source_unref
    - add_condition_watch
    - g_source_new
    - g_get_monotonic_time
    - g_source_add_unix_fd
    - g_source_set_dummy_callback
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *socket_source_new (GSocket *socket,\t\t GIOCondition
      condition,\t\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1351,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gsocket.c:1351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 1355
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1355
    functionName: g_socket_new_from_fd
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_initable_new
    - G_SOCKET
    linkageType: ''
    returnType: GSocket*
    signature: "GSocket *g_socket_new_from_fd (gint fd,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_send_messages_with_timeout
      Src: /src/glib/gio/gsocket.c:5204,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: 5208
      start: 5196
    functionDepth: 0
    functionLinenumber: 5196
    functionLinenumberEnd: 5208
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_multicast_group_operation_ssm
      Src: /src/glib/gio/gsocket.c:2764,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: 2766
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2766
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_datagram_based
      Src: /src/glib/gio/gsocket.c:1223,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1226,1
    - Dst: g_socket_receive_messages_with_timeout
      Src: /src/glib/gio/gsocket.c:1226,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: 1229
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1229
    functionName: g_socket_datagram_based_receive_messages
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_receive_messages_with_timeout
    - check_datagram_based
    - G_SOCKET
    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:1253,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gsocket.c:1256,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - self
    - condition
    - cancellable
    argTypes:
    - GDatagramBased*
    - GIOCondition
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1257
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1257
    functionName: g_socket_datagram_based_create_source
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - check_datagram_based
    - g_socket_create_source
    - G_SOCKET
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *g_socket_datagram_based_create_source (GDatagramBased
      *self, GIOCondition condition, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1403,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1406
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1406
    functionName: g_socket_get_blocking
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    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:1956,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1959
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1959
    functionName: g_socket_get_protocol
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSocketProtocol
    signature: 'GSocketProtocol g_socket_get_protocol (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_send_with_timeout
      Src: /src/glib/gio/gsocket.c:3576,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: 3578
      start: 3568
    functionDepth: 0
    functionLinenumber: 3568
    functionLinenumberEnd: 3578
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_datagram_based
      Src: /src/glib/gio/gsocket.c:1240,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1243,1
    - Dst: g_socket_send_messages_with_timeout
      Src: /src/glib/gio/gsocket.c:1243,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: 1246
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1246
    functionName: g_socket_datagram_based_send_messages
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_send_messages_with_timeout
    - check_datagram_based
    - G_SOCKET
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_datagram_based
      Src: /src/glib/gio/gsocket.c:1263,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1266,1
    - Dst: g_socket_condition_check
      Src: /src/glib/gio/gsocket.c:1266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - datagram_based
    - condition
    argTypes:
    - GDatagramBased*
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 1267
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1267
    functionName: g_socket_datagram_based_condition_check
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - check_datagram_based
    - g_socket_condition_check
    - G_SOCKET
    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:1488,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1491
    functionName: g_socket_get_listen_backlog
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    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:1599,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1608,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1603,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1599,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:1612,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1616,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1622
    functionName: g_socket_get_ttl
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_error_free
    - g_warning
    - g_socket_get_option
    - g_return_val_if_fail
    - g_return_val_if_reached
    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:1937,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1940
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1940
    functionName: g_socket_get_socket_type
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSocketType
    signature: 'GSocketType g_socket_get_socket_type (GSocket *socket) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_multicast_group_operation
      Src: /src/glib/gio/gsocket.c:2537,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2553,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2552,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2576,1
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:2582,1
    - Dst: g_socket_w32_get_adapter_ipv4_addr
      Src: /src/glib/gio/gsocket.c:2590,1
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:2597,1
    - Dst: g_strerror
      Src: /src/glib/gio/gsocket.c:2615,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:2624,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2624,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2628,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2644,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2668,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:2710,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2703,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocket.c:2676,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:2696,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2701,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2641,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2719,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2529,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2531,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2529,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2532,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2601,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2602,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2614,1
    - Dst: if_nametoindex
      Src: /src/glib/gio/gsocket.c:2663,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:2680,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:2689,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2717,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2645,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gsocket.c:2625,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2668,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2643,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2721,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2699,1
    - Dst: g_strerror
      Src: /src/glib/gio/gsocket.c:2669,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2530,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/gsocket.c:2531,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2533,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2541,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:2544,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2551,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2549,1
    - Dst: strlen
      Src: /src/glib/gio/gsocket.c:2595,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2614,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2615,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2715,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2669,1
    - Dst: S_ADDR_FIELD
      Src: /src/glib/gio/gsocket.c:2585,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:2635,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocket.c:2684,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:2571,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2574,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2577,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2578,1
    - Dst: g_htonl
      Src: /src/glib/gio/gsocket.c:2585,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2606,1
    - Dst: ioctl
      Src: /src/glib/gio/gsocket.c:2609,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2625,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2626,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:2628,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gsocket.c:2630,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2629,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:2677,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2702,1
    - Dst: S_ADDR_FIELD
      Src: /src/glib/gio/gsocket.c:2620,1
    - Dst: S_ADDR_FIELD
      Src: /src/glib/gio/gsocket.c:2590,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2717,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2720,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2631,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:2685,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 119
    argCount: 6
    argNames:
    - socket
    - group
    - source_specific
    - iface
    - join_group
    - error
    argTypes:
    - GSocket*
    - GInetAddress*
    - GInetAddress*
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 2726
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2726
    functionName: g_socket_multicast_group_operation_ssm
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - _
    - if_nametoindex
    - g_inet_address_to_bytes
    - g_inet_socket_address_new
    - g_return_val_if_fail
    - g_io_error_from_errno
    - strlen
    - g_socket_multicast_group_operation
    - g_strerror
    - ioctl
    - g_object_unref
    - memset
    - g_inet_address_get_native_size
    - get_socket_errno
    - g_inet_address_get_family
    - memcpy
    - g_socket_address_to_native
    - S_ADDR_FIELD
    - G_IS_INET_ADDRESS
    - socket_strerror
    - g_htonl
    - g_socket_w32_get_adapter_ipv4_addr
    - socket_io_error_from_errno
    - g_set_error
    - g_assert
    - check_socket
    - setsockopt
    - g_return_val_if_reached
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1919,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1922
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1922
    functionName: g_socket_get_family
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSocketFamily
    signature: 'GSocketFamily g_socket_get_family (GSocket *socket) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:2830,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 2844
      start: 2817
    functionDepth: 0
    functionLinenumber: 2817
    functionLinenumberEnd: 2844
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5221,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:5221,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5223,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:5228,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:5295,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5309,1
    - Dst: sendmmsg
      Src: /src/glib/gio/gsocket.c:5276,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5309,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5349,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5349,1
    - Dst: MAX
      Src: /src/glib/gio/gsocket.c:5365,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:5379,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5222,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:5223,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5224,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:5267,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5281,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5364,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5226,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:5231,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:5234,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:5251,1
    - Dst: output_message_to_msghdr
      Src: /src/glib/gio/gsocket.c:5261,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5290,1
    - Dst: g_socket_send_message_with_timeout
      Src: /src/glib/gio/gsocket.c:5337,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5351,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5351,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:5374,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: 5390
      start: 5210
    functionDepth: 0
    functionLinenumber: 5210
    functionLinenumberEnd: 5390
    functionName: g_socket_send_messages_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - _
    - g_clear_error
    - g_propagate_error
    - output_message_to_msghdr
    - g_return_val_if_fail
    - socket_set_error_lazy
    - check_timeout
    - G_IS_CANCELLABLE
    - g_get_monotonic_time
    - get_socket_errno
    - g_socket_send_message_with_timeout
    - g_error_free
    - MAX
    - block_on_timeout
    - check_socket
    - g_newa
    - sendmmsg
    - g_cancellable_set_error_if_cancelled
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/glib/gio/gsocket.c:5416,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:5434,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5419,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:5418,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/gsocket.c:5430,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:5435,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gsocket.c:5438,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:5440,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5441,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - socket
    - native
    - native_len
    argTypes:
    - GSocket*
    - struct sockaddr*
    - size_t
    constantsTouched: []
    func_position:
      end: 5444
      start: 5392
    functionDepth: 0
    functionLinenumber: 5392
    functionLinenumberEnd: 5444
    functionName: cache_recv_address
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_free
    - g_object_unref
    - g_memdup2
    - g_get_monotonic_time
    - memcmp
    - g_socket_address_new_from_native
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *cache_recv_address (GSocket *socket, struct
      sockaddr *native, size_t native_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1437,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1446,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1437,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1443,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1447,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1452,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - socket
    - keepalive
    argTypes:
    - GSocket*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1453
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1453
    functionName: g_socket_set_keepalive
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SOCKET
    - g_error_free
    - g_warning
    - g_object_notify
    - g_socket_set_option
    - g_return_if_fail
    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:1879,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1879,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1888,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1890,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1883,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gsocket.c:1894,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1898,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1899,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1903,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - socket
    - ttl
    argTypes:
    - GSocket*
    - guint
    constantsTouched: []
    func_position:
      end: 1904
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1904
    functionName: g_socket_set_multicast_ttl
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_SOCKET
    - g_error_free
    - g_warning
    - g_object_notify
    - g_return_if_reached
    - g_socket_set_option
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_socket_set_multicast_ttl (GSocket *socket, guint ttl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_multicast_group_operation_ssm
      Src: /src/glib/gio/gsocket.c:2795,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: 2797
      start: 2788
    functionDepth: 0
    functionLinenumber: 2788
    functionLinenumberEnd: 2797
    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_send_message
      Src: /src/glib/gio/gsocket.c:3614,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: 3621
      start: 3601
    functionDepth: 0
    functionLinenumber: 3601
    functionLinenumberEnd: 3621
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2088,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 2091
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2091
    functionName: g_socket_is_connected
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_is_connected (GSocket *socket) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_alloca
      Src: /src/glib/gio/gsocket.c:4647,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocket.c:4660,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocket.c:4663,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocket.c:4662,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocket.c:4659,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:4674,1
    - Dst: g_alloca
      Src: /src/glib/gio/gsocket.c:4692,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - message
    - msg
    argTypes:
    - message
    - msg
    constantsTouched: []
    func_position:
      end: 4697
      start: 4636
    functionDepth: 0
    functionLinenumber: 4636
    functionLinenumberEnd: 4697
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: update_condition
      Src: /src/glib/gio/gsocket.c:4048,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/gio/gsocket.c:4063,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4050,1
    - Dst: g_source_query_unix_fd
      Src: /src/glib/gio/gsocket.c:4059,1
    - Dst: g_source_remove_unix_fd
      Src: /src/glib/gio/gsocket.c:4053,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/gsocket.c:4064,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4065,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4073,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gsocket.c:4074,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4074,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gsocket.c:4076,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 4079
      start: 4032
    functionDepth: 0
    functionLinenumber: 4032
    functionLinenumberEnd: 4079
    functionName: socket_source_dispatch
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_source_get_ready_time
    - g_source_query_unix_fd
    - g_source_set_ready_time
    - update_condition
    - g_socket_is_closed
    - g_get_monotonic_time
    - g_source_remove_unix_fd
    - g_source_get_time
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean socket_source_dispatch (GSource *source,\t\t\tGSourceFunc
      callback,\t\t\tgpointer user_data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2043,1
    - Dst: g_socket_check_connect_result
      Src: /src/glib/gio/gsocket.c:2047,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2057,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2043,1
    - Dst: getpeername
      Src: /src/glib/gio/gsocket.c:2055,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2058,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2058,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2059,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2059,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/gsocket.c:2063,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:2066,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 2067
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2067
    functionName: g_socket_get_remote_address
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - getpeername
    - g_set_error
    - G_IS_SOCKET
    - g_object_ref
    - _
    - g_socket_check_connect_result
    - socket_strerror
    - g_return_val_if_fail
    - get_socket_errno
    - g_socket_address_new_from_native
    - socket_io_error_from_errno
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_socket_get_remote_address (GSocket *socket,\t\t\t
      GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:63,1
    - Dst: g_free
      Src: /src/glib/gio/gnativesocketaddress.c:66,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnativesocketaddress.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    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_OBJECT_CLASS
      Src: /src/glib/gio/gnativesocketaddress.c:121,1
    - Dst: G_SOCKET_ADDRESS_CLASS
      Src: /src/glib/gio/gnativesocketaddress.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GNativeSocketAddressClass*
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: g_native_socket_address_class_init
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_SOCKET_ADDRESS_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_native_socket_address_class_init (GNativeSocketAddressClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnativesocketaddress.c:88,1
    - Dst: G_IS_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:88,1
    - Dst: G_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnativesocketaddress.c:154,1
    - Dst: G_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:163,1
    - Dst: memcpy
      Src: /src/glib/gio/gnativesocketaddress.c:161,1
    - Dst: g_malloc
      Src: /src/glib/gio/gnativesocketaddress.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - native
    - len
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: g_native_socket_address_new
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_SOCKET_ADDRESS
    - g_malloc
    - g_object_new
    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:76,1
    - Dst: G_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:78,1
    - Dst: G_IS_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    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:103,1
    - Dst: G_IS_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:103,1
    - Dst: _
      Src: /src/glib/gio/gnativesocketaddress.c:110,1
    - Dst: G_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:105,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gnativesocketaddress.c:109,1
    - Dst: memcpy
      Src: /src/glib/gio/gnativesocketaddress.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - address
    - dest
    - destlen
    - error
    argTypes:
    - GSocketAddress*
    - gpointer
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: g_native_socket_address_to_native
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_IS_NATIVE_SOCKET_ADDRESS
    - _
    - G_NATIVE_SOCKET_ADDRESS
    - g_set_error_literal
    - g_return_val_if_fail
    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:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GNativeSocketAddress*
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:338,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:346,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:342,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gproxyaddressenumerator.c:340,1
    - Dst: _
      Src: /src/glib/gio/gproxyaddressenumerator.c:346,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gproxyaddressenumerator.c:348,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: 16
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: complete_async
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - _
    - g_error_matches
    - g_object_unref
    - g_clear_error
    - g_task_return_pointer
    - g_task_return_error
    - g_task_return_new_error
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void complete_async (GTask *task) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:135,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:147,1
    - Dst: g_proxy_supports_hostname
      Src: /src/glib/gio/gproxyaddressenumerator.c:146,1
    - Dst: g_proxy_get_default_for_protocol
      Src: /src/glib/gio/gproxyaddressenumerator.c:143,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gproxyaddressenumerator.c:136,1
    - Dst: strcmp
      Src: /src/glib/gio/gproxyaddressenumerator.c:150,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gproxyaddressenumerator.c:153,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/gproxyaddressenumerator.c:155,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gproxyaddressenumerator.c:163,1
    - Dst: g_warning
      Src: /src/glib/gio/gproxyaddressenumerator.c:170,1
    - Dst: save_userinfo
      Src: /src/glib/gio/gproxyaddressenumerator.c:175,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gproxyaddressenumerator.c:180,1
    - Dst: g_error_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:181,1
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/gproxyaddressenumerator.c:167,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - priv
    argTypes:
    - GProxyAddressEnumeratorPrivate*
    constantsTouched: []
    func_position:
      end: 184
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 184
    functionName: next_enumerator
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_network_address_new
    - g_object_ref
    - g_uri_parse_scheme
    - g_free
    - g_network_address_parse_uri
    - save_userinfo
    - GLIB_PRIVATE_CALL
    - g_error_free
    - g_object_unref
    - g_warning
    - g_proxy_get_default_for_protocol
    - strcmp
    - g_socket_connectable_enumerate
    - g_proxy_supports_hostname
    linkageType: ''
    returnType: void
    signature: 'static void next_enumerator (GProxyAddressEnumeratorPrivate *priv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:472,1
    - Dst: g_resolver_lookup_by_name_finish
      Src: /src/glib/gio/gproxyaddressenumerator.c:475,1
    - Dst: return_result
      Src: /src/glib/gio/gproxyaddressenumerator.c:479,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:474,1
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gproxyaddressenumerator.c:475,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:482,1
    - Dst: next_proxy
      Src: /src/glib/gio/gproxyaddressenumerator.c:483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: dest_hostname_lookup_cb
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_task_get_task_data
    - g_clear_object
    - next_proxy
    - G_RESOLVER
    - g_resolver_lookup_by_name_finish
    - g_clear_error
    - return_result
    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:527,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:529,1
    - Dst: g_proxy_resolver_lookup_finish
      Src: /src/glib/gio/gproxyaddressenumerator.c:530,1
    - Dst: G_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyaddressenumerator.c:530,1
    - Dst: complete_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:537,1
    - Dst: next_enumerator
      Src: /src/glib/gio/gproxyaddressenumerator.c:542,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:545,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gproxyaddressenumerator.c:546,1
    - Dst: complete_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:553,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 554
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 554
    functionName: proxy_lookup_cb
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - complete_async
    - g_clear_error
    - g_socket_address_enumerator_next_async
    - G_PROXY_RESOLVER
    - g_proxy_resolver_lookup_finish
    - next_enumerator
    - g_task_get_cancellable
    - g_task_get_task_data
    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:604,1
    - Dst: G_TASK
      Src: /src/glib/gio/gproxyaddressenumerator.c:606,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gproxyaddressenumerator.c:606,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gproxyaddressenumerator.c:604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: g_proxy_address_enumerator_next_finish
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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:642,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:646,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:654,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:658,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gproxyaddressenumerator.c:650,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gproxyaddressenumerator.c:662,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 664
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 664
    functionName: g_proxy_address_enumerator_get_property
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - GET_PRIVATE
    - g_value_set_uint
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:704,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:712,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:710,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:713,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:707,1
    - Dst: g_resolver_free_addresses
      Src: /src/glib/gio/gproxyaddressenumerator.c:716,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gproxyaddressenumerator.c:718,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:721,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:723,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:724,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:727,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:725,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyaddressenumerator.c:729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 730
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 730
    functionName: g_proxy_address_enumerator_finalize
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_resolver_free_addresses
    - g_free
    - GET_PRIVATE
    - g_object_unref
    - g_clear_error
    - g_strfreev
    - G_OBJECT_CLASS
    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:115,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/gio/gproxyaddressenumerator.c:118,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gproxyaddressenumerator.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - proxy
    argTypes:
    - GProxyAddressEnumeratorPrivate*
    - gchar*
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gproxyaddressenumerator.c:197,1
    - Dst: g_resolver_lookup_by_name
      Src: /src/glib/gio/gproxyaddressenumerator.c:262,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gproxyaddressenumerator.c:328,1
    - Dst: _
      Src: /src/glib/gio/gproxyaddressenumerator.c:328,1
    - Dst: g_error_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:325,1
    - Dst: GET_PRIVATE
      Src: /src/glib/gio/gproxyaddressenumerator.c:191,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gproxyaddressenumerator.c:226,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/gproxyaddressenumerator.c:198,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:234,1
    - Dst: g_resolver_free_addresses
      Src: /src/glib/gio/gproxyaddressenumerator.c:239,1
    - Dst: strcmp
      Src: /src/glib/gio/gproxyaddressenumerator.c:246,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gproxyaddressenumerator.c:261,1
    - Dst: g_list_next
      Src: /src/glib/gio/gproxyaddressenumerator.c:282,1
    - Dst: g_strdup
      Src: /src/glib/gio/gproxyaddressenumerator.c:286,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gproxyaddressenumerator.c:288,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:290,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxyaddressenumerator.c:295,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:295,1
    - Dst: g_object_new
      Src: /src/glib/gio/gproxyaddressenumerator.c:301,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:313,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:323,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:293,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gproxyaddressenumerator.c:322,1
    - Dst: next_enumerator
      Src: /src/glib/gio/gproxyaddressenumerator.c:219,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:270,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:266,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:280,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:292,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:279,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:297,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gproxyaddressenumerator.c:298,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gproxyaddressenumerator.c:299,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:317,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:312,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 100
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 333
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 333
    functionName: g_proxy_address_enumerator_next
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - _
    - g_object_new
    - g_list_next
    - g_propagate_error
    - g_return_val_if_fail
    - G_INET_SOCKET_ADDRESS
    - g_resolver_free_addresses
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_socket_address_get_address
    - GET_PRIVATE
    - g_error_matches
    - g_resolver_get_default
    - g_object_unref
    - g_inet_socket_address_get_port
    - strcmp
    - g_proxy_resolver_lookup
    - g_set_error_literal
    - next_enumerator
    - G_INET_ADDRESS
    - g_inet_address_to_string
    - g_socket_address_enumerator_next
    - g_error_free
    - g_strdup
    - g_uri_parse_scheme
    - g_free
    - g_assert
    - g_resolver_lookup_by_name
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gproxyaddressenumerator.c:363,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:396,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:417,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:401,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gproxyaddressenumerator.c:427,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:359,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:383,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:382,1
    - Dst: g_strdup
      Src: /src/glib/gio/gproxyaddressenumerator.c:389,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gproxyaddressenumerator.c:391,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gproxyaddressenumerator.c:402,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:421,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:416,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gproxyaddressenumerator.c:403,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:393,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:397,1
    - Dst: g_object_new
      Src: /src/glib/gio/gproxyaddressenumerator.c:405,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:428,1
    - Dst: g_list_next
      Src: /src/glib/gio/gproxyaddressenumerator.c:385,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gproxyaddressenumerator.c:399,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 429
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 429
    functionName: return_result
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_strdup
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_address_to_string
    - g_uri_parse_scheme
    - g_free
    - g_inet_socket_address_get_address
    - g_object_new
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_list_next
    - g_task_return_pointer
    - strcmp
    - g_task_get_task_data
    - G_INET_ADDRESS
    - g_return_if_fail
    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:438,1
    - Dst: next_enumerator
      Src: /src/glib/gio/gproxyaddressenumerator.c:451,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:455,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:442,1
    - Dst: g_resolver_free_addresses
      Src: /src/glib/gio/gproxyaddressenumerator.c:447,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gproxyaddressenumerator.c:456,1
    - Dst: complete_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 464
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 464
    functionName: next_proxy
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_task_get_task_data
    - g_resolver_free_addresses
    - complete_async
    - g_object_unref
    - g_socket_address_enumerator_next_async
    - g_task_get_cancellable
    - next_enumerator
    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:493,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gproxyaddressenumerator.c:505,1
    - Dst: g_resolver_lookup_by_name_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:506,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/gproxyaddressenumerator.c:497,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:495,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gproxyaddressenumerator.c:508,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:511,1
    - Dst: return_result
      Src: /src/glib/gio/gproxyaddressenumerator.c:515,1
    - Dst: next_proxy
      Src: /src/glib/gio/gproxyaddressenumerator.c:518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 519
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 519
    functionName: address_enumerate_cb
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_resolver_lookup_by_name_async
    - g_socket_address_enumerator_next_finish
    - g_resolver_get_default
    - g_object_unref
    - next_proxy
    - g_clear_error
    - return_result
    - g_task_get_cancellable
    - 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:562,1
    - Dst: g_proxy_resolver_lookup_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:571,1
    - Dst: g_task_new
      Src: /src/glib/gio/gproxyaddressenumerator.c:565,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:567,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gproxyaddressenumerator.c:566,1
    - Dst: return_result
      Src: /src/glib/gio/gproxyaddressenumerator.c:583,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:588,1
    - Dst: complete_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 597
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 597
    functionName: g_proxy_address_enumerator_next_async
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - complete_async
    - g_task_set_task_data
    - GET_PRIVATE
    - g_task_new
    - g_task_set_source_tag
    - g_proxy_resolver_lookup_async
    - g_socket_address_enumerator_next_async
    - return_result
    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:612,1
    - Dst: g_object_get
      Src: /src/glib/gio/gproxyaddressenumerator.c:621,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:627,1
    - Dst: g_warning
      Src: /src/glib/gio/gproxyaddressenumerator.c:630,1
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/gproxyaddressenumerator.c:618,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyaddressenumerator.c:633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 634
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 634
    functionName: g_proxy_address_enumerator_constructed
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_network_address_parse_uri
    - GET_PRIVATE
    - g_object_unref
    - g_warning
    - G_OBJECT_CLASS
    - g_object_get
    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:672,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:684,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:689,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gproxyaddressenumerator.c:680,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:676,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:690,1
    - Dst: g_proxy_resolver_get_default
      Src: /src/glib/gio/gproxyaddressenumerator.c:692,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gproxyaddressenumerator.c:693,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gproxyaddressenumerator.c:697,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 699
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 699
    functionName: g_proxy_address_enumerator_set_property
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_object_ref
    - GET_PRIVATE
    - g_proxy_resolver_get_default
    - g_value_dup_object
    - g_value_get_uint
    - g_object_unref
    - g_value_get_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GProxyAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 736
    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:741,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_CLASS
      Src: /src/glib/gio/gproxyaddressenumerator.c:742,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddressenumerator.c:753,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddressenumerator.c:756,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:755,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddressenumerator.c:757,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddressenumerator.c:771,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gproxyaddressenumerator.c:773,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddressenumerator.c:774,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddressenumerator.c:775,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddressenumerator.c:781,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddressenumerator.c:784,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddressenumerator.c:798,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddressenumerator.c:802,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddressenumerator.c:785,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:800,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddressenumerator.c:801,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - proxy_enumerator_class
    argTypes:
    - GProxyAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 807
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 807
    functionName: g_proxy_address_enumerator_class_init
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - g_param_spec_uint
    - g_param_spec_string
    - G_OBJECT_CLASS
    - G_SOCKET_ADDRESS_ENUMERATOR_CLASS
    - P_
    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_OBJECT_CLASS
    - G_FILE_ENUMERATOR_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: 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_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_free
      Src: /src/glib/gio/glocalfileenumerator.c:116,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:
    - g_file_attribute_matcher_unref
    - G_LOCAL_FILE_ENUMERATOR
    - closedir
    - g_free
    - _g_local_file_info_free_parent_info
    - g_dir_close
    - free_entries
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_enumerator_finalize (GObject *object) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/glocalfileenumerator.c:196,1
    - Dst: g_file_attribute_matcher_subtract
      Src: /src/glib/gio/glocalfileenumerator.c:197,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfileenumerator.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - matcher
    - attributes
    argTypes:
    - GFileAttributeMatcher*
    - char*
    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_error_free
      Src: /src/glib/gio/glocalfileenumerator.c:225,1
    - Dst: g_dir_open
      Src: /src/glib/gio/glocalfileenumerator.c:219,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_free
      Src: /src/glib/gio/glocalfileenumerator.c:245,1
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/glocalfileenumerator.c:266,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileenumerator.c:244,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/glocalfileenumerator.c:258,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_free
      Src: /src/glib/gio/glocalfileenumerator.c:246,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GLocalFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    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_set_error
    - G_FILE_ENUMERATOR
    - g_free
    - g_object_new
    - G_FILE
    - g_file_get_path
    - g_strerror
    - g_dir_open
    - g_error_free
    - g_filename_to_utf8
    - g_file_attribute_matcher_subtract_attributes
    - g_file_attribute_matcher_new
    - opendir
    - convert_file_to_io_error
    - g_io_error_from_errno
    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: 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: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:323,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: 2
    argNames:
    - local
    - file_type
    argTypes:
    - GLocalFileEnumerator*
    - GFileType*
    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_free
    - g_new
    - readdir
    - strcmp
    - file_type_from_dirent
    - qsort
    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: next_file_helper
      Src: /src/glib/gio/glocalfileenumerator.c:393,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileenumerator.c:386,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/glocalfileenumerator.c:390,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_error_matches
      Src: /src/glib/gio/glocalfileenumerator.c:433,1
    - Dst: g_error_free
      Src: /src/glib/gio/glocalfileenumerator.c:435,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:425,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/glocalfileenumerator.c:439,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    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:
    - next_file_helper
    - _g_local_file_info_get_parent_info
    - G_LOCAL_FILE_ENUMERATOR
    - g_file_info_set_file_type
    - g_free
    - g_dir_read_name
    - _g_local_file_info_get_nostat
    - g_error_matches
    - g_error_free
    - g_file_info_set_is_symlink
    - g_cancellable_set_error_if_cancelled
    - g_build_filename
    - _g_local_file_info_get
    - g_propagate_error
    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_dir_close
    - G_LOCAL_FILE_ENUMERATOR
    - closedir
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_NM
      Src: /src/glib/gio/gnetworkmonitornm.c:104,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkmonitornm.c:121,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gnetworkmonitornm.c:113,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gnetworkmonitornm.c:109,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gnetworkmonitornm.c:117,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_value_set_enum
    - G_NETWORK_MONITOR_NM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_nm_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - 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: 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_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_new_for_bus_sync
      Src: /src/glib/gio/gnetworkmonitornm.c:296,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: has_property
      Src: /src/glib/gio/gnetworkmonitornm.c:320,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornm.c:322,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornm.c:323,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gnetworkmonitornm.c:329,1
    - Dst: sync_properties
      Src: /src/glib/gio/gnetworkmonitornm.c:331,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
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitornm.c:328,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_dbus_proxy_get_name_owner
    - G_NETWORK_MONITOR_NM
    - g_set_error
    - g_signal_connect
    - _
    - g_type_interface_peek_parent
    - g_free
    - G_OBJECT
    - G_NETWORK_MONITOR_NM_GET_INITABLE_IFACE
    - has_property
    - g_object_unref
    - G_CALLBACK
    - sync_properties
    - g_dbus_proxy_new_for_bus_sync
    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:363,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
    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
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_nm_class_init (GNetworkMonitorNMClass
      *nl_class) '
  - 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: 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:183,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:190,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
      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
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitornm.c:247,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:
    - g_dbus_proxy_get_cached_property
    - G_OBJECT
    - g_variant_unref
    - g_object_notify
    - nm_conn_to_g_conn
    - g_variant_get_uint32
    - nm_metered_to_bool
    linkageType: ''
    returnType: void
    signature: 'static void sync_properties (GNetworkMonitorNM *nm, gboolean emit_signals) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/gnetworkmonitornm.c:272,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gnetworkmonitornm.c:278,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/gnetworkmonitornm.c:277,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_dbus_proxy_get_cached_property_names
    - g_strfreev
    - 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_OBJECT_CLASS
    - g_signal_handler_disconnect
    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:141,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsinteraction.c:143,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gtlsinteraction.c:145,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsinteraction.c:144,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsinteraction.c:142,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gtlsinteraction.c:146,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gtlsinteraction.c:147,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:150,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:151,1
    - Dst: g_free
      Src: /src/glib/gio/gtlsinteraction.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: invoke_closure_free
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_clear_object
    - g_object_unref
    - g_clear_error
    - g_cond_clear
    - g_mutex_clear
    linkageType: ''
    returnType: void
    signature: 'static void invoke_closure_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gtlsinteraction.c:161,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsinteraction.c:162,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gtlsinteraction.c:165,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsinteraction.c:164,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsinteraction.c:163,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gtlsinteraction.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - interaction
    - argument
    - cancellable
    argTypes:
    - GTlsInteraction*
    - GObject*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: invoke_closure_new
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_cond_init
    - g_new0
    - g_mutex_init
    linkageType: ''
    returnType: InvokeClosure*
    signature: 'static InvokeClosure *invoke_closure_new (GTlsInteraction *interaction,
      GObject *argument, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:539,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:539,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:542,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsinteraction.c:540,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:540,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:545,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:551,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gtlsinteraction.c:551,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gtlsinteraction.c:553,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsinteraction.c:553,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - interaction
    - result
    - error
    argTypes:
    - GTlsInteraction*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 555
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 555
    functionName: g_tls_interaction_ask_password_finish
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - G_TLS_INTERACTION_GET_CLASS
    - g_async_result_is_tagged
    - G_IS_TLS_INTERACTION
    - g_task_propagate_int
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_ask_password_finish (GTlsInteraction
      *interaction, GAsyncResult *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:672,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:673,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:674,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:673,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:672,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:674,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:676,1
    - Dst: invoke_closure_new
      Src: /src/glib/gio/gtlsinteraction.c:680,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_wait_and_free
      Src: /src/glib/gio/gtlsinteraction.c:683,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gtlsinteraction.c:690,1
    - Dst: invoke_closure_new
      Src: /src/glib/gio/gtlsinteraction.c:689,1
    - Dst: invoke_closure_complete_and_free
      Src: /src/glib/gio/gtlsinteraction.c:693,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:687,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsinteraction.c:689,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: 701
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 701
    functionName: g_tls_interaction_invoke_request_certificate
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - invoke_closure_new
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_CANCELLABLE
    - invoke_closure_complete_and_free
    - G_IS_TLS_CONNECTION
    - g_return_val_if_fail
    - G_IS_TLS_INTERACTION
    - g_main_context_invoke
    - invoke_closure_wait_and_free
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_invoke_request_certificate
      (GTlsInteraction *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:492,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:492,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:494,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:493,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:493,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:494,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:496,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:499,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsinteraction.c:505,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsinteraction.c:506,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gtlsinteraction.c:507,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsinteraction.c:508,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: 510
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 510
    functionName: g_tls_interaction_ask_password_async
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_INTERACTION
    - g_task_return_int
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tls_interaction_ask_password_async (GTlsInteraction *interaction,
      GTlsPassword *password, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:608,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:611,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:610,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:614,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 626
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 626
    functionName: on_invoke_request_certificate_async_as_sync
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_TLS_CONNECTION
    - g_assert
    - G_TLS_INTERACTION_GET_CLASS
    - g_mutex_unlock
    - g_mutex_lock
    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:831,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:834,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:832,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsinteraction.c:832,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:831,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:837,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:843,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gtlsinteraction.c:843,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gtlsinteraction.c:845,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsinteraction.c:845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - interaction
    - result
    - error
    argTypes:
    - GTlsInteraction*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 847
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 847
    functionName: g_tls_interaction_request_certificate_finish
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_ASYNC_RESULT
    - G_TLS_INTERACTION_GET_CLASS
    - g_async_result_is_tagged
    - G_IS_TLS_INTERACTION
    - g_task_propagate_int
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_request_certificate_finish
      (GTlsInteraction *interaction, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:177,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:182,1
    - Dst: invoke_closure_free
      Src: /src/glib/gio/gtlsinteraction.c:191,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtlsinteraction.c:186,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gtlsinteraction.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - closure
    - error
    argTypes:
    - InvokeClosure*
    - GError**
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: invoke_closure_wait_and_free
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_cond_wait
    - g_mutex_unlock
    - invoke_closure_free
    - g_propagate_error
    - g_mutex_lock
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult invoke_closure_wait_and_free (InvokeClosure
      *closure, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:300,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:302,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:303,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtlsinteraction.c:310,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 312
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 312
    functionName: on_ask_password_complete
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_assert
    - G_TLS_INTERACTION_GET_CLASS
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void on_ask_password_complete (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:741,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:741,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:742,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:742,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:743,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:743,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:745,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: 750
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 750
    functionName: g_tls_interaction_request_certificate
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_CONNECTION
    - g_return_val_if_fail
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_request_certificate (GTlsInteraction
      *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_acquire
      Src: /src/glib/gio/gtlsinteraction.c:208,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:214,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:212,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gtlsinteraction.c:217,1
    - Dst: g_main_context_release
      Src: /src/glib/gio/gtlsinteraction.c:220,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtlsinteraction.c:224,1
    - Dst: invoke_closure_free
      Src: /src/glib/gio/gtlsinteraction.c:229,1
    - Dst: invoke_closure_wait_and_free
      Src: /src/glib/gio/gtlsinteraction.c:238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - interaction
    - closure
    - error
    argTypes:
    - GTlsInteraction*
    - InvokeClosure*
    - GError**
    constantsTouched: []
    func_position:
      end: 242
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 242
    functionName: invoke_closure_complete_and_free
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_main_context_release
    - g_mutex_unlock
    - invoke_closure_free
    - invoke_closure_wait_and_free
    - g_main_context_iteration
    - g_propagate_error
    - g_mutex_lock
    - g_main_context_acquire
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult invoke_closure_complete_and_free (GTlsInteraction
      *interaction, InvokeClosure *closure, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:320,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:322,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:323,1
    - Dst: G_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:326,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 338
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 338
    functionName: on_invoke_ask_password_async_as_sync
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_TLS_INTERACTION_GET_CLASS
    - G_TLS_PASSWORD
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_invoke_ask_password_async_as_sync (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_interaction_get_instance_private
      Src: /src/glib/gio/gtlsinteraction.c:247,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gtlsinteraction.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - interaction
    argTypes:
    - GTlsInteraction*
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: g_tls_interaction_init
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_main_context_ref_thread_default
    - g_tls_interaction_get_instance_private
    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:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTlsInteractionClass*
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    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:445,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:447,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:446,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:445,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:446,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:447,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:449,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - interaction
    - password
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: g_tls_interaction_ask_password
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_INTERACTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_ask_password (GTlsInteraction
      *interaction, GTlsPassword *password, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:563,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:569,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:565,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:566,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtlsinteraction.c:575,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 579
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 579
    functionName: on_invoke_request_certificate_sync
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - G_TLS_CONNECTION
    - g_assert
    - G_TLS_INTERACTION_GET_CLASS
    - g_mutex_unlock
    - g_mutex_lock
    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:254,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gtlsinteraction.c:256,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: g_tls_interaction_finalize
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - G_OBJECT_CLASS
    - G_TLS_INTERACTION
    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:275,1
    - Dst: G_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:281,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:278,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:277,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtlsinteraction.c:286,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: on_invoke_ask_password_sync
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_assert
    - G_TLS_INTERACTION_GET_CLASS
    - G_TLS_PASSWORD
    - g_mutex_unlock
    - g_mutex_lock
    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:589,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:591,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtlsinteraction.c:598,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:592,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 600
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 600
    functionName: on_request_certificate_complete
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_assert
    - G_TLS_INTERACTION_GET_CLASS
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void on_request_certificate_complete (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:381,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:382,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:383,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:381,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:382,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:383,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:385,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_new
      Src: /src/glib/gio/gtlsinteraction.c:398,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:396,1
    - Dst: invoke_closure_complete_and_free
      Src: /src/glib/gio/gtlsinteraction.c:402,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gtlsinteraction.c:399,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsinteraction.c:398,1
    - Dst: invoke_closure_wait_and_free
      Src: /src/glib/gio/gtlsinteraction.c:392,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - interaction
    - password
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 410
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 410
    functionName: g_tls_interaction_invoke_ask_password
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - invoke_closure_new
    - G_IS_TLS_PASSWORD
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_CANCELLABLE
    - invoke_closure_complete_and_free
    - G_IS_TLS_INTERACTION
    - g_return_val_if_fail
    - g_main_context_invoke
    - invoke_closure_wait_and_free
    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:783,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:784,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:784,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:783,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:785,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:785,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:787,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:790,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsinteraction.c:796,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsinteraction.c:799,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsinteraction.c:797,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gtlsinteraction.c:798,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: 801
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 801
    functionName: g_tls_interaction_request_certificate_async
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_CANCELLABLE
    - g_task_return_int
    - G_IS_TLS_CONNECTION
    - G_IS_TLS_INTERACTION
    - g_return_if_fail
    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: 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_value_set_flags
    - G_DBUS_INTERFACE_SKELETON
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:439,1
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:442,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:442,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:445,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:440,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:445,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - interface_
    - object
    argTypes:
    - GDBusInterface*
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 447
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 447
    functionName: g_dbus_interface_skeleton_set_object
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_remove_weak_pointer
    - G_DBUS_INTERFACE_SKELETON
    - g_object_add_weak_pointer
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_skeleton_set_object (GDBusInterface *interface_,
      GDBusObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:515,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:522,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:545,1
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:548,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:556,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:556,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:557,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:506,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:569,1
    - Dst: dispatch_data_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:559,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:547,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:571,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:516,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:530,1
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:546,1
    - Dst: g_dbus_method_invocation_get_user_data
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:551,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:511,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:544,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:549,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: 572
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 572
    functionName: dispatch_in_thread_func
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - dispatch_data_ref
    - g_main_context_invoke_full
    - g_object_unref
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_get_user_data
    - g_object_ref
    - g_dbus_method_invocation_get_object_path
    - g_dbus_method_invocation_get_method_name
    - g_dbus_method_invocation_get_parameters
    - g_signal_emit_by_name
    - g_mutex_unlock
    - g_task_get_context
    - g_signal_emit
    - g_dbus_method_invocation_get_interface_name
    - g_task_return_boolean
    - g_task_get_priority
    - g_dbus_method_invocation_get_sender
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void dispatch_in_thread_func (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:963,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:963,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:964,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:966,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:968,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:969,1
    - Dst: remove_connection_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:975,1
    - Dst: set_object_path_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:979,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 982
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 982
    functionName: g_dbus_interface_skeleton_unexport
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_mutex_unlock
    - remove_connection_locked
    - set_object_path_locked
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_skeleton_unexport (GDBusInterfaceSkeleton *interface_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:100,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:114,1
    - Dst: remove_connection_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:109,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: 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:
    - G_OBJECT
    - g_object_remove_weak_pointer
    - G_DBUS_INTERFACE_SKELETON
    - g_free
    - g_mutex_unlock
    - g_mutex_clear
    - remove_connection_locked
    - set_object_path_locked
    - G_OBJECT_CLASS
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_skeleton_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:152,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:157,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
    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_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DBUS_INTERFACE_SKELETON
    - g_dbus_interface_skeleton_set_flags
    - g_value_get_flags
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusInterfaceIface*
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 456
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:470,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:473,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - DispatchData*
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: dispatch_data_unref
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_clear_object
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void dispatch_data_unref (DispatchData *data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:586,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:588,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:594,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:595,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:606,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:624,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:613,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:633,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:641,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:587,1
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:602,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:622,1
    - Dst: method_call_func
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:619,1
    - Dst: g_dbus_method_invocation_get_user_data
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:626,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:590,1
    - Dst: _g_dbus_object_skeleton_has_authorize_method_handlers
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:613,1
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:623,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:635,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:647,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:586,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:588,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:619,1
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:621,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:620,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:638,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:639,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:640,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:642,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:643,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 3
    argNames:
    - interface
    - method_call_func
    - invocation
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusInterfaceMethodCallFunc
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 648
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 648
    functionName: g_dbus_interface_method_dispatch_helper
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_object_unref
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_get_user_data
    - G_DBUS_OBJECT_SKELETON
    - g_object_ref
    - g_dbus_method_invocation_get_object_path
    - g_dbus_method_invocation_get_method_name
    - g_dbus_method_invocation_get_parameters
    - _g_dbus_object_skeleton_has_authorize_method_handlers
    - g_task_set_name
    - g_task_set_task_data
    - g_signal_has_handler_pending
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    - g_task_new
    - g_mutex_unlock
    - method_call_func
    - g_dbus_method_invocation_get_interface_name
    - G_IS_DBUS_METHOD_INVOCATION
    - g_dbus_method_invocation_get_sender
    - g_mutex_lock
    - g_return_if_fail
    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:928,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:928,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:929,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:929,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:930,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:930,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:931,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:934,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:935,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:937,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:945,1
    - Dst: add_connection_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:943,1
    - Dst: set_object_path_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:940,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - interface_
    - connection
    - object_path
    - error
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 947
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 947
    functionName: g_dbus_interface_skeleton_export
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - g_strcmp0
    - G_IS_DBUS_INTERFACE_SKELETON
    - set_object_path_locked
    - g_mutex_unlock
    - add_connection_locked
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_interface_skeleton_export (GDBusInterfaceSkeleton
      *interface_, GDBusConnection *connection, const gchar *object_path, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - DispatchData*
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 482
    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_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:893,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:894,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:896,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 898
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 898
    functionName: g_dbus_interface_skeleton_get_object_path
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    - 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:1001,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1002,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1003,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1002,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1001,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1005,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1007,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1008,1
    - Dst: remove_connection_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1010,1
    - Dst: set_object_path_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1014,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - interface_
    - connection
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1017
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1017
    functionName: g_dbus_interface_skeleton_unexport_from_connection
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_mutex_unlock
    - G_IS_DBUS_CONNECTION
    - remove_connection_locked
    - set_object_path_locked
    - g_mutex_lock
    - g_return_if_fail
    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:285,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    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_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:491,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:488,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:489,1
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:490,1
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:492,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:493,1
    - Dst: g_dbus_method_invocation_get_user_data
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 497
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 497
    functionName: dispatch_invoke_in_context_func
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_get_object_path
    - g_dbus_method_invocation_get_method_name
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_get_parameters
    - g_dbus_method_invocation_get_interface_name
    - g_dbus_method_invocation_get_user_data
    - g_dbus_method_invocation_get_sender
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_invoke_in_context_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_get_instance_private
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:265,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interface
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    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:331,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:332,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:331,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: g_dbus_interface_skeleton_get_info
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    - g_warn_if_fail
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'GDBusInterfaceInfo *g_dbus_interface_skeleton_get_info (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:858,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:859,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:858,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:859,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:861,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:874,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - interface_
    - connection
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 876
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 876
    functionName: g_dbus_interface_skeleton_has_connection
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_mutex_unlock
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_interface_skeleton_has_connection (GDBusInterfaceSkeleton
      *interface_, GDBusConnection *connection) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:302,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:303,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:307,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:308,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:302,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:308,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - interface_
    - flags
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusInterfaceSkeletonFlags
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: g_dbus_interface_skeleton_set_flags
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_mutex_unlock
    - g_object_notify
    - g_mutex_lock
    - g_return_if_fail
    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:414,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:418,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterface*
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: g_dbus_interface_skeleton_get_object
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - G_DBUS_INTERFACE_SKELETON
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *g_dbus_interface_skeleton_get_object (GDBusInterface
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:178,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:192,1
    - Dst: I_
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:247,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:247,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:194,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:250,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:257,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusInterfaceSkeletonClass*
    constantsTouched: []
    func_position:
      end: 260
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 260
    functionName: g_dbus_interface_skeleton_class_init
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - I_
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - G_OBJECT_CLASS
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_skeleton_class_init (GDBusInterfaceSkeletonClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:425,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:431,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:430,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterface*
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: g_dbus_interface_skeleton_dup_object
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_object_ref
    - G_DBUS_INTERFACE_SKELETON
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *g_dbus_interface_skeleton_dup_object (GDBusInterface
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:407,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterface*
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: _g_dbus_interface_skeleton_get_info
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_skeleton_get_info
    - G_DBUS_INTERFACE_SKELETON
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *_g_dbus_interface_skeleton_get_info (GDBusInterface
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:375,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:375,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:377,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: g_dbus_interface_skeleton_get_properties
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    - 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:398,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:399,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: g_dbus_interface_skeleton_flush
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    - G_IS_DBUS_INTERFACE_SKELETON
    - 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:674,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - connection
    - registration_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: new_connection
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_slice_new0
    linkageType: ''
    returnType: ConnectionData*
    signature: 'static ConnectionData *new_connection (GDBusConnection *connection,
      guint registration_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:686,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConnectionData*
    constantsTouched: []
    func_position:
      end: 689
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 689
    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:745,1
    - Dst: free_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:746,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:745,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:747,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - interface_
    - connection
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 754
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 754
    functionName: remove_connection_locked
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - free_connection
    - g_warn_if_fail
    - g_dbus_connection_unregister_object
    - g_slist_delete_link
    linkageType: ''
    returnType: void
    signature: 'static void remove_connection_locked (GDBusInterfaceSkeleton *interface_,
      GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:822,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:832,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:830,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:822,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:824,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:835,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:837,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 838
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 838
    functionName: g_dbus_interface_skeleton_get_connections
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_list_prepend
    - g_mutex_unlock
    - g_list_reverse
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_dbus_interface_skeleton_get_connections (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:710,1
    - Dst: new_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:724,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:716,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:714,1
    - Dst: g_dbus_interface_skeleton_get_vtable
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:710,1
    - Dst: g_slist_append
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - interface_
    - connection
    - error
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    - GError**
    constantsTouched: []
    func_position:
      end: 730
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 730
    functionName: add_connection_locked
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - new_connection
    - g_dbus_interface_skeleton_get_vtable
    - g_dbus_interface_skeleton_get_info
    - g_memdup2
    - g_slist_append
    - g_dbus_connection_register_object
    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:760,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:763,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - interface_
    - object_path
    argTypes:
    - GDBusInterfaceSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 765
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 765
    functionName: set_object_path_locked
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void set_object_path_locked (GDBusInterfaceSkeleton *interface_,
      const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:353,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:355,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:353,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: g_dbus_interface_skeleton_get_vtable
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    - g_warn_if_fail
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusInterfaceVTable*
    signature: 'GDBusInterfaceVTable *g_dbus_interface_skeleton_get_vtable (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:660,1
    - Dst: g_dbus_interface_method_dispatch_helper
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:661,1
    - Dst: g_dbus_interface_skeleton_get_vtable
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:662,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: 664
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 664
    functionName: skeleton_intercept_handle_method_call
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_skeleton_get_vtable
    - G_DBUS_INTERFACE_SKELETON
    - 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:786,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:786,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:787,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 800
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 800
    functionName: g_dbus_interface_skeleton_get_connection
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_interface_skeleton_get_connection (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gresource-tool.c:62,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/gresource-tool.c:65,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gresource-tool.c:64,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresource-tool.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - gchar*
    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: elf_kind
      Src: /src/glib/gio/gresource-tool.c:165,1
    - Dst: elf_begin
      Src: /src/glib/gio/gresource-tool.c:157,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: g_close
      Src: /src/glib/gio/gresource-tool.c:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - file
    - fd
    argTypes:
    - gchar*
    - gint*
    constantsTouched: []
    func_position:
      end: 173
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 173
    functionName: get_elf
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_open
    - g_close
    - elf_kind
    - elf_version
    - elf_begin
    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:230,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/gresource-tool.c:239,1
    - Dst: mmap
      Src: /src/glib/gio/gresource-tool.c:232,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresource-tool.c:241,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/gresource-tool.c:240,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:244,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource-tool.c:245,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:250,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - shdr
    - fd
    argTypes:
    - GElf_Shdr*
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 254
    functionName: resource_from_section
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - mmap
    - g_bytes_new_static
    - g_resource_new_from_data
    - sysconf
    - g_error_free
    - g_bytes_unref
    - g_printerr
    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:273,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:283,1
    - Dst: list_resource
      Src: /src/glib/gio/gresource-tool.c:279,1
    - Dst: resource_from_section
      Src: /src/glib/gio/gresource-tool.c:278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - shdr
    - section
    - data
    argTypes:
    - GElf_Shdr*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 289
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionName: list_resources_cb
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - resource_from_section
    - list_resource
    - g_resource_unref
    - strcmp
    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:320,1
    - Dst: extract_resource
      Src: /src/glib/gio/gresource-tool.c:326,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:327,1
    - Dst: resource_from_section
      Src: /src/glib/gio/gresource-tool.c:325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - shdr
    - section
    - data
    argTypes:
    - GElf_Shdr*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: extract_resource_cb
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - resource_from_section
    - g_resource_unref
    - extract_resource
    - strcmp
    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:380,1
    - Dst: close
      Src: /src/glib/gio/gresource-tool.c:384,1
    - Dst: get_resource
      Src: /src/glib/gio/gresource-tool.c:390,1
    - Dst: elf_end
      Src: /src/glib/gio/gresource-tool.c:383,1
    - Dst: elf_foreach_resource_section
      Src: /src/glib/gio/gresource-tool.c:382,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:393,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:397,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - file
    - section
    - path
    - details
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 402
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 402
    functionName: cmd_sections
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - elf_foreach_resource_section
    - g_resource_unref
    - get_elf
    - close
    - g_printerr
    - elf_end
    - get_resource
    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:453,1
    - Dst: get_resource
      Src: /src/glib/gio/gresource-tool.c:463,1
    - Dst: close
      Src: /src/glib/gio/gresource-tool.c:457,1
    - Dst: elf_end
      Src: /src/glib/gio/gresource-tool.c:456,1
    - Dst: elf_extract_resource
      Src: /src/glib/gio/gresource-tool.c:455,1
    - Dst: extract_resource
      Src: /src/glib/gio/gresource-tool.c:465,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:466,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:470,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - file
    - section
    - path
    - details
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 475
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 475
    functionName: cmd_extract
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - elf_extract_resource
    - g_resource_unref
    - get_elf
    - close
    - g_printerr
    - extract_resource
    - elf_end
    - get_resource
    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:613,1
    - Dst: textdomain
      Src: /src/glib/gio/gresource-tool.c:614,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/gresource-tool.c:617,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gresource-tool.c:618,1
    - Dst: g_free
      Src: /src/glib/gio/gresource-tool.c:619,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gresource-tool.c:621,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gresource-tool.c:625,1
    - Dst: cmd_help
      Src: /src/glib/gio/gresource-tool.c:629,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:631,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:638,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:641,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:647,1
    - Dst: cmd_help
      Src: /src/glib/gio/gresource-tool.c:639,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:644,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:652,1
    - Dst: cmd_help
      Src: /src/glib/gio/gresource-tool.c:658,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 663
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 663
    functionName: main
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - setlocale
    - _glib_get_locale_dir
    - textdomain
    - g_free
    - cmd_help
    - bindtextdomain
    - strcmp
    - bind_textdomain_codeset
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: elf_getshdrstrndx
      Src: /src/glib/gio/gresource-tool.c:191,1
    - Dst: elf_getshdrnum
      Src: /src/glib/gio/gresource-tool.c:194,1
    - Dst: elf_getscn
      Src: /src/glib/gio/gresource-tool.c:199,1
    - Dst: g_assert
      Src: /src/glib/gio/gresource-tool.c:195,1
    - Dst: g_assert
      Src: /src/glib/gio/gresource-tool.c:192,1
    - Dst: gelf_getshdr
      Src: /src/glib/gio/gresource-tool.c:203,1
    - Dst: elf_strptr
      Src: /src/glib/gio/gresource-tool.c:210,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gresource-tool.c:212,1
    - Dst: callback
      Src: /src/glib/gio/gresource-tool.c:215,1
    - Dst: strlen
      Src: /src/glib/gio/gresource-tool.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - elf
    - callback
    - data
    argTypes:
    - Elf*
    - SectionCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: elf_foreach_resource_section
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - elf_strptr
    - strlen
    - elf_getshdrstrndx
    - callback
    - g_assert
    - gelf_getshdr
    - g_str_has_prefix
    - elf_getscn
    - elf_getshdrnum
    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: MIN
      Src: /src/glib/gio/gresource-tool.c:98,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource-tool.c:91,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:90,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:108,1
    - Dst: g_print
      Src: /src/glib/gio/gresource-tool.c:110,1
    - Dst: list_resource
      Src: /src/glib/gio/gresource-tool.c:113,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
    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:
    - strlen
    - g_free
    - g_strconcat
    - g_error_free
    - MIN
    - list_resource
    - g_strfreev
    - g_print
    - g_resource_enumerate_children
    - g_resource_get_info
    - strncmp
    - g_printerr
    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:306,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:309,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: 310
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 310
    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:348,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - elf
    - fd
    - section
    - path
    argTypes:
    - Elf*
    - int
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 352
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 352
    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:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - shdr
    - name
    - data
    argTypes:
    - GElf_Shdr*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 361
    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:416,1
    - Dst: elf_list_resources
      Src: /src/glib/gio/gresource-tool.c:418,1
    - Dst: get_resource
      Src: /src/glib/gio/gresource-tool.c:426,1
    - Dst: close
      Src: /src/glib/gio/gresource-tool.c:420,1
    - Dst: elf_end
      Src: /src/glib/gio/gresource-tool.c:419,1
    - Dst: list_resource
      Src: /src/glib/gio/gresource-tool.c:428,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:429,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:433,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - file
    - section
    - path
    - details
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 438
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 438
    functionName: cmd_list
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_resource_unref
    - get_elf
    - list_resource
    - close
    - g_printerr
    - elf_end
    - elf_list_resources
    - get_resource
    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:499,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:521,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:516,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:520,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:558,1
    - Dst: strstr
      Src: /src/glib/gio/gresource-tool.c:564,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:566,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:568,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:572,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:583,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:561,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:586,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:493,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:501,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:502,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:505,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:507,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:510,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gresource-tool.c:521,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:524,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:511,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:533,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:581,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:571,1
    - Dst: g_string_free
      Src: /src/glib/gio/gresource-tool.c:595,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:570,1
    - Dst: strstr
      Src: /src/glib/gio/gresource-tool.c:579,1
    - Dst: g_string_new
      Src: /src/glib/gio/gresource-tool.c:488,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:496,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:495,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gresource-tool.c:511,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:514,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:526,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:527,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:528,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:541,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gresource-tool.c:555,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:555,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:558,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:565,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:592,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gresource-tool.c:528,1
    - Dst: g_string_printf
      Src: /src/glib/gio/gresource-tool.c:533,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:540,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:564,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:574,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:580,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:579,1
    - Dst: strstr
      Src: /src/glib/gio/gresource-tool.c:582,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:584,1
    - Dst: g_print
      Src: /src/glib/gio/gresource-tool.c:590,1
    - Dst: g_free
      Src: /src/glib/gio/gresource-tool.c:594,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:575,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:562,1
    - Dst: strstr
      Src: /src/glib/gio/gresource-tool.c:568,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:582,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 2
    argNames:
    - requested
    - command
    argTypes:
    - gboolean
    - gchar*
    constantsTouched: []
    func_position:
      end: 598
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 598
    functionName: cmd_help
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - _
    - g_free
    - g_string_append_printf
    - g_strdup_printf
    - strstr
    - g_string_printf
    - strcmp
    - g_string_free
    - g_print
    - g_printerr
    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: g_bytes_unref
      Src: /src/glib/gio/gresource-tool.c:136,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: fwrite
      Src: /src/glib/gio/gresource-tool.c:133,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_resource_lookup_data
    - g_bytes_get_data
    - g_bytes_unref
    - fwrite
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void extract_resource (GResource *resource, const gchar *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:101,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:104,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:105,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:106,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:103,1
    - Dst: g_dbus_method_info_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:108,1
    - Dst: g_dbus_property_info_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:110,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:111,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:112,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:113,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmethodinvocation.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: g_dbus_method_invocation_finalize
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_DBUS_METHOD_INVOCATION
    - g_dbus_property_info_unref
    - g_free
    - g_dbus_method_info_unref
    - g_variant_unref
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_method_invocation_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:686,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusmethodinvocation.c:689,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:687,1
    - Dst: g_dbus_method_invocation_return_error_literal
      Src: /src/glib/gio/gdbusmethodinvocation.c:690,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:686,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:694,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: 695
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 695
    functionName: g_dbus_method_invocation_return_error_valist
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strdup_vprintf
    - g_dbus_method_invocation_return_error_literal
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_if_fail
    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_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmethodinvocation.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusMethodInvocationClass*
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    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:648,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:648,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:649,1
    - Dst: va_start
      Src: /src/glib/gio/gdbusmethodinvocation.c:651,1
    - Dst: g_dbus_method_invocation_return_error_valist
      Src: /src/glib/gio/gdbusmethodinvocation.c:652,1
    - Dst: va_end
      Src: /src/glib/gio/gdbusmethodinvocation.c:657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - invocation
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GDBusMethodInvocation*
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 658
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 658
    functionName: g_dbus_method_invocation_return_error
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - va_end
    - g_dbus_method_invocation_return_error_valist
    - va_start
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_if_fail
    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_dbus_method_invocation_return_value_internal
      Src: /src/glib/gio/gdbusmethodinvocation.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - invocation
    - parameters
    argTypes:
    - GDBusMethodInvocation*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 578
    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:777,1
    - Dst: g_dbus_method_invocation_return_gerror
      Src: /src/glib/gio/gdbusmethodinvocation.c:779,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:778,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:777,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - invocation
    - error
    argTypes:
    - GDBusMethodInvocation*
    - GError*
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 781
    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:804,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:804,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:805,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:806,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmethodinvocation.c:805,1
    - Dst: g_dbus_message_get_flags
      Src: /src/glib/gio/gdbusmethodinvocation.c:808,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusmethodinvocation.c:811,1
    - Dst: _g_dbus_debug_return
      Src: /src/glib/gio/gdbusmethodinvocation.c:811,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusmethodinvocation.c:813,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmethodinvocation.c:814,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusmethodinvocation.c:828,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:835,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmethodinvocation.c:827,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusmethodinvocation.c:834,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:838,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusmethodinvocation.c:834,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusmethodinvocation.c:831,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - invocation
    - error_name
    - error_message
    argTypes:
    - GDBusMethodInvocation*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 839
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 839
    functionName: g_dbus_method_invocation_return_dbus_error
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_print_lock
    - _g_dbus_debug_return
    - g_dbus_message_new_method_error_literal
    - G_UNLIKELY
    - g_dbus_connection_send_message
    - g_object_unref
    - g_dbus_method_invocation_get_connection
    - g_dbus_message_get_serial
    - g_dbus_is_name
    - g_dbus_message_get_flags
    - g_print
    - _g_dbus_debug_print_unlock
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_if_fail
    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_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:397,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusmethodinvocation.c:411,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:423,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:420,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:441,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmethodinvocation.c:438,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:449,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:451,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:453,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:462,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:464,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmethodinvocation.c:476,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:530,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusmethodinvocation.c:491,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:398,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:397,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:413,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:417,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:418,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmethodinvocation.c:448,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:454,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:457,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:460,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:465,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:479,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:527,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusmethodinvocation.c:515,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/gdbusmethodinvocation.c:511,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusmethodinvocation.c:517,1
    - Dst: g_dbus_message_get_flags
      Src: /src/glib/gio/gdbusmethodinvocation.c:400,1
    - Dst: g_variant_new_tuple
      Src: /src/glib/gio/gdbusmethodinvocation.c:404,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:449,1
    - Dst: _g_dbus_debug_return
      Src: /src/glib/gio/gdbusmethodinvocation.c:489,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusmethodinvocation.c:503,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusmethodinvocation.c:507,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusmethodinvocation.c:515,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusmethodinvocation.c:526,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmethodinvocation.c:492,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusmethodinvocation.c:506,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmethodinvocation.c:502,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:521,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:398,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:415,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:419,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:434,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:440,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:438,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusmethodinvocation.c:471,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:474,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:476,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:478,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusmethodinvocation.c:489,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:518,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusmethodinvocation.c:507,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:519,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:473,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 90
    argCount: 3
    argNames:
    - invocation
    - parameters
    - fd_list
    argTypes:
    - GDBusMethodInvocation*
    - GVariant*
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 531
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 531
    functionName: g_dbus_method_invocation_return_value_internal
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_dbus_connection_send_message
    - g_steal_pointer
    - _g_dbus_compute_complete_signature
    - g_dbus_message_set_unix_fd_list
    - _g_dbus_debug_print_lock
    - g_variant_get_type_string
    - g_variant_type_free
    - g_error_matches
    - g_assert_not_reached
    - g_object_unref
    - g_dbus_method_invocation_get_connection
    - g_dbus_message_get_serial
    - g_dbus_message_set_body
    - g_print
    - G_UNLIKELY
    - g_variant_unref
    - g_error_free
    - g_variant_get
    - g_warning
    - g_dbus_message_get_flags
    - g_variant_ref_sink
    - _g_dbus_debug_print_unlock
    - g_str_equal
    - g_variant_type_dup_string
    - G_VARIANT_TYPE
    - _g_dbus_debug_return
    - g_free
    - g_variant_new_tuple
    - G_IS_DBUS_METHOD_INVOCATION
    - g_variant_is_of_type
    - g_return_if_fail
    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:748,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/gdbusmethodinvocation.c:751,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/gdbusmethodinvocation.c:753,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:748,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:749,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - invocation
    - error
    argTypes:
    - GDBusMethodInvocation*
    - GError*
    constantsTouched: []
    func_position:
      end: 757
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 757
    functionName: g_dbus_method_invocation_return_gerror
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_free
    - g_dbus_method_invocation_return_dbus_error
    - g_dbus_error_encode_gerror
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_return_gerror (GDBusMethodInvocation
      *invocation, const GError *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmethodinvocation.c:363,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:363,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:365,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmethodinvocation.c:372,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:380,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmethodinvocation.c:362,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmethodinvocation.c:365,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:366,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusmethodinvocation.c:370,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmethodinvocation.c:373,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:368,1
    - Dst: g_dbus_method_info_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:376,1
    - Dst: g_dbus_property_info_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:378,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:381,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmethodinvocation.c:364,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusmethodinvocation.c:366,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:368,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:367,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmethodinvocation.c:374,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:362,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:364,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmethodinvocation.c:371,1
    - Dst: G_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:370,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmethodinvocation.c:367,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:379,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 10
    argNames:
    - sender
    - object_path
    - interface_name
    - method_name
    - method_info
    - property_info
    - connection
    - message
    - parameters
    - user_data
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GDBusMethodInfo*
    - GDBusPropertyInfo*
    - GDBusConnection*
    - GDBusMessage*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 385
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 385
    functionName: _g_dbus_method_invocation_new
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_DBUS_METHOD_INVOCATION
    - g_strdup
    - g_dbus_property_info_ref
    - g_object_ref
    - g_object_new
    - g_dbus_is_member_name
    - g_variant_is_object_path
    - G_IS_DBUS_MESSAGE
    - g_dbus_is_interface_name
    - g_dbus_is_name
    - g_variant_ref
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_variant_is_of_type
    - g_dbus_method_info_ref
    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:325,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: g_dbus_method_invocation_get_user_data
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_dbus_method_invocation_get_user_data (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:266,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: g_dbus_method_invocation_get_connection
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    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:308,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: g_dbus_method_invocation_get_parameters
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_method_invocation_get_parameters (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:144,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: g_dbus_method_invocation_get_sender
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    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:183,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: g_dbus_method_invocation_get_interface_name
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    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:232,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: g_dbus_method_invocation_get_property_info
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    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:249,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: g_dbus_method_invocation_get_method_name
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    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:290,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: g_dbus_method_invocation_get_message
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_method_invocation_get_message (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:161,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: g_dbus_method_invocation_get_object_path
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    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: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    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:205,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: g_dbus_method_invocation_get_method_info
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_val_if_fail
    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:720,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:720,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/gdbusmethodinvocation.c:723,1
    - Dst: g_dbus_method_invocation_return_gerror
      Src: /src/glib/gio/gdbusmethodinvocation.c:724,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:721,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - invocation
    - domain
    - code
    - message
    argTypes:
    - GDBusMethodInvocation*
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 726
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 726
    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_error_free
    - G_IS_DBUS_METHOD_INVOCATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_return_error_literal (GDBusMethodInvocation
      *invocation, GQuark domain, gint code, const gchar *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_value_internal
      Src: /src/glib/gio/gdbusmethodinvocation.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - invocation
    - parameters
    - fd_list
    argTypes:
    - GDBusMethodInvocation*
    - GVariant*
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 603
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 603
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-launch.c:55,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: print_error
      Src: /src/glib/gio/gio-tool-launch.c:108,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-launch.c:115,1
    - Dst: g_app_launch_context_new
      Src: /src/glib/gio/gio-tool-launch.c:117,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-launch.c:58,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_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: _
      Src: /src/glib/gio/gio-tool-launch.c:120,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gio-tool-launch.c:129,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-launch.c:55,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-launch.c:57,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_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_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: g_clear_error
      Src: /src/glib/gio/gio-tool-launch.c:100,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/gio-tool-launch.c:118,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: 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: 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_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: g_list_append
      Src: /src/glib/gio/gio-tool-launch.c:115,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:121,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-launch.c:120,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_set_summary
    - g_clear_error
    - g_key_file_load_from_file
    - g_list_free_full
    - show_help
    - g_file_new_for_commandline_arg
    - g_key_file_new
    - g_option_context_free
    - g_desktop_app_info_new_from_keyfile
    - g_option_context_new
    - g_list_append
    - g_error_free
    - g_key_file_free
    - g_option_context_set_help_enabled
    - g_set_prgname
    - g_clear_object
    - g_option_context_parse
    - g_option_context_add_main_entries
    - print_error
    - g_app_launch_context_new
    - g_app_info_launch
    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_cancellable_new
    - g_debug_controller_dbus_get_instance_private
    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: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    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_str_equal
    - g_assert_not_reached
    - g_debug_controller_dbus_get_instance_private
    - g_variant_new_boolean
    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: 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_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:354,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdebugcontrollerdbus.c:349,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdebugcontrollerdbus.c:350,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: g_variant_get
      Src: /src/glib/gio/gdebugcontrollerdbus.c:366,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gdebugcontrollerdbus.c:369,1
    - Dst: g_assert
      Src: /src/glib/gio/gdebugcontrollerdbus.c:374,1
    - Dst: set_debug_enabled
      Src: /src/glib/gio/gdebugcontrollerdbus.c:367,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_DEBUG_CONTROLLER_DBUS
    - set_debug_enabled
    - _
    - g_debug_controller_dbus_get_instance_private
    - G_TASK
    - g_error_new
    - g_assert
    - g_task_propagate_boolean
    - g_dbus_method_invocation_get_parameters
    - g_variant_get
    - g_steal_pointer
    - g_dbus_method_invocation_return_value
    - g_dbus_method_invocation_take_error
    - g_task_get_task_data
    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:390,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:398,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdebugcontrollerdbus.c:399,1
    - Dst: G_DEBUG_CONTROLLER_DBUS_GET_CLASS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:391,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdebugcontrollerdbus.c:394,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: garbage_collect_weak_refs
      Src: /src/glib/gio/gdebugcontrollerdbus.c:410,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: g_signal_has_handler_pending
      Src: /src/glib/gio/gdebugcontrollerdbus.c:421,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdebugcontrollerdbus.c:430,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gdebugcontrollerdbus.c:423,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_str_equal
    - G_OBJECT
    - g_object_ref
    - G_DEBUG_CONTROLLER_DBUS_GET_CLASS
    - g_debug_controller_dbus_get_instance_private
    - g_task_set_task_data
    - g_ptr_array_new_with_free_func
    - garbage_collect_weak_refs
    - g_signal_has_handler_pending
    - g_clear_object
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_assert_not_reached
    - g_task_return_boolean
    - weak_ref_new
    - g_ptr_array_add
    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: 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: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    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: 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_cancellable_is_cancelled
      Src: /src/glib/gio/gdebugcontrollerdbus.c:222,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdebugcontrollerdbus.c:235,1
    - Dst: g_variant_builder_init
      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_OBJECT
    - G_VARIANT_TYPE
    - g_debug_controller_dbus_get_instance_private
    - g_log_set_debug_enabled
    - g_cancellable_is_cancelled
    - g_variant_builder_add
    - g_variant_new_boolean
    - g_debug
    - g_object_notify
    - g_variant_builder_init
    - g_variant_new
    - g_dbus_connection_emit_signal
    linkageType: ''
    returnType: void
    signature: 'static void set_debug_enabled (GDebugControllerDBus *self, gboolean
      debug_enabled) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:438,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdebugcontrollerdbus.c:452,1
    - Dst: g_error
      Src: /src/glib/gio/gdebugcontrollerdbus.c:454,1
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:439,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gdebugcontrollerdbus.c:455,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_DEBUG_CONTROLLER_DBUS
    - g_dbus_node_info_new_for_xml
    - g_debug_controller_dbus_get_instance_private
    - g_assert
    - g_error
    - g_dbus_node_info_lookup_interface
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_debug_controller_dbus_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:299,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdebugcontrollerdbus.c:309,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_remove_index_fast
      Src: /src/glib/gio/gdebugcontrollerdbus.c:313,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_debug_controller_dbus_get_instance_private
    - g_clear_pointer
    - g_ptr_array_index
    - g_object_unref
    - g_weak_ref_get
    - g_ptr_array_remove_index_fast
    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_task_return_boolean
      Src: /src/glib/gio/gdebugcontrollerdbus.c:336,1
    - Dst: G_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdebugcontrollerdbus.c:331,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_DEBUG_CONTROLLER_DBUS
    - g_signal_emit
    - g_task_return_boolean
    - G_DBUS_METHOD_INVOCATION
    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_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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdebugcontrollerdbus.c:651,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdebugcontrollerdbus.c:652,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdebugcontrollerdbus.c:653,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdebugcontrollerdbus.c:652,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdebugcontrollerdbus.c:651,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 660
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 660
    functionName: g_debug_controller_dbus_new
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - G_IS_CANCELLABLE
    - g_return_val_if_fail
    - g_initable_new
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: GDebugControllerDBus*
    signature: 'GDebugControllerDBus *g_debug_controller_dbus_new (GDBusConnection
      *connection, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:477,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdebugcontrollerdbus.c:486,1
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:478,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:483,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_DEBUG_CONTROLLER_DBUS
    - g_debug_controller_dbus_get_instance_private
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 626
    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:688,1
    - Dst: garbage_collect_weak_refs
      Src: /src/glib/gio/gdebugcontrollerdbus.c:708,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:694,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gdebugcontrollerdbus.c:690,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/gdebugcontrollerdbus.c:709,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - GDebugControllerDBus*
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: g_debug_controller_dbus_stop
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - garbage_collect_weak_refs
    - g_dbus_connection_unregister_object
    - 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:500,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: set_debug_enabled
      Src: /src/glib/gio/gdebugcontrollerdbus.c:511,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_DEBUG_CONTROLLER_DBUS
    - set_debug_enabled
    - g_debug_controller_dbus_get_instance_private
    - g_assert
    - g_value_dup_object
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:522,1
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:523,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:527,1
    - Dst: g_assert
      Src: /src/glib/gio/gdebugcontrollerdbus.c:526,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: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_DEBUG_CONTROLLER_DBUS
    - g_debug_controller_dbus_get_instance_private
    - g_assert
    - g_clear_object
    - G_OBJECT_CLASS
    - 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_object_class_install_properties
      Src: /src/glib/gio/gdebugcontrollerdbus.c:570,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:570,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdebugcontrollerdbus.c:572,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:602,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdebugcontrollerdbus.c:605,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdebugcontrollerdbus.c:612,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDebugControllerDBusClass*
    constantsTouched: []
    func_position:
      end: 615
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 615
    functionName: g_debug_controller_dbus_class_init
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_object_class_override_property
    - G_TYPE_FROM_CLASS
    - g_object_class_install_properties
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - G_N_ELEMENTS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_class_init (GDebugControllerDBusClass
      *klass) '
  - 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: 620
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 620
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:752,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:755,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:758,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:753,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:755,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:761,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 764
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 764
    functionName: g_dbus_object_manager_client_new_finish
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - g_assert
    - g_object_unref
    - G_DBUS_OBJECT_MANAGER
    - g_async_initable_new_finish
    - G_ASYNC_INITABLE
    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:935,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:936,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:938,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerClient*
    constantsTouched: []
    func_position:
      end: 940
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 940
    functionName: g_dbus_object_manager_client_get_connection
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_object_manager_client_get_connection (GDBusObjectManagerClient
      *manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1005,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1006,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1007,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1008,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerClient*
    constantsTouched: []
    func_position:
      end: 1010
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1010
    functionName: g_dbus_object_manager_client_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_mutex_unlock
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_object_manager_client_get_name_owner (GDBusObjectManagerClient
      *manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1270,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1272,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1273
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1369,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1393,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1400,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1403,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1346,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1352,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1350,1
    - Dst: g_hash_table_steal_all_values
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1360,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1369,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1384,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1375,1
    - Dst: maybe_unsubscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1380,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1402,1
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1374,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1400,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1346,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1355,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1363,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1374,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1377,1
    - Dst: subscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1391,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1404,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1405
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1405
    functionName: on_notify_g_name_owner
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - maybe_unsubscribe_signals
    - g_clear_pointer
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - weak_ref_new
    - g_strcmp0
    - g_object_unref
    - subscribe_signals
    - g_weak_ref_get
    - g_object_notify
    - g_dbus_proxy_call
    - g_hash_table_steal_all_values
    - g_ptr_array_index
    - g_dbus_proxy_get_name_owner
    - g_signal_emit_by_name
    - g_free
    - G_DBUS_OBJECT_PROXY
    - g_mutex_unlock
    - g_mutex_lock
    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:1745,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1748,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1747,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1745,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1749,1
    - Dst: add_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1754,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1755,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - manager
    - value
    - name_owner
    argTypes:
    - GDBusObjectManagerClient*
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1758
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1758
    functionName: process_get_all_result
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_variant_get_child_value
    - add_interfaces
    - g_variant_unref
    - g_dbus_is_unique_name
    - g_variant_iter_next
    - g_return_if_fail
    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:1835,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1840,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1839,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - _manager
    - object_path
    - interface_name
    argTypes:
    - GDBusObjectManager*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1844
    functionName: g_dbus_object_manager_client_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_dbus_object_get_interface
    - g_dbus_object_manager_get_object
    - g_object_unref
    linkageType: ''
    returnType: GDBusInterface*
    signature: 'static GDBusInterface *g_dbus_object_manager_client_get_interface
      (GDBusObjectManager *_manager, const gchar *object_path, const gchar *interface_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1452,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1479,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1462,1
    - Dst: subscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1477,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1412,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1431,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1455,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1463,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1495,1
    - Dst: process_get_all_result
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1506,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1422,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1454,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1460,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1467,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1490,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1491,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1496,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1500,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1421,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1452,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1455,1
    - Dst: maybe_unsubscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1488,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1463,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1514
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1514
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_name_owner
    - G_OBJECT
    - g_dbus_proxy_call_sync
    - g_dbus_proxy_new_sync
    - maybe_unsubscribe_signals
    - process_get_all_result
    - g_signal_connect_data
    - g_assert
    - g_warn_if_fail
    - g_bus_get_sync
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_object_unref
    - g_variant_unref
    - subscribe_signals
    - G_CALLBACK
    - weak_ref_new
    - g_signal_handler_disconnect
    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:1771,1
    - Dst: add_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1784,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1780,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1777,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1771,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1785,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1787,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1790,1
    - Dst: remove_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1794,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1795,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1798,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: 1799
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1799
    functionName: on_control_proxy_g_signal
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_free
    - remove_interfaces
    - g_strcmp0
    - g_variant_unref
    - add_interfaces
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_variant_get
    - g_object_unref
    - g_weak_ref_get
    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:1849,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1852,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1855,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1854,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1852,1
    - Dst: g_list_foreach
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1856,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1857,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - _manager
    argTypes:
    - GDBusObjectManager*
    constantsTouched: []
    func_position:
      end: 1860
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1860
    functionName: g_dbus_object_manager_client_get_objects
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_hash_table_get_values
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_mutex_unlock
    - g_list_foreach
    - g_return_val_if_fail
    - g_mutex_lock
    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: 1870
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1870
    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:980,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:981,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:983,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerClient*
    constantsTouched: []
    func_position:
      end: 985
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 985
    functionName: g_dbus_object_manager_client_get_flags
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_return_val_if_fail
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusObjectManagerClientFlags
    signature: 'GDBusObjectManagerClientFlags g_dbus_object_manager_client_get_flags
      (GDBusObjectManagerClient *manager) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1232,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1232,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1236,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1246,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1251,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerClient*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1263
    functionName: maybe_unsubscribe_signals
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_free
    - g_dbus_connection_call
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_variant_new
    - g_dbus_connection_signal_unsubscribe
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void maybe_unsubscribe_signals (GDBusObjectManagerClient *manager) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:201,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:209,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:206,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: g_dbus_object_manager_client_dispose
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    - g_clear_object
    - G_OBJECT_CLASS
    - G_DBUS_OBJECT_MANAGER_CLIENT
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_client_dispose (GObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:254,1
    - Dst: g_dbus_object_manager_client_get_connection
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:259,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:259,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:263,1
    - Dst: g_dbus_object_manager_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:263,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:263,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:267,1
    - Dst: g_dbus_object_manager_client_get_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:267,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:271,1
    - Dst: g_dbus_object_manager_client_get_flags
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:271,1
    - Dst: g_value_take_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:275,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:279,1
    - Dst: g_dbus_object_manager_client_get_name_owner
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:275,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - _object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 282
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 282
    functionName: g_dbus_object_manager_client_get_property
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_value_set_flags
    - g_value_set_string
    - g_dbus_object_manager_client_get_flags
    - g_value_take_string
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - G_DBUS_OBJECT_MANAGER
    - g_dbus_object_manager_client_get_name
    - g_dbus_object_manager_client_get_connection
    - g_dbus_object_manager_client_get_name_owner
    - g_value_set_object
    - g_dbus_object_manager_get_object_path
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:381,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:383,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:422,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:424,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:460,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:462,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:542,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:584,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:584,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:362,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:360,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:401,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:403,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:440,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:513,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:511,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:442,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:556,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:597,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:346,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:496,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:494,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:545,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:479,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:477,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:542,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:557,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:587,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusObjectManagerClientClass*
    constantsTouched: []
    func_position:
      end: 600
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 600
    functionName: g_dbus_object_manager_client_class_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - I_
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - g_param_spec_pointer
    - g_param_spec_string
    - G_OBJECT_CLASS
    - 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_weak_ref_clear
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1278,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1280
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 1520
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1520
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1546,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1573,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1618,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1627,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1590,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1628,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1647,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1653,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1664,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1665,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1670,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1544,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1561,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1567,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1575,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1627,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1590,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1631,1
    - Dst: _g_dbus_object_proxy_add_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1642,1
    - Dst: g_list_append
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1644,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1660,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1551,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1544,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1561,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1601,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1576,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1636,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1644,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1652,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1663,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1672,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1667,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1645,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1613,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1630,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1639,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1657,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1673,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: 1674
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1674
    functionName: add_interfaces
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_object_new
    - g_hash_table_insert
    - g_mutex_lock
    - g_variant_iter_next
    - g_dbus_proxy_set_cached_property
    - g_object_unref
    - g_type_is_a
    - _g_dbus_object_proxy_add_interface
    - g_object_ref
    - g_variant_iter_init
    - g_list_append
    - g_warn_if_fail
    - g_error_free
    - g_variant_unref
    - g_warning
    - G_DBUS_OBJECT
    - g_initable_new
    - g_dbus_is_unique_name
    - g_signal_emit_by_name
    - g_strdup
    - G_DBUS_INTERFACE
    - g_mutex_unlock
    - g_list_free
    - g_hash_table_lookup
    - g_dbus_interface_set_object
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void add_interfaces (GDBusObjectManagerClient *manager, const
      gchar *object_path, GVariant *ifaces_and_properties, const gchar *name_owner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - _manager
    argTypes:
    - GDBusObjectManager*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1808
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:296,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:303,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:310,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:322,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:315,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:302,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:303,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:300,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:310,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:311,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:316,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:326,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:304,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:318,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:317,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:330,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:338,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:290,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:303,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:309,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:310,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:317,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:334,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 4
    argNames:
    - _object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 341
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 341
    functionName: g_dbus_object_manager_client_set_property
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_value_get_string
    - g_strdup
    - g_assert
    - g_value_dup_object
    - g_variant_is_object_path
    - g_value_get_enum
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_value_get_object
    - g_dbus_is_name
    - G_IS_DBUS_CONNECTION
    - g_value_get_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_pointer
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_client_set_property (GObject *_object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:215,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:227,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:222,1
    - Dst: maybe_unsubscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:217,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:219,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:231,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:234,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:235,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:236,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:237,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:242,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:245,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 246
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 246
    functionName: g_dbus_object_manager_client_finalize
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - maybe_unsubscribe_signals
    - g_hash_table_unref
    - g_free
    - g_clear_object
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_object_unref
    - g_mutex_clear
    - G_OBJECT_CLASS
    - g_signal_handler_disconnect
    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:605,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:607,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:611,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerClient*
    constantsTouched: []
    func_position:
      end: 612
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 612
    functionName: g_dbus_object_manager_client_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_dbus_object_manager_client_get_instance_private
    - g_cancellable_new
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_client_init (GDBusObjectManagerClient
      *manager) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1288,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1304,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1297,1
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1295,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1297,1
    - Dst: maybe_unsubscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1307,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1308,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1310,1
    - Dst: process_get_all_result
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1318,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1324,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1327,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1325,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1329,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1331,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1332,1
    - Dst: weak_ref_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1333,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1327,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1326,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1334
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1334
    functionName: on_get_managed_objects_finish
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_name_owner
    - G_DBUS_PROXY
    - maybe_unsubscribe_signals
    - process_get_all_result
    - g_dbus_proxy_call_finish
    - G_OBJECT
    - g_clear_pointer
    - g_error_matches
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_object_unref
    - g_warning
    - g_clear_error
    - g_steal_pointer
    - g_weak_ref_get
    - g_mutex_unlock
    - g_object_notify
    - weak_ref_free
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void on_get_managed_objects_finish (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - async_initable_iface
    argTypes:
    - GAsyncInitableIface*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1692,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1699,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1713,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1710,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1717,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1711,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1730,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1726,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1706,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1722,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1695,1
    - Dst: g_dbus_object_get_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1699,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1689,1
    - Dst: g_list_length
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1700,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1701,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1703,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1710,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1709,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1712,1
    - Dst: _g_dbus_object_proxy_remove_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1723,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1687,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1722,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1718,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1727,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1732,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - manager
    - object_path
    - interface_names
    argTypes:
    - GDBusObjectManagerClient*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1733
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1733
    functionName: remove_interfaces
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_dbus_object_get_interfaces
    - g_dbus_object_get_interface
    - g_object_ref
    - g_strv_length
    - g_warn_if_fail
    - g_hash_table_remove
    - g_object_unref
    - g_debug
    - g_mutex_unlock
    - g_list_length
    - _g_dbus_object_proxy_remove_interface
    - G_DBUS_OBJECT
    - g_hash_table_lookup
    - g_list_free_full
    - g_mutex_lock
    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_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1814,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1820,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1818,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1817,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - _manager
    - object_path
    argTypes:
    - GDBusObjectManager*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1823
    functionName: g_dbus_object_manager_client_get_object
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_mutex_unlock
    - g_hash_table_lookup
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *g_dbus_object_manager_client_get_object (GDBusObjectManager
      *_manager, const gchar *object_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:904,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:907,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:907,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:910,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:905,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:913,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 916
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 916
    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_assert
    - g_object_unref
    - G_DBUS_OBJECT_MANAGER
    - g_async_initable_new_finish
    - G_ASYNC_INITABLE
    linkageType: ''
    returnType: GDBusObjectManager*
    signature: 'GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_finish
      (GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:712,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:714,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:713,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:713,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:712,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:715,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:715,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:717,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: 730
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 730
    functionName: g_dbus_object_manager_client_new
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - g_dbus_is_name
    - G_IS_DBUS_CONNECTION
    - g_dbus_connection_get_unique_name
    - g_async_initable_new_async
    - g_return_if_fail
    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:865,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:867,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:866,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:867,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:866,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:869,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: 882
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 882
    functionName: g_dbus_object_manager_client_new_for_bus
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - g_dbus_is_name
    - g_async_initable_new_async
    - 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_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1030,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1038,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1045,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1080,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1085,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1099,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1105,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1113,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1034,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1042,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1051,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1057,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1057,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1072,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1075,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1066,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1089,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1098,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1124,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1043,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1067,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1080,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1105,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1127,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1026,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1031,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1037,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1072,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1096,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1108,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1121,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: 1128
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1128
    functionName: signal_cb
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_dbus_object_get_interface
    - G_DBUS_PROXY
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_variant_iter_next
    - g_dbus_proxy_set_cached_property
    - g_strcmp0
    - g_object_unref
    - g_object_ref
    - g_variant_iter_init
    - g_variant_unref
    - g_variant_get
    - G_DBUS_OBJECT
    - g_signal_emit_by_name
    - g_free
    - g_clear_object
    - g_mutex_unlock
    - g_signal_emit
    - g_hash_table_lookup
    - g_mutex_lock
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1137,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1139,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1137,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1139,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1138,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1148,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1150,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1155,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1161,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1166,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1205,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1208,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1216,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1176,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - manager
    - name_owner
    argTypes:
    - GDBusObjectManagerClient*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1227
    functionName: subscribe_signals
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_dbus_connection_call_sync
    - g_free
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_variant_unref
    - g_error_free
    - g_strdup_printf
    - g_variant_new
    - g_dbus_is_unique_name
    - g_dbus_connection_signal_subscribe
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void subscribe_signals (GDBusObjectManagerClient *manager,
      const gchar *name_owner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:653,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:654,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:655,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:654,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:653,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:656,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:656,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:657,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:659,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:671,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 9
    argNames:
    - connection
    - flags
    - name
    - object_path
    - get_proxy_type_func
    - get_proxy_type_user_data
    - get_proxy_type_destroy_notify
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - GDBusObjectManagerClientFlags
    - gchar*
    - gchar*
    - GDBusProxyTypeFunc
    - gpointer
    - GDestroyNotify
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 674
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 674
    functionName: g_dbus_object_manager_client_new_sync
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - G_DBUS_OBJECT_MANAGER
    - g_dbus_is_name
    - G_IS_DBUS_CONNECTION
    - g_dbus_connection_get_unique_name
    - g_return_val_if_fail
    - g_initable_new
    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:958,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:958,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:961,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerClient*
    constantsTouched: []
    func_position:
      end: 963
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 963
    functionName: g_dbus_object_manager_client_get_name
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_return_val_if_fail
    - 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:806,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:807,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:808,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:807,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:808,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:809,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:811,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:823,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 9
    argNames:
    - bus_type
    - flags
    - name
    - object_path
    - get_proxy_type_func
    - get_proxy_type_user_data
    - get_proxy_type_destroy_notify
    - cancellable
    - error
    argTypes:
    - GBusType
    - GDBusObjectManagerClientFlags
    - gchar*
    - gchar*
    - GDBusProxyTypeFunc
    - gpointer
    - GDestroyNotify
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 826
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 826
    functionName: g_dbus_object_manager_client_new_for_bus_sync
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - G_DBUS_OBJECT_MANAGER
    - g_dbus_is_name
    - g_return_val_if_fail
    - g_initable_new
    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_OBJECT_CLASS
      Src: /src/glib/gio/gunixinputstream.c:114,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixinputstream.c:136,1
    - Dst: P_
      Src: /src/glib/gio/gunixinputstream.c:139,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gunixinputstream.c:115,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gunixinputstream.c:138,1
    - Dst: P_
      Src: /src/glib/gio/gunixinputstream.c:140,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixinputstream.c:151,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gunixinputstream.c:153,1
    - Dst: P_
      Src: /src/glib/gio/gunixinputstream.c:154,1
    - Dst: P_
      Src: /src/glib/gio/gunixinputstream.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixInputStreamClass*
    constantsTouched: []
    func_position:
      end: 158
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 158
    functionName: g_unix_input_stream_class_init
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_int
    - G_INPUT_STREAM_CLASS
    - g_param_spec_boolean
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_input_stream_class_init (GUnixInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:207,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gunixinputstream.c:215,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gunixinputstream.c:212,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixinputstream.c:218,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: g_unix_input_stream_get_property
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    - G_UNIX_INPUT_STREAM
    - g_value_set_boolean
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gunixinputstream.c:272,1
    - Dst: G_IS_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:272,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gunixinputstream.c:278,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gunixinputstream.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - close_fd
    argTypes:
    - GUnixInputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: g_unix_input_stream_set_close_fd
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - G_IS_UNIX_INPUT_STREAM
    - 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:296,1
    - Dst: G_IS_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GUnixInputStream*
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: g_unix_input_stream_get_close_fd
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_UNIX_INPUT_STREAM
    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:332,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixinputstream.c:356,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixinputstream.c:349,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gunixinputstream.c:337,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixinputstream.c:357,1
    - Dst: _
      Src: /src/glib/gio/gunixinputstream.c:358,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixinputstream.c:359,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gunixinputstream.c:363,1
    - Dst: read
      Src: /src/glib/gio/gunixinputstream.c:369,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixinputstream.c:377,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixinputstream.c:378,1
    - Dst: _
      Src: /src/glib/gio/gunixinputstream.c:379,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixinputstream.c:380,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gunixinputstream.c:387,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: 389
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 389
    functionName: g_unix_input_stream_read
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - g_cancellable_make_pollfd
    - G_UNIX_INPUT_STREAM
    - g_cancellable_set_error_if_cancelled
    - read
    - g_cancellable_release_fd
    - g_poll
    - g_io_error_from_errno
    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:427,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: 429
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 429
    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:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 445
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:182,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixinputstream.c:194,1
    - Dst: _g_fd_is_pollable
      Src: /src/glib/gio/gunixinputstream.c:188,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gunixinputstream.c:187,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gunixinputstream.c:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: g_unix_input_stream_set_property
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_int
    - _g_fd_is_pollable
    - G_UNIX_INPUT_STREAM
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableInputStreamInterface*
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_input_stream_get_instance_private
      Src: /src/glib/gio/gunixinputstream.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - unix_stream
    argTypes:
    - GUnixInputStream*
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    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:399,1
    - Dst: _
      Src: /src/glib/gio/gunixinputstream.c:412,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixinputstream.c:410,1
    - Dst: close
      Src: /src/glib/gio/gunixinputstream.c:405,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixinputstream.c:411,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixinputstream.c:413,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 417
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 417
    functionName: g_unix_input_stream_close
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - G_UNIX_INPUT_STREAM
    - close
    - g_io_error_from_errno
    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:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 439
    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:450,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixinputstream.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 463
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 463
    functionName: g_unix_input_stream_pollable_is_readable
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_poll
    - G_UNIX_INPUT_STREAM
    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:469,1
    - Dst: g_unix_fd_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_OBJECT
      Src: /src/glib/gio/gunixinputstream.c:472,1
    - Dst: g_pollable_source_new
      Src: /src/glib/gio/gunixinputstream.c:472,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
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gunixinputstream.c:481,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gunixinputstream.c:482,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gunixinputstream.c:483,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixinputstream.c:484,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - stream
    - cancellable
    argTypes:
    - GPollableInputStream*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 488
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 488
    functionName: g_unix_input_stream_pollable_create_source
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_UNIX_INPUT_STREAM
    - g_unix_fd_source_new
    - g_cancellable_source_new
    - g_source_unref
    - g_source_add_child_source
    - g_pollable_source_new
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixinputstream.c:248,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixinputstream.c:250,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_fd
    argTypes:
    - gint
    - gboolean
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: g_unix_input_stream_new
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM
    - g_return_val_if_fail
    - 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:314,1
    - Dst: G_IS_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GUnixInputStream*
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: g_unix_input_stream_get_fd
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_UNIX_INPUT_STREAM
    linkageType: ''
    returnType: gint
    signature: 'gint g_unix_input_stream_get_fd (GUnixInputStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gportalsupport.c:47,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gportalsupport.c:60,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_sync
    - g_spawn_check_wait_status
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gportalsupport.c:69,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/gportalsupport.c:89,1
    - Dst: glib_get_sandbox_type
      Src: /src/glib/gio/gportalsupport.c:72,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gportalsupport.c:85,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gportalsupport.c:89,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_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
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gportalsupport.c:136,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/gportalsupport.c:118,1
    - Dst: strcmp
      Src: /src/glib/gio/gportalsupport.c:108,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_free
    - g_once_init_enter
    - g_clear_pointer
    - g_key_file_get_string_list
    - glib_get_sandbox_type
    - g_build_filename
    - g_get_user_runtime_dir
    - g_key_file_load_from_file
    - g_strfreev
    - g_key_file_unref
    - g_getenv
    - g_strv_contains
    - g_once_init_leave
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void sandbox_info_read (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: 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:1407,1
    - Dst: g_output_stream_writev_finish
      Src: /src/glib/gio/goutputstream.c:1417,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1417,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:1408,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:1409,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_writev_async
      Src: /src/glib/gio/goutputstream.c:1450,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1450,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1447,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:1455,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_warn_if_fail
    - g_output_stream_writev_async
    - g_object_unref
    - g_output_stream_writev_finish
    - g_steal_pointer
    - g_task_return_boolean
    - g_task_return_error
    - g_task_get_priority
    - G_OUTPUT_STREAM
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void writev_all_callback (GObject *stream, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:2033,1
    - Dst: G_IS_OUTPUT_STREAM
      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_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_set_priority
    - g_output_stream_internal_close_async
    - G_IS_OUTPUT_STREAM
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_output_stream_set_pending
    - g_task_return_error
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_output_stream_close_async (GOutputStream *stream, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1464,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:1469,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_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_steal_pointer
    - g_task_return_boolean
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_get_cancellable
    - g_output_stream_writev_all
    linkageType: ''
    returnType: void
    signature: 'static void writev_all_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:376,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:378,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: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:397,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
    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_IS_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - g_warn_if_fail
    - G_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - G_IS_CANCELLABLE
    - g_cancellable_push_current
    - g_return_val_if_fail
    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_set_priority
      Src: /src/glib/gio/goutputstream.c:1875,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_new
      Src: /src/glib/gio/goutputstream.c:1873,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_set_priority
    - G_IS_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_task_return_boolean
    - g_task_return_error
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_output_stream_flush_async (GOutputStream *stream, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2319,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/goutputstream.c:2350,1
    - Dst: g_clear_error
      Src: /src/glib/gio/goutputstream.c:2346,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: 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: G_INPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2707,1
    - Dst: real_splice_async_complete_cb
      Src: /src/glib/gio/goutputstream.c:2710,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
    - g_input_stream_close_finish
    - g_task_get_task_data
    - real_splice_async_complete_cb
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_close_input_cb (GObject *source, 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_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2719,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2722,1
    - Dst: g_output_stream_internal_close_finish
      Src: /src/glib/gio/goutputstream.c:2722,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:
    - G_TASK
    - real_splice_async_complete_cb
    - g_output_stream_internal_close_finish
    - G_OUTPUT_STREAM
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_close_output_cb (GObject *source, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:2063,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:2069,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:2064,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_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_set_priority
    - g_object_unref
    - g_task_new
    - g_task_set_source_tag
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_boolean
    linkageType: ''
    returnType: void
    signature: 'void g_output_stream_internal_close_async (GOutputStream *stream,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2766,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_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2767,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_source_object
    - G_TASK
    - g_input_stream_read_async
    - G_OUTPUT_STREAM_GET_CLASS
    - real_splice_async_complete
    - g_task_get_priority
    - G_OUTPUT_STREAM
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_write_cb (GObject *source, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/goutputstream.c:1659,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:1661,1
    - Dst: g_bytes_ref
      Src: /src/glib/gio/goutputstream.c:1663,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_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_output_stream_write_async
    - g_bytes_get_data
    - g_task_set_task_data
    - g_task_new
    - g_task_set_source_tag
    - g_bytes_ref
    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: 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_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2812,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: 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_source_object
    - G_TASK
    - G_OUTPUT_STREAM_GET_CLASS
    - g_input_stream_read_finish
    - real_splice_async_complete
    - g_task_get_priority
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_read_cb (GObject *source, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/goutputstream.c:1614,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
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1617,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_output_stream_write_finish
    - g_object_unref
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_return_int
    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:1806,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:1807,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1805,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_task_is_valid
    - G_TASK
    - G_IS_OUTPUT_STREAM
    - g_async_result_is_tagged
    - g_task_propagate_int
    - g_return_val_if_fail
    linkageType: ''
    returnType: gssize
    signature: "gssize g_output_stream_splice_finish (GOutputStream *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/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_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    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:2481,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:2481,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2483,1
    - Dst: g_task_propagate_int
      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_is_valid
    - g_task_propagate_int
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_output_stream_real_write_finish (GOutputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:296,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:297,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/goutputstream.c:302,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:296,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:310,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: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: g_output_stream_write_all
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    - g_output_stream_write
    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_CANCELLABLE
      Src: /src/glib/gio/goutputstream.c:603,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_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:
    - strlen
    - g_free
    - g_strdup_vprintf
    - G_IS_OUTPUT_STREAM
    - G_IS_CANCELLABLE
    - g_output_stream_write_all
    - g_return_val_if_fail
    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_async_result_legacy_propagate_error
      Src: /src/glib/gio/goutputstream.c:1828,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_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_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_object_unref
    - g_task_return_boolean
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_flush_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: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_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_is_closed (GOutputStream *stream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:215,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:224,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:215,1
    - Dst: g_set_error
      Src: /src/glib/gio/goutputstream.c:223,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:216,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:228,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/goutputstream.c:232,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:233,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:237,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/goutputstream.c:241,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:248,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/goutputstream.c:246,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 251
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 251
    functionName: g_output_stream_write
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_pop_current
    - _
    - G_IS_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_cancellable_push_current
    - g_set_error_literal
    - g_return_val_if_fail
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2202,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:2207,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_IS_OUTPUT_STREAM
    - g_set_error_literal
    - g_return_val_if_fail
    - _
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_output_stream_set_pending (GOutputStream *stream,\t\t\t
      GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2421,1
    - Dst: g_error_matches
      Src: /src/glib/gio/goutputstream.c:2430,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_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_int
      Src: /src/glib/gio/goutputstream.c:2447,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2445,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_attach_source
    - g_error_matches
    - g_error_free
    - g_task_return_error_if_cancelled
    - g_pollable_output_stream_create_source
    - g_task_return_int
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    - g_source_unref
    - g_task_return_error
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void write_async_pollable (GPollableOutputStream *stream, GTask
      *task) '
  - 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_object_unref
    - g_task_set_priority
    - g_task_new
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/goutputstream.c:2462,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:2465,1
    - Dst: g_output_stream_async_write_is_via_threads
      Src: /src/glib/gio/goutputstream.c:2469,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: 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:
    - g_output_stream_async_write_is_via_threads
    - g_slice_new0
    - g_task_set_task_data
    - G_POLLABLE_OUTPUT_STREAM
    - write_async_pollable
    - g_task_run_in_thread
    - g_task_new
    - g_object_unref
    - g_task_set_check_cancellable
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2942,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2944,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
    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_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_real_flush_finish (GOutputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_get_instance_private
      Src: /src/glib/gio/goutputstream.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    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: 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_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    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:
    - va_end
    - g_output_stream_vprintf
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_printf (GOutputStream *stream, gsize *bytes_written,
      GCancellable *cancellable, GError **error, const gchar *format, ...) '
  - 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: 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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/goutputstream.c:2867,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_object_ref
      Src: /src/glib/gio/goutputstream.c:2871,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_cancellable
      Src: /src/glib/gio/goutputstream.c:2884,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:2883,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_object_ref
    - g_output_stream_async_write_is_via_threads
    - g_new0
    - g_task_set_task_data
    - g_input_stream_read_async
    - g_task_run_in_thread
    - g_task_new
    - g_object_unref
    - g_input_stream_async_read_is_via_threads
    - g_task_get_priority
    - g_malloc
    - g_task_get_cancellable
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:461,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:463,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: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_IS_OUTPUT_STREAM
    - G_IS_CANCELLABLE
    - g_output_stream_writev
    - g_return_val_if_fail
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2274,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2274,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2279,1
    - Dst: g_pollable_output_stream_can_poll
      Src: /src/glib/gio/goutputstream.c:2280,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2276,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_IS_POLLABLE_OUTPUT_STREAM
    - G_POLLABLE_OUTPUT_STREAM
    - G_IS_OUTPUT_STREAM
    - G_OUTPUT_STREAM_GET_CLASS
    - g_pollable_output_stream_can_poll
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_async_writev_is_via_threads (GOutputStream
      *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      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_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_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_IS_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - g_output_stream_internal_close
    - g_output_stream_set_pending
    - g_return_val_if_fail
    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_if_fail
      Src: /src/glib/gio/goutputstream.c:1335,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/goutputstream.c:1337,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1337,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1336,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1335,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_IS_CANCELLABLE
    - G_OUTPUT_STREAM_GET_CLASS
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1914,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1914,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:1915,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_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_is_valid
    - G_TASK
    - G_IS_OUTPUT_STREAM
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_flush_finish (GOutputStream *stream, GAsyncResult
      *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:951,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_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:957,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_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_object_unref
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_return_int
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_write_callback_wrapper (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1930,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1940,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:1933,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/goutputstream.c:1938,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_OUTPUT_STREAM_GET_CLASS
    - g_object_unref
    - g_task_return_boolean
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_get_task_data
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_close_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_cancellable_push_current
    - G_OUTPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_internal_close (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:766,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/goutputstream.c:775,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_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_OUTPUT_STREAM_GET_CLASS
    - g_input_stream_close
    - g_output_stream_internal_close
    - g_set_error_literal
    - g_input_stream_read
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_output_stream_real_splice (GOutputStream *stream,
      GInputStream *source, GOutputStreamSpliceFlags flags, GCancellable *cancellable,
      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:1372,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/goutputstream.c:1371,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1370,1
    - Dst: g_return_val_if_fail
      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_IS_ASYNC_RESULT
    - G_IS_OUTPUT_STREAM
    - g_warn_if_fail
    - G_OUTPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_writev_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:2296,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2298,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2296,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_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    - G_OUTPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_async_close_is_via_threads (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_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1210,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_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: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1229,1
    - Dst: write_all_callback
      Src: /src/glib/gio/goutputstream.c:1232,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:
    - G_OBJECT
    - g_output_stream_async_write_is_via_threads
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_task_data
    - G_IS_OUTPUT_STREAM
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - write_all_callback
    - g_return_if_fail
    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_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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2731,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/goutputstream.c:2737,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:2737,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_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_source_object
    - g_input_stream_close_async
    - real_splice_async_complete_cb
    - g_output_stream_internal_close_async
    - g_task_get_priority
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_complete (GTask *task) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2541,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2557,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/goutputstream.c:2548,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/goutputstream.c:2545,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_assert_not_reached
      Src: /src/glib/gio/goutputstream.c:2578,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2575,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2573,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:2575,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_attach_source
    - g_warn_if_fail
    - g_assert_not_reached
    - g_task_return_error_if_cancelled
    - g_steal_pointer
    - g_pollable_output_stream_create_source
    - g_task_return_boolean
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    - g_source_unref
    - g_task_return_error
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void writev_async_pollable (GPollableOutputStream *stream,
      GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2510,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2515,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_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_warn_if_fail
    - G_OUTPUT_STREAM_GET_CLASS
    - g_steal_pointer
    - g_task_return_boolean
    - 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_object_unref
      Src: /src/glib/gio/goutputstream.c:2624,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2615,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2620,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_output_stream_async_writev_is_via_threads
      Src: /src/glib/gio/goutputstream.c:2619,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_set_priority
    - g_slice_new0
    - g_task_set_task_data
    - writev_async_pollable
    - G_POLLABLE_OUTPUT_STREAM
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_set_check_cancellable
    - g_steal_pointer
    - g_output_stream_set_pending
    - g_output_stream_async_writev_is_via_threads
    - g_task_return_boolean
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:731,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:732,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_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_IS_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - g_output_stream_set_pending
    - g_input_stream_is_closed
    - g_cancellable_push_current
    - g_set_error_literal
    - 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: 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_task_return_error
      Src: /src/glib/gio/goutputstream.c:1126,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1122,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/goutputstream.c:1122,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_priority
      Src: /src/glib/gio/goutputstream.c:1147,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1144,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:1148,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_output_stream_write_async
    - g_assert_cmpint
    - g_output_stream_write_finish
    - g_warn_if_fail
    - g_object_unref
    - g_task_return_boolean
    - g_task_return_error
    - g_task_get_priority
    - G_OUTPUT_STREAM
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void write_all_callback (GObject *stream, GAsyncResult *result,
      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_get_cancellable
      Src: /src/glib/gio/goutputstream.c:1163,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1166,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_output_stream_write_all
    - g_task_get_cancellable
    - 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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1265,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:1268,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1266,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:1266,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1265,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_is_valid
    - G_TASK
    - G_IS_OUTPUT_STREAM
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_write_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:1086,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1088,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_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1086,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_task_is_valid
    - G_TASK
    - G_IS_OUTPUT_STREAM
    - g_async_result_is_tagged
    - g_task_propagate_int
    - g_return_val_if_fail
    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_IS_OUTPUT_STREAM
      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_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2257,1
    - Dst: g_pollable_output_stream_can_poll
      Src: /src/glib/gio/goutputstream.c:2258,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_IS_POLLABLE_OUTPUT_STREAM
    - G_POLLABLE_OUTPUT_STREAM
    - G_IS_OUTPUT_STREAM
    - G_OUTPUT_STREAM_GET_CLASS
    - g_pollable_output_stream_can_poll
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_async_write_is_via_threads (GOutputStream
      *stream) '
  - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1034,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1035,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:1038,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:1037,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1034,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_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_object_unref
      Src: /src/glib/gio/goutputstream.c:1053,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1064,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1059,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_set_priority
    - _
    - G_IS_OUTPUT_STREAM
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_task_return_error
    - g_task_return_new_error
    - g_task_return_int
    - g_return_if_fail
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      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_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_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_IS_OUTPUT_STREAM
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_cancellable_push_current
    - g_return_val_if_fail
    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:1690,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/goutputstream.c:1693,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_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1690,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_task_is_valid
    - G_TASK
    - G_IS_OUTPUT_STREAM
    - g_task_propagate_int
    - g_return_val_if_fail
    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_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_task_set_task_data
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_get_priority
    - G_OUTPUT_STREAM
    - g_task_get_cancellable
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_close_flushed_callback_wrapper (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1701,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/goutputstream.c:1709,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:1707,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1713,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_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_object_unref
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_task_return_int
    - g_async_result_legacy_propagate_error
    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
      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_boolean
      Src: /src/glib/gio/goutputstream.c:1998,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_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_output_stream_clear_pending
    - g_object_unref
    - g_task_return_boolean
    - g_task_return_error
    - g_output_stream_internal_close_finish
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void real_close_async_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2635,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:2635,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_async_result_is_tagged
      Src: /src/glib/gio/goutputstream.c:2636,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_is_valid
    - G_TASK
    - g_output_stream_clear_pending
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_real_writev_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:2123,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2125,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:2124,1
    - Dst: g_task_is_valid
      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_is_valid
    - G_TASK
    - G_IS_OUTPUT_STREAM
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_close_finish (GOutputStream *stream, GAsyncResult
      *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1756,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1757,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1757,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1756,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: _
      Src: /src/glib/gio/goutputstream.c:1768,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1780,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1775,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/goutputstream.c:1766,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_object_ref
    - g_task_set_priority
    - _
    - g_task_set_task_data
    - G_IS_OUTPUT_STREAM
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_input_stream_is_closed
    - g_task_return_error
    - G_IS_INPUT_STREAM
    - g_task_return_new_error
    - g_return_if_fail
    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_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2894,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2896,1
    - Dst: g_task_propagate_int
      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_is_valid
    - g_task_propagate_int
    - g_return_val_if_fail
    - G_TASK
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:136,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/goutputstream.c:141,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/goutputstream.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: g_output_stream_dispose
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM
    - G_OBJECT_CLASS
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void g_output_stream_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1520,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1519,1
    - Dst: writev_all_callback
      Src: /src/glib/gio/goutputstream.c:1556,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:1556,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1518,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_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:1528,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1540,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:1538,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1518,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_OBJECT
      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: G_IS_CANCELLABLE
      Src: /src/glib/gio/goutputstream.c:1520,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1553,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_OBJECT
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_task_data
    - _
    - G_IS_OUTPUT_STREAM
    - writev_all_callback
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_output_stream_async_writev_is_via_threads
    - g_steal_pointer
    - G_IS_CANCELLABLE
    - g_task_return_new_error
    - g_return_if_fail
    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_clear_pointer
      Src: /src/glib/gio/goutputstream.c:2667,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2668,1
    - Dst: g_clear_error
      Src: /src/glib/gio/goutputstream.c:2669,1
    - Dst: g_free
      Src: /src/glib/gio/goutputstream.c:2670,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_object_unref
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: 'static void free_splice_data (SpliceData *op) '
  - 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_OBJECT_CLASS
      Src: /src/glib/gio/goutputstream.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 164
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2676,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2696,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
    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_object_unref
    - g_task_return_int
    - g_task_get_task_data
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_complete_cb (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:2999,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/goutputstream.c:3001,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
    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_object_unref
    - g_task_set_priority
    - g_task_new
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:3010,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/goutputstream.c:3012,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
    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_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_real_close_finish (GOutputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2100,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:2101,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_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_is_valid
    - G_TASK
    - G_IS_OUTPUT_STREAM
    - g_task_propagate_boolean
    - g_async_result_is_tagged
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_internal_close_finish (GOutputStream
      *stream, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1589,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:1590,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1591,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_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_is_valid
    - G_TASK
    - G_IS_OUTPUT_STREAM
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_writev_all_finish (GOutputStream *stream,
      GAsyncResult *result, gsize *bytes_written, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:77,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32outputstream.c:88,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gwin32outputstream.c:82,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gwin32outputstream.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: g_win32_output_stream_set_property
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - G_WIN32_OUTPUT_STREAM
    - g_value_get_pointer
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32outputstream.c:233,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gwin32outputstream.c:234,1
    - Dst: P_
      Src: /src/glib/gio/gwin32outputstream.c:251,1
    - Dst: P_
      Src: /src/glib/gio/gwin32outputstream.c:252,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gwin32outputstream.c:250,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gwin32outputstream.c:266,1
    - Dst: P_
      Src: /src/glib/gio/gwin32outputstream.c:267,1
    - Dst: P_
      Src: /src/glib/gio/gwin32outputstream.c:268,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gwin32outputstream.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32OutputStreamClass*
    constantsTouched: []
    func_position:
      end: 275
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 275
    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
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_output_stream_class_init (GWin32OutputStreamClass
      *klass) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:129,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gwin32outputstream.c:131,1
    - Dst: WriteFile
      Src: /src/glib/gio/gwin32outputstream.c:142,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gwin32outputstream.c:139,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32outputstream.c:140,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32outputstream.c:147,1
    - Dst: _g_win32_overlap_wait_result
      Src: /src/glib/gio/gwin32outputstream.c:150,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gwin32outputstream.c:157,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32outputstream.c:160,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gwin32outputstream.c:170,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32outputstream.c:172,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32outputstream.c:171,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32outputstream.c:180,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32outputstream.c:175,1
    - Dst: _
      Src: /src/glib/gio/gwin32outputstream.c:173,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: 182
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 182
    functionName: g_win32_output_stream_write
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - WriteFile
    - _
    - g_win32_error_message
    - g_free
    - G_WIN32_OUTPUT_STREAM
    - CloseHandle
    - g_cancellable_set_error_if_cancelled
    - g_io_error_from_win32_error
    - CreateEvent
    - GetLastError
    - g_return_val_if_fail
    - _g_win32_overlap_wait_result
    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_return_val_if_fail
      Src: /src/glib/gio/gwin32outputstream.c:306,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32outputstream.c:308,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - close_handle
    argTypes:
    - void*
    - gboolean
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: g_win32_output_stream_new
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_OUTPUT_STREAM
    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:372,1
    - Dst: G_IS_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GWin32OutputStream*
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 375
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:192,1
    - Dst: _
      Src: /src/glib/gio/gwin32outputstream.c:205,1
    - Dst: close
      Src: /src/glib/gio/gwin32outputstream.c:199,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32outputstream.c:204,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32outputstream.c:203,1
    - Dst: g_strerror
      Src: /src/glib/gio/gwin32outputstream.c:206,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32outputstream.c:212,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32outputstream.c:215,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gwin32outputstream.c:216,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32outputstream.c:218,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32outputstream.c:222,1
    - Dst: _
      Src: /src/glib/gio/gwin32outputstream.c:220,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32outputstream.c:219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 228
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 228
    functionName: g_win32_output_stream_close
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_strerror
    - G_WIN32_OUTPUT_STREAM
    - CloseHandle
    - close
    - g_io_error_from_win32_error
    - GetLastError
    - g_win32_error_message
    - g_io_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_win32_output_stream_close (GOutputStream *stream,\t\t\t
      GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:101,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gwin32outputstream.c:106,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gwin32outputstream.c:109,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32outputstream.c:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: g_win32_output_stream_get_property
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_pointer
    - G_WIN32_OUTPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_output_stream_get_instance_private
      Src: /src/glib/gio/gwin32outputstream.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - win32_stream
    argTypes:
    - GWin32OutputStream*
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    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:383,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gwin32outputstream.c:383,1
    - Dst: g_win32_output_stream_new
      Src: /src/glib/gio/gwin32outputstream.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_fd
    argTypes:
    - gint
    - gboolean
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: g_win32_output_stream_new_from_fd
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - G_WIN32_OUTPUT_STREAM
    - g_win32_output_stream_new
    - _get_osfhandle
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_win32_output_stream_new_from_fd (gint fd, gboolean
      close_fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32outputstream.c:330,1
    - Dst: G_IS_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:330,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gwin32outputstream.c:336,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gwin32outputstream.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - close_handle
    argTypes:
    - GWin32OutputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 338
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 338
    functionName: g_win32_output_stream_set_close_handle
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - G_IS_WIN32_OUTPUT_STREAM
    - 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:354,1
    - Dst: G_IS_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GWin32OutputStream*
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    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_decoded_uri_free
    - g_free
    - G_OBJECT_CLASS
    - G_DUMMY_FILE
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_file_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_new
    - G_DUMMY_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_dummy_file_dup (GFile *file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:252,1
    - Dst: match_prefix
      Src: /src/glib/gio/gdummyfile.c:275,1
    - Dst: uri_same_except_path
      Src: /src/glib/gio/gdummyfile.c:259,1
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:253,1
    - Dst: match_prefix
      Src: /src/glib/gio/gdummyfile.c:262,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:
    - match_prefix
    - uri_same_except_path
    - G_DUMMY_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dummy_file_prefix_matches (GFile *parent, GFile
      *descendant) '
  - 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_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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_strdup
    - G_DUMMY_FILE
    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_str_hash
    - G_DUMMY_FILE
    linkageType: ''
    returnType: guint
    signature: 'static guint g_dummy_file_hash (GFile *file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:293,1
    - Dst: uri_same_except_path
      Src: /src/glib/gio/gdummyfile.c:300,1
    - Dst: match_prefix
      Src: /src/glib/gio/gdummyfile.c:303,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:310,1
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:294,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: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    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_strdup
    - unescape_string
    - uri_same_except_path
    - G_DUMMY_FILE
    - match_prefix
    linkageType: ''
    returnType: char*
    signature: "static char *g_dummy_file_get_relative_path (GFile *parent,\t\t\t\tGFile
      *descendant) "
  - 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_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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_strdup
    - G_DUMMY_FILE
    linkageType: ''
    returnType: char*
    signature: 'static char *g_dummy_file_get_parse_name (GFile *file) '
  - 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: 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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_path_get_basename
    - G_DUMMY_FILE
    linkageType: ''
    returnType: char*
    signature: 'static char *g_dummy_file_get_basename (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:154,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdummyfile.c:161,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:168,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_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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_DUMMY_FILE
    - g_free
    - g_strcmp0
    - g_path_get_dirname
    - _g_dummy_file_new
    - strcmp
    - _g_encode_uri
    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:693,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:698,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:
    - is_valid
    - g_string_append_c
    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
      Src: /src/glib/gio/gdummyfile.c:714,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdummyfile.c:713,1
    - Dst: g_string_append_encoded
      Src: /src/glib/gio/gdummyfile.c:721,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
      Src: /src/glib/gio/gdummyfile.c:739,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:745,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - decoded
    argTypes:
    - GDecodedUri*
    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_new
    - g_string_append
    - g_string_append_printf
    - g_string_append_c
    - g_string_append_encoded
    - g_string_free
    linkageType: ''
    returnType: char*
    signature: 'static char *_g_encode_uri (GDecodedUri *decoded) '
  - 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: 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: 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:362,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - file
    - relative_path
    argTypes:
    - GFile*
    - char*
    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_strdup
    - g_string_new
    - g_string_append
    - g_free
    - g_build_filename
    - g_string_append_encoded
    - _g_dummy_file_new
    - G_DUMMY_FILE
    - g_string_free
    - _g_encode_uri
    - 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_ascii_strcasecmp
    - G_DUMMY_FILE
    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: g_free
      Src: /src/glib/gio/gdummyfile.c:466,1
    - Dst: strchr
      Src: /src/glib/gio/gdummyfile.c:475,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdummyfile.c:455,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: 3
    argNames:
    - escaped_string
    - escaped_string_end
    - illegal_characters
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 488
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 488
    functionName: unescape_string
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - unescape_character
    - g_warn_if_fail
    - strchr
    - g_malloc
    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_return_val_if_fail
      Src: /src/glib/gio/gdummyfile.c:108,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdummyfile.c:110,1
    - Dst: _g_decode_uri
      Src: /src/glib/gio/gdummyfile.c:112,1
    - Dst: G_FILE
      Src: /src/glib/gio/gdummyfile.c:114,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    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_object_new
    - G_FILE
    - _g_decode_uri
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *_g_dummy_file_new (const char *uri) '
  - 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: 2
    argNames:
    - path
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: match_prefix
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *match_prefix (const char *path, const char *prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/gdummyfile.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - file
    - display_name
    - error
    argTypes:
    - GFile*
    - char*
    - GError**
    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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_strdup
    - G_DUMMY_FILE
    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:498,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:500,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:499,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:497,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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:203,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdummyfile.c:206,1
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:204,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_str_equal
    - G_DUMMY_FILE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_dummy_file_equal (GFile *file1,\t\t GFile *file2) "
  - 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_new0
      Src: /src/glib/gio/gdummyfile.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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: 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: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalpha
      Src: /src/glib/gio/gdummyfile.c:534,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: g_strdup
      Src: /src/glib/gio/gdummyfile.c:569,1
    - Dst: memchr
      Src: /src/glib/gio/gdummyfile.c:620,1
    - Dst: _g_decoded_uri_new
      Src: /src/glib/gio/gdummyfile.c:551,1
    - Dst: strchr
      Src: /src/glib/gio/gdummyfile.c:561,1
    - Dst: strchr
      Src: /src/glib/gio/gdummyfile.c:581,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:585,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_tolower
      Src: /src/glib/gio/gdummyfile.c:556,1
    - Dst: strchr
      Src: /src/glib/gio/gdummyfile.c:565,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdummyfile.c:568,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:573,1
    - Dst: memchr
      Src: /src/glib/gio/gdummyfile.c:612,1
    - Dst: strlen
      Src: /src/glib/gio/gdummyfile.c:589,1
    - Dst: unescape_string
      Src: /src/glib/gio/gdummyfile.c:624,1
    - Dst: _g_decoded_uri_free
      Src: /src/glib/gio/gdummyfile.c:627,1
    - Dst: atoi
      Src: /src/glib/gio/gdummyfile.c:640,1
    - Dst: memchr
      Src: /src/glib/gio/gdummyfile.c:635,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdummyfile.c:648,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    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:
    - strlen
    - g_strdup
    - g_ascii_isalpha
    - unescape_string
    - g_strndup
    - g_ascii_tolower
    - atoi
    - g_ascii_isalnum
    - strchr
    - _g_decoded_uri_free
    - memchr
    - g_malloc
    - _g_decoded_uri_new
    linkageType: ''
    returnType: GDecodedUri*
    signature: 'GDecodedUri *_g_decode_uri (const char *uri) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilenamecompleter.c:96,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gfilenamecompleter.c:107,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gfilenamecompleter.c:104,1
    - Dst: I_
      Src: /src/glib/gio/gfilenamecompleter.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFilenameCompleterClass*
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: g_filename_completer_class_init
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new
    - G_OBJECT_CLASS
    - I_
    linkageType: ''
    returnType: void
    signature: 'static void g_filename_completer_class_init (GFilenameCompleterClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gfilenamecompleter.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:151,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:153,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfilenamecompleter.c:156,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:158,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - LoadBasenamesData*
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: load_basenames_data_free
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    - g_object_unref
    - g_free
    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:268,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:279,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfilenamecompleter.c:272,1
    - Dst: g_file_enumerate_children_finish
      Src: /src/glib/gio/gfilenamecompleter.c:272,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfilenamecompleter.c:280,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfilenamecompleter.c:283,1
    - Dst: load_basenames_data_free
      Src: /src/glib/gio/gfilenamecompleter.c:287,1
    - Dst: g_file_enumerator_next_files_async
      Src: /src/glib/gio/gfilenamecompleter.c:291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 296
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 296
    functionName: got_enum
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_FILE
    - g_object_unref
    - g_file_enumerate_children_finish
    - load_basenames_data_free
    - g_file_enumerator_next_files_async
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: "static void got_enum (GObject *source_object,\t GAsyncResult *res,\t
      gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gfilenamecompleter.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - completer
    argTypes:
    - GFilenameCompleter*
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 337
    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:474,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gfilenamecompleter.c:479,1
    - Dst: G_IS_FILENAME_COMPLETER
      Src: /src/glib/gio/gfilenamecompleter.c:474,1
    - Dst: init_completion
      Src: /src/glib/gio/gfilenamecompleter.c:477,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilenamecompleter.c:475,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gfilenamecompleter.c:484,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfilenamecompleter.c:485,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gfilenamecompleter.c:486,1
    - Dst: strlen
      Src: /src/glib/gio/gfilenamecompleter.c:486,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:489,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfilenamecompleter.c:491,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gfilenamecompleter.c:493,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - completer
    - initial_text
    argTypes:
    - GFilenameCompleter*
    - char*
    constantsTouched: []
    func_position:
      end: 494
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 494
    functionName: g_filename_completer_get_completions
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - strlen
    - init_completion
    - g_free
    - G_IS_FILENAME_COMPLETER
    - g_ptr_array_free
    - g_return_val_if_fail
    - g_str_has_prefix
    - g_strconcat
    - g_ptr_array_new
    - g_ptr_array_add
    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:508,1
    - Dst: G_IS_FILENAME_COMPLETER
      Src: /src/glib/gio/gfilenamecompleter.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - completer
    - dirs_only
    argTypes:
    - GFilenameCompleter*
    - gboolean
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 511
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILENAME_COMPLETER
      Src: /src/glib/gio/gfilenamecompleter.c:81,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:86,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfilenamecompleter.c:88,1
    - Dst: cancel_load_basenames
      Src: /src/glib/gio/gfilenamecompleter.c:83,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilenamecompleter.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: g_filename_completer_finalize
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_FILENAME_COMPLETER
    - cancel_load_basenames
    - G_OBJECT_CLASS
    - g_list_free_full
    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: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    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:138,1
    - Dst: g_utf8_next_char
      Src: /src/glib/gio/gfilenamecompleter.c:141,1
    - Dst: g_utf8_next_char
      Src: /src/glib/gio/gfilenamecompleter.c:140,1
    - Dst: g_utf8_get_char
      Src: /src/glib/gio/gfilenamecompleter.c:138,1
    - Dst: g_strndup
      Src: /src/glib/gio/gfilenamecompleter.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: longest_common_prefix
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_utf8_get_char
    - g_utf8_next_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:194,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gfilenamecompleter.c:216,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gfilenamecompleter.c:220,1
    - Dst: load_basenames_data_free
      Src: /src/glib/gio/gfilenamecompleter.c:253,1
    - Dst: load_basenames_data_free
      Src: /src/glib/gio/gfilenamecompleter.c:177,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfilenamecompleter.c:188,1
    - Dst: g_file_enumerator_next_files_finish
      Src: /src/glib/gio/gfilenamecompleter.c:181,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:223,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:217,1
    - Dst: g_file_enumerator_close_async
      Src: /src/glib/gio/gfilenamecompleter.c:250,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfilenamecompleter.c:243,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:242,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gfilenamecompleter.c:195,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/gio/gfilenamecompleter.c:209,1
    - Dst: g_file_enumerator_next_files_async
      Src: /src/glib/gio/gfilenamecompleter.c:231,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gfilenamecompleter.c:252,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:190,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:198,1
    - Dst: g_uri_escape_string
      Src: /src/glib/gio/gfilenamecompleter.c:204,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfilenamecompleter.c:245,1
    - Dst: g_list_free
      Src: /src/glib/gio/gfilenamecompleter.c:226,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 255
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 255
    functionName: got_more_files
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_uri_escape_string
    - g_object_ref
    - g_free
    - g_file_info_get_name
    - g_object_unref
    - load_basenames_data_free
    - g_filename_to_utf8
    - g_list_prepend
    - g_file_info_get_file_type
    - g_file_enumerator_close_async
    - g_signal_emit
    - g_list_free
    - g_file_enumerator_next_files_async
    - g_strconcat
    - g_list_free_full
    - g_file_enumerator_next_files_finish
    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:305,1
    - Dst: g_new0
      Src: /src/glib/gio/gfilenamecompleter.c:307,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gfilenamecompleter.c:309,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfilenamecompleter.c:310,1
    - Dst: g_file_enumerate_children_async
      Src: /src/glib/gio/gfilenamecompleter.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - completer
    - dir
    - should_escape
    argTypes:
    - GFilenameCompleter*
    - GFile*
    - gboolean
    constantsTouched: []
    func_position:
      end: 321
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 321
    functionName: schedule_load_basenames
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_new0
    - g_cancellable_new
    - g_file_enumerate_children_async
    - cancel_load_basenames
    linkageType: ''
    returnType: void
    signature: "static void schedule_load_basenames (GFilenameCompleter *completer,\t\t\t
      GFile *dir,\t\t\t gboolean should_escape) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gfilenamecompleter.c:354,1
    - Dst: strlen
      Src: /src/glib/gio/gfilenamecompleter.c:356,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:366,1
    - Dst: g_file_parse_name
      Src: /src/glib/gio/gfilenamecompleter.c:362,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/gfilenamecompleter.c:363,1
    - Dst: g_file_equal
      Src: /src/glib/gio/gfilenamecompleter.c:372,1
    - Dst: schedule_load_basenames
      Src: /src/glib/gio/gfilenamecompleter.c:374,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:375,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/gfilenamecompleter.c:379,1
    - Dst: g_uri_escape_string
      Src: /src/glib/gio/gfilenamecompleter.c:383,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:390,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:384,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/gio/gfilenamecompleter.c:389,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - completer
    - initial_text
    - basename_out
    argTypes:
    - GFilenameCompleter*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 399
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 399
    functionName: init_completion
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - strlen
    - g_uri_escape_string
    - g_file_get_basename
    - g_free
    - g_object_unref
    - g_filename_to_utf8
    - g_file_get_parent
    - g_file_equal
    - g_file_parse_name
    - schedule_load_basenames
    - 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:422,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gfilenamecompleter.c:433,1
    - Dst: init_completion
      Src: /src/glib/gio/gfilenamecompleter.c:425,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilenamecompleter.c:423,1
    - Dst: G_IS_FILENAME_COMPLETER
      Src: /src/glib/gio/gfilenamecompleter.c:422,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfilenamecompleter.c:436,1
    - Dst: strlen
      Src: /src/glib/gio/gfilenamecompleter.c:436,1
    - Dst: longest_common_prefix
      Src: /src/glib/gio/gfilenamecompleter.c:439,1
    - Dst: strlen
      Src: /src/glib/gio/gfilenamecompleter.c:440,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:441,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:450,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - completer
    - initial_text
    argTypes:
    - GFilenameCompleter*
    - char*
    constantsTouched: []
    func_position:
      end: 453
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 453
    functionName: g_filename_completer_get_completion_suffix
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - init_completion
    - g_free
    - G_IS_FILENAME_COMPLETER
    - g_str_has_prefix
    - g_return_val_if_fail
    - longest_common_prefix
    linkageType: ''
    returnType: char*
    signature: "char *g_filename_completer_get_completion_suffix (GFilenameCompleter
      *completer,\t\t\t\t\t const char *initial_text) "
  - 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: 3
    argNames:
    - data
    - len
    - indent
    argTypes:
    - gchar*
    - gsize
    - guint
    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_new
    - g_string_append
    - g_string_append_printf
    - g_string_append_c
    - g_string_free
    - g_ascii_isprint
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_hexdump (const gchar *data, gsize len, guint indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:980,1
    - Dst: write_message_continue_writing
      Src: /src/glib/gio/gdbusprivate.c:981,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 983
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 983
    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: 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_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1182,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gdbusprivate.c:1184,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_error_copy
    - g_cond_signal
    - g_mutex_unlock
    - 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_atomic_int_inc
      Src: /src/glib/gio/gdbusprivate.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 450
    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_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1156,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusprivate.c:1158,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
    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_is_valid
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_TASK
    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_error_free
      Src: /src/glib/gio/gdbusprivate.c:1543,1
    - Dst: message_to_write_data_free
      Src: /src/glib/gio/gdbusprivate.c:1524,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/gdbusprivate.c:1471,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:1473,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_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1521,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:1540,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1503,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_queue_pop_head
      Src: /src/glib/gio/gdbusprivate.c:1482,1
    - Dst: _g_dbus_worker_emit_message_about_to_be_sent
      Src: /src/glib/gio/gdbusprivate.c:1513,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusprivate.c:1541,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1523,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/gdbusprivate.c:1531,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1454,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:1464,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:
    - write_message_async
    - g_free
    - g_queue_pop_head
    - g_assert
    - _g_dbus_worker_ref
    - g_input_stream_has_pending
    - _g_dbus_worker_emit_message_about_to_be_sent
    - message_to_write_data_free
    - g_error_free
    - g_warning
    - g_mutex_unlock
    - g_dbus_message_get_serial
    - start_flush
    - prepare_flush_unlocked
    - g_dbus_message_to_blob
    - g_io_stream_close_async
    - g_io_stream_get_input_stream
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void continue_writing (GDBusWorker *worker) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentHwProfileA
      Src: /src/glib/gio/gdbusprivate.c:2403,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gdbusprivate.c:2405,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:2406,1
    - Dst: _
      Src: /src/glib/gio/gdbusprivate.c:2409,1
    - Dst: GetLastError
      Src: /src/glib/gio/gdbusprivate.c:2405,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2410,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdbusprivate.c:2417,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gdbusprivate.c:2449,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gdbusprivate.c:2453,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gdbusprivate.c:2458,1
    - Dst: g_ascii_isupper
      Src: /src/glib/gio/gdbusprivate.c:2476,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2488,1
    - Dst: _
      Src: /src/glib/gio/gdbusprivate.c:2460,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:2495,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusprivate.c:2466,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:2458,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:2485,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/gio/gdbusprivate.c:2476,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 2497
      start: 2395
    functionDepth: 0
    functionLinenumber: 2395
    functionLinenumberEnd: 2497
    functionName: _g_dbus_get_machine_id
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_free
    - g_ascii_isupper
    - g_clear_error
    - g_steal_pointer
    - g_ascii_isxdigit
    - GetLastError
    - g_propagate_prefixed_error
    - g_file_get_contents
    - GetCurrentHwProfileA
    - g_malloc
    - g_win32_error_message
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_get_machine_id (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:437,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusprivate.c:440,1
    - Dst: _g_dbus_worker_unref
      Src: /src/glib/gio/gdbusprivate.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - close_data
    argTypes:
    - CloseData*
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gdbusprivate.c:1034,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_error_free
      Src: /src/glib/gio/gdbusprivate.c:1072,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusprivate.c:1070,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_task_return_boolean
      Src: /src/glib/gio/gdbusprivate.c:1092,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1097,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/gdbusprivate.c:1045,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_main_context_get_thread_default
      Src: /src/glib/gio/gdbusprivate.c:1070,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1083,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusprivate.c:1078,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1091,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdbusprivate.c:1029,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1033,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_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1093,1
    - Dst: write_message_continue_writing
      Src: /src/glib/gio/gdbusprivate.c:1097,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1038,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusprivate.c:1071,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1079,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: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1098
    functionName: if
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_socket_send_message
    - g_steal_pointer
    - g_source_unref
    - g_main_context_get_thread_default
    - g_source_attach
    - g_error_matches
    - g_object_unref
    - g_socket_create_source
    - write_message_print_transport_debug
    - write_message_continue_writing
    - g_error_free
    - g_task_return_new_error
    - g_unix_fd_list_get_length
    - g_source_set_callback
    - g_unix_fd_message_new_with_fd_list
    - g_assert
    - g_clear_object
    - g_task_return_boolean
    - g_task_return_error
    linkageType: ''
    returnType: else
    signature: 'else if (G_IS_SOCKET_OUTPUT_STREAM (ostream) && data->total_written
      == 0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PostQuitMessage
      Src: /src/glib/gio/gdbusprivate.c:2237,1
    - Dst: TranslateMessage
      Src: /src/glib/gio/gdbusprivate.c:2244,1
    - Dst: DispatchMessage
      Src: /src/glib/gio/gdbusprivate.c:2245,1
    - Dst: GetMessage
      Src: /src/glib/gio/gdbusprivate.c:2239,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:
    - DispatchMessage
    - PostQuitMessage
    - TranslateMessage
    - GetMessage
    linkageType: ''
    returnType: void
    signature: 'static void turn_off_the_starting_cursor (void) '
  - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: turn_off_the_starting_cursor
      Src: /src/glib/gio/gdbusprivate.c:2257,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusprivate.c:2266,1
    - Dst: _g_dbus_daemon_new
      Src: /src/glib/gio/gdbusprivate.c:2263,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusprivate.c:2259,1
    - Dst: open_console_window
      Src: /src/glib/gio/gdbusprivate.c:2260,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_dbus_daemon_get_address
      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: g_main_loop_unref
      Src: /src/glib/gio/gdbusprivate.c:2288,1
    - Dst: unpublish_session_bus
      Src: /src/glib/gio/gdbusprivate.c:2285,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_signal_connect
    - _g_dbus_daemon_new
    - g_error_free
    - turn_off_the_starting_cursor
    - g_object_unref
    - g_main_loop_unref
    - G_CALLBACK
    - g_getenv
    - g_main_loop_new
    - g_main_loop_run
    - _g_dbus_daemon_get_address
    - open_console_window
    - publish_session_bus
    - unpublish_session_bus
    - g_printerr
    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_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_dbus_worker_close
    - _g_dbus_worker_unref
    - g_atomic_int_set
    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_new_tuple
      Src: /src/glib/gio/gdbusprivate.c:2023,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusprivate.c:2015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - GDBusArgInfo**
    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
    - g_variant_type_new_tuple
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *_g_dbus_compute_complete_signature (GDBusArgInfo **args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusprivate.c:2616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - GString*
    - gint
    constantsTouched: []
    func_position:
      end: 2617
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2617
    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: 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_assert
      Src: /src/glib/gio/gdbusprivate.c:1316,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusprivate.c:1324,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:1325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    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_new0
    - g_assert
    - g_list_append
    - _g_dbus_worker_ref
    - g_list_delete_link
    linkageType: ''
    returnType: FlushAsyncData*
    signature: 'static FlushAsyncData *prepare_flush_unlocked (GDBusWorker *worker) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1389,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_clear_error
      Src: /src/glib/gio/gdbusprivate.c:1436,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: g_queue_free_full
      Src: /src/glib/gio/gdbusprivate.c:1430,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_io_stream_close_finish
      Src: /src/glib/gio/gdbusprivate.c:1387,1
    - Dst: g_queue_new
      Src: /src/glib/gio/gdbusprivate.c:1398,1
    - Dst: close_data_free
      Src: /src/glib/gio/gdbusprivate.c:1424,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: _
      Src: /src/glib/gio/gdbusprivate.c:1433,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1400,1
    - Dst: g_list_length
      Src: /src/glib/gio/gdbusprivate.c:1405,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:
    - flush_data_list_complete
    - close_data_free
    - _
    - g_error_new
    - g_assert
    - g_error_copy
    - g_queue_new
    - g_list_delete_link
    - g_clear_error
    - g_mutex_unlock
    - g_list_length
    - g_io_stream_close_finish
    - g_task_return_boolean
    - g_list_free
    - g_task_return_error
    - _g_dbus_worker_unref
    - g_queue_free_full
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void iostream_close_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:880,1
    - Dst: _g_dbus_worker_do_read_unlocked
      Src: /src/glib/gio/gdbusprivate.c:881,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 884
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 884
    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: 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_print
      Src: /src/glib/gio/gdbusprivate.c:1269,1
    - Dst: _g_dbus_debug_message
      Src: /src/glib/gio/gdbusprivate.c:1265,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:1268,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_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:1282,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:1279,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:1280,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_print_lock
    - G_UNLIKELY
    - g_free
    - _g_dbus_debug_print_unlock
    - _g_dbus_debug_message
    - _g_dbus_hexdump
    - g_print
    - _g_dbus_debug_payload
    - g_dbus_message_print
    linkageType: ''
    returnType: void
    signature: 'static void message_written_unlocked (GDBusWorker *worker, MessageToWriteData
      *message_data) '
  - 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: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1354,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1348,1
    - Dst: write_message_finish
      Src: /src/glib/gio/gdbusprivate.c:1352,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:
    - g_assert
    - write_message_finish
    - _g_dbus_worker_emit_disconnected
    - g_error_free
    - message_to_write_data_free
    - continue_writing
    - g_mutex_unlock
    - message_written_unlocked
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void write_message_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusprivate.c:181,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusprivate.c:187,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_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_task_attach_source
    - g_slice_new0
    - g_task_set_task_data
    - g_socket_condition_check
    - g_task_new
    - g_task_set_source_tag
    - g_task_set_name
    - g_source_unref
    - g_socket_create_source
    - _g_socket_read_with_control_messages_ready
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:531,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:543,1
    - Dst: _g_dbus_worker_emit_message_received
      Src: /src/glib/gio/gdbusprivate.c:536,1
    - Dst: g_queue_pop_head
      Src: /src/glib/gio/gdbusprivate.c:534,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:537,1
    - Dst: g_queue_get_length
      Src: /src/glib/gio/gdbusprivate.c:543,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 547
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 547
    functionName: unfreeze_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_queue_get_length
    - g_queue_pop_head
    - _g_dbus_worker_emit_message_received
    - g_assert
    - g_clear_object
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unfreeze_in_idle_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:210,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gdbusprivate.c:213,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusprivate.c:211,1
    - Dst: G_IS_SOCKET
      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
      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_task_is_valid
    - G_IS_SOCKET
    - G_TASK
    - g_task_propagate_int
    - g_return_val_if_fail
    linkageType: ''
    returnType: gssize
    signature: 'static gssize _g_socket_read_with_control_messages_finish (GSocket
      *socket, GAsyncResult *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acquire_mutex
      Src: /src/glib/gio/gdbusprivate.c:2154,1
    - Dst: CreateMutexA
      Src: /src/glib/gio/gdbusprivate.c:2156,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gdbusprivate.c:2160,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gdbusprivate.c:2157,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2159,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:
    - acquire_mutex
    - CreateMutexA
    - CloseHandle
    - release_mutex
    - set_shm
    - WaitForSingleObject
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean publish_session_bus (const char *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_get_length
      Src: /src/glib/gio/gdbusprivate.c:511,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:514,1
    - Dst: _g_dbus_worker_emit_message_received
      Src: /src/glib/gio/gdbusprivate.c:519,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:520,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/gdbusprivate.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - worker
    - message
    argTypes:
    - GDBusWorker*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 522
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 522
    functionName: _g_dbus_worker_queue_or_deliver_received_message
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_queue_get_length
    - _g_dbus_worker_emit_message_received
    - g_clear_object
    - g_steal_pointer
    - g_queue_push_tail
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_queue_or_deliver_received_message (GDBusWorker
      *worker, GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acquire_mutex
      Src: /src/glib/gio/gdbusprivate.c:2183,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2188,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gdbusprivate.c:2185,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2191,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
    - CloseHandle
    - acquire_mutex
    linkageType: ''
    returnType: void
    signature: 'static void unpublish_session_bus (void) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/gio/gdbusprivate.c:2197,1
    - Dst: fflush
      Src: /src/glib/gio/gdbusprivate.c:2201,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: _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:
    - SetConsoleTitleW
    - _
    - fflush
    - fprintf
    - fopen
    - _getch
    linkageType: ''
    returnType: void
    signature: 'static void wait_console_window (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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gdbusprivate.c:299,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbusprivate.c:307,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusprivate.c:303,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gdbusprivate.c:306,1
    - Dst: g_thread_new
      Src: /src/glib/gio/gdbusprivate.c:308,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gdbusprivate.c:312,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusprivate.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 318
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 318
    functionName: _g_dbus_shared_thread_ref
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_once_init_enter
    - g_thread_new
    - g_main_loop_new
    - g_once_init_leave
    - g_atomic_int_inc
    - g_main_context_new
    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:455,1
    - Dst: _g_dbus_shared_thread_unref
      Src: /src/glib/gio/gdbusprivate.c:459,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:461,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusprivate.c:463,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:457,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:464,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:466,1
    - Dst: g_queue_free_full
      Src: /src/glib/gio/gdbusprivate.c:468,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusprivate.c:469,1
    - Dst: g_queue_free_full
      Src: /src/glib/gio/gdbusprivate.c:470,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:471,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 475
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 475
    functionName: _g_dbus_worker_unref
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_free
    - g_assert
    - _g_dbus_shared_thread_unref
    - g_object_unref
    - g_mutex_clear
    - g_queue_free_full
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_unref (GDBusWorker *worker) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/glib/gio/gdbusprivate.c:847,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:858,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:852,1
    - Dst: g_realloc
      Src: /src/glib/gio/gdbusprivate.c:848,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gdbusprivate.c:852,1
    - Dst: _g_socket_read_with_control_messages
      Src: /src/glib/gio/gdbusprivate.c:863,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:871,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 873
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 873
    functionName: _g_dbus_worker_do_read_unlocked
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_realloc
    - _g_dbus_worker_ref
    - g_input_stream_read_async
    - MAX
    - _g_socket_read_with_control_messages
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_do_read_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_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusprivate.c:132,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gdbusprivate.c:140,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusprivate.c:150,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusprivate.c:147,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:152,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_assert
    - g_error_matches
    - g_error_free
    - g_object_unref
    - g_socket_receive_message
    - g_task_return_int
    - g_task_get_cancellable
    - g_task_get_task_data
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:325,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gdbusprivate.c:328,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusprivate.c:326,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusprivate.c:331,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbusprivate.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - SharedThreadData*
    constantsTouched: []
    func_position:
      end: 334
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 334
    functionName: _g_dbus_shared_thread_unref
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_assert
    - g_main_context_unref
    - 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:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - worker
    - remote_peer_vanished
    - error
    argTypes:
    - GDBusWorker*
    - gboolean
    - GError*
    constantsTouched: []
    func_position:
      end: 484
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 484
    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_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_io_win32_get_module
      Src: /src/glib/gio/gdbusprivate.c:2298,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdbusprivate.c:2298,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2300,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gdbusprivate.c:2299,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: 1
    argNames:
    - void
    argTypes:
    - void
    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_free
    - g_utf8_to_utf16
    - GLIB_PRIVATE_CALL
    - GetFileAttributesW
    - _g_io_win32_get_module
    linkageType: ''
    returnType: wchar_t*
    signature: 'static wchar_t *find_dbus_process_path (void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gdbusprivate.c:587,1
    - Dst: g_close
      Src: /src/glib/gio/gdbusprivate.c:624,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:638,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:645,1
    - Dst: g_socket_condition_check
      Src: /src/glib/gio/gdbusprivate.c:703,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gdbusprivate.c:701,1
    - Dst: g_dbus_message_bytes_needed
      Src: /src/glib/gio/gdbusprivate.c:732,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:663,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusprivate.c:794,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:768,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:643,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusprivate.c:699,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusprivate.c:702,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:642,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:662,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:667,1
    - Dst: _g_dbus_worker_do_read_unlocked
      Src: /src/glib/gio/gdbusprivate.c:744,1
    - Dst: _g_dbus_hexdump
      Src: /src/glib/gio/gdbusprivate.c:760,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:738,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:819,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:642,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:653,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:667,1
    - Dst: _g_dbus_debug_payload
      Src: /src/glib/gio/gdbusprivate.c:794,1
    - Dst: read_message_print_transport_debug
      Src: /src/glib/gio/gdbusprivate.c:721,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusprivate.c:701,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:694,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:587,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:670,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusprivate.c:689,1
    - Dst: g_dbus_message_print
      Src: /src/glib/gio/gdbusprivate.c:791,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:800,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusprivate.c:783,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusprivate.c:703,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:712,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:793,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:627,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusprivate.c:660,1
    - Dst: _g_dbus_worker_queue_or_deliver_received_message
      Src: /src/glib/gio/gdbusprivate.c:804,1
    - Dst: g_unix_fd_message_steal_fds
      Src: /src/glib/gio/gdbusprivate.c:612,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gdbusprivate.c:615,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:716,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:579,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:649,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:739,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:792,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusprivate.c:703,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:690,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:778,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:761,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:798,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdbusprivate.c:623,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:692,1
    - Dst: g_socket_get_blocking
      Src: /src/glib/gio/gdbusprivate.c:702,1
    - Dst: G_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gdbusprivate.c:599,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gdbusprivate.c:611,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gdbusprivate.c:668,1
    - Dst: _g_dbus_hexdump
      Src: /src/glib/gio/gdbusprivate.c:796,1
    - Dst: _g_dbus_debug_message
      Src: /src/glib/gio/gdbusprivate.c:783,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:786,1
    - Dst: _g_dbus_worker_do_read_unlocked
      Src: /src/glib/gio/gdbusprivate.c:815,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:737,1
    - Dst: _g_socket_read_with_control_messages_finish
      Src: /src/glib/gio/gdbusprivate.c:591,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:648,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:769,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:717,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:797,1
    - Dst: _g_dbus_worker_unref
      Src: /src/glib/gio/gdbusprivate.c:825,1
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/gdbusprivate.c:753,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:770,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusprivate.c:582,1
    - Dst: _g_dbus_debug_transport
      Src: /src/glib/gio/gdbusprivate.c:660,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:667,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusprivate.c:701,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:804,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:787,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/gdbusprivate.c:777,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:644,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:655,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusprivate.c:702,1
    - Dst: _g_dbus_worker_do_read_unlocked
      Src: /src/glib/gio/gdbusprivate.c:809,1
    - Dst: schedule_pending_close
      Src: /src/glib/gio/gdbusprivate.c:822,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 142
    argCount: 3
    argNames:
    - input_stream
    - res
    - user_data
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 826
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 826
    functionName: _g_dbus_worker_do_read_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_close
    - g_unix_fd_list_new_from_array
    - _g_socket_read_with_control_messages_finish
    - g_dbus_message_bytes_needed
    - g_steal_pointer
    - _g_dbus_worker_queue_or_deliver_received_message
    - read_message_print_transport_debug
    - _g_dbus_worker_do_read_unlocked
    - g_dbus_message_set_unix_fd_list
    - _g_dbus_debug_print_lock
    - g_unix_fd_list_append
    - g_error_matches
    - g_object_unref
    - g_atomic_int_get
    - g_unix_fd_message_steal_fds
    - g_type_name
    - g_socket_is_closed
    - G_SOCKET_CONNECTION
    - _g_dbus_debug_message
    - g_print
    - _g_dbus_hexdump
    - G_UNLIKELY
    - g_dbus_message_new_from_blob
    - g_quark_to_string
    - g_error_free
    - g_warning
    - schedule_pending_close
    - G_TYPE_FROM_INSTANCE
    - _g_dbus_debug_print_unlock
    - G_UNIX_FD_MESSAGE
    - g_dbus_message_print
    - g_set_error
    - g_socket_connection_get_socket
    - g_free
    - _g_dbus_debug_transport
    - g_socket_condition_check
    - _g_dbus_worker_emit_disconnected
    - G_SOCKET_CONTROL_MESSAGE
    - g_socket_get_blocking
    - g_input_stream_read_finish
    - g_debug
    - g_mutex_unlock
    - _g_dbus_worker_unref
    - _g_dbus_debug_payload
    - g_io_stream_get_input_stream
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_do_read_cb (GInputStream *input_stream,
      GAsyncResult *res, gpointer user_data) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gdbusprivate.c:2508,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusprivate.c:2511,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gdbusprivate.c:2509,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusprivate.c:2513,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gdbusprivate.c:2514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - enum_type
    - value
    argTypes:
    - GType
    - gint
    constantsTouched: []
    func_position:
      end: 2516
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2516
    functionName: _g_dbus_enum_to_string
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_type_class_unref
    - g_strdup_printf
    - g_enum_get_value
    - g_type_class_ref
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_enum_to_string (GType enum_type, gint value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:928,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gdbusprivate.c:939,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusprivate.c:939,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusprivate.c:945,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:944,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:946,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:949,1
    - Dst: write_message_print_transport_debug
      Src: /src/glib/gio/gdbusprivate.c:951,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:954,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:957,1
    - Dst: write_message_continue_writing
      Src: /src/glib/gio/gdbusprivate.c:963,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:963,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusprivate.c:958,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:959,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 967
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 967
    functionName: write_message_async_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_finish
    - write_message_continue_writing
    - g_assert
    - g_clear_object
    - g_steal_pointer
    - g_task_return_boolean
    - g_task_return_error
    - write_message_print_transport_debug
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void write_message_async_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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_mutex_init
      Src: /src/glib/gio/gdbusprivate.c:1701,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusprivate.c:1705,1
    - Dst: g_queue_new
      Src: /src/glib/gio/gdbusprivate.c:1702,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:1680,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1683,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:1682,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1681,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusprivate.c:1710,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusprivate.c:1705,1
    - Dst: _g_dbus_shared_thread_ref
      Src: /src/glib/gio/gdbusprivate.c:1707,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_queue_new
      Src: /src/glib/gio/gdbusprivate.c:1699,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: 7
    argNames:
    - stream
    - capabilities
    - initially_frozen
    - message_received_callback
    - message_about_to_be_sent_callback
    - disconnected_callback
    - user_data
    argTypes:
    - GIOStream*
    - GDBusCapabilityFlags
    - gboolean
    - GDBusWorkerMessageReceivedCallback
    - GDBusWorkerMessageAboutToBeSentCallback
    - GDBusWorkerDisconnectedCallback
    - gpointer
    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_source_set_callback
    - g_object_ref
    - g_socket_connection_get_socket
    - g_new0
    - g_source_set_static_name
    - G_IS_IO_STREAM
    - _g_dbus_worker_ref
    - g_cancellable_new
    - g_queue_new
    - G_IS_SOCKET_CONNECTION
    - g_idle_source_new
    - G_SOCKET_CONNECTION
    - g_mutex_init
    - g_source_unref
    - _g_dbus_shared_thread_ref
    - g_return_val_if_fail
    - g_source_attach
    - g_source_set_priority
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1651,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1653,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_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusprivate.c:1651,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:
    - schedule_writing_unlocked
    - g_object_ref
    - g_slice_new0
    - _g_dbus_worker_ref
    - G_IS_DBUS_MESSAGE
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_worker_send_message (GDBusWorker *worker, GDBusMessage
      *message, gchar *blob, gsize blob_len) '
  - 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: 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_task_new
      Src: /src/glib/gio/gdbusprivate.c:1144,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1148,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusprivate.c:1145,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusprivate.c:1146,1
    - Dst: write_message_continue_writing
      Src: /src/glib/gio/gdbusprivate.c:1148,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:
    - write_message_continue_writing
    - g_task_new
    - g_task_set_source_tag
    - g_steal_pointer
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void write_message_async (GDBusWorker *worker, MessageToWriteData
      *data, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMappingA
      Src: /src/glib/gio/gdbusprivate.c:2129,1
    - Dst: UnmapViewOfFile
      Src: /src/glib/gio/gdbusprivate.c:2140,1
    - Dst: strcpy
      Src: /src/glib/gio/gdbusprivate.c:2138,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:
    - char*
    - 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
    - UnmapViewOfFile
    - strcpy
    - MapViewOfFile
    - CreateFileMappingA
    linkageType: ''
    returnType: HANDLE
    signature: 'static HANDLE set_shm (const char *shm_name, const char *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/gdbusprivate.c:1596,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusprivate.c:1615,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusprivate.c:1599,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusprivate.c:1602,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusprivate.c:1616,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_source_set_callback
    - g_source_set_static_name
    - _g_dbus_worker_ref
    - g_list_prepend
    - g_source_unref
    - g_idle_source_new
    - g_queue_push_tail
    - g_source_attach
    - g_source_set_priority
    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_LIKELY
      Src: /src/glib/gio/gdbusprivate.c:2524,1
    - Dst: _g_dbus_debug_transport
      Src: /src/glib/gio/gdbusprivate.c:2524,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:2528,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:2527,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusprivate.c:2533,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:2536,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:2536,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusprivate.c:2536,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:2537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - bytes_written
    - data
    argTypes:
    - gssize
    - MessageToWriteData*
    constantsTouched: []
    func_position:
      end: 2540
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2540
    functionName: write_message_print_transport_debug
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_print_lock
    - g_io_stream_get_output_stream
    - _g_dbus_debug_transport
    - g_dbus_message_get_serial
    - g_type_name
    - G_TYPE_FROM_INSTANCE
    - _g_dbus_debug_print_unlock
    - g_print
    - G_LIKELY
    linkageType: ''
    returnType: void
    signature: 'static void write_message_print_transport_debug (gssize bytes_written,
      MessageToWriteData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1630,1
    - Dst: schedule_writing_unlocked
      Src: /src/glib/gio/gdbusprivate.c:1632,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1633,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:
    - schedule_writing_unlocked
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void schedule_pending_close (GDBusWorker *worker) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gdbusprivate.c:2208,1
    - Dst: fileno
      Src: /src/glib/gio/gdbusprivate.c:2209,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gdbusprivate.c:2209,1
    - Dst: fileno
      Src: /src/glib/gio/gdbusprivate.c:2208,1
    - Dst: AllocConsole
      Src: /src/glib/gio/gdbusprivate.c:2209,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: SetConsoleTitleW
      Src: /src/glib/gio/gdbusprivate.c:2217,1
    - Dst: freopen
      Src: /src/glib/gio/gdbusprivate.c:2215,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:
    - SetConsoleTitleW
    - fileno
    - atexit
    - freopen
    - AllocConsole
    - _get_osfhandle
    linkageType: ''
    returnType: void
    signature: 'static void open_console_window (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusprivate.c:554,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusprivate.c:560,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusprivate.c:555,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusprivate.c:556,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:558,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusprivate.c:561,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusprivate.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 563
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 563
    functionName: _g_dbus_worker_unfreeze
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_set_static_name
    - _g_dbus_worker_ref
    - g_source_unref
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_worker_unfreeze (GDBusWorker *worker) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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: flush_data_list_complete
      Src: /src/glib/gio/gdbusprivate.c:1229,1
    - Dst: continue_writing
      Src: /src/glib/gio/gdbusprivate.c:1235,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1222,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusprivate.c:1230,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_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_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: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1228,1
    - Dst: _g_dbus_debug_transport
      Src: /src/glib/gio/gdbusprivate.c:1209,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:1212,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_io_stream_get_output_stream
    - _g_dbus_debug_print_lock
    - flush_data_list_complete
    - g_type_name
    - g_print
    - G_UNLIKELY
    - g_error_free
    - continue_writing
    - G_TYPE_FROM_INSTANCE
    - _g_dbus_debug_print_unlock
    - g_output_stream_flush_finish
    - g_free
    - _g_dbus_debug_transport
    - g_assert
    - g_mutex_unlock
    - _g_dbus_worker_unref
    - g_list_free
    - G_OUTPUT_STREAM
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void ostream_flush_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - 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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusprivate.c:1006,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1011,1
    - Dst: g_output_stream_has_pending
      Src: /src/glib/gio/gdbusprivate.c:1011,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gdbusprivate.c:1034,1
    - Dst: g_unix_fd_message_new_with_fd_list
      Src: /src/glib/gio/gdbusprivate.c:1041,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusprivate.c:1066,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gdbusprivate.c:1063,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1068,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_task_return_boolean
      Src: /src/glib/gio/gdbusprivate.c:1092,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gdbusprivate.c:1119,1
    - Dst: g_dbus_message_get_unix_fd_list
      Src: /src/glib/gio/gdbusprivate.c:1008,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusprivate.c:1060,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gdbusprivate.c:1070,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/gdbusprivate.c:1045,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:1055,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_assert
      Src: /src/glib/gio/gdbusprivate.c:1088,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1091,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1114,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdbusprivate.c:1029,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1033,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_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1093,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_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1097,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gdbusprivate.c:1012,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1038,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusprivate.c:1071,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1079,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1108,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:1113,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gdbusprivate.c:1109,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 1
    argNames:
    - data
    argTypes:
    - MessageToWriteData*
    constantsTouched: []
    func_position:
      end: 1131
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1131
    functionName: write_message_continue_writing
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_unix_fd_list
    - g_io_stream_get_output_stream
    - g_socket_send_message
    - g_steal_pointer
    - g_source_unref
    - g_main_context_get_thread_default
    - g_source_attach
    - g_assert_cmpint
    - g_error_matches
    - g_object_unref
    - g_type_name
    - g_socket_create_source
    - write_message_print_transport_debug
    - g_output_stream_write_async
    - write_message_continue_writing
    - g_error_free
    - G_TYPE_FROM_INSTANCE
    - g_task_return_new_error
    - g_output_stream_has_pending
    - g_unix_fd_list_get_length
    - g_source_set_callback
    - g_unix_fd_message_new_with_fd_list
    - g_assert
    - g_clear_object
    - g_task_return_boolean
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void write_message_continue_writing (MessageToWriteData *data) '
  - 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_ptr_array_add
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void ensure_type (GType gtype) '
  - 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_output_stream_flush_async
    - g_io_stream_get_output_stream
    linkageType: ''
    returnType: void
    signature: 'static void start_flush (FlushAsyncData *data) '
  - 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_unref
    - g_ptr_array_foreach
    linkageType: ''
    returnType: void
    signature: 'static void release_required_types (void) '
  - 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: 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:
    - CloseHandle
    - ReleaseMutex
    linkageType: ''
    returnType: void
    signature: 'static void release_mutex (HANDLE mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusprivate.c:2628,1
    - Dst: append_nibble
      Src: /src/glib/gio/gdbusprivate.c:2640,1
    - Dst: append_nibble
      Src: /src/glib/gio/gdbusprivate.c:2639,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusprivate.c:2643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 2644
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2644
    functionName: _g_dbus_hexencode
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_string_free
    - append_nibble
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_hexencode (const gchar *str, gsize str_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:240,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:256,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:254,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:262,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:264,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:265,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:263,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: 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: CreateMutexA
      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:
    - char*
    constantsTouched: []
    func_position:
      end: 2064
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2064
    functionName: acquire_mutex
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - CreateMutexA
    - release_mutex
    - WaitForSingleObject
    linkageType: ''
    returnType: HANDLE
    signature: 'static HANDLE acquire_mutex (const char *mutexname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusprivate.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - worker
    - message
    argTypes:
    - GDBusWorker*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 492
    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: 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_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1744,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:1737,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:
    - schedule_writing_unlocked
    - g_object_ref
    - g_slice_new0
    - _g_dbus_worker_ref
    - g_cancellable_cancel
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_worker_close (GDBusWorker *worker, GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateMutexA
      Src: /src/glib/gio/gdbusprivate.c:2072,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gdbusprivate.c:2073,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gdbusprivate.c:2077,1
    - Dst: ReleaseMutex
      Src: /src/glib/gio/gdbusprivate.c:2076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - mutexname
    argTypes:
    - char*
    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:
    - CreateMutexA
    - CloseHandle
    - WaitForSingleObject
    - ReleaseMutex
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_mutex_owned (const char *mutexname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gdbusprivate.c:2604,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusprivate.c:2605,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: 2609
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2609
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusprivate.c:499,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:500,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - worker
    - message
    argTypes:
    - GDBusWorker*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: _g_dbus_worker_emit_message_about_to_be_sent
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_steal_pointer
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *_g_dbus_worker_emit_message_about_to_be_sent
      (GDBusWorker *worker, GDBusMessage *message) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenFileMappingA
      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: 1
    argNames:
    - shm_name
    argTypes:
    - char*
    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
    - OpenFileMappingA
    - CloseHandle
    - Sleep
    - MapViewOfFile
    linkageType: ''
    returnType: char*
    signature: 'static char *read_shm (const char *shm_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1794,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_init
      Src: /src/glib/gio/gdbusprivate.c:1811,1
    - Dst: g_queue_get_length
      Src: /src/glib/gio/gdbusprivate.c:1799,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_mutex_clear
      Src: /src/glib/gio/gdbusprivate.c:1831,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gdbusprivate.c:1830,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:
    - schedule_writing_unlocked
    - g_queue_get_length
    - g_free
    - g_new0
    - g_mutex_lock
    - g_cond_wait
    - g_mutex_unlock
    - g_mutex_init
    - g_cond_clear
    - g_mutex_clear
    - g_propagate_error
    - g_cond_init
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_worker_flush_sync (GDBusWorker *worker, GCancellable
      *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gdbusprivate.c:1963,1
    - Dst: g_parse_debug_string
      Src: /src/glib/gio/gdbusprivate.c:1987,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusprivate.c:1970,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbusprivate.c:1987,1
    - Dst: g_dbus_error_quark
      Src: /src/glib/gio/gdbusprivate.c:1968,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_enter
    - ensure_required_types
    - g_dbus_error_quark
    - g_parse_debug_string
    - g_getenv
    - g_once_init_leave
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_initialize (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gdbusprivate.c:611,1
    - Dst: g_close
      Src: /src/glib/gio/gdbusprivate.c:624,1
    - Dst: g_unix_fd_message_steal_fds
      Src: /src/glib/gio/gdbusprivate.c:612,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdbusprivate.c:623,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gdbusprivate.c:615,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - (control_message)
    argTypes:
    - G_IS_UNIX_FD_MESSAGE
    constantsTouched: []
    func_position:
      end: 628
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 628
    functionName: if
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_close
    - g_unix_fd_list_new_from_array
    - g_free
    - g_unix_fd_list_append
    - g_unix_fd_message_steal_fds
    - G_UNIX_FD_MESSAGE
    linkageType: ''
    returnType: else
    signature: 'else if (G_IS_UNIX_FD_MESSAGE (control_message)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_worker_unref
      Src: /src/glib/gio/gdbusprivate.c:902,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusprivate.c:910,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:904,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:908,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - MessageToWriteData*
    constantsTouched: []
    func_position:
      end: 911
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 911
    functionName: message_to_write_data_free
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_clear_object
    - _g_dbus_worker_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void message_to_write_data_free (MessageToWriteData *data) '
  - 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_context_push_thread_default
    - g_main_context_pop_thread_default
    - release_required_types
    - g_main_loop_run
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer gdbus_shared_thread_func (gpointer user_data) '
  - 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: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: if
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (G_IS_UNIX_CREDENTIALS_MESSAGE (control_message)) '
  - 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: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusprivate.c:2552,1
    - Dst: _g_dbus_debug_transport
      Src: /src/glib/gio/gdbusprivate.c:2552,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gdbusprivate.c:2566,1
    - Dst: g_dbus_message_bytes_needed
      Src: /src/glib/gio/gdbusprivate.c:2559,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/gdbusprivate.c:2570,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:2578,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:2579,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:2587,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:2587,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:2587,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:2588,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - bytes_read
    - worker
    argTypes:
    - gssize
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 2591
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2591
    functionName: read_message_print_transport_debug
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_print_lock
    - g_io_stream_get_input_stream
    - _g_dbus_debug_transport
    - GUINT32_FROM_BE
    - g_dbus_message_bytes_needed
    - g_type_name
    - G_TYPE_FROM_INSTANCE
    - _g_dbus_debug_print_unlock
    - g_print
    - GUINT32_FROM_LE
    - G_LIKELY
    linkageType: ''
    returnType: void
    signature: 'static void read_message_print_transport_debug (gssize bytes_read,
      GDBusWorker *worker) '
  - 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:2354,1
    - Dst: wcscat
      Src: /src/glib/gio/gdbusprivate.c:2359,1
    - Dst: read_shm
      Src: /src/glib/gio/gdbusprivate.c:2371,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2376,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2380,1
    - Dst: acquire_mutex
      Src: /src/glib/gio/gdbusprivate.c:2320,1
    - Dst: read_shm
      Src: /src/glib/gio/gdbusprivate.c:2325,1
    - Dst: is_mutex_owned
      Src: /src/glib/gio/gdbusprivate.c:2324,1
    - Dst: acquire_mutex
      Src: /src/glib/gio/gdbusprivate.c:2322,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2327,1
    - Dst: CreateProcessW
      Src: /src/glib/gio/gdbusprivate.c:2363,1
    - Dst: _L_PREFIX
      Src: /src/glib/gio/gdbusprivate.c:2359,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:2338,1
    - Dst: wcscpy
      Src: /src/glib/gio/gdbusprivate.c:2349,1
    - Dst: wcscat
      Src: /src/glib/gio/gdbusprivate.c:2356,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:2373,1
    - Dst: wcsrchr
      Src: /src/glib/gio/gdbusprivate.c:2350,1
    - Dst: wcscat
      Src: /src/glib/gio/gdbusprivate.c:2355,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:2383,1
    - Dst: _
      Src: /src/glib/gio/gdbusprivate.c:2386,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    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:
    - g_set_error
    - find_dbus_process_path
    - wcscat
    - read_shm
    - g_free
    - acquire_mutex
    - _L_PREFIX
    - _
    - CreateProcessW
    - is_mutex_owned
    - g_warning
    - wcsrchr
    - release_mutex
    - wcscpy
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_win32_get_session_address_dbus_launch (GError **error) '
  - 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:54,1
    - Dst: gxdp_documents_proxy_new_sync
      Src: /src/glib/gio/gdocumentportal.c:58,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdocumentportal.c:66,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_call_get_mount_point_sync
    - g_clear_object
    - g_bus_get_sync
    - g_prefix_error
    - gxdp_documents_proxy_new_sync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_document_portal (GXdpDocuments **documents, char
      **documents_mountpoint, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdocumentportal.c:118,1
    - Dst: fcntl
      Src: /src/glib/gio/gdocumentportal.c:143,1
    - Dst: g_free
      Src: /src/glib/gio/gdocumentportal.c:150,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdocumentportal.c:145,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdocumentportal.c:189,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdocumentportal.c:190,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdocumentportal.c:191,1
    - Dst: g_free
      Src: /src/glib/gio/gdocumentportal.c:193,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdocumentportal.c:205,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdocumentportal.c:213,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdocumentportal.c:118,1
    - Dst: g_new0
      Src: /src/glib/gio/gdocumentportal.c:116,1
    - Dst: g_filename_from_uri
      Src: /src/glib/gio/gdocumentportal.c:127,1
    - Dst: close
      Src: /src/glib/gio/gdocumentportal.c:146,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdocumentportal.c:180,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdocumentportal.c:153,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdocumentportal.c:184,1
    - Dst: g_free
      Src: /src/glib/gio/gdocumentportal.c:192,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gdocumentportal.c:204,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdocumentportal.c:212,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gdocumentportal.c:120,1
    - Dst: g_open
      Src: /src/glib/gio/gdocumentportal.c:132,1
    - Dst: g_open
      Src: /src/glib/gio/gdocumentportal.c:137,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdocumentportal.c:197,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdocumentportal.c:211,1
    - Dst: g_free
      Src: /src/glib/gio/gdocumentportal.c:214,1
    - Dst: get_document_portal
      Src: /src/glib/gio/gdocumentportal.c:110,1
    - Dst: g_list_length
      Src: /src/glib/gio/gdocumentportal.c:115,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdocumentportal.c:158,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdocumentportal.c:161,1
    - Dst: strcmp
      Src: /src/glib/gio/gdocumentportal.c:182,1
    - Dst: gxdp_documents_call_add_full_sync
      Src: /src/glib/gio/gdocumentportal.c:160,1
    - Dst: strlen
      Src: /src/glib/gio/gdocumentportal.c:189,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdocumentportal.c:200,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdocumentportal.c:209,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdocumentportal.c:210,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 85
    argCount: 3
    argNames:
    - uris
    - app_id
    - error
    argTypes:
    - GList*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 217
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 217
    functionName: g_document_portal_add_documents
    functionSourceFile: /src/glib/gio/gdocumentportal.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - g_clear_pointer
    - gxdp_documents_call_add_full_sync
    - g_unix_fd_list_new
    - strlen
    - g_unix_fd_list_append
    - g_list_copy_deep
    - g_variant_builder_clear
    - close
    - g_variant_builder_add
    - g_list_length
    - g_filename_from_uri
    - strcmp
    - g_strconcat
    - g_list_reverse
    - g_open
    - g_list_prepend
    - get_document_portal
    - g_build_filename
    - fcntl
    - g_variant_builder_init
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_unix_fd_list_get_length
    - g_strdup
    - g_free
    - g_new0
    - g_clear_object
    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:138,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcredentials.c:143,1
    - Dst: ucred_free
      Src: /src/glib/gio/gcredentials.c:140,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcredentials.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: g_credentials_finalize
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - ucred_free
    - G_OBJECT_CLASS
    - G_CREDENTIALS
    linkageType: ''
    returnType: void
    signature: 'static void g_credentials_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:333,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - native
    - error
    argTypes:
    - struct ucred*
    - GError**
    constantsTouched: []
    func_position:
      end: 341
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 341
    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:367,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:368,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:368,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:369,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:367,1
    - Dst: linux_ucred_check_valid
      Src: /src/glib/gio/gcredentials.c:373,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/gcredentials.c:390,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/gcredentials.c:390,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:393,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:396,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 3
    argNames:
    - credentials
    - other_credentials
    - error
    argTypes:
    - GCredentials*
    - GCredentials*
    - GError**
    constantsTouched: []
    func_position:
      end: 400
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 400
    functionName: g_credentials_is_same_user
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - _
    - ucred_geteuid
    - linux_ucred_check_valid
    - G_IS_CREDENTIALS
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_credentials_is_same_user (GCredentials *credentials, GCredentials
      *other_credentials, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:462,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:462,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gcredentials.c:472,1
    - Dst: credentials_native_type_check
      Src: /src/glib/gio/gcredentials.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - credentials
    - native_type
    argTypes:
    - GCredentials*
    - GCredentialsType
    constantsTouched: []
    func_position:
      end: 474
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 474
    functionName: g_credentials_get_native
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - credentials_native_type_check
    - G_IS_CREDENTIALS
    - g_return_val_if_fail
    - 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:533,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:533,1
    - Dst: g_set_error
      Src: /src/glib/gio/gcredentials.c:548,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:534,1
    - Dst: linux_ucred_check_valid
      Src: /src/glib/gio/gcredentials.c:537,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:551,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/gcredentials.c:563,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:566,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:569,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - credentials
    - error
    argTypes:
    - GCredentials*
    - GError**
    constantsTouched: []
    func_position:
      end: 573
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 573
    functionName: g_credentials_get_unix_user
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - ucred_geteuid
    - linux_ucred_check_valid
    - G_IS_CREDENTIALS
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: uid_t
    signature: 'uid_t g_credentials_get_unix_user (GCredentials *credentials, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcredentials.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GCredentialsClass*
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gcredentials.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gcredentials.c:417,1
    - Dst: g_assert
      Src: /src/glib/gio/gcredentials.c:422,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gcredentials.c:421,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gcredentials.c:418,1
    - Dst: g_credentials_type_get_type
      Src: /src/glib/gio/gcredentials.c:417,1
    - Dst: g_warning
      Src: /src/glib/gio/gcredentials.c:423,1
    - Dst: g_warning
      Src: /src/glib/gio/gcredentials.c:429,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gcredentials.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - requested_type
    - op
    argTypes:
    - GCredentialsType
    - char*
    constantsTouched: []
    func_position:
      end: 437
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 437
    functionName: credentials_native_type_check
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - g_credentials_type_get_type
    - g_assert
    - g_type_class_unref
    - g_warning
    - g_enum_get_value
    - g_type_class_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean credentials_native_type_check (GCredentialsType requested_type,
      const char *op) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:246,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:271,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:275,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:267,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:292,1
    - Dst: ucred_getpid
      Src: /src/glib/gio/gcredentials.c:295,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:305,1
    - Dst: glib_typeof
      Src: /src/glib/gio/gcredentials.c:239,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:242,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:248,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:250,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:284,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:298,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:300,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:242,1
    - Dst: g_string_new
      Src: /src/glib/gio/gcredentials.c:244,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:256,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:257,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:265,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:273,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:269,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:277,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:279,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/gcredentials.c:297,1
    - Dst: ucred_getegid
      Src: /src/glib/gio/gcredentials.c:299,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:252,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:259,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:282,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:296,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:307,1
    - Dst: g_string_free
      Src: /src/glib/gio/gcredentials.c:310,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 1
    argNames:
    - credentials
    argTypes:
    - GCredentials*
    constantsTouched: []
    func_position:
      end: 311
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 311
    functionName: g_credentials_to_string
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - ucred_getpid
    - ucred_getegid
    - ucred_geteuid
    - G_IS_CREDENTIALS
    - g_string_append_printf
    - glib_typeof
    - g_string_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_credentials_to_string (GCredentials *credentials) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/glib/gio/gcredentials.c:161,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:170,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:162,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:163,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:168,1
    - Dst: memset
      Src: /src/glib/gio/gcredentials.c:183,1
    - Dst: getpid
      Src: /src/glib/gio/gcredentials.c:184,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:185,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:186,1
    - Dst: getpid
      Src: /src/glib/gio/gcredentials.c:188,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:189,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:190,1
    - Dst: getpid
      Src: /src/glib/gio/gcredentials.c:192,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:193,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:194,1
    - Dst: ucred_get
      Src: /src/glib/gio/gcredentials.c:196,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/gcredentials.c:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - credentials
    argTypes:
    - GCredentials*
    constantsTouched: []
    func_position:
      end: 200
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 200
    functionName: g_credentials_init
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - getpid
    - GetCurrentProcessId
    - ucred_get
    - memset
    - getegid
    - geteuid
    linkageType: ''
    returnType: void
    signature: 'static void g_credentials_init (GCredentials *credentials) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: credentials_native_type_check
      Src: /src/glib/gio/gcredentials.c:496,1
    - Dst: memcpy
      Src: /src/glib/gio/gcredentials.c:500,1
    - Dst: ucred_size
      Src: /src/glib/gio/gcredentials.c:500,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gcredentials.c:504,1
    - Dst: memcpy
      Src: /src/glib/gio/gcredentials.c:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - credentials
    - native_type
    - native
    argTypes:
    - GCredentials*
    - GCredentialsType
    - gpointer
    constantsTouched: []
    func_position:
      end: 506
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 506
    functionName: g_credentials_set_native
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - credentials_native_type_check
    - ucred_size
    - memcpy
    - 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:597,1
    - Dst: ucred_getpid
      Src: /src/glib/gio/gcredentials.c:612,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:598,1
    - Dst: linux_ucred_check_valid
      Src: /src/glib/gio/gcredentials.c:601,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:597,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:624,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:627,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - credentials
    - error
    argTypes:
    - GCredentials*
    - GError**
    constantsTouched: []
    func_position:
      end: 631
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 631
    functionName: g_credentials_get_unix_pid
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - ucred_getpid
    - _
    - linux_ucred_check_valid
    - G_IS_CREDENTIALS
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: pid_t
    signature: 'pid_t g_credentials_get_unix_pid (GCredentials *credentials, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:658,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:658,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:659,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:660,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:678,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:681,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:684,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:687,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - credentials
    - uid
    - error
    argTypes:
    - GCredentials*
    - uid_t
    - GError**
    constantsTouched: []
    func_position:
      end: 692
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 692
    functionName: g_credentials_set_unix_user
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - G_IS_CREDENTIALS
    - g_return_val_if_fail
    - _
    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:699,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcredentials.c:700,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - credentials
    - pid
    argTypes:
    - GCredentials*
    - pid_t
    constantsTouched: []
    func_position:
      end: 703
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 703
    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_menu_insert_submenu
      Src: /src/glib/gio/gmenu.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - submenu
    argTypes:
    - GMenu*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU
      Src: /src/glib/gio/gmenu.c:517,1
    - Dst: g_free
      Src: /src/glib/gio/gmenu.c:526,1
    - Dst: g_array_free
      Src: /src/glib/gio/gmenu.c:523,1
    - Dst: g_menu_clear_item
      Src: /src/glib/gio/gmenu.c:525,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenu.c:528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 530
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 530
    functionName: g_menu_finalize
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_free
    - g_menu_clear_item
    - g_array_free
    - G_OBJECT_CLASS
    - G_MENU
    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:542,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenu.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuClass*
    constantsTouched: []
    func_position:
      end: 551
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 551
    functionName: g_menu_class_init
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_MENU_MODEL_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:585,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:587,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenu.c:590,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 592
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 592
    functionName: g_menu_item_finalize
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_MENU_ITEM
    - g_hash_table_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_item_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:796,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:796,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:797,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gmenu.c:803,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenu.c:799,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenu.c:804,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - menu_item
    - attribute
    - expected_type
    argTypes:
    - GMenuItem*
    - gchar*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 810
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 810
    functionName: g_menu_item_get_attribute_value
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_IS_MENU_ITEM
    - g_hash_table_lookup
    - g_variant_ref
    - g_return_val_if_fail
    - g_variant_is_of_type
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_menu_item_get_attribute_value (GMenuItem *menu_item, const
      gchar *attribute, const GVariantType *expected_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmenu.c:1255,1
    - Dst: g_menu_item_set_label
      Src: /src/glib/gio/gmenu.c:1258,1
    - Dst: g_menu_item_set_section
      Src: /src/glib/gio/gmenu.c:1260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - label
    - section
    argTypes:
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1263
    functionName: g_menu_item_new_section
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_label
    - g_object_new
    - g_menu_item_set_section
    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:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    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:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenu*
    constantsTouched: []
    func_position:
      end: 537
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 537
    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:564,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:567,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenu.c:566,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenu.c:565,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:567,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenu.c:567,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:568,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gmenu.c:571,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenu.c:572,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenu.c:573,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:574,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenu.c:574,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:574,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - menu_item
    argTypes:
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 580
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 580
    functionName: g_menu_item_clear_cow
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_hash_table_unref
    - g_hash_table_insert
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_variant_ref
    - g_hash_table_new_full
    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:597,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gmenu.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - menu_item
    argTypes:
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 600
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 600
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_item_new_submenu
      Src: /src/glib/gio/gmenu.c:407,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:409,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - menu
    - position
    - label
    - submenu
    argTypes:
    - GMenu*
    - gint
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: g_menu_insert_submenu
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_new_submenu
    - g_object_unref
    - g_menu_insert_item
    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:504,1
    - Dst: G_IS_MENU
      Src: /src/glib/gio/gmenu.c:504,1
    - Dst: g_array_index
      Src: /src/glib/gio/gmenu.c:508,1
    - Dst: g_menu_clear_item
      Src: /src/glib/gio/gmenu.c:508,1
    - Dst: g_array_set_size
      Src: /src/glib/gio/gmenu.c:509,1
    - Dst: g_menu_model_items_changed
      Src: /src/glib/gio/gmenu.c:511,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/gmenu.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenu*
    constantsTouched: []
    func_position:
      end: 512
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 512
    functionName: g_menu_remove_all
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_model_items_changed
    - g_array_set_size
    - g_array_index
    - G_MENU_MODEL
    - g_menu_clear_item
    - G_IS_MENU
    - g_return_if_fail
    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:620,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/gio/gmenu.c:627,1
    - Dst: g_ascii_islower
      Src: /src/glib/gio/gmenu.c:626,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 641
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 641
    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:761,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:762,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:761,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:763,1
    - Dst: valid_attribute_name
      Src: /src/glib/gio/gmenu.c:763,1
    - Dst: g_menu_item_clear_cow
      Src: /src/glib/gio/gmenu.c:765,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:768,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:768,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenu.c:768,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenu.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - menu_item
    - link
    - model
    argTypes:
    - GMenuItem*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 771
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 771
    functionName: g_menu_item_set_link
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - G_IS_MENU_ITEM
    - g_hash_table_insert
    - g_hash_table_remove
    - g_menu_item_clear_cow
    - valid_attribute_name
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_link (GMenuItem *menu_item, const gchar *link,
      GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU
      Src: /src/glib/gio/gmenu.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    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_insert
      Src: /src/glib/gio/gmenu.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - detailed_action
    argTypes:
    - GMenu*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 317
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:843,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:843,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenu.c:847,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:844,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:845,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/gio/gmenu.c:852,1
    - Dst: va_start
      Src: /src/glib/gio/gmenu.c:855,1
    - Dst: g_variant_get_va
      Src: /src/glib/gio/gmenu.c:856,1
    - Dst: va_end
      Src: /src/glib/gio/gmenu.c:857,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - menu_item
    - attribute
    - format_string
    - '...'
    argTypes:
    - GMenuItem*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 860
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 860
    functionName: g_menu_item_get_attribute
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - va_end
    - G_IS_MENU_ITEM
    - va_start
    - g_hash_table_lookup
    - g_variant_get_va
    - g_variant_check_format_string
    - g_return_val_if_fail
    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:936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - menu_item
    - submenu
    argTypes:
    - GMenuItem*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    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
      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_attributes
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_array_index
    - G_MENU
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_get_item_attributes (GMenuModel *model, gint position,
      GHashTable **table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gmenu.c:910,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - menu_item
    - label
    argTypes:
    - GMenuItem*
    - gchar*
    constantsTouched: []
    func_position:
      end: 915
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 915
    functionName: g_menu_item_set_label
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_attribute_value
    - g_variant_new_string
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_label (GMenuItem *menu_item, const gchar *label) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenu.c:1284,1
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/gmenu.c:1318,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:1307,1
    - Dst: g_object_new
      Src: /src/glib/gio/gmenu.c:1287,1
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/gmenu.c:1319,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:1320,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:1320,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:1321,1
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/gmenu.c:1344,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:1345,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:1346,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:1345,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:1332,1
    - Dst: g_menu_model_iterate_item_links
      Src: /src/glib/gio/gmenu.c:1343,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 2
    argNames:
    - model
    - item_index
    argTypes:
    - GMenuModel*
    - gint
    constantsTouched: []
    func_position:
      end: 1350
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1350
    functionName: g_menu_item_new_from_model
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_unref
    - g_object_new
    - G_MENU_MODEL_GET_CLASS
    - g_menu_model_iterate_item_attributes
    - g_menu_attribute_iter_get_next
    - g_hash_table_insert
    - g_object_unref
    - g_menu_link_iter_get_next
    - g_menu_model_iterate_item_links
    linkageType: ''
    returnType: GMenuItem*
    signature: 'GMenuItem *g_menu_item_new_from_model (GMenuModel *model, gint item_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU
      Src: /src/glib/gio/gmenu.c:125,1
    - Dst: g_array_index
      Src: /src/glib/gio/gmenu.c:127,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenu.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - model
    - position
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: g_menu_get_item_links
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_array_index
    - G_MENU
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_get_item_links (GMenuModel *model, gint position,
      GHashTable **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - menu
    - item
    argTypes:
    - GMenu*
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    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_object_new
      Src: /src/glib/gio/gmenu.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gmenu.c:727,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gmenu.c:728,1
    - Dst: va_end
      Src: /src/glib/gio/gmenu.c:729,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - menu_item
    - attribute
    - format_string
    - '...'
    argTypes:
    - GMenuItem*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: g_menu_item_set_attribute
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_new_va
    - g_menu_item_set_attribute_value
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_attribute (GMenuItem *menu_item, const gchar
      *attribute, const gchar *format_string, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:1378,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:1379,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:1378,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gmenu.c:1379,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gmenu.c:1382,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:1386,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenu.c:1388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - menu_item
    - icon
    argTypes:
    - GMenuItem*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 1389
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1389
    functionName: g_menu_item_set_icon
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_icon_serialize
    - G_IS_ICON
    - G_IS_MENU_ITEM
    - g_menu_item_set_attribute_value
    - g_variant_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_icon (GMenuItem *menu_item, GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:231,1
    - Dst: G_IS_MENU
      Src: /src/glib/gio/gmenu.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenu*
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    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_section
      Src: /src/glib/gio/gmenu.c:340,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:341,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - menu
    - position
    - label
    - section
    argTypes:
    - GMenu*
    - gint
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: g_menu_insert_section
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_new_section
    - g_object_unref
    - g_menu_insert_item
    linkageType: ''
    returnType: void
    signature: 'void g_menu_insert_section (GMenu *menu, gint position, const gchar
      *label, GMenuModel *section) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:676,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:677,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:676,1
    - Dst: valid_attribute_name
      Src: /src/glib/gio/gmenu.c:678,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:678,1
    - Dst: g_menu_item_clear_cow
      Src: /src/glib/gio/gmenu.c:680,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:683,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:683,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmenu.c:683,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenu.c:685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - menu_item
    - attribute
    - value
    argTypes:
    - GMenuItem*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 686
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 686
    functionName: g_menu_item_set_attribute_value
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_IS_MENU_ITEM
    - g_hash_table_insert
    - g_hash_table_remove
    - g_menu_item_clear_cow
    - g_variant_ref_sink
    - valid_attribute_name
    - g_return_if_fail
    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:879,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:879,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:880,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:881,1
    - Dst: valid_attribute_name
      Src: /src/glib/gio/gmenu.c:881,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenu.c:883,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenu.c:886,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - menu_item
    - link
    argTypes:
    - GMenuItem*
    - gchar*
    constantsTouched: []
    func_position:
      end: 889
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 889
    functionName: g_menu_item_get_link
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IS_MENU_ITEM
    - g_hash_table_lookup
    - g_return_val_if_fail
    - valid_attribute_name
    linkageType: ''
    returnType: GMenuModel*
    signature: 'GMenuModel *g_menu_item_get_link (GMenuItem *menu_item, const gchar
      *link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert
      Src: /src/glib/gio/gmenu.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - detailed_action
    argTypes:
    - GMenu*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    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:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - section
    argTypes:
    - GMenu*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    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_menu_insert_submenu
      Src: /src/glib/gio/gmenu.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - submenu
    argTypes:
    - GMenu*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:483,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:484,1
    - Dst: g_menu_clear_item
      Src: /src/glib/gio/gmenu.c:486,1
    - Dst: G_IS_MENU
      Src: /src/glib/gio/gmenu.c:483,1
    - Dst: g_array_index
      Src: /src/glib/gio/gmenu.c:486,1
    - Dst: g_array_remove_index
      Src: /src/glib/gio/gmenu.c:487,1
    - Dst: g_menu_model_items_changed
      Src: /src/glib/gio/gmenu.c:488,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/gmenu.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - menu
    - position
    argTypes:
    - GMenu*
    - gint
    constantsTouched: []
    func_position:
      end: 489
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 489
    functionName: g_menu_remove
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_model_items_changed
    - g_array_remove_index
    - g_array_index
    - G_MENU_MODEL
    - g_menu_clear_item
    - G_IS_MENU
    - g_return_if_fail
    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: 606
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 606
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gmenu.c:1015,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:1024,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:1023,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - menu_item
    - action
    - target_value
    argTypes:
    - GMenuItem*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1025
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1025
    functionName: g_menu_item_set_action_and_target_value
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_attribute_value
    - g_variant_new_string
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_action_and_target_value (GMenuItem *menu_item,
      const gchar *action, GVariant *target_value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_action_parse_detailed_name
      Src: /src/glib/gio/gmenu.c:1105,1
    - Dst: g_error
      Src: /src/glib/gio/gmenu.c:1106,1
    - Dst: g_menu_item_set_action_and_target_value
      Src: /src/glib/gio/gmenu.c:1108,1
    - Dst: g_free
      Src: /src/glib/gio/gmenu.c:1111,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenu.c:1110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - menu_item
    - detailed_action
    argTypes:
    - GMenuItem*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1112
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1112
    functionName: g_menu_item_set_detailed_action
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_action_and_target_value
    - g_free
    - g_error
    - g_variant_unref
    - g_action_parse_detailed_name
    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:1169,1
    - Dst: g_menu_item_set_label
      Src: /src/glib/gio/gmenu.c:1172,1
    - Dst: g_menu_item_set_submenu
      Src: /src/glib/gio/gmenu.c:1174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - label
    - submenu
    argTypes:
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1177
    functionName: g_menu_item_new_submenu
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_label
    - g_menu_item_set_submenu
    - g_object_new
    linkageType: ''
    returnType: GMenuItem*
    signature: 'GMenuItem *g_menu_item_new_submenu (const gchar *label, GMenuModel
      *submenu) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:456,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - struct item*
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:163,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:164,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:164,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenu.c:169,1
    - Dst: G_IS_MENU
      Src: /src/glib/gio/gmenu.c:163,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenu.c:170,1
    - Dst: g_array_insert_val
      Src: /src/glib/gio/gmenu.c:173,1
    - Dst: g_menu_model_items_changed
      Src: /src/glib/gio/gmenu.c:174,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/gmenu.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - menu
    - position
    - item
    argTypes:
    - GMenu*
    - gint
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: g_menu_insert_item
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_menu_model_items_changed
    - G_IS_MENU_ITEM
    - G_MENU_MODEL
    - g_array_insert_val
    - G_IS_MENU
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_menu_insert_item (GMenu *menu, gint position, GMenuItem *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - menu
    - item
    argTypes:
    - GMenu*
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    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_menu_item_new
      Src: /src/glib/gio/gmenu.c:274,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:276,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - menu
    - position
    - label
    - detailed_action
    argTypes:
    - GMenu*
    - gint
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: g_menu_insert
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_menu_item_new
    - g_menu_insert_item
    linkageType: ''
    returnType: void
    signature: 'void g_menu_insert (GMenu *menu, gint position, const gchar *label,
      const gchar *detailed_action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert_section
      Src: /src/glib/gio/gmenu.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - section
    argTypes:
    - GMenu*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 364
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_item_set_link
      Src: /src/glib/gio/gmenu.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - menu_item
    - section
    argTypes:
    - GMenuItem*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 959
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 959
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gmenu.c:1068,1
    - Dst: g_menu_item_set_action_and_target_value
      Src: /src/glib/gio/gmenu.c:1075,1
    - Dst: va_end
      Src: /src/glib/gio/gmenu.c:1070,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gmenu.c:1069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - menu_item
    - action
    - format_string
    - '...'
    argTypes:
    - GMenuItem*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1076
    functionName: g_menu_item_set_action_and_target
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - va_end
    - g_variant_new_va
    - g_menu_item_set_action_and_target_value
    - va_start
    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:1138,1
    - Dst: g_menu_item_set_label
      Src: /src/glib/gio/gmenu.c:1141,1
    - Dst: g_menu_item_set_detailed_action
      Src: /src/glib/gio/gmenu.c:1144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - label
    - detailed_action
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1147
    functionName: g_menu_item_new
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_label
    - g_menu_item_set_detailed_action
    - g_object_new
    linkageType: ''
    returnType: GMenuItem*
    signature: 'GMenuItem *g_menu_item_new (const gchar *label, const gchar *detailed_action) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:694,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gsocketlistener.c:713,1
    - Dst: g_socket_condition_wait
      Src: /src/glib/gio/gsocketlistener.c:702,1
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:696,1
    - Dst: G_IS_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:694,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gsocketlistener.c:715,1
    - Dst: add_sources
      Src: /src/glib/gio/gsocketlistener.c:717,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gsocketlistener.c:722,1
    - Dst: free_sources
      Src: /src/glib/gio/gsocketlistener.c:724,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gsocketlistener.c:725,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:732,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gio/gsocketlistener.c:732,1
    - Dst: g_socket_accept
      Src: /src/glib/gio/gsocketlistener.c:728,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 4
    argNames:
    - listener
    - source_object
    - cancellable
    - error
    argTypes:
    - GSocketListener*
    - GObject**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 735
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 735
    functionName: g_socket_listener_accept_socket
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_object_get_qdata
    - G_OBJECT
    - add_sources
    - G_IS_SOCKET_LISTENER
    - check_listener
    - free_sources
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_socket_accept
    - g_return_val_if_fail
    - g_main_context_new
    - 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: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:486,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:496,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:515,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketlistener.c:530,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:533,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:553,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:570,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:560,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketlistener.c:580,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:586,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:589,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:442,1
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:445,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:469,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:481,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:483,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:492,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:474,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gsocketlistener.c:529,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:531,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:536,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:443,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:449,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketlistener.c:464,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:467,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:472,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:479,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:497,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:539,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:541,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:544,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:551,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:558,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:594,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:549,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:556,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:595,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:592,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gsocketlistener.c:463,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:465,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:488,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:496,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:475,1
    - Dst: g_socket_speaks_ipv4
      Src: /src/glib/gio/gsocketlistener.c:501,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:542,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:565,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:569,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:569,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 4
    argNames:
    - listener
    - port
    - source_object
    - error
    argTypes:
    - GSocketListener*
    - guint16
    - GObject*
    - GError**
    constantsTouched: []
    func_position:
      end: 598
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 598
    functionName: g_socket_listener_add_inet_port
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_socket_bind
    - g_object_set_qdata_full
    - g_assert
    - g_inet_socket_address_new
    - g_socket_speaks_ipv4
    - g_object_unref
    - g_socket_set_listen_backlog
    - check_listener
    - g_clear_error
    - g_socket_listen
    - g_signal_emit
    - g_inet_address_new_any
    - g_socket_new
    - g_return_val_if_fail
    - g_ptr_array_add
    - G_SOCKET_LISTENER_GET_CLASS
    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_list_delete_link
      Src: /src/glib/gio/gsocketlistener.c:636,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocketlistener.c:638,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gsocketlistener.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sources
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 640
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 640
    functionName: free_sources
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    - g_list_delete_link
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void free_sources (GList *sources) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketlistener.c:857,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketlistener.c:858,1
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:860,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketlistener.c:862,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:863,1
    - Dst: g_new0
      Src: /src/glib/gio/gsocketlistener.c:867,1
    - Dst: add_sources
      Src: /src/glib/gio/gsocketlistener.c:869,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gsocketlistener.c:873,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsocketlistener.c:874,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketlistener.c:874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - listener
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketListener*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 876
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 876
    functionName: g_socket_listener_accept_socket_async
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_new0
    - add_sources
    - g_task_set_task_data
    - g_object_unref
    - g_task_new
    - g_task_set_source_tag
    - check_listener
    - g_steal_pointer
    - g_task_return_error
    - g_main_context_get_thread_default
    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:1015,1
    - Dst: g_socket_close
      Src: /src/glib/gio/gsocketlistener.c:1023,1
    - Dst: G_IS_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:1015,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - listener
    argTypes:
    - GSocketListener*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1026
    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_create_source
      Src: /src/glib/gio/gsocketlistener.c:617,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsocketlistener.c:621,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gsocketlistener.c:623,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsocketlistener.c:618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - listener
    - callback
    - callback_data
    - cancellable
    - context
    argTypes:
    - GSocketListener*
    - GSocketSourceFunc
    - gpointer
    - GCancellable*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 627
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 627
    functionName: add_sources
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_attach
    - g_list_prepend
    - g_socket_create_source
    linkageType: ''
    returnType: GList*
    signature: "static GList *add_sources (GSocketListener *listener,\t GSocketSourceFunc
      callback,\t gpointer callback_data,\t GCancellable *cancellable,\t GMainContext
      *context) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - listen_backlog
    argTypes:
    - GSocketListener*
    - int
    constantsTouched: []
    func_position:
      end: 999
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 999
    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:119,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketlistener.c:128,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gsocketlistener.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: g_socket_listener_get_property
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:346,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:356,1
    - Dst: g_socket_address_get_family
      Src: /src/glib/gio/gsocketlistener.c:349,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:354,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:350,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:359,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:361,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:365,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:367,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:370,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/gsocketlistener.c:382,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:385,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:372,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:403,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:376,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:396,1
    - Dst: g_socket_listener_add_socket
      Src: /src/glib/gio/gsocketlistener.c:390,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:395,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: 406
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 406
    functionName: g_socket_listener_add_address
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_get_local_address
    - g_socket_bind
    - g_socket_listener_add_socket
    - g_socket_address_get_family
    - g_object_unref
    - g_socket_set_listen_backlog
    - check_listener
    - g_socket_listen
    - g_signal_emit
    - g_socket_new
    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_listener_accept_socket
      Src: /src/glib/gio/gsocketlistener.c:769,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:777,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/gsocketlistener.c:776,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 4
    argNames:
    - listener
    - source_object
    - cancellable
    - error
    argTypes:
    - GSocketListener*
    - GObject**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 780
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 780
    functionName: g_socket_listener_accept
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_connection_factory_create_connection
    - g_object_unref
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:138,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketlistener.c:147,1
    - Dst: g_socket_listener_set_backlog
      Src: /src/glib/gio/gsocketlistener.c:143,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gsocketlistener.c:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 149
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 149
    functionName: g_socket_listener_set_property
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_socket_listener_set_backlog
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:269,1
    - Dst: _
      Src: /src/glib/gio/gsocketlistener.c:277,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:281,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocketlistener.c:274,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocketlistener.c:276,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:282,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:285,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:285,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:286,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:289,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - listener
    - socket
    - source_object
    - error
    argTypes:
    - GSocketListener*
    - GSocket*
    - GObject*
    - GError**
    constantsTouched: []
    func_position:
      end: 293
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 293
    functionName: g_socket_listener_add_socket
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - _
    - g_object_set_qdata_full
    - check_listener
    - g_socket_is_closed
    - g_set_error_literal
    - g_ptr_array_add
    - G_SOCKET_LISTENER_GET_CLASS
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:898,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:899,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsocketlistener.c:899,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gio/gsocketlistener.c:902,1
    - Dst: G_IS_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:898,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:902,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsocketlistener.c:904,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketlistener.c:904,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - listener
    - result
    - source_object
    - error
    argTypes:
    - GSocketListener*
    - GAsyncResult*
    - GObject**
    - GError**
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: g_socket_listener_accept_socket_finish
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_object_get_qdata
    - G_OBJECT
    - G_TASK
    - G_IS_SOCKET_LISTENER
    - g_task_propagate_pointer
    - g_return_val_if_fail
    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_OBJECT_CLASS
      Src: /src/glib/gio/gsocketlistener.c:154,1
    - Dst: P_
      Src: /src/glib/gio/gsocketlistener.c:161,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gsocketlistener.c:160,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketlistener.c:159,1
    - Dst: P_
      Src: /src/glib/gio/gsocketlistener.c:162,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsocketlistener.c:182,1
    - Dst: I_
      Src: /src/glib/gio/gsocketlistener.c:182,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketlistener.c:183,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocketlistener.c:185,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsocketlistener.c:191,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gsocketlistener.c:195,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketlistener.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketListenerClass*
    constantsTouched: []
    func_position:
      end: 196
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 196
    functionName: g_socket_listener_class_init
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_quark_from_static_string
    - g_param_spec_int
    - I_
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - G_OBJECT_CLASS
    - P_
    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:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gsocketlistener.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 658
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_sources
      Src: /src/glib/gio/gsocketlistener.c:791,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketlistener.c:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - AcceptSocketAsyncData*
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 793
    functionName: accept_socket_async_data_free
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_free
    - free_sources
    linkageType: ''
    returnType: void
    signature: 'static void accept_socket_async_data_free (AcceptSocketAsyncData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_accept_socket_finish
      Src: /src/glib/gio/gsocketlistener.c:957,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/gsocketlistener.c:964,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:965,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 4
    argNames:
    - listener
    - result
    - source_object
    - error
    argTypes:
    - GSocketListener*
    - GAsyncResult*
    - GObject**
    - GError**
    constantsTouched: []
    func_position:
      end: 967
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 967
    functionName: g_socket_listener_accept_finish
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_connection_factory_create_connection
    - g_object_unref
    - g_socket_listener_accept_socket_finish
    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_assert
      Src: /src/glib/gio/gsocketlistener.c:1080,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gsocketlistener.c:1088,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:1081,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1090,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:1095,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketlistener.c:1109,1
    - Dst: g_socket_speaks_ipv4
      Src: /src/glib/gio/gsocketlistener.c:1115,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1119,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1136,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1162,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1213,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:1278,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1234,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1174,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:1271,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1109,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:1120,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gsocketlistener.c:1134,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1138,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1158,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1167,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/gsocketlistener.c:1193,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1195,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketlistener.c:1203,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1227,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:1257,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:1270,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1217,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketlistener.c:1205,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:1243,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1266,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:1243,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:1279,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:1225,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1101,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1106,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1113,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1203,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1206,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:1247,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1259,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1261,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:1270,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:1274,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gsocketlistener.c:1218,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gsocketlistener.c:1205,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1254,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketlistener.c:1089,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1092,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1096,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/gsocketlistener.c:1099,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gsocketlistener.c:1111,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketlistener.c:1111,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1112,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketlistener.c:1135,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:1156,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1200,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:1230,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1232,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1239,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gsocketlistener.c:1178,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:1244,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1207,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1190,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:1252,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 125
    argCount: 3
    argNames:
    - listener
    - source_object
    - error
    argTypes:
    - GSocketListener*
    - GObject*
    - GError**
    constantsTouched: []
    func_position:
      end: 1282
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1282
    functionName: g_socket_listener_add_any_inet_port
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_set_qdata_full
    - g_inet_socket_address_new
    - g_socket_speaks_ipv4
    - G_INET_SOCKET_ADDRESS
    - G_IS_INET_SOCKET_ADDRESS
    - g_slist_delete_link
    - g_socket_bind
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_slist_prepend
    - g_inet_address_new_any
    - g_socket_new
    - g_object_ref
    - g_socket_get_local_address
    - g_socket_set_listen_backlog
    - g_ptr_array_add
    - g_assert
    - g_socket_listen
    - g_signal_emit
    - G_SOCKET_LISTENER_GET_CLASS
    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:97,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsocketlistener.c:100,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsocketlistener.c:107,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketlistener.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: g_socket_listener_finalize
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - G_SOCKET_LISTENER
    - g_ptr_array_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_listener_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_get_instance_private
      Src: /src/glib/gio/gsocketlistener.c:201,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gsocketlistener.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - listener
    argTypes:
    - GSocketListener*
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    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:230,1
    - Dst: _
      Src: /src/glib/gio/gsocketlistener.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - listener
    - error
    argTypes:
    - GSocketListener*
    - GError**
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocketlistener.c:804,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:814,1
    - Dst: g_socket_accept
      Src: /src/glib/gio/gsocketlistener.c:811,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketlistener.c:811,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gio/gsocketlistener.c:814,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:816,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:816,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:818,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsocketlistener.c:819,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketlistener.c:823,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:827,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - accept_socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 830
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 830
    functionName: accept_ready
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_object_get_qdata
    - G_OBJECT
    - g_object_ref
    - g_object_set_qdata_full
    - g_object_unref
    - g_task_return_pointer
    - g_task_return_error
    - g_socket_accept
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean accept_ready (GSocket *accept_socket,\t GIOCondition
      condition,\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_accept_socket_async
      Src: /src/glib/gio/gsocketlistener.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - listener
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketListener*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 932
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 932
    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_c
      Src: /src/glib/gio/gio-tool-info.c:58,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:62,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gio-tool-info.c:63,1
    - Dst: g_string_free
      Src: /src/glib/gio/gio-tool-info.c:67,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    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_free
    - g_string_new
    - g_string_append
    - g_string_append_c
    linkageType: ''
    returnType: char*
    signature: 'static char *escape_string (const char *in) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_filesystem_info
      Src: /src/glib/gio/gio-tool-info.c:283,1
    - Dst: show_attributes
      Src: /src/glib/gio/gio-tool-info.c:295,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gio-tool-info.c:285,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-info.c:289,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-info.c:290,1
    - Dst: show_info
      Src: /src/glib/gio/gio-tool-info.c:297,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-info.c:299,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 302
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 302
    functionName: query_info
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - show_info
    - show_attributes
    - g_file_query_filesystem_info
    - g_error_free
    - g_object_unref
    - g_file_query_info
    - print_file_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean query_info (GFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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
      Src: /src/glib/gio/gio-tool-info.c:123,1
    - Dst: flatten_string
      Src: /src/glib/gio/gio-tool-info.c:139,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:142,1
    - 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_IS_THEMED_ICON
      Src: /src/glib/gio/gio-tool-info.c:121,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:127,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:132,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:141,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_get_names
      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_print
      Src: /src/glib/gio/gio-tool-info.c:124,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:138,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:133,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:140,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-info.c:145,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_themed_icon_get_names
    - g_file_info_get_symbolic_icon
    - _
    - g_free
    - flatten_string
    - g_file_info_get_icon
    - G_THEMED_ICON
    - G_IS_THEMED_ICON
    - g_strfreev
    - strcmp
    - g_print
    - g_file_info_list_attributes
    - g_file_info_get_attribute_as_string
    linkageType: ''
    returnType: void
    signature: 'static void show_attributes (GFileInfo *info) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:159,1
    - Dst: flatten_string
      Src: /src/glib/gio/gio-tool-info.c:163,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/gio-tool-info.c:160,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:179,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:202,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-info.c:204,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:205,1
    - Dst: flatten_string
      Src: /src/glib/gio/gio-tool-info.c:211,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:205,1
    - Dst: g_unix_mount_get_mount_path
      Src: /src/glib/gio/gio-tool-info.c:237,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:246,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:238,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gio-tool-info.c:234,1
    - 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_print
      Src: /src/glib/gio/gio-tool-info.c:183,1
    - Dst: _
      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:189,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:190,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:190,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:193,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gio-tool-info.c:195,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:196,1
    - Dst: g_unix_mount_get_fs_type
      Src: /src/glib/gio/gio-tool-info.c:238,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:235,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:251,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:250,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:246,1
    - Dst: g_unix_mount_at
      Src: /src/glib/gio/gio-tool-info.c:216,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:196,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:197,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:200,1
    - Dst: g_file_info_get_is_hidden
      Src: /src/glib/gio/gio-tool-info.c:201,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:202,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:212,1
    - Dst: free
      Src: /src/glib/gio/gio-tool-info.c:213,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gio-tool-info.c:231,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:254,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:212,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:253,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:252,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:176,1
    - Dst: escape_string
      Src: /src/glib/gio/gio-tool-info.c:182,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:184,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:187,1
    - Dst: file_type_to_string
      Src: /src/glib/gio/gio-tool-info.c:189,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:206,1
    - Dst: g_unix_mount_for
      Src: /src/glib/gio/gio-tool-info.c:218,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:229,1
    - Dst: g_unix_mount_get_device_path
      Src: /src/glib/gio/gio-tool-info.c:229,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:233,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:237,1
    - Dst: show_attributes
      Src: /src/glib/gio/gio-tool-info.c:261,1
    - Dst: g_unix_mount_get_options
      Src: /src/glib/gio/gio-tool-info.c:240,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:243,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/gio-tool-info.c:208,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/gio-tool-info.c:256,1
    - Dst: g_unix_mount_get_root_path
      Src: /src/glib/gio/gio-tool-info.c:230,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 102
    argCount: 2
    argNames:
    - file
    - info
    argTypes:
    - GFile*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 262
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 262
    functionName: show_info
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - g_unix_mount_get_root_path
    - _
    - g_file_get_uri
    - free
    - g_file_info_has_attribute
    - g_file_info_get_edit_name
    - g_file_peek_path
    - g_file_info_get_is_hidden
    - escape_string
    - g_strcmp0
    - g_file_info_get_file_type
    - g_file_info_get_display_name
    - g_strconcat
    - g_print
    - show_attributes
    - g_unix_mount_at
    - g_unix_mount_free
    - g_unix_mount_get_fs_type
    - g_strescape
    - flatten_string
    - g_free
    - g_file_info_get_name
    - g_unix_mount_for
    - g_unix_mount_get_options
    - g_unix_mount_get_mount_path
    - file_type_to_string
    - g_unix_mount_get_device_path
    - g_file_info_get_size
    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_free
      Src: /src/glib/gio/gio-tool-info.c:92,1
    - Dst: g_string_append
      Src: /src/glib/gio/gio-tool-info.c:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    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_free
    - g_string_new
    - g_string_append
    - g_string_append_c
    linkageType: ''
    returnType: char*
    signature: 'static char *flatten_string (const char *in) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:327,1
    - Dst: attribute_type_to_string
      Src: /src/glib/gio/gio-tool-info.c:333,1
    - Dst: attribute_flags_to_string
      Src: /src/glib/gio/gio-tool-info.c:354,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:359,1
    - Dst: attribute_flags_to_string
      Src: /src/glib/gio/gio-tool-info.c:330,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:335,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-info.c:344,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:351,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:327,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-info.c:320,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/gio-tool-info.c:339,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:355,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-info.c:345,1
    - Dst: g_file_query_writable_namespaces
      Src: /src/glib/gio/gio-tool-info.c:341,1
    - Dst: g_file_query_settable_attributes
      Src: /src/glib/gio/gio-tool-info.c:317,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-info.c:321,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:331,1
    - Dst: attribute_type_to_string
      Src: /src/glib/gio/gio-tool-info.c:357,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:351,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/gio-tool-info.c:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 366
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 366
    functionName: get_writable_info
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - g_file_query_settable_attributes
    - _
    - g_free
    - g_file_query_writable_namespaces
    - g_error_free
    - attribute_type_to_string
    - g_file_attribute_info_list_unref
    - g_print
    - attribute_flags_to_string
    - print_file_error
    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:378,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:383,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-info.c:406,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-info.c:404,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-info.c:413,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-info.c:422,1
    - Dst: get_writable_info
      Src: /src/glib/gio/gio-tool-info.c:424,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-info.c:427,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:381,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-info.c:385,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-info.c:412,1
    - Dst: query_info
      Src: /src/glib/gio/gio-tool-info.c:426,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-info.c:381,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-info.c:384,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:386,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:388,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-info.c:397,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:412,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-info.c:382,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-info.c:387,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-info.c:398,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-info.c:402,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-info.c:405,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-info.c:393,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-info.c:417,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 431
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 431
    functionName: handle_info
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - _
    - g_set_prgname
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - get_writable_info
    - g_option_context_parse
    - g_option_context_set_description
    - g_option_context_add_main_entries
    - g_error_free
    - query_info
    - g_object_unref
    - g_strdup_printf
    - g_option_context_set_help_enabled
    - show_help
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: int
    signature: 'int handle_info (int argc, char *argv[], gboolean do_help) '
  - 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:148,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_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_OBJECT_CLASS
    - G_CONVERTER_INPUT_STREAM
    - g_object_unref
    - g_free
    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: 2
    argNames:
    - base_stream
    - converter
    argTypes:
    - GInputStream*
    - GConverter*
    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: []
    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: 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    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: 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_malloc
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void grow_buffer (Buffer *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - converter_stream
    argTypes:
    - GConverterInputStream*
    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: 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:319,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gconverterinputstream.c:336,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gconverterinputstream.c:331,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverterinputstream.c:324,1
    - Dst: grow_buffer
      Src: /src/glib/gio/gconverterinputstream.c:342,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_data_size
    - buffer_tailspace
    - grow_buffer
    linkageType: ''
    returnType: void
    signature: "static void buffer_ensure_space (Buffer *buffer,\t\t gsize at_least_size) "
  - 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:
    - G_INPUT_STREAM
    - read_internal
    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: buffer_ensure_space
      Src: /src/glib/gio/gconverterinputstream.c:359,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:361,1
    - Dst: g_pollable_stream_read
      Src: /src/glib/gio/gconverterinputstream.c:362,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverterinputstream.c:364,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:
    - g_pollable_stream_read
    - buffer_tailspace
    - G_FILTER_INPUT_STREAM
    - 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_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:622,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/gconverterinputstream.c:625,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_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: 2
    argNames:
    - stream
    - cancellable
    argTypes:
    - GPollableInputStream*
    - GCancellable*
    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_is_readable
    - G_FILTER_INPUT_STREAM
    - g_pollable_source_new_full
    - G_POLLABLE_INPUT_STREAM
    - g_source_unref
    - g_timeout_source_new
    - g_pollable_input_stream_create_source
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_converter_input_stream_create_source (GPollableInputStream
      *stream,\t\t\t\t\tGCancellable *cancellable) "
  - 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_POLLABLE_INPUT_STREAM
    - g_pollable_input_stream_can_poll
    - G_IS_POLLABLE_INPUT_STREAM
    - G_FILTER_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_converter_input_stream_can_poll (GPollableInputStream
      *stream) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:421,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/gconverterinputstream.c:493,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_data_size
      Src: /src/glib/gio/gconverterinputstream.c:508,1
    - Dst: MIN
      Src: /src/glib/gio/gconverterinputstream.c:514,1
    - Dst: buffer_read
      Src: /src/glib/gio/gconverterinputstream.c:515,1
    - Dst: g_assert
      Src: /src/glib/gio/gconverterinputstream.c:517,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverterinputstream.c:560,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gconverterinputstream.c:567,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverterinputstream.c:496,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:532,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: buffer_ensure_space
      Src: /src/glib/gio/gconverterinputstream.c:485,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:475,1
    - Dst: g_assert
      Src: /src/glib/gio/gconverterinputstream.c:475,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:400,1
    - Dst: fill_input_buffer
      Src: /src/glib/gio/gconverterinputstream.c:425,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_tailspace
      Src: /src/glib/gio/gconverterinputstream.c:497,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverterinputstream.c:505,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: g_error_free
      Src: /src/glib/gio/gconverterinputstream.c:549,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverterinputstream.c:452,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverterinputstream.c:455,1
    - Dst: g_assert
      Src: /src/glib/gio/gconverterinputstream.c:489,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:514,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverterinputstream.c:539,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverterinputstream.c:553,1
    - Dst: fill_input_buffer
      Src: /src/glib/gio/gconverterinputstream.c:531,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverterinputstream.c:562,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gconverterinputstream.c:571,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_CONVERTER_INPUT_STREAM
    - buffer_tailspace
    - buffer_read
    - g_assert
    - g_error_matches
    - g_error_free
    - MIN
    - g_assert_not_reached
    - buffer_data_size
    - buffer_data
    - buffer_consumed
    - buffer_ensure_space
    - g_propagate_error
    - fill_input_buffer
    - g_converter_convert
    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: 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: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:601,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: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_pollable_input_stream_is_readable
    - G_CONVERTER_INPUT_STREAM
    - G_FILTER_INPUT_STREAM
    - G_POLLABLE_INPUT_STREAM
    - buffer_data_size
    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:110,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gconverterinputstream.c:120,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gconverterinputstream.c:115,1
    - Dst: P_
      Src: /src/glib/gio/gconverterinputstream.c:121,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gconverterinputstream.c:118,1
    - Dst: P_
      Src: /src/glib/gio/gconverterinputstream.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GConverterInputStreamClass*
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    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
    - P_
    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: 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: 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_MONITOR_WIN32
      Src: /src/glib/gio/gmemorymonitorwin32.c:189,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemorymonitorwin32.c:195,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: 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: CreateThread
      Src: /src/glib/gio/gmemorymonitorwin32.c:211,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: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:214,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemorymonitorwin32.c:214,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/gmemorymonitorwin32.c:209,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorwin32.c:217,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_free
    - g_new0
    - G_MEMORY_MONITOR_WIN32
    - g_weak_ref_init
    - CreateMemoryResourceNotification
    - CreateThread
    - CreateEvent
    - GetLastError
    - g_set_error_literal
    - g_weak_ref_clear
    - g_io_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_monitor_win32_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - 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: SetEvent
      Src: /src/glib/gio/gmemorymonitorwin32.c:231,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:233,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gmemorymonitorwin32.c:232,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:237,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:
    - CloseHandle
    - G_MEMORY_MONITOR_WIN32
    - WaitForSingleObject
    - SetEvent
    - G_OBJECT_CLASS
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/gmemorymonitorwin32.c:92,1
    - Dst: DuplicateHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:90,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitorwin32.c:117,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:130,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:116,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitorwin32.c:131,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: 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:180,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorwin32.c:165,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:100,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitorwin32.c:101,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorwin32.c:102,1
    - Dst: DuplicateHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:106,1
    - Dst: QueryMemoryResourceNotification
      Src: /src/glib/gio/gmemorymonitorwin32.c:126,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:177,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gmemorymonitorwin32.c:179,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/gmemorymonitorwin32.c:90,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/gmemorymonitorwin32.c:108,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gmemorymonitorwin32.c:130,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gmemorymonitorwin32.c:116,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_N_ELEMENTS
      Src: /src/glib/gio/gmemorymonitorwin32.c:153,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:163,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitorwin32.c:164,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: GetCurrentProcess
      Src: /src/glib/gio/gmemorymonitorwin32.c:106,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gmemorymonitorwin32.c:122,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:175,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gmemorymonitorwin32.c:178,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_free
    - g_clear_object
    - CloseHandle
    - QueryMemoryResourceNotification
    - g_debug
    - g_weak_ref_get
    - g_steal_pointer
    - g_usleep
    - GetCurrentProcess
    - GetLastError
    - WaitForMultipleObjects
    - g_idle_add_full
    - G_N_ELEMENTS
    - g_weak_ref_clear
    - g_win32_error_message
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD WINAPI watch_thread_function (LPVOID parameter) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:387,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:389,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 391
    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:518,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:518,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 522
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    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_if_fail
      Src: /src/glib/gio/gactiongroup.c:632,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:635,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:632,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - action_group
    - action_name
    - parameter
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 637
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 637
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:420,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:420,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 424
    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:546,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:548,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 550
    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:577,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:577,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:578,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:579,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - action_group
    - action_name
    - value
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 583
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 583
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    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:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    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_signal_new
      Src: /src/glib/gio/gactiongroup.c:265,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gactiongroup.c:268,1
    - Dst: I_
      Src: /src/glib/gio/gactiongroup.c:265,1
    - Dst: I_
      Src: /src/glib/gio/gactiongroup.c:286,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gactiongroup.c:286,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gactiongroup.c:289,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gactiongroup.c:307,1
    - Dst: I_
      Src: /src/glib/gio/gactiongroup.c:307,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gactiongroup.c:310,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gactiongroup.c:317,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gactiongroup.c:318,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gactiongroup.c:337,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gactiongroup.c:344,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gactiongroup.c:345,1
    - Dst: I_
      Src: /src/glib/gio/gactiongroup.c:332,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gactiongroup.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 347
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 347
    functionName: g_action_group_default_init
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - I_
    - g_signal_new
    - G_TYPE_FROM_INTERFACE
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    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:456,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:456,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 460
    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:678,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:678,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:679,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gactiongroup.c:681,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gactiongroup.c:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 685
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 685
    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:704,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gactiongroup.c:709,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:704,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:705,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gactiongroup.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - action_group
    - action_name
    - enabled
    argTypes:
    - GActionGroup*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 714
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 714
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:200,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gactiongroup.c:217,1
    - Dst: g_critical
      Src: /src/glib/gio/gactiongroup.c:215,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: 240
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 240
    functionName: g_action_group_real_query_action
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE_NAME
    - G_ACTION_GROUP_GET_IFACE
    - g_critical
    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_if_fail
      Src: /src/glib/gio/gactiongroup.c:654,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:654,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:655,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gactiongroup.c:657,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gactiongroup.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 661
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 661
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:366,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:368,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - action_group
    argTypes:
    - GActionGroup*
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    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:494,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:496,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 498
    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:733,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gactiongroup.c:736,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gactiongroup.c:738,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:733,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - action_group
    - action_name
    - state
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 741
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 741
    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:794,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: 796
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 796
    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_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:778,1
    - Dst: raise
      Src: /src/glib/gio/gdbusconnection.c:788,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - connection
    - remote_peer_vanished
    - error
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    constantsTouched: []
    func_position:
      end: 790
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 790
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1163,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:1165,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1168
    functionName: g_dbus_connection_is_closed
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_is_closed (GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:823,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:844,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusconnection.c:925,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:905,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:923,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:945,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:964,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdbusconnection.c:966,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:967,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:988,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:987,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusconnection.c:797,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:841,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusconnection.c:904,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:864,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:902,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:927,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:984,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusconnection.c:986,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:1007,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusconnection.c:1041,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusconnection.c:1052,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:820,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:824,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusconnection.c:822,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:845,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:860,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusconnection.c:862,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:906,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:941,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdbusconnection.c:943,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:944,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusconnection.c:843,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:863,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:926,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:968,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:1003,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusconnection.c:1005,1
    - Dst: P_
      Src: /src/glib/gio/gdbusconnection.c:1006,1
    - Dst: I_
      Src: /src/glib/gio/gdbusconnection.c:1041,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusconnection.c:1044,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusconnection.c:1053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 86
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusConnectionClass*
    constantsTouched: []
    func_position:
      end: 1055
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 1055
    functionName: g_dbus_connection_class_init
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - I_
    - G_TYPE_FROM_CLASS
    - g_param_spec_boolean
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_class_init (GDBusConnectionClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1138,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1141,1
    - Dst: _g_dbus_worker_unfreeze
      Src: /src/glib/gio/gdbusconnection.c:1145,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1144,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1146
    functionName: g_dbus_connection_start_message_processing
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_assert
    - _g_dbus_worker_unfreeze
    - G_IS_DBUS_CONNECTION
    - check_initialized
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_start_message_processing (GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1205,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1205,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1212
    functionName: g_dbus_connection_get_flags
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - check_initialized
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: GDBusConnectionFlags
    signature: 'GDBusConnectionFlags g_dbus_connection_get_flags (GDBusConnection
      *connection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2361,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2369,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2368,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2365,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:2362,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2370,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2375,1
    - Dst: copy_filter_list
      Src: /src/glib/gio/gdbusconnection.c:2376,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2377,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/gdbusconnection.c:2382,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2393,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2395,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2391,1
    - Dst: free_filter_list
      Src: /src/glib/gio/gdbusconnection.c:2392,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - worker
    - message
    - user_data
    argTypes:
    - GDBusWorker*
    - GDBusMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2398
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2398
    functionName: on_worker_message_about_to_be_sent
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_dbus_message_lock
    - G_LOCK
    - CONNECTION_LOCK
    - copy_filter_list
    - G_UNLOCK
    - g_object_unref
    - CONNECTION_UNLOCK
    - G_DBUS_CONNECTION
    - g_hash_table_contains
    - free_filter_list
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *on_worker_message_about_to_be_sent (GDBusWorker
      *worker, GDBusMessage *message, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_get_machine_id
      Src: /src/glib/gio/gdbusconnection.c:7096,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:7102,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusconnection.c:7099,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:7109,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:7108,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:7109,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7111,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - connection
    - object_path
    - message
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7113
      start: 7083
    functionDepth: 0
    functionLinenumber: 7083
    functionLinenumberEnd: 7113
    functionName: handle_generic_get_machine_id_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_error_literal
    - g_dbus_message_new_method_reply
    - g_error_free
    - g_object_unref
    - g_dbus_connection_send_message_unlocked
    - _g_dbus_get_machine_id
    - g_variant_new
    - g_dbus_message_set_body
    linkageType: ''
    returnType: void
    signature: 'static void handle_generic_get_machine_id_unlocked (GDBusConnection
      *connection, const gchar *object_path, GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1764,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1765,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusconnection.c:1767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - SendMessageData*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1768
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5921,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:5923,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5930,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5927,1
    - Dst: g_dbus_connection_send_message_with_reply
      Src: /src/glib/gio/gdbusconnection.c:5970,1
    - Dst: g_dbus_message_set_flags
      Src: /src/glib/gio/gdbusconnection.c:5985,1
    - Dst: _g_dbus_debug_call
      Src: /src/glib/gio/gdbusconnection.c:5993,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:5996,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6010,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5922,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5923,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:5924,1
    - Dst: g_strjoin
      Src: /src/glib/gio/gdbusconnection.c:5959,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdbusconnection.c:5968,1
    - Dst: g_dbus_message_get_flags
      Src: /src/glib/gio/gdbusconnection.c:5983,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:6006,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:5967,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5924,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusconnection.c:5925,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5926,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5932,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:5928,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusconnection.c:5930,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/gdbusconnection.c:5935,1
    - Dst: add_call_flags
      Src: /src/glib/gio/gdbusconnection.c:5939,1
    - Dst: g_variant_type_copy
      Src: /src/glib/gio/gdbusconnection.c:5964,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:5966,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:5922,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:5921,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5925,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:5927,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5928,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:5941,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/gdbusconnection.c:5945,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusconnection.c:5958,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:5987,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:5995,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:5993,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: 6011
      start: 5903
    functionDepth: 0
    functionLinenumber: 5903
    functionLinenumberEnd: 6011
    functionName: g_dbus_connection_call_internal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_dbus_connection_send_message
    - g_task_set_source_tag
    - g_dbus_message_set_flags
    - g_dbus_message_set_unix_fd_list
    - _g_dbus_debug_print_lock
    - g_object_unref
    - g_dbus_message_set_body
    - _g_dbus_debug_call
    - g_print
    - g_strjoin
    - g_dbus_connection_send_message_with_reply
    - G_IS_UNIX_FD_LIST
    - G_UNLIKELY
    - g_variant_is_object_path
    - g_dbus_is_interface_name
    - g_dbus_is_name
    - g_return_if_fail
    - g_dbus_message_new_method_call
    - g_dbus_message_get_flags
    - _g_dbus_debug_print_unlock
    - check_initialized
    - add_call_flags
    - g_task_set_task_data
    - g_task_new
    - G_IS_DBUS_CONNECTION
    - g_dbus_is_member_name
    - g_variant_is_of_type
    - g_variant_type_copy
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:2216,1
    - Dst: call_destroy_notify
      Src: /src/glib/gio/gdbusconnection.c:2211,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:2215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - notify_sync
    argTypes:
    - FilterData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2217
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2217
    functionName: filter_data_destroy
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - call_destroy_notify
    - g_free
    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:3399,1
    - Dst: g_critical
      Src: /src/glib/gio/gdbusconnection.c:3416,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:3403,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:3406,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:3403,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:3417,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:3419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - connection
    - match_rule
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3420
      start: 3389
    functionDepth: 0
    functionLinenumber: 3389
    functionLinenumberEnd: 3420
    functionName: remove_match_rule
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_error_free
    - g_object_unref
    - g_critical
    - g_dbus_connection_send_message_unlocked
    - g_dbus_message_new_method_call
    - g_variant_new
    - g_dbus_message_set_body
    linkageType: ''
    returnType: void
    signature: 'static void remove_match_rule (GDBusConnection *connection, const
      gchar *match_rule) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusconnection.c:4111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ei
    argTypes:
    - ExportedInterface*
    constantsTouched: []
    func_position:
      end: 4114
      start: 4108
    functionDepth: 0
    functionLinenumber: 4108
    functionLinenumberEnd: 4114
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/gdbusconnection.c:3368,1
    - Dst: g_critical
      Src: /src/glib/gio/gdbusconnection.c:3380,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:3374,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:3372,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:3372,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:3381,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:3383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - connection
    - match_rule
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3384
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3384
    functionName: add_match_rule
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_error_free
    - g_object_unref
    - g_critical
    - g_dbus_connection_send_message_unlocked
    - g_dbus_message_new_method_call
    - g_variant_new
    - g_dbus_message_set_body
    linkageType: ''
    returnType: void
    signature: 'static void add_match_rule (GDBusConnection *connection, const gchar
      *match_rule) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:5856,1
    - Dst: g_dbus_connection_send_message_with_reply_finish
      Src: /src/glib/gio/gdbusconnection.c:5863,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:5858,1
    - Dst: _g_dbus_debug_call
      Src: /src/glib/gio/gdbusconnection.c:5867,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:5867,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:5869,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:5870,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:5877,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/gdbusconnection.c:5879,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:5883,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:5887,1
    - Dst: decode_method_reply
      Src: /src/glib/gio/gdbusconnection.c:5891,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5899,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusconnection.c:5896,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:5898,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:5894,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5900
      start: 5851
    functionDepth: 0
    functionLinenumber: 5851
    functionLinenumberEnd: 5900
    functionName: g_dbus_connection_call_done
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_print_lock
    - G_UNLIKELY
    - g_dbus_connection_send_message_with_reply_finish
    - G_DBUS_CONNECTION
    - g_dbus_message_get_reply_serial
    - g_clear_object
    - g_object_unref
    - g_task_return_pointer
    - decode_method_reply
    - _g_dbus_debug_call
    - _g_dbus_debug_print_unlock
    - g_print
    - g_task_get_task_data
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_call_done (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:734,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusconnection.c:751,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusconnection.c:743,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusconnection.c:739,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusconnection.c:747,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/gdbusconnection.c:755,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gdbusconnection.c:755,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusconnection.c:759,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusconnection.c:763,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 766
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 766
    functionName: g_dbus_connection_set_property
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - G_DBUS_CONNECTION
    - g_value_dup_object
    - g_dbus_connection_set_exit_on_close
    - g_value_get_flags
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1115,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1118,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1122
    functionName: g_dbus_connection_get_stream
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - check_initialized
    - G_IS_DBUS_CONNECTION
    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:1535,1
    - Dst: check_unclosed
      Src: /src/glib/gio/gdbusconnection.c:1540,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gdbusconnection.c:1545,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1536,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1535,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gdbusconnection.c:1546,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbusconnection.c:1547,1
    - Dst: g_dbus_connection_close
      Src: /src/glib/gio/gdbusconnection.c:1550,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbusconnection.c:1551,1
    - Dst: g_dbus_connection_close_finish
      Src: /src/glib/gio/gdbusconnection.c:1552,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1554,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gdbusconnection.c:1556,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbusconnection.c:1555,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:1557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1561
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1561
    functionName: g_dbus_connection_close_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_close
    - g_main_context_push_thread_default
    - g_main_context_unref
    - g_dbus_connection_close_finish
    - check_unclosed
    - g_object_unref
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_close_sync (GDBusConnection *connection,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:2406,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:2414,1
    - Dst: send_message_with_reply_cleanup
      Src: /src/glib/gio/gdbusconnection.c:2420,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gdbusconnection.c:2411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2422
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2422
    functionName: cancel_method_on_close
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - send_message_with_reply_cleanup
    - g_task_return_new_error
    - g_task_get_task_data
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cancel_method_on_close (gpointer key, gpointer value,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_set_flags
      Src: /src/glib/gio/gdbusconnection.c:5763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - message
    - flags
    argTypes:
    - GDBusMessage*
    - GDBusCallFlags
    constantsTouched: []
    func_position:
      end: 5764
      start: 5752
    functionDepth: 0
    functionLinenumber: 5752
    functionLinenumberEnd: 5764
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3538,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3538,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3542,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3544,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3544,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3543,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:3574,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3587,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gdbusconnection.c:3591,1
    - Dst: is_signal_data_for_name_lost_or_acquired
      Src: /src/glib/gio/gdbusconnection.c:3605,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:3618,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:3539,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3541,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:3542,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:3548,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3560,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:3565,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3578,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3586,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:3592,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusconnection.c:3613,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3615,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3540,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusconnection.c:3541,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusconnection.c:3560,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3545,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusconnection.c:3570,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:3571,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:3577,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:3582,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3585,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3589,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:3609,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:3622,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3539,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:3540,1
    - Dst: args_to_rule
      Src: /src/glib/gio/gdbusconnection.c:3558,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3546,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3584,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3588,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:3594,1
    - Dst: add_match_rule
      Src: /src/glib/gio/gdbusconnection.c:3606,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:3614,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:3625,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:3621,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 100
    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: 3628
      start: 3510
    functionDepth: 0
    functionLinenumber: 3510
    functionLinenumberEnd: 3628
    functionName: g_dbus_connection_signal_subscribe
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - CONNECTION_UNLOCK
    - g_return_val_if_fail
    - g_ptr_array_new
    - is_signal_data_for_name_lost_or_acquired
    - g_strcmp0
    - g_main_context_ref_thread_default
    - args_to_rule
    - g_variant_is_object_path
    - g_dbus_is_interface_name
    - g_dbus_is_name
    - g_ptr_array_add
    - g_dbus_is_unique_name
    - check_initialized
    - g_atomic_int_add
    - g_strdup
    - g_free
    - g_new0
    - CONNECTION_LOCK
    - G_IS_DBUS_CONNECTION
    - g_dbus_is_member_name
    - add_match_rule
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:5430,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusconnection.c:5434,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusconnection.c:5435,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusconnection.c:5436,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusconnection.c:5437,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusconnection.c:5442,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusconnection.c:5443,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusconnection.c:5444,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusconnection.c:5445,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusconnection.c:5450,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusconnection.c:5453,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusconnection.c:5451,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusconnection.c:5452,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - method_call_closure
    - get_property_closure
    - set_property_closure
    argTypes:
    - GClosure*
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 5457
      start: 5423
    functionDepth: 0
    functionLinenumber: 5423
    functionLinenumberEnd: 5457
    functionName: register_object_data_new
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_closure_set_marshal
    - g_new0
    - g_closure_ref
    - g_closure_sink
    - 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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusconnection.c:5776,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusconnection.c:5787,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusconnection.c:5783,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:5779,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:5782,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:5790,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusconnection.c:5792,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:5794,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5797,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:5798,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:5800,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:5812,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:5801,1
    - Dst: g_dbus_message_get_unix_fd_list
      Src: /src/glib/gio/gdbusconnection.c:5810,1
    - Dst: g_dbus_message_to_gerror
      Src: /src/glib/gio/gdbusconnection.c:5819,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:5823,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 5
    argNames:
    - reply
    - method_name
    - reply_type
    - out_fd_list
    - error
    argTypes:
    - GDBusMessage*
    - gchar*
    - GVariantType*
    - GUnixFDList**
    - GError**
    constantsTouched: []
    func_position:
      end: 5828
      start: 5766
    functionDepth: 0
    functionLinenumber: 5766
    functionLinenumberEnd: 5828
    functionName: decode_method_reply
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_type_dup_string
    - g_dbus_message_get_message_type
    - g_variant_get_type_string
    - _
    - g_free
    - g_dbus_message_get_unix_fd_list
    - g_object_ref
    - g_variant_unref
    - g_dbus_message_to_gerror
    - g_assert_not_reached
    - g_dbus_message_get_body
    - g_variant_ref
    - g_variant_new
    - g_variant_ref_sink
    - g_variant_is_of_type
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:689,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:694,1
    - Dst: g_dbus_connection_get_guid
      Src: /src/glib/gio/gdbusconnection.c:698,1
    - Dst: g_dbus_connection_get_stream
      Src: /src/glib/gio/gdbusconnection.c:694,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:698,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:702,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusconnection.c:702,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusconnection.c:706,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/gdbusconnection.c:706,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusconnection.c:710,1
    - Dst: g_dbus_connection_get_capabilities
      Src: /src/glib/gio/gdbusconnection.c:714,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusconnection.c:718,1
    - Dst: g_dbus_connection_get_exit_on_close
      Src: /src/glib/gio/gdbusconnection.c:710,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusconnection.c:714,1
    - Dst: g_dbus_connection_get_flags
      Src: /src/glib/gio/gdbusconnection.c:718,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusconnection.c:722,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 725
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 725
    functionName: g_dbus_connection_get_property
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_guid
    - g_value_set_flags
    - g_value_set_string
    - g_dbus_connection_get_stream
    - g_dbus_connection_get_exit_on_close
    - g_dbus_connection_get_flags
    - g_dbus_connection_get_capabilities
    - g_dbus_connection_is_closed
    - G_DBUS_CONNECTION
    - g_dbus_connection_get_unique_name
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusconnection.c:1060,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1065,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1067,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:1063,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusconnection.c:1061,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:1069,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:1074,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1079,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:1082,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1087,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1090,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:1093,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusconnection.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1096
    functionName: g_dbus_connection_init
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_main_context_ref_thread_default
    - g_hash_table_new
    - g_mutex_init
    - g_hash_table_new_full
    - g_ptr_array_new
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_init (GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3076,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3079,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 3083
      start: 3073
    functionDepth: 0
    functionLinenumber: 3073
    functionLinenumberEnd: 3083
    functionName: g_dbus_connection_get_unique_name
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - check_initialized
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_connection_get_unique_name (GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3427,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3428,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3429,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3431,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - signal_data
    argTypes:
    - SignalData*
    constantsTouched: []
    func_position:
      end: 3432
      start: 3424
    functionDepth: 0
    functionLinenumber: 3424
    functionLinenumberEnd: 3432
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:7479,1
    - Dst: g_initable_init
      Src: /src/glib/gio/gdbusconnection.c:7487,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:7487,1
    - Dst: get_uninitialized_connection
      Src: /src/glib/gio/gdbusconnection.c:7483,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7481,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - bus_type
    - cancellable
    - error
    argTypes:
    - GBusType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 7495
      start: 7472
    functionDepth: 0
    functionLinenumber: 7472
    functionLinenumberEnd: 7495
    functionName: g_bus_get_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    - g_initable_init
    - g_object_unref
    - G_INITABLE
    - g_return_val_if_fail
    - get_uninitialized_connection
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_bus_get_sync (GBusType bus_type, GCancellable *cancellable,
      GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2263,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:2264,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2276,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/gdbusconnection.c:2277,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2282,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2300,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:2318,1
    - Dst: send_message_data_deliver_reply_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2323,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2329,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2267,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2271,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/gdbusconnection.c:2315,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusconnection.c:2309,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2284,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:2317,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2333,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2346,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2272,1
    - Dst: copy_filter_list
      Src: /src/glib/gio/gdbusconnection.c:2283,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2316,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2298,1
    - Dst: distribute_signals
      Src: /src/glib/gio/gdbusconnection.c:2334,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2335,1
    - Dst: distribute_method_call
      Src: /src/glib/gio/gdbusconnection.c:2340,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2341,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2347,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2270,1
    - Dst: free_filter_list
      Src: /src/glib/gio/gdbusconnection.c:2299,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/gdbusconnection.c:2295,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2339,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 3
    argNames:
    - worker
    - message
    - user_data
    argTypes:
    - GDBusWorker*
    - GDBusMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2348
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2348
    functionName: on_worker_message_received
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_message_type
    - g_object_ref
    - g_dbus_message_lock
    - G_LOCK
    - g_dbus_message_get_reply_serial
    - distribute_method_call
    - CONNECTION_LOCK
    - copy_filter_list
    - G_UNLOCK
    - GUINT_TO_POINTER
    - send_message_data_deliver_reply_unlocked
    - g_object_unref
    - CONNECTION_UNLOCK
    - G_DBUS_CONNECTION
    - distribute_signals
    - g_hash_table_lookup
    - g_hash_table_contains
    - free_filter_list
    linkageType: ''
    returnType: void
    signature: 'static void on_worker_message_received (GDBusWorker *worker, GDBusMessage
      *message, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1183,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1183,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1190
    functionName: g_dbus_connection_get_capabilities
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - check_initialized
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: GDBusCapabilityFlags
    signature: 'GDBusCapabilityFlags g_dbus_connection_get_capabilities (GDBusConnection
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:7077,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7079,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - object_path
    - message
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7080
      start: 7071
    functionDepth: 0
    functionLinenumber: 7071
    functionLinenumberEnd: 7080
    functionName: handle_generic_ping_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_object_unref
    - g_dbus_connection_send_message_unlocked
    linkageType: ''
    returnType: void
    signature: 'static void handle_generic_ping_unlocked (GDBusConnection *connection,
      const gchar *object_path, GDBusMessage *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2435,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:2436,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2439,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2443,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2442,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2444,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2448,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gio/gdbusconnection.c:2453,1
    - Dst: g_hash_table_foreach_remove
      Src: /src/glib/gio/gdbusconnection.c:2457,1
    - Dst: schedule_closed_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2458,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2460,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2462,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: 2463
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2463
    functionName: on_worker_closed
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_LOCK
    - g_atomic_int_or
    - CONNECTION_LOCK
    - G_UNLOCK
    - g_object_unref
    - schedule_closed_unlocked
    - CONNECTION_UNLOCK
    - G_DBUS_CONNECTION
    - g_hash_table_contains
    - g_hash_table_foreach_remove
    linkageType: ''
    returnType: void
    signature: 'static void on_worker_closed (GDBusWorker *worker, gboolean remote_peer_vanished,
      GError *error, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1585,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1587,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:1588,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1585,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusconnection.c:1588,1
    - Dst: g_thread_self
      Src: /src/glib/gio/gdbusconnection.c:1589,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:1590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1593
    functionName: g_dbus_connection_get_last_serial
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - CONNECTION_LOCK
    - g_thread_self
    - g_return_val_if_fail
    - CONNECTION_UNLOCK
    - G_IS_DBUS_CONNECTION
    - g_hash_table_lookup
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_dbus_connection_get_last_serial (GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/gdbusconnection.c:1225,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:1230,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusconnection.c:1228,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: 1231
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1231
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1321,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1321,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1336,1
    - Dst: check_unclosed
      Src: /src/glib/gio/gdbusconnection.c:1333,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1322,1
    - Dst: _g_dbus_worker_flush_sync
      Src: /src/glib/gio/gdbusconnection.c:1338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1344
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1344
    functionName: g_dbus_connection_flush_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_assert
    - _g_dbus_worker_flush_sync
    - check_unclosed
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_flush_sync (GDBusConnection *connection,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:3817,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:3818,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3820,1
    - Dst: signal_subscriber_unref
      Src: /src/glib/gio/gdbusconnection.c:3819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - signal_instance
    argTypes:
    - SignalInstance*
    constantsTouched: []
    func_position:
      end: 3821
      start: 3814
    functionDepth: 0
    functionLinenumber: 3814
    functionLinenumberEnd: 3821
    functionName: signal_instance_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - signal_subscriber_unref
    - g_object_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void signal_instance_free (SignalInstance *signal_instance) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:3830,1
    - Dst: memcmp
      Src: /src/glib/gio/gdbusconnection.c:3836,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:3831,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - namespace
    - name
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3840
      start: 3823
    functionDepth: 0
    functionLinenumber: 3823
    functionLinenumberEnd: 3840
    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:4854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 4855
      start: 4851
    functionDepth: 0
    functionLinenumber: 4851
    functionLinenumberEnd: 4855
    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_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1292,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1294,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:1293,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1292,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1293,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdbusconnection.c:1296,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:1296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - error
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1297
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1297
    functionName: g_dbus_connection_flush_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_boolean
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_flush_finish (GDBusConnection *connection,
      GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusconnection.c:4167,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:4177,1
    - Dst: call_destroy_notify
      Src: /src/glib/gio/gdbusconnection.c:4173,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4180,1
    - Dst: _g_dbus_subtree_vtable_free
      Src: /src/glib/gio/gdbusconnection.c:4179,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - ExportedSubtree*
    constantsTouched: []
    func_position:
      end: 4182
      start: 4164
    functionDepth: 0
    functionLinenumber: 4164
    functionLinenumberEnd: 4182
    functionName: exported_subtree_unref
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _g_dbus_subtree_vtable_free
    - g_atomic_int_dec_and_test
    - call_destroy_notify
    - g_free
    - g_main_context_unref
    linkageType: ''
    returnType: void
    signature: 'static void exported_subtree_unref (ExportedSubtree *es) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:4549,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4554,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:4554,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4549,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4563,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4567,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4569,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4571,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4572,1
    - Dst: validate_and_maybe_schedule_property_getset
      Src: /src/glib/gio/gdbusconnection.c:4577,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - connection
    - eo
    - message
    - is_get
    argTypes:
    - GDBusConnection*
    - ExportedObject*
    - GDBusMessage*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4588
      start: 4535
    functionDepth: 0
    functionLinenumber: 4535
    functionLinenumberEnd: 4588
    functionName: handle_getset_property
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_error
    - _
    - g_object_unref
    - g_dbus_message_get_body
    - g_variant_get
    - g_dbus_connection_send_message_unlocked
    - validate_and_maybe_schedule_property_getset
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_getset_property (GDBusConnection *connection,
      ExportedObject *eo, GDBusMessage *message, gboolean is_get) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5058,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gdbusconnection.c:5059,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:5061,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:5067,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5059,1
    - Dst: _g_dbus_method_invocation_new
      Src: /src/glib/gio/gdbusconnection.c:5044,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:5046,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gdbusconnection.c:5057,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5059,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:5062,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5057,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:5065,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:5044,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:5045,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:5047,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gdbusconnection.c:5058,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5058,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:5068,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:5063,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:5069,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: 5070
      start: 5028
    functionDepth: 0
    functionLinenumber: 5028
    functionLinenumberEnd: 5070
    functionName: schedule_method_call
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_source_set_callback
    - g_source_set_static_name
    - GUINT_TO_POINTER
    - g_source_set_priority
    - _g_dbus_method_invocation_new
    - g_idle_source_new
    - g_steal_pointer
    - g_object_set_data
    - g_dbus_message_get_sender
    - g_source_unref
    - g_dbus_message_get_interface
    - g_source_attach
    - g_dbus_message_get_member
    - g_dbus_message_get_path
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish_internal
      Src: /src/glib/gio/gdbusconnection.c:6277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - res
    - error
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6278
      start: 6272
    functionDepth: 0
    functionLinenumber: 6272
    functionLinenumberEnd: 6278
    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:6352,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 11
    argNames:
    - connection
    - bus_name
    - object_path
    - interface_name
    - method_name
    - parameters
    - reply_type
    - flags
    - timeout_msec
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GVariantType*
    - GDBusCallFlags
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6353
      start: 6339
    functionDepth: 0
    functionLinenumber: 6339
    functionLinenumberEnd: 6353
    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_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3055,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 3057
      start: 3052
    functionDepth: 0
    functionLinenumber: 3052
    functionLinenumberEnd: 3057
    functionName: g_dbus_connection_get_guid
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_connection_get_guid (GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3269,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3272,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3273,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3270,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3271,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3274,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3275,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusconnection.c:3276,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - signal_data
    argTypes:
    - SignalData*
    constantsTouched: []
    func_position:
      end: 3278
      start: 3266
    functionDepth: 0
    functionLinenumber: 3266
    functionLinenumberEnd: 3278
    functionName: signal_data_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void signal_data_free (SignalData *signal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7432,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7439,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/gdbusconnection.c:7437,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:7434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - bus_type
    argTypes:
    - GBusType
    constantsTouched: []
    func_position:
      end: 7440
      start: 7427
    functionDepth: 0
    functionLinenumber: 7427
    functionLinenumberEnd: 7440
    functionName: _g_bus_forget_singleton
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_weak_ref_set
    - G_UNLOCK
    - message_bus_get_singleton
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void _g_bus_forget_singleton (GBusType bus_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1358,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:1361,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:1360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitClosedData*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1362
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1266,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:1268,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1266,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gdbusconnection.c:1270,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:1269,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - connection
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1272
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1272
    functionName: g_dbus_connection_flush
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_IS_DBUS_CONNECTION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_flush (GDBusConnection *connection, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:269,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:274,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:273,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:279,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:275,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:280,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - context
    - callback
    - user_data
    argTypes:
    - GMainContext*
    - GDestroyNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 282
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 282
    functionName: call_destroy_notify
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_new0
    - g_source_set_static_name
    - g_source_unref
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: void
    signature: 'static void call_destroy_notify (GMainContext *context, GDestroyNotify
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusconnection.c:1373,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:1373,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusconnection.c:1374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1381
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1381
    functionName: emit_closed_in_idle
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - g_signal_emit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_closed_in_idle (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:2821,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2823,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/gdbusconnection.c:2822,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2824,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2822,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusconnection.c:2825,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 6
    argNames:
    - stream
    - guid
    - flags
    - observer
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - gchar*
    - GDBusConnectionFlags
    - GDBusAuthObserver*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2833
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2833
    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: filter_data_destroy
      Src: /src/glib/gio/gdbusconnection.c:3194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 3195
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3195
    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_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3169,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3170,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3171,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3171,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3169,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:3173,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:3174,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusconnection.c:3175,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:3180,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:3181,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:3182,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: 3185
      start: 3161
    functionDepth: 0
    functionLinenumber: 3161
    functionLinenumberEnd: 3185
    functionName: g_dbus_connection_add_filter
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_new0
    - CONNECTION_LOCK
    - g_main_context_ref_thread_default
    - g_ptr_array_add
    - G_IS_DBUS_CONNECTION
    - CONNECTION_UNLOCK
    - g_return_val_if_fail
    - check_initialized
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_add_filter (GDBusConnection *connection, GDBusMessageFilterFunction
      filter_function, gpointer user_data, GDestroyNotify user_data_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/gio/gdbusconnection.c:3294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - subscriber
    argTypes:
    - SignalSubscriber*
    constantsTouched: []
    func_position:
      end: 3296
      start: 3291
    functionDepth: 0
    functionLinenumber: 3291
    functionLinenumberEnd: 3296
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/gio/gdbusconnection.c:4063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vtable
    argTypes:
    - GDBusSubtreeVTable*
    constantsTouched: []
    func_position:
      end: 4064
      start: 4057
    functionDepth: 0
    functionLinenumber: 4057
    functionLinenumberEnd: 4064
    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:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusconnection.c:4158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - es
    argTypes:
    - ExportedSubtree*
    constantsTouched: []
    func_position:
      end: 4161
      start: 4155
    functionDepth: 0
    functionLinenumber: 4155
    functionLinenumberEnd: 4161
    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_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4278,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusconnection.c:4297,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4301,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:4299,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusconnection.c:4309,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4313,1
    - Dst: has_object_been_unregistered
      Src: /src/glib/gio/gdbusconnection.c:4268,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4277,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4274,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:4285,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4307,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:4298,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:4314,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4276,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4279,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gdbusconnection.c:4295,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4300,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/gdbusconnection.c:4308,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4312,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4315,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:4319,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:4320,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4286,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:4299,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4323
      start: 4258
    functionDepth: 0
    functionLinenumber: 4258
    functionLinenumberEnd: 4323
    functionName: invoke_get_property_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - _
    - g_clear_pointer
    - g_dbus_connection_send_message
    - g_dbus_message_get_path
    - g_object_unref
    - g_dbus_error_encode_gerror
    - g_variant_new
    - g_dbus_message_set_body
    - g_variant_take_ref
    - has_object_been_unregistered
    - g_dbus_message_new_method_error_literal
    - g_dbus_message_new_method_error
    - g_assert_no_error
    - g_variant_unref
    - g_error_free
    - g_free
    - g_assert
    - g_dbus_message_get_sender
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean invoke_get_property_in_idle_cb (gpointer _data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:4988,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusconnection.c:4989,1
    - Dst: has_object_been_unregistered
      Src: /src/glib/gio/gdbusconnection.c:4991,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5004,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:5009,1
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/gdbusconnection.c:5015,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:5017,1
    - Dst: G_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusconnection.c:4981,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusconnection.c:4988,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:4989,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusconnection.c:4991,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4998,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusconnection.c:5008,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:5003,1
    - Dst: g_dbus_method_invocation_get_message
      Src: /src/glib/gio/gdbusconnection.c:4998,1
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusconnection.c:5002,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5000,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusconnection.c:4989,1
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusconnection.c:5013,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusconnection.c:5014,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdbusconnection.c:5016,1
    - Dst: g_dbus_method_invocation_get_user_data
      Src: /src/glib/gio/gdbusconnection.c:5018,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusconnection.c:4988,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusconnection.c:5001,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusconnection.c:5003,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5008,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusconnection.c:5011,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gdbusconnection.c:5012,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5021,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5022,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5025
      start: 4978
    functionDepth: 0
    functionLinenumber: 4978
    functionLinenumberEnd: 5025
    functionName: call_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - _
    - GPOINTER_TO_UINT
    - g_clear_pointer
    - g_dbus_connection_send_message
    - g_object_unref
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_get_user_data
    - has_object_been_unregistered
    - g_dbus_message_new_method_error
    - g_dbus_method_invocation_get_object_path
    - g_object_ref
    - g_dbus_method_invocation_get_message
    - g_dbus_method_invocation_get_method_name
    - g_dbus_method_invocation_get_parameters
    - G_DBUS_METHOD_INVOCATION
    - g_assert
    - g_object_get_data
    - g_dbus_method_invocation_get_interface_name
    - g_dbus_method_invocation_get_sender
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean call_in_idle_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_internal
      Src: /src/glib/gio/gdbusconnection.c:6256,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: 6257
      start: 6242
    functionDepth: 0
    functionLinenumber: 6242
    functionLinenumberEnd: 6257
    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_atomic_ref_count_dec
      Src: /src/glib/gio/gdbusconnection.c:3301,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:3311,1
    - Dst: call_destroy_notify
      Src: /src/glib/gio/gdbusconnection.c:3307,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - subscriber
    argTypes:
    - SignalSubscriber*
    constantsTouched: []
    func_position:
      end: 3314
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3314
    functionName: signal_subscriber_unref
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - call_destroy_notify
    - g_atomic_ref_count_dec
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void signal_subscriber_unref (SignalSubscriber *subscriber) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vtable
    argTypes:
    - GDBusSubtreeVTable*
    constantsTouched: []
    func_position:
      end: 4070
      start: 4066
    functionDepth: 0
    functionLinenumber: 4066
    functionLinenumberEnd: 4070
    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: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1394,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:1396,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gdbusconnection.c:1399,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:1401,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:1397,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:1402,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:1403,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:1407,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:1408,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:1409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - connection
    - remote_peer_vanished
    - error
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1410
    functionName: schedule_closed_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    - CONNECTION_ENSURE_LOCK
    - g_error_copy
    - g_source_unref
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    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:2067,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2069,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:2068,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2068,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2067,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusconnection.c:2071,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:2071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - error
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2072
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2072
    functionName: g_dbus_connection_send_message_with_reply_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_pointer
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_connection_send_message_with_reply_finish (GDBusConnection
      *connection, GAsyncResult *res, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:3771,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusconnection.c:3779,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:3783,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusconnection.c:3775,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:3774,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbusconnection.c:3789,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:3793,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:3795,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:3796,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:3798,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:3809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3812
      start: 3764
    functionDepth: 0
    functionLinenumber: 3764
    functionLinenumberEnd: 3812
    functionName: emit_signal_instance_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_variant_print
    - CONNECTION_LOCK
    - g_variant_unref
    - g_dbus_message_get_body
    - GUINT_TO_POINTER
    - g_variant_new
    - CONNECTION_UNLOCK
    - g_variant_ref_sink
    - g_print
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_signal_instance_in_idle_cb (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4252,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:4253,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - PropertyData*
    constantsTouched: []
    func_position:
      end: 4255
      start: 4249
    functionDepth: 0
    functionLinenumber: 4249
    functionLinenumberEnd: 4255
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:2879,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusconnection.c:2884,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2881,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2882,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: 2893
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2893
    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_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:2968,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2970,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2971,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2972,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusconnection.c:2973,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - address
    - flags
    - observer
    - cancellable
    - error
    argTypes:
    - gchar*
    - GDBusConnectionFlags
    - GDBusAuthObserver*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2980
      start: 2961
    functionDepth: 0
    functionLinenumber: 2961
    functionLinenumberEnd: 2980
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:3644,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3663,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:3670,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:3672,1
    - Dst: signal_data_free
      Src: /src/glib/gio/gdbusconnection.c:3698,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:3704,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:3664,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gdbusconnection.c:3666,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3674,1
    - Dst: g_ptr_array_remove
      Src: /src/glib/gio/gdbusconnection.c:3675,1
    - Dst: remove_match_rule
      Src: /src/glib/gio/gdbusconnection.c:3695,1
    - Dst: is_signal_data_for_name_lost_or_acquired
      Src: /src/glib/gio/gdbusconnection.c:3685,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:3679,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:3663,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:3645,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3670,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3675,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/gdbusconnection.c:3686,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3679,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - connection
    - subscription_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 3708
      start: 3635
    functionDepth: 0
    functionLinenumber: 3635
    functionLinenumberEnd: 3708
    functionName: unsubscribe_id_internal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - remove_match_rule
    - is_signal_data_for_name_lost_or_acquired
    - g_warn_if_fail
    - g_assert_not_reached
    - g_hash_table_remove
    - GUINT_TO_POINTER
    - g_dbus_connection_is_closed
    - g_ptr_array_remove
    - signal_data_free
    - g_hash_table_lookup
    - g_ptr_array_remove_index_fast
    linkageType: ''
    returnType: guint
    signature: 'static guint unsubscribe_id_internal (GDBusConnection *connection,
      guint subscription_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/gio/gdbusconnection.c:4046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vtable
    argTypes:
    - GDBusInterfaceVTable*
    constantsTouched: []
    func_position:
      end: 4047
      start: 4040
    functionDepth: 0
    functionLinenumber: 4040
    functionLinenumberEnd: 4047
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:4771,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4782,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4778,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4771,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4784,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4786,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4787,1
    - Dst: validate_and_maybe_schedule_property_get_all
      Src: /src/glib/gio/gdbusconnection.c:4792,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - connection
    - eo
    - message
    argTypes:
    - GDBusConnection*
    - ExportedObject*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 4802
      start: 4760
    functionDepth: 0
    functionLinenumber: 4760
    functionLinenumberEnd: 4802
    functionName: handle_get_all_properties
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_error
    - _
    - g_object_unref
    - g_dbus_message_get_body
    - g_variant_get
    - g_dbus_connection_send_message_unlocked
    - validate_and_maybe_schedule_property_get_all
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_get_all_properties (GDBusConnection *connection,
      ExportedObject *eo, GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5464,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5465,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5466,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:5468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5469
      start: 5459
    functionDepth: 0
    functionLinenumber: 5459
    functionLinenumberEnd: 5469
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6529,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/gdbusconnection.c:6548,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:6574,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6604,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusconnection.c:6609,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusconnection.c:6531,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbusconnection.c:6544,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusconnection.c:6570,1
    - Dst: g_dbus_interface_info_generate_xml
      Src: /src/glib/gio/gdbusconnection.c:6580,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:6583,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:6599,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:6602,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:6527,1
    - Dst: introspect_append_header
      Src: /src/glib/gio/gdbusconnection.c:6532,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:6528,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusconnection.c:6581,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:6597,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:6602,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:6603,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:6610,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusconnection.c:6568,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:6576,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:6590,1
    - Dst: g_dbus_connection_list_registered
      Src: /src/glib/gio/gdbusconnection.c:6594,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:6596,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:6601,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 3
    argNames:
    - connection
    - es
    - message
    argTypes:
    - GDBusConnection*
    - ExportedSubtree*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 6612
      start: 6506
    functionDepth: 0
    functionLinenumber: 6506
    functionLinenumberEnd: 6612
    functionName: handle_subtree_introspect
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_string_append
    - g_dbus_connection_send_message
    - g_strfreev
    - g_strv_contains
    - g_dbus_interface_info_generate_xml
    - g_dbus_message_get_path
    - g_strcmp0
    - g_object_unref
    - g_variant_new
    - g_dbus_message_set_body
    - strcmp
    - g_string_free
    - g_dbus_connection_list_registered
    - g_string_new
    - g_dbus_interface_info_unref
    - g_free
    - strrchr
    - g_string_append_printf
    - g_dbus_message_get_sender
    - introspect_append_header
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_subtree_introspect (GDBusConnection *connection,
      ExportedSubtree *es, GDBusMessage *message) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6849,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:6849,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6850,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:6850,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6851,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:6851,1
    - Dst: handle_subtree_introspect
      Src: /src/glib/gio/gdbusconnection.c:6852,1
    - Dst: handle_subtree_method_invocation
      Src: /src/glib/gio/gdbusconnection.c:6856,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:6862,1
    - Dst: handle_generic_unlocked
      Src: /src/glib/gio/gdbusconnection.c:6863,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:6873,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:6874,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:6871,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6878,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:6875,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:6864,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:6877,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:6876,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 6882
      start: 6841
    functionDepth: 0
    functionLinenumber: 6841
    functionLinenumberEnd: 6882
    functionName: process_subtree_vtable_message_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_signature
    - g_dbus_message_new_method_error
    - _
    - g_strcmp0
    - g_dbus_connection_send_message
    - CONNECTION_LOCK
    - g_object_unref
    - handle_subtree_introspect
    - handle_subtree_method_invocation
    - CONNECTION_UNLOCK
    - g_dbus_message_get_interface
    - handle_generic_unlocked
    - g_dbus_message_get_member
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean process_subtree_vtable_message_in_idle_cb (gpointer
      _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vtable
    argTypes:
    - GDBusInterfaceVTable*
    constantsTouched: []
    func_position:
      end: 4053
      start: 4049
    functionDepth: 0
    functionLinenumber: 4049
    functionLinenumberEnd: 4053
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5484,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5487,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5493,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5499,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbusconnection.c:5505,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5509,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5513,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5491,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5497,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:5503,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5508,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5512,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5490,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5496,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5507,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5502,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5511,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5488,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:5485,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5494,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusconnection.c:5505,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusconnection.c:5500,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5510,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: 5514
      start: 5471
    functionDepth: 0
    functionLinenumber: 5471
    functionLinenumberEnd: 5514
    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_unset
    - g_value_set_variant
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1734,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusconnection.c:1735,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1736,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1734,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1735,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/gdbusconnection.c:1736,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1737,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1739,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:1740,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:1741,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: 1743
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1743
    functionName: g_dbus_connection_send_message
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_locked
    - CONNECTION_LOCK
    - G_IS_DBUS_MESSAGE
    - g_dbus_connection_send_message_unlocked
    - CONNECTION_UNLOCK
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    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:2154,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2154,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusconnection.c:2155,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2156,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2155,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/gdbusconnection.c:2156,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2157,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2158,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gdbusconnection.c:2161,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbusconnection.c:2162,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbusconnection.c:2174,1
    - Dst: g_dbus_connection_send_message_with_reply
      Src: /src/glib/gio/gdbusconnection.c:2166,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gdbusconnection.c:2179,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:2181,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbusconnection.c:2182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2184,1
    - Dst: g_dbus_connection_send_message_with_reply_finish
      Src: /src/glib/gio/gdbusconnection.c:2175,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gdbusconnection.c:2164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 7
    argNames:
    - connection
    - message
    - flags
    - timeout_msec
    - out_serial
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - GDBusSendMessageFlags
    - gint
    - guint32*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2187
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2187
    functionName: g_dbus_connection_send_message_with_reply_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_locked
    - g_main_context_push_thread_default
    - g_dbus_connection_send_message_with_reply_finish
    - g_main_context_unref
    - G_IS_DBUS_MESSAGE
    - g_object_unref
    - g_main_loop_unref
    - g_dbus_connection_send_message_with_reply
    - g_main_loop_new
    - g_main_loop_run
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_main_context_pop_thread_default
    - g_main_context_new
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2915,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2916,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2919,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdbusconnection.c:2915,1
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusconnection.c:2918,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusconnection.c:2920,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:2920,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2923,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2925,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2928
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2928
    functionName: g_dbus_connection_new_for_address_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_IS_ASYNC_RESULT
    - g_assert
    - g_object_unref
    - g_async_initable_new_finish
    - G_ASYNC_INITABLE
    - G_DBUS_CONNECTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_connection_new_for_address_finish (GAsyncResult
      *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7414,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusconnection.c:7419,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:7415,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - bus_type
    argTypes:
    - GBusType
    constantsTouched: []
    func_position:
      end: 7424
      start: 7408
    functionDepth: 0
    functionLinenumber: 7408
    functionLinenumberEnd: 7424
    functionName: _g_bus_get_singleton_if_exists
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - G_UNLOCK
    - message_bus_get_singleton
    - G_LOCK
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *_g_bus_get_singleton_if_exists (GBusType bus_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7154,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:7158,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:7159,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:7160,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:7161,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7163,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7164,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7165,1
    - Dst: handle_generic_introspect_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7167,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7170,1
    - Dst: handle_generic_ping_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7174,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7171,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7172,1
    - Dst: handle_generic_get_machine_id_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7181,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7178,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7177,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7179,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - connection
    - message
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7186
      start: 7144
    functionDepth: 0
    functionLinenumber: 7144
    functionLinenumberEnd: 7186
    functionName: handle_generic_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_signature
    - handle_generic_introspect_unlocked
    - g_strcmp0
    - CONNECTION_ENSURE_LOCK
    - handle_generic_get_machine_id_unlocked
    - g_dbus_message_get_interface
    - g_dbus_message_get_member
    - handle_generic_ping_unlocked
    - g_dbus_message_get_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_generic_unlocked (GDBusConnection *connection,
      GDBusMessage *message) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5180,1
    - Dst: validate_and_maybe_schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:5189,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5213,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5227,1
    - Dst: handle_getset_property
      Src: /src/glib/gio/gdbusconnection.c:5223,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:5172,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:5174,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:5173,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5206,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5212,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5226,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5220,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5205,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5207,1
    - Dst: handle_introspect
      Src: /src/glib/gio/gdbusconnection.c:5209,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5214,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5219,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5228,1
    - Dst: handle_get_all_properties
      Src: /src/glib/gio/gdbusconnection.c:5230,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5221,1
    - Dst: handle_getset_property
      Src: /src/glib/gio/gdbusconnection.c:5216,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 65
    argCount: 4
    argNames:
    - connection
    - eo
    - message
    - object_found
    argTypes:
    - GDBusConnection*
    - ExportedObject*
    - GDBusMessage*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 5236
      start: 5159
    functionDepth: 0
    functionLinenumber: 5159
    functionLinenumberEnd: 5236
    functionName: obj_message_func
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_signature
    - handle_introspect
    - g_strcmp0
    - validate_and_maybe_schedule_method_call
    - handle_getset_property
    - handle_get_all_properties
    - g_dbus_message_get_interface
    - g_hash_table_lookup
    - g_dbus_message_get_member
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean obj_message_func (GDBusConnection *connection, ExportedObject
      *eo, GDBusMessage *message, gboolean *object_found) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:1509,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gdbusconnection.c:1510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1511
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1511
    functionName: sync_close_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void sync_close_cb (GObject *source_object, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3737,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3737,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3738,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3738,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:3740,1
    - Dst: unsubscribe_id_internal
      Src: /src/glib/gio/gdbusconnection.c:3741,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:3742,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:3745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - connection
    - subscription_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 3746
      start: 3731
    functionDepth: 0
    functionLinenumber: 3731
    functionLinenumberEnd: 3746
    functionName: g_dbus_connection_signal_unsubscribe
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_assert
    - CONNECTION_LOCK
    - unsubscribe_id_internal
    - CONNECTION_UNLOCK
    - G_IS_DBUS_CONNECTION
    - check_initialized
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_signal_unsubscribe (GDBusConnection *connection,
      guint subscription_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:5109,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:5130,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:5139,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:5092,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5101,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5104,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusconnection.c:5136,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5132,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/gdbusconnection.c:5092,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:5124,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusconnection.c:5128,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:5137,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusconnection.c:5143,1
    - Dst: schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:5146,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:5149,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:5102,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:5099,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:5103,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:5112,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusconnection.c:5113,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusconnection.c:5123,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:5133,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusconnection.c:5117,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:5135,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5138,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: 5154
      start: 5073
    functionDepth: 0
    functionLinenumber: 5073
    functionLinenumberEnd: 5154
    functionName: validate_and_maybe_schedule_method_call
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_variant_type_dup_string
    - schedule_method_call
    - g_dbus_message_new_method_error
    - _
    - g_variant_get_type_string
    - g_variant_type_free
    - g_free
    - g_variant_unref
    - g_object_unref
    - g_dbus_message_get_body
    - g_dbus_connection_send_message_unlocked
    - g_variant_ref
    - g_dbus_interface_info_lookup_method
    - g_variant_new
    - g_variant_ref_sink
    - g_variant_is_of_type
    - g_dbus_message_get_member
    - _g_dbus_compute_complete_signature
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync_internal
      Src: /src/glib/gio/gdbusconnection.c:6496,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 13
    argNames:
    - connection
    - bus_name
    - object_path
    - interface_name
    - method_name
    - parameters
    - reply_type
    - flags
    - timeout_msec
    - fd_list
    - out_fd_list
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GVariantType*
    - GDBusCallFlags
    - gint
    - GUnixFDList*
    - GUnixFDList**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6497
      start: 6481
    functionDepth: 0
    functionLinenumber: 6481
    functionLinenumberEnd: 6497
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6654,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6658,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:6680,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6704,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6764,1
    - Dst: validate_and_maybe_schedule_property_getset
      Src: /src/glib/gio/gdbusconnection.c:6789,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:6802,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:6740,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:6642,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:6646,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:6643,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:6645,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:6644,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6647,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6652,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6656,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:6723,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:6738,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:6788,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:6798,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:6744,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6656,1
    - Dst: validate_and_maybe_schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:6724,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:6761,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:6763,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusconnection.c:6780,1
    - Dst: validate_and_maybe_schedule_property_get_all
      Src: /src/glib/gio/gdbusconnection.c:6803,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusconnection.c:6819,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6749,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:6811,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:6740,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6654,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:6658,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbusconnection.c:6664,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/gdbusconnection.c:6679,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:6732,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:6738,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:6742,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:6742,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:6759,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:6820,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 123
    argCount: 3
    argNames:
    - connection
    - es
    - message
    argTypes:
    - GDBusConnection*
    - ExportedSubtree*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 6824
      start: 6617
    functionDepth: 0
    functionLinenumber: 6617
    functionLinenumberEnd: 6824
    functionName: handle_subtree_method_invocation
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _
    - g_dbus_connection_send_message
    - g_strfreev
    - CONNECTION_UNLOCK
    - g_strv_contains
    - g_dbus_message_get_member
    - g_dbus_message_get_path
    - g_strcmp0
    - g_assert_not_reached
    - g_object_unref
    - validate_and_maybe_schedule_method_call
    - g_dbus_message_get_interface
    - g_dbus_message_new_method_error
    - g_variant_get
    - g_dbus_message_get_body
    - g_warning
    - g_dbus_message_get_signature
    - g_dbus_interface_info_unref
    - g_free
    - strrchr
    - CONNECTION_LOCK
    - validate_and_maybe_schedule_property_getset
    - validate_and_maybe_schedule_property_get_all
    - g_dbus_message_get_sender
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_subtree_method_invocation (GDBusConnection
      *connection, ExportedSubtree *es, GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:6893,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:6894,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:6898,1
    - Dst: exported_subtree_ref
      Src: /src/glib/gio/gdbusconnection.c:6895,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:6899,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:6900,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:6904,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:6905,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:6906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - connection
    - es
    - message
    argTypes:
    - GDBusConnection*
    - ExportedSubtree*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 6913
      start: 6885
    functionDepth: 0
    functionLinenumber: 6885
    functionLinenumberEnd: 6913
    functionName: subtree_message_func
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    - exported_subtree_ref
    - g_source_unref
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean subtree_message_func (GDBusConnection *connection,
      ExportedSubtree *es, GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusconnection.c:7127,1
    - Dst: introspect_append_header
      Src: /src/glib/gio/gdbusconnection.c:7128,1
    - Dst: g_dbus_connection_list_registered_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7130,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:7132,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:7133,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:7134,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:7136,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:7137,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:7137,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7138,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7139,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusconnection.c:7140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - connection
    - object_path
    - message
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7141
      start: 7116
    functionDepth: 0
    functionLinenumber: 7116
    functionLinenumberEnd: 7141
    functionName: handle_generic_introspect_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_string_new
    - g_dbus_connection_list_registered_unlocked
    - g_string_append
    - g_string_append_printf
    - g_object_unref
    - g_dbus_connection_send_message_unlocked
    - g_strfreev
    - g_variant_new
    - g_dbus_message_set_body
    - g_string_free
    - introspect_append_header
    linkageType: ''
    returnType: void
    signature: 'static void handle_generic_introspect_unlocked (GDBusConnection *connection,
      const gchar *object_path, GDBusMessage *message) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusconnection.c:3326,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3334,1
    - Dst: g_string_prepend_c
      Src: /src/glib/gio/gdbusconnection.c:3328,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3330,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3332,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3336,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3341,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3343,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3345,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusconnection.c:3348,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 6
    argNames:
    - sender
    - interface_name
    - member
    - object_path
    - arg0
    - flags
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GDBusSignalFlags
    constantsTouched: []
    func_position:
      end: 3349
      start: 3316
    functionDepth: 0
    functionLinenumber: 3316
    functionLinenumberEnd: 3349
    functionName: args_to_rule
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_string_prepend_c
    - g_string_new
    - g_string_append_printf
    - g_string_free
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:3848,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:3849,1
    - Dst: memcmp
      Src: /src/glib/gio/gdbusconnection.c:3857,1
    - Dst: MIN
      Src: /src/glib/gio/gdbusconnection.c:3857,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - path_a
    - path_b
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3858
      start: 3842
    functionDepth: 0
    functionLinenumber: 3842
    functionLinenumberEnd: 3858
    functionName: path_rule_matches
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - strlen
    - memcmp
    - MIN
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean path_rule_matches (const gchar *path_a, const gchar
      *path_b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:4893,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusconnection.c:4902,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusconnection.c:4901,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:4899,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:4895,1
    - Dst: maybe_add_path
      Src: /src/glib/gio/gdbusconnection.c:4903,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusconnection.c:4905,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusconnection.c:4906,1
    - Dst: maybe_add_path
      Src: /src/glib/gio/gdbusconnection.c:4907,1
    - Dst: g_hash_table_steal_all_keys
      Src: /src/glib/gio/gdbusconnection.c:4909,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusconnection.c:4913,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:4912,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:4910,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - connection
    - path
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4915
      start: 4882
    functionDepth: 0
    functionLinenumber: 4882
    functionLinenumberEnd: 4915
    functionName: g_dbus_connection_list_registered_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - strlen
    - maybe_add_path
    - g_hash_table_unref
    - g_hash_table_steal_all_keys
    - CONNECTION_ENSURE_LOCK
    - g_ptr_array_free
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_hash_table_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_dbus_connection_list_registered_unlocked (GDBusConnection
      *connection, const gchar *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5712,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:5713,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5714,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:5712,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:5715,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:5717,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:5723,1
    - Dst: _g_dbus_debug_emission
      Src: /src/glib/gio/gdbusconnection.c:5720,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:5744,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:5746,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5713,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:5714,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5718,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:5720,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:5731,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:5718,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5747,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5716,1
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/gdbusconnection.c:5734,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusconnection.c:5739,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdbusconnection.c:5741,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5715,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusconnection.c:5716,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:5722,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5717,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: 5750
      start: 5697
    functionDepth: 0
    functionLinenumber: 5697
    functionLinenumberEnd: 5750
    functionName: g_dbus_connection_emit_signal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_signal
    - g_dbus_connection_send_message
    - g_return_val_if_fail
    - _g_dbus_debug_print_lock
    - G_IS_DBUS_CONNECTION
    - g_variant_new_string
    - g_object_unref
    - g_dbus_message_set_body
    - g_print
    - _g_dbus_debug_emission
    - G_UNLIKELY
    - g_variant_is_object_path
    - g_dbus_is_interface_name
    - g_dbus_is_name
    - _g_dbus_debug_print_unlock
    - check_initialized
    - g_dbus_message_set_header
    - g_dbus_is_member_name
    - g_variant_is_of_type
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:6835,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:6837,1
    - Dst: exported_subtree_unref
      Src: /src/glib/gio/gdbusconnection.c:6836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - SubtreeDeferredData*
    constantsTouched: []
    func_position:
      end: 6838
      start: 6832
    functionDepth: 0
    functionLinenumber: 6832
    functionLinenumberEnd: 6838
    functionName: subtree_deferred_data_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - exported_subtree_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void subtree_deferred_data_free (SubtreeDeferredData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4630,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4633,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusconnection.c:4644,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:4654,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4628,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4631,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gdbusconnection.c:4644,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:4673,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusconnection.c:4674,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4675,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4632,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusconnection.c:4643,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4669,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gdbusconnection.c:4671,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusconnection.c:4665,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:4674,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusconnection.c:4664,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4655,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:4679,1
    - Dst: has_object_been_unregistered
      Src: /src/glib/gio/gdbusconnection.c:4622,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbusconnection.c:4643,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4676,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:4680,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4683
      start: 4612
    functionDepth: 0
    functionLinenumber: 4612
    functionLinenumberEnd: 4683
    functionName: invoke_get_all_properties_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - G_VARIANT_TYPE
    - g_variant_builder_end
    - g_dbus_message_new_method_error
    - _
    - g_variant_builder_close
    - g_clear_pointer
    - g_dbus_connection_send_message
    - g_variant_unref
    - g_object_unref
    - g_variant_builder_add
    - g_dbus_message_get_sender
    - g_variant_builder_init
    - g_variant_builder_open
    - g_dbus_message_set_body
    - g_variant_take_ref
    - has_object_been_unregistered
    - g_dbus_message_get_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean invoke_get_all_properties_in_idle_cb (gpointer _data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusconnection.c:4860,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:4871,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusconnection.c:4869,1
    - Dst: strchr
      Src: /src/glib/gio/gdbusconnection.c:4867,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:4860,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:4873,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gdbusconnection.c:4874,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4876,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: 4878
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4878
    functionName: maybe_add_path
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - g_hash_table_add
    - g_strndup
    - g_str_has_prefix
    - strchr
    - g_hash_table_contains
    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: register_object_data_new
      Src: /src/glib/gio/gdbusconnection.c:5660,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gdbusconnection.c:5662,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    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: 5669
      start: 5642
    functionDepth: 0
    functionLinenumber: 5642
    functionLinenumberEnd: 5669
    functionName: g_dbus_connection_register_object_with_closures
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_register_object
    - register_object_data_new
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7045,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:7045,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7050,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7046,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:7046,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:7052,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:7053,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7057,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:7057,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:7057,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:7058,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7058,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7063,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - connection
    - registration_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 7066
      start: 7038
    functionDepth: 0
    functionLinenumber: 7038
    functionLinenumberEnd: 7066
    functionName: g_dbus_connection_unregister_subtree
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_warn_if_fail
    - g_hash_table_remove
    - GUINT_TO_POINTER
    - g_return_val_if_fail
    - CONNECTION_UNLOCK
    - G_IS_DBUS_CONNECTION
    - g_hash_table_lookup
    - check_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_unregister_subtree (GDBusConnection *connection,
      guint registration_id) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusconnection.c:7320,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7321,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:7323,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:7328,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7326,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:7335,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7338,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusconnection.c:7344,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7347,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:7354,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - bus_type
    - error
    argTypes:
    - GBusType
    - GError**
    constantsTouched: []
    func_position:
      end: 7360
      start: 7300
    functionDepth: 0
    functionLinenumber: 7300
    functionLinenumberEnd: 7360
    functionName: message_bus_get_singleton
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strcmp0
    - g_assert_not_reached
    - g_getenv
    - g_set_error_literal
    - 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_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3221,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:3224,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3221,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3222,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3222,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/gio/gdbusconnection.c:3233,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:3240,1
    - Dst: filter_data_destroy
      Src: /src/glib/gio/gdbusconnection.c:3244,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusconnection.c:3247,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - connection
    - filter_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 3249
      start: 3213
    functionDepth: 0
    functionLinenumber: 3213
    functionLinenumberEnd: 3249
    functionName: g_dbus_connection_remove_filter
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_warning
    - filter_data_destroy
    - CONNECTION_UNLOCK
    - G_IS_DBUS_CONNECTION
    - check_initialized
    - g_ptr_array_remove_index
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_remove_filter (GDBusConnection *connection,
      guint filter_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2090,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gdbusconnection.c:2091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2092
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2092
    functionName: send_message_with_reply_sync_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void send_message_with_reply_sync_cb (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:576,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:581,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:589,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:580,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusconnection.c:586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - connection
    - check
    - error
    argTypes:
    - GDBusConnection*
    - CheckUnclosedFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 594
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 594
    functionName: check_unclosed
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_set_error_literal
    - g_return_val_if_fail
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_unclosed (GDBusConnection *connection, CheckUnclosedFlags
      check, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1609,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/gdbusconnection.c:1644,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:1674,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/gdbusconnection.c:1672,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:1650,1
    - Dst: _g_dbus_worker_send_message
      Src: /src/glib/gio/gdbusconnection.c:1681,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1611,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusconnection.c:1612,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1612,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1611,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusconnection.c:1637,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusconnection.c:1655,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusconnection.c:1657,1
    - Dst: g_thread_self
      Src: /src/glib/gio/gdbusconnection.c:1673,1
    - Dst: check_unclosed
      Src: /src/glib/gio/gdbusconnection.c:1624,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/gdbusconnection.c:1629,1
    - Dst: GUINT32_TO_BE
      Src: /src/glib/gio/gdbusconnection.c:1647,1
    - Dst: g_dbus_message_set_serial
      Src: /src/glib/gio/gdbusconnection.c:1677,1
    - Dst: hexdump
      Src: /src/glib/gio/gdbusconnection.c:1658,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusconnection.c:1659,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/gdbusconnection.c:1679,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 5
    argNames:
    - connection
    - message
    - flags
    - out_serial
    - error
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - GDBusSendMessageFlags
    - guint32*
    - GError**
    constantsTouched: []
    func_position:
      end: 1687
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1687
    functionName: g_dbus_connection_send_message_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_lock
    - GUINT32_TO_LE
    - CONNECTION_ENSURE_LOCK
    - _g_dbus_worker_send_message
    - G_IS_DBUS_MESSAGE
    - g_assert_not_reached
    - check_unclosed
    - hexdump
    - g_thread_self
    - g_dbus_message_get_serial
    - g_hash_table_replace
    - GUINT32_TO_BE
    - g_dbus_message_to_blob
    - GUINT_TO_POINTER
    - g_dbus_message_set_serial
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_printerr
    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_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2023,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2025,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2024,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusconnection.c:2024,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2023,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/gdbusconnection.c:2025,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2026,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2028,1
    - Dst: g_dbus_connection_send_message_with_reply_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2029,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2037,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: 2038
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2038
    functionName: g_dbus_connection_send_message_with_reply
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_locked
    - CONNECTION_LOCK
    - G_IS_DBUS_MESSAGE
    - CONNECTION_UNLOCK
    - G_IS_DBUS_CONNECTION
    - g_dbus_connection_send_message_with_reply_unlocked
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusconnection.c:4120,1
    - Dst: g_dbus_interface_info_cache_release
      Src: /src/glib/gio/gdbusconnection.c:4123,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:4133,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusconnection.c:4124,1
    - Dst: call_destroy_notify
      Src: /src/glib/gio/gdbusconnection.c:4129,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4135,1
    - Dst: _g_dbus_interface_vtable_free
      Src: /src/glib/gio/gdbusconnection.c:4136,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ei
    argTypes:
    - ExportedInterface*
    constantsTouched: []
    func_position:
      end: 4138
      start: 4117
    functionDepth: 0
    functionLinenumber: 4117
    functionLinenumberEnd: 4138
    functionName: exported_interface_unref
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_dbus_interface_info_unref
    - call_destroy_notify
    - g_free
    - g_dbus_interface_info_cache_release
    - g_main_context_unref
    - _g_dbus_interface_vtable_free
    linkageType: ''
    returnType: void
    signature: 'static void exported_interface_unref (ExportedInterface *ei) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7373,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusconnection.c:7386,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:7374,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusconnection.c:7378,1
    - Dst: g_dbus_address_get_for_bus_sync
      Src: /src/glib/gio/gdbusconnection.c:7383,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/gdbusconnection.c:7396,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:7397,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7400,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7403,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - bus_type
    - cancellable
    - error
    argTypes:
    - GBusType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 7405
      start: 7363
    functionDepth: 0
    functionLinenumber: 7363
    functionLinenumberEnd: 7405
    functionName: get_uninitialized_connection
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_address_get_for_bus_sync
    - g_free
    - g_object_new
    - G_LOCK
    - g_assert
    - G_UNLOCK
    - g_weak_ref_get
    - g_weak_ref_set
    - message_bus_get_singleton
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'static GDBusConnection *get_uninitialized_connection (GBusType bus_type,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_message_data_deliver_error
      Src: /src/glib/gio/gdbusconnection.c:1865,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:1866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1868
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1868
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/gio/gdbusconnection.c:4022,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusconnection.c:4026,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gdbusconnection.c:4027,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusconnection.c:4024,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusconnection.c:4023,1
    - Dst: g_array_index
      Src: /src/glib/gio/gdbusconnection.c:4032,1
    - Dst: unsubscribe_id_internal
      Src: /src/glib/gio/gdbusconnection.c:4033,1
    - Dst: g_array_free
      Src: /src/glib/gio/gdbusconnection.c:4035,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 4036
      start: 4014
    functionDepth: 0
    functionLinenumber: 4014
    functionLinenumberEnd: 4036
    functionName: purge_all_signal_subscriptions
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - g_array_index
    - g_array_new
    - g_hash_table_iter_next
    - g_array_append_val
    - g_hash_table_iter_init
    - unsubscribe_id_internal
    - g_array_free
    linkageType: ''
    returnType: void
    signature: 'static void purge_all_signal_subscriptions (GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusconnection.c:1836,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:1848,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:1837,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:1842,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1839,1
    - Dst: send_message_with_reply_cleanup
      Src: /src/glib/gio/gdbusconnection.c:1850,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:1851,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gdbusconnection.c:1853,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - task
    - domain
    - code
    - message
    argTypes:
    - GTask*
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 1855
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1855
    functionName: send_message_data_deliver_error
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_task_get_source_object
    - send_message_with_reply_cleanup
    - CONNECTION_LOCK
    - g_object_unref
    - CONNECTION_UNLOCK
    - g_task_return_new_error
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void send_message_data_deliver_error (GTask *task, GQuark domain,
      gint code, const char *message) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusconnection.c:1926,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:1928,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdbusconnection.c:1930,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:1927,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gdbusconnection.c:1932,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1934,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:1938,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:1940,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1941,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/gdbusconnection.c:1948,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:1950,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gdbusconnection.c:1956,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:1963,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:1964,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:1957,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gdbusconnection.c:1958,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusconnection.c:1949,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:1962,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    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: 1965
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1965
    functionName: g_dbus_connection_send_message_with_reply_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_attach_source
    - g_object_ref
    - g_slice_new0
    - g_task_set_task_data
    - g_source_set_static_name
    - g_hash_table_insert
    - g_task_new
    - g_task_set_source_tag
    - g_task_return_error_if_cancelled
    - g_object_unref
    - g_dbus_connection_send_message_unlocked
    - g_cancellable_connect
    - G_CALLBACK
    - GUINT_TO_POINTER
    - g_steal_pointer
    - g_timeout_source_new
    - g_task_return_error
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:3880,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:3881,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:3882,1
    - Dst: g_dbus_message_get_arg0
      Src: /src/glib/gio/gdbusconnection.c:3883,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3912,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusconnection.c:3930,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:3955,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:3951,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:3943,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:3949,1
    - Dst: path_rule_matches
      Src: /src/glib/gio/gdbusconnection.c:3927,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:3942,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3906,1
    - Dst: namespace_rule_matches
      Src: /src/glib/gio/gdbusconnection.c:3922,1
    - Dst: signal_subscriber_ref
      Src: /src/glib/gio/gdbusconnection.c:3941,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:3956,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:3957,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:3886,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3909,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:3940,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:3950,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 64
    argCount: 4
    argNames:
    - connection
    - signal_data_array
    - message
    - sender
    argTypes:
    - GDBusConnection*
    - GPtrArray*
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3960
      start: 3863
    functionDepth: 0
    functionLinenumber: 3863
    functionLinenumberEnd: 3960
    functionName: schedule_callbacks
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_source_set_callback
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    - g_strcmp0
    - g_source_set_priority
    - g_idle_source_new
    - path_rule_matches
    - signal_subscriber_ref
    - g_print
    - g_source_unref
    - namespace_rule_matches
    - g_dbus_message_get_interface
    - g_dbus_message_get_arg0
    - g_source_attach
    - g_dbus_message_get_member
    - g_dbus_message_get_path
    linkageType: ''
    returnType: void
    signature: 'static void schedule_callbacks (GDBusConnection *connection, GPtrArray
      *signal_data_array, GDBusMessage *message, const gchar *sender) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:3970,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:3972,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:3977,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusconnection.c:3970,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:3976,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:3978,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:3980,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:3981,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:3982,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:3984,1
    - Dst: _g_dbus_debug_signal
      Src: /src/glib/gio/gdbusconnection.c:3984,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4006,1
    - Dst: schedule_callbacks
      Src: /src/glib/gio/gdbusconnection.c:4008,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4000,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:3986,1
    - Dst: schedule_callbacks
      Src: /src/glib/gio/gdbusconnection.c:4002,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:3987,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:3994,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - connection
    - message
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 4009
      start: 3963
    functionDepth: 0
    functionLinenumber: 3963
    functionLinenumberEnd: 4009
    functionName: distribute_signals
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_print_lock
    - g_dbus_message_get_message_type
    - G_UNLIKELY
    - g_assert
    - schedule_callbacks
    - g_dbus_message_get_sender
    - _g_dbus_debug_signal
    - g_dbus_message_get_interface
    - _g_dbus_debug_print_unlock
    - g_print
    - g_hash_table_lookup
    - g_dbus_message_get_member
    - g_dbus_message_get_path
    linkageType: ''
    returnType: void
    signature: 'static void distribute_signals (GDBusConnection *connection, GDBusMessage
      *message) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:601,1
    - Dst: _g_dbus_worker_stop
      Src: /src/glib/gio/gdbusconnection.c:607,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:604,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:603,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:610,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:610,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:615,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:615,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:617,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:618,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusconnection.c:620,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusconnection.c:621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 622
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 622
    functionName: g_dbus_connection_dispose
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_warn_if_fail
    - CONNECTION_LOCK
    - g_hash_table_remove
    - G_UNLOCK
    - _g_dbus_worker_stop
    - CONNECTION_UNLOCK
    - G_DBUS_CONNECTION
    - G_OBJECT_CLASS
    - g_hash_table_contains
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1489,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1491,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:1490,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1489,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1490,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdbusconnection.c:1493,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:1493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - error
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1494
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1494
    functionName: g_dbus_connection_close_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_boolean
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_close_finish (GDBusConnection *connection,
      GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 2482
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2482
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - async_initable_iface
    argTypes:
    - GAsyncInitableIface*
    constantsTouched: []
    func_position:
      end: 2685
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2685
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3032,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3032,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:3034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 3038
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3038
    functionName: g_dbus_connection_get_exit_on_close
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_get_exit_on_close (GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4087,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:4088,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4089,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - eo
    argTypes:
    - ExportedObject*
    constantsTouched: []
    func_position:
      end: 4090
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4090
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:4337,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4345,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:4344,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4337,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4353,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/gdbusconnection.c:4354,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusconnection.c:4355,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4358,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:4359,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:4363,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4368,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4366,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4369,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4372
      start: 4326
    functionDepth: 0
    functionLinenumber: 4326
    functionLinenumberEnd: 4372
    functionName: invoke_set_property_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_error_literal
    - g_dbus_message_new_method_reply
    - g_free
    - g_assert
    - g_dbus_connection_send_message
    - g_error_free
    - g_variant_unref
    - g_object_unref
    - g_dbus_message_get_body
    - g_variant_get
    - g_dbus_error_encode_gerror
    - g_dbus_message_get_sender
    - g_dbus_message_get_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean invoke_set_property_in_idle_cb (gpointer _data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:7547,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:7550,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7555,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:7549,1
    - Dst: get_uninitialized_connection
      Src: /src/glib/gio/gdbusconnection.c:7552,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:7556,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7557,1
    - Dst: g_async_initable_init_async
      Src: /src/glib/gio/gdbusconnection.c:7561,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:7561,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: 7567
      start: 7537
    functionDepth: 0
    functionLinenumber: 7537
    functionLinenumberEnd: 7567
    functionName: g_bus_get
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_async_initable_init_async
    - _g_dbus_initialize
    - g_assert
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_ASYNC_INITABLE
    - g_task_return_error
    - get_uninitialized_connection
    linkageType: ''
    returnType: void
    signature: 'void g_bus_get (GBusType bus_type, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:627,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:643,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:647,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:670,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:672,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:637,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusconnection.c:634,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:659,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:665,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:667,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:661,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:666,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:663,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:662,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:668,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusconnection.c:677,1
    - Dst: purge_all_signal_subscriptions
      Src: /src/glib/gio/gdbusconnection.c:631,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:657,1
    - Dst: purge_all_filters
      Src: /src/glib/gio/gdbusconnection.c:633,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:640,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:651,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:653,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:654,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusconnection.c:676,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusconnection.c:679,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:674,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 680
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 680
    functionName: g_dbus_connection_finalize
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_free
    - G_DBUS_CONNECTION
    - g_hash_table_unref
    - g_main_context_unref
    - g_error_free
    - g_object_unref
    - purge_all_signal_subscriptions
    - g_ptr_array_unref
    - purge_all_filters
    - g_mutex_clear
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3007,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gio/gdbusconnection.c:3010,1
    - Dst: g_atomic_int_and
      Src: /src/glib/gio/gdbusconnection.c:3012,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - connection
    - exit_on_close
    argTypes:
    - GDBusConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3014
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3014
    functionName: g_dbus_connection_set_exit_on_close
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_and
    - G_IS_DBUS_CONNECTION
    - g_atomic_int_or
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_set_exit_on_close (GDBusConnection *connection,
      gboolean exit_on_close) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1457,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1457,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:1465,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1460,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1463,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:1466,1
    - Dst: _g_dbus_worker_close
      Src: /src/glib/gio/gdbusconnection.c:1467,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - connection
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1469
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1469
    functionName: g_dbus_connection_close
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - G_IS_DBUS_CONNECTION
    - _g_dbus_worker_close
    - check_initialized
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_close (GDBusConnection *connection, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 2677
      start: 2673
    functionDepth: 0
    functionLinenumber: 2673
    functionLinenumberEnd: 2677
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2768,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2772,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdbusconnection.c:2768,1
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusconnection.c:2771,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2769,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusconnection.c:2773,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:2773,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2776,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2781
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2781
    functionName: g_dbus_connection_new_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_IS_ASYNC_RESULT
    - g_assert
    - g_object_unref
    - g_async_initable_new_finish
    - G_ASYNC_INITABLE
    - G_DBUS_CONNECTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_connection_new_finish (GAsyncResult *res,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_list_registered_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4962,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:4969,1
    - Dst: g_string_sized_new
      Src: /src/glib/gio/gdbusconnection.c:4943,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4970,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:4966,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusconnection.c:4972,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:4969,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4948,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusconnection.c:4957,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusconnection.c:4958,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:4968,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:4964,1
    - Dst: introspect_append_header
      Src: /src/glib/gio/gdbusconnection.c:4947,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:4950,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4952,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:4954,1
    - Dst: g_dbus_interface_info_generate_xml
      Src: /src/glib/gio/gdbusconnection.c:4959,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:4965,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4971,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - connection
    - eo
    - message
    argTypes:
    - GDBusConnection*
    - ExportedObject*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 4975
      start: 4930
    functionDepth: 0
    functionLinenumber: 4930
    functionLinenumberEnd: 4975
    functionName: handle_introspect
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_string_sized_new
    - g_string_append
    - g_dbus_connection_list_registered_unlocked
    - g_string_append_printf
    - g_object_unref
    - g_hash_table_iter_next
    - g_dbus_connection_send_message_unlocked
    - g_hash_table_iter_init
    - g_strfreev
    - g_variant_new
    - g_dbus_message_set_body
    - g_string_free
    - g_hash_table_lookup
    - g_dbus_interface_info_generate_xml
    - introspect_append_header
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_introspect (GDBusConnection *connection, ExportedObject
      *eo, GDBusMessage *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5388,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:5393,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:5389,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5389,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:5388,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5395,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5396,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5402,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:5402,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5402,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:5403,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusconnection.c:5405,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5406,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:5406,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:5412,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - connection
    - registration_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 5415
      start: 5380
    functionDepth: 0
    functionLinenumber: 5380
    functionLinenumberEnd: 5415
    functionName: g_dbus_connection_unregister_object
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_hash_table_size
    - CONNECTION_LOCK
    - g_warn_if_fail
    - g_hash_table_remove
    - GUINT_TO_POINTER
    - g_return_val_if_fail
    - CONNECTION_UNLOCK
    - G_IS_DBUS_CONNECTION
    - g_hash_table_lookup
    - check_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_unregister_object (GDBusConnection *connection,
      guint registration_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish_internal
      Src: /src/glib/gio/gdbusconnection.c:6448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - connection
    - out_fd_list
    - res
    - error
    argTypes:
    - GDBusConnection*
    - GUnixFDList**
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6449
      start: 6442
    functionDepth: 0
    functionLinenumber: 6442
    functionLinenumberEnd: 6449
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_initable_init_finish
      Src: /src/glib/gio/gdbusconnection.c:7505,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7509,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:7505,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:7510,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7511,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusconnection.c:7515,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 7518
      start: 7497
    functionDepth: 0
    functionLinenumber: 7497
    functionLinenumberEnd: 7518
    functionName: bus_get_async_initable_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_async_initable_init_finish
    - g_assert
    - g_object_unref
    - g_task_return_pointer
    - G_ASYNC_INITABLE
    - 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_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:1816,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:1821,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusconnection.c:1821,1
    - Dst: send_message_with_reply_cleanup
      Src: /src/glib/gio/gdbusconnection.c:1823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - task
    - reply
    argTypes:
    - GTask*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 1827
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1827
    functionName: send_message_data_deliver_reply_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_object_ref
    - g_task_get_task_data
    - send_message_with_reply_cleanup
    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:1897,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:1898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1900
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1900
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3107,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3110,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 3114
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3114
    functionName: g_dbus_connection_get_peer_credentials
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - check_initialized
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: GCredentials*
    signature: 'GCredentials *g_dbus_connection_get_peer_credentials (GDBusConnection
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4606,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4608,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:4607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - PropertyGetAllData*
    constantsTouched: []
    func_position:
      end: 4609
      start: 4603
    functionDepth: 0
    functionLinenumber: 4603
    functionLinenumberEnd: 4609
    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:4724,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:4734,1
    - Dst: schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:4726,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4727,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:4735,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:4736,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:4743,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:4744,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:4745,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:4749,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:4751,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:4750,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: 4757
      start: 4701
    functionDepth: 0
    functionLinenumber: 4701
    functionLinenumberEnd: 4757
    functionName: validate_and_maybe_schedule_property_get_all
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - schedule_method_call
    - g_source_set_callback
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    - g_dbus_message_get_body
    - g_source_unref
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    - interface_has_readable_properties
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:5531,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5537,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5543,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusconnection.c:5547,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusconnection.c:5551,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5555,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5530,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5536,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5542,1
    - Dst: g_value_get_variant
      Src: /src/glib/gio/gdbusconnection.c:5549,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5545,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5554,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5558,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:5561,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5534,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5540,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5553,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5557,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5533,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5539,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbusconnection.c:5547,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5556,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5562,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 5566
      start: 5516
    functionDepth: 0
    functionLinenumber: 5516
    functionLinenumberEnd: 5566
    functionName: register_with_closures_on_get_property
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_value_set_string
    - _
    - g_closure_invoke
    - g_value_unset
    - g_value_init
    - g_variant_ref
    - g_value_set_object
    - G_N_ELEMENTS
    - g_value_get_variant
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusconnection.c:6074,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6072,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/gdbusconnection.c:6096,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6102,1
    - Dst: _g_dbus_debug_call
      Src: /src/glib/gio/gdbusconnection.c:6130,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:6148,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6166,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6067,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:6068,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6069,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusconnection.c:6070,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6078,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/gdbusconnection.c:6086,1
    - Dst: add_call_flags
      Src: /src/glib/gio/gdbusconnection.c:6090,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:6099,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:6101,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:6111,1
    - Dst: g_dbus_connection_send_message_with_reply_sync
      Src: /src/glib/gio/gdbusconnection.c:6122,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:6066,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:6072,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6076,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6074,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:6092,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:6130,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:6132,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6141,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6145,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:6156,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6164,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6066,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:6067,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6068,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:6069,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6070,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6081,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:6081,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6071,1
    - Dst: _g_dbus_debug_call
      Src: /src/glib/gio/gdbusconnection.c:6099,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6133,1
    - Dst: decode_method_reply
      Src: /src/glib/gio/gdbusconnection.c:6160,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 88
    argCount: 13
    argNames:
    - connection
    - bus_name
    - object_path
    - interface_name
    - method_name
    - parameters
    - reply_type
    - flags
    - timeout_msec
    - fd_list
    - out_fd_list
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GVariantType*
    - GDBusCallFlags
    - gint
    - GUnixFDList*
    - GUnixFDList**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6169
      start: 6041
    functionDepth: 0
    functionLinenumber: 6041
    functionLinenumberEnd: 6169
    functionName: g_dbus_connection_call_sync_internal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_dbus_message_set_unix_fd_list
    - _g_dbus_debug_print_lock
    - g_object_unref
    - _g_dbus_debug_call
    - g_dbus_message_set_body
    - g_print
    - G_IS_UNIX_FD_LIST
    - G_UNLIKELY
    - g_variant_is_object_path
    - g_error_free
    - g_dbus_is_interface_name
    - decode_method_reply
    - g_dbus_is_name
    - g_dbus_message_new_method_call
    - _g_dbus_debug_print_unlock
    - check_initialized
    - add_call_flags
    - g_dbus_connection_send_message_with_reply_sync
    - G_IS_DBUS_CONNECTION
    - g_dbus_is_member_name
    - g_variant_is_of_type
    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_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6982,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:6982,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:7009,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:6994,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:6999,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:7013,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:6988,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:6991,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusconnection.c:7006,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:7001,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7019,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6978,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:6979,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:6978,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6981,1
    - Dst: _g_dbus_subtree_vtable_copy
      Src: /src/glib/gio/gdbusconnection.c:7004,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:7012,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6980,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6979,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:6986,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:7011,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    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: 7022
      start: 6966
    functionDepth: 0
    functionLinenumber: 6966
    functionLinenumberEnd: 7022
    functionName: g_dbus_connection_register_subtree
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - _g_dbus_subtree_vtable_copy
    - g_atomic_int_add
    - _
    - g_new0
    - g_variant_is_object_path
    - CONNECTION_LOCK
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - g_main_context_ref_thread_default
    - CONNECTION_UNLOCK
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - check_initialized
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:7209,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:7210,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:7216,1
    - Dst: obj_message_func
      Src: /src/glib/gio/gdbusconnection.c:7249,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:7253,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:7284,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7212,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:7218,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:7226,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:7230,1
    - Dst: handle_generic_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7270,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:7276,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7290,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusconnection.c:7205,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:7233,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:7241,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:7246,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusconnection.c:7242,1
    - Dst: _g_dbus_debug_incoming
      Src: /src/glib/gio/gdbusconnection.c:7230,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7205,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7213,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbusconnection.c:7219,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:7232,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:7241,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:7243,1
    - Dst: subtree_message_func
      Src: /src/glib/gio/gdbusconnection.c:7256,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:7262,1
    - Dst: subtree_message_func
      Src: /src/glib/gio/gdbusconnection.c:7265,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7278,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7291,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7286,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:7294,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 2
    argNames:
    - connection
    - message
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7295
      start: 7191
    functionDepth: 0
    functionLinenumber: 7191
    functionLinenumberEnd: 7295
    functionName: distribute_method_call
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_message_type
    - _
    - g_dbus_connection_send_message_unlocked
    - handle_generic_unlocked
    - g_dbus_message_get_member
    - g_dbus_message_get_path
    - _g_dbus_debug_print_lock
    - g_object_unref
    - g_dbus_message_get_serial
    - g_dbus_message_get_interface
    - g_print
    - g_dbus_message_new_method_error
    - G_UNLIKELY
    - _g_dbus_debug_incoming
    - _g_dbus_debug_print_unlock
    - obj_message_func
    - subtree_message_func
    - g_strdup
    - g_free
    - g_assert
    - strrchr
    - g_dbus_message_get_sender
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void distribute_method_call (GDBusConnection *connection, GDBusMessage
      *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5587,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5593,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5610,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5586,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5592,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbusconnection.c:5603,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gdbusconnection.c:5605,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5609,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5613,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:5616,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:5584,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5590,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5596,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusconnection.c:5603,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusconnection.c:5599,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5608,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5612,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5583,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5589,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5595,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5607,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5601,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5598,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5611,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5618,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: 5622
      start: 5568
    functionDepth: 0
    functionLinenumber: 5568
    functionLinenumberEnd: 5622
    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_closure_invoke
    - g_value_init
    - g_value_get_boolean
    - g_value_set_object
    - g_value_unset
    - g_value_set_variant
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusconnection.c:2534,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:2537,1
    - Dst: g_dbus_address_get_stream_sync
      Src: /src/glib/gio/gdbusconnection.c:2541,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2561,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2578,1
    - Dst: get_offered_capabilities_max
      Src: /src/glib/gio/gdbusconnection.c:2583,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2605,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2611,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusconnection.c:2640,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:2654,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusconnection.c:2664,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:2508,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2515,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2593,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gdbusconnection.c:2607,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusconnection.c:2607,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gdbusconnection.c:2614,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2615,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gdbusconnection.c:2664,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2663,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2528,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2560,1
    - Dst: _g_dbus_auth_run_server
      Src: /src/glib/gio/gdbusconnection.c:2563,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2577,1
    - Dst: _g_dbus_worker_new
      Src: /src/glib/gio/gdbusconnection.c:2617,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusconnection.c:2633,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusconnection.c:2646,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:2655,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusconnection.c:2668,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2490,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusconnection.c:2501,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:2554,1
    - Dst: _g_dbus_auth_new
      Src: /src/glib/gio/gdbusconnection.c:2562,1
    - Dst: get_offered_capabilities_max
      Src: /src/glib/gio/gdbusconnection.c:2568,1
    - Dst: _g_dbus_auth_new
      Src: /src/glib/gio/gdbusconnection.c:2579,1
    - Dst: _g_dbus_auth_run_client
      Src: /src/glib/gio/gdbusconnection.c:2580,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2607,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:2613,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gio/gdbusconnection.c:2667,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2671
      start: 2485
    functionDepth: 0
    functionLinenumber: 2485
    functionLinenumberEnd: 2671
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _
    - _g_dbus_auth_run_server
    - get_offered_capabilities_max
    - g_propagate_error
    - g_hash_table_add
    - g_assert_not_reached
    - g_object_unref
    - g_atomic_int_get
    - G_IS_SOCKET_CONNECTION
    - G_SOCKET_CONNECTION
    - G_DBUS_CONNECTION
    - g_set_error_literal
    - g_atomic_int_or
    - g_dbus_address_get_stream_sync
    - _g_dbus_auth_new
    - _g_dbus_auth_run_client
    - g_error_copy
    - g_variant_unref
    - g_variant_get
    - g_hash_table_new
    - g_socket_set_blocking
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_socket_connection_get_socket
    - G_LOCK
    - g_assert
    - _g_dbus_worker_new
    - G_UNLOCK
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initable_init (GInitable *initable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_info_lookup_property
      Src: /src/glib/gio/gdbusconnection.c:4416,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4402,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4419,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4423,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4447,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4442,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4436,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4459,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4469,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4485,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:4506,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:4526,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:4402,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusconnection.c:4459,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4433,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4462,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:4466,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4467,1
    - Dst: schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:4495,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:4504,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:4505,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:4517,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:4525,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4424,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4431,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4435,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4446,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4460,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4464,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4496,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:4516,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:4522,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:4397,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4421,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4444,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:4460,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4468,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4474,1
    - Dst: schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:4484,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:4524,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:4515,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: 4532
      start: 4375
    functionDepth: 0
    functionLinenumber: 4375
    functionLinenumberEnd: 4532
    functionName: validate_and_maybe_schedule_property_getset
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _
    - g_dbus_connection_send_message_unlocked
    - g_variant_get_child
    - g_source_unref
    - g_source_attach
    - g_dbus_interface_info_lookup_property
    - g_variant_get_type_string
    - g_strcmp0
    - g_object_unref
    - g_source_set_priority
    - schedule_method_call
    - g_dbus_message_new_method_error
    - g_object_ref
    - g_source_set_static_name
    - g_variant_unref
    - g_dbus_message_get_body
    - g_variant_get
    - g_source_set_callback
    - g_new0
    - g_idle_source_new
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - interface_info
    argTypes:
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 4698
      start: 4685
    functionDepth: 0
    functionLinenumber: 4685
    functionLinenumberEnd: 4698
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6024,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:6025,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:6024,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6025,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6026,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:6028,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:6029,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusconnection.c:6031,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:6036,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 4
    argNames:
    - connection
    - out_fd_list
    - res
    - error
    argTypes:
    - GDBusConnection*
    - GUnixFDList**
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6038
      start: 6014
    functionDepth: 0
    functionLinenumber: 6014
    functionLinenumberEnd: 6038
    functionName: g_dbus_connection_call_finish_internal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_object_ref
    - G_TASK
    - g_task_propagate_pointer
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_task_get_task_data
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_dbus_connection_call_finish_internal (GDBusConnection
      *connection, GUnixFDList **out_fd_list, GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_data_destroy
      Src: /src/glib/gio/gdbusconnection.c:2247,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:2249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - filters
    argTypes:
    - FilterData**
    constantsTouched: []
    func_position:
      end: 2250
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2250
    functionName: free_filter_list
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - filter_data_destroy
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_filter_list (FilterData **filters) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusconnection.c:5842,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5846,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:5843,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusconnection.c:5847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - CallState*
    constantsTouched: []
    func_position:
      end: 5848
      start: 5839
    functionDepth: 0
    functionLinenumber: 5839
    functionLinenumberEnd: 5848
    functionName: call_state_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_variant_type_free
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void call_state_free (CallState *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/gdbusconnection.c:2226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - filters
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 2235
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2235
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7597,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusconnection.c:7600,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:7597,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:7600,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 7601
      start: 7593
    functionDepth: 0
    functionLinenumber: 7593
    functionLinenumberEnd: 7601
    functionName: g_bus_get_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_bus_get_finish (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: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    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_get
      Src: /src/glib/gio/gdbusconnection.c:544,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:546,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 552
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 552
    functionName: check_initialized
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_initialized (GDBusConnection *connection) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusconnection.c:1776,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gdbusconnection.c:1787,1
    - Dst: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1779,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:1777,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1781,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:1788,1
    - Dst: g_cancellable_disconnect
      Src: /src/glib/gio/gdbusconnection.c:1792,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusconnection.c:1792,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gdbusconnection.c:1797,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:1798,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:1803,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1805,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:1804,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - task
    - remove
    argTypes:
    - GTask*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1807
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1807
    functionName: send_message_with_reply_cleanup
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_cancellable_disconnect
    - g_task_get_cancellable
    - g_task_get_source_object
    - g_assert
    - CONNECTION_ENSURE_LOCK
    - g_clear_pointer
    - g_warn_if_fail
    - g_hash_table_remove
    - GUINT_TO_POINTER
    - g_source_destroy
    - 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_task_data
      Src: /src/glib/gio/gdbusconnection.c:1876,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gdbusconnection.c:1886,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:1885,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:1884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1887
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1887
    functionName: send_message_with_reply_cancelled_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_idle_source_new
    - g_task_attach_source
    - g_task_get_task_data
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void send_message_with_reply_cancelled_cb (GCancellable *cancellable,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:2731,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2734,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/gdbusconnection.c:2733,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusconnection.c:2736,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2733,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: 2746
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2746
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:4206,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:4214,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:4210,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:4206,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4214,1
    - Dst: exported_interface_ref
      Src: /src/glib/gio/gdbusconnection.c:4218,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4222,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:4222,1
    - Dst: exported_subtree_ref
      Src: /src/glib/gio/gdbusconnection.c:4226,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:4229,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: 4232
      start: 4195
    functionDepth: 0
    functionLinenumber: 4195
    functionLinenumberEnd: 4232
    functionName: has_object_been_unregistered
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - GUINT_TO_POINTER
    - g_return_val_if_fail
    - exported_subtree_ref
    - exported_interface_ref
    - CONNECTION_UNLOCK
    - G_IS_DBUS_CONNECTION
    - g_hash_table_lookup
    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: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:4923,1
    - Dst: g_dbus_connection_list_registered_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4924,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:4925,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - connection
    - path
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4927
      start: 4918
    functionDepth: 0
    functionLinenumber: 4918
    functionLinenumberEnd: 4927
    functionName: g_dbus_connection_list_registered
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_list_registered_unlocked
    - CONNECTION_LOCK
    - CONNECTION_UNLOCK
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_dbus_connection_list_registered (GDBusConnection
      *connection, const gchar *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5305,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:5305,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:5306,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:5314,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:5322,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:5332,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusconnection.c:5343,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gdbusconnection.c:5348,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5357,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5307,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5306,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5310,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:5310,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:5326,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:5341,1
    - Dst: _g_dbus_interface_vtable_copy
      Src: /src/glib/gio/gdbusconnection.c:5347,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:5351,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:5363,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5308,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:5308,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5316,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:5350,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:5356,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5309,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:5320,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5329,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:5319,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5335,1
    - Dst: g_dbus_interface_info_cache_build
      Src: /src/glib/gio/gdbusconnection.c:5349,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:5353,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    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: 5366
      start: 5292
    functionDepth: 0
    functionLinenumber: 5292
    functionLinenumberEnd: 5366
    functionName: g_dbus_connection_register_object
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _
    - g_hash_table_insert
    - GUINT_TO_POINTER
    - CONNECTION_UNLOCK
    - _g_dbus_interface_vtable_copy
    - g_return_val_if_fail
    - g_dbus_interface_info_cache_build
    - g_main_context_ref_thread_default
    - g_variant_is_object_path
    - g_dbus_interface_info_ref
    - g_dbus_is_interface_name
    - g_hash_table_new_full
    - check_initialized
    - g_set_error
    - g_strdup
    - g_atomic_int_add
    - g_new0
    - CONNECTION_LOCK
    - G_IS_DBUS_CONNECTION
    - g_hash_table_lookup
    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_free
      Src: /src/glib/gio/gdbusconnection.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - CallDestroyNotifyData*
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    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_dbus_connection_call_internal
      Src: /src/glib/gio/gdbusconnection.c:6413,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: 6414
      start: 6398
    functionDepth: 0
    functionLinenumber: 6398
    functionLinenumberEnd: 6414
    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_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_value_dup_object
    - G_DBUS_AUTH_MECHANISM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:229,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:230,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - mechanism
    - data
    - data_len
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    - gsize*
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: _g_dbus_auth_mechanism_encode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    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:267,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:268,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: _g_dbus_auth_mechanism_server_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - 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:298,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:298,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: _g_dbus_auth_mechanism_client_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    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_param_spec_object
      Src: /src/glib/gio/gdbusauthmechanism.c:124,1
    - Dst: P_
      Src: /src/glib/gio/gdbusauthmechanism.c:126,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusauthmechanism.c:122,1
    - Dst: P_
      Src: /src/glib/gio/gdbusauthmechanism.c:125,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusauthmechanism.c:144,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusauthmechanism.c:146,1
    - Dst: P_
      Src: /src/glib/gio/gdbusauthmechanism.c:147,1
    - Dst: P_
      Src: /src/glib/gio/gdbusauthmechanism.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusAuthMechanismClass*
    constantsTouched: []
    func_position:
      end: 156
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 156
    functionName: _g_dbus_auth_mechanism_class_init
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_OBJECT_CLASS
    - P_
    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:240,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:241,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - mechanism
    - data
    - data_len
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    - gsize*
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: _g_dbus_auth_mechanism_decode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    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:275,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:276,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - mechanism
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gsize*
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: _g_dbus_auth_mechanism_server_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    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:307,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:308,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - mechanism
    - conn_flags
    - out_initial_response_len
    argTypes:
    - GDBusAuthMechanism*
    - GDBusConnectionFlags
    - gsize*
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: _g_dbus_auth_mechanism_client_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_auth_mechanism_client_initiate (GDBusAuthMechanism
      *mechanism, GDBusConnectionFlags conn_flags, gsize *out_initial_response_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:282,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:282,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: _g_dbus_auth_mechanism_server_get_reject_reason
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    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:289,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:290,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: _g_dbus_auth_mechanism_server_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_auth_mechanism_server_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_auth_mechanism_get_instance_private
      Src: /src/glib/gio/gdbusauthmechanism.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    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:176,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: _g_dbus_auth_mechanism_get_credentials
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - g_return_val_if_fail
    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:219,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:220,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: _g_dbus_auth_mechanism_is_supported
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_auth_mechanism_is_supported (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:318,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:319,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: _g_dbus_auth_mechanism_client_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - 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:326,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:326,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - mechanism
    - out_data_len
    argTypes:
    - GDBusAuthMechanism*
    - gsize*
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: _g_dbus_auth_mechanism_client_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    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:204,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gdbusauthmechanism.c:206,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gdbusauthmechanism.c:204,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanism.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mechanism_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: _g_dbus_auth_mechanism_get_priority
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - g_type_is_a
    - g_type_class_ref
    linkageType: ''
    returnType: gint
    signature: 'gint _g_dbus_auth_mechanism_get_priority (GType mechanism_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:54,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:61,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauthmechanism.c:59,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauthmechanism.c:57,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_DBUS_AUTH_MECHANISM
    - G_OBJECT_CLASS
    - g_object_unref
    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:249,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:250,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: _g_dbus_auth_mechanism_server_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    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_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusauthmechanism.c:83,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusauthmechanism.c:79,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusauthmechanism.c:75,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_DBUS_AUTH_MECHANISM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:258,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:258,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mechanism
    - initial_response
    - initial_response_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: _g_dbus_auth_mechanism_server_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - 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:333,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:334,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: _g_dbus_auth_mechanism_client_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - 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:169,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: _g_dbus_auth_mechanism_get_stream
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM
    - g_return_val_if_fail
    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:188,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gdbusauthmechanism.c:188,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gdbusauthmechanism.c:190,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanism.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - mechanism_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: _g_dbus_auth_mechanism_get_name
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - g_type_is_a
    - g_type_class_ref
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *_g_dbus_auth_mechanism_get_name (GType mechanism_type) '
  - 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_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-remove.c:83,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: g_option_context_free
      Src: /src/glib/gio/gio-tool-remove.c:78,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: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
    - 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_option_context_free
      Src: /src/glib/gio/gio-tool-remove.c:74,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-remove.c:92,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
    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_option_context_new
    - _
    - g_set_prgname
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - g_option_context_parse
    - g_error_free
    - g_option_context_add_main_entries
    - g_error_matches
    - g_object_unref
    - g_clear_error
    - g_strdup_printf
    - g_option_context_set_help_enabled
    - g_file_delete
    - print_file_error
    - show_help
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: int
    signature: 'int handle_remove (int argc, char *argv[], gboolean do_help) '
  - 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: 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:
    - set_to_keyfile
    - g_assert
    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: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1023,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1026,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1024,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1025,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1025,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1026,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1027,1
    - Dst: strstr
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1027,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1029,1
    - Dst: g_object_new
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1029,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - filename
    - root_path
    - root_group
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1034
    functionName: g_keyfile_settings_backend_new
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_object_new
    - strstr
    - g_str_has_prefix
    - g_str_has_suffix
    - g_return_val_if_fail
    - 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: 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_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:297,1
    - Dst: convert_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:291,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:295,1
    - Dst: g_key_file_set_value
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:296,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_strfreev
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:313,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:316,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:320,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:319,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:
    - group_name_matches
    - g_free
    - g_key_file_remove_key
    - convert_path
    - g_variant_print
    - g_variant_unref
    - g_key_file_remove_group
    - g_variant_ref_sink
    - g_strfreev
    - g_key_file_set_value
    - g_hash_table_contains
    - g_key_file_get_groups
    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_key_file_get_groups
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:482,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:489,1
    - Dst: strstr
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:494,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_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_tree_lookup
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:515,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_str_has_suffix
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:494,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:509,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:527,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:518,1
    - Dst: g_tree_insert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:522,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_free
    - g_strcmp0
    - g_assert
    - g_tree_insert
    - g_key_file_get_value
    - g_tree_lookup
    - g_tree_remove
    - strstr
    - g_strdup_printf
    - g_str_has_suffix
    - g_str_has_prefix
    - g_strfreev
    - strchr
    - g_key_file_get_keys
    - g_key_file_get_groups
    linkageType: ''
    returnType: void
    signature: 'static void keyfile_to_tree (GKeyfileSettingsBackend *kfsb, GTree
      *tree, GKeyFile *keyfile, gboolean dup_check) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_value
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:234,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:236,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: strlen
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:254,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:261,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_variant_type_equal
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:251,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:262,1
    - Dst: g_string_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:267,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:272,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:265,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:266,1
    - 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
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 3
    argNames:
    - kfsb
    - type
    - key
    argTypes:
    - GKeyfileSettingsBackend*
    - GVariantType*
    - gchar*
    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:
    - strlen
    - g_string_sized_new
    - g_variant_type_equal
    - g_free
    - convert_path
    - g_assert
    - g_string_append_c
    - g_key_file_get_value
    - g_steal_pointer
    - g_string_free
    - g_variant_parse
    - g_hash_table_contains
    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: 4
    argNames:
    - backend
    - key
    - expected_type
    - default_value
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariantType*
    - gboolean
    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_tree_foreach
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:390,1
    - Dst: g_keyfile_settings_backend_keyfile_write
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:391,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:394,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:385,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_tree_foreach
    - G_KEYFILE_SETTINGS_BACKEND
    - g_error_free
    - g_keyfile_settings_backend_keyfile_write
    - g_warning
    - g_file_peek_path
    - g_settings_backend_changed_tree
    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: compute_checksum
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:541,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: 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_settings_backend_changed_tree
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:565,1
    - Dst: memcpy
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:569,1
    - Dst: g_tree_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:567,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:572,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:
    - memcpy
    - g_key_file_load_from_data
    - g_key_file_new
    - g_free
    - compute_checksum
    - g_tree_unref
    - keyfile_to_tree
    - g_key_file_free
    - g_tree_nnodes
    - g_settings_backend_changed_tree
    - g_tree_new_full
    - memcmp
    - g_file_load_contents
    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_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:105,1
    - Dst: g_checksum_get_digest
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:104,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:106,1
    - Dst: g_checksum_update
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:103,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_assert
    - g_checksum_update
    - g_checksum_get_digest
    - g_checksum_free
    - 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: 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: set_to_keyfile
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:416,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:424,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_KEYFILE_SETTINGS_BACKEND
    - g_error_free
    - g_keyfile_settings_backend_keyfile_write
    - g_warning
    - g_file_peek_path
    - set_to_keyfile
    - 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: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:153,1
    - Dst: memcmp
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:157,1
    - Dst: memcmp
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:179,1
    - Dst: strrchr
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:163,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:
    - strlen
    - g_strdup
    - strrchr
    - g_memdup2
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean convert_path (GKeyfileSettingsBackend *kfsb, const
      gchar *key, gchar **group, gchar **basename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_to_data
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:117,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:124,1
    - Dst: compute_checksum
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:123,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:118,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:
    - g_key_file_to_data
    - g_free
    - g_file_replace_contents
    - compute_checksum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_keyfile_settings_backend_keyfile_write (GKeyfileSettingsBackend
      *kfsb, GError **error) '
  - 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_KEYFILE_SETTINGS_BACKEND
    - g_error_free
    - g_keyfile_settings_backend_keyfile_write
    - g_warning
    - g_file_peek_path
    - set_to_keyfile
    - 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: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:457,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:460,1
    - Dst: path_is_valid
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:461,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_hash_table_contains
    - G_KEYFILE_SETTINGS_BACKEND
    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_object_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:588,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_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_info_get_attribute_boolean
    - g_file_query_info
    - 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_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_strerror
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:759,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:759,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:770,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_file_peek_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:764,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_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
    - 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_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
    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_simple_permission_new
    - g_keyfile_settings_backend_keyfile_reload
    - g_clear_error
    - g_file_peek_path
    - g_key_file_new
    - g_strerror
    - g_get_user_config_dir
    - g_file_get_parent
    - g_keyfile_settings_backend_keyfile_writable
    - g_signal_connect
    - g_file_new_for_path
    - G_KEYFILE_SETTINGS_BACKEND
    - g_warning
    - g_build_filename
    - G_CALLBACK
    - g_strdup
    - g_free
    - compute_checksum
    - g_mkdir_with_parents
    - load_system_settings
    - g_file_monitor
    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_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:857,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_file_peek_path
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - G_KEYFILE_SETTINGS_BACKEND
    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: 2
    argNames:
    - backend
    - path
    argTypes:
    - GSettingsBackend*
    - gchar*
    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_object_ref
    - G_KEYFILE_SETTINGS_BACKEND
    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_key_file_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:605,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:606,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:608,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:607,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:626,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:628,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:625,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
    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_hash_table_unref
    - G_KEYFILE_SETTINGS_BACKEND
    - g_free
    - g_file_monitor_cancel
    - g_key_file_free
    - g_object_unref
    - g_key_file_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_finalize (GObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - 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_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:728,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_build_filename
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:692,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:721,1
    - Dst: g_debug
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:720,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:701,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:671,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:676,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:685,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:710,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_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:726,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_free
    - g_hash_table_add
    - g_error_matches
    - g_warning
    - g_build_filename
    - g_clear_error
    - g_debug
    - g_key_file_load_from_file
    - g_strsplit
    - g_steal_pointer
    - g_hash_table_new_full
    - g_file_get_contents
    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_value_get_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:806,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_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:805,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: strlen
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:823,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:829,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:828,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:833,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:
    - strlen
    - g_value_dup_string
    - g_value_get_string
    - g_file_new_for_path
    - G_KEYFILE_SETTINGS_BACKEND
    - g_assert
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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_param_spec_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:900,1
    - Dst: P_
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:902,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:898,1
    - Dst: P_
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:901,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:918,1
    - Dst: P_
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:919,1
    - Dst: P_
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:920,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:933,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:949,1
    - Dst: P_
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:953,1
    - Dst: P_
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:937,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:935,1
    - Dst: P_
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:952,1
    - Dst: P_
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:936,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - class
    argTypes:
    - GKeyfileSettingsBackendClass*
    constantsTouched: []
    func_position:
      end: 957
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 957
    functionName: g_keyfile_settings_backend_class_init
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_class_init (GKeyfileSettingsBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gio-tool.c:40,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gio-tool.c:41,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool.c:45,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
    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:
    - va_end
    - g_free
    - g_strdup_vprintf
    - va_start
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'void print_error (const gchar *format, ...) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - GFileAttributeType
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:64,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gio-tool.c:66,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
    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_option_context_get_help
    - g_free
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'void show_help (GOptionContext *context, const char *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/glib/gio/gio-tool.c:161,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_new
      Src: /src/glib/gio/gio-tool.c:171,1
    - Dst: N_
      Src: /src/glib/gio/gio-tool.c:165,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: 1
    argNames:
    - flags
    argTypes:
    - GFileAttributeInfoFlags
    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_string_new
    - g_string_append
    - gettext
    - g_string_free
    - G_N_ELEMENTS
    - N_
    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: _
      Src: /src/glib/gio/gio-tool.c:208,1
    - Dst: _
      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: 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_print
    - _
    - g_printerr
    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: print_error
      Src: /src/glib/gio/gio-tool.c:54,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool.c:55,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
    - print_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void print_file_error (GFile *file, const gchar *message) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - GFileType
    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:128,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:134,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: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_info_get_file_type
    - g_file_query_info
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean file_is_dir (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:224,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:227,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:228,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:230,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:233,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:234,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:237,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:238,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:243,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:244,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:248,1
    - Dst: exit
      Src: /src/glib/gio/gio-tool.c:249,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:246,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:247,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:225,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:228,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:230,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:231,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:229,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:234,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:235,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:238,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:239,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:241,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:245,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:246,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:243,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:248,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:229,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:232,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:231,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:235,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:236,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:239,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:240,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:241,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:242,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:245,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:244,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:225,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:224,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:225,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:226,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:227,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:232,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:233,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:236,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:237,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:240,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 250
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 250
    functionName: usage
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - exit
    - _
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void usage (void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/gio-tool.c:262,1
    - Dst: textdomain
      Src: /src/glib/gio/gio-tool.c:263,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gio-tool.c:274,1
    - Dst: usage
      Src: /src/glib/gio/gio-tool.c:279,1
    - Dst: usage
      Src: /src/glib/gio/gio-tool.c:292,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:301,1
    - Dst: handle_version
      Src: /src/glib/gio/gio-tool.c:310,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:311,1
    - Dst: handle_copy
      Src: /src/glib/gio/gio-tool.c:314,1
    - Dst: usage
      Src: /src/glib/gio/gio-tool.c:303,1
    - Dst: handle_set
      Src: /src/glib/gio/gio-tool.c:340,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:337,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:323,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:343,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gio-tool.c:270,1
    - Dst: handle_cat
      Src: /src/glib/gio/gio-tool.c:312,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:313,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:309,1
    - Dst: handle_list
      Src: /src/glib/gio/gio-tool.c:320,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:321,1
    - Dst: handle_mount
      Src: /src/glib/gio/gio-tool.c:328,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:329,1
    - Dst: handle_open
      Src: /src/glib/gio/gio-tool.c:332,1
    - Dst: handle_mime
      Src: /src/glib/gio/gio-tool.c:322,1
    - Dst: handle_remove
      Src: /src/glib/gio/gio-tool.c:336,1
    - Dst: handle_trash
      Src: /src/glib/gio/gio-tool.c:342,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:333,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/gio-tool.c:266,1
    - Dst: handle_launch
      Src: /src/glib/gio/gio-tool.c:318,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:319,1
    - Dst: handle_monitor
      Src: /src/glib/gio/gio-tool.c:326,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:327,1
    - Dst: handle_save
      Src: /src/glib/gio/gio-tool.c:338,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:339,1
    - Dst: usage
      Src: /src/glib/gio/gio-tool.c:346,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:331,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool.c:268,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gio-tool.c:267,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:288,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:306,1
    - Dst: handle_info
      Src: /src/glib/gio/gio-tool.c:316,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:315,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:317,1
    - Dst: handle_mkdir
      Src: /src/glib/gio/gio-tool.c:324,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:325,1
    - Dst: handle_move
      Src: /src/glib/gio/gio-tool.c:330,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:335,1
    - Dst: handle_tree
      Src: /src/glib/gio/gio-tool.c:344,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:341,1
    - Dst: handle_rename
      Src: /src/glib/gio/gio-tool.c:334,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 349
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 349
    functionName: main
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - _glib_get_locale_dir
    - handle_tree
    - handle_launch
    - handle_info
    - handle_monitor
    - handle_open
    - handle_version
    - usage
    - handle_mime
    - handle_copy
    - handle_mkdir
    - handle_remove
    - handle_cat
    - handle_save
    - handle_list
    - handle_rename
    - textdomain
    - handle_mount
    - handle_move
    - bind_textdomain_codeset
    - setlocale
    - g_str_equal
    - g_free
    - handle_trash
    - handle_set
    - bindtextdomain
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gtlsdatabase.c:262,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtlsdatabase.c:263,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsdatabase.c:267,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsdatabase.c:266,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:264,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gtlsdatabase.c:269,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gtlsdatabase.c:270,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gtlsdatabase.c:271,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsdatabase.c:272,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: 273
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 273
    functionName: g_tls_database_real_lookup_certificate_for_handle_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_set_source_tag
    - g_task_new
    - g_object_unref
    - 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_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:542,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:543,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:545,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:543,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:542,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:546,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:546,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:548,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gtlsdatabase.c:548,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:550,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:552,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:555,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:552,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: 563
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 563
    functionName: g_tls_database_verify_chain
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTABLE
    - G_IS_TLS_CERTIFICATE
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_INTERACTION
    - g_return_val_if_fail
    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:792,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:794,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsdatabase.c:793,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:793,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:792,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:795,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:795,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:796,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 799
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 799
    functionName: g_tls_database_lookup_certificate_for_handle_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_database_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:280,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsdatabase.c:282,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gtlsdatabase.c:282,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gtlsdatabase.c:280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: g_tls_database_real_lookup_certificate_for_handle_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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:675,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:676,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:676,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:675,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:677,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:677,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - self
    - certificate
    argTypes:
    - GTlsDatabase*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 680
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 680
    functionName: g_tls_database_create_certificate_handle
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - g_return_val_if_fail
    - G_IS_TLS_CERTIFICATE
    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:756,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:758,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:757,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:756,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:758,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:759,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:759,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:760,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:760,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:761,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: 768
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 768
    functionName: g_tls_database_lookup_certificate_for_handle_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_INTERACTION
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_database_verify_chain
      Src: /src/glib/gio/gtlsdatabase.c:153,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gtlsdatabase.c:164,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:153,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtlsdatabase.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: async_verify_chain_thread
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_tls_database_verify_chain
    - G_TLS_DATABASE
    - g_task_return_int
    - g_task_return_error
    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:223,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:224,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gtlsdatabase.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    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:371,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:372,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gtlsdatabase.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: async_lookup_certificates_issued_by_free
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_byte_array_unref
    - g_clear_object
    - 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:437,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gtlsdatabase.c:437,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gtlsdatabase.c:439,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsdatabase.c:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 440
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 440
    functionName: g_tls_database_real_lookup_certificates_issued_by_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:642,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsdatabase.c:643,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:644,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:643,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:642,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:645,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:645,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: g_tls_database_verify_chain_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - g_return_val_if_fail
    - 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:717,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:719,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:719,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:718,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:717,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:720,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:720,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:721,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:722,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:722,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:723,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 6
    argNames:
    - self
    - handle
    - interaction
    - flags
    - cancellable
    - error
    argTypes:
    - GTlsDatabase*
    - gchar*
    - GTlsInteraction*
    - GTlsDatabaseLookupFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 729
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 729
    functionName: g_tls_database_lookup_certificate_for_handle
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_INTERACTION
    - g_return_val_if_fail
    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:916,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:916,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:918,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:917,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsdatabase.c:917,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:919,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:919,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:920,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 923
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 923
    functionName: g_tls_database_lookup_certificate_issuer_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - g_return_val_if_fail
    - 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:181,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtlsdatabase.c:183,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:185,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:182,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:184,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsdatabase.c:188,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsdatabase.c:189,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gtlsdatabase.c:190,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gtlsdatabase.c:191,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gtlsdatabase.c:192,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsdatabase.c:193,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: 194
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 194
    functionName: g_tls_database_real_verify_chain_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_ref
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_set_source_tag
    - g_task_new
    - g_object_unref
    - 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:238,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:238,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gtlsdatabase.c:245,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtlsdatabase.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 248
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 248
    functionName: async_lookup_certificate_for_handle_thread
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_tls_database_lookup_certificate_for_handle
    - G_TLS_DATABASE
    - g_task_return_error
    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:297,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:298,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gtlsdatabase.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    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:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 382
    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: 453
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 453
    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_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:882,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:882,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:884,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:883,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:883,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:884,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:885,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:885,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:886,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:887,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:888,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:887,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: 895
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 895
    functionName: g_tls_database_lookup_certificate_issuer_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_CERTIFICATE
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_INTERACTION
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:203,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsdatabase.c:205,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gtlsdatabase.c:203,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gtlsdatabase.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: g_tls_database_real_verify_chain_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_int
    - g_return_val_if_fail
    - G_TASK
    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:994,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:994,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:996,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:995,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:996,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:997,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:997,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:998,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:999,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:999,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:1000,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: 1007
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1007
    functionName: g_tls_database_lookup_certificates_issued_by_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_INTERACTION
    - g_return_if_fail
    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_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:136,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gtlsdatabase.c:140,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:138,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:139,1
    - Dst: g_free
      Src: /src/glib/gio/gtlsdatabase.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    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:952,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:954,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:954,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:952,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:953,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:955,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:955,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:956,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:957,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:957,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:958,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - self
    - issuer_raw_dn
    - interaction
    - flags
    - cancellable
    - error
    argTypes:
    - GTlsDatabase*
    - GByteArray*
    - GTlsInteraction*
    - GTlsDatabaseLookupFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 964
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 964
    functionName: g_tls_database_lookup_certificates_issued_by
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_INTERACTION
    - g_return_val_if_fail
    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_lookup_certificate_issuer
      Src: /src/glib/gio/gtlsdatabase.c:312,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gtlsdatabase.c:319,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtlsdatabase.c:321,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 322
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 322
    functionName: async_lookup_certificate_issuer_thread
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - G_TLS_DATABASE
    - g_task_return_error
    - 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:355,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsdatabase.c:357,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gtlsdatabase.c:357,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gtlsdatabase.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: g_tls_database_real_lookup_certificate_issuer_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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:394,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gtlsdatabase.c:401,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:394,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtlsdatabase.c:403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 404
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 404
    functionName: async_lookup_certificates_issued_by_thread
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - G_TLS_DATABASE
    - g_tls_database_lookup_certificates_issued_by
    - g_task_return_error
    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:1028,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:1029,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsdatabase.c:1029,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:1028,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:1030,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:1031,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:1031,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:1032,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1035
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1035
    functionName: g_tls_database_lookup_certificates_issued_by_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - g_return_val_if_fail
    - 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:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gtlsdatabase.c:336,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:339,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsdatabase.c:342,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:337,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsdatabase.c:341,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gtlsdatabase.c:344,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gtlsdatabase.c:345,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gtlsdatabase.c:346,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsdatabase.c:347,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: 348
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 348
    functionName: g_tls_database_real_lookup_certificate_issuer_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - 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:418,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:421,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsdatabase.c:423,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsdatabase.c:424,1
    - Dst: g_byte_array_ref
      Src: /src/glib/gio/gtlsdatabase.c:419,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gtlsdatabase.c:426,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gtlsdatabase.c:427,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gtlsdatabase.c:428,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsdatabase.c:429,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: 430
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 430
    functionName: g_tls_database_real_lookup_certificates_issued_by_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_slice_new0
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_set_name
    - g_byte_array_ref
    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_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:594,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:594,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:596,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:595,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:595,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:597,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:597,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:598,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:598,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:599,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:600,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:603,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gtlsdatabase.c:599,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:602,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:602,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: 612
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 612
    functionName: g_tls_database_verify_chain_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTABLE
    - G_IS_TLS_CERTIFICATE
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_INTERACTION
    - g_return_if_fail
    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:844,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:845,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:844,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:846,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:845,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:846,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:847,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:847,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:848,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:849,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:849,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:850,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 6
    argNames:
    - self
    - certificate
    - interaction
    - flags
    - cancellable
    - error
    argTypes:
    - GTlsDatabase*
    - GTlsCertificate*
    - GTlsInteraction*
    - GTlsDatabaseLookupFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 856
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 856
    functionName: g_tls_database_lookup_certificate_issuer
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_CERTIFICATE
    - G_IS_TLS_DATABASE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_CANCELLABLE
    - G_IS_TLS_INTERACTION
    - g_return_val_if_fail
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsDatabase*
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:100,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocketaddress.c:105,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketaddress.c:109,1
    - Dst: g_socket_address_get_family
      Src: /src/glib/gio/gsocketaddress.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: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: g_socket_address_get_property
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - G_SOCKET_ADDRESS
    - g_socket_address_get_family
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - connectable_iface
    argTypes:
    - GSocketConnectableIface*
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketaddress.c:191,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:191,1
    - Dst: G_SOCKET_ADDRESS_GET_CLASS
      Src: /src/glib/gio/gsocketaddress.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - address
    - dest
    - destlen
    - error
    argTypes:
    - GSocketAddress*
    - gpointer
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: g_socket_address_to_native
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_GET_CLASS
    - g_return_val_if_fail
    - G_IS_SOCKET_ADDRESS
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gsocketaddress.c:232,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/glib/gio/gsocketaddress.c:247,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocketaddress.c:274,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gsocketaddress.c:285,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gsocketaddress.c:296,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/gsocketaddress.c:302,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gsocketaddress.c:290,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gsocketaddress.c:278,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddress.c:234,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gsocketaddress.c:254,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketaddress.c:233,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddress.c:267,1
    - Dst: g_native_socket_address_new
      Src: /src/glib/gio/gsocketaddress.c:305,1
    - Dst: g_ntohs
      Src: /src/glib/gio/gsocketaddress.c:233,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocketaddress.c:253,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gsocketaddress.c:258,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketaddress.c:261,1
    - Dst: g_ntohs
      Src: /src/glib/gio/gsocketaddress.c:263,1
    - Dst: g_unix_socket_address_abstract_names_supported
      Src: /src/glib/gio/gsocketaddress.c:283,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 2
    argNames:
    - native
    - len
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 306
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 306
    functionName: g_socket_address_new_from_native
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - g_unix_socket_address_new
    - memcpy
    - g_object_new
    - g_inet_socket_address_new
    - g_unix_socket_address_new_with_type
    - g_object_unref
    - g_inet_address_new_from_bytes
    - g_ntohs
    - g_unix_socket_address_abstract_names_supported
    - G_STRUCT_OFFSET
    - g_native_socket_address_new
    - IN6_IS_ADDR_V4MAPPED
    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:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 355
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 355
    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:365,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_CLASS
      Src: /src/glib/gio/gsocketaddress.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - sockaddrenum_class
    argTypes:
    - GSocketAddressAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: _g_socket_address_address_enumerator_class_init
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_SOCKET_ADDRESS_ENUMERATOR_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:91,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:91,1
    - Dst: G_SOCKET_ADDRESS_GET_CLASS
      Src: /src/glib/gio/gsocketaddress.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: g_socket_address_get_family
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_GET_CLASS
    - g_return_val_if_fail
    - G_IS_SOCKET_ADDRESS
    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:116,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocketaddress.c:121,1
    - Dst: P_
      Src: /src/glib/gio/gsocketaddress.c:123,1
    - Dst: P_
      Src: /src/glib/gio/gsocketaddress.c:122,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketaddress.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketAddressClass*
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: g_socket_address_class_init
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - P_
    - G_OBJECT_CLASS
    - g_param_spec_enum
    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: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    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:330,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddress.c:333,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketaddress.c:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: g_socket_address_address_enumerator_finalize
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_ADDRESS_ENUMERATOR
    - G_OBJECT_CLASS
    - g_object_unref
    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: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    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:378,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketaddress.c:379,1
    - Dst: G_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: g_socket_address_connectable_enumerate
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS
    - g_object_ref
    - g_object_new
    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:389,1
    - Dst: g_object_get
      Src: /src/glib/gio/gsocketaddress.c:399,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:392,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:391,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gsocketaddress.c:401,1
    - Dst: g_uri_join
      Src: /src/glib/gio/gsocketaddress.c:402,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketaddress.c:404,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddress.c:409,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketaddress.c:410,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketaddress.c:411,1
    - Dst: g_socket_address_connectable_enumerate
      Src: /src/glib/gio/gsocketaddress.c:415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 419
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 419
    functionName: g_socket_address_connectable_proxy_enumerate
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_address_to_string
    - g_free
    - g_uri_join
    - g_object_new
    - g_assert
    - g_socket_address_connectable_enumerate
    - g_object_unref
    - G_IS_PROXY_ADDRESS
    - g_object_get
    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:160,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:160,1
    - Dst: G_SOCKET_ADDRESS_GET_CLASS
      Src: /src/glib/gio/gsocketaddress.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: g_socket_address_get_native_size
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_GET_CLASS
    - g_return_val_if_fail
    - G_IS_SOCKET_ADDRESS
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_socket_address_get_native_size (GSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsfiledatabase.c:66,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlsfiledatabase.c:67,1
    - Dst: P_
      Src: /src/glib/gio/gtlsfiledatabase.c:68,1
    - Dst: P_
      Src: /src/glib/gio/gtlsfiledatabase.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsFileDatabaseInterface*
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: g_tls_file_database_default_init
    functionSourceFile: /src/glib/gio/gtlsfiledatabase.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - P_
    - g_object_interface_install_property
    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:98,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsfiledatabase.c:103,1
    - Dst: g_tls_backend_get_file_database_type
      Src: /src/glib/gio/gtlsfiledatabase.c:99,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlsfiledatabase.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - anchors
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: g_tls_file_database_new
    functionSourceFile: /src/glib/gio/gtlsfiledatabase.c
    functionUses: []
    functionsReached:
    - g_tls_backend_get_file_database_type
    - G_TLS_DATABASE
    - g_initable_new
    - g_tls_backend_get_default
    linkageType: ''
    returnType: GTlsDatabase*
    signature: 'GTlsDatabase *g_tls_file_database_new (const gchar *anchors, GError
      **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - 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: G_N_ELEMENTS
      Src: /src/glib/gio/gapplication-tool.c:124,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: _
      Src: /src/glib/gio/gapplication-tool.c:127,1
    - Dst: g_string_append
      Src: /src/glib/gio/gapplication-tool.c:147,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: g_print
      Src: /src/glib/gio/gapplication-tool.c:153,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gapplication-tool.c:137,1
    - 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_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_printerr
      Src: /src/glib/gio/gapplication-tool.c:155,1
    - Dst: g_string_printf
      Src: /src/glib/gio/gapplication-tool.c:99,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gapplication-tool.c:93,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: strlen
      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_free
      Src: /src/glib/gio/gapplication-tool.c:157,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gapplication-tool.c:149,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_str_equal
    - strlen
    - g_string_new
    - g_string_append
    - _
    - MAX
    - g_string_append_printf
    - strstr
    - g_string_printf
    - g_string_free
    - G_N_ELEMENTS
    - g_print
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'static int app_help (gboolean requested, const gchar *command) '
  - 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:
    - app_help
    - _
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'static int app_no_args (const gchar *command) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/glib/gio/gapplication-tool.c:204,1
    - Dst: g_desktop_app_info_get_boolean
      Src: /src/glib/gio/gapplication-tool.c:214,1
    - Dst: app_no_args
      Src: /src/glib/gio/gapplication-tool.c:205,1
    - Dst: g_app_info_get_all
      Src: /src/glib/gio/gapplication-tool.c:207,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gapplication-tool.c:213,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_free
      Src: /src/glib/gio/gapplication-tool.c:225,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
    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:
    - strlen
    - g_free
    - g_strndup
    - app_no_args
    - g_list_delete_link
    - g_object_unref
    - g_str_has_suffix
    - g_app_info_get_id
    - G_IS_DESKTOP_APP_INFO
    - g_desktop_app_info_get_boolean
    - g_app_info_get_all
    - g_print
    - g_strv_length
    - G_APP_INFO
    linkageType: ''
    returnType: int
    signature: 'static int app_list (gchar **args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gapplication-tool.c:265,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:269,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gapplication-tool.c:268,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:269,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplication-tool.c:268,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_dbus_connection_call_sync
    - _
    - g_free
    - g_variant_unref
    - g_bus_get_sync
    - g_error_free
    - app_path_for_id
    - g_variant_ref_sink
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'static int app_call (const gchar *app_id, const gchar *method_name,
      GVariant *parameters) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - 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
    - 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
      Src: /src/glib/gio/gapplication-tool.c:336,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:350,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_add
      Src: /src/glib/gio/gapplication-tool.c:357,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:362,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gapplication-tool.c:363,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_VARIANT_TYPE
    - _
    - g_free
    - app_check_name
    - app_get_platform_data
    - g_action_name_is_valid
    - g_variant_builder_clear
    - g_error_free
    - g_variant_unref
    - g_variant_builder_add
    - g_variant_builder_init
    - g_variant_new
    - g_variant_parse
    - app_call
    - g_variant_parse_error_print_context
    - g_printerr
    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_file_new_for_commandline_arg
      Src: /src/glib/gio/gapplication-tool.c:396,1
    - Dst: g_variant_builder_init
      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_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:
    - app_activate
    - g_file_get_uri
    - app_check_name
    - g_variant_new_take_string
    - app_get_platform_data
    - g_object_unref
    - g_variant_builder_add_value
    - g_variant_builder_init
    - g_variant_new
    - app_call
    - g_file_new_for_commandline_arg
    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: _
      Src: /src/glib/gio/gapplication-tool.c:174,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
    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_dbus_is_name
    - _
    - g_printerr
    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: app_no_args
      Src: /src/glib/gio/gapplication-tool.c:193,1
    - Dst: g_print
      Src: /src/glib/gio/gapplication-tool.c:195,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_print
    - app_no_args
    - g_strv_length
    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: 1
    argNames:
    - app_id
    argTypes:
    - gchar*
    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
      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: 1
    argNames:
    - void
    argTypes:
    - void
    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_variant_builder_end
    - g_variant_new_string
    - g_variant_builder_add
    - g_getenv
    - g_variant_builder_init
    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: g_variant_new
      Src: /src/glib/gio/gapplication-tool.c:374,1
    - Dst: app_get_platform_data
      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
    - app_call
    - g_variant_new
    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: _
      Src: /src/glib/gio/gapplication-tool.c:417,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:417,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gapplication-tool.c:421,1
    - Dst: app_help
      Src: /src/glib/gio/gapplication-tool.c:418,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_free
    - app_check_name
    - g_object_unref
    - g_desktop_app_info_list_actions
    - g_strconcat
    - g_print
    - app_help
    - g_desktop_app_info_new
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'static int app_list_actions (gchar **args) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/gapplication-tool.c:444,1
    - Dst: app_list
      Src: /src/glib/gio/gapplication-tool.c:461,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:469,1
    - Dst: app_action
      Src: /src/glib/gio/gapplication-tool.c:467,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:463,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
    - 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: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:457,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: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:466,1
    - Dst: app_list_actions
      Src: /src/glib/gio/gapplication-tool.c:470,1
    - Dst: app_launch
      Src: /src/glib/gio/gapplication-tool.c:464,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gapplication-tool.c:446,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gapplication-tool.c:448,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:472,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:
    - setlocale
    - g_str_equal
    - textdomain
    - _
    - app_action
    - app_list
    - bindtextdomain
    - bind_textdomain_codeset
    - app_version
    - app_help
    - app_list_actions
    - app_launch
    - g_printerr
    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_unref
      Src: /src/glib/gio/glocalfileiostream.c:49,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
    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_object_unref
    - G_OBJECT_CLASS
    - G_LOCAL_FILE_IO_STREAM
    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: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    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_output_stream_close
      Src: /src/glib/gio/glocalfileiostream.c:93,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileiostream.c:97,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/glocalfileiostream.c:94,1
    - Dst: _g_local_file_output_stream_really_close
      Src: /src/glib/gio/glocalfileiostream.c:97,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
    - _g_local_file_output_stream_really_close
    - g_input_stream_close
    - G_LOCAL_FILE_IO_STREAM
    - g_output_stream_close
    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_object_ref
      Src: /src/glib/gio/glocalfileiostream.c:61,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_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: 1
    argNames:
    - output_stream
    argTypes:
    - GLocalFileOutputStream*
    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_output_stream_get_fd
    - _g_local_file_input_stream_new
    - g_object_ref
    - g_object_new
    - _g_local_file_output_stream_set_do_close
    - G_FILE_IO_STREAM
    - _g_local_file_input_stream_set_do_close
    - G_OUTPUT_STREAM
    - G_LOCAL_FILE_INPUT_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: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    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_OBJECT_CLASS
    - G_IO_STREAM_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:125,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtcpconnection.c:134,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gtcpconnection.c:126,1
    - Dst: P_
      Src: /src/glib/gio/gtcpconnection.c:136,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtcpconnection.c:135,1
    - Dst: P_
      Src: /src/glib/gio/gtcpconnection.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - class
    argTypes:
    - GTcpConnectionClass*
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 141
    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
    - P_
    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:89,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtcpconnection.c:98,1
    - Dst: g_value_set_boolean
      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: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: g_tcp_connection_get_property
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_TCP_CONNECTION
    - g_value_set_boolean
    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:192,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gtcpconnection.c:194,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gtcpconnection.c:193,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtcpconnection.c:205,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gtcpconnection.c:207,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtcpconnection.c:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError*
    constantsTouched: []
    func_position:
      end: 210
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 210
    functionName: async_close_finish
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_object_unref
    - G_IO_STREAM_CLASS
    - g_task_return_boolean
    - g_task_return_error
    - g_task_get_cancellable
    linkageType: ''
    returnType: void
    signature: 'static void async_close_finish (GTask *task, GError *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:256,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtcpconnection.c:265,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtcpconnection.c:266,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gtcpconnection.c:267,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtcpconnection.c:263,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gtcpconnection.c:269,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:269,1
    - Dst: g_socket_shutdown
      Src: /src/glib/gio/gtcpconnection.c:272,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtcpconnection.c:274,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtcpconnection.c:275,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gtcpconnection.c:280,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gtcpconnection.c:286,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gtcpconnection.c:281,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gtcpconnection.c:279,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: 288
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 288
    functionName: g_tcp_connection_close_async
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_task_attach_source
    - g_socket_connection_get_socket
    - g_task_set_priority
    - G_TCP_CONNECTION
    - g_task_new
    - g_cancellable_is_cancelled
    - g_task_set_source_tag
    - g_object_unref
    - G_IO_STREAM_CLASS
    - G_SOCKET_CONNECTION
    - g_source_unref
    - g_socket_create_source
    - g_socket_shutdown
    - 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: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    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_tcp_connection_get_instance_private
      Src: /src/glib/gio/gtcpconnection.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GTcpConnection*
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:108,1
    - Dst: g_tcp_connection_set_graceful_disconnect
      Src: /src/glib/gio/gtcpconnection.c:113,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtcpconnection.c:118,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gtcpconnection.c:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: g_tcp_connection_set_property
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_tcp_connection_set_graceful_disconnect
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_TCP_CONNECTION
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:148,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:154,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gtcpconnection.c:154,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtcpconnection.c:158,1
    - Dst: g_socket_shutdown
      Src: /src/glib/gio/gtcpconnection.c:160,1
    - Dst: g_socket_receive_with_blocking
      Src: /src/glib/gio/gtcpconnection.c:169,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gtcpconnection.c:183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: g_tcp_connection_close
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_socket_connection_get_socket
    - G_TCP_CONNECTION
    - g_cancellable_is_cancelled
    - G_IO_STREAM_CLASS
    - g_socket_receive_with_blocking
    - G_SOCKET_CONNECTION
    - g_socket_shutdown
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_tcp_connection_close (GIOStream *stream,\t\t\tGCancellable
      *cancellable,\t\t\tGError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_with_blocking
      Src: /src/glib/gio/gtcpconnection.c:222,1
    - Dst: async_close_finish
      Src: /src/glib/gio/gtcpconnection.c:234,1
    - Dst: g_error_free
      Src: /src/glib/gio/gtcpconnection.c:229,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gtcpconnection.c:227,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gtcpconnection.c:223,1
    - Dst: async_close_finish
      Src: /src/glib/gio/gtcpconnection.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - socket
    - condition
    - task
    argTypes:
    - GSocket*
    - GIOCondition
    - GTask*
    constantsTouched: []
    func_position:
      end: 246
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 246
    functionName: close_read_ready
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_error_matches
    - g_error_free
    - g_socket_receive_with_blocking
    - async_close_finish
    - g_task_get_cancellable
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean close_read_ready (GSocket *socket,\t\t GIOCondition
      condition,\t\t GTask *task) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gtcpconnection.c:315,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtcpconnection.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - connection
    - graceful_disconnect
    argTypes:
    - GTcpConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: g_tcp_connection_set_graceful_disconnect
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    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_build_filename
      Src: /src/glib/gio/gsandbox.c:36,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/gsandbox.c:36,1
    - Dst: g_file_test
      Src: /src/glib/gio/gsandbox.c:40,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_build_filename
    - g_clear_pointer
    - g_file_test
    - g_get_user_runtime_dir
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_flatpak (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/gsandbox.c:95,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: get_snap_confinement
      Src: /src/glib/gio/gsandbox.c:101,1
    - Dst: g_free
      Src: /src/glib/gio/gsandbox.c:102,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_free
    - g_strcmp0
    - get_snap_confinement
    - g_build_filename
    - g_clear_error
    - g_getenv
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_snap (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gsandbox.c:56,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gsandbox.c:62,1
    - Dst: strchr
      Src: /src/glib/gio/gsandbox.c:74,1
    - Dst: strchr
      Src: /src/glib/gio/gsandbox.c:65,1
    - Dst: strlen
      Src: /src/glib/gio/gsandbox.c:73,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: 2
    argNames:
    - snap_yaml
    - error
    argTypes:
    - char*
    - GError**
    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:
    - strlen
    - g_strdup
    - g_free
    - g_strndup
    - g_steal_pointer
    - g_str_has_prefix
    - strchr
    - g_file_get_contents
    - g_strstrip
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_snap_confinement (const char *snap_yaml, GError
      **error) '
  - 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:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1029,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1030,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketclient.c:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - SocketClientErrorInfo*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1032
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gsocketclient.c:1520,1
    - Dst: g_ref_count_init
      Src: /src/glib/gio/gsocketclient.c:1521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1523
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1523
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_CANCELLABLE
      Src: /src/glib/gio/gsocketclient.c:1950,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketclient.c:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cancellable
    - data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1953
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1953
    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_connect_finish
      Src: /src/glib/gio/gsocketclient.c:2343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - client
    - result
    - error
    argTypes:
    - GSocketClient*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2344
      start: 2338
    functionDepth: 0
    functionLinenumber: 2338
    functionLinenumberEnd: 2344
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/gsocketclient.c:244,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketclient.c:249,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:246,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:247,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsocketclient.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: g_socket_client_finalize
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_OBJECT_CLASS
    - g_hash_table_unref
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1049,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1052,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - info
    - event
    argTypes:
    - SocketClientErrorInfo*
    - GSocketClientEvent
    constantsTouched: []
    func_position:
      end: 1061
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1061
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_count_inc
      Src: /src/glib/gio/gsocketclient.c:1528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - attempt
    argTypes:
    - ConnectionAttempt*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1530
    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_tls_connection_handshake_finish
      Src: /src/glib/gio/gsocketclient.c:1653,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gsocketclient.c:1658,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1660,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1657,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1653,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1661,1
    - Dst: g_socket_client_async_connect_complete
      Src: /src/glib/gio/gsocketclient.c:1662,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1666,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1667,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1669,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1670,1
    - Dst: try_next_connection_or_finish
      Src: /src/glib/gio/gsocketclient.c:1671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1673
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1673
    functionName: g_socket_client_tls_handshake_callback
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - G_TLS_CONNECTION
    - g_socket_client_async_connect_complete
    - g_tls_connection_handshake_finish
    - g_object_unref
    - g_debug
    - try_next_connection_or_finish
    - consider_tmp_error
    - connection_attempt_unref
    - 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: task_completed_or_cancelled
      Src: /src/glib/gio/gsocketclient.c:1965,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gsocketclient.c:1975,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1996,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2015,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:2007,1
    - Dst: connection_attempt_new
      Src: /src/glib/gio/gsocketclient.c:2021,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gsocketclient.c:2027,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:2029,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsocketclient.c:2032,1
    - Dst: g_slist_append
      Src: /src/glib/gio/gsocketclient.c:2034,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:2038,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/gsocketclient.c:1971,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1995,1
    - Dst: complete_connection_with_error
      Src: /src/glib/gio/gsocketclient.c:1996,1
    - Dst: enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:2017,1
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:2030,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gsocketclient.c:2033,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2041,1
    - Dst: g_socket_connection_set_cached_remote_address
      Src: /src/glib/gio/gsocketclient.c:2044,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2045,1
    - Dst: g_socket_connection_connect_async
      Src: /src/glib/gio/gsocketclient.c:2047,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1979,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1994,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:2016,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2004,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/gsocketclient.c:2026,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsocketclient.c:2033,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2038,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/gsocketclient.c:2040,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:2047,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1967,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1992,1
    - Dst: create_socket
      Src: /src/glib/gio/gsocketclient.c:2012,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gsocketclient.c:2025,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2000,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2030,1
    - Dst: connection_attempt_ref
      Src: /src/glib/gio/gsocketclient.c:2034,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:2036,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsocketclient.c:2040,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:2046,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2051
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 2051
    functionName: g_socket_client_enumerator_callback
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - task_completed_or_cancelled
    - enumerator_next_async
    - connection_attempt_ref
    - complete_connection_with_error
    - connection_attempt_new
    - g_steal_pointer
    - create_socket
    - G_IS_PROXY_ADDRESS
    - g_socket_client_emit_event
    - g_source_attach
    - g_task_get_cancellable
    - g_object_unref
    - G_SOCKET_CONNECTION
    - g_object_ref
    - G_UNLIKELY
    - g_socket_connection_set_cached_remote_address
    - g_cancellable_new
    - g_slist_append
    - G_CALLBACK
    - consider_tmp_error
    - G_PROXY_ADDRESS
    - g_socket_connection_factory_create_connection
    - g_socket_connection_connect_async
    - g_source_set_callback
    - g_socket_address_enumerator_next_finish
    - g_assert
    - g_cancellable_connect
    - g_debug
    - g_task_get_context
    - g_timeout_source_new
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:402,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - client
    - family
    argTypes:
    - GSocketClient*
    - GSocketFamily
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: g_socket_client_set_family
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_family (GSocketClient *client,\t\t\t GSocketFamily
      family) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:529,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:536,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:536,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - client
    - address
    argTypes:
    - GSocketClient*
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 537
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 537
    functionName: g_socket_client_set_local_address
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - g_object_ref
    - g_object_unref
    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:1351,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1357,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/gsocketclient.c:1355,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 5
    argNames:
    - client
    - host_and_port
    - default_port
    - cancellable
    - error
    argTypes:
    - GSocketClient*
    - gchar*
    - guint16
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1360
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1360
    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_socket_client_connect_finish
      Src: /src/glib/gio/gsocketclient.c:2322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - client
    - result
    - error
    argTypes:
    - GSocketClient*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2323
      start: 2317
    functionDepth: 0
    functionLinenumber: 2317
    functionLinenumberEnd: 2323
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/gsocketclient.c:260,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocketclient.c:273,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocketclient.c:277,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocketclient.c:269,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocketclient.c:265,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsocketclient.c:281,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocketclient.c:285,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocketclient.c:289,1
    - Dst: g_socket_client_get_tls
      Src: /src/glib/gio/gsocketclient.c:289,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocketclient.c:299,1
    - Dst: g_socket_client_get_proxy_resolver
      Src: /src/glib/gio/gsocketclient.c:299,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketclient.c:303,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 305
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 305
    functionName: g_socket_client_get_property
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_socket_client_get_tls
    - g_socket_client_get_proxy_resolver
    - g_value_set_uint
    - g_value_set_enum
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SOCKET_CLIENT
    - g_value_set_boolean
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 464
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 464
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:580,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - client
    - timeout
    argTypes:
    - GSocketClient*
    - guint
    constantsTouched: []
    func_position:
      end: 581
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 581
    functionName: g_socket_client_set_timeout
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_timeout (GSocketClient *client,\t\t\t guint
      timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketclient.c:791,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketclient.c:868,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:871,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocketclient.c:872,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocketclient.c:892,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:891,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:912,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:928,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocketclient.c:929,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:930,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:979,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:921,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketclient.c:858,1
    - Dst: I_
      Src: /src/glib/gio/gsocketclient.c:857,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:883,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:894,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:874,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:904,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:922,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:962,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsocketclient.c:867,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:881,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocketclient.c:882,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:910,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gsocketclient.c:911,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:913,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:931,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:959,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gsocketclient.c:960,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:977,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketclient.c:978,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsocketclient.c:857,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocketclient.c:860,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:873,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:884,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:893,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:901,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketclient.c:902,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:903,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:919,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocketclient.c:920,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:961,1
    - Dst: P_
      Src: /src/glib/gio/gsocketclient.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 67
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSocketClientClass*
    constantsTouched: []
    func_position:
      end: 985
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 985
    functionName: g_socket_client_class_init
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - P_
    - g_param_spec_object
    - I_
    - G_TYPE_FROM_CLASS
    - g_param_spec_boolean
    - g_signal_new
    - g_param_spec_uint
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_class_init (GSocketClientClass *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/gsocketclient.c:1449,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/gsocketclient.c:1453,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1455,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 5
    argNames:
    - client
    - uri
    - default_port
    - cancellable
    - error
    argTypes:
    - GSocketClient*
    - gchar*
    - guint16
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1458
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1458
    functionName: g_socket_client_connect_to_uri
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_network_address_parse_uri
    - g_object_unref
    - g_socket_client_connect
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1743,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1746,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketclient.c:1749,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1744,1
    - Dst: cancel_all_attempts
      Src: /src/glib/gio/gsocketclient.c:1748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - GSocketClientAsyncConnectData*
    - GError*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1750
    functionName: complete_connection_with_error
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_assert
    - cancel_all_attempts
    - g_debug
    - g_task_return_error
    - g_socket_client_emit_event
    linkageType: ''
    returnType: void
    signature: 'static void complete_connection_with_error (GSocketClientAsyncConnectData
      *data, GError *error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1882,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsocketclient.c:1889,1
    - Dst: connection_attempt_remove
      Src: /src/glib/gio/gsocketclient.c:1900,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1908,1
    - Dst: clarify_connect_error
      Src: /src/glib/gio/gsocketclient.c:1898,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1876,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gsocketclient.c:1879,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1881,1
    - Dst: task_completed_or_cancelled
      Src: /src/glib/gio/gsocketclient.c:1879,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1892,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1906,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1916,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1927,1
    - Dst: g_socket_connection_connect_finish
      Src: /src/glib/gio/gsocketclient.c:1892,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1907,1
    - Dst: try_next_connection_or_finish
      Src: /src/glib/gio/gsocketclient.c:1902,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1899,1
    - Dst: connection_attempt_remove
      Src: /src/glib/gio/gsocketclient.c:1926,1
    - Dst: g_slist_append
      Src: /src/glib/gio/gsocketclient.c:1927,1
    - Dst: try_next_connection_or_finish
      Src: /src/glib/gio/gsocketclient.c:1928,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gsocketclient.c:1888,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gsocketclient.c:1895,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1897,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1901,1
    - Dst: g_socket_connection_set_cached_remote_address
      Src: /src/glib/gio/gsocketclient.c:1914,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1915,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gsocketclient.c:1919,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1929
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1929
    functionName: g_socket_client_connected_callback
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - task_completed_or_cancelled
    - g_clear_pointer
    - g_clear_error
    - g_steal_pointer
    - g_socket_connection_connect_finish
    - g_socket_client_emit_event
    - g_source_destroy
    - g_object_unref
    - G_SOCKET_CONNECTION
    - clarify_connect_error
    - g_socket_connection_set_cached_remote_address
    - connection_attempt_remove
    - g_cancellable_is_cancelled
    - g_slist_append
    - g_socket_set_blocking
    - consider_tmp_error
    - connection_attempt_unref
    - g_debug
    - try_next_connection_or_finish
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/gsocketclient.c:313,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocketclient.c:318,1
    - Dst: g_socket_client_set_family
      Src: /src/glib/gio/gsocketclient.c:318,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocketclient.c:322,1
    - Dst: g_socket_client_set_socket_type
      Src: /src/glib/gio/gsocketclient.c:322,1
    - Dst: g_socket_client_set_protocol
      Src: /src/glib/gio/gsocketclient.c:326,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocketclient.c:326,1
    - Dst: g_socket_client_set_local_address
      Src: /src/glib/gio/gsocketclient.c:330,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gsocketclient.c:330,1
    - Dst: g_socket_client_set_timeout
      Src: /src/glib/gio/gsocketclient.c:334,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gsocketclient.c:334,1
    - Dst: g_socket_client_set_enable_proxy
      Src: /src/glib/gio/gsocketclient.c:338,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocketclient.c:342,1
    - Dst: g_socket_client_set_proxy_resolver
      Src: /src/glib/gio/gsocketclient.c:352,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gsocketclient.c:352,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocketclient.c:338,1
    - Dst: g_socket_client_set_tls
      Src: /src/glib/gio/gsocketclient.c:342,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketclient.c:356,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 358
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 358
    functionName: g_socket_client_set_property
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_socket_client_set_socket_type
    - g_socket_client_set_timeout
    - g_socket_client_set_tls
    - g_socket_client_set_family
    - g_socket_client_set_local_address
    - g_value_get_enum
    - g_value_get_uint
    - g_socket_client_set_enable_proxy
    - g_socket_client_set_proxy_resolver
    - g_value_get_object
    - g_socket_client_set_protocol
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SOCKET_CLIENT
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketclient.c:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - client
    - event
    - connectable
    - connection
    argTypes:
    - GSocketClient*
    - GSocketClientEvent
    - GSocketConnectable*
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 995
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 995
    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_new0
      Src: /src/glib/gio/gsocketclient.c:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1024
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1024
    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_object_ref
      Src: /src/glib/gio/gsocketclient.c:1632,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1636,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1635,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:1637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - data
    - add_task_ref
    argTypes:
    - GSocketClientAsyncConnectData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1641
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1641
    functionName: enumerator_next_async
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_object_ref
    - g_socket_client_emit_event
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void enumerator_next_async (GSocketClientAsyncConnectData *data,
      gboolean add_task_ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:1756,1
    - Dst: complete_connection_with_error
      Src: /src/glib/gio/gsocketclient.c:1763,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1763,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocketclient.c:1761,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - GSocketClientAsyncConnectData*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1768
    functionName: task_completed_or_cancelled
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - g_steal_pointer
    - g_task_get_cancellable
    - complete_connection_with_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean task_completed_or_cancelled (GSocketClientAsyncConnectData
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1938,1
    - Dst: enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:1939,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsocketclient.c:1942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1944
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1944
    functionName: on_connection_attempt_timeout
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_debug
    - enumerator_next_async
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_connection_attempt_timeout (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:445,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - client
    - type
    argTypes:
    - GSocketClient*
    - GSocketType
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: g_socket_client_set_socket_type
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    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: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    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_network_service_new
      Src: /src/glib/gio/gsocketclient.c:1397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1400,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/gsocketclient.c:1398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 5
    argNames:
    - client
    - domain
    - service
    - cancellable
    - error
    argTypes:
    - GSocketClient*
    - gchar*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1403
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1403
    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:138,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocketclient.c:152,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketclient.c:155,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketclient.c:142,1
    - Dst: g_socket_address_get_family
      Src: /src/glib/gio/gsocketclient.c:140,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:160,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/gsocketclient.c:166,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 3
    argNames:
    - client
    - dest_address
    - error
    argTypes:
    - GSocketClient*
    - GSocketAddress*
    - GError**
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: create_socket
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_socket_bind
    - g_socket_address_get_family
    - g_object_unref
    - g_socket_set_option
    - g_socket_new
    - g_socket_set_timeout
    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:188,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gsocketclient.c:190,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/gsocketclient.c:197,1
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gsocketclient.c:199,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocketclient.c:208,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:206,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:192,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gsocketclient.c:198,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gsocketclient.c:201,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:201,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:190,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gsocketclient.c:190,1
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:197,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocketclient.c:206,1
    - Dst: g_network_service_get_domain
      Src: /src/glib/gio/gsocketclient.c:199,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketclient.c:211,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocketclient.c:192,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:196,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:200,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gsocketclient.c:201,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:208,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - error
    - connectable
    - address
    argTypes:
    - GError*
    - GSocketConnectable*
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 212
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 212
    functionName: clarify_connect_error
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_network_service_get_domain
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_address_to_string
    - _
    - g_free
    - g_inet_socket_address_get_address
    - G_NETWORK_ADDRESS
    - G_NETWORK_SERVICE
    - g_prefix_error
    - G_IS_PROXY_ADDRESS
    - G_IS_NETWORK_ADDRESS
    - g_network_address_get_hostname
    - G_IS_NETWORK_SERVICE
    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:677,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - client
    - tls
    argTypes:
    - GSocketClient*
    - gboolean
    constantsTouched: []
    func_position:
      end: 678
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 678
    functionName: g_socket_client_set_tls
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    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: 701
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 701
    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:780,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - client
    - proxy_resolver
    argTypes:
    - GSocketClient*
    - GProxyResolver*
    constantsTouched: []
    func_position:
      end: 786
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 786
    functionName: g_socket_client_set_proxy_resolver
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'void g_socket_client_set_proxy_resolver (GSocketClient *client, GProxyResolver
      *proxy_resolver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_count_dec
      Src: /src/glib/gio/gsocketclient.c:1536,1
    - Dst: g_cancellable_disconnect
      Src: /src/glib/gio/gsocketclient.c:1541,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1538,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1540,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1539,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1542,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1544,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1545,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gsocketclient.c:1548,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocketclient.c:1549,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketclient.c:1551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1553
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1553
    functionName: connection_attempt_unref
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_cancellable_disconnect
    - g_free
    - g_clear_object
    - g_ref_count_dec
    - g_source_unref
    - g_source_destroy
    linkageType: ''
    returnType: void
    signature: 'static void connection_attempt_unref (gpointer pointer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_async_connect_complete
      Src: /src/glib/gio/gsocketclient.c:1683,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1698,1
    - Dst: g_tls_connection_handshake_async
      Src: /src/glib/gio/gsocketclient.c:1698,1
    - Dst: g_tls_client_connection_new
      Src: /src/glib/gio/gsocketclient.c:1688,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1687,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:1700,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1706,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: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - attempt
    argTypes:
    - ConnectionAttempt*
    constantsTouched: []
    func_position:
      end: 1711
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1711
    functionName: g_socket_client_tls_handshake
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_tls_client_connection_new
    - G_TLS_CONNECTION
    - g_socket_client_async_connect_complete
    - g_tls_connection_handshake_async
    - g_debug
    - try_next_connection_or_finish
    - consider_tmp_error
    - connection_attempt_unref
    - g_task_get_cancellable
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_tls_handshake (ConnectionAttempt *attempt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1782,1
    - Dst: g_socket_client_tls_handshake
      Src: /src/glib/gio/gsocketclient.c:1790,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1786,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:1826,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1780,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gsocketclient.c:1783,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocketclient.c:1804,1
    - Dst: g_socket_client_async_connect_complete
      Src: /src/glib/gio/gsocketclient.c:1813,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:1806,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1829,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:1835,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1837,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsocketclient.c:1841,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1790,1
    - Dst: G_IS_TCP_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1799,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gsocketclient.c:1809,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocketclient.c:1834,1
    - Dst: g_proxy_address_get_protocol
      Src: /src/glib/gio/gsocketclient.c:1794,1
    - Dst: g_critical
      Src: /src/glib/gio/gsocketclient.c:1801,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1821,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1822,1
    - Dst: g_proxy_connect_async
      Src: /src/glib/gio/gsocketclient.c:1823,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1807,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1813,1
    - Dst: g_proxy_get_default_for_protocol
      Src: /src/glib/gio/gsocketclient.c:1816,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1828,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - data
    argTypes:
    - GSocketClientAsyncConnectData*
    constantsTouched: []
    func_position:
      end: 1843
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1843
    functionName: try_next_successful_connection
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - _
    - g_socket_client_async_connect_complete
    - g_clear_pointer
    - g_steal_pointer
    - g_socket_client_emit_event
    - g_task_get_cancellable
    - g_object_unref
    - g_proxy_connect_async
    - g_set_error_literal
    - g_slist_remove
    - g_socket_client_tls_handshake
    - g_critical
    - consider_tmp_error
    - g_set_error
    - G_IS_TCP_CONNECTION
    - g_assert
    - g_debug
    - g_proxy_get_default_for_protocol
    - g_proxy_address_get_protocol
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean try_next_successful_connection (GSocketClientAsyncConnectData
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_get_instance_private
      Src: /src/glib/gio/gsocketclient.c:217,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsocketclient.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    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: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    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_slist_remove
      Src: /src/glib/gio/gsocketclient.c:1558,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - attempt
    argTypes:
    - ConnectionAttempt*
    constantsTouched: []
    func_position:
      end: 1560
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1560
    functionName: connection_attempt_remove
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - connection_attempt_unref
    - g_slist_remove
    linkageType: ''
    returnType: void
    signature: 'static void connection_attempt_remove (ConnectionAttempt *attempt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1721,1
    - Dst: g_socket_client_tls_handshake
      Src: /src/glib/gio/gsocketclient.c:1728,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1727,1
    - Dst: g_proxy_connect_finish
      Src: /src/glib/gio/gsocketclient.c:1722,1
    - Dst: G_PROXY
      Src: /src/glib/gio/gsocketclient.c:1722,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1732,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1734,1
    - Dst: try_next_connection_or_finish
      Src: /src/glib/gio/gsocketclient.c:1735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1737
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1737
    functionName: g_socket_client_proxy_connect_callback
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_PROXY
    - g_socket_client_tls_handshake
    - g_object_unref
    - g_proxy_connect_finish
    - try_next_connection_or_finish
    - consider_tmp_error
    - connection_attempt_unref
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: try_next_successful_connection
      Src: /src/glib/gio/gsocketclient.c:1858,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1868,1
    - Dst: complete_connection_with_error
      Src: /src/glib/gio/gsocketclient.c:1868,1
    - Dst: enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:1864,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - data
    - end_current_connection
    argTypes:
    - GSocketClientAsyncConnectData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1869
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1869
    functionName: try_next_connection_or_finish
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2091,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsocketclient.c:2089,1
    - Dst: g_object_set
      Src: /src/glib/gio/gsocketclient.c:2100,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gsocketclient.c:2141,1
    - Dst: G_IS_SOCKET_CLIENT
      Src: /src/glib/gio/gsocketclient.c:2087,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gsocketclient.c:2106,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2148,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2151,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketclient.c:2087,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gsocketclient.c:2096,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/gsocketclient.c:2150,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketclient.c:2140,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketclient.c:2142,1
    - Dst: socket_client_error_info_new
      Src: /src/glib/gio/gsocketclient.c:2092,1
    - Dst: can_use_proxy
      Src: /src/glib/gio/gsocketclient.c:2094,1
    - Dst: G_IS_PROXY_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketclient.c:2098,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:2100,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsocketclient.c:2143,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gsocketclient.c:2145,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsocketclient.c:2150,1
    - Dst: enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:2154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - client
    - connectable
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketClient*
    - GSocketConnectable*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2155
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2155
    functionName: g_socket_client_connect_async
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_slice_new0
    - enumerator_next_async
    - g_task_set_source_tag
    - G_IS_PROXY_ADDRESS_ENUMERATOR
    - g_socket_connectable_proxy_enumerate
    - g_task_set_check_cancellable
    - can_use_proxy
    - socket_client_error_info_new
    - g_socket_connectable_enumerate
    - g_object_ref
    - G_IS_SOCKET_CLIENT
    - g_object_set
    - g_cancellable_new
    - G_CALLBACK
    - g_task_set_task_data
    - g_task_new
    - g_cancellable_connect
    - g_return_if_fail
    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_hash_table_add
      Src: /src/glib/gio/gsocketclient.c:2396,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsocketclient.c:2396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - client
    - protocol
    argTypes:
    - GSocketClient*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2397
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2397
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:488,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - client
    - protocol
    argTypes:
    - GSocketClient*
    - GSocketProtocol
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 489
    functionName: g_socket_client_set_protocol
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    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:622,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - client
    - enable
    argTypes:
    - GSocketClient*
    - gboolean
    constantsTouched: []
    func_position:
      end: 623
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 623
    functionName: g_socket_client_set_enable_proxy
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    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: 640
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 640
    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:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 750
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_parse
      Src: /src/glib/gio/gsocketclient.c:2186,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gsocketclient.c:2190,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2199,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/gsocketclient.c:2196,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: 2201
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2201
    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:2364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - client
    - result
    - error
    argTypes:
    - GSocketClient*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2365
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2365
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_PROXY_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketclient.c:1110,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:1112,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocketclient.c:1130,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1141,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gsocketclient.c:1139,1
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:1187,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1230,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:1235,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1248,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1272,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocketclient.c:1234,1
    - Dst: g_tcp_wrapper_connection_new
      Src: /src/glib/gio/gsocketclient.c:1280,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1238,1
    - Dst: socket_client_error_info_free
      Src: /src/glib/gio/gsocketclient.c:1292,1
    - Dst: G_IS_TCP_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1288,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1225,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1265,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:1156,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/gsocketclient.c:1167,1
    - Dst: g_socket_connection_set_cached_remote_address
      Src: /src/glib/gio/gsocketclient.c:1168,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1175,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1180,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1181,1
    - Dst: g_proxy_get_default_for_protocol
      Src: /src/glib/gio/gsocketclient.c:1213,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1217,1
    - Dst: g_proxy_connect
      Src: /src/glib/gio/gsocketclient.c:1218,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1223,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1281,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1294,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1227,1
    - Dst: g_tls_connection_handshake
      Src: /src/glib/gio/gsocketclient.c:1258,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1286,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1291,1
    - Dst: socket_client_error_info_new
      Src: /src/glib/gio/gsocketclient.c:1104,1
    - Dst: can_use_proxy
      Src: /src/glib/gio/gsocketclient.c:1106,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gsocketclient.c:1108,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gsocketclient.c:1118,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gsocketclient.c:1127,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1163,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1160,1
    - Dst: create_socket
      Src: /src/glib/gio/gsocketclient.c:1159,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1169,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1171,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:1203,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1261,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1266,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocketclient.c:1291,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gsocketclient.c:1209,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1258,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1206,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1276,1
    - Dst: g_object_set
      Src: /src/glib/gio/gsocketclient.c:1112,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1129,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1144,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1152,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1136,1
    - Dst: g_socket_connection_connect
      Src: /src/glib/gio/gsocketclient.c:1171,1
    - Dst: g_socket_connection_set_cached_remote_address
      Src: /src/glib/gio/gsocketclient.c:1174,1
    - Dst: clarify_connect_error
      Src: /src/glib/gio/gsocketclient.c:1179,1
    - Dst: g_critical
      Src: /src/glib/gio/gsocketclient.c:1198,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1204,1
    - Dst: g_tls_client_connection_new
      Src: /src/glib/gio/gsocketclient.c:1247,1
    - Dst: g_proxy_address_get_protocol
      Src: /src/glib/gio/gsocketclient.c:1191,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1285,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1295,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1237,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocketclient.c:1201,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 127
    argCount: 4
    argNames:
    - client
    - connectable
    - cancellable
    - error
    argTypes:
    - GSocketClient*
    - GSocketConnectable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1296
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1296
    functionName: g_socket_client_connect
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - _
    - G_TLS_CONNECTION
    - socket_client_error_info_free
    - g_clear_error
    - g_steal_pointer
    - create_socket
    - G_IS_PROXY_ADDRESS
    - g_propagate_error
    - g_socket_client_emit_event
    - g_hash_table_contains
    - g_tls_client_connection_new
    - g_proxy_connect
    - G_IS_PROXY_ADDRESS_ENUMERATOR
    - g_socket_connectable_proxy_enumerate
    - g_object_unref
    - g_tcp_wrapper_connection_new
    - G_IS_SOCKET_CONNECTION
    - G_SOCKET_CONNECTION
    - can_use_proxy
    - g_tls_connection_handshake
    - socket_client_error_info_new
    - g_socket_connectable_enumerate
    - g_set_error_literal
    - clarify_connect_error
    - g_socket_connection_set_cached_remote_address
    - g_socket_address_enumerator_next
    - g_object_set
    - g_cancellable_is_cancelled
    - g_critical
    - consider_tmp_error
    - g_socket_connection_factory_create_connection
    - G_PROXY_ADDRESS
    - g_set_error
    - g_assert
    - g_socket_connection_connect
    - g_cancellable_set_error_if_cancelled
    - g_proxy_get_default_for_protocol
    - g_proxy_address_get_protocol
    - G_IS_TCP_CONNECTION
    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:1487,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1493,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1491,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1488,1
    - Dst: g_cancellable_disconnect
      Src: /src/glib/gio/gsocketclient.c:1490,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsocketclient.c:1495,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsocketclient.c:1496,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsocketclient.c:1498,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsocketclient.c:1500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - GSocketClientAsyncConnectData*
    constantsTouched: []
    func_position:
      end: 1501
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1501
    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_slist_free_full
    - g_slice_free
    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:1567,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketclient.c:1570,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsocketclient.c:1576,1
    - Dst: g_slist_free
      Src: /src/glib/gio/gsocketclient.c:1573,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1571,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketclient.c:1579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - GSocketClientAsyncConnectData*
    constantsTouched: []
    func_position:
      end: 1580
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1580
    functionName: cancel_all_attempts
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - g_cancellable_cancel
    - g_slist_next
    - g_slist_free
    - connection_attempt_unref
    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:2263,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2276,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2272,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gsocketclient.c:2266,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/gsocketclient.c:2273,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: 2278
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2278
    functionName: g_socket_client_connect_to_uri_async
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_network_address_parse_uri
    - g_socket_client_connect_async
    - g_task_report_error
    - g_object_unref
    - g_debug
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketclient.c:2299,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketclient.c:2301,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsocketclient.c:2299,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsocketclient.c:2301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - client
    - result
    - error
    argTypes:
    - GSocketClient*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2302
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2302
    functionName: g_socket_client_connect_finish
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_client_connect_finish (GSocketClient *client,\t\t\t\tGAsyncResult
      *result,\t\t\t\tGError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1587,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1595,1
    - Dst: g_tcp_wrapper_connection_new
      Src: /src/glib/gio/gsocketclient.c:1594,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1588,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1590,1
    - Dst: cancel_all_attempts
      Src: /src/glib/gio/gsocketclient.c:1600,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocketclient.c:1602,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:1602,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1604,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1605,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1611,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsocketclient.c:1612,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketclient.c:1606,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1615,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1610,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1612,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1606,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - attempt
    argTypes:
    - ConnectionAttempt*
    constantsTouched: []
    func_position:
      end: 1617
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1617
    functionName: g_socket_client_async_connect_complete
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_socket_client_emit_event
    - g_assert
    - cancel_all_attempts
    - g_tcp_wrapper_connection_new
    - g_object_unref
    - G_IS_SOCKET_CONNECTION
    - g_cancellable_set_error_if_cancelled
    - g_debug
    - g_steal_pointer
    - g_task_return_pointer
    - g_task_return_error
    - connection_attempt_unref
    - g_task_get_cancellable
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_async_connect_complete (ConnectionAttempt
      *attempt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:726,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - client
    - flags
    argTypes:
    - GSocketClient*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 728
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 728
    functionName: g_socket_client_set_tls_validation_flags
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    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_network_service_new
      Src: /src/glib/gio/gsocketclient.c:2227,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/gsocketclient.c:2228,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2231,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: 2232
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2232
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:79,1
    - Dst: g_iconv_close
      Src: /src/glib/gio/gcharsetconverter.c:84,1
    - Dst: g_free
      Src: /src/glib/gio/gcharsetconverter.c:82,1
    - Dst: g_free
      Src: /src/glib/gio/gcharsetconverter.c:81,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcharsetconverter.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 87
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcharsetconverter.c:155,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gcharsetconverter.c:161,1
    - Dst: P_
      Src: /src/glib/gio/gcharsetconverter.c:165,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gcharsetconverter.c:163,1
    - Dst: P_
      Src: /src/glib/gio/gcharsetconverter.c:164,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gcharsetconverter.c:169,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gcharsetconverter.c:171,1
    - Dst: P_
      Src: /src/glib/gio/gcharsetconverter.c:172,1
    - Dst: P_
      Src: /src/glib/gio/gcharsetconverter.c:173,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gcharsetconverter.c:177,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gcharsetconverter.c:179,1
    - Dst: P_
      Src: /src/glib/gio/gcharsetconverter.c:180,1
    - Dst: P_
      Src: /src/glib/gio/gcharsetconverter.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GCharsetConverterClass*
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: g_charset_converter_class_init
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_boolean
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_charset_converter_class_init (GCharsetConverterClass
      *klass) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:97,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gcharsetconverter.c:103,1
    - Dst: g_free
      Src: /src/glib/gio/gcharsetconverter.c:102,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gcharsetconverter.c:108,1
    - Dst: g_free
      Src: /src/glib/gio/gcharsetconverter.c:107,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gcharsetconverter.c:112,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gcharsetconverter.c:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 120
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 120
    functionName: g_charset_converter_set_property
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_free
    - G_CHARSET_CONVERTER
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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_initable_new
      Src: /src/glib/gio/gcharsetconverter.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - to_charset
    - from_charset
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 220
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 220
    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:388,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gcharsetconverter.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - converter
    - use_fallback
    argTypes:
    - GCharsetConverter*
    - gboolean
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: g_charset_converter_set_use_fallback
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    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: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    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: 429
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 429
    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:130,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gcharsetconverter.c:135,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gcharsetconverter.c:147,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gcharsetconverter.c:143,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gcharsetconverter.c:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: g_charset_converter_get_property
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - G_CHARSET_CONVERTER
    - g_value_set_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    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: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    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:225,1
    - Dst: g_iconv
      Src: /src/glib/gio/gcharsetconverter.c:233,1
    - Dst: g_warning
      Src: /src/glib/gio/gcharsetconverter.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: g_charset_converter_reset
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - g_iconv
    - G_CHARSET_CONVERTER
    - g_warning
    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:439,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:446,1
    - Dst: G_IS_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:439,1
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:441,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:445,1
    - Dst: g_iconv_open
      Src: /src/glib/gio/gcharsetconverter.c:450,1
    - Dst: g_set_error
      Src: /src/glib/gio/gcharsetconverter.c:456,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:457,1
    - Dst: g_set_error
      Src: /src/glib/gio/gcharsetconverter.c:460,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:461,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 467
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 467
    functionName: g_charset_converter_initable_init
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - G_IS_CHARSET_CONVERTER
    - g_iconv_open
    - G_CHARSET_CONVERTER
    - g_set_error_literal
    - g_return_val_if_fail
    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: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:256,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:261,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:282,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:260,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:281,1
    - Dst: g_iconv
      Src: /src/glib/gio/gcharsetconverter.c:289,1
    - Dst: g_iconv
      Src: /src/glib/gio/gcharsetconverter.c:293,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:309,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:310,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:315,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:316,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:324,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:342,1
    - Dst: g_set_error
      Src: /src/glib/gio/gcharsetconverter.c:347,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:348,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:343,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:325,1
    - Dst: g_strerror
      Src: /src/glib/gio/gcharsetconverter.c:349,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: 368
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 368
    functionName: g_charset_converter_convert
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - G_CHARSET_CONVERTER
    - g_iconv
    - 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: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    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: g_object_unref
      Src: /src/glib/gio/glocalfilemonitor.c:129,1
    - Dst: g_slice_free
      Src: /src/glib/gio/glocalfilemonitor.c:133,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfilemonitor.c:131,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_file_monitor_source_get_ready_time
    - g_source_set_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_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: 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: memset
      Src: /src/glib/gio/glocalfilemonitor.c:568,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/glocalfilemonitor.c:572,1
    - Dst: g_clear_object
      Src: /src/glib/gio/glocalfilemonitor.c:583,1
    - 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_file_monitor_source_update_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:570,1
    - Dst: g_clear_object
      Src: /src/glib/gio/glocalfilemonitor.c:573,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
    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:
    - pending_change_get_ready_time
    - memcpy
    - g_sequence_sort_changed
    - g_sequence_get
    - g_file_monitor_source_remove_pending_change
    - g_file_monitor_source_queue_event
    - g_queue_pop_head
    - g_file_monitor_source_update_ready_time
    - g_clear_object
    - g_sequence_get_begin_iter
    - queued_event_free
    - memset
    - g_weak_ref_get
    - g_mutex_unlock
    - g_file_monitor_emit_event
    - g_sequence_is_empty
    - g_source_get_time
    - g_mutex_lock
    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_iter_is_end
    - g_sequence_get
    - g_sequence_get_begin_iter
    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: 2
    argNames:
    - fms
    - child
    argTypes:
    - GFileMonitorSource*
    - gchar*
    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:328,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:329,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_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
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/glocalfilemonitor.c:506,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_mutex_unlock
    - g_file_monitor_source_update_ready_time
    - 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_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_hash_table_iter_next
      Src: /src/glib/gio/glocalfilemonitor.c:600,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_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
    - 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_source_destroy
      Src: /src/glib/gio/glocalfilemonitor.c:616,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:611,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_queue_pop_head
    - g_assert
    - g_hash_table_size
    - g_file_monitor_source_update_ready_time
    - g_mutex_lock
    - g_hash_table_iter_next
    - queued_event_free
    - g_hash_table_iter_init
    - g_mutex_unlock
    - g_sequence_is_empty
    - g_weak_ref_set
    - g_source_destroy
    - g_sequence_remove
    - g_hash_table_iter_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_dispose (GFileMonitorSource *fms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_at
      Src: /src/glib/gio/glocalfilemonitor.c:755,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:767,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/glocalfilemonitor.c:760,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/glocalfilemonitor.c:766,1
    - Dst: g_file_monitor_emit_event
      Src: /src/glib/gio/glocalfilemonitor.c:767,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_MONITOR
    - g_file_new_for_path
    - g_unix_mount_at
    - g_object_unref
    - g_file_monitor_emit_event
    - g_unix_mount_free
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_monitor_mounts_changed (GUnixMountMonitor
      *mount_monitor, gpointer user_data) '
  - 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_set_error_literal
      Src: /src/glib/gio/glocalfilemonitor.c:880,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_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: 3
    argNames:
    - is_remote_fs
    - is_directory
    - error
    argTypes:
    - gboolean
    - gboolean
    - GError**
    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_object_new
    - G_STRUCT_OFFSET
    - _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
    - g_object_class_override_property
    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_local_file_monitor_new
      Src: /src/glib/gio/glocalfilemonitor.c:899,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
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pathname
    - is_directory
    - flags
    - error
    argTypes:
    - gchar*
    - gboolean
    - GFileMonitorFlags
    - GError**
    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_FILE_MONITOR
    - g_local_file_monitor_start
    - g_local_file_is_nfs_home
    - g_local_file_monitor_new
    - g_main_context_get_thread_default
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'GFileMonitor *g_local_file_monitor_new_for_path (const gchar *pathname,
      gboolean is_directory, GFileMonitorFlags flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:627,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:630,1
    - Dst: g_weak_ref_get
      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_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:639,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/glocalfilemonitor.c:641,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfilemonitor.c:637,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_sequence_free
    - g_hash_table_unref
    - g_free
    - g_assert
    - g_hash_table_size
    - g_weak_ref_get
    - g_mutex_clear
    - g_sequence_is_empty
    - g_weak_ref_clear
    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_file_monitor_source_dispose
      Src: /src/glib/gio/glocalfilemonitor.c:828,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfilemonitor.c:830,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_OBJECT_CLASS
    - g_source_unref
    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_hash_table_insert
      Src: /src/glib/gio/glocalfilemonitor.c:178,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfilemonitor.c:173,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/gio/glocalfilemonitor.c:177,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_strdup
    - g_hash_table_insert
    - g_sequence_insert_sorted
    - g_slice_new
    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_free
      Src: /src/glib/gio/glocalfilemonitor.c:239,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_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_local_file_new_from_dirname_and_basename
    - _g_local_file_new
    - g_object_ref
    - g_free
    - g_path_get_dirname
    - g_slice_new
    - g_queue_push_tail
    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_remove_pending_change
      Src: /src/glib/gio/glocalfilemonitor.c:293,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:290,1
    - Dst: g_file_monitor_source_get_pending_change_dirty
      Src: /src/glib/gio/glocalfilemonitor.c:289,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:292,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_find_pending_change
    - g_file_monitor_source_get_pending_change_dirty
    - g_file_monitor_source_remove_pending_change
    - g_file_monitor_source_queue_event
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_file_changes_done (GFileMonitorSource
      *fms, const gchar *child) '
  - 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: is_basename
      Src: /src/glib/gio/glocalfilemonitor.c:354,1
    - Dst: is_basename
      Src: /src/glib/gio/glocalfilemonitor.c:353,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_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
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:457,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_assert
      Src: /src/glib/gio/glocalfilemonitor.c:393,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:403,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:398,1
    - Dst: g_file_monitor_source_file_created
      Src: /src/glib/gio/glocalfilemonitor.c:389,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_path_get_dirname
      Src: /src/glib/gio/glocalfilemonitor.c:435,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_assert
      Src: /src/glib/gio/glocalfilemonitor.c:353,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:411,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:421,1
    - Dst: g_file_monitor_source_send_event
      Src: /src/glib/gio/glocalfilemonitor.c:441,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/glocalfilemonitor.c:464,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/glocalfilemonitor.c:469,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_str_equal
    - g_file_monitor_source_file_changed
    - g_local_file_new_from_dirname_and_basename
    - g_free
    - g_assert
    - g_file_monitor_source_update_ready_time
    - g_assert_not_reached
    - g_source_is_destroyed
    - g_object_unref
    - g_file_monitor_source_file_changes_done
    - g_file_monitor_source_send_synthetic_created
    - is_basename
    - g_mutex_unlock
    - g_path_get_dirname
    - g_file_monitor_source_file_created
    - g_file_monitor_source_send_event
    - g_mutex_lock
    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_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_LOCAL_FILE_MONITOR
    - g_value_set_int
    - g_file_monitor_source_get_rate_limit
    - g_assert
    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_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_set_pending_change_dirty
      Src: /src/glib/gio/glocalfilemonitor.c:272,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_find_pending_change
    - g_file_monitor_source_update_ready_time
    - g_file_monitor_source_add_pending_change
    - g_file_monitor_source_set_pending_change_dirty
    - g_file_monitor_source_queue_event
    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_sequence_new
      Src: /src/glib/gio/glocalfilemonitor.c:679,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/glocalfilemonitor.c:675,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/glocalfilemonitor.c:678,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/glocalfilemonitor.c:677,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: 4
    argNames:
    - instance
    - filename
    - is_directory
    - flags
    argTypes:
    - gpointer
    - gchar*
    - gboolean
    - GFileMonitorFlags
    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_strdup
    - g_path_get_basename
    - g_source_set_static_name
    - g_sequence_new
    - g_weak_ref_init
    - g_path_get_dirname
    - g_hash_table_new
    - g_mutex_init
    - g_source_new
    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_file_monitor_source_set_rate_limit
      Src: /src/glib/gio/glocalfilemonitor.c:740,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
    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_value_get_int
    - g_assert
    - g_file_monitor_source_set_rate_limit
    - G_LOCAL_FILE_MONITOR
    - g_object_notify
    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_IS_LOCAL_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:785,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/glocalfilemonitor.c:785,1
    - Dst: g_file_monitor_source_new
      Src: /src/glib/gio/glocalfilemonitor.c:789,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:787,1
    - Dst: g_unix_mount_at
      Src: /src/glib/gio/glocalfilemonitor.c:802,1
    - Dst: g_unix_mount_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_LOCAL_FILE_MONITOR_GET_CLASS
      Src: /src/glib/gio/glocalfilemonitor.c:818,1
    - Dst: g_source_attach
      Src: /src/glib/gio/glocalfilemonitor.c:816,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_unix_mount_monitor_get
    - g_source_attach
    - g_assert
    - g_unix_mount_at
    - g_signal_connect_object
    - G_CALLBACK
    - G_LOCAL_FILE_MONITOR_GET_CLASS
    - g_file_monitor_source_new
    - g_unix_mount_free
    - G_IS_LOCAL_FILE_MONITOR
    - g_return_if_fail
    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_local_file_monitor_start
      Src: /src/glib/gio/glocalfilemonitor.c:929,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/glocalfilemonitor.c:926,1
    - Dst: g_local_file_monitor_new
      Src: /src/glib/gio/glocalfilemonitor.c:921,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/glocalfilemonitor.c:926,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: 7
    argNames:
    - pathname
    - is_directory
    - flags
    - callback
    - user_data
    - destroy_user_data
    - error
    argTypes:
    - gchar*
    - gboolean
    - GFileMonitorFlags
    - GFileMonitorCallback
    - gpointer
    - GClosureNotify
    - GError**
    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_FILE_MONITOR
    - g_signal_connect_data
    - GLIB_PRIVATE_CALL
    - g_local_file_monitor_start
    - G_CALLBACK
    - g_local_file_is_nfs_home
    - g_local_file_monitor_new
    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: 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_IS_POWER_PROFILE_MONITOR
    - G_POWER_PROFILE_MONITOR_GET_INTERFACE
    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:131,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
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/thumbnail-verify.c:146,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:
    - GUINT32_FROM_BE
    - memcmp
    - check_png_info_chunk
    - memcpy
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_thumbnail_validity (ExpectedInfo *expected_info,
      const gchar *contents, gsize size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_stat_mtime
      Src: /src/glib/gio/thumbnail-verify.c:239,1
    - Dst: check_thumbnail_validity
      Src: /src/glib/gio/thumbnail-verify.c:246,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/gio/thumbnail-verify.c:247,1
    - Dst: _g_stat_size
      Src: /src/glib/gio/thumbnail-verify.c:241,1
    - Dst: g_mapped_file_new
      Src: /src/glib/gio/thumbnail-verify.c:243,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:
    - _g_stat_size
    - g_mapped_file_unref
    - g_mapped_file_new
    - g_mapped_file_get_contents
    - _g_stat_mtime
    - g_mapped_file_get_length
    - check_thumbnail_validity
    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:84,1
    - Dst: strlen
      Src: /src/glib/gio/thumbnail-verify.c:88,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: 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:
    - strlen
    - memcmp
    - check_integer_match
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSocketConnectableInterface*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    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:113,1
    - Dst: G_SOCKET_CONNECTABLE_GET_IFACE
      Src: /src/glib/gio/gsocketconnectable.c:115,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gsocketconnectable.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    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:172,1
    - Dst: G_SOCKET_CONNECTABLE_GET_IFACE
      Src: /src/glib/gio/gsocketconnectable.c:174,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gsocketconnectable.c:172,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsocketconnectable.c:179,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsocketconnectable.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: g_socket_connectable_to_string
    functionSourceFile: /src/glib/gio/gsocketconnectable.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTABLE
    - g_strdup
    - G_SOCKET_CONNECTABLE_GET_IFACE
    - G_OBJECT_TYPE_NAME
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_socket_connectable_to_string (GSocketConnectable *connectable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnectable.c:141,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gsocketconnectable.c:141,1
    - Dst: G_SOCKET_CONNECTABLE_GET_IFACE
      Src: /src/glib/gio/gsocketconnectable.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GRemoteActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    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:141,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: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    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:
    - Dst: G_REMOTE_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gremoteactiongroup.c:112,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: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    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_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:109,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:111,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:112,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:113,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkaddress.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkaddress.c:915,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:921,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:919,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gnetworkaddress.c:919,1
    - Dst: init_and_query_next_address
      Src: /src/glib/gio/gnetworkaddress.c:918,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - addr_enum
    - task
    - error
    argTypes:
    - GNetworkAddressAddressEnumerator*
    - GTask*
    - GError*
    constantsTouched: []
    func_position:
      end: 922
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 922
    functionName: complete_queued_task
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - init_and_query_next_address
    - g_object_unref
    - g_task_return_pointer
    - g_steal_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_resolver_get_default
      Src: /src/glib/gio/gnetworkaddress.c:1072,1
    - Dst: g_network_address_parse_sockaddr
      Src: /src/glib/gio/gnetworkaddress.c:1085,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:1086,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:1107,1
    - Dst: G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkaddress.c:1062,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:1079,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:1111,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gnetworkaddress.c:1067,1
    - Dst: g_task_new
      Src: /src/glib/gio/gnetworkaddress.c:1066,1
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:1091,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:1100,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1122,1
    - Dst: g_resolver_lookup_by_name_with_flags_async
      Src: /src/glib/gio/gnetworkaddress.c:1096,1
    - Dst: g_resolver_get_serial
      Src: /src/glib/gio/gnetworkaddress.c:1073,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1094,1
    - Dst: g_resolver_lookup_by_name_with_flags_async
      Src: /src/glib/gio/gnetworkaddress.c:1101,1
    - Dst: init_and_query_next_address
      Src: /src/glib/gio/gnetworkaddress.c:1114,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:1123,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:1105,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1125
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1125
    functionName: g_network_address_address_enumerator_next_async
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - init_and_query_next_address
    - g_object_ref
    - g_resolver_lookup_by_name_with_flags_async
    - g_network_address_parse_sockaddr
    - g_assert
    - complete_queued_task
    - g_resolver_get_default
    - g_task_new
    - g_task_set_source_tag
    - G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
    - g_object_unref
    - g_steal_pointer
    - g_task_return_pointer
    - g_resolver_get_serial
    - g_list_free_full
    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:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GNetworkAddressAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 1141
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1141
    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:121,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkaddress.c:130,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkaddress.c:127,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkaddress.c:128,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkaddress.c:129,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkaddress.c:135,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gnetworkaddress.c:136,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkaddress.c:137,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkaddress.c:138,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkaddress.c:144,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkaddress.c:147,1
    - Dst: P_
      Src: /src/glib/gio/gnetworkaddress.c:146,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkaddress.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GNetworkAddressClass*
    constantsTouched: []
    func_position:
      end: 152
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 152
    functionName: g_network_address_class_init
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_uint
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_class_init (GNetworkAddressClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:930,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:933,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:934,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:936,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:933,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:936,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:939,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 943
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 943
    functionName: on_address_timeout
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_clear_pointer
    - complete_queued_task
    - g_object_unref
    - g_steal_pointer
    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:1132,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1134,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gnetworkaddress.c:1132,1
    - Dst: G_TASK
      Src: /src/glib/gio/gnetworkaddress.c:1134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1135
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1135
    functionName: g_network_address_address_enumerator_next_finish
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - g_task_propagate_pointer
    - G_TASK
    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:1146,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_CLASS
      Src: /src/glib/gio/gnetworkaddress.c:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - addrenum_class
    argTypes:
    - GNetworkAddressAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 1154
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1154
    functionName: _g_network_address_address_enumerator_class_init
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_SOCKET_ADDRESS_ENUMERATOR_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:1201,1
    - Dst: g_network_address_get_scheme
      Src: /src/glib/gio/gnetworkaddress.c:1204,1
    - Dst: g_string_append
      Src: /src/glib/gio/gnetworkaddress.c:1208,1
    - Dst: g_string_new
      Src: /src/glib/gio/gnetworkaddress.c:1202,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gnetworkaddress.c:1206,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/gnetworkaddress.c:1208,1
    - Dst: g_network_address_get_port
      Src: /src/glib/gio/gnetworkaddress.c:1210,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gnetworkaddress.c:1212,1
    - Dst: g_string_free
      Src: /src/glib/gio/gnetworkaddress.c:1214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1215
    functionName: g_network_address_connectable_to_string
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - G_NETWORK_ADDRESS
    - g_string_append_printf
    - g_network_address_get_port
    - g_string_free
    - g_network_address_get_hostname
    - g_network_address_get_scheme
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_network_address_connectable_to_string (GSocketConnectable
      *connectable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - connectable_iface
    argTypes:
    - GSocketConnectableIface*
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:179,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gnetworkaddress.c:184,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkaddress.c:180,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:188,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkaddress.c:189,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkaddress.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 197
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 197
    functionName: g_network_address_set_property
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_free
    - g_value_get_uint
    - G_NETWORK_ADDRESS
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:264,1
    - Dst: inet_addresses_to_inet_socket_addresses
      Src: /src/glib/gio/gnetworkaddress.c:272,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:267,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:269,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:270,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - addr
    - addresses
    - resolver_serial
    argTypes:
    - GNetworkAddress*
    - GList*
    - guint64
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: g_network_address_set_cached_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_IS_INET_SOCKET_ADDRESS
    - inet_addresses_to_inet_socket_addresses
    - g_assert
    - g_steal_pointer
    - g_list_free_full
    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:677,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gnetworkaddress.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetSocketAddress*
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: get_address_family
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_family
    - g_inet_socket_address_get_address
    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:775,1
    - Dst: list_split_families
      Src: /src/glib/gio/gnetworkaddress.c:782,1
    - Dst: list_split_families
      Src: /src/glib/gio/gnetworkaddress.c:783,1
    - Dst: g_list_free
      Src: /src/glib/gio/gnetworkaddress.c:784,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkaddress.c:778,1
    - Dst: g_list_free
      Src: /src/glib/gio/gnetworkaddress.c:787,1
    - Dst: list_interleave_families
      Src: /src/glib/gio/gnetworkaddress.c:790,1
    - Dst: list_interleave_families
      Src: /src/glib/gio/gnetworkaddress.c:792,1
    - Dst: g_list_concat
      Src: /src/glib/gio/gnetworkaddress.c:794,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - parent_list
    - current_item
    - new_list
    argTypes:
    - GList*
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 795
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 795
    functionName: list_concat_interleaved
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - get_address_family
    - g_list_next
    - list_interleave_families
    - g_list_concat
    - g_list_free
    - list_split_families
    linkageType: ''
    returnType: GList*
    signature: 'static GList *list_concat_interleaved (GList *parent_list, GList *current_item,
      GList *new_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_get_instance_private
      Src: /src/glib/gio/gnetworkaddress.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - GNetworkAddress*
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    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_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:205,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkaddress.c:218,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkaddress.c:222,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gnetworkaddress.c:214,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkaddress.c:210,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 226
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 226
    functionName: g_network_address_get_property
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_NETWORK_ADDRESS
    - g_value_set_uint
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:685,1
    - Dst: get_address_family
      Src: /src/glib/gio/gnetworkaddress.c:690,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gnetworkaddress.c:694,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gnetworkaddress.c:697,1
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:686,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gnetworkaddress.c:701,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkaddress.c:704,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gnetworkaddress.c:707,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gnetworkaddress.c:708,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - list
    - out_ipv4
    - out_ipv6
    argTypes:
    - GList*
    - GList**
    - GList**
    constantsTouched: []
    func_position:
      end: 709
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 709
    functionName: list_split_families
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_assert
    - get_address_family
    - g_assert_not_reached
    - g_list_prepend
    - g_list_next
    - g_list_reverse
    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:808,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:812,1
    - Dst: g_resolver_get_serial
      Src: /src/glib/gio/gnetworkaddress.c:812,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:810,1
    - Dst: g_network_address_set_cached_addresses
      Src: /src/glib/gio/gnetworkaddress.c:812,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - addr_enum
    - resolver
    argTypes:
    - GNetworkAddressAddressEnumerator*
    - GResolver*
    constantsTouched: []
    func_position:
      end: 813
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 813
    functionName: maybe_update_address_cache
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_steal_pointer
    - list_copy_interleaved
    - g_resolver_get_serial
    - g_network_address_set_cached_addresses
    linkageType: ''
    returnType: void
    signature: 'static void maybe_update_address_cache (GNetworkAddressAddressEnumerator
      *addr_enum, GResolver *resolver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gnetworkaddress.c:242,1
    - Dst: g_list_free
      Src: /src/glib/gio/gnetworkaddress.c:247,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:244,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:243,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - addr
    - addresses
    argTypes:
    - GNetworkAddress*
    - GList*
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: inet_addresses_to_inet_socket_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_inet_socket_address_new
    - g_object_unref
    - g_steal_pointer
    - g_list_free
    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:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hostname
    - port
    argTypes:
    - gchar*
    - guint16
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    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:581,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - GNetworkAddress*
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: g_network_address_get_hostname
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NETWORK_ADDRESS
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_address_get_hostname (GNetworkAddress *addr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:281,1
    - Dst: g_inet_socket_address_new_from_string
      Src: /src/glib/gio/gnetworkaddress.c:283,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - GNetworkAddress*
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 292
    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_return_val_if_fail
      Src: /src/glib/gio/gnetworkaddress.c:404,1
    - Dst: strchr
      Src: /src/glib/gio/gnetworkaddress.c:436,1
    - Dst: strtol
      Src: /src/glib/gio/gnetworkaddress.c:473,1
    - Dst: g_getservbyname_ntohs
      Src: /src/glib/gio/gnetworkaddress.c:488,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:476,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:426,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:415,1
    - Dst: g_strndup
      Src: /src/glib/gio/gnetworkaddress.c:433,1
    - Dst: strchr
      Src: /src/glib/gio/gnetworkaddress.c:442,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnetworkaddress.c:446,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:479,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:490,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:496,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:512,1
    - Dst: strchr
      Src: /src/glib/gio/gnetworkaddress.c:412,1
    - Dst: _
      Src: /src/glib/gio/gnetworkaddress.c:416,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnetworkaddress.c:455,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:461,1
    - Dst: endservent
      Src: /src/glib/gio/gnetworkaddress.c:501,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/gnetworkaddress.c:511,1
    - Dst: g_strndup
      Src: /src/glib/gio/gnetworkaddress.c:450,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:464,1
    - Dst: endservent
      Src: /src/glib/gio/gnetworkaddress.c:494,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 3
    argNames:
    - host_and_port
    - default_port
    - error
    argTypes:
    - gchar*
    - guint16
    - GError**
    constantsTouched: []
    func_position:
      end: 515
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 515
    functionName: g_network_address_parse
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_network_address_new
    - strtol
    - _
    - g_free
    - g_getservbyname_ntohs
    - g_strndup
    - endservent
    - strchr
    - g_return_val_if_fail
    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:545,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:562,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:561,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:548,1
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkaddress.c:556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - uri
    - default_port
    - error
    argTypes:
    - gchar*
    - guint16
    - GError**
    constantsTouched: []
    func_position:
      end: 565
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 565
    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:820,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:823,1
    - Dst: maybe_update_address_cache
      Src: /src/glib/gio/gnetworkaddress.c:827,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:825,1
    - Dst: list_concat_interleaved
      Src: /src/glib/gio/gnetworkaddress.c:825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - addr_enum
    - addresses
    - resolver
    argTypes:
    - GNetworkAddressAddressEnumerator*
    - GList*
    - GResolver*
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: g_network_address_address_enumerator_add_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - list_concat_interleaved
    - g_steal_pointer
    - maybe_update_address_cache
    - inet_addresses_to_inet_socket_addresses
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_address_enumerator_add_addresses (GNetworkAddressAddressEnumerator
      *addr_enum, GList *addresses, GResolver *resolver) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gnetworkaddress.c:843,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkaddress.c:852,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:857,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - addr_enum
    argTypes:
    - GNetworkAddressAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 861
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 861
    functionName: init_and_query_next_address
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_list_copy_deep
    - g_list_next
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *init_and_query_next_address (GNetworkAddressAddressEnumerator
      *addr_enum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkaddress.c:657,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnetworkaddress.c:664,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:662,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkaddress.c:661,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnetworkaddress.c:665,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:666,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:667,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:668,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:669,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkaddress.c:671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 672
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 672
    functionName: g_network_address_address_enumerator_finalize
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_clear_object
    - g_object_unref
    - G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
    - g_clear_error
    - g_source_destroy
    - g_list_free_full
    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:834,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkaddress.c:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - src
    - user_data
    argTypes:
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 835
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 835
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkaddress.c:869,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:881,1
    - Dst: g_network_address_parse_sockaddr
      Src: /src/glib/gio/gnetworkaddress.c:886,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gnetworkaddress.c:874,1
    - Dst: g_resolver_get_serial
      Src: /src/glib/gio/gnetworkaddress.c:875,1
    - Dst: g_resolver_lookup_by_name
      Src: /src/glib/gio/gnetworkaddress.c:891,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:896,1
    - Dst: g_network_address_set_cached_addresses
      Src: /src/glib/gio/gnetworkaddress.c:900,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:900,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:903,1
    - Dst: init_and_query_next_address
      Src: /src/glib/gio/gnetworkaddress.c:906,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 907
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 907
    functionName: g_network_address_address_enumerator_next
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - init_and_query_next_address
    - g_network_address_parse_sockaddr
    - g_resolver_lookup_by_name
    - g_resolver_get_default
    - g_object_unref
    - G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
    - g_steal_pointer
    - g_resolver_get_serial
    - g_network_address_set_cached_addresses
    - g_list_free_full
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *g_network_address_address_enumerator_next (GSocketAddressEnumerator
      *enumerator, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkaddress.c:349,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gnetworkaddress.c:354,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gnetworkaddress.c:355,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:354,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:355,1
    - Dst: g_network_address_set_cached_addresses
      Src: /src/glib/gio/gnetworkaddress.c:356,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:356,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gnetworkaddress.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - port
    argTypes:
    - guint16
    constantsTouched: []
    func_position:
      end: 359
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 359
    functionName: g_network_address_new_loopback
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_list_append
    - g_steal_pointer
    - g_network_address_set_cached_addresses
    - g_inet_address_new_loopback
    - G_SOCKET_CONNECTABLE
    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:617,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - GNetworkAddress*
    constantsTouched: []
    func_position:
      end: 620
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 620
    functionName: g_network_address_get_scheme
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NETWORK_ADDRESS
    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:750,1
    - Dst: list_interleave_families
      Src: /src/glib/gio/gnetworkaddress.c:751,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 752
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 752
    functionName: list_copy_interleaved
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - list_interleave_families
    - list_split_families
    linkageType: ''
    returnType: GList*
    signature: 'static GList *list_copy_interleaved (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkaddress.c:599,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - GNetworkAddress*
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: g_network_address_get_port
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_NETWORK_ADDRESS
    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:721,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gnetworkaddress.c:722,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:726,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gnetworkaddress.c:727,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 732
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 732
    functionName: list_interleave_families
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_list_delete_link
    linkageType: ''
    returnType: GList*
    signature: 'static GList *list_interleave_families (GList *list1, GList *list2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gnetworkaddress.c:951,1
    - Dst: g_debug
      Src: /src/glib/gio/gnetworkaddress.c:961,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:959,1
    - Dst: g_resolver_lookup_by_name_with_flags_finish
      Src: /src/glib/gio/gnetworkaddress.c:957,1
    - Dst: g_network_address_address_enumerator_add_addresses
      Src: /src/glib/gio/gnetworkaddress.c:959,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkaddress.c:966,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:967,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:977,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:981,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:981,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:993,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:993,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:998,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:992,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:994,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:997,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:990,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 999
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 999
    functionName: got_ipv6_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_network_address_address_enumerator_add_addresses
    - g_resolver_lookup_by_name_with_flags_finish
    - g_clear_pointer
    - complete_queued_task
    - g_object_unref
    - G_RESOLVER
    - g_clear_error
    - g_steal_pointer
    - g_debug
    - g_source_destroy
    linkageType: ''
    returnType: void
    signature: 'static void got_ipv6_addresses (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkaddress.c:1161,1
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:1162,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:1162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1165
    functionName: g_network_address_connectable_enumerate
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_NETWORK_ADDRESS
    - g_object_ref
    - g_object_new
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'static GSocketAddressEnumerator *g_network_address_connectable_enumerate
      (GSocketConnectable *connectable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_lookup_by_name_with_flags_finish
      Src: /src/glib/gio/gnetworkaddress.c:1013,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1022,1
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gnetworkaddress.c:1007,1
    - Dst: g_debug
      Src: /src/glib/gio/gnetworkaddress.c:1017,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkaddress.c:1021,1
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:1032,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:1034,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1043,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gnetworkaddress.c:1044,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1035,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:1052,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:1033,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1034,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:1039,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gnetworkaddress.c:1048,1
    - Dst: g_network_address_address_enumerator_add_addresses
      Src: /src/glib/gio/gnetworkaddress.c:1015,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1015,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gnetworkaddress.c:1045,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1039,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:1051,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1053
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1053
    functionName: got_ipv4_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_network_address_address_enumerator_add_addresses
    - g_source_set_callback
    - g_resolver_lookup_by_name_with_flags_finish
    - g_source_attach
    - g_clear_pointer
    - g_assert
    - complete_queued_task
    - g_object_unref
    - G_RESOLVER
    - g_clear_error
    - g_steal_pointer
    - g_debug
    - g_timeout_source_new
    - g_source_destroy
    linkageType: ''
    returnType: void
    signature: 'static void got_ipv4_addresses (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:1170,1
    - Dst: g_uri_join
      Src: /src/glib/gio/gnetworkaddress.c:1174,1
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkaddress.c:1183,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:1188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - connectable
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1191
    functionName: g_network_address_connectable_proxy_enumerate
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_object_new
    - G_NETWORK_ADDRESS
    - g_free
    - g_uri_join
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'static GSocketAddressEnumerator *g_network_address_connectable_proxy_enumerate
      (GSocketConnectable *connectable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:108,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:96,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:108,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:138,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:138,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:189,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:219,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:231,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:231,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:251,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:265,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:111,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:123,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:123,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:153,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:141,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:153,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:186,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:234,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:248,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:268,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:93,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:126,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:156,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:171,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:171,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:201,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:201,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:82,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:93,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:174,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:186,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:204,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:216,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:216,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:248,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GVolumeMonitorClass*
    constantsTouched: []
    func_position:
      end: 273
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 273
    functionName: g_volume_monitor_class_init
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new
    - G_OBJECT_CLASS
    - I_
    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:320,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:320,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: g_volume_monitor_get_volumes
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VOLUME_MONITOR_GET_CLASS
    - 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:366,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:366,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolumemonitor.c:367,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - volume_monitor
    - uuid
    argTypes:
    - GVolumeMonitor*
    - char*
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: g_volume_monitor_get_volume_for_uuid
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VOLUME_MONITOR_GET_CLASS
    - 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:390,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:390,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolumemonitor.c:391,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - volume_monitor
    - uuid
    argTypes:
    - GVolumeMonitor*
    - char*
    constantsTouched: []
    func_position:
      end: 396
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 396
    functionName: g_volume_monitor_get_mount_for_uuid
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VOLUME_MONITOR_GET_CLASS
    - 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:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    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: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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:297,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:297,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: g_volume_monitor_get_connected_drives
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VOLUME_MONITOR_GET_CLASS
    - 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:343,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:345,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - volume_monitor
    argTypes:
    - GVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: g_volume_monitor_get_mounts
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VOLUME_MONITOR_GET_CLASS
    - G_IS_VOLUME_MONITOR
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_volume_monitor_get_mounts (GVolumeMonitor *volume_monitor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:109,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/gcontenttype-win32.c:112,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:117,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:110,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:116,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:119,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:121,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: g_content_type_equals
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    - g_free
    - get_registry_classes_key
    - strcmp
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_equals (const gchar *type1, const gchar *type2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: g_content_type_get_mime_dirs
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached: []
    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-win32.c:160,1
    - 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:164,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/gcontenttype-win32.c:163,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - type
    - mime_type
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: g_content_type_is_mime_type
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_is_a
    - g_content_type_from_mime_type
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_mime_type (const gchar *type, const gchar
      *mime_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:184,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:189,1
    - Dst: g_content_type_is_unknown
      Src: /src/glib/gio/gcontenttype-win32.c:196,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:186,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:190,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:197,1
    - Dst: _
      Src: /src/glib/gio/gcontenttype-win32.c:197,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype-win32.c:199,1
    - Dst: _
      Src: /src/glib/gio/gcontenttype-win32.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 200
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 200
    functionName: g_content_type_get_description
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - _
    - g_strdup_printf
    - get_registry_classes_key
    - g_content_type_is_unknown
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_description (const gchar *type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gcontenttype-win32.c:243,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:247,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:256,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:259,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:263,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gcontenttype-win32.c:278,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:232,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gcontenttype-win32.c:249,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:276,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-win32.c:279,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gcontenttype-win32.c:252,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:253,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:257,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:263,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:270,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gcontenttype-win32.c:263,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gcontenttype-win32.c:276,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:276,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-win32.c:240,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gcontenttype-win32.c:242,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:264,1
    - Dst: g_content_type_can_be_executable
      Src: /src/glib/gio/gcontenttype-win32.c:272,1
    - Dst: G_ICON
      Src: /src/glib/gio/gcontenttype-win32.c:281,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 282
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 282
    functionName: g_content_type_get_icon
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_content_type_can_be_executable
    - g_free
    - G_LOCK
    - g_hash_table_insert
    - G_UNLOCK
    - g_hash_table_lookup
    - g_themed_icon_new
    - g_hash_table_new
    - G_ICON
    - get_registry_classes_key
    - strcmp
    - g_strconcat
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_content_type_get_icon (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: g_content_type_get_generic_icon_name
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_generic_icon_name (const gchar *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_iscntrl
      Src: /src/glib/gio/gcontenttype-win32.c:329,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gcontenttype-win32.c:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - data
    - data_size
    argTypes:
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 333
    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:372,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-win32.c:376,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:379,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:372,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gcontenttype-win32.c:385,1
    - Dst: strrchr
      Src: /src/glib/gio/gcontenttype-win32.c:386,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:388,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:389,1
    - Dst: looks_like_text
      Src: /src/glib/gio/gcontenttype-win32.c:396,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:397,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:399,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - filename
    - data
    - data_size
    - result_uncertain
    argTypes:
    - gchar*
    - guchar*
    - gsize
    - gboolean*
    constantsTouched: []
    func_position:
      end: 400
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 400
    functionName: g_content_type_guess
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_free
    - g_path_get_basename
    - strrchr
    - looks_like_text
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_guess (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:49,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gcontenttype-win32.c:52,1
    - Dst: g_new
      Src: /src/glib/gio/gcontenttype-win32.c:56,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gcontenttype-win32.c:50,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gcontenttype-win32.c:57,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/gio/gcontenttype-win32.c:63,1
    - Dst: g_new
      Src: /src/glib/gio/gcontenttype-win32.c:66,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/gio/gcontenttype-win32.c:67,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gcontenttype-win32.c:68,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:69,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gcontenttype-win32.c:74,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:76,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:79,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gcontenttype-win32.c:82,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - subdir
    - key_name
    argTypes:
    - char*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 85
    functionName: get_registry_classes_key
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_free
    - g_utf8_to_utf16
    - g_new
    - RegCloseKey
    - RegOpenKeyExW
    - ExpandEnvironmentStringsW
    - RegQueryValueExW
    - 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:135,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:142,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:141,1
    - 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:138,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:145,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:147,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - type
    - supertype
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 151
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 151
    functionName: g_content_type_is_a
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_free
    - get_registry_classes_key
    - strcmp
    - g_content_type_equals
    - g_return_val_if_fail
    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-win32.c:173,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: g_content_type_is_unknown
    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 (const gchar *type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:207,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:209,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:213,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype-win32.c:215,1
    - Dst: g_content_type_is_unknown
      Src: /src/glib/gio/gcontenttype-win32.c:212,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:216,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:217,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: g_content_type_get_mime_type
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strdup_printf
    - get_registry_classes_key
    - strcmp
    - g_content_type_is_unknown
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_mime_type (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_get_icon
      Src: /src/glib/gio/gcontenttype-win32.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: g_content_type_get_symbolic_icon
    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 (const gchar *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:299,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:301,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:303,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 318
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: g_content_type_can_be_executable
    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 (const gchar *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:340,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:343,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:347,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:344,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gcontenttype-win32.c:346,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:348,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gcontenttype-win32.c:351,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - mime_type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 352
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 352
    functionName: g_content_type_from_mime_type
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_steal_pointer
    - get_registry_classes_key
    - strcmp
    - g_strconcat
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_from_mime_type (const gchar *mime_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RegEnumKeyExW
      Src: /src/glib/gio/gcontenttype-win32.c:414,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:429,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gcontenttype-win32.c:435,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gcontenttype-win32.c:427,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gcontenttype-win32.c:423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 436
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 436
    functionName: g_content_types_get_registered
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_free
    - RegEnumKeyExW
    - g_list_prepend
    - g_list_reverse
    - g_utf16_to_utf8
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_content_types_get_registered (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dirs
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: g_content_type_set_mime_dirs
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_content_type_set_mime_dirs (const gchar * const *dirs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - root
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: g_content_type_guess_for_tree
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_content_type_guess_for_tree (GFile *root) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_password_get_flags
      Src: /src/glib/gio/gtlspassword.c:109,1
    - Dst: _
      Src: /src/glib/gio/gtlspassword.c:116,1
    - Dst: _
      Src: /src/glib/gio/gtlspassword.c:112,1
    - Dst: _
      Src: /src/glib/gio/gtlspassword.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - password
    argTypes:
    - GTlsPassword*
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 121
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - password
    - length
    argTypes:
    - GTlsPassword*
    - gsize*
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:154,1
    - Dst: g_tls_password_set_flags
      Src: /src/glib/gio/gtlspassword.c:159,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gtlspassword.c:162,1
    - Dst: g_tls_password_set_warning
      Src: /src/glib/gio/gtlspassword.c:162,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gtlspassword.c:159,1
    - Dst: g_tls_password_set_description
      Src: /src/glib/gio/gtlspassword.c:165,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gtlspassword.c:165,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlspassword.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: g_tls_password_set_property
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_value_get_string
    - G_TLS_PASSWORD
    - g_tls_password_set_warning
    - g_tls_password_set_description
    - g_value_get_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_tls_password_set_flags
    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:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - flags
    - description
    argTypes:
    - GTlsPasswordFlags
    - gchar*
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    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:288,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlspassword.c:294,1
    - Dst: strlen
      Src: /src/glib/gio/gtlspassword.c:293,1
    - Dst: g_tls_password_set_value_full
      Src: /src/glib/gio/gtlspassword.c:298,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:288,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gtlspassword.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - password
    - value
    - length
    argTypes:
    - GTlsPassword*
    - guchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 299
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 299
    functionName: g_tls_password_set_value
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - strlen
    - G_IS_TLS_PASSWORD
    - g_memdup2
    - g_tls_password_set_value_full
    - g_return_if_fail
    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:345,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - password
    argTypes:
    - GTlsPassword*
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: g_tls_password_get_flags
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TLS_PASSWORD
    linkageType: ''
    returnType: GTlsPasswordFlags
    signature: 'GTlsPasswordFlags g_tls_password_get_flags (GTlsPassword *password) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlspassword.c:382,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - password
    argTypes:
    - GTlsPassword*
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: g_tls_password_get_description
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TLS_PASSWORD
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_tls_password_get_description (GTlsPassword *password) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlspassword.c:425,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:425,1
    - Dst: G_TLS_PASSWORD_GET_CLASS
      Src: /src/glib/gio/gtlspassword.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - password
    argTypes:
    - GTlsPassword*
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: g_tls_password_get_warning
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_TLS_PASSWORD_GET_CLASS
    - g_return_val_if_fail
    - G_IS_TLS_PASSWORD
    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:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - password
    argTypes:
    - GTlsPassword*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    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:129,1
    - Dst: g_tls_password_get_warning
      Src: /src/glib/gio/gtlspassword.c:137,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gtlspassword.c:134,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gtlspassword.c:137,1
    - Dst: g_tls_password_get_flags
      Src: /src/glib/gio/gtlspassword.c:134,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gtlspassword.c:140,1
    - Dst: g_tls_password_get_description
      Src: /src/glib/gio/gtlspassword.c:140,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlspassword.c:143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: g_tls_password_get_property
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_value_set_flags
    - g_value_set_string
    - g_tls_password_get_description
    - g_tls_password_get_flags
    - G_TLS_PASSWORD
    - g_tls_password_get_warning
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - password
    - value
    - length
    - destroy
    argTypes:
    - GTlsPassword*
    - guchar*
    - gssize
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 102
    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:176,1
    - Dst: g_free
      Src: /src/glib/gio/gtlspassword.c:179,1
    - Dst: g_free
      Src: /src/glib/gio/gtlspassword.c:180,1
    - Dst: g_tls_password_real_set_value
      Src: /src/glib/gio/gtlspassword.c:178,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlspassword.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: g_tls_password_finalize
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_tls_password_real_set_value
    - G_TLS_PASSWORD
    - g_free
    - G_OBJECT_CLASS
    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:188,1
    - Dst: P_
      Src: /src/glib/gio/gtlspassword.c:200,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gtlspassword.c:199,1
    - Dst: P_
      Src: /src/glib/gio/gtlspassword.c:201,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlspassword.c:198,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlspassword.c:207,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlspassword.c:208,1
    - Dst: P_
      Src: /src/glib/gio/gtlspassword.c:209,1
    - Dst: P_
      Src: /src/glib/gio/gtlspassword.c:210,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlspassword.c:215,1
    - Dst: P_
      Src: /src/glib/gio/gtlspassword.c:218,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlspassword.c:216,1
    - Dst: P_
      Src: /src/glib/gio/gtlspassword.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTlsPasswordClass*
    constantsTouched: []
    func_position:
      end: 223
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 223
    functionName: g_tls_password_class_init
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    - g_param_spec_flags
    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:263,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:263,1
    - Dst: G_TLS_PASSWORD_GET_CLASS
      Src: /src/glib/gio/gtlspassword.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - password
    - length
    argTypes:
    - GTlsPassword*
    - gsize*
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: g_tls_password_get_value
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_TLS_PASSWORD_GET_CLASS
    - g_return_val_if_fail
    - G_IS_TLS_PASSWORD
    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:327,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:327,1
    - Dst: G_TLS_PASSWORD_GET_CLASS
      Src: /src/glib/gio/gtlspassword.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - password
    - value
    - length
    - destroy
    argTypes:
    - GTlsPassword*
    - guchar*
    - gssize
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 330
    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_if_fail
      Src: /src/glib/gio/gtlspassword.c:362,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlspassword.c:366,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:362,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtlspassword.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - password
    - flags
    argTypes:
    - GTlsPassword*
    - GTlsPasswordFlags
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: g_tls_password_set_flags
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_TLS_PASSWORD
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tls_password_set_flags (GTlsPassword *password, GTlsPasswordFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlspassword.c:401,1
    - Dst: g_free
      Src: /src/glib/gio/gtlspassword.c:404,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:401,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtlspassword.c:407,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtlspassword.c:403,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlspassword.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - password
    - description
    argTypes:
    - GTlsPassword*
    - gchar*
    constantsTouched: []
    func_position:
      end: 408
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 408
    functionName: g_tls_password_set_description
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_free
    - G_IS_TLS_PASSWORD
    - g_object_notify
    - g_return_if_fail
    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:450,1
    - Dst: g_free
      Src: /src/glib/gio/gtlspassword.c:453,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:450,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtlspassword.c:452,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtlspassword.c:456,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlspassword.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - password
    - warning
    argTypes:
    - GTlsPassword*
    - gchar*
    constantsTouched: []
    func_position:
      end: 457
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 457
    functionName: g_tls_password_set_warning
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - g_free
    - G_IS_TLS_PASSWORD
    - g_object_notify
    - g_return_if_fail
    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: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: g_task_init
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_task_init (GTask *task) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1067,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1068,1
    - Dst: G_TASK_IS_THREADED
      Src: /src/glib/gio/gtask.c:1070,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1076,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1067,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1081,1
    - Dst: g_task_thread_complete
      Src: /src/glib/gio/gtask.c:1082,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1085,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1089,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - task
    - return_on_cancel
    argTypes:
    - GTask*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1092
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1092
    functionName: g_task_set_return_on_cancel
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_TASK_IS_THREADED
    - g_task_thread_complete
    - g_mutex_unlock
    - G_IS_TASK
    - g_return_val_if_fail
    - g_mutex_lock
    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:1319,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1323
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1323
    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:1338,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    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_mutex_lock
      Src: /src/glib/gio/gtask.c:1528,1
    - Dst: g_trace_set_int64_counter
      Src: /src/glib/gio/gtask.c:1530,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gtask.c:1531,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1532,1
    - Dst: g_thread_pool_set_max_threads
      Src: /src/glib/gio/gtask.c:1529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1535
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1535
    functionName: task_pool_manager_timeout
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_source_set_ready_time
    - g_trace_set_int64_counter
    - g_mutex_unlock
    - g_thread_pool_set_max_threads
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean task_pool_manager_timeout (gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1562,1
    - Dst: g_thread_pool_set_max_threads
      Src: /src/glib/gio/gtask.c:1567,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gtask.c:1571,1
    - Dst: g_thread_pool_unprocessed
      Src: /src/glib/gio/gtask.c:1563,1
    - Dst: g_trace_set_int64_counter
      Src: /src/glib/gio/gtask.c:1568,1
    - Dst: g_trace_set_int64_counter
      Src: /src/glib/gio/gtask.c:1578,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1580,1
    - Dst: g_private_set
      Src: /src/glib/gio/gtask.c:1581,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gtask.c:1581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1582
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1582
    functionName: g_task_thread_cleanup
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_thread_pool_unprocessed
    - g_private_set
    - GUINT_TO_POINTER
    - g_source_set_ready_time
    - g_trace_set_int64_counter
    - g_mutex_unlock
    - g_thread_pool_set_max_threads
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_cleanup (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gtask.c:685,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gtask.c:691,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/gtask.c:695,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtask.c:687,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gtask.c:694,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gtask.c:696,1
    - Dst: g_string_append
      Src: /src/glib/gio/gtask.c:705,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtask.c:708,1
    - Dst: g_message
      Src: /src/glib/gio/gtask.c:710,1
    - Dst: g_string_free
      Src: /src/glib/gio/gtask.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 712
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 712
    functionName: g_task_print_alive_tasks
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_get_name
    - g_string_new
    - g_string_append
    - G_LOCK
    - g_ptr_array_index
    - g_string_append_printf
    - g_message
    - G_UNLOCK
    - g_string_free
    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:1415,1
    - Dst: g_main_current_source
      Src: /src/glib/gio/gtask.c:1423,1
    - Dst: g_source_get_context
      Src: /src/glib/gio/gtask.c:1424,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1418,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/gtask.c:1429,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtask.c:1437,1
    - Dst: g_task_return_now
      Src: /src/glib/gio/gtask.c:1439,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1440,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gtask.c:1447,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gtask.c:1454,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:1461,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gtask.c:1465,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gtask.c:1459,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gtask.c:1464,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/gtask.c:1460,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - task
    - type
    argTypes:
    - GTask*
    - GTaskReturnType
    constantsTouched: []
    func_position:
      end: 1466
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1466
    functionName: g_task_return
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_return_now
    - G_TASK_IS_THREADED
    - g_object_ref
    - g_free
    - g_task_attach_source
    - g_source_set_static_name
    - g_strconcat
    - g_object_unref
    - g_cancellable_is_cancelled
    - g_source_get_context
    - g_source_unref
    - g_main_current_source
    - g_idle_source_new
    - g_source_set_name
    - g_source_get_time
    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:1501,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1511,1
    - Dst: GIO_TASK_AFTER_RUN_IN_THREAD
      Src: /src/glib/gio/gtask.c:1511,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1514,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1507,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gtask.c:1517,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtask.c:1520,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1523
    functionName: g_task_thread_complete
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_signal_handlers_disconnect_by_func
    - g_mutex_unlock
    - g_task_return
    - GIO_TASK_AFTER_RUN_IN_THREAD
    - TRACE
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_complete (GTask *task) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_private_set
      Src: /src/glib/gio/gtask.c:1540,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gtask.c:1552,1
    - Dst: g_trace_set_int64_counter
      Src: /src/glib/gio/gtask.c:1544,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gtask.c:1540,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1541,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gtask.c:1552,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1555
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1555
    functionName: g_task_thread_setup
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_private_set
    - GUINT_TO_POINTER
    - g_trace_set_int64_counter
    - g_source_set_ready_time
    - g_mutex_unlock
    - g_get_monotonic_time
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_setup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_thread_setup
      Src: /src/glib/gio/gtask.c:1590,1
    - Dst: g_task_thread_complete
      Src: /src/glib/gio/gtask.c:1594,1
    - Dst: g_task_thread_cleanup
      Src: /src/glib/gio/gtask.c:1597,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - thread_data
    - pool_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1598
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1598
    functionName: g_task_thread_pool_thread
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_thread_complete
    - g_task_thread_cleanup
    - g_object_unref
    - g_task_thread_setup
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_pool_thread (gpointer thread_data, gpointer
      pool_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAsyncResultIface*
    constantsTouched: []
    func_position:
      end: 2437
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2437
    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_return_if_fail
      Src: /src/glib/gio/gtask.c:1173,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1173,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:1176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - task
    - name
    argTypes:
    - GTask*
    - char*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1179
    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:1301,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1305
    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_if_fail
      Src: /src/glib/gio/gtask.c:1932,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1933,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1937,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - task
    - result
    argTypes:
    - GTask*
    - gssize
    constantsTouched: []
    func_position:
      end: 1938
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1938
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2287,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:2290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - result
    - source_object
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2291
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2291
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1195,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1198
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1242,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1245
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1245
    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:1284,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1287
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1363,1
    - Dst: GIO_TASK_BEFORE_RETURN
      Src: /src/glib/gio/gtask.c:1363,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gtask.c:1366,1
    - Dst: G_ASYNC_RESULT
      Src: /src/glib/gio/gtask.c:1371,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtask.c:1376,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtask.c:1376,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gtask.c:1378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1379
    functionName: g_task_return_now
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_main_context_push_thread_default
    - G_ASYNC_RESULT
    - g_object_notify
    - TRACE
    - GIO_TASK_BEFORE_RETURN
    - g_main_context_pop_thread_default
    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:1711,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1713,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1711,1
    - Dst: g_task_start_task_thread
      Src: /src/glib/gio/gtask.c:1714,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1721,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1722,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1725,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - task
    - task_func
    argTypes:
    - GTask*
    - GTaskThreadFunc
    constantsTouched: []
    func_position:
      end: 1728
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1728
    functionName: g_task_run_in_thread
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_unref
    - g_task_start_task_thread
    - g_mutex_unlock
    - g_task_return
    - G_IS_TASK
    - g_return_if_fail
    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:1961,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1961,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1966,1
    - Dst: g_task_propagate_error
      Src: /src/glib/gio/gtask.c:1963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 1970
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1970
    functionName: g_task_propagate_int
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_propagate_error
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_task_propagate_int (GTask *task, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:2365,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gtask.c:2370,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/gtask.c:2370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2373
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2373
    functionName: g_task_get_property
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_get_completed
    - G_TASK
    - g_value_set_boolean
    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:1203,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - GAsyncResult*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1209
    functionName: g_task_ref_source_object
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_TASK
    linkageType: ''
    returnType: GObject*
    signature: 'static GObject *g_task_ref_source_object (GAsyncResult *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_now
      Src: /src/glib/gio/gtask.c:1384,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1387
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1387
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new
      Src: /src/glib/gio/gtask.c:2344,1
    - Dst: g_assert
      Src: /src/glib/gio/gtask.c:2346,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gtask.c:2351,1
    - Dst: g_thread_pool_set_sort_function
      Src: /src/glib/gio/gtask.c:2348,1
    - Dst: g_source_new
      Src: /src/glib/gio/gtask.c:2350,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gtask.c:2352,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gtask.c:2353,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gtask.c:2354,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gtask.c:2355,1
    - Dst: g_get_worker_context
      Src: /src/glib/gio/gtask.c:2355,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gtask.c:2356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2357
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2357
    functionName: g_task_thread_pool_init
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_set_static_name
    - g_assert
    - GLIB_PRIVATE_CALL
    - g_thread_pool_set_sort_function
    - g_source_set_ready_time
    - g_thread_pool_new
    - g_source_unref
    - g_source_new
    - g_get_worker_context
    - g_source_attach
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_pool_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtask.c:2378,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtask.c:2401,1
    - Dst: P_
      Src: /src/glib/gio/gtask.c:2404,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtask.c:2402,1
    - Dst: P_
      Src: /src/glib/gio/gtask.c:2403,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gtask.c:2407,1
    - Dst: g_trace_define_int64_counter
      Src: /src/glib/gio/gtask.c:2413,1
    - Dst: g_trace_define_int64_counter
      Src: /src/glib/gio/gtask.c:2414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTaskClass*
    constantsTouched: []
    func_position:
      end: 2416
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2416
    functionName: g_task_class_init
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_trace_define_int64_counter
    - G_UNLIKELY
    - g_param_spec_boolean
    - G_OBJECT_CLASS
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_task_class_init (GTaskClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1118,1
    - Dst: GIO_TASK_SET_SOURCE_TAG
      Src: /src/glib/gio/gtask.c:1122,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1122,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - task
    - source_tag
    argTypes:
    - GTask*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1123
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1123
    functionName: (g_task_set_source_tag)
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - GIO_TASK_SET_SOURCE_TAG
    - TRACE
    - G_IS_TASK
    - 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:1224,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1227
    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:1266,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1269
    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_val_if_fail
      Src: /src/glib/gio/gtask.c:1355,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1358
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/gio/gtask.c:1639,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gtask.c:1640,1
    - Dst: GIO_TASK_BEFORE_RUN_IN_THREAD
      Src: /src/glib/gio/gtask.c:1644,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1644,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1642,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gtask.c:1651,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1655,1
    - Dst: GIO_TASK_AFTER_RUN_IN_THREAD
      Src: /src/glib/gio/gtask.c:1655,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gtask.c:1656,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1656,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1670,1
    - Dst: g_private_get
      Src: /src/glib/gio/gtask.c:1675,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gtask.c:1669,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1677,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gtask.c:1677,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gtask.c:1668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - task
    - task_func
    argTypes:
    - GTask*
    - GTaskThreadFunc
    constantsTouched: []
    func_position:
      end: 1678
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1678
    functionName: g_task_start_task_thread
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_signal_connect_data
    - g_thread_pool_push
    - g_mutex_lock
    - g_cancellable_set_error_if_cancelled
    - G_CALLBACK
    - TRACE
    - GIO_TASK_BEFORE_RUN_IN_THREAD
    - g_mutex_init
    - GIO_TASK_AFTER_RUN_IN_THREAD
    - g_private_get
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'static void g_task_start_task_thread (GTask *task, GTaskThreadFunc
      task_func) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtask.c:747,1
    - Dst: g_critical
      Src: /src/glib/gio/gtask.c:750,1
    - Dst: g_debug
      Src: /src/glib/gio/gtask.c:755,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:766,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtask.c:788,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtask.c:793,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/gtask.c:744,1
    - Dst: G_TASK_IS_THREADED
      Src: /src/glib/gio/gtask.c:749,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtask.c:764,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gtask.c:769,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gtask.c:783,1
    - Dst: G_TASK_IS_THREADED
      Src: /src/glib/gio/gtask.c:780,1
    - Dst: g_error_free
      Src: /src/glib/gio/gtask.c:778,1
    - Dst: g_ptr_array_remove_fast
      Src: /src/glib/gio/gtask.c:790,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:733,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:760,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtask.c:763,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gtask.c:782,1
    - Dst: g_assert
      Src: /src/glib/gio/gtask.c:789,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtask.c:796,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gtask.c:791,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gtask.c:792,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 797
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 797
    functionName: g_task_finalize
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_get_name
    - G_TASK_IS_THREADED
    - g_main_context_unref
    - g_clear_pointer
    - G_OBJECT_CLASS
    - G_UNLIKELY
    - G_TASK
    - g_error_free
    - g_critical
    - g_strdup_printf
    - g_mutex_clear
    - g_free
    - G_LOCK
    - g_assert
    - g_clear_object
    - G_UNLOCK
    - g_debug
    - g_cond_clear
    - g_ptr_array_remove_fast
    linkageType: ''
    returnType: void
    signature: 'static void g_task_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gtask.c:927,1
    - Dst: va_end
      Src: /src/glib/gio/gtask.c:929,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gtask.c:931,1
    - Dst: g_error_new_valist
      Src: /src/glib/gio/gtask.c:928,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: 933
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 933
    functionName: g_task_report_new_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_error_new_valist
    - va_end
    - g_task_report_error
    - va_start
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_move_to_front
      Src: /src/glib/gio/gtask.c:1609,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1616,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1611,1
    - Dst: g_task_thread_complete
      Src: /src/glib/gio/gtask.c:1625,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1626
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1626
    functionName: task_thread_cancelled
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_thread_complete
    - g_thread_pool_move_to_front
    - g_mutex_unlock
    - g_mutex_lock
    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:2016,1
    - Dst: g_task_propagate_error
      Src: /src/glib/gio/gtask.c:2018,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2021,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2016,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 2025
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2025
    functionName: g_task_propagate_boolean
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_propagate_error
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_propagate_boolean (GTask *task, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2111,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2111,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gtask.c:2114,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gtask.c:2119,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2112,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:2122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2127
    functionName: g_task_return_error_if_cancelled
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - g_clear_error
    - g_task_return
    - G_IS_TASK
    - g_return_val_if_fail
    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:2228,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2229,1
    - Dst: g_task_propagate_error
      Src: /src/glib/gio/gtask.c:2232,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2228,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2230,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2235,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2236,1
    - Dst: memcpy
      Src: /src/glib/gio/gtask.c:2238,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:2239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - task
    - value
    - error
    argTypes:
    - GTask*
    - GValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 2245
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2245
    functionName: g_task_propagate_value
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_free
    - G_IS_TASK
    - g_task_propagate_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_propagate_value (GTask *task, GValue *value, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtask.c:2312,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtask.c:2314,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2322
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2322
    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:2421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - GAsyncResult*
    constantsTouched: []
    func_position:
      end: 2422
      start: 2418
    functionDepth: 0
    functionLinenumber: 2418
    functionLinenumberEnd: 2422
    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_TASK
      Src: /src/glib/gio/gtask.c:717,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtask.c:719,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtask.c:722,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gtask.c:723,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gtask.c:724,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gtask.c:725,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtask.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 727
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 727
    functionName: g_task_constructed
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - G_TASK
    - G_LOCK
    - G_UNLOCK
    - g_ptr_array_new
    - G_OBJECT_CLASS
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void g_task_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - task
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 1633
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1633
    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: callback
      Src: /src/glib/gio/gtask.c:2329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2330
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2330
    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:2428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - res
    - source_tag
    argTypes:
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2429
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2429
    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:
    - Dst: g_task_new
      Src: /src/glib/gio/gtask.c:883,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtask.c:884,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtask.c:886,1
    - Dst: g_task_set_static_name
      Src: /src/glib/gio/gtask.c:885,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:887,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: 888
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 888
    functionName: g_task_report_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_set_static_name
    - g_object_unref
    - g_task_new
    - g_task_set_source_tag
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1987,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1992,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1988,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - task
    - result
    argTypes:
    - GTask*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1993
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1993
    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: va_start
      Src: /src/glib/gio/gtask.c:2086,1
    - Dst: g_error_new_valist
      Src: /src/glib/gio/gtask.c:2087,1
    - Dst: va_end
      Src: /src/glib/gio/gtask.c:2088,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtask.c:2090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - task
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GTask*
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 2091
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2091
    functionName: g_task_return_new_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_error_new_valist
    - va_end
    - g_task_return_error
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_task_return_new_error (GTask *task, GQuark domain, gint code,
      const char *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2183,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2183,1
    - Dst: g_value_init
      Src: /src/glib/gio/gtask.c:2190,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2184,1
    - Dst: g_new0
      Src: /src/glib/gio/gtask.c:2186,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gtask.c:2191,1
    - Dst: g_value_init
      Src: /src/glib/gio/gtask.c:2195,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gio/gtask.c:2195,1
    - Dst: g_value_copy
      Src: /src/glib/gio/gtask.c:2196,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gtask.c:2199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - task
    - result
    argTypes:
    - GTask*
    - GValue*
    constantsTouched: []
    func_position:
      end: 2200
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2200
    functionName: g_task_return_value
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_value_set_pointer
    - g_new0
    - G_VALUE_TYPE
    - g_value_init
    - g_task_return_pointer
    - G_IS_TASK
    - g_value_copy
    - g_return_if_fail
    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:980,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:980,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:984,1
    - Dst: GIO_TASK_SET_PRIORITY
      Src: /src/glib/gio/gtask.c:984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - task
    - priority
    argTypes:
    - GTask*
    - gint
    constantsTouched: []
    func_position:
      end: 985
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 985
    functionName: g_task_set_priority
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - TRACE
    - GIO_TASK_SET_PRIORITY
    - G_IS_TASK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_task_set_priority (GTask *task, gint priority) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1014,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1015,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - task
    - check_cancellable
    argTypes:
    - GTask*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1149,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtask.c:1151,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1149,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtask.c:1154,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:1153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - task
    - name
    argTypes:
    - GTask*
    - char*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1156
    functionName: (g_task_set_name)
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_steal_pointer
    - G_IS_TASK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_task_set_name) (GTask *task, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1805,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gtask.c:1809,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1808,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gtask.c:1807,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1805,1
    - Dst: g_source_get_name
      Src: /src/glib/gio/gtask.c:1810,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/gtask.c:1811,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gtask.c:1813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - task
    - source
    - callback
    argTypes:
    - GTask*
    - GSource*
    - GSourceFunc
    constantsTouched: []
    func_position:
      end: 1814
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1814
    functionName: g_task_attach_source
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_object_ref
    - g_source_attach
    - G_IS_TASK
    - g_source_set_name
    - g_source_set_priority
    - g_source_get_name
    - g_return_if_fail
    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:1874,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1874,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1875,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - task
    - result
    - result_destroy
    argTypes:
    - GTask*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1881
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1881
    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:1905,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1910,1
    - Dst: g_task_propagate_error
      Src: /src/glib/gio/gtask.c:1907,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 1915
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1915
    functionName: g_task_propagate_pointer
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_propagate_error
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_task_propagate_pointer (GTask *task, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2142,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2142,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtask.c:2147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2151
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2151
    functionName: g_task_had_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_cancellable_is_cancelled
    - G_IS_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_had_error (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2262,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2266
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2266
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_unset
      Src: /src/glib/gio/gtask.c:2156,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:2157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2158
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2158
    functionName: value_free
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_value_unset
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void value_free (gpointer value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gtask.c:837,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:839,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:838,1
    - Dst: g_main_current_source
      Src: /src/glib/gio/gtask.c:844,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gtask.c:842,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/gtask.c:846,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:848,1
    - Dst: GIO_TASK_NEW
      Src: /src/glib/gio/gtask.c:848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - source_object
    - cancellable
    - callback
    - callback_data
    argTypes:
    - gpointer
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 852
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 852
    functionName: g_task_new
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_object_new
    - g_main_context_ref_thread_default
    - TRACE
    - g_main_current_source
    - GIO_TASK_NEW
    - g_source_get_time
    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:950,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:958,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:950,1
    - Dst: GIO_TASK_SET_TASK_DATA
      Src: /src/glib/gio/gtask.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - task
    - task_data
    - task_data_destroy
    argTypes:
    - GTask*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 959
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 959
    functionName: g_task_set_task_data
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - GIO_TASK_SET_TASK_DATA
    - TRACE
    - G_IS_TASK
    - 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:1758,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1760,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1758,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gtask.c:1766,1
    - Dst: g_task_start_task_thread
      Src: /src/glib/gio/gtask.c:1763,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1768,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1770,1
    - Dst: GIO_TASK_BEFORE_RETURN
      Src: /src/glib/gio/gtask.c:1770,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtask.c:1776,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtask.c:1776,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - task
    - task_func
    argTypes:
    - GTask*
    - GTaskThreadFunc
    constantsTouched: []
    func_position:
      end: 1779
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1779
    functionName: g_task_run_in_thread_sync
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_object_unref
    - g_cond_wait
    - g_task_start_task_thread
    - g_mutex_unlock
    - g_object_notify
    - TRACE
    - G_IS_TASK
    - GIO_TASK_BEFORE_RETURN
    - g_return_if_fail
    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:1824,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1836,1
    - Dst: GIO_TASK_PROPAGATE
      Src: /src/glib/gio/gtask.c:1836,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtask.c:1828,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 1839
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1839
    functionName: g_task_propagate_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - TRACE
    - g_propagate_error
    - GIO_TASK_PROPAGATE
    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:2050,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2051,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2050,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:2056,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError*
    constantsTouched: []
    func_position:
      end: 2057
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2057
    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_LOCK
      Src: /src/glib/gio/gioscheduler.c:62,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gioscheduler.c:64,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gioscheduler.c:63,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gioscheduler.c:67,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gioscheduler.c:68,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gioscheduler.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - job
    argTypes:
    - GIOSchedulerJob*
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: g_io_job_free
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_main_context_unref
    - g_list_delete_link
    - g_object_unref
    - G_UNLOCK
    - g_slice_free
    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:168,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gioscheduler.c:175,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gioscheduler.c:174,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gioscheduler.c:182,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gioscheduler.c:177,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gioscheduler.c:183,1
    - Dst: g_list_free
      Src: /src/glib/gio/gioscheduler.c:185,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames:
    - task
    - job
    - (
    - GDestroyNotify
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 186
    functionName: g_task_set_task_data
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_LOCK
    - G_UNLOCK
    - g_list_prepend
    - g_object_unref
    - g_cancellable_cancel
    - g_list_free
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS g_task_set_task_data (task, job, (GDestroyNotify)
      g_io_job_free); g_task_set_priority (task, io_priority); g_task_run_in_thread
      (task, io_job_thread); g_object_unref (task); } /** * g_io_scheduler_cancel_all_jobs:
      * * Cancels all cancellable I/O jobs. * * A job is cancellable if a #GCancellable
      was passed into * g_io_scheduler_push_job(). * * Deprecated: You should never
      call this function, since you don''t * know how other libraries in your program
      might be making use of * gioscheduler. **/ voidg_io_scheduler_cancel_all_jobs
      (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gioscheduler.c:134,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gioscheduler.c:137,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gioscheduler.c:175,1
    - Dst: g_free
      Src: /src/glib/gio/gioscheduler.c:222,1
    - Dst: g_new0
      Src: /src/glib/gio/gioscheduler.c:253,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gioscheduler.c:261,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gioscheduler.c:262,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gioscheduler.c:267,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gioscheduler.c:268,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gioscheduler.c:271,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gioscheduler.c:309,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gioscheduler.c:325,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gioscheduler.c:124,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gioscheduler.c:136,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gioscheduler.c:174,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gioscheduler.c:177,1
    - Dst: g_list_free
      Src: /src/glib/gio/gioscheduler.c:185,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gioscheduler.c:212,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gioscheduler.c:250,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gioscheduler.c:251,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gioscheduler.c:258,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gioscheduler.c:272,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gioscheduler.c:316,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gioscheduler.c:320,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gioscheduler.c:126,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gioscheduler.c:132,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gioscheduler.c:139,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gioscheduler.c:168,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gioscheduler.c:183,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gioscheduler.c:221,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gioscheduler.c:263,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gioscheduler.c:265,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gioscheduler.c:308,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gioscheduler.c:322,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gioscheduler.c:315,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gioscheduler.c:318,1
    - Dst: g_task_new
      Src: /src/glib/gio/gioscheduler.c:141,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gioscheduler.c:182,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gioscheduler.c:209,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gioscheduler.c:211,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gioscheduler.c:220,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gioscheduler.c:257,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gioscheduler.c:259,1
    - Dst: mainloop_proxy_free
      Src: /src/glib/gio/gioscheduler.c:275,1
    - Dst: g_new0
      Src: /src/glib/gio/gioscheduler.c:311,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gioscheduler.c:324,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gioscheduler.c:319,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 93
    argCount: 5
    argNames:
    - job_func
    - user_data
    - notify
    - io_priority
    - cancellable
    argTypes:
    - GIOSchedulerJobFunc
    - gpointer
    - GDestroyNotify
    - gint
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 326
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 326
    functionName: g_io_scheduler_push_job
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_mutex_init
    - g_source_unref
    - g_return_val_if_fail
    - g_source_attach
    - mainloop_proxy_free
    - g_object_unref
    - g_cond_wait
    - g_main_context_ref_thread_default
    - g_source_set_priority
    - g_cond_init
    - g_object_ref
    - g_source_set_static_name
    - g_list_prepend
    - g_cancellable_cancel
    - g_mutex_clear
    - g_source_set_callback
    - g_cond_signal
    - g_free
    - g_new0
    - G_LOCK
    - G_UNLOCK
    - g_task_new
    - g_idle_source_new
    - g_mutex_unlock
    - g_list_free
    - g_cond_clear
    - g_mutex_lock
    - g_return_if_fail
    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:250,1
    - Dst: g_new0
      Src: /src/glib/gio/gioscheduler.c:253,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gioscheduler.c:258,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gioscheduler.c:257,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gioscheduler.c:251,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gioscheduler.c:259,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gioscheduler.c:261,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gioscheduler.c:262,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gioscheduler.c:263,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gioscheduler.c:265,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gioscheduler.c:268,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gioscheduler.c:271,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gioscheduler.c:272,1
    - Dst: mainloop_proxy_free
      Src: /src/glib/gio/gioscheduler.c:275,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gioscheduler.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - job
    - func
    - user_data
    - notify
    argTypes:
    - GIOSchedulerJob*
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 278
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 278
    functionName: g_io_scheduler_job_send_to_mainloop
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_new0
    - g_source_set_static_name
    - mainloop_proxy_free
    - g_mutex_lock
    - g_cond_wait
    - g_mutex_unlock
    - g_mutex_init
    - g_source_unref
    - g_idle_source_new
    - g_return_val_if_fail
    - g_source_attach
    - g_source_set_priority
    - g_cond_init
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gioscheduler.c:308,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gioscheduler.c:315,1
    - Dst: g_new0
      Src: /src/glib/gio/gioscheduler.c:311,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gioscheduler.c:309,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gioscheduler.c:316,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gioscheduler.c:318,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gioscheduler.c:319,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gioscheduler.c:320,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gioscheduler.c:322,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gioscheduler.c:324,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gioscheduler.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - job
    - func
    - user_data
    - notify
    argTypes:
    - GIOSchedulerJob*
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 326
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 326
    functionName: g_io_scheduler_job_send_to_mainloop_async
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_new0
    - g_source_set_static_name
    - g_mutex_init
    - g_source_unref
    - g_idle_source_new
    - g_source_attach
    - g_source_set_priority
    - g_cond_init
    - g_return_if_fail
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gioscheduler.c:212,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gioscheduler.c:211,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gioscheduler.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: mainloop_proxy_func
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_cond_signal
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mainloop_proxy_func (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gioscheduler.c:82,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gioscheduler.c:91,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: 92
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 92
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gioscheduler.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/gioscheduler.c:222,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gioscheduler.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - MainLoopProxy*
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: mainloop_proxy_free
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_cond_clear
    - g_mutex_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mainloop_proxy_free (MainLoopProxy *proxy) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - 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_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:901,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:893,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_check_automatic
      Src: /src/glib/gio/gio-tool-mount.c:910,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gio-tool-mount.c:920,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:910,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:912,1
    - Dst: g_drive_enumerate_identifiers
      Src: /src/glib/gio/gio-tool-mount.c:876,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:879,1
    - Dst: g_drive_get_identifier
      Src: /src/glib/gio/gio-tool-mount.c:882,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:894,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:902,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gio-tool-mount.c:923,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:928,1
    - Dst: g_drive_get_volumes
      Src: /src/glib/gio/gio-tool-mount.c:930,1
    - Dst: list_volumes
      Src: /src/glib/gio/gio-tool-mount.c:931,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:868,1
    - Dst: get_type_name
      Src: /src/glib/gio/gio-tool-mount.c:867,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:864,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:885,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: show_themed_icon_names
      Src: /src/glib/gio/gio-tool-mount.c:902,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:908,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:909,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:911,1
    - Dst: g_drive_can_start
      Src: /src/glib/gio/gio-tool-mount.c:913,1
    - Dst: g_drive_get_name
      Src: /src/glib/gio/gio-tool-mount.c:862,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-mount.c:888,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gio-tool-mount.c:917,1
    - Dst: g_drive_can_stop
      Src: /src/glib/gio/gio-tool-mount.c:914,1
    - Dst: g_drive_get_start_stop_type
      Src: /src/glib/gio/gio-tool-mount.c:920,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:914,1
    - Dst: g_drive_has_media
      Src: /src/glib/gio/gio-tool-mount.c:909,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:
    - G_THEMED_ICON
    - g_drive_enumerate_identifiers
    - get_type_name
    - g_strfreev
    - g_drive_can_stop
    - g_list_free_full
    - g_type_class_ref
    - show_themed_icon_names
    - g_object_unref
    - g_drive_can_eject
    - g_print
    - g_drive_has_media
    - g_drive_get_name
    - g_drive_get_start_stop_type
    - g_drive_get_sort_key
    - list_volumes
    - g_drive_get_symbolic_icon
    - g_drive_is_media_removable
    - g_drive_is_media_check_automatic
    - g_free
    - g_drive_get_volumes
    - g_drive_can_start
    - g_drive_get_icon
    - g_drive_can_poll_for_media
    - g_type_class_unref
    - G_IS_THEMED_ICON
    - g_enum_get_value
    - g_drive_is_removable
    - g_drive_get_identifier
    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_strcmp0
      Src: /src/glib/gio/gio-tool-mount.c:1025,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_volume_get_identifier
      Src: /src/glib/gio/gio-tool-mount.c:1024,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: 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
    - Dst: _
      Src: /src/glib/gio/gio-tool-mount.c:1050,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1044,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1043,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_VOLUME
    - g_free
    - _
    - g_strcmp0
    - g_volume_monitor_get_volumes
    - g_volume_get_identifier
    - g_object_unref
    - print_error
    - new_mount_op
    - g_volume_mount
    - g_list_free_full
    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_print
      Src: /src/glib/gio/gio-tool-mount.c:1199,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1200,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_print
    - g_free
    - g_drive_get_name
    linkageType: ''
    returnType: void
    signature: 'static void monitor_drive_eject_button (GVolumeMonitor *volume_monitor,
      GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterate_gmain
      Src: /src/glib/gio/gio-tool-mount.c:943,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-tool-mount.c:947,1
    - Dst: g_volume_monitor_get_connected_drives
      Src: /src/glib/gio/gio-tool-mount.c:945,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_volume_monitor_get_mounts
    - g_volume_monitor_get_volumes
    - list_mounts
    - list_drives
    - g_list_free_full
    - iterate_gmain
    - list_volumes
    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: g_list_free
      Src: /src/glib/gio/gio-tool-mount.c:1063,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1064,1
    - Dst: list_mounts
      Src: /src/glib/gio/gio-tool-mount.c:1062,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_print
    - g_list_prepend
    - list_mounts
    - g_list_free
    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: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: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: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_signal_connect
    - g_print
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void monitor (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:622,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:629,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-mount.c:625,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_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:629,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_strdup_printf
      Src: /src/glib/gio/gio-tool-mount.c:627,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-mount.c:634,1
    - 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: strcmp
      Src: /src/glib/gio/gio-tool-mount.c:618,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:622,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - object
    argTypes:
    - gpointer
    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_OBJECT
    - g_strdup
    - g_object_get_data
    - g_type_name
    - g_strdup_printf
    - G_TYPE_FROM_INSTANCE
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static char *get_type_name (gpointer object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:233,1
    - Dst: atoi
      Src: /src/glib/gio/gio-tool-mount.c:246,1
    - Dst: g_mount_operation_set_choice
      Src: /src/glib/gio/gio-tool-mount.c:249,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:238,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:
    - g_free
    - g_mount_operation_reply
    - prompt_for
    - atoi
    - g_mount_operation_set_choice
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void ask_question_cb (GMountOperation *op, char *message, char
      **choices, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:583,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-mount.c:593,1
    - Dst: g_object_get
      Src: /src/glib/gio/gio-tool-mount.c:587,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:590,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:592,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_print
    - g_strfreev
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void show_themed_icon_names (GThemedIcon *icon, gboolean symbolic,
      int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterate_gmain
      Src: /src/glib/gio/gio-tool-mount.c:965,1
    - Dst: g_volume_monitor_get_mounts
      Src: /src/glib/gio/gio-tool-mount.c:967,1
    - Dst: g_mount_get_root
      Src: /src/glib/gio/gio-tool-mount.c:972,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gio-tool-mount.c:969,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_volume_monitor_get_mounts
    - g_object_unref
    - iterate_gmain
    - G_MOUNT
    - g_mount_get_root
    - unmount
    - g_list_free_full
    - g_file_has_uri_scheme
    linkageType: ''
    returnType: void
    signature: 'static void unmount_all_with_scheme (const char *scheme) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gio-tool-mount.c:1074,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mount.c:1076,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1077,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_print
    - g_list_prepend
    - list_volumes
    - g_list_free
    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_free
      Src: /src/glib/gio/gio-tool-mount.c:1120,1
    - Dst: monitor_print_mount
      Src: /src/glib/gio/gio-tool-mount.c:1121,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1119,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:
    - g_mount_get_name
    - g_print
    - g_free
    - monitor_print_mount
    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_free
      Src: /src/glib/gio/gio-tool-mount.c:1180,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
    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:
    - monitor_print_drive
    - g_print
    - g_free
    - 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: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:269,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gio-tool-mount.c:274,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_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
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:284,1
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:277,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:279,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_OBJECT
    - _
    - G_FILE
    - g_object_get_data
    - g_error_matches
    - g_error_free
    - g_object_unref
    - g_file_mount_mountable_finish
    - g_main_loop_quit
    - GPOINTER_TO_INT
    - print_file_error
    linkageType: ''
    returnType: void
    signature: 'static void mount_mountable_done_cb (GObject *object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_VOLUME
      Src: /src/glib/gio/gio-tool-mount.c:991,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:998,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-mount.c:997,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1002,1
    - Dst: g_volume_mount_finish
      Src: /src/glib/gio/gio-tool-mount.c:993,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_VOLUME
    - g_free
    - g_error_free
    - print_error
    - g_main_loop_quit
    - g_volume_mount_finish
    linkageType: ''
    returnType: void
    signature: 'static void mount_with_device_file_cb (GObject *object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gio-tool-mount.c:1087,1
    - Dst: list_drives
      Src: /src/glib/gio/gio-tool-mount.c:1088,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mount.c:1089,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1090,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:
    - list_drives
    - g_print
    - g_list_prepend
    - g_list_free
    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: monitor_print_mount
      Src: /src/glib/gio/gio-tool-mount.c:1131,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1129,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:
    - g_mount_get_name
    - g_print
    - g_free
    - monitor_print_mount
    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: monitor_print_drive
      Src: /src/glib/gio/gio-tool-mount.c:1191,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
    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:
    - monitor_print_drive
    - g_print
    - g_free
    - g_drive_get_name
    linkageType: ''
    returnType: void
    signature: 'static void monitor_drive_changed (GVolumeMonitor *volume_monitor,
      GDrive *drive) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_mount_enclosing_volume_finish
      Src: /src/glib/gio/gio-tool-mount.c:301,1
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:301,1
    - Dst: GPOINTER_TO_INT
      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: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:306,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_main_loop_quit
      Src: /src/glib/gio/gio-tool-mount.c:319,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
    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:
    - G_OBJECT
    - _
    - G_FILE
    - g_object_get_data
    - g_error_matches
    - g_error_free
    - g_object_unref
    - g_file_mount_enclosing_volume_finish
    - g_main_loop_quit
    - GPOINTER_TO_INT
    - print_file_error
    linkageType: ''
    returnType: void
    signature: 'static void mount_done_cb (GObject *object, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_operation_new
      Src: /src/glib/gio/gio-tool-mount.c:352,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:354,1
    - Dst: GINT_TO_POINTER
      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: 1
    argNames:
    - void
    argTypes:
    - void
    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_signal_connect
    - GINT_TO_POINTER
    - G_CALLBACK
    - g_object_set_data
    - g_mount_operation_new
    linkageType: ''
    returnType: GMountOperation*
    signature: 'static GMountOperation *new_mount_op (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:449,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_eject_with_operation_finish
      Src: /src/glib/gio/gio-tool-mount.c:451,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_FILE
    - g_error_free
    - g_object_unref
    - g_mount_eject_with_operation_finish
    - G_MOUNT
    - g_main_loop_quit
    - print_file_error
    linkageType: ''
    returnType: void
    signature: 'static void eject_done_cb (GObject *object, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - 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: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_print
      Src: /src/glib/gio/gio-tool-mount.c:719,1
    - Dst: g_mount_can_unmount
      Src: /src/glib/gio/gio-tool-mount.c:724,1
    - Dst: g_mount_get_sort_key
      Src: /src/glib/gio/gio-tool-mount.c:727,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_get_volume
      Src: /src/glib/gio/gio-tool-mount.c:662,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-mount.c:672,1
    - Dst: g_mount_get_icon
      Src: /src/glib/gio/gio-tool-mount.c:695,1
    - Dst: g_mount_get_default_location
      Src: /src/glib/gio/gio-tool-mount.c:686,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:690,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_free
      Src: /src/glib/gio/gio-tool-mount.c:735,1
    - Dst: g_mount_get_name
      Src: /src/glib/gio/gio-tool-mount.c:670,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: 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: 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_strfreev
      Src: /src/glib/gio/gio-tool-mount.c:722,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:729,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:717,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:734,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:725,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_print
      Src: /src/glib/gio/gio-tool-mount.c:674,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:691,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-mount.c:689,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:726,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:720,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:730,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_file_get_uri
    - g_mount_get_sort_key
    - G_THEMED_ICON
    - get_type_name
    - g_strfreev
    - g_mount_can_eject
    - g_mount_can_unmount
    - g_mount_get_default_location
    - show_themed_icon_names
    - g_mount_get_uuid
    - g_object_unref
    - g_mount_get_icon
    - g_mount_get_name
    - g_print
    - g_mount_get_volume
    - g_mount_is_shadowed
    - g_mount_get_root
    - g_mount_guess_content_type_sync
    - g_strv_length
    - g_free
    - G_IS_THEMED_ICON
    - g_mount_get_symbolic_icon
    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_strjoinv
      Src: /src/glib/gio/gio-tool-mount.c:336,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
    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_free
    - g_strsplit
    - g_strfreev
    - g_strjoinv
    - g_print
    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: new_mount_op
      Src: /src/glib/gio/gio-tool-mount.c:376,1
    - Dst: g_file_mount_mountable
      Src: /src/glib/gio/gio-tool-mount.c:379,1
    - Dst: g_file_mount_enclosing_volume
      Src: /src/glib/gio/gio-tool-mount.c:381,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:
    - g_file_mount_mountable
    - new_mount_op
    - g_file_mount_enclosing_volume
    linkageType: ''
    returnType: void
    signature: 'static void mount (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_find_enclosing_mount
      Src: /src/glib/gio/gio-tool-mount.c:481,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:484,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:486,1
    - Dst: new_mount_op
      Src: /src/glib/gio/gio-tool-mount.c:490,1
    - Dst: g_mount_eject_with_operation
      Src: /src/glib/gio/gio-tool-mount.c:492,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_ref
    - g_mount_eject_with_operation
    - g_error_free
    - g_file_find_enclosing_mount
    - g_object_unref
    - new_mount_op
    - print_file_error
    linkageType: ''
    returnType: void
    signature: 'static void eject (GFile *file) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:774,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_print
      Src: /src/glib/gio/gio-tool-mount.c:798,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:791,1
    - Dst: g_volume_get_activation_root
      Src: /src/glib/gio/gio-tool-mount.c:799,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_list_prepend
      Src: /src/glib/gio/gio-tool-mount.c:838,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:841,1
    - Dst: g_volume_can_eject
      Src: /src/glib/gio/gio-tool-mount.c:827,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:827,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:828,1
    - Dst: g_volume_should_automount
      Src: /src/glib/gio/gio-tool-mount.c:828,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:832,1
    - Dst: g_volume_get_mount
      Src: /src/glib/gio/gio-tool-mount.c:835,1
    - Dst: g_volume_get_name
      Src: /src/glib/gio/gio-tool-mount.c:771,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_free
      Src: /src/glib/gio/gio-tool-mount.c:778,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-mount.c:803,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:804,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:790,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_list_free
      Src: /src/glib/gio/gio-tool-mount.c:840,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:766,1
    - Dst: g_volume_get_identifier
      Src: /src/glib/gio/gio-tool-mount.c:788,1
    - Dst: g_volume_get_uuid
      Src: /src/glib/gio/gio-tool-mount.c:796,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_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
    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:
    - g_volume_can_mount
    - g_volume_get_activation_root
    - g_file_get_uri
    - g_volume_get_mount
    - g_volume_can_eject
    - G_THEMED_ICON
    - get_type_name
    - g_volume_get_name
    - g_strfreev
    - g_volume_get_drive
    - show_themed_icon_names
    - g_object_unref
    - list_mounts
    - g_volume_should_automount
    - g_print
    - g_volume_get_sort_key
    - g_volume_get_identifier
    - g_list_prepend
    - g_volume_get_uuid
    - g_free
    - g_volume_get_symbolic_icon
    - g_volume_enumerate_identifiers
    - g_volume_get_icon
    - G_IS_THEMED_ICON
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'static void list_volumes (GList *volumes, int indent, gboolean only_with_no_drive) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:94,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: 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: 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: strlen
      Src: /src/glib/gio/gio-tool-mount.c:133,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:136,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:147,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-mount.c:146,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - prompt
    - default_value
    - echo
    argTypes:
    - char*
    - char*
    - gboolean
    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:
    - tcgetattr
    - strlen
    - g_strdup
    - g_error
    - fgets
    - feof
    - tcsetattr
    - g_print
    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_unmount_with_operation_finish
      Src: /src/glib/gio/gio-tool-mount.c:395,1
    - Dst: G_MOUNT
      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: G_MOUNT
      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_FILE
    - g_mount_unmount_with_operation_finish
    - g_error_free
    - g_object_unref
    - G_MOUNT
    - g_main_loop_quit
    - print_file_error
    linkageType: ''
    returnType: void
    signature: 'static void unmount_done_cb (GObject *object, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_drive_stop_finish
      Src: /src/glib/gio/gio-tool-mount.c:506,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-mount.c:508,1
    - Dst: G_DRIVE
      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_error_free
      Src: /src/glib/gio/gio-tool-mount.c:509,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_free
    - g_error_free
    - print_error
    - g_main_loop_quit
    - g_drive_stop_finish
    - G_DRIVE
    linkageType: ''
    returnType: void
    signature: 'static void stop_with_device_file_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1098,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1099,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1100,1
    - Dst: monitor_print_mount
      Src: /src/glib/gio/gio-tool-mount.c:1101,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:
    - g_mount_get_name
    - g_print
    - g_free
    - monitor_print_mount
    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: 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
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1140,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:
    - g_print
    - g_volume_get_name
    - g_free
    - monitor_print_volume
    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: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1159,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1160,1
    - Dst: monitor_print_volume
      Src: /src/glib/gio/gio-tool-mount.c:1161,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:
    - g_print
    - g_volume_get_name
    - g_free
    - monitor_print_volume
    linkageType: ''
    returnType: void
    signature: 'static void monitor_volume_changed (GVolumeMonitor *volume_monitor,
      GVolume *volume) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - 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_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:208,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:206,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:190,1
    - Dst: g_mount_operation_set_pim
      Src: /src/glib/gio/gio-tool-mount.c:197,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:213,1
    - Dst: g_mount_operation_reply
      Src: /src/glib/gio/gio-tool-mount.c:220,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gio-tool-mount.c:208,1
    - Dst: g_mount_operation_set_is_tcrypt_system_volume
      Src: /src/glib/gio/gio-tool-mount.c:201,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gio-tool-mount.c:208,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_print
      Src: /src/glib/gio/gio-tool-mount.c:164,1
    - Dst: prompt_for
      Src: /src/glib/gio/gio-tool-mount.c:168,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_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_mount_operation_set_username
      Src: /src/glib/gio/gio-tool-mount.c:171,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:172,1
    - Dst: prompt_for
      Src: /src/glib/gio/gio-tool-mount.c:177,1
    - 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_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
    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:
    - G_OBJECT
    - g_mount_operation_set_domain
    - g_free
    - g_mount_operation_set_is_tcrypt_hidden_volume
    - GINT_TO_POINTER
    - g_mount_operation_reply
    - g_mount_operation_set_pim
    - g_object_get_data
    - prompt_for
    - g_mount_operation_set_password
    - g_object_set_data
    - g_mount_operation_set_anonymous
    - g_mount_operation_set_username
    - GPOINTER_TO_INT
    - g_print
    - g_mount_operation_set_is_tcrypt_system_volume
    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: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:428,1
    - Dst: new_mount_op
      Src: /src/glib/gio/gio-tool-mount.c:434,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_ref
    - g_error_free
    - g_file_find_enclosing_mount
    - g_object_unref
    - new_mount_op
    - print_file_error
    - g_mount_unmount_with_operation
    linkageType: ''
    returnType: void
    signature: 'static void unmount (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_monitor_get_connected_drives
      Src: /src/glib/gio/gio-tool-mount.c:527,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: new_mount_op
      Src: /src/glib/gio/gio-tool-mount.c:539,1
    - Dst: g_drive_get_identifier
      Src: /src/glib/gio/gio-tool-mount.c:533,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: print_error
      Src: /src/glib/gio/gio-tool-mount.c:558,1
    - Dst: _
      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_volume_monitor_get_connected_drives
    - g_drive_stop
    - g_free
    - _
    - g_strcmp0
    - g_object_unref
    - print_error
    - g_steal_pointer
    - new_mount_op
    - g_drive_get_identifier
    - g_list_free_full
    - G_DRIVE
    linkageType: ''
    returnType: void
    signature: 'static void stop_with_device_file (const char *device_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_timeout_add
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void iterate_gmain(void) '
  - 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: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1110,1
    - Dst: monitor_print_mount
      Src: /src/glib/gio/gio-tool-mount.c:1111,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:
    - g_mount_get_name
    - g_print
    - g_free
    - monitor_print_mount
    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: monitor_print_volume
      Src: /src/glib/gio/gio-tool-mount.c:1151,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1149,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1150,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:
    - g_print
    - g_volume_get_name
    - g_free
    - monitor_print_volume
    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: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1170,1
    - Dst: monitor_print_drive
      Src: /src/glib/gio/gio-tool-mount.c:1171,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:
    - monitor_print_drive
    - g_print
    - g_free
    - g_drive_get_name
    linkageType: ''
    returnType: void
    signature: 'static void monitor_drive_connected (GVolumeMonitor *volume_monitor,
      GDrive *drive) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-mount.c:1232,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1237,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mount.c:1244,1
    - Dst: list_monitor_items
      Src: /src/glib/gio/gio-tool-mount.c:1261,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mount.c:1251,1
    - Dst: eject
      Src: /src/glib/gio/gio-tool-mount.c:1278,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mount.c:1287,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-mount.c:1236,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mount.c:1245,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-mount.c:1249,1
    - Dst: stop_with_device_file
      Src: /src/glib/gio/gio-tool-mount.c:1265,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: 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_strdup_printf
      Src: /src/glib/gio/gio-tool-mount.c:1235,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: 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: mount
      Src: /src/glib/gio/gio-tool-mount.c:1280,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:1281,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mount.c:1292,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mount.c:1235,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_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: g_main_loop_new
      Src: /src/glib/gio/gio-tool-mount.c:1257,1
    - Dst: unmount_all_with_scheme
      Src: /src/glib/gio/gio-tool-mount.c:1267,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
    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_option_context_set_summary
    - list_monitor_items
    - g_volume_monitor_get
    - g_main_loop_run
    - unmount
    - show_help
    - g_file_new_for_commandline_arg
    - g_option_context_free
    - mount_with_id
    - g_object_unref
    - eject
    - unmount_all_with_scheme
    - g_option_context_new
    - g_error_free
    - stop_with_device_file
    - g_strdup_printf
    - mount
    - g_main_loop_new
    - g_option_context_set_help_enabled
    - g_free
    - g_set_prgname
    - g_option_context_parse
    - g_option_context_add_main_entries
    - monitor
    linkageType: ''
    returnType: int
    signature: 'int handle_mount (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsserverconnection.c:58,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsserverconnection.c:61,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdtlsserverconnection.c:59,1
    - Dst: P_
      Src: /src/glib/gio/gdtlsserverconnection.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDtlsServerConnectionInterface*
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: g_dtls_server_connection_default_init
    functionSourceFile: /src/glib/gio/gdtlsserverconnection.c
    functionUses: []
    functionsReached:
    - P_
    - g_param_spec_enum
    - g_object_interface_install_property
    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:89,1
    - Dst: G_DATAGRAM_BASED
      Src: /src/glib/gio/gdtlsserverconnection.c:95,1
    - Dst: g_tls_backend_get_dtls_server_connection_type
      Src: /src/glib/gio/gdtlsserverconnection.c:90,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdtlsserverconnection.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - base_socket
    - certificate
    - error
    argTypes:
    - GDatagramBased*
    - GTlsCertificate*
    - GError**
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: g_dtls_server_connection_new
    functionSourceFile: /src/glib/gio/gdtlsserverconnection.c
    functionUses: []
    functionsReached:
    - G_DATAGRAM_BASED
    - g_tls_backend_get_dtls_server_connection_type
    - g_initable_new
    - g_tls_backend_get_default
    linkageType: ''
    returnType: GDatagramBased*
    signature: 'GDatagramBased *g_dtls_server_connection_new (GDatagramBased *base_socket,
      GTlsCertificate *certificate, GError **error) '
  - 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: 2
    argNames:
    - action_map
    - action_name
    argTypes:
    - GActionMap*
    - gchar*
    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_hash_table_lookup
    - G_SIMPLE_ACTION_GROUP
    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: 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_get_name
      Src: /src/glib/gio/gsimpleactiongroup.c:194,1
    - Dst: g_action_group_action_removed
      Src: /src/glib/gio/gsimpleactiongroup.c:208,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_hash_table_insert
      Src: /src/glib/gio/gsimpleactiongroup.c:220,1
    - Dst: g_action_group_action_added
      Src: /src/glib/gio/gsimpleactiongroup.c:224,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleactiongroup.c:221,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:224,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleactiongroup.c:222,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_strdup
    - g_signal_connect
    - g_object_ref
    - g_action_group_action_removed
    - g_simple_action_group_disconnect
    - g_action_group_action_added
    - g_hash_table_insert
    - g_critical
    - G_CALLBACK
    - g_action_get_name
    - g_hash_table_lookup
    - G_SIMPLE_ACTION_GROUP
    - g_action_get_state_type
    - G_ACTION_GROUP
    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:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:57,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_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_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: 1
    argNames:
    - group
    argTypes:
    - GActionGroup*
    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_strdup
    - g_assert_cmpint
    - g_hash_table_size
    - g_new
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - G_SIMPLE_ACTION_GROUP
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_simple_action_group_list_actions (GActionGroup *group) '
  - 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_hash_table_lookup
    - G_SIMPLE_ACTION_GROUP
    - g_action_activate
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_activate (GActionGroup *group, const
      gchar *action_name, GVariant *parameter) '
  - 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_action_group_action_state_changed
      Src: /src/glib/gio/gsimpleactiongroup.c:160,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleactiongroup.c:163,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_get_name
    - g_action_group_action_state_changed
    - 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:351,1
    - Dst: G_IS_SIMPLE_ACTION_GROUP
      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
    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_IS_SIMPLE_ACTION_GROUP
    - G_ACTION_MAP
    - g_action_map_add_action
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_group_insert (GSimpleActionGroup *simple, GAction
      *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_action_enabled_changed
      Src: /src/glib/gio/gsimpleactiongroup.c:147,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/gsimpleactiongroup.c:148,1
    - Dst: g_action_get_enabled
      Src: /src/glib/gio/gsimpleactiongroup.c:149,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_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: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleactiongroup.c:326,1
    - Dst: g_action_map_lookup_action
      Src: /src/glib/gio/gsimpleactiongroup.c:328,1
    - Dst: G_ACTION_MAP
      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: 2
    argNames:
    - simple
    - action_name
    argTypes:
    - GSimpleActionGroup*
    - gchar*
    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_IS_SIMPLE_ACTION_GROUP
    - G_ACTION_MAP
    - g_return_val_if_fail
    - g_action_map_lookup_action
    linkageType: ''
    returnType: GAction*
    signature: 'GAction *g_simple_action_group_lookup (GSimpleActionGroup *simple,
      const gchar *action_name) '
  - 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_object_new
      Src: /src/glib/gio/gsimpleactiongroup.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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_return_if_fail
      Src: /src/glib/gio/gsimpleactiongroup.c:373,1
    - Dst: G_IS_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:373,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gsimpleactiongroup.c:375,1
    - Dst: g_action_map_remove_action
      Src: /src/glib/gio/gsimpleactiongroup.c:375,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_IS_SIMPLE_ACTION_GROUP
    - g_action_map_remove_action
    - G_ACTION_MAP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_group_remove (GSimpleActionGroup *simple, const
      gchar *action_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:84,1
    - Dst: g_action_get_parameter_type
      Src: /src/glib/gio/gsimpleactiongroup.c:96,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleactiongroup.c:87,1
    - Dst: g_action_get_enabled
      Src: /src/glib/gio/gsimpleactiongroup.c:93,1
    - Dst: g_action_get_state_type
      Src: /src/glib/gio/gsimpleactiongroup.c:99,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_action_get_parameter_type
    - g_action_get_state_hint
    - g_action_get_state
    - g_action_get_enabled
    - g_hash_table_lookup
    - G_SIMPLE_ACTION_GROUP
    - g_action_get_state_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:232,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:239,1
    - Dst: g_action_group_action_removed
      Src: /src/glib/gio/gsimpleactiongroup.c:239,1
    - Dst: g_simple_action_group_disconnect
      Src: /src/glib/gio/gsimpleactiongroup.c:240,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleactiongroup.c:235,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_simple_action_group_disconnect
    - g_hash_table_remove
    - g_hash_table_lookup
    - G_SIMPLE_ACTION_GROUP
    - G_ACTION_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_remove_action (GActionMap *action_map,
      const gchar *action_name) '
  - 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: 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_hash_table_lookup
    - G_SIMPLE_ACTION_GROUP
    - 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_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_hash_table_foreach
      Src: /src/glib/gio/gsimpleactiongroup.c:250,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleactiongroup.c:255,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_OBJECT_CLASS
    - g_hash_table_unref
    - G_SIMPLE_ACTION_GROUP
    - g_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:187,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdatainputstream.c:189,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - base_stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:411,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:411,1
    - Dst: GUINT16_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:418,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:413,1
    - Dst: GUINT16_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:421,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 431
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 431
    functionName: g_data_input_stream_read_uint16
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - GUINT16_FROM_BE
    - GUINT16_FROM_LE
    - read_data
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    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:555,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:555,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:557,1
    - Dst: GINT64_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:565,1
    - Dst: GINT64_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:562,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 575
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 575
    functionName: g_data_input_stream_read_int64
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - GINT64_FROM_LE
    - GINT64_FROM_BE
    - read_data
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    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:760,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:760,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:762,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:770,1
    - Dst: scan_for_newline
      Src: /src/glib/gio/gdatainputstream.c:768,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:771,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:772,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:773,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/gdatainputstream.c:775,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:781,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:798,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:798,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdatainputstream.c:804,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdatainputstream.c:796,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - stream
    - length
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 808
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 808
    functionName: g_data_input_stream_read_line
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_get_available
    - g_warn_if_fail
    - g_buffered_input_stream_get_buffer_size
    - g_buffered_input_stream_set_buffer_size
    - g_input_stream_read
    - g_buffered_input_stream_fill
    - scan_for_newline
    - G_INPUT_STREAM
    - g_return_val_if_fail
    - g_malloc
    - G_IS_DATA_INPUT_STREAM
    - G_BUFFERED_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_read_line
      Src: /src/glib/gio/gdatainputstream.c:841,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdatainputstream.c:847,1
    - Dst: g_free
      Src: /src/glib/gio/gdatainputstream.c:850,1
    - Dst: _
      Src: /src/glib/gio/gdatainputstream.c:849,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gdatainputstream.c:845,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - length
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 854
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 854
    functionName: g_data_input_stream_read_line_utf8
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_free
    - _
    - g_data_input_stream_read_line
    - g_set_error_literal
    - g_utf8_validate
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:870,1
    - Dst: g_buffered_input_stream_peek_buffer
      Src: /src/glib/gio/gdatainputstream.c:876,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - stream
    - checked_out
    - stop_chars
    - stop_chars_len
    argTypes:
    - GDataInputStream*
    - gsize*
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 893
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 893
    functionName: scan_for_chars
    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_chars (GDataInputStream *stream,\t\tgsize *checked_out,\t\tconst
      char *stop_chars, gsize stop_chars_len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_get_instance_private
      Src: /src/glib/gio/gdatainputstream.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataInputStream*
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:280,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataInputStream*
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    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:367,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:369,1
    - Dst: GINT16_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:377,1
    - Dst: GINT16_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:374,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:367,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 387
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 387
    functionName: g_data_input_stream_read_int16
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - GINT16_FROM_BE
    - GINT16_FROM_LE
    - read_data
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    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:643,1
    - Dst: g_buffered_input_stream_peek_buffer
      Src: /src/glib/gio/gdatainputstream.c:651,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: 721
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 721
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1227,1
    - Dst: g_data_input_stream_read_finish
      Src: /src/glib/gio/gdatainputstream.c:1229,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdatainputstream.c:1227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - stream
    - result
    - length
    - error
    argTypes:
    - GDataInputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1230
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1230
    functionName: g_data_input_stream_read_line_finish
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:257,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdatainputstream.c:265,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdatainputstream.c:265,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - type
    argTypes:
    - GDataInputStream*
    - GDataStreamNewlineType
    constantsTouched: []
    func_position:
      end: 267
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 267
    functionName: g_data_input_stream_set_newline_type
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdatainputstream.c:1067,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdatainputstream.c:1068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1069
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1069
    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_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1192,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1194,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1192,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1193,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatainputstream.c:1193,1
    - Dst: g_data_input_stream_read_async
      Src: /src/glib/gio/gdatainputstream.c:1196,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: 1198
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1198
    functionName: g_data_input_stream_read_until_async
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_IS_CANCELLABLE
    - G_IS_DATA_INPUT_STREAM
    - g_data_input_stream_read_async
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdatainputstream.c:1084,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdatainputstream.c:1096,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdatainputstream.c:1095,1
    - Dst: strlen
      Src: /src/glib/gio/gdatainputstream.c:1087,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gdatainputstream.c:1091,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdatainputstream.c:1097,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gdatainputstream.c:1098,1
    - Dst: g_data_input_stream_read_line_ready
      Src: /src/glib/gio/gdatainputstream.c:1100,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: 1101
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1101
    functionName: g_data_input_stream_read_async
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_task_data
    - g_task_new
    - g_task_set_source_tag
    - g_memdup2
    - g_data_input_stream_read_line_ready
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:507,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:509,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:514,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:517,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:507,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 527
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 527
    functionName: g_data_input_stream_read_uint32
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - GUINT32_FROM_BE
    - GUINT32_FROM_LE
    - read_data
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:337,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:337,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 343
    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:459,1
    - Dst: GINT32_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:469,1
    - Dst: GINT32_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:466,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:459,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:461,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 479
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 479
    functionName: g_data_input_stream_read_int32
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - GINT32_FROM_BE
    - read_data
    - GINT32_FROM_LE
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    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_OBJECT_CLASS
      Src: /src/glib/gio/gdatainputstream.c:75,1
    - Dst: P_
      Src: /src/glib/gio/gdatainputstream.c:90,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdatainputstream.c:88,1
    - Dst: P_
      Src: /src/glib/gio/gdatainputstream.c:89,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdatainputstream.c:86,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdatainputstream.c:101,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdatainputstream.c:103,1
    - Dst: P_
      Src: /src/glib/gio/gdatainputstream.c:104,1
    - Dst: P_
      Src: /src/glib/gio/gdatainputstream.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDataInputStreamClass*
    constantsTouched: []
    func_position:
      end: 109
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 109
    functionName: g_data_input_stream_class_init
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - P_
    - G_OBJECT_CLASS
    - g_param_spec_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_class_init (GDataInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:234,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataInputStream*
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    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:295,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdatainputstream.c:304,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/gdatainputstream.c:297,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:297,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:295,1
    - Dst: _
      Src: /src/glib/gio/gdatainputstream.c:305,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:311,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:311,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdatainputstream.c:314,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: 316
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 316
    functionName: read_data
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - _
    - g_buffered_input_stream_get_available
    - g_warn_if_fail
    - g_buffered_input_stream_fill
    - G_INPUT_STREAM
    - g_set_error_literal
    - g_input_stream_read
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_data (GDataInputStream *stream, void *buffer,
      gsize size, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1148,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1149,1
    - Dst: g_data_input_stream_read_async
      Src: /src/glib/gio/gdatainputstream.c:1151,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatainputstream.c:1149,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1148,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: 1153
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1153
    functionName: g_data_input_stream_read_line_async
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_IS_CANCELLABLE
    - G_IS_DATA_INPUT_STREAM
    - g_data_input_stream_read_async
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1299,1
    - Dst: g_data_input_stream_read_finish
      Src: /src/glib/gio/gdatainputstream.c:1301,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdatainputstream.c:1299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - stream
    - result
    - length
    - error
    argTypes:
    - GDataInputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1302
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1302
    functionName: g_data_input_stream_read_until_finish
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1438,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatainputstream.c:1439,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1440,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1438,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1439,1
    - Dst: g_data_input_stream_read_async
      Src: /src/glib/gio/gdatainputstream.c:1442,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: 1444
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1444
    functionName: g_data_input_stream_read_upto_async
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_IS_CANCELLABLE
    - G_IS_DATA_INPUT_STREAM
    - g_data_input_stream_read_async
    - 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:1475,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdatainputstream.c:1475,1
    - Dst: g_data_input_stream_read_finish
      Src: /src/glib/gio/gdatainputstream.c:1477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - stream
    - result
    - length
    - error
    argTypes:
    - GDataInputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1478
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1478
    functionName: g_data_input_stream_read_upto_finish
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_return_val_if_fail
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:119,1
    - Dst: g_data_input_stream_set_newline_type
      Src: /src/glib/gio/gdatainputstream.c:128,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdatainputstream.c:124,1
    - Dst: g_data_input_stream_set_byte_order
      Src: /src/glib/gio/gdatainputstream.c:124,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdatainputstream.c:128,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdatainputstream.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 136
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 136
    functionName: g_data_input_stream_set_property
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_DATA_INPUT_STREAM
    - g_value_get_enum
    - g_data_input_stream_set_byte_order
    - g_data_input_stream_set_newline_type
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:211,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdatainputstream.c:219,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:211,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdatainputstream.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - order
    argTypes:
    - GDataInputStream*
    - GDataStreamByteOrder
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: g_data_input_stream_set_byte_order
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:932,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:943,1
    - Dst: g_data_input_stream_read_upto
      Src: /src/glib/gio/gdatainputstream.c:934,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:943,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:938,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatainputstream.c:944,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 5
    argNames:
    - stream
    - stop_chars
    - length
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - gchar*
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 948
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 948
    functionName: g_data_input_stream_read_until
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_get_available
    - g_assert
    - g_data_input_stream_read_upto
    - G_INPUT_STREAM
    - g_input_stream_read
    - G_BUFFERED_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:965,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdatainputstream.c:966,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:978,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdatainputstream.c:974,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gdatainputstream.c:979,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/gdatainputstream.c:981,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gdatainputstream.c:982,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdatainputstream.c:985,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdatainputstream.c:986,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - task
    - read_length
    - skip_length
    argTypes:
    - GTask*
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 987
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 987
    functionName: g_data_input_stream_read_complete
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_task_get_source_object
    - g_input_stream_skip
    - g_object_unref
    - g_task_return_pointer
    - g_input_stream_read
    - g_task_get_task_data
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_read_complete (GTask *task, gsize
      read_length, gsize skip_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gdatainputstream.c:1109,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdatainputstream.c:1116,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdatainputstream.c:1112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 4
    argNames:
    - stream
    - result
    - length
    - error
    argTypes:
    - GDataInputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1122
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1122
    functionName: g_data_input_stream_read_finish
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_task_propagate_pointer
    - g_task_get_task_data
    - G_TASK
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_data_input_stream_read_finish (GDataInputStream *stream,
      GAsyncResult *result, gsize *length, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_read_line_finish
      Src: /src/glib/gio/gdatainputstream.c:1259,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdatainputstream.c:1265,1
    - Dst: g_free
      Src: /src/glib/gio/gdatainputstream.c:1268,1
    - Dst: _
      Src: /src/glib/gio/gdatainputstream.c:1267,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gdatainputstream.c:1263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - result
    - length
    - error
    argTypes:
    - GDataInputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1272
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1272
    functionName: g_data_input_stream_read_line_finish_utf8
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_free
    - _
    - g_data_input_stream_read_line_finish
    - g_set_error_literal
    - g_utf8_validate
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1349,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1356,1
    - Dst: scan_for_chars
      Src: /src/glib/gio/gdatainputstream.c:1360,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1349,1
    - Dst: strlen
      Src: /src/glib/gio/gdatainputstream.c:1352,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:1362,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1363,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1364,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1365,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/gdatainputstream.c:1367,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdatainputstream.c:1387,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1395,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:1373,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1389,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:1389,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 6
    argNames:
    - stream
    - stop_chars
    - stop_chars_len
    - length
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - gchar*
    - gssize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1399
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1399
    functionName: g_data_input_stream_read_upto
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - strlen
    - scan_for_chars
    - g_buffered_input_stream_get_available
    - g_warn_if_fail
    - g_buffered_input_stream_get_buffer_size
    - g_buffered_input_stream_set_buffer_size
    - g_input_stream_read
    - g_buffered_input_stream_fill
    - G_INPUT_STREAM
    - g_return_val_if_fail
    - g_malloc
    - G_IS_DATA_INPUT_STREAM
    - G_BUFFERED_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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:147,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gdatainputstream.c:153,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdatainputstream.c:161,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gdatainputstream.c:157,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 165
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 165
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdatainputstream.c:995,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdatainputstream.c:1014,1
    - Dst: g_buffered_input_stream_fill_finish
      Src: /src/glib/gio/gdatainputstream.c:1006,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdatainputstream.c:996,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdatainputstream.c:1013,1
    - Dst: g_data_input_stream_read_complete
      Src: /src/glib/gio/gdatainputstream.c:1018,1
    - Dst: scan_for_chars
      Src: /src/glib/gio/gdatainputstream.c:1027,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1027,1
    - Dst: scan_for_newline
      Src: /src/glib/gio/gdatainputstream.c:1034,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1034,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1042,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1046,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gdatainputstream.c:1050,1
    - Dst: g_buffered_input_stream_fill_async
      Src: /src/glib/gio/gdatainputstream.c:1049,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:1044,1
    - Dst: g_data_input_stream_read_complete
      Src: /src/glib/gio/gdatainputstream.c:1058,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdatainputstream.c:1051,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1060
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1060
    functionName: g_data_input_stream_read_line_ready
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_DATA_INPUT_STREAM
    - g_task_get_source_object
    - scan_for_chars
    - g_buffered_input_stream_fill_finish
    - g_buffered_input_stream_get_available
    - g_data_input_stream_read_complete
    - g_object_unref
    - g_buffered_input_stream_get_buffer_size
    - g_buffered_input_stream_set_buffer_size
    - g_buffered_input_stream_fill_async
    - g_task_return_error
    - scan_for_newline
    - g_task_get_priority
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_read_line_ready (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:603,1
    - Dst: GUINT64_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:613,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:603,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:605,1
    - Dst: GUINT64_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:610,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 623
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 623
    functionName: g_data_input_stream_read_uint64
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - GUINT64_FROM_LE
    - GUINT64_FROM_BE
    - read_data
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    linkageType: ''
    returnType: guint64
    signature: "guint64 g_data_input_stream_read_uint64 (GDataInputStream *stream,\t\t\t\tGCancellable
      *cancellable,\t\t\t\tGError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-rename.c:71,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-rename.c:77,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:97,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-rename.c:43,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: _
      Src: /src/glib/gio/gio-tool-rename.c:51,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-rename.c:52,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_free
      Src: /src/glib/gio/gio-tool-rename.c:98,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-rename.c:61,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-rename.c:57,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_error_free
      Src: /src/glib/gio/gio-tool-rename.c:90,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-rename.c:101,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-rename.c:46,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: 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:72,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:65,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-rename.c:78,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
    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_option_context_new
    - _
    - g_set_prgname
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - g_file_get_uri
    - g_option_context_parse
    - g_error_free
    - g_option_context_add_main_entries
    - print_error
    - g_object_unref
    - g_strdup_printf
    - g_file_set_display_name
    - g_option_context_set_help_enabled
    - g_print
    - show_help
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: int
    signature: 'int handle_rename (int argc, char *argv[], gboolean do_help) '
  - 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: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    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:647,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 649
    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:695,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmountoperation.c:697,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:698,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:696,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:695,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - op
    - password
    argTypes:
    - GMountOperation*
    - char*
    constantsTouched: []
    func_position:
      end: 699
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 699
    functionName: g_mount_operation_set_password
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - G_IS_MOUNT_OPERATION
    - g_free
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_password (GMountOperation *op,\t\t\t\tconst
      char *password) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:800,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:806,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:806,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - save
    argTypes:
    - GMountOperation*
    - GPasswordSave
    constantsTouched: []
    func_position:
      end: 808
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 808
    functionName: g_mount_operation_set_password_save
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_MOUNT_OPERATION
    - g_object_notify
    - 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:879,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:885,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:885,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:879,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - hidden_volume
    argTypes:
    - GMountOperation*
    - gboolean
    constantsTouched: []
    func_position:
      end: 887
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 887
    functionName: g_mount_operation_set_is_tcrypt_hidden_volume
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_MOUNT_OPERATION
    - g_object_notify
    - 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:944,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 946
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 946
    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: I_
      Src: /src/glib/gio/gmountoperation.c:321,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:322,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmountoperation.c:329,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:388,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:388,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:370,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:389,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:429,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:471,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:480,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:541,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gmountoperation.c:592,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gmountoperation.c:497,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:537,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gmountoperation.c:555,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:509,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:570,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:350,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:367,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:356,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:420,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:423,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:462,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:462,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:463,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:483,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:512,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gmountoperation.c:539,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:573,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gmountoperation.c:511,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gmountoperation.c:572,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:590,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gmountoperation.c:482,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:610,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:556,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:526,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:593,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:324,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:330,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:347,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:367,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:368,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:391,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmountoperation.c:428,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmountoperation.c:470,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:498,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:499,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gmountoperation.c:525,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:523,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:527,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:594,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:607,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:540,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:513,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:574,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmountoperation.c:296,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:321,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:347,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:348,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmountoperation.c:355,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:420,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:421,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:465,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:484,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:495,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gmountoperation.c:609,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:611,1
    - Dst: P_
      Src: /src/glib/gio/gmountoperation.c:557,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 111
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GMountOperationClass*
    constantsTouched: []
    func_position:
      end: 615
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 615
    functionName: g_mount_operation_class_init
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_int
    - I_
    - G_TYPE_FROM_CLASS
    - g_param_spec_boolean
    - g_signal_new
    - g_param_spec_uint
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - g_param_spec_string
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - P_
    linkageType: ''
    returnType: void
    signature: 'static void g_mount_operation_class_init (GMountOperationClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:679,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    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:783,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 785
    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:861,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 863
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 863
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:172,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmountoperation.c:186,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gmountoperation.c:190,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gmountoperation.c:182,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gmountoperation.c:178,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gmountoperation.c:194,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gmountoperation.c:198,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmountoperation.c:202,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmountoperation.c:206,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gmountoperation.c:210,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gmountoperation.c:214,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 15
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 217
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 217
    functionName: g_mount_operation_get_property
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_value_set_uint
    - g_value_set_enum
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_MOUNT_OPERATION
    - g_value_set_boolean
    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_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:226,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:232,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_OBJECT_CLASS
      Src: /src/glib/gio/gmountoperation.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: g_mount_operation_finalize
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_free
    - G_OBJECT_CLASS
    - G_MOUNT_OPERATION
    linkageType: ''
    returnType: void
    signature: 'static void g_mount_operation_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:729,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:735,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:735,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - anonymous
    argTypes:
    - GMountOperation*
    - gboolean
    constantsTouched: []
    func_position:
      end: 737
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 737
    functionName: g_mount_operation_set_anonymous
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_MOUNT_OPERATION
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_anonymous (GMountOperation *op,\t\t\t\t
      gboolean anonymous) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:921,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:921,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:927,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - system_volume
    argTypes:
    - GMountOperation*
    - gboolean
    constantsTouched: []
    func_position:
      end: 929
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 929
    functionName: g_mount_operation_set_is_tcrypt_system_volume
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_MOUNT_OPERATION
    - g_object_notify
    - 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_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:982,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:982,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gmountoperation.c:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - op
    - result
    argTypes:
    - GMountOperation*
    - GMountOperationResult
    constantsTouched: []
    func_position:
      end: 984
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 984
    functionName: g_mount_operation_reply
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_IS_MOUNT_OPERATION
    - g_signal_emit
    - 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_mount_operation_reply
      Src: /src/glib/gio/gmountoperation.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    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_idle_add_full
      Src: /src/glib/gio/gmountoperation.c:264,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmountoperation.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - op
    - message
    - choices
    argTypes:
    - GMountOperation*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    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:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:713,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 715
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 715
    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:765,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:765,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:768,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmountoperation.c:767,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:766,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - op
    - domain
    argTypes:
    - GMountOperation*
    - char*
    constantsTouched: []
    func_position:
      end: 769
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 769
    functionName: g_mount_operation_set_domain
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - G_IS_MOUNT_OPERATION
    - g_free
    - g_object_notify
    - g_return_if_fail
    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:838,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:838,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:843,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - choice
    argTypes:
    - GMountOperation*
    - int
    constantsTouched: []
    func_position:
      end: 845
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 845
    functionName: g_mount_operation_set_choice
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_MOUNT_OPERATION
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_choice (GMountOperation *op,\t\t\t int
      choice) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:903,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 905
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 905
    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_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:107,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gmountoperation.c:118,1
    - Dst: g_mount_operation_set_anonymous
      Src: /src/glib/gio/gmountoperation.c:122,1
    - Dst: g_mount_operation_set_is_tcrypt_hidden_volume
      Src: /src/glib/gio/gmountoperation.c:142,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gmountoperation.c:138,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gmountoperation.c:113,1
    - Dst: g_mount_operation_set_password
      Src: /src/glib/gio/gmountoperation.c:117,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gmountoperation.c:133,1
    - Dst: g_mount_operation_set_choice
      Src: /src/glib/gio/gmountoperation.c:137,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gmountoperation.c:153,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gmountoperation.c:128,1
    - Dst: g_mount_operation_set_password_save
      Src: /src/glib/gio/gmountoperation.c:132,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gmountoperation.c:148,1
    - Dst: g_mount_operation_set_pim
      Src: /src/glib/gio/gmountoperation.c:152,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gmountoperation.c:157,1
    - Dst: g_mount_operation_set_username
      Src: /src/glib/gio/gmountoperation.c:112,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gmountoperation.c:123,1
    - Dst: g_mount_operation_set_domain
      Src: /src/glib/gio/gmountoperation.c:127,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gmountoperation.c:143,1
    - Dst: g_mount_operation_set_is_tcrypt_system_volume
      Src: /src/glib/gio/gmountoperation.c:147,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 160
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 160
    functionName: g_mount_operation_set_property
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_value_get_string
    - g_mount_operation_set_domain
    - g_mount_operation_set_is_tcrypt_hidden_volume
    - g_value_get_int
    - g_mount_operation_set_password_save
    - g_mount_operation_set_pim
    - g_value_get_uint
    - g_value_get_enum
    - g_mount_operation_set_password
    - g_mount_operation_set_anonymous
    - g_mount_operation_set_choice
    - g_mount_operation_set_username
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_mount_operation_set_is_tcrypt_system_volume
    - G_MOUNT_OPERATION
    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:253,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmountoperation.c:255,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: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    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_idle_add_full
      Src: /src/glib/gio/gmountoperation.c:276,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmountoperation.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - op
    - message
    - processes
    - choices
    argTypes:
    - GMountOperation*
    - gchar*
    - GArray*
    - gchar*
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    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_object_new
      Src: /src/glib/gio/gmountoperation.c:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 634
    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:750,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 752
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 752
    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:822,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 824
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 824
    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_mount_operation_get_instance_private
      Src: /src/glib/gio/gmountoperation.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - operation
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 621
    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_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:662,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:663,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:665,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmountoperation.c:664,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:662,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - op
    - username
    argTypes:
    - GMountOperation*
    - char*
    constantsTouched: []
    func_position:
      end: 666
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 666
    functionName: g_mount_operation_set_username
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT
    - G_IS_MOUNT_OPERATION
    - g_free
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_username (GMountOperation *op,\t\t\t\tconst
      char *username) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:962,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:967,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:967,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - pim
    argTypes:
    - GMountOperation*
    - guint
    constantsTouched: []
    func_position:
      end: 969
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 969
    functionName: g_mount_operation_set_pim
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_MOUNT_OPERATION
    - g_object_notify
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mount_operation_set_pim (GMountOperation *op, guint pim) '
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/glocalvfs.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gio/glocalvfs.c:102,1
    - Dst: strchr
      Src: /src/glib/gio/glocalvfs.c:108,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:104,1
    - Dst: strchr
      Src: /src/glib/gio/glocalvfs.c:105,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:110,1
    - Dst: strchr
      Src: /src/glib/gio/glocalvfs.c:111,1
    - Dst: g_filename_from_uri
      Src: /src/glib/gio/glocalvfs.c:117,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:120,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalvfs.c:123,1
    - Dst: _g_dummy_file_new
      Src: /src/glib/gio/glocalvfs.c:125,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:127,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - vfs
    - uri
    argTypes:
    - GVfs*
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 130
    functionName: g_local_vfs_get_file_for_uri
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - _g_local_file_new
    - g_free
    - g_filename_from_uri
    - _g_dummy_file_new
    - strchr
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_local_vfs_get_file_for_uri (GVfs *vfs, const char
      *uri) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalvfs.c:150,1
    - Dst: g_strndup
      Src: /src/glib/gio/glocalvfs.c:178,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:188,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:199,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalvfs.c:209,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/glocalvfs.c:150,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:172,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalvfs.c:191,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalvfs.c:186,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalvfs.c:198,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:184,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:191,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/gio/glocalvfs.c:153,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalvfs.c:151,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:180,1
    - Dst: g_filename_from_utf8
      Src: /src/glib/gio/glocalvfs.c:196,1
    - Dst: g_filename_from_utf8
      Src: /src/glib/gio/glocalvfs.c:203,1
    - Dst: g_filename_from_uri
      Src: /src/glib/gio/glocalvfs.c:154,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalvfs.c:172,1
    - Dst: g_unix_get_passwd_entry
      Src: /src/glib/gio/glocalvfs.c:179,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:186,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:200,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:207,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:210,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - vfs
    - parse_name
    argTypes:
    - GVfs*
    - char*
    constantsTouched: []
    func_position:
      end: 213
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 213
    functionName: g_local_vfs_parse_name
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached:
    - G_IS_VFS
    - g_strdup
    - _g_local_file_new
    - g_free
    - g_get_home_dir
    - g_strndup
    - g_filename_from_utf8
    - g_return_val_if_fail
    - g_build_filename
    - g_filename_from_uri
    - g_ascii_strncasecmp
    - g_unix_get_passwd_entry
    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: 2
    argNames:
    - vfs
    - path
    argTypes:
    - GVfs*
    - char*
    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_local_file_new
    - _g_dummy_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: 1
    argNames:
    - vfs
    argTypes:
    - GVfs*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    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: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    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:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - class
    argTypes:
    - GLocalVfsClass*
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 238
    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: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    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:203,1
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 209
    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_simple_async_result_propagate_error
      Src: /src/glib/gio/gasyncresult.c:203,1
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - (res)
    argTypes:
    - G_IS_SIMPLE_ASYNC_RESULT
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gasyncresult.c:230,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:230,1
    - Dst: G_ASYNC_RESULT_GET_IFACE
      Src: /src/glib/gio/gasyncresult.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - res
    - source_tag
    argTypes:
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 238
    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_return_val_if_fail
      Src: /src/glib/gio/gasyncresult.c:162,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:162,1
    - Dst: G_ASYNC_RESULT_GET_IFACE
      Src: /src/glib/gio/gasyncresult.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - GAsyncResult*
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    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_return_val_if_fail
      Src: /src/glib/gio/gasyncresult.c:141,1
    - Dst: G_ASYNC_RESULT_GET_IFACE
      Src: /src/glib/gio/gasyncresult.c:143,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - GAsyncResult*
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1627,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1629,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1636,1
    - Dst: dump_interface
      Src: /src/glib/gio/gdbus-tool.c:1642,1
    - Dst: dump_interface
      Src: /src/glib/gio/gdbus-tool.c:1646,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:1654,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1656,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:1658,1
    - Dst: introspect_do
      Src: /src/glib/gio/gdbus-tool.c:1660,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1664,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1670,1
    - Dst: introspect_do
      Src: /src/glib/gio/gdbus-tool.c:1674,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:1671,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1676,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1688,1
    - Dst: dump_node
      Src: /src/glib/gio/gdbus-tool.c:1680,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1683,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:1673,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: 1690
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1690
    functionName: dump_node
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_strdup
    - dump_interface
    - g_free
    - dump_annotation
    - g_variant_is_object_path
    - g_strcmp0
    - introspect_do
    - g_strdup_printf
    - g_str_has_prefix
    - dump_node
    - g_print
    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:
    - Dst: g_win32_run_session_bus
      Src: /src/glib/gio/gdbus-tool.c:2550,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: 2553
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2553
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:500,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:514,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gdbus-tool.c:519,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:506,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdbus-tool.c:515,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbus-tool.c:522,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:523,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/gdbus-tool.c:528,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbus-tool.c:531,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:532,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbus-tool.c:541,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gdbus-tool.c:538,1
    - Dst: g_variant_type_new
      Src: /src/glib/gio/gdbus-tool.c:541,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:548,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbus-tool.c:546,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 37
    argCount: 6
    argNames:
    - c
    - dest
    - path
    - interface_name
    - method_name
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 551
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 551
    functionName: call_helper_get_method_in_signature
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_dbus_node_info_new_for_xml
    - _
    - g_ptr_array_new_with_free_func
    - g_variant_unref
    - g_dbus_node_info_lookup_interface
    - g_dbus_node_info_unref
    - g_variant_get
    - g_dbus_interface_info_lookup_method
    - g_variant_type_new
    - g_ptr_array_add
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:1719,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1732,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1732,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1733,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:1725,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:1736,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1740,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdbus-tool.c:1745,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1748,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1748,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1749,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbus-tool.c:1760,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1762,1
    - Dst: dump_node
      Src: /src/glib/gio/gdbus-tool.c:1753,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: 1764
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1764
    functionName: introspect_do
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - _
    - g_dbus_node_info_new_for_xml
    - g_error_free
    - g_variant_unref
    - g_dbus_node_info_unref
    - g_variant_get
    - dump_node
    - g_print
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean introspect_do (GDBusConnection *c, const gchar *object_path,
      guint indent, gboolean use_colors) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:2192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 2195
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2195
    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: 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: 2218
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2218
    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: 25
    BranchProfiles: []
    Callsites:
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:1785,1
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:1787,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:1789,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:1795,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:1802,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1810,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1835,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1852,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1878,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1884,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1909,1
    - Dst: fileno
      Src: /src/glib/gio/gdbus-tool.c:1917,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1898,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbus-tool.c:1926,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:1817,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1822,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1835,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1837,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:1857,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:1863,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1869,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1869,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:1885,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:1892,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1811,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1824,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:1809,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:1843,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1852,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1855,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:1857,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1878,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1904,1
    - Dst: g_log_writer_supports_color
      Src: /src/glib/gio/gdbus-tool.c:1917,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:1927,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1893,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:1896,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1787,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:1789,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1792,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1799,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:1805,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1830,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1850,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:1867,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1876,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1881,1
    - Dst: introspect_do
      Src: /src/glib/gio/gdbus-tool.c:1919,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1898,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: 1929
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1929
    functionName: handle_introspect
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - _
    - fileno
    - g_log_writer_supports_color
    - g_option_context_add_group
    - print_names
    - print_paths
    - g_option_context_free
    - g_strcmp0
    - g_object_unref
    - remove_arg
    - g_str_has_prefix
    - g_print
    - command_option_context_new
    - connection_get_group
    - g_variant_is_object_path
    - g_option_context_get_help
    - g_error_free
    - introspect_do
    - g_dbus_is_name
    - g_printerr
    - g_strdup
    - g_free
    - strrchr
    - g_option_context_parse
    - connection_get_dbus_connection
    - modify_argv0_for_command
    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_variant_print
      Src: /src/glib/gio/gdbus-tool.c:1948,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1954,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1949,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: 1955
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1955
    functionName: monitor_signal_cb
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_variant_print
    - g_print
    - g_free
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2229
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2229
    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: setlocale
      Src: /src/glib/gio/gdbus-tool.c:2453,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/gdbus-tool.c:2457,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gdbus-tool.c:2465,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2484,1
    - Dst: handle_introspect
      Src: /src/glib/gio/gdbus-tool.c:2519,1
    - Dst: handle_call
      Src: /src/glib/gio/gdbus-tool.c:2509,1
    - Dst: handle_emit
      Src: /src/glib/gio/gdbus-tool.c:2499,1
    - Dst: handle_monitor
      Src: /src/glib/gio/gdbus-tool.c:2529,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2610,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2637,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gdbus-tool.c:2458,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2459,1
    - Dst: usage
      Src: /src/glib/gio/gdbus-tool.c:2492,1
    - Dst: strtol
      Src: /src/glib/gio/gdbus-tool.c:2567,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2573,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2574,1
    - Dst: pick_word_at
      Src: /src/glib/gio/gdbus-tool.c:2595,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2624,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2630,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2638,1
    - Dst: textdomain
      Src: /src/glib/gio/gdbus-tool.c:2454,1
    - Dst: usage
      Src: /src/glib/gio/gdbus-tool.c:2474,1
    - Dst: handle_wait
      Src: /src/glib/gio/gdbus-tool.c:2539,1
    - Dst: g_win32_run_session_bus
      Src: /src/glib/gio/gdbus-tool.c:2550,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2572,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2576,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2578,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2609,1
    - Dst: usage
      Src: /src/glib/gio/gdbus-tool.c:2631,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gdbus-tool.c:2461,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2517,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2507,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2537,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2527,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2497,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2575,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/gio/gdbus-tool.c:2581,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2601,1
    - Dst: pick_word_at
      Src: /src/glib/gio/gdbus-tool.c:2603,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 2640
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2640
    functionName: main
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - _glib_get_locale_dir
    - handle_introspect
    - handle_wait
    - g_ascii_isspace
    - handle_monitor
    - strtol
    - usage
    - handle_call
    - g_strcmp0
    - completion_debug
    - g_print
    - textdomain
    - g_shell_parse_argv
    - bind_textdomain_codeset
    - g_printerr
    - setlocale
    - g_win32_run_session_bus
    - g_free
    - pick_word_at
    - handle_emit
    - bindtextdomain
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/glib/gio/gdbus-tool.c:2567,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2573,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2574,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2575,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2572,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2576,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2578,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/gio/gdbus-tool.c:2581,1
    - Dst: pick_word_at
      Src: /src/glib/gio/gdbus-tool.c:2595,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2601,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2610,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2609,1
    - Dst: pick_word_at
      Src: /src/glib/gio/gdbus-tool.c:2603,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - (command, "complete") == 0 && argc == 4 && !request_completion)
    argTypes:
    - g_strcmp0
    constantsTouched: []
    func_position:
      end: 2619
      start: 2555
    functionDepth: 0
    functionLinenumber: 2555
    functionLinenumberEnd: 2619
    functionName: if
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - strtol
    - pick_word_at
    - completion_debug
    - g_shell_parse_argv
    - g_ascii_isspace
    linkageType: ''
    returnType: else
    signature: 'else if (g_strcmp0 (command, "complete") == 0 && argc == 4 && !request_completion) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbus-tool.c:437,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdbus-tool.c:456,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbus-tool.c:447,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:440,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:450,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdbus-tool.c:460,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/gdbus-tool.c:467,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 2
    argNames:
    - require_message_bus
    - error
    argTypes:
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 476
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 476
    functionName: connection_get_dbus_connection
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_dbus_connection_new_for_address_sync
    - _
    - g_bus_get_sync
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'static GDBusConnection *connection_get_dbus_connection (gboolean require_message_bus,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gdbus-tool.c:68,1
    - Dst: fopen
      Src: /src/glib/gio/gdbus-tool.c:72,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbus-tool.c:69,1
    - Dst: fprintf
      Src: /src/glib/gio/gdbus-tool.c:74,1
    - Dst: g_free
      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: 76
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: completion_debug
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strdup_vprintf
    - fprintf
    - va_start
    - fopen
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static void completion_debug (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbus-tool.c:145,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:147,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:146,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbus-tool.c:146,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdbus-tool.c:149,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:150,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - argc
    - argv
    - command
    argTypes:
    - gint*
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: modify_argv0_for_command
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_free
    - g_path_get_basename
    - g_assert
    - g_strcmp0
    - remove_arg
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void modify_argv0_for_command (gint *argc, gchar **argv[],
      const gchar *command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:190,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:203,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:203,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:204,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:196,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:207,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdbus-tool.c:210,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:211,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:214,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:214,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:230,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbus-tool.c:233,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:215,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:225,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: 237
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 237
    functionName: print_methods_and_signals
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - _
    - g_dbus_node_info_new_for_xml
    - g_error_free
    - g_variant_unref
    - g_dbus_node_info_unref
    - g_variant_get
    - g_print
    - g_printerr
    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_print
      Src: /src/glib/gio/gdbus-tool.c:996,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1160,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gdbus-tool.c:1204,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1283,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1059,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1185,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbus-tool.c:1263,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:1290,1
    - Dst: g_dbus_connection_call_with_unix_fd_list_sync
      Src: /src/glib/gio/gdbus-tool.c:1217,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:965,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:988,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:983,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1018,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:1027,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:1036,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbus-tool.c:1273,1
    - Dst: call_helper_get_method_in_signature
      Src: /src/glib/gio/gdbus-tool.c:1101,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1082,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:948,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:968,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1197,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbus-tool.c:1252,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:958,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1018,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:1023,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1079,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1172,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1245,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbus-tool.c:1258,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbus-tool.c:1285,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1110,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:961,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:975,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1016,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gdbus-tool.c:1191,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbus-tool.c:1196,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:1231,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1266,1
    - Dst: g_variant_parse_error_print_context
      Src: /src/glib/gio/gdbus-tool.c:1159,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1044,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1274,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1064,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1090,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:976,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1042,1
    - Dst: g_variant_get_handle
      Src: /src/glib/gio/gdbus-tool.c:1192,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1200,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbus-tool.c:1292,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1003,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1029,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1093,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1287,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1001,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:1010,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1021,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:1062,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbus-tool.c:1115,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbus-tool.c:1167,1
    - Dst: print_methods_and_signals
      Src: /src/glib/gio/gdbus-tool.c:1071,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:971,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1001,1
    - Dst: _g_variant_parse_me_harder
      Src: /src/glib/gio/gdbus-tool.c:1162,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1125,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1168,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbus-tool.c:1181,1
    - Dst: g_variant_get_handle
      Src: /src/glib/gio/gdbus-tool.c:1195,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbus-tool.c:1207,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1194,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1064,1
    - Dst: print_methods_and_signals
      Src: /src/glib/gio/gdbus-tool.c:1084,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1090,1
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:946,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1047,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:1058,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1245,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbus-tool.c:1247,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/gdbus-tool.c:1257,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1288,1
    - Dst: g_variant_new_handle
      Src: /src/glib/gio/gdbus-tool.c:1201,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:948,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:951,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1029,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1044,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:1087,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbus-tool.c:1094,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1275,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1176,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1182,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:954,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:977,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:1023,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1180,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1176,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gdbus-tool.c:1150,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbus-tool.c:1188,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1139,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:946,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1050,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1079,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1168,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1194,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbus-tool.c:1210,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1262,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1289,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1077,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdbus-tool.c:1192,1
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:944,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:990,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:1051,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/gio/gdbus-tool.c:1259,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1269,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbus-tool.c:1281,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: 1295
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 1295
    functionName: handle_call
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - _
    - print_methods_and_signals
    - g_strndup
    - g_option_context_add_group
    - print_names
    - g_string_append_len
    - print_paths
    - g_unix_fd_list_new
    - g_ptr_array_unref
    - g_option_context_free
    - g_strcmp0
    - g_variant_print
    - g_unix_fd_list_append
    - g_dbus_connection_call_with_unix_fd_list_sync
    - g_variant_builder_clear
    - g_error_matches
    - g_variant_type_get_string_length
    - g_variant_builder_add_value
    - remove_arg
    - g_object_unref
    - g_str_has_prefix
    - g_string_free
    - g_print
    - g_variant_parse_error_print_context
    - command_option_context_new
    - connection_get_group
    - _g_variant_parse_me_harder
    - g_variant_type_peek_string
    - g_variant_is_object_path
    - g_variant_new_handle
    - g_option_context_get_help
    - g_error_free
    - g_variant_unref
    - g_dbus_is_name
    - g_variant_builder_init
    - g_variant_parse
    - g_variant_ref_sink
    - g_variant_get_handle
    - g_printerr
    - g_variant_builder_end
    - g_strdup
    - g_variant_type_dup_string
    - call_helper_get_method_in_signature
    - g_free
    - g_dbus_connection_call_sync
    - g_string_new
    - strrchr
    - g_clear_object
    - g_option_context_parse
    - connection_get_dbus_connection
    - modify_argv0_for_command
    - g_variant_is_of_type
    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:1422,1
    - Dst: count_args
      Src: /src/glib/gio/gdbus-tool.c:1428,1
    - Dst: strlen
      Src: /src/glib/gio/gdbus-tool.c:1427,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1424,1
    - Dst: dump_arg
      Src: /src/glib/gio/gdbus-tool.c:1433,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - o
    - indent
    - use_colors
    argTypes:
    - GDBusSignalInfo*
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 1441
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1441
    functionName: dump_signal
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - strlen
    - dump_annotation
    - count_args
    - dump_arg
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dump_signal (const GDBusSignalInfo *o, guint indent, gboolean
      use_colors) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbus-tool.c:1490,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbus-tool.c:1519,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:1537,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1557,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1571,1
    - Dst: dump_method
      Src: /src/glib/gio/gdbus-tool.c:1575,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1587,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbus-tool.c:1601,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:1499,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:1516,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbus-tool.c:1528,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbus-tool.c:1528,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:1551,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1555,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1566,1
    - Dst: dump_property
      Src: /src/glib/gio/gdbus-tool.c:1592,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbus-tool.c:1595,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbus-tool.c:1512,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:1523,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbus-tool.c:1556,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1531,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbus-tool.c:1554,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:1543,1
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1564,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1598,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbus-tool.c:1504,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:1512,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbus-tool.c:1542,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1579,1
    - Dst: dump_signal
      Src: /src/glib/gio/gdbus-tool.c:1583,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: 1602
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1602
    functionName: dump_interface
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_variant_iter_next_value
    - g_strdup
    - dump_property
    - g_hash_table_unref
    - dump_annotation
    - dump_signal
    - g_variant_unref
    - g_hash_table_insert
    - g_variant_get
    - g_variant_ref
    - dump_method
    - g_variant_new
    - g_hash_table_new_full
    - g_print
    - g_hash_table_lookup
    - g_variant_is_of_type
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    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:163,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gdbus-tool.c:167,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/gio/gdbus-tool.c:165,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gdbus-tool.c:166,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gdbus-tool.c:168,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbus-tool.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - parameter_string
    - summary
    - entries
    - request_completion
    argTypes:
    - gchar*
    - gchar*
    - GOptionEntry*
    - gboolean
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: command_option_context_new
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_option_context_set_summary
    - g_option_context_add_main_entries
    - g_steal_pointer
    - g_option_context_set_ignore_unknown_options
    - g_option_context_set_help_enabled
    linkageType: ''
    returnType: GOptionContext*
    signature: 'static GOptionContext *command_option_context_new (const gchar *parameter_string,
      const gchar *summary, const GOptionEntry *entries, gboolean request_completion) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:268,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:288,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:296,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:279,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:307,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:309,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbus-tool.c:313,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:275,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:285,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:288,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:250,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:255,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:262,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:275,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdbus-tool.c:284,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:304,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:289,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:311,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:257,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:252,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:252,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:257,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:276,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:305,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 3
    argNames:
    - c
    - name
    - path
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 317
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 317
    functionName: print_paths
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - _
    - g_dbus_node_info_new_for_xml
    - g_free
    - g_variant_is_object_path
    - g_strcmp0
    - g_error_free
    - g_variant_unref
    - g_dbus_node_info_unref
    - g_variant_get
    - g_strdup_printf
    - g_dbus_is_name
    - print_paths
    - g_print
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void print_paths (GDBusConnection *c, const gchar *name, const
      gchar *path) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:627,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:698,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:704,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:860,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbus-tool.c:851,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:740,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:878,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:783,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:868,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbus-tool.c:796,1
    - Dst: _g_variant_parse_me_harder
      Src: /src/glib/gio/gdbus-tool.c:831,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gdbus-tool.c:819,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:673,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:744,1
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/gdbus-tool.c:865,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:838,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:792,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:641,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:654,1
    - Dst: print_methods_and_signals
      Src: /src/glib/gio/gdbus-tool.c:753,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:879,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:631,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:651,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:631,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:634,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:671,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:723,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:761,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:777,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:839,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:766,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/gdbus-tool.c:803,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:637,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:660,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbus-tool.c:702,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:880,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:792,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:629,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:666,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:843,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:860,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:659,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:721,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:746,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:780,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:867,1
    - Dst: g_variant_parse_error_print_context
      Src: /src/glib/gio/gdbus-tool.c:828,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbus-tool.c:840,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:861,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:881,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:835,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gdbus-tool.c:845,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:710,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:739,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:772,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbus-tool.c:790,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbus-tool.c:852,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbus-tool.c:784,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:829,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:648,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:679,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:715,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:798,1
    - Dst: print_methods_and_signals
      Src: /src/glib/gio/gdbus-tool.c:774,1
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:629,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:644,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:684,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:696,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:704,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:780,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbus-tool.c:848,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:812,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:746,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:726,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:684,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:686,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:731,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:762,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:835,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:658,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:693,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:732,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:798,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:698,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:723,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:867,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbus-tool.c:876,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:766,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: 883
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 883
    functionName: handle_emit
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - _
    - print_methods_and_signals
    - g_strndup
    - g_option_context_add_group
    - print_names
    - g_dbus_connection_emit_signal
    - print_paths
    - g_option_context_free
    - g_strcmp0
    - g_variant_builder_clear
    - g_object_unref
    - g_variant_builder_add_value
    - remove_arg
    - g_str_has_prefix
    - g_print
    - g_variant_parse_error_print_context
    - command_option_context_new
    - connection_get_group
    - _g_variant_parse_me_harder
    - g_dbus_is_member_name
    - g_variant_is_object_path
    - g_option_context_get_help
    - g_error_free
    - g_variant_unref
    - g_dbus_is_interface_name
    - g_variant_builder_init
    - g_variant_parse
    - g_variant_ref_sink
    - g_dbus_is_unique_name
    - g_printerr
    - g_variant_builder_end
    - g_strdup
    - g_free
    - strrchr
    - g_option_context_parse
    - connection_get_dbus_connection
    - modify_argv0_for_command
    - g_dbus_connection_flush_sync
    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:1459,1
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1462,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbus-tool.c:1466,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1467,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1471,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - o
    - indent
    - use_colors
    - value
    argTypes:
    - GDBusPropertyInfo*
    - guint
    - gboolean
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1477
    functionName: dump_property
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_free
    - dump_annotation
    - g_variant_print
    - g_assert_not_reached
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dump_property (const GDBusPropertyInfo *o, guint indent,
      gboolean use_colors, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbus-tool.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - num
    - argc
    - argv
    argTypes:
    - gint
    - gint*
    - gchar**
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1324,1
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1328,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: 1329
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1329
    functionName: dump_annotation
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_print
    - dump_annotation
    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: 1366
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1366
    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:1963,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbus-tool.c:1964,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbus-tool.c:1965,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: 1975
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: monitor_on_name_appeared
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_print
    - g_dbus_connection_signal_subscribe
    linkageType: ''
    returnType: void
    signature: 'static void monitor_on_name_appeared (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:2420,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:2424,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2427,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2432,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2420,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbus-tool.c:2438,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 3
    argNames:
    - s
    - cursor
    - out_word_begins_at
    argTypes:
    - gchar*
    - gint
    - gint*
    constantsTouched: []
    func_position:
      end: 2439
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2439
    functionName: pick_word_at
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_strdup
    - g_ascii_isspace
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *pick_word_at (const gchar *s, gint cursor, gint *out_word_begins_at) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:107,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:107,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gdbus-tool.c:108,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:110,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdbus-tool.c:111,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:111,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:112,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:112,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:122,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gdbus-tool.c:123,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:127,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:131,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:129,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:125,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:124,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - argc
    - argv
    - use_stdout
    argTypes:
    - gint*
    - gchar**
    - gboolean
    constantsTouched: []
    func_position:
      end: 132
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 132
    functionName: usage
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_option_context_new
    - _
    - g_free
    - g_path_get_basename
    - g_option_context_free
    - g_option_context_get_help
    - g_option_context_parse
    - g_option_context_set_description
    - g_strdup_printf
    - g_option_context_set_help_enabled
    - g_print
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void usage (gint *argc, gchar **argv[], gboolean use_stdout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_group_new
      Src: /src/glib/gio/gdbus-tool.c:415,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:421,1
    - Dst: N_
      Src: /src/glib/gio/gdbus-tool.c:416,1
    - Dst: g_option_group_set_translation_domain
      Src: /src/glib/gio/gdbus-tool.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: connection_get_group
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_option_group_add_entries
    - N_
    - g_option_group_new
    - g_option_group_set_translation_domain
    linkageType: ''
    returnType: GOptionGroup*
    signature: 'static GOptionGroup *connection_get_group (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1343,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1347,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: 1353
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1353
    functionName: dump_arg
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_print
    - dump_annotation
    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:1379,1
    - Dst: count_args
      Src: /src/glib/gio/gdbus-tool.c:1385,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1381,1
    - Dst: strlen
      Src: /src/glib/gio/gdbus-tool.c:1384,1
    - Dst: count_args
      Src: /src/glib/gio/gdbus-tool.c:1385,1
    - Dst: dump_arg
      Src: /src/glib/gio/gdbus-tool.c:1391,1
    - Dst: dump_arg
      Src: /src/glib/gio/gdbus-tool.c:1402,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - o
    - indent
    - use_colors
    argTypes:
    - GDBusMethodInfo*
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 1410
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1410
    functionName: dump_method
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - strlen
    - dump_annotation
    - count_args
    - dump_arg
    - g_print
    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:1982,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbus-tool.c:1986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1989
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1989
    functionName: monitor_on_name_vanished
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_print
    - g_dbus_connection_signal_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void monitor_on_name_vanished (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2019,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:2037,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2067,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:2049,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2054,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:2069,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2077,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:2097,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2103,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2103,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gdbus-tool.c:2152,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:2124,1
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:2017,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:2021,1
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:2019,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:2034,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2056,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2042,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2092,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2095,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:2097,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:2125,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbus-tool.c:2160,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:2132,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:2021,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2024,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2031,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2062,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbus-tool.c:2074,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2077,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:2083,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2090,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:2101,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:2109,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:2168,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbus-tool.c:2151,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:2027,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2043,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:2041,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2067,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2092,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2116,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2121,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2133,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:2136,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2138,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbus-tool.c:2161,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbus-tool.c:2167,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2138,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2149,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: 2170
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2170
    functionName: handle_monitor
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - _
    - g_option_context_add_group
    - print_names
    - g_main_loop_run
    - print_paths
    - g_dbus_connection_get_unique_name
    - g_option_context_free
    - g_strcmp0
    - g_object_unref
    - remove_arg
    - g_str_has_prefix
    - g_print
    - command_option_context_new
    - connection_get_group
    - g_variant_is_object_path
    - g_option_context_get_help
    - g_error_free
    - g_main_loop_unref
    - g_dbus_is_name
    - g_main_loop_new
    - g_printerr
    - g_strdup
    - g_free
    - strrchr
    - g_option_context_parse
    - connection_get_dbus_connection
    - g_bus_watch_name_on_connection
    - modify_argv0_for_command
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_monitor (gint *argc, gchar **argv[], gboolean
      request_completion, const gchar *completion_cur, const gchar *completion_prev) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbus-tool.c:330,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:339,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:350,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:363,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:374,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:354,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gdbus-tool.c:376,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbus-tool.c:390,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:346,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbus-tool.c:353,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:370,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:376,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/gdbus-tool.c:381,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:385,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:346,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:333,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gdbus-tool.c:352,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:370,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:357,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:378,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:388,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:347,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbus-tool.c:351,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:352,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:371,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbus-tool.c:375,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbus-tool.c:377,1
    - Dst: g_hash_table_steal_all_keys
      Src: /src/glib/gio/gdbus-tool.c:380,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbus-tool.c:384,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbus-tool.c:393,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - c
    - include_unique_names
    argTypes:
    - GDBusConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 394
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 394
    functionName: print_names
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - _
    - g_hash_table_unref
    - g_clear_pointer
    - g_hash_table_add
    - g_str_has_prefix
    - g_ptr_array_sort_values
    - g_print
    - g_variant_iter_loop
    - g_ptr_array_index
    - g_error_free
    - g_variant_unref
    - g_variant_get
    - g_variant_iter_free
    - g_hash_table_new_full
    - g_printerr
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_strdup
    - g_hash_table_steal_all_keys
    linkageType: ''
    returnType: void
    signature: 'static void print_names (GDBusConnection *c, gboolean include_unique_names) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbus-tool.c:565,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbus-tool.c:568,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbus-tool.c:573,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbus-tool.c:571,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbus-tool.c:569,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbus-tool.c:574,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gdbus-tool.c:576,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:581,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - type
    - given_str
    - error
    argTypes:
    - GVariantType*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 584
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 584
    functionName: _g_variant_parse_me_harder
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - G_UNLIKELY
    - g_free
    - g_string_append_c
    - g_string_free
    - g_variant_parse
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *_g_variant_parse_me_harder (GVariantType *type, const
      gchar *given_str, GError **error) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2253,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2287,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2329,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:2289,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2274,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:2352,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gdbus-tool.c:2373,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gdbus-tool.c:2388,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/gdbus-tool.c:2390,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2397,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/gdbus-tool.c:2386,1
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:2252,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:2255,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:2261,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2263,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2276,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2334,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2339,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:2344,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2347,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2347,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbus-tool.c:2395,1
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:2250,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:2255,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:2257,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:2269,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2329,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2282,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbus-tool.c:2352,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2354,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2354,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gdbus-tool.c:2362,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/gio/gdbus-tool.c:2381,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2252,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2262,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2287,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2334,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2339,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbus-tool.c:2345,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gdbus-tool.c:2384,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:2396,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: 2401
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2401
    functionName: handle_wait
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_bus_unwatch_name
    - _
    - g_source_remove
    - g_option_context_add_group
    - g_option_context_free
    - g_strcmp0
    - g_print
    - command_option_context_new
    - connection_get_group
    - g_option_context_get_help
    - g_error_free
    - g_dbus_is_name
    - g_main_context_iteration
    - g_dbus_is_unique_name
    - g_printerr
    - g_free
    - g_timeout_add_seconds
    - g_clear_object
    - g_option_context_parse
    - connection_get_dbus_connection
    - g_bus_watch_name_on_connection
    - modify_argv0_for_command
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_wait (gint *argc, gchar **argv[], gboolean
      request_completion, const gchar *completion_cur, const gchar *completion_prev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_all
      Src: /src/glib/gio/gio-tool-mime.c:43,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/gio-tool-mime.c:50,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
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    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_strcmp0
    - g_object_unref
    - g_app_info_get_id
    - g_list_free
    - g_app_info_get_all
    linkageType: ''
    returnType: GAppInfo*
    signature: 'static GAppInfo *get_app_info_for_id (const char *id) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - 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_option_context_set_description
      Src: /src/glib/gio/gio-tool-mime.c:78,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-mime.c:82,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mime.c:87,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mime.c:94,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:106,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_id
      Src: /src/glib/gio/gio-tool-mime.c:134,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:143,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:176,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:72,1
    - Dst: g_strdup_printf
      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: _
      Src: /src/glib/gio/gio-tool-mime.c:79,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mime.c:86,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: _
      Src: /src/glib/gio/gio-tool-mime.c:128,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:135,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:163,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:169,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:172,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/gio-tool-mime.c:167,1
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/gio-tool-mime.c:126,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-mime.c:76,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mime.c:101,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: _
      Src: /src/glib/gio/gio-tool-mime.c:141,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:147,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mime.c:150,1
    - Dst: get_app_info_for_id
      Src: /src/glib/gio/gio-tool-mime.c:160,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-mime.c:163,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/gio-tool-mime.c:175,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:143,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:148,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/gio-tool-mime.c:139,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: g_option_context_free
      Src: /src/glib/gio/gio-tool-mime.c:95,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mime.c:93,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mime.c:102,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: 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_app_info_get_id
      Src: /src/glib/gio/gio-tool-mime.c:147,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: _
      Src: /src/glib/gio/gio-tool-mime.c:130,1
    - Dst: g_print
      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_option_context_set_summary
    - show_help
    - g_option_context_free
    - g_app_info_get_recommended_for_type
    - g_option_context_set_description
    - g_object_unref
    - g_print
    - g_option_context_new
    - g_error_free
    - g_app_info_get_all_for_type
    - g_app_info_get_default_for_type
    - g_strdup_printf
    - g_option_context_set_help_enabled
    - g_free
    - g_set_prgname
    - get_app_info_for_id
    - g_option_context_parse
    - g_option_context_add_main_entries
    - print_error
    - g_app_info_get_id
    - g_list_free
    - g_app_info_set_as_default_for_type
    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:83,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:88,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:86,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:87,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:85,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:89,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:90,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyaddress.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: g_proxy_address_finalize
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - G_PROXY_ADDRESS
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_address_get_instance_private
      Src: /src/glib/gio/gproxyaddress.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxyAddress*
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 292
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/gproxyaddress.c:150,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:159,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:155,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gproxyaddress.c:167,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:171,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:175,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:179,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gproxyaddress.c:183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 185
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 185
    functionName: g_proxy_address_get_property
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - G_PROXY_ADDRESS
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - g_value_set_uint
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxyAddress*
    constantsTouched: []
    func_position:
      end: 352
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 352
    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: 1
    argNames:
    - proxy
    argTypes:
    - GProxyAddress*
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    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: 1
    argNames:
    - proxy
    argTypes:
    - GProxyAddress*
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    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: 1
    argNames:
    - proxy
    argTypes:
    - GProxyAddress*
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    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_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:198,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:196,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:206,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:208,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:216,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:236,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:218,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:234,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:248,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:257,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:199,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:200,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:210,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:220,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:246,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:244,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:238,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:275,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyaddress.c:190,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:247,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:254,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gproxyaddress.c:256,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:258,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:272,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:274,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:209,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:237,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:219,1
    - Dst: P_
      Src: /src/glib/gio/gproxyaddress.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GProxyAddressClass*
    constantsTouched: []
    func_position:
      end: 281
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 281
    functionName: g_proxy_address_class_init
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_uint
    - g_param_spec_string
    - G_OBJECT_CLASS
    - P_
    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:101,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:107,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:111,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:106,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:112,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:116,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:117,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gproxyaddress.c:121,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:125,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:126,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:131,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:136,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:135,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:130,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gproxyaddress.c:140,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 142
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 142
    functionName: g_proxy_address_set_property
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_free
    - g_value_get_uint
    - G_PROXY_ADDRESS
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    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:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - inetaddr
    - port
    - protocol
    - dest_hostname
    - dest_port
    - username
    - password
    argTypes:
    - GInetAddress*
    - guint16
    - gchar*
    - gchar*
    - guint16
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 335
    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: 1
    argNames:
    - proxy
    argTypes:
    - GProxyAddress*
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    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: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    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: 1
    argNames:
    - proxy
    argTypes:
    - GProxyAddress*
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmenumodel.c:264,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmenumodel.c:265,1
    - Dst: path_identifier_free
      Src: /src/glib/gio/gdbusmenumodel.c:266,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusmenumodel.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - GDBusMenuPath*
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: g_dbus_menu_path_unref
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - path_identifier_free
    - g_hash_table_unref
    - g_hash_table_remove
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_path_unref (GDBusMenuPath *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusmenumodel.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - GDBusMenuPath*
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusmenumodel.c:332,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:334,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusmenumodel.c:340,1
    - Dst: path_identifier_new
      Src: /src/glib/gio/gdbusmenumodel.c:339,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gdbusmenumodel.c:338,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:344,1
    - Dst: g_dbus_menu_path_ref
      Src: /src/glib/gio/gdbusmenumodel.c:347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - context
    - connection
    - bus_name
    - object_path
    argTypes:
    - GMainContext*
    - GDBusConnection*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 348
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 348
    functionName: g_dbus_menu_path_get
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_hash_table_new
    - g_dbus_menu_path_ref
    - g_slice_new
    - g_hash_table_lookup
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_menu_path_deactivate
      Src: /src/glib/gio/gdbusmenumodel.c:486,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/gdbusmenumodel.c:491,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusmenumodel.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusMenuGroup*
    constantsTouched: []
    func_position:
      end: 495
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 495
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:544,1
    - Dst: g_dbus_menu_path_activate
      Src: /src/glib/gio/gdbusmenumodel.c:548,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmenumodel.c:555,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/gdbusmenumodel.c:554,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusmenumodel.c:550,1
    - Dst: g_dbus_menu_group_ref
      Src: /src/glib/gio/gdbusmenumodel.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusMenuGroup*
    constantsTouched: []
    func_position:
      end: 562
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 562
    functionName: g_dbus_menu_group_activate
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_call
    - g_assert
    - g_dbus_menu_path_activate
    - g_dbus_menu_group_ref
    - g_variant_new_parsed
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_group_activate (GDBusMenuGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_MENU_MODEL
      Src: /src/glib/gio/gdbusmenumodel.c:747,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:755,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:751,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gdbusmenumodel.c:754,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:752,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/gdbusmenumodel.c:757,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:758,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gdbusmenumodel.c:760,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - model
    - item_index
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 761
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 761
    functionName: g_dbus_menu_model_get_item_attributes
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_sequence_get
    - G_DBUS_MENU_MODEL
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_get_item_attributes (GMenuModel *model,
      gint item_index, GHashTable **table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_MENU_MODEL
      Src: /src/glib/gio/gdbusmenumodel.c:818,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:823,1
    - Dst: g_dbus_menu_group_deactivate
      Src: /src/glib/gio/gdbusmenumodel.c:821,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmenumodel.c:823,1
    - Dst: g_dbus_menu_group_unref
      Src: /src/glib/gio/gdbusmenumodel.c:824,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmenumodel.c:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: g_dbus_menu_model_finalize
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_dbus_menu_group_deactivate
    - g_dbus_menu_group_unref
    - g_hash_table_remove
    - G_DBUS_MENU_MODEL
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmenumodel.c:289,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmenumodel.c:289,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmenumodel.c:292,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbusmenumodel.c:293,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:297,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:297,1
    - Dst: g_dbus_menu_group_changed
      Src: /src/glib/gio/gdbusmenumodel.c:300,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusmenumodel.c:302,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: 303
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 303
    functionName: g_dbus_menu_path_signal
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_iter_loop
    - GINT_TO_POINTER
    - g_variant_get
    - g_dbus_menu_group_changed
    - g_variant_iter_free
    - g_hash_table_lookup
    - g_variant_is_of_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_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusmenumodel.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - GDBusMenuPath*
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: g_dbus_menu_path_deactivate
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - 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:503,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:507,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusmenumodel.c:509,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmenumodel.c:523,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbusmenumodel.c:524,1
    - Dst: g_dbus_menu_group_changed
      Src: /src/glib/gio/gdbusmenumodel.c:526,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusmenumodel.c:527,1
    - Dst: g_dbus_menu_group_go_offline
      Src: /src/glib/gio/gdbusmenumodel.c:531,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmenumodel.c:534,1
    - Dst: g_dbus_menu_group_unref
      Src: /src/glib/gio/gdbusmenumodel.c:536,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 537
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 537
    functionName: g_dbus_menu_group_start_ready
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - G_DBUS_CONNECTION
    - g_assert
    - g_variant_unref
    - g_dbus_menu_group_unref
    - g_variant_get
    - g_dbus_menu_group_changed
    - g_variant_iter_free
    - g_dbus_connection_call_finish
    - g_dbus_menu_group_go_offline
    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_assert
      Src: /src/glib/gio/gdbusmenumodel.c:569,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gdbusmenumodel.c:576,1
    - Dst: g_dbus_menu_group_go_offline
      Src: /src/glib/gio/gdbusmenumodel.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusMenuGroup*
    constantsTouched: []
    func_position:
      end: 581
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 581
    functionName: g_dbus_menu_group_deactivate
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_remove_all
    - g_dbus_menu_group_go_offline
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_group_deactivate (GDBusMenuGroup *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gdbusmenumodel.c:775,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusmenumodel.c:781,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusmenumodel.c:788,1
    - Dst: g_dbus_menu_group_ref
      Src: /src/glib/gio/gdbusmenumodel.c:803,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:807,1
    - Dst: g_dbus_menu_group_get_from_path
      Src: /src/glib/gio/gdbusmenumodel.c:801,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmenumodel.c:791,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:776,1
    - Dst: g_dbus_menu_model_get_from_group
      Src: /src/glib/gio/gdbusmenumodel.c:805,1
    - Dst: g_dbus_menu_group_unref
      Src: /src/glib/gio/gdbusmenumodel.c:809,1
    - Dst: G_DBUS_MENU_MODEL
      Src: /src/glib/gio/gdbusmenumodel.c:768,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:773,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:779,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusmenumodel.c:789,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmenumodel.c:797,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:772,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/gdbusmenumodel.c:778,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:807,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmenumodel.c:791,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - model
    - item_index
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 813
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 813
    functionName: g_dbus_menu_model_get_item_links
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_strdup
    - g_sequence_get
    - g_dbus_menu_group_get_from_path
    - g_dbus_menu_group_unref
    - g_hash_table_insert
    - G_DBUS_MENU_MODEL
    - g_hash_table_iter_next
    - g_variant_get
    - g_hash_table_iter_init
    - g_dbus_menu_group_ref
    - g_dbus_menu_model_get_from_group
    - g_hash_table_new_full
    - g_variant_is_of_type
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_get_item_links (GMenuModel *model, gint
      item_index, GHashTable **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusMenuModel*
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gdbusmenumodel.c:953,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gio/gdbusmenumodel.c:954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 955
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 955
    functionName: dump_path
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_print
    - g_hash_table_foreach
    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:228,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:232,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:231,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmenumodel.c:230,1
    - Dst: g_main_context_ref
      Src: /src/glib/gio/gdbusmenumodel.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cid
    argTypes:
    - ConstPathIdentifier*
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: path_identifier_new
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_main_context_ref
    - g_object_ref
    - g_slice_new
    linkageType: ''
    returnType: PathIdentifier*
    signature: 'static PathIdentifier *path_identifier_new (ConstPathIdentifier *cid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmenumodel.c:838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GDBusMenuModelClass*
    constantsTouched: []
    func_position:
      end: 846
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 846
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - GDBusMenuPath*
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    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_menu_model_items_changed
      Src: /src/glib/gio/gdbusmenumodel.c:858,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/gdbusmenumodel.c:858,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: 859
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 859
    functionName: g_dbus_menu_model_changed
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_model_items_changed
    - G_MENU_MODEL
    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:407,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusmenumodel.c:410,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmenumodel.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 411
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:867,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:867,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusmenumodel.c:873,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmenumodel.c:869,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:874,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:874,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:875,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:875,1
    - Dst: g_dbus_menu_group_ref
      Src: /src/glib/gio/gdbusmenumodel.c:876,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - group
    - menu_id
    argTypes:
    - GDBusMenuGroup*
    - guint
    constantsTouched: []
    func_position:
      end: 881
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 881
    functionName: g_dbus_menu_model_get_from_group
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - GINT_TO_POINTER
    - g_object_new
    - g_hash_table_insert
    - g_dbus_menu_group_ref
    - g_hash_table_lookup
    linkageType: ''
    returnType: GDBusMenuModel*
    signature: 'static GDBusMenuModel *g_dbus_menu_model_get_from_group (GDBusMenuGroup
      *group, guint menu_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/gdbusmenumodel.c:421,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbusmenumodel.c:426,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusmenumodel.c:422,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmenumodel.c:425,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusmenumodel.c:423,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:429,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:429,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmenumodel.c:429,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:431,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:431,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmenumodel.c:431,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - description
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 434
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 434
    functionName: g_dbus_menu_group_create_item
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_iter_loop
    - g_variant_iter_init
    - g_hash_table_insert
    - g_variant_ref
    - g_slice_new
    - g_hash_table_new_full
    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:731,1
    - Dst: g_dbus_menu_group_activate
      Src: /src/glib/gio/gdbusmenumodel.c:735,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gdbusmenumodel.c:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 740
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 740
    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:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusmenumodel.c:208,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmenumodel.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusMenuGroup*
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 382
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:601,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:622,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmenumodel.c:636,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmenumodel.c:650,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gdbusmenumodel.c:640,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmenumodel.c:656,1
    - Dst: g_dbus_menu_model_changed
      Src: /src/glib/gio/gdbusmenumodel.c:661,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmenumodel.c:601,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmenumodel.c:601,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:622,1
    - Dst: g_sequence_new
      Src: /src/glib/gio/gdbusmenumodel.c:626,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:627,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gdbusmenumodel.c:632,1
    - Dst: g_dbus_menu_group_create_item
      Src: /src/glib/gio/gdbusmenumodel.c:652,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gdbusmenumodel.c:603,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmenumodel.c:609,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/gdbusmenumodel.c:652,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/gdbusmenumodel.c:647,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/gio/gdbusmenumodel.c:654,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:660,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:627,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gdbusmenumodel.c:646,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbusmenumodel.c:651,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:656,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:660,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: 662
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 662
    functionName: g_dbus_menu_group_changed
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_remove_range
    - g_hash_table_insert
    - g_sequence_insert_before
    - GINT_TO_POINTER
    - g_dbus_menu_model_changed
    - g_sequence_is_empty
    - g_variant_iter_loop
    - g_variant_iter_init
    - g_hash_table_remove
    - g_warning
    - g_sequence_get_iter_at_pos
    - G_VARIANT_TYPE
    - g_dbus_menu_group_create_item
    - g_assert
    - g_variant_n_children
    - g_sequence_new
    - g_sequence_get_length
    - g_hash_table_lookup
    - g_variant_is_of_type
    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_dbus_menu_path_get
      Src: /src/glib/gio/gdbusmenumodel.c:699,1
    - Dst: g_dbus_menu_group_get_from_path
      Src: /src/glib/gio/gdbusmenumodel.c:700,1
    - Dst: g_dbus_menu_path_unref
      Src: /src/glib/gio/gdbusmenumodel.c:701,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 5
    argNames:
    - context
    - connection
    - bus_name
    - object_path
    - group_id
    argTypes:
    - GMainContext*
    - GDBusConnection*
    - gchar*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 704
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 704
    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:
    - Dst: g_print
      Src: /src/glib/gio/gdbusmenumodel.c:932,1
    - Dst: G_OBJECT
      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: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 934
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/glib/gio/gdbusmenumodel.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    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:215,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusmenumodel.c:220,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmenumodel.c:216,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmenumodel.c:217,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmenumodel.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - PathIdentifier*
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: path_identifier_free
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_slice_free
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void path_identifier_free (PathIdentifier *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:389,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmenumodel.c:392,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:392,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:390,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmenumodel.c:393,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmenumodel.c:394,1
    - Dst: g_dbus_menu_path_unref
      Src: /src/glib/gio/gdbusmenumodel.c:396,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusmenumodel.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusMenuGroup*
    constantsTouched: []
    func_position:
      end: 400
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 400
    functionName: g_dbus_menu_group_unref
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_hash_table_unref
    - g_assert
    - g_hash_table_remove
    - g_dbus_menu_path_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_group_unref (GDBusMenuGroup *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:670,1
    - Dst: g_dbus_menu_path_ref
      Src: /src/glib/gio/gdbusmenumodel.c:675,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gdbusmenumodel.c:674,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusmenumodel.c:677,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:670,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusmenumodel.c:678,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:683,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:683,1
    - Dst: g_dbus_menu_group_ref
      Src: /src/glib/gio/gdbusmenumodel.c:686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - path
    - group_id
    argTypes:
    - GDBusMenuPath*
    - guint
    constantsTouched: []
    func_position:
      end: 687
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 687
    functionName: g_dbus_menu_group_get_from_path
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_dbus_menu_group_ref
    - g_hash_table_insert
    - g_hash_table_new
    - g_dbus_menu_path_ref
    - g_slice_new
    - g_hash_table_new_full
    - g_hash_table_lookup
    linkageType: ''
    returnType: GDBusMenuGroup*
    signature: 'static GDBusMenuGroup *g_dbus_menu_group_get_from_path (GDBusMenuPath
      *path, guint group_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gdbusmenumodel.c:941,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gio/gdbusmenumodel.c:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 945
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 945
    functionName: dump_group
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_print
    - g_hash_table_foreach
    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:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 961
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 961
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:913,1
    - Dst: g_dbus_menu_group_get
      Src: /src/glib/gio/gdbusmenumodel.c:919,1
    - Dst: g_main_context_default
      Src: /src/glib/gio/gdbusmenumodel.c:917,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gdbusmenumodel.c:915,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusmenumodel.c:913,1
    - Dst: g_dbus_menu_model_get_from_group
      Src: /src/glib/gio/gdbusmenumodel.c:920,1
    - Dst: g_dbus_menu_group_unref
      Src: /src/glib/gio/gdbusmenumodel.c:921,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - connection
    - bus_name
    - object_path
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 924
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 924
    functionName: g_dbus_menu_model_get
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_main_context_get_thread_default
    - g_dbus_menu_group_unref
    - g_main_context_default
    - g_dbus_menu_group_get
    - g_dbus_connection_get_unique_name
    - g_return_val_if_fail
    - g_dbus_menu_model_get_from_group
    linkageType: ''
    returnType: GDBusMenuModel*
    signature: 'GDBusMenuModel *g_dbus_menu_model_get (GDBusConnection *connection,
      const gchar *bus_name, const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gio-querymodules.c:38,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:39,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: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_suffix
    - g_str_has_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_module_name (const gchar *basename) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_module_supported
      Src: /src/glib/gio/gio-querymodules.c:63,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gio-querymodules.c:78,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gio-querymodules.c:101,1
    - Dst: g_free
      Src: /src/glib/gio/gio-querymodules.c:103,1
    - Dst: g_string_append
      Src: /src/glib/gio/gio-querymodules.c:123,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-querymodules.c:124,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
    - Dst: g_string_new
      Src: /src/glib/gio/gio-querymodules.c:75,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-querymodules.c:71,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: g_free
      Src: /src/glib/gio/gio-querymodules.c:93,1
    - Dst: query
      Src: /src/glib/gio/gio-querymodules.c:114,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_unlink
      Src: /src/glib/gio/gio-querymodules.c:155,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-querymodules.c:135,1
    - Dst: g_strerror
      Src: /src/glib/gio/gio-querymodules.c:158,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-querymodules.c:70,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gio-querymodules.c:80,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/gio-querymodules.c:109,1
    - Dst: g_module_open_full
      Src: /src/glib/gio/gio-querymodules.c:92,1
    - Dst: _g_io_module_extract_name
      Src: /src/glib/gio/gio-querymodules.c:100,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-querymodules.c:139,1
    - Dst: g_string_free
      Src: /src/glib/gio/gio-querymodules.c:163,1
    - Dst: g_dir_open
      Src: /src/glib/gio/gio-querymodules.c:67,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_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_printerr
      Src: /src/glib/gio/gio-querymodules.c:149,1
    - Dst: g_free
      Src: /src/glib/gio/gio-querymodules.c:162,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/gio-querymodules.c:147,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_string_append
    - g_dir_open
    - g_clear_error
    - g_strfreev
    - _g_io_module_extract_name
    - g_dir_close
    - g_list_free_full
    - query
    - g_strerror
    - g_strconcat
    - g_string_free
    - is_valid_module_name
    - g_module_supported
    - g_module_symbol
    - g_dir_read_name
    - g_file_set_contents
    - g_error_free
    - g_list_prepend
    - g_build_filename
    - g_unlink
    - g_printerr
    - g_module_close
    - g_strdup
    - g_string_new
    - g_free
    - g_list_sort
    - g_string_append_printf
    - g_debug
    - g_module_open_full
    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: query_dir
      Src: /src/glib/gio/gio-querymodules.c:185,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: g_print
      Src: /src/glib/gio/gio-querymodules.c:175,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
    - g_print
    - query_dir
    - g_type_ensure
    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_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:62,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:64,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_OBJECT_CLASS
    - G_WINHTTP_VFS_GET_CLASS
    - G_WINHTTP_FILE_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_output_stream_finalize (GObject *object) '
  - 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: 2
    argNames:
    - file
    - connection
    argTypes:
    - GWinHttpFile*
    - HINTERNET
    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: 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_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:113,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:135,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:147,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:130,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: 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_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:140,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:150,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
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:174,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:119,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:179,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_free
    - g_utf8_to_utf16
    - G_WINHTTP_VFS_GET_CLASS
    - _g_winhttp_set_error
    - g_strdup_printf
    - _g_winhttp_response
    - GetLastError
    - G_WINHTTP_FILE_OUTPUT_STREAM
    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: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemDirectoryW
      Src: /src/glib/gio/win32/gwinhttpvfs.c:47,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:59,1
    - Dst: wcscat
      Src: /src/glib/gio/win32/gwinhttpvfs.c:52,1
    - Dst: wcscat
      Src: /src/glib/gio/win32/gwinhttpvfs.c:53,1
    - Dst: LoadLibraryW
      Src: /src/glib/gio/win32/gwinhttpvfs.c:54,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:69,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:68,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:66,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:65,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:
    - wcscat
    - LoadLibraryW
    - GetProcAddress
    - GetSystemDirectoryW
    linkageType: ''
    returnType: void
    signature: 'static void lookup_funcs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/win32/gwinhttpvfs.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:107,1
    - Dst: g_object_unref
      Src: /src/glib/gio/win32/gwinhttpvfs.c:113,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:109,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_object_unref
    - G_WINHTTP_VFS
    - G_WINHTTP_VFS_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_vfs_finalize (GObject *object) '
  - 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: 2
    argNames:
    - vfs
    - uri
    argTypes:
    - GVfs*
    - char*
    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:
    - strlen
    - g_assert
    - G_WINHTTP_VFS
    - g_vfs_get_file_for_uri
    - g_steal_pointer
    - _g_winhttp_file_new
    - G_N_ELEMENTS
    - g_ascii_strncasecmp
    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_return_val_if_fail
      Src: /src/glib/gio/win32/gwinhttpvfs.c:226,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:226,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/win32/gwinhttpvfs.c:230,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: 2
    argNames:
    - vfs
    - parse_name
    argTypes:
    - GVfs*
    - char*
    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_IS_VFS
    - g_vfs_parse_name
    - G_WINHTTP_VFS
    - g_return_val_if_fail
    - g_path_is_absolute
    - g_winhttp_vfs_get_file_for_uri
    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:
    - lookup_funcs
    - G_VFS_CLASS
    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_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:342,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:344,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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_prgname
      Src: /src/glib/gio/win32/gwinhttpvfs.c:123,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_utf8_to_utf16
      Src: /src/glib/gio/win32/gwinhttpvfs.c:130,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_free
    - g_utf8_to_utf16
    - g_get_prgname
    - G_WINHTTP_VFS_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_vfs_init (GWinHttpVfs *vfs) '
  - 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: 2
    argNames:
    - vfs
    - path
    argTypes:
    - GVfs*
    - char*
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:192,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
    - 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
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GVfs*
    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_vfs_get_supported_uri_schemes
    - G_WINHTTP_VFS
    - G_N_ELEMENTS
    - 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:284,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:288,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:310,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:316,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:320,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:322,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:285,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:307,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:311,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:323,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:325,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:300,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:296,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:308,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:312,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:314,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:318,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/win32/gwinhttpvfs.c:332,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:289,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:297,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:293,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:309,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:315,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:319,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/win32/gwinhttpvfs.c:328,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - DWORD
    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
    - g_win32_error_message
    - CASE
    linkageType: ''
    returnType: char*
    signature: 'char *_g_winhttp_error_message (DWORD error_code) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - 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: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:373,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:373,1
    - Dst: g_malloc
      Src: /src/glib/gio/win32/gwinhttpvfs.c:378,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_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:380,1
    - Dst: g_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:423,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:426,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:364,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:388,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_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:427,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:358,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:358,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_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:418,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:432,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_free
    - G_WINHTTP_VFS_GET_CLASS
    - _g_winhttp_set_error
    - GetLastError
    - g_malloc
    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: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:456,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:447,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_free
    - G_WINHTTP_VFS_GET_CLASS
    - _g_winhttp_set_error
    - GetLastError
    - g_malloc
    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: 12
    BranchProfiles: []
    Callsites:
    - 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:156,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:141,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_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: 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_utf16_to_utf8
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:209,1
    - Dst: g_win32_fs_monitor_handle_event
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:221,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:223,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:142,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:162,1
    - Dst: _wcsnicmp
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:178,1
    - Dst: ReadDirectoryChangesW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:231,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:
    - g_strdup
    - ReadDirectoryChangesW
    - g_free
    - g_assert_not_reached
    - wcslen
    - wcsrchr
    - g_file_monitor_is_cancelled
    - g_win32_fs_monitor_handle_event
    - g_utf16_to_utf8
    - _wcsnicmp
    linkageType: ''
    returnType: void
    signature: 'static void CALLBACK g_win32_fs_monitor_callback (DWORD error, DWORD
      nBytes, LPOVERLAPPED lpOverlapped) '
  - 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: 1
    argNames:
    - isfile
    argTypes:
    - gboolean
    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: GetFileAttributesExW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:54,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_utf16_to_utf8
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:79,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:
    - g_file_monitor_source_handle_event
    - g_assert_not_reached
    - g_get_monotonic_time
    - g_utf16_to_utf8
    - GetFileAttributesExW
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_fs_monitor_handle_event (GWin32FSMonitorPrivate
      *monitor, const gchar *filename, PFILE_NOTIFY_INFORMATION pfni) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:276,1
    - Dst: wcsrchr
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:289,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_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:319,1
    - Dst: g_strconcat
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:332,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:281,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:318,1
    - Dst: CreateFileW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:347,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: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:298,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:299,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: ReadDirectoryChangesW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:360,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:266,1
    - Dst: GetLongPathNameW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:287,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:308,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:307,1
    - Dst: wcsrchr
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:312,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:325,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:
    - ReadDirectoryChangesW
    - g_free
    - g_utf8_to_utf16
    - wcsdup
    - wcsrchr
    - g_build_filename
    - CreateFileW
    - GetLongPathNameW
    - g_strconcat
    - GetShortPathNameW
    - GetFileAttributesExW
    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: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:385,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
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:387,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: 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:
    - Dst: G_WIN32_FILE_MONITOR
      Src: /src/glib/gio/win32/gwin32filemonitor.c:72,1
    - Dst: g_win32_fs_monitor_finalize
      Src: /src/glib/gio/win32/gwin32filemonitor.c:74,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwin32filemonitor.c:76,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: 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: 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:50,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: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_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_FILE_MONITOR
    - g_win32_fs_monitor_close_handle
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_file_monitor_cancel (GFileMonitor* monitor) '
  - 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_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwin32filemonitor.c:94,1
    - Dst: G_LOCAL_FILE_MONITOR_CLASS
      Src: /src/glib/gio/win32/gwin32filemonitor.c:96,1
    - Dst: G_FILE_MONITOR_CLASS
      Src: /src/glib/gio/win32/gwin32filemonitor.c:95,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_OBJECT_CLASS
    - G_INPUT_STREAM_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_FILE_INPUT_STREAM
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:116,1
    - Dst: g_object_ref
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - file
    - connection
    - request
    argTypes:
    - GWinHttpFile*
    - HINTERNET
    - HINTERNET
    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_object_ref
    - g_object_new
    - G_FILE_INPUT_STREAM
    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:67,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:69,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_unref
    - G_OBJECT_CLASS
    - G_WINHTTP_VFS_GET_CLASS
    - G_WINHTTP_FILE_INPUT_STREAM
    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_set_error
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:138,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_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_VFS_GET_CLASS
    - _g_winhttp_set_error
    - G_WINHTTP_FILE_INPUT_STREAM
    - _g_winhttp_response
    - GetLastError
    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_VFS_GET_CLASS
    - G_WINHTTP_FILE_INPUT_STREAM
    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:
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:294,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:297,1
    - Dst: g_str_hash
      Src: /src/glib/gio/win32/gwinhttpfile.c:295,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_winhttp_file_get_uri
    - g_str_hash
    - 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: 2
    argNames:
    - path
    - prefix
    argTypes:
    - char*
    - char*
    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:
    - strlen
    - strncmp
    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_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:434,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:440,1
    - Dst: _
      Src: /src/glib/gio/win32/gwinhttpfile.c:435,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/win32/gwinhttpfile.c:439,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - file
    - display_name
    - error
    argTypes:
    - GFile*
    - char*
    - GError**
    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_free
    - g_locale_from_utf8
    - g_file_get_child
    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:
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:306,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
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:310,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_str_equal
    - g_winhttp_file_get_uri
    - g_free
    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:348,1
    - Dst: match_prefix
      Src: /src/glib/gio/win32/gwinhttpfile.c:341,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
    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:
    - match_prefix
    - g_winhttp_file_get_uri
    - g_free
    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: 4
    argNames:
    - file
    - display_name
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    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: 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: 754
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 754
    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:51,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:55,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:54,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:56,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:53,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_OBJECT_CLASS
    - g_free
    - g_object_unref
    - G_WINHTTP_FILE
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:204,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:210,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: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:227,1
    - Dst: memmove
      Src: /src/glib/gio/win32/gwinhttpfile.c:232,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpfile.c:228,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpfile.c:227,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/win32/gwinhttpfile.c:225,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/win32/gwinhttpfile.c:230,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpfile.c:233,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpfile.c:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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:
    - strlen
    - g_free
    - G_WINHTTP_VFS_GET_CLASS
    - g_new
    - memmove
    - g_str_has_prefix
    - GetLastError
    - G_WINHTTP_FILE
    - 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: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:264,1
    - Dst: _g_winhttp_file_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:273,1
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:257,1
    - Dst: strrchr
      Src: /src/glib/gio/win32/gwinhttpfile.c:261,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_free
    - g_winhttp_file_get_uri
    - strrchr
    - _g_winhttp_file_new
    - G_WINHTTP_FILE
    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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:286,1
    - Dst: _g_winhttp_file_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_free
    - g_winhttp_file_get_uri
    - _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: 787
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 787
    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: []
    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: 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_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_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:127,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:130,1
    - Dst: G_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:135,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:126,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:134,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:111,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:125,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:119,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:120,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:118,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:124,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - vfs
    - uri
    argTypes:
    - GWinHttpVfs*
    - char*
    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_ref
    - g_free
    - g_object_new
    - g_utf8_to_utf16
    - G_FILE
    - G_WINHTTP_VFS_GET_CLASS
    - g_new
    - memset
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *_g_winhttp_file_new (GWinHttpVfs *vfs, const char *uri) '
  - 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: g_strdup
      Src: /src/glib/gio/win32/gwinhttpfile.c:190,1
    - Dst: _
      Src: /src/glib/gio/win32/gwinhttpfile.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_winhttp_file_get_basename
    - g_strdup
    - g_steal_pointer
    - _
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_display_name (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 6
    argNames:
    - file
    - etag
    - make_backup
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - gboolean
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 703
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 703
    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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 724
    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_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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/win32/gwinhttpfile.c:736,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: 740
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 740
    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: 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: 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: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:359,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:370,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    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
    - match_prefix
    - g_winhttp_file_get_uri
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_relative_path (GFile *parent, GFile
      *descendant) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:464,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:492,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:503,1
    - Dst: g_winhttp_file_get_basename
      Src: /src/glib/gio/win32/gwinhttpfile.c:527,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:515,1
    - Dst: _g_winhttp_response
      Src: /src/glib/gio/win32/gwinhttpfile.c:520,1
    - Dst: g_file_info_set_name
      Src: /src/glib/gio/win32/gwinhttpfile.c:528,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:529,1
    - Dst: g_file_info_set_display_name
      Src: /src/glib/gio/win32/gwinhttpfile.c:535,1
    - Dst: swscanf
      Src: /src/glib/gio/win32/gwinhttpfile.c:552,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:592,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/win32/gwinhttpfile.c:611,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/win32/gwinhttpfile.c:615,1
    - Dst: g_file_info_set_content_type
      Src: /src/glib/gio/win32/gwinhttpfile.c:585,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:479,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:503,1
    - Dst: g_file_info_set_attribute_mask
      Src: /src/glib/gio/win32/gwinhttpfile.c:525,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:523,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:524,1
    - Dst: g_winhttp_file_get_display_name
      Src: /src/glib/gio/win32/gwinhttpfile.c:534,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwinhttpfile.c:553,1
    - Dst: g_file_info_set_size
      Src: /src/glib/gio/win32/gwinhttpfile.c:554,1
    - Dst: _g_winhttp_query_header
      Src: /src/glib/gio/win32/gwinhttpfile.c:564,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/gio/win32/gwinhttpfile.c:606,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/win32/gwinhttpfile.c:612,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:487,1
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpfile.c:480,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:508,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwinhttpfile.c:550,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:556,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/win32/gwinhttpfile.c:571,1
    - Dst: g_strndup
      Src: /src/glib/gio/win32/gwinhttpfile.c:579,1
    - Dst: g_file_info_set_content_type
      Src: /src/glib/gio/win32/gwinhttpfile.c:581,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:582,1
    - Dst: g_file_info_set_modification_date_time
      Src: /src/glib/gio/win32/gwinhttpfile.c:609,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:487,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:515,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/win32/gwinhttpfile.c:531,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:536,1
    - Dst: _g_winhttp_query_header
      Src: /src/glib/gio/win32/gwinhttpfile.c:540,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:557,1
    - Dst: strchr
      Src: /src/glib/gio/win32/gwinhttpfile.c:575,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:588,1
    - Dst: g_date_time_add_seconds
      Src: /src/glib/gio/win32/gwinhttpfile.c:607,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 90
    argCount: 5
    argNames:
    - file
    - attributes
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 618
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 618
    functionName: g_winhttp_file_query_info
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_file_info_set_name
    - g_file_info_set_modification_date_time
    - g_strndup
    - g_file_info_set_content_type
    - g_file_attribute_matcher_new
    - _g_winhttp_query_header
    - g_utf8_to_utf16
    - g_file_info_set_display_name
    - G_WINHTTP_VFS_GET_CLASS
    - wcslen
    - strchr
    - swscanf
    - g_date_time_new_from_unix_utc
    - g_file_info_set_attribute_mask
    - G_WINHTTP_VFS
    - g_winhttp_file_get_display_name
    - _g_winhttp_set_error
    - G_WINHTTP_FILE
    - g_file_info_set_size
    - g_file_attribute_matcher_unref
    - g_free
    - g_winhttp_file_get_basename
    - g_date_time_unref
    - _g_winhttp_response
    - g_date_time_add_seconds
    - _g_file_attribute_matcher_matches_id
    - GetLastError
    - g_utf16_to_utf8
    - g_file_info_new
    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:671,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:674,1
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpfile.c:675,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:682,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:682,1
    - Dst: _g_winhttp_file_output_stream_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:687,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - file
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileCreateFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 688
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 688
    functionName: g_winhttp_file_create
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - G_WINHTTP_VFS
    - G_WINHTTP_VFS_GET_CLASS
    - _g_winhttp_set_error
    - _g_winhttp_file_output_stream_new
    - GetLastError
    - G_WINHTTP_FILE
    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: strrchr
      Src: /src/glib/gio/win32/gwinhttpfile.c:169,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/win32/gwinhttpfile.c:168,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    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_free
    - strrchr
    - G_WINHTTP_FILE
    - g_utf16_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_basename (GFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwinhttpfile.c:382,1
    - 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: wcscat
      Src: /src/glib/gio/win32/gwinhttpfile.c:400,1
    - Dst: g_memdup2
      Src: /src/glib/gio/win32/gwinhttpfile.c:413,1
    - Dst: g_object_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:408,1
    - Dst: g_memdup2
      Src: /src/glib/gio/win32/gwinhttpfile.c:412,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
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:393,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: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:404,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwinhttpfile.c:416,1
    - Dst: wcscat
      Src: /src/glib/gio/win32/gwinhttpfile.c:402,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - file
    - relative_path
    argTypes:
    - GFile*
    - char*
    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:
    - wcscat
    - g_free
    - g_object_new
    - g_utf8_to_utf16
    - wcslen
    - g_new
    - g_memdup2
    - wcscpy
    - G_WINHTTP_FILE
    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:625,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:633,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:641,1
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpfile.c:634,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:641,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:646,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:657,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:657,1
    - Dst: _g_winhttp_file_input_stream_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:662,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 663
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 663
    functionName: g_winhttp_file_read
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - G_WINHTTP_VFS
    - G_WINHTTP_VFS_GET_CLASS
    - _g_winhttp_set_error
    - GetLastError
    - G_WINHTTP_FILE
    - _g_winhttp_file_input_stream_new
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'static GFileInputStream *g_winhttp_file_read (GFile *file, GCancellable
      *cancellable, GError **error) '
  - 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_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_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/tests/memory-settings-backend.c:37,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_IS_SETTINGS_BACKEND
    - g_assert_nonnull
    - g_memory_settings_backend_new
    - g_object_unref
    - g_io_extension_point_lookup
    - g_assert_true
    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_init
      Src: /src/glib/gio/tests/memory-settings-backend.c:50,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/memory-settings-backend.c:55,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:59,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: g_unsetenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:61,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_unsetenv
    - g_clear_pointer
    - cleanup_snapfiles
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void tests_teardown (SetupData *setup_data, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:88,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:91,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: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:89,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:
    - g_assert_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - create_fake_snap_yaml
    - create_fake_snapctl
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_none (SetupData *setup, gconstpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      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:41,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_assert_nonnull
    - g_get_user_runtime_dir
    - g_getenv
    - g_setenv
    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_true
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:104,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:103,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:101,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:103,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:
    - g_assert_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - create_fake_snap_yaml
    - create_fake_snapctl
    - g_assert_true
    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:80,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:79,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:81,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_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - g_assert_true
    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_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:115,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: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_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:102,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket-testserver.c:160,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:163,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_socket_send_to
      Src: /src/glib/gio/tests/socket-testserver.c:301,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:279,1
    - Dst: g_socket_get_remote_address
      Src: /src/glib/gio/tests/socket-testserver.c:185,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:188,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/socket-testserver.c:261,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: 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
    - 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_assert
      Src: /src/glib/gio/tests/socket-testserver.c:240,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_io_stream_get_output_stream
      Src: /src/glib/gio/tests/socket-testserver.c:236,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:318,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:268,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket-testserver.c:183,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/socket-testserver.c:278,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: g_object_unref
      Src: /src/glib/gio/tests/socket-testserver.c:201,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/socket-testserver.c:314,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket-testserver.c:356,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_print
      Src: /src/glib/gio/tests/socket-testserver.c:276,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_cancellable_new
      Src: /src/glib/gio/tests/socket-testserver.c:82,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/tests/socket-testserver.c:221,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:282,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:168,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:194,1
    - Dst: g_tls_certificate_new_from_file
      Src: /src/glib/gio/tests/socket-testserver.c:99,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:331,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_main_loop_new
      Src: /src/glib/gio/tests/socket-testserver.c:108,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/socket-testserver.c:347,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testserver.c:196,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:358,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:224,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:75,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/socket-testserver.c:66,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_socket_new
      Src: /src/glib/gio/tests/socket-testserver.c:120,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:147,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/socket-testserver.c:167,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: g_socket_receive_from
      Src: /src/glib/gio/tests/socket-testserver.c:254,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:69,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/socket-testserver.c:67,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket-testserver.c:129,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket-testserver.c:145,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_tls_connection_handshake
      Src: /src/glib/gio/tests/socket-testserver.c:221,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/socket-testserver.c:293,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/tests/socket-testserver.c:142,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_output_stream_write
      Src: /src/glib/gio/tests/socket-testserver.c:307,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:292,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/socket-testserver.c:84,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-testserver.c:195,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:325,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_TLS_CONNECTION
    - g_io_stream_get_output_stream
    - socket_address_from_string
    - g_inet_socket_address_new
    - g_thread_new
    - g_usleep
    - g_output_stream_write
    - g_socket_bind
    - g_error_matches
    - g_object_unref
    - g_tls_server_connection_new
    - g_inet_address_new_any
    - g_tls_connection_handshake
    - g_socket_new
    - g_io_stream_close
    - g_print
    - g_socket_accept
    - g_tls_certificate_new_from_file
    - g_input_stream_read
    - g_socket_close
    - g_option_context_new
    - g_socket_get_local_address
    - G_IO_STREAM
    - ensure_socket_condition
    - g_socket_get_remote_address
    - g_cancellable_new
    - g_error_free
    - g_thread_unref
    - g_main_loop_new
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_socket_connection_factory_create_connection
    - ensure_connection_condition
    - g_printerr
    - g_socket_send_to
    - g_free
    - g_assert
    - g_option_context_parse
    - g_option_context_add_main_entries
    - socket_address_to_string
    - g_socket_listen
    - g_io_stream_get_input_stream
    - g_socket_receive_from
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - connection
    - message
    - incoming
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    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_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:298,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:301,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:304,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:305,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:305,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:306,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:307,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: msg_cb_expect_error_disconnected
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_assert_false
    - g_error_free
    - g_assert_null
    - g_main_loop_quit
    - g_dbus_connection_call_finish
    - g_assert_error
    - g_dbus_error_is_remote_error
    linkageType: ''
    returnType: void
    signature: 'static void msg_cb_expect_error_disconnected (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:889,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:890,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-connection.c:894,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/tests/gdbus-connection.c:892,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-connection.c:893,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-connection.c:895,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:895,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:896,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:897,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - connection
    - message
    - incoming
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 907
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 907
    functionName: other_filter_func
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - g_variant_get
    - g_dbus_message_get_body
    - g_strdup_printf
    - g_dbus_message_copy
    - g_variant_new
    - g_dbus_message_set_body
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *other_filter_func (GDBusConnection *connection,
      GDBusMessage *message, gboolean incoming, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:321,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:327,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:324,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:328,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:328,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:329,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:330,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: msg_cb_expect_error_unknown_method
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_error_free
    - g_assert_null
    - g_main_loop_quit
    - g_dbus_connection_call_finish
    - g_assert_error
    - g_assert_true
    - g_dbus_error_is_remote_error
    linkageType: ''
    returnType: void
    signature: 'static void msg_cb_expect_error_unknown_method (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-connection.c:922,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-connection.c:928,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:930,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-connection.c:928,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: 932
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 932
    functionName: test_connection_filter_name_owner_changed_signal_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_main_loop_quit
    - strlen
    - 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_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-connection.c:1123,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1127,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1130,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1129,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-connection.c:1127,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - c
    - out_serial
    argTypes:
    - GDBusConnection*
    - guint32*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1132
    functionName: send_bogus_message
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_send_message
    - g_assert_no_error
    - g_object_unref
    - g_dbus_message_new_method_call
    - g_variant_new
    - g_dbus_message_set_body
    linkageType: ''
    returnType: void
    signature: 'static void send_bogus_message (GDBusConnection *c, guint32 *out_serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:66,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:67,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: test_connection_quit_mainloop
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - _log
    - g_atomic_int_set
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_connection_quit_mainloop (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: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    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:134,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:136,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:135,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:137,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:136,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: test_connection_bus_failure
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_nonnull
    - g_error_free
    - g_bus_get_sync
    - g_assert_null
    - g_dbus_error_is_remote_error
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_bus_failure (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:389,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:396,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:395,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:392,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:396,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:397,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:398,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 401
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 401
    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_false
    - g_error_free
    - g_assert_null
    - g_main_loop_quit
    - g_dbus_connection_call_finish
    - g_assert_error
    - g_dbus_error_is_remote_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_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:538,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: 539
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 539
    functionName: test_connection_signal_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    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_pop
      Src: /src/glib/gio/tests/gdbus-connection.c:849,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:851,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:852,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-connection.c:857,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - incoming_queue
    - expected_serial
    argTypes:
    - GAsyncQueue*
    - guint32
    constantsTouched: []
    func_position:
      end: 858
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 858
    functionName: wait_for_filtered_reply
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_reply_serial
    - g_object_unref
    - g_assert_not_reached
    - g_async_queue_pop
    linkageType: ''
    returnType: void
    signature: 'static void wait_for_filtered_reply (GAsyncQueue *incoming_queue,
      guint32 expected_serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-connection.c:937,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-connection.c:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 940
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 940
    functionName: test_connection_filter_on_timeout
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_connection_filter_on_timeout (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:1173,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1178,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1181,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1176,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1181,1
    - Dst: send_bogus_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1185,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1185,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1189,1
    - Dst: send_bogus_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1201,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-connection.c:1193,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1196,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1201,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:1205,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1203,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1206
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1206
    functionName: test_connection_serials
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_assert_cmpint
    - g_assert_nonnull
    - session_bus_down
    - g_assert_no_error
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    - g_thread_new
    - g_thread_join
    - send_bogus_message
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_serials (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:119,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:121,1
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - _log
    - g_atomic_int_set
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop
      (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:163,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:166,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:173,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:189,1
    - Dst: g_dbus_connection_close_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:191,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:193,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:195,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:199,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:209,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:213,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:231,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-connection.c:278,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:282,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:266,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-connection.c:276,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:267,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:240,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:269,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:164,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:182,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:190,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:197,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:200,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:210,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:225,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:268,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:268,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:269,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:255,1
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:246,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:262,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:275,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:275,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:226,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:257,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:279,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:267,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:165,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:172,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:175,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:185,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:187,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:183,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:190,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-connection.c:194,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:211,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-connection.c:233,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:241,1
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gdbus-connection.c:277,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:256,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:280,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-connection.c:265,1
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:263,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:243,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:160,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:166,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:174,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:176,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:188,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:181,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:184,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:192,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:195,1
    - Dst: g_dbus_connection_close_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:196,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:214,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:259,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:198,1
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:261,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:266,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:244,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:279,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-connection.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 96
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 283
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 283
    functionName: test_connection_life_cycle
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_main_loop_run
    - g_timeout_add
    - g_dbus_connection_register_object
    - _g_bus_get_priv
    - g_assert_nonnull
    - g_bus_get_sync
    - g_object_unref
    - g_atomic_int_get
    - g_dbus_connection_set_exit_on_close
    - g_dbus_connection_is_closed
    - g_dbus_connection_add_filter
    - g_dbus_connection_signal_subscribe
    - session_bus_stop
    - g_assert_cmpuint
    - g_assert_no_error
    - g_error_free
    - session_bus_up
    - g_assert_error
    - _log
    - g_dbus_connection_close_sync
    - g_assert_false
    - session_bus_down
    - g_assert_true
    - g_atomic_int_set
    - _g_assert_signal_received
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_life_cycle (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:574,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:572,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:575,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:655,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:673,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:691,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:694,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:712,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-connection.c:719,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:721,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-connection.c:722,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:724,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:728,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:678,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:666,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:680,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:566,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:577,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:578,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:590,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:634,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:600,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-connection.c:580,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:635,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:636,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:637,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:679,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:727,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:729,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/gdbus-connection.c:570,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:573,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:579,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:580,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:675,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:679,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection.c:700,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:707,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:695,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:710,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:667,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:734,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:733,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:723,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:574,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:579,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:610,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:624,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:668,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:674,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:675,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:676,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-connection.c:676,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:677,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:693,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:711,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:732,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:725,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-connection.c:680,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection.c:683,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:708,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:736,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:690,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:730,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 99
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 737
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 737
    functionName: test_connection_signals
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_main_loop_run
    - g_dbus_connection_emit_signal
    - g_dbus_connection_get_unique_name
    - g_timeout_add
    - g_assert_cmpint
    - _g_bus_get_priv
    - g_assert_nonnull
    - g_bus_get_sync
    - g_object_unref
    - g_dbus_connection_is_closed
    - g_dbus_connection_signal_subscribe
    - g_assert_cmpuint
    - g_assert_no_error
    - g_variant_unref
    - session_bus_up
    - g_assert_false
    - g_dbus_connection_call_sync
    - session_bus_down
    - g_assert_cmpstr
    - g_getenv
    - g_assert_true
    - g_dbus_connection_signal_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_new_full
      Src: /src/glib/gio/tests/gdbus-connection.c:966,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:977,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1004,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1036,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1031,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1073,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-connection.c:1054,1
    - Dst: wait_for_filtered_reply
      Src: /src/glib/gio/tests/gdbus-connection.c:982,1
    - Dst: g_dbus_message_set_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:994,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1013,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1034,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1098,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1080,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1015,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:1060,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:1081,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-connection.c:977,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:984,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1035,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:1110,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:962,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:968,1
    - Dst: g_dbus_connection_send_message_with_reply_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1005,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1079,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:959,1
    - Dst: g_async_queue_length
      Src: /src/glib/gio/tests/gdbus-connection.c:1035,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1036,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-connection.c:1093,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1092,1
    - Dst: wait_for_filtered_reply
      Src: /src/glib/gio/tests/gdbus-connection.c:990,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:987,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-connection.c:1052,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1087,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1018,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:1022,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:1039,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:963,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:980,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-connection.c:986,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:985,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:998,1
    - Dst: wait_for_filtered_reply
      Src: /src/glib/gio/tests/gdbus-connection.c:1001,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1101,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1014,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:1057,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1052,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-connection.c:1074,1
    - Dst: g_dbus_connection_send_message_with_reply_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1024,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1099,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-connection.c:979,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:992,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-connection.c:997,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1012,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-connection.c:1056,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1068,1
    - Dst: g_async_queue_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1108,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1023,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1033,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-connection.c:973,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:1100,1
    - Dst: g_async_queue_length
      Src: /src/glib/gio/tests/gdbus-connection.c:1018,1
    - Dst: g_dbus_connection_remove_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:1104,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1106,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:1003,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:1055,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:988,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-connection.c:1052,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1082,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1049,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:993,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/tests/gdbus-connection.c:996,1
    - Dst: wait_for_filtered_reply
      Src: /src/glib/gio/tests/gdbus-connection.c:1017,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1107,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:964,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:999,1
    - Dst: g_dbus_connection_remove_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:1020,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1032,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 103
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1111
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 1111
    functionName: test_connection_filter
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_remove_filter
    - g_source_remove
    - g_dbus_connection_send_message
    - g_dbus_message_set_serial
    - g_main_loop_run
    - g_timeout_add
    - g_assert_cmpint
    - g_assert_nonnull
    - g_bus_get_sync
    - g_object_unref
    - g_atomic_int_get
    - g_variant_new
    - g_dbus_message_set_body
    - g_dbus_connection_add_filter
    - g_dbus_connection_signal_subscribe
    - g_test_get_filename
    - g_dbus_message_lock
    - g_async_queue_length
    - g_assert_no_error
    - g_variant_unref
    - g_async_queue_new_full
    - session_bus_up
    - g_spawn_command_line_async
    - g_variant_get
    - g_dbus_message_new_method_call
    - wait_for_filtered_reply
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - session_bus_down
    - g_assert_cmpstr
    - g_async_queue_unref
    - g_dbus_message_copy
    - g_dbus_connection_send_message_with_reply_sync
    - g_assert_true
    - g_dbus_connection_signal_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_filter (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-connection.c:1279,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1282,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1287,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1289,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-connection.c:1284,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1290,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1291,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1292,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1293,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1294,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1298,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-connection.c:1296,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1300
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1300
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_test_dbus_unset
    - g_test_add_func
    - g_main_loop_unref
    - g_test_run
    - g_test_init
    - g_main_loop_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:751,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection.c:766,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:764,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:757,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:763,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:768,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:770,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:773,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:774,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-connection.c:777,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:780,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:781,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:784,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - connection
    - flags
    - arg0_rule
    - arg0
    - should_match
    argTypes:
    - GDBusConnection*
    - GDBusSignalFlags
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 785
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 785
    functionName: test_match_rule
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_dbus_connection_call_sync
    - g_assert_no_error
    - g_main_context_iteration
    - g_variant_new
    - g_dbus_connection_emit_signal
    - g_dbus_connection_signal_unsubscribe
    - g_dbus_connection_signal_subscribe
    linkageType: ''
    returnType: void
    signature: 'static void test_match_rule (GDBusConnection *connection, GDBusSignalFlags
      flags, gchar *arg0_rule, gchar *arg0, gboolean should_match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:792,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:795,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:796,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:793,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:798,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:799,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:800,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:801,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:802,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:804,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:805,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:806,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:809,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:810,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:813,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:807,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:812,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 814
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 814
    functionName: test_connection_signal_match_rules
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - test_match_rule
    - session_bus_down
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_signal_match_rules (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:469,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:496,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:415,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:414,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gdbus-connection.c:423,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gdbus-connection.c:424,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:436,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:458,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gdbus-connection.c:486,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:498,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:509,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:513,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:411,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:416,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:437,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gdbus-connection.c:474,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:487,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:453,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-connection.c:493,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:511,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:416,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:425,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:442,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:488,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:475,1
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gdbus-connection.c:494,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-connection.c:495,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 514
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 514
    functionName: test_connection_send
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_dbus_connection_call
    - g_assert_nonnull
    - session_bus_down
    - g_cancellable_new
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    - g_cancellable_cancel
    - g_dbus_connection_set_exit_on_close
    - g_main_loop_run
    - g_dbus_connection_is_closed
    - _g_assert_signal_received
    - g_assert_true
    - session_bus_stop
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_send (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_push
      Src: /src/glib/gio/tests/gdbus-connection.c:836,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-connection.c:836,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/tests/gdbus-connection.c:838,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - connection
    - message
    - incoming
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 841
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 841
    functionName: filter_func
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_atomic_int_inc
    - g_async_queue_push
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *filter_func (GDBusConnection *connection, GDBusMessage
      *message, gboolean incoming, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1227,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:1244,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/tests/gdbus-connection.c:1256,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1255,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1266,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:1268,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1232,1
    - Dst: g_dbus_connection_get_peer_credentials
      Src: /src/glib/gio/tests/gdbus-connection.c:1243,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1246,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-connection.c:1255,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-connection.c:1257,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:1264,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:1224,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1229,1
    - Dst: g_dbus_connection_get_capabilities
      Src: /src/glib/gio/tests/gdbus-connection.c:1231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1239,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1257,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1260,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1228,1
    - Dst: g_dbus_connection_get_flags
      Src: /src/glib/gio/tests/gdbus-connection.c:1235,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1259,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:1258,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1256,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1262,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:1263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1269
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1269
    functionName: test_connection_basic
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_false
    - g_free
    - G_IS_IO_STREAM
    - g_assert_nonnull
    - session_bus_down
    - g_assert_no_error
    - g_bus_get_sync
    - g_dbus_connection_get_flags
    - session_bus_up
    - g_dbus_connection_get_capabilities
    - g_dbus_is_guid
    - g_object_unref
    - g_assert_null
    - g_dbus_connection_get_peer_credentials
    - g_assert_true
    - g_dbus_is_unique_name
    - g_object_get
    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:44,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/tests/gdbus-connection.c:45,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gdbus-connection.c:46,1
    - Dst: localtime
      Src: /src/glib/gio/tests/gdbus-connection.c:50,1
    - Dst: g_get_current_time
      Src: /src/glib/gio/tests/gdbus-connection.c:48,1
    - Dst: strftime
      Src: /src/glib/gio/tests/gdbus-connection.c:51,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-connection.c:53,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: _log
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - va_end
    - g_free
    - g_strdup_vprintf
    - localtime
    - va_start
    - g_get_current_time
    - strftime
    - g_printerr
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static void _log (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:344,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:350,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:352,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:347,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:351,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 355
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 355
    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_variant_unref
    - g_assert_no_error
    - g_main_loop_quit
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void msg_cb_expect_success (GDBusConnection *connection, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:366,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:369,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:373,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:373,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:372,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:374,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:375,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 378
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 378
    functionName: msg_cb_expect_error_cancelled
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_assert_false
    - g_error_free
    - g_assert_null
    - g_main_loop_quit
    - g_dbus_connection_call_finish
    - g_assert_error
    - g_dbus_error_is_remote_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_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1143,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1143,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1153,1
    - Dst: send_bogus_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1147,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/gdbus-connection.c:1156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1159,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1160,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1163
    functionName: serials_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_assert_cmpint
    - g_usleep
    - send_bogus_message
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer serials_thread_func (GDBusConnection *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/trash.c:42,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/trash.c:45,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/tests/trash.c:46,1
    - Dst: g_stat
      Src: /src/glib/gio/tests/trash.c:48,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:49,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/trash.c:52,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:60,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:62,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/trash.c:54,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/trash.c:68,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:97,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:77,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/trash.c:48,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:50,1
    - Dst: g_unix_mount_is_system_internal
      Src: /src/glib/gio/tests/trash.c:68,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/trash.c:79,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/trash.c:88,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/trash.c:78,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/trash.c:81,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:46,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:47,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:61,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/trash.c:58,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:67,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:69,1
    - Dst: g_unix_mount_get_mount_path
      Src: /src/glib/gio/tests/trash.c:69,1
    - Dst: g_file_trash
      Src: /src/glib/gio/tests/trash.c:75,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/trash.c:76,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:94,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:86,1
    - Dst: g_unix_mount_for
      Src: /src/glib/gio/tests/trash.c:67,1
    - Dst: g_stat
      Src: /src/glib/gio/tests/trash.c:52,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:53,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/trash.c:52,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/trash.c:91,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:92,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:95,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:96,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/trash.c:70,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/trash.c:88,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/trash.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 98
    functionName: test_trash_not_supported
    functionSourceFile: /src/glib/gio/tests/trash.c
    functionUses: []
    functionsReached:
    - g_get_home_dir
    - g_clear_pointer
    - g_file_info_get_attribute_boolean
    - g_path_get_dirname
    - g_file_peek_path
    - g_clear_error
    - g_assert_cmpint
    - g_object_unref
    - g_test_skip
    - g_stat
    - g_io_stream_close
    - G_IO_STREAM
    - g_file_trash
    - g_assert_no_error
    - g_file_new_tmp
    - g_assert_error
    - g_unix_mount_is_system_internal
    - g_file_query_info
    - g_test_bug
    - g_test_message
    - g_assert_false
    - g_free
    - g_unix_mount_for
    - g_unix_mount_get_mount_path
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_trash_not_supported (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/glib/gio/tests/trash.c:113,1
    - Dst: g_unix_mount_for
      Src: /src/glib/gio/tests/trash.c:120,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:141,1
    - Dst: g_unix_mount_get_mount_path
      Src: /src/glib/gio/tests/trash.c:130,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/trash.c:139,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:146,1
    - Dst: g_unix_mount_get_mount_path
      Src: /src/glib/gio/tests/trash.c:147,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/tests/trash.c:155,1
    - Dst: g_file_new_build_filename
      Src: /src/glib/gio/tests/trash.c:161,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/trash.c:162,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:175,1
    - Dst: g_unix_mount_get_mount_path
      Src: /src/glib/gio/tests/trash.c:176,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/tests/trash.c:184,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/tests/trash.c:186,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/trash.c:178,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/trash.c:109,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/trash.c:115,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/trash.c:124,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:133,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:142,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:156,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:163,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:166,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:167,1
    - Dst: g_unix_mount_get_mount_path
      Src: /src/glib/gio/tests/trash.c:167,1
    - Dst: g_unix_mount_compare
      Src: /src/glib/gio/tests/trash.c:169,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/trash.c:111,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:116,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:125,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:129,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/trash.c:132,1
    - Dst: g_unix_mount_compare
      Src: /src/glib/gio/tests/trash.c:149,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/tests/trash.c:153,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/trash.c:162,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:165,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/trash.c:171,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:171,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/tests/trash.c:181,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:176,1
    - Dst: g_unix_mount_compare
      Src: /src/glib/gio/tests/trash.c:178,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:185,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/trash.c:111,1
    - Dst: g_unix_mount_for
      Src: /src/glib/gio/tests/trash.c:135,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/tests/trash.c:140,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:130,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:134,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:147,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/trash.c:151,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:154,1
    - Dst: g_unix_mount_for
      Src: /src/glib/gio/tests/trash.c:165,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/trash.c:169,1
    - Dst: g_unix_mount_free
      Src: /src/glib/gio/tests/trash.c:180,1
    - Dst: g_unix_mount_for
      Src: /src/glib/gio/tests/trash.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:183,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:187,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 188
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 188
    functionName: test_trash_symlinks
    functionSourceFile: /src/glib/gio/tests/trash.c
    functionUses: []
    functionsReached:
    - g_get_home_dir
    - g_file_peek_path
    - g_unix_mount_compare
    - g_assert_cmpint
    - g_assert_nonnull
    - g_object_unref
    - g_test_skip
    - g_assert_no_error
    - g_dir_make_tmp
    - g_build_filename
    - g_unix_mount_free
    - g_test_bug
    - g_test_skip_printf
    - g_test_message
    - g_file_make_symbolic_link
    - g_free
    - g_file_new_build_filename
    - g_unix_mount_for
    - g_file_test
    - g_unix_mount_get_mount_path
    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:193,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/trash.c:195,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/trash.c:198,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/trash.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/glib/gio/tests/trash.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3508,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3512,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:3513,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3535,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3542,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3544,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3502,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3507,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3516,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3531,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3516,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/file.c:3517,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3537,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:3538,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3545,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3547,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3548,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:3505,1
    - Dst: g_build_path
      Src: /src/glib/gio/tests/file.c:3504,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3511,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3534,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3533,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3539,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3549,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3554,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:3504,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3510,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3518,1
    - Dst: g_file_move_async
      Src: /src/glib/gio/tests/file.c:3520,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3540,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3542,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3543,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3551,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3555
      start: 3488
    functionDepth: 0
    functionLinenumber: 3488
    functionLinenumberEnd: 3555
    functionName: test_move_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - g_file_query_exists
    - g_output_stream_write
    - g_build_path
    - g_assert_nonnull
    - g_object_unref
    - g_io_stream_close
    - g_file_delete
    - G_IO_STREAM
    - g_file_new_for_path
    - g_assert_cmpuint
    - g_file_move_async
    - g_assert_no_error
    - g_file_new_tmp
    - g_main_context_iteration
    - g_assert_false
    - g_free
    - g_get_tmp_dir
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_move_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:111,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:112,1
    - Dst: g_file_get_child_for_display_name
      Src: /src/glib/gio/tests/file.c:115,1
    - Dst: g_file_has_parent
      Src: /src/glib/gio/tests/file.c:113,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:113,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:116,1
    - Dst: g_file_has_parent
      Src: /src/glib/gio/tests/file.c:116,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:118,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
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: test_child
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_file_get_child_for_display_name
    - g_file_has_parent
    - g_object_unref
    - g_assert_true
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_child (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2315,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2316,1
    - Dst: g_file_make_symbolic_link_finish
      Src: /src/glib/gio/tests/file.c:2315,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2319
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2319
    functionName: on_symlink_done
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_make_symbolic_link_finish
    - g_assert_no_error
    - g_assert_true
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_symlink_done (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:2365,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2369,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:2371,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:2372,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/file.c:2379,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2381,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2386,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2392,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2403,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:2414,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2430,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:2418,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2424,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2421,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2353,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2357,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2368,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2369,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2372,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2376,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2394,1
    - Dst: g_file_info_get_is_symlink
      Src: /src/glib/gio/tests/file.c:2403,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/tests/file.c:2404,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2407,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2425,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2352,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2356,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2355,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2359,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2361,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2384,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2385,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2389,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2394,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2401,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2427,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2411,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2359,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2366,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/file.c:2374,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:2388,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:2395,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2412,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2415,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2419,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2420,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2422,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:2428,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2410,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:2404,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2429,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2431
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2431
    functionName: test_async_make_symlink
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_clear_error
    - g_file_info_get_symlink_target
    - g_file_query_exists
    - g_main_loop_run
    - g_file_info_get_is_symlink
    - g_file_make_symbolic_link_async
    - g_object_unref
    - g_test_expect_message
    - g_io_stream_close
    - g_file_new_for_path
    - g_assert_no_error
    - g_dir_make_tmp
    - g_cancellable_new
    - g_cancellable_cancel
    - g_main_loop_unref
    - g_file_new_tmp
    - g_main_loop_new
    - g_assert_error
    - g_file_query_info
    - g_assert_false
    - g_free
    - g_file_get_path
    - g_clear_object
    - g_assert_cmpstr
    - g_assert_true
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_async_make_symlink (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:3672,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3676,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3679,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:3680,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3680,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/file.c:3684,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3688,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3692,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:3687,1
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/file.c:3691,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:3698,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:3719,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:3707,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/file.c:3696,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/file.c:3712,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3727,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3695,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/file.c:3692,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3696,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3700,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3703,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3710,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3719,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3721,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/file.c:3723,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/file.c:3725,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3679,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3677,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3682,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3685,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:3694,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:3699,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3701,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3706,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3708,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3713,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3728,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3730,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3689,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3699,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3706,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:3715,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3716,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3717,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3724,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3731,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3729,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3704,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3720,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3732
      start: 3657
    functionDepth: 0
    functionLinenumber: 3657
    functionLinenumberEnd: 3732
    functionName: test_query_default_handler_file
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - g_app_info_remove_supports_type
    - g_clear_error
    - G_IS_APP_INFO
    - g_app_info_reset_type_associations
    - g_output_stream_flush
    - g_object_unref
    - g_test_skip
    - G_IO_STREAM
    - g_file_new_for_path
    - g_assert_no_error
    - g_file_query_default_handler
    - g_file_new_tmp
    - g_assert_null
    - create_command_line_app_info
    - g_assert_error
    - g_output_stream_write_all
    - g_clear_object
    - g_output_stream_close
    - G_N_ELEMENTS
    - g_app_info_equal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_query_default_handler_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:128,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:132,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:129,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:136,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:133,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:136,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:137,1
    - Dst: g_file_get_basename
      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_parent
      Src: /src/glib/gio/tests/file.c:138,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: test_empty_path
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_get_basename
    - g_file_new_for_path
    - g_file_get_path
    - g_assert_nonnull
    - g_object_unref
    - g_file_get_parent
    - g_assert_null
    - g_test_summary
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_empty_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:2330,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/file.c:2332,1
    - Dst: g_file_make_symbolic_link_finish
      Src: /src/glib/gio/tests/file.c:2330,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2331,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/tests/file.c:2332,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2335
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2335
    functionName: on_symlink_error
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_nonnull
    - g_steal_pointer
    - g_main_loop_quit
    - g_propagate_error
    - g_file_make_symbolic_link_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_symlink_error (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2486,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2498,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/file.c:2514,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2516,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2520,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2508,1
    - Dst: umask
      Src: /src/glib/gio/tests/file.c:2466,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2485,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2491,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2502,1
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/tests/file.c:2488,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2497,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2495,1
    - Dst: g_file_copy
      Src: /src/glib/gio/tests/file.c:2506,1
    - Dst: g_file_query_info
      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_clear_object
      Src: /src/glib/gio/tests/file.c:2522,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2524,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:2527,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2519,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2523,1
    - Dst: umask
      Src: /src/glib/gio/tests/file.c:2437,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:2469,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:2467,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:2479,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2481,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2483,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2484,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2493,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2496,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2503,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2529
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2529
    functionName: test_copy_preserve_mode
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_file_set_attribute
    - g_clear_object
    - g_assert_no_error
    - g_file_info_get_attribute_uint32
    - g_test_skip
    - g_file_new_tmp
    - umask
    - g_io_stream_close
    - g_file_copy
    - G_N_ELEMENTS
    - g_file_delete
    - g_file_query_info
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_preserve_mode (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/file.c:3565,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3569,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/file.c:3571,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/file.c:3574,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - name
    - command_line
    - default_for_type
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3575
      start: 3557
    functionDepth: 0
    functionLinenumber: 3557
    functionLinenumberEnd: 3575
    functionName: create_command_line_app_info
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_app_info_create_from_commandline
    - g_steal_pointer
    - g_assert_no_error
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read_finish
      Src: /src/glib/gio/tests/file.c:347,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/file.c:351,1
    - Dst: g_buffered_input_stream_new_sized
      Src: /src/glib/gio/tests/file.c:353,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/file.c:351,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:348,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/file.c:353,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:354,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/file.c:356,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:356,1
    - Dst: memcpy
      Src: /src/glib/gio/tests/file.c:359,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/file.c:362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 368
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 368
    functionName: opened_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - g_object_ref
    - g_new0
    - g_assert_no_error
    - g_object_unref
    - g_input_stream_skip_async
    - g_buffered_input_stream_new_sized
    - G_INPUT_STREAM
    - g_file_read_finish
    linkageType: ''
    returnType: void
    signature: 'static void opened_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:1115,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/file.c:1132,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/file.c:1134,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:1134,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1135,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:1152,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1161,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:1163,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1164,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1184,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/file.c:1187,1
    - Dst: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1137,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1149,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/file.c:1155,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:1177,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:1113,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/file.c:1114,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1146,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1142,1
    - Dst: mknod
      Src: /src/glib/gio/tests/file.c:1152,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:1155,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1156,1
    - Dst: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1168,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:1177,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/file.c:1181,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1122,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/file.c:1130,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1152,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/tests/file.c:1148,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1140,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1171,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1185,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 4
    argNames:
    - tmpdir
    - basename
    - setup_type
    - setup_mode
    argTypes:
    - GFile*
    - gchar*
    - FileTestSetupType
    - guint
    constantsTouched: []
    func_position:
      end: 1188
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1188
    functionName: create_test_file
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_file_make_symbolic_link
    - g_assert_false
    - g_free
    - mknod
    - g_file_set_contents
    - g_assert
    - g_assert_no_errno
    - g_clear_object
    - g_assert_no_error
    - g_assert_not_reached
    - g_file_make_directory
    - g_strdup_printf
    - g_file_peek_path
    - g_steal_pointer
    - g_file_query_exists
    - g_file_set_attribute_uint32
    - g_file_get_child
    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_output_stream_close_finish
      Src: /src/glib/gio/tests/file.c:380,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:381,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:383,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/file.c:383,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:382,1
    - Dst: g_file_read_async
      Src: /src/glib/gio/tests/file.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: oclosed_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_output_stream_is_closed
    - g_assert_no_error
    - g_output_stream_close_finish
    - g_file_read_async
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void oclosed_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:2962,1
    - Dst: G_IO_STREAM
      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_object_unref
      Src: /src/glib/gio/tests/file.c:2971,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2946,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2952,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:2954,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2963,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/file.c:2966,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2970,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:2949,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2947,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2953,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2959,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2955,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2944,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:2949,1
    - Dst: g_output_stream_writev_all
      Src: /src/glib/gio/tests/file.c:2951,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:2951,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2960,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2964,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2957,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2968,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2972
      start: 2922
    functionDepth: 0
    functionLinenumber: 2922
    functionLinenumberEnd: 2972
    functionName: test_writev_too_big_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - G_IO_STREAM
    - g_free
    - g_io_stream_get_output_stream
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_delete
    - g_object_unref
    - g_clear_error
    - g_file_new_tmp
    - g_assert_error
    - g_io_stream_close
    - g_assert_cmpmem
    - G_N_ELEMENTS
    - g_file_load_contents
    - g_assert_true
    - g_output_stream_writev_all
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_too_big_vectors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3336,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3345,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3355,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3349,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3357,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3340,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3343,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3351,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3352,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3347,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3356,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3349,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3359,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3333,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3335,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3338,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3338,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3340,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3346,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3354,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3350,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3361,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3363
      start: 3311
    functionDepth: 0
    functionLinenumber: 3311
    functionLinenumberEnd: 3363
    functionName: test_writev_async_all_too_big_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_free
    - g_io_stream_get_output_stream
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_delete
    - g_object_unref
    - g_clear_error
    - g_file_new_tmp
    - g_main_context_iteration
    - g_output_stream_writev_all_async
    - g_assert_error
    - g_io_stream_close
    - G_N_ELEMENTS
    - g_file_load_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all_too_big_vectors (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3387,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3396,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3419,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3422,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3422,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3427,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3432,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3433,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3436,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3437,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3414,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3386,1
    - Dst: g_file_build_attribute_list_for_copy
      Src: /src/glib/gio/tests/file.c:3393,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:3394,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3398,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3402,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3404,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3408,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3409,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3402,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3408,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3441,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3442,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/file.c:3397,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3409,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3413,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3418,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3418,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3423,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3423,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3427,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3428,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3437,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3448,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3413,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3442,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3404,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3382,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3384,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3385,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3389,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3395,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3414,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3419,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3428,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3433,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3436,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3432,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3449,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3441,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3445,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3450
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3450
    functionName: test_build_attribute_list_for_copy
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_strstr_len
    - g_free
    - g_assert_nonnull
    - g_clear_object
    - g_assert_no_error
    - g_file_new_tmp
    - g_assert_null
    - g_io_stream_close
    - g_strconcat
    - G_N_ELEMENTS
    - g_file_delete
    - g_file_build_attribute_list_for_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_build_attribute_list_for_copy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_writev_helper
      Src: /src/glib/gio/tests/file.c:2918,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:2918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2919
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2919
    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_input_stream_read_finish
      Src: /src/glib/gio/tests/file.c:301,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:302,1
    - Dst: g_error_free
      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: 304
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: ipending_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_error
    - g_error_free
    - g_input_stream_read_finish
    linkageType: ''
    returnType: void
    signature: 'static void ipending_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2142,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2148,1
    - Dst: g_file_new_tmp_async
      Src: /src/glib/gio/tests/file.c:2145,1
    - Dst: g_file_new_tmp_async
      Src: /src/glib/gio/tests/file.c:2150,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2153,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2154,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2155,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:2157,1
    - Dst: g_file_new_tmp_async
      Src: /src/glib/gio/tests/file.c:2158,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:2161,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2162,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2164,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2163,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2165,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2168
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2168
    functionName: test_async_new_tmp
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_cancellable_new
    - g_file_new_tmp_async
    - g_clear_error
    - g_cancellable_cancel
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_async_new_tmp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:2768,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2773,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2774,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2776,1
    - Dst: g_file_load_bytes_finish
      Src: /src/glib/gio/tests/file.c:2772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2777
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2777
    functionName: test_load_bytes_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_FILE
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_load_bytes_finish
    - g_main_loop_quit
    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_tmp
      Src: /src/glib/gio/tests/file.c:3043,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3051,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3045,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3051,1
    - Dst: g_output_stream_writev_async
      Src: /src/glib/gio/tests/file.c:3053,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3071,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/file.c:3069,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3063,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3046,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3060,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3056,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3058,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3067,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3062,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3060,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3065,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3074,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3049,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3066,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3061,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3073,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3075
      start: 3018
    functionDepth: 0
    functionLinenumber: 3018
    functionLinenumberEnd: 3075
    functionName: test_writev_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_free
    - g_io_stream_get_output_stream
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_output_stream_writev_async
    - g_assert_no_error
    - g_object_unref
    - g_file_delete
    - g_file_new_tmp
    - g_main_context_iteration
    - g_io_stream_close
    - g_assert_cmpmem
    - G_N_ELEMENTS
    - g_file_load_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/file.c:316,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:317,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/file.c:320,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:322,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:318,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/file.c:328,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 335
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 335
    functionName: skipped_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_input_stream_skip_finish
    - g_assert_no_error
    - g_input_stream_read_async
    linkageType: ''
    returnType: void
    signature: 'static void skipped_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2183,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2188,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/tests/file.c:2190,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/file.c:2199,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2200,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2207,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2209,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2188,1
    - Dst: g_file_new_tmp_dir_finish
      Src: /src/glib/gio/tests/file.c:2185,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/file.c:2191,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/file.c:2197,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:2200,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/file.c:2202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2206,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2195,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2208,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2210,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2186,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2191,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:2193,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2204,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2211
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2211
    functionName: on_new_tmp_dir_done
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_get_basename
    - g_file_new_for_path
    - g_get_tmp_dir
    - g_assert_cmpuint
    - g_file_new_tmp_dir_finish
    - g_free
    - g_assert_no_error
    - g_object_unref
    - g_file_get_parent
    - g_file_info_get_file_type
    - g_file_equal
    - g_str_has_prefix
    - g_file_query_exists
    - g_assert_null
    - g_main_loop_quit
    - g_assert_true
    - g_file_query_info
    linkageType: ''
    returnType: void
    signature: 'static void on_new_tmp_dir_done (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkstemp
      Src: /src/glib/gio/tests/file.c:2788,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2789,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:2790,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2792,1
    - Dst: write
      Src: /src/glib/gio/tests/file.c:2791,1
    - Dst: close
      Src: /src/glib/gio/tests/file.c:2793,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2795,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2796,1
    - Dst: g_file_load_bytes_async
      Src: /src/glib/gio/tests/file.c:2798,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2799,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:2802,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/file.c:2806,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/file.c:2801,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2801,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2804,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2805,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/file.c:2802,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2808
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2808
    functionName: test_load_bytes_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_bytes_get_data
    - g_file_new_for_path
    - g_mkstemp
    - g_assert_cmpstr
    - g_object_unref
    - close
    - g_bytes_unref
    - g_main_loop_unref
    - g_main_loop_new
    - g_file_load_bytes_async
    - g_main_loop_run
    - g_file_delete
    - g_bytes_get_size
    - write
    linkageType: ''
    returnType: void
    signature: 'static void test_load_bytes_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:3082,1
    - Dst: g_output_stream_writev_all_finish
      Src: /src/glib/gio/tests/file.c:3085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3087
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3087
    functionName: test_writev_all_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM
    - g_output_stream_writev_all_finish
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_all_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_default_handler_finish
      Src: /src/glib/gio/tests/file.c:3747,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:3749,1
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:3747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3750
      start: 3740
    functionDepth: 0
    functionLinenumber: 3740
    functionLinenumberEnd: 3750
    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_file_create_finish
      Src: /src/glib/gio/tests/file.c:443,1
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:443,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:445,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:445,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:444,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:448,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/file.c:448,1
    - Dst: g_buffered_output_stream_new_sized
      Src: /src/glib/gio/tests/file.c:450,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:450,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:451,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:463,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:455,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/file.c:461,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/file.c:453,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 468
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 468
    functionName: created_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_create_finish
    - g_output_stream_write_async
    - strlen
    - g_object_ref
    - G_FILE
    - g_assert_no_error
    - G_OUTPUT_STREAM
    - g_buffered_output_stream_new_sized
    - g_object_unref
    - g_file_query_exists
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void created_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/file.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 477
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:2988,1
    - Dst: g_output_stream_writev_finish
      Src: /src/glib/gio/tests/file.c:2994,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2995,1
    - Dst: g_output_stream_writev_async
      Src: /src/glib/gio/tests/file.c:3014,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2996,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3015
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 3015
    functionName: test_writev_async_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM
    - g_output_stream_writev_async
    - g_assert_no_error
    - g_output_stream_writev_finish
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_cb (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: 3485
      start: 3478
    functionDepth: 0
    functionLinenumber: 3478
    functionLinenumberEnd: 3485
    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_test_skip
      Src: /src/glib/gio/tests/file.c:3768,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3777,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3777,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:3778,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3783,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:3789,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/file.c:3787,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/file.c:3794,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3795,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:3798,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3823,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:3832,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3835,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/file.c:3839,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:3841,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:3801,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3845,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3774,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3778,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3784,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:3792,1
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/file.c:3786,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3793,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3803,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:3810,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3814,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3819,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3827,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3842,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3775,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3780,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:3782,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3794,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:3797,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:3806,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3812,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3816,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3821,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:3829,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/file.c:3837,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3844,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3838,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:3772,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3787,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3804,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:3807,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:3811,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3813,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3817,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3819,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:3820,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3826,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3834,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3802,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3843,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:3825,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3833,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3846
      start: 3752
    functionDepth: 0
    functionLinenumber: 3752
    functionLinenumberEnd: 3846
    functionName: test_query_default_handler_file_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - g_app_info_remove_supports_type
    - g_clear_error
    - g_main_loop_run
    - G_IS_APP_INFO
    - g_app_info_reset_type_associations
    - g_object_unref
    - g_test_skip
    - g_file_query_default_handler_async
    - G_IO_STREAM
    - g_file_new_for_path
    - g_assert_no_error
    - g_cancellable_new
    - g_cancellable_cancel
    - g_main_loop_unref
    - g_file_new_tmp
    - g_main_loop_new
    - g_assert_null
    - create_command_line_app_info
    - g_assert_error
    - g_output_stream_write_all
    - g_clear_object
    - g_output_stream_close
    - G_N_ELEMENTS
    - g_app_info_equal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_query_default_handler_file_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_close_finish
      Src: /src/glib/gio/tests/file.c:246,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:250,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:248,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/file.c:250,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:247,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:252,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:253,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:254,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/file.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 258
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 258
    functionName: iclosed_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    - g_assert_no_error
    - g_input_stream_is_closed
    - g_input_stream_close_finish
    - g_file_delete
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void iclosed_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/file.c:1405,1
    - Dst: umask
      Src: /src/glib/gio/tests/file.c:1409,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1904,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1919,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1922,1
    - Dst: check_cap_dac_override
      Src: /src/glib/gio/tests/file.c:1924,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1936,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1926,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1930,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1929,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:1972,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2027,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2036,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:2044,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2011,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:2048,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1981,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:1899,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:1906,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/file.c:1953,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1981,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:1993,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1998,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2009,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1993,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2013,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:2018,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:2053,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2059,1
    - Dst: check_test_file
      Src: /src/glib/gio/tests/file.c:2038,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1962,1
    - Dst: umask
      Src: /src/glib/gio/tests/file.c:1903,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:1918,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:1920,1
    - Dst: create_test_file
      Src: /src/glib/gio/tests/file.c:1940,1
    - Dst: create_test_file
      Src: /src/glib/gio/tests/file.c:1939,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:1964,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:1966,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:1972,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:1975,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1975,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2049,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2050,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1999,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:2002,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2021,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1999,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:1984,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1987,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1993,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2005,1
    - Dst: g_file_enumerator_iterate
      Src: /src/glib/gio/tests/file.c:2026,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2034,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:1928,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1931,1
    - Dst: g_file_replace_readwrite
      Src: /src/glib/gio/tests/file.c:1946,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1980,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:1984,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2014,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2015,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2043,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2055,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2058,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2061,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:2066,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1975,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:2002,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2063,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:2054,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 107
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2068
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 2068
    functionName: test_replace
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - g_io_stream_get_output_stream
    - g_clear_error
    - g_test_summary
    - check_cap_dac_override
    - strlen
    - g_assert_cmpint
    - g_assert_nonnull
    - g_test_skip
    - g_file_enumerator_iterate
    - g_io_stream_close
    - g_file_delete
    - G_IO_STREAM
    - g_file_new_for_path
    - g_file_replace_readwrite
    - g_assert_cmpuint
    - g_assert_no_error
    - g_dir_make_tmp
    - g_file_enumerate_children
    - g_file_replace
    - g_assert_error
    - g_output_stream_write_all
    - create_test_file
    - g_test_message
    - g_free
    - check_test_file
    - g_clear_object
    - umask
    - g_output_stream_close
    - G_N_ELEMENTS
    - G_OUTPUT_STREAM
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_replace (gconstpointer test_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:224,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:221,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:222,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:223,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/file.c:233,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: 234
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: monitor_changed
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    - g_free
    - g_file_get_path
    - g_assert_cmpstr
    - g_file_peek_path
    linkageType: ''
    returnType: void
    signature: 'static void monitor_changed (GFileMonitor *monitor, GFile *file, GFile
      *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/file.c:270,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:271,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/file.c:276,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:278,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:274,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:286,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:287,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/file.c:287,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/tests/file.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 290
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 290
    functionName: read_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_false
    - g_assert_no_error
    - g_input_stream_read_async
    - g_assert_cmpstr
    - g_input_stream_close_async
    - g_input_stream_read_finish
    - g_input_stream_is_closed
    linkageType: ''
    returnType: void
    signature: 'static void read_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:44,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:46,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - test_basic_for_file
    - g_object_unref
    - g_file_new_for_path
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_build_filename
      Src: /src/glib/gio/tests/file.c:54,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:59,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:56,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:55,1
    - Dst: g_file_new_build_filename
      Src: /src/glib/gio/tests/file.c:58,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: test_build_filename
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_basic_for_file
    - g_file_new_build_filename
    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:2660,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2662,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2661,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: 2667
      start: 2649
    functionDepth: 0
    functionLinenumber: 2649
    functionLinenumberEnd: 2667
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkstemp
      Src: /src/glib/gio/tests/file.c:2736,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2740,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:2738,1
    - Dst: write
      Src: /src/glib/gio/tests/file.c:2739,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2737,1
    - Dst: close
      Src: /src/glib/gio/tests/file.c:2741,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2743,1
    - Dst: g_file_load_bytes
      Src: /src/glib/gio/tests/file.c:2744,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2745,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2746,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2750,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/file.c:2747,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/file.c:2752,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/file.c:2748,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2753,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2747,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:2748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2754
      start: 2725
    functionDepth: 0
    functionLinenumber: 2725
    functionLinenumberEnd: 2754
    functionName: test_load_bytes
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_bytes_get_data
    - g_file_new_for_path
    - g_mkstemp
    - g_file_load_bytes
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_bytes_unref
    - close
    - g_object_unref
    - g_file_delete
    - g_bytes_get_size
    - write
    linkageType: ''
    returnType: void
    signature: 'static void test_load_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/file.c:3864,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3884,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:3887,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:3891,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3893,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/file.c:3896,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3897,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/file.c:3898,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:3900,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3903,1
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/file.c:3862,1
    - Dst: g_file_new_for_uri
      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_null
      Src: /src/glib/gio/tests/file.c:3882,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:3881,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:3878,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3902,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:3866,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:3869,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:3872,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3873,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3883,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:3890,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3894,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3901,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:3858,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3864,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3875,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:3886,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:3877,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/file.c:3874,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3892,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3904
      start: 3848
    functionDepth: 0
    functionLinenumber: 3848
    functionLinenumberEnd: 3904
    functionName: test_query_default_handler_uri_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_app_info_remove_supports_type
    - g_clear_error
    - g_main_loop_run
    - G_IS_APP_INFO
    - g_app_info_reset_type_associations
    - g_object_unref
    - g_test_skip
    - g_file_query_default_handler_async
    - g_assert_no_error
    - g_cancellable_new
    - g_cancellable_cancel
    - g_main_loop_unref
    - g_main_loop_new
    - g_assert_null
    - create_command_line_app_info
    - g_assert_error
    - g_file_new_for_uri
    - g_clear_object
    - g_app_info_equal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_query_default_handler_uri_async (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_load_contents_finish
      Src: /src/glib/gio/tests/file.c:627,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:629,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:630,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:630,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:628,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:631,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:633,1
    - Dst: g_file_replace_contents_async
      Src: /src/glib/gio/tests/file.c:640,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:642,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:653,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:655,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:656,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:656,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:654,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 660
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 660
    functionName: loaded_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_assert_false
    - g_free
    - g_assert_no_error
    - g_assert_cmpstr
    - g_file_replace_contents_async
    - g_file_query_exists
    - g_main_loop_quit
    - g_file_delete
    - g_assert_true
    - g_file_load_contents_finish
    linkageType: ''
    returnType: void
    signature: 'static void loaded_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:3464,1
    - Dst: g_file_move_finish
      Src: /src/glib/gio/tests/file.c:3468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3471
      start: 3459
    functionDepth: 0
    functionLinenumber: 3459
    functionLinenumberEnd: 3471
    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_for_path
      Src: /src/glib/gio/tests/file.c:3915,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:3915,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:3918,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3923,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3916,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:3925,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:3926,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:3927,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3928,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3929,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3932,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/file.c:3931,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3934,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3935
      start: 3906
    functionDepth: 0
    functionLinenumber: 3906
    functionLinenumberEnd: 3935
    functionName: test_enumerator_cancellation
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_get_tmp_dir
    - g_file_new_for_path
    - g_assert_nonnull
    - g_file_enumerator_next_file
    - g_cancellable_new
    - g_file_enumerate_children
    - g_error_free
    - g_object_unref
    - g_cancellable_cancel
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_enumerator_cancellation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3184,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3191,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3194,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3195,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3193,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3196,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3205,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3174,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3179,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3179,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3176,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3190,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3198,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3200,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3177,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:3181,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3203,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3206,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:3182,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3184,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3187,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3189,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3193,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3199,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3201,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3208
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 3208
    functionName: test_writev_async_all_cancellation
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - g_clear_error
    - g_file_load_contents
    - g_assert_nonnull
    - g_object_unref
    - g_output_stream_writev_all_async
    - g_io_stream_close
    - g_file_delete
    - G_IO_STREAM
    - g_assert_cmpuint
    - g_cancellable_new
    - g_assert_no_error
    - g_cancellable_cancel
    - g_file_new_tmp
    - g_main_context_iteration
    - g_assert_error
    - g_free
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all_cancellation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3283,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3281,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3296,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3299,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3304,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3278,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3297,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3295,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3300,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3294,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3306,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3307,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3283,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3280,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3285,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3288,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3290,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3291,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3292,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3294,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3301,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3308
      start: 3266
    functionDepth: 0
    functionLinenumber: 3266
    functionLinenumberEnd: 3308
    functionName: test_writev_async_all_no_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_free
    - g_io_stream_get_output_stream
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_delete
    - g_object_unref
    - g_clear_error
    - g_file_new_tmp
    - g_main_context_iteration
    - g_output_stream_writev_all_async
    - g_io_stream_close
    - g_file_load_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all_no_vectors (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/tests/file.c:398,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/file.c:404,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:406,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:402,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:399,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:414,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/file.c:414,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/tests/file.c:415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 417
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 417
    functionName: written_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_output_stream_write_async
    - g_assert_false
    - g_output_stream_is_closed
    - g_output_stream_write_finish
    - g_assert_no_error
    - g_output_stream_close_async
    linkageType: ''
    returnType: void
    signature: 'static void written_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:733,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:738,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/file.c:739,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:750,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:749,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:752,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:767,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:783,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/file.c:815,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:821,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:792,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:804,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:847,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:841,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:840,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:735,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:741,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:747,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:759,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:761,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:762,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:768,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/file.c:770,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:771,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:776,1
    - Dst: g_file_enumerator_iterate
      Src: /src/glib/gio/tests/file.c:802,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:810,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:822,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:823,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:813,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:817,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:824,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:795,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:736,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:744,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/file.c:746,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:749,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:753,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:763,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:772,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:796,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:788,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:805,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:836,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:842,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:845,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:822,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:820,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:791,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:731,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:734,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:758,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:753,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:764,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:765,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:766,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:775,1
    - Dst: g_file_enumerator_iterate
      Src: /src/glib/gio/tests/file.c:781,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:782,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/tests/file.c:810,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:830,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:827,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:838,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:816,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:837,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:826,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:846,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/file.c:790,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 85
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 848
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 848
    functionName: test_replace_cancel
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_next_file
    - g_clear_error
    - g_file_load_contents
    - strlen
    - g_assert_cmpint
    - g_assert_nonnull
    - g_object_unref
    - g_file_enumerator_iterate
    - g_file_delete
    - g_file_new_for_path
    - g_assert_no_error
    - g_dir_make_tmp
    - g_file_enumerate_children
    - G_OUTPUT_STREAM
    - g_cancellable_new
    - g_cancellable_cancel
    - g_file_replace
    - g_assert_error
    - g_output_stream_write_all
    - G_IS_FILE
    - g_file_replace_contents
    - g_test_bug
    - g_free
    - g_assert_cmpstr
    - g_file_enumerator_close
    - g_output_stream_close
    - g_assert_true
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_cancel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3120,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3120,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3117,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3122,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3122,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3125,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3135,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3118,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3127,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/file.c:3139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3133,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3143,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3144,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3115,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3128,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3141,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3130,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3136,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3137,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3131,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3130,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3145
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3145
    functionName: test_writev_async_all
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_free
    - g_io_stream_get_output_stream
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_delete
    - g_object_unref
    - g_file_new_tmp
    - g_main_context_iteration
    - g_output_stream_writev_all_async
    - g_io_stream_close
    - g_assert_cmpmem
    - G_N_ELEMENTS
    - g_file_load_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3236,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3245,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3249,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3262,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3240,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3243,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3254,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3255,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3259,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3246,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3249,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3261,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3233,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3238,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3235,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3238,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3240,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3251,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3247,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3250,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3252,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3256,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3263
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3263
    functionName: test_writev_async_all_empty_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_free
    - g_io_stream_get_output_stream
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_delete
    - g_object_unref
    - g_clear_error
    - g_file_new_tmp
    - g_main_context_iteration
    - g_output_stream_writev_all_async
    - g_io_stream_close
    - G_N_ELEMENTS
    - g_file_load_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all_empty_vectors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:3942,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3949,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:3943,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:3945,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:3947,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3951
      start: 3937
    functionDepth: 0
    functionLinenumber: 3937
    functionLinenumberEnd: 3951
    functionName: test_from_uri_ignores_fragment
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_free
    - g_file_new_for_uri
    - g_file_get_path
    - g_object_unref
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_from_uri_ignores_fragment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_basename
      Src: /src/glib/gio/tests/file.c:24,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:29,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:25,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/file.c:28,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:26,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/file.c:29,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:30,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/tests/file.c:30,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:31,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:33,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:36,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/tests/file.c:33,1
    - Dst: g_file_get_uri_scheme
      Src: /src/glib/gio/tests/file.c:34,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - file
    - suffix
    argTypes:
    - GFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: test_basic_for_file
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_file_get_basename
    - g_free
    - g_assert_cmpstr
    - g_file_get_uri_scheme
    - g_str_has_prefix
    - g_str_has_suffix
    - g_assert_true
    - g_file_has_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:428,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:429,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/file.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 431
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 431
    functionName: opending_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_error
    - g_error_free
    - g_output_stream_write_finish
    linkageType: ''
    returnType: void
    signature: 'static void opending_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:904,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:907,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:907,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:910,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:912,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:916,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:920,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:923,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:924,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/tests/file.c:926,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:931,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:951,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:965,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:926,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:904,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:927,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:943,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:950,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:865,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:869,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:871,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:866,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:873,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:879,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/file.c:881,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:890,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:891,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:892,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:955,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:940,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:876,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:885,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:886,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:904,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:906,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:909,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/file.c:927,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:932,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:940,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:929,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/file.c:900,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:937,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:902,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:951,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:936,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:956,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:962,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:933,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:949,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:952,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:959,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:958,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:870,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:874,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/file.c:877,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:879,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:880,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:884,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:889,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:883,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:883,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:895,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:909,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:961,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:963,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/file.c:935,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:895,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:922,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 967
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 967
    functionName: test_replace_symlink
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_file_enumerator_next_file
    - g_clear_error
    - g_file_query_exists
    - g_test_summary
    - g_file_load_contents
    - strlen
    - g_assert_cmpint
    - g_assert_nonnull
    - g_test_skip
    - g_test_expect_message
    - g_file_info_get_file_type
    - g_file_delete
    - g_file_new_for_path
    - g_assert_cmpuint
    - g_assert_no_error
    - g_dir_make_tmp
    - g_file_enumerate_children
    - g_file_replace
    - g_assert_null
    - g_assert_error
    - g_output_stream_write_all
    - g_test_bug
    - g_test_message
    - g_assert_false
    - g_file_make_symbolic_link
    - g_free
    - g_file_info_get_name
    - g_clear_object
    - g_assert_cmpstr
    - g_file_enumerator_close
    - g_output_stream_close
    - G_OUTPUT_STREAM
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_symlink (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:3958,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:3959,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:3963,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:3961,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3965,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3967
      start: 3953
    functionDepth: 0
    functionLinenumber: 3953
    functionLinenumberEnd: 3967
    functionName: test_from_uri_ignores_query_string
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_free
    - g_file_new_for_uri
    - g_file_get_path
    - g_object_unref
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_from_uri_ignores_query_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3977,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3978,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3976,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3979,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3980,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3981,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3982,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3983,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:3984,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3990,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:3993,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4002,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4019,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4000,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4017,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4007,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4024,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4004,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4021,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3991,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/file.c:4027,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:3994,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4011,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4009,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3997,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4014,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:3993,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3996,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4013,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/file.c:3972,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/file.c:3974,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:3984,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:3985,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:3986,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:3985,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:3986,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:3987,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:3987,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:3988,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4001,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3999,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4016,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:3988,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4006,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4023,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4005,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4022,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:3994,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4003,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4018,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4015,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4020,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4010,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3992,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4008,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4025,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3989,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4012,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3998,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:3995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 4028
      start: 3969
    functionDepth: 0
    functionLinenumber: 3969
    functionLinenumberEnd: 4028
    functionName: main
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - setlocale
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_test_add_func
    - GUINT_TO_POINTER
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/glib/gio/tests/file.c:502,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:504,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/file.c:522,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/file.c:521,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:543,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:549,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/tests/file.c:554,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:555,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/file.c:557,1
    - Dst: g_object_unref
      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_object_unref
      Src: /src/glib/gio/tests/file.c:499,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/file.c:522,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:508,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:524,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/tests/file.c:534,1
    - Dst: g_file_create_async
      Src: /src/glib/gio/tests/file.c:536,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/tests/file.c:555,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:563,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:564,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:565,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/file.c:490,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:496,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:501,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:504,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/tests/file.c:507,1
    - Dst: g_file_monitor_set_rate_limit
      Src: /src/glib/gio/tests/file.c:528,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/file.c:521,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/file.c:530,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: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/file.c:492,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:498,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/file.c:530,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/file.c:545,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:547,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:548,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/tests/file.c:553,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:553,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:562,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 567
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 567
    functionName: test_create_delete
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_source_remove
    - g_file_query_exists
    - g_assert_cmpint
    - g_assert_nonnull
    - g_object_unref
    - remove
    - g_test_skip
    - g_timeout_add_seconds_once
    - strcmp
    - g_file_monitor_set_rate_limit
    - g_signal_connect
    - g_file_monitor_cancel
    - g_assert_no_error
    - g_file_monitor_file
    - G_CALLBACK
    - g_file_new_tmp
    - G_OBJECT_TYPE_NAME
    - g_main_context_iteration
    - g_file_monitor_is_cancelled
    - g_file_create_async
    - GPOINTER_TO_INT
    - g_assert_false
    - g_free
    - g_new0
    - g_file_get_path
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_create_delete (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_replace_contents_finish
      Src: /src/glib/gio/tests/file.c:671,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:672,1
    - Dst: g_file_load_contents_async
      Src: /src/glib/gio/tests/file.c:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 675
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 675
    functionName: replaced_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_load_contents_async
    - g_assert_no_error
    - 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_new0
      Src: /src/glib/gio/tests/file.c:684,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:693,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:690,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:691,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:688,1
    - Dst: remove
      Src: /src/glib/gio/tests/file.c:694,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:696,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:696,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:698,1
    - Dst: g_file_replace_contents_async
      Src: /src/glib/gio/tests/file.c:700,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:702,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:710,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:713,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:714,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 715
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 715
    functionName: test_replace_load
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_false
    - g_free
    - g_new0
    - g_assert_nonnull
    - g_object_unref
    - remove
    - g_file_replace_contents_async
    - g_main_loop_unref
    - g_file_peek_path
    - g_file_new_tmp
    - g_file_query_exists
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_load (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:990,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1011,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1011,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1013,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1000,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:1020,1
    - Dst: sleep
      Src: /src/glib/gio/tests/file.c:1026,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/file.c:1030,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1046,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:1046,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1080,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1081,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:1050,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1082,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1075,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:985,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:994,1
    - Dst: g_file_create
      Src: /src/glib/gio/tests/file.c:1009,1
    - Dst: g_file_output_stream_get_etag
      Src: /src/glib/gio/tests/file.c:1019,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:1034,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1034,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1034,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1037,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1039,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1057,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:1071,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1065,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1047,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:1077,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:1084,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1072,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:986,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:991,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:989,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:998,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:999,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:1011,1
    - Dst: sleep
      Src: /src/glib/gio/tests/file.c:1006,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1014,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1016,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1021,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1058,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1042,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1078,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1056,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1059,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1062,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1037,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:1058,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1068,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1067,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:993,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:997,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1010,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1014,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:1016,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1017,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1023,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1036,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:1047,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1064,1
    - Dst: g_file_info_get_etag
      Src: /src/glib/gio/tests/file.c:1065,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1040,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:1074,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:1039,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1032,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1086
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 1086
    functionName: test_replace_symlink_using_etag
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_info_get_etag
    - g_test_summary
    - g_file_load_contents
    - strlen
    - g_assert_cmpint
    - g_file_output_stream_get_etag
    - g_assert_nonnull
    - g_test_skip
    - sleep
    - g_file_delete
    - g_file_query_file_type
    - g_file_new_for_path
    - g_assert_cmpuint
    - g_assert_no_error
    - g_dir_make_tmp
    - g_file_replace
    - g_output_stream_write_all
    - g_file_query_info
    - g_test_bug
    - g_test_message
    - g_file_make_symbolic_link
    - g_free
    - g_clear_object
    - g_assert_cmpstr
    - g_output_stream_close
    - g_file_create
    - G_OUTPUT_STREAM
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_symlink_using_etag (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:155,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/file.c:151,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:154,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:153,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:156,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:158,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:160,1
    - Dst: g_file_read
      Src: /src/glib/gio/tests/file.c:162,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:167,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:165,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/file.c:164,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 168
    functionName: test_type
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_file_query_file_type
    - g_file_new_for_path
    - g_error_free
    - g_object_unref
    - g_file_read
    - g_test_get_dir
    - g_assert_error
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:2567,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2569,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2572,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2573,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2578,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2599,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2601,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2598,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2602,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/file.c:2568,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2564,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2579,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2580,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2595,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2581,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2562,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:2567,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2571,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2576,1
    - Dst: g_file_copy
      Src: /src/glib/gio/tests/file.c:2590,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2594,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2603
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2603
    functionName: test_copy_progress
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    - g_assert_cmpuint
    - g_clear_object
    - g_assert_no_error
    - g_file_new_tmp
    - g_file_copy
    - g_io_stream_close
    - g_output_stream_write
    - g_file_delete
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_progress (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:176,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:180,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:179,1
    - Dst: g_file_get_parse_name
      Src: /src/glib/gio/tests/file.c:177,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:178,1
    - Dst: g_file_parse_name
      Src: /src/glib/gio/tests/file.c:182,1
    - Dst: g_file_get_parse_name
      Src: /src/glib/gio/tests/file.c:183,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:184,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:185,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 187
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: test_parse_name
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_free
    - g_file_new_for_uri
    - g_assert_nonnull
    - g_file_get_parse_name
    - g_object_unref
    - g_assert_cmpstr
    - g_file_parse_name
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/file.c:2616,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2628,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2629,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2617,1
    - Dst: g_file_measure_disk_usage
      Src: /src/glib/gio/tests/file.c:2619,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2631,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2632,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2633,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2635,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2637
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2637
    functionName: test_measure
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_file_measure_disk_usage
    - g_file_new_for_path
    - g_free
    - g_assert_cmpuint
    - g_assert_no_error
    - g_object_unref
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_measure (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:1207,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1226,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1235,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1232,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1247,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1251,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1263,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1282,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1265,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:1293,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1309,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1320,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1248,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:1251,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1255,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1258,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1261,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:1270,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:1291,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:1293,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1305,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1307,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/tests/file.c:1291,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1256,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1321,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:1208,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:1218,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1223,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1224,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:1244,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/tests/file.c:1237,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1268,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1270,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1279,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:1289,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:1295,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:1295,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1319,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/file.c:1316,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1302,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/file.c:1206,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1215,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1216,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:1218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1219,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1228,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/tests/file.c:1235,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1237,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/file.c:1244,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1245,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1284,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:1307,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1289,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1312,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1287,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: 1322
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1322
    functionName: check_test_file
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_peek_path
    - g_file_info_get_symlink_target
    - g_file_query_exists
    - g_assert_cmpint
    - g_file_info_get_attribute_uint32
    - g_assert_not_reached
    - g_file_query_file_type
    - g_assert_cmpuint
    - g_assert_no_error
    - g_strdup_printf
    - g_file_query_info
    - g_assert_false
    - g_free
    - g_assert
    - g_clear_object
    - g_assert_cmpstr
    - g_file_get_contents
    - g_assert_true
    - g_file_get_child
    - g_file_info_get_size
    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_measure_disk_usage_finish
      Src: /src/glib/gio/tests/file.c:2679,1
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:2679,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2680,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2681,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2683,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2684,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2685,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2687,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2688,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2689,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2690,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2692,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2694
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2694
    functionName: measure_done
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpuint
    - G_FILE
    - g_assert_no_error
    - g_object_unref
    - g_file_measure_disk_usage_finish
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void measure_done (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_writev_helper
      Src: /src/glib/gio/tests/file.c:2902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2903
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2903
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/tests/file.c:2703,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2712,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2711,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/file.c:2710,1
    - Dst: g_file_measure_disk_usage_async
      Src: /src/glib/gio/tests/file.c:2718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2723
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2723
    functionName: test_measure_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_free
    - g_file_new_for_path
    - g_new
    - g_file_measure_disk_usage_async
    linkageType: ''
    returnType: void
    signature: 'static void test_measure_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_writev_helper
      Src: /src/glib/gio/tests/file.c:2895,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:2895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2896
      start: 2878
    functionDepth: 0
    functionLinenumber: 2878
    functionLinenumberEnd: 2896
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2220,1
    - Dst: g_file_new_tmp_dir_finish
      Src: /src/glib/gio/tests/file.c:2222,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2225,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2223,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2226
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2226
    functionName: on_new_tmp_dir_error
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_tmp_dir_finish
    - g_assert_nonnull
    - g_assert_null
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_new_tmp_dir_error (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2236,1
    - Dst: g_file_new_tmp_dir_async
      Src: /src/glib/gio/tests/file.c:2244,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2242,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2247,1
    - Dst: g_file_new_tmp_dir_async
      Src: /src/glib/gio/tests/file.c:2239,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2248,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2249,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:2251,1
    - Dst: g_file_new_tmp_dir_async
      Src: /src/glib/gio/tests/file.c:2252,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:2255,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2256,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2259,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2261,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2258,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2262
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2262
    functionName: test_async_new_tmp_dir
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_tmp_dir_async
    - g_clear_object
    - g_cancellable_new
    - g_clear_error
    - g_cancellable_cancel
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_async_new_tmp_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_build_filenamev
      Src: /src/glib/gio/tests/file.c:69,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:75,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:71,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:70,1
    - Dst: g_file_new_build_filenamev
      Src: /src/glib/gio/tests/file.c:74,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: test_build_filenamev
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_build_filenamev
    - g_object_unref
    - test_basic_for_file
    linkageType: ''
    returnType: void
    signature: 'static void test_build_filenamev (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:87,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:88,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:91,1
    - Dst: g_file_has_parent
      Src: /src/glib/gio/tests/file.c:91,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:93,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:94,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/file.c:94,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:95,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:97,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:99,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/file.c:97,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: test_parent
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_file_has_parent
    - g_object_unref
    - g_file_get_parent
    - g_file_equal
    - g_assert_null
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_parent (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_writev_helper
      Src: /src/glib/gio/tests/file.c:2874,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:2874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2875
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2875
    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_true
      Src: /src/glib/gio/tests/file.c:2089,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2092,1
    - Dst: g_file_io_stream_query_info
      Src: /src/glib/gio/tests/file.c:2094,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:2103,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/file.c:2098,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2111,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2084,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2087,1
    - Dst: g_file_new_tmp_finish
      Src: /src/glib/gio/tests/file.c:2086,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:2099,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/file.c:2105,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2109,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2112,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2114,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/tests/file.c:2091,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2100,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/file.c:2102,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2103,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2107,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2113,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2089,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/file.c:2092,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2096,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2098,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2099,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2105,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2115
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2115
    functionName: on_new_tmp_done
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_get_basename
    - g_file_query_exists
    - g_main_loop_quit
    - g_file_io_stream_query_info
    - g_object_unref
    - g_file_new_tmp_finish
    - g_file_info_get_file_type
    - g_file_get_parent
    - g_str_has_prefix
    - g_io_stream_close
    - G_IO_STREAM
    - g_file_new_for_path
    - g_assert_cmpuint
    - g_assert_no_error
    - g_file_equal
    - g_assert_null
    - g_free
    - g_get_tmp_dir
    - g_assert_true
    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:2272,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2275,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2276
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2276
    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_true
      Src: /src/glib/gio/tests/file.c:2841,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2850,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2828,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:2831,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:2831,1
    - Dst: g_output_stream_writev_all
      Src: /src/glib/gio/tests/file.c:2833,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2834,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2839,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2840,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:2839,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:2844,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2846,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2829,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2835,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2852,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2826,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2837,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2842,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2845,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/file.c:2848,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2853,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: 2854
      start: 2810
    functionDepth: 0
    functionLinenumber: 2810
    functionLinenumberEnd: 2854
    functionName: test_writev_helper
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_free
    - g_io_stream_get_output_stream
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_delete
    - g_object_unref
    - g_file_new_tmp
    - g_assert_cmpmem
    - g_io_stream_close
    - g_file_load_contents
    - g_assert_true
    - 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_IS_APP_INFO
      Src: /src/glib/gio/tests/file.c:3593,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3610,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3601,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/file.c:3598,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:3600,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/file.c:3607,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3609,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3606,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:3595,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:3596,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3597,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3598,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:3601,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3611,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:3587,1
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/file.c:3591,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3593,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3603,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3602,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/file.c:3605,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3612,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3613
      start: 3577
    functionDepth: 0
    functionLinenumber: 3577
    functionLinenumberEnd: 3613
    functionName: test_query_default_handler_uri
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_app_info_reset_type_associations
    - g_file_new_for_uri
    - g_app_info_remove_supports_type
    - g_assert_no_error
    - g_object_unref
    - g_file_query_default_handler
    - g_test_skip
    - g_clear_error
    - g_assert_null
    - create_command_line_app_info
    - g_assert_error
    - g_app_info_equal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_query_default_handler_uri (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:3623,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:3631,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3633,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3636,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3634,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3636,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3637,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3638,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:3641,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3645,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3654,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:3650,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/tests/file.c:3648,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3653,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:3648,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/tests/file.c:3650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3655
      start: 3615
    functionDepth: 0
    functionLinenumber: 3615
    functionLinenumberEnd: 3655
    functionName: test_query_zero_length_content_type
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_clear_object
    - g_assert_no_error
    - g_file_info_get_content_type
    - g_assert_cmpstr
    - g_file_new_tmp
    - g_io_stream_close
    - g_test_summary
    - g_file_query_info
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_query_zero_length_content_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2125,1
    - Dst: g_file_new_tmp_finish
      Src: /src/glib/gio/tests/file.c:2127,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2127,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2129,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2128,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2132
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2132
    functionName: on_new_tmp_error
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_tmp_finish
    - g_assert_nonnull
    - g_assert_null
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_new_tmp_error (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2287,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2292,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2292,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2290,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2289,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2294,1
    - Dst: g_file_delete_async
      Src: /src/glib/gio/tests/file.c:2296,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2298,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:2300,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2300,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2302,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2304
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2304
    functionName: test_async_delete
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_no_error
    - g_file_delete_async
    - g_object_unref
    - g_main_loop_unref
    - g_file_new_tmp
    - g_file_query_exists
    - g_main_loop_new
    - g_main_loop_run
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_async_delete (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2544,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2545,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: 2549
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2549
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/file.c:1356,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1360,1
    - Dst: mkdir
      Src: /src/glib/gio/tests/file.c:1359,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1359,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/file.c:1357,1
    - Dst: chmod
      Src: /src/glib/gio/tests/file.c:1360,1
    - Dst: mkdir
      Src: /src/glib/gio/tests/file.c:1362,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1364,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1365,1
    - Dst: rmdir
      Src: /src/glib/gio/tests/file.c:1365,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1373,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1377,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1380,1
    - Dst: chmod
      Src: /src/glib/gio/tests/file.c:1377,1
    - Dst: rmdir
      Src: /src/glib/gio/tests/file.c:1378,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1378,1
    - Dst: g_free
      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: 1382
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1382
    functionName: check_cap_dac_override
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - rmdir
    - g_assert_no_errno
    - g_build_filename
    - mkdir
    - chmod
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_cap_dac_override (const char *tmpdir) '
  - 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:
    - g_assert_cmpint
    - glib_get_sandbox_type
    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_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_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_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:
    - g_unsetenv
    - g_assert_cmpint
    - g_free
    - g_assert_nonnull
    - glib_get_sandbox_type
    - g_build_filename
    - create_fake_snap_yaml
    - g_getenv
    - g_setenv
    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_get_user_runtime_dir
      Src: /src/glib/gio/tests/sandbox.c:72,1
    - Dst: glib_get_sandbox_type
      Src: /src/glib/gio/tests/sandbox.c:73,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/sandbox.c:73,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
    - g_assert_cmpint
    - glib_get_sandbox_type
    - g_get_user_runtime_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_sandbox_flatpak (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/tests/sandbox.c:37,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: create_fake_snap_yaml
      Src: /src/glib/gio/tests/sandbox.c:41,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:
    - g_unsetenv
    - g_assert_cmpint
    - g_free
    - g_assert_nonnull
    - glib_get_sandbox_type
    - g_build_filename
    - create_fake_snap_yaml
    - g_getenv
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_sandbox_snap (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:81,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:84,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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/resolver-parsing.c:102,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:104,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - builder
    - offset
    argTypes:
    - GByteArray*
    - gsize
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    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:120,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:124,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:126,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:128,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:129,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/resolver-parsing.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: dns_header
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_uint16
    - g_byte_array_sized_new
    - g_steal_pointer
    linkageType: ''
    returnType: GByteArray*
    signature: 'static GByteArray *dns_header (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/resolver-parsing.c:206,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resolver-parsing.c:219,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resolver-parsing.c:218,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:212,1
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/gio/tests/resolver-parsing.c:211,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resolver-parsing.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 222
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 222
    functionName: test_invalid_header
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_clear_error
    - g_resolver_records_from_res_query
    - g_assert_error
    - g_assert_null
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_invalid_header (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:264,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:273,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:269,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:273,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:272,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:274,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:275,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:278,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:279,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:280,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:281,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:287,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:282,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 289
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 289
    functionName: test_mx_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - assert_query_succeeds
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    linkageType: ''
    returnType: void
    signature: 'static void test_mx_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:113,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/tests/resolver-parsing.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - builder
    - answer
    argTypes:
    - GByteArray*
    - GByteArray*
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:142,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:143,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resolver-parsing.c:150,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resolver-parsing.c:149,1
    - Dst: g_clear_error
      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: 152
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: assert_query_fails
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_clear_error
    - g_resolver_records_from_res_query
    - g_assert_null
    - 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:228,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:241,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:240,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:239,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:238,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:242,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:243,1
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/gio/tests/resolver-parsing.c:245,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resolver-parsing.c:252,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resolver-parsing.c:253,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resolver-parsing.c:254,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 258
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 258
    functionName: test_unknown_record_type
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - dns_builder_add_uint16
    - dns_header
    - g_test_skip
    - g_clear_error
    - g_resolver_records_from_res_query
    - g_byte_array_free
    - g_assert_null
    - g_assert_error
    - dns_builder_add_uint32
    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:295,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:300,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:304,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:304,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:303,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:305,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:306,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:311,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:312,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:313,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:317,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:314,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:319,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 321
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 321
    functionName: test_mx_invalid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_invalid_domain
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    linkageType: ''
    returnType: void
    signature: 'static void test_mx_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:861,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:859,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:864,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:866,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:868,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:874,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:870,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:872,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:876,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/resolver-parsing.c:856,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/resolver-parsing.c:879,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:858,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:860,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:862,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:863,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:865,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:867,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:869,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:875,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:871,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:873,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 880
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 880
    functionName: main
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/resolver-parsing.c:62,1
    - Dst: strlen
      Src: /src/glib/gio/tests/resolver-parsing.c:62,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/tests/resolver-parsing.c:68,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:65,1
    - Dst: strlen
      Src: /src/glib/gio/tests/resolver-parsing.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - builder
    - string
    argTypes:
    - GByteArray*
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: dns_builder_add_length_prefixed_string
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_byte_array_append
    - strlen
    - dns_builder_add_uint8
    linkageType: ''
    returnType: void
    signature: 'static void dns_builder_add_length_prefixed_string (GByteArray *builder,
      const char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:524,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:533,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:535,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:542,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:532,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:529,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:540,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:541,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:549,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:533,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:534,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:546,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:553,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:551,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:545,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:548,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:544,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:547,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 555
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 555
    functionName: test_soa_invalid_rname
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_invalid_domain
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:598,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:603,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:607,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:607,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:606,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:608,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:609,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:612,1
    - Dst: dns_builder_add_length_prefixed_string
      Src: /src/glib/gio/tests/resolver-parsing.c:613,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:614,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:617,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:615,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 622
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 622
    functionName: test_txt_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - assert_query_succeeds
    - g_test_skip
    - g_byte_array_new
    - dns_builder_add_length_prefixed_string
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:659,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:667,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:668,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:664,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:668,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:669,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:670,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:676,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:677,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:678,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:680,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 684
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 684
    functionName: test_txt_invalid_empty
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:722,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:727,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:731,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:731,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:730,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:732,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:733,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:736,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:737,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:738,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:741,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:740,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:747,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:742,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:744,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 749
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 749
    functionName: test_srv_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - assert_query_succeeds
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    linkageType: ''
    returnType: void
    signature: 'static void test_srv_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:50,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:52,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GByteArray*
    - guint32
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    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:78,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/tests/resolver-parsing.c:81,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/resolver-parsing.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - builder
    - string
    argTypes:
    - GByteArray*
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    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: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:561,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:570,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:569,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:570,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:566,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:571,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:572,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:577,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:578,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:579,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:580,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:583,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:585,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:588,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:582,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:586,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:581,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 592
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 592
    functionName: test_soa_invalid_too_short
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:628,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:637,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:636,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:637,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:633,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:638,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:639,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:642,1
    - Dst: dns_builder_add_length_prefixed_string
      Src: /src/glib/gio/tests/resolver-parsing.c:643,1
    - Dst: dns_builder_add_length_prefixed_string
      Src: /src/glib/gio/tests/resolver-parsing.c:644,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:646,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:648,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:651,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 653
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 653
    functionName: test_txt_valid_multiple_strings
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - assert_query_succeeds
    - g_test_skip
    - g_byte_array_new
    - dns_builder_add_length_prefixed_string
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:690,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:698,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:695,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:699,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:699,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:700,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:701,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:707,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:708,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:709,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:714,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:712,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 716
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 716
    functionName: test_txt_invalid_overflow
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint8
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:755,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:760,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:764,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:764,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:763,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:765,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:766,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:771,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:772,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:773,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:774,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:777,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:775,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:781,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:776,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 783
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 783
    functionName: test_srv_invalid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_invalid_domain
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    linkageType: ''
    returnType: void
    signature: 'static void test_srv_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:460,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:461,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:468,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:476,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:451,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:460,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:462,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:465,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:466,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:459,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:474,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:456,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:467,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:469,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:472,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:473,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:479,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:471,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 481
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 481
    functionName: test_soa_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - assert_query_succeeds
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:164,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resolver-parsing.c:172,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:165,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/resolver-parsing.c:176,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resolver-parsing.c:171,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/gio/tests/resolver-parsing.c:177,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:179,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/resolver-parsing.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - rrname
    - record_type
    - answer
    - expected_answer_variant_str
    argTypes:
    - gchar*
    - GResolverRecordType
    - GByteArray*
    - gchar*
    constantsTouched: []
    func_position:
      end: 181
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 181
    functionName: assert_query_succeeds
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_resolver_record_type_to_rrtype
    - g_assert_no_error
    - g_variant_unref
    - g_resolver_records_from_res_query
    - g_assert_cmpvariant
    - g_list_free_full
    - g_variant_new_parsed
    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: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:487,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:496,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:498,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:503,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:504,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:495,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:492,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:505,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:506,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:512,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:496,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:497,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:507,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:511,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:508,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:510,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:516,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:509,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 518
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 518
    functionName: test_soa_invalid_mname
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_invalid_domain
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    linkageType: ''
    returnType: void
    signature: 'static void test_soa_invalid_mname (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_append
      Src: /src/glib/gio/tests/resolver-parsing.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GByteArray*
    - guint8
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    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_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:327,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:335,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:332,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:336,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:336,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:337,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:338,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:343,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:344,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:346,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:347,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:351,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 353
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 353
    functionName: test_mx_invalid_too_short
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:390,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:398,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:395,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:399,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:399,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:400,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:401,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:404,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:405,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:406,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:412,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:407,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 414
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 414
    functionName: test_ns_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - assert_query_succeeds
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:789,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:797,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:794,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:798,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:798,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:799,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:800,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:805,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:806,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:807,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:810,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:811,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:808,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:815,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 817
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 817
    functionName: test_srv_invalid_too_short
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    linkageType: ''
    returnType: void
    signature: 'static void test_srv_invalid_too_short (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:42,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GByteArray*
    - guint16
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    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: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:359,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:364,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:368,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:368,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:367,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:369,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:370,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:375,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:377,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:378,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:382,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 384
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 384
    functionName: test_mx_invalid_too_short2
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:420,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:429,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:425,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:429,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:428,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:430,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:431,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:436,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:437,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:438,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:439,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:443,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 445
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 445
    functionName: test_ns_invalid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_invalid_domain
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    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:823,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:831,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:828,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:832,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:832,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:833,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:834,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:839,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:840,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:841,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:846,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:843,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:848,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 850
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 850
    functionName: test_srv_invalid_too_short2
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_domain
    - g_byte_array_unref
    - assert_query_fails
    - dns_builder_add_uint16
    - g_resolver_record_type_to_rrtype
    - dns_header
    - g_test_skip
    - g_byte_array_new
    - g_byte_array_free
    - dns_builder_add_answer_data
    - dns_builder_add_uint32
    linkageType: ''
    returnType: void
    signature: 'static void test_srv_invalid_too_short2 (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
    - MY_IO_STREAM
    - G_OBJECT_CLASS
    - g_object_unref
    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: 1
    argNames:
    - _stream
    argTypes:
    - GIOStream*
    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_free
      Src: /src/glib/gio/tests/gdbus-close-pending.c:180,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:179,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: 1
    argNames:
    - _stream
    argTypes:
    - GIOStream*
    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_run
    - g_test_init
    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_OBJECT_CLASS
    - G_IO_STREAM_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_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_timeout_source_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:212,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_object_ref
    - g_new0
    - g_timeout_source_new
    - g_main_context_get_thread_default
    - g_source_attach
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-close-pending.c:311,1
    - Dst: g_dbus_connection_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:326,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:348,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-close-pending.c:358,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-close-pending.c:353,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_unix_open_pipe
      Src: /src/glib/gio/tests/gdbus-close-pending.c:308,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:309,1
    - Dst: my_io_stream_new_for_fds
      Src: /src/glib/gio/tests/gdbus-close-pending.c:315,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-close-pending.c:346,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:361,1
    - Dst: my_io_stream_new_for_fds
      Src: /src/glib/gio/tests/gdbus-close-pending.c:313,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_assert
    - g_strcmp0
    - g_unix_open_pipe
    - g_dbus_message_new_signal
    - g_dbus_connection_send_message
    - g_assert_no_error
    - g_object_unref
    - g_clear_object
    - g_dbus_connection_close_sync
    - g_clear_error
    - g_main_context_iteration
    - g_dbus_connection_is_closed
    - my_io_stream_new_for_fds
    - g_dbus_connection_new
    linkageType: ''
    returnType: void
    signature: 'static void test_once (Fixture *f, gconstpointer context) '
  - 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_IS_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-close-pending.c:117,1
    - Dst: g_return_val_if_fail
      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: 2
    argNames:
    - input_stream
    - output_stream
    argTypes:
    - GInputStream*
    - GOutputStream*
    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_object_ref
    - G_IO_STREAM
    - g_object_new
    - G_IS_OUTPUT_STREAM
    - g_return_val_if_fail
    - G_IS_INPUT_STREAM
    - MY_IO_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: g_object_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:247,1
    - Dst: my_io_stream_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:250,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: 2
    argNames:
    - fd_in
    - fd_out
    argTypes:
    - gint
    - gint
    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:
    - g_object_new
    - g_unix_input_stream_new
    - my_io_stream_new
    - g_object_unref
    - g_unix_output_stream_new
    linkageType: ''
    returnType: GIOStream*
    signature: 'static GIOStream *my_io_stream_new_for_fds (gint fd_in, gint fd_out) '
  - 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:
    - g_test_slow
    - test_once
    linkageType: ''
    returnType: void
    signature: 'static void test_many_times (Fixture *f, gconstpointer context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:281,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-close-pending.c:285,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_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:284,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: 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: 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_get_unix_fd_list
    - g_dbus_message_get_message_type
    - g_unix_fd_list_get
    - g_dbus_message_to_gerror
    - g_object_unref
    - g_dbus_message_new_method_call
    - g_dbus_connection_send_message_with_reply_sync
    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_error_free
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:71,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:69,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: 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: close
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:90,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:94,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
    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:
    - strlen
    - getpid
    - g_free
    - g_date_time_format
    - g_assert_nonnull
    - g_date_time_unref
    - g_error_free
    - g_date_time_new_now_local
    - g_warn_if_fail
    - write
    - close
    - g_strdup_printf
    - exit
    - get_server_stdout
    - g_print
    - g_printerr
    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_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:
    - exit
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void on_name_vanished (GDBusConnection *connection, const gchar
      *name, 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_bus_watch_name
    - g_bus_unwatch_name
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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:347,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/win32-appinfo.c:348,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_free
    - g_utf8_to_utf16
    - g_assert_nonnull
    - g_assert_cmputf16
    - _g_win32_fixup_broken_microsoft_rundll_commandline
    - G_N_ELEMENTS
    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_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
    - Dst: _g_win32_parse_filename
      Src: /src/glib/gio/tests/win32-appinfo.c:421,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_win32_parse_filename
    - g_utf8_to_utf16
    linkageType: ''
    returnType: void
    signature: 'static void test_win32_parse_filename (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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_free
      Src: /src/glib/gio/tests/win32-appinfo.c:132,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_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_true
      Src: /src/glib/gio/tests/win32-appinfo.c:119,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/win32-appinfo.c:126,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:112,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_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_assert_cmpuint
      Src: /src/glib/gio/tests/win32-appinfo.c:100,1
    - Dst: g_utf16_find_basename
      Src: /src/glib/gio/tests/win32-appinfo.c:102,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:107,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/win32-appinfo.c:111,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/tests/win32-appinfo.c:122,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: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
    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_assert_false
    - g_free
    - g_utf16_find_basename
    - g_assert_cmpuint
    - g_utf16_len
    - g_utf8_find_basename
    - g_assert_cmpstr
    - g_utf16_to_utf8_and_fold
    - g_wcsdup
    - g_assert_cmpmem
    - G_N_ELEMENTS
    - g_assert_true
    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_utf8_to_utf16
      Src: /src/glib/gio/tests/win32-appinfo.c:372,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/win32-appinfo.c:377,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_assert_cmpstr
      Src: /src/glib/gio/tests/win32-appinfo.c:401,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:394,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:404,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:405,1
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/tests/win32-appinfo.c:399,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_free
    - g_utf8_to_utf16
    - _g_win32_extract_executable
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_null
    - G_N_ELEMENTS
    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_failed
      Src: /src/glib/gio/tests/win32-appinfo.c:448,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/win32-appinfo.c:449,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:462,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:465,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_run
    - g_test_init
    - g_test_add_func
    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_assert_true
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:36,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: 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:
    - g_assert_false
    - glib_network_available_in_sandbox
    - create_fake_flatpak_info
    - glib_should_use_portal
    - g_get_user_runtime_dir
    - glib_has_dconf_access_in_sandbox
    - g_assert_true
    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_run
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:47,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:45,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_run
    - g_test_init
    - g_test_add_func
    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_credentials_to_string
      Src: /src/glib/gio/tests/credentials.c:38,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_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:
    - g_test_message
    - g_free
    - g_credentials_get_native
    - g_assert_cmpuint
    - g_credentials_new
    - g_object_unref
    - GetCurrentProcessId
    - g_credentials_to_string
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/credentials.c:82,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:105,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:163,1
    - Dst: g_free
      Src: /src/glib/gio/tests/credentials.c:115,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/credentials.c:106,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:66,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:154,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:159,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_to_string
      Src: /src/glib/gio/tests/credentials.c:113,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:138,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_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: getpid
      Src: /src/glib/gio/tests/credentials.c:147,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:155,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/credentials.c:195,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: geteuid
      Src: /src/glib/gio/tests/credentials.c:122,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
      Src: /src/glib/gio/tests/credentials.c:65,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:98,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/tests/credentials.c:104,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:101,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:138,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:155,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/credentials.c:109,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:104,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:139,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/credentials.c:110,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:135,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:77,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:78,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/credentials.c:84,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_no_error
      Src: /src/glib/gio/tests/credentials.c:79,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/credentials.c:191,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: g_assert
      Src: /src/glib/gio/tests/credentials.c:97,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:143,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:139,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:147,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/tests/credentials.c:162,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:122,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_test_assert_expected_messages
      Src: /src/glib/gio/tests/credentials.c:177,1
    - Dst: g_free
      Src: /src/glib/gio/tests/credentials.c:111,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/credentials.c:114,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/credentials.c:100,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:131,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/tests/credentials.c:54,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:72,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/credentials.c:199,1
    - Dst: g_credentials_get_unix_pid
      Src: /src/glib/gio/tests/credentials.c:86,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:96,1
    - Dst: g_credentials_get_unix_user
      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: geteuid
      Src: /src/glib/gio/tests/credentials.c:162,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/tests/credentials.c:77,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:94,1
    - Dst: g_credentials_is_same_user
      Src: /src/glib/gio/tests/credentials.c:97,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:131,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:162,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: 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
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:146,1
    - Dst: g_credentials_is_same_user
      Src: /src/glib/gio/tests/credentials.c:69,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:83,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/credentials.c:102,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:163,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/credentials.c:185,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_test_assert_expected_messages
    - g_credentials_new
    - g_clear_error
    - g_credentials_to_string
    - g_credentials_is_same_user
    - g_credentials_get_unix_user
    - g_assert_cmpint
    - ucred_getpid
    - g_credentials_get_native
    - g_credentials_get_unix_pid
    - g_object_unref
    - g_test_expect_message
    - g_assert_cmpuint
    - ucred_geteuid
    - g_assert_no_error
    - g_assert_null
    - g_assert_error
    - g_test_message
    - getpid
    - g_free
    - g_assert
    - g_credentials_set_unix_user
    - geteuid
    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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, 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_set_encoding
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:80,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:79,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_clear_error
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:108,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:107,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_io_channel_set_encoding
    - g_assert_no_error
    - g_clear_error
    - g_io_channel_unix_new
    - g_io_channel_read_chars
    - g_io_channel_write_chars
    - g_io_channel_unref
    - g_printerr
    linkageType: ''
    returnType: int
    signature: "static int cat_mode (int argc,\t 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:
    - strlen
    - write_all
    linkageType: ''
    returnType: int
    signature: "static int echo_mode (int argc,\t char **argv) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:133,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:138,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:141,1
    - Dst: fwrite
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:140,1
    - Dst: fdopen
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:134,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:
    - g_assert
    - fdopen
    - g_assert_not_reached
    - fwrite
    - atoi
    - fclose
    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_print
    - g_strfreev
    - g_get_environ
    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_print
    - g_getenv
    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_main_context_wakeup
    - g_assert_no_error
    - g_subprocess_wait_finish
    - G_SUBPROCESS
    - g_assert_true
    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_error
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:25,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:26,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:
    - g_strerror
    - g_error
    - write
    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: write_all
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:57,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: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:
    - strlen
    - write_all
    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: fclose
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:193,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:194,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:
    - fdopen
    - g_strerror
    - g_assert_not_reached
    - g_warning
    - atoi
    - fclose
    - fread
    - memcmp
    - g_print
    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_print
    - g_free
    linkageType: ''
    returnType: int
    signature: 'static int cwd_mode (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: kill
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:288,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:281,1
    - Dst: g_subprocess_get_successful
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:293,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:296,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_assert_false
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:293,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:272,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:279,1
    - Dst: atoi
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:284,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_wait_async
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:286,1
    - Dst: g_subprocess_get_identifier
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:284,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:295,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_assert_false
    - g_subprocess_launcher_spawnv
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - g_assert_nonnull
    - g_subprocess_get_identifier
    - g_assert_no_error
    - g_clear_object
    - kill
    - atoi
    - g_subprocess_wait_async
    - g_main_context_iteration
    - g_subprocess_launcher_new
    - g_ptr_array_add
    - g_subprocess_get_successful
    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: write_to_fds
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:352,1
    - Dst: printenv_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:360,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: 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:336,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:343,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:347,1
    - Dst: echo_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:344,1
    - Dst: cat_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:348,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:345,1
    - Dst: echo_stdout_and_stderr_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:346,1
    - Dst: sleep_forever_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:350,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:349,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: 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: read_from_fd
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:354,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:355,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: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:353,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:
    - sleep_forever_mode
    - g_option_context_new
    - env_mode
    - g_option_context_free
    - echo_stdout_and_stderr_mode
    - cat_mode
    - g_option_context_parse
    - g_error_free
    - g_option_context_add_main_entries
    - g_log_writer_default_set_use_stderr
    - write_to_fds
    - cwd_mode
    - echo_mode
    - strcmp
    - printenv_mode
    - read_from_fd
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess.c:241,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:250,1
    - Dst: g_subprocess_wait_check_finish
      Src: /src/glib/gio/tests/gsubprocess.c:249,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:251,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:246,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:252,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gsubprocess.c:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: test_exit1_cancel_wait_check_cb
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_idle_add
    - g_clear_error
    - G_SUBPROCESS
    - g_assert_error
    - g_subprocess_wait_check_finish
    linkageType: ''
    returnType: void
    signature: 'static void test_exit1_cancel_wait_check_cb (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:599,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:604,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:614,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 625
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 625
    functionName: on_idle_multisplice
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_output_stream_write_all
    - g_main_loop_quit
    - g_output_stream_close
    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:986,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:994,1
    - Dst: g_subprocess_communicate_finish
      Src: /src/glib/gio/tests/gsubprocess.c:989,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:999,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1000,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 3
    argNames:
    - proc
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1002
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 1002
    functionName: on_communicate_cancelled_complete
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_communicate_finish
    - g_subprocess_communicate_utf8_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: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1089,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1101,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1096,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1100,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1097,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:1103,1
    - Dst: g_subprocess_communicate_utf8_async
      Src: /src/glib/gio/tests/gsubprocess.c:1105,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:1110,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1114,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1116,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1119,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1117,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: 1121
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1121
    functionName: test_communicate_utf8_cancelled_async
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_assert_no_error
    - g_cancellable_new
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    - g_cancellable_cancel
    - g_clear_error
    - g_assert_error
    - g_main_context_iteration
    - g_subprocess_communicate_utf8_async
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_cancelled_async (gconstpointer test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1128,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1141,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1136,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1137,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1140,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1147,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1148,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1151,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1153,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:1155,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1156,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1160,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1158,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: 1161
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1161
    functionName: test_communicate_utf8
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_free
    - g_ptr_array_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - get_test_subprocess_args
    - g_object_unref
    - g_subprocess_newv
    - g_assert_null
    - GPOINTER_TO_INT
    - g_subprocess_communicate_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8 (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1211,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1212,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1218,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1220,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1217,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1221,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1223,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1225,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1228
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1228
    functionName: test_communicate_nothing
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_free
    - g_ptr_array_free
    - g_assert_no_error
    - g_assert_cmpstr
    - get_test_subprocess_args
    - g_object_unref
    - g_subprocess_newv
    - g_subprocess_communicate_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_nothing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_launcher_set_environ
      Src: /src/glib/gio/tests/gsubprocess.c:1453,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1457,1
    - Dst: g_subprocess_launcher_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1457,1
    - Dst: g_subprocess_launcher_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1459,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1470,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1474,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1448,1
    - Dst: g_subprocess_launcher_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1458,1
    - Dst: g_subprocess_launcher_spawn
      Src: /src/glib/gio/tests/gsubprocess.c:1461,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1463,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/gsubprocess.c:1468,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1469,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1471,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1471,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1476,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1451,1
    - Dst: g_subprocess_launcher_set_flags
      Src: /src/glib/gio/tests/gsubprocess.c:1452,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1450,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1458,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1459,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1462,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1465,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1469,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsubprocess.c:1473,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1447,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1454,1
    - Dst: g_subprocess_launcher_unsetenv
      Src: /src/glib/gio/tests/gsubprocess.c:1455,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:1467,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1470,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1477
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1477
    functionName: test_env_inherit
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_unsetenv
    - g_subprocess_get_stdout_pipe
    - g_strfreev
    - g_subprocess_launcher_set_flags
    - splice_to_string
    - g_subprocess_launcher_spawn
    - g_object_unref
    - g_strsplit
    - g_assert_no_error
    - g_subprocess_launcher_setenv
    - get_test_subprocess_args
    - g_assert_null
    - g_subprocess_launcher_new
    - g_setenv
    - g_subprocess_launcher_getenv
    - g_subprocess_launcher_set_environ
    - g_free
    - g_environ_getenv
    - g_ptr_array_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_env_inherit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/glib/gio/tests/gsubprocess.c:1679,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1680
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1680
    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: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:210,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:211,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:212,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:213,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:215,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:216,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:217,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: test_exit1
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_wait_check
    - g_ptr_array_free
    - g_assert_no_error
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    - g_clear_error
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_exit1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gsubprocess.c:266,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:268,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:269,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:270,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:271,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:273,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:274,1
    - Dst: g_subprocess_wait_check_async
      Src: /src/glib/gio/tests/gsubprocess.c:275,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:277,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:278,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:281,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:285,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:282,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:279,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:286,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 287
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 287
    functionName: test_exit1_cancel
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_wait_check
    - g_ptr_array_free
    - g_clear_object
    - g_assert_no_error
    - g_cancellable_new
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_wait_check_async
    - g_subprocess_newv
    - g_clear_error
    - g_cancellable_cancel
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_assert_error
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_exit1_cancel (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess.c:632,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/tests/gsubprocess.c:644,1
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/tests/gsubprocess.c:636,1
    - Dst: g_subprocess_get_status
      Src: /src/glib/gio/tests/gsubprocess.c:644,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/tests/gsubprocess.c:641,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:645,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 649
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 649
    functionName: on_subprocess_exited
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_subprocess_wait_finish
    - G_SUBPROCESS
    - g_main_loop_quit
    - g_propagate_error
    - g_spawn_check_wait_status
    - g_subprocess_get_status
    linkageType: ''
    returnType: void
    signature: 'static void on_subprocess_exited (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1240,1
    - Dst: g_subprocess_communicate_utf8_async
      Src: /src/glib/gio/tests/gsubprocess.c:1248,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1241,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1244,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1245,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1255,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1257,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gsubprocess.c:1258,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1261
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1261
    functionName: test_communicate_utf8_async_invalid
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_assert_no_error
    - g_error_free
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    - g_main_context_iteration
    - g_subprocess_communicate_utf8_async
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_async_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1404,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1403,1
    - Dst: g_subprocess_launcher_set_environ
      Src: /src/glib/gio/tests/gsubprocess.c:1406,1
    - Dst: g_subprocess_launcher_spawn
      Src: /src/glib/gio/tests/gsubprocess.c:1413,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1414,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1415,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/gsubprocess.c:1421,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1422,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1424,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1425,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1402,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1407,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1418,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1416,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1422,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsubprocess.c:1427,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1408,1
    - Dst: g_subprocess_launcher_unsetenv
      Src: /src/glib/gio/tests/gsubprocess.c:1409,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:1420,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1428,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1430,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:1402,1
    - Dst: g_subprocess_launcher_set_flags
      Src: /src/glib/gio/tests/gsubprocess.c:1405,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1411,1
    - Dst: g_subprocess_launcher_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1411,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1423,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1423,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1424,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1425,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1429,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1431
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1431
    functionName: test_env
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_unsetenv
    - g_subprocess_get_stdout_pipe
    - g_strfreev
    - g_subprocess_launcher_set_flags
    - splice_to_string
    - g_subprocess_launcher_spawn
    - g_object_unref
    - g_strsplit
    - g_assert_no_error
    - g_subprocess_launcher_setenv
    - get_test_subprocess_args
    - g_strdup_printf
    - g_assert_null
    - g_subprocess_launcher_new
    - g_subprocess_launcher_getenv
    - g_subprocess_launcher_set_environ
    - g_free
    - g_environ_getenv
    - g_ptr_array_free
    - g_assert_cmpstr
    - g_getenv
    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:1495,1
    - Dst: g_subprocess_launcher_set_flags
      Src: /src/glib/gio/tests/gsubprocess.c:1494,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1498,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1501,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1514,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/tests/gsubprocess.c:1512,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1519,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1492,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1493,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1497,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:1503,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1508,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1504,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1516,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1520,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/gsubprocess.c:1489,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1518,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1499,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/tests/gsubprocess.c:1513,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1505,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1508,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1515,1
    - Dst: g_strstrip
      Src: /src/glib/gio/tests/gsubprocess.c:1513,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1521
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1521
    functionName: test_cwd
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_subprocess_launcher_set_flags
    - g_get_tmp_dir
    - g_subprocess_launcher_spawnv
    - g_path_get_basename
    - g_free
    - g_ptr_array_free
    - splice_to_string
    - g_assert_no_error
    - g_assert_cmpstr
    - get_test_subprocess_args
    - g_subprocess_launcher_set_cwd
    - g_object_unref
    - g_subprocess_get_stdout_pipe
    - g_subprocess_launcher_new
    - g_strstrip
    linkageType: ''
    returnType: void
    signature: 'static void test_cwd (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1777,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1782,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1788,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1791,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1755,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1754,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1753,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1762,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1774,1
    - Dst: g_subprocess_launcher_set_child_setup
      Src: /src/glib/gio/tests/gsubprocess.c:1765,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1773,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1768,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1779,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1787,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1789,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:1757,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1767,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1778,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1780,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1783,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1785,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1786,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1792,1
    - Dst: g_data_input_stream_read_line_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1784,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1752,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:1758,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1760,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1761,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1763,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1771,1
    - Dst: g_data_input_stream_read_line_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1775,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1770,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1766,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1776,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - flags
    - child_setup
    argTypes:
    - GSubprocessFlags
    - GSpawnChildSetupFunc
    constantsTouched: []
    func_position:
      end: 1793
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1793
    functionName: do_test_pass_fd
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_new
    - g_subprocess_launcher_spawnv
    - g_free
    - g_data_input_stream_read_line_utf8
    - g_ptr_array_free
    - g_unix_open_pipe
    - g_assert_no_error
    - g_unix_input_stream_new
    - g_subprocess_launcher_take_fd
    - get_test_subprocess_args
    - g_assert_cmpstr
    - g_object_unref
    - g_strdup_printf
    - g_subprocess_launcher_set_child_setup
    - g_subprocess_launcher_new
    linkageType: ''
    returnType: void
    signature: 'static void do_test_pass_fd (GSubprocessFlags flags, GSpawnChildSetupFunc
      child_setup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_pass_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1826
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1826
    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: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1056,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1064,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1067,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1063,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1068,1
    - Dst: g_subprocess_communicate_utf8_async
      Src: /src/glib/gio/tests/gsubprocess.c:1071,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1078,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1080,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1082,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1083
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1083
    functionName: test_communicate_utf8_async
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_assert_no_error
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    - g_main_context_iteration
    - g_subprocess_communicate_utf8_async
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_async (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_new
      Src: /src/glib/gio/tests/gsubprocess.c:167,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:173,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:168,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:170,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: test_search_path
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_wait_check
    - g_subprocess_new
    - g_assert_no_error
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/gio/tests/gsubprocess.c:508,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:510,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: cancel_soon
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    - g_usleep
    - g_object_unref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer cancel_soon (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:675,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:673,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:676,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:682,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:685,1
    - Dst: memset
      Src: /src/glib/gio/tests/gsubprocess.c:691,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:687,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:703,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:714,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:716,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:680,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:684,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:686,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:689,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:697,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:692,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gsubprocess.c:707,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/gsubprocess.c:721,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:725,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:727,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:671,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:674,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:672,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:677,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:700,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:710,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:719,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:721,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:728,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:718,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:678,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:688,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:712,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:723,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:724,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 729
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 729
    functionName: test_multi_1
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_spawnv
    - g_subprocess_get_stdout_pipe
    - g_main_loop_run
    - g_timeout_add
    - g_assert_cmpint
    - g_object_unref
    - memset
    - g_memory_output_stream_new
    - g_memory_output_stream_get_data_size
    - g_assert_no_error
    - get_test_subprocess_args
    - g_main_loop_unref
    - g_main_loop_new
    - g_subprocess_launcher_new
    - g_output_stream_splice_async
    - g_subprocess_get_stdin_pipe
    - g_assert_false
    - g_ptr_array_free
    - g_subprocess_wait_async
    linkageType: ''
    returnType: void
    signature: 'static void test_multi_1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1275,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1282,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1276,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1280,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1279,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1284,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gsubprocess.c:1285,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:1286,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1288,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1289,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1292
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1292
    functionName: test_communicate_utf8_invalid
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_ptr_array_free
    - g_assert_no_error
    - g_error_free
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    - g_assert_null
    - g_assert_error
    - g_subprocess_communicate_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_send_signal
      Src: /src/glib/gio/tests/gsubprocess.c:1359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1360
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1360
    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: do_test_fd_conflation
      Src: /src/glib/gio/tests/gsubprocess.c:1972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1973
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1973
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/gsubprocess.c:185,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:191,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:188,1
    - Dst: g_subprocess_launcher_spawn
      Src: /src/glib/gio/tests/gsubprocess.c:190,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:187,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:192,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:194,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:195,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 199
    functionName: test_search_path_from_envp
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_wait_check
    - g_assert_no_error
    - g_subprocess_launcher_spawn
    - g_subprocess_launcher_setenv
    - g_object_unref
    - g_clear_error
    - g_test_get_dir
    - g_subprocess_launcher_new
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_from_envp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    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_thread_new
      Src: /src/glib/gio/tests/gsubprocess.c:537,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:547,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/gsubprocess.c:550,1
    - Dst: g_subprocess_get_if_exited
      Src: /src/glib/gio/tests/gsubprocess.c:557,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:558,1
    - Dst: g_subprocess_get_exit_status
      Src: /src/glib/gio/tests/gsubprocess.c:558,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:559,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/gsubprocess.c:537,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:538,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:540,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:541,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:545,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:546,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:542,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:556,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:561,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:536,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:532,1
    - Dst: g_subprocess_new
      Src: /src/glib/gio/tests/gsubprocess.c:531,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:539,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsubprocess.c:526,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:533,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gsubprocess.c:537,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/gsubprocess.c:538,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:545,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:550,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:551,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:552,1
    - Dst: g_subprocess_wait
      Src: /src/glib/gio/tests/gsubprocess.c:555,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 562
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 562
    functionName: test_cat_eof
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_get_if_exited
    - g_subprocess_get_exit_status
    - g_clear_error
    - g_subprocess_get_stdout_pipe
    - g_thread_new
    - g_assert_cmpint
    - g_assert_nonnull
    - g_object_unref
    - g_test_skip
    - g_input_stream_read
    - g_object_ref
    - g_subprocess_wait
    - g_assert_no_error
    - g_cancellable_new
    - g_thread_unref
    - g_assert_error
    - g_subprocess_get_stdin_pipe
    - g_assert_false
    - g_subprocess_new
    - g_output_stream_close
    - g_assert_true
    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:583,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - obj
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 590
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 590
    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: g_subprocess_force_exit
      Src: /src/glib/gio/tests/gsubprocess.c:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1300
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1300
    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: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1371,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:1376,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1373,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1372,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1374,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:1378,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/tests/gsubprocess.c:1380,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:1382,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1384,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1386
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1386
    functionName: test_signal
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_assert_no_error
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_wait_async
    - g_subprocess_newv
    - g_main_loop_unref
    - g_timeout_add_seconds_once
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_signal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_fd_conflation
      Src: /src/glib/gio/tests/gsubprocess.c:1983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1984
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1984
    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: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:805,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:814,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:819,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:815,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:818,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:824,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:824,1
    - Dst: g_subprocess_communicate_async
      Src: /src/glib/gio/tests/gsubprocess.c:826,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:833,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:835,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:837,1
    - Dst: g_object_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: 839
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 839
    functionName: test_communicate_async
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_new_static
    - g_ptr_array_free
    - g_assert_no_error
    - g_object_unref
    - get_test_subprocess_args
    - g_bytes_unref
    - g_subprocess_newv
    - g_main_context_iteration
    - g_subprocess_communicate_async
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_async (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_pass_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1813
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1813
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2014,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2042,1
    - Dst: WSTOPSIG
      Src: /src/glib/gio/tests/gsubprocess.c:2031,1
    - Dst: WIFSIGNALED
      Src: /src/glib/gio/tests/gsubprocess.c:2053,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2054,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:2063,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2005,1
    - Dst: WIFSTOPPED
      Src: /src/glib/gio/tests/gsubprocess.c:2030,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2050,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2045,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:2060,1
    - Dst: WIFSIGNALED
      Src: /src/glib/gio/tests/gsubprocess.c:2060,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2006,1
    - Dst: waitpid
      Src: /src/glib/gio/tests/gsubprocess.c:2005,1
    - Dst: waitpid
      Src: /src/glib/gio/tests/gsubprocess.c:2023,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:2027,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2050,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2054,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/tests/gsubprocess.c:2061,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2014,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2006,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:2028,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2045,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/tests/gsubprocess.c:2053,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2042,1
    - Dst: WEXITSTATUS
      Src: /src/glib/gio/tests/gsubprocess.c:2063,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 1
    argNames:
    - main_child
    argTypes:
    - pid_t
    constantsTouched: []
    func_position:
      end: 2068
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2068
    functionName: trace_children
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_false
    - WSTOPSIG
    - WEXITSTATUS
    - g_assert_no_errno
    - WIFEXITED
    - WIFSTOPPED
    - WIFSIGNALED
    - ptrace
    - waitpid
    linkageType: ''
    returnType: void
    signature: 'static void trace_children (pid_t main_child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:403,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:408,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:407,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:404,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:410,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:411,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:412,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:414,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:416,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 418
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 418
    functionName: test_echo_merged
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_free
    - g_ptr_array_free
    - splice_to_string
    - g_assert_no_error
    - g_assert_cmpstr
    - get_test_subprocess_args
    - g_object_unref
    - g_subprocess_newv
    - g_subprocess_get_stdout_pipe
    linkageType: ''
    returnType: void
    signature: 'static void test_echo_merged (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_communicate_utf8_finish
      Src: /src/glib/gio/tests/gsubprocess.c:751,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:763,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:765,1
    - Dst: g_subprocess_communicate_finish
      Src: /src/glib/gio/tests/gsubprocess.c:754,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:769,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/gsubprocess.c:770,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/gsubprocess.c:773,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:773,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:777,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:778,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:786,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:796,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:797,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:794,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:784,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:791,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:795,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:790,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - proc
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 798
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 798
    functionName: on_communicate_complete
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_get_data
    - g_free
    - g_clear_pointer
    - g_assert_nonnull
    - g_subprocess_communicate_utf8_finish
    - g_assert_cmpmem
    - g_assert_null
    - g_subprocess_communicate_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_communicate_complete (GObject *proc, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_pass_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1799
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1799
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gsubprocess.c:1849,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gsubprocess.c:1852,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1864,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1919,1
    - Dst: close
      Src: /src/glib/gio/tests/gsubprocess.c:1927,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1944,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1953,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1857,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsubprocess.c:1851,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1863,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1865,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1909,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1910,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1918,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1920,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1951,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1859,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1914,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1916,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1915,1
    - Dst: g_subprocess_launcher_set_child_setup
      Src: /src/glib/gio/tests/gsubprocess.c:1912,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1908,1
    - Dst: close
      Src: /src/glib/gio/tests/gsubprocess.c:1923,1
    - Dst: close
      Src: /src/glib/gio/tests/gsubprocess.c:1924,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:1945,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1950,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1952,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1856,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:1913,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:1917,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:1955,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1956,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1957,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: 1958
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1958
    functionName: do_test_fd_conflation
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_spawnv
    - g_assert_cmpint
    - g_assert_nonnull
    - g_test_trap_subprocess
    - g_object_unref
    - g_unix_output_stream_new
    - close
    - g_test_subprocess
    - g_subprocess_wait_check
    - g_assert_no_error
    - g_subprocess_launcher_take_fd
    - get_test_subprocess_args
    - g_strdup_printf
    - g_subprocess_launcher_set_child_setup
    - g_subprocess_launcher_new
    - g_output_stream_write_all
    - g_free
    - g_test_trap_assert_passed
    - g_ptr_array_free
    - g_unix_open_pipe
    - g_assert_true
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1804
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1804
    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:1963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1964
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1964
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2169,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2171,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2175,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2176,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2178,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2180,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2177,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2183,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2199,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2202,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2217,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2222,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2233,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2219,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2248,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2204,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2247,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2250,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2227,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2212,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2245,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2243,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2201,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2216,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2221,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2242,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2207,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2224,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2227,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2238,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2212,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2237,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2209,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2235,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gsubprocess.c:2164,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2168,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2166,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2167,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2172,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2173,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2182,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2192,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2191,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gsubprocess.c:2187,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2192,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2207,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2234,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2249,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2246,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2253,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2197,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2202,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2236,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2244,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2217,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2196,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2211,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2214,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2226,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2232,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gsubprocess.c:2255,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2229,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2241,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2222,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2240,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2206,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2197,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2194,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2251,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2256
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2256
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_free
    - g_test_add_data_func
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/gsubprocess.c:1640,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1643,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1669,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/gsubprocess.c:1672,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1673,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1641,1
    - Dst: g_subprocess_launcher_take_stdout_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1646,1
    - Dst: dup
      Src: /src/glib/gio/tests/gsubprocess.c:1646,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1646,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1656,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1647,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1655,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:1658,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1659,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1663,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1644,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gsubprocess.c:1645,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:1651,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1649,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1664,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/tests/gsubprocess.c:1645,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/gsubprocess.c:1645,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1653,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:1655,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1648,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:1661,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/gsubprocess.c:1666,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1670,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1667,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1674
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1674
    functionName: test_stdout_fd
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - G_FILE_DESCRIPTOR_BASED
    - g_subprocess_launcher_spawnv
    - g_io_stream_get_output_stream
    - g_file_load_contents
    - strlen
    - dup
    - g_object_unref
    - g_file_delete
    - g_subprocess_wait_check
    - G_IO_STREAM
    - g_assert_no_error
    - g_subprocess_launcher_take_stdout_fd
    - get_test_subprocess_args
    - g_file_new_tmp
    - g_subprocess_launcher_new
    - g_output_stream_write_all
    - g_subprocess_get_stdin_pipe
    - g_free
    - g_ptr_array_free
    - g_clear_object
    - g_assert_cmpstr
    - g_file_descriptor_based_get_fd
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void test_stdout_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1698,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/tests/gsubprocess.c:1700,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gsubprocess.c:1700,1
    - Dst: g_subprocess_launcher_set_child_setup
      Src: /src/glib/gio/tests/gsubprocess.c:1704,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1706,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1705,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1721,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1722,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1728,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/gsubprocess.c:1730,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1731,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1703,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:1704,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:1709,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:1713,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1711,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1717,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/gsubprocess.c:1724,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1725,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/gsubprocess.c:1697,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1700,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/gsubprocess.c:1700,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1702,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:1716,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1713,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1714,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1707,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:1719,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1727,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1732
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1732
    functionName: test_child_setup
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - G_FILE_DESCRIPTOR_BASED
    - g_subprocess_launcher_spawnv
    - g_io_stream_get_output_stream
    - g_file_load_contents
    - strlen
    - GINT_TO_POINTER
    - g_object_unref
    - g_file_delete
    - g_subprocess_wait_check
    - G_IO_STREAM
    - g_assert_no_error
    - get_test_subprocess_args
    - g_subprocess_launcher_set_child_setup
    - g_file_new_tmp
    - g_subprocess_launcher_new
    - g_output_stream_write_all
    - g_subprocess_get_stdin_pipe
    - g_free
    - g_ptr_array_free
    - g_clear_object
    - g_assert_cmpstr
    - g_file_descriptor_based_get_fd
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void test_child_setup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gsubprocess.c:54,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess.c:58,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess.c:57,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gsubprocess.c:56,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gsubprocess.c:58,1
    - Dst: va_start
      Src: /src/glib/gio/tests/gsubprocess.c:60,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/gsubprocess.c:61,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess.c:62,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gsubprocess.c:62,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gsubprocess.c:63,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - mode
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: get_test_subprocess_args
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - va_end
    - g_strdup
    - g_test_build_filename
    - g_ptr_array_new_with_free_func
    - va_start
    - va_arg
    - g_ptr_array_add
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *get_test_subprocess_args (const char *mode, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:132,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:137,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:134,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:133,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: test_noop_no_wait
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_assert_no_error
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    linkageType: ''
    returnType: void
    signature: 'static void test_noop_no_wait (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_wait_check_finish
      Src: /src/glib/gio/tests/gsubprocess.c:97,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:100,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:101,1
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess.c:97,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: check_ready
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_no_error
    - g_object_unref
    - G_SUBPROCESS
    - 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:294,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:304,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:303,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:299,1
    - Dst: g_subprocess_wait_check_finish
      Src: /src/glib/gio/tests/gsubprocess.c:302,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:305,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:307,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gsubprocess.c:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: test_exit1_cancel_in_cb_wait_check_cb
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_idle_add
    - g_clear_error
    - g_cancellable_cancel
    - G_SUBPROCESS
    - g_assert_error
    - g_subprocess_wait_check_finish
    linkageType: ''
    returnType: void
    signature: 'static void test_exit1_cancel_in_cb_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:350,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/gsubprocess.c:354,1
    - Dst: g_memory_output_stream_steal_data
      Src: /src/glib/gio/tests/gsubprocess.c:360,1
    - Dst: g_output_stream_splice
      Src: /src/glib/gio/tests/gsubprocess.c:351,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:357,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:362,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - GInputStream*
    - GError**
    constantsTouched: []
    func_position:
      end: 364
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 364
    functionName: splice_to_string
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_output_stream_splice
    - g_memory_output_stream_steal_data
    - g_clear_object
    - g_output_stream_close
    - g_output_stream_write
    - g_memory_output_stream_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *splice_to_string (GInputStream *stream, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_splice_finish
      Src: /src/glib/gio/tests/gsubprocess.c:434,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:439,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: test_cat_on_input_splice_complete
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_assert_no_error
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:857,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:867,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:870,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:885,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:882,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:875,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:887,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/gsubprocess.c:874,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:846,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:861,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:858,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:867,1
    - Dst: g_subprocess_communicate
      Src: /src/glib/gio/tests/gsubprocess.c:869,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:878,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:880,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:884,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:886,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/gsubprocess.c:875,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:862,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 888
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 888
    functionName: test_communicate
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_get_data
    - g_bytes_new_static
    - g_clear_pointer
    - g_ptr_array_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_subprocess_communicate
    - get_test_subprocess_args
    - g_bytes_unref
    - g_subprocess_newv
    - g_object_unref
    - g_assert_cmpmem
    - g_assert_null
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:941,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:948,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:953,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:952,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:949,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:955,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:961,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gsubprocess.c:962,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:966,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:968,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:971,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:969,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:972,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 973
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 973
    functionName: test_communicate_cancelled
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_idle_add
    - g_ptr_array_free
    - g_assert_no_error
    - g_cancellable_new
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    - g_cancellable_cancel
    - g_clear_error
    - g_assert_error
    - g_main_context_iteration
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_cancelled (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:114,1
    - Dst: g_subprocess_wait_check_async
      Src: /src/glib/gio/tests/gsubprocess.c:121,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:118,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:119,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: test_noop_all_to_null
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_assert_no_error
    - get_test_subprocess_args
    - g_subprocess_wait_check_async
    - g_subprocess_newv
    linkageType: ''
    returnType: void
    signature: 'static void test_noop_all_to_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:77,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:78,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:82,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:80,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:79,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:83,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:84,1
    - Dst: g_subprocess_get_successful
      Src: /src/glib/gio/tests/gsubprocess.c:84,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: test_noop
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_wait_check
    - g_ptr_array_free
    - g_assert_no_error
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    - g_assert_true
    - g_subprocess_get_successful
    linkageType: ''
    returnType: void
    signature: 'static void test_noop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:148,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:151,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:150,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:149,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:153,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:154,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: test_noop_stdin_inherit
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_wait_check
    - g_ptr_array_free
    - g_assert_no_error
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    linkageType: ''
    returnType: void
    signature: 'static void test_noop_stdin_inherit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gsubprocess.c:321,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:324,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:325,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:323,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:326,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:328,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:329,1
    - Dst: g_subprocess_wait_check_async
      Src: /src/glib/gio/tests/gsubprocess.c:330,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:332,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:333,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:334,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:339,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:338,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:340,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 341
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 341
    functionName: test_exit1_cancel_in_cb
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_wait_check
    - g_ptr_array_free
    - g_clear_object
    - g_assert_no_error
    - g_cancellable_new
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_wait_check_async
    - g_subprocess_newv
    - g_clear_error
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_assert_error
    - g_test_bug
    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:376,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:379,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:378,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:381,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:377,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:383,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:384,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:386,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:388,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 390
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 390
    functionName: test_echo1
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_free
    - g_ptr_array_free
    - splice_to_string
    - g_assert_no_error
    - g_assert_cmpstr
    - get_test_subprocess_args
    - g_object_unref
    - g_subprocess_newv
    - g_subprocess_get_stdout_pipe
    linkageType: ''
    returnType: void
    signature: 'static void test_echo1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/glib/gio/tests/gsubprocess.c:490,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:485,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:496,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:499,1
    - Dst: memset
      Src: /src/glib/gio/tests/gsubprocess.c:457,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:460,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:458,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:465,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:480,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:487,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/gsubprocess.c:492,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/gsubprocess.c:492,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:464,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:467,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:497,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:498,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:500,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:461,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:468,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:470,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:470,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:474,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:472,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:488,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/tests/gsubprocess.c:471,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:476,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/gsubprocess.c:493,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 501
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 501
    functionName: test_cat_utf8
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_subprocess_get_stdout_pipe
    - g_memory_input_stream_new_from_bytes
    - g_main_loop_run
    - g_bytes_get_size
    - strlen
    - g_object_unref
    - g_bytes_unref
    - memset
    - g_memory_output_stream_new
    - g_subprocess_wait_check
    - g_bytes_get_data
    - g_bytes_new_static
    - g_assert_no_error
    - get_test_subprocess_args
    - g_main_loop_unref
    - g_main_loop_new
    - g_memory_output_stream_steal_as_bytes
    - g_assert_cmpmem
    - g_output_stream_splice_async
    - g_subprocess_get_stdin_pipe
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void test_cat_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1333,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1335,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1334,1
    - Dst: g_subprocess_get_identifier
      Src: /src/glib/gio/tests/gsubprocess.c:1338,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1336,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:1339,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:1341,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:1343,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/tests/gsubprocess.c:1345,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:1347,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1349,1
    - Dst: g_object_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: 1351
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1351
    functionName: test_terminate
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_subprocess_get_identifier
    - g_assert_no_error
    - g_assert_nonnull
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_wait_async
    - g_subprocess_newv
    - g_main_loop_unref
    - g_timeout_add_seconds_once
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_terminate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:1590,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1621,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/gsubprocess.c:1588,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/gsubprocess.c:1592,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1589,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1599,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1604,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1607,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1603,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1611,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1618,1
    - Dst: g_subprocess_launcher_set_stdout_file_path
      Src: /src/glib/gio/tests/gsubprocess.c:1596,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1598,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:1606,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1612,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:1609,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1601,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1617,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1594,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1595,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1597,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:1603,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/gsubprocess.c:1614,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1615,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/gsubprocess.c:1620,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1622,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1623
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1623
    functionName: test_stdout_file
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_spawnv
    - g_file_load_contents
    - g_subprocess_launcher_set_stdout_file_path
    - strlen
    - g_object_unref
    - g_file_delete
    - g_subprocess_wait_check
    - g_assert_no_error
    - get_test_subprocess_args
    - g_file_new_tmp
    - g_subprocess_launcher_new
    - g_output_stream_write_all
    - g_subprocess_get_stdin_pipe
    - g_free
    - g_file_get_path
    - g_ptr_array_free
    - g_clear_object
    - g_assert_cmpstr
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void test_stdout_file (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:910,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:913,1
    - Dst: g_subprocess_communicate
      Src: /src/glib/gio/tests/gsubprocess.c:916,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:923,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:910,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:924,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:928,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:929,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:932,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 935
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 935
    functionName: on_test_communicate_cancelled_idle
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_new_static
    - g_subprocess_communicate
    - g_bytes_unref
    - g_assert_null
    - g_subprocess_communicate_utf8
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_test_communicate_cancelled_idle (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1009,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1019,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1018,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1022,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1023,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:1028,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1028,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:1030,1
    - Dst: g_subprocess_communicate_async
      Src: /src/glib/gio/tests/gsubprocess.c:1032,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:1037,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1041,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1047,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1048,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1046,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1044,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1049
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1049
    functionName: test_communicate_cancelled_async
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_new_static
    - g_ptr_array_free
    - g_assert_no_error
    - g_cancellable_new
    - g_object_unref
    - get_test_subprocess_args
    - g_bytes_unref
    - g_subprocess_newv
    - g_cancellable_cancel
    - g_clear_error
    - g_assert_error
    - g_main_context_iteration
    - g_subprocess_communicate_async
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_cancelled_async (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1167,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1179,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1174,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1178,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1175,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:1181,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:1187,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gsubprocess.c:1188,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1193,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1195,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1199,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1200
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1200
    functionName: test_communicate_utf8_cancelled
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_idle_add
    - g_ptr_array_free
    - g_assert_no_error
    - g_cancellable_new
    - g_object_unref
    - get_test_subprocess_args
    - g_subprocess_newv
    - g_cancellable_cancel
    - g_clear_error
    - g_assert_error
    - g_main_context_iteration
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_cancelled (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/gio/tests/gsubprocess.c:1550,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/gsubprocess.c:1557,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1564,1
    - Dst: close
      Src: /src/glib/gio/tests/gsubprocess.c:1569,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/gsubprocess.c:1548,1
    - Dst: dup
      Src: /src/glib/gio/tests/gsubprocess.c:1544,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1545,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1549,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1562,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1565,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:1556,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1563,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1570,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1566,1
    - Dst: dup
      Src: /src/glib/gio/tests/gsubprocess.c:1543,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1546,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1551,1
    - Dst: g_subprocess_launcher_close
      Src: /src/glib/gio/tests/gsubprocess.c:1553,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/gsubprocess.c:1555,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1567,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1571
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1571
    functionName: test_subprocess_launcher_close
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - dup
    - g_subprocess_launcher_close
    - g_subprocess_launcher_spawnv
    - g_ptr_array_free
    - g_subprocess_launcher_take_fd
    - get_test_subprocess_args
    - close
    - g_clear_error
    - g_object_unref
    - fcntl
    - g_assert_null
    - g_subprocess_launcher_new
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_launcher_close (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gsubprocess.c:2080,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2093,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:2088,1
    - Dst: fork
      Src: /src/glib/gio/tests/gsubprocess.c:2089,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gsubprocess.c:2081,1
    - Dst: abort
      Src: /src/glib/gio/tests/gsubprocess.c:2094,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2096,1
    - Dst: execvp
      Src: /src/glib/gio/tests/gsubprocess.c:2096,1
    - Dst: trace_children
      Src: /src/glib/gio/tests/gsubprocess.c:2099,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:2101,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsubprocess.c:2103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2105
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2105
    functionName: test_exit_status_trapped
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - abort
    - g_assert_no_errno
    - execvp
    - g_clear_pointer
    - get_test_subprocess_args
    - g_test_skip
    - fork
    - g_test_summary
    - ptrace
    - trace_children
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_exit_status_trapped (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_fd_conflation
      Src: /src/glib/gio/tests/gsubprocess.c:1992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1993
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 1993
    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_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:2118,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:2121,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:2127,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:2119,1
    - Dst: g_subprocess_launcher_unsetenv
      Src: /src/glib/gio/tests/gsubprocess.c:2124,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:2129,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:2130,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:2131,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:2132,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:2134,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gsubprocess.c:2142,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:2137,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:2135,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:2140,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2138,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:2141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2143
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2143
    functionName: test_launcher_environment
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_unsetenv
    - g_subprocess_launcher_spawnv
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_subprocess_launcher_setenv
    - get_test_subprocess_args
    - g_assert_cmpstr
    - g_object_unref
    - g_subprocess_launcher_new
    - g_ptr_array_unref
    - g_subprocess_communicate_utf8
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_launcher_environment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess.c:1307,1
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/tests/gsubprocess.c:1310,1
    - Dst: g_subprocess_get_if_signaled
      Src: /src/glib/gio/tests/gsubprocess.c:1313,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1313,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1311,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1314,1
    - Dst: g_subprocess_get_term_sig
      Src: /src/glib/gio/tests/gsubprocess.c:1314,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/tests/gsubprocess.c:1316,1
    - Dst: g_subprocess_get_status
      Src: /src/glib/gio/tests/gsubprocess.c:1316,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:1317,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1318,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:1320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1321
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1321
    functionName: on_request_quit_exited
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_get_term_sig
    - g_assert_cmpint
    - g_assert_nonnull
    - g_assert_no_error
    - g_clear_error
    - g_subprocess_wait_finish
    - G_SUBPROCESS
    - g_main_loop_quit
    - g_spawn_check_wait_status
    - g_subprocess_get_if_signaled
    - g_assert_true
    - g_subprocess_get_status
    linkageType: ''
    returnType: void
    signature: 'static void on_request_quit_exited (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:951,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:954,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:953,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:958,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_file_append_to
      Src: /src/glib/gio/tests/live-g-file.c:980,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1003,1
    - Dst: g_output_stream_close
      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
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:956,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:955,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:968,1
    - Dst: g_file_create
      Src: /src/glib/gio/tests/live-g-file.c:974,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/live-g-file.c:994,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:998,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/live-g-file.c:1007,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_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:969,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:990,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1002,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:984,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:996,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/live-g-file.c:977,1
    - Dst: G_OUTPUT_STREAM
      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
    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_test_message
    - g_file_create
    - g_file_append_to
    - g_assert_nonnull
    - g_assert_no_error
    - g_error_free
    - G_OUTPUT_STREAM
    - g_object_unref
    - g_file_replace
    - g_assert_error
    - g_file_query_exists
    - g_assert_null
    - g_output_stream_close
    - G_N_ELEMENTS
    - g_assert_true
    - g_file_get_child
    - g_file_new_for_commandline_arg
    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: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1126,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:1131,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:1158,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1165,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:1147,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/live-g-file.c:1159,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: 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:1142,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_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1143,1
    - Dst: g_file_trash
      Src: /src/glib/gio/tests/live-g-file.c:1137,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1135,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1162,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1148,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_test_message
    - g_assert_false
    - g_free
    - g_file_trash
    - g_file_get_path
    - g_assert_nonnull
    - file_exists
    - g_error_free
    - g_object_unref
    - g_assert_error
    - g_file_query_exists
    - G_N_ELEMENTS
    - g_file_delete
    - g_assert_true
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_delete (gconstpointer test_data) '
  - 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_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_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_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_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:1055,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1089,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1094,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_file_read
      Src: /src/glib/gio/tests/live-g-file.c:1058,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1074,1
    - Dst: G_INPUT_STREAM
      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:1088,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_error_free
      Src: /src/glib/gio/tests/live-g-file.c:1079,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
    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_test_message
    - g_assert_nonnull
    - g_assert_no_error
    - g_error_free
    - g_object_unref
    - g_input_stream_close
    - g_file_read
    - g_file_query_exists
    - g_assert_null
    - g_assert_error
    - G_N_ELEMENTS
    - G_INPUT_STREAM
    - g_assert_true
    - g_file_get_child
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_open (gconstpointer test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1193,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1201,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1206,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_set_attribute_uint32
      Src: /src/glib/gio/tests/live-g-file.c:1242,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_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1261,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1240,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/glib/gio/tests/live-g-file.c:1249,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_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:1196,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1204,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_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_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1263,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1247,1
    - 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_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: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_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_delete
      Src: /src/glib/gio/tests/live-g-file.c:1217,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:1250,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1251,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:1255,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1256,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_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:1180,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1181,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:1185,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:1202,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1194,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1211,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/live-g-file.c:1232,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1262,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_assert_false
    - g_assert_nonnull
    - g_assert_no_error
    - g_object_unref
    - g_test_skip
    - g_file_make_directory
    - g_clear_error
    - g_file_set_attribute_uint32
    - g_file_query_exists
    - g_file_make_directory_with_parents
    - g_assert_error
    - g_file_delete
    - g_assert_true
    - g_file_get_child
    - check_cap_dac_override
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_make_directory_with_parents (gconstpointer test_data) '
  - 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_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:610,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/live-g-file.c:612,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/tests/live-g-file.c:624,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:623,1
    - Dst: traverse_recurse_dirs
      Src: /src/glib/gio/tests/live-g-file.c:627,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:631,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:596,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:598,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/live-g-file.c:601,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_true
      Src: /src/glib/gio/tests/live-g-file.c:642,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:607,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/live-g-file.c:626,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:621,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:629,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:640,1
    - Dst: g_file_enumerator_is_closed
      Src: /src/glib/gio/tests/live-g-file.c:642,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_file_enumerator_get_container
      Src: /src/glib/gio/tests/live-g-file.c:598,1
    - Dst: g_file_get_relative_path
      Src: /src/glib/gio/tests/live-g-file.c:606,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_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_get_container
    - g_file_enumerator_next_file
    - traverse_recurse_dirs
    - g_assert_nonnull
    - g_object_unref
    - g_file_enumerator_get_child
    - g_file_info_get_file_type
    - g_file_get_relative_path
    - g_file_info_get_display_name
    - strcmp
    - g_file_enumerator_is_closed
    - g_assert_no_error
    - g_file_enumerate_children
    - test_attributes
    - g_test_message
    - g_free
    - g_file_enumerator_close
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void traverse_recurse_dirs (GFile * parent, GFile * root) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1291,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/live-g-file.c:1280,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1303,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:1309,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_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1302,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1318,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1277,1
    - Dst: g_file_enumerator_get_child
      Src: /src/glib/gio/tests/live-g-file.c:1290,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:1294,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/tests/live-g-file.c:1296,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1311,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1316,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: 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:1305,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/live-g-file.c:1298,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1315,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:
    - g_test_message
    - g_free
    - g_assert_nonnull
    - g_file_enumerator_next_file
    - g_file_enumerate_children
    - g_assert_no_error
    - g_object_unref
    - g_file_enumerator_get_child
    - g_file_info_get_file_type
    - g_file_enumerator_close
    - g_file_get_relative_path
    - cleanup_dir_recurse
    - g_file_info_get_display_name
    - g_file_delete
    - g_assert_true
    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_file_replace
      Src: /src/glib/gio/tests/live-g-file.c:191,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:188,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:193,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: 3
    argNames:
    - parent
    - filename
    - create_flags
    argTypes:
    - GFile*
    - char*
    - GFileCreateFlags
    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_assert_nonnull
    - g_assert_no_error
    - g_object_unref
    - g_file_replace
    - g_output_stream_close
    - G_OUTPUT_STREAM
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: "static GFile *create_empty_file (GFile * parent, const char *filename,\t\t
      GFileCreateFlags create_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:653,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:657,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_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:
    - g_test_message
    - g_assert_nonnull
    - traverse_recurse_dirs
    - g_object_unref
    - g_file_query_exists
    - g_assert_true
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_traverse_structure (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1326,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1331,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_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:1330,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:
    - g_test_message
    - g_assert_nonnull
    - g_object_unref
    - cleanup_dir_recurse
    - g_file_delete
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void prep_clean_structure (gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/live-g-file.c:150,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: mkdir
      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_test_message
      Src: /src/glib/gio/tests/live-g-file.c:166,1
    - Dst: chmod
      Src: /src/glib/gio/tests/live-g-file.c:171,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
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:173,1
    - Dst: g_assert_no_errno
      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
    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:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - rmdir
    - g_assert_no_errno
    - g_build_filename
    - mkdir
    - chmod
    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: 2
    argNames:
    - parent
    - filename
    argTypes:
    - GFile*
    - char*
    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_nonnull
    - g_assert_no_error
    - g_file_make_directory
    - g_assert_true
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *create_empty_dir (GFile * parent, const char *filename) '
  - 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_assert_cmpstr
      Src: /src/glib/gio/tests/live-g-file.c:453,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:410,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:415,1
    - Dst: g_file_info_get_edit_name
      Src: /src/glib/gio/tests/live-g-file.c:424,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:419,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_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: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_display_name
      Src: /src/glib/gio/tests/live-g-file.c:418,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/tests/live-g-file.c:420,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/live-g-file.c:433,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:445,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/tests/live-g-file.c:452,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_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_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:401,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/live-g-file.c:408,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:421,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/tests/live-g-file.c:427,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:460,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:462,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_file_info_get_is_symlink
    - g_assert_cmpint
    - g_assert_false
    - g_file_info_get_name
    - g_file_info_has_attribute
    - g_assert_nonnull
    - g_file_info_get_attribute_string
    - g_file_info_get_attribute_boolean
    - g_file_info_get_attribute_uint32
    - g_assert_cmpstr
    - g_file_info_get_file_type
    - g_file_info_get_edit_name
    - g_file_info_get_symlink_target
    - g_file_info_get_display_name
    - g_assert_true
    - g_utf8_validate
    linkageType: ''
    returnType: void
    signature: 'static void test_attributes (struct StructureItem item, GFileInfo
      * info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/live-g-file.c:922,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:929,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/live-g-file.c:933,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:930,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/live-g-file.c:927,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_assert_nonnull
    - g_clear_object
    - g_assert_no_error
    - g_file_info_get_attribute_boolean
    - g_assert_true
    - g_file_query_info
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_is_mountpoint (gconstpointer 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_file_make_symbolic_link
      Src: /src/glib/gio/tests/live-g-file.c:226,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
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - parent
    - filename
    - points_to
    argTypes:
    - GFile*
    - char*
    - char*
    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_file_make_symbolic_link
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_true
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *create_symlink (GFile * parent, const char *filename,
      const char *points_to) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:491,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:493,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:494,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_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:521,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:528,1
    - Dst: g_file_read
      Src: /src/glib/gio/tests/live-g-file.c:542,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:544,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:563,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:557,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:572,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:499,1
    - Dst: test_attributes
      Src: /src/glib/gio/tests/live-g-file.c:519,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:522,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:529,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/tests/live-g-file.c:537,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/live-g-file.c:546,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:555,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/live-g-file.c:563,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:570,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_true
      Src: /src/glib/gio/tests/live-g-file.c:496,1
    - 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: g_file_query_info
      Src: /src/glib/gio/tests/live-g-file.c:514,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:510,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:516,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/live-g-file.c:533,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:535,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:539,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:560,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:495,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:536,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:538,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_INPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:553,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:573,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:571,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:
    - file_exists
    - g_input_stream_close
    - g_file_query_exists
    - G_INPUT_STREAM
    - g_file_new_for_commandline_arg
    - g_assert_cmpint
    - g_assert_nonnull
    - g_object_unref
    - g_input_stream_read
    - g_assert_no_error
    - test_attributes
    - g_malloc
    - g_file_query_info
    - g_test_message
    - g_free
    - g_file_read
    - G_N_ELEMENTS
    - g_assert_true
    - g_file_info_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_initial_structure (gconstpointer test_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:861,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:863,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:862,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: do_copy_move
      Src: /src/glib/gio/tests/live-g-file.c:902,1
    - Dst: do_copy_move
      Src: /src/glib/gio/tests/live-g-file.c:905,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
    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_nonnull
    - g_object_unref
    - do_copy_move
    - g_file_query_exists
    - G_N_ELEMENTS
    - g_assert_true
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_move (gconstpointer test_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - 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: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/live-g-file.c:292,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_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:341,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:344,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_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:253,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:272,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_path_get_basename
      Src: /src/glib/gio/tests/live-g-file.c:306,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:297,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_file_replace
      Src: /src/glib/gio/tests/live-g-file.c:327,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:331,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:343,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:244,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:268,1
    - Dst: create_empty_file
      Src: /src/glib/gio/tests/live-g-file.c:269,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: fopen
      Src: /src/glib/gio/tests/live-g-file.c:309,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_data_output_stream_new
      Src: /src/glib/gio/tests/live-g-file.c:331,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/tests/live-g-file.c:335,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:245,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:256,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_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_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:330,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:336,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:346,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:339,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
    - fprintf
    - g_path_get_dirname
    - g_file_new_for_commandline_arg
    - g_data_output_stream_put_byte
    - g_assert_nonnull
    - create_symlink
    - g_object_unref
    - fclose
    - g_data_output_stream_new
    - g_assert_no_error
    - G_OUTPUT_STREAM
    - g_file_make_directory
    - g_build_filename
    - g_file_replace
    - create_empty_file
    - create_empty_dir
    - g_test_message
    - g_free
    - g_output_stream_close
    - fopen
    - g_file_set_attribute_uint32
    - G_N_ELEMENTS
    - g_assert_true
    - g_file_get_child
    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_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:743,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_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_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
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:748,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:704,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_null
      Src: /src/glib/gio/tests/live-g-file.c:728,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:715,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:720,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:719,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:740,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_file_enumerator_next_file
      Src: /src/glib/gio/tests/live-g-file.c:727,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
    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_test_message
    - g_assert_nonnull
    - g_file_enumerator_next_file
    - g_file_enumerate_children
    - g_assert_no_error
    - g_error_free
    - g_object_unref
    - g_file_enumerator_close
    - g_assert_error
    - g_file_query_exists
    - g_assert_null
    - G_N_ELEMENTS
    - g_assert_true
    - g_file_get_child
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_enumerate (gconstpointer test_data) '
  - 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: 3
    argNames:
    - parent
    - filename
    - result
    argTypes:
    - GFile*
    - char*
    - gboolean*
    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_assert_nonnull
    - g_file_query_exists
    - g_file_get_child
    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_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_file_copy
      Src: /src/glib/gio/tests/live-g-file.c:774,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:833,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/live-g-file.c:845,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:849,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:806,1
    - Dst: g_file_move
      Src: /src/glib/gio/tests/live-g-file.c:781,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_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:848,1
    - Dst: check_cap_dac_override
      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_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:827,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:834,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:841,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:764,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_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:807,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:785,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:800,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:793,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: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_test_message
    - g_assert_false
    - g_assert_nonnull
    - g_assert_no_error
    - g_error_free
    - g_object_unref
    - g_file_move
    - g_file_peek_path
    - g_file_copy
    - g_assert_error
    - g_assert_true
    - g_file_get_child
    - check_cap_dac_override
    linkageType: ''
    returnType: void
    signature: "static void do_copy_move (GFile * root, struct StructureItem item,
      const char *target_dir,\t enum StructureExtraFlags extra_flags) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/tests/live-g-file.c:1390,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/live-g-file.c:1386,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_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1439,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_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:1435,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1443,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1461,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/live-g-file.c:1387,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_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:1456,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: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:1425,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:1415,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1451,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_option_context_new
    - strdup
    - g_option_context_free
    - g_option_context_get_help
    - g_option_context_parse
    - g_test_add_data_func
    - g_option_context_add_main_entries
    - g_test_run
    - g_test_init
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-sasl.c:156,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-sasl.c:165,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-sasl.c:157,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:163,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-sasl.c:164,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_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-sasl.c:175,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
    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_source_set_callback
    - g_dbus_server_new_sync
    - g_main_context_push_thread_default
    - g_dbus_server_stop
    - g_assert_nonnull
    - g_clear_object
    - g_assert_no_error
    - g_dbus_server_start
    - g_main_context_pop_thread_default
    - g_source_unref
    - g_main_loop_run
    - g_idle_source_new
    - g_source_attach
    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_append_printf
      Src: /src/glib/gio/tests/gdbus-sasl.c:119,1
    - Dst: g_string_assign
      Src: /src/glib/gio/tests/gdbus-sasl.c:116,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_strdup_printf
    - g_string_append_printf
    - g_free
    - g_string_assign
    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_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:209,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_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_unix_connection_send_credentials
      Src: /src/glib/gio/tests/gdbus-sasl.c:251,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-sasl.c:286,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:317,1
    - Dst: encode_uid
      Src: /src/glib/gio/tests/gdbus-sasl.c:223,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/gdbus-sasl.c:240,1
    - Dst: g_data_input_stream_set_newline_type
      Src: /src/glib/gio/tests/gdbus-sasl.c:249,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-sasl.c:279,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/tests/gdbus-sasl.c:319,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gdbus-sasl.c:306,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:186,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/gdbus-sasl.c:223,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:242,1
    - Dst: g_string_replace
      Src: /src/glib/gio/tests/gdbus-sasl.c:264,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-sasl.c:286,1
    - Dst: g_regex_match_simple
      Src: /src/glib/gio/tests/gdbus-sasl.c:288,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:248,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-sasl.c:297,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-sasl.c:303,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-sasl.c:308,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/tests/gdbus-sasl.c:205,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/gdbus-sasl.c:222,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-sasl.c:262,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:318,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-sasl.c:302,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:316,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:291,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:315,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-sasl.c:310,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:220,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:211,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/tests/gdbus-sasl.c:240,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:314,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-sasl.c:299,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:312,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-sasl.c:280,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:187,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-sasl.c:213,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gdbus-sasl.c:306,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-sasl.c:207,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-sasl.c:266,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:313,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-sasl.c:282,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gdbus-sasl.c:267,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gdbus-sasl.c:203,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-sasl.c:247,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:293,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_string_replace
      Src: /src/glib/gio/tests/gdbus-sasl.c:265,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-sasl.c:285,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-sasl.c:261,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:200,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:188,1
    - Dst: g_cond_init
      Src: /src/glib/gio/tests/gdbus-sasl.c:204,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-sasl.c:208,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/gdbus-sasl.c:216,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gdbus-sasl.c:225,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_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:311,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:206,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-sasl.c:218,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gdbus-sasl.c:269,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gdbus-sasl.c:199,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_object_unref
      Src: /src/glib/gio/tests/gdbus-sasl.c:298,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:252,1
    - Dst: encode_uid
      Src: /src/glib/gio/tests/gdbus-sasl.c:222,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-sasl.c:237,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_get_input_stream
    - g_string_append
    - G_IS_UNIX_CONNECTION
    - g_io_stream_get_output_stream
    - g_string_assign
    - g_data_input_stream_read_line
    - g_clear_pointer
    - g_dbus_address_escape_value
    - g_thread_new
    - g_mutex_init
    - g_regex_match_simple
    - g_main_loop_quit
    - g_main_context_new
    - G_SOCKET_CONNECTABLE
    - strlen
    - g_assert_cmpint
    - g_error
    - g_object_unref
    - g_cond_wait
    - g_data_input_stream_set_newline_type
    - g_thread_join
    - encode_uid
    - g_string_free
    - g_cond_init
    - g_socket_client_connect
    - g_data_input_stream_new
    - G_IO_STREAM
    - g_unix_connection_send_credentials
    - g_rmdir
    - g_assert_cmpuint
    - g_assert_no_errno
    - g_assert_no_error
    - g_dir_make_tmp
    - g_build_filename
    - g_dbus_generate_guid
    - g_strdup_printf
    - g_main_loop_new
    - G_UNIX_CONNECTION
    - g_output_stream_write_all
    - g_mutex_clear
    - g_unix_socket_address_new
    - g_test_message
    - g_string_new
    - g_cond_clear
    - g_free
    - g_clear_object
    - g_mutex_unlock
    - g_socket_client_new
    - g_string_replace
    - G_N_ELEMENTS
    - g_assert_true
    - geteuid
    - g_mutex_lock
    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_cond_broadcast
    - g_mutex_unlock
    - 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_object_unref
    - g_power_profile_monitor_dup_default
    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_debug
    - g_power_profile_monitor_get_power_saver_enabled
    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_run
      Src: /src/glib/gio/tests/power-profile-monitor.c:77,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
    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:
    - do_watch_power_profile
    - g_test_add_func
    - g_test_run
    - g_test_init
    - strcmp
    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_main_loop_new
      Src: /src/glib/gio/tests/power-profile-monitor.c:54,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_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_OBJECT
    - g_signal_connect
    - g_object_unref
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_main_loop_run
    - g_power_profile_monitor_dup_default
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void do_watch_power_profile (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - annotations
    argTypes:
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    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_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:107,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:109,1
    - Dst: foo_igen_bar_complete_hello_world
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - object
    - invocation
    - greeting
    - user_data
    argTypes:
    - FooiGenBar*
    - GDBusMethodInvocation*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: on_handle_hello_world
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - foo_igen_bar_complete_hello_world
    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_bar_set_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:220,1
    - Dst: foo_igen_bar_set_i
      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:222,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:220,1
    - Dst: foo_igen_bar_get_i
      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:222,1
    - Dst: foo_igen_bar_set_i
      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:223,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:224,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:224,1
    - Dst: foo_igen_bar_set_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:225,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:226,1
    - Dst: foo_igen_bar_complete_request_multi_property_mods
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:227,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:226,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenBar*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: on_handle_request_multi_property_mods
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_set_y
    - foo_igen_bar_get_y
    - G_DBUS_INTERFACE_SKELETON
    - g_dbus_interface_skeleton_flush
    - foo_igen_bar_set_i
    - foo_igen_bar_complete_request_multi_property_mods
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:319,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:334,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:324,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:320,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:328,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:339,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - interface
    - invocation
    - user_data
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 345
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 345
    functionName: my_g_authorize_method_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_dbus_method_invocation_return_error
    - g_assert_not_reached
    - g_dbus_method_invocation_get_method_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean my_g_authorize_method_handler (GDBusInterfaceSkeleton
      *interface, GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:358,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:367,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:359,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:363,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:373,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - object
    - interface
    - invocation
    - user_data
    argTypes:
    - GDBusObjectSkeleton*
    - GDBusInterfaceSkeleton*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 384
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 384
    functionName: my_object_authorize_method_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_dbus_method_invocation_return_error
    - g_assert_not_reached
    - g_dbus_method_invocation_get_method_name
    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:458,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:460,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:459,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:458,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:459,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:460,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
      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:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: unexport_objects
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_skeleton_unexport
    - G_DBUS_INTERFACE_SKELETON
    linkageType: ''
    returnType: void
    signature: 'static void unexport_objects (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 660
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2087,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2147,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2158,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2189,1
    - Dst: count_nodes
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2393,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2163,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2170,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2188,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2200,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2292,1
    - Dst: FOO_IGEN_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2366,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2433,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2144,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2236,1
    - Dst: foo_igen_object_skeleton_set_bat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2297,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2064,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2083,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2121,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2264,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2322,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2213,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2218,1
    - Dst: g_dbus_object_manager_server_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2300,1
    - Dst: g_dbus_object_manager_get_objects
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2150,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2260,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2366,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2136,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2161,1
    - Dst: foo_igen_com_acme_coyote_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2267,1
    - Dst: FOO_IGEN_IS_OBJECT_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2339,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2361,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2359,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2423,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2367,1
    - Dst: g_dbus_object_manager_server_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2423,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2280,1
    - Dst: g_dbus_object_manager_server_get_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2048,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2216,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2229,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2364,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2220,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2052,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2195,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2398,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2181,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2363,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2424,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2441,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2130,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2166,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2246,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2123,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2013,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2042,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2079,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2321,1
    - Dst: FOO_IGEN_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2344,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2432,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2232,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2275,1
    - Dst: FOO_IGEN_BAT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2207,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2374,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2413,1
    - Dst: foo_igen_bat_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2206,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2222,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2063,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2120,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2308,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2437,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2246,1
    - Dst: g_dbus_object_manager_get_objects
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2334,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2201,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2170,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2181,1
    - Dst: g_assert
      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:2392,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2409,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2220,1
    - Dst: foo_igen_com_acme_coyote_set_mood
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2406,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2135,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2139,1
    - Dst: foo_igen_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2119,1
    - Dst: FOO_IGEN_OBJECT_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2134,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2185,1
    - Dst: foo_igen_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2291,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2342,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2387,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2256,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2269,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2247,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2347,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2363,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2368,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2135,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2281,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2359,1
    - Dst: g_dbus_object_manager_server_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2382,1
    - Dst: FOO_IGEN_COM_ACME_COYOTE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2406,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2323,1
    - Dst: count_nodes
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2063,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2126,1
    - Dst: g_dbus_interface_dup_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2134,1
    - Dst: g_assert
      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:2189,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2346,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2160,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2344,1
    - Dst: foo_igen_object_manager_client_new_finish
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2081,1
    - Dst: FOO_IGEN_IS_OBJECT_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2356,1
    - Dst: foo_igen_com_acme_coyote_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2405,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2431,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2447,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2165,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2199,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2259,1
    - Dst: g_dbus_object_manager_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2337,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2084,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2127,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2149,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2294,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2326,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2394,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2048,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2179,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2221,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2228,1
    - Dst: foo_igen_bat_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2296,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2394,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2248,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2282,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2342,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2121,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2304,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2272,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2043,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2212,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2249,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2389,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2392,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2430,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2132,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2194,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2199,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2445,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2438,1
    - Dst: foo_igen_object_skeleton_set_com_acme_coyote
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2268,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2315,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2053,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2089,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2360,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2215,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2296,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2038,1
    - Dst: g_dbus_interface_get_object
      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:2130,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2385,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2427,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2307,1
    - Dst: FOO_IGEN_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2361,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2182,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2377,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2298,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2279,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2225,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2104,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2148,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2154,1
    - Dst: foo_igen_object_skeleton_set_bat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2207,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2201,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2219,1
    - Dst: foo_igen_object_skeleton_set_bat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2252,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2375,1
    - Dst: FOO_IGEN_COM_ACME_COYOTE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2231,1
    - Dst: g_dbus_object_manager_server_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2046,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2128,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2255,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2408,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2014,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2067,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2122,1
    - Dst: g_dbus_interface_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2128,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2238,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2369,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2395,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2405,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2279,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2108,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2061,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2197,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2124,1
    - Dst: g_assert_cmpint
      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:2211,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2415,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2094,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2054,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2060,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2074,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2125,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2136,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2153,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2263,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2285,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2335,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2237,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2276,1
    - Dst: g_dbus_object_manager_get_object_path
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2094,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2060,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2106,1
    - Dst: FOO_IGEN_COM_ACME_COYOTE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2268,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2292,1
    - Dst: g_dbus_object_get_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2341,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2219,1
    - Dst: foo_igen_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2404,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2294,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2303,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2437,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2443,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2373,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2277,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2376,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2348,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2103,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2007,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2095,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2162,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2175,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2364,1
    - Dst: g_dbus_object_manager_server_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2421,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2085,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2200,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2355,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2135,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2134,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2105,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2124,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2061,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2062,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2258,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2343,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2146,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2154,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2440,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2161,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2005,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2214,1
    - Dst: g_dbus_object_manager_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2354,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2235,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2357,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2055,1
    - Dst: foo_igen_object_manager_client_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2072,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2166,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2390,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2248,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2323,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2347,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2122,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2094,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2104,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2057,1
    - Dst: om_check_property_and_signal_emission
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2373,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2044,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2338,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2357,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2324,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2193,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2369,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2103,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2131,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2158,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2221,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2306,1
    - Dst: g_dbus_object_manager_server_export_uniquely
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2409,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2235,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2300,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2062,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2091,1
    - Dst: g_dbus_interface_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2230,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2273,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2351,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2173,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2349,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2109,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2188,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2196,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2244,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2356,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2388,1
    - Dst: FOO_IGEN_BAT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2297,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2346,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2016,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2247,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2335,1
    - Dst: foo_igen_object_get_bat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2361,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2182,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2263,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2153,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2339,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2012,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2056,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2137,1
    - Dst: foo_igen_object_get_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2366,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2434,1
    - Dst: g_dbus_interface_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2125,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2152,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2155,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2262,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2237,1
    - Dst: foo_igen_object_get_com_acme_coyote
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2344,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2050,1
    - Dst: g_dbus_object_get_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2358,1
    - Dst: foo_igen_object_skeleton_set_com_acme_coyote
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2407,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2305,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2233,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2340,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2274,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2327,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2128,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2257,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2340,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2350,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2052,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2120,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2152,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2262,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2365,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2440,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2192,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2208,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2164,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2082,1
    - Dst: foo_igen_object_manager_client_new_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2036,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2177,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2293,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2322,1
    - Dst: g_dbus_object_manager_get_object_path
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2052,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2126,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2386,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2295,1
    - Dst: g_dbus_object_manager_server_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2139,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2206,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2218,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2369,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2412,1
    - Dst: g_dbus_object_manager_get_objects
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2424,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 472
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2448
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 2448
    functionName: check_object_manager
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_dbus_object_get_interfaces
    - g_dbus_object_manager_server_export
    - G_DBUS_PROXY
    - g_dbus_object_get_interface
    - foo_igen_object_get_com_acme_coyote
    - introspect
    - g_dbus_object_manager_server_export_uniquely
    - foo_igen_object_manager_client_new
    - g_dbus_interface_get_object
    - g_dbus_object_manager_server_unexport
    - g_main_loop_run
    - FOO_IGEN_BAR
    - g_dbus_connection_get_unique_name
    - g_dbus_interface_dup_object
    - g_dbus_object_manager_get_objects
    - foo_igen_bat_skeleton_new
    - foo_igen_object_skeleton_set_com_acme_coyote
    - foo_igen_com_acme_coyote_skeleton_new
    - g_list_free_full
    - g_assert_cmpint
    - FOO_IGEN_COM_ACME_COYOTE
    - foo_igen_object_skeleton_set_bar
    - foo_igen_object_skeleton_new
    - FOO_IGEN_IS_OBJECT_PROXY
    - g_bus_get_sync
    - count_interfaces
    - g_list_length
    - g_dbus_object_manager_get_interface
    - g_type_is_a
    - om_check_property_and_signal_emission
    - g_dbus_object_manager_server_get_connection
    - g_dbus_object_manager_get_object_path
    - g_dbus_object_manager_server_new
    - g_dbus_connection_signal_subscribe
    - g_signal_connect
    - G_DBUS_OBJECT_SKELETON
    - foo_igen_object_manager_client_new_sync
    - G_DBUS_INTERFACE_SKELETON
    - g_assert_no_error
    - g_error_free
    - g_dbus_node_info_unref
    - foo_igen_object_manager_client_new_finish
    - g_main_loop_unref
    - G_DBUS_OBJECT_MANAGER
    - G_CALLBACK
    - g_main_loop_new
    - has_interface
    - G_TYPE_FROM_INSTANCE
    - count_nodes
    - g_dbus_connection_signal_unsubscribe
    - g_assert_error
    - G_DBUS_OBJECT
    - foo_igen_object_get_bat
    - foo_igen_object_skeleton_set_bat
    - FOO_IGEN_OBJECT
    - g_dbus_object_manager_get_object
    - g_free
    - g_new0
    - G_DBUS_INTERFACE
    - g_assert
    - g_signal_handlers_disconnect_by_func
    - g_clear_object
    - g_assert_cmpstr
    - FOO_IGEN_BAT
    - om_check_get_all
    - g_dbus_object_manager_server_set_connection
    - foo_igen_object_get_bar
    - foo_igen_com_acme_coyote_set_mood
    - g_dbus_object_get_object_path
    - foo_igen_bar_skeleton_new
    - FOO_IGEN_OBJECT_SKELETON
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void check_object_manager (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:134,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:152,1
    - Dst: foo_igen_bar_complete_test_primitive_types
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:137,1
    - 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:136,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:153,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:154,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: 156
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 156
    functionName: on_handle_test_primitive_types
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - foo_igen_bar_complete_test_primitive_types
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_bar_get_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:237,1
    - Dst: foo_igen_bar_set_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:241,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:245,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:245,1
    - Dst: foo_igen_bar_set_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:239,1
    - Dst: foo_igen_bar_complete_property_cancellation
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenBar*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 249
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 249
    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
    - g_dbus_interface_skeleton_flush
    - foo_igen_bar_complete_property_cancellation
    - foo_igen_bar_set_n
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_property_cancellation (FooiGenBar *object,
      GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_authorize_complete_check_not_authorized
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenAuthorize*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    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_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:510,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:580,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:528,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:581,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:606,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:600,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:606,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:559,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:586,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:577,1
    - Dst: foo_igen_bar_set_ay
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:485,1
    - Dst: foo_igen_bar_set_readonly_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:494,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:528,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:537,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:539,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:541,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:603,1
    - Dst: g_dbus_interface_skeleton_get_flags
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:603,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:506,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:611,1
    - Dst: foo_igen_bat_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:527,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:540,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:590,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:598,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:590,1
    - Dst: foo_igen_test_fdpassing_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:605,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:569,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:588,1
    - Dst: foo_igen_bar_set_writeonly_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:489,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:502,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:512,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:522,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:533,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:593,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:610,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:580,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:585,1
    - Dst: foo_igen_bar_set_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:486,1
    - Dst: foo_igen_bar_get_writeonly_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:495,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:518,1
    - Dst: foo_igen_authorize_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:549,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:557,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:563,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:567,1
    - Dst: foo_igen_bar_set_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:488,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:532,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:535,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:538,1
    - Dst: g_dbus_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:544,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:565,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:551,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:556,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:613,1
    - Dst: g_dbus_interface_skeleton_get_flags
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:590,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:571,1
    - Dst: foo_igen_method_threads_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:576,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:593,1
    - Dst: g_dbus_interface_skeleton_set_flags
      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:501,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:514,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:520,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:547,1
    - Dst: g_dbus_object_skeleton_add_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:550,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:484,1
    - Dst: foo_igen_bar_set_d
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:487,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:545,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:552,1
    - Dst: g_dbus_interface_skeleton_has_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:580,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:495,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:508,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:504,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:516,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:597,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:603,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:497,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:561,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:497,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:524,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:552,1
    - Dst: foo_igen_method_threads_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:592,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 93
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 617
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 617
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_dbus_object_skeleton_new
    - g_variant_new_int32
    - g_dbus_object_skeleton_add_interface
    - g_variant_new_bytestring
    - g_dbus_interface_skeleton_export
    - foo_igen_bar_get_writeonly_property
    - foo_igen_bat_skeleton_new
    - g_dbus_interface_skeleton_has_connection
    - g_assert_cmpint
    - g_variant_new_string
    - g_dbus_interface_skeleton_set_flags
    - g_variant_new
    - foo_igen_test_fdpassing_skeleton_new
    - foo_igen_bar_set_y
    - foo_igen_method_threads_skeleton_new
    - g_signal_connect
    - G_DBUS_INTERFACE_SKELETON
    - foo_igen_bar_set_ay
    - g_assert_no_error
    - g_object_set
    - G_CALLBACK
    - foo_igen_authorize_skeleton_new
    - foo_igen_bar_set_readonly_property
    - g_assert
    - foo_igen_bar_set_finally_normal_name
    - foo_igen_bar_set_d
    - g_assert_cmpstr
    - g_thread_self
    - foo_igen_bar_set_writeonly_property
    - g_dbus_interface_skeleton_get_flags
    - foo_igen_bar_skeleton_new
    linkageType: ''
    returnType: void
    signature: 'static void on_bus_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 670
    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: g_object_ref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1853,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - manager
    - res
    - user_data
    argTypes:
    - FooiGenObjectManagerClient*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1855
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1855
    functionName: om_pm_start_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_main_loop_quit
    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:2509,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:2510,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:2513,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:2515,1
    - Dst: CHECK_FIELD
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2517
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2517
    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_test_fdpassing_complete_no_annotation_nested
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2759,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: 2761
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2761
    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: g_strdup_printf
      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_get_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:270,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:273,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:278,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:298,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:282,1
    - Dst: foo_igen_bat_emit_force_signal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:285,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:277,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:301,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:269,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:299,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:269,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:270,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:271,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:272,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:274,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:275,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:291,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:280,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:300,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: 304
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 304
    functionName: on_handle_force_method
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bat_emit_force_signal
    - g_variant_get_int32
    - g_free
    - g_variant_new_string
    - foo_igen_bat_complete_force_method
    - g_variant_unref
    - g_variant_new_int32
    - g_variant_get
    - g_strdup_printf
    - g_variant_get_bytestring
    - g_variant_new_bytestring
    - g_variant_new
    - g_variant_ref_sink
    - g_variant_get_string
    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: foo_igen_authorize_call_check_not_authorized_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1303,1
    - Dst: foo_igen_authorize_call_check_not_authorized_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1305,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1309,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1308,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1307,1
    - Dst: foo_igen_authorize_call_check_authorized_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1313,1
    - Dst: foo_igen_authorize_call_check_authorized_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1315,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1317,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1318,1
    - Dst: foo_igen_authorize_call_check_not_authorized_from_object_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1322,1
    - Dst: foo_igen_authorize_call_check_not_authorized_from_object_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1324,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1327,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1328,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - proxy
    - thread_loop
    argTypes:
    - FooiGenAuthorize*
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1329
    functionName: check_authorize_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_error_free
    - g_assert_no_error
    - foo_igen_authorize_call_check_authorized_sync
    - foo_igen_authorize_call_check_not_authorized_from_object_sync
    - g_assert_error
    - foo_igen_authorize_call_check_not_authorized_sync
    linkageType: ''
    returnType: void
    signature: 'static void check_authorize_proxy (FooiGenAuthorize *proxy, GMainLoop
      *thread_loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_test_fdpassing_complete_no_annotation
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2769,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: 2771
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2771
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_naming_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2543,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2544,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2544,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2544,1
    - Dst: g_object_unref
      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: 2546
      start: 2533
    functionDepth: 0
    functionLinenumber: 2533
    functionLinenumberEnd: 2546
    functionName: test_property_naming
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - G_OBJECT_GET_CLASS
    - g_assert
    - foo_igen_naming_skeleton_new
    - g_object_unref
    - g_object_class_find_property
    linkageType: ''
    returnType: void
    signature: 'static void test_property_naming (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:679,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:685,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:685,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:681,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:681,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:686,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:686,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:690,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:690,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:691,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:691,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:699,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:694,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: 700
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 700
    functionName: on_g_properties_changed
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_get_y
    - g_assert_cmpint
    - g_variant_n_children
    - g_assert_not_reached
    - g_main_loop_quit
    - FOO_IGEN_BAR
    - foo_igen_bar_get_i
    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: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1244,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1244,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1246,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1248,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1279,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1284,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1280,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1287,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1278,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1237,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1243,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1245,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1264,1
    - Dst: foo_igen_bat_call_force_method_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1261,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1263,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:1255,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1277,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1277,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1283,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1243,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1245,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1251,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1262,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1276,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1279,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1282,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1285,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1286,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1247,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1257,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1250,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1265,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1278,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - proxy
    - thread_loop
    argTypes:
    - FooiGenBat*
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1288
    functionName: check_bat_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_variant_get_int32
    - g_signal_connect
    - g_variant_new_string
    - _g_assert_signal_received
    - g_assert
    - g_variant_unref
    - g_variant_new_int32
    - g_assert_cmpstr
    - g_variant_get
    - foo_igen_bat_call_force_method_sync
    - g_assert_no_error
    - g_variant_get_bytestring
    - G_CALLBACK
    - g_variant_new_bytestring
    - g_variant_new
    - g_variant_get_string
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void check_bat_proxy (FooiGenBat *proxy, GMainLoop *thread_loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_method_threads_call_get_self_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1343,1
    - Dst: foo_igen_method_threads_call_get_self_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1350,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1347,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1348,1
    - Dst: sscanf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1350,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - proxy_1
    argTypes:
    - FooiGenMethodThreads*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1355
    functionName: get_self_via_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - sscanf
    - g_assert
    - g_assert_no_error
    - foo_igen_method_threads_call_get_self_sync
    linkageType: ''
    returnType: GThread*
    signature: 'static GThread *get_self_via_proxy (FooiGenMethodThreads *proxy_1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusNodeInfo*
    constantsTouched: []
    func_position:
      end: 1542
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1542
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1700,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1714,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1726,1
    - Dst: va_start
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1701,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1713,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1715,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1720,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1721,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1732,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1704,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1712,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1723,1
    - Dst: g_ptr_array_new
      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:1699,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1707,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1710,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:1729,1
    - Dst: g_variant_n_children
      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:1730,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: 1733
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1733
    functionName: om_check_interfaces_removed
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - va_end
    - g_assert_cmpint
    - g_variant_n_children
    - g_variant_unref
    - g_assert_cmpstr
    - g_variant_get
    - va_start
    - g_variant_get_child
    - va_arg
    - g_ptr_array_unref
    - g_ptr_array_sort_values
    - g_ptr_array_new
    - g_ptr_array_add
    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: 1864
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1864
    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:1882,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1888,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1884,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - manager
    - object_proxy
    - user_data
    argTypes:
    - GDBusObjectManagerClient*
    - GDBusObjectProxy*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1890
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1890
    functionName: on_object_proxy_added
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - G_CALLBACK
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void on_object_proxy_added (GDBusObjectManagerClient *manager,
      GDBusObjectProxy *object_proxy, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2634,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2646,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2642,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2638,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2643,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GDBusArgInfo**
    - GDBusArgInfo**
    constantsTouched: []
    func_position:
      end: 2648
      start: 2628
    functionDepth: 0
    functionLinenumber: 2628
    functionLinenumberEnd: 2648
    functionName: assert_arg_infos_equal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_null
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void assert_arg_infos_equal (GDBusArgInfo **a, GDBusArgInfo
      **b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:712,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:714,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:715,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:716,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:713,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:717,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:718,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:721,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: 722
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 722
    functionName: on_test_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpint
    - g_assert_cmpstr
    - g_main_loop_quit
    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_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1363,1
    - Dst: get_self_via_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1366,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1366,1
    - Dst: get_self_via_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - proxy_1
    - proxy_2
    - thread_loop
    argTypes:
    - FooiGenMethodThreads*
    - FooiGenMethodThreads*
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1367
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusNodeInfo*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1551
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1664,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1675,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1669,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1672,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1670,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1681,1
    - Dst: va_start
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1650,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1661,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1664,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1656,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1653,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1649,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1659,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1662,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1663,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1665,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1678,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1679,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1648,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1680,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: 1682
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1682
    functionName: om_check_interfaces_added
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - va_end
    - g_assert_cmpint
    - g_variant_n_children
    - g_variant_unref
    - g_assert_cmpstr
    - g_variant_get
    - va_start
    - g_variant_get_child
    - va_arg
    - g_ptr_array_unref
    - g_ptr_array_sort_values
    - g_ptr_array_new
    - g_ptr_array_add
    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_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1756,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1777,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1812,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1819,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1805,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1840,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1767,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1774,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1781,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1816,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1809,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1837,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1763,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1798,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1791,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1826,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1833,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1752,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1760,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1755,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1788,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1795,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1802,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1823,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1830,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: 1843
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1843
    functionName: om_on_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_variant_print
    - g_assert_not_reached
    - om_check_interfaces_added
    - g_main_loop_quit
    - om_check_interfaces_removed
    - g_printerr
    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: 1873
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1873
    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:1899,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1902,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1900,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1899,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1902,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - manager
    - object_proxy
    - user_data
    argTypes:
    - GDBusObjectManagerClient*
    - GDBusObjectProxy*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1905
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1905
    functionName: on_object_proxy_removed
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - G_CALLBACK
    - g_assert_cmpint
    - g_signal_handlers_disconnect_by_func
    linkageType: ''
    returnType: void
    signature: 'static void on_object_proxy_removed (GDBusObjectManagerClient *manager,
      GDBusObjectProxy *object_proxy, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2654,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2657,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2665,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2664,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2655,1
    - Dst: assert_annotations_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2666,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2669,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2670,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GDBusAnnotationInfo**
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 2671
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2671
    functionName: assert_annotations_equal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - count_annotations
    - g_assert_cmpuint
    - assert_annotations_equal
    - g_assert_cmpstr
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void assert_annotations_equal (GDBusAnnotationInfo **a, GDBusAnnotationInfo
      **b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:437,1
    - Dst: foo_igen_method_threads_complete_get_self
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:438,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:437,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenMethodThreads*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 441
    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: foo_igen_test_fdpassing_complete_hello_fd
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2737,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: 2739
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2739
    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: foo_igen_test_fdpassing_complete_no_annotation_nested
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_files
    argTypes:
    - FooiGenTestFDPassing*
    - GDBusMethodInvocation*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2780
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2780
    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:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:420,1
    - Dst: g_assert_cmpuint
      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:420,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:421,1
    - Dst: g_assert_cmpstr
      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:423,1
    - Dst: FOO_IGEN_TEST_FDPASSING
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:423,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: 427
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: on_handle_fdpassing_hello_fd
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_get_length
    - G_IS_UNIX_FD_LIST
    - g_assert_cmpuint
    - FOO_IGEN_TEST_FDPASSING
    - g_assert_cmpstr
    - foo_igen_test_fdpassing_complete_hello_fd
    - g_assert_true
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1582,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1587,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1586,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1588
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1588
    functionName: om_get_all_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_main_loop_quit
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void om_get_all_cb (GDBusConnection *connection, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2709,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2727,1
    - Dst: assert_annotations_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2721,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2679,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2684,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2679,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2691,1
    - Dst: assert_arg_infos_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2693,1
    - 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:2697,1
    - Dst: assert_annotations_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2707,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2719,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2716,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2692,1
    - Dst: assert_arg_infos_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2706,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2718,1
    - Dst: assert_annotations_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2725,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2704,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2680,1
    - Dst: assert_annotations_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:2705,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2720,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2723,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2728
      start: 2676
    functionDepth: 0
    functionLinenumber: 2676
    functionLinenumberEnd: 2728
    functionName: test_standalone_interface_info
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON
    - g_assert_cmpuint
    - g_assert_nonnull
    - assert_annotations_equal
    - g_clear_object
    - g_dbus_interface_skeleton_get_info
    - g_assert_cmpstr
    - assert_arg_infos_equal
    - g_assert_null
    - foo_igen_bar_skeleton_new
    linkageType: ''
    returnType: void
    signature: 'static void test_standalone_interface_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2816,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2818,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:2819,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: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: session_bus_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2828
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2828
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - session_bus_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1602,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1603,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1614,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1608,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1615,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1616,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1617,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1618,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - c
    - loop
    - str
    argTypes:
    - GDBusConnection*
    - GMainLoop*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1620
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1620
    functionName: om_check_get_all
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_free
    - g_dbus_connection_call
    - g_assert
    - g_variant_print
    - g_variant_unref
    - g_assert_cmpstr
    - g_main_loop_run
    - g_dbus_connection_get_unique_name
    linkageType: ''
    returnType: void
    signature: 'static void om_check_get_all (GDBusConnection *c, GMainLoop *loop,
      const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_oldie_interface_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2603,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2608,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2607,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2606,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2606,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2610,1
    - Dst: foo_igen_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2617,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2618,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2618,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2619,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2622,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2624
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2624
    functionName: test_deprecations
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - G_OBJECT_GET_CLASS
    - g_assert_nonnull
    - foo_igen_object_skeleton_new
    - g_object_unref
    - g_object_class_find_property
    - foo_igen_oldie_interface_skeleton_new
    linkageType: ''
    returnType: void
    signature: 'static void test_deprecations (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_CHECK_VERSION
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2575,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2588
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2588
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_test_fdpassing_complete_no_annotation
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2749,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: 2751
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2751
    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: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:173,1
    - Dst: g_free
      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_string_append_printf
      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:180,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:184,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:176,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:179,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:187,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:172,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:173,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_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:182,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:173,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:183,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:178,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:181,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:185,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:186,1
    - Dst: foo_igen_bar_complete_test_non_primitive_types
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:188,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:174,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:175,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:194,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: 196
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 196
    functionName: on_handle_test_non_primitive_types
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_string_append
    - g_free
    - g_variant_print
    - foo_igen_bar_complete_test_non_primitive_types
    - g_string_append_printf
    - g_strjoinv
    - g_string_free
    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: foo_igen_authorize_complete_check_authorized
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenAuthorize*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    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_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 637
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 637
    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: foo_igen_bar_call_property_cancellation_finish
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:734,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:738,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:735,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - proxy
    - res
    - user_data
    argTypes:
    - FooiGenBar*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 739
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 739
    functionName: on_property_cancellation_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_loop_quit
    - g_assert_no_error
    - foo_igen_bar_call_property_cancellation_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_property_cancellation_cb (FooiGenBar *proxy, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1211,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1212,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1211,1
    - Dst: g_variant_get_string
      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_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1213,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1215,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: 1218
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1218
    functionName: on_force_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_variant_get_int32
    - g_assert
    - g_assert_cmpstr
    - g_variant_get
    - g_variant_get_bytestring
    - g_variant_get_string
    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: foo_igen_bar_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1391,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1398,1
    - Dst: foo_igen_bat_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1402,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1430,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1439,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1448,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1453,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1459,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1385,1
    - Dst: check_bar_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1397,1
    - Dst: check_bat_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1408,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1437,1
    - Dst: check_thread_proxies
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1438,1
    - Dst: foo_igen_test_fdpassing_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1442,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1458,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1386,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1387,1
    - Dst: g_object_unref
      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:1409,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1421,1
    - Dst: check_authorize_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1419,1
    - Dst: foo_igen_authorize_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1413,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1420,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1450,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1410,1
    - Dst: foo_igen_method_threads_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1431,1
    - Dst: foo_igen_method_threads_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1424,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1440,1
    - Dst: check_fdpassing_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1449,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1462,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1464
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1464
    functionName: check_proxies_in_thread
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - check_authorize_proxy
    - check_thread_proxies
    - check_bar_proxy
    - foo_igen_bat_proxy_new_for_bus_sync
    - g_main_loop_quit
    - g_main_context_new
    - g_object_unref
    - check_bat_proxy
    - g_main_context_push_thread_default
    - foo_igen_authorize_proxy_new_for_bus_sync
    - foo_igen_test_fdpassing_proxy_new_for_bus_sync
    - check_fdpassing_proxy
    - foo_igen_method_threads_proxy_new_for_bus_sync
    - g_assert_no_error
    - g_main_loop_unref
    - foo_igen_bar_proxy_new_for_bus_sync
    - g_main_loop_new
    - g_main_context_iteration
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer check_proxies_in_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1484,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1488,1
    - Dst: g_variant_get
      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:1487,1
    - Dst: g_variant_unref
      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:1492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1493
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1493
    functionName: introspect_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_unref
    - g_assert_no_error
    - g_variant_get
    - g_main_loop_quit
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void introspect_cb (GDBusConnection *connection, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - info
    - name
    argTypes:
    - GDBusNodeInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1564
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1564
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:208,1
    - Dst: foo_igen_bar_emit_test_signal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:209,1
    - Dst: foo_igen_bar_complete_request_signal_emission
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:210,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: 213
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: on_handle_request_signal_emission
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_complete_request_signal_emission
    - g_variant_new_parsed
    - foo_igen_bar_emit_test_signal
    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:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenAuthorize*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    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:627,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 629
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 629
    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_cmpfloat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:864,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:985,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:875,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:980,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:989,1
    - Dst: g_error_free
      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:1018,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1021,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1022,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1023,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1117,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:878,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:947,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:977,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:984,1
    - Dst: foo_igen_bar_set_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1029,1
    - Dst: foo_igen_bar_get_as
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1047,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1049,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1066,1
    - Dst: foo_igen_bar_set_u
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1094,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1099,1
    - Dst: foo_igen_bar_set_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:889,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:851,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:860,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:945,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_assert_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1003,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1046,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1076,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1097,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1115,1
    - Dst: foo_igen_bar_get_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1126,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:865,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:875,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:875,1
    - Dst: foo_igen_bar_call_test_non_primitive_types_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:951,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1048,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:852,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:870,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:871,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:876,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:880,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:950,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:981,1
    - Dst: foo_igen_bar_call_test_primitive_types_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:908,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:991,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1040,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1041,1
    - Dst: foo_igen_bar_get_u
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1096,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:855,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:874,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:897,1
    - Dst: g_assert_cmpstr
      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:1037,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1064,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1089,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:881,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:806,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:808,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:806,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:986,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:992,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1006,1
    - Dst: foo_igen_bar_call_request_signal_emission_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1016,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1068,1
    - Dst: foo_igen_bar_call_request_multi_property_mods_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1074,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1096,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1129,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:856,1
    - Dst: foo_igen_bar_get_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:891,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:807,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:869,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:974,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:882,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:976,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:973,1
    - Dst: foo_igen_bar_call_unimplemented_method_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:999,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1008,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1039,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:853,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:863,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:874,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:877,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:904,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1019,1
    - Dst: _g_assert_property_notify
      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:1038,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1077,1
    - Dst: foo_igen_bar_get_u
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1098,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1153,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:979,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:946,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:872,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:941,1
    - Dst: foo_igen_bar_call_request_signal_emission_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1014,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1120,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1127,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1148,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1118,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1154,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1048,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:977,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:942,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:983,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:857,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:861,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:883,1
    - Dst: foo_igen_bar_get_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1031,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1098,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:803,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:822,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:858,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:952,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:944,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1039,1
    - Dst: foo_igen_bar_call_request_multi_property_mods_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1072,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1090,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1092,1
    - Dst: foo_igen_bar_get_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1124,1
    - Dst: foo_igen_bar_set_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1122,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:978,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:985,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1050,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1079,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1065,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1080,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1095,1
    - Dst: foo_igen_bar_set_u
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1123,1
    - Dst: foo_igen_bar_call_property_cancellation
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1140,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:854,1
    - 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:868,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:873,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:950,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:890,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:988,1
    - Dst: foo_igen_bar_call_unimplemented_method_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1001,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1010,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1078,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1081,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:956,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:982,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:954,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:980,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:891,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1043,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1126,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1042,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 204
    argCount: 2
    argNames:
    - proxy
    - thread_loop
    argTypes:
    - FooiGenBar*
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 1155
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 1155
    functionName: check_bar_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_get_y
    - G_DBUS_PROXY
    - g_clear_pointer
    - foo_igen_bar_call_request_signal_emission_sync
    - g_strfreev
    - foo_igen_bar_call_property_cancellation
    - g_main_loop_run
    - g_dbus_proxy_get_cached_property
    - g_assert_cmpint
    - _g_assert_property_notify
    - g_variant_print
    - g_assert_nonnull
    - g_assert_cmpvariant
    - foo_igen_bar_set_n
    - foo_igen_bar_get_finally_normal_name
    - foo_igen_bar_call_test_primitive_types_sync
    - g_signal_connect
    - g_assert_cmpfloat
    - g_assert_cmpuint
    - foo_igen_bar_get_u
    - g_variant_unref
    - g_object_set
    - g_assert_no_error
    - g_error_free
    - G_CALLBACK
    - foo_igen_bar_get_as
    - g_variant_ref_sink
    - g_assert_error
    - g_strv_length
    - g_variant_new_parsed
    - foo_igen_bar_call_request_multi_property_mods_sync
    - G_VARIANT_TYPE
    - foo_igen_bar_call_test_non_primitive_types_sync
    - g_free
    - g_new0
    - g_object_get
    - foo_igen_bar_call_unimplemented_method_sync
    - g_assert
    - g_signal_handlers_disconnect_by_func
    - foo_igen_bar_set_finally_normal_name
    - foo_igen_bar_get_n
    - foo_igen_bar_set_u
    - g_assert_cmpstr
    - foo_igen_bar_get_i
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void check_bar_proxy (FooiGenBar *proxy, GMainLoop *thread_loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1505,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1522,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1523,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1516,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1510,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1526,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1527,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1528,1
    - Dst: g_free
      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
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - connection
    - name
    - object_path
    - loop
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 1533
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1533
    functionName: introspect
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_node_info_new_for_xml
    - g_new0
    - g_free
    - g_dbus_connection_call
    - g_assert
    - g_assert_no_error
    - g_main_loop_run
    linkageType: ''
    returnType: GDBusNodeInfo*
    signature: 'static GDBusNodeInfo *introspect (GDBusConnection *connection, const
      gchar *name, const gchar *object_path, GMainLoop *loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1928,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1932,1
    - Dst: foo_igen_bar_set_d
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1947,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1945,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1949,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1955,1
    - Dst: foo_igen_bar_set_quiet
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1957,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1970,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1973,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1960,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1967,1
    - Dst: foo_igen_bar_emit_another_signal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1976,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1928,1
    - Dst: foo_igen_bar_get_i
      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:1931,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1933,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1936,1
    - Dst: foo_igen_bar_set_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:1937,1
    - Dst: foo_igen_bar_get_d
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1936,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1948,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1951,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1961,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1977,1
    - Dst: g_assert_cmpint
      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:1939,1
    - Dst: foo_igen_bar_get_d
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1937,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1950,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1956,1
    - Dst: foo_igen_bar_set_quiet_too
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1968,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1972,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1958,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1930,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1929,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1932,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1946,1
    - Dst: foo_igen_bar_get_quiet
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1961,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1969,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1959,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1962,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1971,1
    - Dst: foo_igen_bar_get_quiet_too
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1972,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 3
    argNames:
    - loop
    - skeleton
    - proxy
    argTypes:
    - GMainLoop*
    - FooiGenBar*
    - FooiGenBar*
    constantsTouched: []
    func_position:
      end: 1978
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1978
    functionName: om_check_property_and_signal_emission
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_signal_connect
    - g_assert_cmpfloat
    - _g_assert_property_notify
    - foo_igen_bar_get_d
    - g_assert
    - foo_igen_bar_set_d
    - g_assert_cmpstr
    - foo_igen_bar_set_i
    - G_CALLBACK
    - foo_igen_bar_set_quiet_too
    - foo_igen_bar_get_quiet
    - foo_igen_bar_set_quiet
    - _g_assert_signal_received
    - foo_igen_bar_emit_another_signal
    - foo_igen_bar_get_i
    - g_signal_handler_disconnect
    - foo_igen_bar_get_quiet_too
    linkageType: ''
    returnType: void
    signature: 'static void om_check_property_and_signal_emission (GMainLoop *loop,
      FooiGenBar *skeleton, FooiGenBar *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:79,1
    - Dst: g_dbus_interface_info_lookup_signal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:81,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:85,1
    - Dst: g_dbus_interface_info_lookup_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:87,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:89,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:95,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:95,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:69,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:72,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:72,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:75,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:77,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:92,1
    - Dst: foo_igen_bar_interface_info
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:68,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:83,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:82,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:83,1
    - Dst: g_assert_cmpstr
      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:84,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:85,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:88,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:89,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:90,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:73,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:73,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:76,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:77,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:78,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:78,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:93,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:90,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 96
    functionName: test_annotations
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - count_annotations
    - foo_igen_bar_interface_info
    - g_assert
    - g_assert_cmpstr
    - g_dbus_annotation_info_lookup
    - g_dbus_interface_info_lookup_signal
    - g_dbus_interface_info_lookup_method
    - g_dbus_interface_info_lookup_property
    linkageType: ''
    returnType: void
    signature: 'static void test_annotations (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1166,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1167,1
    - Dst: g_close
      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:1187,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1170,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1173,1
    - Dst: foo_igen_test_fdpassing_call_hello_fd_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1178,1
    - Dst: g_unix_fd_list_get_length
      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:1185,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1192,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1168,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1167,1
    - Dst: g_close
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1169,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1174,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1188,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1190,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1161,1
    - Dst: dup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1172,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1173,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1176,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1187,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1191,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: 1194
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1194
    functionName: check_fdpassing_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_get_length
    - g_assert_cmpint
    - dup
    - g_close
    - g_assert_true
    - G_IS_UNIX_FD_LIST
    - g_assert_cmpuint
    - g_clear_pointer
    - g_unix_fd_list_append
    - g_assert_no_error
    - g_clear_object
    - g_assert_cmpstr
    - g_unix_fd_list_new
    - foo_igen_test_fdpassing_call_hello_fd_sync
    linkageType: ''
    returnType: void
    signature: 'static void check_fdpassing_proxy (FooiGenTestFDPassing *proxy) '
  - 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: 1915
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1915
    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: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2458,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2469,1
    - Dst: check_object_manager
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2471,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2460,1
    - Dst: unexport_objects
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2476,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2478,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2480
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2480
    functionName: test_object_manager
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - unexport_objects
    - g_main_loop_unref
    - g_main_loop_new
    - g_bus_unown_name
    - g_main_loop_run
    - check_object_manager
    - g_bus_own_name
    linkageType: ''
    returnType: void
    signature: 'static void test_object_manager (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2808
      start: 2788
    functionDepth: 0
    functionLinenumber: 2788
    functionLinenumberEnd: 2808
    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: g_dbus_object_manager_client_get_name_owner
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:55,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:56,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      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_free
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:57,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_free
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_dbus_object_manager_client_get_name_owner
    - g_dbus_object_get_object_path
    - g_print
    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
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:76,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
    - Dst: g_dbus_object_manager_client_get_name_owner
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:79,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_get_name_owner
    - g_print
    - g_free
    - G_DBUS_OBJECT_MANAGER_CLIENT
    linkageType: ''
    returnType: void
    signature: 'static void on_notify_name_owner (GObject *object, GParamSpec *pspec,
      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_get_object_path
      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_variant_iter_next
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:99,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:97,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_free
    - g_variant_print
    - g_variant_iter_init
    - g_variant_unref
    - G_DBUS_OBJECT
    - g_dbus_object_get_object_path
    - g_print
    - g_variant_iter_next
    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: 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_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:67,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:66,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:67,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:68,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_free
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_dbus_object_manager_client_get_name_owner
    - g_dbus_object_get_object_path
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_object_removed (GDBusObjectManager *manager, GDBusObject
      *object, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:135,1
    - Dst: print_objects
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:139,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:143,1
    - 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_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:155,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:153,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:119,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:130,1
    - Dst: example_object_manager_client_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:122,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:162,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:164,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_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:147,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:151,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:158,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:149,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:
    - g_signal_connect
    - g_free
    - g_error_free
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_object_unref
    - g_main_loop_unref
    - g_dbus_object_manager_client_get_name_owner
    - G_CALLBACK
    - g_main_loop_new
    - g_main_loop_run
    - g_print
    - example_object_manager_client_new_for_bus_sync
    - print_objects
    - g_printerr
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - 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_object_path
      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: EXAMPLE_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:15,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:18,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_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:44,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:46,1
    - Dst: g_dbus_interface_get_info
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:24,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_interface_get_info
    - g_dbus_object_get_interfaces
    - G_DBUS_INTERFACE
    - g_dbus_object_manager_get_object_path
    - G_DBUS_OBJECT
    - EXAMPLE_OBJECT
    - g_dbus_object_get_object_path
    - g_print
    - g_list_free_full
    - g_dbus_object_manager_get_objects
    linkageType: ''
    returnType: void
    signature: 'static void print_objects (GDBusObjectManager *manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/gio/tests/send-data.c:30,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/send-data.c:32,1
    - Dst: g_print
      Src: /src/glib/gio/tests/send-data.c:31,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_object_ref
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: "static void async_cb (GObject *source_object,\t GAsyncResult *res,\t
      gpointer user_data) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/send-data.c:93,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_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_print
      Src: /src/glib/gio/tests/send-data.c:157,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/send-data.c:172,1
    - Dst: g_print
      Src: /src/glib/gio/tests/send-data.c:178,1
    - Dst: g_io_stream_close_finish
      Src: /src/glib/gio/tests/send-data.c:185,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/send-data.c:196,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/send-data.c:185,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/send-data.c:192,1
    - 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_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_main_loop_run
      Src: /src/glib/gio/tests/send-data.c:132,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
      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_option_context_new
      Src: /src/glib/gio/tests/send-data.c:92,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_socket_client_new
      Src: /src/glib/gio/tests/send-data.c:121,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_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_IO_STREAM
      Src: /src/glib/gio/tests/send-data.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/send-data.c:188,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/send-data.c:125,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/send-data.c:125,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_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_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_close_async
      Src: /src/glib/gio/tests/send-data.c:182,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/send-data.c:184,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/send-data.c:196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/send-data.c:203,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/send-data.c:189,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/send-data.c:198,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_get_output_stream
    - fgets
    - g_thread_new
    - g_io_stream_close_finish
    - g_main_loop_run
    - g_socket_connection_get_remote_address
    - g_tcp_connection_set_graceful_disconnect
    - strlen
    - g_socket_client_set_timeout
    - g_object_unref
    - g_io_stream_close
    - g_io_stream_close_async
    - g_print
    - g_signal_connect
    - g_option_context_new
    - G_IO_STREAM
    - g_cancellable_new
    - g_error_free
    - g_socket_client_connect_to_host
    - g_thread_unref
    - G_CALLBACK
    - g_warning
    - g_main_loop_new
    - g_socket_client_connect_to_host_async
    - g_socket_client_connect_to_host_finish
    - g_output_stream_write_all
    - g_printerr
    - G_TCP_CONNECTION
    - g_option_context_parse
    - g_option_context_add_main_entries
    - socket_address_to_string
    - g_socket_client_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/tests/send-data.c:71,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/tests/send-data.c:76,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_get_real_time
      Src: /src/glib/gio/tests/send-data.c:73,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_enum_get_value
    - G_OBJECT_TYPE_NAME
    - g_get_real_time
    - g_print
    - g_type_class_ref
    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: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:43,1
    - Dst: g_inet_socket_address_get_port
      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: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    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
    - g_inet_address_to_string
    - g_free
    - g_inet_socket_address_get_address
    - g_inet_socket_address_get_port
    - g_strdup_printf
    linkageType: ''
    returnType: char*
    signature: 'static char *socket_address_to_string (GSocketAddress *address) '
  - 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_set_summary
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:47,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_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_bus_unwatch_name
    - g_option_context_new
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_bus_watch_name
    - g_main_loop_new
    - g_main_loop_run
    - g_printerr
    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_run
    - g_test_init
    - g_test_add_func
    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_free
      Src: /src/glib/gio/tests/thumbnail-verification.c:117,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/thumbnail-verification.c:102,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_test_get_filename
    - g_free
    - g_assert
    - g_strconcat
    - G_N_ELEMENTS
    - thumbnail_verify
    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_run
    - g_test_init
    - g_test_add_func
    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:38,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:40,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:40,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:41,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-error.c:39,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:41,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:42,1
    - Dst: g_dbus_error_get_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_free
      Src: /src/glib/gio/tests/gdbus-error.c:45,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-error.c:46,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: 47
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: check_registered_error
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_error_free
    - g_dbus_error_get_remote_error
    - g_assert_cmpstr
    - g_dbus_error_new_for_dbus_error
    - g_dbus_error_is_remote_error
    - g_assert_error
    - g_dbus_error_strip_remote_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:144,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:146,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:153,1
    - Dst: g_error_new
      Src: /src/glib/gio/tests/gdbus-error.c:139,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:141,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:146,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:147,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:150,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:153,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-error.c:159,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:157,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-error.c:142,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-error.c:145,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:148,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/tests/gdbus-error.c:140,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/gdbus-error.c:141,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:157,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - error_domain
    - error_code
    argTypes:
    - GQuark
    - gint
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: check_transparent_gerror
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_dbus_error_strip_remote_error
    - g_free
    - g_error_new
    - g_assert
    - g_error_free
    - g_dbus_error_get_remote_error
    - g_assert_cmpstr
    - g_dbus_error_encode_gerror
    - g_str_has_prefix
    - g_dbus_error_new_for_dbus_error
    - g_assert_error
    - g_dbus_error_is_remote_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:68,1
    - Dst: check_registered_error
      Src: /src/glib/gio/tests/gdbus-error.c:74,1
    - Dst: check_registered_error
      Src: /src/glib/gio/tests/gdbus-error.c:71,1
    - Dst: check_registered_error
      Src: /src/glib/gio/tests/gdbus-error.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 80
    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: check_transparent_gerror
      Src: /src/glib/gio/tests/gdbus-error.c:181,1
    - Dst: check_transparent_gerror
      Src: /src/glib/gio/tests/gdbus-error.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 183
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 183
    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_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-error.c:209,1
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/tests/gdbus-error.c:211,1
    - Dst: g_assert
      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:225,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-error.c:220,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:219,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:224,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:226,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-error.c:231,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:240,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:241,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:213,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:214,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:217,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:218,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:229,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:230,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:232,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/gdbus-error.c:244,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/tests/gdbus-error.c:245,1
    - Dst: g_dbus_error_unregister_error
      Src: /src/glib/gio/tests/gdbus-error.c:250,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:239,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:246,1
    - Dst: g_dbus_error_register_error_domain
      Src: /src/glib/gio/tests/gdbus-error.c:205,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gdbus-error.c:208,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-error.c:212,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:221,1
    - Dst: g_dbus_error_set_dbus_error
      Src: /src/glib/gio/tests/gdbus-error.c:223,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:228,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/gdbus-error.c:234,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:235,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:236,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:237,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-error.c:248,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:247,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:216,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:227,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:238,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-error.c:242,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 253
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 253
    functionName: test_register_error
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_dbus_error_strip_remote_error
    - g_free
    - g_dbus_error_unregister_error
    - g_assert
    - g_error_new_literal
    - g_dbus_error_get_remote_error
    - g_assert_cmpstr
    - g_dbus_error_set_dbus_error
    - g_dbus_error_register_error_domain
    - g_clear_error
    - g_dbus_error_encode_gerror
    - g_assert_error
    - g_dbus_error_new_for_dbus_error
    - G_N_ELEMENTS
    - g_dbus_error_is_remote_error
    linkageType: ''
    returnType: void
    signature: 'static void test_register_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/tests/gdbus-error.c:90,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:92,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-error.c:91,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:92,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:93,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:94,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:95,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:98,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:98,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:99,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:102,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:102,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-error.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - given_dbus_error_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: check_unregistered_error
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_dbus_error_strip_remote_error
    - g_free
    - g_assert
    - g_error_free
    - g_dbus_error_get_remote_error
    - g_assert_cmpstr
    - g_dbus_error_new_for_dbus_error
    - g_assert_error
    - g_dbus_error_is_remote_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:125,1
    - Dst: check_unregistered_error
      Src: /src/glib/gio/tests/gdbus-error.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 127
    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: g_test_init
      Src: /src/glib/gio/tests/gdbus-error.c:262,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:265,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-error.c:267,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-error.c:264,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-error.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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_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_assert_not_reached
    - GPOINTER_TO_UINT
    - g_printerr
    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_dbus_unset
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:230,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:228,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:232,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_dbus_unset
    - g_test_add_func
    - g_main_loop_unref
    - g_test_run
    - g_test_init
    - g_main_loop_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:68,1
    - 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_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_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_down
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:118,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:70,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:110,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_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:115,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:107,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:116,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_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:72,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:101,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
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    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:
    - g_source_remove
    - GUINT_TO_POINTER
    - g_main_loop_run
    - g_timeout_add
    - g_spawn_command_line_sync
    - g_assert_cmpint
    - g_bus_get_sync
    - g_object_unref
    - g_dbus_connection_signal_subscribe
    - g_test_get_filename
    - g_assert_no_error
    - session_bus_up
    - g_test_message
    - g_free
    - g_assert
    - session_bus_down
    - g_spawn_check_wait_status
    - g_assert_true
    - g_dbus_connection_signal_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_flush (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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_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_prefix
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:173,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:177,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:150,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:173,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:150,1
    - Dst: g_new
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:152,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: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:172,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:172,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:158,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:174,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:179,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:
    - strlen
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_assert_cmpint
    - g_free
    - GPOINTER_TO_UINT
    - g_assert
    - g_source_remove
    - g_assert_no_error
    - g_variant_unref
    - g_new
    - g_variant_get
    - g_str_has_prefix
    - g_str_has_suffix
    - g_variant_new
    - g_main_loop_quit
    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_assert
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:198,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_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:
    - g_bus_unwatch_name
    - g_test_get_filename
    - g_assert
    - session_bus_down
    - g_spawn_command_line_async
    - session_bus_up
    - GUINT_TO_POINTER
    - g_bus_watch_name
    - g_timeout_add_seconds_once
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_large_message (void) '
  - 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:46,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-open.c:47,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_application_set_inactivity_timeout
    - g_signal_connect
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    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_free
      Src: /src/glib/gio/tests/gapplication-example-open.c:28,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-open.c:27,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_print
    - g_file_get_uri
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void app_open (GApplication *application, GFile **files, gint
      n_files, const gchar *hint) '
  - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:63,1
    - Dst: G_IS_SOCKET
      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_assert_true
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:66,1
    - Dst: g_mkdtemp_full
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:69,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_assert_no_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:78,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:81,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_unix_socket_address_new
    - G_IS_SOCKET
    - g_mkdtemp_full
    - g_socket_bind
    - g_strerror
    - g_strconcat
    - g_assert_no_error
    - g_error
    - g_object_unref
    - g_socket_new
    - g_assert_true
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void set_up_mock_xdg_runtime_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:189,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:191,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:190,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_free
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:47,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:44,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:45,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:46,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_dbus_address_get_for_bus_sync
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void print_address (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:89,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_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_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_rmdir
    - g_clear_pointer
    - g_strerror
    - g_clear_object
    - g_error
    - g_assert_no_error
    - g_unlink
    - g_socket_close
    linkageType: ''
    returnType: void
    signature: 'static void tear_down_mock_xdg_runtime_dir (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_setenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:115,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:113,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_strconcat
    - g_getenv
    - g_test_get_dir
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void set_up_mock_dbus_launch (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: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: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:137,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_passed
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:149,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:148,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_unsetenv
    - tear_down_mock_dbus_launch
    - set_up_mock_dbus_launch
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr_unmatched
    - print_address
    - g_test_trap_assert_stdout
    - g_test_subprocess
    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: set_up_mock_xdg_runtime_dir
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:159,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:157,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:158,1
    - Dst: set_up_mock_dbus_launch
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:160,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_passed
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:172,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:171,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_unsetenv
    - tear_down_mock_xdg_runtime_dir
    - tear_down_mock_dbus_launch
    - set_up_mock_dbus_launch
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr_unmatched
    - set_up_mock_xdg_runtime_dir
    - print_address
    - g_test_trap_assert_stdout
    - g_test_subprocess
    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: check_and_cleanup_autolaunched_win32_bus
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:201,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:205,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_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
    - g_test_trap_subprocess
    - check_and_cleanup_autolaunched_win32_bus
    - print_address
    - g_test_trap_assert_stdout
    - g_test_subprocess
    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:219,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:220,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:224,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_run
    - g_test_init
    - g_test_add_func
    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_assert
      Src: /src/glib/gio/tests/g-file.c:66,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: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_assert
    - g_object_unref
    - g_file_new_for_uri
    - g_file_new_for_path
    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_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:181,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_assert
      Src: /src/glib/gio/tests/g-file.c:187,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_file_new_for_uri
    - g_assert
    - g_object_unref
    - g_file_dup
    - g_file_equal
    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: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file.c:136,1
    - Dst: compare_two_files
      Src: /src/glib/gio/tests/g-file.c:135,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
    - g_assert_cmpint
    - compare_two_files
    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_file_get_parse_name
      Src: /src/glib/gio/tests/g-file.c:235,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:233,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:237,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_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_file_equal
      Src: /src/glib/gio/tests/g-file.c:250,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_free
    - g_file_new_for_path
    - g_file_new_for_uri
    - g_assert
    - g_file_get_parse_name
    - g_assert_cmpstr
    - g_object_unref
    - g_file_equal
    - g_file_parse_name
    - g_utf8_validate
    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:308,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
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - is_uri_only
    - arg
    argTypes:
    - gboolean
    - char*
    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_free
    - g_assert
    - g_file_get_path
    - g_assert_cmpstr
    - g_object_unref
    - g_file_get_uri_scheme
    - g_file_new_for_commandline_arg
    - g_path_is_absolute
    - g_printerr
    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:367,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_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_assert
      Src: /src/glib/gio/tests/g-file.c:384,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:390,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:388,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/g-file.c:384,1
    - Dst: g_file_resolve_relative_path
      Src: /src/glib/gio/tests/g-file.c:383,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - use_uri
    - should_have_prefix
    - dir1
    - dir2
    argTypes:
    - gboolean
    - gboolean
    - char*
    - char*
    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_new_for_uri
    - g_assert
    - g_object_unref
    - g_file_equal
    - g_file_has_prefix
    - g_file_get_relative_path
    - g_file_resolve_relative_path
    - g_printerr
    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:458,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:461,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:474,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_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_assert
      Src: /src/glib/gio/tests/g-file.c:467,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
    - 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_file_equal
      Src: /src/glib/gio/tests/g-file.c:462,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/g-file.c:472,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:451,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:470,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/g-file.c:464,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_file_new_for_uri
    - g_assert
    - g_object_unref
    - g_file_get_parent
    - g_file_equal
    - G_N_ELEMENTS
    - g_file_get_child
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:90,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:99,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:95,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:91,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_file_new_for_uri
    - g_assert
    - g_object_unref
    - 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:162,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file.c:165,1
    - Dst: compare_two_files
      Src: /src/glib/gio/tests/g-file.c:164,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
    - g_assert_cmpint
    - compare_two_files
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_new_for_uri (void) '
  - 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_assert
    - G_N_ELEMENTS
    - 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_assert
    - G_N_ELEMENTS
    - 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: resolve_arg
      Src: /src/glib/gio/tests/g-file.c:336,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file.c:337,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file.c:338,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-file.c:342,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_free
    - g_file_get_path
    - resolve_arg
    - g_assert_cmpstr
    - g_object_unref
    - g_get_current_dir
    - G_N_ELEMENTS
    - 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_assert_cmpstr
    - g_free
    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:520,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: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_run
    - g_test_init
    - g_test_add_func
    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_mkdir_with_parents
      Src: /src/glib/gio/tests/appmonitor.c:38,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_get_user_data_dir
      Src: /src/glib/gio/tests/appmonitor.c:37,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_test_message
    - g_assert_no_errno
    - g_mkdir_with_parents
    - g_get_user_data_dir
    - g_build_filename
    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_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_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_rmdir
    - g_assert_no_errno
    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_assert
      Src: /src/glib/gio/tests/appmonitor.c:93,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/appmonitor.c:95,1
    - Dst: g_main_context_get_thread_default
      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_wakeup
    - g_main_context_get_thread_default
    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_add
      Src: /src/glib/gio/tests/appmonitor.c:176,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/appmonitor.c:178,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_run
    - g_test_init
    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_main_context_iteration
      Src: /src/glib/gio/tests/appmonitor.c:131,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/appmonitor.c:137,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_clear_pointer
      Src: /src/glib/gio/tests/appmonitor.c:158,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appmonitor.c:133,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/appmonitor.c:141,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/appmonitor.c:136,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/appmonitor.c:159,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/appmonitor.c:165,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_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_clear_object
      Src: /src/glib/gio/tests/appmonitor.c:143,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/tests/appmonitor.c:146,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_assert_nonnull
      Src: /src/glib/gio/tests/appmonitor.c:142,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/appmonitor.c:153,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_idle_add
    - g_clear_pointer
    - g_remove
    - g_app_info_get_all
    - g_source_attach
    - g_source_destroy
    - g_list_free_full
    - g_assert_nonnull
    - g_object_unref
    - g_test_skip
    - g_signal_connect
    - g_build_filename
    - g_app_info_monitor_get
    - G_CALLBACK
    - g_main_context_iteration
    - g_desktop_app_info_new
    - g_timeout_source_new_seconds
    - g_source_set_callback
    - g_free
    - g_clear_object
    - g_assert_true
    - delete_app
    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_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_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: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_inet_address_to_string
    - g_file_new_for_path
    - g_file_get_path
    - g_inet_address_new_from_string
    - g_assert_cmpstr
    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_add_func
      Src: /src/glib/gio/tests/autoptr.c:19,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/autoptr.c:21,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_run
    - g_test_init
    - g_test_add_func
    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_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/fake-service-name.c:47,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/fake-service-name.c:48,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_strcmp0
    - g_dbus_method_invocation_return_value
    - g_main_loop_quit
    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_test_message
      Src: /src/glib/gio/tests/fake-service-name.c:66,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/fake-service-name.c:75,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/fake-service-name.c:76,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_assert
    - g_test_message
    - g_assert_no_error
    - 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:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/gio/tests/fake-service-name.c:100,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_assert
      Src: /src/glib/gio/tests/fake-service-name.c:104,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_dbus_node_info_new_for_xml
    - g_assert
    - g_log_writer_default_set_use_stderr
    - g_dbus_node_info_unref
    - g_main_loop_unref
    - g_main_loop_new
    - g_bus_unown_name
    - g_main_loop_run
    - g_bus_own_name
    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: create_fake_flatpak_info
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:31,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:33,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:34,1
    - Dst: g_get_user_runtime_dir
      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_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:
    - g_assert_false
    - glib_network_available_in_sandbox
    - create_fake_flatpak_info
    - glib_should_use_portal
    - g_get_user_runtime_dir
    - glib_has_dconf_access_in_sandbox
    - g_assert_true
    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_run
    - g_test_init
    - g_test_add_func
    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:69,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:78,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:117,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-server.c:104,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:131,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:145,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:71,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-server.c:95,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:98,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-server.c:118,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:122,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:134,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-server.c:147,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:158,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:63,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-server.c:67,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:83,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:94,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-server.c:105,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-example-server.c:108,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-example-server.c:120,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/tests/gdbus-example-server.c:137,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-example-server.c:140,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-server.c:148,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:76,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:85,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-server.c:92,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-example-server.c:93,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:113,1
    - Dst: g_dbus_connection_get_capabilities
      Src: /src/glib/gio/tests/gdbus-example-server.c:125,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/gdbus-example-server.c:133,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/tests/gdbus-example-server.c:136,1
    - Dst: g_dbus_method_invocation_get_message
      Src: /src/glib/gio/tests/gdbus-example-server.c:136,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-server.c:149,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:153,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: 163
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 163
    functionName: handle_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_free
    - g_strcmp0
    - g_dbus_method_invocation_get_message
    - g_dbus_method_invocation_return_dbus_error
    - g_assert_no_error
    - g_unix_fd_list_append
    - g_dbus_connection_send_message
    - g_variant_get
    - g_dbus_connection_get_capabilities
    - g_unix_fd_list_new
    - g_strdup_printf
    - g_object_unref
    - g_dbus_method_invocation_return_value
    - g_variant_new
    - g_dbus_connection_emit_signal
    - g_dbus_method_invocation_return_error
    - g_dbus_message_set_unix_fd_list
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:226,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-server.c:233,1
    - Dst: g_variant_dup_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:234,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:228,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:228,1
    - Dst: g_variant_builder_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:237,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-example-server.c:238,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:241,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-example-server.c:242,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:247,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:252,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:261,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:255,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:259,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: 270
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 270
    functionName: handle_set_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_dup_string
    - g_free
    - g_variant_new_string
    - g_strcmp0
    - g_assert_no_error
    - g_variant_builder_new
    - g_variant_builder_add
    - g_variant_new
    - g_dbus_connection_emit_signal
    - g_variant_get_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:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-example-server.c:287,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-example-server.c:296,1
    - Dst: g_variant_builder_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:295,1
    - Dst: g_variant_builder_add
      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:296,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:300,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-example-server.c:301,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:304,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-example-server.c:305,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:310,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 319
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 319
    functionName: on_timeout_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_emit_signal
    - g_variant_new_string
    - g_assert_no_error
    - g_variant_builder_new
    - g_variant_builder_add
    - g_variant_new
    - G_DBUS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_timeout_cb (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: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    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:181,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:185,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-server.c:188,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:183,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:189,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:191,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:193,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:200,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:202,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:204,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:206,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:208,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:210,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 214
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 214
    functionName: handle_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_strdup
    - g_set_error
    - g_variant_new_string
    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:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    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:370,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-server.c:371,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-server.c:383,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-example-server.c:373,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:382,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-example-server.c:385,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-example-server.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 390
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 390
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_dbus_node_info_unref
    - g_main_loop_new
    - g_bus_unown_name
    - g_main_loop_run
    - g_bus_own_name
    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:330,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-server.c:337,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/gio/tests/gdbus-example-server.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    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: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationClass*
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    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_app_info_launch_uris_finish
      Src: /src/glib/gio/tests/dbus-appinfo.c:381,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/dbus-appinfo.c:384,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/dbus-appinfo.c:382,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 385
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 385
    functionName: on_flatpak_launch_invalid_uri_finish
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_application_release
    - g_assert_no_error
    - g_app_info_launch_uris_finish
    - G_APP_INFO
    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_test_build_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:271,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:278,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:274,1
    - Dst: g_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:276,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:275,1
    - Dst: test_application_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:278,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:282,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:284,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:285,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:287,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 289
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 289
    functionName: test_dbus_appinfo
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_build_filename
    - g_free
    - g_object_new
    - g_assert
    - test_application_get_type
    - g_object_unref
    - g_application_run
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_appinfo (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/dbus-appinfo.c:395,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/dbus-appinfo.c:397,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:400,1
    - Dst: g_app_info_launch_uris_async
      Src: /src/glib/gio/tests/dbus-appinfo.c:398,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - app
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    constantsTouched: []
    func_position:
      end: 401
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 401
    functionName: on_flatpak_activate_invalid_uri
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_list_prepend
    - g_app_info_launch_uris_async
    - g_application_hold
    - g_list_free
    - 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_init
      Src: /src/glib/gio/tests/dbus-appinfo.c:454,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:456,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:458,1
    - Dst: session_bus_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:460,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 461
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 461
    functionName: main
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - session_bus_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/tests/dbus-appinfo.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - context
    - info
    - uris
    argTypes:
    - GAppLaunchContext*
    - GAppInfo*
    - GList*
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    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:
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:145,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    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: 2
    argCount: 1
    argNames:
    - class
    argTypes:
    - GAppLaunchContextClass*
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:82,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/dbus-appinfo.c:90,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:103,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/dbus-appinfo.c:112,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:112,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:113,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:124,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:125,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:127,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:129,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/dbus-appinfo.c:89,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:91,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:104,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:117,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:131,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:135,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:81,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:90,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/dbus-appinfo.c:91,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:100,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:101,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:111,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:125,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:126,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/dbus-appinfo.c:136,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:78,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/dbus-appinfo.c:81,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:89,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:110,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/dbus-appinfo.c:92,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:98,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:97,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:111,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:115,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:117,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:131,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 1
    argNames:
    - action
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 138
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 138
    functionName: saw_action
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_launch_action
    - g_object_new
    - g_file_new_for_uri
    - g_list_append
    - g_assert
    - g_assert_not_reached
    - g_list_prepend
    - g_assert_cmpstr
    - g_object_unref
    - g_app_info_launch
    - g_list_free_full
    - test_app_launch_context_get_type
    - G_APP_INFO
    linkageType: ''
    returnType: void
    signature: 'static void saw_action (const gchar *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TestAppLaunchContext*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    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_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:154,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:230,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:243,1
    - Dst: g_variant_lookup
      Src: /src/glib/gio/tests/dbus-appinfo.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - application
    - platform_data
    argTypes:
    - GApplication*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 247
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 247
    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:299,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/dbus-appinfo.c:302,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/dbus-appinfo.c:300,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 303
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 303
    functionName: on_flatpak_launch_uris_finish
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_application_release
    - g_assert_no_error
    - g_app_info_launch_uris_finish
    - G_APP_INFO
    linkageType: ''
    returnType: void
    signature: 'static void on_flatpak_launch_uris_finish (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:411,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/dbus-appinfo.c:412,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:415,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/dbus-appinfo.c:412,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:416,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/dbus-appinfo.c:416,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - app
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 418
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 418
    functionName: on_flatpak_open_invalid_uri
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_file_new_for_uri
    - g_object_unref
    - g_file_peek_path
    - g_file_equal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void on_flatpak_open_invalid_uri (GApplication *app, GFile
      **files, gint n_files, const char *hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - app
    argTypes:
    - TestApplication*
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    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:314,1
    - Dst: g_filename_to_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:316,1
    - Dst: g_desktop_app_info_get_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:316,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/dbus-appinfo.c:317,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/dbus-appinfo.c:318,1
    - Dst: g_app_info_launch_uris_async
      Src: /src/glib/gio/tests/dbus-appinfo.c:319,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:319,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:321,1
    - Dst: g_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - app
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    constantsTouched: []
    func_position:
      end: 323
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 323
    functionName: on_flatpak_activate
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - g_desktop_app_info_get_filename
    - g_assert_nonnull
    - g_list_prepend
    - g_filename_to_uri
    - g_app_info_launch_uris_async
    - g_application_hold
    - g_list_free
    - G_APP_INFO
    linkageType: ''
    returnType: void
    signature: 'static void on_flatpak_activate (GApplication *app, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/dbus-appinfo.c:429,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:431,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:434,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:437,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/dbus-appinfo.c:435,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/dbus-appinfo.c:439,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/dbus-appinfo.c:439,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/dbus-appinfo.c:441,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/dbus-appinfo.c:441,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:443,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:444,1
    - Dst: g_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:448,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:446,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 449
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 449
    functionName: test_flatpak_missing_doc_export
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_assert_cmpint
    - g_free
    - g_assert_nonnull
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_test_summary
    - g_application_new
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_flatpak_missing_doc_export (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:163,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    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_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:201,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:204,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/dbus-appinfo.c:205,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:205,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:203,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:206,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:207,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:208,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/dbus-appinfo.c:208,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:209,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - application
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: test_application_open
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_file_new_for_uri
    - g_assert
    - g_assert_cmpstr
    - g_object_unref
    - g_file_equal
    - saw_action
    linkageType: ''
    returnType: void
    signature: 'static void test_application_open (GApplication *application, GFile
      **files, gint n_files, const gchar *hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:333,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/dbus-appinfo.c:334,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:337,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:338,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/dbus-appinfo.c:334,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/dbus-appinfo.c:338,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - app
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 340
    functionName: on_flatpak_open
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_file_new_for_uri
    - g_object_unref
    - g_file_peek_path
    - g_file_equal
    - g_assert_true
    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:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 175
    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:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/dbus-appinfo.c:188,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: test_application_activate
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - saw_action
    - g_application_hold
    linkageType: ''
    returnType: void
    signature: 'static void test_application_activate (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/dbus-appinfo.c:220,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/dbus-appinfo.c:220,1
    - Dst: G_APPLICATION_CLASS
      Src: /src/glib/gio/tests/dbus-appinfo.c:217,1
    - Dst: g_action_map_add_action_entries
      Src: /src/glib/gio/tests/dbus-appinfo.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: test_application_startup
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - G_ACTION_MAP
    - G_N_ELEMENTS
    - g_action_map_add_action_entries
    - G_APPLICATION_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_application_startup (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/dbus-appinfo.c:351,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:356,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/dbus-appinfo.c:357,1
    - Dst: g_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:358,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:353,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:360,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/dbus-appinfo.c:362,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/dbus-appinfo.c:362,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/dbus-appinfo.c:364,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/dbus-appinfo.c:364,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:369,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:367,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 371
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 371
    functionName: test_flatpak_doc_export
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_free
    - g_assert_cmpint
    - g_assert_nonnull
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_test_summary
    - g_application_new
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_flatpak_doc_export (void) '
  - 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_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:44,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:46,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_assert
    - g_assert_no_error
    - g_main_loop_quit
    - g_dbus_proxy_new_finish
    linkageType: ''
    returnType: void
    signature: 'static void proxy_new_cb (GObject *source_object, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:97,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:128,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:161,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:166,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:194,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:195,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_free
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:110,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:180,1
    - Dst: g_dbus_proxy_get_cached_property_names
      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_new_sync
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:117,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:155,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:182,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:149,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:183,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:198,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:239,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:158,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:156,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_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:244,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:199,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:146,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:103,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:109,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:186,1
    - Dst: g_dbus_proxy_get_cached_property_names
      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_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:97,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:125,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:129,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:152,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_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:145,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:212,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:234,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:248,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:63,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:71,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:83,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:96,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:214,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:240,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_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:107,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:111,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:144,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:189,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:191,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:197,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:219,1
    - Dst: g_dbus_proxy_new
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:134,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:95,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:192,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:218,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:235,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:185,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:220,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:79,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:108,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:170,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:154,1
    - Dst: g_dbus_proxy_get_name_owner
      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:226,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:234,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:190,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:181,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:68,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:100,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:154,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:165,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:174,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:184,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
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:232,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:213,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:162,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:148,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_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:245,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:167,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:162,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:157,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:181,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:131,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:163,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:67,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:100,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:106,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:109,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:127,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
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:188,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:190,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:220,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:226,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:233,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:251,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:108,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:159,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:196,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:211,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:216,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:246,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:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:166,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:82,1
    - Dst: g_dbus_proxy_new
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:86,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:126,1
    - Dst: g_assert
      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_new
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:172,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:153,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:213,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:147,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:82,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:160,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:186,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:204,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:147,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_strfreev
    - g_main_loop_run
    - g_dbus_proxy_new
    - g_dbus_proxy_get_cached_property
    - g_assert_cmpint
    - g_variant_get_type_string
    - _g_assert_property_notify
    - g_bus_get_sync
    - g_object_unref
    - g_variant_new
    - g_dbus_proxy_call_sync
    - g_dbus_proxy_new_sync
    - g_test_get_filename
    - g_assert_no_error
    - g_variant_unref
    - g_spawn_command_line_async
    - session_bus_up
    - g_variant_new_byte
    - g_strv_length
    - g_dbus_is_unique_name
    - g_dbus_proxy_get_name_owner
    - g_dbus_proxy_get_cached_property_names
    - g_free
    - g_assert
    - session_bus_down
    - g_assert_cmpstr
    - g_variant_get_byte
    - _g_assert_signal_received
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy_well_known_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:262,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:269,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:271,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:267,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:265,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_dbus_unset
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_main_loop_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:40,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:543,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:293,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:343,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:368,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:393,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_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:543,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:643,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:693,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:563,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_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:353,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: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_cmpuint
      Src: /src/glib/gio/tests/error.c:663,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:598,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:648,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:698,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:623,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:673,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:143,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:128,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: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_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:613,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:273,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:323,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:573,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_cmpint
      Src: /src/glib/gio/tests/error.c:63,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:683,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:73,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:98,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_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:298,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:73,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:88,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:123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:158,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:208,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:173,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:223,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:328,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:703,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_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:653,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:48,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:68,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:583,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:683,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:603,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:198,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:40,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:148,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:298,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:398,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:448,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:498,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:678,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: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:218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:133,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:168,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:268,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:553,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: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_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_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:688,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:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:163,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:213,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:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:113,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_assert_cmpint
      Src: /src/glib/gio/tests/error.c:263,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:358,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: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_io_error_from_errno
      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_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:478,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:78,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:633,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:333,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: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_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:608,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:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:103,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:153,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:163,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:213,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:253,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:303,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:313,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:558,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_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:658,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:663,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:88,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:118,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:168,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:188,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:218,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:238,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:268,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:288,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: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_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:508,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:558,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:668,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: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:458,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:493,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:123,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_assert_cmpint
      Src: /src/glib/gio/tests/error.c:273,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: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_cmpuint
      Src: /src/glib/gio/tests/error.c:573,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:408,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:568,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:238,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:288,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_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:158,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_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:108,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:128,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_assert_cmpint
      Src: /src/glib/gio/tests/error.c:278,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:308,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:328,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:693,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:518,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:183,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:83,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: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:468,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:593,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:318,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_cmpint
    - g_io_error_from_errno
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void test_error_from_errno (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:851,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/error.c:850,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/error.c:852,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/error.c:848,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_test_run
    - g_test_init
    - g_setenv
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: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: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:745,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:749,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:749,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:758,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:762,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:764,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:719,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:725,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:723,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_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:743,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:760,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:764,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:760,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_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:731,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:733,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:735,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:741,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_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:766,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:755,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:755,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:713,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_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:727,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:723,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_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:743,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_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:745,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:753,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_io_error_from_file_error
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void test_error_from_file_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:776,1
    - 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:785,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:789,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_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:804,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:808,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:818,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:782,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:787,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_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:813,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: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:774,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:785,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_assert_cmpint
      Src: /src/glib/gio/tests/error.c:802,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:804,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:806,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:830,1
    - Dst: g_io_error_from_win32_error
      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_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_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:782,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:791,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:796,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:799,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:815,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: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:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:832,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/error.c:838,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:827,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_assert_cmpint
    - g_io_error_from_win32_error
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_error_from_win32_error (void) '
  - 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
    - real_connect
    - dlsym
    linkageType: ''
    returnType: int
    signature: 'int connect (int sockfd, const struct sockaddr *addr, socklen_t addrlen) '
  - 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_assert
      Src: /src/glib/gio/tests/task.c:341,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:344,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:344,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:345,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:349,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:352,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:352,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:349,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:342,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:354,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:342,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:343,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:344,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:345,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:347,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:345,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:347,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:352,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 355
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 355
    functionName: anon_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_assert
    - g_assert_no_error
    - g_thread_self
    - g_task_get_completed
    - g_main_loop_quit
    - g_task_propagate_int
    - g_task_had_error
    - 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
      Src: /src/glib/gio/tests/task.c:763,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:768,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:766,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:765,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/task.c:766,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:769,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 772
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 772
    functionName: asynchronous_cancellation_cancel_task
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - G_TASK
    - g_cancellable_cancel
    - G_IS_CANCELLABLE
    - g_task_get_completed
    - g_assert_true
    - g_task_get_cancellable
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean asynchronous_cancellation_cancel_task (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1428,1
    - Dst: g_test_slow
      Src: /src/glib/gio/tests/task.c:1440,1
    - Dst: strlen
      Src: /src/glib/gio/tests/task.c:1453,1
    - Dst: strspn
      Src: /src/glib/gio/tests/task.c:1469,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1435,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1434,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1430,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1437,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/task.c:1443,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1463,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1469,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1436,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/task.c:1441,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1447,1
    - Dst: strspn
      Src: /src/glib/gio/tests/task.c:1455,1
    - Dst: memset
      Src: /src/glib/gio/tests/task.c:1427,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1450,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/task.c:1451,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1444,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1445,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1453,1
    - Dst: g_test_slow
      Src: /src/glib/gio/tests/task.c:1464,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1465,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1470
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1470
    functionName: test_run_in_thread_overflow
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_task_set_task_data
    - strspn
    - g_cancellable_new
    - g_task_run_in_thread
    - g_task_new
    - g_object_unref
    - g_cancellable_cancel
    - memset
    - g_mutex_unlock
    - g_usleep
    - g_atomic_int_get
    - g_test_slow
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_run_in_thread_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1584,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1596,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:1653,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1577,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1586,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1600,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1616,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1652,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1649,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1610,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1656,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1661,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1639,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1577,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1598,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1665,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1575,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1588,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1615,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1642,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1569,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1573,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1584,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1608,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1648,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1626,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1581,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1574,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1602,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1610,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1640,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1630,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1638,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1562,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1582,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1580,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1607,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1659,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1620,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1601,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1615,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1578,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1606,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1650,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1628,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1624,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1613,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1604,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1624,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1659,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1644,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1585,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gio/tests/task.c:1595,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:1595,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1655,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1646,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1622,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1568,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1570,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1571,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1611,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1666,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1556,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1563,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1662,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1627,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1663,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1594,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1603,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1618,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1621,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1647,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1614,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1625,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1564,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1567,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1657,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1668,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1618,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1631,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1593,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 107
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1669
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1669
    functionName: test_return_on_cancel
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_weak_ref
    - g_main_loop_run
    - g_cancellable_reset
    - g_assert_cmpint
    - g_task_set_return_on_cancel
    - g_task_run_in_thread
    - g_object_unref
    - g_cond_wait
    - g_atomic_int_get
    - g_signal_connect
    - g_cancellable_new
    - g_cancellable_cancel
    - g_assert_false
    - g_task_set_task_data
    - g_assert
    - g_task_new
    - g_mutex_unlock
    - g_assert_true
    - g_atomic_int_set
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_return_on_cancel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/task.c:2434,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/tests/task.c:2437,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2436,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/tests/task.c:2440,1
    - Dst: g_source_new
      Src: /src/glib/gio/tests/task.c:2439,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:2441,1
    - Dst: g_source_get_name
      Src: /src/glib/gio/tests/task.c:2441,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/task.c:2442,1
    - Dst: g_source_new
      Src: /src/glib/gio/tests/task.c:2444,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/tests/task.c:2445,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/tests/task.c:2446,1
    - Dst: g_source_get_name
      Src: /src/glib/gio/tests/task.c:2447,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:2447,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/task.c:2448,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2451
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2451
    functionName: test_attach_source_set_name
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_attach_source
    - g_test_summary
    - g_task_new
    - g_assert_cmpstr
    - g_object_unref
    - g_task_set_name
    - g_source_unref
    - g_source_new
    - g_source_set_name
    - g_source_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_attach_source_set_name (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_assert_true
      Src: /src/glib/gio/tests/task.c:54,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: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_OBJECT
    - g_signal_connect
    - g_object_ref
    - g_idle_add
    - g_object_unref
    - g_task_get_completed
    - g_main_loop_run
    - g_assert_true
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void wait_for_completed_notification (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:362,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: anon_thread_func
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_int
    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:2460,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/task.c:2467,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2470,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/task.c:2462,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2466,1
    - Dst: g_task_set_static_name
      Src: /src/glib/gio/tests/task.c:2471,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/task.c:2473,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2477,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/task.c:2478,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2481,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2487,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/task.c:2483,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/task.c:2488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2489
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2489
    functionName: test_finalize_without_return
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_set_static_name
    - g_test_assert_expected_messages
    - g_object_unref
    - g_task_new
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_finalize_without_return (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2149,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:2154,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2158,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2166,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2163,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2169,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2175,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2152,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:2160,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2161,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2165,1
    - Dst: G_ASYNC_RESULT
      Src: /src/glib/gio/tests/task.c:2161,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2176,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2153,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2160,1
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/tests/task.c:2161,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2172,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2177,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2153,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2150,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2162,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:2168,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2171,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:2173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2178
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2178
    functionName: test_object_keepalive
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_OBJECT
    - g_signal_connect
    - g_assert_cmpint
    - g_task_get_source_object
    - g_assert
    - G_ASYNC_RESULT
    - g_task_new
    - g_object_add_weak_pointer
    - g_object_unref
    - g_main_loop_run
    - g_assert_true
    - g_task_return_int
    - g_dummy_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_object_keepalive (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/task.c:2393,1
    - Dst: test_return_permutation
      Src: /src/glib/gio/tests/task.c:2395,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/task.c:2401,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/task.c:2399,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/task.c:2400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2402
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2402
    functionName: test_return_error_first
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - 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:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/task.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 376
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 376
    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_task_report_new_error
      Src: /src/glib/gio/tests/task.c:546,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:553,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:552,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 554
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 554
    functionName: test_report_error
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_task_report_new_error
    - g_assert_true
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_report_error (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/task.c:2377,1
    - Dst: test_return_permutation
      Src: /src/glib/gio/tests/task.c:2379,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/task.c:2385,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/task.c:2383,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/task.c:2384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2386
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2386
    functionName: test_return_in_idle_value_first
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - 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_new
      Src: /src/glib/gio/tests/task.c:384,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:385,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:390,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:386,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:385,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:391,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/task.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:395,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:396,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 398
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 398
    functionName: test_return_from_anon_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_connect
    - g_assert_cmpint
    - g_idle_add
    - g_assert
    - g_task_new
    - g_object_add_weak_pointer
    - g_thread_join
    - g_main_loop_run
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_return_from_anon_thread (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:568,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:569,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:570,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:569,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:570,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:571,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:571,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:571,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:572,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:572,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:574,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:575,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:577,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:582,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:577,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:574,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:572,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 583
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 583
    functionName: priority_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_assert
    - g_task_propagate_boolean
    - g_assert_no_error
    - g_task_get_completed
    - g_main_loop_quit
    - g_task_had_error
    - 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:647,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:652,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/tests/task.c:651,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:650,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:653,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:655,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:657,1
    - Dst: g_free
      Src: /src/glib/gio/tests/task.c:659,1
    - Dst: g_free
      Src: /src/glib/gio/tests/task.c:660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 661
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 661
    functionName: test_name_macro_wrapper
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_object_unref
    - g_task_new
    - g_assert_cmpstr
    - g_task_set_name
    - g_task_return_boolean
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_name_macro_wrapper (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/task.c:1127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1128
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1128
    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_task_new
      Src: /src/glib/gio/tests/task.c:596,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:597,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:599,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:598,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:601,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:602,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:603,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:604,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:606,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:607,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:608,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:611,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:613,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:614,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:609,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 616
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 616
    functionName: test_priority
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_task_set_priority
    - g_object_unref
    - g_task_new
    - g_task_return_boolean
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:671,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:672,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/task.c:672,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:674,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:672,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:674,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:675,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 678
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 678
    functionName: name_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_get_name
    - g_strdup
    - G_TASK
    - g_task_propagate_boolean
    - g_assert_no_error
    - g_assert_null
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void name_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1138,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:1139,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1139,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1140,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:1138,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:1140,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1141,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1141,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1143,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1143,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1145,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:1146,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: 1147
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1147
    functionName: run_in_thread_sync_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_task_get_source_object
    - g_assert
    - g_thread_self
    - g_task_get_completed
    - g_task_return_int
    - g_atomic_int_set
    - g_task_get_cancellable
    - g_task_get_task_data
    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_TASK
      Src: /src/glib/gio/tests/task.c:782,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/task.c:787,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:787,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:785,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:785,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/task.c:788,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/task.c:790,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:791,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/task.c:791,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:793,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:794,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 795
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 795
    functionName: asynchronous_cancellation_cancelled
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - GPOINTER_TO_UINT
    - G_TASK
    - g_assert_cmpuint
    - g_task_set_task_data
    - g_source_remove
    - GUINT_TO_POINTER
    - g_task_get_completed
    - g_task_return_boolean
    - g_assert_true
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void asynchronous_cancellation_cancelled (GCancellable *cancellable,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_run_in_thread_sync
      Src: /src/glib/gio/tests/task.c:1676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/tests/task.c:1391,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1399,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1398,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/tests/task.c:1406,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:1403,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: 1407
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1407
    functionName: run_overflow_task_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_error_if_cancelled
    - g_mutex_unlock
    - g_task_return_boolean
    - g_atomic_int_inc
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void run_overflow_task_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/task.c:2307,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:2312,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:2307,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:2316,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/task.c:2311,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/task.c:2317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2319
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2319
    functionName: return_twice
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_get_task_data
    - g_task_return_new_error
    - GPOINTER_TO_UINT
    - g_task_return_boolean
    linkageType: ''
    returnType: void
    signature: 'static void return_twice (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_twice
      Src: /src/glib/gio/tests/task.c:2325,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2329
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2329
    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_assert
      Src: /src/glib/gio/tests/task.c:139,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:140,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:141,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:142,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:140,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:149,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:143,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/task.c:147,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:142,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:143,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:151,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:145,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:141,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:142,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:143,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:146,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 152
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 152
    functionName: error_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_assert
    - g_error_free
    - g_task_get_completed
    - g_assert_error
    - g_main_loop_quit
    - g_task_propagate_int
    - g_task_had_error
    - 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_task_is_valid
      Src: /src/glib/gio/tests/task.c:955,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:956,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:956,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:957,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:961,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:964,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:957,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:958,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:962,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:964,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:966,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:958,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:958,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:960,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:964,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:954,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:955,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:957,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 967
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 967
    functionName: return_if_cancelled_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_assert
    - g_task_propagate_boolean
    - g_clear_error
    - g_task_get_completed
    - g_main_loop_quit
    - g_assert_error
    - g_task_had_error
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void return_if_cancelled_callback (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/task.c:159,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: error_return
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_new_error
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean error_return (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:985,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:989,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1001,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:995,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1005,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:979,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:983,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:988,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/tests/task.c:1000,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1004,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:987,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:994,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1003,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:977,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:980,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/tests/task.c:984,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:986,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:990,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/tests/task.c:998,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:999,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1002,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1007
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 1007
    functionName: test_return_if_cancelled
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_assert_false
    - g_assert
    - g_cancellable_new
    - g_task_new
    - g_object_unref
    - g_task_return_error_if_cancelled
    - g_cancellable_cancel
    - g_task_set_check_cancellable
    - g_main_loop_run
    - g_cancellable_reset
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_return_if_cancelled (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:73,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:75,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:74,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_TASK
      Src: /src/glib/gio/tests/task.c:77,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:82,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:80,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:79,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:84,1
    - Dst: g_task_had_error
      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_TASK
      Src: /src/glib/gio/tests/task.c:82,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_is_valid
    - g_assert_false
    - G_TASK
    - g_assert
    - g_assert_no_error
    - g_task_get_completed
    - g_main_loop_quit
    - g_task_propagate_int
    - g_task_had_error
    - 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_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1246
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1246
    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:
    - 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_object_unref
    - g_task_return_int
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean basic_return (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_stop_unused_threads
      Src: /src/glib/gio/tests/task.c:1254,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1260,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1261,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1259,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/tests/task.c:1261,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:1262,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1263,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/tests/task.c:1263,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1264,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1265,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1269,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1271,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:1272,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1273,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1274,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1275
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1275
    functionName: clog_up_thread_pool
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_task_set_priority
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_object_unref
    - g_task_get_priority
    - g_thread_pool_stop_unused_threads
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void clog_up_thread_pool (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1815,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1818,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1819,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1820,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1823,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1828,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1831,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1815,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1820,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1821,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1824,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:1818,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:1819,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1820,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1823,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1826,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1828,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1821,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1825,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1817,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1821,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1832
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1832
    functionName: return_on_cancel_atomic_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - g_assert_cmpint
    - G_TASK
    - g_assert
    - g_thread_self
    - g_clear_error
    - g_task_get_completed
    - g_assert_error
    - g_main_loop_quit
    - g_task_propagate_int
    - g_task_had_error
    - 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_assert
      Src: /src/glib/gio/tests/task.c:2126,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:2128,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:2127,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2127,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2128,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2129,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:2129,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2129,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:2130,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:2130,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:2137,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:2133,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2132,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:2135,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:2132,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2135,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2135,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2138
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2138
    functionName: keepalive_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_assert
    - g_assert_no_error
    - g_task_get_completed
    - g_main_loop_quit
    - g_task_propagate_int
    - g_task_had_error
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void keepalive_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:1220,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: 1221
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1221
    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_task_new
      Src: /src/glib/gio/tests/task.c:184,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:185,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:186,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:189,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:185,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:190,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:191,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:194,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:195,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:196,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:199,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:203,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:202,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:198,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 205
    functionName: test_error
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_connect
    - g_assert_cmpint
    - g_idle_add
    - g_task_set_task_data
    - g_assert
    - g_task_new
    - g_object_add_weak_pointer
    - g_main_loop_run
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1231,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1232,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:1233,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: 1234
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1234
    functionName: fake_task_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_task_return_boolean
    - 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: []
    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_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1280,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1282
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1282
    functionName: unclog_thread_pool
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void unclog_thread_pool (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/task.c:2338,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:2344,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/task.c:2341,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2340,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:2341,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/task.c:2344,1
    - Dst: return_twice
      Src: /src/glib/gio/tests/task.c:2346,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/task.c:2349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2351,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - error_first
    - return_in_idle
    argTypes:
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 2354
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2354
    functionName: test_return_permutation
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_object_ref
    - g_idle_add
    - g_task_set_task_data
    - g_task_new
    - GUINT_TO_POINTER
    - g_object_unref
    - g_main_context_iteration
    - return_twice
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_return_permutation (gboolean error_first, gboolean
      return_in_idle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:114,1
    - Dst: g_object_add_weak_pointer
      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_signal_connect
      Src: /src/glib/gio/tests/task.c:117,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:116,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_OBJECT
    - g_signal_connect
    - g_assert_cmpint
    - g_idle_add
    - g_task_set_task_data
    - g_assert
    - g_task_new
    - g_object_add_weak_pointer
    - g_main_loop_run
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1295,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1297,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1299,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1303,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1317,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1326,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1327,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1329,1
    - Dst: unclog_thread_pool
      Src: /src/glib/gio/tests/task.c:1331,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1296,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1302,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1308,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1294,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1300,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1306,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1311,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1312,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1313,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1309,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1305,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1315,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1328,1
    - Dst: clog_up_thread_pool
      Src: /src/glib/gio/tests/task.c:1291,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:1301,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1314,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:1307,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1316,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1332
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1332
    functionName: test_run_in_thread_priority
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - clog_up_thread_pool
    - g_task_set_priority
    - g_task_set_task_data
    - g_cancellable_new
    - g_task_run_in_thread
    - g_object_unref
    - g_task_new
    - g_cancellable_cancel
    - g_mutex_unlock
    - unclog_thread_pool
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_run_in_thread_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:222,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:224,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:224,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:223,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:223,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:225,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:225,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:225,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:226,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:226,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:226,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:228,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:231,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:229,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:231,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:231,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:233,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 234
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 234
    functionName: same_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_assert
    - g_task_propagate_boolean
    - g_assert_no_error
    - g_task_get_completed
    - g_main_loop_quit
    - g_task_had_error
    - 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:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 460
    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_thread_join
      Src: /src/glib/gio/tests/task.c:1711,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1715,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1726,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1777,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1794,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1775,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1768,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1704,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1784,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1735,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1746,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1753,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1788,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1721,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1766,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1709,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1714,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1738,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1745,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1751,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1707,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1796,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1769,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1755,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1719,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1786,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1788,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1698,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1703,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1712,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1717,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1725,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1764,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1792,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1752,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1780,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1763,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1729,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1755,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1779,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1697,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1724,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1738,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1757,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1778,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/task.c:1771,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1690,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1728,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1734,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1740,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1742,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1775,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1694,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1695,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/task.c:1700,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1707,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1790,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1747,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/task.c:1741,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1791,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1712,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1716,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/task.c:1731,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1744,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1794,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1770,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1762,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1699,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1705,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1710,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1742,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1782,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/task.c:1774,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1749,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1785,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1730,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1736,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 96
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1797
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1797
    functionName: test_return_on_cancel_sync
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_task_set_return_on_cancel
    - g_task_set_task_data
    - g_cancellable_new
    - g_task_new
    - g_object_unref
    - g_cond_wait
    - g_atomic_int_get
    - g_mutex_unlock
    - g_cancellable_cancel
    - g_thread_new
    - g_thread_join
    - g_assert_error
    - g_clear_error
    - g_cancellable_reset
    - g_task_propagate_int
    - g_atomic_int_set
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_return_on_cancel_sync (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1847,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1847,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1848,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:1879,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1872,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1871,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1877,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1869,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1842,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:1844,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1845,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1852,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1855,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1860,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1861,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1864,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1865,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1867,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1868,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1876,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1873,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1845,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1851,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1856,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1875,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1843,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1844,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:1842,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:1843,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1853,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1850,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1848,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1857,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1859,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1863,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: 1880
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1880
    functionName: return_on_cancel_atomic_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_cmpint
    - g_task_get_source_object
    - g_cond_signal
    - g_task_set_return_on_cancel
    - g_assert
    - g_thread_self
    - g_atomic_int_get
    - g_mutex_unlock
    - g_task_get_completed
    - g_task_return_int
    - g_atomic_int_set
    - g_task_get_cancellable
    - g_task_get_task_data
    - g_mutex_lock
    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_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:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:242,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:245,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:244,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:248,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:244,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:249,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:253,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: same_start
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_connect
    - g_assert_false
    - g_assert
    - g_task_new
    - g_object_add_weak_pointer
    - g_object_unref
    - g_task_return_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean same_start (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:468,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:469,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:474,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:469,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:470,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:475,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/task.c:477,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:479,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:480,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 482
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 482
    functionName: test_return_from_wrong_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_connect
    - g_assert_cmpint
    - g_idle_add
    - g_assert
    - g_task_new
    - g_object_add_weak_pointer
    - g_thread_join
    - g_main_loop_run
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_return_from_wrong_thread (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1197,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1204,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1200,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:1203,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1208,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1194,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1199,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1200,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:1202,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1194,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:1197,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1196,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1199,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1199,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1202,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1206,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1200,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1206,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1206,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1198,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:1198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1209
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1209
    functionName: quit_main_loop_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - g_assert_cmpint
    - G_TASK
    - g_assert
    - g_task_propagate_boolean
    - g_assert_no_error
    - g_thread_self
    - g_task_get_completed
    - g_main_loop_quit
    - g_task_had_error
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void quit_main_loop_callback (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1891,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1904,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1911,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1913,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1907,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1918,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1929,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1930,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1940,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1951,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1984,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1949,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1931,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1970,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1892,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1893,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1900,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1903,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1910,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1909,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1914,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1919,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1921,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1928,1
    - Dst: g_task_get_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1956,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1944,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1959,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1975,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1960,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1965,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1955,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1979,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1973,1
    - Dst: g_task_get_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1961,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1954,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1974,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1899,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1911,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1923,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1923,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1933,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1943,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1945,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1948,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1960,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1953,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1966,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1969,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1971,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1978,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1963,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1956,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1977,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1951,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1979,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:1964,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1898,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1896,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1905,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1907,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1915,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1915,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1917,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1919,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1922,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1926,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1955,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1961,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1970,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1982,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1958,1
    - Dst: g_task_get_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1971,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1981,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1983,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1968,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 98
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1985
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1985
    functionName: test_return_on_cancel_atomic
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_idle_add
    - g_main_loop_run
    - g_cancellable_reset
    - g_assert_cmpint
    - g_task_set_return_on_cancel
    - g_task_run_in_thread
    - g_object_unref
    - g_cond_wait
    - g_atomic_int_get
    - g_signal_connect
    - g_cancellable_new
    - g_cancellable_cancel
    - g_task_set_task_data
    - g_assert
    - g_task_new
    - g_mutex_unlock
    - g_task_get_return_on_cancel
    - g_assert_true
    - g_atomic_int_set
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_return_on_cancel_atomic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:520,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:520,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:519,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/tests/task.c:521,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:522,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/tests/task.c:522,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:526,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:523,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:524,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:528,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:518,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:524,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:524,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:531,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:535,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:523,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/task.c:529,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:531,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:534,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:534,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:538,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:519,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:521,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:522,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:527,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:526,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:523,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 539
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 539
    functionName: report_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_OBJECT
    - g_assert_false
    - g_assert_cmpint
    - g_signal_connect
    - g_task_get_source_tag
    - G_TASK
    - g_assert
    - g_error_free
    - g_object_add_weak_pointer
    - g_async_result_is_tagged
    - g_task_get_completed
    - g_assert_error
    - g_main_loop_quit
    - g_task_propagate_int
    - g_task_had_error
    - 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:627,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:633,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:632,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:630,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:635,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:637,1
    - Dst: g_free
      Src: /src/glib/gio/tests/task.c:639,1
    - Dst: g_free
      Src: /src/glib/gio/tests/task.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 641
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 641
    functionName: test_name
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_object_unref
    - g_task_new
    - g_assert_cmpstr
    - g_task_return_boolean
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:737,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:738,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:740,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/task.c:743,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:747,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:746,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:750,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:752,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:738,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:739,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:739,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:740,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:750,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:740,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:741,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:741,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:743,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:746,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:748,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:741,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:743,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/task.c:744,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 753
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 753
    functionName: asynchronous_cancellation_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - g_assert_true
    - GPOINTER_TO_UINT
    - G_TASK
    - g_assert_cmpuint
    - g_task_propagate_boolean
    - g_clear_error
    - g_task_get_completed
    - g_assert_null
    - g_main_loop_quit
    - g_assert_error
    - g_task_had_error
    - g_task_get_task_data
    - 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_assert
      Src: /src/glib/gio/tests/task.c:1496,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1495,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1506,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1501,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1493,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1498,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1498,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1499,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1499,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1493,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:1496,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1497,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1506,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1509,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:1497,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1498,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1499,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1504,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1502,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1503,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1501,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1510
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1510
    functionName: return_on_cancel_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - g_assert_cmpint
    - G_TASK
    - g_assert
    - g_thread_self
    - g_clear_error
    - g_task_get_completed
    - g_assert_error
    - g_main_loop_quit
    - g_task_propagate_int
    - g_task_had_error
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void return_on_cancel_callback (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2191,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:2193,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/tests/task.c:2192,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2192,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2193,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/tests/task.c:2195,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2197,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:2197,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2199,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/task.c:2199,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:2202,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:2214,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:2210,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:2208,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:2204,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2210,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2215
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2215
    functionName: legacy_error_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_simple_async_result_is_valid
    - G_TASK
    - g_assert
    - g_clear_error
    - g_task_propagate_int
    - g_async_result_is_tagged
    - g_async_result_get_user_data
    - g_main_loop_quit
    - g_assert_error
    - g_async_result_legacy_propagate_error
    linkageType: ''
    returnType: void
    signature: 'static void legacy_error_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:709,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:712,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:710,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:712,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:710,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:713,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 716
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 716
    functionName: static_name_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_get_name
    - G_TASK
    - g_task_propagate_boolean
    - g_assert_no_error
    - g_assert_null
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void static_name_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/task.c:829,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:845,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:843,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:841,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/tests/task.c:844,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:847,1
    - Dst: g_source_set_name_by_id
      Src: /src/glib/gio/tests/task.c:848,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:849,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/task.c:849,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/task.c:851,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:855,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:856,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:859,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:853,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:855,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 861
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 861
    functionName: test_asynchronous_cancellation
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_source_set_name_by_id
    - g_idle_add
    - g_task_set_task_data
    - g_cancellable_new
    - g_task_new
    - g_cancellable_connect
    - GUINT_TO_POINTER
    - g_object_unref
    - g_task_get_completed
    - g_main_loop_run
    - g_timeout_add
    - g_assert_true
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_asynchronous_cancellation (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1349,1
    - Dst: g_task_run_in_thread_sync
      Src: /src/glib/gio/tests/task.c:1351,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1350,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:1355,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1352,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: 1356
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1356
    functionName: run_nested_task_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_set_task_data
    - g_task_run_in_thread_sync
    - g_object_unref
    - g_task_new
    - g_task_return_boolean
    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: clog_up_thread_pool
      Src: /src/glib/gio/tests/task.c:1364,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1369,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1368,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1367,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1366,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1371,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1372,1
    - Dst: unclog_thread_pool
      Src: /src/glib/gio/tests/task.c:1374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1375
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1375
    functionName: test_run_in_thread_nested
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - clog_up_thread_pool
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_object_unref
    - g_task_new
    - g_mutex_unlock
    - unclog_thread_pool
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_run_in_thread_nested (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1520,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1521,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1522,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:1520,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:1521,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:1522,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1524,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1524,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1526,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1528,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1534,1
    - Dst: g_task_get_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1533,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1542,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1529,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1531,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1543,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:1537,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: 1544
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1544
    functionName: return_on_cancel_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_task_get_source_object
    - g_task_set_return_on_cancel
    - g_assert
    - g_thread_self
    - g_mutex_unlock
    - g_task_return_int
    - g_task_get_return_on_cancel
    - g_task_get_cancellable
    - g_task_get_task_data
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void return_on_cancel_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_TASK
      Src: /src/glib/gio/tests/task.c:2220,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:2224,1
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/tests/task.c:2229,1
    - Dst: g_simple_async_result_set_error
      Src: /src/glib/gio/tests/task.c:2232,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2225,1
    - Dst: g_simple_async_result_complete
      Src: /src/glib/gio/tests/task.c:2236,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2242
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2242
    functionName: legacy_error_return
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_complete
    - g_simple_async_result_set_error
    - g_object_unref
    - G_IS_TASK
    - g_task_return_int
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean legacy_error_return (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:806,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:809,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:808,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/task.c:809,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:810,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 813
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 813
    functionName: asynchronous_cancellation_run_task
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - G_TASK
    - g_cancellable_is_cancelled
    - G_IS_CANCELLABLE
    - g_assert_true
    - g_task_get_cancellable
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean asynchronous_cancellation_run_task (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/task.c:2361,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/task.c:2368,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/task.c:2369,1
    - Dst: test_return_permutation
      Src: /src/glib/gio/tests/task.c:2363,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/task.c:2367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2370
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2370
    functionName: test_return_in_idle_error_first
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - 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_task_new
      Src: /src/glib/gio/tests/task.c:1158,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1166,1
    - Dst: g_task_run_in_thread_sync
      Src: /src/glib/gio/tests/task.c:1164,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1159,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1163,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1166,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1167,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1168,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1168,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1169,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1169,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1176,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1178,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1170,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1174,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:1173,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1179
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1179
    functionName: test_run_in_thread_sync
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_had_error
    - g_signal_connect
    - g_assert_cmpint
    - g_task_set_task_data
    - g_assert
    - g_task_run_in_thread_sync
    - g_assert_no_error
    - g_task_new
    - g_object_unref
    - g_atomic_int_get
    - g_task_get_completed
    - g_task_propagate_int
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_run_in_thread_sync (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:264,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:268,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:269,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:265,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: test_return_from_same_iteration
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_true
    - g_idle_add
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_return_from_same_iteration (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2001,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2004,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2007,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2011,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2016,1
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2020,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:2014,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2021,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2025,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2012,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2056,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2067,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/task.c:2055,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:2050,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2002,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2010,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2026,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2026,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2028,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:2029,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2030,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/task.c:2032,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:2034,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2036,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2053,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/task.c:2058,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2070,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2061,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:2024,1
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2000,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2005,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2017,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2039,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2051,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2054,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2064,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2066,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2063,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2045,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:2059,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2005,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/task.c:2006,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2022,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/task.c:2027,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2033,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:2035,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2040,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2041,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:2043,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2046,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2060,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2054,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2038,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2065,1
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2049,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2071
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2071
    functionName: test_return_pointer
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_cmpint
    - g_assert
    - g_assert_nonnull
    - g_cancellable_new
    - g_task_propagate_pointer
    - g_task_new
    - g_object_add_weak_pointer
    - g_object_unref
    - g_cancellable_cancel
    - g_task_return_pointer
    - g_clear_error
    - g_assert_no_error
    - wait_for_completed_notification
    - g_assert_null
    - g_assert_error
    - g_dummy_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_return_pointer (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/task.c:877,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:883,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:886,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:891,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:898,1
    - Dst: g_task_get_check_cancellable
      Src: /src/glib/gio/tests/task.c:898,1
    - Dst: g_task_get_check_cancellable
      Src: /src/glib/gio/tests/task.c:903,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:907,1
    - Dst: g_task_get_check_cancellable
      Src: /src/glib/gio/tests/task.c:908,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:884,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:882,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:883,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:884,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:896,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:893,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:900,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:891,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:902,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:907,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:888,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:893,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:902,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:913,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:887,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/task.c:888,1
    - Dst: g_task_get_check_cancellable
      Src: /src/glib/gio/tests/task.c:896,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/task.c:910,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:909,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 914
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 914
    functionName: cancel_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_assert
    - g_task_propagate_boolean
    - g_error_free
    - g_cancellable_is_cancelled
    - G_IS_CANCELLABLE
    - g_assert_error
    - g_main_loop_quit
    - GPOINTER_TO_INT
    - g_task_get_check_cancellable
    - g_task_get_cancellable
    - 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: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1020,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1021,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1023,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - user_data
    - ex_task
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1024
    functionName: task_weak_notify
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_cond_signal
    - g_atomic_int_set
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void task_weak_notify (gpointer user_data, GObject *ex_task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:691,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:694,1
    - Dst: g_task_set_static_name
      Src: /src/glib/gio/tests/task.c:692,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:696,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:693,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 699
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 699
    functionName: test_static_name
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_set_static_name
    - g_object_unref
    - g_task_new
    - g_task_return_boolean
    - g_main_loop_run
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_static_name (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:923,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/tests/task.c:929,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:927,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:932,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/task.c:928,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:933,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:935,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:937,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:938,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:939,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:942,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 943
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 943
    functionName: test_check_cancellable
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_cancellable_new
    - g_task_new
    - g_object_unref
    - g_task_set_check_cancellable
    - g_cancellable_cancel
    - g_task_return_boolean
    - g_main_loop_run
    - g_cancellable_reset
    linkageType: ''
    returnType: void
    signature: 'static void test_check_cancellable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1038,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1041,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:1042,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1046,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1048,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1051,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1035,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:1038,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1037,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1039,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:1039,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1040,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1041,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:1042,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1044,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:1045,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1035,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1042,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1044,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1040,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1040,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1041,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1048,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1048,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1052
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1052
    functionName: run_in_thread_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_get_name
    - g_assert_false
    - g_assert_cmpint
    - G_TASK
    - g_assert
    - g_assert_no_error
    - g_assert_cmpstr
    - g_thread_self
    - g_task_get_completed
    - g_main_loop_quit
    - g_task_propagate_int
    - g_task_had_error
    - 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_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2083,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2088,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2090,1
    - Dst: g_task_propagate_value
      Src: /src/glib/gio/tests/task.c:2095,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2101,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/tests/task.c:2097,1
    - Dst: g_value_unset
      Src: /src/glib/gio/tests/task.c:2106,1
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2082,1
    - Dst: g_value_init
      Src: /src/glib/gio/tests/task.c:2086,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:2096,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2093,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:2102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2109,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2091,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2091,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:2097,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2105,1
    - Dst: g_value_unset
      Src: /src/glib/gio/tests/task.c:2108,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2110,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/tests/task.c:2087,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2084,1
    - Dst: g_task_return_value
      Src: /src/glib/gio/tests/task.c:2092,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:2095,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2098,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2100,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2107,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2112
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2112
    functionName: test_return_value
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_cmpint
    - g_assert_nonnull
    - g_assert_no_error
    - g_task_propagate_value
    - g_task_new
    - g_object_add_weak_pointer
    - g_object_unref
    - g_value_init
    - g_value_get_object
    - g_task_return_value
    - wait_for_completed_notification
    - g_assert_null
    - g_value_set_object
    - g_assert_true
    - g_value_unset
    - g_dummy_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_return_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:491,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:492,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:495,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:494,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:492,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:499,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:500,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 502
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 502
    functionName: test_no_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_nonnull
    - g_object_unref
    - g_task_new
    - g_object_add_weak_pointer
    - g_task_return_boolean
    - wait_for_completed_notification
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_no_callback (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2295,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2298,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:2301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2302
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2302
    functionName: task_complete_cb
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_task_propagate_boolean
    - G_TASK
    linkageType: ''
    returnType: void
    signature: 'static void task_complete_cb (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/task.c:2409,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/task.c:2415,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/task.c:2416,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/task.c:2417,1
    - Dst: test_return_permutation
      Src: /src/glib/gio/tests/task.c:2411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2418
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2418
    functionName: test_return_value_first
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - 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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2424
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2424
    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_OBJECT
      Src: /src/glib/gio/tests/task.c:2265,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2272,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/tests/task.c:2277,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/task.c:2267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2285,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2263,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2280,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2283,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2286,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2254,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/tests/task.c:2253,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2257,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/tests/task.c:2264,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2269,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2273,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2270,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:2282,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2252,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2254,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:2256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2259,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2260,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2265,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2287
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2287
    functionName: test_legacy_error
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_cmpint
    - g_idle_add
    - g_assert
    - g_task_new
    - g_object_add_weak_pointer
    - g_task_set_source_tag
    - g_object_unref
    - g_simple_async_result_new
    - g_main_loop_run
    - g_task_return_new_error
    linkageType: ''
    returnType: void
    signature: 'static void test_legacy_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:285,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:286,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:287,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:287,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:286,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:288,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:288,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:288,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:289,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:289,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:289,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:291,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:294,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:292,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:296,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:294,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:294,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: toplevel_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_assert
    - g_task_propagate_boolean
    - g_assert_no_error
    - g_task_get_completed
    - g_main_loop_quit
    - g_task_had_error
    - 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:418,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:419,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:419,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:420,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:424,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:427,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:417,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:418,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:420,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:425,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:427,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:429,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:417,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:420,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:422,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:424,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:416,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:419,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:422,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 430
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 430
    functionName: wrong_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_assert
    - g_assert_no_error
    - g_thread_self
    - g_task_get_completed
    - g_main_loop_quit
    - g_task_propagate_int
    - g_task_had_error
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void wrong_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1062,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1063,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1064,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:1062,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:1063,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:1064,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1065,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1065,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:1066,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:1066,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1068,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1071,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1073,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1072,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:1075,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1070,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1068,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: 1076
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1076
    functionName: run_in_thread_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_get_name
    - g_assert_false
    - g_cond_signal
    - g_task_get_source_object
    - g_assert
    - g_assert_cmpstr
    - g_thread_self
    - g_mutex_unlock
    - g_task_get_completed
    - g_task_return_int
    - g_atomic_int_set
    - g_task_get_cancellable
    - g_task_get_task_data
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void run_in_thread_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:305,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:306,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:306,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:310,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:307,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:311,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:314,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:315,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:316,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:318,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:320,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:321,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 323
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 323
    functionName: test_return_from_toplevel
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_connect
    - g_assert_false
    - g_assert
    - g_task_new
    - g_object_add_weak_pointer
    - g_object_unref
    - g_task_return_boolean
    - g_main_loop_run
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_return_from_toplevel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/task.c:438,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:441,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/tests/task.c:441,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:443,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/task.c:439,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:444,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/task.c:446,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/task.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 450
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 450
    functionName: wrong_thread_func
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - g_assert
    - g_main_context_unref
    - g_object_unref
    - g_task_get_context
    - g_main_context_pop_thread_default
    - g_task_return_int
    - g_main_context_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer wrong_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1090,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1093,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:1109,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1104,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1102,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1087,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1099,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:1109,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1113,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gio/tests/task.c:1089,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1096,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1102,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1107,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1106,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1101,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1111,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1114,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1115,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1116,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:1089,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/tests/task.c:1088,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1094,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1097,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1098,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1117
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1117
    functionName: test_run_in_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_get_name
    - G_OBJECT
    - g_signal_connect
    - g_assert_false
    - g_task_set_task_data
    - g_assert
    - g_object_weak_ref
    - g_task_run_in_thread
    - g_task_new
    - g_assert_cmpstr
    - g_cond_wait
    - g_atomic_int_get
    - g_mutex_unlock
    - g_object_unref
    - g_task_set_name
    - g_main_loop_run
    - g_assert_true
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_run_in_thread (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2502,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2514,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2515,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2513,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2512,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2516,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2517,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2518,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2519,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2524,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2522,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2520,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2525,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2534,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/task.c:2500,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:2499,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/task.c:2536,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2532,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2530,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2527,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2508,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/task.c:2496,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/task.c:2498,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2503,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2504,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2505,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2506,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2507,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2511,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2510,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2509,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2523,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2521,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/task.c:2538,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2533,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2531,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2529,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2528,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2541
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2541
    functionName: main
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_thread_self
    - g_main_loop_unref
    - g_test_run
    - g_test_init
    - g_get_monotonic_time
    - g_main_loop_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:16,1
    - Dst: example_animal_get_mood
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:24,1
    - Dst: example_animal_set_mood
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:32,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:24,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:26,1
    - Dst: example_animal_complete_poke
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:33,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:39,1
    - Dst: example_animal_get_mood
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:39,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:41,1
    - Dst: example_animal_set_mood
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:47,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:52,1
    - Dst: example_animal_complete_poke
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:48,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 5
    argNames:
    - animal
    - invocation
    - make_sad
    - make_happy
    - user_data
    argTypes:
    - ExampleAnimal*
    - GDBusMethodInvocation*
    - gboolean
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 56
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 56
    functionName: on_animal_poke
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-server.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_dbus_method_invocation_return_dbus_error
    - example_animal_set_mood
    - g_assert_not_reached
    - example_animal_get_mood
    - example_animal_complete_poke
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_animal_poke (ExampleAnimal *animal, GDBusMethodInvocation
      *invocation, gboolean make_sad, gboolean make_happy, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: on_name_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-server.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_name_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: on_name_lost
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-server.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_name_lost (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:67,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:78,1
    - Dst: g_dbus_object_manager_server_new
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:70,1
    - Dst: example_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:79,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:80,1
    - Dst: example_animal_skeleton_new
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:86,1
    - Dst: example_animal_set_mood
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:87,1
    - Dst: example_object_skeleton_set_animal
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:88,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:89,1
    - Dst: example_cat_skeleton_new
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:98,1
    - Dst: example_object_skeleton_set_cat
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:99,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:106,1
    - Dst: g_dbus_object_manager_server_export
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:110,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:111,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:100,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:110,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:104,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 116
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 116
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-server.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_dbus_object_manager_server_export
    - example_object_skeleton_new
    - g_free
    - example_object_skeleton_set_animal
    - G_DBUS_OBJECT_SKELETON
    - example_animal_set_mood
    - g_dbus_object_manager_server_new
    - g_object_unref
    - g_strdup_printf
    - G_CALLBACK
    - example_animal_skeleton_new
    - g_dbus_object_manager_server_set_connection
    - g_print
    - example_object_skeleton_set_cat
    - example_cat_skeleton_new
    linkageType: ''
    returnType: void
    signature: 'static void on_bus_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:141,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:143,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:153,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:156,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-server.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-server.c
    functionUses: []
    functionsReached:
    - g_main_loop_unref
    - g_bus_unown_name
    - g_main_loop_new
    - g_main_loop_run
    - g_bus_own_name
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-address.c:7,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-address.c:8,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-address.c:14,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-address.c:19,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-address.c:33,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-address.c:26,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-address.c:29,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-address.c:57,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-address.c:65,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-address.c:8,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-address.c:15,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:16,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-address.c:37,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:41,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-address.c:47,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:48,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-address.c:53,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-address.c:57,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:9,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-address.c:15,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-address.c:18,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-address.c:19,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:34,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-address.c:40,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-address.c:40,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-address.c:65,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-address.c:22,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-address.c:33,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-address.c:26,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:27,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:20,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-address.c:44,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-address.c:47,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:58,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-address.c:61,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 67
    functionName: test_unix_socket_address_construct
    functionSourceFile: /src/glib/gio/tests/socket-address.c
    functionUses: []
    functionsReached:
    - g_unix_socket_address_get_address_type
    - g_assert_cmpint
    - g_object_unref
    - g_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_socket_address_construct (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/socket-address.c:112,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/socket-address.c:117,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket-address.c:115,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket-address.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/glib/gio/tests/socket-address.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-address.c:80,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket-address.c:79,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:81,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/tests/socket-address.c:100,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/socket-address.c:102,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/socket-address.c:102,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-address.c:104,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/tests/socket-address.c:76,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:89,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-address.c:96,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket-address.c:87,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket-address.c:95,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:105,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket-address.c:103,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/socket-address.c:78,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/socket-address.c:78,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/tests/socket-address.c:84,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/socket-address.c:86,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/socket-address.c:86,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/socket-address.c:94,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-address.c:97,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-address.c:88,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/socket-address.c:94,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/tests/socket-address.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 106
    functionName: test_unix_socket_address_to_string
    functionSourceFile: /src/glib/gio/tests/socket-address.c
    functionUses: []
    functionsReached:
    - g_socket_connectable_to_string
    - g_free
    - g_unix_socket_address_new_with_type
    - g_assert_cmpstr
    - g_object_unref
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_socket_address_to_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:47,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:48,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:47,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: sleep_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-loss.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_DBUS_PROXY
    - g_dbus_proxy_call_finish
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void sleep_cb (GObject *source_object, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:116,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:121,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:125,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:119,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:124,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:125,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:126,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:130,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:131,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:132,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:142,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:144,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:138,1
    - Dst: ensure_gdbus_testserver_up
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:134,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:140,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-loss.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_free
    - g_assert
    - session_bus_down
    - g_assert_no_error
    - g_bus_get_sync
    - g_spawn_command_line_async
    - session_bus_up
    - ensure_gdbus_testserver_up
    - g_test_add_func
    - g_object_unref
    - g_main_loop_unref
    - g_test_run
    - g_test_init
    - g_main_loop_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: on_timeout
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-loss.c
    functionUses: []
    functionsReached:
    - session_bus_stop
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_timeout (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:67,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:78,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:80,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:75,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:88,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:91,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:93,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:99,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:100,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:100,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:103,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-connection-loss.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 104
    functionName: test_connection_loss
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-loss.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_sync
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_clear_error
    - g_dbus_connection_set_exit_on_close
    - g_variant_new
    - g_main_loop_run
    - g_assert_error
    - g_timeout_add
    - g_dbus_proxy_call
    - g_dbus_error_is_remote_error
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_loss (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/tests/fake-document-portal.c:55,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/fake-document-portal.c:59,1
    - Dst: g_variant_new_array
      Src: /src/glib/gio/tests/fake-document-portal.c:64,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/fake-document-portal.c:64,1
    - Dst: fake_documents_complete_add_full
      Src: /src/glib/gio/tests/fake-document-portal.c:66,1
    - Dst: g_free
      Src: /src/glib/gio/tests/fake-document-portal.c:72,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 7
    argNames:
    - object
    - invocation
    - o_path_fds
    - flags
    - app_id
    - permissions
    - user_data
    argTypes:
    - FakeDocuments*
    - GDBusMethodInvocation*
    - GUnixFDList*
    - guint
    - gchar*
    - gchar**
    - gpointer
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: on_handle_add_full
    functionSourceFile: /src/glib/gio/tests/fake-document-portal.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_get_length
    - G_VARIANT_TYPE
    - g_free
    - g_new0
    - fake_documents_complete_add_full
    - g_variant_new_array
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_add_full (FakeDocuments *object, GDBusMethodInvocation
      *invocation, GUnixFDList *o_path_fds, guint flags, const gchar *app_id, const
      gchar * const *permissions, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/fake-document-portal.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: on_name_acquired
    functionSourceFile: /src/glib/gio/tests/fake-document-portal.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void on_name_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_documents_complete_get_mount_point
      Src: /src/glib/gio/tests/fake-document-portal.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FakeDocuments*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: on_handle_get_mount_point
    functionSourceFile: /src/glib/gio/tests/fake-document-portal.c
    functionUses: []
    functionsReached:
    - fake_documents_complete_get_mount_point
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_get_mount_point (FakeDocuments *object,
      GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/fake-document-portal.c:85,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/fake-document-portal.c:88,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/fake-document-portal.c:92,1
    - Dst: fake_documents_skeleton_new
      Src: /src/glib/gio/tests/fake-document-portal.c:87,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/fake-document-portal.c:90,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/fake-document-portal.c:94,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/fake-document-portal.c:97,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/fake-document-portal.c:97,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/fake-document-portal.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/fake-document-portal.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_signal_connect
    - G_DBUS_INTERFACE_SKELETON
    - g_assert_no_error
    - G_CALLBACK
    - fake_documents_skeleton_new
    - g_dbus_interface_skeleton_export
    linkageType: ''
    returnType: void
    signature: 'static void on_bus_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/fake-document-portal.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: on_name_lost
    functionSourceFile: /src/glib/gio/tests/fake-document-portal.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_log_writer_default_set_use_stderr
      Src: /src/glib/gio/tests/fake-document-portal.c:127,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/fake-document-portal.c:143,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/fake-document-portal.c:129,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/fake-document-portal.c:131,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/fake-document-portal.c:141,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/fake-document-portal.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 147
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/glib/gio/tests/fake-document-portal.c
    functionUses: []
    functionsReached:
    - g_log_writer_default_set_use_stderr
    - g_main_loop_unref
    - g_bus_unown_name
    - g_main_loop_new
    - g_main_loop_run
    - g_bus_own_name
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/cancellable.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: mock_operation_free
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mock_operation_free (gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/tests/cancellable.c:79,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/cancellable.c:86,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:81,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/cancellable.c:86,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/cancellable.c:80,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/cancellable.c:91,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/cancellable.c:92,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/cancellable.c:94,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/tests/cancellable.c:99,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/cancellable.c:100,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/cancellable.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 105
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 105
    functionName: mock_operation_timeout
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_test_message
    - G_TASK
    - g_test_verbose
    - g_cancellable_is_cancelled
    - g_atomic_int_get
    - g_task_return_boolean
    - g_atomic_int_inc
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mock_operation_timeout (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_thorough
      Src: /src/glib/gio/tests/cancellable.c:184,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/cancellable.c:186,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/cancellable.c:190,1
    - Dst: g_random_boolean
      Src: /src/glib/gio/tests/cancellable.c:195,1
    - Dst: mock_operation_async
      Src: /src/glib/gio/tests/cancellable.c:195,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/cancellable.c:196,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/cancellable.c:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/cancellable.c:203,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/cancellable.c:205,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/cancellable.c:206,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/cancellable.c:208,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/cancellable.c:212,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/cancellable.c:207,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/cancellable.c:213,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:208,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/cancellable.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 216
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 216
    functionName: test_cancel_multiple_concurrent
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - mock_operation_async
    - g_test_thorough
    - g_test_verbose
    - g_cancellable_new
    - g_object_unref
    - GUINT_TO_POINTER
    - g_test_skip
    - g_cancellable_cancel
    - g_cancellable_is_cancelled
    - g_random_boolean
    - g_main_context_iteration
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_cancel_multiple_concurrent (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/cancellable.c:348,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:354,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/cancellable.c:352,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/cancellable.c:355,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/tests/cancellable.c:354,1
    - Dst: g_cancellable_get_fd
      Src: /src/glib/gio/tests/cancellable.c:357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/cancellable.c:358,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/tests/cancellable.c:360,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/tests/cancellable.c:361,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/cancellable.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 364
    functionName: test_cancellable_poll_fd
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_cancellable_get_fd
    - g_cancellable_make_pollfd
    - g_cancellable_new
    - g_object_unref
    - g_test_skip
    - g_cancellable_release_fd
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_cancellable_poll_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/tests/cancellable.c:492,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/cancellable.c:495,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/cancellable.c:494,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gio/tests/cancellable.c:498,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/cancellable.c:496,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gio/tests/cancellable.c:499,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/cancellable.c:500,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/cancellable.c:502,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/cancellable.c:503,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/cancellable.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: connecting_thread
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - g_main_context_unref
    - g_cancellable_connect
    - g_main_loop_unref
    - g_atomic_pointer_set
    - g_main_loop_new
    - g_main_loop_run
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer connecting_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/cancellable.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 676
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 676
    functionName: repeatedly_cancelling_thread
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer repeatedly_cancelling_thread (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/cancellable.c:57,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/cancellable.c:64,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/cancellable.c:59,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/cancellable.c:60,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/cancellable.c:61,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/cancellable.c:65,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/tests/cancellable.c:66,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/cancellable.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: mock_operation_thread
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_test_message
    - g_test_verbose
    - g_cancellable_is_cancelled
    - g_usleep
    - g_task_return_boolean
    linkageType: ''
    returnType: void
    signature: 'static void mock_operation_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/cancellable.c:117,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/cancellable.c:120,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/cancellable.c:125,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/cancellable.c:118,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/cancellable.c:124,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/cancellable.c:126,1
    - Dst: g_timeout_add_full
      Src: /src/glib/gio/tests/cancellable.c:130,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/cancellable.c:131,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/cancellable.c:132,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/cancellable.c:133,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/cancellable.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - wait_iterations
    - run_in_thread
    - cancellable
    - callback
    - user_data
    argTypes:
    - guint
    - gboolean
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 137
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 137
    functionName: mock_operation_async
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_timeout_add_full
    - g_object_ref
    - g_new0
    - g_task_set_task_data
    - g_test_verbose
    - g_task_run_in_thread
    - g_task_new
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void mock_operation_async (guint wait_iterations, gboolean
      run_in_thread, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/cancellable.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: test_cancel_null
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'static void test_cancel_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/cancellable.c:373,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:380,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/cancellable.c:379,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/tests/cancellable.c:380,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/cancellable.c:377,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/cancellable.c:381,1
    - Dst: g_poll
      Src: /src/glib/gio/tests/cancellable.c:383,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/tests/cancellable.c:385,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/cancellable.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 387
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 387
    functionName: test_cancellable_cancelled_poll_fd
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_poll
    - g_cancellable_make_pollfd
    - g_cancellable_new
    - g_object_unref
    - g_test_skip
    - g_cancellable_cancel
    - g_test_summary
    - g_cancellable_release_fd
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_cancellable_cancelled_poll_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/gio/tests/cancellable.c:477,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/cancellable.c:480,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/cancellable.c:478,1
    - Dst: g_cancellable_disconnect
      Src: /src/glib/gio/tests/cancellable.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - cancellable
    - data
    argTypes:
    - GCancellable*
    - ConnectingThreadData*
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: on_cancellable_connect_disconnect
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_cancellable_disconnect
    - g_atomic_pointer_exchange
    linkageType: ''
    returnType: void
    signature: 'static void on_cancellable_connect_disconnect (GCancellable *cancellable,
      ConnectingThreadData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/cancellable.c:536,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/cancellable.c:527,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:538,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:541,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/cancellable.c:564,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:563,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:560,1
    - Dst: g_timeout_add_once
      Src: /src/glib/gio/tests/cancellable.c:567,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/cancellable.c:569,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/cancellable.c:577,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/cancellable.c:529,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/cancellable.c:534,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/tests/cancellable.c:539,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/tests/cancellable.c:548,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:555,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/tests/cancellable.c:564,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:571,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/cancellable.c:578,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/cancellable.c:523,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/cancellable.c:538,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/cancellable.c:539,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/tests/cancellable.c:544,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:563,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/cancellable.c:559,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/cancellable.c:548,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/cancellable.c:573,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:574,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:576,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:571,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:574,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:576,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 579
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 579
    functionName: test_cancellable_disconnect_on_cancelled_callback_hangs
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_steal_pointer
    - g_thread_new
    - g_main_loop_quit
    - g_test_summary
    - g_test_undefined
    - g_object_unref
    - g_test_skip
    - g_atomic_int_get
    - g_thread_join
    - g_assert_cmpuint
    - g_cancellable_new
    - g_cancellable_is_cancelled
    - g_thread_unref
    - G_CALLBACK
    - g_main_context_iteration
    - g_timeout_add_once
    - g_assert_false
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_cancellable_disconnect_on_cancelled_callback_hangs
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/cancellable.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 688
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 688
    functionName: repeatedly_resetting_thread
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_cancellable_reset
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer repeatedly_resetting_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:146,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/cancellable.c:152,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/cancellable.c:151,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/cancellable.c:154,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/cancellable.c:146,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: mock_operation_finish
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_boolean
    - g_atomic_int_get
    - g_assert_true
    - g_task_get_task_data
    linkageType: ''
    returnType: guint
    signature: 'static guint mock_operation_finish (GAsyncResult *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/tests/cancellable.c:741,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/cancellable.c:742,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/cancellable.c:747,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/cancellable.c:746,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:744,1
    - Dst: g_cancellable_disconnect
      Src: /src/glib/gio/tests/cancellable.c:748,1
    - Dst: g_test_incomplete
      Src: /src/glib/gio/tests/cancellable.c:752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 755
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 755
    functionName: repeatedly_connecting_thread
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_cancellable_disconnect
    - g_test_incomplete
    - g_test_verbose
    - g_cancellable_connect
    - g_atomic_int_get
    - G_CALLBACK
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer repeatedly_connecting_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/cancellable.c:167,1
    - Dst: mock_operation_finish
      Src: /src/glib/gio/tests/cancellable.c:168,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/cancellable.c:171,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/cancellable.c:173,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/cancellable.c:170,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/cancellable.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: on_mock_operation_ready
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_main_context_wakeup
    - GPOINTER_TO_UINT
    - g_error_free
    - g_assert_error
    - mock_operation_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_mock_operation_ready (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: cancelled_cb
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cancelled_cb (GCancellable *cancellable, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:399,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/cancellable.c:406,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/cancellable.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 409
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 409
    functionName: cancel_cancellable_thread
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_usleep
    - g_cancellable_cancel
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer cancel_cancellable_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/cancellable.c:766,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/cancellable.c:771,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/cancellable.c:769,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/cancellable.c:773,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/tests/cancellable.c:771,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:775,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:778,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:780,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:783,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:783,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:784,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:785,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:785,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:787,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:784,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/cancellable.c:789,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 790
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 790
    functionName: test_cancellable_cancel_reset_connect_races
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_cancellable_new
    - g_object_unref
    - g_cancellable_connect
    - G_CALLBACK
    - g_steal_pointer
    - g_thread_new
    - g_thread_join
    - g_test_summary
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_cancellable_cancel_reset_connect_races (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/cancellable.c:795,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:799,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:797,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:800,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:798,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:801,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:802,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:803,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:804,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:805,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/cancellable.c:806,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/cancellable.c:808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 809
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 809
    functionName: main
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/cancellable.c:246,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/cancellable.c:254,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/cancellable.c:249,1
    - Dst: g_async_queue_pop
      Src: /src/glib/gio/tests/cancellable.c:251,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/tests/cancellable.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 258
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 258
    functionName: threaded_dispose_thread_cb
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_cond_broadcast
    - g_mutex_unlock
    - g_source_unref
    - g_async_queue_pop
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer threaded_dispose_thread_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:587,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/cancellable.c:587,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/cancellable.c:589,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/cancellable.c:588,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/cancellable.c:590,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/cancellable.c:590,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/cancellable.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cancellable
    - data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 592
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 592
    functionName: on_cancelled_reset
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_cancellable_is_cancelled
    - g_cancellable_reset
    - g_assert_true
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void on_cancelled_reset (GCancellable *cancellable, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/cancellable.c:276,1
    - Dst: g_cond_init
      Src: /src/glib/gio/tests/cancellable.c:280,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/cancellable.c:285,1
    - Dst: g_async_queue_push
      Src: /src/glib/gio/tests/cancellable.c:306,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/cancellable.c:291,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/cancellable.c:309,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:329,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/cancellable.c:271,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/cancellable.c:273,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/tests/cancellable.c:302,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/cancellable.c:331,1
    - Dst: g_async_queue_unref
      Src: /src/glib/gio/tests/cancellable.c:332,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/tests/cancellable.c:333,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/tests/cancellable.c:334,1
    - Dst: g_async_queue_length
      Src: /src/glib/gio/tests/cancellable.c:331,1
    - Dst: g_test_incomplete
      Src: /src/glib/gio/tests/cancellable.c:264,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/tests/cancellable.c:281,1
    - Dst: g_async_queue_new_full
      Src: /src/glib/gio/tests/cancellable.c:282,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:286,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/cancellable.c:290,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/cancellable.c:322,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/cancellable.c:302,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:306,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:322,1
    - Dst: g_async_queue_push
      Src: /src/glib/gio/tests/cancellable.c:327,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/tests/cancellable.c:301,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/cancellable.c:300,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:329,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/cancellable.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 338
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 338
    functionName: test_cancellable_source_threaded_dispose
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_test_incomplete
    - g_async_queue_push
    - g_steal_pointer
    - g_thread_new
    - g_mutex_init
    - g_test_summary
    - g_ptr_array_unref
    - g_cond_wait
    - g_cancellable_source_new
    - g_thread_join
    - g_cond_init
    - g_async_queue_length
    - g_cancellable_new
    - g_async_queue_new_full
    - g_cancellable_cancel
    - g_ptr_array_add
    - g_mutex_clear
    - g_test_bug
    - g_source_set_callback
    - g_assert
    - g_async_queue_unref
    - g_mutex_unlock
    - G_SOURCE_FUNC
    - g_cond_clear
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_cancellable_source_threaded_dispose (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/cancellable.c:612,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/cancellable.c:623,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/cancellable.c:624,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:626,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/cancellable.c:649,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/tests/cancellable.c:633,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:645,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:648,1
    - Dst: g_timeout_add_once
      Src: /src/glib/gio/tests/cancellable.c:652,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:661,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/cancellable.c:619,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/cancellable.c:614,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:640,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/tests/cancellable.c:649,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:656,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/cancellable.c:608,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/cancellable.c:621,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:623,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/cancellable.c:633,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:648,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/cancellable.c:644,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/tests/cancellable.c:629,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/cancellable.c:654,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/cancellable.c:658,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/cancellable.c:659,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/tests/cancellable.c:624,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:656,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:659,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/cancellable.c:663,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:661,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/cancellable.c:662,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 664
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 664
    functionName: test_cancellable_reset_on_cancelled_callback_hangs
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_steal_pointer
    - g_thread_new
    - g_main_loop_quit
    - g_test_summary
    - g_test_undefined
    - g_object_unref
    - g_test_skip
    - g_atomic_int_get
    - g_thread_join
    - g_assert_cmpuint
    - g_cancellable_new
    - g_cancellable_is_cancelled
    - g_thread_unref
    - G_CALLBACK
    - g_main_context_iteration
    - g_timeout_add_once
    - g_assert_false
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_cancellable_reset_on_cancelled_callback_hangs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:417,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/cancellable.c:418,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/tests/cancellable.c:422,1
    - Dst: g_poll
      Src: /src/glib/gio/tests/cancellable.c:420,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/tests/cancellable.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: polling_cancelled_cancellable_thread
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_poll
    - g_cancellable_make_pollfd
    - g_cancellable_release_fd
    - g_assert_true
    - g_atomic_int_set
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer polling_cancelled_cancellable_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:696,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/cancellable.c:696,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/cancellable.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cancellable
    - data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 698
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 698
    functionName: on_racy_cancellable_cancelled
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_atomic_int_set
    - g_cancellable_is_cancelled
    linkageType: ''
    returnType: void
    signature: 'static void on_racy_cancellable_cancelled (GCancellable *cancellable,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/cancellable.c:437,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/tests/cancellable.c:444,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/cancellable.c:441,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/cancellable.c:443,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:444,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:448,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:451,1
    - Dst: g_poll
      Src: /src/glib/gio/tests/cancellable.c:454,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:455,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/cancellable.c:455,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/tests/cancellable.c:456,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:459,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:459,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/cancellable.c:461,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:458,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 462
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 462
    functionName: test_cancellable_cancelled_poll_fd_threaded
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_poll
    - g_cancellable_make_pollfd
    - g_cancellable_new
    - g_object_unref
    - g_cancellable_is_cancelled
    - g_test_skip
    - g_steal_pointer
    - g_thread_new
    - g_thread_join
    - g_test_summary
    - g_cancellable_release_fd
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_cancellable_cancelled_poll_fd_threaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/cancellable.c:708,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/cancellable.c:712,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/tests/cancellable.c:712,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/cancellable.c:710,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/cancellable.c:714,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:716,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/cancellable.c:719,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:722,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:722,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/cancellable.c:723,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/cancellable.c:723,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/cancellable.c:727,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/cancellable.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 728
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 728
    functionName: test_cancellable_cancel_reset_races
    functionSourceFile: /src/glib/gio/tests/cancellable.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_cancellable_new
    - g_object_unref
    - g_cancellable_connect
    - G_CALLBACK
    - g_steal_pointer
    - g_thread_new
    - g_thread_join
    - g_test_summary
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_cancellable_cancel_reset_races (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/tests/giomodule.c:51,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/giomodule.c:52,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/tests/giomodule.c:50,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/tests/giomodule.c:56,1
    - Dst: g_io_extension_point_implement
      Src: /src/glib/gio/tests/giomodule.c:68,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/giomodule.c:77,1
    - Dst: g_io_extension_get_priority
      Src: /src/glib/gio/tests/giomodule.c:79,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/tests/giomodule.c:81,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/giomodule.c:86,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/giomodule.c:55,1
    - Dst: g_io_extension_point_get_required_type
      Src: /src/glib/gio/tests/giomodule.c:57,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/giomodule.c:61,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/giomodule.c:78,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/tests/giomodule.c:82,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/giomodule.c:87,1
    - Dst: g_io_extension_get_type
      Src: /src/glib/gio/tests/giomodule.c:86,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/giomodule.c:49,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/tests/giomodule.c:60,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/tests/giomodule.c:77,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/giomodule.c:74,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/giomodule.c:85,1
    - Dst: g_io_extension_get_priority
      Src: /src/glib/gio/tests/giomodule.c:87,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/tests/giomodule.c:85,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/tests/giomodule.c:48,1
    - Dst: g_io_extension_point_get_required_type
      Src: /src/glib/gio/tests/giomodule.c:54,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/giomodule.c:58,1
    - Dst: g_io_extension_point_implement
      Src: /src/glib/gio/tests/giomodule.c:63,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/tests/giomodule.c:73,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/giomodule.c:74,1
    - Dst: g_io_extension_get_type
      Src: /src/glib/gio/tests/giomodule.c:78,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/giomodule.c:79,1
    - Dst: g_io_extension_ref_class
      Src: /src/glib/gio/tests/giomodule.c:80,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/giomodule.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 88
    functionName: test_extension_point
    functionSourceFile: /src/glib/gio/tests/giomodule.c
    functionUses: []
    functionsReached:
    - g_io_extension_point_get_required_type
    - g_assert_cmpint
    - g_io_extension_get_name
    - g_type_class_peek
    - g_assert
    - g_assert_cmpstr
    - g_io_extension_get_priority
    - g_io_extension_ref_class
    - g_type_class_unref
    - g_io_extension_point_lookup
    - g_list_length
    - g_io_extension_point_set_required_type
    - g_assert_null
    - g_io_extension_get_type
    - g_io_extension_point_implement
    - g_io_extension_point_get_extensions
    - g_io_extension_point_register
    linkageType: ''
    returnType: void
    signature: 'static void test_extension_point (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/giomodule.c:128,1
    - Dst: g_io_module_scope_new
      Src: /src/glib/gio/tests/giomodule.c:140,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/giomodule.c:132,1
    - Dst: g_io_module_scope_block
      Src: /src/glib/gio/tests/giomodule.c:141,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/tests/giomodule.c:139,1
    - Dst: MODULE_FILENAME
      Src: /src/glib/gio/tests/giomodule.c:141,1
    - Dst: g_io_modules_scan_all_in_directory_with_scope
      Src: /src/glib/gio/tests/giomodule.c:142,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/giomodule.c:142,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/tests/giomodule.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/giomodule.c:144,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/giomodule.c:144,1
    - Dst: g_io_module_scope_free
      Src: /src/glib/gio/tests/giomodule.c:147,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/giomodule.c:150,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/tests/giomodule.c:146,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/giomodule.c:146,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/giomodule.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 152
    functionName: test_module_scan_all_with_scope
    functionSourceFile: /src/glib/gio/tests/giomodule.c
    functionUses: []
    functionsReached:
    - g_io_module_scope_block
    - g_assert_cmpint
    - g_test_get_filename
    - g_io_extension_get_name
    - g_io_module_scope_free
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_assert_cmpstr
    - g_io_modules_scan_all_in_directory_with_scope
    - g_test_skip
    - g_list_length
    - g_io_extension_point_get_extensions
    - g_io_module_scope_new
    - MODULE_FILENAME
    - g_test_subprocess
    - g_io_extension_point_register
    linkageType: ''
    returnType: void
    signature: 'static void test_module_scan_all_with_scope (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/giomodule.c:100,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/tests/giomodule.c:109,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/giomodule.c:110,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/giomodule.c:104,1
    - Dst: g_io_modules_scan_all_in_directory
      Src: /src/glib/gio/tests/giomodule.c:110,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/tests/giomodule.c:111,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/giomodule.c:112,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/giomodule.c:112,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/giomodule.c:114,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/tests/giomodule.c:114,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/giomodule.c:116,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/giomodule.c:120,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/tests/giomodule.c:116,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/giomodule.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: test_module_scan_all
    functionSourceFile: /src/glib/gio/tests/giomodule.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_get_filename
    - g_io_extension_get_name
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_assert_cmpstr
    - g_test_skip
    - g_io_modules_scan_all_in_directory
    - g_list_length
    - g_io_extension_point_get_extensions
    - g_test_subprocess
    - g_io_extension_point_register
    linkageType: ''
    returnType: void
    signature: 'static void test_module_scan_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/giomodule.c:157,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/giomodule.c:161,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/giomodule.c:159,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/giomodule.c:160,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/giomodule.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: main
    functionSourceFile: /src/glib/gio/tests/giomodule.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-export.c:37,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gdbus-example-export.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: my_object_finalize
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_object_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gio/tests/gdbus-example-export.c:60,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gdbus-example-export.c:64,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/tests/gdbus-example-export.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 70
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 70
    functionName: my_object_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int
    linkageType: ''
    returnType: void
    signature: 'static void my_object_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/tests/gdbus-example-export.c:129,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-export.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - myobj
    - change
    argTypes:
    - MyObject*
    - gint
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: my_object_change_count
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    linkageType: ''
    returnType: void
    signature: 'static void my_object_change_count (MyObject *myobj, gint change) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-export.c:161,1
    - Dst: my_object_change_count
      Src: /src/glib/gio/tests/gdbus-example-export.c:166,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-example-export.c:168,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-export.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    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: 170
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 170
    functionName: handle_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_dbus_method_invocation_return_value
    - my_object_change_count
    - g_variant_get
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_new
      Src: /src/glib/gio/tests/gdbus-example-export.c:240,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-export.c:243,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-example-export.c:241,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-example-export.c:244,1
    - Dst: g_variant_builder_new
      Src: /src/glib/gio/tests/gdbus-example-export.c:241,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-example-export.c:246,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-export.c:247,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-example-export.c:248,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-export.c:250,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-example-export.c:252,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-export.c:257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - pspec
    - connection
    argTypes:
    - GObject*
    - GParamSpec*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 262
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 262
    functionName: send_property_change
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_new_string
    - g_strcmp0
    - g_variant_new_int32
    - g_variant_builder_new
    - g_variant_builder_add
    - g_variant_new
    - g_dbus_connection_emit_signal
    linkageType: ''
    returnType: void
    signature: 'static void send_property_change (GObject *obj, GParamSpec *pspec,
      GDBusConnection *connection) '
  - 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: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: on_name_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_name_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gio/tests/gdbus-example-export.c:83,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/tests/gdbus-example-export.c:88,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-export.c:87,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/tests/gdbus-example-export.c:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: my_object_set_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_free
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void my_object_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - MyObject*
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: my_object_init
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_object_init (MyObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-export.c:185,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-export.c:189,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-example-export.c:187,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-export.c:191,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 195
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 195
    functionName: handle_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_variant_new_int32
    - g_variant_new_string
    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: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-export.c:272,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-export.c:281,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-example-export.c:274,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-export.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 282
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 282
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_CALLBACK
    - g_signal_connect
    - 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:
    - Dst: exit
      Src: /src/glib/gio/tests/gdbus-example-export.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: on_name_lost
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.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-export.c:310,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gdbus-example-export.c:313,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-export.c:311,1
    - Dst: my_object_get_type
      Src: /src/glib/gio/tests/gdbus-example-export.c:313,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-example-export.c:315,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-export.c:324,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-export.c:325,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-example-export.c:327,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-example-export.c:329,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-export.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 334
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 334
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_object_new
    - my_object_get_type
    - g_assert
    - g_dbus_node_info_unref
    - g_object_unref
    - g_main_loop_new
    - g_bus_unown_name
    - g_main_loop_run
    - g_bus_own_name
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gdbus-example-export.c:99,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/tests/gdbus-example-export.c:107,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gdbus-example-export.c:113,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gdbus-example-export.c:105,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/tests/gdbus-example-export.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - class
    argTypes:
    - MyObjectClass*
    constantsTouched: []
    func_position:
      end: 120
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 120
    functionName: my_object_class_init
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_string
    - G_OBJECT_CLASS
    - g_param_spec_int
    linkageType: ''
    returnType: void
    signature: 'static void my_object_class_init (MyObjectClass *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-export.c:209,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gdbus-example-export.c:211,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-export.c:213,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-example-export.c:211,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gdbus-example-export.c:215,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-example-export.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    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: 219
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 219
    functionName: handle_set_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-export.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_variant_get_string
    - g_object_set
    - g_variant_get_int32
    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:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/tests/gdbus-overflow.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - connection
    - message
    - incoming
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: overflow_filter_func
    functionSourceFile: /src/glib/gio/tests/gdbus-overflow.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *overflow_filter_func (GDBusConnection *connection,
      GDBusMessage *message, gboolean incoming, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-overflow.c:211,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-overflow.c:217,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-overflow.c:213,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-overflow.c:214,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gdbus-overflow.c:221,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-overflow.c:222,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-overflow.c:225,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-overflow.c:228,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-overflow.c:230,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-overflow.c:232,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-overflow.c:242,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-overflow.c:234,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-overflow.c:238,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-overflow.c:236,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gdbus-overflow.c:241,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-overflow.c:235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 246
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 246
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-overflow.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_dbus_node_info_new_for_xml
    - g_free
    - g_rmdir
    - g_assert
    - g_dir_make_tmp
    - g_dbus_node_info_unref
    - g_test_add_func
    - g_main_loop_unref
    - g_dbus_generate_guid
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - g_main_loop_new
    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: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: test_overflow
    functionSourceFile: /src/glib/gio/tests/gdbus-overflow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-overflow.c:130,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-overflow.c:133,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-overflow.c:132,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-overflow.c:165,1
    - Dst: g_timer_new
      Src: /src/glib/gio/tests/gdbus-overflow.c:179,1
    - Dst: g_timer_start
      Src: /src/glib/gio/tests/gdbus-overflow.c:180,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gio/tests/gdbus-overflow.c:182,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-overflow.c:183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-overflow.c:185,1
    - Dst: g_timer_destroy
      Src: /src/glib/gio/tests/gdbus-overflow.c:188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-overflow.c:190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-overflow.c:115,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/gdbus-overflow.c:118,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-overflow.c:119,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-overflow.c:121,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-overflow.c:122,1
    - Dst: g_dbus_connection_new_sync
      Src: /src/glib/gio/tests/gdbus-overflow.c:123,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-overflow.c:140,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-overflow.c:158,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-overflow.c:157,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-overflow.c:166,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/gdbus-overflow.c:120,1
    - Dst: socketpair
      Src: /src/glib/gio/tests/gdbus-overflow.c:115,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/tests/gdbus-overflow.c:134,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-overflow.c:159,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-overflow.c:163,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/gdbus-overflow.c:164,1
    - Dst: g_dbus_connection_new_sync
      Src: /src/glib/gio/tests/gdbus-overflow.c:167,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-overflow.c:167,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-overflow.c:174,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/tests/gdbus-overflow.c:176,1
    - Dst: g_dbus_connection_start_message_processing
      Src: /src/glib/gio/tests/gdbus-overflow.c:177,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-overflow.c:189,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-overflow.c:175,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-overflow.c:123,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-overflow.c:131,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-overflow.c:147,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-overflow.c:145,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-overflow.c:159,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/gdbus-overflow.c:162,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-overflow.c:173,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-overflow.c:182,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-overflow.c:185,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-overflow.c:186,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-overflow.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 191
    functionName: test_overflow
    functionSourceFile: /src/glib/gio/tests/gdbus-overflow.c
    functionUses: []
    functionsReached:
    - socketpair
    - g_timer_destroy
    - g_timer_new
    - g_main_loop_run
    - g_dbus_connection_emit_signal
    - g_timer_start
    - g_timeout_add
    - g_assert_cmpint
    - g_object_unref
    - g_atomic_int_get
    - g_dbus_connection_set_exit_on_close
    - g_variant_new
    - g_dbus_connection_add_filter
    - G_IO_STREAM
    - g_dbus_connection_start_message_processing
    - g_assert_no_error
    - g_timer_elapsed
    - g_socket_new_from_fd
    - g_main_context_iteration
    - g_socket_connection_factory_create_connection
    - g_assert
    - g_dbus_connection_new_sync
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void test_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-overflow.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: overflow_on_500ms_later_func
    functionSourceFile: /src/glib/gio/tests/gdbus-overflow.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean overflow_on_500ms_later_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: g_io_module_load
    functionSourceFile: /src/glib/gio/tests/resourceplugin.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_io_module_load (GIOModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: g_io_module_query
    functionSourceFile: /src/glib/gio/tests/resourceplugin.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: 'char **g_io_module_query (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: g_io_module_unload
    functionSourceFile: /src/glib/gio/tests/resourceplugin.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_io_module_unload (GIOModule *module) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_zlib_decompressor_get_file_info
      Src: /src/glib/gio/tests/filter-cat.c:69,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:75,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/tests/filter-cat.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - decompressor
    - pspec
    - data
    argTypes:
    - GZlibDecompressor*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: decompressor_file_info_notify_cb
    functionSourceFile: /src/glib/gio/tests/filter-cat.c
    functionUses: []
    functionsReached:
    - g_zlib_decompressor_get_file_info
    - g_file_info_get_name
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void decompressor_file_info_notify_cb (GZlibDecompressor *decompressor,
      GParamSpec *pspec, gpointer data) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read
      Src: /src/glib/gio/tests/filter-cat.c:91,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:96,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/filter-cat.c:97,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/filter-cat.c:107,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-cat.c:109,1
    - Dst: g_charset_converter_new
      Src: /src/glib/gio/tests/filter-cat.c:115,1
    - Dst: g_charset_converter_set_use_fallback
      Src: /src/glib/gio/tests/filter-cat.c:121,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/filter-cat.c:131,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:130,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-cat.c:126,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/filter-cat.c:157,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/filter-cat.c:97,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/filter-cat.c:140,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-cat.c:110,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/filter-cat.c:149,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/filter-cat.c:166,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:180,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/filter-cat.c:181,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/filter-cat.c:191,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/filter-cat.c:203,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/filter-cat.c:207,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:148,1
    - Dst: G_ZLIB_COMPRESSOR
      Src: /src/glib/gio/tests/filter-cat.c:155,1
    - Dst: g_zlib_compressor_set_file_info
      Src: /src/glib/gio/tests/filter-cat.c:155,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-cat.c:160,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/filter-cat.c:108,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/filter-cat.c:108,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-cat.c:158,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/filter-cat.c:181,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/filter-cat.c:149,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/filter-cat.c:191,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:190,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/filter-cat.c:98,1
    - Dst: g_zlib_decompressor_new
      Src: /src/glib/gio/tests/filter-cat.c:105,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/filter-cat.c:124,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-cat.c:125,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/filter-cat.c:150,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-cat.c:159,1
    - Dst: write
      Src: /src/glib/gio/tests/filter-cat.c:174,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/filter-cat.c:193,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/filter-cat.c:208,1
    - Dst: g_charset_converter_get_num_fallbacks
      Src: /src/glib/gio/tests/filter-cat.c:213,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:215,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/filter-cat.c:207,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:206,1
    - Dst: g_zlib_compressor_new
      Src: /src/glib/gio/tests/filter-cat.c:154,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 98
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 217
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 217
    functionName: cat
    functionSourceFile: /src/glib/gio/tests/filter-cat.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_get_prgname
    - g_charset_converter_new
    - g_input_stream_close
    - g_object_unref
    - g_zlib_compressor_new
    - g_charset_converter_set_use_fallback
    - G_ZLIB_COMPRESSOR
    - g_input_stream_read
    - g_signal_connect
    - g_converter_input_stream_new
    - g_error_free
    - G_CALLBACK
    - g_zlib_compressor_set_file_info
    - g_zlib_decompressor_new
    - g_file_query_info
    - write
    - g_printerr
    - g_file_read
    - g_charset_converter_get_num_fallbacks
    linkageType: ''
    returnType: void
    signature: 'static void cat (GFile * file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/tests/filter-cat.c:231,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:240,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:242,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:244,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:252,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-cat.c:265,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/filter-cat.c:228,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/filter-cat.c:236,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:241,1
    - Dst: cat
      Src: /src/glib/gio/tests/filter-cat.c:264,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/filter-cat.c:233,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/filter-cat.c:251,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/filter-cat.c:254,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/filter-cat.c:245,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/filter-cat.c:234,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/filter-cat.c:243,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:251,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/filter-cat.c:263,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:255,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/filter-cat.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 270
    functionName: main
    functionSourceFile: /src/glib/gio/tests/filter-cat.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_option_context_free
    - g_option_context_set_summary
    - g_get_prgname
    - g_option_context_parse
    - g_error_free
    - g_option_context_add_main_entries
    - g_object_unref
    - cat
    - g_file_new_for_commandline_arg
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:30,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:31,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:37,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:38,1
    - Dst: g_test_dbus_add_service_dir
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:42,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:43,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: session_bus_up
    functionSourceFile: /src/glib/gio/tests/gdbus-sessionbus.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_test_dbus_add_service_dir
    - g_free
    - g_assert
    - g_canonicalize_filename
    - g_test_dbus_up
    - g_test_dbus_new
    linkageType: ''
    returnType: void
    signature: 'void session_bus_up (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:57,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:58,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: session_bus_down
    functionSourceFile: /src/glib/gio/tests/gdbus-sessionbus.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_dbus_down
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'void session_bus_down (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:67,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:69,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: session_bus_run
    functionSourceFile: /src/glib/gio/tests/gdbus-sessionbus.c
    functionUses: []
    functionsReached:
    - session_bus_down
    - g_test_run
    - session_bus_up
    linkageType: ''
    returnType: gint
    signature: 'gint session_bus_run (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:50,1
    - Dst: g_test_dbus_stop
      Src: /src/glib/gio/tests/gdbus-sessionbus.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: session_bus_stop
    functionSourceFile: /src/glib/gio/tests/gdbus-sessionbus.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_dbus_stop
    linkageType: ''
    returnType: void
    signature: 'void session_bus_stop (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_format_size_full
      Src: /src/glib/gio/tests/gio-du.c:24,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gio-du.c:30,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gio-du.c:25,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gio-du.c:35,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gio-du.c:27,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gio-du.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - filename
    - disk_usage
    - num_dirs
    - num_files
    - error
    - nl
    argTypes:
    - gchar*
    - guint64
    - guint64
    - guint64
    - GError*
    - gchar
    constantsTouched: []
    func_position:
      end: 38
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 38
    functionName: print_result
    functionSourceFile: /src/glib/gio/tests/gio-du.c
    functionUses: []
    functionsReached:
    - g_free
    - g_error_free
    - g_format_size_full
    - g_print
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void print_result (const gchar *filename, guint64 disk_usage,
      guint64 num_dirs, guint64 num_files, GError *error, gchar nl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_measure_disk_usage_finish
      Src: /src/glib/gio/tests/gio-du.c:51,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gio-du.c:54,1
    - Dst: print_result
      Src: /src/glib/gio/tests/gio-du.c:52,1
    - Dst: G_FILE
      Src: /src/glib/gio/tests/gio-du.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: async_ready_func
    functionSourceFile: /src/glib/gio/tests/gio-du.c
    functionUses: []
    functionsReached:
    - g_file_measure_disk_usage_finish
    - g_free
    - print_result
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_func (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gio-du.c:67,1
    - Dst: print_result
      Src: /src/glib/gio/tests/gio-du.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - reporting
    - disk_usage
    - num_dirs
    - num_files
    - user_data
    argTypes:
    - gboolean
    - guint64
    - guint64
    - guint64
    - gpointer
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: report_progress
    functionSourceFile: /src/glib/gio/tests/gio-du.c
    functionUses: []
    functionsReached:
    - print_result
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void report_progress (gboolean reporting, guint64 disk_usage,
      guint64 num_dirs, guint64 num_files, gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gio-du.c:102,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gio-du.c:108,1
    - Dst: g_file_measure_disk_usage_async
      Src: /src/glib/gio/tests/gio-du.c:133,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gio-du.c:122,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gio-du.c:155,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gio-du.c:96,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gio-du.c:100,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gio-du.c:106,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gio-du.c:114,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gio-du.c:120,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/gio-du.c:129,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gio-du.c:149,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gio-du.c:158,1
    - Dst: g_win32_get_command_line
      Src: /src/glib/gio/tests/gio-du.c:80,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gio-du.c:94,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/gio-du.c:83,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gio-du.c:92,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gio-du.c:89,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gio-du.c:104,1
    - Dst: g_file_measure_disk_usage
      Src: /src/glib/gio/tests/gio-du.c:144,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gio-du.c:110,1
    - Dst: print_result
      Src: /src/glib/gio/tests/gio-du.c:146,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 162
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 162
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gio-du.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_str_equal
    - g_file_measure_disk_usage
    - print_result
    - g_win32_get_command_line
    - g_object_unref
    - g_strfreev
    - g_file_new_for_commandline_arg
    - g_file_measure_disk_usage_async
    - g_main_context_iteration
    - g_print
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: find_mime
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_equals
    linkageType: ''
    returnType: gint
    signature: 'static gint find_mime (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:138,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:139,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/contenttype.c:141,1
    - Dst: g_content_type_get_mime_type
      Src: /src/glib/gio/tests/contenttype.c:140,1
    - Dst: g_content_type_is_unknown
      Src: /src/glib/gio/tests/contenttype.c:139,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:142,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: test_unknown
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_free
    - g_content_type_from_mime_type
    - g_content_type_get_mime_type
    - g_assert_cmpstr
    - g_content_type_is_unknown
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_unknown (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:205,1
    - Dst: g_content_type_can_be_executable
      Src: /src/glib/gio/tests/contenttype.c:212,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:212,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:211,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:209,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:213,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:215,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:216,1
    - Dst: g_content_type_can_be_executable
      Src: /src/glib/gio/tests/contenttype.c:216,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:217,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:219,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:221,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:220,1
    - Dst: g_content_type_can_be_executable
      Src: /src/glib/gio/tests/contenttype.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 222
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 222
    functionName: test_executable
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_content_type_can_be_executable
    - g_free
    - g_content_type_from_mime_type
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_executable (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:244,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/tests/contenttype.c:246,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/tests/contenttype.c:247,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contenttype.c:261,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:264,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:266,1
    - Dst: g_themed_icon_get_names
      Src: /src/glib/gio/tests/contenttype.c:271,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:282,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:253,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:258,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/tests/contenttype.c:266,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:273,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:275,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:277,1
    - Dst: g_themed_icon_get_names
      Src: /src/glib/gio/tests/contenttype.c:251,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/contenttype.c:251,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:253,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/contenttype.c:255,1
    - Dst: g_content_type_get_icon
      Src: /src/glib/gio/tests/contenttype.c:265,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/tests/contenttype.c:267,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/contenttype.c:271,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:273,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:277,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contenttype.c:281,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:246,1
    - Dst: g_content_type_get_icon
      Src: /src/glib/gio/tests/contenttype.c:245,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/contenttype.c:255,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:257,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:258,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:262,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:257,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:275,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 283
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 283
    functionName: test_icon
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_get_icon
    - g_free
    - G_IS_ICON
    - g_content_type_from_mime_type
    - g_assert_cmpuint
    - g_strv_length
    - g_object_unref
    - G_THEMED_ICON
    - g_strv_contains
    - G_IS_THEMED_ICON
    - g_assert_true
    - g_themed_icon_get_names
    linkageType: ''
    returnType: void
    signature: 'static void test_icon (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/contenttype.c:347,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/contenttype.c:351,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/contenttype.c:354,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/contenttype.c:353,1
    - Dst: g_content_type_guess_for_tree
      Src: /src/glib/gio/tests/contenttype.c:355,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:356,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/contenttype.c:357,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contenttype.c:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 360
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 360
    functionName: test_tree
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_file_new_for_path
    - g_object_unref
    - g_test_skip
    - g_content_type_guess_for_tree
    - g_strfreev
    - G_N_ELEMENTS
    - g_assert_content_type_equals
    linkageType: ''
    returnType: void
    signature: 'static void test_tree (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:388,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/contenttype.c:395,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/contenttype.c:391,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:397,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/contenttype.c:393,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 399
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 399
    functionName: test_guess_svg_from_data
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_free
    - g_assert_cmpstr
    - g_test_skip
    - g_content_type_guess
    linkageType: ''
    returnType: void
    signature: 'static void test_guess_svg_from_data (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:37,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/contenttype.c:34,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:40,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:41,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:49,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:51,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:55,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:69,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:70,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:71,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:93,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:107,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:115,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:87,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:99,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:116,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:39,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:47,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:53,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:48,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:52,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:54,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:66,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:68,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:80,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:88,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:95,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:100,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:105,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:91,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:112,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:94,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:117,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:124,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:108,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:111,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:126,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/contenttype.c:29,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/contenttype.c:32,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:43,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:45,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:65,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:73,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:75,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:77,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:79,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:84,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:85,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:110,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:120,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:125,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:109,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:119,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:98,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:104,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:86,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:38,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:42,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:46,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:56,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:61,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:62,1
    - Dst: g_assert_content_type_equals
      Src: /src/glib/gio/tests/contenttype.c:63,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:64,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:72,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:76,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:96,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:118,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/tests/contenttype.c:123,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:128,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:92,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:78,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:127,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 106
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 130
    functionName: test_guess
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_false
    - g_free
    - g_content_type_from_mime_type
    - g_strdup_printf
    - g_content_type_guess
    - g_getenv
    - g_assert_content_type_equals
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_guess (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:152,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:156,1
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/tests/contenttype.c:155,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:153,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:155,1
    - Dst: g_content_type_is_mime_type
      Src: /src/glib/gio/tests/contenttype.c:156,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:158,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: test_subtype
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_free
    - g_content_type_is_a
    - g_content_type_from_mime_type
    - g_content_type_is_mime_type
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_subtype (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/contenttype.c:178,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:183,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/contenttype.c:187,1
    - Dst: g_content_types_get_registered
      Src: /src/glib/gio/tests/contenttype.c:185,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:182,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/contenttype.c:187,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/contenttype.c:190,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/tests/contenttype.c:190,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/contenttype.c:191,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/tests/contenttype.c:191,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:196,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/contenttype.c:193,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: test_list
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_free
    - g_content_type_from_mime_type
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_list_find_custom
    - g_test_skip
    - g_list_length
    - g_content_types_get_registered
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_list (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:230,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:234,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:235,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/contenttype.c:232,1
    - Dst: g_content_type_get_description
      Src: /src/glib/gio/tests/contenttype.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: test_description
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_free
    - g_content_type_from_mime_type
    - g_content_type_get_description
    linkageType: ''
    returnType: void
    signature: 'static void test_description (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:301,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:307,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:305,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:307,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:313,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:321,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:321,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/contenttype.c:320,1
    - Dst: g_themed_icon_get_names
      Src: /src/glib/gio/tests/contenttype.c:320,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:294,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:302,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:304,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:306,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:306,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:315,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:322,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:322,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:329,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/tests/contenttype.c:292,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/tests/contenttype.c:295,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:301,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:311,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/tests/contenttype.c:315,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:324,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:324,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:325,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:325,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contenttype.c:328,1
    - Dst: g_content_type_get_symbolic_icon
      Src: /src/glib/gio/tests/contenttype.c:293,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/tests/contenttype.c:294,1
    - Dst: g_themed_icon_get_names
      Src: /src/glib/gio/tests/contenttype.c:299,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/contenttype.c:299,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:302,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:304,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/contenttype.c:305,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contenttype.c:310,1
    - Dst: g_content_type_get_symbolic_icon
      Src: /src/glib/gio/tests/contenttype.c:314,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/tests/contenttype.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 331
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 331
    functionName: test_symbolic_icon
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_free
    - G_IS_ICON
    - g_content_type_from_mime_type
    - g_object_unref
    - G_THEMED_ICON
    - g_content_type_get_symbolic_icon
    - g_strv_contains
    - G_IS_THEMED_ICON
    - g_assert_true
    - g_themed_icon_get_names
    linkageType: ''
    returnType: void
    signature: 'static void test_symbolic_icon (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/contenttype.c:367,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/contenttype.c:374,1
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/tests/contenttype.c:370,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/contenttype.c:371,1
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/tests/contenttype.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: test_type_is_a_special_case
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_test_bug
    - g_content_type_is_a
    linkageType: ''
    returnType: void
    signature: 'static void test_type_is_a_special_case (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_get_mime_type
      Src: /src/glib/gio/tests/contenttype.c:406,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/contenttype.c:410,1
    - Dst: g_content_type_get_mime_type
      Src: /src/glib/gio/tests/contenttype.c:409,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/contenttype.c:407,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:408,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:411,1
    - Dst: g_content_type_get_mime_type
      Src: /src/glib/gio/tests/contenttype.c:412,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/contenttype.c:413,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:414,1
    - Dst: g_content_type_get_mime_type
      Src: /src/glib/gio/tests/contenttype.c:415,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:417,1
    - Dst: g_content_type_get_mime_type
      Src: /src/glib/gio/tests/contenttype.c:418,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/contenttype.c:419,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/contenttype.c:416,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/contenttype.c:424,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/contenttype.c:422,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contenttype.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 426
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 426
    functionName: test_mime_from_content
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_get_mime_type
    - g_free
    - g_assert_cmpstr
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_mime_from_content (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/contenttype.c:431,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:434,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:435,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:433,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:436,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:437,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:438,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:439,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:440,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:441,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:444,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:443,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contenttype.c:442,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/contenttype.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 448
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 448
    functionName: main
    functionSourceFile: /src/glib/gio/tests/contenttype.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    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.c:91,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:95,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:94,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:94,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:92,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:95,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:96,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: test_portal_support_snap_none
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - create_fake_snap_yaml
    - create_fake_snapctl
    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.c:60,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/portal-support-snap.c:67,1
    - Dst: cleanup_snapfiles
      Src: /src/glib/gio/tests/portal-support-snap.c:69,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/portal-support-snap.c:62,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/portal-support-snap.c:65,1
    - Dst: cleanup_snapfiles
      Src: /src/glib/gio/tests/portal-support-snap.c:70,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/portal-support-snap.c:72,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/portal-support-snap.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - setup_data
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: tests_teardown
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_clear_pointer
    - cleanup_snapfiles
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void tests_teardown (SetupData *setup_data, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/portal-support-snap.c:115,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:118,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:119,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:116,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:118,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:119,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:120,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: test_portal_support_snap_desktop_only
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - create_fake_snap_yaml
    - create_fake_snapctl
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_desktop_only (SetupData *setup,
      gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/portal-support-snap.c:139,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:140,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:142,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:143,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:142,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:143,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:144,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: test_portal_support_snap_gsettings_only
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - create_fake_snap_yaml
    - create_fake_snapctl
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_gsettings_only (SetupData *setup,
      gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/tests/portal-support-snap.c:42,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/portal-support-snap.c:42,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/portal-support-snap.c:43,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/tests/portal-support-snap.c:45,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/portal-support-snap.c:43,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/portal-support-snap.c:46,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/portal-support-snap.c:48,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/portal-support-snap.c:49,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/portal-support-snap.c:51,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/portal-support-snap.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - setup_data
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: tests_setup
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_nonnull
    - g_get_user_runtime_dir
    - g_getenv
    - g_setenv
    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.c:80,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:83,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:82,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:82,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:83,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:84,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: test_portal_support_snap_no_snapctl
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - create_fake_snap_yaml
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_no_snapctl (SetupData *setup,
      gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/portal-support-snap.c:103,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:104,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:107,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:106,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:106,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:107,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:108,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: test_portal_support_snap_all
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - create_fake_snap_yaml
    - create_fake_snapctl
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_all (SetupData *setup, gconstpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/portal-support-snap.c:127,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:130,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:130,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:128,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:131,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:131,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:132,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: test_portal_support_snap_network_only
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - create_fake_snap_yaml
    - create_fake_snapctl
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_network_only (SetupData *setup,
      gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:155,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:160,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:161,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:159,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:165,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:169,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:171,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:176,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:179,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:181,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:186,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:183,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:186,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:154,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:152,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:156,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:163,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:165,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:164,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:166,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:170,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:174,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:178,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:184,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:156,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:159,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:161,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:168,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:169,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:170,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:171,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:175,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:179,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:180,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:176,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:184,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:180,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:181,1
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/portal-support-snap.c:151,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:155,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:154,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:158,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:160,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:164,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:166,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap.c:173,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap.c:174,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap.c:175,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap.c:185,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 187
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 187
    functionName: test_portal_support_snap_updates_dynamically
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - create_fake_snap_yaml
    - create_fake_snapctl
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_updates_dynamically (SetupData
      *setup, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/portal-support-snap.c:192,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap.c:196,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap.c:198,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap.c:200,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap.c:194,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap.c:202,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap.c:204,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap.c:206,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/portal-support-snap.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 210
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/glib/gio/tests/portal-support-snap.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-tests.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: on_property_notify
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_property_notify (GObject *object, GParamSpec *pspec,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-tests.c:64,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-tests.c:67,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/gdbus-tests.c:64,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-tests.c:66,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-tests.c:69,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-tests.c:71,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/gio/tests/gdbus-tests.c:72,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-tests.c:75,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-tests.c:76,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-tests.c:77,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-tests.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - object
    - property_name
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: _g_assert_property_notify_run
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_free
    - g_timeout_add_seconds
    - g_source_remove
    - g_main_loop_unref
    - G_CALLBACK
    - g_strdup_printf
    - g_main_loop_new
    - g_main_loop_run
    - g_main_context_get_thread_default
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_assert_property_notify_run (gpointer object, const gchar
      *property_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-tests.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: watch_free_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void watch_free_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-tests.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: on_signal_received_timeout
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_signal_received_timeout (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_address_get_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-tests.c:218,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-tests.c:228,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-tests.c:222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - bus_type
    - cancellable
    - error
    argTypes:
    - GBusType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 232
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 232
    functionName: _g_bus_get_priv
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_dbus_address_get_for_bus_sync
    - g_free
    - g_dbus_connection_new_for_address_sync
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *_g_bus_get_priv (GBusType bus_type, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-tests.c:86,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/tests/gdbus-tests.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: _give_up
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_error
    - g_return_val_if_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _give_up (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-tests.c:105,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-tests.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: name_appeared_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void name_appeared_cb (GDBusConnection *connection, const gchar
      *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-tests.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: on_property_notify_timeout
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_property_notify_timeout (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-tests.c:127,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/tests/gdbus-tests.c:137,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/gdbus-tests.c:138,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/tests/gdbus-tests.c:129,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/gdbus-tests.c:141,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-tests.c:144,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-tests.c:146,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-tests.c:149,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/gdbus-tests.c:151,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/gdbus-tests.c:152,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-tests.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - connection
    - context
    argTypes:
    - GDBusConnection*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: ensure_gdbus_testserver_up
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_main_context_push_thread_default
    - g_bus_unwatch_name
    - g_bus_watch_name_on_connection
    - g_main_context_pop_thread_default
    - g_main_context_iteration
    - g_source_unref
    - g_source_destroy
    - g_source_attach
    - g_timeout_source_new_seconds
    linkageType: ''
    returnType: void
    signature: 'void ensure_gdbus_testserver_up (GDBusConnection *connection, GMainContext
      *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-tests.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: on_signal_received
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_signal_received (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-tests.c:189,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/gdbus-tests.c:189,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/gio/tests/gdbus-tests.c:195,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-tests.c:193,1
    - Dst: g_signal_connect_swapped
      Src: /src/glib/gio/tests/gdbus-tests.c:191,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-tests.c:198,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-tests.c:199,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-tests.c:200,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-tests.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - object
    - signal_name
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 204
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 204
    functionName: _g_assert_signal_received_run
    functionSourceFile: /src/glib/gio/tests/gdbus-tests.c
    functionUses: []
    functionsReached:
    - g_timeout_add_seconds
    - g_source_remove
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_signal_connect_swapped
    - g_main_loop_run
    - g_main_context_get_thread_default
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_assert_signal_received_run (gpointer object, const gchar
      *signal_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/gio/tests/socket.c:834,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/socket.c:835,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 839
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 839
    functionName: cancellable_thread_cb
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    - g_usleep
    - g_object_unref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer cancellable_thread_cb (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ip_sync_dgram_timeouts
      Src: /src/glib/gio/tests/socket.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 945
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 945
    functionName: test_ipv4_sync_dgram_timeouts
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - test_ip_sync_dgram_timeouts
    linkageType: ''
    returnType: void
    signature: 'static void test_ipv4_sync_dgram_timeouts (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_accept
      Src: /src/glib/gio/tests/socket.c:1063,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:1066,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:1068,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1066,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1064,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1069,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1070,1
    - Dst: g_socket_address_get_family
      Src: /src/glib/gio/tests/socket.c:1070,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1071,1
    - Dst: g_socket_get_remote_address
      Src: /src/glib/gio/tests/socket.c:1073,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1074,1
    - Dst: g_socket_address_get_family
      Src: /src/glib/gio/tests/socket.c:1075,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1076,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1080,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1078,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1079,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1082
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1082
    functionName: v4mapped_server_thread
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_socket_get_family
    - g_socket_get_local_address
    - g_socket_address_get_family
    - g_assert_no_error
    - g_socket_get_remote_address
    - g_object_unref
    - g_socket_accept
    - g_socket_close
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer v4mapped_server_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1340,1
    - Dst: g_inet_socket_address_get_scope_id
      Src: /src/glib/gio/tests/socket.c:1344,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1350,1
    - Dst: g_htons
      Src: /src/glib/gio/tests/socket.c:1331,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/tests/socket.c:1335,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/socket.c:1339,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/tests/socket.c:1347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1343,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/socket.c:1343,1
    - Dst: g_inet_address_get_is_loopback
      Src: /src/glib/gio/tests/socket.c:1341,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1344,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/socket.c:1350,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1352,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket.c:1336,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket.c:1338,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1348,1
    - Dst: g_inet_socket_address_get_flowinfo
      Src: /src/glib/gio/tests/socket.c:1345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1351,1
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:1328,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1336,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/tests/socket.c:1340,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1341,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1353,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1356
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1356
    functionName: test_sockaddr
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - G_IS_INET_SOCKET_ADDRESS
    - g_assert_cmpint
    - g_inet_socket_address_get_address
    - g_assert
    - g_socket_address_to_native
    - g_assert_no_error
    - g_inet_socket_address_get_flowinfo
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_inet_socket_address_get_scope_id
    - memset
    - g_inet_address_get_is_loopback
    - g_htons
    - g_inet_address_get_family
    - memcmp
    - g_socket_address_new_from_native
    linkageType: ''
    returnType: void
    signature: 'static void test_sockaddr (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/socket.c:1701,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1715,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1734,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1735,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:1738,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1739,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/socket.c:1742,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket.c:1742,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1751,1
    - Dst: g_socket_send_to
      Src: /src/glib/gio/tests/socket.c:1761,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1762,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1806,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1817,1
    - Dst: g_socket_get_available_bytes
      Src: /src/glib/gio/tests/socket.c:1785,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1805,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1823,1
    - Dst: g_socket_condition_wait
      Src: /src/glib/gio/tests/socket.c:1764,1
    - Dst: g_socket_accept
      Src: /src/glib/gio/tests/socket.c:1753,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:1750,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1744,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/tests/socket.c:1748,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:1755,1
    - Dst: g_socket_get_available_bytes
      Src: /src/glib/gio/tests/socket.c:1766,1
    - Dst: g_socket_send_to
      Src: /src/glib/gio/tests/socket.c:1768,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1769,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1791,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1801,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1810,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1811,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1834,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1766,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:1818,1
    - Dst: g_socket_get_available_bytes
      Src: /src/glib/gio/tests/socket.c:1811,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1832,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1710,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1714,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/socket.c:1722,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/tests/socket.c:1726,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket.c:1733,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:1731,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1727,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1736,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:1742,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1743,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:1819,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1829,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1833,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1749,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1756,1
    - Dst: g_socket_get_available_bytes
      Src: /src/glib/gio/tests/socket.c:1796,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1827,1
    - Dst: g_socket_get_available_bytes
      Src: /src/glib/gio/tests/socket.c:1791,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/socket.c:1788,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/socket.c:1715,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1717,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1721,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1722,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/tests/socket.c:1730,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket.c:1741,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/socket.c:1795,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1796,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1799,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:1800,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:1814,1
    - Dst: g_socket_get_available_bytes
      Src: /src/glib/gio/tests/socket.c:1827,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1824,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1754,1
    - Dst: g_socket_get_available_bytes
      Src: /src/glib/gio/tests/socket.c:1806,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 104
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1835
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1835
    functionName: test_get_available
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - GPOINTER_TO_UINT
    - g_socket_connect
    - g_inet_socket_address_new
    - g_clear_error
    - g_usleep
    - g_socket_get_available_bytes
    - g_socket_condition_wait
    - G_INET_SOCKET_ADDRESS
    - g_assert_cmpint
    - g_socket_receive
    - g_socket_bind
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_inet_address_new_any
    - g_socket_set_option
    - g_socket_new
    - g_socket_accept
    - g_socket_close
    - g_socket_get_local_address
    - g_assert_no_error
    - g_socket_set_blocking
    - g_inet_address_new_loopback
    - g_assert_error
    - g_socket_send_to
    - g_assert
    - g_socket_listen
    linkageType: ''
    returnType: void
    signature: 'static void test_get_available (gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_writev_all
      Src: /src/glib/gio/tests/socket.c:1892,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket.c:1893,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1894,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1895,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:1892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1898
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1898
    functionName: test_read_write_writev_thread
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_no_error
    - G_N_ELEMENTS
    - g_assert_true
    - g_output_stream_writev_all
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_read_write_writev_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1999,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket.c:2007,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/tests/socket.c:2005,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2003,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2006,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:2009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2010
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2010
    functionName: test_nosigpipe
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_object_unref
    - g_socket_new
    - g_socket_get_option
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_nosigpipe (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:874,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:870,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:864,1
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:895,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:918,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/socket.c:923,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/socket.c:928,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:937,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:938,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:913,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:929,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/tests/socket.c:861,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:864,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:864,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:871,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:878,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/socket.c:880,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:901,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:902,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:903,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:907,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:914,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:928,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/socket.c:919,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:935,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:908,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:854,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:858,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/tests/socket.c:862,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:873,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket.c:872,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket.c:869,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:898,1
    - Dst: g_socket_receive_messages
      Src: /src/glib/gio/tests/socket.c:899,1
    - Dst: g_socket_receive_messages
      Src: /src/glib/gio/tests/socket.c:910,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:912,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:927,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:926,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/socket.c:921,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/socket.c:914,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:915,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:861,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:862,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/socket.c:909,1
    - Dst: g_socket_receive_messages
      Src: /src/glib/gio/tests/socket.c:924,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:931,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:934,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 68
    argCount: 1
    argNames:
    - family
    argTypes:
    - GSocketFamily
    constantsTouched: []
    func_position:
      end: 939
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 939
    functionName: test_ip_sync_dgram_timeouts
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_new
    - g_clear_error
    - g_thread_new
    - g_socket_get_socket_type
    - g_socket_get_fd
    - g_assert_cmpint
    - g_socket_get_family
    - g_socket_bind
    - GLIB_PRIVATE_CALL
    - g_object_unref
    - memset
    - g_thread_join
    - g_get_monotonic_time
    - g_socket_new
    - g_socket_close
    - g_object_ref
    - g_assert_no_error
    - g_cancellable_new
    - g_socket_receive_messages
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_assert_error
    - g_inet_address_new_loopback
    - g_assert
    - g_socket_get_protocol
    linkageType: ''
    returnType: void
    signature: 'static void test_ip_sync_dgram_timeouts (GSocketFamily family) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/socket.c:952,1
    - Dst: test_ip_sync_dgram_timeouts
      Src: /src/glib/gio/tests/socket.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 957
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 957
    functionName: test_ipv6_sync_dgram_timeouts
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - test_ip_sync_dgram_timeouts
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_ipv6_sync_dgram_timeouts (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:1113,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1121,1
    - Dst: g_socket_is_connected
      Src: /src/glib/gio/tests/socket.c:1125,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:1127,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1132,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1134,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/socket.c:1095,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1107,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1111,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:1114,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1125,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1120,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1124,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:1119,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1131,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1136,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket.c:1118,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1130,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1135,1
    - Dst: create_server
      Src: /src/glib/gio/tests/socket.c:1099,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:1102,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:1103,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:1116,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1117,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket.c:1119,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/socket.c:1119,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:1123,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1129,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:1138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1139
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1139
    functionName: test_ipv6_v4mapped
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_connect
    - g_inet_socket_address_new
    - g_clear_error
    - g_slice_free
    - G_INET_SOCKET_ADDRESS
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_test_skip
    - g_thread_join
    - create_server
    - g_socket_new
    - g_socket_close
    - g_socket_get_local_address
    - g_assert_no_error
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_inet_address_new_loopback
    - g_test_skip_printf
    - g_socket_is_connected
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_ipv6_v4mapped (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:1365,1
    - Dst: g_snprintf
      Src: /src/glib/gio/tests/socket.c:1367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1368,1
    - Dst: bind
      Src: /src/glib/gio/tests/socket.c:1369,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/socket.c:1367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1370,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/socket.c:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1373
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1373
    functionName: bind_win32_unixfd
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_get_tmp_dir
    - g_remove
    - memset
    - g_snprintf
    - bind
    linkageType: ''
    returnType: void
    signature: 'static void bind_win32_unixfd (int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_connection_for_fd
      Src: /src/glib/gio/tests/socket.c:1484,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/tests/socket.c:1490,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1494,1
    - Dst: create_connection_for_fd
      Src: /src/glib/gio/tests/socket.c:1507,1
    - Dst: g_unix_connection_send_fd
      Src: /src/glib/gio/tests/socket.c:1510,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/tests/socket.c:1527,1
    - Dst: WEXITSTATUS
      Src: /src/glib/gio/tests/socket.c:1528,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1464,1
    - Dst: fork
      Src: /src/glib/gio/tests/socket.c:1469,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1470,1
    - Dst: close
      Src: /src/glib/gio/tests/socket.c:1483,1
    - Dst: exit
      Src: /src/glib/gio/tests/socket.c:1500,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1513,1
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:1518,1
    - Dst: read
      Src: /src/glib/gio/tests/socket.c:1520,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1523,1
    - Dst: pipe
      Src: /src/glib/gio/tests/socket.c:1463,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1467,1
    - Dst: g_unix_connection_receive_fd
      Src: /src/glib/gio/tests/socket.c:1490,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1499,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1492,1
    - Dst: write
      Src: /src/glib/gio/tests/socket.c:1497,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/tests/socket.c:1510,1
    - Dst: close
      Src: /src/glib/gio/tests/socket.c:1515,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1516,1
    - Dst: waitpid
      Src: /src/glib/gio/tests/socket.c:1526,1
    - Dst: socketpair
      Src: /src/glib/gio/tests/socket.c:1466,1
    - Dst: close
      Src: /src/glib/gio/tests/socket.c:1486,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1487,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1493,1
    - Dst: close
      Src: /src/glib/gio/tests/socket.c:1506,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1512,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket.c:1524,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1527,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1528,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1534
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1534
    functionName: test_unix_connection_ancillary_data
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - socketpair
    - g_unix_connection_send_fd
    - fork
    - create_connection_for_fd
    - read
    - g_assert_cmpint
    - g_object_unref
    - close
    - memset
    - exit
    - g_unix_connection_receive_fd
    - g_assert_no_error
    - G_UNIX_CONNECTION
    - write
    - pipe
    - g_assert
    - WIFEXITED
    - g_assert_cmpstr
    - WEXITSTATUS
    - waitpid
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_connection_ancillary_data (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:2034,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2035,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket.c:2055,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:2060,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/socket.c:2061,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:2062,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:2065,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2066,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:2068,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:2070,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2071,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:2043,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:2048,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/socket.c:2056,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:2074,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:2076,1
    - Dst: create_server
      Src: /src/glib/gio/tests/socket.c:2026,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:2030,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:2029,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:2037,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2041,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:2044,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:2046,1
    - Dst: g_socket_get_credentials
      Src: /src/glib/gio/tests/socket.c:2050,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2047,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/socket.c:2054,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:2073,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/socket.c:2053,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2077
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2077
    functionName: test_credentials_tcp_client
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_connect
    - g_clear_error
    - g_credentials_to_string
    - g_slice_free
    - g_object_unref
    - g_thread_join
    - create_server
    - g_socket_new
    - g_socket_close
    - g_socket_get_local_address
    - g_assert_no_error
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_assert_error
    - g_test_skip_printf
    - g_test_message
    - g_free
    - g_clear_object
    - g_socket_get_credentials
    linkageType: ''
    returnType: void
    signature: 'static void test_credentials_tcp_client (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:2359,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/socket.c:2406,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2402,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2403,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2398,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/socket.c:2391,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2388,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2401,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:2348,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:2355,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2367,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2368,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2369,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2376,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2374,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2375,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2370,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2372,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/socket.c:2395,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2386,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/socket.c:2389,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/socket.c:2346,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/socket.c:2393,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/socket.c:2389,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2387,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/socket.c:2395,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:2360,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2363,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2364,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2365,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2366,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2377,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2378,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2379,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2381,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket.c:2384,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/socket.c:2391,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/socket.c:2393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2407
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2407
    functionName: main
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_test_add_data_func
    - g_object_unref
    - g_test_add_func
    - GUINT_TO_POINTER
    - g_clear_error
    - g_test_run
    - g_test_init
    - g_socket_new
    - g_assert_error
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:2220,1
    - Dst: g_close
      Src: /src/glib/gio/tests/socket.c:2218,1
    - Dst: WSASetLastError
      Src: /src/glib/gio/tests/socket.c:2222,1
    - Dst: socket
      Src: /src/glib/gio/tests/socket.c:2244,1
    - Dst: WSAGetLastError
      Src: /src/glib/gio/tests/socket.c:2253,1
    - Dst: ioctlsocket
      Src: /src/glib/gio/tests/socket.c:2261,1
    - Dst: connect
      Src: /src/glib/gio/tests/socket.c:2252,1
    - Dst: DeleteFile
      Src: /src/glib/gio/tests/socket.c:2287,1
    - Dst: WSASetLastError
      Src: /src/glib/gio/tests/socket.c:2214,1
    - Dst: GetLastError
      Src: /src/glib/gio/tests/socket.c:2234,1
    - Dst: WSAIoctl
      Src: /src/glib/gio/tests/socket.c:2264,1
    - Dst: accept
      Src: /src/glib/gio/tests/socket.c:2256,1
    - Dst: WSASetLastError
      Src: /src/glib/gio/tests/socket.c:2269,1
    - Dst: closesocket
      Src: /src/glib/gio/tests/socket.c:2281,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket.c:2288,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/socket.c:2206,1
    - Dst: strncpy
      Src: /src/glib/gio/tests/socket.c:2226,1
    - Dst: socket
      Src: /src/glib/gio/tests/socket.c:2228,1
    - Dst: DeleteFile
      Src: /src/glib/gio/tests/socket.c:2232,1
    - Dst: listen
      Src: /src/glib/gio/tests/socket.c:2241,1
    - Dst: closesocket
      Src: /src/glib/gio/tests/socket.c:2285,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/tests/socket.c:2211,1
    - Dst: bind
      Src: /src/glib/gio/tests/socket.c:2238,1
    - Dst: ioctlsocket
      Src: /src/glib/gio/tests/socket.c:2249,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/tests/socket.c:2267,1
    - Dst: closesocket
      Src: /src/glib/gio/tests/socket.c:2283,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 66
    argCount: 4
    argNames:
    - domain
    - type
    - protocol
    - sv
    argTypes:
    - gint
    - gint
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 2290
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2290
    functionName: _g_win32_socketpair
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_close
    - ioctlsocket
    - g_return_val_if_fail
    - bind
    - strlen
    - g_file_open_tmp
    - listen
    - accept
    - GetCurrentProcessId
    - WSAIoctl
    - socket
    - closesocket
    - DeleteFile
    - WSASetLastError
    - strncpy
    - g_free
    - GetLastError
    - connect
    - WSAGetLastError
    linkageType: ''
    returnType: gint
    signature: 'static gint _g_win32_socketpair (gint domain, gint type, gint protocol,
      gint sv[2]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:254,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:253,1
    - Dst: g_socket_send
      Src: /src/glib/gio/tests/socket.c:252,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:252,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:254,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/tests/socket.c:256,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/socket.c:257,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/socket.c:259,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/socket.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - client
    - cond
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 263
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 263
    functionName: test_ip_async_write_ready
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - strlen
    - g_source_set_callback
    - g_assert_cmpint
    - g_assert_no_error
    - g_source_unref
    - g_socket_create_source
    - g_socket_send
    - g_source_attach
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean test_ip_async_write_ready (GSocket *client,\t\t\t
      GIOCondition cond,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_accept
      Src: /src/glib/gio/tests/socket.c:967,1
    - Dst: g_socket_send
      Src: /src/glib/gio/tests/socket.c:970,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:971,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:970,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:968,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:972,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 975
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 975
    functionName: graceful_server_thread
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_assert_no_error
    - g_socket_accept
    - g_socket_send
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer graceful_server_thread (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSADuplicateSocket
      Src: /src/glib/gio/tests/socket.c:1212,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/tests/socket.c:1216,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/socket.c:1217,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/tests/socket.c:1213,1
    - Dst: WSAGetLastError
      Src: /src/glib/gio/tests/socket.c:1216,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket.c:1218,1
    - Dst: WSASocket
      Src: /src/glib/gio/tests/socket.c:1222,1
    - Dst: dup
      Src: /src/glib/gio/tests/socket.c:1227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1229
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1229
    functionName: duplicate_socket_fd
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_test_message
    - WSADuplicateSocket
    - dup
    - g_free
    - WSASocket
    - GetCurrentProcessId
    - WSAGetLastError
    - g_win32_error_message
    linkageType: ''
    returnType: int
    signature: 'static int duplicate_socket_fd (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/socket.c:1443,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/socket.c:1446,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/socket.c:1445,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1445,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1444,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1447,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/tests/socket.c:1447,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1450
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1450
    functionName: create_connection_for_fd
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - G_IS_UNIX_CONNECTION
    - g_assert
    - g_assert_no_error
    - g_socket_new_from_fd
    - g_object_unref
    - g_socket_connection_factory_create_connection
    linkageType: ''
    returnType: GSocketConnection*
    signature: 'static GSocketConnection *create_connection_for_fd (int fd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_socketpair
      Src: /src/glib/gio/tests/socket.c:2303,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/socket.c:2306,1
    - Dst: socketpair
      Src: /src/glib/gio/tests/socket.c:2310,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/socket.c:2314,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:2312,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2315,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/socket.c:2316,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2317,1
    - Dst: g_socket_get_credentials
      Src: /src/glib/gio/tests/socket.c:2319,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/socket.c:2322,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:2329,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:2331,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:2335,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/socket.c:2325,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:2334,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket.c:2324,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/socket.c:2330,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/socket.c:2323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2336
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2336
    functionName: test_credentials_unix_socketpair
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - socketpair
    - g_clear_object
    - g_assert_no_error
    - g_socket_new_from_fd
    - _g_win32_socketpair
    - g_test_skip
    - g_clear_error
    - g_object_unref
    - g_credentials_to_string
    - g_assert_error
    - g_socket_get_credentials
    linkageType: ''
    returnType: void
    signature: 'static void test_credentials_unix_socketpair (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:227,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:231,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:230,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:231,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket.c:233,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/socket.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - client
    - cond
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: test_ip_async_read_ready
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_socket_receive
    - g_assert_no_error
    - g_assert_cmpstr
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean test_ip_async_read_ready (GSocket *client,\t\t\t GIOCondition
      cond,\t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:278,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:279,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:280,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:282,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/tests/socket.c:285,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/socket.c:286,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/socket.c:288,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/socket.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - client
    - cond
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 292
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 292
    functionName: test_ip_async_timed_out
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_assert_cmpint
    - g_socket_receive
    - g_clear_error
    - g_source_unref
    - g_socket_create_source
    - g_assert_error
    - g_source_attach
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean test_ip_async_timed_out (GSocket *client,\t\t\t GIOCondition
      cond,\t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:991,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:1005,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:1012,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:1013,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:1009,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1018,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:1020,1
    - Dst: g_socket_shutdown
      Src: /src/glib/gio/tests/socket.c:1023,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1024,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1041,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1048,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:997,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:996,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1005,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/tests/socket.c:1007,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:1009,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1009,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:1032,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1038,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1039,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:1029,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1047,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:1051,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1042,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1045,1
    - Dst: create_server
      Src: /src/glib/gio/tests/socket.c:988,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1007,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/tests/socket.c:1006,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:1028,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:1032,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1033,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:1034,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:1037,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:992,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:999,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1003,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1006,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:1015,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1016,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1017,1
    - Dst: g_socket_is_connected
      Src: /src/glib/gio/tests/socket.c:1017,1
    - Dst: g_socket_condition_wait
      Src: /src/glib/gio/tests/socket.c:1027,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1034,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1044,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1049,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1052
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1052
    functionName: test_close_graceful
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_connect
    - g_clear_error
    - g_socket_get_socket_type
    - g_slice_free
    - g_socket_get_fd
    - g_socket_condition_wait
    - strlen
    - g_assert_cmpint
    - g_socket_get_family
    - g_socket_receive
    - GLIB_PRIVATE_CALL
    - g_object_unref
    - g_thread_join
    - create_server
    - g_socket_new
    - g_socket_close
    - g_socket_get_local_address
    - g_assert_no_error
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_socket_shutdown
    - g_assert_error
    - g_test_skip_printf
    - g_socket_is_connected
    - g_assert
    - g_socket_get_protocol
    linkageType: ''
    returnType: void
    signature: 'static void test_close_graceful (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_server
      Src: /src/glib/gio/tests/socket.c:1158,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/socket.c:1154,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1169,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1173,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:1176,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:1186,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1179,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1197,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1200,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1190,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:1195,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:1162,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:1161,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:1166,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1167,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:1178,1
    - Dst: g_socket_condition_timed_wait
      Src: /src/glib/gio/tests/socket.c:1183,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/socket.c:1182,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:1185,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:1203,1
    - Dst: g_test_thorough
      Src: /src/glib/gio/tests/socket.c:1152,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:1175,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/socket.c:1187,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1189,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1192,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1193,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1198,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1204
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1204
    functionName: test_timed_wait
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_connect
    - g_clear_error
    - g_slice_free
    - g_assert_cmpint
    - g_test_thorough
    - g_object_unref
    - g_test_skip
    - g_thread_join
    - create_server
    - g_get_monotonic_time
    - g_socket_new
    - g_socket_close
    - g_socket_get_local_address
    - g_socket_condition_timed_wait
    - g_assert_no_error
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_assert_error
    - g_test_skip_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_timed_wait (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1256,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1260,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:1263,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:1265,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:1275,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:1279,1
    - Dst: g_socket_send
      Src: /src/glib/gio/tests/socket.c:1282,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:1282,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1284,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1302,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1312,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1313,1
    - Dst: create_server
      Src: /src/glib/gio/tests/socket.c:1245,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:1248,1
    - Dst: g_socket_is_connected
      Src: /src/glib/gio/tests/socket.c:1267,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/tests/socket.c:1276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1277,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1288,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:1288,1
    - Dst: g_socket_shutdown
      Src: /src/glib/gio/tests/socket.c:1292,1
    - Dst: g_socket_shutdown
      Src: /src/glib/gio/tests/socket.c:1297,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:1308,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1310,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:1316,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1303,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:1284,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:1286,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1306,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:1310,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/tests/socket.c:1277,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1266,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1267,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:1271,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1275,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/tests/socket.c:1276,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:1279,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1283,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1287,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket.c:1290,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:1299,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1301,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1279,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1276,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1293,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/socket.c:1243,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:1253,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:1249,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1254,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:1262,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1268,1
    - Dst: duplicate_socket_fd
      Src: /src/glib/gio/tests/socket.c:1271,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1273,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/socket.c:1272,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:1275,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1309,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:1309,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1305,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1308,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 74
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1317
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1317
    functionName: test_fd_reuse
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_connect
    - g_clear_error
    - g_socket_get_socket_type
    - g_slice_free
    - g_socket_get_fd
    - strlen
    - g_assert_cmpint
    - g_socket_get_family
    - g_socket_receive
    - GLIB_PRIVATE_CALL
    - g_object_unref
    - g_thread_join
    - create_server
    - g_socket_new
    - g_socket_close
    - g_socket_get_local_address
    - g_assert_no_error
    - g_socket_new_from_fd
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_socket_shutdown
    - g_socket_send
    - g_test_bug
    - g_test_skip_printf
    - g_socket_is_connected
    - g_assert
    - g_assert_cmpstr
    - g_socket_get_protocol
    - duplicate_socket_fd
    linkageType: ''
    returnType: void
    signature: 'static void test_fd_reuse (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:2093,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/tests/socket.c:2108,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/socket.c:2111,1
    - Dst: g_socket_get_credentials
      Src: /src/glib/gio/tests/socket.c:2116,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/socket.c:2120,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/socket.c:2122,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:2126,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:2139,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/socket.c:2141,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/socket.c:2142,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:2100,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/socket.c:2127,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:2128,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/socket.c:2119,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/tests/socket.c:2091,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:2103,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket.c:2102,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket.c:2105,1
    - Dst: g_socket_accept
      Src: /src/glib/gio/tests/socket.c:2113,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2114,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket.c:2121,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/socket.c:2143,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/socket.c:2147,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:2134,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/socket.c:2145,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:2149,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/socket.c:2146,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2151
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2151
    functionName: test_credentials_tcp_server
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_clear_pointer
    - g_inet_socket_address_new
    - g_clear_error
    - g_thread_new
    - g_credentials_to_string
    - g_slice_free
    - g_socket_bind
    - g_socket_new
    - g_socket_accept
    - g_assert_no_error
    - g_socket_set_blocking
    - g_assert_error
    - g_inet_address_new_loopback
    - g_test_skip_printf
    - g_test_message
    - g_free
    - g_clear_object
    - g_socket_listen
    - g_socket_get_credentials
    linkageType: ''
    returnType: void
    signature: 'static void test_credentials_tcp_server (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/socket.c:1927,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/tests/socket.c:1929,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:1930,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1933,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/socket.c:1944,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:1948,1
    - Dst: g_socket_accept
      Src: /src/glib/gio/tests/socket.c:1951,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1952,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/socket.c:1957,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/socket.c:1972,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1986,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket.c:1964,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/socket.c:1959,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/socket.c:1973,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1984,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/socket.c:1970,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1915,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1919,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1927,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/tests/socket.c:1940,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket.c:1943,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1946,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1983,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/socket.c:1964,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/socket.c:1956,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1981,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/socket.c:1920,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1926,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1935,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1938,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket.c:1932,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1941,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:1937,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:1944,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket.c:1944,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1945,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1954,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket.c:1965,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1980,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1988,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/socket.c:1904,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1920,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1922,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1934,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:1953,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/socket.c:1958,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:1976,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1987,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/socket.c:1978,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/socket.c:1965,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:1975,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1949,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 73
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1989
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1989
    functionName: test_read_write
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET
    - g_io_stream_get_output_stream
    - g_socket_connect
    - g_inet_socket_address_new
    - g_thread_new
    - G_INET_SOCKET_ADDRESS
    - g_socket_bind
    - g_assert_nonnull
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_thread_join
    - g_inet_address_new_any
    - g_socket_new
    - g_socket_accept
    - g_socket_close
    - G_IO_STREAM
    - g_socket_get_local_address
    - g_assert_no_error
    - g_assert_cmpmem
    - g_socket_set_blocking
    - g_socket_connection_factory_create_connection
    - g_inet_address_new_loopback
    - GPOINTER_TO_INT
    - g_assert
    - g_socket_listen
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void test_read_write (gconstpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/tests/socket.c:132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:143,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:144,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:146,1
    - Dst: g_socket_speaks_ipv4
      Src: /src/glib/gio/tests/socket.c:155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:171,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:177,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/socket.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:142,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/tests/socket.c:165,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/tests/socket.c:154,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:169,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/socket.c:171,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:179,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:183,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/socket.c:192,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/tests/socket.c:144,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/socket.c:157,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket.c:167,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:146,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket.c:171,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket.c:172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:182,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/tests/socket.c:187,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/socket.c:195,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:142,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/tests/socket.c:143,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:146,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:149,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:168,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/socket.c:200,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:201,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 5
    argNames:
    - family
    - socket_type
    - server_thread
    - v4mapped
    - error
    argTypes:
    - GSocketFamily
    - GSocketType
    - GThreadFunc
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 204
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 204
    functionName: create_server_full
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_new
    - g_thread_new
    - g_socket_get_socket_type
    - g_slice_free
    - g_socket_speaks_ipv4
    - g_socket_get_fd
    - G_INET_SOCKET_ADDRESS
    - g_assert_cmpint
    - g_socket_get_family
    - g_socket_bind
    - GLIB_PRIVATE_CALL
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_inet_address_new_any
    - g_socket_set_option
    - g_socket_new
    - g_set_error_literal
    - g_socket_get_local_address
    - g_cancellable_new
    - g_slice_new
    - g_socket_set_blocking
    - g_inet_address_new_loopback
    - g_assert
    - g_clear_object
    - g_socket_listen
    - g_socket_get_protocol
    linkageType: ''
    returnType: IPTestData*
    signature: 'static IPTestData *create_server_full (GSocketFamily family, GSocketType
      socket_type, GThreadFunc server_thread, gboolean v4mapped, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/socket.c:445,1
    - Dst: test_ip_async
      Src: /src/glib/gio/tests/socket.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 450
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 450
    functionName: test_ipv6_async
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - test_ip_async
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_ipv6_async (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:481,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/tests/socket.c:482,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:487,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:490,1
    - Dst: g_socket_send
      Src: /src/glib/gio/tests/socket.c:504,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:508,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket.c:512,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/tests/socket.c:532,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:533,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:534,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:570,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:510,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:569,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:561,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:537,1
    - Dst: create_server
      Src: /src/glib/gio/tests/socket.c:464,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:475,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:479,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:485,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:491,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:499,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:500,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:501,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:504,1
    - Dst: g_socket_shutdown
      Src: /src/glib/gio/tests/socket.c:543,1
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:536,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:544,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:553,1
    - Dst: g_socket_send
      Src: /src/glib/gio/tests/socket.c:558,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:565,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:530,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:558,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:482,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:483,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/tests/socket.c:483,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:485,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:485,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:488,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:492,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:505,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:509,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:510,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:538,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:551,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:564,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:539,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:560,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:552,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:532,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:546,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:468,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:472,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:473,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:467,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:481,1
    - Dst: g_socket_is_connected
      Src: /src/glib/gio/tests/socket.c:492,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:493,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:498,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:506,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:506,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:567,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:534,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:559,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:566,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket.c:540,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:572,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:539,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 128
    argCount: 1
    argNames:
    - family
    argTypes:
    - GSocketFamily
    constantsTouched: []
    func_position:
      end: 573
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 573
    functionName: test_ip_sync
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_connect
    - g_socket_send_message
    - g_clear_error
    - g_socket_get_socket_type
    - g_slice_free
    - g_socket_get_fd
    - strlen
    - g_assert_cmpint
    - g_socket_get_family
    - g_socket_receive
    - GLIB_PRIVATE_CALL
    - g_object_unref
    - memset
    - g_thread_join
    - create_server
    - g_socket_new
    - g_socket_close
    - g_socket_get_local_address
    - g_assert_no_error
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_assert_error
    - g_socket_send
    - g_socket_shutdown
    - g_test_skip_printf
    - g_socket_is_connected
    - g_assert
    - g_assert_cmpstr
    - g_socket_get_protocol
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_ip_sync (GSocketFamily family) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/socket.c:586,1
    - Dst: test_ip_sync
      Src: /src/glib/gio/tests/socket.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: test_ipv6_sync
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - test_ip_sync
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_ipv6_sync (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreatePipe
      Src: /src/glib/gio/tests/socket.c:1546,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/socket.c:1548,1
    - Dst: CloseHandle
      Src: /src/glib/gio/tests/socket.c:1549,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1556,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/socket.c:1553,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:1553,1
    - Dst: g_close
      Src: /src/glib/gio/tests/socket.c:1559,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket.c:1546,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/socket.c:1547,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:1547,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/tests/socket.c:1557,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/socket.c:1558,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:1558,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/socket.c:1561,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:1548,1
    - Dst: CloseHandle
      Src: /src/glib/gio/tests/socket.c:1550,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/tests/socket.c:1555,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/tests/socket.c:1552,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1560,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket.c:1562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1563
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1563
    functionName: test_handle_not_socket
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_close
    - g_free
    - g_file_open_tmp
    - GLIB_PRIVATE_CALL
    - CloseHandle
    - g_assert_no_error
    - CreatePipe
    - g_unlink
    - g_assert_true
    - _get_osfhandle
    linkageType: ''
    returnType: void
    signature: 'static void test_handle_not_socket (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1628,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1632,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1636,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:1635,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1638,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/tests/socket.c:1641,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1644,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1651,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:1654,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1658,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1657,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket.c:1637,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1642,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1655,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket.c:1652,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1648,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:1653,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket.c:1634,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1639,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:1650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1659
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1659
    functionName: test_reuse_tcp
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_get_local_address
    - g_socket_bind
    - g_inet_socket_address_new
    - g_assert_no_error
    - g_object_unref
    - g_clear_error
    - g_socket_listen
    - g_assert_error
    - g_socket_new
    - g_inet_address_new_loopback
    linkageType: ''
    returnType: void
    signature: 'static void test_reuse_tcp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/socket.c:1852,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1855,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1854,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket.c:1853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1858
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1858
    functionName: test_read_write_write_thread
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_all
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_read_write_write_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_server_full
      Src: /src/glib/gio/tests/socket.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - family
    - server_thread
    - v4mapped
    - error
    argTypes:
    - GSocketFamily
    - GThreadFunc
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: create_server
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - create_server_full
    linkageType: ''
    returnType: IPTestData*
    signature: 'static IPTestData *create_server (GSocketFamily family, GThreadFunc
      server_thread, gboolean v4mapped, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ip_sync
      Src: /src/glib/gio/tests/socket.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: test_ipv4_sync
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - test_ip_sync
    linkageType: ''
    returnType: void
    signature: 'static void test_ipv4_sync (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:683,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:791,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:808,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:765,1
    - Dst: g_socket_send_messages
      Src: /src/glib/gio/tests/socket.c:696,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:705,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/tests/socket.c:621,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:622,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:731,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/tests/socket.c:676,1
    - Dst: g_socket_receive_from
      Src: /src/glib/gio/tests/socket.c:681,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:783,1
    - Dst: g_socket_send_messages
      Src: /src/glib/gio/tests/socket.c:759,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:730,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:620,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:632,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket.c:684,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:729,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:698,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:636,1
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:703,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/socket.c:750,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:760,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:804,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:718,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:732,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:764,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:788,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:801,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:803,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:717,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:729,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:608,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:607,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:624,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:698,1
    - Dst: g_socket_receive_from
      Src: /src/glib/gio/tests/socket.c:709,1
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:680,1
    - Dst: g_socket_receive_from
      Src: /src/glib/gio/tests/socket.c:704,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/socket.c:747,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:624,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:798,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:799,1
    - Dst: g_socket_receive_from
      Src: /src/glib/gio/tests/socket.c:790,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:759,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:727,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:745,1
    - Dst: create_server_full
      Src: /src/glib/gio/tests/socket.c:603,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/tests/socket.c:622,1
    - Dst: g_socket_receive_from
      Src: /src/glib/gio/tests/socket.c:634,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:659,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:678,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:682,1
    - Dst: g_socket_send_messages
      Src: /src/glib/gio/tests/socket.c:727,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:744,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:710,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket.c:719,1
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:741,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:612,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:618,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:697,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:713,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:728,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:761,1
    - Dst: g_socket_send_messages
      Src: /src/glib/gio/tests/socket.c:776,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:776,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:781,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:620,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:628,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:624,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:635,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:745,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/socket.c:749,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:787,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:796,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:805,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:806,1
    - Dst: g_socket_receive_messages
      Src: /src/glib/gio/tests/socket.c:742,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:701,1
    - Dst: g_socket_send_to
      Src: /src/glib/gio/tests/socket.c:630,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:676,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:779,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:786,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:631,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:636,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/socket.c:794,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/socket.c:713,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:677,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:614,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:621,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:632,1
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:715,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:696,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:700,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket.c:742,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:763,1
    - Dst: g_socket_receive_from
      Src: /src/glib/gio/tests/socket.c:716,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:630,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/socket.c:638,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:706,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:712,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:699,1
    - Dst: memset
      Src: /src/glib/gio/tests/socket.c:708,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:683,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:627,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:678,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:784,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:800,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 235
    argCount: 1
    argNames:
    - family
    argTypes:
    - GSocketFamily
    constantsTouched: []
    func_position:
      end: 809
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 809
    functionName: test_ip_sync_dgram
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_send_message
    - g_clear_error
    - g_socket_get_socket_type
    - g_socket_send_messages
    - g_slice_free
    - g_socket_get_fd
    - strlen
    - g_assert_cmpint
    - g_socket_get_family
    - GLIB_PRIVATE_CALL
    - g_object_unref
    - create_server_full
    - memset
    - g_thread_join
    - g_socket_new
    - memcmp
    - g_socket_close
    - g_socket_get_local_address
    - g_assert_cmpuint
    - g_assert_no_error
    - g_socket_receive_messages
    - g_cancellable_cancel
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_assert_error
    - g_test_skip_printf
    - g_socket_send_to
    - g_assert
    - g_assert_cmpstr
    - g_socket_get_protocol
    - G_N_ELEMENTS
    - g_socket_receive_from
    linkageType: ''
    returnType: void
    signature: 'static void test_ip_sync_dgram (GSocketFamily family) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1669,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket.c:1676,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket.c:1675,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1673,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1677,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket.c:1678,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1679,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1680,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1682,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1686,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1695,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1689,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:1688,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1692,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket.c:1690,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1691,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1696
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1696
    functionName: test_reuse_udp
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_get_local_address
    - g_socket_bind
    - g_inet_socket_address_new
    - g_assert_no_error
    - g_object_unref
    - g_socket_new
    - g_inet_address_new_loopback
    linkageType: ''
    returnType: void
    signature: 'static void test_reuse_udp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/socket.c:1868,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket.c:1869,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1870,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1874
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1874
    functionName: test_read_write_read_thread
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_input_stream_read_all
    - g_assert_cmpint
    - g_assert_no_error
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_read_write_read_thread (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_from
      Src: /src/glib/gio/tests/socket.c:68,1
    - Dst: g_socket_send_to
      Src: /src/glib/gio/tests/socket.c:74,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/socket.c:69,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:72,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:71,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/socket.c:75,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:77,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:78,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:80,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 86
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 86
    functionName: echo_server_dgram_thread
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_socket_send_to
    - g_assert_no_error
    - g_error_matches
    - g_object_unref
    - g_clear_error
    - g_socket_receive_from
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer echo_server_dgram_thread (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_check_connect_result
      Src: /src/glib/gio/tests/socket.c:305,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:310,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:312,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:306,1
    - Dst: g_socket_is_connected
      Src: /src/glib/gio/tests/socket.c:312,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:317,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:318,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:319,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:320,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/tests/socket.c:322,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/socket.c:323,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/socket.c:326,1
    - Dst: test_ip_async_timed_out
      Src: /src/glib/gio/tests/socket.c:329,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/socket.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - client
    - cond
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 332
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 332
    functionName: test_ip_async_connected
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_assert_cmpint
    - g_socket_receive
    - g_socket_is_connected
    - g_assert
    - g_socket_check_connect_result
    - g_assert_no_error
    - g_clear_error
    - test_ip_async_timed_out
    - g_source_unref
    - g_socket_create_source
    - g_assert_error
    - g_source_attach
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean test_ip_async_connected (GSocket *client,\t\t\t GIOCondition
      cond,\t\t\t gpointer user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:362,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:394,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:410,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:423,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:424,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:428,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/socket.c:431,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/socket.c:392,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:420,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:426,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/socket.c:360,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:363,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:365,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:369,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:373,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/tests/socket.c:374,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:376,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/tests/socket.c:373,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:379,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/tests/socket.c:388,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:425,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:429,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:418,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:372,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:372,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/socket.c:386,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/socket.c:391,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/socket.c:396,1
    - Dst: g_socket_shutdown
      Src: /src/glib/gio/tests/socket.c:400,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:401,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/socket.c:403,1
    - Dst: g_socket_receive_with_blocking
      Src: /src/glib/gio/tests/socket.c:408,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:411,1
    - Dst: g_socket_send_with_blocking
      Src: /src/glib/gio/tests/socket.c:416,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/socket.c:389,1
    - Dst: create_server
      Src: /src/glib/gio/tests/socket.c:353,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:356,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:374,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:381,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/socket.c:382,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:377,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:387,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/socket.c:397,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/socket.c:398,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:419,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket.c:416,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 1
    argNames:
    - family
    argTypes:
    - GSocketFamily
    constantsTouched: []
    func_position:
      end: 432
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 432
    functionName: test_ip_async
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_idle_add
    - g_socket_connect
    - g_clear_error
    - g_socket_receive_with_blocking
    - g_socket_get_socket_type
    - g_source_unref
    - g_main_loop_run
    - g_slice_free
    - g_source_attach
    - strlen
    - g_assert_cmpint
    - g_socket_get_family
    - g_assert_nonnull
    - g_object_unref
    - g_thread_join
    - create_server
    - g_socket_create_source
    - g_socket_new
    - g_socket_close
    - g_socket_get_local_address
    - g_assert_no_error
    - g_socket_send_with_blocking
    - g_main_loop_unref
    - g_main_loop_new
    - g_socket_set_timeout
    - g_socket_set_blocking
    - g_assert_error
    - g_socket_shutdown
    - g_test_skip_printf
    - g_source_set_callback
    - g_socket_get_protocol
    linkageType: ''
    returnType: void
    signature: 'static void test_ip_async (GSocketFamily family) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ip_sync_dgram
      Src: /src/glib/gio/tests/socket.c:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 815
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 815
    functionName: test_ipv4_sync_dgram
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - test_ip_sync_dgram
    linkageType: ''
    returnType: void
    signature: 'static void test_ipv4_sync_dgram (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/glib/gio/tests/socket.c:1382,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1390,1
    - Dst: bind_win32_unixfd
      Src: /src/glib/gio/tests/socket.c:1392,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/socket.c:1395,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/socket.c:1386,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1396,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1397,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/tests/socket.c:1397,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1398,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/tests/socket.c:1398,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/tests/socket.c:1399,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1403,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/tests/socket.c:1401,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/tests/socket.c:1401,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1401,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1404
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1404
    functionName: test_unix_from_fd
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - socket
    - g_assert_cmpint
    - g_socket_get_family
    - g_assert
    - GLIB_PRIVATE_CALL
    - bind_win32_unixfd
    - g_assert_no_error
    - g_socket_new_from_fd
    - g_object_unref
    - g_test_skip
    - g_socket_get_socket_type
    - g_socket_get_protocol
    - g_socket_get_fd
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_from_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1577
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1577
    functionName: postmortem_source_cb
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean postmortem_source_cb (GSocket *socket, GIOCondition
      condition, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket.c:2161,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:2164,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2162,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2168,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket.c:2170,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket.c:2171,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket.c:2173,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:2174,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:2176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2179
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2179
    functionName: client_setup_thread
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_socket_get_local_address
    - g_socket_connect
    - g_assert_no_error
    - g_socket_set_blocking
    - g_object_unref
    - g_socket_set_timeout
    - g_socket_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer client_setup_thread (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_accept
      Src: /src/glib/gio/tests/socket.c:97,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:104,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/socket.c:102,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:98,1
    - Dst: g_socket_send
      Src: /src/glib/gio/tests/socket.c:109,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:111,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:114,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:115,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: echo_server_thread
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_socket_receive
    - g_assert_no_error
    - g_object_unref
    - g_socket_accept
    - g_socket_send
    - g_socket_close
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer echo_server_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ip_async_connected
      Src: /src/glib/gio/tests/socket.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: idle_test_ip_async_connected
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - test_ip_async_connected
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean idle_test_ip_async_connected (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ip_async
      Src: /src/glib/gio/tests/socket.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: test_ipv4_async
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - test_ip_async
    linkageType: ''
    returnType: void
    signature: 'static void test_ipv4_async (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/socket.c:822,1
    - Dst: test_ip_sync_dgram
      Src: /src/glib/gio/tests/socket.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 827
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 827
    functionName: test_ipv6_sync_dgram
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - test_ip_sync_dgram
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_ipv6_sync_dgram (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/glib/gio/tests/socket.c:1414,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket.c:1422,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/socket.c:1418,1
    - Dst: bind_win32_unixfd
      Src: /src/glib/gio/tests/socket.c:1424,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/socket.c:1427,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1428,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/socket.c:1429,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1430,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/tests/socket.c:1430,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1431,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1433
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1433
    functionName: test_unix_connection
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - socket
    - g_assert_cmpint
    - G_IS_UNIX_CONNECTION
    - g_assert
    - bind_win32_unixfd
    - g_assert_no_error
    - g_socket_new_from_fd
    - g_object_unref
    - g_test_skip
    - g_socket_connection_factory_create_connection
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_connection (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket.c:1588,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1597,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/socket.c:1592,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket.c:1593,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/socket.c:1599,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/tests/socket.c:1601,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/socket.c:1602,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/socket.c:1604,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/socket.c:1605,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket.c:1607,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket.c:1608,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket.c:1609,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/socket.c:1617,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1615,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket.c:1614,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/socket.c:1613,1
    - Dst: g_main_context_pending
      Src: /src/glib/gio/tests/socket.c:1615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1618
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1618
    functionName: test_source_postmortem
    functionSourceFile: /src/glib/gio/tests/socket.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_main_context_pending
    - g_assert
    - g_main_context_unref
    - g_assert_no_error
    - g_object_unref
    - g_clear_error
    - g_source_unref
    - g_socket_create_source
    - g_main_context_iteration
    - g_socket_new
    - g_socket_close
    - g_source_attach
    - g_test_skip_printf
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_source_postmortem (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/httpd.c:18,1
    - Dst: g_free
      Src: /src/glib/gio/tests/httpd.c:25,1
    - Dst: strlen
      Src: /src/glib/gio/tests/httpd.c:24,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/httpd.c:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - out
    - error_code
    - reason
    argTypes:
    - GOutputStream*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 26
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 26
    functionName: send_error
    functionSourceFile: /src/glib/gio/tests/httpd.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup_printf
    - g_output_stream_write_all
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void send_error (GOutputStream *out,\t int error_code,\t const
      char *reason) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/httpd.c:45,1
    - Dst: send_error
      Src: /src/glib/gio/tests/httpd.c:55,1
    - Dst: g_free
      Src: /src/glib/gio/tests/httpd.c:91,1
    - Dst: send_error
      Src: /src/glib/gio/tests/httpd.c:97,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/httpd.c:102,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/httpd.c:112,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/httpd.c:127,1
    - Dst: g_output_stream_splice
      Src: /src/glib/gio/tests/httpd.c:133,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/httpd.c:134,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/httpd.c:139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/httpd.c:143,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/httpd.c:44,1
    - Dst: g_data_input_stream_read_line
      Src: /src/glib/gio/tests/httpd.c:51,1
    - Dst: strchr
      Src: /src/glib/gio/tests/httpd.c:68,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/httpd.c:90,1
    - Dst: g_file_read
      Src: /src/glib/gio/tests/httpd.c:94,1
    - Dst: g_file_input_stream_query_info
      Src: /src/glib/gio/tests/httpd.c:103,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/httpd.c:113,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/tests/httpd.c:114,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/tests/httpd.c:115,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/httpd.c:137,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/httpd.c:139,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/httpd.c:59,1
    - Dst: send_error
      Src: /src/glib/gio/tests/httpd.c:61,1
    - Dst: g_free
      Src: /src/glib/gio/tests/httpd.c:89,1
    - Dst: send_error
      Src: /src/glib/gio/tests/httpd.c:71,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/httpd.c:88,1
    - Dst: g_uri_unescape_string
      Src: /src/glib/gio/tests/httpd.c:87,1
    - Dst: send_error
      Src: /src/glib/gio/tests/httpd.c:79,1
    - Dst: g_content_type_get_mime_type
      Src: /src/glib/gio/tests/httpd.c:118,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/httpd.c:121,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/httpd.c:129,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/httpd.c:44,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/httpd.c:47,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/httpd.c:45,1
    - Dst: g_data_input_stream_set_newline_type
      Src: /src/glib/gio/tests/httpd.c:49,1
    - Dst: strchr
      Src: /src/glib/gio/tests/httpd.c:83,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/httpd.c:77,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/httpd.c:98,1
    - Dst: g_free
      Src: /src/glib/gio/tests/httpd.c:123,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/httpd.c:140,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 79
    argCount: 4
    argNames:
    - service
    - connection
    - listener
    - user_data
    argTypes:
    - GThreadedSocketService*
    - GSocketConnection*
    - GSocketListener*
    - gpointer
    constantsTouched: []
    func_position:
      end: 146
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 146
    functionName: handler
    functionSourceFile: /src/glib/gio/tests/httpd.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_io_stream_get_output_stream
    - g_data_input_stream_read_line
    - g_file_info_has_attribute
    - g_input_stream_close
    - G_INPUT_STREAM
    - send_error
    - g_object_unref
    - g_data_input_stream_set_newline_type
    - g_str_has_prefix
    - strchr
    - g_string_free
    - g_data_input_stream_new
    - G_IO_STREAM
    - g_output_stream_splice
    - g_file_new_for_path
    - g_content_type_get_mime_type
    - g_error_free
    - g_file_info_get_content_type
    - g_build_filename
    - g_output_stream_write_all
    - g_file_input_stream_query_info
    - g_string_new
    - g_free
    - g_string_append_printf
    - g_uri_unescape_string
    - g_file_read
    - g_io_stream_get_input_stream
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handler (GThreadedSocketService *service,\t GSocketConnection
      *connection,\t GSocketListener *listener,\t gpointer user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/httpd.c:155,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/httpd.c:159,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/httpd.c:156,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/httpd.c:157,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/httpd.c:165,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/httpd.c:169,1
    - Dst: g_threaded_socket_service_new
      Src: /src/glib/gio/tests/httpd.c:171,1
    - Dst: g_socket_listener_add_inet_port
      Src: /src/glib/gio/tests/httpd.c:172,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/httpd.c:172,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/httpd.c:177,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/httpd.c:185,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/httpd.c:185,1
    - Dst: g_print
      Src: /src/glib/gio/tests/httpd.c:181,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/httpd.c:183,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/httpd.c:186,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/httpd.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 187
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 187
    functionName: main
    functionSourceFile: /src/glib/gio/tests/httpd.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_SOCKET_LISTENER
    - g_option_context_new
    - g_signal_connect
    - g_option_context_parse
    - g_assert_not_reached
    - g_option_context_add_main_entries
    - g_socket_listener_add_inet_port
    - g_threaded_socket_service_new
    - G_CALLBACK
    - g_main_loop_new
    - g_main_loop_run
    - g_print
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:253,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-peer.c:257,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:255,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: test_interface_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_variant_new_string
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *test_interface_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: g_networking_init
      Src: /src/glib/gio/tests/gdbus-peer.c:308,1
    - Dst: closesocket
      Src: /src/glib/gio/tests/gdbus-peer.c:312,1
    - Dst: g_close
      Src: /src/glib/gio/tests/gdbus-peer.c:315,1
    - Dst: socket
      Src: /src/glib/gio/tests/gdbus-peer.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: af_unix_works
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - closesocket
    - socket
    - g_close
    - g_networking_init
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean af_unix_works (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:581,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-peer.c:592,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-peer.c:588,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:586,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-peer.c:581,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:599,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:600,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - service
    - socket_connection
    - source_object
    - user_data
    argTypes:
    - GSocketService*
    - GSocketConnection*
    - GObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 614
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 614
    functionName: on_incoming_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_assert
    - g_assert_no_error
    - g_dbus_connection_new_sync
    - g_main_loop_quit
    - g_ptr_array_add
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_incoming_connection (GSocketService *service, GSocketConnection
      *socket_connection, GObject *source_object, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:790,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:823,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1028,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1062,1
    - Dst: g_dbus_connection_get_is_disconnected
      Src: /src/glib/gio/tests/gdbus-peer.c:1086,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1126,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1137,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1145,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-peer.c:1137,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gdbus-peer.c:786,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:813,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:863,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:887,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:900,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/gdbus-peer.c:989,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:993,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1011,1
    - Dst: g_dbus_connection_get_stream
      Src: /src/glib/gio/tests/gdbus-peer.c:1022,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/tests/gdbus-peer.c:1029,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1045,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/tests/gdbus-peer.c:954,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:799,1
    - Dst: g_dbus_connection_get_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:825,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/tests/gdbus-peer.c:952,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-peer.c:961,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/tests/gdbus-peer.c:964,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1029,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1062,1
    - Dst: _g_assert_error_domain
      Src: /src/glib/gio/tests/gdbus-peer.c:1067,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gdbus-peer.c:1114,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:1095,1
    - Dst: g_dbus_message_get_unix_fd_list
      Src: /src/glib/gio/tests/gdbus-peer.c:972,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:951,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-peer.c:892,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:877,1
    - Dst: close
      Src: /src/glib/gio/tests/gdbus-peer.c:986,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1010,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1012,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1069,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1089,1
    - Dst: g_dbus_connection_get_is_disconnected
      Src: /src/glib/gio/tests/gdbus-peer.c:1141,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:813,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:822,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:974,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/gdbus-peer.c:1034,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1046,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1079,1
    - Dst: g_credentials_get_unix_pid
      Src: /src/glib/gio/tests/gdbus-peer.c:1041,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1085,1
    - Dst: g_dbus_connection_get_is_disconnected
      Src: /src/glib/gio/tests/gdbus-peer.c:1091,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:973,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:824,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:849,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-peer.c:969,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:977,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:995,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1003,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/tests/gdbus-peer.c:1022,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1090,1
    - Dst: g_dbus_connection_get_stream
      Src: /src/glib/gio/tests/gdbus-peer.c:1098,1
    - Dst: g_dbus_connection_disconnect
      Src: /src/glib/gio/tests/gdbus-peer.c:1138,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-peer.c:879,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-peer.c:799,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-peer.c:824,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:985,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/gdbus-peer.c:1023,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/tests/gdbus-peer.c:1038,1
    - Dst: getuid
      Src: /src/glib/gio/tests/gdbus-peer.c:1039,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1052,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-peer.c:1138,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-peer.c:1035,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:961,1
    - Dst: g_unix_fd_list_get
      Src: /src/glib/gio/tests/gdbus-peer.c:976,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-peer.c:844,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/gdbus-peer.c:994,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1023,1
    - Dst: getpid
      Src: /src/glib/gio/tests/gdbus-peer.c:1042,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1043,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1068,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:1096,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-peer.c:1127,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-peer.c:1140,1
    - Dst: _g_assert_error_domain
      Src: /src/glib/gio/tests/gdbus-peer.c:798,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-peer.c:804,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:841,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:876,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:889,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1041,1
    - Dst: g_credentials_get_unix_pid
      Src: /src/glib/gio/tests/gdbus-peer.c:1045,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1084,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1086,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-peer.c:1091,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-peer.c:843,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:844,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:856,1
    - Dst: read_all_from_fd
      Src: /src/glib/gio/tests/gdbus-peer.c:983,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1005,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/tests/gdbus-peer.c:1035,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1047,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gdbus-peer.c:1092,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1136,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1146,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1053,1
    - Dst: memset
      Src: /src/glib/gio/tests/gdbus-peer.c:785,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:867,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-peer.c:868,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-peer.c:962,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1079,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:1094,1
    - Dst: g_dbus_connection_get_is_disconnected
      Src: /src/glib/gio/tests/gdbus-peer.c:1103,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1129,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/gio/tests/gdbus-peer.c:1104,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:801,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:821,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:808,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:832,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/tests/gdbus-peer.c:974,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:952,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1049,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1103,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-peer.c:1103,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-peer.c:964,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:819,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:902,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:901,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:978,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:996,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:1088,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:1102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1115,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1119,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:1128,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:865,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-peer.c:931,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-peer.c:800,1
    - Dst: await_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:807,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-peer.c:845,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:965,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:859,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-peer.c:942,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-peer.c:938,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:984,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:1148,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1144,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:818,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:825,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:963,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/tests/gdbus-peer.c:1022,1
    - Dst: g_socket_get_credentials
      Src: /src/glib/gio/tests/gdbus-peer.c:1025,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1091,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:1093,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-peer.c:1100,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1121,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1130,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1141,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-peer.c:942,1
    - Dst: g_dbus_connection_send_message_with_reply_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:944,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:979,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:840,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-peer.c:851,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-peer.c:857,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:858,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:878,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-peer.c:903,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-peer.c:1038,1
    - Dst: g_dbus_connection_get_is_disconnected
      Src: /src/glib/gio/tests/gdbus-peer.c:1139,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-peer.c:1149,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 241
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1150
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 1150
    functionName: do_test_peer
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_unix_fd_list
    - g_dbus_message_get_message_type
    - G_IS_SOCKET
    - g_idle_add
    - g_ptr_array_new_with_free_func
    - g_clear_pointer
    - g_unix_fd_list_get
    - read_all_from_fd
    - g_dbus_server_stop
    - g_clear_error
    - g_thread_new
    - g_main_loop_run
    - g_ptr_array_set_size
    - g_dbus_connection_get_unique_name
    - g_ptr_array_unref
    - g_timeout_add
    - g_main_loop_quit
    - g_credentials_get_unix_user
    - g_dbus_error_is_remote_error
    - g_dbus_proxy_get_cached_property
    - g_assert_cmpint
    - g_variant_get_type_string
    - g_credentials_get_native
    - g_dbus_connection_get_stream
    - _g_assert_signal_received
    - g_credentials_get_unix_pid
    - g_object_unref
    - getuid
    - close
    - GetCurrentProcessId
    - memset
    - g_thread_join
    - G_SOCKET_CONNECTION
    - g_variant_new
    - g_dbus_message_set_body
    - G_DBUS_CONNECTION
    - g_variant_get_string
    - g_dbus_proxy_call
    - g_dbus_connection_get_guid
    - g_dbus_proxy_call_sync
    - g_dbus_proxy_new_sync
    - g_signal_connect
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_no_error
    - g_dbus_server_get_client_address
    - g_variant_unref
    - _g_assert_error_domain
    - g_variant_get
    - g_dbus_message_get_body
    - G_CALLBACK
    - g_error_free
    - g_dbus_connection_get_is_disconnected
    - g_dbus_message_new_method_call
    - g_dbus_connection_new_for_address_sync
    - g_assert_null
    - g_assert_cmpmem
    - g_assert_error
    - g_unix_fd_list_get_length
    - g_socket_connection_get_socket
    - g_free
    - getpid
    - g_assert
    - g_variant_n_children
    - G_IS_CREDENTIALS
    - g_assert_cmpstr
    - g_debug
    - await_service_loop
    - g_dbus_connection_send_message_with_reply_sync
    - g_dbus_connection_disconnect
    - g_file_get_contents
    - g_socket_get_credentials
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void do_test_peer (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gdbus-peer.c:1219,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1225,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-peer.c:1221,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-peer.c:1232,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/gdbus-peer.c:1236,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer.c:1237,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-peer.c:1238,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer.c:1239,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1241,1
    - Dst: g_dbus_connection_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1245,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1252,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-peer.c:1257,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gdbus-peer.c:1253,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gdbus-peer.c:1254,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-peer.c:1248,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-peer.c:1258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1259
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1259
    functionName: test_peer_invalid_conn_stream_sync
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - G_IO_STREAM
    - g_test_trap_assert_stderr
    - g_assert_nonnull
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_clear_object
    - g_test_skip
    - g_dbus_connection_new_sync
    - g_assert_null
    - g_socket_new
    - g_socket_connection_factory_create_connection
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_peer_invalid_conn_stream_sync (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gdbus-peer.c:1312,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1320,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-peer.c:1314,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1318,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-peer.c:1323,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1327,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gdbus-peer.c:1328,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gdbus-peer.c:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1331
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1331
    functionName: test_peer_invalid_conn_addr_sync
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_skip
    - g_assert_null
    - g_dbus_connection_new_for_address_sync
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_peer_invalid_conn_addr_sync (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:1645,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - observer
    - stream
    - credentials
    - user_data
    argTypes:
    - GDBusAuthObserver*
    - GIOStream*
    - GCredentials*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1649
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1649
    functionName: nonce_tcp_on_authorize_authenticated_peer
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nonce_tcp_on_authorize_authenticated_peer (GDBusAuthObserver
      *observer, GIOStream *stream, GCredentials *credentials, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_credentials_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1850,1
    - Dst: getuid
      Src: /src/glib/gio/tests/gdbus-peer.c:1855,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1856,1
    - Dst: g_credentials_set_unix_user
      Src: /src/glib/gio/tests/gdbus-peer.c:1855,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1851,1
    - Dst: g_credentials_is_same_user
      Src: /src/glib/gio/tests/gdbus-peer.c:1859,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1861,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1862,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1864,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1865,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1866,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1871,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1874,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/gdbus-peer.c:1869,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1870,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1873,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1875
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1875
    functionName: test_credentials
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_credentials_set_unix_user
    - g_assert_no_error
    - g_credentials_new
    - getuid
    - g_object_unref
    - g_clear_error
    - g_assert_error
    - g_credentials_to_string
    - g_credentials_is_same_user
    linkageType: ''
    returnType: void
    signature: 'static void test_credentials (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-peer.c:161,1
    - Dst: g_dbus_message_set_sender
      Src: /src/glib/gio/tests/gdbus-peer.c:172,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-peer.c:192,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-peer.c:209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:231,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-peer.c:240,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/tests/gdbus-peer.c:204,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-peer.c:225,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:199,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/gdbus-peer.c:213,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:133,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:130,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-peer.c:145,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:146,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:160,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-peer.c:148,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:178,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-peer.c:180,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-peer.c:183,1
    - Dst: g_open
      Src: /src/glib/gio/tests/gdbus-peer.c:198,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-peer.c:214,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-peer.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:206,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-peer.c:215,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:207,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:129,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:177,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/tests/gdbus-peer.c:194,1
    - Dst: close
      Src: /src/glib/gio/tests/gdbus-peer.c:202,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/tests/gdbus-peer.c:205,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-peer.c:233,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:230,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/gdbus-peer.c:200,1
    - Dst: g_variant_new_fixed_array
      Src: /src/glib/gio/tests/gdbus-peer.c:217,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:221,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-peer.c:135,1
    - Dst: g_dbus_method_invocation_get_method_info
      Src: /src/glib/gio/tests/gdbus-peer.c:132,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-peer.c:140,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-peer.c:142,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-peer.c:144,1
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/tests/gdbus-peer.c:169,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:176,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-peer.c:163,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-peer.c:175,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-peer.c:153,1
    - Dst: g_dbus_method_invocation_get_message
      Src: /src/glib/gio/tests/gdbus-peer.c:204,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:201,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    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: 242
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 242
    functionName: test_interface_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_dbus_method_invocation_get_method_info
    - g_dbus_message_new_signal
    - g_dbus_connection_send_message
    - g_dbus_method_invocation_return_value
    - g_dbus_connection_emit_signal
    - g_unix_fd_list_new
    - g_dbus_message_set_unix_fd_list
    - g_strcmp0
    - g_unix_fd_list_append
    - g_assert_not_reached
    - g_object_unref
    - close
    - g_variant_new
    - g_dbus_message_set_body
    - g_open
    - g_dbus_method_invocation_get_message
    - g_dbus_method_invocation_return_dbus_error
    - g_assert_no_error
    - g_variant_get
    - g_strdup_printf
    - g_dbus_message_set_sender
    - g_free
    - g_new0
    - g_assert
    - g_assert_cmpstr
    - g_variant_new_fixed_array
    linkageType: ''
    returnType: void
    signature: 'static void test_interface_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: af_unix_works
      Src: /src/glib/gio/tests/gdbus-peer.c:323,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-peer.c:327,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gdbus-peer.c:326,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-peer.c:325,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-peer.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: setup_test_address
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_test_message
    - g_dir_make_tmp
    - g_strdup_printf
    - af_unix_works
    linkageType: ''
    returnType: void
    signature: 'static void setup_test_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-peer.c:624,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-peer.c:627,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:625,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/tests/gdbus-peer.c:628,1
    - Dst: getpid
      Src: /src/glib/gio/tests/gdbus-peer.c:627,1
    - Dst: g_socket_service_new
      Src: /src/glib/gio/tests/gdbus-peer.c:630,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/tests/gdbus-peer.c:632,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/gdbus-peer.c:632,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:639,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:640,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/tests/gdbus-peer.c:644,1
    - Dst: teardown_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:650,1
    - Dst: run_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:646,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:648,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:654,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:642,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:653,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 656
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 656
    functionName: service_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_unix_socket_address_new
    - g_socket_listener_add_address
    - g_main_context_push_thread_default
    - getpid
    - G_SOCKET_LISTENER
    - g_signal_connect
    - g_free
    - g_socket_service_new
    - g_main_context_unref
    - g_assert_no_error
    - g_object_unref
    - teardown_service_loop
    - g_strdup_printf
    - G_CALLBACK
    - run_service_loop
    - g_main_context_pop_thread_default
    - g_main_context_new
    - g_socket_service_start
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer service_thread_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:1155,1
    - Dst: setup_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1161,1
    - Dst: do_test_peer
      Src: /src/glib/gio/tests/gdbus-peer.c:1162,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1156,1
    - Dst: teardown_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1163,1
    - Dst: setup_tmpdir_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1166,1
    - Dst: do_test_peer
      Src: /src/glib/gio/tests/gdbus-peer.c:1167,1
    - Dst: teardown_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1168,1
    - Dst: setup_path_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1170,1
    - Dst: do_test_peer
      Src: /src/glib/gio/tests/gdbus-peer.c:1171,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1175,1
    - Dst: teardown_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1172,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1177
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1177
    functionName: test_peer
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - setup_path_test_address
    - g_free
    - do_test_peer
    - setup_tmpdir_test_address
    - g_main_loop_unref
    - g_dbus_generate_guid
    - teardown_test_address
    - g_main_loop_new
    - setup_test_address
    linkageType: ''
    returnType: void
    signature: 'static void test_peer (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gdbus-peer.c:1188,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1194,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1198,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-peer.c:1190,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-peer.c:1201,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1205,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gdbus-peer.c:1206,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gdbus-peer.c:1207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1209
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1209
    functionName: test_peer_invalid_server
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_dbus_server_new_sync
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_skip
    - g_assert_null
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_peer_invalid_server (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gdbus-peer.c:1268,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-peer.c:1281,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/gdbus-peer.c:1285,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1274,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-peer.c:1270,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer.c:1286,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-peer.c:1287,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer.c:1288,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1290,1
    - Dst: g_dbus_connection_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1292,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gdbus-peer.c:1299,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gdbus-peer.c:1300,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-peer.c:1304,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1298,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-peer.c:1303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1305
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1305
    functionName: test_peer_invalid_conn_stream_async
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - G_IO_STREAM
    - g_test_trap_assert_stderr
    - g_assert_nonnull
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_clear_object
    - g_test_skip
    - g_socket_new
    - g_socket_connection_factory_create_connection
    - g_dbus_connection_new
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_peer_invalid_conn_stream_async (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gdbus-peer.c:1336,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-peer.c:1338,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1342,1
    - Dst: g_dbus_connection_new_for_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1344,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-peer.c:1350,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gdbus-peer.c:1351,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gdbus-peer.c:1352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1354
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1354
    functionName: test_peer_invalid_conn_addr_async
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_skip
    - g_dbus_connection_new_for_address
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_peer_invalid_conn_addr_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:1933,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1937,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1934,1
    - Dst: await_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:1940,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1941,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1944,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1944,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1949,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1950,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/tests/gdbus-peer.c:1953,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:1957,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gdbus-peer.c:1958,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1965,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1955,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-peer.c:1962,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1959,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1966
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1966
    functionName: test_tcp_anonymous
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_free
    - g_dbus_server_stop
    - g_assert
    - g_assert_no_error
    - g_dbus_server_get_client_address
    - g_object_unref
    - g_main_loop_unref
    - g_dbus_generate_guid
    - await_service_loop
    - g_thread_new
    - g_main_loop_new
    - g_dbus_connection_new_for_address_sync
    - g_main_loop_quit
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_tcp_anonymous (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-peer.c:726,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-peer.c:738,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gdbus-peer.c:744,1
    - Dst: read
      Src: /src/glib/gio/tests/gdbus-peer.c:732,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/gdbus-peer.c:740,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/tests/gdbus-peer.c:749,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-peer.c:760,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-peer.c:765,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - fd
    - out_len
    - error
    argTypes:
    - gint
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 767
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 767
    functionName: read_all_from_fd
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_string_new
    - g_strerror
    - read
    - g_string_append_len
    - g_string_free
    - g_io_error_from_errno
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *read_all_from_fd (gint fd, gsize *out_len, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-peer.c:2038,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2040,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-peer.c:2038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2043
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2043
    functionName: codegen_on_new_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_skeleton_export
    - g_assert_no_error
    - G_DBUS_INTERFACE_SKELETON
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean codegen_on_new_connection (GDBusServer *server, GDBusConnection
      *connection, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-peer.c:2235,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2241,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-peer.c:2237,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:2238,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2242,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2244,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2246,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2248,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2250,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2252,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2256,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2257,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2258,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-peer.c:2260,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2262,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2254,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-peer.c:2253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2265
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2265
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_dbus_node_info_unref
    - g_test_add_func
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:280,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:282,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - sender_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusProxy*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 283
    functionName: on_proxy_signal_received
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpstr
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_proxy_signal_received (GDBusProxy *proxy, gchar *sender_name,
      gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-peer.c:673,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:676,1
    - Dst: g_dbus_connection_get_stream
      Src: /src/glib/gio/tests/gdbus-peer.c:674,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:677,1
    - Dst: g_io_stream_is_closed
      Src: /src/glib/gio/tests/gdbus-peer.c:677,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/tests/gdbus-peer.c:680,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/tests/gdbus-peer.c:680,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:681,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/tests/gdbus-peer.c:681,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:682,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-peer.c:696,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:700,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/gdbus-peer.c:688,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:695,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/gdbus-peer.c:688,1
    - Dst: g_socket_condition_check
      Src: /src/glib/gio/tests/gdbus-peer.c:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 705
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 705
    functionName: check_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_socket_connection_get_socket
    - g_socket_condition_check
    - g_dbus_connection_get_stream
    - g_io_stream_is_closed
    - g_error_free
    - g_debug
    - g_socket_is_closed
    - G_SOCKET_CONNECTION
    - G_DBUS_CONNECTION
    - g_input_stream_read
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_connection (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1446,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-peer.c:1449,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1448,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1447,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - DmpData*
    constantsTouched: []
    func_position:
      end: 1451
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1451
    functionName: dmp_data_free
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_free
    - g_main_context_unref
    - g_object_unref
    - g_main_loop_unref
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void dmp_data_free (DmpData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:296,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:297,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - proxy
    - sender_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusProxy*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: on_proxy_signal_received_with_name_set
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_proxy_signal_received_with_name_set (GDBusProxy *proxy,
      gchar *sender_name, gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:354,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gdbus-peer.c:360,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gdbus-peer.c:360,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:360,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-peer.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: teardown_test_address
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_free
    - g_rmdir
    - g_clear_pointer
    - g_strerror
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void teardown_test_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-peer.c:710,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-peer.c:711,1
    - Dst: g_dbus_connection_disconnect
      Src: /src/glib/gio/tests/gdbus-peer.c:712,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:713,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-peer.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 715
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 715
    functionName: on_do_disconnect_in_idle
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_unref
    - g_debug
    - G_DBUS_CONNECTION
    - g_dbus_connection_disconnect
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_do_disconnect_in_idle (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-peer.c:1466,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1471,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-peer.c:1470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    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: 1472
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1472
    functionName: dmp_on_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - g_dbus_method_invocation_return_value
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void dmp_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-peer.c:1659,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-peer.c:1659,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:1661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1664
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1664
    functionName: nonce_tcp_on_new_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_ptr_array_add
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nonce_tcp_on_new_connection (GDBusServer *server,
      GDBusConnection *connection, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1887
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1887
    functionName: tcp_anonymous_on_new_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean tcp_anonymous_on_new_connection (GDBusServer *server,
      GDBusConnection *connection, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-peer.c:2052,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:2053,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:2060,1
    - Dst: example_animal_skeleton_new
      Src: /src/glib/gio/tests/gdbus-peer.c:2056,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:2059,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2063,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2069,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-peer.c:2070,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:2072,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:2073,1
    - Dst: run_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:2076,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2078,1
    - Dst: teardown_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:2082,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2086,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2083,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gdbus-peer.c:2085,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:2080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2090
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2090
    functionName: codegen_service_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_main_context_push_thread_default
    - g_dbus_server_new_sync
    - g_dbus_server_stop
    - g_main_context_unref
    - g_assert_no_error
    - g_object_unref
    - teardown_service_loop
    - G_CALLBACK
    - g_dbus_server_start
    - example_animal_skeleton_new
    - run_service_loop
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer codegen_service_thread_func (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - observer
    - stream
    - credentials
    - user_data
    argTypes:
    - GDBusAuthObserver*
    - GIOStream*
    - GCredentials*
    - gpointer
    constantsTouched: []
    func_position:
      end: 387
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 387
    functionName: on_authorize_authenticated_peer
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_authorize_authenticated_peer (GDBusAuthObserver
      *observer, GIOStream *stream, GCredentials *credentials, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:455,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-peer.c:456,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-peer.c:459,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/tests/gdbus-peer.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - loop
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: idle_in_service_loop
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_mutex_unlock
    - g_cond_broadcast
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean idle_in_service_loop (gpointer loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-peer.c:483,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-peer.c:485,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-peer.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: teardown_service_loop
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void teardown_service_loop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:530,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-peer.c:532,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:539,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:543,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:557,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:519,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:513,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:509,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:525,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:531,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:541,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:554,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:560,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-peer.c:508,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:540,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:542,1
    - Dst: g_dbus_server_get_flags
      Src: /src/glib/gio/tests/gdbus-peer.c:530,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:544,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:545,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:546,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-peer.c:550,1
    - Dst: run_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:552,1
    - Dst: teardown_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:556,1
    - Dst: g_dbus_auth_observer_new
      Src: /src/glib/gio/tests/gdbus-peer.c:512,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:521,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:527,1
    - Dst: g_dbus_server_get_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:531,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 563
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 563
    functionName: service_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_dbus_server_start
    - g_dbus_server_get_flags
    - g_main_context_new
    - g_assert_cmpint
    - g_object_unref
    - g_main_context_push_thread_default
    - g_signal_connect
    - g_assert_no_error
    - g_dbus_server_get_guid
    - G_CALLBACK
    - g_dbus_auth_observer_new
    - g_dbus_server_new_sync
    - g_free
    - g_assert
    - g_assert_cmpstr
    - teardown_service_loop
    - run_service_loop
    - g_main_context_pop_thread_default
    - g_object_get
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer service_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1385,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1394,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1385,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:1393,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer.c:1391,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-peer.c:1417,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1419,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1420,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-peer.c:1424,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-peer.c:1367,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer.c:1381,1
    - Dst: g_dbus_connection_get_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:1397,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer.c:1413,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:1423,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1429,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:1369,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gdbus-peer.c:1374,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1377,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1395,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-peer.c:1396,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1403,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1412,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1421,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1428,1
    - Dst: setup_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1372,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1370,1
    - Dst: memset
      Src: /src/glib/gio/tests/gdbus-peer.c:1373,1
    - Dst: await_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:1380,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1390,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:1397,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-peer.c:1396,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gdbus-peer.c:1416,1
    - Dst: teardown_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1430
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1430
    functionName: test_peer_signals
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_dbus_server_stop
    - g_thread_new
    - teardown_test_address
    - g_main_loop_run
    - g_main_loop_quit
    - g_dbus_connection_get_unique_name
    - g_ptr_array_unref
    - setup_test_address
    - g_assert_cmpint
    - g_assert_nonnull
    - g_object_unref
    - memset
    - g_thread_join
    - g_dbus_connection_get_guid
    - g_dbus_proxy_new_sync
    - g_assert_no_error
    - g_dbus_server_get_client_address
    - g_main_loop_unref
    - g_dbus_generate_guid
    - g_main_loop_new
    - g_assert_null
    - g_dbus_connection_new_for_address_sync
    - g_test_bug
    - g_free
    - g_clear_object
    - g_assert_cmpstr
    - await_service_loop
    linkageType: ''
    returnType: void
    signature: 'static void test_peer_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1536,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1541,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:1537,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1547,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:1540,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:1548,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:1550,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-peer.c:1553,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1555,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:1556,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gdbus-peer.c:1558,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1561,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:1559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1563
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1563
    functionName: dmp_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - g_dbus_server_new_sync
    - g_signal_connect
    - g_free
    - g_dbus_server_stop
    - g_assert_no_error
    - g_dbus_generate_guid
    - G_CALLBACK
    - g_dbus_server_start
    - g_main_loop_new
    - g_main_loop_run
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer dmp_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1674,1
    - Dst: g_dbus_auth_observer_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1678,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1685,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:1675,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1679,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:1687,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:1689,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:1691,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:1693,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1695,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:1701,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1707,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1704,1
    - Dst: run_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:1699,1
    - Dst: teardown_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:1703,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-peer.c:1697,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1710
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1710
    functionName: nonce_tcp_service_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_dbus_auth_observer_new
    - g_main_context_push_thread_default
    - g_dbus_server_new_sync
    - g_signal_connect
    - g_main_context_unref
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - teardown_service_loop
    - G_CALLBACK
    - g_dbus_server_start
    - run_service_loop
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer nonce_tcp_service_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:2096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2098
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2098
    functionName: codegen_quit_mainloop_timeout
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean codegen_quit_mainloop_timeout (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:470,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/tests/gdbus-peer.c:473,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/gdbus-peer.c:474,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-peer.c:472,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/gdbus-peer.c:475,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:476,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - service_context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: run_service_loop
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_assert
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_run
    - g_idle_source_new
    - g_source_attach
    linkageType: ''
    returnType: void
    signature: 'static void run_service_loop (GMainContext *service_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-peer.c:491,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-peer.c:494,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/gdbus-peer.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: await_service_loop
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void await_service_loop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/gdbus-peer.c:1578,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1580,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1593,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1614,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1601,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1612,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1606,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1625,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:1573,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/tests/gdbus-peer.c:1584,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1574,1
    - Dst: g_dbus_server_is_active
      Src: /src/glib/gio/tests/gdbus-peer.c:1583,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1593,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1598,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-peer.c:1613,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-peer.c:1607,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1616,1
    - Dst: dmp_data_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1621,1
    - Dst: setup_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1576,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:1619,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1615,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-peer.c:1620,1
    - Dst: teardown_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1622,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1624,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1626
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1626
    functionName: delayed_message_processing
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_thread_new
    - teardown_test_address
    - g_main_loop_quit
    - setup_test_address
    - dmp_data_free
    - g_thread_yield
    - g_assert_cmpint
    - g_object_unref
    - g_thread_join
    - g_variant_new
    - g_assert_no_error
    - g_dbus_server_get_client_address
    - g_variant_unref
    - g_variant_get
    - g_main_loop_unref
    - g_dbus_generate_guid
    - g_dbus_server_is_active
    - g_main_loop_new
    - g_dbus_connection_new_for_address_sync
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_free
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void delayed_message_processing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1737,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1742,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1747,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1755,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1753,1
    - Dst: strstr
      Src: /src/glib/gio/tests/gdbus-peer.c:1762,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1780,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/gdbus-peer.c:1794,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1807,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1810,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-peer.c:1834,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1838,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1748,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1752,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/tests/gdbus-peer.c:1750,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1760,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/gdbus-peer.c:1774,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1778,1
    - Dst: _g_assert_error_domain
      Src: /src/glib/gio/tests/gdbus-peer.c:1785,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1786,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1787,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1799,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/gdbus-peer.c:1830,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1831,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1798,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1812,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1836,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1819,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:1725,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1726,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gdbus-peer.c:1729,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1733,1
    - Dst: memset
      Src: /src/glib/gio/tests/gdbus-peer.c:1728,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:1742,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1751,1
    - Dst: g_dbus_connection_get_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:1754,1
    - Dst: g_uri_unescape_string
      Src: /src/glib/gio/tests/gdbus-peer.c:1765,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1779,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gdbus-peer.c:1826,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-peer.c:1830,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1839,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1818,1
    - Dst: g_creat
      Src: /src/glib/gio/tests/gdbus-peer.c:1822,1
    - Dst: await_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:1736,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-peer.c:1753,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:1754,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:1763,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1800,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1805,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-peer.c:1806,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1817,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:1823,1
    - Dst: g_close
      Src: /src/glib/gio/tests/gdbus-peer.c:1824,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1827,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:1833,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/gdbus-peer.c:1810,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 90
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1840
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1840
    functionName: test_nonce_tcp
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_close
    - g_ptr_array_new_with_free_func
    - g_dbus_server_stop
    - g_thread_new
    - g_main_loop_quit
    - g_dbus_connection_get_unique_name
    - g_ptr_array_unref
    - g_thread_yield
    - g_assert_cmpint
    - g_object_unref
    - memset
    - g_thread_join
    - g_dbus_connection_get_guid
    - g_file_set_contents
    - g_assert_no_error
    - g_dbus_server_get_client_address
    - g_error_free
    - _g_assert_error_domain
    - g_main_loop_unref
    - g_dbus_generate_guid
    - strstr
    - g_main_loop_new
    - g_dbus_connection_new_for_address_sync
    - g_unlink
    - g_assert_error
    - g_assert_false
    - g_free
    - g_assert
    - g_assert_cmpstr
    - g_uri_unescape_string
    - await_service_loop
    - g_file_test
    - g_creat
    linkageType: ''
    returnType: void
    signature: 'static void test_nonce_tcp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-peer.c:2116,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2123,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2133,1
    - Dst: example_animal_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2146,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2150,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2161,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:2167,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:2171,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:2188,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer.c:2202,1
    - Dst: example_animal_get_mood
      Src: /src/glib/gio/tests/gdbus-peer.c:2206,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-peer.c:2184,1
    - Dst: teardown_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:2219,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2215,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2213,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-peer.c:2192,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:2110,1
    - Dst: await_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:2119,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:2129,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:2138,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2143,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2148,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-peer.c:2157,1
    - Dst: example_animal_get_mood
      Src: /src/glib/gio/tests/gdbus-peer.c:2170,1
    - Dst: example_animal_get_mood
      Src: /src/glib/gio/tests/gdbus-peer.c:2171,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2175,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2192,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:2205,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/tests/gdbus-peer.c:2188,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2189,1
    - Dst: example_animal_call_poke_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2212,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-peer.c:2111,1
    - Dst: setup_test_address
      Src: /src/glib/gio/tests/gdbus-peer.c:2113,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2128,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:2134,1
    - Dst: example_animal_call_poke_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2153,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2157,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:2162,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-peer.c:2166,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:2170,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-peer.c:2178,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-peer.c:2183,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer.c:2206,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer.c:2222,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2178,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-peer.c:2201,1
    - Dst: example_animal_get_mood
      Src: /src/glib/gio/tests/gdbus-peer.c:2205,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2216,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:2197,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:2120,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-peer.c:2123,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2138,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:2144,1
    - Dst: example_animal_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2131,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2135,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:2149,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2154,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2163,1
    - Dst: example_animal_call_poke_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:2174,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2221,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:2198,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-peer.c:2217,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2223
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2223
    functionName: codegen_test_peer
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_clear_error
    - g_thread_new
    - teardown_test_address
    - g_main_loop_run
    - example_animal_get_mood
    - g_timeout_add
    - setup_test_address
    - example_animal_call_poke_sync
    - g_object_unref
    - g_thread_join
    - g_dbus_proxy_call_sync
    - example_animal_proxy_new_sync
    - g_assert_no_error
    - g_dbus_server_get_client_address
    - g_variant_unref
    - g_variant_get
    - g_dbus_is_guid
    - g_main_loop_unref
    - g_dbus_generate_guid
    - g_main_loop_new
    - g_dbus_connection_new_for_address_sync
    - g_test_message
    - g_free
    - g_assert
    - g_assert_cmpstr
    - await_service_loop
    linkageType: ''
    returnType: void
    signature: 'static void codegen_test_peer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-peer.c:337,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-peer.c:339,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gdbus-peer.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: setup_tmpdir_test_address
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_dir_make_tmp
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void setup_tmpdir_test_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/gdbus-peer.c:1494,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-peer.c:1497,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/gdbus-peer.c:1513,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1507,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-peer.c:1494,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-peer.c:1517,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1527
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1527
    functionName: dmp_on_new_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_dbus_node_info_new_for_xml
    - g_assert_no_error
    - g_list_prepend
    - g_dbus_node_info_unref
    - g_usleep
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dmp_on_new_connection (GDBusServer *server, GDBusConnection
      *connection, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-peer.c:345,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-peer.c:347,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gdbus-peer.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: setup_path_test_address
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_dir_make_tmp
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void setup_path_test_address (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:1981,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1983,1
    - Dst: example_animal_get_mood
      Src: /src/glib/gio/tests/gdbus-peer.c:1991,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1993,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-peer.c:1991,1
    - Dst: example_animal_set_mood
      Src: /src/glib/gio/tests/gdbus-peer.c:1999,1
    - Dst: example_animal_complete_poke
      Src: /src/glib/gio/tests/gdbus-peer.c:2000,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-peer.c:2006,1
    - Dst: example_animal_get_mood
      Src: /src/glib/gio/tests/gdbus-peer.c:2006,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-peer.c:2008,1
    - Dst: example_animal_set_mood
      Src: /src/glib/gio/tests/gdbus-peer.c:2014,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-peer.c:2019,1
    - Dst: example_animal_complete_poke
      Src: /src/glib/gio/tests/gdbus-peer.c:2015,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 5
    argNames:
    - animal
    - invocation
    - make_sad
    - make_happy
    - user_data
    argTypes:
    - ExampleAnimal*
    - GDBusMethodInvocation*
    - gboolean
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 2023
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 2023
    functionName: codegen_on_animal_poke
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - example_animal_set_mood
    - g_dbus_method_invocation_return_dbus_error
    - g_assert_not_reached
    - g_main_loop_quit
    - example_animal_get_mood
    - example_animal_complete_poke
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean codegen_on_animal_poke (ExampleAnimal *animal, GDBusMethodInvocation
      *invocation, gboolean make_sad, gboolean make_happy, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-peer.c:403,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-peer.c:416,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/tests/gdbus-peer.c:416,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-peer.c:419,1
    - Dst: getuid
      Src: /src/glib/gio/tests/gdbus-peer.c:420,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:411,1
    - Dst: g_credentials_get_unix_pid
      Src: /src/glib/gio/tests/gdbus-peer.c:422,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:424,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-peer.c:428,1
    - Dst: getpid
      Src: /src/glib/gio/tests/gdbus-peer.c:423,1
    - Dst: g_credentials_get_unix_pid
      Src: /src/glib/gio/tests/gdbus-peer.c:426,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:442,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-peer.c:403,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/gdbus-peer.c:415,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:426,1
    - Dst: g_dbus_connection_get_peer_credentials
      Src: /src/glib/gio/tests/gdbus-peer.c:409,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/tests/gdbus-peer.c:419,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer.c:422,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-peer.c:435,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-peer.c:427,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-peer.c:443,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer.c:445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 448
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 448
    functionName: on_new_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_object_ref
    - getpid
    - g_credentials_get_native
    - g_assert_cmpuint
    - g_assert
    - g_credentials_get_unix_pid
    - g_assert_no_error
    - getuid
    - GetCurrentProcessId
    - g_clear_error
    - g_dbus_connection_get_peer_credentials
    - g_main_loop_quit
    - g_assert_error
    - g_ptr_array_add
    - g_credentials_get_unix_user
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_new_connection (GDBusServer *server, GDBusConnection
      *connection, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-peer.c:1896,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:1897,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-peer.c:1908,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer.c:1906,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-peer.c:1900,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-peer.c:1910,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-peer.c:1913,1
    - Dst: run_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:1915,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-peer.c:1917,1
    - Dst: teardown_service_loop
      Src: /src/glib/gio/tests/gdbus-peer.c:1919,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-peer.c:1920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1923
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1923
    functionName: tcp_anonymous_service_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-peer.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_dbus_server_new_sync
    - g_main_context_push_thread_default
    - g_main_context_unref
    - g_assert_no_error
    - teardown_service_loop
    - G_CALLBACK
    - g_dbus_server_start
    - run_service_loop
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer tcp_anonymous_service_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:46,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsocketclient-slow.c:50,1
    - Dst: g_socket_service_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:48,1
    - Dst: g_socket_listener_add_any_inet_port
      Src: /src/glib/gio/tests/gsocketclient-slow.c:49,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/gsocketclient-slow.c:49,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/tests/gsocketclient-slow.c:51,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:58,1
    - Dst: g_socket_client_connect_to_host_async
      Src: /src/glib/gio/tests/gsocketclient-slow.c:59,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsocketclient-slow.c:60,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:62,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:63,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: test_happy_eyeballs
    functionSourceFile: /src/glib/gio/tests/gsocketclient-slow.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_socket_listener_add_any_inet_port
    - g_socket_service_new
    - g_assert_no_error
    - g_object_unref
    - g_main_loop_unref
    - g_main_loop_new
    - g_socket_client_new
    - g_socket_client_connect_to_host_async
    - g_main_loop_run
    - g_socket_service_start
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:120,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/gsocketclient-slow.c:123,1
    - Dst: g_socket_listener_add_any_inet_port
      Src: /src/glib/gio/tests/gsocketclient-slow.c:123,1
    - Dst: g_socket_service_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:122,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsocketclient-slow.c:124,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/tests/gsocketclient-slow.c:125,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:127,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:128,1
    - Dst: g_socket_client_connect_to_host_async
      Src: /src/glib/gio/tests/gsocketclient-slow.c:129,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsocketclient-slow.c:130,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:134,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:135,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsocketclient-slow.c:130,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsocketclient-slow.c:131,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsocketclient-slow.c:133,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:136,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 138
    functionName: test_happy_eyeballs_cancel_delayed
    functionSourceFile: /src/glib/gio/tests/gsocketclient-slow.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_signal_connect
    - g_socket_listener_add_any_inet_port
    - g_socket_service_new
    - g_assert_no_error
    - g_cancellable_new
    - g_object_unref
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_socket_client_new
    - g_socket_client_connect_to_host_async
    - g_main_loop_run
    - g_assert_true
    - g_socket_service_start
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_cancel_delayed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_connect_to_uri_finish
      Src: /src/glib/gio/tests/gsocketclient-slow.c:30,1
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/gsocketclient-slow.c:30,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsocketclient-slow.c:34,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsocketclient-slow.c:31,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: on_connected
    functionSourceFile: /src/glib/gio/tests/gsocketclient-slow.c
    functionUses: []
    functionsReached:
    - g_socket_client_connect_to_uri_finish
    - g_assert_no_error
    - g_object_unref
    - g_main_loop_quit
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: 'static void on_connected (GObject *source_object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_connect_to_uri_finish
      Src: /src/glib/gio/tests/gsocketclient-slow.c:75,1
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/gsocketclient-slow.c:75,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsocketclient-slow.c:77,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gsocketclient-slow.c:79,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsocketclient-slow.c:76,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsocketclient-slow.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: on_connected_cancelled
    functionSourceFile: /src/glib/gio/tests/gsocketclient-slow.c
    functionUses: []
    functionsReached:
    - g_socket_client_connect_to_uri_finish
    - g_error_free
    - g_assert_null
    - g_main_loop_quit
    - g_assert_error
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: 'static void on_connected_cancelled (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsocketclient-slow.c:98,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsocketclient-slow.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - client
    - event
    - connectable
    - connection
    - data
    argTypes:
    - GSocketClient*
    - GSocketClientEvent
    - GSocketConnectable*
    - GIOStream*
    - EventCallbackData*
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: on_event
    functionSourceFile: /src/glib/gio/tests/gsocketclient-slow.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void on_event (GSocketClient *client, GSocketClientEvent event,
      GSocketConnectable *connectable, GIOStream *connection, EventCallbackData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:154,1
    - Dst: g_socket_service_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:156,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsocketclient-slow.c:158,1
    - Dst: g_socket_listener_add_any_inet_port
      Src: /src/glib/gio/tests/gsocketclient-slow.c:157,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/gsocketclient-slow.c:157,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/tests/gsocketclient-slow.c:159,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:161,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsocketclient-slow.c:162,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsocketclient-slow.c:163,1
    - Dst: g_socket_client_connect_to_host_async
      Src: /src/glib/gio/tests/gsocketclient-slow.c:164,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsocketclient-slow.c:166,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsocketclient-slow.c:165,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:170,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:171,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsocketclient-slow.c:165,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:169,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsocketclient-slow.c:168,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsocketclient-slow.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: test_happy_eyeballs_cancel_instant
    functionSourceFile: /src/glib/gio/tests/gsocketclient-slow.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_signal_connect
    - g_socket_listener_add_any_inet_port
    - g_socket_service_new
    - g_assert_no_error
    - g_cancellable_new
    - g_object_unref
    - g_cancellable_cancel
    - G_CALLBACK
    - g_main_loop_unref
    - g_main_loop_new
    - g_socket_client_new
    - g_socket_client_connect_to_host_async
    - g_main_loop_run
    - g_assert_true
    - g_socket_service_start
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_cancel_instant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gsocketclient-slow.c:178,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gsocketclient-slow.c:185,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsocketclient-slow.c:181,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsocketclient-slow.c:182,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsocketclient-slow.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gsocketclient-slow.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/memory-input-stream.c:96,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/memory-input-stream.c:100,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:96,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: async_skipped_chunk
    functionSourceFile: /src/glib/gio/tests/memory-input-stream.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - G_INPUT_STREAM
    - g_assert_no_error
    - g_input_stream_skip_finish
    linkageType: ''
    returnType: void
    signature: 'static void async_skipped_chunk (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:188,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:190,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:197,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:188,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:193,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:197,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:198,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:206,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/memory-input-stream.c:208,1
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/memory-input-stream.c:186,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:190,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/tests/memory-input-stream.c:194,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:199,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-input-stream.c:199,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/memory-input-stream.c:201,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-input-stream.c:210,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:193,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:194,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:194,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:201,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:199,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-input-stream.c:197,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:204,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:206,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-input-stream.c:206,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/memory-input-stream.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 211
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 211
    functionName: test_seek
    functionSourceFile: /src/glib/gio/tests/memory-input-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - G_IS_SEEKABLE
    - g_memory_input_stream_new
    - g_assert
    - g_assert_no_error
    - g_error_free
    - g_object_unref
    - g_memory_input_stream_add_data
    - g_assert_error
    - g_seekable_can_seek
    - g_seekable_seek
    - G_SEEKABLE
    - g_input_stream_read
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_seek (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/memory-input-stream.c:250,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:251,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:253,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:251,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:253,1
    - Dst: g_input_stream_read_bytes
      Src: /src/glib/gio/tests/memory-input-stream.c:256,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:257,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/memory-input-stream.c:259,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:260,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:261,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-input-stream.c:264,1
    - Dst: strncmp
      Src: /src/glib/gio/tests/memory-input-stream.c:261,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/memory-input-stream.c:263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: test_read_bytes
    functionSourceFile: /src/glib/gio/tests/memory-input-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_bytes_get_data
    - g_memory_input_stream_new
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_bytes_unref
    - g_input_stream_read_bytes
    - g_memory_input_stream_add_data
    - strncmp
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:56,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:64,1
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/memory-input-stream.c:41,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:43,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-input-stream.c:68,1
    - Dst: MIN
      Src: /src/glib/gio/tests/memory-input-stream.c:56,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:45,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:43,1
    - Dst: strlen
      Src: /src/glib/gio/tests/memory-input-stream.c:47,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:57,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-input-stream.c:63,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:63,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:62,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:45,1
    - Dst: strlen
      Src: /src/glib/gio/tests/memory-input-stream.c:47,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/memory-input-stream.c:54,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:55,1
    - Dst: strncmp
      Src: /src/glib/gio/tests/memory-input-stream.c:57,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 69
    functionName: test_read_chunks
    functionSourceFile: /src/glib/gio/tests/memory-input-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_memory_input_stream_new
    - g_assert
    - g_assert_no_error
    - MIN
    - g_object_unref
    - g_memory_input_stream_add_data
    - g_seekable_seek
    - G_SEEKABLE
    - g_input_stream_read
    - strncmp
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read_chunks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/memory-input-stream.c:81,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:81,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:83,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/memory-input-stream.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: async_read_chunk
    functionSourceFile: /src/glib/gio/tests/memory-input-stream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM
    - g_assert_no_error
    - g_main_loop_quit
    - g_input_stream_read_finish
    linkageType: ''
    returnType: void
    signature: "static void async_read_chunk (GObject *object,\t\t GAsyncResult *result,\t\t
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/memory-input-stream.c:116,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:122,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/memory-input-stream.c:131,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:143,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/memory-input-stream.c:160,1
    - Dst: strncmp
      Src: /src/glib/gio/tests/memory-input-stream.c:166,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:169,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/memory-input-stream.c:174,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:168,1
    - Dst: MIN
      Src: /src/glib/gio/tests/memory-input-stream.c:155,1
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/memory-input-stream.c:118,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:122,1
    - Dst: strlen
      Src: /src/glib/gio/tests/memory-input-stream.c:124,1
    - Dst: strlen
      Src: /src/glib/gio/tests/memory-input-stream.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:136,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:137,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:142,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:144,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/memory-input-stream.c:153,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:155,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:170,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:166,1
    - Dst: MIN
      Src: /src/glib/gio/tests/memory-input-stream.c:136,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-input-stream.c:143,1
    - Dst: strncmp
      Src: /src/glib/gio/tests/memory-input-stream.c:137,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/memory-input-stream.c:163,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-input-stream.c:168,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:120,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:120,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/memory-input-stream.c:134,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:145,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/memory-input-stream.c:150,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-input-stream.c:173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-input-stream.c:165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 175
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 175
    functionName: test_async
    functionSourceFile: /src/glib/gio/tests/memory-input-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_memory_input_stream_new
    - g_assert
    - g_input_stream_read_async
    - MIN
    - g_assert_no_error
    - g_object_unref
    - g_main_loop_unref
    - g_input_stream_skip_async
    - g_main_loop_new
    - g_memory_input_stream_add_data
    - g_main_loop_run
    - g_seekable_seek
    - G_SEEKABLE
    - strncmp
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/memory-input-stream.c:221,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:225,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:225,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/memory-input-stream.c:223,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/memory-input-stream.c:223,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:228,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:228,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:229,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/tests/memory-input-stream.c:229,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:229,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:232,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/memory-input-stream.c:233,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-input-stream.c:236,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-input-stream.c:232,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/memory-input-stream.c:234,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/tests/memory-input-stream.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 237
    functionName: test_truncate
    functionSourceFile: /src/glib/gio/tests/memory-input-stream.c
    functionUses: []
    functionsReached:
    - G_IS_SEEKABLE
    - g_memory_input_stream_new
    - g_assert
    - g_error_free
    - g_object_unref
    - g_seekable_truncate
    - g_memory_input_stream_add_data
    - g_seekable_can_truncate
    - g_assert_error
    - G_SEEKABLE
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_truncate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/memory-input-stream.c:279,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/tests/memory-input-stream.c:280,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/memory-input-stream.c:281,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-input-stream.c:282,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:281,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-input-stream.c:283,1
    - Dst: strncmp
      Src: /src/glib/gio/tests/memory-input-stream.c:283,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-input-stream.c:285,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/memory-input-stream.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 287
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 287
    functionName: test_from_bytes
    functionSourceFile: /src/glib/gio/tests/memory-input-stream.c
    functionUses: []
    functionsReached:
    - g_bytes_new_static
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_bytes_unref
    - g_memory_input_stream_new_from_bytes
    - g_input_stream_read
    - strncmp
    linkageType: ''
    returnType: void
    signature: 'static void test_from_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/memory-input-stream.c:293,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-input-stream.c:296,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-input-stream.c:297,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-input-stream.c:298,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-input-stream.c:295,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-input-stream.c:299,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-input-stream.c:300,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/memory-input-stream.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: main
    functionSourceFile: /src/glib/gio/tests/memory-input-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/gio/tests/dbus-launch.c:42,1
    - Dst: g_error
      Src: /src/glib/gio/tests/dbus-launch.c:54,1
    - Dst: g_error
      Src: /src/glib/gio/tests/dbus-launch.c:47,1
    - Dst: g_error
      Src: /src/glib/gio/tests/dbus-launch.c:59,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/dbus-launch.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: write_all
    functionSourceFile: /src/glib/gio/tests/dbus-launch.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_error
    - write
    linkageType: ''
    returnType: void
    signature: 'static void write_all (const void *ptr, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_all
      Src: /src/glib/gio/tests/dbus-launch.c:75,1
    - Dst: strlen
      Src: /src/glib/gio/tests/dbus-launch.c:75,1
    - Dst: write_all
      Src: /src/glib/gio/tests/dbus-launch.c:77,1
    - Dst: write_all
      Src: /src/glib/gio/tests/dbus-launch.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/glib/gio/tests/dbus-launch.c
    functionUses: []
    functionsReached:
    - strlen
    - write_all
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:50,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-addresses.c:51,1
    - Dst: g_dbus_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:50,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-addresses.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: test_unsupported_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_error
    - g_assert_false
    - g_dbus_is_supported_address
    linkageType: ''
    returnType: void
    signature: 'static void test_unsupported_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:91,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:92,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:98,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:99,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:85,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:90,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:92,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:93,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:95,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:94,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:99,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:100,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:86,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:94,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:96,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:93,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:95,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:100,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:102,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:90,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:88,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-addresses.c:86,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:91,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:96,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: test_address_parsing
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - assert_not_supported_address
    - g_assert_false
    - g_assert_true
    - g_dbus_is_address
    linkageType: ''
    returnType: void
    signature: 'static void test_address_parsing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-addresses.c:60,1
    - Dst: g_dbus_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:62,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:60,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-addresses.c:63,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-addresses.c:62,1
    - Dst: g_dbus_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:63,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-addresses.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - address
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: assert_is_supported_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - g_dbus_is_supported_address
    - g_assert_true
    - g_dbus_is_address
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void assert_is_supported_address (const gchar *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:133,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:135,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:134,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:137,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:136,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:138,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:140,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:141,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:142,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:143,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:145,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:149,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:144,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:148,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:147,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:146,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 151
    functionName: test_nonce_tcp_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - assert_not_supported_address
    - assert_is_supported_address
    linkageType: ''
    returnType: void
    signature: 'static void test_nonce_tcp_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: test_autolaunch_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - assert_is_supported_address
    linkageType: ''
    returnType: void
    signature: 'static void test_autolaunch_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-addresses.c:72,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:75,1
    - Dst: g_dbus_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:74,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:74,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:72,1
    - Dst: g_dbus_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:75,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-addresses.c:76,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-addresses.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - address
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: assert_not_supported_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_dbus_is_supported_address
    - g_clear_error
    - g_dbus_is_address
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void assert_not_supported_address (const gchar *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-addresses.c:109,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:113,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:112,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:114,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:111,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:115,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-addresses.c:116,1
    - Dst: g_dbus_is_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:116,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:117,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:118,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:122,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:126,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:121,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:125,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:120,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:124,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:119,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: test_unix_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - assert_is_supported_address
    - g_test_skip
    - g_dbus_is_address
    - assert_not_supported_address
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:156,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:157,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:159,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:158,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:160,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:161,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:162,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:163,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:164,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:165,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:166,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: test_tcp_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - assert_not_supported_address
    - assert_is_supported_address
    linkageType: ''
    returnType: void
    signature: 'static void test_tcp_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:179,1
    - Dst: assert_not_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:181,1
    - Dst: assert_is_supported_address
      Src: /src/glib/gio/tests/gdbus-addresses.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: test_mixed_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - assert_not_supported_address
    - assert_is_supported_address
    linkageType: ''
    returnType: void
    signature: 'static void test_mixed_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/tests/gdbus-addresses.c:200,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-addresses.c:203,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-addresses.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 205
    functionName: test_escape_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpstr
    - g_dbus_address_escape_value
    linkageType: ''
    returnType: void
    signature: 'static void test_escape_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-addresses.c:211,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-addresses.c:214,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-addresses.c:213,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-addresses.c:215,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-addresses.c:216,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-addresses.c:217,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-addresses.c:218,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-addresses.c:219,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-addresses.c:220,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-addresses.c:221,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-addresses.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_address_get_stream_sync
      Src: /src/glib/gio/tests/gdbus-addresses.c:35,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-addresses.c:40,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-addresses.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: test_empty_address
    functionSourceFile: /src/glib/gio/tests/gdbus-addresses.c
    functionUses: []
    functionsReached:
    - g_assert_error
    - g_dbus_address_get_stream_sync
    - g_error_free
    linkageType: ''
    returnType: void
    signature: 'static void test_empty_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/simple-async-result.c:27,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:29,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: ensure_destroyed
    functionSourceFile: /src/glib/gio/tests/simple-async-result.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_unref
    - g_object_add_weak_pointer
    linkageType: ''
    returnType: void
    signature: 'static void ensure_destroyed (gpointer obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:47,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:49,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: check
    functionSourceFile: /src/glib/gio/tests/simple-async-result.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void check (gpointer a, gpointer b, gpointer c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/simple-async-result.c:70,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/simple-async-result.c:74,1
    - Dst: g_simple_async_result_complete
      Src: /src/glib/gio/tests/simple-async-result.c:76,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:78,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:84,1
    - Dst: reset
      Src: /src/glib/gio/tests/simple-async-result.c:86,1
    - Dst: ensure_destroyed
      Src: /src/glib/gio/tests/simple-async-result.c:89,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/simple-async-result.c:69,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:74,1
    - Dst: G_ASYNC_RESULT
      Src: /src/glib/gio/tests/simple-async-result.c:74,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:83,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:83,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:82,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:81,1
    - Dst: reset
      Src: /src/glib/gio/tests/simple-async-result.c:85,1
    - Dst: ensure_destroyed
      Src: /src/glib/gio/tests/simple-async-result.c:90,1
    - Dst: ensure_destroyed
      Src: /src/glib/gio/tests/simple-async-result.c:91,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/tests/simple-async-result.c:73,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/simple-async-result.c:71,1
    - Dst: check
      Src: /src/glib/gio/tests/simple-async-result.c:77,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:80,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:81,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:82,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:84,1
    - Dst: reset
      Src: /src/glib/gio/tests/simple-async-result.c:87,1
    - Dst: check
      Src: /src/glib/gio/tests/simple-async-result.c:75,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: test_simple_async_idle
    functionSourceFile: /src/glib/gio/tests/simple-async-result.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_complete
    - g_object_new
    - g_simple_async_result_is_valid
    - g_assert
    - G_ASYNC_RESULT
    - g_object_unref
    - ensure_destroyed
    - check
    - g_simple_async_result_new
    - reset
    - g_async_result_get_user_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_simple_async_idle (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:136,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:137,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:138,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:139,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:146,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:147,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:151,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:151,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:152,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:158,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:162,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:163,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:176,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:177,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:164,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:169,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:174,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/simple-async-result.c:132,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/tests/simple-async-result.c:135,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:136,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:137,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:138,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:139,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/tests/simple-async-result.c:145,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:149,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:156,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:161,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:183,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:173,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:162,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:175,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:164,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:177,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:163,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:176,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:185,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:140,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:140,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:148,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:149,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/tests/simple-async-result.c:155,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:156,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:159,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:160,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:161,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:158,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:170,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:171,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:165,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:174,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:178,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:171,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:160,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:173,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/simple-async-result.c:181,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:170,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/simple-async-result.c:131,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:142,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:141,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:146,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:147,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:148,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:150,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:150,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/simple-async-result.c:157,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:159,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/tests/simple-async-result.c:168,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:172,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:175,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:169,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/simple-async-result.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:186,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:182,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:157,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/simple-async-result.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 84
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 187
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 187
    functionName: test_valid
    functionSourceFile: /src/glib/gio/tests/simple-async-result.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_simple_async_result_is_valid
    - g_object_new
    - g_object_unref
    - g_task_new
    - g_simple_async_result_new
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_valid (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_destroyed
      Src: /src/glib/gio/tests/simple-async-result.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: reset
    functionSourceFile: /src/glib/gio/tests/simple-async-result.c
    functionUses: []
    functionsReached:
    - ensure_destroyed
    linkageType: ''
    returnType: void
    signature: 'static void reset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/simple-async-result.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: callback_func
    functionSourceFile: /src/glib/gio/tests/simple-async-result.c
    functionUses: []
    functionsReached:
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void callback_func (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/simple-async-result.c:104,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/simple-async-result.c:107,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/simple-async-result.c:105,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/simple-async-result.c:110,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/simple-async-result.c:109,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/tests/simple-async-result.c:112,1
    - Dst: check
      Src: /src/glib/gio/tests/simple-async-result.c:113,1
    - Dst: g_simple_async_result_complete_in_idle
      Src: /src/glib/gio/tests/simple-async-result.c:114,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-async-result.c:115,1
    - Dst: check
      Src: /src/glib/gio/tests/simple-async-result.c:116,1
    - Dst: check
      Src: /src/glib/gio/tests/simple-async-result.c:118,1
    - Dst: ensure_destroyed
      Src: /src/glib/gio/tests/simple-async-result.c:121,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/simple-async-result.c:117,1
    - Dst: ensure_destroyed
      Src: /src/glib/gio/tests/simple-async-result.c:122,1
    - Dst: reset
      Src: /src/glib/gio/tests/simple-async-result.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 123
    functionName: test_simple_async
    functionSourceFile: /src/glib/gio/tests/simple-async-result.c
    functionUses: []
    functionsReached:
    - g_idle_add
    - g_object_new
    - g_simple_async_result_complete_in_idle
    - g_assert
    - ensure_destroyed
    - g_object_unref
    - check
    - g_simple_async_result_new
    - g_main_context_iteration
    - reset
    linkageType: ''
    returnType: void
    signature: 'static void test_simple_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/simple-async-result.c:192,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/simple-async-result.c:197,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/simple-async-result.c:195,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/simple-async-result.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/glib/gio/tests/simple-async-result.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_can_reach_async
      Src: /src/glib/gio/tests/network-monitor.c:188,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/network-monitor.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: test_reach_async
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_network_monitor_can_reach_async
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_reach_async (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - monitor
    - available
    - user_data
    argTypes:
    - GNetworkMonitor*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: network_changed_handler
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void network_changed_handler (GNetworkMonitor *monitor, gboolean
      available, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_get_default
      Src: /src/glib/gio/tests/network-monitor.c:242,1
    - Dst: g_initable_init
      Src: /src/glib/gio/tests/network-monitor.c:246,1
    - Dst: G_IS_NETWORK_MONITOR
      Src: /src/glib/gio/tests/network-monitor.c:243,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/network-monitor.c:245,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/network-monitor.c:243,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/tests/network-monitor.c:246,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-monitor.c:247,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:250,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:251,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:252,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:257,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:254,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:255,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-monitor.c:259,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 260
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 260
    functionName: test_default
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_network_monitor_get_default
    - run_tests
    - g_object_new
    - g_assert
    - g_initable_init
    - g_assert_no_error
    - G_IS_NETWORK_MONITOR
    - g_object_unref
    - G_INITABLE
    - assert_signals
    linkageType: ''
    returnType: void
    signature: 'static void test_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-monitor.c:297,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:298,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:302,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:317,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:318,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:309,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:322,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:326,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:330,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:333,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:343,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:350,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:356,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:350,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:305,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:309,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:316,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:325,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:332,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:336,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:345,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:347,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:348,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:352,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:354,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:358,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:338,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:340,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:300,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:300,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:313,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:311,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:315,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:320,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:324,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:335,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:337,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:340,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:344,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-monitor.c:360,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:342,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:357,1
    - Dst: g_initable_new
      Src: /src/glib/gio/tests/network-monitor.c:296,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:303,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:303,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:320,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:314,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:323,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:327,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:328,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:330,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:334,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:353,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:355,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 361
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 361
    functionName: test_add_networks
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - run_tests
    - g_assert_no_error
    - g_object_unref
    - g_network_monitor_base_add_network
    - assert_signals
    - g_initable_new
    - g_network_monitor_base_remove_network
    - G_NETWORK_MONITOR_BASE
    linkageType: ''
    returnType: void
    signature: 'static void test_add_networks (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/network-monitor.c:465,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-monitor.c:472,1
    - Dst: strchr
      Src: /src/glib/gio/tests/network-monitor.c:471,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/network-monitor.c:470,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-monitor.c:466,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/tests/network-monitor.c:472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-monitor.c:474,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/tests/network-monitor.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - test
    argTypes:
    - TestMask*
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: init_test
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_no_error
    - g_inet_address_mask_new_from_string
    - g_inet_address_new_from_string
    - strchr
    - g_inet_address_get_family
    linkageType: ''
    returnType: void
    signature: 'static void init_test (TestMask *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/network-monitor.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - monitor
    - available
    - user_data
    argTypes:
    - GNetworkMonitor*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: watch_network_changed
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void watch_network_changed (GNetworkMonitor *monitor, gboolean
      available, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/network-monitor.c:509,1
    - Dst: g_network_monitor_get_network_metered
      Src: /src/glib/gio/tests/network-monitor.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - monitor
    - pspec
    - user_data
    argTypes:
    - GNetworkMonitor*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 510
    functionName: watch_metered_changed
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_print
    - g_network_monitor_get_network_metered
    linkageType: ''
    returnType: void
    signature: 'static void watch_metered_changed (GNetworkMonitor *monitor, GParamSpec
      *pspec, gpointer user_data) '
  - 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: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: notify_handler
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void notify_handler (GObject *object, GParamSpec *pspec, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_can_reach_finish
      Src: /src/glib/gio/tests/network-monitor.c:169,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/network-monitor.c:175,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/network-monitor.c:178,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-monitor.c:172,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/network-monitor.c:176,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/network-monitor.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 181
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 181
    functionName: reach_cb
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_network_monitor_can_reach_finish
    - g_clear_error
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void reach_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/network-monitor.c:135,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/network-monitor.c:139,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/network-monitor.c:142,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/network-monitor.c:138,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/network-monitor.c:136,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/network-monitor.c:144,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/network-monitor.c:145,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/network-monitor.c:147,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/network-monitor.c:148,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/network-monitor.c:150,1
    - Dst: g_network_monitor_get_network_available
      Src: /src/glib/gio/tests/network-monitor.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - monitor
    - should_emit_notify
    - should_emit_network_changed
    - expected_network_available
    argTypes:
    - GNetworkMonitor*
    - gboolean
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: assert_signals
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_assert
    - G_CALLBACK
    - g_network_monitor_get_network_available
    - g_main_context_iteration
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void assert_signals (GNetworkMonitor *monitor, gboolean should_emit_notify,
      gboolean should_emit_network_changed, gboolean expected_network_available) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/network-monitor.c:208,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/network-monitor.c:214,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/network-monitor.c:219,1
    - Dst: g_network_monitor_can_reach
      Src: /src/glib/gio/tests/network-monitor.c:213,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/network-monitor.c:212,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-monitor.c:220,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-monitor.c:222,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-monitor.c:223,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-monitor.c:225,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/network-monitor.c:228,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/network-monitor.c:229,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/network-monitor.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - monitor
    - addresses
    - should_be_reachable
    argTypes:
    - GNetworkMonitor*
    - TestAddress*
    - gboolean
    constantsTouched: []
    func_position:
      end: 234
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 234
    functionName: run_tests
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_idle_add
    - g_assert
    - g_inet_socket_address_new
    - g_assert_no_error
    - g_object_unref
    - g_network_monitor_can_reach
    - g_clear_error
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: 'static void run_tests (GNetworkMonitor *monitor, TestAddress *addresses,
      gboolean should_be_reachable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/glib/gio/tests/network-monitor.c:268,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-monitor.c:269,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:272,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:270,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:272,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:274,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:275,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:275,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:277,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:280,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:281,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-monitor.c:287,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:283,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:282,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:284,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 288
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 288
    functionName: test_remove_default
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - run_tests
    - g_assert_no_error
    - g_object_unref
    - assert_signals
    - g_initable_new
    - g_network_monitor_base_remove_network
    - G_NETWORK_MONITOR_BASE
    linkageType: ''
    returnType: void
    signature: 'static void test_remove_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:373,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:373,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:387,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:384,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:383,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:399,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:405,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:408,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:412,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:413,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:419,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:435,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:440,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:451,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:447,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:417,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:432,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:439,1
    - Dst: g_initable_new
      Src: /src/glib/gio/tests/network-monitor.c:369,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:376,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:376,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:386,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:390,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:393,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:398,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:405,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:411,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:418,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:430,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:410,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:437,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:452,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:422,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:448,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-monitor.c:455,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:450,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:428,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:371,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-monitor.c:370,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:375,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:390,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:381,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:393,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:397,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:401,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:402,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:407,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:420,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:441,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:443,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:445,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:438,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:423,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:425,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:378,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/tests/network-monitor.c:381,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:384,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:387,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:389,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:392,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:395,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:400,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:409,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:415,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:415,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:431,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:445,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/tests/network-monitor.c:425,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:449,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:421,1
    - Dst: assert_signals
      Src: /src/glib/gio/tests/network-monitor.c:427,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:442,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:453,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:429,1
    - Dst: run_tests
      Src: /src/glib/gio/tests/network-monitor.c:433,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/tests/network-monitor.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 456
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 456
    functionName: test_remove_networks
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - run_tests
    - g_assert_no_error
    - g_object_unref
    - g_network_monitor_base_add_network
    - assert_signals
    - g_initable_new
    - g_network_monitor_base_remove_network
    - G_NETWORK_MONITOR_BASE
    linkageType: ''
    returnType: void
    signature: 'static void test_remove_networks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-monitor.c:483,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-monitor.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - test
    argTypes:
    - TestMask*
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: cleanup_test
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_test (TestMask *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/network-monitor.c:501,1
    - Dst: g_network_monitor_get_connectivity
      Src: /src/glib/gio/tests/network-monitor.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - monitor
    - pspec
    - user_data
    argTypes:
    - GNetworkMonitor*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: watch_connectivity_changed
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_print
    - g_network_monitor_get_connectivity
    linkageType: ''
    returnType: void
    signature: "static void watch_connectivity_changed (GNetworkMonitor *monitor,\t\t\t
      GParamSpec *pspec,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_get_default
      Src: /src/glib/gio/tests/network-monitor.c:515,1
    - Dst: g_type_name_from_instance
      Src: /src/glib/gio/tests/network-monitor.c:518,1
    - Dst: g_print
      Src: /src/glib/gio/tests/network-monitor.c:518,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/network-monitor.c:521,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/network-monitor.c:520,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/network-monitor.c:522,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/network-monitor.c:523,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/network-monitor.c:524,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/network-monitor.c:525,1
    - Dst: watch_network_changed
      Src: /src/glib/gio/tests/network-monitor.c:526,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/network-monitor.c:530,1
    - Dst: watch_metered_changed
      Src: /src/glib/gio/tests/network-monitor.c:528,1
    - Dst: watch_connectivity_changed
      Src: /src/glib/gio/tests/network-monitor.c:527,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-monitor.c:531,1
    - Dst: g_network_monitor_get_network_available
      Src: /src/glib/gio/tests/network-monitor.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 532
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 532
    functionName: do_watch_network
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_network_monitor_get_default
    - watch_connectivity_changed
    - g_type_name_from_instance
    - watch_network_changed
    - G_CALLBACK
    - g_network_monitor_get_network_available
    - watch_metered_changed
    - g_main_loop_new
    - g_main_loop_run
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void do_watch_network (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/tests/network-monitor.c:539,1
    - Dst: init_test
      Src: /src/glib/gio/tests/network-monitor.c:558,1
    - Dst: init_test
      Src: /src/glib/gio/tests/network-monitor.c:560,1
    - Dst: init_test
      Src: /src/glib/gio/tests/network-monitor.c:561,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-monitor.c:565,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-monitor.c:568,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-monitor.c:566,1
    - Dst: cleanup_test
      Src: /src/glib/gio/tests/network-monitor.c:574,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-monitor.c:567,1
    - Dst: cleanup_test
      Src: /src/glib/gio/tests/network-monitor.c:576,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-monitor.c:578,1
    - Dst: init_test
      Src: /src/glib/gio/tests/network-monitor.c:557,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/network-monitor.c:555,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/network-monitor.c:545,1
    - Dst: init_test
      Src: /src/glib/gio/tests/network-monitor.c:559,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/network-monitor.c:562,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/network-monitor.c:563,1
    - Dst: cleanup_test
      Src: /src/glib/gio/tests/network-monitor.c:572,1
    - Dst: cleanup_test
      Src: /src/glib/gio/tests/network-monitor.c:573,1
    - Dst: cleanup_test
      Src: /src/glib/gio/tests/network-monitor.c:575,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-monitor.c:577,1
    - Dst: do_watch_network
      Src: /src/glib/gio/tests/network-monitor.c:541,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/network-monitor.c:570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 581
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 581
    functionName: main
    functionSourceFile: /src/glib/gio/tests/network-monitor.c
    functionUses: []
    functionsReached:
    - g_inet_address_mask_new_from_string
    - g_object_unref
    - g_test_add_func
    - do_watch_network
    - cleanup_test
    - g_test_run
    - g_test_init
    - strcmp
    - init_test
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/contexts.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: test2_fail
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test2_fail (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/tests/contexts.c:239,1
    - Dst: per_thread_thing_get_type
      Src: /src/glib/gio/tests/contexts.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - PerThreadThingClass*
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: per_thread_thing_class_init
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_signal_new
    - per_thread_thing_get_type
    linkageType: ''
    returnType: void
    signature: 'static void per_thread_thing_class_init (PerThreadThingClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/contexts.c:259,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:263,1
    - Dst: per_thread_thing_get
      Src: /src/glib/gio/tests/contexts.c:267,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:276,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/tests/contexts.c:274,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/contexts.c:254,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:261,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/contexts.c:258,1
    - Dst: per_thread_thing_get
      Src: /src/glib/gio/tests/contexts.c:262,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:272,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contexts.c:292,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/contexts.c:299,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:263,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:270,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:284,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/tests/contexts.c:288,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:276,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/contexts.c:296,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:272,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:286,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:286,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contexts.c:281,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/contexts.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 300
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 300
    functionName: test_identity_thread
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_main_context_push_thread_default
    - per_thread_thing_get
    - GPOINTER_TO_UINT
    - g_assert
    - g_main_context_unref
    - g_object_unref
    - GUINT_TO_POINTER
    - g_atomic_int_get
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_identity_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/contexts.c:324,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - thing
    - user_data
    argTypes:
    - PerThreadThing*
    - gpointer
    constantsTouched: []
    func_position:
      end: 325
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionName: changed_emitted
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void changed_emitted (PerThreadThing *thing, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_get
      Src: /src/glib/gio/tests/contexts.c:246,1
    - Dst: per_thread_thing_get_type
      Src: /src/glib/gio/tests/contexts.c:246,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/tests/contexts.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: per_thread_thing_get
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_context_specific_group_get
    - per_thread_thing_get_type
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer per_thread_thing_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:309,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/contexts.c:311,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:309,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/contexts.c:311,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/contexts.c:313,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/contexts.c:313,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:314,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: test_context_specific_identity
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - g_assert
    - GUINT_TO_POINTER
    - g_atomic_int_get
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_context_specific_identity (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/contexts.c:334,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:338,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:338,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/contexts.c:335,1
    - Dst: per_thread_thing_get
      Src: /src/glib/gio/tests/contexts.c:337,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/contexts.c:340,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/contexts.c:340,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/contexts.c:343,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:343,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:345,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/contexts.c:350,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/contexts.c:346,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/contexts.c:354,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/contexts.c:351,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contexts.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 355
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 355
    functionName: test_emit_thread
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - per_thread_thing_get
    - g_signal_connect
    - g_assert
    - g_main_context_unref
    - g_object_unref
    - GUINT_TO_POINTER
    - g_atomic_int_get
    - G_CALLBACK
    - g_main_context_pop_thread_default
    - g_main_context_iteration
    - g_atomic_int_set
    - g_main_context_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_emit_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/contexts.c:80,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:87,1
    - Dst: g_cond_wait_until
      Src: /src/glib/gio/tests/contexts.c:86,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/contexts.c:81,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/contexts.c:83,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/contexts.c:89,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/contexts.c:91,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/contexts.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - loop
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: idle_start_test1_thread
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_mutex_unlock
    - g_thread_new
    - g_thread_join
    - g_get_monotonic_time
    - g_main_loop_quit
    - g_cond_wait_until
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean idle_start_test1_thread (gpointer loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/contexts.c:106,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/contexts.c:107,1
    - Dst: g_file_supports_thread_contexts
      Src: /src/glib/gio/tests/contexts.c:112,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/contexts.c:125,1
    - Dst: g_file_read_async
      Src: /src/glib/gio/tests/contexts.c:115,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:107,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/contexts.c:108,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/contexts.c:109,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/contexts.c:126,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/contexts.c:122,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contexts.c:117,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/contexts.c:104,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:109,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/contexts.c:111,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/contexts.c:119,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/contexts.c:123,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:112,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/contexts.c:114,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/contexts.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 129
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 129
    functionName: test1_thread
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - g_cond_signal
    - g_file_new_for_path
    - g_assert
    - g_main_context_unref
    - g_object_unref
    - g_main_context_new
    - g_main_loop_unref
    - g_mutex_unlock
    - g_main_loop_new
    - g_main_loop_run
    - g_file_read_async
    - g_main_context_get_thread_default
    - g_main_context_pop_thread_default
    - g_mutex_lock
    - g_file_supports_thread_contexts
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test1_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/contexts.c:67,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/contexts.c:69,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/contexts.c:70,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/contexts.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: test_thread_independence
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_main_loop_unref
    - g_main_loop_new
    - g_idle_add
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_independence (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:208,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/contexts.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: start_func
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void start_func (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/contexts.c:366,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gio/tests/contexts.c:379,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/contexts.c:376,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/contexts.c:374,1
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/tests/contexts.c:380,1
    - Dst: g_signal_lookup
      Src: /src/glib/gio/tests/contexts.c:380,1
    - Dst: per_thread_thing_get_type
      Src: /src/glib/gio/tests/contexts.c:380,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/contexts.c:383,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/tests/contexts.c:385,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/contexts.c:387,1
    - Dst: g_signal_lookup
      Src: /src/glib/gio/tests/contexts.c:394,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/contexts.c:397,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:398,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:399,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/contexts.c:393,1
    - Dst: g_error
      Src: /src/glib/gio/tests/contexts.c:388,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/contexts.c:397,1
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/tests/contexts.c:394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 400
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 400
    functionName: test_context_specific_emit
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_context_specific_group_emit
    - per_thread_thing_get_type
    - GPOINTER_TO_UINT
    - g_assert
    - g_error
    - g_signal_lookup
    - g_test_rand_int_range
    - g_atomic_int_get
    - g_thread_new
    - g_thread_join
    - g_get_monotonic_time
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void test_context_specific_emit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:215,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/contexts.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: stop_func
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'static void stop_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: per_thread_thing_get
      Src: /src/glib/gio/tests/contexts.c:407,1
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/tests/contexts.c:408,1
    - Dst: g_signal_lookup
      Src: /src/glib/gio/tests/contexts.c:408,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contexts.c:409,1
    - Dst: per_thread_thing_get_type
      Src: /src/glib/gio/tests/contexts.c:408,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/contexts.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: test_context_specific_emit_and_unref
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - per_thread_thing_get
    - g_context_specific_group_emit
    - per_thread_thing_get_type
    - g_object_unref
    - g_signal_lookup
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: 'static void test_context_specific_emit_and_unref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/contexts.c:421,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contexts.c:428,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/contexts.c:424,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/contexts.c:426,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/contexts.c:423,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contexts.c:429,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contexts.c:430,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contexts.c:431,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/contexts.c:432,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/contexts.c:434,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contexts.c:436,1
    - Dst: g_free
      Src: /src/glib/gio/tests/contexts.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 440
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 440
    functionName: main
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_free
    - g_assert_no_error
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_file_get_contents
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/contexts.c:16,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/contexts.c:23,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/contexts.c:24,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/contexts.c:21,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/contexts.c:20,1
    - Dst: MIN
      Src: /src/glib/gio/tests/contexts.c:24,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:25,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/contexts.c:25,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/contexts.c:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - source
    - result
    - loop
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 28
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 28
    functionName: read_data
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert
    - g_assert_no_error
    - MIN
    - g_input_stream_read_finish
    - g_main_loop_quit
    - memcmp
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void read_data (GObject *source, GAsyncResult *result, gpointer
      loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_remove
      Src: /src/glib/gio/tests/contexts.c:224,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/contexts.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: per_thread_thing_finalize
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_context_specific_group_remove
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void per_thread_thing_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/tests/contexts.c:33,1
    - Dst: memset
      Src: /src/glib/gio/tests/contexts.c:40,1
    - Dst: g_file_read_finish
      Src: /src/glib/gio/tests/contexts.c:37,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/contexts.c:41,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/contexts.c:38,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/contexts.c:41,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contexts.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - source
    - result
    - loop
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: opened_for_read
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - G_FILE
    - g_assert_no_error
    - g_input_stream_read_async
    - g_object_unref
    - memset
    - G_INPUT_STREAM
    - g_file_read_finish
    linkageType: ''
    returnType: void
    signature: 'static void opened_for_read (GObject *source, GAsyncResult *result,
      gpointer loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/contexts.c:147,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/contexts.c:149,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/contexts.c:150,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/contexts.c:152,1
    - Dst: g_timeout_add_full
      Src: /src/glib/gio/tests/contexts.c:156,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/contexts.c:167,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/contexts.c:172,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/contexts.c:148,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/contexts.c:163,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/contexts.c:166,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/contexts.c:171,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:148,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:150,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/contexts.c:153,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/contexts.c:161,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/tests/contexts.c:159,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/contexts.c:170,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/contexts.c:175,1
    - Dst: g_file_supports_thread_contexts
      Src: /src/glib/gio/tests/contexts.c:153,1
    - Dst: g_file_read_async
      Src: /src/glib/gio/tests/contexts.c:164,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/contexts.c:168,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/contexts.c:160,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/contexts.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: test_context_independence
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_source_remove
    - g_source_unref
    - g_main_loop_run
    - g_main_context_get_thread_default
    - g_source_destroy
    - g_source_attach
    - g_main_context_new
    - g_object_unref
    - g_file_supports_thread_contexts
    - g_main_context_push_thread_default
    - g_timeout_add_full
    - g_file_new_for_path
    - g_main_loop_unref
    - g_main_loop_new
    - g_file_read_async
    - g_timeout_source_new_seconds
    - g_source_set_callback
    - g_assert
    - g_main_context_pop_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void test_context_independence (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - thing
    argTypes:
    - PerThreadThing*
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: per_thread_thing_init
    functionSourceFile: /src/glib/gio/tests/contexts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void per_thread_thing_init (PerThreadThing *thing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:75,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/tests/buffered-input-stream.c:78,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:78,1
    - Dst: g_buffered_input_stream_new
      Src: /src/glib/gio/tests/buffered-input-stream.c:76,1
    - Dst: strlen
      Src: /src/glib/gio/tests/buffered-input-stream.c:78,1
    - Dst: g_buffered_input_stream_peek_buffer
      Src: /src/glib/gio/tests/buffered-input-stream.c:79,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:79,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:80,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:81,1
    - Dst: strncmp
      Src: /src/glib/gio/tests/buffered-input-stream.c:81,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:83,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: test_peek_buffer
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_assert
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_buffered_input_stream_new
    - g_buffered_input_stream_fill
    - g_buffered_input_stream_peek_buffer
    - strncmp
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_peek_buffer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:132,1
    - Dst: g_buffered_input_stream_new
      Src: /src/glib/gio/tests/buffered-input-stream.c:133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:136,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:138,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/buffered-input-stream.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:140,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:143,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:150,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:150,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:146,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:146,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:148,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:148,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:153,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:155,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:155,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:155,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/buffered-input-stream.c:130,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:137,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:139,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:141,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:146,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:147,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/buffered-input-stream.c:153,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:160,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:151,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:136,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:136,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:138,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:144,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:140,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:140,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:150,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:154,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/buffered-input-stream.c:157,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 161
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 161
    functionName: test_read_byte
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_input_stream_skip
    - g_assert
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - g_error_free
    - g_input_stream_close
    - g_object_unref
    - g_buffered_input_stream_new
    - g_buffered_input_stream_read_byte
    - g_assert_error
    - g_test_bug
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read_byte (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/buffered-input-stream.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: return_result_cb
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void return_result_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:311,1
    - Dst: g_buffered_input_stream_new_sized
      Src: /src/glib/gio/tests/buffered-input-stream.c:312,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:315,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:317,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:317,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:319,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:324,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:329,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/buffered-input-stream.c:332,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:319,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:324,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/buffered-input-stream.c:322,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:327,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:328,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:334,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:339,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:343,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/buffered-input-stream.c:339,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:315,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:317,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:318,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:319,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:329,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:330,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:334,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:334,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:337,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:340,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:342,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:315,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:320,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:322,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:324,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/buffered-input-stream.c:327,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:332,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:333,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:335,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/buffered-input-stream.c:337,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 344
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 344
    functionName: test_skip
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_input_stream_skip
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - g_object_unref
    - g_buffered_input_stream_new_sized
    - g_buffered_input_stream_read_byte
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_skip (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_buffered_input_stream_new
      Src: /src/glib/gio/tests/buffered-input-stream.c:437,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:426,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/buffered-input-stream.c:429,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:430,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:436,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:434,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:444,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/buffered-input-stream.c:444,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:426,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:429,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:431,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:433,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:443,1
    - Dst: g_filter_input_stream_set_close_base_stream
      Src: /src/glib/gio/tests/buffered-input-stream.c:439,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:447,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:423,1
    - Dst: g_buffered_input_stream_new
      Src: /src/glib/gio/tests/buffered-input-stream.c:424,1
    - Dst: g_filter_input_stream_get_close_base_stream
      Src: /src/glib/gio/tests/buffered-input-stream.c:426,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/buffered-input-stream.c:431,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/buffered-input-stream.c:442,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:439,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:442,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 448
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 448
    functionName: test_close
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - G_FILTER_INPUT_STREAM
    - g_assert
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - g_object_unref
    - g_input_stream_close
    - g_filter_input_stream_set_close_base_stream
    - g_buffered_input_stream_new
    - g_input_stream_is_closed
    - g_filter_input_stream_get_close_base_stream
    linkageType: ''
    returnType: void
    signature: 'static void test_close (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:37,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/tests/buffered-input-stream.c:43,1
    - Dst: g_free
      Src: /src/glib/gio/tests/buffered-input-stream.c:49,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/buffered-input-stream.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:59,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:62,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:63,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:40,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/tests/buffered-input-stream.c:42,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:43,1
    - Dst: strlen
      Src: /src/glib/gio/tests/buffered-input-stream.c:43,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/buffered-input-stream.c:51,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:53,1
    - Dst: g_free
      Src: /src/glib/gio/tests/buffered-input-stream.c:55,1
    - Dst: g_buffered_input_stream_peek
      Src: /src/glib/gio/tests/buffered-input-stream.c:58,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:58,1
    - Dst: g_free
      Src: /src/glib/gio/tests/buffered-input-stream.c:60,1
    - Dst: g_buffered_input_stream_new_sized
      Src: /src/glib/gio/tests/buffered-input-stream.c:38,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/tests/buffered-input-stream.c:40,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:41,1
    - Dst: g_buffered_input_stream_peek
      Src: /src/glib/gio/tests/buffered-input-stream.c:46,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:48,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:46,1
    - Dst: g_buffered_input_stream_peek
      Src: /src/glib/gio/tests/buffered-input-stream.c:52,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:52,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:54,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/buffered-input-stream.c:57,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:41,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/tests/buffered-input-stream.c:41,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:42,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:43,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: test_peek
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_free
    - g_buffered_input_stream_get_available
    - g_new0
    - g_memory_input_stream_new_from_data
    - g_assert_cmpstr
    - g_object_unref
    - g_buffered_input_stream_new_sized
    - g_buffered_input_stream_fill
    - g_buffered_input_stream_peek
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_peek (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/tests/buffered-input-stream.c:105,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/tests/buffered-input-stream.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:111,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/tests/buffered-input-stream.c:116,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:116,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:120,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/tests/buffered-input-stream.c:97,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:97,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:100,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/tests/buffered-input-stream.c:101,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:107,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/tests/buffered-input-stream.c:108,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:106,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:98,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:101,1
    - Dst: strlen
      Src: /src/glib/gio/tests/buffered-input-stream.c:105,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:108,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:113,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:119,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:95,1
    - Dst: g_buffered_input_stream_new
      Src: /src/glib/gio/tests/buffered-input-stream.c:96,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/tests/buffered-input-stream.c:100,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:102,1
    - Dst: g_buffered_input_stream_peek_buffer
      Src: /src/glib/gio/tests/buffered-input-stream.c:106,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:105,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/buffered-input-stream.c:110,1
    - Dst: g_buffered_input_stream_new_sized
      Src: /src/glib/gio/tests/buffered-input-stream.c:115,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: test_set_buffer_size
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_buffered_input_stream_get_buffer_size
    - g_buffered_input_stream_new
    - g_buffered_input_stream_set_buffer_size
    - g_buffered_input_stream_new_sized
    - g_buffered_input_stream_fill
    - g_buffered_input_stream_peek_buffer
    - g_object_get
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_set_buffer_size (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/tests/buffered-input-stream.c:174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:183,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/tests/buffered-input-stream.c:187,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/tests/buffered-input-stream.c:180,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:187,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/buffered-input-stream.c:183,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/buffered-input-stream.c:195,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:200,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/buffered-input-stream.c:205,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:208,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:209,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:204,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:206,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:180,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:189,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:190,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:192,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/buffered-input-stream.c:200,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:205,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:171,1
    - Dst: g_buffered_input_stream_new_sized
      Src: /src/glib/gio/tests/buffered-input-stream.c:172,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/tests/buffered-input-stream.c:177,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:178,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:182,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:185,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:191,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:194,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:197,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:201,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:174,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:177,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:180,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:187,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/buffered-input-stream.c:190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:195,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:196,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 210
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 210
    functionName: test_read
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_buffered_input_stream_get_available
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - memset
    - g_buffered_input_stream_new_sized
    - g_buffered_input_stream_fill
    - g_input_stream_read
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:234,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:238,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:243,1
    - Dst: g_buffered_input_stream_fill_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:243,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:243,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:247,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:254,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:255,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:259,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:267,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:262,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:269,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:295,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:289,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:298,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:234,1
    - Dst: g_buffered_input_stream_fill_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:238,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:247,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:245,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:250,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/tests/buffered-input-stream.c:247,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:254,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:256,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:257,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:259,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:282,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:277,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:275,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:231,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/tests/buffered-input-stream.c:234,1
    - Dst: g_buffered_input_stream_new_sized
      Src: /src/glib/gio/tests/buffered-input-stream.c:232,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:242,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:244,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:249,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/tests/buffered-input-stream.c:259,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:271,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:272,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:279,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:301,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:276,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:278,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:286,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-input-stream.c:287,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:266,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:253,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:261,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:265,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:266,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:268,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:281,1
    - Dst: memset
      Src: /src/glib/gio/tests/buffered-input-stream.c:291,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:296,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:297,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:296,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:288,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:285,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:286,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:300,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:292,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 71
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 302
    functionName: test_read_async
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_buffered_input_stream_get_available
    - g_buffered_input_stream_fill_finish
    - g_clear_object
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - g_input_stream_read_async
    - g_assert_cmpstr
    - g_input_stream_read_finish
    - g_object_unref
    - memset
    - g_buffered_input_stream_new_sized
    - g_main_context_iteration
    - g_buffered_input_stream_fill_async
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:358,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:362,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:363,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:374,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:376,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:381,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:383,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:391,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:394,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:396,1
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:408,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:402,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:409,1
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:400,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:358,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:358,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:359,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:360,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:362,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:369,1
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:380,1
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:380,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:383,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:408,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:410,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:399,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:354,1
    - Dst: g_buffered_input_stream_new_sized
      Src: /src/glib/gio/tests/buffered-input-stream.c:355,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:360,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:361,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:370,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:372,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:379,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:382,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:390,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:392,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:389,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:400,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:413,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/buffered-input-stream.c:407,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:404,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:360,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:371,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:366,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:362,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:373,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:373,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:373,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:383,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:384,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/buffered-input-stream.c:386,1
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/buffered-input-stream.c:390,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:393,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/buffered-input-stream.c:401,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:412,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 414
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 414
    functionName: test_skip_async
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_input_stream_skip_finish
    - g_clear_object
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - g_object_unref
    - g_input_stream_skip_async
    - g_buffered_input_stream_new_sized
    - g_main_context_iteration
    - g_buffered_input_stream_read_byte
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_skip_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:467,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:477,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:487,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:512,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:508,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:514,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:508,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:525,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:528,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:511,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:484,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:485,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:496,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-input-stream.c:511,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:472,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:468,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:505,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:532,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:498,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:508,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:464,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:471,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:474,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:481,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:493,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:515,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:518,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:524,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:527,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/buffered-input-stream.c:459,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:476,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-input-stream.c:491,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:514,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:498,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:502,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:503,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:516,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:526,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:501,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:504,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:528,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:504,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-input-stream.c:501,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:464,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-input-stream.c:531,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:514,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:507,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:498,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:466,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:483,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:494,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:524,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-input-stream.c:481,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:474,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:475,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:478,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:486,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:488,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:491,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:494,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:495,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:504,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:528,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:488,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:492,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:494,1
    - Dst: g_buffered_input_stream_new_sized
      Src: /src/glib/gio/tests/buffered-input-stream.c:460,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:465,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-input-stream.c:473,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:485,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:497,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:515,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:464,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:465,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-input-stream.c:471,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:474,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:488,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:518,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:522,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:524,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:484,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:505,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:525,1
    - Dst: g_buffered_input_stream_read_byte
      Src: /src/glib/gio/tests/buffered-input-stream.c:495,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:478,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:478,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:482,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-input-stream.c:484,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-input-stream.c:506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-input-stream.c:517,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-input-stream.c:521,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:521,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/tests/buffered-input-stream.c:475,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-input-stream.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 115
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 533
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 533
    functionName: test_seek
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - g_assert
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - g_object_unref
    - g_buffered_input_stream_new_sized
    - g_buffered_input_stream_read_byte
    - G_SEEKABLE
    - g_seekable_seek
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_seek (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/buffered-input-stream.c:539,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:541,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:543,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:542,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:544,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:545,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:546,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:547,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:548,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:549,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/buffered-input-stream.c:552,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-input-stream.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 553
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 553
    functionName: main
    functionSourceFile: /src/glib/gio/tests/buffered-input-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/resources.c:344,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:346,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/resources.c:344,1
    - Dst: memcpy
      Src: /src/glib/gio/tests/resources.c:349,1
    - Dst: g_new
      Src: /src/glib/gio/tests/resources.c:348,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/gio/tests/resources.c:351,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resources.c:353,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/tests/resources.c:354,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:355,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:356,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/tests/resources.c:361,1
    - Dst: test_resource
      Src: /src/glib/gio/tests/resources.c:359,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 362
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 362
    functionName: test_resource_data_unaligned
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_bytes_new_with_free_func
    - g_test_get_filename
    - g_free
    - test_resource
    - g_resource_unref
    - g_resource_new_from_data
    - g_assert_nonnull
    - g_assert_no_error
    - g_new
    - g_bytes_unref
    - g_file_get_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_data_unaligned (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:566,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:569,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:570,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:572,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:571,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:574,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:577,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:578,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:579,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:580,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:582,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:581,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 583
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 583
    functionName: test_resource_automatic
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_bytes_get_data
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_bytes_unref
    - g_resources_get_info
    - g_resources_lookup_data
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_automatic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resources.c:645,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:659,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:657,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:658,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:654,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:660,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:662,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:665,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:666,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:667,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:669,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:669,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:670,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 672
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 672
    functionName: test_resource_binary_linked
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_bytes_unref
    - g_test_skip
    - g_resources_get_info
    - g_resources_lookup_data
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_binary_linked (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/resources.c:787,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/tests/resources.c:792,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:793,1
    - Dst: g_resources_register
      Src: /src/glib/gio/tests/resources.c:797,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:804,1
    - Dst: g_file_query_filesystem_info
      Src: /src/glib/gio/tests/resources.c:816,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/resources.c:819,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:820,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/tests/resources.c:831,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/tests/resources.c:791,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:794,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/resources.c:799,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resources.c:812,1
    - Dst: g_content_type_get_mime_type
      Src: /src/glib/gio/tests/resources.c:805,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:814,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:817,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:828,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/resources.c:787,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:789,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:795,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/resources.c:800,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:806,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:808,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:801,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:822,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:824,1
    - Dst: g_file_hash
      Src: /src/glib/gio/tests/resources.c:826,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/tests/resources.c:803,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:810,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/resources.c:821,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:826,1
    - Dst: g_resources_unregister
      Src: /src/glib/gio/tests/resources.c:830,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 832
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 832
    functionName: test_uri_query_info
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_resource_unref
    - g_file_info_get_attribute_string
    - g_resources_register
    - g_file_info_get_attribute_boolean
    - g_bytes_new_take
    - g_file_hash
    - g_resources_unregister
    - g_assert_nonnull
    - g_file_query_filesystem_info
    - g_object_unref
    - g_bytes_unref
    - g_test_get_filename
    - g_assert_cmpuint
    - g_resource_new_from_data
    - g_content_type_get_mime_type
    - g_assert_no_error
    - g_file_info_get_content_type
    - g_file_query_info
    - g_free
    - g_file_new_for_uri
    - g_assert_cmpstr
    - g_file_get_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_query_info (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/resources.c:1021,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/resources.c:1032,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:1033,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/resources.c:1030,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/resources.c:1029,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:1034,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:1035,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:1037,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resources.c:1039,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resources.c:1040,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/resources.c:1044,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/resources.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1046
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1046
    functionName: test_overlay
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_build_filename
    - g_free
    - g_test_trap_assert_passed
    - g_assert_no_error
    - g_test_trap_subprocess
    - g_resources_get_info
    - g_strconcat
    - g_assert_true
    - g_setenv
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_overlay (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:594,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:599,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:597,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:598,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:600,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:602,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:605,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:606,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:607,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:608,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:610,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:609,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: test_resource_manual
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_bytes_unref
    - g_resources_get_info
    - g_resources_lookup_data
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_manual (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/resources.c:855,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/tests/resources.c:859,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:876,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:923,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:949,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:964,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/resources.c:875,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:906,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:911,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/resources.c:917,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:861,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resources.c:877,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/resources.c:880,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:883,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/resources.c:890,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:957,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:863,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:915,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/resources.c:939,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:963,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/resources.c:867,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resources.c:873,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/resources.c:879,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resources.c:884,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:918,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/resources.c:938,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/resources.c:904,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:896,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/resources.c:909,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/resources.c:943,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:926,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/tests/resources.c:860,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/tests/resources.c:879,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:941,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:951,1
    - Dst: g_resources_unregister
      Src: /src/glib/gio/tests/resources.c:969,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:920,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/tests/resources.c:939,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:907,1
    - Dst: g_resources_register
      Src: /src/glib/gio/tests/resources.c:865,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:881,1
    - Dst: g_file_get_uri_scheme
      Src: /src/glib/gio/tests/resources.c:882,1
    - Dst: g_file_dup
      Src: /src/glib/gio/tests/resources.c:886,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:887,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:937,1
    - Dst: g_file_get_child_for_display_name
      Src: /src/glib/gio/tests/resources.c:894,1
    - Dst: g_file_read
      Src: /src/glib/gio/tests/resources.c:936,1
    - Dst: g_file_query_settable_attributes
      Src: /src/glib/gio/tests/resources.c:928,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:869,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:901,1
    - Dst: g_file_input_stream_query_info
      Src: /src/glib/gio/tests/resources.c:952,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/tests/resources.c:880,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:910,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/resources.c:891,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:902,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/resources.c:913,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:938,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:905,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/tests/resources.c:952,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/resources.c:939,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:933,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/resources.c:887,1
    - Dst: g_file_has_prefix
      Src: /src/glib/gio/tests/resources.c:920,1
    - Dst: g_file_get_relative_path
      Src: /src/glib/gio/tests/resources.c:922,1
    - Dst: g_file_query_writable_namespaces
      Src: /src/glib/gio/tests/resources.c:932,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/resources.c:938,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:950,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:895,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:914,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:872,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/resources.c:899,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resources.c:924,1
    - Dst: memset
      Src: /src/glib/gio/tests/resources.c:947,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/tests/resources.c:958,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:959,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:962,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:956,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:857,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:862,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/resources.c:940,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/resources.c:948,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:966,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/resources.c:869,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/tests/resources.c:881,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:929,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:939,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:892,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:942,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:944,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/tests/resources.c:970,1
    - Dst: g_file_get_parse_name
      Src: /src/glib/gio/tests/resources.c:871,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:897,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/tests/resources.c:934,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/resources.c:936,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/resources.c:940,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/resources.c:961,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:900,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/tests/resources.c:930,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:958,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/resources.c:855,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:888,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/resources.c:896,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/resources.c:918,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:967,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:945,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 130
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 971
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 971
    functionName: test_uri_file
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_resource_unref
    - g_file_enumerator_next_file
    - g_resources_register
    - g_input_stream_close
    - g_input_stream_read_all
    - g_bytes_new_take
    - G_INPUT_STREAM
    - g_file_query_settable_attributes
    - g_resources_unregister
    - g_assert_cmpint
    - G_FILE_INPUT_STREAM
    - g_file_query_writable_namespaces
    - g_assert_nonnull
    - g_object_unref
    - g_bytes_unref
    - g_file_get_parent
    - memset
    - g_file_get_relative_path
    - g_seekable_can_seek
    - g_seekable_tell
    - g_test_get_filename
    - G_SEEKABLE
    - g_resource_new_from_data
    - g_assert_no_error
    - g_file_enumerate_children
    - g_file_dup
    - g_file_equal
    - g_file_get_uri_scheme
    - g_file_has_prefix
    - g_assert_null
    - g_seekable_seek
    - g_file_has_uri_scheme
    - g_file_input_stream_query_info
    - g_assert_false
    - g_free
    - g_input_stream_skip
    - g_file_get_child_for_display_name
    - g_file_new_for_uri
    - g_file_get_path
    - g_file_get_parse_name
    - g_assert_cmpstr
    - g_file_enumerator_close
    - g_file_read
    - g_file_attribute_info_list_unref
    - g_file_is_native
    - g_file_get_contents
    - g_assert_true
    - g_file_info_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_test2_get_resource
      Src: /src/glib/gio/tests/resources.c:621,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:627,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:628,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:629,1
    - Dst: g_resource_lookup_data
      Src: /src/glib/gio/tests/resources.c:623,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:630,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:631,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:631,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:632,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/tests/resources.c:634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 635
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 635
    functionName: test_resource_manual2
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_resource_lookup_data
    - g_assert_cmpint
    - g_bytes_get_data
    - g_resource_unref
    - _g_test2_get_resource
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_bytes_unref
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_manual2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:1004,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/resources.c:1005,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/resources.c:1013,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:1008,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:1014,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:983,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:986,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:996,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:995,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:1011,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:987,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:997,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:1000,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:1001,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:1002,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:1009,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:1012,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:1005,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:1010,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1015
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1015
    functionName: test_resource_64k
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_bytes_unref
    - g_strsplit
    - g_resources_get_info
    - g_strfreev
    - g_resources_lookup_data
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_64k (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:687,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:693,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:690,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:691,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:692,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:695,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:698,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:699,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:700,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:701,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:703,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:702,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 704
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 704
    functionName: test_resource_digits
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_bytes_unref
    - g_resources_get_info
    - g_resources_lookup_data
    - g_assert_true
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_digits (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_module_supported
      Src: /src/glib/gio/tests/resources.c:723,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:735,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:748,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:765,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:760,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resources.c:719,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/resources.c:725,1
    - Dst: g_io_module_new
      Src: /src/glib/gio/tests/resources.c:725,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:736,1
    - Dst: g_type_module_use
      Src: /src/glib/gio/tests/resources.c:738,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:753,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:740,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:743,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:755,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:755,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/tests/resources.c:738,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:744,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:754,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:764,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/resources.c:767,1
    - Dst: g_type_module_unuse
      Src: /src/glib/gio/tests/resources.c:758,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:731,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/resources.c:734,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:746,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:745,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:751,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:752,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/resources.c:763,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:756,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/tests/resources.c:758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 769
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 769
    functionName: test_resource_module
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_clear_error
    - g_bytes_get_size
    - g_assert_cmpint
    - g_type_module_use
    - g_assert_nonnull
    - g_io_module_new
    - g_bytes_unref
    - g_test_skip
    - g_type_module_unuse
    - g_module_supported
    - g_test_get_filename
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_assert_no_error
    - g_resources_get_info
    - g_assert_error
    - g_assert_false
    - g_clear_object
    - g_assert_cmpstr
    - g_resources_lookup_data
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_module (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_test2_register_resource
      Src: /src/glib/gio/tests/resources.c:1054,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1060,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1061,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1062,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1063,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1065,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1073,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1075,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1074,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1072,1
    - Dst: _digit_test_register_resource
      Src: /src/glib/gio/tests/resources.c:1055,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1076,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/resources.c:1078,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1064,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/resources.c:1052,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1058,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1057,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1059,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1069,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1067,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resources.c:1070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1079
    functionName: main
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - _digit_test_register_resource
    - g_test_add_func
    - g_test_run
    - _g_test2_register_resource
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/resources.c:291,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:297,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:300,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/resources.c:299,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/resources.c:296,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:302,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resources.c:304,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resources.c:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 307
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 307
    functionName: test_resource_file_path
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_free
    - g_file_new_for_uri
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_object_unref
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_file_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/resources.c:319,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:321,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/tests/resources.c:323,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/tests/resources.c:324,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/resources.c:319,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:325,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:326,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:327,1
    - Dst: test_resource
      Src: /src/glib/gio/tests/resources.c:329,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/tests/resources.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 332
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 332
    functionName: test_resource_data
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - test_resource
    - g_resource_unref
    - g_resource_new_from_data
    - g_assert_nonnull
    - g_assert_no_error
    - g_bytes_unref
    - g_bytes_new_take
    - g_file_get_contents
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_data (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:148,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:183,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:194,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/resources.c:197,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:227,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:68,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:154,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/resources.c:173,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:169,1
    - Dst: g_resource_lookup_data
      Src: /src/glib/gio/tests/resources.c:186,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:162,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:183,1
    - Dst: g_resource_lookup_data
      Src: /src/glib/gio/tests/resources.c:175,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:58,1
    - Dst: g_resource_get_info
      Src: /src/glib/gio/tests/resources.c:72,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:86,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:87,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:94,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/resources.c:228,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:168,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/resources.c:52,1
    - Dst: g_resource_get_info
      Src: /src/glib/gio/tests/resources.c:63,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:122,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:216,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:70,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/resources.c:99,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:115,1
    - Dst: g_resource_enumerate_children
      Src: /src/glib/gio/tests/resources.c:202,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/resources.c:218,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:242,1
    - Dst: g_resource_get_info
      Src: /src/glib/gio/tests/resources.c:54,1
    - Dst: g_resource_get_info
      Src: /src/glib/gio/tests/resources.c:81,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:96,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:105,1
    - Dst: g_resource_lookup_data
      Src: /src/glib/gio/tests/resources.c:110,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:122,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:124,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:76,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:149,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/resources.c:126,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/resources.c:164,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/resources.c:171,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:161,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/resources.c:199,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:206,1
    - Dst: g_resource_enumerate_children
      Src: /src/glib/gio/tests/resources.c:211,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:132,1
    - Dst: g_resource_open_stream
      Src: /src/glib/gio/tests/resources.c:137,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:114,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/resources.c:60,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:97,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/resources.c:153,1
    - Dst: g_resource_open_stream
      Src: /src/glib/gio/tests/resources.c:157,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:207,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:208,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:243,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:107,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:181,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:59,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:79,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:85,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:88,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:151,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:133,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:194,1
    - Dst: g_resource_enumerate_children
      Src: /src/glib/gio/tests/resources.c:233,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:78,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:215,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:225,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:134,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/resources.c:144,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:172,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:95,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:123,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:141,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:193,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/resources.c:217,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:244,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:142,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:182,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:195,1
    - Dst: g_resource_enumerate_children
      Src: /src/glib/gio/tests/resources.c:221,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:226,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/resources.c:227,1
    - Dst: g_resource_lookup_data
      Src: /src/glib/gio/tests/resources.c:101,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:179,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:67,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:69,1
    - Dst: g_resource_get_info
      Src: /src/glib/gio/tests/resources.c:90,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:191,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:217,1
    - Dst: g_resource_open_stream
      Src: /src/glib/gio/tests/resources.c:128,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:180,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:184,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:77,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:106,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:114,1
    - Dst: g_resource_lookup_data
      Src: /src/glib/gio/tests/resources.c:118,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:147,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/resources.c:155,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:192,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 141
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 245
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 245
    functionName: test_resource
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_resource_open_stream
    - g_input_stream_close
    - g_clear_error
    - g_input_stream_read_all
    - g_strfreev
    - g_resource_enumerate_children
    - g_resource_get_info
    - g_bytes_get_size
    - g_assert_cmpint
    - g_assert_nonnull
    - g_bytes_unref
    - g_bytes_get_data
    - g_assert_cmpuint
    - g_assert_no_error
    - g_assert_null
    - g_assert_error
    - g_strv_length
    - g_str_equal
    - g_assert_false
    - g_resource_lookup_data
    - g_clear_object
    - g_assert_cmpstr
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_resource (GResource *resource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/resources.c:394,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:398,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:396,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:397,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/tests/resources.c:395,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 401
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 401
    functionName: test_resource_data_empty
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_bytes_new_static
    - g_resource_new_from_data
    - g_bytes_unref
    - g_clear_error
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_data_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_load
      Src: /src/glib/gio/tests/resources.c:253,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:256,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:254,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:255,1
    - Dst: g_resource_load
      Src: /src/glib/gio/tests/resources.c:258,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/resources.c:258,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:259,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:260,1
    - Dst: test_resource
      Src: /src/glib/gio/tests/resources.c:262,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/tests/resources.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: test_resource_file
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - test_resource
    - g_resource_load
    - g_resource_unref
    - g_assert_nonnull
    - g_assert_no_error
    - g_clear_error
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:458,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:511,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:524,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:536,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:541,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:549,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:527,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:450,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:464,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/resources.c:543,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/resources.c:474,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:505,1
    - Dst: g_resource_load
      Src: /src/glib/gio/tests/resources.c:416,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:425,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:429,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:465,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/resources.c:485,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:437,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:453,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:472,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/resources.c:423,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:432,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:487,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:478,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:521,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:503,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:526,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:424,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/tests/resources.c:461,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:464,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:477,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:498,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:497,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:504,1
    - Dst: g_resources_enumerate_children
      Src: /src/glib/gio/tests/resources.c:531,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:417,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:479,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:508,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:554,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:516,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:528,1
    - Dst: g_resources_open_stream
      Src: /src/glib/gio/tests/resources.c:468,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:448,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:456,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:481,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:518,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/tests/resources.c:547,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/resources.c:552,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:443,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/tests/resources.c:445,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:542,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/resources.c:544,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:457,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:534,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:553,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/resources.c:518,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:525,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:492,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:517,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:515,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resources.c:441,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:529,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/resources.c:509,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:535,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:543,1
    - Dst: g_resources_register
      Src: /src/glib/gio/tests/resources.c:427,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:440,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:466,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:484,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:491,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:519,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:490,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:433,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:434,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/resources.c:528,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/resources.c:416,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:435,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/resources.c:459,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resources.c:514,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/resources.c:507,1
    - Dst: g_resources_enumerate_children
      Src: /src/glib/gio/tests/resources.c:538,1
    - Dst: g_resources_unregister
      Src: /src/glib/gio/tests/resources.c:546,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/resources.c:500,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:418,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:442,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resources.c:449,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resources.c:451,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/resources.c:491,1
    - Dst: g_resources_open_stream
      Src: /src/glib/gio/tests/resources.c:494,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/resources.c:483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 115
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 555
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 555
    functionName: test_resource_registered
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_resource_unref
    - g_resources_register
    - g_input_stream_close
    - g_clear_error
    - g_input_stream_read_all
    - g_strfreev
    - g_bytes_get_size
    - g_resources_unregister
    - g_assert_cmpint
    - g_assert_nonnull
    - g_bytes_unref
    - g_test_get_filename
    - g_bytes_get_data
    - g_resource_load
    - g_assert_cmpuint
    - g_assert_no_error
    - g_resources_open_stream
    - g_resources_get_info
    - g_assert_null
    - g_assert_error
    - g_strv_length
    - g_assert_false
    - g_clear_object
    - g_resources_enumerate_children
    - g_assert_cmpstr
    - g_resources_lookup_data
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_registered (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/resources.c:376,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/resources.c:378,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resources.c:379,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/tests/resources.c:377,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resources.c:380,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resources.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 383
    functionName: test_resource_data_corrupt
    functionSourceFile: /src/glib/gio/tests/resources.c
    functionUses: []
    functionsReached:
    - g_bytes_new_static
    - g_resource_new_from_data
    - g_bytes_unref
    - g_clear_error
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_data_corrupt (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_operation_new
      Src: /src/glib/gio/tests/mount-operation.c:32,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/mount-operation.c:33,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mount-operation.c:35,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/tests/mount-operation.c:34,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mount-operation.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: test_construction
    functionSourceFile: /src/glib/gio/tests/mount-operation.c
    functionUses: []
    functionsReached:
    - G_IS_MOUNT_OPERATION
    - g_assert_nonnull
    - g_object_unref
    - g_mount_operation_new
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_construction (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/mount-operation.c:126,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/mount-operation.c:130,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/mount-operation.c:132,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/mount-operation.c:129,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/mount-operation.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/glib/gio/tests/mount-operation.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_operation_get_username
      Src: /src/glib/gio/tests/mount-operation.c:67,1
    - Dst: g_mount_operation_get_password
      Src: /src/glib/gio/tests/mount-operation.c:68,1
    - Dst: g_mount_operation_get_password_save
      Src: /src/glib/gio/tests/mount-operation.c:71,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:73,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:71,1
    - Dst: g_mount_operation_get_is_tcrypt_hidden_volume
      Src: /src/glib/gio/tests/mount-operation.c:73,1
    - Dst: g_mount_operation_set_username
      Src: /src/glib/gio/tests/mount-operation.c:77,1
    - Dst: g_mount_operation_get_password
      Src: /src/glib/gio/tests/mount-operation.c:81,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/mount-operation.c:87,1
    - Dst: g_mount_operation_set_is_tcrypt_hidden_volume
      Src: /src/glib/gio/tests/mount-operation.c:95,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/mount-operation.c:104,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mount-operation.c:116,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/mount-operation.c:67,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/mount-operation.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:69,1
    - Dst: g_mount_operation_get_anonymous
      Src: /src/glib/gio/tests/mount-operation.c:69,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/mount-operation.c:70,1
    - Dst: g_mount_operation_get_domain
      Src: /src/glib/gio/tests/mount-operation.c:70,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/mount-operation.c:78,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:93,1
    - Dst: g_mount_operation_get_choice
      Src: /src/glib/gio/tests/mount-operation.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:99,1
    - Dst: g_mount_operation_get_pim
      Src: /src/glib/gio/tests/mount-operation.c:102,1
    - Dst: g_mount_operation_get_is_tcrypt_system_volume
      Src: /src/glib/gio/tests/mount-operation.c:99,1
    - Dst: g_mount_operation_new
      Src: /src/glib/gio/tests/mount-operation.c:53,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:72,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/mount-operation.c:75,1
    - Dst: g_mount_operation_get_pim
      Src: /src/glib/gio/tests/mount-operation.c:75,1
    - Dst: g_mount_operation_get_username
      Src: /src/glib/gio/tests/mount-operation.c:78,1
    - Dst: g_mount_operation_set_password
      Src: /src/glib/gio/tests/mount-operation.c:80,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:84,1
    - Dst: g_mount_operation_get_anonymous
      Src: /src/glib/gio/tests/mount-operation.c:84,1
    - Dst: g_mount_operation_set_domain
      Src: /src/glib/gio/tests/mount-operation.c:86,1
    - Dst: g_mount_operation_get_password_save
      Src: /src/glib/gio/tests/mount-operation.c:90,1
    - Dst: g_mount_operation_set_choice
      Src: /src/glib/gio/tests/mount-operation.c:92,1
    - Dst: g_mount_operation_get_is_tcrypt_hidden_volume
      Src: /src/glib/gio/tests/mount-operation.c:96,1
    - Dst: g_mount_operation_set_is_tcrypt_system_volume
      Src: /src/glib/gio/tests/mount-operation.c:98,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/mount-operation.c:55,1
    - Dst: g_mount_operation_get_choice
      Src: /src/glib/gio/tests/mount-operation.c:72,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:74,1
    - Dst: g_mount_operation_get_is_tcrypt_system_volume
      Src: /src/glib/gio/tests/mount-operation.c:74,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/mount-operation.c:81,1
    - Dst: g_mount_operation_set_anonymous
      Src: /src/glib/gio/tests/mount-operation.c:83,1
    - Dst: g_mount_operation_get_domain
      Src: /src/glib/gio/tests/mount-operation.c:87,1
    - Dst: g_mount_operation_set_password_save
      Src: /src/glib/gio/tests/mount-operation.c:89,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:90,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mount-operation.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mount-operation.c:118,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mount-operation.c:117,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/mount-operation.c:102,1
    - Dst: g_mount_operation_set_pim
      Src: /src/glib/gio/tests/mount-operation.c:101,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mount-operation.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 60
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 120
    functionName: test_properties
    functionSourceFile: /src/glib/gio/tests/mount-operation.c
    functionUses: []
    functionsReached:
    - g_mount_operation_get_domain
    - g_mount_operation_get_password
    - g_mount_operation_get_is_tcrypt_hidden_volume
    - g_mount_operation_get_pim
    - g_mount_operation_set_choice
    - g_mount_operation_set_password_save
    - g_mount_operation_set_is_tcrypt_system_volume
    - g_mount_operation_get_username
    - g_assert_cmpint
    - g_mount_operation_set_is_tcrypt_hidden_volume
    - g_object_unref
    - g_mount_operation_set_anonymous
    - g_mount_operation_new
    - g_mount_operation_set_password
    - g_mount_operation_get_choice
    - g_assert_cmpuint
    - g_object_set
    - g_mount_operation_set_domain
    - g_free
    - g_object_get
    - g_mount_operation_set_pim
    - g_assert_cmpstr
    - g_mount_operation_get_anonymous
    - g_mount_operation_set_username
    - g_mount_operation_get_is_tcrypt_system_volume
    - g_mount_operation_get_password_save
    linkageType: ''
    returnType: void
    signature: 'static void test_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/gapplication-example-actions.c:49,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-actions.c:50,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-actions.c:50,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/gapplication-example-actions.c:51,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/tests/gapplication-example-actions.c:51,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/gapplication-example-actions.c:51,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-actions.c:52,1
    - Dst: g_simple_action_new_stateful
      Src: /src/glib/gio/tests/gapplication-example-actions.c:54,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gapplication-example-actions.c:55,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-actions.c:56,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/gapplication-example-actions.c:57,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-actions.c:56,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/tests/gapplication-example-actions.c:57,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-actions.c:58,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/gapplication-example-actions.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - app
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: add_actions
    functionSourceFile: /src/glib/gio/tests/gapplication-example-actions.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_action_map_add_action
    - g_object_unref
    - g_variant_new_boolean
    - G_ACTION_MAP
    - G_CALLBACK
    - g_simple_action_new
    - g_simple_action_new_stateful
    - G_ACTION
    linkageType: ''
    returnType: void
    signature: 'static void add_actions (GApplication *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/tests/gapplication-example-actions.c:17,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/gapplication-example-actions.c:21,1
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication-example-actions.c:19,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/gapplication-example-actions.c:20,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - action
    - parameter
    - data
    argTypes:
    - GAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: activate_action
    functionSourceFile: /src/glib/gio/tests/gapplication-example-actions.c
    functionUses: []
    functionsReached:
    - g_application_release
    - G_APPLICATION
    - g_action_get_name
    - g_application_hold
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void activate_action (GAction *action, GVariant *parameter,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication-example-actions.c:7,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:8,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/gapplication-example-actions.c:9,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 10
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 10
    functionName: activate
    functionSourceFile: /src/glib/gio/tests/gapplication-example-actions.c
    functionUses: []
    functionsReached:
    - g_application_release
    - g_print
    - g_application_hold
    linkageType: ''
    returnType: void
    signature: 'static void activate (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/tests/gapplication-example-actions.c:29,1
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication-example-actions.c:35,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:33,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/gapplication-example-actions.c:33,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/gapplication-example-actions.c:33,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/gapplication-example-actions.c:36,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/gapplication-example-actions.c:36,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/gapplication-example-actions.c:37,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gapplication-example-actions.c:38,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/tests/gapplication-example-actions.c:39,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:40,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/gapplication-example-actions.c:41,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gapplication-example-actions.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - action
    - parameter
    - data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: activate_toggle_action
    functionSourceFile: /src/glib/gio/tests/gapplication-example-actions.c
    functionUses: []
    functionsReached:
    - g_variant_get_boolean
    - g_action_get_state
    - g_variant_unref
    - g_variant_new_boolean
    - g_application_release
    - G_APPLICATION
    - g_action_get_name
    - g_application_hold
    - g_print
    - g_simple_action_set_state
    - G_ACTION
    linkageType: ''
    returnType: void
    signature: 'static void activate_toggle_action (GSimpleAction *action, GVariant
      *parameter, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_get_action_parameter_type
      Src: /src/glib/gio/tests/gapplication-example-actions.c:70,1
    - Dst: g_action_group_get_action_enabled
      Src: /src/glib/gio/tests/gapplication-example-actions.c:72,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/gapplication-example-actions.c:71,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:74,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/tests/gapplication-example-actions.c:75,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:76,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication-example-actions.c:77,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:78,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gapplication-example-actions.c:79,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:80,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication-example-actions.c:82,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/gapplication-example-actions.c:88,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:81,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-actions.c:83,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gapplication-example-actions.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - group
    - name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: describe_and_activate_action
    functionSourceFile: /src/glib/gio/tests/gapplication-example-actions.c
    functionUses: []
    functionsReached:
    - g_variant_type_dup_string
    - g_variant_get_type_string
    - g_free
    - g_action_group_get_action_enabled
    - g_action_group_activate_action
    - g_variant_print
    - g_variant_unref
    - g_action_group_get_action_state
    - g_action_group_get_action_parameter_type
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void describe_and_activate_action (GActionGroup *group, const
      gchar *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication-example-actions.c:97,1
    - Dst: add_actions
      Src: /src/glib/gio/tests/gapplication-example-actions.c:101,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-actions.c:98,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-actions.c:98,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/gapplication-example-actions.c:99,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gapplication-example-actions.c:103,1
    - Dst: g_application_register
      Src: /src/glib/gio/tests/gapplication-example-actions.c:105,1
    - Dst: describe_and_activate_action
      Src: /src/glib/gio/tests/gapplication-example-actions.c:106,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/gapplication-example-actions.c:106,1
    - Dst: exit
      Src: /src/glib/gio/tests/gapplication-example-actions.c:107,1
    - Dst: describe_and_activate_action
      Src: /src/glib/gio/tests/gapplication-example-actions.c:112,1
    - Dst: exit
      Src: /src/glib/gio/tests/gapplication-example-actions.c:113,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gapplication-example-actions.c:109,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication-example-actions.c:116,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-actions.c:118,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/gapplication-example-actions.c:112,1
    - Dst: g_application_register
      Src: /src/glib/gio/tests/gapplication-example-actions.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 121
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gapplication-example-actions.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - describe_and_activate_action
    - g_signal_connect
    - g_application_register
    - add_actions
    - g_object_unref
    - G_CALLBACK
    - exit
    - g_application_run
    - strcmp
    - g_application_new
    - G_ACTION_GROUP
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:97,1
    - Dst: DuplicateHandle
      Src: /src/glib/gio/tests/win32-streams.c:97,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/tests/win32-streams.c:99,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/tests/win32-streams.c:97,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/tests/win32-streams.c:98,1
    - Dst: close
      Src: /src/glib/gio/tests/win32-streams.c:103,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:105,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/win32-streams.c:112,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:124,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:126,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:131,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/win32-streams.c:135,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/win32-streams.c:136,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/win32-streams.c:130,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/win32-streams.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 137
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 137
    functionName: reader_thread
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - DuplicateHandle
    - g_win32_input_stream_new
    - g_assert
    - g_assert_not_reached
    - g_object_unref
    - g_assert_cmpstr
    - close
    - g_cancellable_is_cancelled
    - g_warning
    - GetCurrentProcess
    - g_input_stream_read
    - _get_osfhandle
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer reader_thread (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/win32-streams.c:155,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/win32-streams.c:161,1
    - Dst: do_main_cancel
      Src: /src/glib/gio/tests/win32-streams.c:163,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:167,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/win32-streams.c:159,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/win32-streams.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 173
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 173
    functionName: readable
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - do_main_cancel
    - g_output_stream_write_async
    - g_assert
    - g_cancellable_is_cancelled
    - g_input_stream_read_finish
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void readable (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/win32-streams.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: timeout
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout (gpointer cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/tests/win32-streams.c:303,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/win32-streams.c:307,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/win32-streams.c:308,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/win32-streams.c:304,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/win32-streams.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: pipe_io_overlap_reader_thread
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_assert_no_error
    - g_assert_cmpstr
    - memset
    - g_input_stream_read_all
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer pipe_io_overlap_reader_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFile
      Src: /src/glib/gio/tests/win32-streams.c:352,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:350,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:353,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:357,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/win32-streams.c:358,1
    - Dst: g_win32_output_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:360,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/win32-streams.c:363,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/win32-streams.c:365,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/win32-streams.c:361,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:370,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/win32-streams.c:368,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:371,1
    - Dst: g_snprintf
      Src: /src/glib/gio/tests/win32-streams.c:343,1
    - Dst: CreateNamedPipe
      Src: /src/glib/gio/tests/win32-streams.c:346,1
    - Dst: g_win32_output_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:355,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/win32-streams.c:356,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:362,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/win32-streams.c:366,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/win32-streams.c:367,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:372,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/tests/win32-streams.c:344,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 374
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 374
    functionName: test_pipe_io_overlap
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - CreateNamedPipe
    - g_win32_output_stream_new
    - g_win32_input_stream_new
    - g_assert
    - CreateFile
    - g_object_unref
    - GetCurrentProcessId
    - g_thread_new
    - g_thread_join
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_io_overlap (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/tests/win32-streams.c:398,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/win32-streams.c:399,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/win32-streams.c:406,1
    - Dst: write
      Src: /src/glib/gio/tests/win32-streams.c:405,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/win32-streams.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 411
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 411
    functionName: pipe_io_concurrent_reader_thread
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_assert_no_error
    - memset
    - g_input_stream_read_all
    - write
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer pipe_io_concurrent_reader_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/win32-streams.c:474,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/win32-streams.c:479,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/win32-streams.c:481,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/win32-streams.c:478,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/win32-streams.c:480,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/win32-streams.c:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 484
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 484
    functionName: readable_cancel
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_error_free
    - g_input_stream_read_finish
    - g_main_loop_quit
    - g_assert_error
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void readable_cancel (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:49,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/tests/win32-streams.c:50,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/tests/win32-streams.c:51,1
    - Dst: DuplicateHandle
      Src: /src/glib/gio/tests/win32-streams.c:49,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/tests/win32-streams.c:49,1
    - Dst: close
      Src: /src/glib/gio/tests/win32-streams.c:55,1
    - Dst: g_win32_output_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:57,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/win32-streams.c:60,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/win32-streams.c:65,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:73,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/win32-streams.c:77,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/win32-streams.c:79,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:80,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/win32-streams.c:84,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/win32-streams.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: writer_thread
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - DuplicateHandle
    - g_win32_output_stream_new
    - g_assert
    - g_assert_not_reached
    - g_object_unref
    - g_cancellable_is_cancelled
    - close
    - g_cancellable_cancel
    - g_warning
    - g_usleep
    - GetCurrentProcess
    - g_output_stream_write
    - _get_osfhandle
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer writer_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/win32-streams.c:148,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/win32-streams.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: do_main_cancel
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void do_main_cancel (GOutputStream *out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/win32-streams.c:178,1
    - Dst: do_main_cancel
      Src: /src/glib/gio/tests/win32-streams.c:187,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/tests/win32-streams.c:183,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:191,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/win32-streams.c:185,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/win32-streams.c:192,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/win32-streams.c:197,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/win32-streams.c:203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 208
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 208
    functionName: writable
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - do_main_cancel
    - g_assert_cmpint
    - g_output_stream_write_async
    - g_output_stream_write_finish
    - g_assert
    - g_input_stream_read_async
    - g_cancellable_is_cancelled
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void writable (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:235,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/win32-streams.c:242,1
    - Dst: DuplicateHandle
      Src: /src/glib/gio/tests/win32-streams.c:252,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/win32-streams.c:263,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/win32-streams.c:269,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/win32-streams.c:274,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:279,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:280,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/win32-streams.c:238,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:244,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/tests/win32-streams.c:245,1
    - Dst: close
      Src: /src/glib/gio/tests/win32-streams.c:250,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:252,1
    - Dst: g_win32_output_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:261,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/win32-streams.c:273,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:278,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/win32-streams.c:237,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/win32-streams.c:239,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/tests/win32-streams.c:244,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/tests/win32-streams.c:253,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/win32-streams.c:267,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/win32-streams.c:271,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:276,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:277,1
    - Dst: _pipe
      Src: /src/glib/gio/tests/win32-streams.c:235,1
    - Dst: _pipe
      Src: /src/glib/gio/tests/win32-streams.c:235,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/win32-streams.c:241,1
    - Dst: DuplicateHandle
      Src: /src/glib/gio/tests/win32-streams.c:244,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/tests/win32-streams.c:246,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/tests/win32-streams.c:252,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/tests/win32-streams.c:254,1
    - Dst: close
      Src: /src/glib/gio/tests/win32-streams.c:258,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:260,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/win32-streams.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 281
    functionName: test_pipe_io
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - DuplicateHandle
    - g_win32_output_stream_new
    - g_win32_input_stream_new
    - g_assert
    - g_cancellable_new
    - g_input_stream_read_async
    - g_object_unref
    - _pipe
    - close
    - g_main_loop_unref
    - g_thread_new
    - g_main_loop_new
    - GetCurrentProcess
    - g_main_loop_run
    - g_thread_join
    - g_timeout_add
    - _get_osfhandle
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_io (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/win32-streams.c:324,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/win32-streams.c:327,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/win32-streams.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 332
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 332
    functionName: pipe_io_overlap_writer_thread
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_all
    - g_assert_no_error
    - g_assert_cmpuint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer pipe_io_overlap_writer_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/win32-streams.c:383,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/win32-streams.c:386,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/win32-streams.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: pipe_io_concurrent_writer_thread
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_all
    - g_assert_no_error
    - g_assert_cmpuint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer pipe_io_concurrent_writer_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateFile
      Src: /src/glib/gio/tests/win32-streams.c:432,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:433,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:435,1
    - Dst: g_win32_output_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:449,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/win32-streams.c:447,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:465,1
    - Dst: close
      Src: /src/glib/gio/tests/win32-streams.c:468,1
    - Dst: g_snprintf
      Src: /src/glib/gio/tests/win32-streams.c:422,1
    - Dst: _pipe
      Src: /src/glib/gio/tests/win32-streams.c:430,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/win32-streams.c:438,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/win32-streams.c:442,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/win32-streams.c:459,1
    - Dst: close
      Src: /src/glib/gio/tests/win32-streams.c:467,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/tests/win32-streams.c:423,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:429,1
    - Dst: CreateNamedPipe
      Src: /src/glib/gio/tests/win32-streams.c:425,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/win32-streams.c:437,1
    - Dst: read
      Src: /src/glib/gio/tests/win32-streams.c:452,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:440,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/win32-streams.c:461,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:463,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:464,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:430,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/win32-streams.c:450,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:454,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/win32-streams.c:443,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/win32-streams.c:456,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/win32-streams.c:457,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/win32-streams.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 469
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 469
    functionName: test_pipe_io_concurrent
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - CreateNamedPipe
    - g_win32_output_stream_new
    - g_win32_input_stream_new
    - g_assert
    - CreateFile
    - g_cancellable_new
    - g_object_unref
    - _pipe
    - GetCurrentProcessId
    - g_cancellable_cancel
    - read
    - g_thread_new
    - g_usleep
    - g_snprintf
    - g_thread_join
    - close
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_io_concurrent (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/gio/tests/win32-streams.c:494,1
    - Dst: CreateFile
      Src: /src/glib/gio/tests/win32-streams.c:503,1
    - Dst: CreateNamedPipe
      Src: /src/glib/gio/tests/win32-streams.c:497,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/tests/win32-streams.c:495,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:501,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/win32-streams.c:504,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:506,1
    - Dst: g_win32_output_stream_new
      Src: /src/glib/gio/tests/win32-streams.c:507,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/win32-streams.c:509,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/win32-streams.c:510,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/win32-streams.c:517,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/win32-streams.c:518,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/win32-streams.c:516,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:522,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/win32-streams.c:514,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:521,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/win32-streams.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 523
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 523
    functionName: test_pipe_io_cancel
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - CreateNamedPipe
    - g_win32_output_stream_new
    - g_win32_input_stream_new
    - g_assert
    - CreateFile
    - g_cancellable_new
    - g_input_stream_read_async
    - g_object_unref
    - GetCurrentProcessId
    - g_main_loop_unref
    - g_main_loop_new
    - g_snprintf
    - g_main_loop_run
    - g_timeout_add
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_io_cancel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/win32-streams.c:529,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-streams.c:531,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-streams.c:533,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-streams.c:532,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-streams.c:534,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/win32-streams.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 537
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 537
    functionName: main
    functionSourceFile: /src/glib/gio/tests/win32-streams.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:65,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:60,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:64,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/tests/g-file-info.c:69,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:72,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:50,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:52,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:51,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:59,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/g-file-info.c:62,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:66,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:69,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:70,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/tests/g-file-info.c:70,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:50,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/g-file-info.c:53,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:53,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/g-file-info.c:67,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/glib/gio/tests/g-file-info.c:61,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/tests/g-file-info.c:71,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:51,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:52,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/g-file-info.c:57,1
    - Dst: g_file_info_get_attribute_file_path
      Src: /src/glib/gio/tests/g-file-info.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: test_assigned_values
    functionSourceFile: /src/glib/gio/tests/g-file-info.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_cmpint
    - g_file_info_get_name
    - g_file_info_has_attribute
    - g_file_info_get_attribute_string
    - g_file_info_get_attribute_file_path
    - g_assert_cmpstr
    - g_file_info_get_file_type
    - g_file_info_get_attribute_uint64
    - g_assert_null
    - g_file_info_get_display_name
    - g_file_info_get_attribute_byte_string
    - g_assert_true
    - g_file_info_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_assigned_values (GFileInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:428,1
    - Dst: g_file_info_get_creation_date_time
      Src: /src/glib/gio/tests/g-file-info.c:449,1
    - Dst: g_date_time_difference
      Src: /src/glib/gio/tests/g-file-info.c:452,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:458,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:470,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/tests/g-file-info.c:475,1
    - Dst: g_file_info_get_creation_date_time
      Src: /src/glib/gio/tests/g-file-info.c:485,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:505,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:480,1
    - Dst: g_file_info_get_creation_date_time
      Src: /src/glib/gio/tests/g-file-info.c:512,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/g-file-info.c:534,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:490,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/tests/g-file-info.c:515,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:518,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:420,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:422,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:426,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/g-file-info.c:419,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/g-file-info.c:430,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:431,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/g-file-info.c:432,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:434,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:450,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:462,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:537,1
    - Dst: g_file_info_set_creation_date_time
      Src: /src/glib/gio/tests/g-file-info.c:484,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:510,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:522,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:540,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:533,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:541,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:535,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:520,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:538,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/g-file-info.c:527,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:528,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:453,1
    - Dst: g_file_info_set_creation_date_time
      Src: /src/glib/gio/tests/g-file-info.c:476,1
    - Dst: g_file_info_get_creation_date_time
      Src: /src/glib/gio/tests/g-file-info.c:478,1
    - Dst: g_date_time_difference
      Src: /src/glib/gio/tests/g-file-info.c:479,1
    - Dst: g_date_time_difference
      Src: /src/glib/gio/tests/g-file-info.c:486,1
    - Dst: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:501,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:506,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:519,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/gio/tests/g-file-info.c:483,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/g-file-info.c:526,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:543,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:487,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:516,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:539,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/g-file-info.c:417,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:433,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:443,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:442,1
    - Dst: g_file_info_get_creation_date_time
      Src: /src/glib/gio/tests/g-file-info.c:439,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:447,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:454,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:457,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:464,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/tests/g-file-info.c:467,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:490,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:542,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:468,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:471,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 102
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 544
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 544
    functionName: test_g_file_info_creation_time
    functionSourceFile: /src/glib/gio/tests/g-file-info.c
    functionUses: []
    functionsReached:
    - g_file_info_has_attribute
    - g_clear_error
    - g_test_summary
    - g_assert_cmpint
    - g_assert_nonnull
    - g_file_info_get_creation_date_time
    - g_error_matches
    - g_file_info_get_attribute_uint32
    - g_test_skip
    - g_file_delete
    - g_file_info_set_creation_date_time
    - g_assert_cmpuint
    - g_date_time_new_from_unix_utc
    - g_date_time_difference
    - g_assert_no_error
    - g_file_new_tmp
    - g_date_time_add
    - g_file_query_info
    - g_date_time_get_microsecond
    - g_clear_object
    - g_date_time_unref
    - g_file_set_attribute_uint32
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_info_creation_time (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:181,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:192,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:209,1
    - Dst: g_file_info_set_modification_date_time
      Src: /src/glib/gio/tests/g-file-info.c:215,1
    - Dst: g_date_time_difference
      Src: /src/glib/gio/tests/g-file-info.c:218,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:222,1
    - Dst: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:232,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:237,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/tests/g-file-info.c:246,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:253,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:259,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:263,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:264,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:174,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:170,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:178,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:186,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:193,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:197,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/tests/g-file-info.c:206,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:207,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:234,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:241,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:247,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/g-file-info.c:258,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:265,1
    - Dst: g_file_info_get_modification_date_time
      Src: /src/glib/gio/tests/g-file-info.c:177,1
    - Dst: g_date_time_difference
      Src: /src/glib/gio/tests/g-file-info.c:191,1
    - Dst: g_file_info_get_modification_date_time
      Src: /src/glib/gio/tests/g-file-info.c:188,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:201,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/tests/g-file-info.c:214,1
    - Dst: g_file_info_get_modification_date_time
      Src: /src/glib/gio/tests/g-file-info.c:217,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:219,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:222,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:236,1
    - Dst: g_file_info_get_modification_date_time
      Src: /src/glib/gio/tests/g-file-info.c:243,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:257,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:250,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/g-file-info.c:165,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:168,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/g-file-info.c:167,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:182,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:189,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:203,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:196,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:210,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:244,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:251,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:261,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:262,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:249,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 266
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 266
    functionName: test_g_file_info_modification_time
    functionSourceFile: /src/glib/gio/tests/g-file-info.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_cmpuint
    - g_file_info_has_attribute
    - g_assert_nonnull
    - g_clear_object
    - g_assert_no_error
    - g_date_time_difference
    - g_file_info_get_attribute_uint32
    - g_date_time_add
    - g_date_time_unref
    - g_file_new_tmp
    - g_file_set_attribute_uint32
    - g_test_summary
    - g_date_time_get_microsecond
    - g_file_info_get_modification_date_time
    - g_file_delete
    - g_file_info_set_modification_date_time
    - g_file_query_info
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_info_modification_time (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:685,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:695,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:709,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:696,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/g-file-info.c:711,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:737,1
    - Dst: fileno
      Src: /src/glib/gio/tests/g-file-info.c:797,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:801,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:837,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:838,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:944,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:954,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:981,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:994,1
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/tests/g-file-info.c:1010,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/g-file-info.c:1023,1
    - Dst: SHGetKnownFolderPath
      Src: /src/glib/gio/tests/g-file-info.c:583,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:671,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:646,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:682,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:693,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:738,1
    - Dst: fflush
      Src: /src/glib/gio/tests/g-file-info.c:820,1
    - Dst: g_fopen
      Src: /src/glib/gio/tests/g-file-info.c:877,1
    - Dst: fflush
      Src: /src/glib/gio/tests/g-file-info.c:884,1
    - Dst: SetFileTime
      Src: /src/glib/gio/tests/g-file-info.c:886,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:934,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:991,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/glib/gio/tests/g-file-info.c:939,1
    - Dst: DeviceIoControl
      Src: /src/glib/gio/tests/g-file-info.c:809,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:837,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:716,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:683,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:694,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/g-file-info.c:698,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:740,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info.c:778,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/g-file-info.c:784,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:829,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:886,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:898,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:927,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:949,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/g-file-info.c:883,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:731,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:680,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:704,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:681,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/g-file-info.c:699,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:714,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:720,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:614,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/tests/g-file-info.c:613,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file-info.c:637,1
    - Dst: g_stat
      Src: /src/glib/gio/tests/g-file-info.c:899,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:929,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:980,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file-info.c:902,1
    - Dst: fclose
      Src: /src/glib/gio/tests/g-file-info.c:888,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/g-file-info.c:621,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:682,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:693,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:706,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:759,1
    - Dst: memset
      Src: /src/glib/gio/tests/g-file-info.c:823,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:924,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:934,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:969,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/tests/g-file-info.c:996,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/tests/g-file-info.c:1006,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:640,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:858,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:899,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:1021,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/tests/g-file-info.c:880,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:904,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/g-file-info.c:1015,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:691,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/g-file-info.c:701,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:678,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/g-file-info.c:700,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:661,1
    - Dst: CoTaskMemFree
      Src: /src/glib/gio/tests/g-file-info.c:756,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:798,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:809,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:855,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:859,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/g-file-info.c:1024,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:990,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:935,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:935,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:926,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file-info.c:901,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/glib/gio/tests/g-file-info.c:957,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/tests/g-file-info.c:729,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/g-file-info.c:710,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:680,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:681,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:692,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:715,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:726,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:742,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info.c:780,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file-info.c:827,1
    - Dst: g_file_info_get_modification_date_time
      Src: /src/glib/gio/tests/g-file-info.c:988,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:1020,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:945,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info.c:1025,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:999,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:948,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:928,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:689,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/g-file-info.c:708,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:677,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:688,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:739,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info.c:748,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/g-file-info.c:792,1
    - Dst: _fseeki64
      Src: /src/glib/gio/tests/g-file-info.c:818,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/g-file-info.c:819,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:851,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:924,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:946,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/g-file-info.c:1016,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:1022,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/g-file-info.c:1027,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:931,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info.c:1026,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:678,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:691,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:717,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info.c:749,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:838,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/glib/gio/tests/g-file-info.c:840,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:875,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:878,1
    - Dst: g_stat
      Src: /src/glib/gio/tests/g-file-info.c:898,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:932,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:936,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/tests/g-file-info.c:970,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:975,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:982,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file-info.c:638,1
    - Dst: fileno
      Src: /src/glib/gio/tests/g-file-info.c:880,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file-info.c:636,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:687,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:718,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/tests/g-file-info.c:733,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:744,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info.c:746,1
    - Dst: GetVolumeInformationW
      Src: /src/glib/gio/tests/g-file-info.c:779,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/g-file-info.c:783,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:795,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/gio/tests/g-file-info.c:853,1
    - Dst: memset
      Src: /src/glib/gio/tests/g-file-info.c:895,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:966,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:1000,1
    - Dst: g_file_info_get_modification_date_time
      Src: /src/glib/gio/tests/g-file-info.c:968,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:936,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:677,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:688,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:689,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:735,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/g-file-info.c:768,1
    - Dst: SystemTimeToFileTime
      Src: /src/glib/gio/tests/g-file-info.c:875,1
    - Dst: fclose
      Src: /src/glib/gio/tests/g-file-info.c:893,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:931,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:932,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:993,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:727,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:686,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:617,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:723,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/tests/g-file-info.c:735,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:741,1
    - Dst: CoTaskMemFree
      Src: /src/glib/gio/tests/g-file-info.c:753,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/tests/g-file-info.c:797,1
    - Dst: fclose
      Src: /src/glib/gio/tests/g-file-info.c:821,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/g-file-info.c:835,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:853,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:925,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:925,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:652,1
    - Dst: DeviceIoControl
      Src: /src/glib/gio/tests/g-file-info.c:801,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:687,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:725,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/tests/g-file-info.c:731,1
    - Dst: g_stat
      Src: /src/glib/gio/tests/g-file-info.c:825,1
    - Dst: g_fopen
      Src: /src/glib/gio/tests/g-file-info.c:794,1
    - Dst: memset
      Src: /src/glib/gio/tests/g-file-info.c:896,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:928,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:929,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:955,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/tests/g-file-info.c:972,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:696,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:703,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/tests/g-file-info.c:616,1
    - Dst: SHGetKnownFolderPath
      Src: /src/glib/gio/tests/g-file-info.c:586,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:685,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:695,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:722,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:705,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/tests/g-file-info.c:776,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:777,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:971,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/g-file-info.c:1017,1
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/tests/g-file-info.c:1000,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:686,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info.c:747,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/gio/tests/g-file-info.c:850,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:881,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:926,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:927,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/glib/gio/tests/g-file-info.c:938,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/gio/tests/g-file-info.c:966,1
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/tests/g-file-info.c:975,1
    - Dst: g_date_time_difference
      Src: /src/glib/gio/tests/g-file-info.c:989,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:914,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:1019,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:849,1
    - Dst: g_fopen
      Src: /src/glib/gio/tests/g-file-info.c:890,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:1009,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:933,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:933,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:694,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:683,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:721,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/g-file-info.c:626,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:692,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:712,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:743,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/g-file-info.c:758,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:779,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/g-file-info.c:785,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:850,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:891,1
    - Dst: g_file_info_set_modification_date_time
      Src: /src/glib/gio/tests/g-file-info.c:973,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/glib/gio/tests/g-file-info.c:841,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 336
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1028
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 1028
    functionName: test_internal_enhanced_stdio
    functionSourceFile: /src/glib/gio/tests/g-file-info.c
    functionUses: []
    functionsReached:
    - fileno
    - g_file_info_set_modification_date_time
    - g_file_info_has_attribute
    - g_file_info_get_attribute_string
    - g_file_info_get_attribute_boolean
    - g_remove
    - fprintf
    - G_GUINT64_CONSTANT
    - g_clear_error
    - g_file_info_get_symlink_target
    - SHGetKnownFolderPath
    - g_fopen
    - g_assert_cmpint
    - g_utf8_to_utf16
    - fflush
    - g_assert_nonnull
    - g_file_info_get_attribute_uint32
    - g_object_unref
    - g_file_set_attributes_from_info
    - g_file_info_get_file_type
    - fclose
    - DeviceIoControl
    - memset
    - g_stat
    - _fseeki64
    - g_file_info_get_attribute_uint64
    - SetFileTime
    - g_file_info_get_modification_date_time
    - g_file_info_set_attribute_uint32
    - CoTaskMemFree
    - g_rmdir
    - g_file_new_for_path
    - g_assert_cmpuint
    - g_date_time_difference
    - g_dir_make_tmp
    - g_build_filename
    - g_str_has_suffix
    - g_assert_error
    - g_file_query_info
    - g_date_time_add
    - g_strdup
    - g_assert_false
    - g_free
    - g_file_info_new
    - g_date_time_unref
    - g_assert_cmpstr
    - GetVolumeInformationW
    - g_file_info_set_attribute_uint64
    - SystemTimeToFileTime
    - g_utf16_to_utf8
    - g_assert_true
    - _get_osfhandle
    linkageType: ''
    returnType: void
    signature: 'static void test_internal_enhanced_stdio (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/g-file-info.c:1067,1
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/tests/g-file-info.c:1060,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:1074,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1075,1
    - Dst: g_file_info_has_namespace
      Src: /src/glib/gio/tests/g-file-info.c:1078,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:1081,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:1085,1
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/tests/g-file-info.c:1088,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1089,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:1090,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/g-file-info.c:1099,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:1093,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1091,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/g-file-info.c:1039,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1043,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:1050,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:1056,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1071,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:1080,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:1080,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:1092,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:1093,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:1101,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:1095,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:1083,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:1044,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/g-file-info.c:1046,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/g-file-info.c:1064,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:1055,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:1076,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:1078,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:1081,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:1082,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:1082,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:1083,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/g-file-info.c:1046,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/g-file-info.c:1042,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:1047,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1051,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:1052,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:1058,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/g-file-info.c:1066,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:1062,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:1057,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1102
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1102
    functionName: test_xattrs
    functionSourceFile: /src/glib/gio/tests/g-file-info.c
    functionUses: []
    functionsReached:
    - g_file_info_get_attribute_string
    - g_clear_error
    - g_test_summary
    - g_assert_nonnull
    - g_file_info_has_namespace
    - g_error_matches
    - g_object_unref
    - g_file_set_attributes_from_info
    - g_test_skip
    - g_io_stream_close
    - g_file_delete
    - g_file_info_set_attribute_string
    - G_IO_STREAM
    - g_file_set_attribute
    - g_assert_no_error
    - g_file_new_tmp
    - g_file_query_info
    - g_assert_cmpstr
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_xattrs (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:291,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:287,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/g-file-info.c:284,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/g-file-info.c:295,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:297,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:315,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:304,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:329,1
    - Dst: g_file_info_get_access_date_time
      Src: /src/glib/gio/tests/g-file-info.c:343,1
    - Dst: g_date_time_difference
      Src: /src/glib/gio/tests/g-file-info.c:344,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:369,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:390,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:319,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:323,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:327,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:345,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:355,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:355,1
    - Dst: g_file_info_get_access_date_time
      Src: /src/glib/gio/tests/g-file-info.c:376,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/tests/g-file-info.c:379,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:382,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:377,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:394,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:380,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:398,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:397,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/g-file-info.c:391,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:383,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:384,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:395,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:399,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:370,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/g-file-info.c:282,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:285,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/g-file-info.c:296,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:298,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:312,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:308,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:318,1
    - Dst: g_file_info_get_access_date_time
      Src: /src/glib/gio/tests/g-file-info.c:303,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:322,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/tests/g-file-info.c:332,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/gio/tests/g-file-info.c:348,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:400,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:392,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/tests/g-file-info.c:340,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:396,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:374,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:367,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:333,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/g-file-info.c:386,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:293,1
    - Dst: g_date_time_difference
      Src: /src/glib/gio/tests/g-file-info.c:317,1
    - Dst: g_file_info_get_access_date_time
      Src: /src/glib/gio/tests/g-file-info.c:314,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:307,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:335,1
    - Dst: g_file_info_set_access_date_time
      Src: /src/glib/gio/tests/g-file-info.c:341,1
    - Dst: g_file_info_set_access_date_time
      Src: /src/glib/gio/tests/g-file-info.c:349,1
    - Dst: g_file_info_get_access_date_time
      Src: /src/glib/gio/tests/g-file-info.c:350,1
    - Dst: g_date_time_difference
      Src: /src/glib/gio/tests/g-file-info.c:351,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:352,1
    - Dst: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:365,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 97
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 401
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 401
    functionName: test_g_file_info_access_time
    functionSourceFile: /src/glib/gio/tests/g-file-info.c
    functionUses: []
    functionsReached:
    - g_file_info_has_attribute
    - g_test_summary
    - g_assert_cmpint
    - g_assert_nonnull
    - g_file_info_get_attribute_uint32
    - g_test_skip
    - g_file_delete
    - g_assert_cmpuint
    - g_date_time_new_from_unix_utc
    - g_date_time_difference
    - g_assert_no_error
    - g_file_new_tmp
    - g_date_time_add
    - g_file_query_info
    - g_file_info_get_access_date_time
    - g_date_time_get_microsecond
    - g_clear_object
    - g_date_time_unref
    - g_file_set_attribute_uint32
    - g_file_info_set_access_date_time
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_info_access_time (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/g-file-info.c:91,1
    - Dst: g_file_info_set_file_type
      Src: /src/glib/gio/tests/g-file-info.c:97,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:114,1
    - Dst: test_assigned_values
      Src: /src/glib/gio/tests/g-file-info.c:120,1
    - Dst: g_file_info_set_attribute_int32
      Src: /src/glib/gio/tests/g-file-info.c:124,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:127,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:144,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/g-file-info.c:139,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:145,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/tests/g-file-info.c:142,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/tests/g-file-info.c:139,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:145,1
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/glib/gio/tests/g-file-info.c:94,1
    - Dst: g_file_info_list_attributes
      Src: /src/glib/gio/tests/g-file-info.c:100,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:101,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/g-file-info.c:103,1
    - Dst: g_file_info_set_attribute_file_path
      Src: /src/glib/gio/tests/g-file-info.c:110,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file-info.c:109,1
    - Dst: g_file_info_copy_into
      Src: /src/glib/gio/tests/g-file-info.c:118,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:123,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:128,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/tests/g-file-info.c:137,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:149,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file-info.c:132,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/g-file-info.c:144,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/tests/g-file-info.c:86,1
    - Dst: g_file_info_get_attribute_file_path
      Src: /src/glib/gio/tests/g-file-info.c:109,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:102,1
    - Dst: test_assigned_values
      Src: /src/glib/gio/tests/g-file-info.c:105,1
    - Dst: test_assigned_values
      Src: /src/glib/gio/tests/g-file-info.c:115,1
    - Dst: g_file_info_get_attribute_type
      Src: /src/glib/gio/tests/g-file-info.c:127,1
    - Dst: g_file_info_get_attribute_status
      Src: /src/glib/gio/tests/g-file-info.c:128,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/g-file-info.c:131,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/tests/g-file-info.c:134,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:137,1
    - Dst: g_file_info_get_attribute_type
      Src: /src/glib/gio/tests/g-file-info.c:132,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:148,1
    - Dst: g_file_info_list_attributes
      Src: /src/glib/gio/tests/g-file-info.c:89,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/g-file-info.c:92,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:90,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/tests/g-file-info.c:95,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/tests/g-file-info.c:96,1
    - Dst: g_file_info_set_attribute_file_path
      Src: /src/glib/gio/tests/g-file-info.c:108,1
    - Dst: g_file_info_dup
      Src: /src/glib/gio/tests/g-file-info.c:113,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/tests/g-file-info.c:117,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info.c:119,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/g-file-info.c:123,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/g-file-info.c:131,1
    - Dst: g_file_info_set_attribute_mask
      Src: /src/glib/gio/tests/g-file-info.c:141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info.c:147,1
    - Dst: g_file_info_remove_attribute
      Src: /src/glib/gio/tests/g-file-info.c:130,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/g-file-info.c:138,1
    - Dst: g_file_attribute_matcher_matches_only
      Src: /src/glib/gio/tests/g-file-info.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 150
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 150
    functionName: test_g_file_info
    functionSourceFile: /src/glib/gio/tests/g-file-info.c
    functionUses: []
    functionsReached:
    - g_file_info_has_attribute
    - g_file_attribute_matcher_new
    - g_file_attribute_matcher_matches
    - g_strfreev
    - g_file_info_get_attribute_status
    - test_assigned_values
    - g_assert_cmpint
    - g_assert_nonnull
    - g_file_attribute_matcher_matches_only
    - g_object_unref
    - g_file_info_set_attribute_byte_string
    - g_file_info_set_attribute_string
    - g_file_info_set_file_type
    - g_file_info_dup
    - g_file_info_set_attribute_file_path
    - g_file_info_get_attribute_file_path
    - g_file_info_set_attribute_mask
    - g_file_info_get_attribute_type
    - g_assert_null
    - g_file_info_list_attributes
    - g_file_info_remove_attribute
    - g_file_attribute_matcher_unref
    - g_assert_false
    - g_file_info_set_attribute_int32
    - g_file_info_new
    - g_assert_cmpstr
    - g_file_info_set_attribute_uint64
    - g_file_info_copy_into
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1118,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/g-file-info.c:1117,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:1122,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1126,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/g-file-info.c:1129,1
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/tests/g-file-info.c:1129,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/g-file-info.c:1133,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1139,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:1144,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:1145,1
    - Dst: g_file_info_set_modification_date_time
      Src: /src/glib/gio/tests/g-file-info.c:1128,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info.c:1130,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/g-file-info.c:1114,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/gio/tests/g-file-info.c:1120,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/g-file-info.c:1115,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/g-file-info.c:1135,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-file-info.c:1141,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:1132,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/g-file-info.c:1141,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info.c:1143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1146
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1146
    functionName: test_set_modified_date_time_precision
    functionSourceFile: /src/glib/gio/tests/g-file-info.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_cmpuint
    - g_clear_pointer
    - g_clear_object
    - g_assert_no_error
    - g_file_info_get_attribute_uint32
    - g_file_set_attributes_from_info
    - g_file_new_tmp
    - g_test_summary
    - g_date_time_new_from_iso8601
    - g_file_info_set_modification_date_time
    - g_file_query_info
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_set_modified_date_time_precision (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/g-file-info.c:1152,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file-info.c:1156,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file-info.c:1154,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file-info.c:1155,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file-info.c:1157,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file-info.c:1159,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file-info.c:1161,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file-info.c:1162,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/g-file-info.c:1164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1165
    functionName: main
    functionSourceFile: /src/glib/gio/tests/g-file-info.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_vfs_get_local
      Src: /src/glib/gio/tests/vfs.c:109,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/vfs.c:113,1
    - Dst: g_vfs_get_file_for_uri
      Src: /src/glib/gio/tests/vfs.c:112,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/vfs.c:110,1
    - Dst: g_vfs_is_active
      Src: /src/glib/gio/tests/vfs.c:110,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/tests/vfs.c:113,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/vfs.c:114,1
    - Dst: g_vfs_get_supported_uri_schemes
      Src: /src/glib/gio/tests/vfs.c:116,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/vfs.c:118,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/vfs.c:118,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/vfs.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: test_local
    functionSourceFile: /src/glib/gio/tests/vfs.c
    functionUses: []
    functionsReached:
    - g_vfs_get_local
    - g_vfs_get_supported_uri_schemes
    - g_assert_cmpuint
    - g_object_unref
    - g_assert_cmpstr
    - g_vfs_get_file_for_uri
    - g_vfs_is_active
    - G_IS_FILE
    - g_assert_true
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void test_local (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/vfs.c:49,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/vfs.c:50,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/tests/vfs.c:50,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/vfs.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - vfs
    - uri
    - user_data
    argTypes:
    - GVfs*
    - char*
    - gpointer
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: test_vfs_lookup
    functionSourceFile: /src/glib/gio/tests/vfs.c
    functionUses: []
    functionsReached:
    - g_file_new_for_uri
    - G_OBJECT
    - g_object_set_data
    - GINT_TO_POINTER
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *test_vfs_lookup (GVfs *vfs, const char *uri, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/vfs.c:34,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/tests/vfs.c:37,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/vfs.c:37,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/vfs.c:36,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/vfs.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - vfs
    - parse_name
    - user_data
    argTypes:
    - GVfs*
    - char*
    - gpointer
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: test_vfs_parse_name
    functionSourceFile: /src/glib/gio/tests/vfs.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - GINT_TO_POINTER
    - g_strcmp0
    - g_file_new_for_uri
    - g_object_set_data
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *test_vfs_parse_name (GVfs *vfs, const char *parse_name,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_vfs_get_supported_uri_schemes
      Src: /src/glib/gio/tests/vfs.c:67,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/vfs.c:68,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/vfs.c:71,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/vfs.c:76,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/vfs.c:82,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/vfs.c:79,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/vfs.c:79,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/vfs.c:87,1
    - Dst: g_vfs_unregister_uri_scheme
      Src: /src/glib/gio/tests/vfs.c:94,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/vfs.c:68,1
    - Dst: g_vfs_unregister_uri_scheme
      Src: /src/glib/gio/tests/vfs.c:70,1
    - Dst: g_vfs_register_uri_scheme
      Src: /src/glib/gio/tests/vfs.c:73,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/vfs.c:82,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/vfs.c:86,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/tests/vfs.c:86,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/vfs.c:86,1
    - Dst: g_vfs_register_uri_scheme
      Src: /src/glib/gio/tests/vfs.c:89,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/vfs.c:92,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/vfs.c:95,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/vfs.c:65,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/vfs.c:64,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/vfs.c:81,1
    - Dst: g_vfs_get_supported_uri_schemes
      Src: /src/glib/gio/tests/vfs.c:78,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/vfs.c:83,1
    - Dst: g_file_parse_name
      Src: /src/glib/gio/tests/vfs.c:85,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/vfs.c:86,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/vfs.c:97,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/vfs.c:98,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/vfs.c:98,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/tests/vfs.c:63,1
    - Dst: g_vfs_is_active
      Src: /src/glib/gio/tests/vfs.c:65,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/tests/vfs.c:82,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/vfs.c:82,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/tests/vfs.c:98,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/vfs.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 100
    functionName: test_register_scheme
    functionSourceFile: /src/glib/gio/tests/vfs.c
    functionUses: []
    functionsReached:
    - g_vfs_get_supported_uri_schemes
    - g_assert_false
    - g_assert_cmpint
    - G_OBJECT
    - g_file_new_for_uri
    - g_assert_nonnull
    - g_object_get_data
    - g_vfs_get_default
    - g_object_unref
    - g_vfs_is_active
    - g_vfs_unregister_uri_scheme
    - g_assert_null
    - g_file_parse_name
    - g_strv_contains
    - GPOINTER_TO_INT
    - g_assert_true
    - g_vfs_register_uri_scheme
    linkageType: ''
    returnType: void
    signature: 'static void test_register_scheme (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/vfs.c:128,1
    - Dst: g_vfs_get_local
      Src: /src/glib/gio/tests/vfs.c:131,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/vfs.c:129,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/vfs.c:132,1
    - Dst: g_vfs_is_active
      Src: /src/glib/gio/tests/vfs.c:132,1
    - Dst: g_vfs_get_file_for_uri
      Src: /src/glib/gio/tests/vfs.c:134,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/vfs.c:135,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/tests/vfs.c:135,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/vfs.c:138,1
    - Dst: g_file_get_uri_scheme
      Src: /src/glib/gio/tests/vfs.c:138,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/vfs.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: test_resource_malformed_escaping
    functionSourceFile: /src/glib/gio/tests/vfs.c
    functionUses: []
    functionsReached:
    - g_vfs_get_local
    - g_object_unref
    - g_vfs_get_file_for_uri
    - g_vfs_is_active
    - g_file_get_uri_scheme
    - g_assert_null
    - g_test_summary
    - G_IS_FILE
    - g_assert_true
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_malformed_escaping (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/vfs.c:146,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/vfs.c:149,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/vfs.c:150,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/vfs.c:152,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/vfs.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/glib/gio/tests/vfs.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_monitor_dup_default
      Src: /src/glib/gio/tests/memory-monitor.c:27,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/memory-monitor.c:28,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-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/memory-monitor.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_object_unref
    - g_memory_monitor_dup_default
    linkageType: ''
    returnType: void
    signature: 'static void test_dup_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_monitor_dup_default
      Src: /src/glib/gio/tests/memory-monitor.c:47,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/memory-monitor.c:51,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/memory-monitor.c:48,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/memory-monitor.c:48,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/memory-monitor.c:49,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/memory-monitor.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: do_watch_memory
    functionSourceFile: /src/glib/gio/tests/memory-monitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_connect
    - g_memory_monitor_dup_default
    - G_CALLBACK
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void do_watch_memory (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/tests/memory-monitor.c:60,1
    - Dst: do_watch_memory
      Src: /src/glib/gio/tests/memory-monitor.c:62,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/memory-monitor.c:66,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-monitor.c:68,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/memory-monitor.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/glib/gio/tests/memory-monitor.c
    functionUses: []
    functionsReached:
    - do_watch_memory
    - g_test_add_func
    - g_test_run
    - g_test_init
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_enum_to_string
      Src: /src/glib/gio/tests/memory-monitor.c:36,1
    - Dst: g_free
      Src: /src/glib/gio/tests/memory-monitor.c:38,1
    - Dst: g_message
      Src: /src/glib/gio/tests/memory-monitor.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - m
    - level
    argTypes:
    - GMemoryMonitor*
    - GMemoryMonitorWarningLevel
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: warning_cb
    functionSourceFile: /src/glib/gio/tests/memory-monitor.c
    functionUses: []
    functionsReached:
    - g_message
    - g_enum_to_string
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void warning_cb (GMemoryMonitor *m,\t GMemoryMonitorWarningLevel
      level) "
  - 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: 8
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 8
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-own-name.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_bus_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:15,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: on_name_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-own-name.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_name_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: on_name_lost
    functionSourceFile: /src/glib/gio/tests/gdbus-example-own-name.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_name_lost (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:49,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:58,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:53,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:50,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:51,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:68,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:77,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:78,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-example-own-name.c:80,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-own-name.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_main_loop_new
    - g_bus_unown_name
    - g_main_loop_run
    - g_bus_own_name
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:164,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:178,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:202,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:204,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:209,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:213,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:215,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:218,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:230,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:241,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:215,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:262,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:223,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:265,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:232,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:255,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:257,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:233,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:247,1
    - Dst: g_dbus_message_get_flags
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:141,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:148,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:144,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:149,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:152,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:155,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:157,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:171,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:181,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:186,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:194,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:205,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:210,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:242,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:245,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:243,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:143,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:175,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:187,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:217,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:248,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:201,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:192,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:198,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:225,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:239,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:223,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:226,1
    - Dst: g_dbus_method_invocation_return_value_with_unix_fd_list
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:253,1
    - Dst: g_dbus_method_invocation_get_message
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:141,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:157,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:162,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:166,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:171,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:159,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:171,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:169,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:180,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:189,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:221,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:259,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:260,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:194,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:253,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:251,1
    - Dst: g_dbus_connection_close
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:228,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:252,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    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: 266
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 266
    functionName: test_method_invocation_return_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-method-invocation.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_dbus_method_invocation_return_value
    - g_unix_fd_list_new
    - g_dbus_connection_close
    - g_unix_fd_list_append
    - g_assert_not_reached
    - g_object_unref
    - g_test_expect_message
    - g_variant_new
    - g_dbus_method_invocation_get_message
    - g_dbus_method_invocation_return_dbus_error
    - g_variant_unref
    - g_assert_no_error
    - g_variant_get
    - g_dbus_message_get_flags
    - g_str_equal
    - g_variant_new_uint32
    - g_assert_cmpstr
    - g_dbus_method_invocation_return_value_with_unix_fd_list
    linkageType: ''
    returnType: void
    signature: 'static void test_method_invocation_return_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-method-invocation.c:273,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:282,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: ensure_result_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-method-invocation.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_assert_cmpint
    - g_dbus_connection_call_finish
    - G_DBUS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'static void ensure_result_cb (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:297,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:313,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:314,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:380,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:363,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:306,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:309,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:300,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:302,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:340,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:375,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:376,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:349,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:367,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:394,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:395,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:301,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:342,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:362,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:392,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 396
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 396
    functionName: test_method_invocation_return
    functionSourceFile: /src/glib/gio/tests/gdbus-method-invocation.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_assert_cmpint
    - g_test_message
    - g_dbus_connection_unregister_object
    - g_dbus_connection_call
    - g_assert_nonnull
    - g_assert_no_error
    - g_bus_get_sync
    - g_object_unref
    - g_dbus_connection_set_exit_on_close
    - g_main_context_iteration
    - g_test_summary
    - g_dbus_connection_get_unique_name
    - G_N_ELEMENTS
    - g_variant_new_parsed
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: void
    signature: 'static void test_method_invocation_return (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:402,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:404,1
    - Dst: session_bus_run
      Src: /src/glib/gio/tests/gdbus-method-invocation.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-method-invocation.c
    functionUses: []
    functionsReached:
    - session_bus_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTestTlsBackend*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: g_test_tls_backend_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_backend_init (GTestTlsBackend *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gtesttlsbackend.c:492,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - test_class
    argTypes:
    - GTestTlsDatabaseClass*
    constantsTouched: []
    func_position:
      end: 499
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 499
    functionName: g_test_tls_database_class_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_database_class_init (GTestTlsDatabaseClass
      *test_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - database
    argTypes:
    - GTestTlsDatabase*
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: g_test_tls_database_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_database_init (GTestTlsDatabase *database) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: g_test_tls_database_initable_iface_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_database_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:451,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gtesttlsbackend.c:454,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 457
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 457
    functionName: g_test_tls_database_get_property
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_database_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/gtesttlsbackend.c:236,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gtesttlsbackend.c:237,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gtesttlsbackend.c:239,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gtesttlsbackend.c:240,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gtesttlsbackend.c:238,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gtesttlsbackend.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: g_test_tls_certificate_finalize
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_certificate_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: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: g_test_tls_connection_set_property
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_test_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/gtesttlsbackend.c:470,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gtesttlsbackend.c:474,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:471,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 477
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 477
    functionName: g_test_tls_database_set_property
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_assert_not_reached
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_database_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gtesttlsbackend.c:248,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:257,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:259,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:258,1
    - Dst: G_TLS_CERTIFICATE_CLASS
      Src: /src/glib/gio/tests/gtesttlsbackend.c:249,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:260,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:261,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:262,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:263,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:264,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:269,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:268,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:266,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:267,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - test_class
    argTypes:
    - GTestTlsCertificateClass*
    constantsTouched: []
    func_position:
      end: 270
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 270
    functionName: g_test_tls_certificate_class_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_CERTIFICATE_CLASS
    - G_OBJECT_CLASS
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_certificate_class_init (GTestTlsCertificateClass
      *test_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: 341
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: g_test_tls_connection_get_property
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_test_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: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: g_test_tls_connection_close
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_test_tls_connection_close (GIOStream *stream,\t\t\t
      GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/gtesttlsbackend.c:484,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gtesttlsbackend.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: g_test_tls_database_finalize
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_database_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: g_test_tls_database_initable_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_test_tls_database_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - cert
    - identity
    - trusted_ca
    argTypes:
    - GTlsCertificate*
    - GSocketConnectable*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: g_test_tls_certificate_verify
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'static GTlsCertificateFlags g_test_tls_certificate_verify (GTlsCertificate
      *cert, GSocketConnectable *identity, GTlsCertificate *trusted_ca) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: g_test_tls_file_database_file_database_interface_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_file_database_file_database_interface_init
      (GInitableIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - backend_class
    argTypes:
    - GTestTlsBackendClass*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: g_test_tls_backend_class_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_backend_class_init (GTestTlsBackendClass *backend_class) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/tests/gtesttlsbackend.c:169,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/gio/tests/gtesttlsbackend.c:172,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gtesttlsbackend.c:182,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/tests/gtesttlsbackend.c:183,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:151,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:163,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:166,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/tests/gtesttlsbackend.c:172,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:178,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gtesttlsbackend.c:182,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gtesttlsbackend.c:187,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gtesttlsbackend.c:162,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/tests/gtesttlsbackend.c:157,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gtesttlsbackend.c:182,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:175,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gtesttlsbackend.c:181,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:187,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:154,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/gio/tests/gtesttlsbackend.c:169,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gtesttlsbackend.c:186,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/tests/gtesttlsbackend.c:188,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gtesttlsbackend.c:191,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 194
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 194
    functionName: g_test_tls_certificate_get_property
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - strlen
    - g_value_set_string
    - g_bytes_new_static
    - g_ptr_array_new_with_free_func
    - g_strcmp0
    - g_inet_address_new_from_string
    - g_assert_not_reached
    - g_date_time_new_from_iso8601
    - g_value_set_object
    - g_value_take_boxed
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: "static void g_test_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:
    - certificate
    argTypes:
    - GTestTlsCertificate*
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: g_test_tls_certificate_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_certificate_init (GTestTlsCertificate *certificate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: g_test_tls_certificate_initable_iface_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_certificate_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gtesttlsbackend.c:362,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:375,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/tests/gtesttlsbackend.c:363,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:377,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:376,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:378,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:379,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:380,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:381,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:382,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:387,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:386,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:384,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:385,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/tests/gtesttlsbackend.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - connection_class
    argTypes:
    - GTestTlsConnectionClass*
    constantsTouched: []
    func_position:
      end: 388
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 388
    functionName: g_test_tls_connection_class_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_object_class_override_property
    - G_IO_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_connection_class_init (GTestTlsConnectionClass
      *connection_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/gtesttlsbackend.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 403
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 403
    functionName: g_test_tls_connection_initable_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_test_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: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsBackendInterface*
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: g_test_tls_backend_iface_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_backend_iface_init (GTlsBackendInterface *iface) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_value_dup_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:207,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:219,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/tests/gtesttlsbackend.c:213,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:216,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/tests/gtesttlsbackend.c:210,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gtesttlsbackend.c:226,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 229
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 229
    functionName: g_test_tls_certificate_set_property
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_assert_not_reached
    - g_value_dup_object
    linkageType: ''
    returnType: void
    signature: "static void g_test_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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: g_test_tls_certificate_initable_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_test_tls_certificate_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:
    - GTestTlsConnection*
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: g_test_tls_connection_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_connection_init (GTestTlsConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: g_test_tls_connection_initable_iface_init
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tls_connection_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/glib/gio/tests/gtesttlsbackend.c:77,1
    - Dst: _g_test_tls_database_get_type
      Src: /src/glib/gio/tests/gtesttlsbackend.c:77,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gtesttlsbackend.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: _g_test_tls_backend_get_default_database
    functionSourceFile: /src/glib/gio/tests/gtesttlsbackend.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_initable_new
    - _g_test_tls_database_get_type
    linkageType: ''
    returnType: GTlsDatabase*
    signature: 'static GTlsDatabase *_g_test_tls_backend_get_default_database (GTlsBackend
      * backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_files
      Src: /src/glib/gio/tests/tls-certificate.c:334,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:337,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:335,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:334,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:338,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:340,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:344,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:345,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:346,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:347,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ref
    argTypes:
    - Reference*
    constantsTouched: []
    func_position:
      end: 350
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 350
    functionName: from_files_crlf
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_tls_certificate_new_from_files
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void from_files_crlf (const Reference *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_pkcs11_uris
      Src: /src/glib/gio/tests/tls-certificate.c:514,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:516,1
    - Dst: g_tls_certificate_get_subject_name
      Src: /src/glib/gio/tests/tls-certificate.c:518,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:519,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:515,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:520,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:521,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 523
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 523
    functionName: subject_name
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_tls_certificate_new_from_pkcs11_uris
    - g_tls_certificate_get_subject_name
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void subject_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_files
      Src: /src/glib/gio/tests/tls-certificate.c:360,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:361,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:360,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:363,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:364,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:366,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:370,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:371,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:372,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:373,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ref
    argTypes:
    - Reference*
    constantsTouched: []
    func_position:
      end: 376
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 376
    functionName: from_files_pkcs8
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_tls_certificate_new_from_files
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void from_files_pkcs8 (const Reference *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_pkcs11_uris
      Src: /src/glib/gio/tests/tls-certificate.c:534,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:536,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:535,1
    - Dst: g_tls_certificate_get_issuer_name
      Src: /src/glib/gio/tests/tls-certificate.c:538,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:539,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:540,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:541,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 543
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 543
    functionName: issuer_name
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_tls_certificate_new_from_pkcs11_uris
    - g_tls_certificate_get_issuer_name
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void issuer_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_test_tls_backend_get_type
      Src: /src/glib/gio/tests/tls-certificate.c:640,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:647,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:662,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:667,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:677,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:699,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/tls-certificate.c:687,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:721,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/tls-certificate.c:673,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/tls-certificate.c:691,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:674,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:669,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:707,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/tls-certificate.c:668,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:711,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:723,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/tls-certificate.c:638,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:644,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:646,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:650,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/tls-certificate.c:658,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:655,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/tls-certificate.c:653,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:660,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:664,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:666,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:697,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:720,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:725,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/tls-certificate.c:685,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:724,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/tls-certificate.c:683,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:709,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/tls-certificate.c:643,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:657,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:652,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:672,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:705,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/tls-certificate.c:718,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:695,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:726,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:676,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:671,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:715,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/tls-certificate.c:689,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:703,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:645,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/tls-certificate.c:648,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:649,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:654,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:659,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:656,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:651,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:661,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/tls-certificate.c:663,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:665,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:670,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/tls-certificate.c:681,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/tls-certificate.c:693,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:701,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:722,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/tls-certificate.c:679,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-certificate.c:713,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 729
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 729
    functionName: main
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_free
    - g_assert_nonnull
    - g_test_add_data_func
    - g_assert_no_error
    - g_test_add_func
    - _g_test_tls_backend_get_type
    - g_test_run
    - g_test_init
    - g_file_get_contents
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_files
      Src: /src/glib/gio/tests/tls-certificate.c:385,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:389,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:386,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:385,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:388,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ref
    argTypes:
    - Reference*
    constantsTouched: []
    func_position:
      end: 391
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 391
    functionName: from_files_pkcs8enc
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_clear_error
    - g_assert_null
    - g_tls_certificate_new_from_files
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void from_files_pkcs8enc (const Reference *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/tls-certificate.c:552,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:555,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:556,1
    - Dst: g_tls_certificate_new_from_pkcs11_uris
      Src: /src/glib/gio/tests/tls-certificate.c:554,1
    - Dst: strlen
      Src: /src/glib/gio/tests/tls-certificate.c:552,1
    - Dst: g_tls_certificate_get_dns_names
      Src: /src/glib/gio/tests/tls-certificate.c:558,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:559,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-certificate.c:560,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/tls-certificate.c:561,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/gio/tests/tls-certificate.c:561,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/tls-certificate.c:564,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:565,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/tls-certificate.c:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 566
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 566
    functionName: dns_names
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - strlen
    - g_tls_certificate_new_from_pkcs11_uris
    - g_bytes_new_static
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_ptr_array_find_with_equal_func
    - g_assert_no_error
    - g_tls_certificate_get_dns_names
    - g_bytes_unref
    - g_object_unref
    - g_ptr_array_unref
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void dns_names (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_pkcs12
      Src: /src/glib/gio/tests/tls-certificate.c:600,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:603,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/tls-certificate.c:604,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: from_pkcs12
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_error
    - g_error_free
    - g_tls_certificate_new_from_pkcs12
    linkageType: ''
    returnType: void
    signature: 'static void from_pkcs12 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_list_new_from_file
      Src: /src/glib/gio/tests/tls-certificate.c:400,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:402,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/tls-certificate.c:403,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:400,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/tls-certificate.c:403,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:410,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:413,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:414,1
    - Dst: g_list_next
      Src: /src/glib/gio/tests/tls-certificate.c:415,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/tls-certificate.c:418,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/tls-certificate.c:424,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:423,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:421,1
    - Dst: g_tls_certificate_list_new_from_file
      Src: /src/glib/gio/tests/tls-certificate.c:421,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/tls-certificate.c:424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ref
    argTypes:
    - Reference*
    constantsTouched: []
    func_position:
      end: 425
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 425
    functionName: list_from_file
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_get_filename
    - g_free
    - g_assert_no_error
    - g_assert_cmpstr
    - g_list_next
    - g_tls_certificate_list_new_from_file
    - g_list_length
    - g_list_free_full
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void list_from_file (const Reference *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/tls-certificate.c:574,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:578,1
    - Dst: g_tls_certificate_get_ip_addresses
      Src: /src/glib/gio/tests/tls-certificate.c:580,1
    - Dst: g_tls_certificate_new_from_pkcs11_uris
      Src: /src/glib/gio/tests/tls-certificate.c:576,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:577,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:581,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-certificate.c:582,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/tls-certificate.c:583,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/gio/tests/tls-certificate.c:583,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/tls-certificate.c:585,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:587,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 588
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 588
    functionName: ip_addresses
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_tls_certificate_new_from_pkcs11_uris
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_ptr_array_find_with_equal_func
    - g_assert_no_error
    - g_inet_address_new_from_string
    - g_ptr_array_free
    - g_object_unref
    - g_tls_certificate_get_ip_addresses
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void ip_addresses (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/tls-certificate.c:612,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:617,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:618,1
    - Dst: g_tls_certificate_new_from_file_with_password
      Src: /src/glib/gio/tests/tls-certificate.c:615,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:616,1
    - Dst: g_tls_certificate_new_from_file
      Src: /src/glib/gio/tests/tls-certificate.c:621,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:622,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:623,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/tls-certificate.c:624,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 627
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 627
    functionName: from_pkcs12_file
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_free
    - g_error_free
    - g_clear_error
    - g_assert_null
    - g_tls_certificate_new_from_file_with_password
    - g_assert_error
    - g_tls_certificate_new_from_file
    linkageType: ''
    returnType: void
    signature: 'static void from_pkcs12_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_file
      Src: /src/glib/gio/tests/tls-certificate.c:241,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:246,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:244,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:243,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:241,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:250,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:251,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:252,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:253,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ref
    argTypes:
    - Reference*
    constantsTouched: []
    func_position:
      end: 256
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 256
    functionName: from_file
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_tls_certificate_new_from_file
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void from_file (const Reference *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:48,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:50,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:48,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:55,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:72,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/tests/tls-certificate.c:76,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:63,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:78,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:82,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:87,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:123,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:124,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:99,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:117,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:111,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:125,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:116,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:49,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:61,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:62,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:64,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/tests/tls-certificate.c:86,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:96,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:100,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:103,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:104,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/tests/tls-certificate.c:107,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:108,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:131,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:71,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:77,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:66,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:79,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:83,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:94,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:95,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:97,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:103,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:115,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:129,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:128,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:130,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/tests/tls-certificate.c:127,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-certificate.c:51,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/tests/tls-certificate.c:53,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:54,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:57,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/tests/tls-certificate.c:70,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:82,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:84,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:109,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:119,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:120,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:88,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:90,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:105,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 1
    argNames:
    - ref
    argTypes:
    - Reference*
    constantsTouched: []
    func_position:
      end: 132
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 132
    functionName: pem_parser
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_free
    - g_tls_certificate_new_from_pem
    - g_assert_cmpuint
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_clear_error
    - g_assert_null
    - g_assert_error
    - g_file_get_contents
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void pem_parser (const Reference *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:266,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:322,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:308,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:319,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:318,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:277,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:278,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:279,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:288,1
    - Dst: g_tls_certificate_new_from_files
      Src: /src/glib/gio/tests/tls-certificate.c:292,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:292,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:293,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:295,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:297,1
    - Dst: g_tls_certificate_new_from_files
      Src: /src/glib/gio/tests/tls-certificate.c:300,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:323,1
    - Dst: g_tls_certificate_new_from_files
      Src: /src/glib/gio/tests/tls-certificate.c:266,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:269,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:267,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:272,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:276,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:281,1
    - Dst: g_tls_certificate_new_from_files
      Src: /src/glib/gio/tests/tls-certificate.c:284,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:284,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:311,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:321,1
    - Dst: g_tls_certificate_new_from_files
      Src: /src/glib/gio/tests/tls-certificate.c:318,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:301,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:270,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:287,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:285,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:289,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:296,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:300,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:303,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:305,1
    - Dst: g_tls_certificate_new_from_files
      Src: /src/glib/gio/tests/tls-certificate.c:308,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:309,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:313,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:304,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 1
    argNames:
    - ref
    argTypes:
    - Reference*
    constantsTouched: []
    func_position:
      end: 324
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 324
    functionName: from_files
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_clear_error
    - g_assert_null
    - g_tls_certificate_new_from_files
    - g_assert_error
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void from_files (const Reference *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:146,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:147,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:198,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:152,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:159,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:168,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:182,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:194,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:196,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/tests/tls-certificate.c:150,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:151,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:153,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:163,1
    - Dst: g_tls_certificate_get_issuer
      Src: /src/glib/gio/tests/tls-certificate.c:171,1
    - Dst: g_tls_certificate_get_issuer
      Src: /src/glib/gio/tests/tls-certificate.c:186,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:187,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:189,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:146,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:148,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:155,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:160,1
    - Dst: g_tls_certificate_get_issuer
      Src: /src/glib/gio/tests/tls-certificate.c:167,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/tls-certificate.c:164,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:172,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:178,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:174,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ref
    argTypes:
    - Reference*
    constantsTouched: []
    func_position:
      end: 199
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 199
    functionName: pem_parser_handles_chain
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_free
    - g_tls_certificate_new_from_pem
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_no_error
    - g_tls_certificate_get_issuer
    - g_assert_cmpstr
    - g_object_unref
    - g_assert_null
    - g_file_get_contents
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void pem_parser_handles_chain (const Reference *ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_pkcs11_uris
      Src: /src/glib/gio/tests/tls-certificate.c:434,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:435,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:439,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/tls-certificate.c:438,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:436,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:440,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 443
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 443
    functionName: from_pkcs11_uri
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_tls_certificate_new_from_pkcs11_uris
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void from_pkcs11_uri (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_pkcs11_uris
      Src: /src/glib/gio/tests/tls-certificate.c:469,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:471,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:474,1
    - Dst: g_tls_certificate_get_not_valid_before
      Src: /src/glib/gio/tests/tls-certificate.c:473,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:470,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/gio/tests/tls-certificate.c:475,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:476,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:477,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/tls-certificate.c:478,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 480
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 480
    functionName: not_valid_before
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_tls_certificate_new_from_pkcs11_uris
    - g_free
    - g_assert_nonnull
    - g_date_time_unref
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_date_time_format_iso8601
    - g_tls_certificate_get_not_valid_before
    linkageType: ''
    returnType: void
    signature: 'static void not_valid_before (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/tls-certificate.c:211,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:213,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:212,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/tls-certificate.c:211,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-certificate.c:214,1
    - Dst: g_new
      Src: /src/glib/gio/tests/tls-certificate.c:216,1
    - Dst: memmove
      Src: /src/glib/gio/tests/tls-certificate.c:218,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:219,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/tests/tls-certificate.c:225,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:226,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:229,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:230,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 231
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 231
    functionName: pem_parser_no_sentinel
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_free
    - g_tls_certificate_new_from_pem
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_object_unref
    - g_new
    - memmove
    - g_file_get_contents
    linkageType: ''
    returnType: void
    signature: 'static void pem_parser_no_sentinel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_pkcs11_uris
      Src: /src/glib/gio/tests/tls-certificate.c:452,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-certificate.c:456,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/tls-certificate.c:454,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-certificate.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 457
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 457
    functionName: from_unsupported_pkcs11_uri
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_tls_certificate_new_from_pkcs11_uris
    - g_assert_error
    - g_assert_null
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: 'static void from_unsupported_pkcs11_uri (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_pkcs11_uris
      Src: /src/glib/gio/tests/tls-certificate.c:492,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:497,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-certificate.c:494,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-certificate.c:493,1
    - Dst: g_tls_certificate_get_not_valid_after
      Src: /src/glib/gio/tests/tls-certificate.c:496,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/gio/tests/tls-certificate.c:498,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-certificate.c:499,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-certificate.c:500,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/tls-certificate.c:501,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-certificate.c:502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 503
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 503
    functionName: not_valid_after
    functionSourceFile: /src/glib/gio/tests/tls-certificate.c
    functionUses: []
    functionsReached:
    - g_tls_certificate_new_from_pkcs11_uris
    - g_free
    - g_assert_nonnull
    - g_date_time_unref
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_date_time_format_iso8601
    - g_tls_certificate_get_not_valid_after
    linkageType: ''
    returnType: void
    signature: 'static void not_valid_after (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:41,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:44,1
    - Dst: va_start
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:43,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:45,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:46,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:47,1
    - Dst: va_end
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:48,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:50,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:51,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:52,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:55,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:61,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:54,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - error
    - argv0
    - '...'
    argTypes:
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: run
    functionSourceFile: /src/glib/gio/tests/g-file-info-filesystem-readonly.c
    functionUses: []
    functionsReached:
    - va_end
    - g_test_message
    - g_subprocess_wait_check
    - g_free
    - g_ptr_array_free
    - g_object_unref
    - va_start
    - g_subprocess_newv
    - g_strjoinv
    - va_arg
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean run (GError **error, const gchar *argv0, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:79,1
    - Dst: strstr
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:86,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:82,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: fuse_module_loaded
    functionSourceFile: /src/glib/gio/tests/g-file-info-filesystem-readonly.c
    functionUses: []
    functionsReached:
    - strstr
    - g_file_get_contents
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fuse_module_loaded (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_remove
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:69,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:70,1
    - Dst: g_error
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: assert_remove
    functionSourceFile: /src/glib/gio/tests/g-file-info-filesystem-readonly.c
    functionUses: []
    functionsReached:
    - g_error
    - g_strerror
    - g_remove
    linkageType: ''
    returnType: void
    signature: 'static void assert_remove (const gchar *file) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:103,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:124,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:143,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:221,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:242,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:168,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:121,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:140,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:129,1
    - Dst: g_file_query_filesystem_info
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:184,1
    - Dst: assert_remove
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:238,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:193,1
    - Dst: run
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:207,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:200,1
    - Dst: g_file_query_filesystem_info
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:223,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:190,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:111,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:156,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:157,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:175,1
    - Dst: run
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:209,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:186,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:216,1
    - Dst: g_mkdir
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:134,1
    - Dst: g_unix_mount_monitor_get
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:150,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:245,1
    - Dst: g_mkdir
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:135,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:162,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:167,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:199,1
    - Dst: assert_remove
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:237,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:233,1
    - Dst: run
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:234,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:164,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:232,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:228,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:113,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:138,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:145,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:231,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:244,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:241,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:225,1
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:106,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:142,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:194,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:196,1
    - Dst: run
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:154,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:160,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:163,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:188,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:210,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:208,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:220,1
    - Dst: fuse_module_loaded
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:120,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:123,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:247,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:201,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:131,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:141,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:192,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:195,1
    - Dst: assert_remove
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:239,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:198,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:235,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:132,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:166,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:159,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:246,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:112,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:125,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:130,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:136,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:144,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:222,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:228,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:243,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:181,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:165,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:197,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:226,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:187,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 111
    argCount: 1
    argNames:
    - with_mount_monitor
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 248
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 248
    functionName: test_filesystem_readonly
    functionSourceFile: /src/glib/gio/tests/g-file-info-filesystem-readonly.c
    functionUses: []
    functionsReached:
    - g_file_info_get_attribute_boolean
    - g_clear_error
    - assert_remove
    - g_get_current_dir
    - g_unix_mount_monitor_get
    - g_assert_nonnull
    - g_file_query_filesystem_info
    - g_test_skip
    - g_mkdir
    - fuse_module_loaded
    - g_file_new_for_path
    - g_file_set_contents
    - g_find_program_in_path
    - g_assert_no_error
    - g_strdup_printf
    - g_main_context_iteration
    - g_assert_false
    - g_free
    - run
    - g_clear_object
    - g_file_test
    linkageType: ''
    returnType: void
    signature: 'static void test_filesystem_readonly (gconstpointer with_mount_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:254,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:260,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:258,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:256,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:261,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:270,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:271,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/g-file-info-filesystem-readonly.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 274
    functionName: main
    functionSourceFile: /src/glib/gio/tests/g-file-info-filesystem-readonly.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_test_run
    - g_test_init
    - g_setenv
    - g_test_bug
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-env-var.c:29,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-env-var.c:31,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-env-var.c:30,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-env-var.c:29,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-env-var.c:30,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-env-var.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: test_portal_support_env_var
    functionSourceFile: /src/glib/gio/tests/portal-support-env-var.c
    functionUses: []
    functionsReached:
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - g_assert_true
    - glib_network_available_in_sandbox
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_env_var (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/portal-support-env-var.c:37,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/portal-support-env-var.c:41,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/portal-support-env-var.c:43,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/portal-support-env-var.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/glib/gio/tests/portal-support-env-var.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_setenv
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/appinfo.c:140,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:148,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:153,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:155,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/appinfo.c:151,1
    - Dst: g_app_info_get_description
      Src: /src/glib/gio/tests/appinfo.c:160,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:161,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/appinfo.c:138,1
    - Dst: g_app_info_get_name
      Src: /src/glib/gio/tests/appinfo.c:147,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:154,1
    - Dst: g_app_info_get_description
      Src: /src/glib/gio/tests/appinfo.c:148,1
    - Dst: g_app_info_get_description
      Src: /src/glib/gio/tests/appinfo.c:154,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/appinfo.c:157,1
    - Dst: g_app_info_get_name
      Src: /src/glib/gio/tests/appinfo.c:159,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/appinfo.c:167,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:142,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/appinfo.c:143,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/appinfo.c:145,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:147,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:149,1
    - Dst: g_app_info_get_name
      Src: /src/glib/gio/tests/appinfo.c:153,1
    - Dst: g_app_info_get_display_name
      Src: /src/glib/gio/tests/appinfo.c:149,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:159,1
    - Dst: g_app_info_get_display_name
      Src: /src/glib/gio/tests/appinfo.c:161,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/appinfo.c:166,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/appinfo.c:138,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/appinfo.c:139,1
    - Dst: g_app_info_get_display_name
      Src: /src/glib/gio/tests/appinfo.c:155,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:160,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:164,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - locale
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 169
    functionName: test_locale
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_strdup
    - g_test_get_filename
    - g_app_info_get_name
    - g_free
    - g_strcmp0
    - g_app_info_get_description
    - g_assert_cmpstr
    - g_object_unref
    - g_str_has_prefix
    - g_app_info_get_display_name
    - g_setenv
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_locale (const char *locale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/appinfo.c:193,1
    - Dst: strstr
      Src: /src/glib/gio/tests/appinfo.c:193,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/tests/appinfo.c:196,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:203,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:203,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:192,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/appinfo.c:190,1
    - Dst: g_app_info_get_executable
      Src: /src/glib/gio/tests/appinfo.c:193,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/appinfo.c:202,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/appinfo.c:192,1
    - Dst: g_app_info_get_icon
      Src: /src/glib/gio/tests/appinfo.c:195,1
    - Dst: g_app_info_dup
      Src: /src/glib/gio/tests/appinfo.c:201,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:199,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:188,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/appinfo.c:189,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:196,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/appinfo.c:197,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/appinfo.c:202,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/appinfo.c:198,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:198,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:203,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:205,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 207
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 207
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_app_info_get_executable
    - g_icon_equal
    - g_themed_icon_new
    - strstr
    - g_object_unref
    - g_app_info_dup
    - g_app_info_get_id
    - g_app_info_get_commandline
    - G_IS_THEMED_ICON
    - g_app_info_get_icon
    - g_assert_true
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/appinfo.c:444,1
    - Dst: g_app_launch_context_get_environment
      Src: /src/glib/gio/tests/appinfo.c:450,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/appinfo.c:445,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/appinfo.c:446,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/appinfo.c:453,1
    - Dst: g_app_launch_context_setenv
      Src: /src/glib/gio/tests/appinfo.c:458,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:463,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/appinfo.c:454,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/appinfo.c:464,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/appinfo.c:463,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/appinfo.c:475,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/appinfo.c:475,1
    - Dst: g_app_launch_context_new
      Src: /src/glib/gio/tests/appinfo.c:448,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/appinfo.c:452,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/appinfo.c:452,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/appinfo.c:453,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:454,1
    - Dst: g_app_launch_context_get_environment
      Src: /src/glib/gio/tests/appinfo.c:461,1
    - Dst: g_app_launch_context_setenv
      Src: /src/glib/gio/tests/appinfo.c:469,1
    - Dst: g_app_launch_context_unsetenv
      Src: /src/glib/gio/tests/appinfo.c:470,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:474,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/appinfo.c:456,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:464,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/appinfo.c:465,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/appinfo.c:467,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/appinfo.c:474,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/appinfo.c:477,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:479,1
    - Dst: g_app_launch_context_setenv
      Src: /src/glib/gio/tests/appinfo.c:459,1
    - Dst: g_app_launch_context_get_environment
      Src: /src/glib/gio/tests/appinfo.c:472,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 480
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 480
    functionName: test_environment
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - g_environ_getenv
    - g_assert_cmpstr
    - g_object_unref
    - g_app_launch_context_new
    - g_strfreev
    - g_getenv
    - g_app_launch_context_get_environment
    - g_assert_null
    - g_app_launch_context_setenv
    - g_app_launch_context_unsetenv
    linkageType: ''
    returnType: void
    signature: 'static void test_environment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_locale
      Src: /src/glib/gio/tests/appinfo.c:174,1
    - Dst: test_locale
      Src: /src/glib/gio/tests/appinfo.c:177,1
    - Dst: test_locale
      Src: /src/glib/gio/tests/appinfo.c:175,1
    - Dst: test_locale
      Src: /src/glib/gio/tests/appinfo.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: test_text
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - test_locale
    linkageType: ''
    returnType: void
    signature: 'static void test_text (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:215,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/appinfo.c:217,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:219,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:217,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/appinfo.c:216,1
    - Dst: g_app_info_should_show
      Src: /src/glib/gio/tests/appinfo.c:219,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:220,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:222,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/appinfo.c:223,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:224,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/appinfo.c:228,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:230,1
    - Dst: g_app_info_should_show
      Src: /src/glib/gio/tests/appinfo.c:229,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/appinfo.c:229,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:225,1
    - Dst: g_app_info_should_show
      Src: /src/glib/gio/tests/appinfo.c:224,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 231
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 231
    functionName: test_show_in
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_test_get_filename
    - g_assert_false
    - g_object_unref
    - g_app_info_should_show
    - g_assert_true
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_show_in (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:489,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:493,1
    - Dst: g_desktop_app_info_get_startup_wm_class
      Src: /src/glib/gio/tests/appinfo.c:491,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:495,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/appinfo.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 496
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 496
    functionName: test_startup_wm_class
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_assert_cmpstr
    - g_object_unref
    - g_desktop_app_info_get_startup_wm_class
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_startup_wm_class (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/appinfo.c:387,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:395,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:401,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:412,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:414,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:417,1
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/tests/appinfo.c:420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/appinfo.c:421,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:423,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/appinfo.c:433,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:424,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:423,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/appinfo.c:387,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:396,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/appinfo.c:411,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:418,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:423,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/appinfo.c:425,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:430,1
    - Dst: g_app_info_can_delete
      Src: /src/glib/gio/tests/appinfo.c:432,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:433,1
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/appinfo.c:388,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/appinfo.c:398,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:401,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:407,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:412,1
    - Dst: g_app_info_can_remove_supports_type
      Src: /src/glib/gio/tests/appinfo.c:427,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/appinfo.c:428,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:429,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:432,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:434,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:427,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:392,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/appinfo.c:394,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/appinfo.c:400,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:406,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:403,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/appinfo.c:409,1
    - Dst: g_app_info_set_as_default_for_extension
      Src: /src/glib/gio/tests/appinfo.c:405,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:401,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:412,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/appinfo.c:416,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/appinfo.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 435
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 435
    functionName: test_associations
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_remove_supports_type
    - g_app_info_delete
    - g_app_info_add_supports_type
    - g_app_info_can_delete
    - g_assert_cmpint
    - g_assert_nonnull
    - g_object_unref
    - g_list_length
    - g_app_info_can_remove_supports_type
    - g_test_get_dir
    - g_strconcat
    - g_assert_no_error
    - g_app_info_get_all_for_type
    - g_app_info_get_default_for_type
    - g_app_info_create_from_commandline
    - g_free
    - g_assert_cmpstr
    - g_app_info_set_as_default_for_extension
    - g_app_info_get_commandline
    - g_list_free
    - g_assert_true
    - g_app_info_set_as_default_for_type
    linkageType: ''
    returnType: void
    signature: 'static void test_associations (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/appinfo.c:241,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/appinfo.c:241,1
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/appinfo.c:262,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:256,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/appinfo.c:254,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/appinfo.c:267,1
    - Dst: g_app_info_supports_files
      Src: /src/glib/gio/tests/appinfo.c:271,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/appinfo.c:250,1
    - Dst: g_app_info_get_name
      Src: /src/glib/gio/tests/appinfo.c:251,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:252,1
    - Dst: g_app_info_get_name
      Src: /src/glib/gio/tests/appinfo.c:268,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:269,1
    - Dst: g_app_info_supports_uris
      Src: /src/glib/gio/tests/appinfo.c:270,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:276,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:271,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:249,1
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/appinfo.c:245,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/appinfo.c:242,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:251,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:258,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:253,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:266,1
    - Dst: g_app_info_supports_files
      Src: /src/glib/gio/tests/appinfo.c:254,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/appinfo.c:259,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/appinfo.c:270,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/appinfo.c:252,1
    - Dst: g_app_info_supports_uris
      Src: /src/glib/gio/tests/appinfo.c:253,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:268,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:269,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:275,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 277
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 277
    functionName: test_commandline
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_app_info_get_name
    - g_app_info_supports_uris
    - g_free
    - g_app_info_supports_files
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_app_info_create_from_commandline
    - g_app_info_get_commandline
    - g_test_get_dir
    - g_strconcat
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_commandline (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:505,1
    - Dst: g_app_info_get_supported_types
      Src: /src/glib/gio/tests/appinfo.c:507,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/appinfo.c:509,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/appinfo.c:506,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/appinfo.c:506,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/appinfo.c:509,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:510,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 513
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 513
    functionName: test_supported_types
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_get_supported_types
    - g_test_get_filename
    - g_assert_cmpint
    - g_assert_cmpstr
    - g_object_unref
    - g_strv_length
    - g_desktop_app_info_new_from_filename
    - G_APP_INFO
    linkageType: ''
    returnType: void
    signature: 'static void test_supported_types (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/appinfo.c:287,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/appinfo.c:287,1
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/appinfo.c:290,1
    - Dst: g_app_launch_context_new
      Src: /src/glib/gio/tests/appinfo.c:289,1
    - Dst: g_app_launch_context_get_display
      Src: /src/glib/gio/tests/appinfo.c:295,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/appinfo.c:296,1
    - Dst: g_app_launch_context_get_startup_notify_id
      Src: /src/glib/gio/tests/appinfo.c:298,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/appinfo.c:299,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:301,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:302,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 305
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 305
    functionName: test_launch_context
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - g_app_launch_context_new
    - g_app_info_create_from_commandline
    - g_test_get_dir
    - g_assert_null
    - g_app_launch_context_get_startup_notify_id
    - g_strconcat
    - g_app_launch_context_get_display
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_context (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:532,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/appinfo.c:537,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:548,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/appinfo.c:541,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:543,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:547,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/appinfo.c:550,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:551,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:552,1
    - Dst: g_desktop_app_info_get_filename
      Src: /src/glib/gio/tests/appinfo.c:540,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/appinfo.c:545,1
    - Dst: g_desktop_app_info_get_keywords
      Src: /src/glib/gio/tests/appinfo.c:549,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/appinfo.c:550,1
    - Dst: g_desktop_app_info_get_generic_name
      Src: /src/glib/gio/tests/appinfo.c:553,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:529,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/appinfo.c:531,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/tests/appinfo.c:534,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/appinfo.c:535,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/appinfo.c:538,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/appinfo.c:546,1
    - Dst: g_desktop_app_info_get_string_list
      Src: /src/glib/gio/tests/appinfo.c:544,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo.c:554,1
    - Dst: g_desktop_app_info_get_nodisplay
      Src: /src/glib/gio/tests/appinfo.c:555,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:558,1
    - Dst: g_desktop_app_info_new_from_keyfile
      Src: /src/glib/gio/tests/appinfo.c:533,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/appinfo.c:530,1
    - Dst: g_desktop_app_info_get_categories
      Src: /src/glib/gio/tests/appinfo.c:542,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/appinfo.c:546,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/appinfo.c:555,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/appinfo.c:557,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 559
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 559
    functionName: test_from_keyfile
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_get_nodisplay
    - g_desktop_app_info_get_categories
    - g_key_file_load_from_file
    - g_strfreev
    - g_assert_cmpint
    - g_key_file_new
    - g_assert_nonnull
    - g_desktop_app_info_new_from_keyfile
    - g_object_unref
    - g_key_file_unref
    - g_test_get_filename
    - g_desktop_app_info_get_filename
    - g_assert_no_error
    - g_desktop_app_info_get_string_list
    - g_desktop_app_info_get_keywords
    - g_assert_null
    - g_strv_length
    - g_assert_false
    - g_desktop_app_info_get_generic_name
    - g_assert_cmpstr
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_from_keyfile (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/appinfo.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - context
    - startup_notify_id
    argTypes:
    - GAppLaunchContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: launch_failed
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void launch_failed (GAppLaunchContext *context, const gchar
      *startup_notify_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:318,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/appinfo.c:319,1
    - Dst: g_variant_lookup
      Src: /src/glib/gio/tests/appinfo.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - context
    - info
    - platform_data
    - user_data
    argTypes:
    - GAppLaunchContext*
    - GAppInfo*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 322
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 322
    functionName: launched
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_assert_cmpint
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void launched (GAppLaunchContext *context, GAppInfo *info,
      GVariant *platform_data, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/appinfo.c:340,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/appinfo.c:340,1
    - Dst: g_app_launch_context_new
      Src: /src/glib/gio/tests/appinfo.c:342,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/appinfo.c:343,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/appinfo.c:343,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/appinfo.c:344,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/appinfo.c:344,1
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/appinfo.c:345,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/appinfo.c:350,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:351,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:354,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:359,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:352,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:356,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 360
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 360
    functionName: test_launch_context_signals
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_free
    - g_assert_no_error
    - g_object_unref
    - g_app_launch_context_new
    - G_CALLBACK
    - g_app_info_create_from_commandline
    - g_test_get_dir
    - g_strconcat
    - g_assert_true
    - g_app_info_launch
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_context_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:56,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/appinfo.c:57,1
    - Dst: test_launch_for_app_info
      Src: /src/glib/gio/tests/appinfo.c:60,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/appinfo.c:58,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:58,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: test_launch
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_test_get_filename
    - g_object_unref
    - test_launch_for_app_info
    - g_assert_true
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_launch (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:368,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/appinfo.c:371,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/appinfo.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: test_tryexec
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_test_get_filename
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_tryexec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/appinfo.c:18,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:24,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/appinfo.c:31,1
    - Dst: g_app_info_launch_uris
      Src: /src/glib/gio/tests/appinfo.c:42,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:35,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/appinfo.c:38,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:47,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:19,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/appinfo.c:26,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/appinfo.c:27,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/appinfo.c:29,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:32,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:43,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:20,1
    - Dst: g_app_info_launch_uris
      Src: /src/glib/gio/tests/appinfo.c:22,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:33,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/appinfo.c:39,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:44,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appinfo.c:23,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/appinfo.c:40,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/appinfo.c:38,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/appinfo.c:34,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/appinfo.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 48
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 48
    functionName: test_launch_for_app_info
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_free
    - g_file_new_for_path
    - g_list_append
    - g_assert_no_error
    - g_object_unref
    - g_test_get_dir
    - g_list_free
    - g_strconcat
    - g_assert_true
    - g_app_info_launch
    - g_app_info_launch_uris
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_for_app_info (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/appinfo.c:88,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/appinfo.c:91,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/tests/appinfo.c:124,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:127,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appinfo.c:115,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/appinfo.c:118,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/appinfo.c:97,1
    - Dst: test_launch_for_app_info
      Src: /src/glib/gio/tests/appinfo.c:120,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/appinfo.c:106,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/appinfo.c:113,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:122,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/appinfo.c:93,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/appinfo.c:95,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/appinfo.c:90,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/appinfo.c:104,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/gio/tests/appinfo.c:114,1
    - Dst: g_desktop_app_info_new_from_keyfile
      Src: /src/glib/gio/tests/appinfo.c:117,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appinfo.c:123,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 129
    functionName: test_launch_no_app_id
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_key_file_load_from_data
    - g_key_file_new
    - g_free
    - g_assert_nonnull
    - g_desktop_app_info_new_from_keyfile
    - g_object_unref
    - test_launch_for_app_info
    - g_strdup_printf
    - g_key_file_unref
    - g_test_get_dir
    - G_N_ELEMENTS
    - g_assert_true
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_no_app_id (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gio/tests/appinfo.c:564,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:568,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:569,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/appinfo.c:566,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:570,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:571,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:572,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:573,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:574,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:575,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:576,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:577,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:578,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:579,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/appinfo.c:583,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:580,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/appinfo.c:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 584
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 584
    functionName: main
    functionSourceFile: /src/glib/gio/tests/appinfo.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_setenv
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/desktop-app-info.c:99,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:103,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:106,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:105,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - name
    - command_line
    - default_for_type
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: create_command_line_app_info
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_app_info_create_from_commandline
    - g_steal_pointer
    - g_assert_no_error
    - 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_strsplit
      Src: /src/glib/gio/tests/desktop-app-info.c:800,1
    - Dst: run_apps
      Src: /src/glib/gio/tests/desktop-app-info.c:801,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/desktop-app-info.c:802,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/desktop-app-info.c:803,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:803,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/desktop-app-info.c:803,1
    - Dst: assert_strings_equivalent
      Src: /src/glib/gio/tests/desktop-app-info.c:805,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/desktop-app-info.c:806,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/desktop-app-info.c:807,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:808,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 6
    argNames:
    - search_string
    - expected
    - with_usr
    - with_home
    - locale_name
    - language
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    - gboolean
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 809
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 809
    functionName: assert_search
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_strsplit
    - g_strfreev
    - assert_strings_equivalent
    - run_apps
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void assert_search (const gchar *search_string, const gchar
      *expected, gboolean with_usr, gboolean with_home, const gchar *locale_name,
      const gchar *language) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_implementations
      Src: /src/glib/gio/tests/desktop-app-info.c:950,1
    - Dst: assert_implementations
      Src: /src/glib/gio/tests/desktop-app-info.c:955,1
    - Dst: assert_implementations
      Src: /src/glib/gio/tests/desktop-app-info.c:965,1
    - Dst: assert_implementations
      Src: /src/glib/gio/tests/desktop-app-info.c:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 966
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 966
    functionName: test_implements
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - assert_implementations
    linkageType: ''
    returnType: void
    signature: 'static void test_implements (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/desktop-app-info.c:1085,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1099,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/desktop-app-info.c:1088,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1097,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1112,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1114,1
    - Dst: test_launch_context_get_type
      Src: /src/glib/gio/tests/desktop-app-info.c:1081,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/desktop-app-info.c:1086,1
    - Dst: g_desktop_app_info_launch_uris_as_manager
      Src: /src/glib/gio/tests/desktop-app-info.c:1091,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1077,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1078,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/desktop-app-info.c:1082,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/desktop-app-info.c:1083,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1098,1
    - Dst: g_desktop_app_info_launch_uris_as_manager_with_fds
      Src: /src/glib/gio/tests/desktop-app-info.c:1104,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1095,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1110,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1113,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:1116,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1081,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1079,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1079,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1096,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/desktop-app-info.c:1089,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1111,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1118
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1118
    functionName: test_launch_as_manager
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_test_get_filename
    - g_signal_connect
    - g_object_new
    - g_assert_false
    - g_desktop_app_info_launch_uris_as_manager_with_fds
    - g_assert_no_error
    - g_object_unref
    - G_CALLBACK
    - g_desktop_app_info_launch_uris_as_manager
    - g_assert_finalize_object
    - test_launch_context_get_type
    - g_assert_true
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_as_manager (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1262,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/desktop-app-info.c:1266,1
    - Dst: g_app_info_launch_default_for_uri_finish
      Src: /src/glib/gio/tests/desktop-app-info.c:1262,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1263,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1267
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1267
    functionName: on_launch_default_for_uri_cancelled_cb
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_clear_error
    - g_app_info_launch_default_for_uri_finish
    - g_main_loop_quit
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void on_launch_default_for_uri_cancelled_cb (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/desktop-app-info.c:1816,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/desktop-app-info.c:1818,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/desktop-app-info.c:1817,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/desktop-app-info.c:1818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1819
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1819
    functionName: async_result_cb
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_get_thread_default
    - g_object_ref
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void async_result_cb (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:117,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/desktop-app-info.c:122,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/desktop-app-info.c:120,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: create_app_info
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_app_info_remove_supports_type
    - g_assert_no_error
    - g_app_info_reset_type_associations
    - create_command_line_app_info
    linkageType: ''
    returnType: GAppInfo*
    signature: 'static GAppInfo *create_app_info (const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_apps
      Src: /src/glib/gio/tests/desktop-app-info.c:819,1
    - Dst: g_strchomp
      Src: /src/glib/gio/tests/desktop-app-info.c:820,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:822,1
    - Dst: assert_strings_equivalent
      Src: /src/glib/gio/tests/desktop-app-info.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - interface
    - expected
    - with_usr
    - with_home
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 823
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 823
    functionName: assert_implementations
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - assert_strings_equivalent
    - run_apps
    - g_free
    - g_strchomp
    linkageType: ''
    returnType: void
    signature: 'static void assert_implementations (const gchar *interface, const
      gchar *expected, gboolean with_usr, gboolean with_home) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_apps
      Src: /src/glib/gio/tests/desktop-app-info.c:975,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:977,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - desktop_id
    - expected
    - xdg_current_desktop
    argTypes:
    - gchar*
    - gboolean
    - gchar*
    constantsTouched: []
    func_position:
      end: 978
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 978
    functionName: assert_shown
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - run_apps
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void assert_shown (const gchar *desktop_id, gboolean expected,
      const gchar *xdg_current_desktop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/desktop-app-info.c:1132,1
    - Dst: test_launch_context_get_type
      Src: /src/glib/gio/tests/desktop-app-info.c:1139,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1160,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1159,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1139,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/desktop-app-info.c:1141,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/desktop-app-info.c:1143,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/desktop-app-info.c:1146,1
    - Dst: g_desktop_app_info_launch_uris_as_manager_with_fds
      Src: /src/glib/gio/tests/desktop-app-info.c:1150,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1158,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1162,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:1163,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1137,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1136,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1135,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1164,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1137,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/desktop-app-info.c:1140,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1156,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/desktop-app-info.c:1144,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/desktop-app-info.c:1147,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1165
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1165
    functionName: test_launch_as_manager_fail
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_test_get_filename
    - g_signal_connect
    - g_object_new
    - g_desktop_app_info_launch_uris_as_manager_with_fds
    - g_assert_false
    - g_object_unref
    - g_clear_error
    - G_CALLBACK
    - g_assert_error
    - g_assert_finalize_object
    - g_test_summary
    - test_launch_context_get_type
    - g_assert_true
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_as_manager_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1283,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1297,1
    - Dst: g_app_info_launch_default_for_uri_async
      Src: /src/glib/gio/tests/desktop-app-info.c:1302,1
    - Dst: g_app_info_launch_default_for_uri_async
      Src: /src/glib/gio/tests/desktop-app-info.c:1309,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/desktop-app-info.c:1313,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/desktop-app-info.c:1314,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1283,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/tests/desktop-app-info.c:1286,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:1292,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/desktop-app-info.c:1293,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1308,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/desktop-app-info.c:1299,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1300,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/desktop-app-info.c:1322,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1323,1
    - Dst: create_app_info_toucher
      Src: /src/glib/gio/tests/desktop-app-info.c:1280,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/tests/desktop-app-info.c:1295,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1296,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/desktop-app-info.c:1306,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:1323,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:1326,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1327,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1279,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:1284,1
    - Dst: g_app_info_launch_default_for_uri_async
      Src: /src/glib/gio/tests/desktop-app-info.c:1287,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:1297,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:1300,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:1325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1328
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1328
    functionName: test_default_uri_handler_async
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_assert_false
    - g_free
    - g_assert_nonnull
    - g_cancellable_new
    - g_object_unref
    - g_cancellable_cancel
    - g_main_loop_unref
    - g_file_test
    - g_main_loop_new
    - g_main_context_iteration
    - g_unlink
    - g_main_loop_run
    - g_usleep
    - create_app_info_toucher
    - g_assert_true
    - g_get_real_time
    - g_app_info_launch_default_for_uri_async
    linkageType: ''
    returnType: void
    signature: 'static void test_default_uri_handler_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/desktop-app-info.c:1833,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1835,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1851,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/desktop-app-info.c:1850,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1856,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1832,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:1836,1
    - Dst: g_desktop_app_info_has_key
      Src: /src/glib/gio/tests/desktop-app-info.c:1838,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1842,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/desktop-app-info.c:1845,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1847,1
    - Dst: g_app_info_launch_uris_finish
      Src: /src/glib/gio/tests/desktop-app-info.c:1847,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1853,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1835,1
    - Dst: g_app_launch_context_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1840,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1848,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1854,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1847,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1838,1
    - Dst: g_app_info_launch_uris_async
      Src: /src/glib/gio/tests/desktop-app-info.c:1842,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1855,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1857
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1857
    functionName: test_launch_fail_dbus
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_test_get_filename
    - g_assert_nonnull
    - g_clear_object
    - g_test_dbus_up
    - g_app_info_launch_uris_finish
    - g_app_info_launch_uris_async
    - g_clear_error
    - g_app_launch_context_new
    - g_desktop_app_info_has_key
    - g_test_dbus_new
    - g_main_context_iteration
    - g_assert_error
    - g_test_dbus_down
    - g_assert_true
    - g_desktop_app_info_new_from_filename
    - G_APP_INFO
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_fail_dbus (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - test_context
    argTypes:
    - TestLaunchContext*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: test_launch_context_init
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_context_init (TestLaunchContext *test_context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:136,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/desktop-app-info.c:138,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:141,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:147,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:160,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:152,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:169,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/tests/desktop-app-info.c:141,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:144,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:159,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:155,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:165,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:143,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:149,1
    - Dst: g_app_info_can_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:162,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:153,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:166,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:139,1
    - Dst: g_app_info_can_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:146,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:157,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:150,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 170
    functionName: test_delete
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_free
    - g_assert_nonnull
    - g_app_info_delete
    - g_object_unref
    - g_get_user_data_dir
    - g_build_filename
    - create_app_info
    - g_file_test
    - g_app_info_get_id
    - g_app_info_can_delete
    - g_assert_true
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_delete (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:1179,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/desktop-app-info.c:1181,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1182,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1184,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/desktop-app-info.c:1185,1
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:1187,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1188,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1190,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - name
    - touched_file_name
    - handled_type
    - out_file_path
    argTypes:
    - char*
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1194
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1194
    functionName: create_app_info_toucher
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_dir_make_tmp
    - g_build_filename
    - g_strdup_printf
    - g_steal_pointer
    - create_command_line_app_info
    linkageType: ''
    returnType: GAppInfo*
    signature: 'static GAppInfo *create_app_info_toucher (const char *name, const
      char *touched_file_name, const char *handled_type, char **out_file_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/desktop-app-info.c:1630,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/desktop-app-info.c:1633,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1634,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/desktop-app-info.c:1633,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1631,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:1634,1
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/desktop-app-info.c:1636,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1641,1
    - Dst: g_app_info_launch_uris
      Src: /src/glib/gio/tests/desktop-app-info.c:1643,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1644,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1647,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:1647,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1645,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1652,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1650,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1649,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1653
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1653
    functionName: test_launch_uris_with_invalid_terminal
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_clear_object
    - g_assert_no_error
    - g_dir_make_tmp
    - g_clear_error
    - g_app_info_create_from_commandline
    - g_app_info_launch_uris
    - g_getenv
    - g_assert_error
    - g_assert_true
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_uris_with_invalid_terminal (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LAUNCH_CONTEXT
      Src: /src/glib/gio/tests/desktop-app-info.c:61,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/desktop-app-info.c:64,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/desktop-app-info.c:67,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/desktop-app-info.c:67,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/desktop-app-info.c:66,1
    - Dst: g_app_info_get_display_name
      Src: /src/glib/gio/tests/desktop-app-info.c:69,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/desktop-app-info.c:70,1
    - Dst: g_app_info_get_display_name
      Src: /src/glib/gio/tests/desktop-app-info.c:70,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/desktop-app-info.c:72,1
    - Dst: g_app_info_get_commandline
      Src: /src/glib/gio/tests/desktop-app-info.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - context
    - app_info
    - files
    argTypes:
    - GAppLaunchContext*
    - GAppInfo*
    - GList*
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: test_launch_context_get_startup_notify_id
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_app_info_get_commandline
    - g_app_info_get_id
    - g_app_info_get_display_name
    - TEST_LAUNCH_CONTEXT
    linkageType: ''
    returnType: char*
    signature: 'static char *test_launch_context_get_startup_notify_id (GAppLaunchContext
      *context, GAppInfo *app_info, GList *files) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:187,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/tests/desktop-app-info.c:196,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/tests/desktop-app-info.c:206,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:208,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:217,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/desktop-app-info.c:218,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:219,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:228,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:229,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/desktop-app-info.c:233,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/desktop-app-info.c:222,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:242,1
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:179,1
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:180,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/desktop-app-info.c:199,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/desktop-app-info.c:191,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:205,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:216,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:218,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:226,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/desktop-app-info.c:218,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/desktop-app-info.c:228,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/desktop-app-info.c:228,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:241,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:239,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/desktop-app-info.c:232,1
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:235,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:247,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:183,1
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:181,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:184,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:186,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:189,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:190,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/desktop-app-info.c:191,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:192,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/desktop-app-info.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:209,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:213,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:245,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:236,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:246,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:227,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:191,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/desktop-app-info.c:194,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:196,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/desktop-app-info.c:197,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:201,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/tests/desktop-app-info.c:201,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:204,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:207,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:208,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/desktop-app-info.c:212,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:223,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:243,1
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 248
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 248
    functionName: test_default
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_app_info_remove_supports_type
    - g_app_info_delete
    - g_app_info_add_supports_type
    - g_app_info_reset_type_associations
    - g_app_info_get_default_for_uri_scheme
    - g_assert_nonnull
    - g_object_unref
    - g_test_expect_message
    - g_assert_no_error
    - g_app_info_get_all_for_type
    - g_app_info_get_default_for_type
    - create_app_info
    - g_assert_null
    - g_assert_cmpstr
    - g_app_info_get_id
    - g_app_info_equal
    - g_assert_true
    - g_app_info_set_as_default_for_type
    linkageType: ''
    returnType: void
    signature: 'static void test_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_app_info_toucher
      Src: /src/glib/gio/tests/desktop-app-info.c:1203,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1206,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:1207,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1209,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1206,1
    - Dst: g_app_info_launch_default_for_uri
      Src: /src/glib/gio/tests/desktop-app-info.c:1209,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1211,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:1213,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1214,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:1214,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1216,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1222,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:1221,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1218,1
    - Dst: g_app_info_launch_default_for_uri
      Src: /src/glib/gio/tests/desktop-app-info.c:1216,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1223
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1223
    functionName: test_default_uri_handler
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_assert_false
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_object_unref
    - g_clear_error
    - g_file_test
    - g_assert_error
    - create_app_info_toucher
    - g_assert_true
    - g_app_info_launch_default_for_uri
    linkageType: ''
    returnType: void
    signature: 'static void test_default_uri_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1661,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1664,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1662,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1664,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1667
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1667
    functionName: test_app_path
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_clear_object
    - G_IS_DESKTOP_APP_INFO
    - g_assert_true
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_app_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LAUNCH_CONTEXT
      Src: /src/glib/gio/tests/desktop-app-info.c:78,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/desktop-app-info.c:81,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: test_launch_context_get_startup_notify_dispose
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - G_OBJECT_CLASS
    - TEST_LAUNCH_CONTEXT
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_context_get_startup_notify_dispose (GObject
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:321,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/desktop-app-info.c:327,1
    - Dst: g_app_info_get_default_for_type_async
      Src: /src/glib/gio/tests/desktop-app-info.c:331,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:334,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:338,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/desktop-app-info.c:346,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/desktop-app-info.c:356,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:366,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:370,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/desktop-app-info.c:376,1
    - Dst: g_app_info_get_default_for_uri_scheme_async
      Src: /src/glib/gio/tests/desktop-app-info.c:379,1
    - Dst: g_app_info_get_default_for_type_async
      Src: /src/glib/gio/tests/desktop-app-info.c:387,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:406,1
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:322,1
    - Dst: g_app_info_get_default_for_type_async
      Src: /src/glib/gio/tests/desktop-app-info.c:326,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/desktop-app-info.c:329,1
    - Dst: g_app_info_get_default_for_type_async
      Src: /src/glib/gio/tests/desktop-app-info.c:341,1
    - Dst: g_app_info_get_default_for_type_async
      Src: /src/glib/gio/tests/desktop-app-info.c:351,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/desktop-app-info.c:343,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:347,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/desktop-app-info.c:353,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:357,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/desktop-app-info.c:368,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:375,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:403,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:405,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/desktop-app-info.c:396,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/desktop-app-info.c:381,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/desktop-app-info.c:318,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:335,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:337,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:365,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/desktop-app-info.c:373,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:399,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/desktop-app-info.c:371,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:402,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:407,1
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:398,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/desktop-app-info.c:384,1
    - Dst: g_app_info_get_default_for_uri_scheme_async
      Src: /src/glib/gio/tests/desktop-app-info.c:394,1
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:320,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/desktop-app-info.c:324,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/desktop-app-info.c:332,1
    - Dst: g_app_info_get_default_for_type_async
      Src: /src/glib/gio/tests/desktop-app-info.c:361,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/desktop-app-info.c:363,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/tests/desktop-app-info.c:370,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/tests/desktop-app-info.c:375,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/desktop-app-info.c:389,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/desktop-app-info.c:391,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:401,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 410
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 410
    functionName: test_default_async
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_app_info_reset_type_associations
    - g_test_assert_expected_messages
    - g_app_info_remove_supports_type
    - g_app_info_get_default_for_uri_scheme
    - g_app_info_delete
    - g_assert_no_error
    - g_app_info_get_default_for_type_async
    - g_app_info_get_all_for_type
    - g_object_unref
    - g_test_expect_message
    - create_app_info
    - g_app_info_add_supports_type
    - g_main_loop_unref
    - g_main_loop_new
    - g_assert_null
    - g_main_loop_run
    - g_app_info_get_default_for_uri_scheme_async
    - g_app_info_set_as_default_for_type
    linkageType: ''
    returnType: void
    signature: 'static void test_default_async (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/tests/desktop-app-info.c:671,1
    - Dst: g_get_environ
      Src: /src/glib/gio/tests/desktop-app-info.c:678,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:691,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:693,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:704,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:696,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/gio/tests/desktop-app-info.c:711,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/desktop-app-info.c:720,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/desktop-app-info.c:724,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:677,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:682,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:687,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:699,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:713,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:716,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/desktop-app-info.c:717,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:721,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/desktop-app-info.c:674,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:672,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:677,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/desktop-app-info.c:673,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:683,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:684,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/gio/tests/desktop-app-info.c:706,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:692,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:709,1
    - Dst: g_spawn_sync
      Src: /src/glib/gio/tests/desktop-app-info.c:715,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:701,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/desktop-app-info.c:723,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/desktop-app-info.c:719,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 7
    argNames:
    - command
    - arg
    - with_usr
    - with_home
    - locale_name
    - language
    - xdg_current_desktop
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    - gboolean
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 727
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 727
    functionName: run_apps
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_test_message
    - g_test_build_filename
    - g_get_environ
    - g_free
    - g_environ_setenv
    - g_assert_cmpuint
    - g_spawn_sync
    - g_new
    - g_environ_unsetenv
    - g_file_test
    - g_strfreev
    - g_strjoinv
    - g_assert_true
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *run_apps (const gchar *command, const gchar *arg, gboolean
      with_usr, gboolean with_home, const gchar *locale_name, const gchar *language,
      const gchar *xdg_current_desktop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_apps
      Src: /src/glib/gio/tests/desktop-app-info.c:766,1
    - Dst: g_strchomp
      Src: /src/glib/gio/tests/desktop-app-info.c:767,1
    - Dst: assert_strings_equivalent
      Src: /src/glib/gio/tests/desktop-app-info.c:768,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - expected
    - with_usr
    - with_home
    - locale_name
    - language
    argTypes:
    - gchar*
    - gboolean
    - gboolean
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 770
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 770
    functionName: assert_list
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - assert_strings_equivalent
    - run_apps
    - g_free
    - g_strchomp
    linkageType: ''
    returnType: void
    signature: 'static void assert_list (const gchar *expected, gboolean with_usr,
      gboolean with_home, const gchar *locale_name, const gchar *language) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1036,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/tests/desktop-app-info.c:1036,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:1038,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1037,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1037,1
    - Dst: g_variant_dict_init
      Src: /src/glib/gio/tests/desktop-app-info.c:1039,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1040,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/gio/tests/desktop-app-info.c:1040,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:1041,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1043,1
    - Dst: g_variant_dict_clear
      Src: /src/glib/gio/tests/desktop-app-info.c:1046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - context
    - info
    - platform_data
    - data
    argTypes:
    - GAppLaunchContext*
    - GAppInfo*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1047
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1047
    functionName: on_launched
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_variant_dict_clear
    - G_IS_APP_INFO
    - g_assert_cmpint
    - g_assert_false
    - g_assert_nonnull
    - g_variant_dict_init
    - G_IS_APP_LAUNCH_CONTEXT
    - g_assert_true
    - g_variant_dict_lookup
    linkageType: ''
    returnType: void
    signature: 'static void on_launched (GAppLaunchContext *context, GAppInfo *info,
      GVariant *platform_data, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/desktop-app-info.c:1765,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/desktop-app-info.c:1771,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1772,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1769,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1771,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1774,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1776
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1776
    functionName: test_launch_fail
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_clear_object
    - g_assert_no_error
    - g_clear_error
    - g_app_info_create_from_commandline
    - g_assert_error
    - g_app_info_launch
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APP_LAUNCH_CONTEXT_CLASS
      Src: /src/glib/gio/tests/desktop-app-info.c:87,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/desktop-app-info.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestLaunchContextClass*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: test_launch_context_class_init
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - G_APP_LAUNCH_CONTEXT_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_context_class_init (TestLaunchContextClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:420,1
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:421,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:430,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/desktop-app-info.c:432,1
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:436,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:449,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:448,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:453,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:457,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:460,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/desktop-app-info.c:475,1
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:425,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:423,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/desktop-app-info.c:426,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/desktop-app-info.c:427,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/desktop-app-info.c:437,1
    - Dst: g_app_info_get_name
      Src: /src/glib/gio/tests/desktop-app-info.c:460,1
    - Dst: g_list_copy
      Src: /src/glib/gio/tests/desktop-app-info.c:463,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/desktop-app-info.c:464,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/desktop-app-info.c:464,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/desktop-app-info.c:471,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/desktop-app-info.c:429,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:441,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:445,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:440,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:433,1
    - Dst: g_list_concat
      Src: /src/glib/gio/tests/desktop-app-info.c:463,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/desktop-app-info.c:464,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:468,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/desktop-app-info.c:474,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/desktop-app-info.c:477,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:483,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:484,1
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/tests/desktop-app-info.c:423,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:437,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:449,1
    - Dst: g_app_info_get_fallback_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:452,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/desktop-app-info.c:473,1
    - Dst: g_list_copy
      Src: /src/glib/gio/tests/desktop-app-info.c:463,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:480,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/desktop-app-info.c:478,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:468,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:481,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 485
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 485
    functionName: test_fallback
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_app_info_delete
    - g_app_info_add_supports_type
    - g_list_free_full
    - g_assert_cmpint
    - g_app_info_reset_type_associations
    - g_content_type_is_a
    - g_app_info_get_recommended_for_type
    - g_assert_nonnull
    - g_object_unref
    - g_list_concat
    - g_list_length
    - g_assert_cmpuint
    - g_assert_no_error
    - g_app_info_get_all_for_type
    - g_app_info_get_fallback_for_type
    - create_app_info
    - g_app_info_get_name
    - g_assert_cmpstr
    - g_list_free
    - g_list_copy
    - g_app_info_equal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_fallback (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/desktop-app-info.c:737,1
    - Dst: g_strsplit_set
      Src: /src/glib/gio/tests/desktop-app-info.c:738,1
    - Dst: g_test_fail_printf
      Src: /src/glib/gio/tests/desktop-app-info.c:746,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:743,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:752,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/desktop-app-info.c:752,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/desktop-app-info.c:752,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/desktop-app-info.c:753,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/desktop-app-info.c:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - expected
    - result
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 755
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 755
    functionName: assert_strings_equivalent
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_assert_cmpint
    - g_strsplit_set
    - g_test_fail_printf
    - g_strsplit
    - g_strfreev
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void assert_strings_equivalent (const gchar *expected, const
      gchar *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_apps
      Src: /src/glib/gio/tests/desktop-app-info.c:782,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:783,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - desktop_id
    - expected
    - with_usr
    - with_home
    - locale_name
    - language
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    - gboolean
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 785
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 785
    functionName: assert_info
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - run_apps
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void assert_info (const gchar *desktop_id, const gchar *expected,
      gboolean with_usr, gboolean with_home, const gchar *locale_name, const gchar
      *language) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:886,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:922,1
    - Dst: assert_list
      Src: /src/glib/gio/tests/desktop-app-info.c:839,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:849,1
    - Dst: assert_list
      Src: /src/glib/gio/tests/desktop-app-info.c:842,1
    - Dst: assert_list
      Src: /src/glib/gio/tests/desktop-app-info.c:841,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:851,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:852,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:857,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:858,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:859,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:883,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:893,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:908,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:866,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:911,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:938,1
    - Dst: assert_list
      Src: /src/glib/gio/tests/desktop-app-info.c:840,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:850,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:865,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:873,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:900,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:906,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:907,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:916,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:921,1
    - Dst: assert_info
      Src: /src/glib/gio/tests/desktop-app-info.c:925,1
    - Dst: assert_info
      Src: /src/glib/gio/tests/desktop-app-info.c:931,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:942,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:864,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:880,1
    - Dst: assert_search
      Src: /src/glib/gio/tests/desktop-app-info.c:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 944
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 944
    functionName: test_search
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - assert_search
    - assert_info
    - assert_list
    linkageType: ''
    returnType: void
    signature: 'static void test_search (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1054,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:1055,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/desktop-app-info.c:1056,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/tests/desktop-app-info.c:1054,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - context
    - startup_notify_id
    - data
    argTypes:
    - GAppLaunchContext*
    - char*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1060
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1060
    functionName: on_launch_failed
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_false
    - g_assert_nonnull
    - G_IS_APP_LAUNCH_CONTEXT
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void on_launch_failed (GAppLaunchContext *context, const char
      *startup_notify_id, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/desktop-app-info.c:1784,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1788,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1791,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1790,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/desktop-app-info.c:1790,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1793,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1794,1
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/desktop-app-info.c:1796,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1800,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1802,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1803,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1805,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/desktop-app-info.c:1802,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1807
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1807
    functionName: test_launch_fail_absolute_path
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_clear_object
    - g_assert_no_error
    - g_clear_error
    - g_app_info_create_from_commandline
    - g_assert_error
    - g_app_info_launch
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_fail_absolute_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_data_func_full
      Src: /src/glib/gio/tests/desktop-app-info.c:1922,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/desktop-app-info.c:1920,1
    - Dst: g_content_type_set_mime_dirs
      Src: /src/glib/gio/tests/desktop-app-info.c:1882,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1887,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/desktop-app-info.c:1884,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1890,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1892,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1896,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1898,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1894,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1900,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1902,1
    - Dst: terminal_launch_data_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1931,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/desktop-app-info.c:1912,1
    - Dst: terminal_launch_data_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1915,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/gio/tests/desktop-app-info.c:1914,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1926,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/gio/tests/desktop-app-info.c:1930,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1937,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1918,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1905,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/desktop-app-info.c:1908,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/desktop-app-info.c:1928,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1886,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1888,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1889,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1891,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1893,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1897,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1899,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1895,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1901,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1903,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1934,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/desktop-app-info.c:1940,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1904,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/desktop-app-info.c:1906,1
    - Dst: terminal_launch_data_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1941
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1941
    functionName: main
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - terminal_launch_data_new
    - g_clear_pointer
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - g_test_add_data_func_full
    - G_N_ELEMENTS
    - g_content_type_set_mime_dirs
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:287,1
    - Dst: g_app_info_get_default_for_type_finish
      Src: /src/glib/gio/tests/desktop-app-info.c:289,1
    - Dst: ensure_default_type_result
      Src: /src/glib/gio/tests/desktop-app-info.c:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: on_default_for_type_cb
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_app_info_get_default_for_type_finish
    - ensure_default_type_result
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void on_default_for_type_cb (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:495,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:497,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:507,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:508,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:513,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/desktop-app-info.c:516,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:519,1
    - Dst: g_list_nth_data
      Src: /src/glib/gio/tests/desktop-app-info.c:523,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:534,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:503,1
    - Dst: g_list_nth_data
      Src: /src/glib/gio/tests/desktop-app-info.c:507,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:507,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/desktop-app-info.c:516,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:518,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:519,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:523,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:523,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:529,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:533,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/desktop-app-info.c:500,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:498,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:501,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/desktop-app-info.c:504,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:515,1
    - Dst: g_list_nth_data
      Src: /src/glib/gio/tests/desktop-app-info.c:508,1
    - Dst: g_app_info_set_as_last_used_for_type
      Src: /src/glib/gio/tests/desktop-app-info.c:512,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/desktop-app-info.c:510,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:532,1
    - Dst: create_app_info
      Src: /src/glib/gio/tests/desktop-app-info.c:494,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/desktop-app-info.c:504,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:508,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:522,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:522,1
    - Dst: g_list_nth_data
      Src: /src/glib/gio/tests/desktop-app-info.c:522,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/desktop-app-info.c:525,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/desktop-app-info.c:527,1
    - Dst: g_app_info_delete
      Src: /src/glib/gio/tests/desktop-app-info.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 535
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 535
    functionName: test_last_used
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_app_info_set_as_last_used_for_type
    - g_app_info_reset_type_associations
    - g_app_info_get_recommended_for_type
    - g_assert_cmpuint
    - g_app_info_delete
    - g_assert_no_error
    - g_list_nth_data
    - g_object_unref
    - g_app_info_get_default_for_type
    - create_app_info
    - g_app_info_add_supports_type
    - g_list_length
    - g_app_info_equal
    - g_assert_true
    - g_list_free_full
    - g_app_info_set_as_default_for_type
    linkageType: ''
    returnType: void
    signature: 'static void test_last_used (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/glib/gio/tests/desktop-app-info.c:584,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/desktop-app-info.c:585,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/desktop-app-info.c:587,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/desktop-app-info.c:588,1
    - Dst: access
      Src: /src/glib/gio/tests/desktop-app-info.c:587,1
    - Dst: access
      Src: /src/glib/gio/tests/desktop-app-info.c:588,1
    - Dst: unlink
      Src: /src/glib/gio/tests/desktop-app-info.c:590,1
    - Dst: unlink
      Src: /src/glib/gio/tests/desktop-app-info.c:591,1
    - Dst: unlink
      Src: /src/glib/gio/tests/desktop-app-info.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - want_this
    - but_not_this
    - or_this
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 593
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 593
    functionName: wait_for_file
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - access
    - unlink
    - g_usleep
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void wait_for_file (const gchar *want_this, const gchar *but_not_this,
      const gchar *or_this) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:983,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:986,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:987,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:985,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:984,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:988,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:989,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:990,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:991,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:992,1
    - Dst: assert_shown
      Src: /src/glib/gio/tests/desktop-app-info.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 994
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 994
    functionName: test_show_in
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - assert_shown
    linkageType: ''
    returnType: void
    signature: 'static void test_show_in (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1233,1
    - Dst: g_app_info_launch_default_for_uri_finish
      Src: /src/glib/gio/tests/desktop-app-info.c:1233,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1237
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1237
    functionName: on_launch_default_for_uri_success_cb
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_app_info_launch_default_for_uri_finish
    - g_assert_true
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void on_launch_default_for_uri_success_cb (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_apps
      Src: /src/glib/gio/tests/desktop-app-info.c:1336,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1339,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1340
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1340
    functionName: test_id
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - run_apps
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_id (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/desktop-app-info.c:1389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - exec
    - type
    argTypes:
    - char*
    - TerminalLaunchType
    constantsTouched: []
    func_position:
      end: 1394
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1394
    functionName: terminal_launch_data_new
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: TerminalLaunchData*
    signature: 'static TerminalLaunchData *terminal_launch_data_new (const char *exec,
      TerminalLaunchType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1689,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1695,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1690,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1693,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:1690,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/gio/tests/desktop-app-info.c:1696,1
    - Dst: g_desktop_app_info_new_from_keyfile
      Src: /src/glib/gio/tests/desktop-app-info.c:1699,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1700,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1700,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1702,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/gio/tests/desktop-app-info.c:1703,1
    - Dst: g_desktop_app_info_new_from_keyfile
      Src: /src/glib/gio/tests/desktop-app-info.c:1706,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1707,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1707,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1709,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1711
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1711
    functionName: test_app_path_wrong
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_key_file_load_from_data
    - g_test_get_filename
    - g_key_file_new
    - g_assert_false
    - g_clear_pointer
    - g_clear_object
    - g_desktop_app_info_new_from_keyfile
    - g_file_test
    - G_IS_DESKTOP_APP_INFO
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_app_path_wrong (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:263,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:265,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:269,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:265,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:264,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:270,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/desktop-app-info.c:273,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:274,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - info
    - data
    - error
    argTypes:
    - GAppInfo*
    - DefaultForTypeData*
    - GError*
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: ensure_default_type_result
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_clear_object
    - g_assert_no_error
    - g_clear_error
    - g_assert_null
    - g_main_loop_quit
    - g_assert_error
    - g_app_info_equal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void ensure_default_type_result (GAppInfo *info, DefaultForTypeData
      *data, GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:303,1
    - Dst: ensure_default_type_result
      Src: /src/glib/gio/tests/desktop-app-info.c:307,1
    - Dst: g_app_info_get_default_for_uri_scheme_finish
      Src: /src/glib/gio/tests/desktop-app-info.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: on_default_for_uri_cb
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - ensure_default_type_result
    - g_app_info_get_default_for_uri_scheme_finish
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void on_default_for_uri_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:549,1
    - Dst: g_desktop_app_info_get_string
      Src: /src/glib/gio/tests/desktop-app-info.c:555,1
    - Dst: g_desktop_app_info_get_locale_string
      Src: /src/glib/gio/tests/desktop-app-info.c:559,1
    - Dst: g_desktop_app_info_get_locale_string
      Src: /src/glib/gio/tests/desktop-app-info.c:566,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:571,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/desktop-app-info.c:576,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/desktop-app-info.c:547,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:550,1
    - Dst: g_desktop_app_info_has_key
      Src: /src/glib/gio/tests/desktop-app-info.c:552,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:557,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:560,1
    - Dst: g_desktop_app_info_get_boolean
      Src: /src/glib/gio/tests/desktop-app-info.c:570,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:573,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:549,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:546,1
    - Dst: g_desktop_app_info_has_key
      Src: /src/glib/gio/tests/desktop-app-info.c:553,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:561,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/desktop-app-info.c:564,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:567,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:568,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/desktop-app-info.c:545,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:552,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:553,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:563,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:556,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 577
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 577
    functionName: test_extra_getters
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_assert_false
    - g_test_get_filename
    - g_free
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_object_unref
    - g_desktop_app_info_has_key
    - g_desktop_app_info_get_string
    - g_desktop_app_info_get_boolean
    - g_assert_true
    - g_desktop_app_info_get_locale_string
    - g_setenv
    - g_desktop_app_info_new_from_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_extra_getters (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_list_actions
      Src: /src/glib/gio/tests/desktop-app-info.c:610,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:622,1
    - Dst: g_desktop_app_info_get_action_name
      Src: /src/glib/gio/tests/desktop-app-info.c:621,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:628,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:619,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:631,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:637,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:638,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/desktop-app-info.c:640,1
    - Dst: wait_for_file
      Src: /src/glib/gio/tests/desktop-app-info.c:641,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/desktop-app-info.c:646,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:652,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:651,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:607,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:614,1
    - Dst: wait_for_file
      Src: /src/glib/gio/tests/desktop-app-info.c:644,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:649,1
    - Dst: wait_for_file
      Src: /src/glib/gio/tests/desktop-app-info.c:647,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:608,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/gio/tests/desktop-app-info.c:611,1
    - Dst: g_desktop_app_info_get_action_name
      Src: /src/glib/gio/tests/desktop-app-info.c:613,1
    - Dst: g_desktop_app_info_get_action_name
      Src: /src/glib/gio/tests/desktop-app-info.c:617,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:627,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:632,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:634,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:636,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:637,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:638,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/desktop-app-info.c:643,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:607,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:615,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:618,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:623,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:626,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/tests/desktop-app-info.c:627,1
    - Dst: g_desktop_app_info_get_action_name
      Src: /src/glib/gio/tests/desktop-app-info.c:625,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/desktop-app-info.c:630,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:633,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/desktop-app-info.c:636,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:650,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 653
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 653
    functionName: test_actions
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_test_get_filename
    - g_free
    - g_desktop_app_info_launch_action
    - wait_for_file
    - g_assert_nonnull
    - g_desktop_app_info_get_action_name
    - g_assert_cmpstr
    - g_object_unref
    - g_build_filename
    - g_file_test
    - g_getenv
    - g_assert_cmpstrv
    - g_assert_true
    - g_desktop_app_info_new_from_filename
    - g_desktop_app_info_list_actions
    - g_utf8_validate
    linkageType: ''
    returnType: void
    signature: 'static void test_actions (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1001,1
    - Dst: g_variant_dict_init
      Src: /src/glib/gio/tests/desktop-app-info.c:1010,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:1009,1
    - Dst: TEST_IS_LAUNCH_CONTEXT
      Src: /src/glib/gio/tests/desktop-app-info.c:1003,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/tests/desktop-app-info.c:1001,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1011,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/gio/tests/desktop-app-info.c:1012,1
    - Dst: g_app_launch_context_get_startup_notify_id
      Src: /src/glib/gio/tests/desktop-app-info.c:1013,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1014,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1016,1
    - Dst: g_variant_dict_clear
      Src: /src/glib/gio/tests/desktop-app-info.c:1017,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1025,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:1022,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - context
    - info
    - platform_data
    - data
    argTypes:
    - GAppLaunchContext*
    - GAppInfo*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1027
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1027
    functionName: on_launch_started
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_variant_dict_clear
    - g_assert_false
    - g_free
    - g_assert_nonnull
    - g_variant_dict_init
    - G_IS_APP_LAUNCH_CONTEXT
    - g_assert_cmpstr
    - g_assert_null
    - g_app_launch_context_get_startup_notify_id
    - TEST_IS_LAUNCH_CONTEXT
    - g_assert_true
    - g_variant_dict_lookup
    linkageType: ''
    returnType: void
    signature: 'static void on_launch_started (GAppLaunchContext *context, GAppInfo
      *info, GVariant *platform_data, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1247,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1248,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1249,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/desktop-app-info.c:1251,1
    - Dst: g_app_info_launch_default_for_uri_finish
      Src: /src/glib/gio/tests/desktop-app-info.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1252
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1252
    functionName: on_launch_default_for_uri_not_found_cb
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_clear_error
    - g_app_info_launch_default_for_uri_finish
    - g_main_loop_quit
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void on_launch_default_for_uri_not_found_cb (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1345,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1353,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1349,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1351,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1347,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1355,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1357,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1359,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1361,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1363,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1365,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/desktop-app-info.c:1367,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/tests/desktop-app-info.c:1370,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    argCount: 1
    argNames:
    - terminal_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1371
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1371
    functionName: get_terminal_divider
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_return_val_if_reached
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_terminal_divider (const char *terminal_name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/gio/tests/desktop-app-info.c:1458,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:1462,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1472,1
    - Dst: g_chmod
      Src: /src/glib/gio/tests/desktop-app-info.c:1473,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1551,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/desktop-app-info.c:1517,1
    - Dst: get_terminal_divider
      Src: /src/glib/gio/tests/desktop-app-info.c:1549,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/tests/desktop-app-info.c:1559,1
    - Dst: g_data_input_stream_read_upto
      Src: /src/glib/gio/tests/desktop-app-info.c:1566,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1609,1
    - Dst: test_launch_context_get_type
      Src: /src/glib/gio/tests/desktop-app-info.c:1428,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1500,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1513,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1594,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1543,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1434,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:1456,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:1473,1
    - Dst: g_data_input_stream_read_byte
      Src: /src/glib/gio/tests/desktop-app-info.c:1539,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1567,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/desktop-app-info.c:1572,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/desktop-app-info.c:1521,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1518,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/desktop-app-info.c:1475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:1560,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/desktop-app-info.c:1577,1
    - Dst: get_terminal_divider
      Src: /src/glib/gio/tests/desktop-app-info.c:1582,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/desktop-app-info.c:1596,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1605,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/desktop-app-info.c:1433,1
    - Dst: get_terminal_divider
      Src: /src/glib/gio/tests/desktop-app-info.c:1545,1
    - Dst: g_desktop_app_info_new_from_keyfile
      Src: /src/glib/gio/tests/desktop-app-info.c:1498,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1555,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1540,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1583,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1588,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/tests/desktop-app-info.c:1592,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1611,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1614,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1612,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1549,1
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/desktop-app-info.c:1508,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:1593,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1607,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1582,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1608,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1615,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/desktop-app-info.c:1423,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/desktop-app-info.c:1466,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1522,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1578,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1602,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1610,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1616,1
    - Dst: g_clear_list
      Src: /src/glib/gio/tests/desktop-app-info.c:1619,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/desktop-app-info.c:1579,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1504,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/desktop-app-info.c:1535,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/desktop-app-info.c:1425,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:1434,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1449,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1494,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/desktop-app-info.c:1433,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/desktop-app-info.c:1450,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1550,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1499,1
    - Dst: g_data_input_stream_read_byte
      Src: /src/glib/gio/tests/desktop-app-info.c:1574,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/tests/desktop-app-info.c:1591,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/desktop-app-info.c:1593,1
    - Dst: g_close
      Src: /src/glib/gio/tests/desktop-app-info.c:1601,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1604,1
    - Dst: g_clear_list
      Src: /src/glib/gio/tests/desktop-app-info.c:1618,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/desktop-app-info.c:1446,1
    - Dst: g_open
      Src: /src/glib/gio/tests/desktop-app-info.c:1455,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1501,1
    - Dst: g_filename_to_uri
      Src: /src/glib/gio/tests/desktop-app-info.c:1517,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/desktop-app-info.c:1524,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1589,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1599,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/gio/tests/desktop-app-info.c:1495,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/desktop-app-info.c:1516,1
    - Dst: g_app_info_launch_uris
      Src: /src/glib/gio/tests/desktop-app-info.c:1525,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/tests/desktop-app-info.c:1521,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1575,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:1599,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1613,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/tests/desktop-app-info.c:1503,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/desktop-app-info.c:1520,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/desktop-app-info.c:1570,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1584,1
    - Dst: mkfifo
      Src: /src/glib/gio/tests/desktop-app-info.c:1452,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1465,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/desktop-app-info.c:1471,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1491,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1526,1
    - Dst: g_desktop_app_info_get_boolean
      Src: /src/glib/gio/tests/desktop-app-info.c:1501,1
    - Dst: g_filename_to_uri
      Src: /src/glib/gio/tests/desktop-app-info.c:1521,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/desktop-app-info.c:1556,1
    - Dst: g_data_input_stream_read_upto
      Src: /src/glib/gio/tests/desktop-app-info.c:1531,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/tests/desktop-app-info.c:1520,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1617,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/desktop-app-info.c:1560,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/desktop-app-info.c:1542,1
    - Dst: g_app_launch_context_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:1442,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:1459,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/desktop-app-info.c:1461,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/desktop-app-info.c:1579,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/desktop-app-info.c:1537,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/desktop-app-info.c:1546,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1428,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1426,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:1453,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1464,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/desktop-app-info.c:1477,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/tests/desktop-app-info.c:1499,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1532,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/tests/desktop-app-info.c:1558,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/desktop-app-info.c:1546,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/desktop-app-info.c:1524,1
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/tests/desktop-app-info.c:1422,1
    - Dst: g_app_launch_context_setenv
      Src: /src/glib/gio/tests/desktop-app-info.c:1438,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/desktop-app-info.c:1492,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/desktop-app-info.c:1561,1
    - Dst: g_free
      Src: /src/glib/gio/tests/desktop-app-info.c:1606,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 187
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1620
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1620
    functionName: test_launch_uris_with_terminal
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - g_close
    - g_object_new
    - g_clear_list
    - g_clear_pointer
    - g_chmod
    - g_get_user_data_dir
    - g_clear_error
    - g_usleep
    - g_data_input_stream_read_upto
    - g_desktop_app_info_get_boolean
    - g_data_input_stream_read_byte
    - g_assert_cmpint
    - g_key_file_new
    - g_key_file_load_from_data
    - g_assert_nonnull
    - g_unix_input_stream_new
    - g_desktop_app_info_new_from_keyfile
    - g_assert_not_reached
    - g_list_find_custom
    - g_strsplit
    - g_list_length
    - g_key_file_unref
    - G_IS_DESKTOP_APP_INFO
    - g_open
    - g_data_input_stream_new
    - g_file_set_contents
    - g_assert_cmpuint
    - g_list_append
    - g_find_program_in_path
    - g_assert_no_error
    - g_dir_make_tmp
    - g_list_prepend
    - g_list_delete_link
    - g_build_filename
    - g_strdup_printf
    - fcntl
    - g_app_info_create_from_commandline
    - g_assert_null
    - g_app_launch_context_setenv
    - test_launch_context_get_type
    - g_strv_length
    - g_setenv
    - g_strdup
    - g_test_message
    - g_free
    - g_clear_object
    - g_filename_to_uri
    - g_assert_cmpstr
    - g_getenv
    - get_terminal_divider
    - g_assert_true
    - mkfifo
    - g_app_info_launch_uris
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_uris_with_terminal (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1729,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/desktop-app-info.c:1732,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/desktop-app-info.c:1736,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/desktop-app-info.c:1746,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1748,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1747,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/desktop-app-info.c:1751,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1755,1
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/desktop-app-info.c:1724,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/desktop-app-info.c:1731,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/desktop-app-info.c:1735,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/desktop-app-info.c:1739,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/desktop-app-info.c:1745,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1750,1
    - Dst: test_launch_context_get_type
      Src: /src/glib/gio/tests/desktop-app-info.c:1731,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/desktop-app-info.c:1738,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/desktop-app-info.c:1745,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/desktop-app-info.c:1749,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/desktop-app-info.c:1753,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/desktop-app-info.c:1733,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/desktop-app-info.c:1747,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/desktop-app-info.c:1746,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/desktop-app-info.c:1754,1
    - Dst: g_clear_list
      Src: /src/glib/gio/tests/desktop-app-info.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1757
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1757
    functionName: test_launch_startup_notify_fail
    functionSourceFile: /src/glib/gio/tests/desktop-app-info.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_assert_false
    - g_object_new
    - g_clear_list
    - g_file_new_for_uri
    - g_clear_object
    - g_assert_no_error
    - g_list_prepend
    - g_clear_error
    - g_app_info_create_from_commandline
    - G_CALLBACK
    - g_assert_error
    - test_launch_context_get_type
    - g_assert_true
    - g_app_info_launch
    linkageType: ''
    returnType: void
    signature: 'static void test_launch_startup_notify_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-database.c:35,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-database.c:43,1
    - Dst: g_tls_backend_get_default_database
      Src: /src/glib/gio/tests/tls-database.c:47,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/tls-database.c:49,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-database.c:59,1
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/tests/tls-database.c:34,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-database.c:42,1
    - Dst: g_tls_backend_set_default_database
      Src: /src/glib/gio/tests/tls-database.c:46,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-database.c:58,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-database.c:50,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-database.c:55,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/tls-database.c:40,1
    - Dst: g_tls_backend_get_default_database
      Src: /src/glib/gio/tests/tls-database.c:37,1
    - Dst: g_tls_file_database_new
      Src: /src/glib/gio/tests/tls-database.c:41,1
    - Dst: g_tls_backend_get_default_database
      Src: /src/glib/gio/tests/tls-database.c:54,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/tls-database.c:56,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-database.c:61,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-database.c:38,1
    - Dst: g_tls_backend_set_default_database
      Src: /src/glib/gio/tests/tls-database.c:53,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-database.c:48,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-database.c:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 62
    functionName: set_default_database
    functionSourceFile: /src/glib/gio/tests/tls-database.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_tls_backend_set_default_database
    - g_tls_backend_get_default_database
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_object_unref
    - g_tls_backend_get_default
    - g_assert_true
    - g_tls_file_database_new
    linkageType: ''
    returnType: void
    signature: 'static void set_default_database (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/tls-database.c:68,1
    - Dst: _g_test_tls_backend_get_type
      Src: /src/glib/gio/tests/tls-database.c:70,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-database.c:72,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/tls-database.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/glib/gio/tests/tls-database.c
    functionUses: []
    functionsReached:
    - _g_test_tls_backend_get_type
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:73,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:79,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:78,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:75,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:76,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - G_GNUC_UNUSED
    - remote_peer_vanished
    - error
    - test_data
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: closed_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-exit-on-close.c
    functionUses: []
    functionsReached:
    - g_quark_to_string
    - g_debug
    - g_assert_cmpint
    - g_timeout_add
    linkageType: ''
    returnType: void
    signature: 'static void closed_cb (GDBusConnection *c G_GNUC_UNUSED, gboolean
      remote_peer_vanished, GError *error, gpointer test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:116,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:125,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:162,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:114,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:117,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:130,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:151,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:139,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:132,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:163,1
    - Dst: exit
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:167,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:119,1
    - Dst: g_dbus_connection_get_exit_on_close
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:125,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:127,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:127,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:129,1
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:157,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:165,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:132,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:149,1
    - Dst: g_dbus_connection_close
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:153,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:144,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:150,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 168
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 168
    functionName: test_exit_on_close_subprocess
    functionSourceFile: /src/glib/gio/tests/gdbus-exit-on-close.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_timeout_add
    - g_dbus_connection_close
    - g_assert_cmpint
    - g_bus_get_sync
    - g_object_unref
    - exit
    - g_dbus_connection_set_exit_on_close
    - g_dbus_connection_is_closed
    - g_dbus_connection_get_exit_on_close
    - session_bus_stop
    - g_signal_connect
    - g_assert_no_error
    - g_variant_unref
    - session_bus_up
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_assert
    - session_bus_down
    linkageType: ''
    returnType: void
    signature: 'static void test_exit_on_close_subprocess (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:203,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:213,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:210,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:211,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:209,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:214,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:215,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 219
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-exit-on-close.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_add_data_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - G_GNUC_UNUSED
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: quit_later_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-exit-on-close.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean quit_later_cb (gpointer data G_GNUC_UNUSED) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_close_finish
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:94,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:102,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:103,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:98,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - G_GNUC_UNUSED
    - G_GNUC_UNUSED
    - G_GNUC_UNUSED
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: close_async_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-exit-on-close.c
    functionUses: []
    functionsReached:
    - g_quark_to_string
    - g_dbus_connection_close_finish
    - g_warning
    - g_debug
    - G_DBUS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'static void close_async_cb (GObject *source G_GNUC_UNUSED, GAsyncResult
      *res G_GNUC_UNUSED, gpointer nil G_GNUC_UNUSED) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:177,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:184,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:186,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:185,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:179,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:190,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gdbus-exit-on-close.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 193
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 193
    functionName: test_exit_on_close
    functionSourceFile: /src/glib/gio/tests/gdbus-exit-on-close.c
    functionUses: []
    functionsReached:
    - g_test_dbus_unset
    - g_free
    - g_test_trap_assert_passed
    - g_test_verbose
    - g_test_trap_subprocess
    - g_test_trap_assert_failed
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_exit_on_close (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:148,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:148,1
    - Dst: g_menu_item_new
      Src: /src/glib/gio/tests/glistmodel.c:153,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/glistmodel.c:154,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:155,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:157,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:164,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/glistmodel.c:162,1
    - Dst: g_list_store_remove
      Src: /src/glib/gio/tests/glistmodel.c:168,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:171,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:147,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/glistmodel.c:154,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/glistmodel.c:158,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:164,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:165,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:161,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:174,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/glistmodel.c:150,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:162,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:172,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/glistmodel.c:175,1
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:145,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/glistmodel.c:148,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:162,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:166,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/glistmodel.c:169,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/glistmodel.c:172,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/glistmodel.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 177
    functionName: test_store_refcounts
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_LIST_MODEL
    - g_list_store_remove
    - assert_cmpitems
    - g_assert_nonnull
    - g_menu_item_new
    - g_object_add_weak_pointer
    - g_object_unref
    - g_list_store_new
    - g_assert_null
    - g_list_store_append
    - G_N_ELEMENTS
    - g_assert_true
    - list_model_get
    linkageType: ''
    returnType: void
    signature: 'static void test_store_refcounts (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/glistmodel.c:65,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/glistmodel.c:69,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/glistmodel.c:75,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/glistmodel.c:73,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/glistmodel.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: test_store_non_gobjects
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_store_non_gobjects (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/glib/gio/tests/glistmodel.c:200,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/tests/glistmodel.c:201,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:203,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/glistmodel.c:205,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/glistmodel.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - a_p
    - b_p
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: compare_items
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_get_data
    - GUINT_TO_POINTER
    - strcmp
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_items (gconstpointer a_p, gconstpointer b_p, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:287,1
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:283,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:289,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:298,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:291,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:298,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:302,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:304,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:313,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:314,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:320,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:325,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/glistmodel.c:324,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:289,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:295,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:299,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:301,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:303,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:305,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:309,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:312,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:312,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:315,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:319,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:321,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/glistmodel.c:281,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/tests/glistmodel.c:286,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:291,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:294,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:290,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:304,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:308,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:311,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:317,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:318,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:316,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:284,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:287,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:288,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:288,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:290,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:297,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:300,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:301,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:315,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:318,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:321,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 60
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 326
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 326
    functionName: test_store_splice_replace_middle
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - assert_cmpitems
    - g_ptr_array_new_full
    - g_assert_cmpstr
    - g_object_unref
    - g_list_store_new
    - g_simple_action_new
    - g_action_get_name
    - g_list_store_splice
    - g_ptr_array_unref
    - g_ptr_array_add
    - list_model_get
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_store_splice_replace_middle (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:382,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:383,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:386,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:387,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/glistmodel.c:390,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:390,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:391,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:392,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:394,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:395,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:400,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:404,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:397,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:401,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:398,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:401,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 405
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 405
    functionName: test_store_splice_noop
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - assert_cmpitems
    - g_object_unref
    - g_assert_cmpstr
    - g_list_store_new
    - g_simple_action_new
    - g_action_get_name
    - g_list_store_append
    - g_list_store_splice
    - list_model_get
    - G_ACTION
    linkageType: ''
    returnType: void
    signature: 'static void test_store_splice_noop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:456,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:469,1
    - Dst: g_ptr_array_remove_range
      Src: /src/glib/gio/tests/glistmodel.c:475,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:462,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:451,1
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:439,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:440,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:443,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/tests/glistmodel.c:442,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:444,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:445,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:446,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:447,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:448,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:449,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:459,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:474,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:477,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:455,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:467,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:450,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:476,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:460,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:462,1
    - Dst: g_ptr_array_remove_range
      Src: /src/glib/gio/tests/glistmodel.c:461,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:463,1
    - Dst: g_ptr_array_remove_range
      Src: /src/glib/gio/tests/glistmodel.c:468,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:469,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:473,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:474,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/glistmodel.c:479,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:476,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:470,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:480,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:443,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:444,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:445,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:446,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:447,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:448,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:449,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:450,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:451,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:452,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:452,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:467,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:466,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:460,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 481
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 481
    functionName: test_store_splice_remove_multiple
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - g_assert_true
    - g_assert_false
    - assert_cmpitems
    - g_ptr_array_new_full
    - g_object_unref
    - model_array_equal
    - g_simple_action_new
    - g_list_store_new
    - g_ptr_array_remove_range
    - g_list_store_splice
    - g_ptr_array_unref
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_store_splice_remove_multiple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/glistmodel.c:576,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:576,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - GAction*
    - GAction*
    - gpointer
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: cmp_action_by_name
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_action_get_name
    linkageType: ''
    returnType: gint
    signature: 'static gint cmp_action_by_name (GAction *a, GAction *b, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:563,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:570,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/glistmodel.c:565,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 571
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 571
    functionName: test_store_splice_wrong_type
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_list_store_new
    - g_object_unref
    - g_list_store_splice
    linkageType: ''
    returnType: void
    signature: 'static void test_store_splice_wrong_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/glistmodel.c:90,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:97,1
    - Dst: g_list_store_insert
      Src: /src/glib/gio/tests/glistmodel.c:101,1
    - Dst: g_list_store_remove
      Src: /src/glib/gio/tests/glistmodel.c:106,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:110,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/glistmodel.c:120,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:128,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:132,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/glistmodel.c:133,1
    - Dst: g_menu_item_new
      Src: /src/glib/gio/tests/glistmodel.c:87,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:102,1
    - Dst: g_list_store_remove
      Src: /src/glib/gio/tests/glistmodel.c:109,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/glistmodel.c:105,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/glistmodel.c:113,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:123,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:124,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:130,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/glistmodel.c:92,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/glistmodel.c:95,1
    - Dst: g_list_store_insert
      Src: /src/glib/gio/tests/glistmodel.c:96,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:114,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:122,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/glistmodel.c:127,1
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:85,1
    - Dst: g_list_store_remove
      Src: /src/glib/gio/tests/glistmodel.c:91,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/glistmodel.c:98,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/glistmodel.c:115,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/glistmodel.c:107,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/glistmodel.c:118,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:119,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/glistmodel.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 134
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 134
    functionName: test_store_boundaries
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_list_store_remove
    - g_test_assert_expected_messages
    - g_list_store_insert
    - assert_cmpitems
    - g_menu_item_new
    - g_object_unref
    - g_test_expect_message
    - g_list_store_new
    - g_list_store_append
    - g_assert_finalize_object
    - g_list_store_splice
    linkageType: ''
    returnType: void
    signature: 'static void test_store_boundaries (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/tests/glistmodel.c:182,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gio/tests/glistmodel.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: make_random_string
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_malloc
    - g_test_rand_int_range
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *make_random_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/glistmodel.c:214,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/glistmodel.c:217,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gio/tests/glistmodel.c:215,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/glistmodel.c:215,1
    - Dst: g_list_store_insert_sorted
      Src: /src/glib/gio/tests/glistmodel.c:217,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - store
    - str
    argTypes:
    - GListStore*
    - gchar*
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: insert_string
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_list_store_insert_sorted
    - g_object_new
    - g_object_unref
    - GUINT_TO_POINTER
    - g_object_set_data_full
    linkageType: ''
    returnType: void
    signature: 'static void insert_string (GListStore *store, const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:701,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/glistmodel.c:703,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/glistmodel.c:702,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/glistmodel.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - model
    - position
    - removed
    - added
    - expected
    argTypes:
    - GListModel*
    - guint
    - guint
    - guint
    - struct ItemsChangedData*
    constantsTouched: []
    func_position:
      end: 706
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 706
    functionName: on_items_changed
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void on_items_changed (GListModel *model, guint position, guint
      removed, guint added, struct ItemsChangedData *expected) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:257,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:249,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/glistmodel.c:248,1
    - Dst: compare_items
      Src: /src/glib/gio/tests/glistmodel.c:259,1
    - Dst: insert_string
      Src: /src/glib/gio/tests/glistmodel.c:234,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:238,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:245,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:246,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:246,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:256,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:259,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:255,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/glistmodel.c:259,1
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:228,1
    - Dst: insert_string
      Src: /src/glib/gio/tests/glistmodel.c:233,1
    - Dst: make_random_string
      Src: /src/glib/gio/tests/glistmodel.c:232,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:255,1
    - Dst: compare_items
      Src: /src/glib/gio/tests/glistmodel.c:260,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/glistmodel.c:260,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:266,1
    - Dst: g_free
      Src: /src/glib/gio/tests/glistmodel.c:235,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:245,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:248,1
    - Dst: compare_items
      Src: /src/glib/gio/tests/glistmodel.c:248,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:260,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:262,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:265,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 270
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 270
    functionName: test_store_sorted
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - g_free
    - assert_cmpitems
    - g_assert
    - compare_items
    - GUINT_TO_POINTER
    - g_object_unref
    - g_list_store_new
    - make_random_string
    - list_model_get
    - insert_string
    linkageType: ''
    returnType: void
    signature: 'static void test_store_sorted (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:343,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:344,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:345,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:353,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:354,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:355,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:346,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:349,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:356,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:360,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:353,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:362,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:366,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:371,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:365,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/glistmodel.c:337,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:340,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/tests/glistmodel.c:342,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:343,1
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:339,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:344,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:345,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:346,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:351,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:356,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:367,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:363,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:352,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:364,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:367,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:368,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/glistmodel.c:370,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/glistmodel.c:364,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 372
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 372
    functionName: test_store_splice_replace_all
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - assert_cmpitems
    - g_ptr_array_new_full
    - g_assert_cmpstr
    - g_object_unref
    - g_list_store_new
    - g_simple_action_new
    - g_action_get_name
    - g_list_store_splice
    - g_ptr_array_unref
    - g_ptr_array_add
    - list_model_get
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_store_splice_replace_all (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_model_get_n_items
      Src: /src/glib/gio/tests/glistmodel.c:412,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:420,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:422,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/tests/glistmodel.c:421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - model
    - array
    argTypes:
    - GListModel*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 428
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 428
    functionName: model_array_equal
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - list_model_get
    - g_ptr_array_index
    - g_list_model_get_n_items
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean model_array_equal (GListModel *model, GPtrArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:539,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:546,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:547,1
    - Dst: g_list_store_remove_all
      Src: /src/glib/gio/tests/glistmodel.c:542,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:543,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:548,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:549,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:550,1
    - Dst: g_list_store_remove_all
      Src: /src/glib/gio/tests/glistmodel.c:551,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:552,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 555
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 555
    functionName: test_store_remove_all
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - assert_cmpitems
    - g_list_store_remove_all
    - g_object_unref
    - g_list_store_new
    - g_simple_action_new
    - g_list_store_append
    linkageType: ''
    returnType: void
    signature: 'static void test_store_remove_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:492,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:493,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:496,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:507,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:501,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:512,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:504,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:498,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:500,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:499,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/glistmodel.c:514,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:500,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:510,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:501,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:496,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/tests/glistmodel.c:495,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:497,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:497,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:498,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:499,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:512,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 516
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 516
    functionName: test_store_splice_add_multiple
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - g_assert_true
    - g_ptr_array_new_full
    - g_object_unref
    - model_array_equal
    - g_simple_action_new
    - g_list_store_new
    - g_list_store_splice
    - g_ptr_array_unref
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_store_splice_add_multiple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - expected
    - position
    - removed
    - added
    argTypes:
    - struct ItemsChangedData*
    - guint
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 692
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 692
    functionName: expect_items_changed
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void expect_items_changed (struct ItemsChangedData *expected,
      guint position, guint removed, guint added) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:627,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:641,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/glistmodel.c:657,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:660,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:663,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/glistmodel.c:637,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:642,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:643,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:644,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:661,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:665,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:667,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:669,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:668,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:631,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:633,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:628,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:647,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:651,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:645,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/glistmodel.c:647,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:653,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:654,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:662,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:632,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:634,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:637,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:640,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:652,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:650,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:655,1
    - Dst: list_model_get
      Src: /src/glib/gio/tests/glistmodel.c:657,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 670
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 670
    functionName: test_store_get_item_cache
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - g_assert
    - g_object_unref
    - g_simple_action_new
    - g_list_store_new
    - g_assert_null
    - g_list_store_append
    - list_model_get
    linkageType: ''
    returnType: void
    signature: 'static void test_store_get_item_cache (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_model_get_item
      Src: /src/glib/gio/tests/glistmodel.c:31,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:34,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/glistmodel.c:37,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/glistmodel.c:36,1
    - Dst: g_list_model_get_object
      Src: /src/glib/gio/tests/glistmodel.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - model
    - position
    argTypes:
    - GListModel*
    - guint
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: list_model_get
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_list_model_get_object
    - g_steal_pointer
    - g_assert_true
    - g_list_model_get_item
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer list_model_get (GListModel *model, guint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:54,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/glistmodel.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/glistmodel.c:56,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/glistmodel.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: test_store_properties
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_list_store_new
    - g_assert_cmpint
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_store_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:869,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:872,1
    - Dst: g_list_store_find
      Src: /src/glib/gio/tests/glistmodel.c:876,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/glistmodel.c:879,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:880,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:885,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:893,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:888,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:897,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/glistmodel.c:899,1
    - Dst: g_list_store_find
      Src: /src/glib/gio/tests/glistmodel.c:875,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:892,1
    - Dst: g_list_store_find
      Src: /src/glib/gio/tests/glistmodel.c:893,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/glistmodel.c:883,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/glistmodel.c:886,1
    - Dst: g_list_store_find_with_equal_func
      Src: /src/glib/gio/tests/glistmodel.c:904,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/glistmodel.c:908,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/glistmodel.c:909,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:912,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:914,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/glistmodel.c:920,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/glistmodel.c:871,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:875,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:876,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/glistmodel.c:877,1
    - Dst: g_list_store_find
      Src: /src/glib/gio/tests/glistmodel.c:888,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/glistmodel.c:894,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:898,1
    - Dst: g_list_store_find
      Src: /src/glib/gio/tests/glistmodel.c:898,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/glistmodel.c:922,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/glistmodel.c:923,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/glistmodel.c:924,1
    - Dst: g_list_store_find
      Src: /src/glib/gio/tests/glistmodel.c:885,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:902,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:904,1
    - Dst: g_list_store_find
      Src: /src/glib/gio/tests/glistmodel.c:913,1
    - Dst: g_list_store_find_with_equal_func_full
      Src: /src/glib/gio/tests/glistmodel.c:914,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:903,1
    - Dst: g_list_store_find
      Src: /src/glib/gio/tests/glistmodel.c:903,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/glistmodel.c:919,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:913,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 925
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 925
    functionName: test_store_find
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_cmpint
    - g_clear_object
    - g_list_store_find_with_equal_func_full
    - g_list_store_new
    - g_simple_action_new
    - g_list_store_find_with_equal_func
    - g_list_store_find
    - g_list_store_append
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_store_find (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/gio/tests/glistmodel.c:854,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/glistmodel.c:855,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:855,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/glistmodel.c:854,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:854,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/glistmodel.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 856
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 856
    functionName: list_model_casecmp_action_by_name_full
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_action_get_name
    - g_snprintf
    - G_ACTION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean list_model_casecmp_action_by_name_full (gconstpointer
      a, gconstpointer b, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:726,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:727,1
    - Dst: expect_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:741,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:742,1
    - Dst: g_list_store_insert
      Src: /src/glib/gio/tests/glistmodel.c:751,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:744,1
    - Dst: g_list_store_sort
      Src: /src/glib/gio/tests/glistmodel.c:758,1
    - Dst: g_list_store_insert_sorted
      Src: /src/glib/gio/tests/glistmodel.c:767,1
    - Dst: expect_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:776,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:783,1
    - Dst: expect_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:791,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:772,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:766,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:801,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:746,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:745,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:761,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:762,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:778,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:779,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:784,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:786,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:787,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:803,1
    - Dst: g_list_store_remove_all
      Src: /src/glib/gio/tests/glistmodel.c:802,1
    - Dst: expect_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:800,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:804,1
    - Dst: expect_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:735,1
    - Dst: g_object_connect
      Src: /src/glib/gio/tests/glistmodel.c:729,1
    - Dst: g_object_connect
      Src: /src/glib/gio/tests/glistmodel.c:731,1
    - Dst: g_list_model_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:736,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:753,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:752,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:750,1
    - Dst: expect_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:749,1
    - Dst: expect_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:757,1
    - Dst: expect_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:765,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:795,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:785,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:793,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:771,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:788,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:797,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:737,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:738,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:743,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:754,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:773,1
    - Dst: g_list_store_remove
      Src: /src/glib/gio/tests/glistmodel.c:777,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:792,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:794,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:796,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:806,1
    - Dst: expect_items_changed
      Src: /src/glib/gio/tests/glistmodel.c:782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 64
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 807
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 807
    functionName: test_store_signal_items_changed
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_object_connect
    - G_LIST_MODEL
    - g_assert_false
    - g_list_store_insert_sorted
    - expect_items_changed
    - g_list_store_insert
    - g_list_store_remove
    - assert_cmpitems
    - g_list_store_remove_all
    - g_list_model_items_changed
    - g_object_unref
    - g_list_store_new
    - g_simple_action_new
    - g_list_store_append
    - g_list_store_sort
    - g_list_store_splice
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_store_signal_items_changed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:821,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:826,1
    - Dst: g_list_store_append
      Src: /src/glib/gio/tests/glistmodel.c:825,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:824,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:822,1
    - Dst: assert_cmpitems
      Src: /src/glib/gio/tests/glistmodel.c:828,1
    - Dst: g_list_model_get_item
      Src: /src/glib/gio/tests/glistmodel.c:829,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/glistmodel.c:830,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:831,1
    - Dst: g_list_model_get_item
      Src: /src/glib/gio/tests/glistmodel.c:832,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/glistmodel.c:833,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 836
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 836
    functionName: test_store_past_end
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - assert_cmpitems
    - g_assert_nonnull
    - g_object_unref
    - g_simple_action_new
    - g_list_store_new
    - g_list_store_append
    - g_assert_null
    - g_list_model_get_item
    linkageType: ''
    returnType: void
    signature: 'static void test_store_past_end (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/tests/glistmodel.c:842,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:843,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/glistmodel.c:842,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/glistmodel.c:842,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/glistmodel.c:843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 844
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 844
    functionName: list_model_casecmp_action_by_name
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    - g_action_get_name
    - G_ACTION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean list_model_casecmp_action_by_name (gconstpointer a,
      gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/glistmodel.c:929,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:936,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:938,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:940,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:941,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:947,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:949,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:951,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:945,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:943,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:933,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:934,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:931,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:932,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:935,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:958,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:957,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:955,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/glistmodel.c:953,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/glistmodel.c:960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 961
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 961
    functionName: main
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:525,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:529,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:526,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/glistmodel.c:527,1
    - Dst: g_list_model_get_item_type
      Src: /src/glib/gio/tests/glistmodel.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 530
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 530
    functionName: test_store_item_type
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - g_assert
    - g_object_unref
    - g_list_store_new
    - g_list_model_get_item_type
    linkageType: ''
    returnType: void
    signature: 'static void test_store_item_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/tests/glistmodel.c:588,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/tests/glistmodel.c:590,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:591,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:592,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:593,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:594,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:595,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:597,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:598,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:599,1
    - Dst: g_list_store_sort
      Src: /src/glib/gio/tests/glistmodel.c:602,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:612,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:599,1
    - Dst: g_list_store_splice
      Src: /src/glib/gio/tests/glistmodel.c:605,1
    - Dst: g_list_store_new
      Src: /src/glib/gio/tests/glistmodel.c:587,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:591,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:592,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:593,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:596,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:597,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/glistmodel.c:598,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:594,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:595,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/glistmodel.c:596,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:606,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/glistmodel.c:612,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:610,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:606,1
    - Dst: model_array_equal
      Src: /src/glib/gio/tests/glistmodel.c:610,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/glistmodel.c:614,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/glistmodel.c:615,1
    - Dst: g_list_store_sort
      Src: /src/glib/gio/tests/glistmodel.c:611,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/tests/glistmodel.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 616
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 616
    functionName: test_store_sort
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL
    - g_assert_true
    - g_assert_false
    - g_ptr_array_new_full
    - g_object_unref
    - model_array_equal
    - g_simple_action_new
    - g_list_store_new
    - g_list_store_sort
    - g_list_store_splice
    - g_ptr_array_sort_values
    - g_ptr_array_unref
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_store_sort (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/glistmodel.c:713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - model
    - pspec
    - expected
    argTypes:
    - GListModel*
    - GParamSpec*
    - struct ItemsChangedData*
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: on_notify_n_items
    functionSourceFile: /src/glib/gio/tests/glistmodel.c
    functionUses: []
    functionsReached:
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void on_notify_n_items (GListModel *model, GParamSpec *pspec,
      struct ItemsChangedData *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestInteractionClass*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: test_interaction_class_init
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_interaction_class_init (TestInteractionClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:162,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:165,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:162,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:163,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:165,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:167,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/tls-interaction.c:167,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:168,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:169,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/tls-interaction.c:171,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/tls-interaction.c:172,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/tls-interaction.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - interaction
    - result
    - error
    argTypes:
    - GTlsInteraction*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 175
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 175
    functionName: test_interaction_ask_password_finish_failure
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_assert
    - g_assert_not_reached
    - g_thread_self
    - TEST_INTERACTION
    - TEST_IS_INTERACTION
    - g_task_propagate_int
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult test_interaction_ask_password_finish_failure
      (GTlsInteraction *interaction, GAsyncResult *result, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_interaction_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:657,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:666,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-interaction.c:661,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/tests/tls-interaction.c:666,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:665,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/tls-interaction.c:666,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-interaction.c:669,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:670,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-interaction.c:671,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:674,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/tls-interaction.c:682,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/tls-interaction.c:677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 683
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 683
    functionName: test_request_certificate
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_cmpuint
    - g_object_get_data
    - g_assert_no_error
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_clear_error
    - g_main_loop_quit
    - g_assert_error
    - g_tls_interaction_request_certificate
    linkageType: ''
    returnType: void
    signature: 'static void test_request_certificate (Test *test, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:862,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:867,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:870,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:868,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:869,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:873,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:881,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:882,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:883,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - name
    - setup
    - func
    - teardown
    argTypes:
    - gchar*
    - TestFunc
    - TestFunc
    - TestFunc
    constantsTouched: []
    func_position:
      end: 885
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 885
    functionName: test_with_async_ask_password
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - g_strdup_printf
    - g_ptr_array_add
    - g_test_add
    linkageType: ''
    returnType: void
    signature: 'static void test_with_async_ask_password (const gchar *name, TestFunc
      setup, TestFunc func, TestFunc teardown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:1020,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:1027,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:1028,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:1026,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:1025,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:1031,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:1039,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:1040,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:1041,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:1042,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - name
    - setup
    - func
    - teardown
    argTypes:
    - gchar*
    - TestFunc
    - TestFunc
    - TestFunc
    constantsTouched: []
    func_position:
      end: 1043
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1043
    functionName: test_with_sync_request_certificate
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - g_strdup_printf
    - g_ptr_array_add
    - g_test_add
    linkageType: ''
    returnType: void
    signature: 'static void test_with_sync_request_certificate (const gchar *name,
      TestFunc setup, TestFunc func, TestFunc teardown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:95,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:98,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:95,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:98,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:96,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:100,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/tests/tls-interaction.c:100,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:101,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/tls-interaction.c:101,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/tls-interaction.c:103,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/tls-interaction.c:107,1
    - Dst: g_tls_password_set_value
      Src: /src/glib/gio/tests/tls-interaction.c:106,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-interaction.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - interaction
    - password
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 109
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 109
    functionName: test_interaction_ask_password_async_success
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - g_assert
    - g_tls_password_set_value
    - g_task_new
    - g_thread_self
    - g_object_unref
    - TEST_INTERACTION
    - G_IS_CANCELLABLE
    - TEST_IS_INTERACTION
    - g_task_return_int
    linkageType: ''
    returnType: void
    signature: 'static void test_interaction_ask_password_async_success (GTlsInteraction
      *interaction, GTlsPassword *password, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:897,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:904,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:903,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:902,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - name
    - setup
    - func
    - teardown
    argTypes:
    - gchar*
    - TestFunc
    - TestFunc
    - TestFunc
    constantsTouched: []
    func_position:
      end: 906
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 906
    functionName: test_with_unhandled_ask_password
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - g_strdup_printf
    - g_ptr_array_add
    - g_test_add
    linkageType: ''
    returnType: void
    signature: 'static void test_with_unhandled_ask_password (const gchar *name, TestFunc
      setup, TestFunc func, TestFunc teardown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_with_unhandled_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1051,1
    - Dst: test_with_async_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1052,1
    - Dst: test_with_sync_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - name
    - setup
    - func
    - teardown
    argTypes:
    - gchar*
    - TestFunc
    - TestFunc
    - TestFunc
    constantsTouched: []
    func_position:
      end: 1054
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1054
    functionName: test_with_all_request_certificate
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - test_with_sync_request_certificate
    - test_with_async_request_certificate
    - test_with_unhandled_request_certificate
    linkageType: ''
    returnType: void
    signature: 'static void test_with_all_request_certificate (const gchar *name,
      TestFunc setup, TestFunc func, TestFunc teardown) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:440,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:444,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:440,1
    - Dst: G_TLS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:441,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:441,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:444,1
    - Dst: g_tls_interaction_ask_password_finish
      Src: /src/glib/gio/tests/tls-interaction.c:446,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-interaction.c:450,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:454,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:455,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-interaction.c:458,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:459,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/tls-interaction.c:466,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:463,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/tls-interaction.c:470,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-interaction.c:460,1
    - Dst: g_tls_password_get_value
      Src: /src/glib/gio/tests/tls-interaction.c:455,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 471
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 471
    functionName: on_ask_password_async_call
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_assert
    - g_assert_no_error
    - g_assert_not_reached
    - g_tls_interaction_ask_password_finish
    - g_thread_self
    - g_assert_cmpstr
    - g_clear_error
    - g_tls_password_get_value
    - g_main_loop_quit
    - G_IS_TLS_INTERACTION
    - g_assert_error
    - G_TLS_INTERACTION
    linkageType: ''
    returnType: void
    signature: 'static void on_ask_password_async_call (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:119,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:122,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:119,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:122,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:120,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:124,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/tls-interaction.c:124,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:125,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:126,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/tls-interaction.c:128,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/tls-interaction.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - interaction
    - result
    - error
    argTypes:
    - GTlsInteraction*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: test_interaction_ask_password_finish_success
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_assert
    - g_thread_self
    - TEST_INTERACTION
    - TEST_IS_INTERACTION
    - g_task_propagate_int
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult test_interaction_ask_password_finish_success
      (GTlsInteraction *interaction, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:361,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:364,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:362,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:364,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:361,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:366,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/tls-interaction.c:366,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:367,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:368,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/tls-interaction.c:370,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/tls-interaction.c:371,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/tls-interaction.c:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - interaction
    - result
    - error
    argTypes:
    - GTlsInteraction*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 374
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 374
    functionName: test_interaction_request_certificate_finish_failure
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_assert
    - g_assert_not_reached
    - g_thread_self
    - TEST_INTERACTION
    - TEST_IS_INTERACTION
    - g_task_propagate_int
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult test_interaction_request_certificate_finish_failure
      (GTlsInteraction *interaction, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:412,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:415,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:415,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:412,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:413,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:417,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/tests/tls-interaction.c:417,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:418,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/tls-interaction.c:418,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:419,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/tls-interaction.c:423,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:420,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - interaction
    - connection
    - unused_flags
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsConnection*
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 425
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 425
    functionName: test_interaction_request_certificate_sync_failure
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_assert
    - g_thread_self
    - TEST_INTERACTION
    - G_IS_CANCELLABLE
    - TEST_IS_INTERACTION
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult test_interaction_request_certificate_sync_failure
      (GTlsInteraction *interaction, GTlsConnection *connection, gint unused_flags,
      GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_interaction_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:530,1
    - Dst: g_tls_password_get_value
      Src: /src/glib/gio/tests/tls-interaction.c:539,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:539,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-interaction.c:534,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:538,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-interaction.c:542,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:543,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-interaction.c:544,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:547,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/tls-interaction.c:550,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/tls-interaction.c:555,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 556
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 556
    functionName: test_ask_password
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_assert_no_error
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_clear_error
    - g_tls_password_get_value
    - g_main_loop_quit
    - g_assert_error
    - g_tls_interaction_ask_password
    linkageType: ''
    returnType: void
    signature: 'static void test_ask_password (Test *test, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-interaction.c:732,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-interaction.c:733,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/tls-interaction.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 736
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 736
    functionName: teardown_without_loop
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_assert_finalize_object
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void teardown_without_loop (Test *test, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:964,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:969,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:970,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:972,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:971,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:975,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:983,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:984,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:985,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - name
    - setup
    - func
    - teardown
    argTypes:
    - gchar*
    - TestFunc
    - TestFunc
    - TestFunc
    constantsTouched: []
    func_position:
      end: 987
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 987
    functionName: test_with_async_request_certificate
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - g_strdup_printf
    - g_ptr_array_add
    - g_test_add
    linkageType: ''
    returnType: void
    signature: 'static void test_with_async_request_certificate (const gchar *name,
      TestFunc setup, TestFunc func, TestFunc teardown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestInteraction*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: test_interaction_init
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_interaction_init (TestInteraction *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:141,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:141,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:144,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:142,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:144,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:146,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/tests/tls-interaction.c:146,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:147,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/tls-interaction.c:147,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/tls-interaction.c:149,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-interaction.c:152,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/tls-interaction.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - interaction
    - password
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 153
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 153
    functionName: test_interaction_ask_password_async_failure
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - g_assert
    - g_task_new
    - g_thread_self
    - g_object_unref
    - TEST_INTERACTION
    - G_IS_CANCELLABLE
    - TEST_IS_INTERACTION
    - g_task_return_new_error
    linkageType: ''
    returnType: void
    signature: 'static void test_interaction_ask_password_async_failure (GTlsInteraction
      *interaction, GTlsPassword *password, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:385,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:386,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:388,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:385,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:388,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:390,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/tests/tls-interaction.c:390,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:391,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/tls-interaction.c:391,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:392,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:393,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/tls-interaction.c:399,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/tests/tls-interaction.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - interaction
    - connection
    - unused_flags
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsConnection*
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 401
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 401
    functionName: test_interaction_request_certificate_sync_success
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert
    - g_thread_self
    - TEST_INTERACTION
    - G_IS_CANCELLABLE
    - g_object_set_data
    - TEST_IS_INTERACTION
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult test_interaction_request_certificate_sync_success
      (GTlsInteraction *interaction, GTlsConnection *connection, gint unused_flags,
      GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:567,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:571,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:567,1
    - Dst: G_TLS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:568,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:568,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:571,1
    - Dst: g_tls_interaction_request_certificate_finish
      Src: /src/glib/gio/tests/tls-interaction.c:573,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-interaction.c:576,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:580,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:581,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:589,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/tls-interaction.c:596,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:585,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-interaction.c:584,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/tls-interaction.c:581,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-interaction.c:586,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/tests/tls-interaction.c:581,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/tls-interaction.c:592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 597
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 597
    functionName: on_request_certificate_async_call
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_cmpuint
    - g_assert
    - g_object_get_data
    - g_assert_no_error
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_thread_self
    - g_tls_interaction_request_certificate_finish
    - g_clear_error
    - g_main_loop_quit
    - G_IS_TLS_INTERACTION
    - g_assert_error
    - G_TLS_INTERACTION
    linkageType: ''
    returnType: void
    signature: 'static void on_request_certificate_async_call (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:999,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:1006,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:1007,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:1004,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - name
    - setup
    - func
    - teardown
    argTypes:
    - gchar*
    - TestFunc
    - TestFunc
    - TestFunc
    constantsTouched: []
    func_position:
      end: 1008
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1008
    functionName: test_with_unhandled_request_certificate
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - g_strdup_printf
    - g_ptr_array_add
    - g_test_add
    linkageType: ''
    returnType: void
    signature: 'static void test_with_unhandled_request_certificate (const gchar *name,
      TestFunc setup, TestFunc func, TestFunc teardown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/tests/tls-interaction.c:202,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:204,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:205,1
    - Dst: strlen
      Src: /src/glib/gio/tests/tls-interaction.c:205,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: special_free
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - strlen
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void special_free (gpointer p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:478,1
    - Dst: g_tls_interaction_ask_password_async
      Src: /src/glib/gio/tests/tls-interaction.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: test_ask_password_async
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_tls_interaction_ask_password_async
    linkageType: ''
    returnType: void
    signature: 'static void test_ask_password_async (Test *test, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/gio/tests/tls-interaction.c:748,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/tls-interaction.c:752,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:755,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:754,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:754,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/tls-interaction.c:756,1
    - Dst: g_main_context_acquire
      Src: /src/glib/gio/tests/tls-interaction.c:758,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/tls-interaction.c:760,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/tls-interaction.c:761,1
    - Dst: g_main_loop_is_running
      Src: /src/glib/gio/tests/tls-interaction.c:763,1
    - Dst: g_main_context_release
      Src: /src/glib/gio/tests/tls-interaction.c:766,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/tls-interaction.c:764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 768
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 768
    functionName: thread_loop
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_main_context_release
    - g_assert
    - g_thread_self
    - g_main_context_default
    - g_mutex_unlock
    - g_main_loop_is_running
    - g_main_loop_new
    - g_main_context_iteration
    - g_mutex_lock
    - g_main_context_acquire
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_loop (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/gio/tests/tls-interaction.c:837,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/tls-interaction.c:839,1
    - Dst: g_main_context_release
      Src: /src/glib/gio/tests/tls-interaction.c:841,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/tls-interaction.c:844,1
    - Dst: g_main_loop_is_running
      Src: /src/glib/gio/tests/tls-interaction.c:838,1
    - Dst: teardown_without_loop
      Src: /src/glib/gio/tests/tls-interaction.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 848
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 848
    functionName: teardown_with_normal_loop
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_main_context_release
    - g_main_context_default
    - g_main_loop_unref
    - g_main_loop_is_running
    - g_main_context_iteration
    - teardown_without_loop
    linkageType: ''
    returnType: void
    signature: 'static void teardown_with_normal_loop (Test *test, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:225,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:226,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:227,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:228,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/tls-interaction.c:239,1
    - Dst: special_dup
      Src: /src/glib/gio/tests/tls-interaction.c:241,1
    - Dst: g_tls_password_set_value
      Src: /src/glib/gio/tests/tls-interaction.c:252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:220,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:223,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:221,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/tests/tls-interaction.c:225,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/tls-interaction.c:226,1
    - Dst: g_tls_password_set_value
      Src: /src/glib/gio/tests/tls-interaction.c:231,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/tls-interaction.c:234,1
    - Dst: g_tls_password_set_value_full
      Src: /src/glib/gio/tests/tls-interaction.c:246,1
    - Dst: g_tls_password_get_value
      Src: /src/glib/gio/tests/tls-interaction.c:248,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:220,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/tls-interaction.c:244,1
    - Dst: special_dup
      Src: /src/glib/gio/tests/tls-interaction.c:246,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/tls-interaction.c:249,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:223,1
    - Dst: g_tls_password_get_value
      Src: /src/glib/gio/tests/tls-interaction.c:238,1
    - Dst: g_tls_password_set_value
      Src: /src/glib/gio/tests/tls-interaction.c:236,1
    - Dst: g_tls_password_get_value
      Src: /src/glib/gio/tests/tls-interaction.c:233,1
    - Dst: g_tls_password_set_value_full
      Src: /src/glib/gio/tests/tls-interaction.c:241,1
    - Dst: g_tls_password_get_value
      Src: /src/glib/gio/tests/tls-interaction.c:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - interaction
    - password
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 254
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 254
    functionName: test_interaction_ask_password_sync_success
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - special_dup
    - G_IS_TLS_PASSWORD
    - g_assert
    - g_tls_password_set_value
    - g_thread_self
    - g_tls_password_set_value_full
    - TEST_INTERACTION
    - G_IS_CANCELLABLE
    - g_tls_password_get_value
    - TEST_IS_INTERACTION
    - g_assert_cmpmem
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult test_interaction_ask_password_sync_success
      (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_interaction_invoke_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:495,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:503,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-interaction.c:499,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:504,1
    - Dst: g_tls_password_get_value
      Src: /src/glib/gio/tests/tls-interaction.c:504,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-interaction.c:507,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:508,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-interaction.c:509,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:512,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/tls-interaction.c:515,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/tls-interaction.c:520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 521
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 521
    functionName: test_invoke_ask_password
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_tls_interaction_invoke_ask_password
    - g_assert_cmpuint
    - g_assert_no_error
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_clear_error
    - g_tls_password_get_value
    - g_main_loop_quit
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_invoke_ask_password (Test *test, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_without_loop
      Src: /src/glib/gio/tests/tls-interaction.c:776,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/tls-interaction.c:784,1
    - Dst: g_cond_init
      Src: /src/glib/gio/tests/tls-interaction.c:779,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/tests/tls-interaction.c:778,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/tls-interaction.c:783,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/tls-interaction.c:786,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/tls-interaction.c:787,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/tests/tls-interaction.c:795,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/tests/tls-interaction.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - test
    - user_data
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 797
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 797
    functionName: setup_with_thread_loop
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - setup_without_loop
    - g_mutex_lock
    - g_cond_wait
    - g_mutex_unlock
    - g_thread_new
    - g_mutex_init
    - g_cond_clear
    - g_mutex_clear
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'static void setup_with_thread_loop (Test *test, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/tls-interaction.c:1061,1
    - Dst: test_with_all_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:1068,1
    - Dst: test_with_all_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:1070,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/tls-interaction.c:1063,1
    - Dst: test_with_all_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:1066,1
    - Dst: test_with_unhandled_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:1074,1
    - Dst: test_with_sync_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:1076,1
    - Dst: test_with_unhandled_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:1080,1
    - Dst: test_with_async_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:1082,1
    - Dst: test_with_all_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1086,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/tls-interaction.c:1106,1
    - Dst: test_with_sync_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1096,1
    - Dst: test_with_all_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1090,1
    - Dst: test_with_unhandled_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1094,1
    - Dst: test_with_async_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1102,1
    - Dst: test_with_unhandled_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1100,1
    - Dst: test_with_all_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:1088,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/tls-interaction.c:1105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1108
    functionName: main
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - test_with_sync_ask_password
    - g_ptr_array_new_with_free_func
    - g_ptr_array_free
    - test_with_unhandled_request_certificate
    - test_with_all_ask_password
    - g_test_run
    - g_test_init
    - test_with_all_request_certificate
    - test_with_async_ask_password
    - test_with_unhandled_ask_password
    - test_with_sync_request_certificate
    - test_with_async_request_certificate
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:264,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:264,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:265,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:267,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:267,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:269,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/tests/tls-interaction.c:269,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:270,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/tls-interaction.c:270,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:271,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/tls-interaction.c:274,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - interaction
    - password
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: test_interaction_ask_password_sync_failure
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_TLS_PASSWORD
    - g_assert
    - g_thread_self
    - TEST_INTERACTION
    - G_IS_CANCELLABLE
    - TEST_IS_INTERACTION
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult test_interaction_ask_password_sync_failure
      (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:316,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:319,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:319,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:316,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:317,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:321,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/tls-interaction.c:321,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:322,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:323,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/tls-interaction.c:325,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/tls-interaction.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - interaction
    - result
    - error
    argTypes:
    - GTlsInteraction*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 326
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 326
    functionName: test_interaction_request_certificate_finish_success
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - G_TASK
    - g_assert
    - g_thread_self
    - TEST_INTERACTION
    - TEST_IS_INTERACTION
    - g_task_propagate_int
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult test_interaction_request_certificate_finish_success
      (GTlsInteraction *interaction, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:604,1
    - Dst: g_tls_interaction_request_certificate_async
      Src: /src/glib/gio/tests/tls-interaction.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 612
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 612
    functionName: test_request_certificate_async
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_tls_interaction_request_certificate_async
    linkageType: ''
    returnType: void
    signature: 'static void test_request_certificate_async (Test *test, gconstpointer
      unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:805,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/tls-interaction.c:806,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/tls-interaction.c:810,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:807,1
    - Dst: teardown_without_loop
      Src: /src/glib/gio/tests/tls-interaction.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 813
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 813
    functionName: teardown_with_thread_loop
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_thread_join
    - teardown_without_loop
    - g_main_loop_unref
    linkageType: ''
    returnType: void
    signature: 'static void teardown_with_thread_loop (Test *test, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:918,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:924,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:926,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:925,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:923,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/tls-interaction.c:929,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/tls-interaction.c:937,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/tls-interaction.c:938,1
    - Dst: g_free
      Src: /src/glib/gio/tests/tls-interaction.c:939,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/tls-interaction.c:940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - name
    - setup
    - func
    - teardown
    argTypes:
    - gchar*
    - TestFunc
    - TestFunc
    - TestFunc
    constantsTouched: []
    func_position:
      end: 941
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 941
    functionName: test_with_sync_ask_password
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_free
    - g_new0
    - g_strdup_printf
    - g_ptr_array_add
    - g_test_add
    linkageType: ''
    returnType: void
    signature: 'static void test_with_sync_ask_password (const gchar *name, TestFunc
      setup, TestFunc func, TestFunc teardown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:289,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:292,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:289,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:292,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:290,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:294,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/tests/tls-interaction.c:294,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:295,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/tls-interaction.c:295,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:296,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/tests/tls-interaction.c:304,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/tls-interaction.c:305,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/tls-interaction.c:298,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/tls-interaction.c:304,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-interaction.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - interaction
    - connection
    - unused_flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsInteraction*
    - GTlsConnection*
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 307
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 307
    functionName: test_interaction_request_certificate_async_success
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert
    - g_task_new
    - g_thread_self
    - g_object_unref
    - TEST_INTERACTION
    - G_IS_CANCELLABLE
    - g_object_set_data
    - TEST_IS_INTERACTION
    - G_IS_TLS_CONNECTION
    - g_task_return_int
    linkageType: ''
    returnType: void
    signature: 'static void test_interaction_request_certificate_async_success (GTlsInteraction
      *interaction, GTlsConnection *connection, gint unused_flags, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:339,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:342,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:339,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:342,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:340,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:344,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/tests/tls-interaction.c:344,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:345,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/tls-interaction.c:345,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:346,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/tls-interaction.c:348,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-interaction.c:351,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/tls-interaction.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - interaction
    - connection
    - unused_flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsInteraction*
    - GTlsConnection*
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 352
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 352
    functionName: test_interaction_request_certificate_async_failure
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_task_new
    - g_thread_self
    - g_object_unref
    - TEST_INTERACTION
    - G_IS_CANCELLABLE
    - TEST_IS_INTERACTION
    - G_IS_TLS_CONNECTION
    - g_task_return_new_error
    linkageType: ''
    returnType: void
    signature: 'static void test_interaction_request_certificate_async_failure (GTlsInteraction
      *interaction, GTlsConnection *connection, gint unused_flags, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_interaction_invoke_request_certificate
      Src: /src/glib/gio/tests/tls-interaction.c:621,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/tests/tls-interaction.c:631,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:630,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/tls-interaction.c:626,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:631,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/tls-interaction.c:631,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-interaction.c:634,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/tls-interaction.c:635,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-interaction.c:636,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:639,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/tls-interaction.c:642,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/tls-interaction.c:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 648
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 648
    functionName: test_invoke_request_certificate
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_cmpuint
    - g_object_get_data
    - g_assert_no_error
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_clear_error
    - g_main_loop_quit
    - g_assert_error
    - g_tls_interaction_invoke_request_certificate
    linkageType: ''
    returnType: void
    signature: 'static void test_invoke_request_certificate (Test *test, gconstpointer
      unused) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup_without_loop
      Src: /src/glib/gio/tests/tls-interaction.c:821,1
    - Dst: g_main_context_default
      Src: /src/glib/gio/tests/tls-interaction.c:823,1
    - Dst: g_main_context_acquire
      Src: /src/glib/gio/tests/tls-interaction.c:824,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/tls-interaction.c:827,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/tls-interaction.c:825,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:828,1
    - Dst: g_main_loop_is_running
      Src: /src/glib/gio/tests/tls-interaction.c:828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - test
    - user_data
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: setup_with_normal_loop
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - setup_without_loop
    - g_assert
    - g_assert_not_reached
    - g_main_context_default
    - g_main_loop_is_running
    - g_main_loop_new
    - g_main_context_acquire
    linkageType: ''
    returnType: void
    signature: 'static void setup_with_normal_loop (Test *test, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_with_unhandled_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:949,1
    - Dst: test_with_async_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:950,1
    - Dst: test_with_sync_ask_password
      Src: /src/glib/gio/tests/tls-interaction.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - name
    - setup
    - func
    - teardown
    argTypes:
    - gchar*
    - TestFunc
    - TestFunc
    - TestFunc
    constantsTouched: []
    func_position:
      end: 952
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 952
    functionName: test_with_all_ask_password
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - test_with_sync_ask_password
    - test_with_async_ask_password
    - test_with_unhandled_ask_password
    linkageType: ''
    returnType: void
    signature: 'static void test_with_all_ask_password (const gchar *name, TestFunc
      setup, TestFunc func, TestFunc teardown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/tests/tls-interaction.c:184,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/tests/tls-interaction.c:187,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/tls-interaction.c:188,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/tls-interaction.c:190,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/tests/tls-interaction.c:189,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/tls-interaction.c:191,1
    - Dst: strlen
      Src: /src/glib/gio/tests/tls-interaction.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: special_dup
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_new
    - g_string_append
    - g_string_append_c
    - g_string_free
    linkageType: ''
    returnType: guchar*
    signature: 'static guchar *special_dup (const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/tls-interaction.c:700,1
    - Dst: TEST_IS_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:701,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/tls-interaction.c:701,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/tests/tls-interaction.c:705,1
    - Dst: TEST_INTERACTION
      Src: /src/glib/gio/tests/tls-interaction.c:703,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/tls-interaction.c:713,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/tls-interaction.c:714,1
    - Dst: g_tls_backend_get_server_connection_type
      Src: /src/glib/gio/tests/tls-interaction.c:714,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/tls-interaction.c:715,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-interaction.c:716,1
    - Dst: g_tls_password_new
      Src: /src/glib/gio/tests/tls-interaction.c:718,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/tls-interaction.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - test
    - user_data
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 726
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 726
    functionName: setup_without_loop
    functionSourceFile: /src/glib/gio/tests/tls-interaction.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_assert
    - g_tls_backend_get_server_connection_type
    - g_assert_no_error
    - g_object_unref
    - g_tls_password_new
    - g_thread_self
    - G_TLS_INTERACTION_GET_CLASS
    - TEST_INTERACTION
    - TEST_IS_INTERACTION
    linkageType: ''
    returnType: void
    signature: 'static void setup_without_loop (Test *test, gconstpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_application_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:37,1
    - Dst: g_application_withdraw_notification
      Src: /src/glib/gio/tests/fdo-notification-backend.c:40,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/fdo-notification-backend.c:39,1
    - Dst: g_application_register
      Src: /src/glib/gio/tests/fdo-notification-backend.c:38,1
    - Dst: g_type_from_name
      Src: /src/glib/gio/tests/fdo-notification-backend.c:42,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/fdo-notification-backend.c:43,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:47,1
    - Dst: g_application_get_dbus_connection
      Src: /src/glib/gio/tests/fdo-notification-backend.c:49,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/fdo-notification-backend.c:51,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/fdo-notification-backend.c:54,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:56,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/fdo-notification-backend.c:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - app_out
    argTypes:
    - GApplication**
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: construct_backend
    functionSourceFile: /src/glib/gio/tests/fdo-notification-backend.c
    functionUses: []
    functionsReached:
    - g_type_from_name
    - g_object_ref
    - g_object_new
    - g_application_register
    - g_assert_cmpuint
    - g_application_get_dbus_connection
    - g_clear_object
    - g_assert_no_error
    - g_steal_pointer
    - g_application_withdraw_notification
    - g_application_new
    linkageType: ''
    returnType: GNotificationBackend*
    signature: 'static GNotificationBackend *construct_backend (GApplication **app_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/fdo-notification-backend.c:97,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/fdo-notification-backend.c:98,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/fdo-notification-backend.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    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: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: daemon_method_call_cb
    functionSourceFile: /src/glib/gio/tests/fdo-notification-backend.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_main_context_wakeup
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void daemon_method_call_cb (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_main_context_wakeup
      Src: /src/glib/gio/tests/fdo-notification-backend.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: dbus_activate_action_cb
    functionSourceFile: /src/glib/gio/tests/fdo-notification-backend.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void dbus_activate_action_cb (GSimpleAction *action, GVariant
      *parameter, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/fdo-notification-backend.c:151,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/fdo-notification-backend.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - daemon_connection
    - parameters
    argTypes:
    - GDBusConnection*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: assert_emit_action_invoked
    functionSourceFile: /src/glib/gio/tests/fdo-notification-backend.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_dbus_connection_emit_signal
    linkageType: ''
    returnType: void
    signature: 'static void assert_emit_action_invoked (GDBusConnection *daemon_connection,
      GVariant *parameters) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/fdo-notification-backend.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: name_acquired_or_lost_cb
    functionSourceFile: /src/glib/gio/tests/fdo-notification-backend.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void name_acquired_or_lost_cb (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/fdo-notification-backend.c:68,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:71,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/fdo-notification-backend.c:75,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/fdo-notification-backend.c:72,1
    - Dst: construct_backend
      Src: /src/glib/gio/tests/fdo-notification-backend.c:74,1
    - Dst: g_application_quit
      Src: /src/glib/gio/tests/fdo-notification-backend.c:77,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:78,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:79,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/fdo-notification-backend.c:81,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: test_construction
    functionSourceFile: /src/glib/gio/tests/fdo-notification-backend.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_nonnull
    - construct_backend
    - g_clear_object
    - g_test_dbus_up
    - g_test_dbus_new
    - g_test_dbus_down
    - g_application_quit
    linkageType: ''
    returnType: void
    signature: 'static void test_construction (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_notification_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:133,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:135,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/fdo-notification-backend.c:138,1
    - Dst: G_NOTIFICATION_BACKEND_GET_CLASS
      Src: /src/glib/gio/tests/fdo-notification-backend.c:134,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/fdo-notification-backend.c:140,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/tests/fdo-notification-backend.c:140,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/fdo-notification-backend.c:141,1
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/tests/fdo-notification-backend.c:141,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/fdo-notification-backend.c:142,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/fdo-notification-backend.c:142,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - backend
    - current_method_invocation
    - notify_id
    argTypes:
    - GNotificationBackend*
    - GDBusMethodInvocation**
    - guint32
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: assert_send_notification
    functionSourceFile: /src/glib/gio/tests/fdo-notification-backend.c
    functionUses: []
    functionsReached:
    - g_notification_new
    - g_clear_object
    - g_assert_cmpstr
    - g_dbus_method_invocation_get_method_name
    - g_steal_pointer
    - g_main_context_iteration
    - g_dbus_method_invocation_get_interface_name
    - g_dbus_method_invocation_return_value
    - g_variant_new
    - G_NOTIFICATION_BACKEND_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void assert_send_notification (GNotificationBackend *backend,
      GDBusMethodInvocation **current_method_invocation, guint32 notify_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/fdo-notification-backend.c:209,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/fdo-notification-backend.c:227,1
    - Dst: assert_send_notification
      Src: /src/glib/gio/tests/fdo-notification-backend.c:245,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:273,1
    - Dst: assert_emit_action_invoked
      Src: /src/glib/gio/tests/fdo-notification-backend.c:274,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:275,1
    - Dst: assert_emit_action_invoked
      Src: /src/glib/gio/tests/fdo-notification-backend.c:276,1
    - Dst: assert_emit_action_invoked
      Src: /src/glib/gio/tests/fdo-notification-backend.c:277,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:277,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:278,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/fdo-notification-backend.c:294,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:291,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:279,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/fdo-notification-backend.c:213,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/fdo-notification-backend.c:220,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:222,1
    - Dst: g_bus_own_name_on_connection
      Src: /src/glib/gio/tests/fdo-notification-backend.c:229,1
    - Dst: assert_emit_action_invoked
      Src: /src/glib/gio/tests/fdo-notification-backend.c:249,1
    - Dst: construct_backend
      Src: /src/glib/gio/tests/fdo-notification-backend.c:240,1
    - Dst: g_action_map_add_action_entries
      Src: /src/glib/gio/tests/fdo-notification-backend.c:241,1
    - Dst: assert_emit_action_invoked
      Src: /src/glib/gio/tests/fdo-notification-backend.c:262,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/fdo-notification-backend.c:284,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/fdo-notification-backend.c:297,1
    - Dst: g_application_quit
      Src: /src/glib/gio/tests/fdo-notification-backend.c:289,1
    - Dst: g_dbus_connection_close_sync
      Src: /src/glib/gio/tests/fdo-notification-backend.c:298,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:249,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/fdo-notification-backend.c:252,1
    - Dst: assert_send_notification
      Src: /src/glib/gio/tests/fdo-notification-backend.c:271,1
    - Dst: assert_emit_action_invoked
      Src: /src/glib/gio/tests/fdo-notification-backend.c:273,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:274,1
    - Dst: assert_emit_action_invoked
      Src: /src/glib/gio/tests/fdo-notification-backend.c:275,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:276,1
    - Dst: assert_emit_action_invoked
      Src: /src/glib/gio/tests/fdo-notification-backend.c:278,1
    - Dst: assert_emit_action_invoked
      Src: /src/glib/gio/tests/fdo-notification-backend.c:279,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/fdo-notification-backend.c:282,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/fdo-notification-backend.c:267,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/fdo-notification-backend.c:287,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:290,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:301,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:304,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/fdo-notification-backend.c:299,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:212,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/fdo-notification-backend.c:216,1
    - Dst: g_test_dbus_get_bus_address
      Src: /src/glib/gio/tests/fdo-notification-backend.c:216,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/fdo-notification-backend.c:237,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/fdo-notification-backend.c:254,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/fdo-notification-backend.c:241,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/fdo-notification-backend.c:241,1
    - Dst: assert_send_notification
      Src: /src/glib/gio/tests/fdo-notification-backend.c:260,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/fdo-notification-backend.c:262,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/fdo-notification-backend.c:265,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/fdo-notification-backend.c:303,1
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/tests/fdo-notification-backend.c:296,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/fdo-notification-backend.c:293,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 305
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 305
    functionName: test_dbus_activate_action
    functionSourceFile: /src/glib/gio/tests/fdo-notification-backend.c
    functionUses: []
    functionsReached:
    - construct_backend
    - G_ACTION_MAP
    - g_bus_unown_name
    - g_test_dbus_new
    - g_test_summary
    - g_test_dbus_down
    - g_dbus_connection_register_object
    - g_test_dbus_get_bus_address
    - g_test_dbus_up
    - g_variant_new
    - g_dbus_connection_unregister_object
    - g_assert_cmpuint
    - g_assert_no_error
    - g_main_context_iteration
    - g_dbus_connection_new_for_address_sync
    - g_assert_null
    - assert_send_notification
    - g_application_quit
    - g_dbus_connection_close_sync
    - assert_emit_action_invoked
    - g_clear_object
    - g_bus_own_name_on_connection
    - g_action_map_add_action_entries
    - G_N_ELEMENTS
    - g_dbus_connection_flush_sync
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_activate_action (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/fdo-notification-backend.c:311,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/fdo-notification-backend.c:321,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/fdo-notification-backend.c:314,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/fdo-notification-backend.c:319,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/fdo-notification-backend.c:316,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/fdo-notification-backend.c:322,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/fdo-notification-backend.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 325
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 325
    functionName: main
    functionSourceFile: /src/glib/gio/tests/fdo-notification-backend.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_dbus_unset
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:203,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: end_sleep
    functionSourceFile: /src/glib/gio/tests/gdbus-testserver.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_method_invocation_return_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean end_sleep (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/gdbus-testserver.c:768,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gio/tests/gdbus-testserver.c:771,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/tests/gdbus-testserver.c:772,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-testserver.c:771,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-testserver.c:776,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 782
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 782
    functionName: handle_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-testserver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_is_floating
    - g_assert
    - g_variant_ref
    - g_hash_table_lookup
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 830
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 830
    functionName: on_name_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-testserver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_name_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-testserver.c:815,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-testserver.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 823
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 823
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-testserver.c
    functionUses: []
    functionsReached:
    - g_assert
    - 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:
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-testserver.c:794,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    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: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    functionName: handle_set_property
    functionSourceFile: /src/glib/gio/tests/gdbus-testserver.c
    functionUses: []
    functionsReached:
    - g_set_error
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-testserver.c:233,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:363,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:540,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/tests/gdbus-testserver.c:599,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:676,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:694,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:223,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:349,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:519,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:537,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:562,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:752,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:731,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:336,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:442,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:490,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:550,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:569,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:631,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:219,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:310,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:424,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:622,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:725,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-testserver.c:226,1
    - Dst: g_variant_iter_copy
      Src: /src/glib/gio/tests/gdbus-testserver.c:439,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:463,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:481,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:617,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:494,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gdbus-testserver.c:656,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:483,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:525,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:590,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-testserver.c:660,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:727,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/tests/gdbus-testserver.c:375,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:581,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:353,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:624,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:484,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:370,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:399,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:505,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:514,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:523,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-testserver.c:702,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:521,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:711,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-testserver.c:248,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:289,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:347,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:385,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:485,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:559,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:576,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:634,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:534,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:738,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-testserver.c:255,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:430,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:524,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:748,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:578,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:598,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:619,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:358,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:331,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:503,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:236,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:479,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:458,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:668,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:312,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:436,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:444,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:717,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:389,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:509,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:426,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:526,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:707,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:623,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:354,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:495,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:344,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:565,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:257,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:440,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:589,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:501,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:555,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:290,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:486,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:546,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:577,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:252,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/tests/gdbus-testserver.c:366,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:401,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-testserver.c:637,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:681,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:349,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-testserver.c:245,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:376,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:403,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:423,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:499,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:537,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/tests/gdbus-testserver.c:686,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:556,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:671,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/tests/gdbus-testserver.c:339,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:361,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:329,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:334,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/tests/gdbus-testserver.c:402,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:446,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:535,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:584,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:553,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-testserver.c:654,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:500,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:596,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:390,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:454,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:497,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:718,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:510,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:380,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:407,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:740,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:410,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:457,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:541,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:636,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:574,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:591,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:249,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:700,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:593,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:617,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:481,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:530,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:521,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:669,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:374,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:385,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:446,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:451,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:539,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-testserver.c:748,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:397,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:275,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:709,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:742,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:482,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:487,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/tests/gdbus-testserver.c:330,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:352,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/tests/gdbus-testserver.c:357,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:392,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-testserver.c:733,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:531,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:522,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-testserver.c:658,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:234,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:513,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:719,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-testserver.c:294,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:381,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:408,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:456,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:532,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:367,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:239,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:460,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:529,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:699,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:641,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:491,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:570,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:542,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:592,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/tests/gdbus-testserver.c:700,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:340,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:426,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:568,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:511,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:571,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-testserver.c:687,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:492,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:434,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:696,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:489,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:517,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:580,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:612,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:601,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:729,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/tests/gdbus-testserver.c:393,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:750,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:371,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:632,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:309,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:388,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:506,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:515,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:553,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-testserver.c:753,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:365,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:403,1
    - Dst: g_variant_iter_copy
      Src: /src/glib/gio/tests/gdbus-testserver.c:449,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:452,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:516,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:431,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:497,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:620,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:376,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:293,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:423,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:513,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:247,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:507,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:545,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:554,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:685,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:692,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/tests/gdbus-testserver.c:348,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:383,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:358,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:331,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:498,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:679,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:343,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:250,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:327,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:394,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:505,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:566,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:583,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:626,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:543,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:575,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:615,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:338,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:518,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:563,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:508,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:551,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:746,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:254,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:372,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-testserver.c:700,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:549,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:362,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:335,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:561,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:441,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:630,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-testserver.c:235,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:244,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:547,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:728,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:479,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:493,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/tests/gdbus-testserver.c:384,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-testserver.c:246,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:308,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:436,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:548,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:583,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:356,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:367,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:327,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:394,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:413,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:450,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:538,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-testserver.c:649,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:627,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-testserver.c:720,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:700,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-testserver.c:545,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:595,1
    - Dst: g_variant_iter_copy
      Src: /src/glib/gio/tests/gdbus-testserver.c:618,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:379,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:406,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:585,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:568,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:340,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:345,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-testserver.c:674,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:560,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-testserver.c:663,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/tests/gdbus-testserver.c:411,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-testserver.c:432,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/tests/gdbus-testserver.c:461,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:527,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:489,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:502,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-testserver.c:291,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-testserver.c:398,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:621,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-testserver.c:533,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gdbus-testserver.c:626,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-testserver.c:586,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:224,1
    - Dst: g_variant_iter_copy
      Src: /src/glib/gio/tests/gdbus-testserver.c:429,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-testserver.c:643,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-testserver.c:529,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 484
    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: 755
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 755
    functionName: handle_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-testserver.c
    functionUses: []
    functionsReached:
    - g_variant_builder_close
    - g_variant_get_fixed_array
    - g_variant_get_child_value
    - g_variant_iter_copy
    - g_dbus_method_invocation_return_value
    - g_main_loop_quit
    - g_dbus_connection_emit_signal
    - g_timeout_add
    - g_variant_new_string
    - g_strcmp0
    - g_assert_not_reached
    - g_variant_builder_add
    - g_variant_new
    - g_strconcat
    - g_variant_iter_loop
    - g_object_ref
    - g_variant_iter_init
    - g_dbus_method_invocation_return_dbus_error
    - g_variant_unref
    - g_variant_get
    - g_variant_new_boolean
    - g_variant_iter_free
    - g_strdup_printf
    - g_hash_table_replace
    - g_variant_builder_init
    - g_variant_ref_sink
    - g_variant_new_parsed
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_strdup
    - g_free
    - g_variant_builder_open
    - g_variant_is_of_type
    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: exit
      Src: /src/glib/gio/tests/gdbus-testserver.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 838
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 838
    functionName: on_name_lost
    functionSourceFile: /src/glib/gio/tests/gdbus-testserver.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-testserver.c:847,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:869,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:888,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:857,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:850,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gio/tests/gdbus-testserver.c:851,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:863,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:855,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:855,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:866,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-testserver.c:858,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:860,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:863,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:864,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:870,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:872,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:866,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:861,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:849,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:851,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gio/tests/gdbus-testserver.c:852,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:856,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:860,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:867,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:869,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:872,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:858,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:864,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:870,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:856,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:861,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:863,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:849,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:850,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:852,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-testserver.c:853,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:867,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:857,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:867,1
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/gio/tests/gdbus-testserver.c:845,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:861,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:862,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:868,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-testserver.c:884,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:857,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:850,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:851,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:853,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/tests/gdbus-testserver.c:854,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:870,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/tests/gdbus-testserver.c:889,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/tests/gdbus-testserver.c:848,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:858,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:862,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:864,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:868,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:870,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-testserver.c:874,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:858,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:865,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:861,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:852,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:851,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:854,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:864,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/tests/gdbus-testserver.c:859,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:867,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-testserver.c:871,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/tests/gdbus-testserver.c:855,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:859,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:852,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:853,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:865,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:871,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-testserver.c:883,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:859,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:860,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:866,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:862,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:865,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:868,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:871,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-testserver.c:872,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/tests/gdbus-testserver.c:849,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:853,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:854,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/tests/gdbus-testserver.c:856,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:862,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:855,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:868,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:869,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-testserver.c:886,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:866,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:860,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:872,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:859,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/tests/gdbus-testserver.c:857,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-testserver.c:863,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:865,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:849,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gdbus-testserver.c:850,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:856,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-testserver.c:854,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gdbus-testserver.c:869,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-testserver.c:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 110
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 892
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 892
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-testserver.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_hash_table_unref
    - g_hash_table_insert
    - g_log_writer_default_set_use_stderr
    - g_variant_new_int32
    - g_bus_unown_name
    - g_main_loop_run
    - g_variant_new_uint64
    - g_variant_new_string
    - g_variant_new_uint16
    - g_variant_new_int64
    - g_variant_new_double
    - g_dbus_node_info_unref
    - g_variant_new_boolean
    - g_main_loop_new
    - g_variant_new_byte
    - g_variant_ref_sink
    - g_hash_table_new_full
    - g_variant_new_int16
    - g_variant_new_parsed
    - g_bus_own_name
    - g_strdup
    - g_variant_new_uint32
    - g_variant_new_object_path
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/gdbus-daemon.c:24,1
    - Dst: N_
      Src: /src/glib/gio/tests/gdbus-daemon.c:27,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/gdbus-daemon.c:31,1
    - Dst: _g_dbus_daemon_new
      Src: /src/glib/gio/tests/gdbus-daemon.c:51,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-daemon.c:66,1
    - Dst: N_
      Src: /src/glib/gio/tests/gdbus-daemon.c:18,1
    - Dst: _
      Src: /src/glib/gio/tests/gdbus-daemon.c:41,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-daemon.c:33,1
    - Dst: _g_dbus_daemon_get_address
      Src: /src/glib/gio/tests/gdbus-daemon.c:59,1
    - Dst: _g_dbus_daemon_get_address
      Src: /src/glib/gio/tests/gdbus-daemon.c:62,1
    - Dst: N_
      Src: /src/glib/gio/tests/gdbus-daemon.c:19,1
    - Dst: N_
      Src: /src/glib/gio/tests/gdbus-daemon.c:20,1
    - Dst: g_option_context_set_translation_domain
      Src: /src/glib/gio/tests/gdbus-daemon.c:25,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/gdbus-daemon.c:37,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-daemon.c:41,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-daemon.c:59,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-daemon.c:62,1
    - Dst: N_
      Src: /src/glib/gio/tests/gdbus-daemon.c:17,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/tests/gdbus-daemon.c:26,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/gdbus-daemon.c:28,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-daemon.c:54,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-daemon.c:46,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-daemon.c:64,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-daemon.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - _
    - g_option_context_set_summary
    - g_option_context_free
    - _g_dbus_daemon_new
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_option_context_set_translation_domain
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - _g_dbus_daemon_get_address
    - g_print
    - N_
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:138,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:143,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - connection
    - wait
    argTypes:
    - GDBusConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: request_name
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-threads.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_new
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'static void request_name (GDBusConnection *connection, gboolean wait) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:186,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:192,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - connection
    - wait
    argTypes:
    - GDBusConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: release_name
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-threads.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_variant_new
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'static void release_name (GDBusConnection *connection, gboolean wait) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:67,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:78,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:67,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:75,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:76,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:87,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:88,1
    - Dst: g_dbus_proxy_set_default_timeout
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:89,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:91,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:98,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:104,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 109
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 109
    functionName: run_proxy_thread
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-threads.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_sync
    - g_dbus_proxy_new_sync
    - g_assert
    - g_test_verbose
    - g_assert_no_error
    - g_dbus_proxy_set_default_timeout
    - g_object_unref
    - g_main_loop_quit
    - g_main_context_get_thread_default
    - g_printerr
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer run_proxy_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:157,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:164,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:163,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:166,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:165,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:166,1
    - Dst: request_name
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:172,1
    - Dst: release_name
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:173,1
    - Dst: request_name
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:177,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:178,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: release_name_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-threads.c
    functionUses: []
    functionsReached:
    - request_name
    - release_name
    - G_DBUS_CONNECTION
    - g_assert_cmpuint
    - g_variant_get_child_value
    - g_assert_no_error
    - g_variant_unref
    - g_variant_get_uint32
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void release_name_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:118,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:125,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:126,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:123,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:124,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:126,1
    - Dst: release_name
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:129,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:130,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: request_name_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-threads.c
    functionUses: []
    functionsReached:
    - release_name
    - G_DBUS_CONNECTION
    - g_assert_cmpuint
    - g_variant_get_child_value
    - g_assert_no_error
    - g_variant_unref
    - g_variant_get_uint32
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void request_name_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_slow
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:209,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:218,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:214,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:216,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:221,1
    - Dst: request_name
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:223,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:227,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:231,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:235,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:238,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:244,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:245,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 246
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 246
    functionName: test_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-threads.c
    functionUses: []
    functionsReached:
    - request_name
    - g_test_verbose
    - g_assert_no_error
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    - g_main_loop_unref
    - g_thread_new
    - g_main_loop_new
    - g_thread_join
    - g_main_loop_run
    - g_test_slow
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:252,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:258,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:254,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-proxy-threads.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-threads.c
    functionUses: []
    functionsReached:
    - g_test_dbus_unset
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-peer.c:100,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-peer.c:108,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-peer.c:106,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-peer.c:105,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-example-peer.c:107,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:109,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    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: 112
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 112
    functionName: handle_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-example-peer.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strcmp0
    - g_variant_get
    - g_strdup_printf
    - g_dbus_method_invocation_return_value
    - g_variant_new
    - g_print
    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_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - observer
    - mechanism
    - user_data
    argTypes:
    - GDBusAuthObserver*
    - gchar*
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: allow_mechanism_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-example-peer.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean allow_mechanism_cb (GDBusAuthObserver *observer, const
      gchar *mechanism, G_GNUC_UNUSED gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:130,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-peer.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - connection
    - remote_peer_vanished
    - Error
    - user_data
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: connection_closed
    functionSourceFile: /src/glib/gio/tests/gdbus-example-peer.c
    functionUses: []
    functionsReached:
    - g_print
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void connection_closed (GDBusConnection *connection, gboolean
      remote_peer_vanished, GError *Error, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:204,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:213,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/tests/gdbus-example-peer.c:215,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:212,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/gdbus-example-peer.c:211,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/gdbus-example-peer.c:217,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:218,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:219,1
    - Dst: g_credentials_is_same_user
      Src: /src/glib/gio/tests/gdbus-example-peer.c:221,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-peer.c:224,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:232,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - observer
    - stream
    - credentials
    - user_data
    argTypes:
    - GDBusAuthObserver*
    - G_GNUC_UNUSED*
    - GCredentials*
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 237
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 237
    functionName: authorize_authenticated_peer_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-example-peer.c
    functionUses: []
    functionsReached:
    - g_free
    - g_credentials_new
    - g_object_unref
    - g_credentials_to_string
    - g_credentials_is_same_user
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean authorize_authenticated_peer_cb (GDBusAuthObserver
      *observer, G_GNUC_UNUSED GIOStream *stream, GCredentials *credentials, G_GNUC_UNUSED
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_peer_credentials
      Src: /src/glib/gio/tests/gdbus-example-peer.c:143,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/gdbus-example-peer.c:147,1
    - Dst: g_dbus_connection_get_capabilities
      Src: /src/glib/gio/tests/gdbus-example-peer.c:153,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-peer.c:145,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:149,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-example-peer.c:155,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-peer.c:156,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-peer.c:156,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-example-peer.c:157,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-peer.c:164,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 169
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 169
    functionName: on_new_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-example-peer.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_signal_connect
    - g_object_ref
    - g_free
    - g_assert
    - g_dbus_connection_get_capabilities
    - G_CALLBACK
    - g_credentials_to_string
    - g_dbus_connection_get_peer_credentials
    - g_print
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_new_connection (GDBusServer *server, GDBusConnection
      *connection, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-peer.c:279,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-example-peer.c:303,1
    - Dst: g_dbus_auth_observer_new
      Src: /src/glib/gio/tests/gdbus-example-peer.c:309,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-peer.c:322,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:363,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/tests/gdbus-example-peer.c:368,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-peer.c:388,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-peer.c:392,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:389,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-example-peer.c:394,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-peer.c:374,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/gdbus-example-peer.c:264,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:269,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/gdbus-example-peer.c:266,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:271,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:275,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-peer.c:311,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-example-peer.c:314,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-peer.c:310,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-peer.c:310,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-example-peer.c:320,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-example-peer.c:331,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:359,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-peer.c:337,1
    - Dst: g_dbus_connection_get_capabilities
      Src: /src/glib/gio/tests/gdbus-example-peer.c:365,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:399,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-example-peer.c:390,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-example-peer.c:369,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-peer.c:367,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-peer.c:340,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-peer.c:334,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-peer.c:338,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:385,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/gdbus-example-peer.c:267,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-peer.c:270,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-peer.c:284,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-example-peer.c:292,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-peer.c:293,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-peer.c:311,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:323,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-peer.c:327,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-peer.c:331,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-peer.c:332,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:328,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-example-peer.c:351,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-example-peer.c:375,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-peer.c:380,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-peer.c:384,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-peer.c:358,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-example-peer.c:341,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 402
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 402
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-peer.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_dbus_connection_get_capabilities
    - g_dbus_server_start
    - g_main_loop_run
    - g_option_context_free
    - g_object_unref
    - g_variant_new
    - g_print
    - g_signal_connect
    - g_option_context_new
    - g_error_free
    - g_dbus_server_get_client_address
    - g_variant_unref
    - g_variant_get
    - g_dbus_node_info_unref
    - g_main_loop_unref
    - g_dbus_generate_guid
    - G_CALLBACK
    - g_strdup_printf
    - g_main_loop_new
    - g_dbus_connection_new_for_address_sync
    - g_get_real_time
    - g_printerr
    - g_dbus_auth_observer_new
    - g_dbus_server_new_sync
    - g_dbus_connection_call_sync
    - g_free
    - G_VARIANT_TYPE
    - g_assert
    - g_option_context_parse
    - g_option_context_add_main_entries
    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/io-stream.c:121,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/io-stream.c:124,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:123,1
    - Dst: g_simple_io_stream_new
      Src: /src/glib/gio/tests/io-stream.c:126,1
    - Dst: g_file_open_readwrite
      Src: /src/glib/gio/tests/io-stream.c:122,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/io-stream.c:126,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/io-stream.c:126,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/io-stream.c:127,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/io-stream.c:127,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:128,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/io-stream.c:135,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/tests/io-stream.c:130,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: test_close_file
    functionSourceFile: /src/glib/gio/tests/io-stream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_simple_io_stream_new
    - g_file_new_for_path
    - g_io_stream_get_output_stream
    - g_assert
    - g_object_unref
    - g_file_open_readwrite
    - g_main_context_iteration
    - g_io_stream_close_async
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void test_close_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/io-stream.c:72,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:79,1
    - Dst: g_simple_io_stream_new
      Src: /src/glib/gio/tests/io-stream.c:78,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/io-stream.c:76,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/io-stream.c:77,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:80,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/io-stream.c:82,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/io-stream.c:83,1
    - Dst: g_simple_io_stream_new
      Src: /src/glib/gio/tests/io-stream.c:84,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:85,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:86,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:96,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/io-stream.c:99,1
    - Dst: g_io_stream_splice_async
      Src: /src/glib/gio/tests/io-stream.c:88,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:95,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/io-stream.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: test_copy_chunks
    functionSourceFile: /src/glib/gio/tests/io-stream.c
    functionUses: []
    functionsReached:
    - g_io_stream_splice_async
    - g_simple_io_stream_new
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_memory_output_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_chunks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_splice_finish
      Src: /src/glib/gio/tests/io-stream.c:48,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/io-stream.c:51,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/io-stream.c:51,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/io-stream.c:52,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/io-stream.c:49,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/io-stream.c:53,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/io-stream.c:55,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/io-stream.c:55,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/io-stream.c:56,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/io-stream.c:57,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/io-stream.c:59,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/io-stream.c:60,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/io-stream.c:62,1
    - Dst: g_io_stream_is_closed
      Src: /src/glib/gio/tests/io-stream.c:59,1
    - Dst: g_io_stream_is_closed
      Src: /src/glib/gio/tests/io-stream.c:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: test_copy_chunks_splice_cb
    functionSourceFile: /src/glib/gio/tests/io-stream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - g_assert
    - g_io_stream_splice_finish
    - g_assert_no_error
    - g_io_stream_is_closed
    - g_assert_cmpstr
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_get_data
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_chunks_splice_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: close_async_done
    functionSourceFile: /src/glib/gio/tests/io-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void close_async_done (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/io-stream.c:147,1
    - Dst: g_simple_io_stream_new
      Src: /src/glib/gio/tests/io-stream.c:149,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/glib/gio/tests/io-stream.c:148,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:151,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:150,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/tests/io-stream.c:153,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/io-stream.c:154,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/io-stream.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: test_close_memory
    functionSourceFile: /src/glib/gio/tests/io-stream.c
    functionUses: []
    functionsReached:
    - g_simple_io_stream_new
    - g_memory_input_stream_new
    - g_object_unref
    - g_main_context_iteration
    - g_io_stream_close_async
    - g_memory_output_stream_new_resizable
    linkageType: ''
    returnType: void
    signature: 'static void test_close_memory (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/io-stream.c:165,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/io-stream.c:171,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/io-stream.c:169,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/io-stream.c:168,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/io-stream.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/glib/gio/tests/io-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/tests/mimeapps.c:127,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:125,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:136,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:148,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:150,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:154,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/mimeapps.c:155,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/mimeapps.c:161,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:166,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:168,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:182,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:175,1
    - Dst: g_get_user_config_dir
      Src: /src/glib/gio/tests/mimeapps.c:192,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:157,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:128,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:130,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:133,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:137,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:139,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:147,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:151,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:159,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:169,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:177,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:171,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:184,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/mimeapps.c:183,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:192,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/mimeapps.c:143,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:144,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:134,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/mimeapps.c:149,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:156,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:160,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:162,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:165,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/mimeapps.c:167,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/mimeapps.c:173,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/mimeapps.c:179,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:185,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:163,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:187,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:178,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:188,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:181,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/tests/mimeapps.c:122,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/gio/tests/mimeapps.c:123,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:126,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:131,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/mimeapps.c:132,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/tests/mimeapps.c:138,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:141,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:142,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:145,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/mimeapps.c:153,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/mimeapps.c:172,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:189,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 75
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 193
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 193
    functionName: setup
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - g_file_set_contents
    - g_mkdir_with_parents
    - g_get_system_data_dirs
    - g_assert_no_error
    - g_remove
    - g_get_user_config_dir
    - g_get_user_data_dir
    - g_build_filename
    linkageType: ''
    returnType: void
    signature: 'static void setup (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: teardown
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:428,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:433,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:434,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:435,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/mimeapps.c:441,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:438,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:446,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:447,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:448,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:455,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:461,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:468,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:465,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:477,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:479,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:432,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:434,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:435,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:436,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:436,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:442,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:448,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:449,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:451,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:457,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:460,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:462,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:475,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:481,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:471,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:464,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:472,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:478,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:483,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/mimeapps.c:425,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:429,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:427,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:437,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:444,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:458,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:469,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:473,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:482,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:474,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:476,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:477,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:474,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:446,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:445,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:447,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:449,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:450,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/mimeapps.c:454,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:459,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:459,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:462,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:463,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:463,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:461,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:460,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:473,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 75
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 484
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 484
    functionName: test_mime_default
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_app_info_reset_type_associations
    - g_app_info_get_recommended_for_type
    - g_assert_no_error
    - g_object_unref
    - g_app_info_get_default_for_type
    - g_app_info_add_supports_type
    - g_list_length
    - g_app_info_equal
    - g_assert_true
    - g_list_free_full
    - g_desktop_app_info_new
    - g_app_info_set_as_default_for_type
    linkageType: ''
    returnType: void
    signature: 'static void test_mime_default (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:525,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:564,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:548,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:526,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:539,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:576,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:565,1
    - Dst: g_app_info_set_as_last_used_for_type
      Src: /src/glib/gio/tests/mimeapps.c:571,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:566,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:555,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:564,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:567,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:522,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:584,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:550,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:545,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:512,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:529,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:552,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:579,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:514,1
    - Dst: g_app_info_set_as_last_used_for_type
      Src: /src/glib/gio/tests/mimeapps.c:519,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:515,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:524,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:538,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:559,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:563,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:553,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/mimeapps.c:502,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:541,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:540,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:578,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:562,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:533,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:552,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:568,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:510,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:511,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:527,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:578,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:580,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:583,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:512,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:536,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:537,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:577,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:504,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:538,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:561,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:579,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:551,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:516,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:526,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:572,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:542,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:554,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:553,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:525,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:535,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:563,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:566,1
    - Dst: g_app_info_set_as_last_used_for_type
      Src: /src/glib/gio/tests/mimeapps.c:558,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:511,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:513,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:576,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:546,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:575,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:520,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:527,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:528,1
    - Dst: g_app_info_set_as_last_used_for_type
      Src: /src/glib/gio/tests/mimeapps.c:532,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:537,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:539,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:565,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:577,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:581,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:550,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:509,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:514,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:549,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:574,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:551,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:540,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:505,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:523,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 102
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 585
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 585
    functionName: test_mime_default_last_used
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_app_info_set_as_last_used_for_type
    - g_app_info_reset_type_associations
    - g_app_info_get_recommended_for_type
    - g_assert_no_error
    - g_object_unref
    - g_app_info_get_default_for_type
    - g_list_length
    - g_app_info_equal
    - g_assert_true
    - g_list_free_full
    - g_desktop_app_info_new
    - g_app_info_set_as_default_for_type
    linkageType: ''
    returnType: void
    signature: 'static void test_mime_default_last_used (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:609,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/mimeapps.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 611
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 611
    functionName: test_mime_ignore_nonexisting
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_desktop_app_info_new
    linkageType: ''
    returnType: void
    signature: 'static void test_mime_ignore_nonexisting (Fixture *fixture, gconstpointer
      test_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/tests/mimeapps.c:14,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/mimeapps.c:20,1
    - Dst: va_end
      Src: /src/glib/gio/tests/mimeapps.c:27,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/mimeapps.c:30,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/mimeapps.c:17,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - strv
    - '...'
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 33
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 33
    functionName: strv_equal
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - va_end
    - g_strcmp0
    - va_start
    - va_arg
    - g_strv_length
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strv_equal (gchar **strv, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/mimeapps.c:214,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:226,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/mimeapps.c:237,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:244,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:244,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:245,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:246,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:255,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:256,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:256,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:266,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:253,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:267,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:268,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:264,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/mimeapps.c:276,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:283,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:271,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:270,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/mimeapps.c:225,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:231,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:230,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:241,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:242,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:245,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:258,1
    - Dst: g_app_info_set_as_last_used_for_type
      Src: /src/glib/gio/tests/mimeapps.c:263,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:273,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/mimeapps.c:280,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:284,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:258,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:269,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:254,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:219,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:220,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:217,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/mimeapps.c:221,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:230,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:229,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:238,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:240,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:242,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:247,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:255,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:259,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:257,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:269,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:278,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/mimeapps.c:281,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:257,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:271,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:216,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/mimeapps.c:222,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:228,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:233,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:232,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:231,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:232,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:234,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/mimeapps.c:243,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/mimeapps.c:243,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:250,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:270,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:279,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:260,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:268,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:251,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 83
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 285
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 285
    functionName: test_mime_api
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_app_info_set_as_last_used_for_type
    - g_app_info_reset_type_associations
    - g_app_info_get_recommended_for_type
    - g_assert_no_error
    - g_object_unref
    - g_app_info_get_default_for_type
    - g_app_info_add_supports_type
    - g_list_length
    - g_assert_null
    - g_app_info_equal
    - g_assert_true
    - g_list_free_full
    - g_desktop_app_info_new
    - g_app_info_set_as_default_for_type
    linkageType: ''
    returnType: void
    signature: 'static void test_mime_api (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:593,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/tests/mimeapps.c:594,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:595,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/mimeapps.c:595,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:597,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 599
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 599
    functionName: test_scheme_handler
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_app_info_get_default_for_uri_scheme
    - g_object_unref
    - g_app_info_equal
    - g_assert_true
    - g_desktop_app_info_new
    linkageType: ''
    returnType: void
    signature: 'static void test_scheme_handler (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_all
      Src: /src/glib/gio/tests/mimeapps.c:619,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:622,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/mimeapps.c:622,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mimeapps.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 625
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 625
    functionName: test_all
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_app_info_get_all
    - G_IS_APP_INFO
    - g_assert_true
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_all (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/mimeapps.c:630,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/mimeapps.c:634,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/mimeapps.c:636,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/mimeapps.c:632,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/mimeapps.c:638,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/mimeapps.c:640,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/mimeapps.c:642,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/mimeapps.c:644,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/mimeapps.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 647
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 647
    functionName: main
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/mimeapps.c:308,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:311,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/mimeapps.c:322,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:328,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/mimeapps.c:329,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/mimeapps.c:339,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/mimeapps.c:343,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:348,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/mimeapps.c:352,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/mimeapps.c:355,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/tests/mimeapps.c:370,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/mimeapps.c:375,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:379,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/mimeapps.c:403,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:408,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:386,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/mimeapps.c:382,1
    - Dst: g_key_file_has_key
      Src: /src/glib/gio/tests/mimeapps.c:402,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/mimeapps.c:400,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:366,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:313,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/mimeapps.c:316,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/mimeapps.c:323,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/tests/mimeapps.c:326,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/mimeapps.c:333,1
    - Dst: strv_equal
      Src: /src/glib/gio/tests/mimeapps.c:328,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/mimeapps.c:336,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:340,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/tests/mimeapps.c:351,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/mimeapps.c:353,1
    - Dst: strv_equal
      Src: /src/glib/gio/tests/mimeapps.c:387,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/tests/mimeapps.c:365,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/mimeapps.c:393,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:383,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:397,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:359,1
    - Dst: strv_equal
      Src: /src/glib/gio/tests/mimeapps.c:367,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/mimeapps.c:388,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/mimeapps.c:314,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/mimeapps.c:315,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:320,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:324,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:327,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/mimeapps.c:334,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:344,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:347,1
    - Dst: strv_equal
      Src: /src/glib/gio/tests/mimeapps.c:348,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/mimeapps.c:349,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/mimeapps.c:368,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/mimeapps.c:395,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mimeapps.c:407,1
    - Dst: g_key_file_has_key
      Src: /src/glib/gio/tests/mimeapps.c:399,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/tests/mimeapps.c:385,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:387,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/mimeapps.c:381,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/mimeapps.c:396,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/mimeapps.c:310,1
    - Dst: g_app_info_add_supports_type
      Src: /src/glib/gio/tests/mimeapps.c:319,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/tests/mimeapps.c:332,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/mimeapps.c:342,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/tests/mimeapps.c:346,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/mimeapps.c:358,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/mimeapps.c:362,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/mimeapps.c:367,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:371,1
    - Dst: g_app_info_set_as_last_used_for_type
      Src: /src/glib/gio/tests/mimeapps.c:378,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/mimeapps.c:390,1
    - Dst: g_free
      Src: /src/glib/gio/tests/mimeapps.c:373,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/mimeapps.c:405,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/mimeapps.c:361,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/mimeapps.c:363,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/mimeapps.c:372,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 91
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 409
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 409
    functionName: test_mime_file
    functionSourceFile: /src/glib/gio/tests/mimeapps.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    - strv_equal
    - g_clear_error
    - g_app_info_add_supports_type
    - g_key_file_load_from_file
    - g_strfreev
    - g_app_info_set_as_last_used_for_type
    - g_key_file_new
    - g_app_info_reset_type_associations
    - g_app_info_get_recommended_for_type
    - g_assert_nonnull
    - g_object_unref
    - g_assert_no_error
    - g_key_file_free
    - g_app_info_get_default_for_type
    - g_assert_null
    - g_desktop_app_info_new
    - g_assert_false
    - g_free
    - g_key_file_get_string_list
    - g_assert_cmpstr
    - g_assert_true
    - g_key_file_has_key
    - g_app_info_set_as_default_for_type
    linkageType: ''
    returnType: void
    signature: 'static void test_mime_file (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gschema-compile.c:17,1
    - Dst: execve
      Src: /src/glib/gio/tests/gschema-compile.c:29,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gschema-compile.c:18,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gschema-compile.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: test_schema_do_compile
    functionSourceFile: /src/glib/gio/tests/gschema-compile.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_test_build_filename
    - g_assert_not_reached
    - execve
    linkageType: ''
    returnType: void
    signature: 'static void test_schema_do_compile (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/gschema-compile.c:145,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gschema-compile.c:149,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gschema-compile.c:154,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gschema-compile.c:147,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gschema-compile.c:153,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gschema-compile.c:155,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gschema-compile.c:157,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gschema-compile.c:158,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gschema-compile.c:159,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gschema-compile.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 163
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 163
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gschema-compile.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_free
    - g_test_add_data_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gschema-compile.c:39,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gschema-compile.c:40,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gschema-compile.c:41,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gio/tests/gschema-compile.c:46,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gschema-compile.c:45,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gio/tests/gschema-compile.c:47,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gschema-compile.c:48,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gschema-compile.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: test_schema
    functionSourceFile: /src/glib/gio/tests/gschema-compile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr_unmatched
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_schema (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:70,1
    - Dst: MY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:90,1
    - Dst: g_filter_output_stream_get_base_stream
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:72,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:91,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:71,1
    - Dst: g_filter_output_stream_get_base_stream
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:92,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:99,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:100,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:103,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:106,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:120,1
    - Dst: MY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:118,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 13
    argCount: 0
    argNames:
    - MyOutputStream
    - my_output_stream
    - G_TYPE_FILTER_OUTPUT_STREAM
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 121
    functionName: G_DEFINE_TYPE
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_filter_output_stream_get_base_stream
    - g_output_stream_flush
    - g_atomic_int_get
    - G_FILTER_OUTPUT_STREAM
    - MY_OUTPUT_STREAM
    linkageType: ''
    returnType: GType
    signature: 'static GType my_output_stream_get_type (void) G_GNUC_CONST; G_DEFINE_TYPE
      (MyOutputStream, my_output_stream, G_TYPE_FILTER_OUTPUT_STREAM) /* Called from
      GDBusWorker thread */ static gssizemy_output_stream_write (GOutputStream *os,
      const void *buffer, gsize count, GCancellable *cancellable, GError **error){
      MyOutputStream *self = MY_OUTPUT_STREAM (os); GFilterOutputStream *filter =
      G_FILTER_OUTPUT_STREAM (os); GOutputStream *real = g_filter_output_stream_get_base_stream
      (filter); gssize ret; g_atomic_int_add (&self->started, count); /* Other threads
      can make writing block forever by taking this lock */ G_LOCK (write); ret =
      g_output_stream_write (real, buffer, count, cancellable, error); G_UNLOCK (write);
      g_atomic_int_add (&self->finished, count); return ret; } /* Called from GDBusWorker
      thread */ static gbooleanmy_output_stream_flush (GOutputStream *os, GCancellable
      *cancellable, GError **error){ MyOutputStream *self = MY_OUTPUT_STREAM (os);
      GFilterOutputStream *filter = G_FILTER_OUTPUT_STREAM (os); GOutputStream *real
      = g_filter_output_stream_get_base_stream (filter); gint started, finished; gboolean
      ret; /* These should be equal because you''re not allowed to flush with a *
      write pending, and GOutputStream enforces that for its subclasses */ started
      = g_atomic_int_get (&self->started); finished = g_atomic_int_get (&self->finished);
      g_assert_cmpint (started, ==, finished); ret = g_output_stream_flush (real,
      cancellable, error); /* As above, this shouldn''t have changed during the flush
      */ finished = g_atomic_int_get (&self->finished); g_assert_cmpint (started,
      ==, finished); /* Checkpoint reached */ g_atomic_int_set (&self->flushed, finished);
      return ret; } /* Called from any thread; thread-safe */ static gintmy_output_stream_get_bytes_started
      (GOutputStream *os) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - MyOutputStream*
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: my_output_stream_init
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_output_stream_init (MyOutputStream *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:136,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - os
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: my_output_stream_get_bytes_flushed
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - MY_OUTPUT_STREAM
    linkageType: ''
    returnType: gint
    signature: 'static gint my_output_stream_get_bytes_flushed (GOutputStream *os) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_new_finish
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:194,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:197,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:196,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:195,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:196,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: setup_server_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_new_finish
    - G_IS_DBUS_CONNECTION
    - g_assert_no_error
    - G_DBUS_CONNECTION
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void setup_server_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:248,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:248,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:249,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:250,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:249,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:250,1
    - Dst: g_dbus_connection_flush_finish
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:252,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:253,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 257
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 257
    functionName: flush_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_assert_cmpuint
    - g_assert_no_error
    - g_dbus_connection_flush_finish
    - G_DBUS_CONNECTION
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void flush_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_output_stream_get_bytes_finished
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:316,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:321,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:322,1
    - Dst: my_output_stream_get_bytes_finished
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:326,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:318,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:327,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:331,1
    - Dst: my_output_stream_get_bytes_flushed
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:331,1
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:335,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:340,1
    - Dst: my_output_stream_get_bytes_flushed
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - f
    - G_GNUC_UNUSED
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 342
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 342
    functionName: test_flush_idle
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_assert_cmpint
    - g_assert_no_error
    - my_output_stream_get_bytes_finished
    - my_output_stream_get_bytes_flushed
    - g_dbus_connection_emit_signal
    - g_assert_true
    - g_dbus_connection_flush_sync
    linkageType: ''
    returnType: void
    signature: 'static void test_flush_idle (Fixture *f, gconstpointer test_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cls
    argTypes:
    - MyOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: my_output_stream_class_init
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_output_stream_class_init (MyOutputStreamClass *cls) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_new_finish
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:181,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:184,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:182,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:183,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:183,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: setup_client_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_new_finish
    - G_IS_DBUS_CONNECTION
    - g_assert_no_error
    - G_DBUS_CONNECTION
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void setup_client_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:210,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:214,1
    - Dst: g_dbus_connection_new
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:229,1
    - Dst: g_dbus_connection_new
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:232,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:211,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:212,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:218,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:223,1
    - Dst: test_io_stream_new
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:226,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:224,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:237,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:206,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:210,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:209,1
    - Dst: test_pipe
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:220,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:222,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:218,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:223,1
    - Dst: test_pipe
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:208,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:211,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:221,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:222,1
    - Dst: test_io_stream_new
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - f
    - G_GNUC_UNUSED
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 238
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 238
    functionName: setup
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_object_new
    - G_IS_OUTPUT_STREAM
    - G_IS_INPUT_STREAM
    - g_assert_no_error
    - g_dbus_generate_guid
    - test_pipe
    - g_main_context_iteration
    - test_io_stream_new
    - g_assert_true
    - g_dbus_connection_new
    linkageType: ''
    returnType: void
    signature: 'static void setup (Fixture *f, gconstpointer test_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_output_stream_get_bytes_started
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:266,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:274,1
    - Dst: G_LOCK
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:268,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:270,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:273,1
    - Dst: my_output_stream_get_bytes_started
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:280,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:285,1
    - Dst: my_output_stream_get_bytes_flushed
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:285,1
    - Dst: g_dbus_connection_flush
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:289,1
    - Dst: my_output_stream_get_bytes_flushed
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:292,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:292,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:296,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:305,1
    - Dst: my_output_stream_get_bytes_flushed
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:305,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - f
    - G_GNUC_UNUSED
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 307
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 307
    functionName: test_flush_busy
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_assert_cmpint
    - G_LOCK
    - g_assert_no_error
    - my_output_stream_get_bytes_started
    - G_UNLOCK
    - g_dbus_connection_flush
    - g_main_context_iteration
    - my_output_stream_get_bytes_flushed
    - g_dbus_connection_emit_signal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_flush_busy (Fixture *f, gconstpointer test_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:348,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:351,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:353,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:350,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:352,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:354,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:356,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:357,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:358,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:359,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - f
    - G_GNUC_UNUSED
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: teardown
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Fixture *f, gconstpointer test_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:127,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - os
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: my_output_stream_get_bytes_finished
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - MY_OUTPUT_STREAM
    linkageType: ''
    returnType: gint
    signature: 'static gint my_output_stream_get_bytes_finished (GOutputStream *os) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:372,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:374,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:376,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-connection-flush.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 382
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_dict_lookup
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:13,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:15,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - application
    - options
    - user_data
    argTypes:
    - GApplication*
    - GVariantDict*
    - gpointer
    constantsTouched: []
    func_position:
      end: 21
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 21
    functionName: handle_local_options
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline4.c
    functionUses: []
    functionsReached:
    - g_print
    - g_variant_dict_lookup
    linkageType: ''
    returnType: gint
    signature: 'static gint handle_local_options (GApplication *application, GVariantDict
      *options, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_application_command_line_get_options_dict
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:30,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:33,1
    - Dst: g_application_command_line_print
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - application
    - cmdline
    - user_data
    argTypes:
    - GApplication*
    - GApplicationCommandLine*
    - gpointer
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: command_line
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline4.c
    functionUses: []
    functionsReached:
    - g_application_command_line_print
    - g_application_command_line_get_options_dict
    - g_variant_dict_lookup
    linkageType: ''
    returnType: gint
    signature: 'static gint command_line (GApplication *application, GApplicationCommandLine
      *cmdline, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:58,1
    - Dst: g_application_set_option_context_parameter_string
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:63,1
    - Dst: g_application_set_option_context_description
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:67,1
    - Dst: g_application_add_main_option_entries
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:61,1
    - Dst: g_application_set_option_context_summary
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:64,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:75,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:75,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:76,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:76,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:79,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-cmdline4.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 84
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline4.c
    functionUses: []
    functionsReached:
    - g_application_set_option_context_summary
    - g_signal_connect
    - g_application_set_option_context_description
    - g_application_add_main_option_entries
    - g_object_unref
    - G_CALLBACK
    - g_application_set_option_context_parameter_string
    - g_application_run
    - g_application_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PERMISSION
      Src: /src/glib/gio/tests/permission.c:31,1
    - Dst: g_permission_acquire_finish
      Src: /src/glib/gio/tests/permission.c:36,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/permission.c:39,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:37,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/permission.c:38,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/permission.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: acquired
    functionSourceFile: /src/glib/gio/tests/permission.c
    functionUses: []
    functionsReached:
    - g_permission_acquire_finish
    - g_assert
    - g_clear_error
    - g_assert_error
    - g_main_loop_quit
    - G_PERMISSION
    linkageType: ''
    returnType: void
    signature: 'static void acquired (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_permission_get_allowed
      Src: /src/glib/gio/tests/permission.c:75,1
    - Dst: g_permission_get_can_release
      Src: /src/glib/gio/tests/permission.c:77,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/permission.c:79,1
    - Dst: g_permission_release
      Src: /src/glib/gio/tests/permission.c:94,1
    - Dst: g_permission_acquire
      Src: /src/glib/gio/tests/permission.c:89,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/permission.c:101,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:75,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:77,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:86,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/permission.c:97,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/permission.c:103,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:76,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:85,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:95,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/permission.c:96,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/permission.c:91,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:90,1
    - Dst: g_permission_acquire_async
      Src: /src/glib/gio/tests/permission.c:100,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/permission.c:105,1
    - Dst: g_simple_permission_new
      Src: /src/glib/gio/tests/permission.c:73,1
    - Dst: g_permission_get_can_acquire
      Src: /src/glib/gio/tests/permission.c:76,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:87,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/permission.c:92,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/permission.c:99,1
    - Dst: g_permission_release_async
      Src: /src/glib/gio/tests/permission.c:102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/permission.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 108
    functionName: test_simple
    functionSourceFile: /src/glib/gio/tests/permission.c
    functionUses: []
    functionsReached:
    - g_simple_permission_new
    - g_permission_get_allowed
    - g_assert
    - g_permission_acquire
    - g_object_unref
    - g_permission_acquire_async
    - g_clear_error
    - g_permission_get_can_release
    - g_main_loop_unref
    - g_main_loop_new
    - g_permission_release_async
    - g_main_loop_run
    - g_assert_error
    - g_permission_release
    - g_permission_get_can_acquire
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_simple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PERMISSION
      Src: /src/glib/gio/tests/permission.c:49,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/permission.c:56,1
    - Dst: g_permission_release_finish
      Src: /src/glib/gio/tests/permission.c:54,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/permission.c:57,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/permission.c:55,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/permission.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: released
    functionSourceFile: /src/glib/gio/tests/permission.c
    functionUses: []
    functionsReached:
    - g_permission_release_finish
    - g_assert
    - g_clear_error
    - g_assert_error
    - g_main_loop_quit
    - G_PERMISSION
    linkageType: ''
    returnType: void
    signature: 'static void released (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/permission.c:113,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/permission.c:115,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/permission.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/glib/gio/tests/permission.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_writev_all
      Src: /src/glib/gio/tests/unix-streams.c:417,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/unix-streams.c:417,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:420,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:419,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 423
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 423
    functionName: test_read_write_writev_thread
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_assert_no_error
    - G_N_ELEMENTS
    - g_assert_true
    - g_output_stream_writev_all
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_read_write_writev_thread (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:49,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:66,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/unix-streams.c:70,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/unix-streams.c:58,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/unix-streams.c:53,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/unix-streams.c:72,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/unix-streams.c:73,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:74,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/unix-streams.c:78,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/unix-streams.c:79,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: writer_thread
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_unix_output_stream_new
    - g_cancellable_is_cancelled
    - g_object_unref
    - g_clear_error
    - g_cancellable_cancel
    - g_warning
    - g_usleep
    - g_output_stream_write
    - g_assert_true
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer writer_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/unix-streams.c:848,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/unix-streams.c:850,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/unix-streams.c:852,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/unix-streams.c:851,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/unix-streams.c:854,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/unix-streams.c:855,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/unix-streams.c:858,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/unix-streams.c:859,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/unix-streams.c:862,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/unix-streams.c:863,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/unix-streams.c:876,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/unix-streams.c:868,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/unix-streams.c:866,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/unix-streams.c:873,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/unix-streams.c:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 877
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 877
    functionName: main
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_test_add_func
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:90,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:109,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:111,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/unix-streams.c:97,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/unix-streams.c:115,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-streams.c:116,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/unix-streams.c:116,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/unix-streams.c:120,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/unix-streams.c:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 122
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 122
    functionName: reader_thread
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unix_input_stream_new
    - g_assert_no_error
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_object_unref
    - g_cancellable_is_cancelled
    - g_warning
    - g_input_stream_read
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer reader_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/unix-streams.c:134,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/unix-streams.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: do_main_cancel
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void do_main_cancel (GOutputStream *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/unix-streams.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: timeout
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout (gpointer cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:339,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:345,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:341,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:345,1
    - Dst: g_unix_output_stream_get_fd
      Src: /src/glib/gio/tests/unix-streams.c:355,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-streams.c:357,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:359,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:335,1
    - Dst: g_unix_input_stream_set_close_fd
      Src: /src/glib/gio/tests/unix-streams.c:337,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-streams.c:338,1
    - Dst: g_unix_input_stream_get_close_fd
      Src: /src/glib/gio/tests/unix-streams.c:338,1
    - Dst: g_unix_input_stream_get_fd
      Src: /src/glib/gio/tests/unix-streams.c:339,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:350,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:343,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-streams.c:341,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/unix-streams.c:346,1
    - Dst: g_input_stream_has_pending
      Src: /src/glib/gio/tests/unix-streams.c:341,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-streams.c:354,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:355,1
    - Dst: g_output_stream_has_pending
      Src: /src/glib/gio/tests/unix-streams.c:357,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:357,1
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:329,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/unix-streams.c:330,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:334,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:351,1
    - Dst: g_unix_output_stream_set_close_fd
      Src: /src/glib/gio/tests/unix-streams.c:353,1
    - Dst: g_unix_output_stream_get_close_fd
      Src: /src/glib/gio/tests/unix-streams.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 360
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 360
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_unix_output_stream_get_close_fd
    - g_unix_input_stream_set_close_fd
    - G_INPUT_STREAM
    - g_assert_cmpint
    - g_unix_input_stream_new
    - g_input_stream_has_pending
    - g_object_unref
    - g_unix_output_stream_new
    - g_unix_input_stream_get_fd
    - g_unix_output_stream_set_close_fd
    - g_unix_input_stream_get_close_fd
    - g_assert_true
    - G_UNIX_OUTPUT_STREAM
    - g_output_stream_has_pending
    - g_assert_false
    - g_unix_output_stream_get_fd
    - G_UNIX_INPUT_STREAM
    - G_OUTPUT_STREAM
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/unix-streams.c:475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:489,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:498,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:499,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/unix-streams.c:521,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:499,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:510,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/unix-streams.c:520,1
    - Dst: pipe
      Src: /src/glib/gio/tests/unix-streams.c:489,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:496,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/unix-streams.c:519,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:542,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:543,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/unix-streams.c:491,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:491,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/unix-streams.c:492,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:495,1
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:498,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:518,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:536,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/unix-streams.c:538,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/unix-streams.c:539,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:493,1
    - Dst: g_pollable_output_stream_write_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:510,1
    - Dst: g_pollable_input_stream_read_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:526,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:526,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/unix-streams.c:532,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/unix-streams.c:537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 545
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 545
    functionName: test_write_wouldblock
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - pipe
    - G_POLLABLE_OUTPUT_STREAM
    - g_assert_cmpuint
    - g_pollable_output_stream_write_nonblocking
    - g_assert_nonnull
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    - G_UNIX_INPUT_STREAM
    - g_test_skip
    - G_UNIX_OUTPUT_STREAM
    - g_clear_error
    - fcntl
    - G_POLLABLE_INPUT_STREAM
    - g_object_unref
    - g_assert_cmpmem
    - g_assert_error
    - g_pollable_input_stream_read_nonblocking
    linkageType: ''
    returnType: void
    signature: 'static void test_write_wouldblock (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:141,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:150,1
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/unix-streams.c:146,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/unix-streams.c:150,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/unix-streams.c:148,1
    - Dst: do_main_cancel
      Src: /src/glib/gio/tests/unix-streams.c:151,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/unix-streams.c:152,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:156,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/unix-streams.c:162,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/unix-streams.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 172
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 172
    functionName: main_thread_skipped
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - do_main_cancel
    - g_output_stream_write_async
    - g_input_stream_skip_finish
    - g_error_matches
    - g_assert_no_error
    - g_cancellable_is_cancelled
    - g_clear_error
    - G_INPUT_STREAM
    - g_assert_true
    - g_input_stream_skip_async
    linkageType: ''
    returnType: void
    signature: 'static void main_thread_skipped (GObject *source, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/unix-streams.c:292,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/unix-streams.c:293,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/unix-streams.c:296,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/unix-streams.c:295,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/unix-streams.c:309,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:315,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:275,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:286,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/unix-streams.c:291,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:288,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/unix-streams.c:307,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/unix-streams.c:311,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:314,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:316,1
    - Dst: pipe
      Src: /src/glib/gio/tests/unix-streams.c:275,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:281,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/unix-streams.c:301,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:299,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:298,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/unix-streams.c:305,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:282,1
    - Dst: pipe
      Src: /src/glib/gio/tests/unix-streams.c:275,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:283,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:284,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:285,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:287,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/unix-streams.c:308,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/unix-streams.c:312,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:317,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - nonblocking
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 319
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 319
    functionName: test_pipe_io
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - pipe
    - g_unix_set_fd_nonblocking
    - g_unix_input_stream_new
    - g_cancellable_new
    - g_assert_no_error
    - g_unix_output_stream_new
    - g_input_stream_read_async
    - g_object_unref
    - g_main_loop_unref
    - g_thread_new
    - g_main_loop_new
    - g_thread_join
    - g_main_loop_run
    - g_timeout_add
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_io (gconstpointer nonblocking) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/unix-streams.c:765,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:787,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:790,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:811,1
    - Dst: g_new
      Src: /src/glib/gio/tests/unix-streams.c:799,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:811,1
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:810,1
    - Dst: g_new
      Src: /src/glib/gio/tests/unix-streams.c:796,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:810,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/unix-streams.c:815,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/unix-streams.c:834,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:832,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:777,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/unix-streams.c:790,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:794,1
    - Dst: g_free
      Src: /src/glib/gio/tests/unix-streams.c:836,1
    - Dst: g_free
      Src: /src/glib/gio/tests/unix-streams.c:837,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:840,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:788,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:792,1
    - Dst: g_input_stream_read_all_async
      Src: /src/glib/gio/tests/unix-streams.c:821,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/unix-streams.c:830,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:833,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:839,1
    - Dst: pipe
      Src: /src/glib/gio/tests/unix-streams.c:777,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/unix-streams.c:791,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/unix-streams.c:813,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:813,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:821,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 842
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 842
    functionName: test_writev_async_wouldblock
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_input_stream_read_all_async
    - G_INPUT_STREAM
    - g_assert_cmpint
    - g_unix_set_fd_nonblocking
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    - g_object_unref
    - g_test_skip
    - g_output_stream_writev_all_async
    - g_assert_cmpuint
    - G_UNIX_OUTPUT_STREAM
    - fcntl
    - g_main_context_iteration
    - g_assert_cmpmem
    - pipe
    - g_free
    - g_new
    - G_UNIX_INPUT_STREAM
    - G_N_ELEMENTS
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_wouldblock (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/unix-streams.c:429,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:443,1
    - Dst: pipe
      Src: /src/glib/gio/tests/unix-streams.c:441,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:441,1
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:443,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:444,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:444,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:446,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:447,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/unix-streams.c:452,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/unix-streams.c:455,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/unix-streams.c:458,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:462,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/unix-streams.c:454,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/unix-streams.c:457,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:463,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/unix-streams.c:460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 464
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 464
    functionName: test_read_write
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - pipe
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    - G_UNIX_INPUT_STREAM
    - g_object_unref
    - G_UNIX_OUTPUT_STREAM
    - g_thread_new
    - g_thread_join
    - g_assert_cmpmem
    - GPOINTER_TO_INT
    - G_INPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read_write (gconstpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:177,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:186,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/unix-streams.c:186,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/unix-streams.c:182,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/unix-streams.c:184,1
    - Dst: do_main_cancel
      Src: /src/glib/gio/tests/unix-streams.c:187,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/unix-streams.c:188,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:192,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/unix-streams.c:200,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/unix-streams.c:206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: main_thread_read
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - do_main_cancel
    - g_error_matches
    - g_assert_no_error
    - g_input_stream_read_async
    - g_cancellable_is_cancelled
    - g_input_stream_read_finish
    - g_clear_error
    - G_INPUT_STREAM
    - g_assert_true
    - g_input_stream_skip_async
    linkageType: ''
    returnType: void
    signature: 'static void main_thread_read (GObject *source, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/unix-streams.c:377,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:380,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:378,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: test_read_write_write_thread
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_all
    - g_assert_true
    - g_assert_cmpuint
    - g_assert_no_error
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_read_write_write_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all_finish
      Src: /src/glib/gio/tests/unix-streams.c:651,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:652,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - os
    - result
    - user_data
    argTypes:
    - GUnixOutputStream*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 653
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 653
    functionName: write_async_wouldblock_cb
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - G_OUTPUT_STREAM
    - g_output_stream_write_all_finish
    linkageType: ''
    returnType: void
    signature: 'static void write_async_wouldblock_cb (GUnixOutputStream *os, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:215,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/tests/unix-streams.c:220,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:224,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/unix-streams.c:222,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/unix-streams.c:224,1
    - Dst: do_main_cancel
      Src: /src/glib/gio/tests/unix-streams.c:225,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/unix-streams.c:226,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:230,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:231,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/unix-streams.c:237,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/unix-streams.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 248
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 248
    functionName: main_thread_wrote
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - do_main_cancel
    - g_assert_cmpint
    - g_output_stream_write_async
    - g_output_stream_write_finish
    - g_error_matches
    - G_OUTPUT_STREAM
    - g_assert_no_error
    - g_cancellable_is_cancelled
    - g_input_stream_read_async
    - g_clear_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void main_thread_wrote (GObject *source, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/unix-streams.c:393,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:395,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:396,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-streams.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 399
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 399
    functionName: test_read_write_read_thread
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_input_stream_read_all
    - g_assert_cmpuint
    - g_assert_no_error
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_read_write_read_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_all_finish
      Src: /src/glib/gio/tests/unix-streams.c:663,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:663,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - is
    - result
    - user_data
    argTypes:
    - GUnixInputStream*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: read_async_wouldblock_cb
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_input_stream_read_all_finish
    - G_INPUT_STREAM
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void read_async_wouldblock_cb (GUnixInputStream *is, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/glib/gio/tests/unix-streams.c:572,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:579,1
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:581,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/unix-streams.c:605,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:603,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:582,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:612,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:581,1
    - Dst: g_pollable_output_stream_writev_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:603,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:616,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/unix-streams.c:632,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:572,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/unix-streams.c:575,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:638,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:631,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:576,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/unix-streams.c:613,1
    - Dst: g_pollable_input_stream_read_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:621,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/unix-streams.c:627,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/unix-streams.c:634,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:637,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/unix-streams.c:556,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/unix-streams.c:574,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:574,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:578,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:614,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:582,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:621,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/unix-streams.c:633,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 640
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 640
    functionName: test_writev_wouldblock
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_cmpint
    - G_POLLABLE_OUTPUT_STREAM
    - g_assert_nonnull
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    - g_object_unref
    - g_test_skip
    - g_pollable_input_stream_read_nonblocking
    - g_assert_cmpuint
    - G_UNIX_OUTPUT_STREAM
    - G_POLLABLE_INPUT_STREAM
    - fcntl
    - g_assert_null
    - g_assert_cmpmem
    - g_assert_error
    - g_pollable_output_stream_writev_nonblocking
    - pipe
    - G_UNIX_INPUT_STREAM
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_wouldblock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_writev_all_finish
      Src: /src/glib/gio/tests/unix-streams.c:753,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-streams.c:754,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:753,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - os
    - result
    - user_data
    argTypes:
    - GUnixOutputStream*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 755
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 755
    functionName: writev_async_wouldblock_cb
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - G_OUTPUT_STREAM
    - g_output_stream_writev_all_finish
    linkageType: ''
    returnType: void
    signature: 'static void writev_async_wouldblock_cb (GUnixOutputStream *os, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/unix-streams.c:675,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:686,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:703,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:713,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/unix-streams.c:730,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:697,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/tests/unix-streams.c:696,1
    - Dst: pipe
      Src: /src/glib/gio/tests/unix-streams.c:686,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:701,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:711,1
    - Dst: g_new
      Src: /src/glib/gio/tests/unix-streams.c:708,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:711,1
    - Dst: g_output_stream_write_all_async
      Src: /src/glib/gio/tests/unix-streams.c:713,1
    - Dst: g_free
      Src: /src/glib/gio/tests/unix-streams.c:737,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/unix-streams.c:699,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/unix-streams.c:700,1
    - Dst: g_input_stream_read_all_async
      Src: /src/glib/gio/tests/unix-streams.c:721,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:732,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/unix-streams.c:733,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:739,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-streams.c:740,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-streams.c:699,1
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:710,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/unix-streams.c:710,1
    - Dst: g_new
      Src: /src/glib/gio/tests/unix-streams.c:705,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/unix-streams.c:721,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/unix-streams.c:734,1
    - Dst: g_free
      Src: /src/glib/gio/tests/unix-streams.c:736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 742
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 742
    functionName: test_write_async_wouldblock
    functionSourceFile: /src/glib/gio/tests/unix-streams.c
    functionUses: []
    functionsReached:
    - g_input_stream_read_all_async
    - G_INPUT_STREAM
    - g_assert_cmpint
    - g_unix_set_fd_nonblocking
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    - g_object_unref
    - g_test_skip
    - g_assert_cmpuint
    - G_UNIX_OUTPUT_STREAM
    - g_output_stream_write_all_async
    - fcntl
    - g_main_context_iteration
    - g_assert_cmpmem
    - pipe
    - g_free
    - g_new
    - G_UNIX_INPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_write_async_wouldblock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.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-dbushooks.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void activate (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_CLASS
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - application
    - connection
    - object_path
    argTypes:
    - GApplication*
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: test_application_dbus_unregister
    functionSourceFile: /src/glib/gio/tests/gapplication-example-dbushooks.c
    functionUses: []
    functionsReached:
    - G_APPLICATION_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_application_dbus_unregister (GApplication *application,
      GDBusConnection *connection, const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_CLASS
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestApplicationClass*
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: test_application_class_init
    functionSourceFile: /src/glib/gio/tests/gapplication-example-dbushooks.c
    functionUses: []
    functionsReached:
    - G_APPLICATION_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_application_class_init (TestApplicationClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - app
    argTypes:
    - TestApplication*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: test_application_init
    functionSourceFile: /src/glib/gio/tests/gapplication-example-dbushooks.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_application_init (TestApplication *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_CLASS
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:29,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - application
    - connection
    - object_path
    - error
    argTypes:
    - GApplication*
    - GDBusConnection*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: test_application_dbus_register
    functionSourceFile: /src/glib/gio/tests/gapplication-example-dbushooks.c
    functionUses: []
    functionsReached:
    - G_APPLICATION_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_application_dbus_register (GApplication *application,
      GDBusConnection *connection, const gchar *object_path, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:73,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:75,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:73,1
    - Dst: test_application_get_type
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - application_id
    - flags
    argTypes:
    - gchar*
    - GApplicationFlags
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: test_application_new
    functionSourceFile: /src/glib/gio/tests/gapplication-example-dbushooks.c
    functionUses: []
    functionsReached:
    - test_application_get_type
    - g_return_val_if_fail
    - g_application_id_is_valid
    - g_object_new
    linkageType: ''
    returnType: GApplication*
    signature: 'static GApplication *test_application_new (const gchar *application_id,
      GApplicationFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_application_new
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:87,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:91,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:89,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:88,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:88,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-dbushooks.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gapplication-example-dbushooks.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - g_signal_connect
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - test_application_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket-listener.c:32,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket-listener.c:34,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket-listener.c:33,1
    - Dst: G_IS_SOCKET_LISTENER
      Src: /src/glib/gio/tests/socket-listener.c:32,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/socket-listener.c:33,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - listener
    - event
    - socket
    - data
    argTypes:
    - GSocketListener*
    - GSocketListenerEvent
    - GSocket*
    - gpointer
    constantsTouched: []
    func_position:
      end: 51
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 51
    functionName: event_cb
    functionSourceFile: /src/glib/gio/tests/socket-listener.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IS_SOCKET_LISTENER
    - G_IS_SOCKET
    linkageType: ''
    returnType: void
    signature: 'static void event_cb (GSocketListener *listener, GSocketListenerEvent
      event, GSocket *socket, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket-listener.c:62,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-listener.c:64,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket-listener.c:63,1
    - Dst: g_socket_listener_new
      Src: /src/glib/gio/tests/socket-listener.c:66,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/socket-listener.c:68,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/socket-listener.c:68,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/tests/socket-listener.c:70,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-listener.c:77,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket-listener.c:78,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-listener.c:80,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-listener.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: test_event_signal
    functionSourceFile: /src/glib/gio/tests/socket-listener.c
    functionUses: []
    functionsReached:
    - g_socket_listener_add_address
    - g_signal_connect
    - g_socket_listener_new
    - g_inet_socket_address_new
    - g_assert_no_error
    - g_object_unref
    - G_CALLBACK
    - g_inet_address_new_loopback
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_event_signal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/socket-listener.c:88,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket-listener.c:90,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/socket-listener.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/glib/gio/tests/socket-listener.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/data-output-stream.c:41,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:45,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/data-output-stream.c:47,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:44,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:48,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/data-output-stream.c:49,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:50,1
    - Dst: g_data_output_stream_get_byte_order
      Src: /src/glib/gio/tests/data-output-stream.c:50,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:50,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:52,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-output-stream.c:54,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_data_output_stream_get_byte_order
    - g_free
    - G_DATA_OUTPUT_STREAM
    - g_malloc0
    - G_OUTPUT_STREAM
    - g_object_set
    - g_object_unref
    - g_data_output_stream_new
    - g_memory_output_stream_new
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_read_lines
      Src: /src/glib/gio/tests/data-output-stream.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: test_read_lines_CR_LF
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - test_read_lines
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines_CR_LF (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_read_lines
      Src: /src/glib/gio/tests/data-output-stream.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: test_read_lines_LF
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - test_read_lines
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines_LF (void) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:154,1
    - Dst: g_data_output_stream_set_byte_order
      Src: /src/glib/gio/tests/data-output-stream.c:156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:169,1
    - Dst: g_data_output_stream_put_int32
      Src: /src/glib/gio/tests/data-output-stream.c:200,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:194,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:191,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:203,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:206,1
    - Dst: g_data_output_stream_put_uint64
      Src: /src/glib/gio/tests/data-output-stream.c:209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:230,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:248,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-output-stream.c:236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:254,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:260,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-output-stream.c:272,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/tests/data-output-stream.c:191,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-output-stream.c:230,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:232,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:238,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:242,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/data-output-stream.c:265,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:270,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/data-output-stream.c:153,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:155,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:155,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/data-output-stream.c:181,1
    - Dst: g_data_output_stream_put_uint16
      Src: /src/glib/gio/tests/data-output-stream.c:197,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:197,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:200,1
    - Dst: g_data_output_stream_put_uint32
      Src: /src/glib/gio/tests/data-output-stream.c:203,1
    - Dst: g_data_output_stream_put_int16
      Src: /src/glib/gio/tests/data-output-stream.c:194,1
    - Dst: g_data_output_stream_put_int64
      Src: /src/glib/gio/tests/data-output-stream.c:206,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-output-stream.c:248,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:226,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-output-stream.c:260,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:262,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:244,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:271,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:215,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:177,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/data-output-stream.c:212,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:216,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:236,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-output-stream.c:242,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:250,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-output-stream.c:254,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:256,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 80
    argCount: 4
    argNames:
    - buffer
    - len
    - data_type
    - byte_order
    argTypes:
    - guchar*
    - gsize
    - enum TestDataType
    - GDataStreamByteOrder
    constantsTouched: []
    func_position:
      end: 273
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 273
    functionName: test_data_array
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - g_data_output_stream_put_uint64
    - GUINT32_SWAP_LE_BE
    - g_data_output_stream_put_uint16
    - g_assert_cmpint
    - g_data_output_stream_put_byte
    - GUINT64_SWAP_LE_BE
    - g_malloc0
    - g_assert_not_reached
    - g_object_unref
    - g_data_output_stream_put_int16
    - g_data_output_stream_new
    - g_data_output_stream_put_int64
    - g_memory_output_stream_new
    - g_data_output_stream_set_byte_order
    - g_assert_no_error
    - g_free
    - G_DATA_OUTPUT_STREAM
    - g_data_output_stream_put_int32
    - GUINT16_SWAP_LE_BE
    - G_OUTPUT_STREAM
    - g_data_output_stream_put_uint32
    linkageType: ''
    returnType: void
    signature: "static void test_data_array (guchar *buffer, gsize len,\t\t enum TestDataType
      data_type, GDataStreamByteOrder byte_order) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:352,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:383,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:402,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:408,1
    - Dst: g_data_output_stream_put_uint16
      Src: /src/glib/gio/tests/data-output-stream.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:369,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:394,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:395,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:396,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/data-output-stream.c:399,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:333,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:361,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:402,1
    - Dst: g_data_output_stream_put_uint16
      Src: /src/glib/gio/tests/data-output-stream.c:364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:368,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:386,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:334,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:388,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:400,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:412,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:348,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:387,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:388,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:401,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:376,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:373,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:327,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:332,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:374,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:371,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:380,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:382,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:351,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/tests/data-output-stream.c:323,1
    - Dst: g_data_output_stream_put_uint16
      Src: /src/glib/gio/tests/data-output-stream.c:331,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:337,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:370,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:382,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:405,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:419,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:336,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:344,1
    - Dst: g_data_output_stream_put_uint16
      Src: /src/glib/gio/tests/data-output-stream.c:345,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:346,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:416,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:366,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:335,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:350,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:363,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:362,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:391,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:403,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:410,1
    - Dst: g_data_output_stream_set_byte_order
      Src: /src/glib/gio/tests/data-output-stream.c:321,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:327,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:344,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:362,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:385,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:320,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:341,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:343,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:348,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-output-stream.c:420,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/data-output-stream.c:379,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:332,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:337,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:342,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:387,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:409,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:413,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:375,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/data-output-stream.c:322,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:330,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:365,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:390,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:329,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/data-output-stream.c:340,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:349,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/data-output-stream.c:367,1
    - Dst: g_data_output_stream_put_uint16
      Src: /src/glib/gio/tests/data-output-stream.c:384,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:418,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:408,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/data-output-stream.c:318,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:320,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:363,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:368,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:381,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:403,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:414,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:415,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/data-output-stream.c:359,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:355,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:356,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:383,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:354,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:389,1
    - Dst: g_data_output_stream_put_uint16
      Src: /src/glib/gio/tests/data-output-stream.c:404,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:406,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 130
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 421
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 421
    functionName: test_seek
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - g_memory_output_stream_get_data_size
    - g_free
    - g_malloc0
    - g_data_output_stream_set_byte_order
    - g_assert
    - G_OUTPUT_STREAM
    - g_assert_no_error
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_seekable_can_truncate
    - g_seekable_seek
    - G_SEEKABLE
    - g_data_output_stream_new
    - g_memory_output_stream_new
    - g_data_output_stream_put_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_seek (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:94,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:96,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:97,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:101,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:105,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-output-stream.c:106,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/data-output-stream.c:73,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/data-output-stream.c:85,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:86,1
    - Dst: strlen
      Src: /src/glib/gio/tests/data-output-stream.c:87,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:95,1
    - Dst: g_data_output_stream_set_byte_order
      Src: /src/glib/gio/tests/data-output-stream.c:94,1
    - Dst: g_stpcpy
      Src: /src/glib/gio/tests/data-output-stream.c:87,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:95,1
    - Dst: g_data_output_stream_get_byte_order
      Src: /src/glib/gio/tests/data-output-stream.c:97,1
    - Dst: strlen
      Src: /src/glib/gio/tests/data-output-stream.c:100,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:89,1
    - Dst: g_data_output_stream_set_byte_order
      Src: /src/glib/gio/tests/data-output-stream.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-output-stream.c:107,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:104,1
    - Dst: strlen
      Src: /src/glib/gio/tests/data-output-stream.c:74,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:77,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/data-output-stream.c:74,1
    - Dst: strlen
      Src: /src/glib/gio/tests/data-output-stream.c:74,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:78,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:78,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/tests/data-output-stream.c:86,1
    - Dst: g_data_output_stream_get_byte_order
      Src: /src/glib/gio/tests/data-output-stream.c:95,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:88,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-output-stream.c:90,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:97,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/data-output-stream.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - newline_type
    argTypes:
    - GDataStreamNewlineType
    constantsTouched: []
    func_position:
      end: 108
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 108
    functionName: test_read_lines
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_data_output_stream_put_string
    - g_free
    - G_DATA_OUTPUT_STREAM
    - g_data_output_stream_get_byte_order
    - g_malloc0
    - g_assert
    - g_data_output_stream_set_byte_order
    - G_OUTPUT_STREAM
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_stpcpy
    - g_strconcat
    - g_data_output_stream_new
    - g_memory_output_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines (GDataStreamNewlineType newline_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_read_lines
      Src: /src/glib/gio/tests/data-output-stream.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: test_read_lines_CR
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - test_read_lines
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines_CR (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new
      Src: /src/glib/gio/tests/data-output-stream.c:282,1
    - Dst: g_rand_free
      Src: /src/glib/gio/tests/data-output-stream.c:300,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/data-output-stream.c:283,1
    - Dst: test_data_array
      Src: /src/glib/gio/tests/data-output-stream.c:297,1
    - Dst: g_rand_int
      Src: /src/glib/gio/tests/data-output-stream.c:289,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-output-stream.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 302
    functionName: test_read_int
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - test_data_array
    - g_free
    - g_rand_free
    - g_malloc0
    - g_rand_int
    - g_rand_new
    linkageType: ''
    returnType: void
    signature: 'static void test_read_int (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:447,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/data-output-stream.c:454,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:460,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:464,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:469,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:470,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:476,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:477,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:479,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/data-output-stream.c:480,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:483,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:490,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:478,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:488,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:481,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:491,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:491,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:482,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/data-output-stream.c:478,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:438,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:438,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/data-output-stream.c:441,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:443,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:446,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:447,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:458,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:465,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:466,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:479,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:489,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:496,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:494,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/data-output-stream.c:490,1
    - Dst: g_data_output_stream_set_byte_order
      Src: /src/glib/gio/tests/data-output-stream.c:440,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/tests/data-output-stream.c:443,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:450,1
    - Dst: g_data_output_stream_put_uint16
      Src: /src/glib/gio/tests/data-output-stream.c:451,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:452,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:454,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:459,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/tests/data-output-stream.c:463,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:467,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/data-output-stream.c:468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:484,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-output-stream.c:497,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/tests/data-output-stream.c:487,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/data-output-stream.c:437,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/data-output-stream.c:439,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/data-output-stream.c:439,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/data-output-stream.c:446,1
    - Dst: g_data_output_stream_put_uint16
      Src: /src/glib/gio/tests/data-output-stream.c:448,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-output-stream.c:453,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-output-stream.c:449,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/data-output-stream.c:456,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:457,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/data-output-stream.c:467,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:471,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/tests/data-output-stream.c:475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-output-stream.c:493,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/data-output-stream.c:492,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/data-output-stream.c:466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 80
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 498
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 498
    functionName: test_truncate
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_memory_output_stream_get_data_size
    - g_malloc0
    - g_data_output_stream_set_byte_order
    - g_assert
    - G_OUTPUT_STREAM
    - g_memory_output_stream_get_size
    - g_assert_no_error
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_seekable_truncate
    - g_memory_output_stream_get_data
    - g_seekable_can_truncate
    - G_SEEKABLE
    - g_data_output_stream_new
    - g_memory_output_stream_new
    - g_data_output_stream_put_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_truncate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/data-output-stream.c:504,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-output-stream.c:508,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-output-stream.c:506,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-output-stream.c:509,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-output-stream.c:507,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-output-stream.c:510,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-output-stream.c:511,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-output-stream.c:512,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/data-output-stream.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 515
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 515
    functionName: main
    functionSourceFile: /src/glib/gio/tests/data-output-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/tests/gmenumodel.c:68,1
    - Dst: g_menu_attribute_iter_get_value
      Src: /src/glib/gio/tests/gmenumodel.c:76,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gmenumodel.c:81,1
    - Dst: g_markup_printf_escaped
      Src: /src/glib/gio/tests/gmenumodel.c:81,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:101,1
    - Dst: g_menu_link_iter_next
      Src: /src/glib/gio/tests/gmenumodel.c:105,1
    - Dst: g_menu_link_iter_get_name
      Src: /src/glib/gio/tests/gmenumodel.c:107,1
    - Dst: g_menu_link_iter_get_value
      Src: /src/glib/gio/tests/gmenumodel.c:108,1
    - Dst: indent_string
      Src: /src/glib/gio/tests/gmenumodel.c:129,1
    - Dst: indent_string
      Src: /src/glib/gio/tests/gmenumodel.c:132,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/tests/gmenumodel.c:140,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gmenumodel.c:57,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gmenumodel.c:70,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:78,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gmenumodel.c:82,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/tests/gmenumodel.c:93,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gmenumodel.c:98,1
    - Dst: g_menu_markup_print_string
      Src: /src/glib/gio/tests/gmenumodel.c:119,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gmenumodel.c:122,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:125,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gmenumodel.c:130,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gmenumodel.c:71,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gmenumodel.c:92,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gmenumodel.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gmenumodel.c:97,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:103,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/tests/gmenumodel.c:112,1
    - Dst: g_markup_printf_escaped
      Src: /src/glib/gio/tests/gmenumodel.c:114,1
    - Dst: indent_string
      Src: /src/glib/gio/tests/gmenumodel.c:115,1
    - Dst: indent_string
      Src: /src/glib/gio/tests/gmenumodel.c:121,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:123,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gmenumodel.c:133,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gmenumodel.c:143,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gmenumodel.c:131,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gmenumodel.c:147,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:59,1
    - Dst: g_menu_model_iterate_item_links
      Src: /src/glib/gio/tests/gmenumodel.c:69,1
    - Dst: g_menu_attribute_iter_next
      Src: /src/glib/gio/tests/gmenumodel.c:73,1
    - Dst: g_menu_attribute_iter_get_name
      Src: /src/glib/gio/tests/gmenumodel.c:75,1
    - Dst: g_markup_printf_escaped
      Src: /src/glib/gio/tests/gmenumodel.c:94,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gmenumodel.c:83,1
    - Dst: indent_string
      Src: /src/glib/gio/tests/gmenumodel.c:95,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gmenumodel.c:93,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gmenumodel.c:116,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gmenumodel.c:117,1
    - Dst: indent_string
      Src: /src/glib/gio/tests/gmenumodel.c:142,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gmenumodel.c:148,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 4
    argNames:
    - string
    - model
    - indent
    - tabstop
    argTypes:
    - GString*
    - GMenuModel*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 152
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 152
    functionName: g_menu_markup_print_string
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_menu_markup_print_string
    - indent_string
    - g_markup_printf_escaped
    - g_menu_link_iter_get_value
    - g_menu_attribute_iter_get_name
    - g_string_append_c
    - g_menu_model_get_n_items
    - g_variant_print
    - g_object_unref
    - g_string_free
    - g_variant_get_string
    - g_menu_model_iterate_item_links
    - g_variant_type_peek_string
    - g_variant_unref
    - g_menu_attribute_iter_get_value
    - g_variant_get_type
    - g_string_new
    - g_free
    - g_menu_model_iterate_item_attributes
    - g_string_append_printf
    - g_menu_link_iter_get_name
    - g_menu_link_iter_next
    - g_menu_attribute_iter_next
    - g_variant_is_of_type
    linkageType: ''
    returnType: GString*
    signature: 'static GString *g_menu_markup_print_string (GString *string, GMenuModel
      *model, gint indent, gint tabstop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get
      Src: /src/glib/gio/tests/gmenumodel.c:226,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/tests/gmenumodel.c:227,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/tests/gmenumodel.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - model
    - position
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: random_menu_get_item_attributes
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_sequence_get
    - g_sequence_get_iter_at_pos
    linkageType: ''
    returnType: void
    signature: 'static void random_menu_get_item_attributes (GMenuModel *model, gint
      position, GHashTable **table) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_int_range
      Src: /src/glib/gio/tests/gmenumodel.c:286,1
    - Dst: g_rand_int_range
      Src: /src/glib/gio/tests/gmenumodel.c:287,1
    - Dst: g_rand_int_range
      Src: /src/glib/gio/tests/gmenumodel.c:288,1
    - Dst: g_rand_boolean
      Src: /src/glib/gio/tests/gmenumodel.c:322,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gmenumodel.c:341,1
    - Dst: random_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:316,1
    - Dst: g_rand_boolean
      Src: /src/glib/gio/tests/gmenumodel.c:318,1
    - Dst: test_item_new
      Src: /src/glib/gio/tests/gmenumodel.c:343,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/tests/gmenumodel.c:345,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/tests/gmenumodel.c:282,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/tests/gmenumodel.c:298,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/tests/gmenumodel.c:299,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/tests/gmenumodel.c:344,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/tests/gmenumodel.c:309,1
    - Dst: g_rand_boolean
      Src: /src/glib/gio/tests/gmenumodel.c:311,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gmenumodel.c:341,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gmenumodel.c:341,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gmenumodel.c:341,1
    - Dst: g_menu_model_items_changed
      Src: /src/glib/gio/tests/gmenumodel.c:348,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:348,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/tests/gmenumodel.c:292,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/tests/gmenumodel.c:308,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gmenumodel.c:334,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gmenumodel.c:334,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/tests/gmenumodel.c:343,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 2
    argNames:
    - menu
    - rand
    argTypes:
    - RandomMenu*
    - GRand*
    constantsTouched: []
    func_position:
      end: 349
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 349
    functionName: random_menu_change
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_insert_before
    - g_strdup
    - g_menu_model_items_changed
    - random_menu_new
    - g_hash_table_unref
    - g_variant_new_string
    - g_sequence_remove_range
    - g_hash_table_insert
    - G_MENU_MODEL
    - g_rand_boolean
    - g_rand_int_range
    - test_item_new
    - g_variant_ref_sink
    - g_sequence_get_length
    - g_hash_table_new_full
    - g_sequence_get_iter_at_pos
    linkageType: ''
    returnType: void
    signature: 'static void random_menu_change (RandomMenu *menu, GRand *rand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:680,1
    - Dst: g_menu_markup_print_string
      Src: /src/glib/gio/tests/gmenumodel.c:698,1
    - Dst: g_menu_markup_print_string
      Src: /src/glib/gio/tests/gmenumodel.c:699,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gmenumodel.c:700,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/gio/tests/gmenumodel.c:709,1
    - Dst: g_rand_int
      Src: /src/glib/gio/tests/gmenumodel.c:709,1
    - Dst: g_rand_free
      Src: /src/glib/gio/tests/gmenumodel.c:719,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:699,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:682,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gmenumodel.c:701,1
    - Dst: g_rand_free
      Src: /src/glib/gio/tests/gmenumodel.c:720,1
    - Dst: random_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:679,1
    - Dst: random_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:678,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:681,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:693,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:693,1
    - Dst: g_rand_free
      Src: /src/glib/gio/tests/gmenumodel.c:708,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:715,1
    - Dst: g_test_rand_int
      Src: /src/glib/gio/tests/gmenumodel.c:669,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/gio/tests/gmenumodel.c:671,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/gio/tests/gmenumodel.c:672,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:680,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:680,1
    - Dst: g_rand_int
      Src: /src/glib/gio/tests/gmenumodel.c:685,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:698,1
    - Dst: random_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:692,1
    - Dst: random_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:691,1
    - Dst: check_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:693,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gmenumodel.c:702,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:716,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 721
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 721
    functionName: test_equality
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - random_menu_new
    - g_menu_markup_print_string
    - g_rand_free
    - g_rand_int
    - g_rand_new_with_seed
    - G_MENU_MODEL
    - g_object_unref
    - g_assert_cmpstr
    - check_menus_equal
    - g_string_free
    - g_test_rand_int
    - assert_menus_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_equality (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gmenumodel.c:807,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gmenumodel.c:810,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/gmenumodel.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - PeerConnection*
    constantsTouched: []
    func_position:
      end: 811
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 811
    functionName: await_server_connection
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void await_server_connection (PeerConnection *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/tests/gmenumodel.c:880,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/tests/gmenumodel.c:882,1
    - Dst: g_cond_init
      Src: /src/glib/gio/tests/gmenumodel.c:883,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gmenumodel.c:887,1
    - Dst: await_service_loop
      Src: /src/glib/gio/tests/gmenumodel.c:890,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:891,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gmenumodel.c:896,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gmenumodel.c:896,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gmenumodel.c:901,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:902,1
    - Dst: await_server_connection
      Src: /src/glib/gio/tests/gmenumodel.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - PeerConnection*
    constantsTouched: []
    func_position:
      end: 904
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 904
    functionName: peer_connection_up
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_dbus_server_get_client_address
    - memset
    - g_thread_new
    - await_service_loop
    - g_mutex_init
    - g_dbus_connection_new_for_address_sync
    - await_server_connection
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'static void peer_connection_up (PeerConnection *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_export_menu_model
      Src: /src/glib/gio/tests/gmenumodel.c:971,1
    - Dst: g_test_rand_int
      Src: /src/glib/gio/tests/gmenumodel.c:968,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:973,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gmenumodel.c:982,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gmenumodel.c:984,1
    - Dst: mirror_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:978,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gmenumodel.c:985,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gmenumodel.c:987,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:991,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:992,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:989,1
    - Dst: g_rand_free
      Src: /src/glib/gio/tests/gmenumodel.c:993,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/gio/tests/gmenumodel.c:968,1
    - Dst: random_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:970,1
    - Dst: g_dbus_menu_model_get
      Src: /src/glib/gio/tests/gmenumodel.c:975,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gmenumodel.c:976,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:978,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gmenumodel.c:988,1
    - Dst: g_dbus_connection_unexport_menu_model
      Src: /src/glib/gio/tests/gmenumodel.c:990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - exporter_connection
    - proxy_connection
    argTypes:
    - GDBusConnection*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 994
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 994
    functionName: do_roundtrip
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - random_menu_new
    - g_dbus_connection_export_menu_model
    - mirror_menu_new
    - g_rand_free
    - g_source_remove
    - g_rand_new_with_seed
    - G_MENU_MODEL
    - g_dbus_menu_model_get
    - g_object_unref
    - g_dbus_connection_unexport_menu_model
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_dbus_connection_get_unique_name
    - g_timeout_add
    - g_test_rand_int
    linkageType: ''
    returnType: void
    signature: 'static void do_roundtrip (GDBusConnection *exporter_connection, GDBusConnection
      *proxy_connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_timeout
      Src: /src/glib/gio/tests/gmenumodel.c:1055,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1062,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gmenumodel.c:1064,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gmenumodel.c:1087,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gmenumodel.c:1095,1
    - Dst: g_menu_append
      Src: /src/glib/gio/tests/gmenumodel.c:1102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1111,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1111,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1115,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gmenumodel.c:1117,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gmenumodel.c:1124,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1126,1
    - Dst: g_dbus_connection_export_menu_model
      Src: /src/glib/gio/tests/gmenumodel.c:1060,1
    - Dst: g_dbus_menu_model_get
      Src: /src/glib/gio/tests/gmenumodel.c:1066,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gmenumodel.c:1067,1
    - Dst: g_menu_append
      Src: /src/glib/gio/tests/gmenumodel.c:1073,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1077,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:1084,1
    - Dst: g_menu_append
      Src: /src/glib/gio/tests/gmenumodel.c:1075,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1091,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1097,1
    - Dst: g_menu_remove
      Src: /src/glib/gio/tests/gmenumodel.c:1103,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:1111,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gmenumodel.c:1123,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1129,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1084,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1090,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:1091,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1091,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gmenumodel.c:1094,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1096,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1097,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:1097,1
    - Dst: g_menu_append
      Src: /src/glib/gio/tests/gmenumodel.c:1101,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gmenumodel.c:1107,1
    - Dst: g_menu_remove
      Src: /src/glib/gio/tests/gmenumodel.c:1120,1
    - Dst: g_menu_remove
      Src: /src/glib/gio/tests/gmenumodel.c:1121,1
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1058,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gmenumodel.c:1056,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gmenumodel.c:1070,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gmenumodel.c:1071,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gmenumodel.c:1081,1
    - Dst: g_menu_append
      Src: /src/glib/gio/tests/gmenumodel.c:1074,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gmenumodel.c:1080,1
    - Dst: g_menu_append
      Src: /src/glib/gio/tests/gmenumodel.c:1100,1
    - Dst: g_menu_remove
      Src: /src/glib/gio/tests/gmenumodel.c:1104,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gmenumodel.c:1118,1
    - Dst: cancel_timeout
      Src: /src/glib/gio/tests/gmenumodel.c:1132,1
    - Dst: g_dbus_connection_unexport_menu_model
      Src: /src/glib/gio/tests/gmenumodel.c:1128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 2
    argNames:
    - exporter_connection
    - proxy_connection
    argTypes:
    - GDBusConnection*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1133
    functionName: do_subscriptions
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - cancel_timeout
    - g_menu_model_get_n_items
    - g_main_loop_run
    - g_dbus_connection_get_unique_name
    - g_timeout_add
    - g_assert_cmpint
    - g_menu_append
    - g_dbus_menu_model_get
    - G_MENU_MODEL
    - g_object_unref
    - g_dbus_connection_unexport_menu_model
    - g_signal_connect
    - g_menu_remove
    - g_menu_new
    - g_assert_no_error
    - add_timeout
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_main_context_iteration
    - g_dbus_connection_export_menu_model
    linkageType: ''
    returnType: void
    signature: 'static void do_subscriptions (GDBusConnection *exporter_connection,
      GDBusConnection *proxy_connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get
      Src: /src/glib/gio/tests/gmenumodel.c:238,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/tests/gmenumodel.c:239,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/tests/gmenumodel.c:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - model
    - position
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: random_menu_get_item_links
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_sequence_get
    - g_sequence_get_iter_at_pos
    linkageType: ''
    returnType: void
    signature: 'static void random_menu_get_item_links (GMenuModel *model, gint position,
      GHashTable **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gmenumodel.c:357,1
    - Dst: g_sequence_new
      Src: /src/glib/gio/tests/gmenumodel.c:358,1
    - Dst: random_menu_get_type
      Src: /src/glib/gio/tests/gmenumodel.c:357,1
    - Dst: random_menu_change
      Src: /src/glib/gio/tests/gmenumodel.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - rand
    - order
    argTypes:
    - GRand*
    - gint
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: random_menu_new
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_new
    - random_menu_change
    - g_object_new
    - random_menu_get_type
    linkageType: ''
    returnType: RandomMenu*
    signature: 'static RandomMenu *random_menu_new (GRand *rand, gint order) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gmenumodel.c:824,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gmenumodel.c:831,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gmenumodel.c:848,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gmenumodel.c:853,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gmenumodel.c:851,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gmenumodel.c:856,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gmenumodel.c:838,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gmenumodel.c:847,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gmenumodel.c:864,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gmenumodel.c:859,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gmenumodel.c:869,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gmenumodel.c:832,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gmenumodel.c:841,1
    - Dst: teardown_service_loop
      Src: /src/glib/gio/tests/gmenumodel.c:863,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gmenumodel.c:825,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gmenumodel.c:834,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gmenumodel.c:849,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gmenumodel.c:868,1
    - Dst: create_service_loop
      Src: /src/glib/gio/tests/gmenumodel.c:858,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gmenumodel.c:861,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 873
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 873
    functionName: service_thread_func
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_main_context_push_thread_default
    - g_dbus_server_new_sync
    - g_free
    - g_signal_connect
    - g_rmdir
    - g_main_context_unref
    - g_assert_no_error
    - g_dir_make_tmp
    - teardown_service_loop
    - g_strdup_printf
    - g_dbus_generate_guid
    - G_CALLBACK
    - g_dbus_server_start
    - create_service_loop
    - g_main_loop_run
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer service_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:909,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gmenumodel.c:915,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:913,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:910,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gmenumodel.c:912,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gmenumodel.c:916,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/tests/gmenumodel.c:918,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/tests/gmenumodel.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - PeerConnection*
    constantsTouched: []
    func_position:
      end: 920
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 920
    functionName: peer_connection_down
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_dbus_server_stop
    - g_object_unref
    - g_thread_join
    - g_main_loop_quit
    - g_cond_clear
    - g_mutex_clear
    linkageType: ''
    returnType: void
    signature: 'static void peer_connection_down (PeerConnection *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gmenumodel.c:1001,1
    - Dst: do_roundtrip
      Src: /src/glib/gio/tests/gmenumodel.c:1002,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1004
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1004
    functionName: test_dbus_roundtrip
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - do_roundtrip
    - g_bus_get_sync
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_roundtrip (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gmenumodel.c:1140,1
    - Dst: do_subscriptions
      Src: /src/glib/gio/tests/gmenumodel.c:1141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    functionName: test_dbus_subscriptions
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - do_subscriptions
    - g_bus_get_sync
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_subscriptions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1403,1
    - Dst: g_menu_append
      Src: /src/glib/gio/tests/gmenumodel.c:1404,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1406,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1406,1
    - Dst: g_menu_model_is_mutable
      Src: /src/glib/gio/tests/gmenumodel.c:1406,1
    - Dst: g_menu_freeze
      Src: /src/glib/gio/tests/gmenumodel.c:1407,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1408,1
    - Dst: g_menu_model_is_mutable
      Src: /src/glib/gio/tests/gmenumodel.c:1408,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1408,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1411
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1411
    functionName: test_mutable
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_new
    - g_menu_append
    - g_assert
    - G_MENU_MODEL
    - g_menu_freeze
    - g_object_unref
    - g_menu_model_is_mutable
    linkageType: ''
    returnType: void
    signature: 'static void test_mutable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/tests/gmenumodel.c:633,1
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/tests/gmenumodel.c:634,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gmenumodel.c:638,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:639,1
    - Dst: g_menu_item_get_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:638,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/tests/gmenumodel.c:639,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:641,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:642,1
    - Dst: g_menu_model_iterate_item_links
      Src: /src/glib/gio/tests/gmenumodel.c:645,1
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/tests/gmenumodel.c:646,1
    - Dst: g_menu_item_get_link
      Src: /src/glib/gio/tests/gmenumodel.c:650,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:651,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:653,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:654,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:657,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:658,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - item
    - model
    - index
    argTypes:
    - GMenuItem*
    - GMenuModel*
    - gint
    constantsTouched: []
    func_position:
      end: 659
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 659
    functionName: assert_menuitem_equal
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_menu_model_iterate_item_attributes
    - g_menu_attribute_iter_get_next
    - g_variant_unref
    - g_object_unref
    - g_menu_link_iter_get_next
    - g_variant_get_type
    - g_variant_equal
    - g_menu_item_get_link
    - g_menu_item_get_attribute_value
    - g_menu_model_iterate_item_links
    linkageType: ''
    returnType: void
    signature: 'static void assert_menuitem_equal (GMenuItem *item, GMenuModel *model,
      gint index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_c
      Src: /src/glib/gio/tests/gmenumodel.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - string
    - indent
    argTypes:
    - GString*
    - gint
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: indent_string
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    linkageType: ''
    returnType: void
    signature: 'static void indent_string (GString *string, gint indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alarm
      Src: /src/glib/gio/tests/gmenumodel.c:29,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gmenumodel.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - timeout_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: cancel_timeout
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - alarm
    - g_source_remove
    linkageType: ''
    returnType: void
    signature: 'static void cancel_timeout (guint timeout_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: random_menu_is_mutable
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean random_menu_is_mutable (GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_free
      Src: /src/glib/gio/tests/gmenumodel.c:247,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gmenumodel.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: random_menu_finalize
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void random_menu_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gmenumodel.c:426,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:429,1
    - Dst: g_sequence_free
      Src: /src/glib/gio/tests/gmenumodel.c:428,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gmenumodel.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: mirror_menu_finalize
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_free
    - G_OBJECT_CLASS
    - g_object_unref
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void mirror_menu_finalize (GObject *object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:539,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:540,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:562,1
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/tests/gmenumodel.c:564,1
    - Dst: g_menu_model_get_item_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:567,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:584,1
    - Dst: g_menu_model_iterate_item_links
      Src: /src/glib/gio/tests/gmenumodel.c:586,1
    - Dst: g_menu_model_get_item_link
      Src: /src/glib/gio/tests/gmenumodel.c:589,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:592,1
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/tests/gmenumodel.c:553,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/tests/gmenumodel.c:557,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:571,1
    - Dst: check_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:579,1
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/tests/gmenumodel.c:554,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:560,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/tests/gmenumodel.c:568,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:570,1
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/tests/gmenumodel.c:576,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:582,1
    - Dst: check_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:590,1
    - Dst: g_menu_model_get_item_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:556,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:559,1
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/tests/gmenumodel.c:565,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:573,1
    - Dst: g_menu_model_iterate_item_links
      Src: /src/glib/gio/tests/gmenumodel.c:575,1
    - Dst: g_menu_model_get_item_link
      Src: /src/glib/gio/tests/gmenumodel.c:578,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:581,1
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/tests/gmenumodel.c:587,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:593,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:595,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GMenuModel*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 599
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 599
    functionName: check_menus_equal
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_model_get_item_link
    - g_menu_model_iterate_item_attributes
    - g_menu_attribute_iter_get_next
    - g_variant_unref
    - g_object_unref
    - g_menu_model_get_n_items
    - check_menus_equal
    - g_variant_equal
    - g_menu_model_get_item_attribute_value
    - g_menu_link_iter_get_next
    - g_menu_model_iterate_item_links
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_menus_equal (GMenuModel *a, GMenuModel *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gmenumodel.c:790,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gmenumodel.c:791,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gmenumodel.c:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - PeerConnection*
    constantsTouched: []
    func_position:
      end: 793
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 793
    functionName: teardown_service_loop
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void teardown_service_loop (PeerConnection *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete
      Src: /src/glib/gio/tests/gmenumodel.c:1149,1
    - Dst: peer_connection_down
      Src: /src/glib/gio/tests/gmenumodel.c:1157,1
    - Dst: do_subscriptions
      Src: /src/glib/gio/tests/gmenumodel.c:1156,1
    - Dst: peer_connection_up
      Src: /src/glib/gio/tests/gmenumodel.c:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1159
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1159
    functionName: test_dbus_peer_subscriptions
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_test_incomplete
    - do_subscriptions
    - peer_connection_up
    - peer_connection_down
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_peer_subscriptions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1260,1
    - Dst: g_menu_append_item
      Src: /src/glib/gio/tests/gmenumodel.c:1253,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1261,1
    - Dst: g_menu_model_get_item_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1267,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1269,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1278,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1268,1
    - Dst: g_menu_remove_all
      Src: /src/glib/gio/tests/gmenumodel.c:1275,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1277,1
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1242,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1246,1
    - Dst: g_menu_item_new
      Src: /src/glib/gio/tests/gmenumodel.c:1244,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gmenumodel.c:1246,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gmenumodel.c:1249,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1250,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1259,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1263,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1271,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1272,1
    - Dst: g_menu_model_get_item_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1259,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1257,1
    - Dst: g_menu_model_get_item_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1263,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1264,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1265,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1267,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1268,1
    - Dst: g_menu_model_get_item_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1271,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gmenumodel.c:1272,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gmenumodel.c:1245,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1245,1
    - Dst: g_menu_item_set_attribute
      Src: /src/glib/gio/tests/gmenumodel.c:1248,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1251,1
    - Dst: g_menu_item_set_attribute
      Src: /src/glib/gio/tests/gmenumodel.c:1255,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gmenumodel.c:1251,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:1257,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1257,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1260,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1264,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1272,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1279
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1279
    functionName: test_attributes
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_assert_cmpint
    - g_variant_new_string
    - g_menu_new
    - g_assert
    - g_menu_append_item
    - g_menu_remove_all
    - g_menu_item_set_attribute_value
    - G_MENU_MODEL
    - g_menu_item_new
    - g_variant_new_boolean
    - g_menu_item_set_attribute
    - g_variant_unref
    - g_menu_model_get_n_items
    - g_object_unref
    - g_menu_model_get_item_attribute_value
    - g_variant_new_parsed
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void test_attributes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/tests/gmenumodel.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: random_menu_get_n_items
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_get_length
    linkageType: ''
    returnType: gint
    signature: 'static gint random_menu_get_n_items (GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - menu
    argTypes:
    - RandomMenu*
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: random_menu_init
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void random_menu_init (RandomMenu *menu) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - menu
    argTypes:
    - MirrorMenu*
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: mirror_menu_init
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mirror_menu_init (MirrorMenu *menu) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:605,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gmenumodel.c:611,1
    - Dst: g_menu_markup_print_string
      Src: /src/glib/gio/tests/gmenumodel.c:610,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gmenumodel.c:609,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:610,1
    - Dst: g_menu_markup_print_string
      Src: /src/glib/gio/tests/gmenumodel.c:612,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:612,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gmenumodel.c:613,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gmenumodel.c:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GMenuModel*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 616
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 616
    functionName: assert_menus_equal
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_menu_markup_print_string
    - g_string_append
    - g_error
    - G_MENU_MODEL
    - check_menus_equal
    linkageType: ''
    returnType: void
    signature: 'static void assert_menus_equal (GMenuModel *a, GMenuModel *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gmenumodel.c:798,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gmenumodel.c:801,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/gmenumodel.c:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - PeerConnection*
    constantsTouched: []
    func_position:
      end: 802
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 802
    functionName: await_service_loop
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void await_service_loop (PeerConnection *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new_with_seed
      Src: /src/glib/gio/tests/gmenumodel.c:1168,1
    - Dst: g_rand_free
      Src: /src/glib/gio/tests/gmenumodel.c:1175,1
    - Dst: random_menu_change
      Src: /src/glib/gio/tests/gmenumodel.c:1172,1
    - Dst: g_test_rand_int
      Src: /src/glib/gio/tests/gmenumodel.c:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1178
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1178
    functionName: do_modify
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - random_menu_change
    - g_rand_new_with_seed
    - g_test_rand_int
    - g_rand_free
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer do_modify (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gmenumodel.c:1298,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gmenumodel.c:1300,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:1306,1
    - Dst: g_menu_append_item
      Src: /src/glib/gio/tests/gmenumodel.c:1302,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/tests/gmenumodel.c:1308,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1306,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1321,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/gmenumodel.c:1323,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1324,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1335,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1333,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1333,1
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1291,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1295,1
    - Dst: g_menu_item_new
      Src: /src/glib/gio/tests/gmenumodel.c:1293,1
    - Dst: g_menu_item_set_attribute
      Src: /src/glib/gio/tests/gmenumodel.c:1304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1315,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1318,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1327,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1330,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1330,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/gmenumodel.c:1332,1
    - Dst: g_menu_remove_all
      Src: /src/glib/gio/tests/gmenumodel.c:1337,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gmenumodel.c:1295,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1300,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1310,1
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/tests/gmenumodel.c:1311,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gmenumodel.c:1312,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gmenumodel.c:1312,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1321,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1324,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/gmenumodel.c:1326,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gmenumodel.c:1327,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gmenumodel.c:1330,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1340,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/gmenumodel.c:1320,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gmenumodel.c:1294,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1294,1
    - Dst: g_menu_item_set_attribute
      Src: /src/glib/gio/tests/gmenumodel.c:1297,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/tests/gmenumodel.c:1299,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1306,1
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/tests/gmenumodel.c:1310,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1313,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/tests/gmenumodel.c:1315,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/gmenumodel.c:1317,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1318,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1339,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/gmenumodel.c:1329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1341
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1341
    functionName: test_attribute_iter
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_menu_append_item
    - g_menu_attribute_iter_get_next
    - g_hash_table_insert
    - g_menu_model_get_n_items
    - g_assert_cmpint
    - g_variant_new_string
    - g_menu_remove_all
    - G_MENU_MODEL
    - g_object_unref
    - g_menu_new
    - g_menu_item_set_attribute_value
    - g_menu_item_new
    - g_variant_new_boolean
    - g_hash_table_new_full
    - g_variant_new_parsed
    - g_strdup
    - G_VARIANT_TYPE
    - g_assert
    - g_hash_table_size
    - g_menu_model_iterate_item_attributes
    - g_menu_item_set_attribute
    - g_hash_table_lookup
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void test_attribute_iter (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gmenumodel.c:1617,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1623,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gmenumodel.c:1627,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1636,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gmenumodel.c:1610,1
    - Dst: g_dbus_menu_model_get
      Src: /src/glib/gio/tests/gmenumodel.c:1618,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gmenumodel.c:1620,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gmenumodel.c:1637,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gmenumodel.c:1634,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gmenumodel.c:1632,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gmenumodel.c:1625,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1640,1
    - Dst: org_gtk_Menus_get_interface
      Src: /src/glib/gio/tests/gmenumodel.c:1613,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gmenumodel.c:1626,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gmenumodel.c:1638,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gmenumodel.c:1608,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gmenumodel.c:1611,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gmenumodel.c:1613,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gmenumodel.c:1615,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gmenumodel.c:1620,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:1623,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1641
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1641
    functionName: test_input_validation
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_menu_model_get_n_items
    - g_main_loop_run
    - g_dbus_connection_get_unique_name
    - g_timeout_add
    - g_dbus_connection_register_object
    - g_dbus_menu_model_get
    - g_bus_get_sync
    - G_MENU_MODEL
    - g_object_unref
    - g_signal_connect
    - g_dbus_connection_unregister_object
    - g_assert_cmpuint
    - g_assert_no_error
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_test_bug
    - org_gtk_Menus_get_interface
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_input_validation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_item_new
      Src: /src/glib/gio/tests/gmenumodel.c:1356,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/tests/gmenumodel.c:1368,1
    - Dst: g_menu_item_set_link
      Src: /src/glib/gio/tests/gmenumodel.c:1372,1
    - Dst: g_menu_item_set_link
      Src: /src/glib/gio/tests/gmenumodel.c:1362,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/tests/gmenumodel.c:1363,1
    - Dst: g_menu_item_set_link
      Src: /src/glib/gio/tests/gmenumodel.c:1367,1
    - Dst: g_menu_item_set_link
      Src: /src/glib/gio/tests/gmenumodel.c:1373,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gmenumodel.c:1377,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:1377,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1381,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1394,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1392,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1395,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1351,1
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1351,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1383,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1387,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1388,1
    - Dst: g_menu_model_get_item_link
      Src: /src/glib/gio/tests/gmenumodel.c:1383,1
    - Dst: G_MENU
      Src: /src/glib/gio/tests/gmenumodel.c:1352,1
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1354,1
    - Dst: g_menu_prepend_item
      Src: /src/glib/gio/tests/gmenumodel.c:1358,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1359,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1364,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1369,1
    - Dst: g_menu_model_get_item_link
      Src: /src/glib/gio/tests/gmenumodel.c:1379,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1380,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1389,1
    - Dst: g_menu_model_get_item_link
      Src: /src/glib/gio/tests/gmenumodel.c:1391,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1385,1
    - Dst: g_menu_append
      Src: /src/glib/gio/tests/gmenumodel.c:1352,1
    - Dst: g_menu_item_set_link
      Src: /src/glib/gio/tests/gmenumodel.c:1357,1
    - Dst: g_menu_item_new
      Src: /src/glib/gio/tests/gmenumodel.c:1361,1
    - Dst: g_menu_item_new
      Src: /src/glib/gio/tests/gmenumodel.c:1366,1
    - Dst: g_menu_item_new
      Src: /src/glib/gio/tests/gmenumodel.c:1371,1
    - Dst: g_menu_append_item
      Src: /src/glib/gio/tests/gmenumodel.c:1374,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1375,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1377,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1379,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1384,1
    - Dst: g_menu_model_get_item_link
      Src: /src/glib/gio/tests/gmenumodel.c:1387,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1396
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1396
    functionName: test_links
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_model_get_item_link
    - g_assert_cmpint
    - g_menu_prepend_item
    - g_menu_new
    - g_menu_append
    - g_menu_item_set_link
    - g_menu_append_item
    - g_assert
    - G_MENU_MODEL
    - g_menu_item_new
    - g_object_unref
    - g_menu_model_get_n_items
    - g_menu_insert_item
    - G_MENU
    linkageType: ''
    returnType: void
    signature: 'static void test_links (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - menu
    - position
    - removed
    - added
    - user_data
    argTypes:
    - GMenuModel*
    - gint
    - gint
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 1591
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1591
    functionName: menu_changed
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void menu_changed (GMenuModel *menu, gint position, gint removed,
      gint added, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/tests/gmenumodel.c:170,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/tests/gmenumodel.c:171,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/tests/gmenumodel.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - attributes
    - links
    argTypes:
    - GHashTable*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: test_item_new
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_slice_new
    linkageType: ''
    returnType: TestItem*
    signature: 'static TestItem *test_item_new (GHashTable *attributes, GHashTable
      *links) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get
      Src: /src/glib/gio/tests/gmenumodel.c:404,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/tests/gmenumodel.c:405,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/tests/gmenumodel.c:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - model
    - position
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: mirror_menu_get_item_attributes
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_sequence_get
    - g_sequence_get_iter_at_pos
    linkageType: ''
    returnType: void
    signature: 'static void mirror_menu_get_item_attributes (GMenuModel *model, gint
      position, GHashTable **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gmenumodel.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuModelClass*
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: mirror_menu_class_init
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void mirror_menu_class_init (GMenuModelClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gmenumodel.c:768,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gmenumodel.c:771,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gmenumodel.c:769,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/tests/gmenumodel.c:770,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 774
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 774
    functionName: on_new_connection
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_cond_broadcast
    - g_mutex_unlock
    - g_object_ref
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_new_connection (GDBusServer *server, GDBusConnection
      *connection, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete
      Src: /src/glib/gio/tests/gmenumodel.c:1010,1
    - Dst: peer_connection_down
      Src: /src/glib/gio/tests/gmenumodel.c:1018,1
    - Dst: do_roundtrip
      Src: /src/glib/gio/tests/gmenumodel.c:1017,1
    - Dst: peer_connection_up
      Src: /src/glib/gio/tests/gmenumodel.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1020
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1020
    functionName: test_dbus_peer_roundtrip
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_test_incomplete
    - do_roundtrip
    - peer_connection_up
    - peer_connection_down
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_peer_roundtrip (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 5
    argNames:
    - model
    - position
    - removed
    - added
    - data
    argTypes:
    - GMenuModel*
    - gint
    - gint
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 1032
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1032
    functionName: items_changed
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void items_changed (GMenuModel *model, gint position, gint
      removed, gint added, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1420,1
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1422,1
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1421,1
    - Dst: assert_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:1452,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1456,1
    - Dst: g_menu_insert_submenu
      Src: /src/glib/gio/tests/gmenumodel.c:1450,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1449,1
    - Dst: g_menu_prepend_submenu
      Src: /src/glib/gio/tests/gmenumodel.c:1446,1
    - Dst: g_menu_insert
      Src: /src/glib/gio/tests/gmenumodel.c:1425,1
    - Dst: g_menu_insert
      Src: /src/glib/gio/tests/gmenumodel.c:1428,1
    - Dst: g_menu_item_new_section
      Src: /src/glib/gio/tests/gmenumodel.c:1431,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1433,1
    - Dst: g_menu_append_section
      Src: /src/glib/gio/tests/gmenumodel.c:1438,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1436,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1438,1
    - Dst: g_menu_insert_section
      Src: /src/glib/gio/tests/gmenumodel.c:1436,1
    - Dst: g_menu_insert_submenu
      Src: /src/glib/gio/tests/gmenumodel.c:1441,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1441,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1455,1
    - Dst: g_menu_item_new_submenu
      Src: /src/glib/gio/tests/gmenumodel.c:1442,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1447,1
    - Dst: g_menu_append_submenu
      Src: /src/glib/gio/tests/gmenumodel.c:1449,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1435,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1446,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1452,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1454,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1444,1
    - Dst: g_menu_insert_submenu
      Src: /src/glib/gio/tests/gmenumodel.c:1447,1
    - Dst: g_menu_prepend
      Src: /src/glib/gio/tests/gmenumodel.c:1424,1
    - Dst: g_menu_append
      Src: /src/glib/gio/tests/gmenumodel.c:1427,1
    - Dst: g_menu_insert_section
      Src: /src/glib/gio/tests/gmenumodel.c:1430,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1430,1
    - Dst: g_menu_prepend_section
      Src: /src/glib/gio/tests/gmenumodel.c:1435,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/tests/gmenumodel.c:1432,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1431,1
    - Dst: g_menu_insert_section
      Src: /src/glib/gio/tests/gmenumodel.c:1439,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1439,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1442,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1450,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/tests/gmenumodel.c:1443,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1457
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1457
    functionName: test_convenience
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_item_new_submenu
    - g_menu_insert_submenu
    - g_menu_append_submenu
    - g_menu_new
    - g_menu_append
    - g_menu_prepend_section
    - G_MENU_MODEL
    - g_object_unref
    - g_menu_insert_section
    - g_menu_item_new_section
    - g_menu_append_section
    - g_menu_prepend_submenu
    - g_menu_insert_item
    - g_menu_prepend
    - g_menu_insert
    - assert_menus_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_convenience (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/tests/gmenumodel.c:182,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/gmenumodel.c:185,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/tests/gmenumodel.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: test_item_free
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_item_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get
      Src: /src/glib/gio/tests/gmenumodel.c:416,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/tests/gmenumodel.c:416,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/tests/gmenumodel.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - model
    - position
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: mirror_menu_get_item_links
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - g_sequence_get
    - g_sequence_get_iter_at_pos
    linkageType: ''
    returnType: void
    signature: 'static void mirror_menu_get_item_links (GMenuModel *model, gint position,
      GHashTable **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:780,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gmenumodel.c:781,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/tests/gmenumodel.c:783,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gmenumodel.c:782,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gmenumodel.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - service_context
    - data
    argTypes:
    - GMainContext*
    - PeerConnection*
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 785
    functionName: create_service_loop
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_cond_broadcast
    - g_mutex_unlock
    - g_main_loop_new
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void create_service_loop (GMainContext *service_context, PeerConnection
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gmenumodel.c:1039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1042
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1042
    functionName: stop_loop
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean stop_loop (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1482,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1490,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1474,1
    - Dst: g_menu_append_item
      Src: /src/glib/gio/tests/gmenumodel.c:1475,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/gmenumodel.c:1477,1
    - Dst: g_menu_item_get_attribute
      Src: /src/glib/gio/tests/gmenumodel.c:1485,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1492,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1494,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1497,1
    - Dst: g_menu_item_set_link
      Src: /src/glib/gio/tests/gmenumodel.c:1474,1
    - Dst: g_menu_item_set_icon
      Src: /src/glib/gio/tests/gmenumodel.c:1478,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1479,1
    - Dst: g_menu_item_get_attribute
      Src: /src/glib/gio/tests/gmenumodel.c:1481,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1485,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gmenumodel.c:1488,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1481,1
    - Dst: g_menu_item_new_from_model
      Src: /src/glib/gio/tests/gmenumodel.c:1492,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:1493,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1496,1
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1469,1
    - Dst: g_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1470,1
    - Dst: g_menu_item_set_attribute
      Src: /src/glib/gio/tests/gmenumodel.c:1473,1
    - Dst: g_menu_item_new
      Src: /src/glib/gio/tests/gmenumodel.c:1472,1
    - Dst: g_menu_item_set_action_and_target
      Src: /src/glib/gio/tests/gmenumodel.c:1484,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gmenumodel.c:1487,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1486,1
    - Dst: assert_menuitem_equal
      Src: /src/glib/gio/tests/gmenumodel.c:1493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1498
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1498
    functionName: test_menuitem
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_item_get_attribute
    - assert_menuitem_equal
    - g_free
    - g_menu_new
    - g_menu_item_set_link
    - g_menu_append_item
    - g_assert
    - g_menu_item_set_action_and_target
    - G_MENU_MODEL
    - g_menu_item_new
    - g_object_unref
    - g_menu_item_set_attribute
    - g_themed_icon_new
    - g_menu_item_set_icon
    - g_assert_cmpstr
    - g_menu_item_new_from_model
    linkageType: ''
    returnType: void
    signature: 'static void test_menuitem (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gmenumodel.c:1649,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1654,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1653,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gmenumodel.c:1651,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1655,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1656,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1657,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1658,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1659,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1660,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gmenumodel.c:1670,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1666,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1663,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1665,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gmenumodel.c:1668,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1661,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1664,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gmenumodel.c:1662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1673
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1673
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - session_bus_down
    - g_test_add_func
    - session_bus_up
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/gio/tests/gmenumodel.c:12,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - G_GNUC_UNUSED
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 13
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 13
    functionName: time_out
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void time_out (gpointer unused G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gmenumodel.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuModelClass*
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: random_menu_class_init
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void random_menu_class_init (GMenuModelClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: mirror_menu_is_mutable
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mirror_menu_is_mutable (GMenuModel *model) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:466,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/tests/gmenumodel.c:468,1
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/tests/gmenumodel.c:492,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gmenumodel.c:494,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gmenumodel.c:494,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:496,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/tests/gmenumodel.c:506,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/tests/gmenumodel.c:489,1
    - Dst: g_menu_model_iterate_item_links
      Src: /src/glib/gio/tests/gmenumodel.c:498,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:504,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/tests/gmenumodel.c:508,1
    - Dst: g_menu_model_items_changed
      Src: /src/glib/gio/tests/gmenumodel.c:511,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:511,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/tests/gmenumodel.c:474,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/tests/gmenumodel.c:475,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/tests/gmenumodel.c:488,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gmenumodel.c:501,1
    - Dst: mirror_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:501,1
    - Dst: test_item_new
      Src: /src/glib/gio/tests/gmenumodel.c:506,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/tests/gmenumodel.c:507,1
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/tests/gmenumodel.c:491,1
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/tests/gmenumodel.c:499,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gmenumodel.c:501,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:502,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 5
    argNames:
    - model
    - position
    - removed
    - added
    - user_data
    argTypes:
    - GMenuModel*
    - gint
    - gint
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 512
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 512
    functionName: mirror_menu_changed
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_insert_before
    - g_strdup
    - g_menu_model_items_changed
    - g_hash_table_unref
    - mirror_menu_new
    - g_sequence_remove_range
    - g_assert
    - g_menu_model_iterate_item_attributes
    - g_menu_attribute_iter_get_next
    - g_hash_table_insert
    - g_object_unref
    - G_MENU_MODEL
    - test_item_new
    - g_hash_table_new_full
    - g_menu_link_iter_get_next
    - g_menu_model_iterate_item_links
    - g_sequence_get_iter_at_pos
    linkageType: ''
    returnType: void
    signature: 'static void mirror_menu_changed (GMenuModel *model, gint position,
      gint removed, gint added, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new_with_seed
      Src: /src/glib/gio/tests/gmenumodel.c:731,1
    - Dst: mirror_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:733,1
    - Dst: random_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:732,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:733,1
    - Dst: g_test_rand_int
      Src: /src/glib/gio/tests/gmenumodel.c:731,1
    - Dst: assert_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:737,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:737,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:737,1
    - Dst: random_menu_change
      Src: /src/glib/gio/tests/gmenumodel.c:738,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:741,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:742,1
    - Dst: g_rand_free
      Src: /src/glib/gio/tests/gmenumodel.c:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 745
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 745
    functionName: test_random
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - random_menu_new
    - mirror_menu_new
    - g_rand_free
    - random_menu_change
    - g_rand_new_with_seed
    - G_MENU_MODEL
    - g_object_unref
    - g_test_rand_int
    - assert_menus_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_random (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gmenumodel.c:1190,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gmenumodel.c:1191,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gmenumodel.c:1196,1
    - Dst: g_dbus_connection_unexport_menu_model
      Src: /src/glib/gio/tests/gmenumodel.c:1197,1
    - Dst: g_dbus_connection_export_menu_model
      Src: /src/glib/gio/tests/gmenumodel.c:1195,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gmenumodel.c:1198,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gmenumodel.c:1201,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1206
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1206
    functionName: do_export
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_free
    - g_dbus_connection_export_menu_model
    - g_assert_no_error
    - g_bus_get_sync
    - g_dbus_connection_unexport_menu_model
    - g_object_unref
    - g_strdup_printf
    - g_main_context_iteration
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer do_export (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gmenumodel.c:1510,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gmenumodel.c:1526,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/tests/gmenumodel.c:1528,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gmenumodel.c:1525,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gmenumodel.c:1527,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1529,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1533
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1533
    functionName: org_gtk_Menus_get_interface
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_error
    - g_dbus_node_info_lookup_interface
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *org_gtk_Menus_get_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alarm
      Src: /src/glib/gio/tests/gmenumodel.c:20,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/tests/gmenumodel.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: add_timeout
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - alarm
    - g_timeout_add_seconds_once
    linkageType: ''
    returnType: guint
    signature: 'static guint add_timeout (guint seconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/tests/gmenumodel.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: mirror_menu_get_n_items
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_get_length
    linkageType: ''
    returnType: gint
    signature: 'static gint mirror_menu_get_n_items (GMenuModel *model) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gmenumodel.c:519,1
    - Dst: g_sequence_new
      Src: /src/glib/gio/tests/gmenumodel.c:520,1
    - Dst: mirror_menu_get_type
      Src: /src/glib/gio/tests/gmenumodel.c:519,1
    - Dst: g_menu_model_is_mutable
      Src: /src/glib/gio/tests/gmenumodel.c:523,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gmenumodel.c:521,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gmenumodel.c:524,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gmenumodel.c:524,1
    - Dst: mirror_menu_changed
      Src: /src/glib/gio/tests/gmenumodel.c:525,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/tests/gmenumodel.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - clone_of
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 528
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 528
    functionName: mirror_menu_new
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_object_ref
    - mirror_menu_get_type
    - g_object_new
    - g_sequence_new
    - mirror_menu_changed
    - G_CALLBACK
    - g_menu_model_get_n_items
    - g_menu_model_is_mutable
    linkageType: ''
    returnType: MirrorMenu*
    signature: 'static MirrorMenu *mirror_menu_new (GMenuModel *clone_of) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:938,1
    - Dst: check_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:939,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:938,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:938,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:939,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:939,1
    - Dst: random_menu_change
      Src: /src/glib/gio/tests/gmenumodel.c:945,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gmenumodel.c:947,1
    - Dst: assert_menus_equal
      Src: /src/glib/gio/tests/gmenumodel.c:951,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:951,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/tests/gmenumodel.c:951,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gmenumodel.c:952,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 958
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 958
    functionName: roundtrip_step
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - random_menu_change
    - G_MENU_MODEL
    - g_assert_not_reached
    - check_menus_equal
    - g_main_loop_quit
    - assert_menus_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean roundtrip_step (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new_with_seed
      Src: /src/glib/gio/tests/gmenumodel.c:1218,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gmenumodel.c:1221,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gmenumodel.c:1220,1
    - Dst: random_menu_new
      Src: /src/glib/gio/tests/gmenumodel.c:1219,1
    - Dst: g_test_rand_int
      Src: /src/glib/gio/tests/gmenumodel.c:1218,1
    - Dst: g_rand_free
      Src: /src/glib/gio/tests/gmenumodel.c:1222,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gmenumodel.c:1227,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gmenumodel.c:1228,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gmenumodel.c:1232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1233
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1233
    functionName: test_dbus_threaded
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - random_menu_new
    - g_rand_free
    - g_rand_new_with_seed
    - g_object_unref
    - g_thread_new
    - g_thread_join
    - g_test_rand_int
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_threaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gmenumodel.c:1556,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gmenumodel.c:1560,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gmenumodel.c:1559,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gmenumodel.c:1556,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gmenumodel.c:1561,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gmenumodel.c:1564,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gmenumodel.c:1565,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gmenumodel.c:1566,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gmenumodel.c:1568,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gmenumodel.c:1570,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gmenumodel.c:1575,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gmenumodel.c:1577,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gmenumodel.c:1576,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gmenumodel.c:1574,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    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: 1579
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1579
    functionName: g_menu_exporter_method_call
    functionSourceFile: /src/glib/gio/tests/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_test_expect_message
    - g_dbus_method_invocation_return_value
    - g_dbus_connection_emit_signal
    - G_N_ELEMENTS
    - g_variant_new_parsed
    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_socket_create_source
      Src: /src/glib/gio/tests/socket-common.c:81,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/socket-common.c:82,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/socket-common.c:85,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/socket-common.c:87,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/socket-common.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - socket
    - condition
    - cancellable
    argTypes:
    - GSocket*
    - GIOCondition
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: ensure_socket_condition
    functionSourceFile: /src/glib/gio/tests/socket-common.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_unref
    - g_socket_create_source
    - g_main_loop_run
    - g_source_attach
    linkageType: ''
    returnType: void
    signature: "static void ensure_socket_condition (GSocket *socket,\t\t\t GIOCondition
      condition,\t\t\t GCancellable *cancellable) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/socket-common.c:49,1
    - Dst: strncmp
      Src: /src/glib/gio/tests/socket-common.c:52,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/tests/socket-common.c:55,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket-common.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: socket_address_from_string
    functionSourceFile: /src/glib/gio/tests/socket-common.c
    functionUses: []
    functionsReached:
    - strlen
    - G_N_ELEMENTS
    - g_unix_socket_address_new_with_type
    - strncmp
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *socket_address_from_string (const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket-common.c:17,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/tests/socket-common.c:24,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/socket-common.c:23,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/socket-common.c:25,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket-common.c:23,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket-common.c:25,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/socket-common.c:26,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-common.c:27,1
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket-common.c:32,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/socket-common.c:34,1
    - Dst: g_unix_socket_address_get_path
      Src: /src/glib/gio/tests/socket-common.c:36,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-common.c:35,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 41
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 41
    functionName: socket_address_to_string
    functionSourceFile: /src/glib/gio/tests/socket-common.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_unix_socket_address_get_address_type
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_address_to_string
    - g_free
    - g_unix_socket_address_get_path
    - g_inet_socket_address_get_address
    - g_inet_socket_address_get_port
    - g_strdup_printf
    - G_UNIX_SOCKET_ADDRESS
    linkageType: ''
    returnType: char*
    signature: 'static char *socket_address_to_string (GSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/socket-common.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - data
    argTypes:
    - GPollableInputStream*
    - gpointer
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: source_ready
    functionSourceFile: /src/glib/gio/tests/socket-common.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean source_ready (GPollableInputStream *stream,\t gpointer
      data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_pollable_input_stream_create_source
      Src: /src/glib/gio/tests/socket-common.c:101,1
    - Dst: g_pollable_output_stream_create_source
      Src: /src/glib/gio/tests/socket-common.c:103,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/tests/socket-common.c:103,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/socket-common.c:101,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/socket-common.c:101,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/socket-common.c:103,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/socket-common.c:105,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/socket-common.c:108,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/socket-common.c:109,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/socket-common.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - stream
    - condition
    - cancellable
    argTypes:
    - GIOStream*
    - GIOCondition
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: ensure_connection_condition
    functionSourceFile: /src/glib/gio/tests/socket-common.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - G_POLLABLE_OUTPUT_STREAM
    - g_io_stream_get_output_stream
    - G_POLLABLE_INPUT_STREAM
    - g_pollable_output_stream_create_source
    - g_source_unref
    - g_pollable_input_stream_create_source
    - g_main_loop_run
    - g_source_attach
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: "static void ensure_connection_condition (GIOStream *stream,\t\t\t
      GIOCondition condition,\t\t\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/gio/tests/socket-common.c:118,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-common.c:119,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/socket-common.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: cancel_thread
    functionSourceFile: /src/glib/gio/tests/socket-common.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_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/socket-common.c:32,1
    - Dst: g_unix_socket_address_get_path
      Src: /src/glib/gio/tests/socket-common.c:36,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/socket-common.c:35,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/socket-common.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - (address)
    argTypes:
    - G_IS_UNIX_SOCKET_ADDRESS
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: if
    functionSourceFile: /src/glib/gio/tests/socket-common.c
    functionUses: []
    functionsReached:
    - g_unix_socket_address_get_address_type
    - G_UNIX_SOCKET_ADDRESS
    - g_unix_socket_address_get_path
    - g_strdup_printf
    linkageType: ''
    returnType: else
    signature: 'else if (G_IS_UNIX_SOCKET_ADDRESS (address)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:54,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:55,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:65,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:59,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:57,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:66,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:67,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    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: 68
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: manager_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpstr
    - g_variant_get
    - g_strdup_printf
    - g_dbus_method_invocation_return_value
    - g_variant_new
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:90,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:105,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:92,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:97,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:99,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:106,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:107,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:109,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:111,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    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: 119
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 119
    functionName: block_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strcmp0
    - g_dbus_method_invocation_return_dbus_error
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_variant_get
    - g_strdup_printf
    - g_dbus_method_invocation_return_value
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void block_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: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:135,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:146,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:136,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:140,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:148,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:150,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:152,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:154,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:156,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 169
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 169
    functionName: block_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - strlen
    - g_set_error
    - strrchr
    - g_strcmp0
    - g_variant_new_int32
    - g_assert_not_reached
    - g_str_has_prefix
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *block_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:267,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:270,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:274,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:274,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:270,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:275,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:276,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:277,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:280,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 5
    argNames:
    - connection
    - sender
    - object_path
    - node
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 283
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 283
    functionName: subtree_introspect
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - strlen
    - g_ptr_array_free
    - g_dbus_interface_info_ref
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusInterfaceInfo**
    signature: 'static GDBusInterfaceInfo **subtree_introspect (GDBusConnection *connection,
      const gchar *sender, const gchar *object_path, const gchar *node, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_register_subtree
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:339,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_dbus_connection_register_subtree
    linkageType: ''
    returnType: void
    signature: 'static void on_bus_acquired (GDBusConnection *connection, const gchar
      *name, 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: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: on_name_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_name_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    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: 183
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: block_set_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean block_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: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:297,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:309,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:304,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:314,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:311,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - node
    - out_user_data
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gpointer*
    - gpointer
    constantsTouched: []
    func_position:
      end: 320
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 320
    functionName: subtree_dispatch
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_assert_not_reached
    - strlen
    linkageType: ''
    returnType: GDBusInterfaceVTable*
    signature: 'static const GDBusInterfaceVTable *subtree_dispatch (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *node, gpointer *out_user_data, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: on_name_lost
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.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-subtree.c:374,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:379,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:378,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:377,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:375,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:380,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:381,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:382,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:384,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:393,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:396,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:398,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 401
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 401
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_dbus_node_info_lookup_interface
    - g_dbus_node_info_unref
    - g_main_loop_new
    - g_bus_unown_name
    - g_main_loop_run
    - g_bus_own_name
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:208,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:213,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:219,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:211,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:209,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    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: 222
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 222
    functionName: partition_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpstr
    - g_variant_get
    - g_strdup_printf
    - g_dbus_method_invocation_return_value
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void partition_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_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:243,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:245,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:246,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:248,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:250,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:253,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:247,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:249,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:245,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:244,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:246,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:247,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:248,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:251,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:252,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:244,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:249,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:250,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-example-subtree.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - connection
    - sender
    - object_path
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 256
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 256
    functionName: subtree_enumerate
    functionSourceFile: /src/glib/gio/tests/gdbus-example-subtree.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_new
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **subtree_enumerate (GDBusConnection *connection, const
      gchar *sender, const gchar *object_path, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/glib/gio/tests/test-pipe-unix.c:60,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/test-pipe-unix.c:66,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/test-pipe-unix.c:72,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/test-pipe-unix.c:67,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/test-pipe-unix.c:66,1
    - Dst: close
      Src: /src/glib/gio/tests/test-pipe-unix.c:74,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/test-pipe-unix.c:77,1
    - Dst: close
      Src: /src/glib/gio/tests/test-pipe-unix.c:79,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - is
    - os
    - error
    argTypes:
    - GInputStream**
    - GOutputStream**
    - GError**
    constantsTouched: []
    func_position:
      end: 82
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 82
    functionName: test_pipe
    functionSourceFile: /src/glib/gio/tests/test-pipe-unix.c
    functionUses: []
    functionsReached:
    - g_set_error
    - pipe
    - g_strerror
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    - close
    - g_io_error_from_errno
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean test_pipe (GInputStream **is, GOutputStream **os, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_pipe
      Src: /src/glib/gio/tests/test-pipe-unix.c:110,1
    - Dst: test_io_stream_new
      Src: /src/glib/gio/tests/test-pipe-unix.c:117,1
    - Dst: test_pipe
      Src: /src/glib/gio/tests/test-pipe-unix.c:113,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/test-pipe-unix.c:125,1
    - Dst: test_io_stream_new
      Src: /src/glib/gio/tests/test-pipe-unix.c:120,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/test-pipe-unix.c:126,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/test-pipe-unix.c:127,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/test-pipe-unix.c:128,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 16
    argCount: 3
    argNames:
    - left
    - right
    - error
    argTypes:
    - GIOStream**
    - GIOStream**
    - GError**
    constantsTouched: []
    func_position:
      end: 130
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 130
    functionName: test_bidi_pipe
    functionSourceFile: /src/glib/gio/tests/test-pipe-unix.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - test_pipe
    - test_io_stream_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean test_bidi_pipe (GIOStream **left, GIOStream **right, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_basename
      Src: /src/glib/gio/tests/testfilemonitor.c:309,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/tests/testfilemonitor.c:311,1
    - Dst: g_free
      Src: /src/glib/gio/tests/testfilemonitor.c:318,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:315,1
    - Dst: g_free
      Src: /src/glib/gio/tests/testfilemonitor.c:317,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - monitor
    - file
    - other_file
    - event_type
    - user_data
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 319
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 319
    functionName: monitor_changed
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_free
    - g_file_get_basename
    - record_event
    linkageType: ''
    returnType: void
    signature: 'static void monitor_changed (GFileMonitor *monitor, GFile *file, GFile
      *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_win32
      Src: /src/glib/gio/tests/testfilemonitor.c:702,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/tests/testfilemonitor.c:709,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/testfilemonitor.c:712,1
    - Dst: g_file_monitor_set_rate_limit
      Src: /src/glib/gio/tests/testfilemonitor.c:714,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/testfilemonitor.c:715,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/testfilemonitor.c:727,1
    - Dst: get_environment
      Src: /src/glib/gio/tests/testfilemonitor.c:729,1
    - Dst: check_expected_events
      Src: /src/glib/gio/tests/testfilemonitor.c:726,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:710,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:708,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/testfilemonitor.c:717,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:712,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/testfilemonitor.c:722,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/testfilemonitor.c:715,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:733,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:734,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/testfilemonitor.c:724,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:732,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/testfilemonitor.c:731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 735
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 735
    functionName: test_dir_non_existent
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_test_message
    - skip_win32
    - g_signal_connect
    - get_environment
    - g_assert_no_error
    - check_expected_events
    - g_file_monitor_file
    - g_object_unref
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - G_OBJECT_TYPE_NAME
    - g_main_loop_run
    - G_N_ELEMENTS
    - g_timeout_add
    - g_list_free_full
    - g_file_get_child
    - g_file_monitor_set_rate_limit
    linkageType: ''
    returnType: void
    signature: 'static void test_dir_non_existent (Fixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/testfilemonitor.c:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 15
    functionName: skip_win32
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_test_skip
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean skip_win32 (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:330,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:332,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:335,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/testfilemonitor.c:331,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/testfilemonitor.c:336,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:337,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:340,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:341,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:344,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/testfilemonitor.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 352
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 352
    functionName: atomic_replace_step
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_main_loop_quit
    - g_file_delete
    - g_file_replace_contents
    - record_event
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean atomic_replace_step (gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:755,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:765,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:768,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:769,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:760,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:762,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:770,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:751,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:758,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:756,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:757,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:767,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:761,1
    - Dst: g_file_move
      Src: /src/glib/gio/tests/testfilemonitor.c:759,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:766,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:771,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:774,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:775,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:747,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/testfilemonitor.c:750,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:749,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:748,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:752,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/testfilemonitor.c:776,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 783
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 783
    functionName: cross_dir_step
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_get_child
    - g_assert_no_error
    - g_object_unref
    - g_file_move
    - g_main_loop_quit
    - g_file_delete
    - g_file_replace_contents
    - record_event
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cross_dir_step (gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:419,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/testfilemonitor.c:420,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:424,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:421,1
    - Dst: g_file_append_to
      Src: /src/glib/gio/tests/testfilemonitor.c:425,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:426,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/testfilemonitor.c:427,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:428,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/testfilemonitor.c:429,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:430,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:431,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:442,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/testfilemonitor.c:450,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:434,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:445,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:449,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:446,1
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/tests/testfilemonitor.c:435,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 457
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 457
    functionName: change_step
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_append_to
    - g_file_set_attribute
    - g_assert_no_error
    - g_file_delete
    - g_object_unref
    - g_output_stream_close
    - g_main_loop_quit
    - g_output_stream_write_all
    - g_file_replace_contents
    - record_event
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean change_step (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_make_directory
      Src: /src/glib/gio/tests/testfilemonitor.c:822,1
    - Dst: g_file_monitor_directory
      Src: /src/glib/gio/tests/testfilemonitor.c:824,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:820,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:827,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/testfilemonitor.c:827,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/testfilemonitor.c:862,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:863,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:865,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:825,1
    - Dst: g_file_monitor_set_rate_limit
      Src: /src/glib/gio/tests/testfilemonitor.c:829,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:835,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/tests/testfilemonitor.c:837,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/testfilemonitor.c:842,1
    - Dst: g_file_monitor_directory
      Src: /src/glib/gio/tests/testfilemonitor.c:839,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:842,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/testfilemonitor.c:830,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:869,1
    - Dst: skip_win32
      Src: /src/glib/gio/tests/testfilemonitor.c:814,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:821,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/testfilemonitor.c:830,1
    - Dst: g_file_monitor_set_rate_limit
      Src: /src/glib/gio/tests/testfilemonitor.c:844,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:840,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/testfilemonitor.c:845,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/testfilemonitor.c:847,1
    - Dst: check_expected_events
      Src: /src/glib/gio/tests/testfilemonitor.c:853,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/testfilemonitor.c:854,1
    - Dst: get_environment
      Src: /src/glib/gio/tests/testfilemonitor.c:856,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:864,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:836,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/testfilemonitor.c:845,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/testfilemonitor.c:849,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/testfilemonitor.c:851,1
    - Dst: check_expected_events
      Src: /src/glib/gio/tests/testfilemonitor.c:857,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/testfilemonitor.c:858,1
    - Dst: get_environment
      Src: /src/glib/gio/tests/testfilemonitor.c:860,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/testfilemonitor.c:867,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 870
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 870
    functionName: test_cross_dir_moves
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - get_environment
    - g_main_loop_run
    - g_timeout_add
    - g_list_free_full
    - g_object_unref
    - g_file_delete
    - g_file_monitor_set_rate_limit
    - skip_win32
    - g_signal_connect
    - g_assert_no_error
    - g_file_make_directory
    - G_CALLBACK
    - g_main_loop_unref
    - g_main_loop_new
    - G_OBJECT_TYPE_NAME
    - g_file_monitor_directory
    - g_test_message
    - check_expected_events
    - G_N_ELEMENTS
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_cross_dir_moves (Fixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/testfilemonitor.c:1045,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/tests/testfilemonitor.c:1057,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/testfilemonitor.c:1047,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:1058,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:1049,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/testfilemonitor.c:1059,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/testfilemonitor.c:1062,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:1064,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:1070,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/tests/testfilemonitor.c:1074,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/testfilemonitor.c:1076,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:1075,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:1080,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:1086,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:1083,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:1079,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1087
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1087
    functionName: test_finalize_in_callback
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_monitor_file
    - g_object_unref
    - g_test_bug
    - g_test_summary
    - g_file_delete
    - g_file_replace_contents
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_finalize_in_callback (Fixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/testfilemonitor.c:34,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/testfilemonitor.c:37,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:35,1
    - Dst: g_free
      Src: /src/glib/gio/tests/testfilemonitor.c:41,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: setup
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_free
    - g_file_new_for_path
    - g_assert_no_error
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: 'static void setup (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:98,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:104,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/tests/testfilemonitor.c:103,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/tests/testfilemonitor.c:105,1
    - Dst: g_type_from_name
      Src: /src/glib/gio/tests/testfilemonitor.c:103,1
    - Dst: G_ENUM_CLASS
      Src: /src/glib/gio/tests/testfilemonitor.c:105,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - event
    argTypes:
    - RecordedEvent*
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: output_event
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_type_from_name
    - g_type_class_unref
    - g_enum_get_value
    - g_type_class_ref
    - G_ENUM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void output_event (const RecordedEvent *event) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/testfilemonitor.c:881,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/testfilemonitor.c:887,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:889,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/testfilemonitor.c:890,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:891,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/testfilemonitor.c:895,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:922,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:935,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/testfilemonitor.c:941,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:949,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:894,1
    - Dst: link
      Src: /src/glib/gio/tests/testfilemonitor.c:902,1
    - Dst: g_file_append_to
      Src: /src/glib/gio/tests/testfilemonitor.c:915,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:918,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:923,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:929,1
    - Dst: g_free
      Src: /src/glib/gio/tests/testfilemonitor.c:950,1
    - Dst: g_free
      Src: /src/glib/gio/tests/testfilemonitor.c:951,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:886,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/testfilemonitor.c:887,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/testfilemonitor.c:880,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/testfilemonitor.c:890,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:900,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:909,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:897,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/testfilemonitor.c:919,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:920,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/testfilemonitor.c:921,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/testfilemonitor.c:879,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/testfilemonitor.c:904,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/testfilemonitor.c:915,1
    - Dst: g_error
      Src: /src/glib/gio/tests/testfilemonitor.c:904,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:928,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:930,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:933,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:936,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:940,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 954
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 954
    functionName: file_hard_links_step
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_append_to
    - g_file_new_for_path
    - g_free
    - g_file_get_path
    - g_strerror
    - g_assert_no_error
    - g_error
    - g_object_unref
    - g_file_delete
    - g_strdup_printf
    - g_output_stream_close
    - g_main_loop_quit
    - g_output_stream_write_all
    - G_OUTPUT_STREAM
    - g_file_replace_contents
    - link
    - record_event
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean file_hard_links_step (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/testfilemonitor.c:1097,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/testfilemonitor.c:1101,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/testfilemonitor.c:1103,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/testfilemonitor.c:1098,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/testfilemonitor.c:1105,1
    - Dst: g_file_monitor_directory
      Src: /src/glib/gio/tests/testfilemonitor.c:1111,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:1112,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/testfilemonitor.c:1113,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/testfilemonitor.c:1115,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/testfilemonitor.c:1116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1117
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1117
    functionName: test_root
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_assert_nonnull
    - g_clear_object
    - g_assert_no_error
    - g_test_skip
    - g_test_summary
    - g_file_monitor_directory
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_root (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:50,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/testfilemonitor.c:52,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: teardown
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_delete
    - g_assert_no_error
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/testfilemonitor.c:173,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/testfilemonitor.c:206,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:230,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/testfilemonitor.c:210,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/testfilemonitor.c:178,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:239,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:251,1
    - Dst: output_event
      Src: /src/glib/gio/tests/testfilemonitor.c:253,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:255,1
    - Dst: output_event
      Src: /src/glib/gio/tests/testfilemonitor.c:257,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/testfilemonitor.c:268,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/testfilemonitor.c:278,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/testfilemonitor.c:278,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/testfilemonitor.c:277,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/testfilemonitor.c:266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/testfilemonitor.c:259,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/testfilemonitor.c:263,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/testfilemonitor.c:260,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 4
    argNames:
    - expected
    - n_expected
    - recorded
    - env
    argTypes:
    - RecordedEvent*
    - gsize
    - GList*
    - Environment
    constantsTouched: []
    func_position:
      end: 279
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 279
    functionName: check_expected_events
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_strcmp0
    - g_assert_not_reached
    - g_assert_cmpstr
    - output_event
    - g_list_length
    linkageType: ''
    returnType: void
    signature: 'static void check_expected_events (RecordedEvent *expected, gsize
      n_expected, GList *recorded, Environment env) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/testfilemonitor.c:79,1
    - Dst: g_free
      Src: /src/glib/gio/tests/testfilemonitor.c:80,1
    - Dst: g_free
      Src: /src/glib/gio/tests/testfilemonitor.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - RecordedEvent*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: free_recorded_event
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_recorded_event (RecordedEvent *event) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/testfilemonitor.c:118,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/testfilemonitor.c:120,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/testfilemonitor.c:118,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/testfilemonitor.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: get_environment
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - G_OBJECT_TYPE_NAME
    linkageType: ''
    returnType: Environment
    signature: 'static Environment get_environment (GFileMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/testfilemonitor.c:290,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/testfilemonitor.c:296,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/testfilemonitor.c:292,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/testfilemonitor.c:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - data
    - event_type
    - file
    - other_file
    - step
    argTypes:
    - TestData*
    - gint
    - gchar*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: record_event
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_strdup
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void record_event (TestData *data, gint event_type, const gchar
      *file, const gchar *other_file, gint step) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/testfilemonitor.c:398,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:403,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/testfilemonitor.c:395,1
    - Dst: skip_win32
      Src: /src/glib/gio/tests/testfilemonitor.c:374,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/testfilemonitor.c:386,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/testfilemonitor.c:389,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/testfilemonitor.c:389,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/testfilemonitor.c:402,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/testfilemonitor.c:393,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:386,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:404,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:405,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/tests/testfilemonitor.c:383,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:381,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:380,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:384,1
    - Dst: g_file_monitor_set_rate_limit
      Src: /src/glib/gio/tests/testfilemonitor.c:388,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/testfilemonitor.c:391,1
    - Dst: get_environment
      Src: /src/glib/gio/tests/testfilemonitor.c:400,1
    - Dst: check_expected_events
      Src: /src/glib/gio/tests/testfilemonitor.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 406
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 406
    functionName: test_atomic_replace
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - get_environment
    - g_main_loop_run
    - g_timeout_add
    - g_list_free_full
    - g_object_unref
    - g_file_delete
    - g_file_monitor_set_rate_limit
    - skip_win32
    - g_signal_connect
    - g_assert_no_error
    - g_file_monitor_file
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - G_OBJECT_TYPE_NAME
    - g_test_message
    - check_expected_events
    - G_N_ELEMENTS
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_atomic_replace (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:1013,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/testfilemonitor.c:1023,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/testfilemonitor.c:1016,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/testfilemonitor.c:1024,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/testfilemonitor.c:1031,1
    - Dst: check_expected_events
      Src: /src/glib/gio/tests/testfilemonitor.c:1026,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/testfilemonitor.c:1027,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:1016,1
    - Dst: get_environment
      Src: /src/glib/gio/tests/testfilemonitor.c:1029,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/testfilemonitor.c:986,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:992,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/testfilemonitor.c:1002,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/tests/testfilemonitor.c:1007,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/testfilemonitor.c:1014,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/testfilemonitor.c:1020,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:1032,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:1033,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:1034,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:1035,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:994,1
    - Dst: skip_win32
      Src: /src/glib/gio/tests/testfilemonitor.c:988,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:1001,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:1004,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/testfilemonitor.c:1022,1
    - Dst: g_file_monitor_set_rate_limit
      Src: /src/glib/gio/tests/testfilemonitor.c:1019,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1036
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1036
    functionName: test_file_hard_links
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - get_environment
    - g_main_loop_run
    - g_timeout_add
    - g_list_free_full
    - g_assert_nonnull
    - g_object_unref
    - g_file_monitor_set_rate_limit
    - skip_win32
    - g_signal_connect
    - g_assert_no_error
    - g_file_monitor_file
    - g_main_loop_unref
    - g_file_replace
    - g_main_loop_new
    - G_OBJECT_TYPE_NAME
    - g_test_bug
    - g_test_message
    - check_expected_events
    - G_N_ELEMENTS
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_file_hard_links (Fixture *fixture, gconstpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_win32
      Src: /src/glib/gio/tests/testfilemonitor.c:482,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:488,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/testfilemonitor.c:497,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/testfilemonitor.c:497,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/testfilemonitor.c:499,1
    - Dst: get_environment
      Src: /src/glib/gio/tests/testfilemonitor.c:508,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/testfilemonitor.c:506,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/testfilemonitor.c:501,1
    - Dst: check_expected_events
      Src: /src/glib/gio/tests/testfilemonitor.c:505,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:511,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:513,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/tests/testfilemonitor.c:491,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:494,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/testfilemonitor.c:503,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:492,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:489,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/testfilemonitor.c:494,1
    - Dst: g_file_monitor_set_rate_limit
      Src: /src/glib/gio/tests/testfilemonitor.c:496,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/testfilemonitor.c:510,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 514
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 514
    functionName: test_file_changes
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - get_environment
    - g_main_loop_run
    - g_timeout_add
    - g_list_free_full
    - g_object_unref
    - g_file_delete
    - g_file_monitor_set_rate_limit
    - skip_win32
    - g_signal_connect
    - g_assert_no_error
    - g_file_monitor_file
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - G_OBJECT_TYPE_NAME
    - g_test_message
    - check_expected_events
    - G_N_ELEMENTS
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_file_changes (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:647,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:650,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/testfilemonitor.c:648,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/tests/testfilemonitor.c:649,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:651,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:654,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/testfilemonitor.c:655,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:656,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:659,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:660,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:664,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:666,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:668,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/testfilemonitor.c:672,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:667,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:671,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:661,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/testfilemonitor.c:665,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 679
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 679
    functionName: nodir_step
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_object_unref
    - g_file_get_parent
    - g_file_make_directory
    - g_main_loop_quit
    - g_file_delete
    - g_file_replace_contents
    - record_event
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nodir_step (gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:526,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/testfilemonitor.c:529,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:540,1
    - Dst: g_file_move
      Src: /src/glib/gio/tests/testfilemonitor.c:559,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:567,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/testfilemonitor.c:572,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:528,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/testfilemonitor.c:536,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:537,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:551,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:558,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:568,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:562,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/testfilemonitor.c:527,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:543,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:538,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:546,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:548,1
    - Dst: g_file_move
      Src: /src/glib/gio/tests/testfilemonitor.c:539,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:550,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:552,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:555,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:561,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:564,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:530,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:531,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:532,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:535,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:547,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:541,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:542,1
    - Dst: g_file_move
      Src: /src/glib/gio/tests/testfilemonitor.c:549,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/testfilemonitor.c:556,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:557,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:560,1
    - Dst: record_event
      Src: /src/glib/gio/tests/testfilemonitor.c:571,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:563,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 579
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 579
    functionName: dir_step
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_get_child
    - g_assert_no_error
    - g_object_unref
    - g_file_move
    - g_file_get_parent
    - g_main_loop_quit
    - g_file_delete
    - g_file_replace_contents
    - record_event
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dir_step (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_make_directory
      Src: /src/glib/gio/tests/testfilemonitor.c:610,1
    - Dst: g_file_monitor_set_rate_limit
      Src: /src/glib/gio/tests/testfilemonitor.c:617,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/testfilemonitor.c:631,1
    - Dst: skip_win32
      Src: /src/glib/gio/tests/testfilemonitor.c:602,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/testfilemonitor.c:608,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/testfilemonitor.c:615,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/testfilemonitor.c:618,1
    - Dst: check_expected_events
      Src: /src/glib/gio/tests/testfilemonitor.c:626,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/testfilemonitor.c:627,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/testfilemonitor.c:622,1
    - Dst: get_environment
      Src: /src/glib/gio/tests/testfilemonitor.c:629,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/testfilemonitor.c:615,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/testfilemonitor.c:624,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:632,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:633,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/testfilemonitor.c:609,1
    - Dst: g_file_monitor_directory
      Src: /src/glib/gio/tests/testfilemonitor.c:612,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/testfilemonitor.c:613,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/testfilemonitor.c:618,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/testfilemonitor.c:620,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/testfilemonitor.c:634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 635
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 635
    functionName: test_dir_monitor
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - get_environment
    - g_main_loop_run
    - g_timeout_add
    - g_list_free_full
    - g_object_unref
    - g_file_delete
    - g_file_monitor_set_rate_limit
    - skip_win32
    - g_signal_connect
    - g_assert_no_error
    - g_file_make_directory
    - G_CALLBACK
    - g_main_loop_unref
    - g_main_loop_new
    - G_OBJECT_TYPE_NAME
    - g_file_monitor_directory
    - g_test_message
    - check_expected_events
    - G_N_ELEMENTS
    - g_file_get_child
    linkageType: ''
    returnType: void
    signature: 'static void test_dir_monitor (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/testfilemonitor.c:1122,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/testfilemonitor.c:1124,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/testfilemonitor.c:1127,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/testfilemonitor.c:1125,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/testfilemonitor.c:1126,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/testfilemonitor.c:1128,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/testfilemonitor.c:1129,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/testfilemonitor.c:1130,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/testfilemonitor.c:1131,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/testfilemonitor.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1134
    functionName: main
    functionSourceFile: /src/glib/gio/tests/testfilemonitor.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-threading.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: timeout_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-threading.c:143,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-threading.c:143,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-threading.c:147,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: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: signal_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_main_context_wakeup
    - g_thread_self
    linkageType: ''
    returnType: void
    signature: 'static void 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_main_context_new
      Src: /src/glib/gio/tests/gdbus-threading.c:172,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-threading.c:173,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-threading.c:201,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gdbus-threading.c:211,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-threading.c:228,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-threading.c:258,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-threading.c:259,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-threading.c:271,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-threading.c:281,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-threading.c:301,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-threading.c:284,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-threading.c:198,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-threading.c:200,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-threading.c:202,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-threading.c:225,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-threading.c:227,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-threading.c:230,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-threading.c:231,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:234,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gdbus-threading.c:251,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-threading.c:257,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-threading.c:297,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-threading.c:307,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-threading.c:260,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-threading.c:316,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-threading.c:186,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-threading.c:175,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-threading.c:229,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gdbus-threading.c:212,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-threading.c:232,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-threading.c:254,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-threading.c:256,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-threading.c:289,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-threading.c:305,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-threading.c:312,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-threading.c:299,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:317,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-threading.c:311,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-threading.c:203,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-threading.c:204,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-threading.c:213,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-threading.c:229,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gdbus-threading.c:239,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-threading.c:240,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-threading.c:258,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-threading.c:261,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:263,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-threading.c:282,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-threading.c:303,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-threading.c:302,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-threading.c:300,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 74
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 320
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 320
    functionName: test_delivery_in_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_main_context_unref
    - g_clear_error
    - g_main_context_new
    - g_dbus_error_is_remote_error
    - g_assert_nonnull
    - g_object_unref
    - g_dbus_connection_signal_subscribe
    - g_main_context_push_thread_default
    - g_assert_cmpuint
    - g_assert_no_error
    - g_cancellable_new
    - g_cancellable_cancel
    - g_main_context_pop_thread_default
    - g_main_context_iteration
    - g_assert_null
    - g_assert_error
    - g_variant_new_parsed
    - g_assert_false
    - g_dbus_connection_call
    - g_clear_object
    - g_thread_self
    - g_dbus_connection_call_finish
    - g_assert_true
    - g_dbus_connection_signal_unsubscribe
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_delivery_in_thread_func (gpointer _data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-threading.c:381,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-threading.c:382,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-threading.c:384,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-threading.c:423,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-threading.c:380,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-threading.c:391,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-threading.c:393,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-threading.c:399,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/gdbus-threading.c:400,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/gdbus-threading.c:418,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-threading.c:423,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:424,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:429,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-threading.c:401,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-threading.c:411,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-threading.c:413,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-threading.c:419,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-threading.c:422,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-threading.c:421,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-threading.c:428,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 433
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 433
    functionName: test_sleep_in_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - g_dbus_proxy_call_sync
    - g_variant_get_type_string
    - g_main_context_unref
    - g_assert_nonnull
    - g_test_verbose
    - g_assert_no_error
    - g_variant_unref
    - g_assert_cmpstr
    - g_thread_self
    - g_main_loop_unref
    - g_main_loop_new
    - g_variant_new
    - g_main_loop_run
    - g_dbus_proxy_call
    - g_main_context_pop_thread_default
    - g_main_context_new
    - g_printerr
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_sleep_in_thread_func (gpointer _data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-threading.c:529,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-threading.c:532,1
    - Dst: test_method_calls_on_proxy
      Src: /src/glib/gio/tests/gdbus-threading.c:544,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-threading.c:542,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-threading.c:534,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:546,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:547,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/gdbus-threading.c:549,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-threading.c:550,1
    - Dst: assert_connection_has_one_ref
      Src: /src/glib/gio/tests/gdbus-threading.c:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 553
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 553
    functionName: test_method_calls_in_thread
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_sync
    - g_test_verbose
    - g_assert_no_error
    - g_bus_get_sync
    - test_method_calls_on_proxy
    - g_object_unref
    - assert_connection_has_one_ref
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_method_calls_in_thread (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-threading.c:565,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-threading.c:569,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-threading.c:568,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-threading.c:570,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-threading.c:570,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-threading.c:570,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 572
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 572
    functionName: ensure_connection_works
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_assert_nonnull
    - g_assert_no_error
    - g_variant_unref
    - g_assert_true
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void ensure_connection_works (GDBusConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/gdbus-threading.c:588,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/gdbus-threading.c:592,1
    - Dst: ensure_connection_works
      Src: /src/glib/gio/tests/gdbus-threading.c:597,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-threading.c:595,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-threading.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 600
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 600
    functionName: get_sync_in_thread
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - ensure_connection_works
    - g_assert_no_error
    - g_bus_get_sync
    - g_usleep
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer get_sync_in_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: wakeup_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean wakeup_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-threading.c:125,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-threading.c:127,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-threading.c:127,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-threading.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: async_result_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_ref
    - g_main_context_wakeup
    - g_thread_self
    linkageType: ''
    returnType: void
    signature: 'static void async_result_cb (GDBusConnection *connection, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-threading.c:155,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-threading.c:155,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-threading.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: signal_data_free_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_main_context_wakeup
    - g_thread_self
    linkageType: ''
    returnType: void
    signature: 'static void signal_data_free_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-threading.c:327,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-threading.c:331,1
    - Dst: assert_connection_has_one_ref
      Src: /src/glib/gio/tests/gdbus-threading.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 334
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 334
    functionName: test_delivery_in_thread
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_thread_new
    - g_thread_join
    - assert_connection_has_one_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_delivery_in_thread (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/tests/gdbus-threading.c:358,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-threading.c:361,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-threading.c:363,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-threading.c:363,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-threading.c:362,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:364,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-threading.c:366,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-threading.c:366,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-threading.c:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - proxy
    - res
    - user_data
    argTypes:
    - GDBusProxy*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 371
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 371
    functionName: sleep_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_string
    - g_dbus_proxy_call_finish
    - g_assert_nonnull
    - g_assert_no_error
    - g_variant_unref
    - g_assert_cmpstr
    - g_thread_self
    - g_main_loop_quit
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void sleep_cb (GDBusProxy *proxy, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_thorough
      Src: /src/glib/gio/tests/gdbus-threading.c:457,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/tests/gdbus-threading.c:476,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-threading.c:490,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-threading.c:498,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-threading.c:482,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-threading.c:502,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-threading.c:503,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-threading.c:504,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/tests/gdbus-threading.c:506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-threading.c:513,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-threading.c:517,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-threading.c:514,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/gdbus-threading.c:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 519
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 519
    functionName: test_method_calls_on_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_thorough
    - g_test_verbose
    - g_thread_new
    - g_thread_join
    - g_get_real_time
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_method_calls_on_proxy (GDBusProxy *proxy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_thorough
      Src: /src/glib/gio/tests/gdbus-threading.c:609,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-threading.c:624,1
    - Dst: g_random_int_range
      Src: /src/glib/gio/tests/gdbus-threading.c:630,1
    - Dst: assert_connection_has_one_ref
      Src: /src/glib/gio/tests/gdbus-threading.c:621,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/gdbus-threading.c:623,1
    - Dst: g_random_int_range
      Src: /src/glib/gio/tests/gdbus-threading.c:631,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-threading.c:634,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/gdbus-threading.c:635,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/gdbus-threading.c:640,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:641,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-threading.c:644,1
    - Dst: ensure_connection_works
      Src: /src/glib/gio/tests/gdbus-threading.c:662,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/gdbus-threading.c:665,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-threading.c:666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 667
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 667
    functionName: test_threaded_singleton
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_test_thorough
    - g_test_verbose
    - g_random_int_range
    - ensure_connection_works
    - g_object_unref
    - GUINT_TO_POINTER
    - g_thread_new
    - g_usleep
    - g_thread_join
    - assert_connection_has_one_ref
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_singleton (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/tests/gdbus-threading.c:76,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/gdbus-threading.c:81,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:95,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/gdbus-threading.c:82,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-threading.c:88,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/gdbus-threading.c:91,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-threading.c:99,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-threading.c:67,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/gdbus-threading.c:77,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/tests/gdbus-threading.c:80,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-threading.c:84,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-threading.c:87,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:92,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-threading.c:97,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-threading.c:98,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-threading.c:99,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-threading.c:67,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/gdbus-threading.c:78,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-threading.c:84,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-threading.c:86,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-threading.c:87,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/gdbus-threading.c:94,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-threading.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - connection
    - context
    - calling_function
    argTypes:
    - GDBusConnection*
    - GMainContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 100
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 100
    functionName: (assert_connection_has_one_ref)
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_source_set_callback
    - g_error
    - g_atomic_int_get
    - g_debug
    - g_main_context_iteration
    - g_timeout_source_new
    - g_source_unref
    - g_source_destroy
    - g_source_attach
    - g_timeout_source_new_seconds
    linkageType: ''
    returnType: void
    signature: 'static void (assert_connection_has_one_ref) (GDBusConnection *connection,
      GMainContext *context, const gchar *calling_function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-threading.c:679,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-threading.c:681,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-threading.c:685,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-threading.c:685,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gdbus-threading.c:684,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-threading.c:686,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-threading.c:690,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-threading.c:691,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-threading.c:692,1
    - Dst: ensure_gdbus_testserver_up
      Src: /src/glib/gio/tests/gdbus-threading.c:694,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-threading.c:700,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-threading.c:702,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-threading.c:696,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-threading.c:697,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-threading.c:698,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-threading.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 708
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 708
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-threading.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_free
    - g_assert_nonnull
    - session_bus_down
    - g_assert_no_error
    - g_bus_get_sync
    - g_spawn_command_line_async
    - session_bus_up
    - ensure_gdbus_testserver_up
    - g_test_add_func
    - g_object_unref
    - g_test_run
    - g_test_init
    - g_assert_true
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gapplication.c:58,1
    - Dst: check_data
      Src: /src/glib/gio/tests/gapplication.c:63,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:65,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gapplication.c:61,1
    - Dst: close
      Src: /src/glib/gio/tests/gapplication.c:64,1
    - Dst: check_data
      Src: /src/glib/gio/tests/gapplication.c:69,1
    - Dst: close
      Src: /src/glib/gio/tests/gapplication.c:70,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:71,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/gapplication.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pid
    - status
    - data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: child_quit
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - close
    - g_main_loop_quit
    - check_data
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void child_quit (GPid pid, gint status, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_release
      Src: /src/glib/gio/tests/gapplication.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: release_app
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_release
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean release_app (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - app
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: on_registered_shutdown
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_registered_shutdown (GApplication *app, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gapplication.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - app
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: test_loc_cmd_app_startup
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_loc_cmd_app_startup (GApplication *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - app
    - command_line
    - user_data
    argTypes:
    - GApplication*
    - GApplicationCommandLine*
    - gpointer
    constantsTouched: []
    func_position:
      end: 800
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 800
    functionName: test_help_command_line
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint test_help_command_line (GApplication *app, GApplicationCommandLine
      *command_line, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_dict_contains
      Src: /src/glib/gio/tests/gapplication.c:906,1
    - Dst: g_variant_dict_contains
      Src: /src/glib/gio/tests/gapplication.c:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - app
    - options
    - data
    argTypes:
    - GApplication*
    - GVariantDict*
    - gpointer
    constantsTouched: []
    func_position:
      end: 912
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 912
    functionName: test_local_options
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_variant_dict_contains
    linkageType: ''
    returnType: gint
    signature: 'static gint test_local_options (GApplication *app, GVariantDict *options,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - app
    - options
    - data
    argTypes:
    - GApplication*
    - GVariantDict*
    - gpointer
    constantsTouched: []
    func_position:
      end: 924
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 924
    functionName: second_handler
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint second_handler (GApplication *app, GVariantDict *options,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:1028,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gapplication.c:1031,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:1033,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/gapplication.c:1032,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gapplication.c:1034,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gapplication.c:1037,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gapplication.c:1038,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/tests/gapplication.c:1039,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/gapplication.c:1039,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/gapplication.c:1039,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gapplication.c:1040,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:1043,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:1042,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1044
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1044
    functionName: test_api
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_object_new
    - g_assert
    - g_action_map_add_action
    - g_object_unref
    - g_test_expect_message
    - G_ACTION_MAP
    - g_simple_action_new
    - g_application_new
    - G_ACTION
    linkageType: ''
    returnType: void
    signature: 'static void test_api (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/glib/gio/tests/gapplication.c:96,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:95,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:97,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/tests/gapplication.c:102,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gapplication.c:106,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gapplication.c:94,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:98,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gapplication.c:99,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gapplication.c:100,1
    - Dst: g_slice_new
      Src: /src/glib/gio/tests/gapplication.c:104,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gapplication.c:114,1
    - Dst: va_start
      Src: /src/glib/gio/tests/gapplication.c:93,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:95,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gapplication.c:97,1
    - Dst: g_get_environ
      Src: /src/glib/gio/tests/gapplication.c:102,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/gio/tests/gapplication.c:108,1
    - Dst: g_poll
      Src: /src/glib/gio/tests/gapplication.c:127,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gapplication.c:105,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gapplication.c:116,1
    - Dst: g_child_watch_add
      Src: /src/glib/gio/tests/gapplication.c:118,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - expected_stdout
    - expected_stderr
    - first_arg
    - '...'
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 128
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 128
    functionName: spawn
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - va_end
    - g_strdup
    - g_test_build_filename
    - g_get_environ
    - g_poll
    - g_environ_setenv
    - g_ptr_array_free
    - g_assert_no_error
    - g_spawn_async_with_pipes
    - g_child_watch_add
    - va_start
    - g_strfreev
    - g_slice_new
    - va_arg
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void spawn (const gchar *expected_stdout, const gchar *expected_stderr,
      const gchar *first_arg, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gapplication.c:330,1
    - Dst: make_app
      Src: /src/glib/gio/tests/gapplication.c:332,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:340,1
    - Dst: g_application_get_is_remote
      Src: /src/glib/gio/tests/gapplication.c:340,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:341,1
    - Dst: make_app
      Src: /src/glib/gio/tests/gapplication.c:344,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:359,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:335,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:334,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:346,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:354,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:347,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:358,1
    - Dst: g_application_get_is_remote
      Src: /src/glib/gio/tests/gapplication.c:346,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gapplication.c:361,1
    - Dst: g_application_get_is_remote
      Src: /src/glib/gio/tests/gapplication.c:334,1
    - Dst: make_app
      Src: /src/glib/gio/tests/gapplication.c:338,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:357,1
    - Dst: make_app
      Src: /src/glib/gio/tests/gapplication.c:350,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 362
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 362
    functionName: test_nonunique
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_assert
    - session_bus_down
    - g_object_unref
    - session_bus_up
    - g_application_get_is_remote
    - make_app
    linkageType: ''
    returnType: void
    signature: 'static void test_nonunique (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication.c:474,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:476,1
    - Dst: g_application_get_dbus_connection
      Src: /src/glib/gio/tests/gapplication.c:476,1
    - Dst: g_application_get_dbus_object_path
      Src: /src/glib/gio/tests/gapplication.c:477,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:477,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gapplication.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - app
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: nodbus_activate
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_idle_add
    - g_assert
    - g_application_get_dbus_connection
    - g_application_get_dbus_object_path
    - g_application_hold
    linkageType: ''
    returnType: void
    signature: 'static void nodbus_activate (GApplication *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_ref
      Src: /src/glib/gio/tests/gapplication.c:599,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:604,1
    - Dst: g_application_get_is_registered
      Src: /src/glib/gio/tests/gapplication.c:601,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - app
    - spec
    - user_data
    argTypes:
    - GApplication*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 605
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 605
    functionName: on_registered_notify
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_get_is_registered
    - g_assert_false
    - g_param_spec_ref
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void on_registered_notify (GApplication *app, GParamSpec *spec,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - app
    argTypes:
    - TestLocCmdApp*
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: test_loc_cmd_app_init
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_loc_cmd_app_init (TestLocCmdApp *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gapplication.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - app
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 723
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 723
    functionName: test_loc_cmd_app_shutdown
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_loc_cmd_app_shutdown (GApplication *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gapplication.c:929,1
    - Dst: g_application_add_main_option
      Src: /src/glib/gio/tests/gapplication.c:940,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:938,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:931,1
    - Dst: g_application_add_main_option
      Src: /src/glib/gio/tests/gapplication.c:939,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:941,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:941,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:942,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:942,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:944,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gapplication.c:955,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:946,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gapplication.c:954,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:950,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:945,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:949,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gapplication.c:947,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gapplication.c:944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 956
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 956
    functionName: test_handle_local_options_success
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_assert_cmpint
    - g_free
    - g_assert
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    - g_application_add_main_option
    - G_N_ELEMENTS
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_handle_local_options_success (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gapplication.c:1218,1
    - Dst: G_DBUS_MESSAGE
      Src: /src/glib/gio/tests/gapplication.c:1219,1
    - Dst: g_dbus_connection_send_message_with_reply
      Src: /src/glib/gio/tests/gapplication.c:1223,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gapplication.c:1226,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gapplication.c:1221,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - app
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1229
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1229
    functionName: dbus_startup_cb
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - G_DBUS_MESSAGE
    - g_object_ref
    - g_assert_nonnull
    - g_clear_object
    - g_bus_get_sync
    - g_dbus_connection_send_message_with_reply
    linkageType: ''
    returnType: void
    signature: 'static void dbus_startup_cb (GApplication *app, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:847,1
    - Dst: g_application_unmark_busy
      Src: /src/glib/gio/tests/gapplication.c:852,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/gapplication.c:855,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:857,1
    - Dst: g_application_bind_busy_property
      Src: /src/glib/gio/tests/gapplication.c:856,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:867,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:870,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:873,1
    - Dst: g_application_unbind_busy_property
      Src: /src/glib/gio/tests/gapplication.c:881,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:882,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:887,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:851,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:860,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:860,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:863,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/gapplication.c:865,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:867,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:870,1
    - Dst: g_application_mark_busy
      Src: /src/glib/gio/tests/gapplication.c:878,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:879,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:882,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gapplication.c:890,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:885,1
    - Dst: g_application_unmark_busy
      Src: /src/glib/gio/tests/gapplication.c:869,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:851,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:853,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:863,1
    - Dst: g_application_bind_busy_property
      Src: /src/glib/gio/tests/gapplication.c:866,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:873,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:876,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:879,1
    - Dst: g_application_unmark_busy
      Src: /src/glib/gio/tests/gapplication.c:884,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:885,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:888,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gapplication.c:844,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:849,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:846,1
    - Dst: g_application_register
      Src: /src/glib/gio/tests/gapplication.c:847,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:849,1
    - Dst: g_application_mark_busy
      Src: /src/glib/gio/tests/gapplication.c:850,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:857,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:853,1
    - Dst: g_simple_action_set_enabled
      Src: /src/glib/gio/tests/gapplication.c:859,1
    - Dst: g_application_mark_busy
      Src: /src/glib/gio/tests/gapplication.c:862,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:872,1
    - Dst: g_simple_action_set_enabled
      Src: /src/glib/gio/tests/gapplication.c:875,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/tests/gapplication.c:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 891
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 891
    functionName: test_busy
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_register
    - g_assert
    - session_bus_down
    - g_application_get_is_busy
    - session_bus_up
    - g_application_unmark_busy
    - g_object_unref
    - g_simple_action_new
    - g_simple_action_set_enabled
    - g_application_new
    - g_application_unbind_busy_property
    - g_application_mark_busy
    - g_application_bind_busy_property
    linkageType: ''
    returnType: void
    signature: 'static void test_busy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/tests/gapplication.c:1255,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/gapplication.c:1257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1260
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1260
    functionName: dbus_startup_reply_idle_cb
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_release
    - G_APPLICATION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dbus_startup_reply_idle_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1476,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1484,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1492,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1495,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1504,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1507,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1507,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1510,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1511,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1515,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/gapplication.c:1530,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1553,1
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication.c:1546,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1513,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/gapplication.c:1531,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gapplication.c:1469,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1478,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1480,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gapplication.c:1539,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:1547,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1555,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1562,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1527,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1542,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1554,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1543,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1512,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1544,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gapplication.c:1551,1
    - Dst: g_variant_builder_add_parsed
      Src: /src/glib/gio/tests/gapplication.c:1517,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1543,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1556,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gapplication.c:1472,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1495,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1491,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1496,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/tests/gapplication.c:1496,1
    - Dst: g_variant_builder_add_parsed
      Src: /src/glib/gio/tests/gapplication.c:1497,1
    - Dst: g_variant_builder_add_parsed
      Src: /src/glib/gio/tests/gapplication.c:1498,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1500,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1504,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1510,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1515,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1524,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gapplication.c:1559,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gapplication.c:1516,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1475,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1475,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1477,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1484,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1493,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1487,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1490,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1487,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1490,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1516,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1520,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/gapplication.c:1561,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:1541,1
    - Dst: g_variant_builder_add_parsed
      Src: /src/glib/gio/tests/gapplication.c:1518,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1527,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1524,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1542,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 77
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1563
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1563
    functionName: test_dbus_command_line
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_variant_builder_add_parsed
    - g_steal_pointer
    - g_variant_new_bytestring
    - g_test_dbus_new
    - g_test_summary
    - g_ptr_array_unref
    - g_test_dbus_down
    - g_variant_new_string
    - g_test_dbus_up
    - g_variant_builder_add
    - g_variant_new
    - g_dbus_message_set_body
    - g_application_new
    - g_signal_connect
    - g_assert_cmpuint
    - G_CALLBACK
    - g_variant_builder_init
    - g_dbus_message_new_method_call
    - g_application_hold
    - g_application_run
    - g_ptr_array_add
    - G_VARIANT_TYPE
    - g_test_message
    - g_clear_object
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_command_line (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gapplication.c:1236,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gapplication.c:1242,1
    - Dst: g_dbus_connection_send_message_with_reply_finish
      Src: /src/glib/gio/tests/gapplication.c:1241,1
    - Dst: G_APPLICATION
      Src: /src/glib/gio/tests/gapplication.c:1237,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1245,1
    - Dst: g_idle_add_full
      Src: /src/glib/gio/tests/gapplication.c:1249,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1250
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1250
    functionName: dbus_startup_reply_cb
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_send_message_with_reply_finish
    - g_clear_object
    - g_assert_no_error
    - g_steal_pointer
    - G_APPLICATION
    - G_DBUS_CONNECTION
    - g_idle_add_full
    linkageType: ''
    returnType: void
    signature: 'static void dbus_startup_reply_cb (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:135,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gapplication.c:138,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:143,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gapplication.c:137,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gapplication.c:140,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:149,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gapplication.c:152,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:154,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gapplication.c:155,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gapplication.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 158
    functionName: basic
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_assert
    - session_bus_down
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    - g_main_loop_unref
    - spawn
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void basic (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gapplication.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: nonunique_activate
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void nonunique_activate (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:428,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:428,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:432,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:436,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:448,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:449,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:452,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:453,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:458,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:457,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:456,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:458,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:457,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:427,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:432,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:433,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:434,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:438,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:440,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:445,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:448,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:451,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:452,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:450,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:449,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:455,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:454,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:453,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:429,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:430,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:431,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:436,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:433,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:437,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:438,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:439,1
    - Dst: memset
      Src: /src/glib/gio/tests/gapplication.c:442,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:445,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:454,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:446,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:451,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:450,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:456,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:455,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:427,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:429,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:430,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:431,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:434,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:435,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:435,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:437,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication.c:439,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:440,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/gapplication.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 459
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 459
    functionName: appid
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_application_id_is_valid
    - g_new0
    - g_free
    - memset
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void appid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_quit
      Src: /src/glib/gio/tests/gapplication.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: quit_app
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean quit_app (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 3
    argNames:
    - application
    - arguments
    - exit_status
    argTypes:
    - GApplication*
    - gchar***
    - gint*
    constantsTouched: []
    func_position:
      end: 731
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 731
    functionName: test_loc_cmd_app_local_command_line
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_loc_cmd_app_local_command_line (GApplication
      *application, gchar ***arguments, gint *exit_status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:744,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gapplication.c:748,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:752,1
    - Dst: test_loc_cmd_app_get_type
      Src: /src/glib/gio/tests/gapplication.c:748,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:753,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 755
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 755
    functionName: test_local_command_line
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_free
    - g_object_new
    - g_object_unref
    - g_application_run
    - test_loc_cmd_app_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_local_command_line (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - app
    - called
    argTypes:
    - GApplication*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1067
    functionName: startup_in_subprocess
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void startup_in_subprocess (GApplication *app, gboolean *called) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1281,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1277,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1289,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1300,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1293,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/gapplication.c:1304,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:1315,1
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication.c:1319,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gapplication.c:1330,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/gapplication.c:1332,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gapplication.c:1274,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1281,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1290,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1293,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1296,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1301,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1316,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1317,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:1320,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1325,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gapplication.c:1271,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1282,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1290,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1294,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/tests/gapplication.c:1294,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1301,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/gapplication.c:1305,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gapplication.c:1313,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1316,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gapplication.c:1323,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1282,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1285,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1289,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1300,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1317,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1326,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1327,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1334
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1334
    functionName: test_dbus_activate
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_steal_pointer
    - g_variant_new_bytestring
    - g_test_dbus_new
    - g_test_summary
    - g_ptr_array_unref
    - g_test_dbus_down
    - g_test_dbus_up
    - g_variant_builder_add
    - g_variant_new
    - g_dbus_message_set_body
    - g_application_new
    - g_signal_connect
    - g_assert_cmpuint
    - G_CALLBACK
    - g_dbus_message_new_method_call
    - g_variant_builder_init
    - g_application_hold
    - g_application_run
    - g_ptr_array_add
    - G_VARIANT_TYPE
    - g_test_message
    - g_clear_object
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_activate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/gapplication.c:175,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gapplication.c:171,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/tests/gapplication.c:176,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:191,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:216,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:222,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:209,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:219,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:206,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:197,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:200,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:212,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gapplication.c:242,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:228,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:234,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:203,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gapplication.c:170,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:225,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gapplication.c:237,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:168,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gapplication.c:173,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gapplication.c:178,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/gapplication.c:183,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:194,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:231,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:239,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gapplication.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 243
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 243
    functionName: test_remote_command_line
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_file_get_path
    - g_strconcat
    - session_bus_down
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    - g_main_loop_unref
    - spawn
    - g_main_loop_new
    - g_main_loop_run
    - g_get_current_dir
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_remote_command_line (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:310,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:312,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:312,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:316,1
    - Dst: g_application_register
      Src: /src/glib/gio/tests/gapplication.c:313,1
    - Dst: g_application_activate
      Src: /src/glib/gio/tests/gapplication.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - non_unique
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 323
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 323
    functionName: make_app
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_application_register
    - g_application_activate
    - g_object_unref
    - G_CALLBACK
    - g_application_new
    linkageType: ''
    returnType: GApplication*
    signature: 'static GApplication *make_app (gboolean non_unique) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication.c:543,1
    - Dst: g_application_get_dbus_object_path
      Src: /src/glib/gio/tests/gapplication.c:546,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:546,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:545,1
    - Dst: g_application_get_dbus_connection
      Src: /src/glib/gio/tests/gapplication.c:545,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gapplication.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - app
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 549
    functionName: quit_activate
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_idle_add
    - g_assert
    - g_application_get_dbus_connection
    - g_application_get_dbus_object_path
    - g_application_hold
    linkageType: ''
    returnType: void
    signature: 'static void quit_activate (GApplication *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_CLASS
      Src: /src/glib/gio/tests/gapplication.c:736,1
    - Dst: G_APPLICATION_CLASS
      Src: /src/glib/gio/tests/gapplication.c:738,1
    - Dst: G_APPLICATION_CLASS
      Src: /src/glib/gio/tests/gapplication.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestLocCmdAppClass*
    constantsTouched: []
    func_position:
      end: 739
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 739
    functionName: test_loc_cmd_app_class_init
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - G_APPLICATION_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_loc_cmd_app_class_init (TestLocCmdAppClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:763,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:771,1
    - Dst: g_application_get_resource_base_path
      Src: /src/glib/gio/tests/gapplication.c:771,1
    - Dst: g_application_set_resource_base_path
      Src: /src/glib/gio/tests/gapplication.c:774,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:781,1
    - Dst: g_application_get_resource_base_path
      Src: /src/glib/gio/tests/gapplication.c:781,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:786,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:775,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gapplication.c:785,1
    - Dst: g_application_get_resource_base_path
      Src: /src/glib/gio/tests/gapplication.c:763,1
    - Dst: g_application_set_application_id
      Src: /src/glib/gio/tests/gapplication.c:766,1
    - Dst: g_application_get_resource_base_path
      Src: /src/glib/gio/tests/gapplication.c:767,1
    - Dst: g_application_set_resource_base_path
      Src: /src/glib/gio/tests/gapplication.c:770,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gapplication.c:780,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:777,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:762,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:767,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:782,1
    - Dst: g_application_get_resource_base_path
      Src: /src/glib/gio/tests/gapplication.c:775,1
    - Dst: g_application_get_resource_base_path
      Src: /src/glib/gio/tests/gapplication.c:786,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 788
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 788
    functionName: test_resource_path
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_get_resource_base_path
    - g_object_new
    - g_assert_cmpstr
    - g_object_unref
    - g_application_set_resource_base_path
    - g_application_new
    - g_application_set_application_id
    linkageType: ''
    returnType: void
    signature: 'static void test_resource_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - app
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1341
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1341
    functionName: dbus_activate_noop_cb
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dbus_activate_noop_cb (GApplication *app, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1595,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1606,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1611,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1617,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1621,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1625,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1629,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1630,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/tests/gapplication.c:1630,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1632,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gapplication.c:1669,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1677,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1636,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/gapplication.c:1649,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gapplication.c:1588,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1599,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1599,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1600,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gapplication.c:1600,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1610,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1610,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1665,1
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication.c:1671,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/gapplication.c:1682,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1666,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1679,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1595,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1613,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1606,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1625,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1629,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1636,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1640,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1644,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/gapplication.c:1648,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gapplication.c:1662,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1683,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1644,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:1672,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1591,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1602,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1617,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gapplication.c:1611,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gapplication.c:1651,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/gapplication.c:1669,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gapplication.c:1674,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:1664,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1676,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1678,1
    - Dst: g_action_map_add_action_entries
      Src: /src/glib/gio/tests/gapplication.c:1669,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1665,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1684
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1684
    functionName: test_dbus_activate_action
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - G_ACTION_MAP
    - g_test_dbus_new
    - g_test_summary
    - g_test_dbus_down
    - g_variant_new_string
    - g_test_dbus_up
    - g_variant_builder_add
    - g_variant_new
    - g_dbus_message_set_body
    - g_application_new
    - g_signal_connect
    - g_assert_cmpuint
    - G_CALLBACK
    - g_variant_builder_init
    - g_dbus_message_new_method_call
    - g_application_hold
    - g_application_run
    - G_VARIANT_TYPE
    - g_test_message
    - g_variant_new_uint32
    - g_clear_object
    - g_action_map_add_action_entries
    - G_N_ELEMENTS
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_activate_action (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:485,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:491,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:490,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:490,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:489,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:492,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:494,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 496
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 496
    functionName: test_nodbus
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_free
    - g_assert
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    linkageType: ''
    returnType: void
    signature: 'static void test_nodbus (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:555,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:566,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:562,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gapplication.c:560,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gapplication.c:559,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:566,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:567,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:568,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:569,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:571,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gapplication.c:574,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:575,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 576
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 576
    functionName: test_quit
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_free
    - g_assert
    - session_bus_down
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    - G_CALLBACK
    - g_application_run
    - g_application_new
    linkageType: ''
    returnType: void
    signature: 'static void test_quit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:690,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:694,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:696,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:696,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:697,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:698,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 700
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 700
    functionName: test_local_actions
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_free
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    linkageType: ''
    returnType: void
    signature: 'static void test_local_actions (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gapplication.c:961,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:963,1
    - Dst: g_application_add_main_option
      Src: /src/glib/gio/tests/gapplication.c:971,1
    - Dst: g_application_add_main_option
      Src: /src/glib/gio/tests/gapplication.c:972,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:970,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:973,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:973,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:974,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:974,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:976,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gapplication.c:979,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:978,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:982,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gapplication.c:986,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gapplication.c:976,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:977,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:981,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gapplication.c:987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 988
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 988
    functionName: test_handle_local_options_failure
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_assert_cmpint
    - g_free
    - g_assert
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    - g_application_add_main_option
    - G_N_ELEMENTS
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_handle_local_options_failure (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication.c:1085,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/tests/gapplication.c:1087,1
    - Dst: g_subprocess_launcher_set_environ
      Src: /src/glib/gio/tests/gapplication.c:1100,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gapplication.c:1099,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gapplication.c:1097,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gapplication.c:1101,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gapplication.c:1102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:1103,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/gapplication.c:1108,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/gapplication.c:1109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - app
    - data
    argTypes:
    - GApplication*
    - TestReplaceData*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1111
    functionName: startup_cb
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - g_test_message
    - g_subprocess_launcher_set_environ
    - g_subprocess_launcher_spawnv
    - g_get_prgname
    - g_assert_no_error
    - g_object_unref
    - g_application_release
    - g_application_hold
    - g_subprocess_launcher_new
    linkageType: ''
    returnType: void
    signature: 'static void startup_cb (GApplication *app, TestReplaceData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gapplication.c:993,1
    - Dst: g_application_add_main_option
      Src: /src/glib/gio/tests/gapplication.c:1003,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:1002,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:995,1
    - Dst: g_application_add_main_option
      Src: /src/glib/gio/tests/gapplication.c:1004,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1005,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1005,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1006,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1006,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:1008,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gapplication.c:1008,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:1009,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:1010,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gapplication.c:1011,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:1014,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gapplication.c:1019,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:1013,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gapplication.c:1018,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1020
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1020
    functionName: test_handle_local_options_passthrough
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_assert_cmpint
    - g_free
    - g_assert
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    - g_application_add_main_option
    - G_N_ELEMENTS
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_handle_local_options_passthrough (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1117
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1117
    functionName: activate
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void activate (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gapplication.c:1693,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1698,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1708,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1714,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1715,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1710,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1716,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gapplication.c:1717,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gapplication.c:1718,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1720,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1702,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1704,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1713,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1706,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gapplication.c:1718,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1722,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gapplication.c:1689,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gapplication.c:1696,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gapplication.c:1695,1
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/gio/tests/gapplication.c:1691,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1712,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1705,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gapplication.c:1717,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1721,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1700,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1703,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1711,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gapplication.c:1719,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gapplication.c:1724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1725
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1725
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_test_dbus_unset
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_log_writer_default_set_use_stderr
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_setenv
    - g_test_subprocess
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:515,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:521,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:519,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:520,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:520,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:522,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:524,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 526
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 526
    functionName: test_noappid
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_free
    - g_assert
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    linkageType: ''
    returnType: void
    signature: 'static void test_noappid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_register
      Src: /src/glib/gio/tests/gapplication.c:622,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gapplication.c:645,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:610,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:615,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:618,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:626,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:631,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gapplication.c:627,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:623,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:634,1
    - Dst: g_application_get_is_registered
      Src: /src/glib/gio/tests/gapplication.c:642,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:644,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:642,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gapplication.c:637,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:648,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:616,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:616,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:617,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:618,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gapplication.c:620,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:633,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:629,1
    - Dst: g_application_get_is_registered
      Src: /src/glib/gio/tests/gapplication.c:634,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gapplication.c:635,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:636,1
    - Dst: g_application_register
      Src: /src/glib/gio/tests/gapplication.c:641,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:650,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:617,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:622,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gapplication.c:625,1
    - Dst: g_application_get_is_registered
      Src: /src/glib/gio/tests/gapplication.c:623,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:641,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gapplication.c:643,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 651
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 651
    functionName: test_registered
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_assert_false
    - g_free
    - g_application_register
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_object_unref
    - G_CALLBACK
    - g_assert_null
    - g_application_run
    - g_application_get_is_registered
    - g_application_new
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_registered (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_quit
      Src: /src/glib/gio/tests/gapplication.c:1124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1126
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1126
    functionName: quit_already
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_quit
    linkageType: ''
    returnType: void
    signature: 'static void quit_already (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gapplication.c:1206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - app
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1207
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1207
    functionName: dbus_activate_cb
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void dbus_activate_cb (GApplication *app, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gapplication.c:1353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - app
    - files
    - n_files
    - hint
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    - int
    - char*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1354
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1354
    functionName: dbus_open_cb
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void dbus_open_cb (GApplication *app, gpointer files, int n_files,
      char *hint, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gapplication.c:1457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - app
    - command_line
    - user_data
    argTypes:
    - GApplication*
    - GApplicationCommandLine*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1458
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1458
    functionName: dbus_command_line_cb
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void dbus_command_line_cb (GApplication *app, GApplicationCommandLine
      *command_line, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gapplication.c:1573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1574
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1574
    functionName: dbus_activate_action_cb
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void dbus_activate_action_cb (GSimpleAction *action, GVariant
      *parameter, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/tests/gapplication.c:34,1
    - Dst: g_alloca
      Src: /src/glib/gio/tests/gapplication.c:35,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/gapplication.c:41,1
    - Dst: read
      Src: /src/glib/gio/tests/gapplication.c:36,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gapplication.c:38,1
    - Dst: MIN
      Src: /src/glib/gio/tests/gapplication.c:43,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gapplication.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - fd
    - expected
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: check_data
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_error
    - MIN
    - read
    - g_alloca
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void check_data (gint fd, const gchar *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:250,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gapplication.c:252,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gapplication.c:255,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gapplication.c:253,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:258,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:264,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:268,1
    - Dst: spawn
      Src: /src/glib/gio/tests/gapplication.c:271,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gapplication.c:274,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:276,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gapplication.c:277,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gapplication.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 280
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 280
    functionName: test_remote_actions
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_assert
    - session_bus_down
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    - g_main_loop_unref
    - spawn
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_remote_actions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gapplication.c:392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gapplication.c:395,1
    - Dst: g_application_register
      Src: /src/glib/gio/tests/gapplication.c:397,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:398,1
    - Dst: g_application_quit
      Src: /src/glib/gio/tests/gapplication.c:413,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gapplication.c:401,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:416,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:417,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gapplication.c:381,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:407,1
    - Dst: G_APPLICATION
      Src: /src/glib/gio/tests/gapplication.c:413,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gapplication.c:399,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gapplication.c:379,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gapplication.c:385,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gapplication.c:393,1
    - Dst: G_APPLICATION
      Src: /src/glib/gio/tests/gapplication.c:397,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:406,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gapplication.c:409,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gapplication.c:378,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:394,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:415,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gapplication.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 420
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 420
    functionName: properties
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_object_new
    - g_application_register
    - g_assert
    - session_bus_down
    - g_assert_no_error
    - g_bus_get_sync
    - g_assert_cmpstr
    - session_bus_up
    - g_object_set
    - g_object_unref
    - G_APPLICATION
    - g_application_quit
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_get_is_remote
      Src: /src/glib/gio/tests/gapplication.c:660,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gapplication.c:663,1
    - Dst: g_simple_action_new_stateful
      Src: /src/glib/gio/tests/gapplication.c:666,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/tests/gapplication.c:667,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/gapplication.c:669,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gapplication.c:670,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/gapplication.c:674,1
    - Dst: g_action_map_lookup_action
      Src: /src/glib/gio/tests/gapplication.c:677,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/gapplication.c:677,1
    - Dst: g_action_map_remove_action
      Src: /src/glib/gio/tests/gapplication.c:680,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:660,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/gapplication.c:662,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/gapplication.c:662,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/gapplication.c:667,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gapplication.c:673,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/gapplication.c:674,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/gapplication.c:680,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gapplication.c:684,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gapplication.c:664,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gapplication.c:671,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:675,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:683,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/gapplication.c:682,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:663,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gapplication.c:666,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/gapplication.c:669,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/gapplication.c:673,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/gapplication.c:673,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:670,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/gapplication.c:675,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:678,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/gapplication.c:682,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gapplication.c:683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 1
    argNames:
    - app
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 685
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 685
    functionName: on_activate
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_action_map_remove_action
    - g_action_group_change_action_state
    - g_variant_get_boolean
    - g_assert
    - g_simple_action_new_stateful
    - g_action_map_add_action
    - g_variant_new_boolean
    - g_action_group_list_actions
    - G_ACTION_MAP
    - g_application_get_is_remote
    - g_strfreev
    - g_action_group_get_action_state
    - g_action_map_lookup_action
    - g_strv_length
    - G_ACTION_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void on_activate (GApplication *app) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:1135,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:1144,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:1147,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1172,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/tests/gapplication.c:1177,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1192,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/gapplication.c:1194,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1174,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:1140,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:1152,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:1170,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1172,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1173,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gapplication.c:1179,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gapplication.c:1181,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gapplication.c:1183,1
    - Dst: g_clear_handle_id
      Src: /src/glib/gio/tests/gapplication.c:1187,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:1189,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gapplication.c:1131,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gapplication.c:1133,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1141,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gapplication.c:1144,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:1151,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/gapplication.c:1171,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:1149,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:1156,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/gapplication.c:1168,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1173,1
    - Dst: g_subprocess_wait
      Src: /src/glib/gio/tests/gapplication.c:1191,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1141,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1142,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1142,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/gapplication.c:1167,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:1179,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gapplication.c:1185,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:1188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:1195,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1174,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1197
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1197
    functionName: test_replace
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - g_clear_handle_id
    - g_test_dbus_new
    - g_test_dbus_down
    - g_assert_nonnull
    - g_test_dbus_up
    - g_object_unref
    - g_timeout_add_seconds_once
    - g_application_new
    - g_test_subprocess
    - g_signal_connect
    - g_subprocess_wait
    - G_CALLBACK
    - g_application_run
    - GPOINTER_TO_INT
    - g_assert_false
    - g_test_build_filename
    - g_free
    - g_clear_object
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_replace (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gapplication.c:1365,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1372,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1371,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1378,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1383,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1389,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1382,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1393,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1394,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1395,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gapplication.c:1398,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1400,1
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication.c:1432,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/gapplication.c:1416,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1446,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1412,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1438,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1413,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1428,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/gapplication.c:1417,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1437,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1404,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1429,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gapplication.c:1439,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1430,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1429,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gapplication.c:1440,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/gapplication.c:1445,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1390,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1408,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1371,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gapplication.c:1368,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1374,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1378,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1379,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1379,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1389,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1393,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gapplication.c:1385,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1382,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gapplication.c:1412,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gapplication.c:1397,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1405,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gapplication.c:1404,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:1427,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:1433,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1390,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gapplication.c:1435,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:1430,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gapplication.c:1443,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:1428,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gapplication.c:1425,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gapplication.c:1413,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gapplication.c:1405,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gapplication.c:1397,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/tests/gapplication.c:1398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 70
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1447
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1447
    functionName: test_dbus_open
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_steal_pointer
    - g_variant_new_bytestring
    - g_test_dbus_new
    - g_test_summary
    - g_ptr_array_unref
    - g_test_dbus_down
    - g_test_dbus_up
    - g_variant_builder_add
    - g_variant_new
    - g_dbus_message_set_body
    - g_application_new
    - g_signal_connect
    - g_assert_cmpuint
    - G_CALLBACK
    - g_variant_builder_init
    - g_dbus_message_new_method_call
    - g_application_hold
    - g_application_run
    - g_ptr_array_add
    - G_VARIANT_TYPE
    - g_test_message
    - g_clear_object
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_open (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication.c:504,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gapplication.c:508,1
    - Dst: g_application_get_flags
      Src: /src/glib/gio/tests/gapplication.c:506,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - app
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: noappid_activate
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_application_get_flags
    - g_idle_add
    - g_application_hold
    linkageType: ''
    returnType: void
    signature: 'static void noappid_activate (GApplication *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gapplication.c:808,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication.c:818,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gapplication.c:810,1
    - Dst: g_application_add_main_option
      Src: /src/glib/gio/tests/gapplication.c:817,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication.c:816,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication.c:818,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication.c:820,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gapplication.c:820,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gapplication.c:821,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gapplication.c:822,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gapplication.c:830,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/gio/tests/gapplication.c:831,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication.c:824,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication.c:825,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gapplication.c:829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 832
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 832
    functionName: test_help
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_test_build_filename
    - g_assert_cmpint
    - g_free
    - g_assert
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    - g_test_trap_assert_stdout
    - g_application_add_main_option
    - G_N_ELEMENTS
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_help (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_quit
      Src: /src/glib/gio/tests/gapplication.c:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - app
    - called
    argTypes:
    - GApplication*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1060
    functionName: name_was_lost
    functionSourceFile: /src/glib/gio/tests/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean name_was_lost (GApplication *app, gboolean *called) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_application_command_line_get_arguments
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:24,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:33,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:34,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:35,1
    - Dst: g_new
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:29,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:41,1
    - Dst: g_application_command_line_printerr
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:43,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:44,1
    - Dst: g_application_command_line_set_exit_status
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:45,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:50,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:52,1
    - Dst: g_application_command_line_print
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:51,1
    - Dst: g_application_command_line_set_exit_status
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:58,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:61,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:62,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:64,1
    - Dst: g_application_command_line_print
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:56,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:67,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 70
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 70
    functionName: my_cmdline_handler
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline3.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_free
    - g_option_context_free
    - g_application_command_line_set_exit_status
    - g_option_context_parse
    - g_application_command_line_printerr
    - g_option_context_add_main_entries
    - g_new
    - g_error_free
    - g_option_context_get_help
    - g_application_command_line_print
    - g_object_unref
    - g_strfreev
    - g_application_command_line_get_arguments
    - g_option_context_set_help_enabled
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean my_cmdline_handler (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:95,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:98,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:100,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:97,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:97,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline3.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - g_signal_connect
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:77,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:84,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:79,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:79,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gapplication-example-cmdline3.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - application
    - cmdline
    argTypes:
    - GApplication*
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: command_line
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline3.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - g_idle_add
    - g_application_hold
    - g_object_set_data_full
    linkageType: ''
    returnType: int
    signature: 'static int command_line (GApplication *application, GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-names.c:188,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:246,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:320,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:377,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:398,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:245,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-names.c:197,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:170,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:174,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:194,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-names.c:272,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:282,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-names.c:303,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:478,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:240,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-names.c:221,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:160,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:180,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-names.c:181,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-names.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:205,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:329,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:415,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:451,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:505,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-names.c:269,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:247,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:127,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-names.c:223,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:326,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:327,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:345,1
    - Dst: g_bus_own_name_on_connection
      Src: /src/glib/gio/tests/gdbus-names.c:352,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:366,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:447,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:516,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:137,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:181,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-names.c:187,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-names.c:216,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-names.c:232,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:243,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:229,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:402,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:543,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-names.c:545,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:539,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:450,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-names.c:119,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:128,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:165,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:230,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-names.c:266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:312,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:333,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:399,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:400,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:435,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:254,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:277,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-names.c:150,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:166,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:172,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:248,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-names.c:215,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:514,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-names.c:546,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-names.c:269,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-names.c:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:284,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:334,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-names.c:343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:391,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:419,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:510,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:485,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:134,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-names.c:195,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:196,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:290,1
    - Dst: g_bus_own_name_on_connection
      Src: /src/glib/gio/tests/gdbus-names.c:463,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:504,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:515,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:417,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:477,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:224,1
    - Dst: g_bus_own_name_with_closures
      Src: /src/glib/gio/tests/gdbus-names.c:263,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:158,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:140,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-names.c:266,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-names.c:272,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:283,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:289,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:311,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:488,1
    - Dst: g_bus_own_name_on_connection
      Src: /src/glib/gio/tests/gdbus-names.c:496,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:513,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:534,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:222,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:242,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:291,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:483,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:487,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:537,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:524,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:374,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:136,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:331,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:344,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-names.c:345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:375,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:541,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:442,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:361,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:470,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:503,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:536,1
    - Dst: g_bus_own_name_on_connection
      Src: /src/glib/gio/tests/gdbus-names.c:384,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:521,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:519,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:276,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:376,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:404,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-names.c:427,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:440,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:481,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:512,1
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gdbus-names.c:532,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:437,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:525,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-names.c:548,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:244,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:139,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-names.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:275,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:202,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-names.c:193,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:443,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:444,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:449,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:486,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:479,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:359,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:138,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-names.c:145,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-names.c:225,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:313,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:318,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:406,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:408,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:436,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:396,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:409,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:335,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 288
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 549
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 549
    functionName: test_bus_own_name
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_bus_unown_name
    - g_assert_cmpint
    - g_cclosure_new
    - _g_bus_get_priv
    - g_bus_get_sync
    - g_bus_own_name_with_closures
    - g_object_unref
    - g_variant_new
    - g_dbus_connection_is_closed
    - session_bus_stop
    - g_assert_no_error
    - g_variant_unref
    - session_bus_up
    - g_variant_get
    - G_CALLBACK
    - g_main_context_iteration
    - g_bus_own_name
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_assert
    - session_bus_down
    - g_bus_own_name_on_connection
    linkageType: ''
    returnType: void
    signature: 'static void test_bus_own_name (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/tests/gdbus-names.c:762,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:782,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:784,1
    - Dst: g_bus_watch_name_on_connection_with_closures
      Src: /src/glib/gio/tests/gdbus-names.c:820,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/tests/gdbus-names.c:832,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-names.c:852,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:854,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:859,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:864,1
    - Dst: g_bus_watch_name_with_closures
      Src: /src/glib/gio/tests/gdbus-names.c:877,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:935,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:937,1
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gdbus-names.c:950,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:972,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:906,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-names.c:946,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:956,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-names.c:978,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-names.c:964,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:863,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-names.c:880,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:954,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:769,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:773,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:780,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:783,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:809,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:844,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:846,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:856,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-names.c:880,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:899,1
    - Dst: stop_service
      Src: /src/glib/gio/tests/gdbus-names.c:944,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:961,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:966,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:847,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-names.c:922,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-names.c:883,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:960,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:770,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:775,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-names.c:778,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:813,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-names.c:812,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:810,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-names.c:823,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-names.c:823,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-names.c:826,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-names.c:826,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:912,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:934,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:936,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:955,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:974,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:776,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-names.c:797,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:807,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-names.c:790,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:840,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-names.c:883,1
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/tests/gdbus-names.c:889,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:898,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:902,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:907,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:911,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:976,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:861,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:968,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:841,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:932,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 139
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 979
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 979
    functionName: test_bus_watch_name
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_bus_unwatch_name
    - g_assert_cmpint
    - stop_service
    - session_bus_stop
    - g_cclosure_new
    - g_assert
    - session_bus_down
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    - g_bus_watch_name_on_connection
    - g_bus_watch_name_on_connection_with_closures
    - g_bus_watch_name
    - G_CALLBACK
    - g_bus_unown_name
    - g_main_context_iteration
    - g_bus_watch_name_with_closures
    - g_bus_own_name
    linkageType: ''
    returnType: void
    signature: 'static void test_bus_watch_name (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: name_acquired_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void name_acquired_handler (GDBusConnection *connection, const
      gchar *name, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gdbus-names.c:1266,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/tests/gdbus-names.c:1269,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:1271,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:1269,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/tests/gdbus-names.c:1271,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:1274,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-names.c:1274,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:1276,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-names.c:1276,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:1280,1
    - Dst: g_dbus_is_error_name
      Src: /src/glib/gio/tests/gdbus-names.c:1281,1
    - Dst: g_dbus_is_error_name
      Src: /src/glib/gio/tests/gdbus-names.c:1286,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:1286,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/tests/gdbus-names.c:1280,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/tests/gdbus-names.c:1285,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:1285,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:1281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1289
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1289
    functionName: test_validate_names
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_dbus_is_interface_name
    - g_dbus_is_name
    - G_N_ELEMENTS
    - g_dbus_is_unique_name
    - g_dbus_is_error_name
    linkageType: ''
    returnType: void
    signature: 'static void test_validate_names (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_escape_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1298,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-names.c:1299,1
    - Dst: g_dbus_escape_object_path_bytestring
      Src: /src/glib/gio/tests/gdbus-names.c:1302,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-names.c:1301,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-names.c:1303,1
    - Dst: g_dbus_unescape_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1305,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-names.c:1306,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-names.c:1308,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-names.c:1309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - s
    - correct_escaped
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1310
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1310
    functionName: assert_cmp_escaped_object_path
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_free
    - g_dbus_escape_object_path_bytestring
    - g_assert_cmpstr
    - g_dbus_escape_object_path
    - g_dbus_unescape_object_path
    linkageType: ''
    returnType: void
    signature: 'static void assert_cmp_escaped_object_path (const gchar *s, const
      gchar *correct_escaped) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-names.c:1342,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-names.c:1347,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-names.c:1344,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gdbus-names.c:1348,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-names.c:1346,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gdbus-names.c:1351,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gdbus-names.c:1354,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gdbus-names.c:1357,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gdbus-names.c:1360,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-names.c:1363,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-names.c:1366,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-names.c:1365,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-names.c:1364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1369
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_test_dbus_unset
    - g_test_add_data_func
    - g_test_add_func
    - 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/gio/tests/gdbus-names.c:79,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:83,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-names.c:84,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: name_lost_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_wakeup
    - g_dbus_connection_set_exit_on_close
    linkageType: ''
    returnType: void
    signature: 'static void name_lost_handler (GDBusConnection *connection, const
      gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1315,1
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1319,1
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1317,1
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1321,1
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1322,1
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1323,1
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1316,1
    - Dst: g_dbus_unescape_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1327,1
    - Dst: g_dbus_unescape_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1326,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-names.c:1329,1
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1318,1
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1320,1
    - Dst: assert_cmp_escaped_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1324,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-names.c:1328,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-names.c:1330,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-names.c:1326,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-names.c:1327,1
    - Dst: g_dbus_unescape_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1331,1
    - Dst: g_dbus_unescape_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1329,1
    - Dst: g_dbus_unescape_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1328,1
    - Dst: g_dbus_unescape_object_path
      Src: /src/glib/gio/tests/gdbus-names.c:1330,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-names.c:1331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1332
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1332
    functionName: test_escape_object_path
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - assert_cmp_escaped_object_path
    - g_dbus_unescape_object_path
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_escape_object_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-names.c:1016,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:1017,1
    - Dst: g_main_context_is_owner
      Src: /src/glib/gio/tests/gdbus-names.c:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1018
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1018
    functionName: t_name_vanished_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_main_context_is_owner
    - g_assert_true
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void t_name_vanished_handler (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-names.c:1231,1
    - Dst: watch_with_different_context
      Src: /src/glib/gio/tests/gdbus-names.c:1232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1233
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1233
    functionName: test_bus_unwatch_early
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - watch_with_different_context
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_bus_unwatch_early (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-names.c:1003,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:1004,1
    - Dst: g_main_context_is_owner
      Src: /src/glib/gio/tests/gdbus-names.c:1003,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1005
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1005
    functionName: t_name_appeared_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_main_context_is_owner
    - g_assert_true
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void t_name_appeared_handler (GDBusConnection *connection,
      const gchar *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - OwnNameData*
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: own_name_data_free_func
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void own_name_data_free_func (OwnNameData *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: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: w_bus_acquired_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void w_bus_acquired_handler (GDBusConnection *connection, const
      gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 613
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 613
    functionName: w_name_lost_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void w_name_lost_handler (GDBusConnection *connection, const
      gchar *name, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:645,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:653,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-names.c:650,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:649,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 654
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 654
    functionName: name_vanished_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_wakeup
    - g_dbus_connection_set_exit_on_close
    linkageType: ''
    returnType: void
    signature: 'static void name_vanished_handler (GDBusConnection *connection, const
      gchar *name, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1030,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/gdbus-names.c:1033,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-names.c:1031,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-names.c:1031,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-names.c:1032,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - connection
    - remote_peer_vanished
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1036
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1036
    functionName: connection_closed_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_bus_unwatch_name
    - g_cond_signal
    - g_atomic_int_get
    - g_mutex_unlock
    - g_atomic_int_set
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void connection_closed_cb (GDBusConnection *connection, gboolean
      remote_peer_vanished, GError *error, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1190,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-names.c:1205,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-names.c:1215,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-names.c:1217,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:1207,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/tests/gdbus-names.c:1211,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:1157,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/tests/gdbus-names.c:1160,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/tests/gdbus-names.c:1159,1
    - Dst: g_cond_init
      Src: /src/glib/gio/tests/gdbus-names.c:1161,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1169,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-names.c:1170,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:1189,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1173,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1194,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1197,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/tests/gdbus-names.c:1212,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-names.c:1215,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-names.c:1195,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/gdbus-names.c:1196,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1208,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-names.c:1154,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-names.c:1156,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-names.c:1165,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-names.c:1171,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/gdbus-names.c:1172,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1191,1
    - Dst: g_bus_own_name_on_connection
      Src: /src/glib/gio/tests/gdbus-names.c:1181,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:1201,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-names.c:1203,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/tests/gdbus-names.c:1210,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-names.c:1216,1
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gdbus-names.c:1214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 1
    argNames:
    - unwatch_early
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 1218
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1218
    functionName: watch_with_different_context
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_thread_new
    - g_bus_unown_name
    - g_mutex_init
    - g_assert_cmpint
    - g_bus_get_sync
    - g_object_unref
    - g_cond_wait
    - g_atomic_int_get
    - g_thread_join
    - g_dbus_connection_is_closed
    - g_cond_init
    - session_bus_stop
    - g_object_ref
    - session_bus_up
    - g_main_context_iteration
    - g_mutex_clear
    - g_cond_signal
    - g_assert
    - session_bus_down
    - g_mutex_unlock
    - g_bus_own_name_on_connection
    - g_cond_clear
    - g_assert_true
    - g_atomic_int_set
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void watch_with_different_context (gboolean unwatch_early) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-names.c:56,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: bus_acquired_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    - g_dbus_connection_set_exit_on_close
    linkageType: ''
    returnType: void
    signature: 'static void bus_acquired_handler (GDBusConnection *connection, const
      gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - WatchNameData*
    constantsTouched: []
    func_position:
      end: 586
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 586
    functionName: watch_name_data_free_func
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void watch_name_data_free_func (WatchNameData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 603
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 603
    functionName: w_name_acquired_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void w_name_acquired_handler (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:625,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:633,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-names.c:630,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-names.c:629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 634
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 634
    functionName: name_appeared_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_wakeup
    - g_dbus_connection_set_exit_on_close
    linkageType: ''
    returnType: void
    signature: 'static void name_appeared_handler (GDBusConnection *connection, const
      gchar *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-names.c:704,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-names.c:721,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-names.c:722,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-names.c:712,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-names.c:714,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-names.c:724,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:726,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - connection
    - data
    argTypes:
    - GDBusConnection*
    - WatchNameData*
    constantsTouched: []
    func_position:
      end: 727
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 727
    functionName: stop_service
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_sync
    - g_dbus_proxy_new_sync
    - g_assert_no_error
    - g_variant_unref
    - g_object_unref
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: 'static void stop_service (GDBusConnection *connection, WatchNameData
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-names.c:1056,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1074,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1077,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:1079,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:1123,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-names.c:1134,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-names.c:1120,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-names.c:1133,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1121,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1140,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/gdbus-names.c:1130,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1139,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-names.c:1046,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/gdbus-names.c:1051,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1058,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/tests/gdbus-names.c:1067,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1093,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1102,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:1129,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1131,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-names.c:1135,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-names.c:1044,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/gdbus-names.c:1057,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gio/tests/gdbus-names.c:1064,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1076,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1080,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1081,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1100,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:1114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1117,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-names.c:1119,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-names.c:1136,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-names.c:1119,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-names.c:1050,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1049,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1052,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1055,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1066,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-names.c:1064,1
    - Dst: g_dbus_connection_close_sync
      Src: /src/glib/gio/tests/gdbus-names.c:1089,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-names.c:1094,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/gdbus-names.c:1095,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-names.c:1096,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-names.c:1116,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1127,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1118,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-names.c:1138,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-names.c:1099,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 68
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1142
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1142
    functionName: watcher_thread
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_bus_unwatch_name
    - g_main_context_wakeup
    - g_signal_connect_after
    - g_main_context_unref
    - g_atomic_int_set
    - g_main_context_new
    - g_assert_cmpint
    - g_object_unref
    - g_cond_wait
    - g_atomic_int_get
    - g_main_context_push_thread_default
    - G_CALLBACK
    - g_main_context_iteration
    - g_dbus_connection_close_sync
    - g_cond_signal
    - g_signal_handlers_disconnect_by_func
    - g_bus_watch_name_on_connection
    - g_mutex_unlock
    - g_main_context_pop_thread_default
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer watcher_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: watch_with_different_context
      Src: /src/glib/gio/tests/gdbus-names.c:1223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1224
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1224
    functionName: test_bus_watch_different_context
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - watch_with_different_context
    linkageType: ''
    returnType: void
    signature: 'static void test_bus_watch_different_context (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-names.c:989,1
    - Dst: g_main_context_is_owner
      Src: /src/glib/gio/tests/gdbus-names.c:989,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-names.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - WatchNameThreadData*
    constantsTouched: []
    func_position:
      end: 991
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 991
    functionName: t_watch_name_data_free_func
    functionSourceFile: /src/glib/gio/tests/gdbus-names.c
    functionUses: []
    functionsReached:
    - g_main_context_is_owner
    - g_assert_true
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void t_watch_name_data_free_func (WatchNameThreadData *thread_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/tests/socket-service.c:193,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:211,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/socket-service.c:206,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/socket-service.c:214,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/socket-service.c:226,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/socket-service.c:186,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-service.c:190,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:200,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/socket-service.c:204,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:212,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/socket-service.c:215,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/tests/socket-service.c:207,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/tests/socket-service.c:222,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/socket-service.c:223,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/socket-service.c:241,1
    - Dst: test_threaded_socket_service_get_type
      Src: /src/glib/gio/tests/socket-service.c:190,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/socket-service.c:193,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/socket-service.c:203,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/socket-service.c:208,1
    - Dst: g_socket_service_stop
      Src: /src/glib/gio/tests/socket-service.c:222,1
    - Dst: g_socket_service_is_active
      Src: /src/glib/gio/tests/socket-service.c:223,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/socket-service.c:239,1
    - Dst: g_inet_socket_address_new_from_string
      Src: /src/glib/gio/tests/socket-service.c:192,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/socket-service.c:188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:201,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/socket-service.c:204,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/tests/socket-service.c:223,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/socket-service.c:227,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/socket-service.c:232,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:237,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/socket-service.c:240,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 242
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 242
    functionName: test_threaded_712570
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_new
    - g_mutex_lock
    - G_SOCKET_SERVICE
    - g_main_loop_run
    - g_inet_socket_address_new_from_string
    - G_SOCKET_CONNECTABLE
    - g_object_unref
    - g_cond_wait
    - g_atomic_int_get
    - G_SOCKET_LISTENER
    - g_signal_connect
    - g_assert_no_error
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_main_context_iteration
    - g_test_bug
    - g_socket_listener_add_address
    - g_assert_false
    - g_socket_client_connect_async
    - test_threaded_socket_service_get_type
    - g_mutex_unlock
    - g_socket_client_new
    - g_socket_service_stop
    - g_socket_service_is_active
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_712570 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/tests/socket-service.c:303,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/socket-service.c:305,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:304,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/socket-service.c:307,1
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/socket-service.c:303,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-service.c:307,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/socket-service.c:309,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/socket-service.c:311,1
    - Dst: g_output_stream_write_all_async
      Src: /src/glib/gio/tests/socket-service.c:315,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/socket-service.c:323,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - client
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 324
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 324
    functionName: connected_read_write_async_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_object_ref
    - g_io_stream_get_output_stream
    - g_new0
    - g_assert_nonnull
    - g_assert_no_error
    - g_output_stream_write_all_async
    - g_socket_client_connect_finish
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: 'static void connected_read_write_async_cb (GObject *client, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - service
    argTypes:
    - TestThreadedSocketService*
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: test_threaded_socket_service_init
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_socket_service_init (TestThreadedSocketService
      *service) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_close_finish
      Src: /src/glib/gio/tests/socket-service.c:252,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:253,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket-service.c:254,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-service.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - result
    - user_data
    argTypes:
    - GSocketConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: closed_read_write_async_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - G_IO_STREAM
    - g_io_stream_close_finish
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void closed_read_write_async_cb (GSocketConnection *conn, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/socket-service.c:559,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket-service.c:561,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket-service.c:562,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket-service.c:563,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/socket-service.c:564,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/socket-service.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 567
    functionName: main
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_read_write_async_internal
      Src: /src/glib/gio/tests/socket-service.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: test_read_writev_async
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - test_read_write_async_internal
    linkageType: ''
    returnType: void
    signature: 'static void test_read_writev_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/socket-service.c:125,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/socket-service.c:124,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/socket-service.c:119,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/socket-service.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: test_threaded_socket_service_finalize
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_mutex_unlock
    - g_cond_signal
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_socket_service_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-service.c:345,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:350,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-service.c:347,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-service.c:346,1
    - Dst: g_output_stream_writev_all_finish
      Src: /src/glib/gio/tests/socket-service.c:349,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket-service.c:351,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/socket-service.c:352,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/tests/socket-service.c:354,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-service.c:354,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ostream
    - result
    - user_data
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 360
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 360
    functionName: writtenv_read_write_async_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_free
    - g_assert_cmpuint
    - g_assert_no_error
    - g_object_unref
    - g_output_stream_writev_all_finish
    - g_io_stream_close_async
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void writtenv_read_write_async_cb (GOutputStream *ostream,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_read_write_async_internal
      Src: /src/glib/gio/tests/socket-service.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: test_read_write_async
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - test_read_write_async_internal
    linkageType: ''
    returnType: void
    signature: 'static void test_read_write_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/socket-service.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestThreadedSocketServiceClass*
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: test_threaded_socket_service_class_init
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_socket_service_class_init (TestThreadedSocketServiceClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-service.c:275,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:279,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-service.c:276,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket-service.c:280,1
    - Dst: g_output_stream_write_all_finish
      Src: /src/glib/gio/tests/socket-service.c:278,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/socket-service.c:281,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/tests/socket-service.c:283,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-service.c:283,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ostream
    - result
    - user_data
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 289
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 289
    functionName: written_read_write_async_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_free
    - g_assert_cmpuint
    - g_assert_no_error
    - g_object_unref
    - g_io_stream_close_async
    - g_assert_true
    - g_output_stream_write_all_finish
    linkageType: ''
    returnType: void
    signature: 'static void written_read_write_async_cb (GOutputStream *ostream, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/tests/socket-service.c:374,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/socket-service.c:378,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:375,1
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/socket-service.c:374,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/socket-service.c:376,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-service.c:378,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/socket-service.c:380,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/socket-service.c:382,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/socket-service.c:384,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/socket-service.c:395,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/socket-service.c:403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - client
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 404
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 404
    functionName: connected_read_writev_async_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_object_ref
    - g_io_stream_get_output_stream
    - g_new0
    - g_assert_nonnull
    - g_assert_no_error
    - g_output_stream_writev_all_async
    - g_socket_client_connect_finish
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: 'static void connected_read_writev_async_cb (GObject *client, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/tests/socket-service.c:39,1
    - Dst: g_socket_service_is_active
      Src: /src/glib/gio/tests/socket-service.c:43,1
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/socket-service.c:45,1
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/tests/socket-service.c:45,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket-service.c:43,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:46,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:47,1
    - Dst: g_socket_service_stop
      Src: /src/glib/gio/tests/socket-service.c:49,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/socket-service.c:50,1
    - Dst: g_socket_service_is_active
      Src: /src/glib/gio/tests/socket-service.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - client
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: connected_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_no_error
    - g_object_unref
    - G_SOCKET_SERVICE
    - g_socket_client_connect_finish
    - g_socket_service_stop
    - g_assert_true
    - G_SOCKET_CLIENT
    - g_socket_service_is_active
    linkageType: ''
    returnType: void
    signature: 'static void connected_cb (GObject *client, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/socket-service.c:147,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/socket-service.c:158,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/socket-service.c:158,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/socket-service.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - service
    - connection
    - source_object
    - user_data
    argTypes:
    - GThreadedSocketService*
    - GSocketConnection*
    - GObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: connection_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_cmpint
    - g_main_loop_quit
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean connection_cb (GThreadedSocketService *service, GSocketConnection
      *connection, GObject *source_object, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket-service.c:63,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/tests/socket-service.c:73,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/tests/socket-service.c:91,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/tests/socket-service.c:84,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/socket-service.c:95,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:65,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/socket-service.c:71,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/socket-service.c:85,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:89,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:81,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/socket-service.c:69,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket-service.c:64,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/socket-service.c:73,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/socket-service.c:83,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:88,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:80,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket-service.c:92,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/socket-service.c:68,1
    - Dst: g_socket_service_is_active
      Src: /src/glib/gio/tests/socket-service.c:69,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/socket-service.c:71,1
    - Dst: g_socket_service_is_active
      Src: /src/glib/gio/tests/socket-service.c:92,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 99
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 99
    functionName: test_start_stop
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - g_socket_listener_add_address
    - g_assert_false
    - g_signal_connect
    - G_SOCKET_LISTENER
    - g_object_new
    - g_socket_client_connect_async
    - g_socket_service_start
    - g_inet_socket_address_new
    - g_assert_no_error
    - g_object_unref
    - G_SOCKET_CONNECTABLE
    - G_CALLBACK
    - g_socket_client_new
    - g_main_context_iteration
    - g_inet_address_new_loopback
    - g_assert_true
    - g_socket_service_is_active
    linkageType: ''
    returnType: void
    signature: 'static void test_start_stop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/tests/socket-service.c:171,1
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/socket-service.c:171,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - client
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: client_connected_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - g_socket_client_connect_finish
    - g_assert_no_error
    - g_object_unref
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: 'static void client_connected_cb (GObject *client, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/socket-service.c:453,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/socket-service.c:455,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-service.c:453,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/socket-service.c:457,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/socket-service.c:456,1
    - Dst: g_input_stream_read_all_async
      Src: /src/glib/gio/tests/socket-service.c:459,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/socket-service.c:467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - service
    - conn
    - source_object
    - user_data
    argTypes:
    - GSocketService*
    - GSocketConnection*
    - GObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 468
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 468
    functionName: incoming_read_write_async_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IO_STREAM
    - g_new0
    - g_input_stream_read_all_async
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void incoming_read_write_async_cb (GSocketService *service,
      GSocketConnection *conn, GObject *source_object, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_service_is_active
      Src: /src/glib/gio/tests/socket-service.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - service
    - pspec
    - data
    argTypes:
    - GSocketService*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: active_notify_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - g_socket_service_is_active
    linkageType: ''
    returnType: void
    signature: 'static void active_notify_cb (GSocketService *service, GParamSpec
      *pspec, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_all_finish
      Src: /src/glib/gio/tests/socket-service.c:423,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/tests/socket-service.c:430,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:424,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/socket-service.c:427,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket-service.c:425,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/socket-service.c:430,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/socket-service.c:430,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-service.c:432,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-service.c:433,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/tests/socket-service.c:435,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:440,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-service.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - istream
    - result
    - user_data
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 441
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 441
    functionName: read_read_write_async_cb
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - GINT_TO_POINTER
    - g_free
    - G_IO_STREAM
    - g_assert_no_error
    - g_object_unref
    - g_object_set_data
    - g_assert_cmpmem
    - g_io_stream_close_async
    - g_input_stream_read_all_finish
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void read_read_write_async_cb (GInputStream *istream, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_service_new
      Src: /src/glib/gio/tests/socket-service.c:484,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:494,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/socket-service.c:496,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:513,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/socket-service.c:502,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/tests/socket-service.c:507,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket-service.c:517,1
    - Dst: g_io_stream_is_closed
      Src: /src/glib/gio/tests/socket-service.c:524,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-service.c:525,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/socket-service.c:527,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/socket-service.c:486,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/socket-service.c:493,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/socket-service.c:508,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/socket-service.c:498,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/tests/socket-service.c:501,1
    - Dst: g_socket_service_is_active
      Src: /src/glib/gio/tests/socket-service.c:517,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/socket-service.c:521,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/socket-service.c:527,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:529,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/socket-service.c:480,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:482,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/socket-service.c:496,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/tests/socket-service.c:516,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-service.c:524,1
    - Dst: g_io_stream_is_closed
      Src: /src/glib/gio/tests/socket-service.c:525,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/socket-service.c:527,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/tests/socket-service.c:527,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:530,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:531,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/tests/socket-service.c:486,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket-service.c:481,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-service.c:514,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - writev
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 532
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 532
    functionName: test_read_write_async_internal
    functionSourceFile: /src/glib/gio/tests/socket-service.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_inet_socket_address_new
    - G_SOCKET_CONNECTABLE
    - g_socket_service_new
    - g_io_stream_is_closed
    - g_object_unref
    - g_socket_service_start
    - G_SOCKET_LISTENER
    - g_signal_connect
    - G_IO_STREAM
    - g_assert_no_error
    - G_CALLBACK
    - g_main_context_iteration
    - GPOINTER_TO_INT
    - g_inet_address_new_loopback
    - g_socket_listener_add_address
    - g_socket_client_connect_async
    - g_object_get_data
    - g_socket_client_new
    - g_assert_true
    - g_socket_service_is_active
    linkageType: ''
    returnType: void
    signature: 'static void test_read_write_async_internal (gboolean writev) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:47,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:53,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:55,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:49,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:51,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:57,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:59,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - conn
    - cert
    - errors
    - user_data
    argTypes:
    - GTlsClientConnection*
    - GTlsCertificate*
    - GTlsCertificateFlags
    - gpointer
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: accept_certificate
    functionSourceFile: /src/glib/gio/tests/socket-testclient.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean accept_certificate (GTlsClientConnection *conn,\t\t
      GTlsCertificate *cert,\t\t GTlsCertificateFlags errors,\t\t gpointer user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_client_connection_get_accepted_cas
      Src: /src/glib/gio/tests/socket-testclient.c:75,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/tests/socket-testclient.c:78,1
    - Dst: g_tls_connection_get_database
      Src: /src/glib/gio/tests/socket-testclient.c:79,1
    - Dst: g_tls_database_lookup_certificates_issued_by
      Src: /src/glib/gio/tests/socket-testclient.c:80,1
    - Dst: g_list_next
      Src: /src/glib/gio/tests/socket-testclient.c:76,1
    - Dst: g_tls_connection_get_interaction
      Src: /src/glib/gio/tests/socket-testclient.c:81,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/socket-testclient.c:88,1
    - Dst: g_list_next
      Src: /src/glib/gio/tests/socket-testclient.c:90,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:91,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/socket-testclient.c:92,1
    - Dst: g_list_next
      Src: /src/glib/gio/tests/socket-testclient.c:95,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/socket-testclient.c:97,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/socket-testclient.c:100,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/socket-testclient.c:96,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 2
    argNames:
    - conn
    - error
    argTypes:
    - GTlsClientConnection*
    - GError**
    constantsTouched: []
    func_position:
      end: 103
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 103
    functionName: lookup_client_certificate
    functionSourceFile: /src/glib/gio/tests/socket-testclient.c
    functionUses: []
    functionsReached:
    - g_tls_connection_get_database
    - g_byte_array_unref
    - g_object_ref
    - G_TLS_CONNECTION
    - g_object_unref
    - g_list_next
    - g_tls_connection_get_interaction
    - g_tls_database_lookup_certificates_issued_by
    - g_list_free
    - g_tls_client_connection_get_accepted_cas
    - g_set_error_literal
    linkageType: ''
    returnType: GTlsCertificate*
    signature: "static GTlsCertificate *lookup_client_certificate (GTlsClientConnection
      *conn,\t\t\t GError **error) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testclient.c:270,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/socket-testclient.c:289,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/socket-testclient.c:291,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/socket-testclient.c:306,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/socket-testclient.c:344,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/socket-testclient.c:389,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testclient.c:396,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/socket-testclient.c:406,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:407,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/socket-testclient.c:266,1
    - Dst: lookup_client_certificate
      Src: /src/glib/gio/tests/socket-testclient.c:309,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testclient.c:314,1
    - Dst: fgets
      Src: /src/glib/gio/tests/socket-testclient.c:328,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket-testclient.c:320,1
    - Dst: ensure_socket_condition
      Src: /src/glib/gio/tests/socket-testclient.c:336,1
    - Dst: ensure_connection_condition
      Src: /src/glib/gio/tests/socket-testclient.c:343,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/socket-testclient.c:351,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:368,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testclient.c:372,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testclient.c:433,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/socket-testclient.c:268,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket-testclient.c:308,1
    - Dst: strlen
      Src: /src/glib/gio/tests/socket-testclient.c:331,1
    - Dst: make_connection
      Src: /src/glib/gio/tests/socket-testclient.c:302,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/socket-testclient.c:356,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:406,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:410,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/socket-testclient.c:421,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:427,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:440,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket-testclient.c:431,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testclient.c:423,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:404,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/socket-testclient.c:267,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testclient.c:276,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testclient.c:282,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/socket-testclient.c:290,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/socket-testclient.c:298,1
    - Dst: G_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/tests/socket-testclient.c:309,1
    - Dst: g_socket_send_to
      Src: /src/glib/gio/tests/socket-testclient.c:337,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:355,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testclient.c:362,1
    - Dst: ensure_socket_condition
      Src: /src/glib/gio/tests/socket-testclient.c:381,1
    - Dst: ensure_connection_condition
      Src: /src/glib/gio/tests/socket-testclient.c:388,1
    - Dst: g_socket_receive_from
      Src: /src/glib/gio/tests/socket-testclient.c:382,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:439,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:417,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 99
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 443
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 443
    functionName: main
    functionSourceFile: /src/glib/gio/tests/socket-testclient.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - fgets
    - g_thread_new
    - g_output_stream_write
    - make_connection
    - strlen
    - g_error_matches
    - g_object_unref
    - g_io_stream_close
    - G_TLS_CLIENT_CONNECTION
    - g_print
    - g_socket_close
    - g_input_stream_read
    - g_option_context_new
    - ensure_socket_condition
    - lookup_client_certificate
    - g_cancellable_new
    - g_error_free
    - g_thread_unref
    - g_main_loop_new
    - g_socket_set_blocking
    - ensure_connection_condition
    - g_printerr
    - g_socket_send_to
    - g_option_context_parse
    - g_option_context_add_main_entries
    - socket_address_to_string
    - g_socket_receive_from
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/tests/socket-testclient.c:148,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/socket-testclient.c:152,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/socket-testclient.c:176,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/socket-testclient.c:175,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/socket-testclient.c:193,1
    - Dst: g_tls_console_interaction_new
      Src: /src/glib/gio/tests/socket-testclient.c:219,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:221,1
    - Dst: g_tls_connection_set_certificate
      Src: /src/glib/gio/tests/socket-testclient.c:224,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/tests/socket-testclient.c:224,1
    - Dst: g_tls_connection_handshake
      Src: /src/glib/gio/tests/socket-testclient.c:229,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/tests/socket-testclient.c:232,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/socket-testclient.c:241,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/socket-testclient.c:173,1
    - Dst: g_message
      Src: /src/glib/gio/tests/socket-testclient.c:175,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/socket-testclient.c:183,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:178,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:182,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testclient.c:192,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/socket-testclient.c:203,1
    - Dst: g_tls_client_connection_new
      Src: /src/glib/gio/tests/socket-testclient.c:209,1
    - Dst: g_tls_connection_set_interaction
      Src: /src/glib/gio/tests/socket-testclient.c:220,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/tests/socket-testclient.c:220,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket-testclient.c:139,1
    - Dst: g_network_address_parse
      Src: /src/glib/gio/tests/socket-testclient.c:156,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/socket-testclient.c:168,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/tests/socket-testclient.c:188,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket-testclient.c:185,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:180,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/tests/socket-testclient.c:212,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/socket-testclient.c:240,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:236,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket-testclient.c:134,1
    - Dst: socket_address_from_string
      Src: /src/glib/gio/tests/socket-testclient.c:145,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/socket-testclient.c:161,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/socket-testclient.c:164,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:194,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-testclient.c:203,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/socket-testclient.c:216,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/socket-testclient.c:217,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testclient.c:226,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/tests/socket-testclient.c:229,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-testclient.c:227,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 84
    argCount: 9
    argNames:
    - argument
    - certificate
    - cancellable
    - socket
    - address
    - connection
    - istream
    - ostream
    - error
    argTypes:
    - char*
    - GTlsCertificate*
    - GCancellable*
    - GSocket**
    - GSocketAddress**
    - GIOStream**
    - GInputStream**
    - GOutputStream**
    - GError**
    constantsTouched: []
    func_position:
      end: 245
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 245
    functionName: make_connection
    functionSourceFile: /src/glib/gio/tests/socket-testclient.c
    functionUses: []
    functionsReached:
    - G_TLS_CONNECTION
    - g_io_stream_get_output_stream
    - socket_address_from_string
    - g_socket_connect
    - g_clear_error
    - g_tls_connection_set_interaction
    - G_SOCKET_CONNECTABLE
    - g_network_address_parse
    - g_tls_client_connection_new
    - g_object_unref
    - g_tls_connection_handshake
    - g_socket_new
    - g_set_error_literal
    - g_print
    - g_socket_connectable_enumerate
    - g_signal_connect
    - G_IO_STREAM
    - g_socket_get_local_address
    - g_socket_address_enumerator_next
    - g_tls_console_interaction_new
    - G_CALLBACK
    - g_prefix_error
    - g_socket_set_timeout
    - g_tls_connection_set_certificate
    - g_socket_connection_factory_create_connection
    - g_set_error
    - g_message
    - socket_address_to_string
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean make_connection (const char *argument,\t\t GTlsCertificate
      *certificate,\t\t GCancellable *cancellable,\t\t GSocket **socket,\t\t GSocketAddress
      **address,\t\t GIOStream **connection,\t\t GInputStream **istream,\t\t GOutputStream
      **ostream,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/apps.c:8,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 9
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 9
    functionName: print
    functionSourceFile: /src/glib/gio/tests/apps.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void print (const gchar *str) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:46,1
    - Dst: g_desktop_app_info_search
      Src: /src/glib/gio/tests/apps.c:51,1
    - Dst: print
      Src: /src/glib/gio/tests/apps.c:75,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:68,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:61,1
    - Dst: g_app_info_get_name
      Src: /src/glib/gio/tests/apps.c:76,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:94,1
    - Dst: print_app_list
      Src: /src/glib/gio/tests/apps.c:99,1
    - Dst: print_app_list
      Src: /src/glib/gio/tests/apps.c:106,1
    - Dst: print_app_list
      Src: /src/glib/gio/tests/apps.c:114,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:129,1
    - Dst: g_print
      Src: /src/glib/gio/tests/apps.c:124,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/apps.c:136,1
    - Dst: g_app_info_get_all
      Src: /src/glib/gio/tests/apps.c:41,1
    - Dst: g_print
      Src: /src/glib/gio/tests/apps.c:55,1
    - Dst: g_print
      Src: /src/glib/gio/tests/apps.c:56,1
    - Dst: print_app_list
      Src: /src/glib/gio/tests/apps.c:66,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/apps.c:57,1
    - Dst: print
      Src: /src/glib/gio/tests/apps.c:76,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/tests/apps.c:86,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/apps.c:91,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/tests/apps.c:98,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:101,1
    - Dst: g_app_info_should_show
      Src: /src/glib/gio/tests/apps.c:124,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:37,1
    - Dst: g_free
      Src: /src/glib/gio/tests/apps.c:59,1
    - Dst: g_app_info_get_display_name
      Src: /src/glib/gio/tests/apps.c:77,1
    - Dst: print
      Src: /src/glib/gio/tests/apps.c:78,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/apps.c:79,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/apps.c:90,1
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/tests/apps.c:105,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:109,1
    - Dst: g_app_info_get_fallback_for_type
      Src: /src/glib/gio/tests/apps.c:113,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/apps.c:121,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/apps.c:125,1
    - Dst: g_app_info_monitor_get
      Src: /src/glib/gio/tests/apps.c:134,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/apps.c:139,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/apps.c:139,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/apps.c:142,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/apps.c:33,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/apps.c:43,1
    - Dst: g_print
      Src: /src/glib/gio/tests/apps.c:43,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/apps.c:44,1
    - Dst: g_desktop_app_info_get_implementations
      Src: /src/glib/gio/tests/apps.c:65,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/apps.c:72,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/apps.c:75,1
    - Dst: print
      Src: /src/glib/gio/tests/apps.c:77,1
    - Dst: g_app_info_get_description
      Src: /src/glib/gio/tests/apps.c:78,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:82,1
    - Dst: print
      Src: /src/glib/gio/tests/apps.c:90,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/apps.c:117,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/apps.c:137,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 146
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 146
    functionName: main
    functionSourceFile: /src/glib/gio/tests/apps.c
    functionUses: []
    functionsReached:
    - print_app_list
    - g_strfreev
    - g_app_info_get_all
    - g_list_free_full
    - g_app_info_get_recommended_for_type
    - g_object_unref
    - g_print
    - print
    - g_signal_connect
    - g_app_info_get_all_for_type
    - g_desktop_app_info_search
    - g_app_info_get_fallback_for_type
    - g_app_info_get_default_for_type
    - g_app_info_monitor_get
    - G_CALLBACK
    - g_main_context_iteration
    - g_app_info_should_show
    - g_desktop_app_info_new
    - setlocale
    - g_str_equal
    - g_app_info_get_name
    - g_free
    - g_assert
    - g_app_info_get_description
    - g_app_info_get_id
    - g_app_info_get_display_name
    - g_desktop_app_info_get_implementations
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/glib/gio/tests/apps.c:17,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/tests/apps.c:18,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/tests/apps.c:17,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/apps.c:19,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 21
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 21
    functionName: print_app_list
    functionSourceFile: /src/glib/gio/tests/apps.c
    functionUses: []
    functionsReached:
    - print
    - g_app_info_get_id
    - g_object_unref
    - g_list_delete_link
    linkageType: ''
    returnType: void
    signature: 'static void print_app_list (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/apps.c:26,1
    - Dst: exit
      Src: /src/glib/gio/tests/apps.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: quit
    functionSourceFile: /src/glib/gio/tests/apps.c
    functionUses: []
    functionsReached:
    - g_print
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void quit (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/gio/tests/srvtarget.c:103,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/tests/srvtarget.c:105,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/tests/srvtarget.c:107,1
    - Dst: g_list_copy
      Src: /src/glib/gio/tests/srvtarget.c:114,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/srvtarget.c:123,1
    - Dst: g_random_set_seed
      Src: /src/glib/gio/tests/srvtarget.c:112,1
    - Dst: g_assertion_message
      Src: /src/glib/gio/tests/srvtarget.c:134,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/srvtarget.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/srvtarget.c:144,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/srvtarget.c:105,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/srvtarget.c:107,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/srvtarget.c:119,1
    - Dst: g_resolver_free_targets
      Src: /src/glib/gio/tests/srvtarget.c:147,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/tests/srvtarget.c:104,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/tests/srvtarget.c:106,1
    - Dst: g_srv_target_get_hostname
      Src: /src/glib/gio/tests/srvtarget.c:117,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/tests/srvtarget.c:108,1
    - Dst: g_srv_target_list_sort
      Src: /src/glib/gio/tests/srvtarget.c:114,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/srvtarget.c:104,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/tests/srvtarget.c:103,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/srvtarget.c:106,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/srvtarget.c:108,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/srvtarget.c:133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 148
    functionName: test_srv_target_ordering
    functionSourceFile: /src/glib/gio/tests/srvtarget.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assertion_message
    - g_srv_target_list_sort
    - g_list_append
    - g_random_set_seed
    - g_strdup_printf
    - g_srv_target_get_hostname
    - g_resolver_free_targets
    - g_list_free
    - strcmp
    - g_list_copy
    - g_srv_target_new
    linkageType: ''
    returnType: void
    signature: 'static void test_srv_target_ordering (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/srvtarget.c:153,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/srvtarget.c:155,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/srvtarget.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/glib/gio/tests/srvtarget.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_one_sync
      Src: /src/glib/gio/tests/resolver.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: lookup_thread
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - lookup_one_sync
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer lookup_thread (gpointer arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_lookup_by_address_finish
      Src: /src/glib/gio/tests/resolver.c:444,1
    - Dst: print_resolved_name
      Src: /src/glib/gio/tests/resolver.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 446
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: lookup_by_addr_callback
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - print_resolved_name
    - g_resolver_lookup_by_address_finish
    linkageType: ''
    returnType: void
    signature: 'static void lookup_by_addr_callback (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/resolver.c:585,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:589,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:588,1
    - Dst: print_connectable_sockaddr
      Src: /src/glib/gio/tests/resolver.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GSocketAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 590
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 590
    functionName: do_sync_connectable
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_socket_address_enumerator_next
    - g_object_unref
    - print_connectable_sockaddr
    - done_lookup
    linkageType: ''
    returnType: void
    signature: 'static void do_sync_connectable (GSocketAddressEnumerator *enumerator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gio/tests/resolver.c:627,1
    - Dst: g_network_service_new
      Src: /src/glib/gio/tests/resolver.c:634,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/resolver.c:640,1
    - Dst: usage
      Src: /src/glib/gio/tests/resolver.c:632,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/resolver.c:630,1
    - Dst: strtoul
      Src: /src/glib/gio/tests/resolver.c:644,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/gio/tests/resolver.c:649,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/resolver.c:651,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/resolver.c:652,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:654,1
    - Dst: do_async_connectable
      Src: /src/glib/gio/tests/resolver.c:668,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/resolver.c:663,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:671,1
    - Dst: do_sync_connectable
      Src: /src/glib/gio/tests/resolver.c:666,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/resolver.c:655,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/resolver.c:658,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 3
    argNames:
    - arg
    - synch
    - count
    argTypes:
    - char*
    - gboolean
    - guint
    constantsTouched: []
    func_position:
      end: 672
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 672
    functionName: do_connectable
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_network_address_new
    - usage
    - g_inet_socket_address_new
    - g_inet_address_new_from_string
    - g_object_unref
    - do_sync_connectable
    - g_hostname_is_ip_address
    - g_strsplit
    - g_network_service_new
    - strtoul
    - do_async_connectable
    - strchr
    - g_socket_connectable_enumerate
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: 'static void do_connectable (const char *arg, gboolean synch, guint
      count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/tests/resolver.c:702,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/tests/resolver.c:706,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/tests/resolver.c:704,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/tests/resolver.c:710,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/tests/resolver.c:708,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/resolver.c:713,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 719
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 719
    functionName: record_type_arg
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean record_type_arg (const gchar *option_name, const gchar
      *value, gpointer data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/resolver.c:431,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/resolver.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: start_sync_lookups
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_thread_unref
    - g_thread_new
    linkageType: ''
    returnType: void
    signature: 'static void start_sync_lookups (char **argv, int argc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_lookup_by_name_finish
      Src: /src/glib/gio/tests/resolver.c:456,1
    - Dst: print_resolved_addresses
      Src: /src/glib/gio/tests/resolver.c:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: lookup_by_name_callback
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - print_resolved_addresses
    - g_resolver_lookup_by_name_finish
    linkageType: ''
    returnType: void
    signature: 'static void lookup_by_name_callback (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/glib/gio/tests/resolver.c:682,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/resolver.c:684,1
    - Dst: write
      Src: /src/glib/gio/tests/resolver.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 685
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 685
    functionName: interrupted
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - signal
    - write
    linkageType: ''
    returnType: void
    signature: 'static void interrupted (int sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/resolver.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - source
    - cond
    - cancel
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 692
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 692
    functionName: async_cancel
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean async_cancel (GIOChannel *source, GIOCondition cond,
      gpointer cancel) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/resolver.c:756,1
    - Dst: exit
      Src: /src/glib/gio/tests/resolver.c:767,1
    - Dst: signal
      Src: /src/glib/gio/tests/resolver.c:762,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:799,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/resolver.c:740,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/resolver.c:741,1
    - Dst: pipe
      Src: /src/glib/gio/tests/resolver.c:764,1
    - Dst: start_sync_lookups
      Src: /src/glib/gio/tests/resolver.c:787,1
    - Dst: start_async_lookups
      Src: /src/glib/gio/tests/resolver.c:789,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/resolver.c:792,1
    - Dst: do_connectable
      Src: /src/glib/gio/tests/resolver.c:782,1
    - Dst: usage
      Src: /src/glib/gio/tests/resolver.c:745,1
    - Dst: usage
      Src: /src/glib/gio/tests/resolver.c:749,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/tests/resolver.c:751,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/resolver.c:772,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/resolver.c:800,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/resolver.c:793,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/resolver.c:796,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/resolver.c:739,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/resolver.c:743,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:744,1
    - Dst: g_resolver_set_timeout
      Src: /src/glib/gio/tests/resolver.c:754,1
    - Dst: g_io_create_watch
      Src: /src/glib/gio/tests/resolver.c:770,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/tests/resolver.c:769,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gio/tests/resolver.c:773,1
    - Dst: perror
      Src: /src/glib/gio/tests/resolver.c:766,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/resolver.c:771,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/resolver.c:777,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/resolver.c:797,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 803
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 803
    functionName: main
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - start_async_lookups
    - g_resolver_set_timeout
    - g_main_loop_run
    - g_source_attach
    - g_source_destroy
    - signal
    - g_option_context_free
    - usage
    - g_resolver_get_default
    - g_object_unref
    - exit
    - g_io_channel_unix_new
    - g_option_context_new
    - do_connectable
    - g_error_free
    - g_cancellable_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_printerr
    - g_source_set_callback
    - pipe
    - g_io_create_watch
    - start_sync_lookups
    - g_option_context_parse
    - g_option_context_add_main_entries
    - perror
    - g_io_channel_unref
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/gio/tests/resolver.c:48,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/resolver.c:49,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/resolver.c:50,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/resolver.c:52,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/resolver.c:51,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/resolver.c:53,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/resolver.c:54,1
    - Dst: exit
      Src: /src/glib/gio/tests/resolver.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: usage
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: G_NORETURN
    signature: 'static G_NORETURN void usage (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/tests/resolver.c:242,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:246,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:243,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:247,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:251,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/resolver.c:262,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:264,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/resolver.c:266,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/resolver.c:269,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:271,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/tests/resolver.c:274,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:273,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - rrname
    - records
    - error
    argTypes:
    - char*
    - GList*
    - GError*
    constantsTouched: []
    func_position:
      end: 275
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 275
    functionName: print_resolved_srv
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_variant_unref
    - g_error_free
    - G_UNLOCK
    - g_variant_get
    - printf
    - g_list_free
    - done_lookup
    linkageType: ''
    returnType: void
    signature: 'static void print_resolved_srv (const char *rrname, GList *records,
      GError *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/tests/resolver.c:325,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:329,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:326,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:334,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:330,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/resolver.c:340,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:341,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/resolver.c:342,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/resolver.c:344,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:346,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:348,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/tests/resolver.c:349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - rrname
    - records
    - error
    argTypes:
    - char*
    - GList*
    - GError*
    constantsTouched: []
    func_position:
      end: 350
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 350
    functionName: print_resolved_ns
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_variant_unref
    - g_error_free
    - G_UNLOCK
    - g_variant_get
    - printf
    - g_list_free
    - done_lookup
    linkageType: ''
    returnType: void
    signature: 'static void print_resolved_ns (const char *rrname, GList *records,
      GError *error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_lookup_records_async
      Src: /src/glib/gio/tests/resolver.c:515,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/resolver.c:521,1
    - Dst: usage
      Src: /src/glib/gio/tests/resolver.c:524,1
    - Dst: strchr
      Src: /src/glib/gio/tests/resolver.c:518,1
    - Dst: g_resolver_lookup_service_async
      Src: /src/glib/gio/tests/resolver.c:526,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/gio/tests/resolver.c:531,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/resolver.c:533,1
    - Dst: g_resolver_lookup_by_address_async
      Src: /src/glib/gio/tests/resolver.c:535,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:537,1
    - Dst: g_resolver_lookup_by_name_async
      Src: /src/glib/gio/tests/resolver.c:541,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/tests/resolver.c:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 549
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 549
    functionName: start_async_lookups
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_resolver_lookup_by_address_async
    - usage
    - g_resolver_lookup_records_async
    - g_resolver_lookup_by_name_async
    - g_resolver_lookup_service_async
    - g_inet_address_new_from_string
    - g_object_unref
    - g_hostname_is_ip_address
    - g_strsplit
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void start_async_lookups (char **argv, int argc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_lookup_service_finish
      Src: /src/glib/gio/tests/resolver.c:468,1
    - Dst: print_resolved_service
      Src: /src/glib/gio/tests/resolver.c:469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: lookup_service_callback
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_resolver_lookup_service_finish
    - print_resolved_service
    linkageType: ''
    returnType: void
    signature: "static void lookup_service_callback (GObject *source, GAsyncResult
      *result,\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/tests/resolver.c:287,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:296,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:288,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:292,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:291,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/resolver.c:302,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:304,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/resolver.c:307,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/resolver.c:309,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:311,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:313,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/tests/resolver.c:314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - rrname
    - records
    - error
    argTypes:
    - char*
    - GList*
    - GError*
    constantsTouched: []
    func_position:
      end: 315
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 315
    functionName: print_resolved_soa
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_variant_unref
    - g_error_free
    - G_UNLOCK
    - g_variant_get
    - printf
    - g_list_free
    - done_lookup
    linkageType: ''
    returnType: void
    signature: 'static void print_resolved_soa (const char *rrname, GList *records,
      GError *error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: print_resolved_mx
      Src: /src/glib/gio/tests/resolver.c:365,1
    - Dst: usage
      Src: /src/glib/gio/tests/resolver.c:391,1
    - Dst: g_resolver_lookup_by_address
      Src: /src/glib/gio/tests/resolver.c:403,1
    - Dst: g_resolver_lookup_service
      Src: /src/glib/gio/tests/resolver.c:393,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/gio/tests/resolver.c:398,1
    - Dst: print_resolved_name
      Src: /src/glib/gio/tests/resolver.c:404,1
    - Dst: print_resolved_service
      Src: /src/glib/gio/tests/resolver.c:396,1
    - Dst: g_resolver_lookup_records
      Src: /src/glib/gio/tests/resolver.c:361,1
    - Dst: print_resolved_soa
      Src: /src/glib/gio/tests/resolver.c:368,1
    - Dst: strchr
      Src: /src/glib/gio/tests/resolver.c:384,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:405,1
    - Dst: print_resolved_txt
      Src: /src/glib/gio/tests/resolver.c:374,1
    - Dst: print_resolved_srv
      Src: /src/glib/gio/tests/resolver.c:377,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/tests/resolver.c:380,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/resolver.c:388,1
    - Dst: print_resolved_ns
      Src: /src/glib/gio/tests/resolver.c:371,1
    - Dst: g_resolver_lookup_by_name
      Src: /src/glib/gio/tests/resolver.c:411,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/resolver.c:400,1
    - Dst: print_resolved_addresses
      Src: /src/glib/gio/tests/resolver.c:412,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 414
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 414
    functionName: lookup_one_sync
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_inet_address_new_from_string
    - print_resolved_service
    - g_hostname_is_ip_address
    - print_resolved_name
    - usage
    - g_object_unref
    - print_resolved_addresses
    - g_strsplit
    - strchr
    - print_resolved_ns
    - g_resolver_lookup_by_address
    - print_resolved_soa
    - g_resolver_lookup_records
    - print_resolved_mx
    - g_resolver_lookup_by_name
    - print_resolved_srv
    - g_warn_if_reached
    - print_resolved_txt
    - g_resolver_lookup_service
    linkageType: ''
    returnType: void
    signature: 'static void lookup_one_sync (const char *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_lookup_records_finish
      Src: /src/glib/gio/tests/resolver.c:481,1
    - Dst: print_resolved_mx
      Src: /src/glib/gio/tests/resolver.c:486,1
    - Dst: print_resolved_ns
      Src: /src/glib/gio/tests/resolver.c:492,1
    - Dst: print_resolved_soa
      Src: /src/glib/gio/tests/resolver.c:489,1
    - Dst: print_resolved_txt
      Src: /src/glib/gio/tests/resolver.c:495,1
    - Dst: print_resolved_srv
      Src: /src/glib/gio/tests/resolver.c:498,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/tests/resolver.c:501,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 504
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 504
    functionName: lookup_records_callback
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - print_resolved_srv
    - print_resolved_soa
    - g_resolver_lookup_records_finish
    - g_warn_if_reached
    - print_resolved_txt
    - print_resolved_mx
    - print_resolved_ns
    linkageType: ''
    returnType: void
    signature: 'static void lookup_records_callback (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:559,1
    - Dst: g_type_name_from_instance
      Src: /src/glib/gio/tests/resolver.c:564,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:560,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:564,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/resolver.c:562,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:565,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/resolver.c:569,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/tests/resolver.c:570,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/resolver.c:570,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:571,1
    - Dst: strchr
      Src: /src/glib/gio/tests/resolver.c:572,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:575,1
    - Dst: strchr
      Src: /src/glib/gio/tests/resolver.c:572,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/resolver.c:573,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resolver.c:574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - sockaddr
    - error
    argTypes:
    - GSocketAddress*
    - GError*
    constantsTouched: []
    func_position:
      end: 577
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 577
    functionName: print_connectable_sockaddr
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_address_to_string
    - g_free
    - g_inet_socket_address_get_address
    - g_type_name_from_instance
    - g_error_free
    - g_object_unref
    - g_inet_socket_address_get_port
    - printf
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void print_connectable_sockaddr (GSocketAddress *sockaddr,
      GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/tests/resolver.c:104,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:108,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:105,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:109,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/tests/resolver.c:115,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:116,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resolver.c:117,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:118,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/resolver.c:120,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:122,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:124,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/tests/resolver.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - name
    - addresses
    - error
    argTypes:
    - char*
    - GList*
    - GError*
    constantsTouched: []
    func_position:
      end: 126
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 126
    functionName: print_resolved_addresses
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_inet_address_to_string
    - g_free
    - G_LOCK
    - g_error_free
    - g_object_unref
    - G_UNLOCK
    - printf
    - g_list_free
    - done_lookup
    linkageType: ''
    returnType: void
    signature: "static void print_resolved_addresses (const char *name, GList *addresses,\t\t\t
      GError *error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/resolver.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: done_lookup
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_idle_add
    linkageType: ''
    returnType: void
    signature: 'static void done_lookup (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/tests/resolver.c:170,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:174,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:179,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:175,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:171,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/resolver.c:185,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:186,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/resolver.c:187,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/resolver.c:189,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:191,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/tests/resolver.c:194,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - rrname
    - records
    - error
    argTypes:
    - char*
    - GList*
    - GError*
    constantsTouched: []
    func_position:
      end: 195
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 195
    functionName: print_resolved_mx
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_variant_unref
    - g_error_free
    - G_UNLOCK
    - g_variant_get
    - printf
    - g_list_free
    - done_lookup
    linkageType: ''
    returnType: void
    signature: 'static void print_resolved_mx (const char *rrname, GList *records,
      GError *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/tests/resolver.c:597,1
    - Dst: print_connectable_sockaddr
      Src: /src/glib/gio/tests/resolver.c:603,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/tests/resolver.c:601,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/resolver.c:608,1
    - Dst: do_async_connectable
      Src: /src/glib/gio/tests/resolver.c:605,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 611
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 611
    functionName: got_next_async
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_socket_address_enumerator_next_finish
    - G_SOCKET_ADDRESS_ENUMERATOR
    - g_object_unref
    - do_async_connectable
    - done_lookup
    - print_connectable_sockaddr
    linkageType: ''
    returnType: void
    signature: 'static void got_next_async (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/tests/resolver.c:135,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:136,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:146,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:139,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:140,1
    - Dst: g_srv_target_get_hostname
      Src: /src/glib/gio/tests/resolver.c:147,1
    - Dst: g_srv_target_get_port
      Src: /src/glib/gio/tests/resolver.c:148,1
    - Dst: g_srv_target_get_priority
      Src: /src/glib/gio/tests/resolver.c:149,1
    - Dst: g_srv_target_get_weight
      Src: /src/glib/gio/tests/resolver.c:150,1
    - Dst: g_srv_target_free
      Src: /src/glib/gio/tests/resolver.c:151,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/resolver.c:153,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:155,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:157,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/tests/resolver.c:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - service
    - targets
    - error
    argTypes:
    - char*
    - GList*
    - GError*
    constantsTouched: []
    func_position:
      end: 159
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 159
    functionName: print_resolved_service
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_srv_target_get_weight
    - g_error_free
    - G_UNLOCK
    - g_srv_target_get_port
    - g_srv_target_get_priority
    - printf
    - g_srv_target_get_hostname
    - g_list_free
    - g_srv_target_free
    - done_lookup
    linkageType: ''
    returnType: void
    signature: "static void print_resolved_service (const char *service, GList *targets,\t\t\tGError
      *error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/tests/resolver.c:78,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:87,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:83,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:79,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:82,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resolver.c:88,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:90,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:92,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/tests/resolver.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - phys
    - name
    - error
    argTypes:
    - char*
    - char*
    - GError*
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: print_resolved_name
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_free
    - G_LOCK
    - g_error_free
    - G_UNLOCK
    - printf
    - done_lookup
    linkageType: ''
    returnType: void
    signature: 'static void print_resolved_name (const char *phys, char *name, GError
      *error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/tests/resolver.c:206,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:207,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:215,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:210,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/resolver.c:211,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:222,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/resolver.c:223,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:225,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/resolver.c:226,1
    - Dst: g_free
      Src: /src/glib/gio/tests/resolver.c:227,1
    - Dst: printf
      Src: /src/glib/gio/tests/resolver.c:231,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/tests/resolver.c:234,1
    - Dst: done_lookup
      Src: /src/glib/gio/tests/resolver.c:233,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/resolver.c:229,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - rrname
    - records
    - error
    argTypes:
    - char*
    - GList*
    - GError*
    constantsTouched: []
    func_position:
      end: 235
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 235
    functionName: print_resolved_txt
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_free
    - G_LOCK
    - g_variant_unref
    - g_error_free
    - G_UNLOCK
    - g_variant_get
    - printf
    - g_list_free
    - done_lookup
    linkageType: ''
    returnType: void
    signature: 'static void print_resolved_txt (const char *rrname, GList *records,
      GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/resolver.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GSocketAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 618
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 618
    functionName: do_async_connectable
    functionSourceFile: /src/glib/gio/tests/resolver.c
    functionUses: []
    functionsReached:
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void do_async_connectable (GSocketAddressEnumerator *enumerator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/tests/tls-bindings.c:20,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/tls-bindings.c:24,1
    - Dst: g_tls_connection_get_channel_binding_data
      Src: /src/glib/gio/tests/tls-bindings.c:28,1
    - Dst: g_tls_connection_get_channel_binding_data
      Src: /src/glib/gio/tests/tls-bindings.c:38,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-bindings.c:35,1
    - Dst: g_tls_backend_get_client_connection_type
      Src: /src/glib/gio/tests/tls-bindings.c:25,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-bindings.c:26,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/tls-bindings.c:31,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-bindings.c:33,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/tls-bindings.c:42,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/tests/tls-bindings.c:24,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-bindings.c:41,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/tls-bindings.c:44,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/tls-bindings.c:38,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-bindings.c:21,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/tls-bindings.c:28,1
    - Dst: g_tls_connection_get_channel_binding_data
      Src: /src/glib/gio/tests/tls-bindings.c:31,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/tls-bindings.c:43,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/tls-bindings.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 45
    functionName: get_tls_channel_binding
    functionSourceFile: /src/glib/gio/tests/tls-bindings.c
    functionUses: []
    functionsReached:
    - g_tls_backend_get_client_connection_type
    - g_assert_false
    - G_TLS_CONNECTION
    - g_object_new
    - g_test_trap_assert_stderr
    - g_tls_connection_get_channel_binding_data
    - g_assert_nonnull
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_object_unref
    - g_clear_error
    - g_tls_backend_get_default
    - g_assert_error
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void get_tls_channel_binding (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/tests/tls-bindings.c:55,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/tls-bindings.c:59,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-bindings.c:56,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/tls-bindings.c:77,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/tls-bindings.c:68,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/tls-bindings.c:70,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/tls-bindings.c:73,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/tls-bindings.c:61,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/tls-bindings.c:66,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/tls-bindings.c:79,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/tls-bindings.c:78,1
    - Dst: G_DTLS_CONNECTION
      Src: /src/glib/gio/tests/tls-bindings.c:59,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/tls-bindings.c:76,1
    - Dst: g_tls_backend_get_dtls_client_connection_type
      Src: /src/glib/gio/tests/tls-bindings.c:60,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/tls-bindings.c:63,1
    - Dst: g_dtls_connection_get_channel_binding_data
      Src: /src/glib/gio/tests/tls-bindings.c:63,1
    - Dst: g_dtls_connection_get_channel_binding_data
      Src: /src/glib/gio/tests/tls-bindings.c:66,1
    - Dst: g_dtls_connection_get_channel_binding_data
      Src: /src/glib/gio/tests/tls-bindings.c:73,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/tls-bindings.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: get_dtls_channel_binding
    functionSourceFile: /src/glib/gio/tests/tls-bindings.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_object_new
    - g_test_trap_assert_stderr
    - g_assert_nonnull
    - g_test_trap_assert_failed
    - G_DTLS_CONNECTION
    - g_dtls_connection_get_channel_binding_data
    - g_object_unref
    - g_test_trap_subprocess
    - g_clear_error
    - g_tls_backend_get_default
    - g_tls_backend_get_dtls_client_connection_type
    - g_assert_error
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void get_dtls_channel_binding (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/tls-bindings.c:86,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-bindings.c:91,1
    - Dst: _g_test_tls_backend_get_type
      Src: /src/glib/gio/tests/tls-bindings.c:88,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/tls-bindings.c:90,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/tls-bindings.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/glib/gio/tests/tls-bindings.c
    functionUses: []
    functionsReached:
    - _g_test_tls_backend_get_type
    - g_test_run
    - g_test_init
    - g_test_add_func
    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:
    - MockInterface*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: mock_interface_init
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mock_interface_init (MockInterface *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:97,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:100,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:98,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: mock_interface_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_variant_new_object_path
    - g_variant_new_int32
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *mock_interface_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: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:128,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:131,1
    - Dst: g_dbus_interface_skeleton_get_vtable
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:129,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:131,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:137,1
    - Dst: g_dbus_interface_skeleton_get_connection
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:138,1
    - Dst: g_dbus_interface_skeleton_get_object_path
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:139,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:144,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:145,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:151,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - interface
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 152
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 152
    functionName: mock_interface_get_properties
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_dbus_interface_skeleton_get_vtable
    - g_variant_unref
    - g_dbus_interface_skeleton_get_info
    - g_dbus_interface_skeleton_get_connection
    - g_variant_builder_add
    - g_variant_builder_init
    - g_dbus_interface_skeleton_get_object_path
    - g_variant_take_ref
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *mock_interface_get_properties (GDBusInterfaceSkeleton
      *interface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON_CLASS
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MockInterfaceClass*
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: mock_interface_class_init
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void mock_interface_class_init (MockInterfaceClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:184,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:186,1
    - Dst: g_dbus_connection_new_finish
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:185,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:187,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: on_server_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_new_finish
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_null
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_server_connection (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:220,1
    - Dst: socketpair
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:222,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:225,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:227,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:248,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:244,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:231,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:234,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:243,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:247,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:236,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:254,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:264,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:225,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:226,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:235,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:239,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:238,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:250,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:252,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:232,1
    - Dst: g_dbus_connection_new
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:239,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:251,1
    - Dst: g_dbus_connection_new
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:254,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:259,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:261,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 265
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 265
    functionName: setup
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IO_STREAM
    - g_free
    - socketpair
    - g_strerror
    - g_assert_nonnull
    - g_assert_no_error
    - g_socket_new_from_fd
    - g_object_unref
    - g_dbus_generate_guid
    - g_main_loop_new
    - g_main_loop_run
    - g_socket_connection_factory_create_connection
    - g_dbus_connection_new
    - g_io_error_from_errno
    linkageType: ''
    returnType: void
    signature: 'static void setup (Test *test, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:282,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:283,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: on_result
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_assert_null
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_result (GObject *source, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - skeleton
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 85
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 85
    functionName: mock_interface_get_info
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *mock_interface_get_info (GDBusInterfaceSkeleton
      *skeleton) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - interface
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: mock_interface_get_vtable
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GDBusInterfaceVTable*
    signature: 'static GDBusInterfaceVTable *mock_interface_get_vtable (GDBusInterfaceSkeleton
      *interface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - skeleton
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: mock_interface_flush
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mock_interface_flush (GDBusInterfaceSkeleton *skeleton) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:201,1
    - Dst: g_dbus_connection_new_finish
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:202,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:204,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:207,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: on_client_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_new_finish
    - g_assert_nonnull
    - g_assert_no_error
    - g_assert_null
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_client_connection (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:271,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:273,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - test
    - unused
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: teardown
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - g_main_loop_unref
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Test *test, gconstpointer unused) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:303,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:322,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:328,1
    - Dst: g_dbus_object_manager_client_new
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:332,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:335,1
    - Dst: g_dbus_object_manager_client_new_finish
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:336,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:342,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:345,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:347,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:349,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:359,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:364,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:364,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:311,1
    - Dst: g_dbus_object_manager_server_new
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:314,1
    - Dst: g_dbus_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:318,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:319,1
    - Dst: g_dbus_object_manager_server_export
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:320,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:338,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:345,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:346,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:352,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:355,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:356,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:359,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:366,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:354,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:371,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:361,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:363,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:348,1
    - Dst: mock_interface_get_type
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:316,1
    - Dst: g_dbus_object_skeleton_add_interface
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:319,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:325,1
    - Dst: g_dbus_object_manager_server_export
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:326,1
    - Dst: g_dbus_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:324,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:341,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:344,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:347,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:349,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:350,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:369,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:350,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:368,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:365,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:310,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:305,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:306,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:316,1
    - Dst: mock_interface_get_type
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:322,1
    - Dst: g_dbus_object_skeleton_add_interface
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:325,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:337,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:340,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:342,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:343,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:362,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:363,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:356,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:361,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:351,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:358,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:344,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:357,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:358,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 89
    argCount: 2
    argNames:
    - test
    - test_data
    argTypes:
    - Test*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 373
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 373
    functionName: test_object_manager
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_dbus_object_manager_server_export
    - g_object_new
    - g_dbus_object_manager_client_new_finish
    - g_dbus_object_skeleton_new
    - mock_interface_get_type
    - g_dbus_object_skeleton_add_interface
    - g_main_loop_run
    - g_dbus_proxy_get_cached_property
    - g_assert_cmpint
    - g_strcmp0
    - g_assert_nonnull
    - g_object_unref
    - g_dbus_object_manager_get_interface
    - g_dbus_object_manager_server_new
    - g_variant_get_string
    - g_dbus_object_manager_client_new
    - G_DBUS_INTERFACE_SKELETON
    - g_assert_no_error
    - g_variant_unref
    - g_strdup_printf
    - g_variant_get_type
    - g_strdup
    - g_variant_get_int32
    - g_free
    - g_clear_object
    - g_assert_cmpstr
    - g_dbus_object_manager_server_set_connection
    linkageType: ''
    returnType: void
    signature: 'static void test_object_manager (Test *test, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:379,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:383,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:386,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-peer-object-manager.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 387
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 387
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-peer-object-manager.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gsettings.c:58,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:62,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:59,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - value
    - expected
    argTypes:
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: check_and_free
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_print
    - g_variant_unref
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void check_and_free (GVariant *value, const gchar *expected) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:140,1
    - Dst: g_settings_get_value
      Src: /src/glib/gio/tests/gsettings.c:149,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gsettings.c:143,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:151,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:148,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:153,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:156,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:157,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: test_unknown_key
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_settings_get_value
    - g_test_trap_subprocess
    - g_settings_new
    - g_object_unref
    - g_test_trap_assert_failed
    - g_assert_null
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_unknown_key (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:390,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:396,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gsettings.c:398,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gsettings.c:400,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gsettings.c:402,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gsettings.c:404,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:409,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:411,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:412,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:415,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:423,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gsettings.c:413,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:410,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gsettings.c:415,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gsettings.c:420,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gsettings.c:417,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:379,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:386,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:391,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:395,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:398,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:400,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:402,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:404,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gsettings.c:405,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:408,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:373,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:378,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:376,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:375,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:383,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:387,1
    - Dst: g_variant_iter_n_children
      Src: /src/glib/gio/tests/gsettings.c:391,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gsettings.c:392,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gsettings.c:394,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gsettings.c:396,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gsettings.c:411,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:416,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:421,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:413,1
    - Dst: g_variant_iter_n_children
      Src: /src/glib/gio/tests/gsettings.c:408,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:420,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:377,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:382,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:384,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:385,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:394,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:397,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:399,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:401,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:403,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gsettings.c:409,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:414,1
    - Dst: g_settings_get_value
      Src: /src/glib/gio/tests/gsettings.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 62
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 424
    functionName: test_complex_types
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set
    - g_assert_cmpint
    - g_assert_false
    - g_free
    - g_variant_iter_n_children
    - g_settings_get_value
    - g_variant_unref
    - g_settings_new
    - g_assert_cmpstr
    - g_object_unref
    - g_variant_iter_free
    - g_variant_get_type
    - g_assert_true
    - g_settings_get
    - g_variant_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void test_complex_types (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:88,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:97,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:103,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:104,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gsettings.c:115,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:126,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:130,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:98,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gsettings.c:118,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:109,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:125,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:99,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:108,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:111,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:120,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:117,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:123,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:127,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:128,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:131,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:90,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:100,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:101,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:102,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:106,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 132
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 132
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_assert_false
    - g_settings_get_string
    - g_free
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_settings_new
    - g_assert_cmpstr
    - g_object_unref
    - settings_assert_cmpstr
    - g_test_expect_message
    - g_settings_reset
    - g_settings_set
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:273,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:277,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:290,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:295,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:305,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:306,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:309,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:312,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:313,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:326,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:327,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gsettings.c:350,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:332,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:354,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:271,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:274,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:281,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:283,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:298,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:301,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:310,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:314,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:316,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:317,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:320,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:330,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:344,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gsettings.c:346,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:355,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:334,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:278,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:288,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:294,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:291,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:303,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:308,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:321,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:323,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:324,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gsettings.c:342,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:356,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:337,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:341,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:352,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:335,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:345,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:280,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:284,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:292,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:296,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:285,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:299,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:302,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:319,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:328,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:357,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:331,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:339,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:348,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:338,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 359
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 359
    functionName: test_basic_types
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_assert_cmpfloat
    - g_assert_cmpuint
    - g_settings_new
    - settings_assert_cmpstr
    - g_assert_cmpstr
    - g_object_unref
    - g_settings_get
    - g_settings_set
    linkageType: ''
    returnType: void
    signature: 'static void test_basic_types (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1677,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1694,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gsettings.c:1710,1
    - Dst: g_settings_bind_with_mapping
      Src: /src/glib/gio/tests/gsettings.c:1681,1
    - Dst: g_settings_set_string
      Src: /src/glib/gio/tests/gsettings.c:1688,1
    - Dst: g_settings_set_string
      Src: /src/glib/gio/tests/gsettings.c:1679,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1689,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:1697,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gsettings.c:1706,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1698,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1696,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1713,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1693,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1712,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1699,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1709,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1676,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1690,1
    - Dst: g_settings_set_string
      Src: /src/glib/gio/tests/gsettings.c:1692,1
    - Dst: g_settings_bind_with_mapping
      Src: /src/glib/gio/tests/gsettings.c:1701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1714
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1714
    functionName: test_custom_binding
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_bind_with_mapping
    - g_settings_set_string
    - g_assert_cmpint
    - g_settings_get_string
    - g_free
    - g_test_assert_expected_messages
    - g_object_set
    - g_settings_new
    - g_assert_cmpstr
    - g_object_unref
    - g_test_expect_message
    - test_object_new
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_custom_binding (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:720,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:721,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:729,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:728,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:723,1
    - Dst: g_settings_delay
      Src: /src/glib/gio/tests/gsettings.c:731,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:733,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:734,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:736,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:738,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:744,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:741,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:743,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:740,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 745
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 745
    functionName: test_atomic
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_settings_new
    - settings_assert_cmpstr
    - g_object_unref
    - G_CALLBACK
    - g_settings_apply
    - g_settings_delay
    - g_settings_set
    linkageType: ''
    returnType: void
    signature: 'static void test_atomic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2140,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:2143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2144,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:2141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2146,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2148,1
    - Dst: g_settings_get_child
      Src: /src/glib/gio/tests/gsettings.c:2149,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:2150,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:2152,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2153,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2155,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2157
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2157
    functionName: test_child_schema
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_settings_get_child
    - g_assert_nonnull
    - g_settings_new
    - g_object_unref
    - g_settings_get
    - g_settings_set
    linkageType: ''
    returnType: void
    signature: 'static void test_child_schema (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2435,1
    - Dst: g_settings_set_int
      Src: /src/glib/gio/tests/gsettings.c:2436,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2438
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2438
    functionName: test_range_high
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_int
    - g_assert_not_reached
    - g_settings_new
    linkageType: ''
    returnType: void
    signature: 'static void test_range_high (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 436
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 436
    functionName: changed_cb
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void changed_cb (GSettings *settings, const gchar *key, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2445,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2447,1
    - Dst: g_settings_set_int
      Src: /src/glib/gio/tests/gsettings.c:2446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2448
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2448
    functionName: test_range_low
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_int
    - g_assert_not_reached
    - g_settings_new
    linkageType: ''
    returnType: void
    signature: 'static void test_range_low (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gsettings.c:2111,1
    - Dst: g_settings_new_with_backend_and_path
      Src: /src/glib/gio/tests/gsettings.c:2114,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2115,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gsettings.c:2112,1
    - Dst: g_keyfile_settings_backend_new
      Src: /src/glib/gio/tests/gsettings.c:2113,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2117,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2117,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2118,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2118,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2120,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gsettings.c:2125,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2126,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/gsettings.c:2124,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:2125,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2128
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2128
    functionName: test_keyfile_no_root_group
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_rmdir
    - g_free
    - g_assert_no_errno
    - g_remove
    - g_object_unref
    - g_settings_is_writable
    - g_build_filename
    - g_keyfile_settings_backend_new
    - g_assert_true
    - g_settings_new_with_backend_and_path
    linkageType: ''
    returnType: void
    signature: 'static void test_keyfile_no_root_group (Fixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gsettings.c:1640,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gsettings.c:1641,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - value
    - variant
    - user_data
    argTypes:
    - GValue*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1644
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1644
    functionName: string_to_bool
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_variant_get_string
    - g_value_set_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean string_to_bool (GValue *value, GVariant *variant,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2538,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2543,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:2539,1
    - Dst: g_settings_list_children
      Src: /src/glib/gio/tests/gsettings.c:2540,1
    - Dst: g_settings_schema_list_keys
      Src: /src/glib/gio/tests/gsettings.c:2541,1
    - Dst: strv_set_equal
      Src: /src/glib/gio/tests/gsettings.c:2543,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2544,1
    - Dst: strv_set_equal
      Src: /src/glib/gio/tests/gsettings.c:2544,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:2546,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:2547,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2549,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2551
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2551
    functionName: test_list_items
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - strv_set_equal
    - g_settings_schema_list_keys
    - g_settings_new
    - g_object_unref
    - g_settings_schema_unref
    - g_strfreev
    - g_settings_list_children
    - g_assert_true
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_list_items (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsettings.c:3086,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:3079,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:3088,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsettings.c:3060,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:3066,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:3063,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:3062,1
    - Dst: g_settings_get_mapped
      Src: /src/glib/gio/tests/gsettings.c:3069,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:3073,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/gsettings.c:3084,1
    - Dst: check_and_free
      Src: /src/glib/gio/tests/gsettings.c:3084,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:3081,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:3065,1
    - Dst: g_settings_create_action
      Src: /src/glib/gio/tests/gsettings.c:3083,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:3077,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:3067,1
    - Dst: g_variant_dup_string
      Src: /src/glib/gio/tests/gsettings.c:3071,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:3072,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:3075,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:3080,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:3087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3089
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3089
    functionName: test_per_desktop_subprocess
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_dup_string
    - g_settings_get_string
    - g_settings_create_action
    - g_free
    - g_settings_bind
    - check_and_free
    - g_clear_object
    - g_variant_unref
    - g_settings_new
    - g_assert_cmpstr
    - g_action_get_state
    - g_object_unref
    - test_object_new
    - g_setenv
    - g_object_get
    - g_settings_get_mapped
    linkageType: ''
    returnType: void
    signature: 'static void test_per_desktop_subprocess (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:1651,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gsettings.c:1654,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gsettings.c:1652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - value
    - expected_type
    - user_data
    argTypes:
    - GValue*
    - GVariantType*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1655
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1655
    functionName: bool_to_string
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_variant_new_string
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *bool_to_string (const GValue *value, const GVariantType
      *expected_type, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_list_relocatable_schemas
      Src: /src/glib/gio/tests/gsettings.c:2560,1
    - Dst: g_settings_list_schemas
      Src: /src/glib/gio/tests/gsettings.c:2561,1
    - Dst: strv_set_equal
      Src: /src/glib/gio/tests/gsettings.c:2570,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2584
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2584
    functionName: test_list_schemas
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_list_relocatable_schemas
    - g_settings_list_schemas
    - strv_set_equal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_list_schemas (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new_with_path
      Src: /src/glib/gio/tests/gsettings.c:3098,1
    - Dst: strv_set_equal
      Src: /src/glib/gio/tests/gsettings.c:3101,1
    - Dst: g_settings_schema_list_keys
      Src: /src/glib/gio/tests/gsettings.c:3100,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:3101,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:3099,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:3102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:3103,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:3104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3105
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3105
    functionName: test_extended_schema
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_new_with_path
    - strv_set_equal
    - g_settings_schema_list_keys
    - g_object_unref
    - g_settings_schema_unref
    - g_strfreev
    - g_assert_true
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_extended_schema (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gsettings.c:1662,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:1662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - value
    - expected_type
    - user_data
    argTypes:
    - GValue*
    - GVariantType*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1663
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1663
    functionName: bool_to_bool
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_variant_new_boolean
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *bool_to_bool (const GValue *value, const GVariantType
      *expected_type, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:1829,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:1831,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:1833,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:1837,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:1834,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gsettings.c:1839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1840
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1840
    functionName: test_no_write_binding
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_no_write_binding (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2266,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2288,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:2293,1
    - Dst: g_settings_set_string
      Src: /src/glib/gio/tests/gsettings.c:2299,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:2301,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2309,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2311,1
    - Dst: g_settings_get_enum
      Src: /src/glib/gio/tests/gsettings.c:2297,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2271,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2276,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2281,1
    - Dst: g_settings_set_enum
      Src: /src/glib/gio/tests/gsettings.c:2291,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:2305,1
    - Dst: g_settings_get_enum
      Src: /src/glib/gio/tests/gsettings.c:2309,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2307,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2303,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2268,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2262,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:2264,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2269,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2273,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2274,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2279,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2289,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2283,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2284,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2297,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2278,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2261,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:2287,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2295,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2306,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2312,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2294,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2313
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2313
    functionName: test_enums
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_settings_get_string
    - g_assert_cmpint
    - g_free
    - g_settings_set_string
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_settings_new
    - g_assert_cmpstr
    - g_object_unref
    - g_settings_get_enum
    - g_settings_set_enum
    linkageType: ''
    returnType: void
    signature: 'static void test_enums (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - settings
    - key
    - data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1847
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1847
    functionName: key_changed_cb
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void key_changed_cb (GSettings *settings, const gchar *key,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2320,1
    - Dst: g_settings_get_flags
      Src: /src/glib/gio/tests/gsettings.c:2321,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2323
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2323
    functionName: test_flags_non_flags_key
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_settings_new
    - g_settings_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void test_flags_non_flags_key (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2220,1
    - Dst: g_settings_get_enum
      Src: /src/glib/gio/tests/gsettings.c:2221,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2223
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2223
    functionName: test_enums_non_enum_key
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_settings_new
    - g_settings_get_enum
    linkageType: ''
    returnType: void
    signature: 'static void test_enums_non_enum_key (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gsettings.c:2595,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2607,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2613,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2601,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gsettings.c:2614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - value
    - result
    - user_data
    argTypes:
    - GVariant*
    - gpointer*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2617
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2617
    functionName: map_func
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_variant_get_int32
    - g_variant_new_int32
    - g_assert_null
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean map_func (GVariant *value, gpointer *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2230,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2232,1
    - Dst: g_settings_set_enum
      Src: /src/glib/gio/tests/gsettings.c:2231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2233
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2233
    functionName: test_enums_non_enum_value
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_settings_set_enum
    - g_settings_new
    linkageType: ''
    returnType: void
    signature: 'static void test_enums_non_enum_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2627,1
    - Dst: g_settings_get_mapped
      Src: /src/glib/gio/tests/gsettings.c:2631,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2633,1
    - Dst: g_settings_set_int
      Src: /src/glib/gio/tests/gsettings.c:2628,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gsettings.c:2632,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:2635,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2637
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2637
    functionName: test_get_mapped
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_int
    - g_assert_cmpint
    - g_variant_get_int32
    - g_variant_unref
    - g_settings_new
    - g_object_unref
    - g_settings_get_mapped
    linkageType: ''
    returnType: void
    signature: 'static void test_get_mapped (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:3012,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:3013,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gsettings.c:3015,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:3032,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:3017,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:3024,1
    - Dst: g_variant_dup_string
      Src: /src/glib/gio/tests/gsettings.c:3028,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:3030,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:3038,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:3044,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gsettings.c:3019,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:3023,1
    - Dst: check_and_free
      Src: /src/glib/gio/tests/gsettings.c:3041,1
    - Dst: g_settings_create_action
      Src: /src/glib/gio/tests/gsettings.c:3040,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:3034,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:3045,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:3022,1
    - Dst: g_settings_get_mapped
      Src: /src/glib/gio/tests/gsettings.c:3026,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:3036,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:3037,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:3029,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/gsettings.c:3041,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsettings.c:3043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3046
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3046
    functionName: test_per_desktop
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_dup_string
    - g_settings_get_string
    - g_settings_create_action
    - g_free
    - g_object_get
    - g_settings_bind
    - g_test_trap_assert_passed
    - check_and_free
    - g_clear_object
    - g_test_trap_subprocess
    - g_settings_new
    - g_assert_cmpstr
    - g_variant_unref
    - g_action_get_state
    - g_object_unref
    - test_object_new
    - g_test_subprocess
    - g_settings_get_mapped
    linkageType: ''
    returnType: void
    signature: 'static void test_per_desktop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1280,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1291,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1337,1
    - Dst: g_settings_get_uint
      Src: /src/glib/gio/tests/gsettings.c:1350,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1367,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1359,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gsettings.c:1413,1
    - Dst: g_settings_get_double
      Src: /src/glib/gio/tests/gsettings.c:1413,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1442,1
    - Dst: g_settings_get_uint
      Src: /src/glib/gio/tests/gsettings.c:1495,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1395,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1357,1
    - Dst: g_settings_set_strv
      Src: /src/glib/gio/tests/gsettings.c:1438,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1444,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gsettings.c:1471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1294,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1313,1
    - Dst: g_settings_set_string
      Src: /src/glib/gio/tests/gsettings.c:1398,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1401,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/gsettings.c:1428,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1461,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1465,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1456,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:1473,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:1374,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1344,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1335,1
    - Dst: g_settings_get_uint64
      Src: /src/glib/gio/tests/gsettings.c:1360,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1282,1
    - Dst: g_settings_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:1284,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1299,1
    - Dst: g_settings_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1296,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1360,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1369,1
    - Dst: g_settings_get_strv
      Src: /src/glib/gio/tests/gsettings.c:1470,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1509,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1284,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1288,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1322,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1364,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1391,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gsettings.c:1418,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1430,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:1439,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1446,1
    - Dst: g_settings_get_uint
      Src: /src/glib/gio/tests/gsettings.c:1485,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1389,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:1394,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1323,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:1329,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1354,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/tests/gsettings.c:1407,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1412,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1417,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:1435,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1466,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1490,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1495,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1492,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1345,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1283,1
    - Dst: g_settings_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1286,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1306,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1330,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1410,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:1431,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:1447,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1448,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:1453,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1407,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gsettings.c:1441,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:1332,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:1340,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1303,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:1305,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:1320,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1327,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1376,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1399,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1436,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1454,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1489,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1510,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1298,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1379,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1396,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1405,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1471,1
    - Dst: g_settings_set_flags
      Src: /src/glib/gio/tests/gsettings.c:1477,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1493,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gsettings.c:1502,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1505,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1485,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gsettings.c:1421,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1460,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1301,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1311,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1315,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1350,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:1386,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1365,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1381,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:1383,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1377,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:1408,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1279,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1325,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1400,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1403,1
    - Dst: g_settings_get_value
      Src: /src/glib/gio/tests/gsettings.c:1406,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1452,1
    - Dst: g_settings_set_string
      Src: /src/glib/gio/tests/gsettings.c:1463,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1469,1
    - Dst: g_settings_set_int
      Src: /src/glib/gio/tests/gsettings.c:1342,1
    - Dst: g_settings_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:1294,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1334,1
    - Dst: g_settings_set_double
      Src: /src/glib/gio/tests/gsettings.c:1415,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gsettings.c:1499,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1504,1
    - Dst: g_settings_set_double
      Src: /src/glib/gio/tests/gsettings.c:1423,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1479,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:1371,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1310,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1347,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1355,1
    - Dst: g_settings_set_uint
      Src: /src/glib/gio/tests/gsettings.c:1352,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gsettings.c:1433,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/gsettings.c:1437,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1480,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1451,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1482,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1289,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1293,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1339,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1384,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1420,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1434,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1440,1
    - Dst: g_settings_set_uint
      Src: /src/glib/gio/tests/gsettings.c:1487,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1496,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1501,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gsettings.c:1448,1
    - Dst: g_settings_get_flags
      Src: /src/glib/gio/tests/gsettings.c:1475,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1318,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1372,1
    - Dst: g_settings_set_uint64
      Src: /src/glib/gio/tests/gsettings.c:1362,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:1443,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:1449,1
    - Dst: g_settings_get_enum
      Src: /src/glib/gio/tests/gsettings.c:1456,1
    - Dst: g_settings_set_enum
      Src: /src/glib/gio/tests/gsettings.c:1458,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1484,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:1497,1
    - Dst: g_settings_get_uint
      Src: /src/glib/gio/tests/gsettings.c:1505,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1340,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1388,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:1308,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:1317,1
    - Dst: g_settings_get_double
      Src: /src/glib/gio/tests/gsettings.c:1421,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1425,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gsettings.c:1426,1
    - Dst: g_settings_get_strv
      Src: /src/glib/gio/tests/gsettings.c:1432,1
    - Dst: g_settings_set_strv
      Src: /src/glib/gio/tests/gsettings.c:1445,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1475,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 208
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1511
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1511
    functionName: test_simple_binding
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_int
    - g_settings_set_string
    - g_test_assert_expected_messages
    - g_settings_get_uint
    - g_strfreev
    - g_settings_set_uint
    - g_strjoinv
    - g_settings_set_boolean
    - g_assert_cmpint
    - g_settings_get_int
    - g_assert_nonnull
    - g_settings_get_uint64
    - g_settings_set_strv
    - g_object_unref
    - g_test_expect_message
    - test_object_new
    - g_variant_get_bytestring
    - g_strsplit
    - g_settings_set_flags
    - g_settings_get_double
    - g_settings_set_enum
    - g_settings_get_strv
    - g_assert_cmpfloat
    - g_settings_bind
    - g_assert_cmpuint
    - g_object_set
    - g_settings_new
    - g_variant_unref
    - g_settings_set_double
    - g_settings_get_enum
    - g_settings_get_flags
    - g_strv_length
    - g_settings_get
    - g_settings_get_string
    - g_free
    - g_settings_set_uint64
    - g_settings_get_value
    - g_assert_cmpstr
    - g_settings_get_boolean
    - g_settings_set
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_simple_binding (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - object
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: test_object_init
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_builder_append_alias
      Src: /src/glib/gio/tests/gsettings.c:2183,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2188,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2197,1
    - Dst: strinfo_string_from_alias
      Src: /src/glib/gio/tests/gsettings.c:2190,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2192,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2198,1
    - Dst: strinfo_enum_from_string
      Src: /src/glib/gio/tests/gsettings.c:2199,1
    - Dst: strinfo_enum_from_string
      Src: /src/glib/gio/tests/gsettings.c:2201,1
    - Dst: strinfo_string_from_enum
      Src: /src/glib/gio/tests/gsettings.c:2204,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2205,1
    - Dst: strinfo_string_from_enum
      Src: /src/glib/gio/tests/gsettings.c:2207,1
    - Dst: strinfo_builder_append_item
      Src: /src/glib/gio/tests/gsettings.c:2181,1
    - Dst: strinfo_string_from_alias
      Src: /src/glib/gio/tests/gsettings.c:2188,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2190,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2194,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2199,1
    - Dst: strinfo_string_from_alias
      Src: /src/glib/gio/tests/gsettings.c:2192,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2201,1
    - Dst: strinfo_enum_from_string
      Src: /src/glib/gio/tests/gsettings.c:2202,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2204,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2206,1
    - Dst: strinfo_is_string_valid
      Src: /src/glib/gio/tests/gsettings.c:2210,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2212,1
    - Dst: strinfo_string_from_enum
      Src: /src/glib/gio/tests/gsettings.c:2206,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/gsettings.c:2184,1
    - Dst: strinfo_string_from_alias
      Src: /src/glib/gio/tests/gsettings.c:2194,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2207,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2211,1
    - Dst: strinfo_is_string_valid
      Src: /src/glib/gio/tests/gsettings.c:2211,1
    - Dst: strinfo_is_string_valid
      Src: /src/glib/gio/tests/gsettings.c:2212,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2210,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gsettings.c:2180,1
    - Dst: strinfo_builder_append_item
      Src: /src/glib/gio/tests/gsettings.c:2182,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2183,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gsettings.c:2185,1
    - Dst: strinfo_enum_from_string
      Src: /src/glib/gio/tests/gsettings.c:2197,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2200,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2202,1
    - Dst: strinfo_string_from_enum
      Src: /src/glib/gio/tests/gsettings.c:2205,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2209,1
    - Dst: strinfo_is_string_valid
      Src: /src/glib/gio/tests/gsettings.c:2209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2213
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2213
    functionName: test_strinfo
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_assert_cmpint
    - g_assert_false
    - strinfo_is_string_valid
    - g_assert_cmpstr
    - strinfo_string_from_alias
    - strinfo_builder_append_alias
    - g_string_free
    - strinfo_enum_from_string
    - g_assert_cmpmem
    - strinfo_string_from_enum
    - strinfo_builder_append_item
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_strinfo (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gsettings.c:1252,1
    - Dst: test_object_get_type
      Src: /src/glib/gio/tests/gsettings.c:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1253
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1253
    functionName: test_object_new
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - test_object_get_type
    - g_object_new
    linkageType: ''
    returnType: TestObject*
    signature: 'static TestObject *test_object_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gsettings.c:38,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gsettings.c:41,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsettings.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: setup
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_no_error
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: 'static void setup (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1576,1
    - Dst: g_settings_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1580,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1582,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1591,1
    - Dst: g_settings_set_int
      Src: /src/glib/gio/tests/gsettings.c:1599,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1604,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1588,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1601,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1579,1
    - Dst: g_settings_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1584,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1585,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1586,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1589,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1596,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:1597,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1577,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1594,1
    - Dst: g_settings_set_int
      Src: /src/glib/gio/tests/gsettings.c:1592,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1597,1
    - Dst: g_settings_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:1589,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1600,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1605
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1605
    functionName: test_directional_binding
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_boolean
    - g_settings_set_int
    - g_assert_cmpint
    - g_settings_get_int
    - g_settings_bind
    - g_object_set
    - g_settings_new
    - g_object_unref
    - test_object_new
    - g_settings_get_boolean
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_directional_binding (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1761,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1764,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1765
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1765
    functionName: test_no_read_binding_fail
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - test_object_new
    - g_settings_new
    - g_settings_bind
    linkageType: ''
    returnType: void
    signature: 'static void test_no_read_binding_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:48,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gsettings.c:48,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsettings.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: teardown
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_rmdir
    - g_assert_no_errno
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1728,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1734,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1731,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1729,1
    - Dst: g_settings_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1732,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1736,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1737,1
    - Dst: g_settings_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1739,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1740,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1741,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1744,1
    - Dst: g_settings_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1743,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1746,1
    - Dst: g_settings_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:1745,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1749,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1750
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1750
    functionName: test_no_change_binding
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_boolean
    - g_assert_cmpint
    - g_settings_bind
    - g_object_set
    - g_settings_new
    - g_object_unref
    - test_object_new
    - g_settings_get_boolean
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_no_change_binding (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bindtextdomain
      Src: /src/glib/gio/tests/gsettings.c:783,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:789,1
    - Dst: freelocale
      Src: /src/glib/gio/tests/gsettings.c:798,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:794,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsettings.c:807,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:808,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:796,1
    - Dst: dgettext
      Src: /src/glib/gio/tests/gsettings.c:815,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:819,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:820,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:829,1
    - Dst: newlocale
      Src: /src/glib/gio/tests/gsettings.c:804,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:811,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gsettings.c:815,1
    - Dst: freelocale
      Src: /src/glib/gio/tests/gsettings.c:830,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:832,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsettings.c:775,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:787,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:786,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/tests/gsettings.c:784,1
    - Dst: newlocale
      Src: /src/glib/gio/tests/gsettings.c:788,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:790,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:791,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:793,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:800,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:797,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsettings.c:825,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:812,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:801,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:828,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 834
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 834
    functionName: test_l10n
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_settings_get_string
    - g_free
    - uselocale
    - newlocale
    - g_settings_new
    - g_assert_cmpstr
    - g_object_unref
    - g_test_skip
    - bindtextdomain
    - dgettext
    - bind_textdomain_codeset
    - g_assert_true
    - freelocale
    linkageType: ''
    returnType: void
    signature: 'static void test_l10n (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:193,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:196,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gsettings.c:200,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:202,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gsettings.c:198,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gsettings.c:203,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:205,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gsettings.c:207,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:209,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gsettings.c:210,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: test_wrong_type
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_settings_set
    - g_test_assert_expected_messages
    - g_settings_new
    - g_object_unref
    - g_test_expect_message
    - g_assert_null
    - g_settings_get
    linkageType: ''
    returnType: void
    signature: 'static void test_wrong_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:666,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:668,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:680,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:683,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:685,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:687,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:690,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gsettings.c:654,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:657,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:669,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:679,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/tests/gsettings.c:677,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:688,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:661,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:656,1
    - Dst: g_settings_delay
      Src: /src/glib/gio/tests/gsettings.c:664,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:677,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/tests/gsettings.c:671,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:659,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:671,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/tests/gsettings.c:685,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:673,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 692
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 692
    functionName: test_delay_reset_key
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_settings_new
    - settings_assert_cmpstr
    - g_settings_reset
    - g_object_unref
    - g_settings_apply
    - g_settings_delay
    - g_test_summary
    - g_assert_true
    - g_settings_set
    - g_settings_get_has_unapplied
    linkageType: ''
    returnType: void
    signature: 'static void test_delay_reset_key (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1519,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1524,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1525,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1520,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1522,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:1525,1
    - Dst: g_settings_unbind
      Src: /src/glib/gio/tests/gsettings.c:1527,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1529,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:1530,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:1530,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1532,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1534
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1534
    functionName: test_unbind
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_settings_get_int
    - g_settings_bind
    - g_settings_unbind
    - g_object_set
    - g_settings_new
    - g_object_unref
    - test_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_unbind (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2351,1
    - Dst: g_settings_get_enum
      Src: /src/glib/gio/tests/gsettings.c:2352,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2354
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2354
    functionName: test_flags_non_enum
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_settings_new
    - g_settings_get_enum
    linkageType: ''
    returnType: void
    signature: 'static void test_flags_non_enum (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gsettings.c:2993,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gsettings.c:2994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - value
    - result
    - user_data
    argTypes:
    - GVariant*
    - gpointer*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2997
      start: 2986
    functionDepth: 0
    functionLinenumber: 2986
    functionLinenumberEnd: 2997
    functionName: string_map_func
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_get_string
    - g_variant_new_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean string_map_func (GVariant *value, gpointer *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:699,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:701,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/tests/gsettings.c:703,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/tests/gsettings.c:702,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/tests/gsettings.c:701,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/tests/gsettings.c:704,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:706,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:707,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - settings
    - keys
    - n_keys
    argTypes:
    - GSettings*
    - GQuark*
    - gint
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: keys_changed_cb
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - g_assert_cmpint
    - g_assert_true
    - settings_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void keys_changed_cb (GSettings *settings, const GQuark *keys,
      gint n_keys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1543,1
    - Dst: g_settings_bind_writable
      Src: /src/glib/gio/tests/gsettings.c:1548,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1550,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1544,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gsettings.c:1546,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:1551,1
    - Dst: g_settings_unbind
      Src: /src/glib/gio/tests/gsettings.c:1553,1
    - Dst: g_settings_bind_writable
      Src: /src/glib/gio/tests/gsettings.c:1555,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:1557,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:1558,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1561,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1562
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1562
    functionName: test_bind_writable
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_settings_unbind
    - g_object_set
    - g_settings_new
    - g_object_unref
    - test_object_new
    - g_settings_bind_writable
    - g_assert_true
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_bind_writable (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2373,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gsettings.c:2390,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:2392,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2386,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2381,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2393,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2400,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:2401,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2402,1
    - Dst: g_settings_get_flags
      Src: /src/glib/gio/tests/gsettings.c:2404,1
    - Dst: g_settings_get_strv
      Src: /src/glib/gio/tests/gsettings.c:2417,1
    - Dst: g_settings_get_strv
      Src: /src/glib/gio/tests/gsettings.c:2411,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2426,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2363,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2385,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2380,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2404,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2421,1
    - Dst: g_settings_get_flags
      Src: /src/glib/gio/tests/gsettings.c:2423,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:2414,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gsettings.c:2418,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2423,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2368,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2364,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2371,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2376,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2378,1
    - Dst: g_settings_get_strv
      Src: /src/glib/gio/tests/gsettings.c:2389,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2383,1
    - Dst: g_settings_set_flags
      Src: /src/glib/gio/tests/gsettings.c:2395,1
    - Dst: g_settings_get_strv
      Src: /src/glib/gio/tests/gsettings.c:2398,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gsettings.c:2399,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:2409,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:2420,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2427,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gsettings.c:2412,1
    - Dst: g_settings_set_strv
      Src: /src/glib/gio/tests/gsettings.c:2408,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2370,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:2366,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2375,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2391,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2413,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2415,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2419,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/gsettings.c:2407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2428
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2428
    functionName: test_flags
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_assert_cmpint
    - g_free
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_settings_new
    - g_assert_cmpstr
    - g_settings_set_strv
    - g_object_unref
    - g_strsplit
    - g_strfreev
    - g_settings_set_flags
    - g_strjoinv
    - g_settings_get_flags
    - g_settings_get_strv
    linkageType: ''
    returnType: void
    signature: 'static void test_flags (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:167,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:174,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:176,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:179,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gsettings.c:170,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:180,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: test_no_schema
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_settings_new
    - g_assert_null
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_no_schema (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:1611,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1622,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1620,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gsettings.c:1614,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1619,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1624,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1625,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:1628,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:1629,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:1630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1631
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1631
    functionName: test_typesafe_binding
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_settings_bind
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_settings_new
    - g_object_unref
    - test_object_new
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_typesafe_binding (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:860,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/tests/gsettings.c:855,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:863,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:864,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:865,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:869,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:870,1
    - Dst: newlocale
      Src: /src/glib/gio/tests/gsettings.c:877,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:874,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:884,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gsettings.c:888,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:889,1
    - Dst: dgettext
      Src: /src/glib/gio/tests/gsettings.c:888,1
    - Dst: freelocale
      Src: /src/glib/gio/tests/gsettings.c:895,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsettings.c:847,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/tests/gsettings.c:856,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:858,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:861,1
    - Dst: newlocale
      Src: /src/glib/gio/tests/gsettings.c:862,1
    - Dst: freelocale
      Src: /src/glib/gio/tests/gsettings.c:871,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:881,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:867,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:873,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:885,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:893,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:897,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsettings.c:880,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsettings.c:891,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 899
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 899
    functionName: test_l10n_context
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_free
    - uselocale
    - newlocale
    - g_settings_new
    - g_assert_cmpstr
    - g_object_unref
    - g_test_skip
    - settings_assert_cmpstr
    - bindtextdomain
    - dgettext
    - bind_textdomain_codeset
    - g_assert_true
    - g_settings_get
    - freelocale
    linkageType: ''
    returnType: void
    signature: 'static void test_l10n_context (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1773,1
    - Dst: exit
      Src: /src/glib/gio/tests/gsettings.c:1778,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1774,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1779
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1779
    functionName: test_no_read_binding_pass
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - test_object_new
    - exit
    - g_settings_new
    - g_settings_bind
    linkageType: ''
    returnType: void
    signature: 'static void test_no_read_binding_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2240,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2242,1
    - Dst: g_settings_set_string
      Src: /src/glib/gio/tests/gsettings.c:2241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2243
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2243
    functionName: test_enums_range
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_string
    - g_assert_not_reached
    - g_settings_new
    linkageType: ''
    returnType: void
    signature: 'static void test_enums_range (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2461,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2464,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:2469,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:2472,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:2477,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2478,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:2478,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2480,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:2480,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2485,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gsettings.c:2487,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2456,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2463,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:2468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2474,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:2475,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:2474,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2481,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:2489,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gsettings.c:2490,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:2492,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2491,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2457,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:2466,1
    - Dst: g_settings_set_int
      Src: /src/glib/gio/tests/gsettings.c:2473,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2477,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2475,1
    - Dst: g_settings_set_int
      Src: /src/glib/gio/tests/gsettings.c:2476,1
    - Dst: g_settings_set_int
      Src: /src/glib/gio/tests/gsettings.c:2479,1
    - Dst: g_settings_get_int
      Src: /src/glib/gio/tests/gsettings.c:2481,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gsettings.c:2484,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:2486,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2488,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2496,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:2459,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:2472,1
    - Dst: g_settings_range_check
      Src: /src/glib/gio/tests/gsettings.c:2485,1
    - Dst: g_settings_range_check
      Src: /src/glib/gio/tests/gsettings.c:2488,1
    - Dst: g_settings_range_check
      Src: /src/glib/gio/tests/gsettings.c:2491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2497
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2497
    functionName: test_range
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_assert_cmpint
    - g_settings_get_int
    - g_settings_set_int
    - g_assert_false
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_settings_new
    - g_variant_new_int32
    - g_variant_unref
    - g_object_unref
    - g_settings_range_check
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_range (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:1784,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:1789,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:1792,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:1786,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:1788,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gsettings.c:1794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1795
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1795
    functionName: test_no_read_binding
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_no_read_binding (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2250,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2252,1
    - Dst: g_settings_get_flags
      Src: /src/glib/gio/tests/gsettings.c:2251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2253
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2253
    functionName: test_enums_non_flags
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_settings_new
    - g_settings_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void test_enums_non_flags (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/tests/gsettings.c:2509,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gsettings.c:2522,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gsettings.c:2525,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gsettings.c:2515,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/gsettings.c:2512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - strv
    - '...'
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 2528
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2528
    functionName: strv_set_equal
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - va_end
    - va_start
    - g_strv_contains
    - va_arg
    - g_strv_length
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strv_set_equal (const gchar * const *strv, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:219,1
    - Dst: g_settings_new_with_path
      Src: /src/glib/gio/tests/gsettings.c:226,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gsettings.c:222,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:230,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:229,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 232
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 232
    functionName: test_wrong_path
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_settings_new_with_path
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_wrong_path (void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_uint
      Src: /src/glib/gio/tests/gsettings.c:1121,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/tests/gsettings.c:1124,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/tests/gsettings.c:1127,1
    - Dst: g_value_get_int64
      Src: /src/glib/gio/tests/gsettings.c:1130,1
    - Dst: g_value_get_uint64
      Src: /src/glib/gio/tests/gsettings.c:1133,1
    - Dst: g_value_get_double
      Src: /src/glib/gio/tests/gsettings.c:1136,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1139,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/tests/gsettings.c:1148,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/tests/gsettings.c:1157,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:1109,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1143,1
    - Dst: g_value_get_schar
      Src: /src/glib/gio/tests/gsettings.c:1115,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/tests/gsettings.c:1118,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:1112,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/tests/gsettings.c:1140,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:1147,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/tests/gsettings.c:1154,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/tests/gsettings.c:1144,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/tests/gsettings.c:1151,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1160
    functionName: test_object_set_property
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_value_get_int64
    - g_free
    - g_value_get_int
    - g_value_get_schar
    - g_value_get_uint
    - g_value_get_enum
    - g_strfreev
    - g_value_get_uint64
    - g_value_get_flags
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_boxed
    - g_value_get_double
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2330,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2332,1
    - Dst: g_settings_set_flags
      Src: /src/glib/gio/tests/gsettings.c:2331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2333
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2333
    functionName: test_flags_non_flags_value
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_settings_new
    - g_settings_set_flags
    linkageType: ''
    returnType: void
    signature: 'static void test_flags_non_flags_value (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gsettings.c:237,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gsettings.c:240,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:244,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsettings.c:247,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gsettings.c:248,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gsettings.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 250
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 250
    functionName: test_no_path
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_settings_new
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_no_path (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/tests/gsettings.c:1167,1
    - Dst: g_enum_register_static
      Src: /src/glib/gio/tests/gsettings.c:1177,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/tests/gsettings.c:1178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1182
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1182
    functionName: test_enum_get_type
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_enum_register_static
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: GType
    signature: 'static GType test_enum_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2340,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsettings.c:2343,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/gsettings.c:2342,1
    - Dst: g_settings_set_strv
      Src: /src/glib/gio/tests/gsettings.c:2341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2344
      start: 2335
    functionDepth: 0
    functionLinenumber: 2335
    functionLinenumberEnd: 2344
    functionName: test_flags_range
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_strsplit
    - g_settings_set_strv
    - g_settings_new
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_flags_range (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/tests/gsettings.c:918,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:920,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:923,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:925,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:929,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:931,1
    - Dst: newlocale
      Src: /src/glib/gio/tests/gsettings.c:926,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:933,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:928,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:934,1
    - Dst: freelocale
      Src: /src/glib/gio/tests/gsettings.c:966,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gsettings.c:951,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:948,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:956,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:936,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:947,1
    - Dst: dgettext
      Src: /src/glib/gio/tests/gsettings.c:951,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:953,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:965,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:968,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsettings.c:906,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/tests/gsettings.c:917,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gsettings.c:915,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gsettings.c:914,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:922,1
    - Dst: duplocale
      Src: /src/glib/gio/tests/gsettings.c:924,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:927,1
    - Dst: newlocale
      Src: /src/glib/gio/tests/gsettings.c:940,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:955,1
    - Dst: uselocale
      Src: /src/glib/gio/tests/gsettings.c:964,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:937,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsettings.c:943,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:944,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsettings.c:961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 970
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 970
    functionName: test_l10n_time
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_settings_get_string
    - g_free
    - uselocale
    - newlocale
    - g_settings_new
    - g_assert_cmpstr
    - g_object_unref
    - g_test_skip
    - bindtextdomain
    - duplocale
    - g_test_summary
    - bind_textdomain_codeset
    - dgettext
    - g_assert_true
    - g_test_bug
    - freelocale
    linkageType: ''
    returnType: void
    signature: 'static void test_l10n_time (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1806,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1807,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1810
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1810
    functionName: test_no_write_binding_fail
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - test_object_new
    - g_settings_new
    - g_settings_bind
    linkageType: ''
    returnType: void
    signature: 'static void test_no_write_binding_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_null_settings_backend_new
      Src: /src/glib/gio/tests/gsettings.c:2865,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:2868,1
    - Dst: g_settings_new_with_backend_and_path
      Src: /src/glib/gio/tests/gsettings.c:2866,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2870,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2869,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2872,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:2874,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2875,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2877,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2878,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:2884,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2888,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:2883,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2885,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2887,1
    - Dst: g_settings_delay
      Src: /src/glib/gio/tests/gsettings.c:2882,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:2880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2889
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2889
    functionName: test_null_backend
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set
    - g_assert_false
    - g_free
    - g_null_settings_backend_new
    - g_assert_cmpstr
    - settings_assert_cmpstr
    - g_settings_is_writable
    - g_object_unref
    - g_settings_apply
    - g_settings_delay
    - g_settings_reset
    - g_settings_new_with_backend_and_path
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_null_backend (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2908,1
    - Dst: g_settings_schema_key_get_summary
      Src: /src/glib/gio/tests/gsettings.c:2912,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:2909,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2912,1
    - Dst: g_settings_schema_get_key
      Src: /src/glib/gio/tests/gsettings.c:2910,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2913,1
    - Dst: g_settings_schema_key_get_description
      Src: /src/glib/gio/tests/gsettings.c:2913,1
    - Dst: g_settings_schema_key_unref
      Src: /src/glib/gio/tests/gsettings.c:2915,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2916,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2918,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2931,1
    - Dst: g_settings_schema_get_key
      Src: /src/glib/gio/tests/gsettings.c:2922,1
    - Dst: g_settings_schema_key_unref
      Src: /src/glib/gio/tests/gsettings.c:2930,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2933,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:2921,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2924,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2920,1
    - Dst: g_settings_schema_key_get_summary
      Src: /src/glib/gio/tests/gsettings.c:2924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2934
      start: 2901
    functionDepth: 0
    functionLinenumber: 2901
    functionLinenumberEnd: 2934
    functionName: test_read_descriptions
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_get_key
    - g_settings_schema_key_get_summary
    - g_settings_schema_key_get_description
    - g_settings_schema_key_unref
    - g_settings_new
    - g_assert_cmpstr
    - g_object_unref
    - g_settings_schema_unref
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_read_descriptions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:1818,1
    - Dst: test_object_new
      Src: /src/glib/gio/tests/gsettings.c:1819,1
    - Dst: g_settings_bind
      Src: /src/glib/gio/tests/gsettings.c:1821,1
    - Dst: exit
      Src: /src/glib/gio/tests/gsettings.c:1823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1824
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1824
    functionName: test_no_write_binding_pass
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - test_object_new
    - exit
    - g_settings_new
    - g_settings_bind
    linkageType: ''
    returnType: void
    signature: 'static void test_no_write_binding_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_settings_backend_new
      Src: /src/glib/gio/tests/gsettings.c:2896,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/tests/gsettings.c:2897,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2897,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2899
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2899
    functionName: test_memory_backend
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_memory_settings_backend_new
    - g_object_unref
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void test_memory_backend (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2946,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2952,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2966,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gsettings.c:2952,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:2962,1
    - Dst: g_settings_get_user_value
      Src: /src/glib/gio/tests/gsettings.c:2964,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:2967,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gsettings.c:2970,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:2972,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2980,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2983,1
    - Dst: g_settings_schema_key_ref
      Src: /src/glib/gio/tests/gsettings.c:2950,1
    - Dst: g_settings_schema_key_get_value_type
      Src: /src/glib/gio/tests/gsettings.c:2952,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gsettings.c:2955,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2956,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gsettings.c:2965,1
    - Dst: g_settings_get_user_value
      Src: /src/glib/gio/tests/gsettings.c:2976,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2977,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2981,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:2979,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2949,1
    - Dst: g_settings_schema_get_key
      Src: /src/glib/gio/tests/gsettings.c:2948,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:2947,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/tests/gsettings.c:2954,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:2957,1
    - Dst: g_settings_schema_key_unref
      Src: /src/glib/gio/tests/gsettings.c:2959,1
    - Dst: g_settings_schema_key_unref
      Src: /src/glib/gio/tests/gsettings.c:2960,1
    - Dst: g_settings_get_default_value
      Src: /src/glib/gio/tests/gsettings.c:2969,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2971,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:2974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2984
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2984
    functionName: test_default_value
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_reset
    - g_settings_schema_get_key
    - g_settings_schema_key_unref
    - g_object_unref
    - g_settings_get_user_value
    - g_variant_get_string
    - g_variant_type_equal
    - g_variant_unref
    - g_settings_new
    - g_settings_schema_key_ref
    - g_settings_get_default_value
    - g_assert_null
    - g_settings_schema_key_get_default_value
    - g_settings_schema_key_get_value_type
    - g_settings_get_string
    - g_free
    - g_assert_cmpstr
    - g_settings_schema_unref
    - g_assert_true
    - g_settings_set
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_default_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2646,1
    - Dst: check_and_free
      Src: /src/glib/gio/tests/gsettings.c:2648,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2651,1
    - Dst: g_settings_get_range
      Src: /src/glib/gio/tests/gsettings.c:2647,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2649,1
    - Dst: g_settings_get_range
      Src: /src/glib/gio/tests/gsettings.c:2652,1
    - Dst: check_and_free
      Src: /src/glib/gio/tests/gsettings.c:2653,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2654,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2656,1
    - Dst: g_settings_get_range
      Src: /src/glib/gio/tests/gsettings.c:2657,1
    - Dst: check_and_free
      Src: /src/glib/gio/tests/gsettings.c:2658,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2660,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2665,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2662,1
    - Dst: g_settings_get_range
      Src: /src/glib/gio/tests/gsettings.c:2663,1
    - Dst: check_and_free
      Src: /src/glib/gio/tests/gsettings.c:2664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2667
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2667
    functionName: test_get_range
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_range
    - check_and_free
    - g_settings_new
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_get_range (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/tests/gsettings.c:1189,1
    - Dst: g_flags_register_static
      Src: /src/glib/gio/tests/gsettings.c:1199,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/tests/gsettings.c:1200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1204
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1204
    functionName: test_flags_get_type
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_flags_register_static
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: GType
    signature: 'static GType test_flags_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_source_get_default
      Src: /src/glib/gio/tests/gsettings.c:2773,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2779,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2774,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:2775,1
    - Dst: g_settings_schema_list_keys
      Src: /src/glib/gio/tests/gsettings.c:2777,1
    - Dst: strv_set_equal
      Src: /src/glib/gio/tests/gsettings.c:2779,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:2784,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2786
      start: 2769
    functionDepth: 0
    functionLinenumber: 2769
    functionLinenumberEnd: 2786
    functionName: test_schema_list_keys
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - strv_set_equal
    - g_settings_schema_source_get_default
    - g_settings_schema_source_lookup
    - g_assert_nonnull
    - g_settings_schema_list_keys
    - g_settings_schema_unref
    - g_strfreev
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_schema_list_keys (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_create_action
      Src: /src/glib/gio/tests/gsettings.c:2801,1
    - Dst: g_settings_set_string
      Src: /src/glib/gio/tests/gsettings.c:2810,1
    - Dst: check_and_free
      Src: /src/glib/gio/tests/gsettings.c:2816,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gsettings.c:2825,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2826,1
    - Dst: g_settings_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:2826,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gsettings.c:2843,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gsettings.c:2845,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:2851,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2845,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2853,1
    - Dst: g_settings_create_action
      Src: /src/glib/gio/tests/gsettings.c:2802,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:2807,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2817,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2812,1
    - Dst: g_action_change_state
      Src: /src/glib/gio/tests/gsettings.c:2820,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2827,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/gsettings.c:2830,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2831,1
    - Dst: g_settings_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:2831,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gsettings.c:2846,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2848,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2854,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2844,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2803,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:2805,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:2805,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:2806,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:2807,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/gsettings.c:2811,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/gsettings.c:2815,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gsettings.c:2820,1
    - Dst: g_settings_get_value
      Src: /src/glib/gio/tests/gsettings.c:2821,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2822,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/tests/gsettings.c:2849,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/tests/gsettings.c:2850,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2846,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:2800,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:2806,1
    - Dst: check_and_free
      Src: /src/glib/gio/tests/gsettings.c:2811,1
    - Dst: g_settings_get_value
      Src: /src/glib/gio/tests/gsettings.c:2816,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gsettings.c:2815,1
    - Dst: check_and_free
      Src: /src/glib/gio/tests/gsettings.c:2821,1
    - Dst: g_action_change_state
      Src: /src/glib/gio/tests/gsettings.c:2825,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:2834,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:2842,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2843,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2832,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2855
      start: 2788
    functionDepth: 0
    functionLinenumber: 2788
    functionLinenumberEnd: 2855
    functionName: test_actions
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_string
    - g_action_get_state
    - g_variant_type_free
    - g_variant_new_string
    - g_object_unref
    - g_variant_get_string
    - g_signal_connect
    - g_variant_type_equal
    - g_variant_unref
    - g_settings_new
    - g_action_activate
    - g_variant_new_boolean
    - G_CALLBACK
    - g_assert_false
    - g_settings_create_action
    - g_free
    - check_and_free
    - g_settings_get_value
    - g_assert_cmpstr
    - g_action_change_state
    - g_settings_get_boolean
    - g_assert_true
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_actions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gsettings.c:1209,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1221,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/tests/gsettings.c:1222,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1239,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/tests/gsettings.c:1240,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1243,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/tests/gsettings.c:1244,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/tests/gsettings.c:1238,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1237,1
    - Dst: test_enum_get_type
      Src: /src/glib/gio/tests/gsettings.c:1244,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1215,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/tests/gsettings.c:1216,1
    - Dst: g_param_spec_char
      Src: /src/glib/gio/tests/gsettings.c:1220,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1227,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1231,1
    - Dst: g_param_spec_uint64
      Src: /src/glib/gio/tests/gsettings.c:1232,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/tests/gsettings.c:1228,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1241,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/tests/gsettings.c:1242,1
    - Dst: test_flags_get_type
      Src: /src/glib/gio/tests/gsettings.c:1246,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1217,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/tests/gsettings.c:1218,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/tests/gsettings.c:1226,1
    - Dst: g_param_spec_int64
      Src: /src/glib/gio/tests/gsettings.c:1230,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1229,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1225,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1233,1
    - Dst: g_param_spec_double
      Src: /src/glib/gio/tests/gsettings.c:1234,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1235,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/tests/gsettings.c:1236,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1219,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1223,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/tests/gsettings.c:1224,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gsettings.c:1245,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/tests/gsettings.c:1246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1247
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_int
    - test_enum_get_type
    - test_flags_get_type
    - g_param_spec_boolean
    - g_param_spec_uint
    - g_param_spec_uint64
    - g_param_spec_double
    - g_param_spec_int64
    - g_param_spec_string
    - g_param_spec_char
    - g_param_spec_boxed
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2685,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsettings.c:2691,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsettings.c:2697,1
    - Dst: g_settings_schema_source_new_from_directory
      Src: /src/glib/gio/tests/gsettings.c:2696,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2724,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2744,1
    - Dst: g_settings_schema_source_new_from_directory
      Src: /src/glib/gio/tests/gsettings.c:2748,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2758,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:2759,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2766,1
    - Dst: g_settings_schema_source_unref
      Src: /src/glib/gio/tests/gsettings.c:2745,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2754,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2743,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2763,1
    - Dst: g_settings_schema_source_new_from_directory
      Src: /src/glib/gio/tests/gsettings.c:2690,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2692,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsettings.c:2693,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsettings.c:2699,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsettings.c:2703,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2707,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2721,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:2725,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2729,1
    - Dst: g_settings_new_full
      Src: /src/glib/gio/tests/gsettings.c:2733,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2761,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:2741,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2753,1
    - Dst: g_settings_schema_source_get_default
      Src: /src/glib/gio/tests/gsettings.c:2683,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:2708,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2698,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:2704,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2712,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2716,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2726,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:2730,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2734,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:2749,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2755,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2760,1
    - Dst: g_settings_schema_source_unref
      Src: /src/glib/gio/tests/gsettings.c:2765,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:2736,1
    - Dst: g_settings_get_child
      Src: /src/glib/gio/tests/gsettings.c:2740,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:2762,1
    - Dst: g_settings_backend_get_default
      Src: /src/glib/gio/tests/gsettings.c:2680,1
    - Dst: g_settings_schema_source_new_from_directory
      Src: /src/glib/gio/tests/gsettings.c:2684,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsettings.c:2686,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsettings.c:2687,1
    - Dst: g_settings_schema_source_new_from_directory
      Src: /src/glib/gio/tests/gsettings.c:2702,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/tests/gsettings.c:2709,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2713,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:2717,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2720,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2737,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/tests/gsettings.c:2752,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 75
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2767
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2767
    functionName: test_schema_source
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_child
    - g_settings_schema_source_get_default
    - g_assert_nonnull
    - g_settings_schema_source_lookup
    - g_assert_no_error
    - g_object_unref
    - g_clear_error
    - g_settings_schema_unref
    - g_assert_null
    - g_settings_schema_source_unref
    - g_settings_schema_source_new_from_directory
    - g_assert_error
    - g_settings_backend_get_default
    - g_assert_true
    - g_settings_get
    - g_settings_new_full
    linkageType: ''
    returnType: void
    signature: 'static void test_schema_source (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/tests/gsettings.c:1915,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:1965,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gsettings.c:1982,1
    - Dst: g_chmod
      Src: /src/glib/gio/tests/gsettings.c:1965,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gsettings.c:1875,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1879,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:1899,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1906,1
    - Dst: g_chmod
      Src: /src/glib/gio/tests/gsettings.c:1980,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1931,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:1895,1
    - Dst: g_key_file_to_data
      Src: /src/glib/gio/tests/gsettings.c:1922,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:1935,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gsettings.c:1876,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/gsettings.c:1913,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:1963,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:1919,1
    - Dst: g_key_file_to_data
      Src: /src/glib/gio/tests/gsettings.c:1939,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsettings.c:1967,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:1953,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1983,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsettings.c:1941,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:1950,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:1882,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:1888,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/gsettings.c:1908,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:1919,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:1980,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/gsettings.c:1981,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:1971,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1975,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:1887,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/gsettings.c:1923,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:1970,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/tests/gsettings.c:1921,1
    - Dst: g_settings_delay
      Src: /src/glib/gio/tests/gsettings.c:1894,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1903,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:1890,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:1954,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:1982,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1984,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:1910,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gsettings.c:1944,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1884,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1892,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/gsettings.c:1912,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:1935,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1938,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:1954,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1883,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/tests/gsettings.c:1905,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsettings.c:1916,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/gsettings.c:1959,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1947,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:1946,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:1977,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:1886,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1891,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/gsettings.c:1899,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:1913,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsettings.c:1924,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gsettings.c:1927,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:1896,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/tests/gsettings.c:1901,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1907,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:1911,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/gsettings.c:1940,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsettings.c:1943,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:1962,1
    - Dst: g_settings_new_with_backend
      Src: /src/glib/gio/tests/gsettings.c:1878,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gsettings.c:1968,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/gsettings.c:1974,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1948,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:1953,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/tests/gsettings.c:1937,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1902,1
    - Dst: g_settings_get_string
      Src: /src/glib/gio/tests/gsettings.c:1929,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:1981,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsettings.c:1926,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:1930,1
    - Dst: g_keyfile_settings_backend_new
      Src: /src/glib/gio/tests/gsettings.c:1877,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:1881,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/gsettings.c:1898,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 109
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1985
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1985
    functionName: test_keyfile
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    - geteuid
    - g_chmod
    - g_remove
    - g_settings_is_writable
    - g_key_file_load_from_file
    - g_settings_delay
    - g_settings_reset
    - g_key_file_new
    - g_object_unref
    - g_key_file_to_data
    - g_settings_apply
    - g_keyfile_settings_backend_new
    - g_signal_connect
    - g_rmdir
    - g_file_set_contents
    - g_assert_no_errno
    - g_key_file_free
    - g_assert_no_error
    - g_build_filename
    - G_CALLBACK
    - g_assert_null
    - g_main_context_iteration
    - g_key_file_set_string
    - g_settings_get_string
    - g_assert_false
    - g_free
    - g_signal_handlers_disconnect_by_func
    - g_assert_cmpstr
    - g_settings_new_with_backend
    - g_assert_true
    - g_settings_set
    linkageType: ''
    returnType: void
    signature: 'static void test_keyfile (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:446,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:454,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:448,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:449,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:453,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:456,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:460,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:461,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:463,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 465
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 465
    functionName: test_changes
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_settings_new
    - g_object_unref
    - G_CALLBACK
    - g_assert_true
    - g_settings_set
    linkageType: ''
    returnType: void
    signature: 'static void test_changes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - settings
    - key
    - data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: changed_cb2
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void changed_cb2 (GSettings *settings, const gchar *key, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gsettings.c:2082,1
    - Dst: g_settings_new_with_backend_and_path
      Src: /src/glib/gio/tests/gsettings.c:2085,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2086,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gsettings.c:2083,1
    - Dst: g_keyfile_settings_backend_new
      Src: /src/glib/gio/tests/gsettings.c:2084,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2088,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2088,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2090,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/gsettings.c:2094,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:2095,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2096,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gsettings.c:2095,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2097,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2098
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2098
    functionName: test_keyfile_outside_root_path
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_rmdir
    - g_free
    - g_assert_no_errno
    - g_remove
    - g_object_unref
    - g_settings_is_writable
    - g_build_filename
    - g_keyfile_settings_backend_new
    - g_settings_new_with_backend_and_path
    linkageType: ''
    returnType: void
    signature: 'static void test_keyfile_outside_root_path (Fixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:496,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:503,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:506,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:512,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:528,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:534,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/tests/gsettings.c:546,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:551,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:553,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:556,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:568,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:567,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:522,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:531,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gsettings.c:541,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/tests/gsettings.c:545,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:554,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/tests/gsettings.c:559,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/tests/gsettings.c:560,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:563,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:557,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:495,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gsettings.c:504,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:498,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gsettings.c:505,1
    - Dst: g_settings_delay
      Src: /src/glib/gio/tests/gsettings.c:508,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:510,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:530,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:533,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:521,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gsettings.c:539,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:562,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:560,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:513,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:519,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:536,1
    - Dst: g_settings_get_user_value
      Src: /src/glib/gio/tests/gsettings.c:538,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:540,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:543,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:545,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:546,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:559,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 569
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 569
    functionName: test_delay_apply
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_assert_false
    - g_variant_unref
    - g_settings_new
    - g_settings_reset
    - g_settings_is_writable
    - settings_assert_cmpstr
    - g_assert_cmpstr
    - G_CALLBACK
    - g_object_unref
    - g_settings_apply
    - g_settings_delay
    - g_variant_get_string
    - g_settings_get_user_value
    - g_assert_true
    - g_settings_set
    - g_settings_get_has_unapplied
    linkageType: ''
    returnType: void
    signature: 'static void test_delay_apply (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gsettings.c:2003,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2007,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:2020,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2023,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:2030,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2032,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/tests/gsettings.c:2034,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2039,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2049,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsettings.c:2055,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2056,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2052,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gsettings.c:2066,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gsettings.c:2004,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:2014,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:2025,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/gsettings.c:2027,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsettings.c:2036,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2039,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsettings.c:2047,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2048,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2053,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:2061,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:2064,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:2066,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2057,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2067,1
    - Dst: g_chmod
      Src: /src/glib/gio/tests/gsettings.c:2064,1
    - Dst: g_keyfile_settings_backend_new
      Src: /src/glib/gio/tests/gsettings.c:2005,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:2009,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2010,1
    - Dst: g_settings_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:2010,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2012,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2016,1
    - Dst: g_settings_get_boolean
      Src: /src/glib/gio/tests/gsettings.c:2016,1
    - Dst: g_settings_delay
      Src: /src/glib/gio/tests/gsettings.c:2018,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:2019,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/gsettings.c:2022,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2052,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/gsettings.c:2031,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2056,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2034,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/gsettings.c:2065,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsettings.c:2065,1
    - Dst: g_settings_new_with_backend_and_path
      Src: /src/glib/gio/tests/gsettings.c:2006,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2013,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/gsettings.c:2023,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:2025,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/tests/gsettings.c:2029,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/tests/gsettings.c:2032,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsettings.c:2035,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2040,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/tests/gsettings.c:2040,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsettings.c:2051,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:2068,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/gsettings.c:2060,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:2048,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gsettings.c:2045,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 70
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2069
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2069
    functionName: test_keyfile_no_path
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    - g_chmod
    - g_remove
    - g_settings_is_writable
    - g_clear_error
    - g_key_file_load_from_file
    - g_settings_delay
    - g_settings_reset
    - g_settings_new_with_backend_and_path
    - g_key_file_new
    - g_object_unref
    - g_settings_apply
    - g_keyfile_settings_backend_new
    - g_rmdir
    - g_assert_no_errno
    - g_key_file_free
    - g_build_filename
    - g_strdup_printf
    - g_assert_error
    - g_str_equal
    - g_assert_false
    - g_free
    - g_key_file_get_boolean
    - g_settings_get_boolean
    - g_assert_true
    - g_settings_set
    linkageType: ''
    returnType: void
    signature: 'static void test_keyfile_no_path (Fixture *fixture, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:580,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:581,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:585,1
    - Dst: g_settings_delay
      Src: /src/glib/gio/tests/gsettings.c:587,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:583,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:589,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:591,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:592,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:594,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/tests/gsettings.c:594,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:603,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:604,1
    - Dst: g_settings_revert
      Src: /src/glib/gio/tests/gsettings.c:596,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:601,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/tests/gsettings.c:598,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsettings.c:598,1
    - Dst: settings_assert_cmpstr
      Src: /src/glib/gio/tests/gsettings.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 605
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 605
    functionName: test_delay_revert
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_settings_revert
    - g_settings_new
    - settings_assert_cmpstr
    - g_object_unref
    - g_settings_delay
    - g_assert_true
    - g_settings_set
    - g_settings_get_has_unapplied
    linkageType: ''
    returnType: void
    signature: 'static void test_delay_revert (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsettings.c:1032,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:1033,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gsettings.c:1034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1035
    functionName: test_object_finalize
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_object_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:644,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:645,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:621,1
    - Dst: g_settings_get_child
      Src: /src/glib/gio/tests/gsettings.c:624,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsettings.c:625,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:628,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:642,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:637,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:641,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/tests/gsettings.c:640,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:646,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:616,1
    - Dst: g_settings_delay
      Src: /src/glib/gio/tests/gsettings.c:620,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:617,1
    - Dst: g_settings_new
      Src: /src/glib/gio/tests/gsettings.c:619,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:622,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gsettings.c:627,1
    - Dst: g_settings_set
      Src: /src/glib/gio/tests/gsettings.c:633,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:636,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gsettings.c:631,1
    - Dst: g_settings_get
      Src: /src/glib/gio/tests/gsettings.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 647
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 647
    functionName: test_delay_child
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_child
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_settings_new
    - g_object_unref
    - g_settings_apply
    - g_settings_get
    - g_settings_delay
    - g_assert_true
    - g_settings_set
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_delay_child (void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1048,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/tests/gsettings.c:1060,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/tests/gsettings.c:1051,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/tests/gsettings.c:1057,1
    - Dst: g_value_set_schar
      Src: /src/glib/gio/tests/gsettings.c:1054,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/tests/gsettings.c:1063,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/tests/gsettings.c:1066,1
    - Dst: g_value_set_int64
      Src: /src/glib/gio/tests/gsettings.c:1069,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gio/tests/gsettings.c:1072,1
    - Dst: g_value_set_double
      Src: /src/glib/gio/tests/gsettings.c:1075,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/tests/gsettings.c:1087,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/tests/gsettings.c:1090,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/tests/gsettings.c:1084,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gsettings.c:1081,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/tests/gsettings.c:1093,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gsettings.c:1078,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1096
    functionName: test_object_get_property
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_set_schar
    - g_value_set_flags
    - g_value_set_string
    - g_value_set_double
    - g_value_set_boxed
    - g_value_set_uint
    - g_value_set_enum
    - g_value_set_int
    - g_value_set_uint64
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_int64
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void test_object_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:3157,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/gsettings.c:3173,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3234,1
    - Dst: g_strstrip
      Src: /src/glib/gio/tests/gsettings.c:3190,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3230,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3217,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3250,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3263,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3267,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3280,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3265,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3282,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gsettings.c:3133,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:3166,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gsettings.c:3181,1
    - Dst: g_mkdir
      Src: /src/glib/gio/tests/gsettings.c:3204,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3240,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsettings.c:3192,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:3193,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/gsettings.c:3195,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3246,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3224,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gsettings.c:3259,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3272,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3276,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3281,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsettings.c:3153,1
    - Dst: g_settings_backend_get_default
      Src: /src/glib/gio/tests/gsettings.c:3303,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/gsettings.c:3305,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsettings.c:3304,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsettings.c:3208,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3238,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3233,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gsettings.c:3258,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3262,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3266,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3279,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3283,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsettings.c:3182,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsettings.c:3147,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/gsettings.c:3155,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:3167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:3183,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/gsettings.c:3185,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3260,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3277,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3216,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3228,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/gio/tests/gsettings.c:3175,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3223,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3239,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3249,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3271,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3275,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3288,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3269,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3286,1
    - Dst: g_mkdir
      Src: /src/glib/gio/tests/gsettings.c:3186,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/gsettings.c:3203,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/tests/gsettings.c:3125,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gsettings.c:3135,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:3175,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3219,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:3187,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3237,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3232,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3245,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gsettings.c:3254,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gsettings.c:3255,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/gsettings.c:3170,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/gsettings.c:3145,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsettings.c:3148,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/gio/tests/gsettings.c:3187,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:3171,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gsettings.c:3290,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3261,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3278,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/gsettings.c:3197,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3227,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/gsettings.c:3205,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3222,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsettings.c:3201,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3248,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3270,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3274,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3287,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3268,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3285,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gsettings.c:3257,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsettings.c:3150,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsettings.c:3163,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:3165,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/gsettings.c:3169,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:3170,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3215,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3218,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3236,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3231,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3251,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3264,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3284,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsettings.c:3149,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/gsettings.c:3165,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:3169,1
    - Dst: g_strstrip
      Src: /src/glib/gio/tests/gsettings.c:3180,1
    - Dst: g_settings_sync
      Src: /src/glib/gio/tests/gsettings.c:3292,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3273,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3247,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/gsettings.c:3131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsettings.c:3161,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/gsettings.c:3162,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/gio/tests/gsettings.c:3157,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gsettings.c:3191,1
    - Dst: g_mkdir
      Src: /src/glib/gio/tests/gsettings.c:3196,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3226,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3241,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gsettings.c:3256,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsettings.c:3162,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/gsettings.c:3166,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsettings.c:3211,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 140
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3309
      start: 3107
    functionDepth: 0
    functionLinenumber: 3107
    functionLinenumberEnd: 3309
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_sync
    - g_clear_pointer
    - g_remove
    - g_test_init
    - g_assert_finalize_object
    - g_test_add
    - g_spawn_command_line_sync
    - g_assert_cmpint
    - g_settings_backend_get_default
    - g_object_unref
    - g_mkdir
    - g_test_run
    - g_test_subprocess
    - g_file_set_contents
    - g_assert_no_error
    - g_test_add_func
    - g_str_has_suffix
    - g_strstrip
    - g_setenv
    - setlocale
    - g_test_message
    - g_free
    - g_getenv
    - g_file_get_contents
    - g_assert_true
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_null_settings_backend_new
      Src: /src/glib/gio/tests/null-settings-backend.c:35,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/null-settings-backend.c:39,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/tests/null-settings-backend.c:37,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/tests/null-settings-backend.c:36,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/null-settings-backend.c:36,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/null-settings-backend.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: test_extension_point_registered
    functionSourceFile: /src/glib/gio/tests/null-settings-backend.c
    functionUses: []
    functionsReached:
    - G_IS_SETTINGS_BACKEND
    - g_assert_nonnull
    - g_object_unref
    - g_io_extension_point_lookup
    - g_assert_true
    - g_null_settings_backend_new
    linkageType: ''
    returnType: void
    signature: 'static void test_extension_point_registered (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/null-settings-backend.c:47,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/null-settings-backend.c:50,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/null-settings-backend.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/glib/gio/tests/null-settings-backend.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_object_init
      Src: /src/glib/gio/tests/gdbus-bz627724.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - MyObject
    - my_object
    - G_TYPE_OBJECT
    argTypes:
    - MyObject
    - my_object
    - G_TYPE_OBJECT
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: G_DEFINE_TYPE
    functionSourceFile: /src/glib/gio/tests/gdbus-bz627724.c
    functionUses: []
    functionsReached:
    - my_object_init
    linkageType: ''
    returnType: GType
    signature: 'GType my_object_get_type (void) G_GNUC_CONST; G_DEFINE_TYPE (MyObject,
      my_object, G_TYPE_OBJECT)static voidmy_object_init (MyObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-bz627724.c:56,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-bz627724.c:59,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-bz627724.c:60,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-bz627724.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MyObjectClass*
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: my_object_class_init
    functionSourceFile: /src/glib/gio/tests/gdbus-bz627724.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_bus_get_sync
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'static void my_object_class_init (MyObjectClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-bz627724.c:82,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-bz627724.c:87,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-bz627724.c:86,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-bz627724.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-bz627724.c
    functionUses: []
    functionsReached:
    - g_test_dbus_unset
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-bz627724.c:68,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-bz627724.c:72,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-bz627724.c:69,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-bz627724.c:71,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gdbus-bz627724.c:70,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-bz627724.c:73,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-bz627724.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: test_bz627724
    functionSourceFile: /src/glib/gio/tests/gdbus-bz627724.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_assert
    - session_bus_down
    - g_object_unref
    - session_bus_up
    linkageType: ''
    returnType: void
    signature: 'static void test_bz627724 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/gio/tests/portal-support-utils.c:35,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/tests/portal-support-utils.c:43,1
    - Dst: cleanup_snapfiles
      Src: /src/glib/gio/tests/portal-support-utils.c:46,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/portal-support-utils.c:45,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/portal-support-utils.c:39,1
    - Dst: g_free
      Src: /src/glib/gio/tests/portal-support-utils.c:47,1
    - Dst: g_dir_close
      Src: /src/glib/gio/tests/portal-support-utils.c:50,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/portal-support-utils.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: cleanup_snapfiles
    functionSourceFile: /src/glib/gio/tests/portal-support-utils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_rmdir
    - g_dir_read_name
    - g_dir_open
    - g_remove
    - cleanup_snapfiles
    - g_build_filename
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'void cleanup_snapfiles (const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/portal-support-utils.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/portal-support-utils.c:103,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/tests/portal-support-utils.c:103,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/portal-support-utils.c:95,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/portal-support-utils.c:102,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/portal-support-utils.c:105,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/portal-support-utils.c:106,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/portal-support-utils.c:108,1
    - Dst: g_free
      Src: /src/glib/gio/tests/portal-support-utils.c:110,1
    - Dst: g_free
      Src: /src/glib/gio/tests/portal-support-utils.c:111,1
    - Dst: g_free
      Src: /src/glib/gio/tests/portal-support-utils.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - snap_path
    - is_classic
    argTypes:
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 113
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 113
    functionName: create_fake_snap_yaml
    functionSourceFile: /src/glib/gio/tests/portal-support-utils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - g_file_set_contents
    - g_assert_nonnull
    - g_mkdir_with_parents
    - g_build_filename
    - g_strconcat
    linkageType: ''
    returnType: void
    signature: 'void create_fake_snap_yaml (const char *snap_path, gboolean is_classic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/gio/tests/portal-support-utils.c:139,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/tests/portal-support-utils.c:144,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/gio/tests/portal-support-utils.c:153,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/tests/portal-support-utils.c:148,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/tests/portal-support-utils.c:146,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/portal-support-utils.c:155,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/tests/portal-support-utils.c:160,1
    - Dst: create_fake_flatpak_info_from_key_file
      Src: /src/glib/gio/tests/portal-support-utils.c:164,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/tests/portal-support-utils.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - root_path
    - shared_context
    - dconf_dbus_policy
    argTypes:
    - char*
    - GStrv
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: create_fake_flatpak_info
    functionSourceFile: /src/glib/gio/tests/portal-support-utils.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_set_string_list
    - g_key_file_free
    - create_fake_flatpak_info_from_key_file
    - g_strv_length
    - g_key_file_set_string
    linkageType: ''
    returnType: void
    signature: 'void create_fake_flatpak_info (const char *root_path, const GStrv
      shared_context, const char *dconf_dbus_policy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/portal-support-utils.c:63,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/portal-support-utils.c:76,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/portal-support-utils.c:74,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/portal-support-utils.c:64,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/portal-support-utils.c:75,1
    - Dst: g_chmod
      Src: /src/glib/gio/tests/portal-support-utils.c:76,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/portal-support-utils.c:78,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/portal-support-utils.c:80,1
    - Dst: g_free
      Src: /src/glib/gio/tests/portal-support-utils.c:81,1
    - Dst: g_free
      Src: /src/glib/gio/tests/portal-support-utils.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - path
    - supported_op
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 83
    functionName: create_fake_snapctl
    functionSourceFile: /src/glib/gio/tests/portal-support-utils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_free
    - g_file_set_contents
    - g_assert_no_error
    - g_build_filename
    - g_strdup_printf
    - g_clear_error
    - g_chmod
    linkageType: ''
    returnType: void
    signature: 'void create_fake_snapctl (const char *path, const char *supported_op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/portal-support-utils.c:122,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/portal-support-utils.c:124,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/portal-support-utils.c:125,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/portal-support-utils.c:127,1
    - Dst: g_key_file_save_to_file
      Src: /src/glib/gio/tests/portal-support-utils.c:126,1
    - Dst: g_free
      Src: /src/glib/gio/tests/portal-support-utils.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - root_path
    - key_file
    argTypes:
    - char*
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: create_fake_flatpak_info_from_key_file
    functionSourceFile: /src/glib/gio/tests/portal-support-utils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_free
    - g_assert_nonnull
    - g_assert_no_error
    - g_build_filename
    - g_key_file_save_to_file
    linkageType: ''
    returnType: void
    signature: 'void create_fake_flatpak_info_from_key_file (const char *root_path,
      GKeyFile *key_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-auth.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - observer
    - mechanism
    - user_data
    argTypes:
    - GDBusAuthObserver*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: server_on_allow_mechanism
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean server_on_allow_mechanism (GDBusAuthObserver *observer,
      const gchar *mechanism, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-auth.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: test_auth_on_new_connection
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_auth_on_new_connection (GDBusServer *server,
      GDBusConnection *connection, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_auth_observer_new
      Src: /src/glib/gio/tests/gdbus-auth.c:128,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/gdbus-auth.c:135,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-auth.c:132,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-auth.c:130,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-auth.c:140,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-auth.c:141,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-auth.c:142,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-auth.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 145
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 145
    functionName: test_auth_client_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - g_dbus_auth_observer_new
    - g_signal_connect
    - g_assert
    - g_clear_object
    - g_assert_no_error
    - G_CALLBACK
    - g_dbus_connection_new_for_address_sync
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_auth_client_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auth_mechanism
      Src: /src/glib/gio/tests/gdbus-auth.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: auth_client_external
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - test_auth_mechanism
    linkageType: ''
    returnType: void
    signature: 'static void auth_client_external (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auth_mechanism
      Src: /src/glib/gio/tests/gdbus-auth.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: auth_server_anonymous
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - test_auth_mechanism
    linkageType: ''
    returnType: void
    signature: 'static void auth_server_anonymous (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auth_mechanism
      Src: /src/glib/gio/tests/gdbus-auth.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: auth_server_dbus_cookie_sha1
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - test_auth_mechanism
    linkageType: ''
    returnType: void
    signature: 'static void auth_server_dbus_cookie_sha1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-auth.c:230,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-auth.c:233,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gdbus-auth.c:231,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gdbus-auth.c:234,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-auth.c:232,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gdbus-auth.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: temp_dbus_keyrings_setup
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_dir_make_tmp
    - g_setenv
    linkageType: ''
    returnType: void
    signature: 'static void temp_dbus_keyrings_setup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: server_new_for_mechanism
      Src: /src/glib/gio/tests/gdbus-auth.c:156,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-auth.c:167,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-auth.c:162,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-auth.c:158,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-auth.c:160,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-auth.c:171,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-auth.c:175,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-auth.c:177,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gdbus-auth.c:179,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-auth.c:181,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-auth.c:186,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-auth.c:184,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-auth.c:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - allowed_client_mechanism
    - allowed_server_mechanism
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 187
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 187
    functionName: test_auth_mechanism
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_dbus_server_stop
    - server_new_for_mechanism
    - g_dbus_server_get_client_address
    - g_object_unref
    - g_main_loop_unref
    - G_CALLBACK
    - g_dbus_server_start
    - g_thread_new
    - g_main_loop_new
    - g_thread_join
    - g_main_loop_run
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: 'static void test_auth_mechanism (const gchar *allowed_client_mechanism,
      const gchar *allowed_server_mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auth_mechanism
      Src: /src/glib/gio/tests/gdbus-auth.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: auth_client_dbus_cookie_sha1
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - test_auth_mechanism
    linkageType: ''
    returnType: void
    signature: 'static void auth_client_dbus_cookie_sha1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auth_mechanism
      Src: /src/glib/gio/tests/gdbus-auth.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: auth_server_external
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - test_auth_mechanism
    linkageType: ''
    returnType: void
    signature: 'static void auth_server_external (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-auth.c:245,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-auth.c:249,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-auth.c:248,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/tests/gdbus-auth.c:250,1
    - Dst: g_dir_open
      Src: /src/glib/gio/tests/gdbus-auth.c:247,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gdbus-auth.c:252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-auth.c:253,1
    - Dst: unlink
      Src: /src/glib/gio/tests/gdbus-auth.c:253,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-auth.c:254,1
    - Dst: g_dir_close
      Src: /src/glib/gio/tests/gdbus-auth.c:256,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-auth.c:262,1
    - Dst: rmdir
      Src: /src/glib/gio/tests/gdbus-auth.c:257,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-auth.c:261,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-auth.c:259,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-auth.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 263
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 263
    functionName: temp_dbus_keyrings_teardown
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    - unlink
    - g_free
    - rmdir
    - g_assert
    - g_dir_read_name
    - g_assert_no_error
    - g_dir_open
    - g_build_filename
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'static void temp_dbus_keyrings_teardown (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-auth.c:62,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-auth.c:67,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gdbus-auth.c:66,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-auth.c:70,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-auth.c:68,1
    - Dst: g_dbus_auth_observer_new
      Src: /src/glib/gio/tests/gdbus-auth.c:73,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-auth.c:76,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-auth.c:80,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-auth.c:86,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-auth.c:87,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-auth.c:91,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-auth.c:89,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-auth.c:95,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-auth.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-auth.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - allowed_mechanism
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 99
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 99
    functionName: server_new_for_mechanism
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_dbus_auth_observer_new
    - g_dbus_server_new_sync
    - g_free
    - g_signal_connect
    - g_strcmp0
    - g_assert
    - g_assert_no_error
    - g_dir_make_tmp
    - g_object_unref
    - g_dbus_generate_guid
    - g_strdup_printf
    - G_CALLBACK
    linkageType: ''
    returnType: GDBusServer*
    signature: 'static GDBusServer *server_new_for_mechanism (const gchar *allowed_mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/gdbus-auth.c:273,1
    - Dst: temp_dbus_keyrings_setup
      Src: /src/glib/gio/tests/gdbus-auth.c:275,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-auth.c:279,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-auth.c:277,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-auth.c:280,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-auth.c:281,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-auth.c:282,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-auth.c:283,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-auth.c:291,1
    - Dst: temp_dbus_keyrings_teardown
      Src: /src/glib/gio/tests/gdbus-auth.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 296
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 296
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-auth.c
    functionUses: []
    functionsReached:
    - setlocale
    - temp_dbus_keyrings_setup
    - g_test_add_func
    - g_test_run
    - g_test_init
    - temp_dbus_keyrings_teardown
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-proxy.c:417,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:422,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:431,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:432,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:433,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy.c:438,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-proxy.c:442,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-proxy.c:453,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:471,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:433,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:434,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:448,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-proxy.c:451,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:416,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:424,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-proxy.c:419,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-proxy.c:436,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:439,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:443,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-proxy.c:455,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:457,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-proxy.c:465,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:466,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-proxy.c:436,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:449,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:467,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-proxy.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 472
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 472
    functionName: test_signals
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - strlen
    - g_variant_get_type_string
    - g_assert_nonnull
    - g_variant_new
    - g_string_free
    - g_dbus_proxy_call
    - g_signal_connect
    - g_dbus_proxy_call_sync
    - g_assert_cmpuint
    - g_assert_no_error
    - g_variant_unref
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_string_new
    - g_assert_cmpstr
    - _g_assert_signal_received
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_signals (GDBusProxy *proxy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:502,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:509,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:511,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:511,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:510,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:512,1
    - Dst: g_test_trap_fork
      Src: /src/glib/gio/tests/gdbus-proxy.c:514,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy.c:517,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gdbus-proxy.c:519,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gdbus-proxy.c:520,1
    - Dst: g_dbus_proxy_get_interface_info
      Src: /src/glib/gio/tests/gdbus-proxy.c:525,1
    - Dst: g_dbus_proxy_set_interface_info
      Src: /src/glib/gio/tests/gdbus-proxy.c:528,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy.c:527,1
    - Dst: g_dbus_proxy_set_interface_info
      Src: /src/glib/gio/tests/gdbus-proxy.c:526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 529
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 529
    functionName: test_bogus_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_sync
    - g_variant_get_type_string
    - g_dbus_proxy_set_interface_info
    - g_test_trap_assert_stderr
    - g_assert_nonnull
    - g_test_trap_assert_failed
    - g_assert_no_error
    - g_variant_unref
    - g_assert_cmpstr
    - g_test_trap_fork
    - g_dbus_proxy_get_interface_info
    - _g_assert_signal_received
    linkageType: ''
    returnType: void
    signature: 'static void test_bogus_signal (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:908,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:916,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:920,1
    - Dst: test_properties
      Src: /src/glib/gio/tests/gdbus-proxy.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 921
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 921
    functionName: test_no_properties
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_for_bus_sync
    - test_properties
    - g_assert_no_error
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_no_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:946,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-proxy.c:953,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:950,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-proxy.c:954,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:951,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-proxy.c:955,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:956,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-proxy.c:957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 958
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 958
    functionName: test_wellknown_noauto
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_source_remove
    - g_assert_no_error
    - g_object_unref
    - g_main_loop_run
    - g_dbus_proxy_new_for_bus_sync
    - g_timeout_add
    - g_dbus_proxy_call
    linkageType: ''
    returnType: void
    signature: 'static void test_wellknown_noauto (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-proxy.c:973,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-proxy.c:977,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:983,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-proxy.c:984,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-proxy.c:978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - connection
    - add_or_remove
    - match_rule
    argTypes:
    - GDBusConnection*
    - AddOrRemove
    - GVariant*
    constantsTouched: []
    func_position:
      end: 985
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 985
    functionName: add_or_remove_match_rule
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_send_message
    - g_assert_no_error
    - g_clear_object
    - g_dbus_message_new_method_call
    - g_dbus_message_set_body
    linkageType: ''
    returnType: void
    signature: 'static void add_or_remove_match_rule (GDBusConnection *connection,
      AddOrRemove add_or_remove, GVariant *match_rule) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:541,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-proxy.c:544,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:549,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:550,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:543,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:551,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:551,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:552,1
    - Dst: g_test_trap_fork
      Src: /src/glib/gio/tests/gdbus-proxy.c:554,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy.c:557,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy.c:567,1
    - Dst: g_dbus_proxy_set_interface_info
      Src: /src/glib/gio/tests/gdbus-proxy.c:568,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/gdbus-proxy.c:560,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/gdbus-proxy.c:559,1
    - Dst: g_dbus_proxy_set_interface_info
      Src: /src/glib/gio/tests/gdbus-proxy.c:566,1
    - Dst: g_dbus_proxy_get_interface_info
      Src: /src/glib/gio/tests/gdbus-proxy.c:565,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 569
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 569
    functionName: test_bogus_property
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_sync
    - g_variant_get_type_string
    - g_dbus_proxy_set_interface_info
    - g_test_trap_assert_stderr
    - g_assert_nonnull
    - g_test_trap_assert_failed
    - g_assert_no_error
    - g_variant_new_int32
    - g_assert_cmpstr
    - g_variant_unref
    - g_test_trap_fork
    - g_variant_new
    - g_dbus_proxy_get_interface_info
    - _g_assert_signal_received
    linkageType: ''
    returnType: void
    signature: 'static void test_bogus_property (GDBusProxy *proxy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:608,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:610,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:610,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:611,1
    - Dst: test_methods
      Src: /src/glib/gio/tests/gdbus-proxy.c:615,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:630,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:631,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-proxy.c:630,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-proxy.c:628,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:646,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:658,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:663,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy.c:681,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/tests/gdbus-proxy.c:686,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:673,1
    - Dst: g_dbus_proxy_set_interface_info
      Src: /src/glib/gio/tests/gdbus-proxy.c:614,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-proxy.c:633,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-proxy.c:647,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/tests/gdbus-proxy.c:660,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:661,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:665,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/tests/gdbus-proxy.c:668,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:677,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:684,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:685,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:666,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gdbus-proxy.c:660,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:676,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gdbus-proxy.c:668,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:608,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/tests/gdbus-proxy.c:609,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:609,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:632,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:637,1
    - Dst: test_bogus_method_return
      Src: /src/glib/gio/tests/gdbus-proxy.c:619,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/tests/gdbus-proxy.c:637,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-proxy.c:644,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:657,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:659,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gdbus-proxy.c:686,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/tests/gdbus-proxy.c:673,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:687,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-proxy.c:685,1
    - Dst: test_signals
      Src: /src/glib/gio/tests/gdbus-proxy.c:616,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gdbus-proxy.c:625,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/gdbus-proxy.c:639,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-proxy.c:659,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/tests/gdbus-proxy.c:663,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:678,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:679,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:672,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:683,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:667,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:678,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-proxy.c:667,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 688
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 688
    functionName: test_expected_interface
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - test_methods
    - g_dbus_proxy_set_cached_property
    - g_dbus_proxy_get_cached_property
    - g_test_undefined
    - g_variant_get_type_string
    - test_bogus_method_return
    - g_dbus_proxy_set_interface_info
    - g_variant_new_string
    - g_assert_nonnull
    - g_variant_get_double
    - g_test_expect_message
    - g_variant_new
    - g_variant_new_double
    - g_dbus_proxy_call_sync
    - g_assert_cmpfloat
    - g_variant_unref
    - g_assert_no_error
    - g_variant_ref_sink
    - g_variant_new_byte
    - g_assert_cmpstr
    - _g_assert_signal_received
    - g_assert_true
    - g_variant_is_of_type
    - test_signals
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_interface (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/tests/gdbus-proxy.c:931,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-proxy.c:931,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:934,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:932,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:933,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-proxy.c:936,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 937
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 937
    functionName: check_error
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_dbus_proxy_call_finish
    - g_error_free
    - g_assert_null
    - g_main_loop_quit
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void check_error (GObject *source, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gdbus-proxy.c:993,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-proxy.c:999,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-proxy.c:994,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:999,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:996,1
    - Dst: add_or_remove_match_rule
      Src: /src/glib/gio/tests/gdbus-proxy.c:1000,1
    - Dst: test_proxy_with_flags
      Src: /src/glib/gio/tests/gdbus-proxy.c:1003,1
    - Dst: add_or_remove_match_rule
      Src: /src/glib/gio/tests/gdbus-proxy.c:1006,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-proxy.c:1008,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-proxy.c:1009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1010
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1010
    functionName: test_proxy_no_match_rule
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - add_or_remove_match_rule
    - g_clear_pointer
    - g_clear_object
    - g_bus_get_sync
    - g_variant_new
    - g_test_summary
    - g_variant_ref_sink
    - test_proxy_with_flags
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy_no_match_rule (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:52,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:69,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:71,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:68,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:74,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:93,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:109,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy.c:116,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:119,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:109,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:117,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:53,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-proxy.c:55,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:69,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:68,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:74,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:75,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:76,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:84,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:86,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:91,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:100,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:108,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:126,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:47,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:54,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:70,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:92,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy.c:97,1
    - Dst: g_dbus_proxy_set_default_timeout
      Src: /src/glib/gio/tests/gdbus-proxy.c:115,1
    - Dst: g_dbus_proxy_get_default_timeout
      Src: /src/glib/gio/tests/gdbus-proxy.c:97,1
    - Dst: g_dbus_proxy_get_default_timeout
      Src: /src/glib/gio/tests/gdbus-proxy.c:116,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:125,1
    - Dst: g_dbus_proxy_set_default_timeout
      Src: /src/glib/gio/tests/gdbus-proxy.c:130,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:124,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:102,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:94,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:127,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:45,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:54,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:56,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:57,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:60,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:72,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:67,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:62,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:73,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-proxy.c:92,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-proxy.c:125,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 131
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 131
    functionName: test_methods
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_error_get_remote_error
    - g_clear_error
    - g_dbus_error_is_remote_error
    - g_assert_cmpint
    - g_variant_get_type_string
    - g_assert_nonnull
    - g_dbus_proxy_get_default_timeout
    - g_variant_new
    - g_dbus_proxy_call_sync
    - g_assert_no_error
    - g_variant_unref
    - g_dbus_proxy_set_default_timeout
    - g_variant_get
    - g_assert_null
    - g_assert_error
    - g_assert_false
    - g_free
    - g_assert_cmpstr
    - g_assert_true
    - g_dbus_error_strip_remote_error
    linkageType: ''
    returnType: void
    signature: 'static void test_methods (GDBusProxy *proxy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy.c:228,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:233,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:242,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:257,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy.c:300,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:326,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:318,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:321,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:342,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy.c:317,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy.c:256,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:298,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:328,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:265,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy.c:190,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:226,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:263,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:267,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:307,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:346,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy.c:183,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy.c:262,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:343,1
    - Dst: strv_equal
      Src: /src/glib/gio/tests/gdbus-proxy.c:192,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy.c:219,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:230,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:240,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:275,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:259,1
    - Dst: g_dbus_proxy_get_connection
      Src: /src/glib/gio/tests/gdbus-proxy.c:307,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:341,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:315,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:322,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:335,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy.c:228,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy.c:253,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy.c:256,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/tests/gdbus-proxy.c:259,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:324,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:231,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:251,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy.c:262,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:297,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:319,1
    - Dst: g_dbus_proxy_get_flags
      Src: /src/glib/gio/tests/gdbus-proxy.c:181,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:183,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:249,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:274,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:334,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:295,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:227,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/tests/gdbus-proxy.c:239,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:255,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:266,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:290,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:288,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:276,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:192,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:232,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:260,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:335,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy.c:339,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:232,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:229,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:251,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:323,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:297,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:275,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:343,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:303,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:333,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:302,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:261,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:336,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:344,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:273,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:323,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:250,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:252,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy.c:254,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:296,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 102
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 347
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 347
    functionName: test_properties
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - strv_equal
    - g_strfreev
    - g_dbus_proxy_set_cached_property
    - g_dbus_proxy_get_cached_property
    - g_assert_cmpint
    - g_variant_get_type_string
    - g_dbus_proxy_get_connection
    - g_assert_nonnull
    - g_object_unref
    - g_variant_new
    - g_variant_get_string
    - g_dbus_proxy_call_sync
    - g_dbus_proxy_new_sync
    - g_variant_unref
    - g_assert_no_error
    - g_assert_null
    - g_variant_new_byte
    - g_dbus_proxy_get_name_owner
    - g_dbus_proxy_get_cached_property_names
    - g_free
    - g_dbus_proxy_get_flags
    - g_assert_cmpstr
    - g_variant_get_byte
    - g_assert_true
    - _g_assert_signal_received
    linkageType: ''
    returnType: void
    signature: 'static void test_properties (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:758,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-proxy.c:769,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/tests/gdbus-proxy.c:773,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:763,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:770,1
    - Dst: kill
      Src: /src/glib/gio/tests/gdbus-proxy.c:777,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-proxy.c:780,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-proxy.c:782,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/gdbus-proxy.c:784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 786
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 786
    functionName: kill_test_service
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_bus_unwatch_name
    - g_dbus_connection_call_sync
    - g_variant_unref
    - g_bus_watch_name_on_connection
    - g_variant_get
    - kill
    - g_warning
    - g_main_context_iteration
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void kill_test_service (GDBusConnection *connection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/tests/gdbus-proxy.c:143,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/gdbus-proxy.c:146,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gdbus-proxy.c:156,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy.c:159,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-proxy.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - strv
    - '...'
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 162
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 162
    functionName: strv_equal
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - va_end
    - g_strcmp0
    - va_start
    - va_arg
    - g_strv_length
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strv_equal (gchar **strv, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:800,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:813,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-proxy.c:813,1
    - Dst: test_basic
      Src: /src/glib/gio/tests/gdbus-proxy.c:817,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:829,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy.c:825,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-proxy.c:815,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:797,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:810,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:802,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-proxy.c:813,1
    - Dst: test_methods
      Src: /src/glib/gio/tests/gdbus-proxy.c:818,1
    - Dst: test_properties
      Src: /src/glib/gio/tests/gdbus-proxy.c:819,1
    - Dst: kill_test_service
      Src: /src/glib/gio/tests/gdbus-proxy.c:823,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:827,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:826,1
    - Dst: test_expected_interface
      Src: /src/glib/gio/tests/gdbus-proxy.c:821,1
    - Dst: test_signals
      Src: /src/glib/gio/tests/gdbus-proxy.c:820,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GDBusProxyFlags
    constantsTouched: []
    func_position:
      end: 831
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 831
    functionName: test_proxy_with_flags
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - test_basic
    - g_dbus_proxy_get_name_owner
    - test_properties
    - g_dbus_proxy_new_sync
    - g_test_get_filename
    - _g_assert_property_notify
    - kill_test_service
    - g_free
    - g_assert_no_error
    - g_bus_get_sync
    - g_spawn_command_line_async
    - test_methods
    - g_object_unref
    - test_expected_interface
    - g_assert_null
    - g_assert_true
    - test_signals
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy_with_flags (GDBusProxyFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-proxy.c:1019,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-proxy.c:1021,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-proxy.c:1028,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:1022,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-proxy.c:1026,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-proxy.c:1029,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-proxy.c:1030,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-proxy.c:1031,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-proxy.c:1032,1
    - Dst: session_bus_run
      Src: /src/glib/gio/tests/gdbus-proxy.c:1034,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:1037,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:1036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1040
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1040
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_assert_nonnull
    - g_dbus_node_info_unref
    - g_test_add_func
    - g_main_loop_unref
    - g_test_init
    - g_main_loop_new
    - session_bus_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:482,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:490,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:489,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 492
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 492
    functionName: test_bogus_method_return
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_assert_error
    - g_dbus_proxy_call_sync
    - g_error_free
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_bogus_method_return (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:362,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:363,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:363,1
    - Dst: g_variant_print_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - proxy
    - sender_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusProxy*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: test_proxy_signals_on_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_variant_print_string
    - g_variant_get_type_string
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy_signals_on_signal (GDBusProxy *proxy, const
      gchar *sender_name, const gchar *signal_name, GVariant *parameters, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_get_name
      Src: /src/glib/gio/tests/gdbus-proxy.c:706,1
    - Dst: g_dbus_proxy_get_object_path
      Src: /src/glib/gio/tests/gdbus-proxy.c:707,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:708,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:725,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:726,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy.c:727,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:732,1
    - Dst: g_dbus_proxy_get_interface_info
      Src: /src/glib/gio/tests/gdbus-proxy.c:705,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:722,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-proxy.c:711,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy.c:709,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:730,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-proxy.c:702,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:705,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:707,1
    - Dst: g_dbus_proxy_get_interface_name
      Src: /src/glib/gio/tests/gdbus-proxy.c:708,1
    - Dst: g_dbus_proxy_get_flags
      Src: /src/glib/gio/tests/gdbus-proxy.c:723,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:724,1
    - Dst: g_dbus_proxy_get_default_timeout
      Src: /src/glib/gio/tests/gdbus-proxy.c:709,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:734,1
    - Dst: g_dbus_proxy_get_connection
      Src: /src/glib/gio/tests/gdbus-proxy.c:704,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:704,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:706,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy.c:723,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:721,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:729,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:731,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 735
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 735
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_name
    - g_assert_cmpint
    - g_assert_true
    - g_free
    - g_dbus_proxy_get_connection
    - g_dbus_proxy_get_object_path
    - g_bus_get_sync
    - g_assert_cmpstr
    - g_dbus_proxy_get_flags
    - g_object_unref
    - g_dbus_proxy_get_default_timeout
    - g_assert_null
    - g_dbus_proxy_get_interface_name
    - g_dbus_proxy_get_interface_info
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_for_bus_finish
      Src: /src/glib/gio/tests/gdbus-proxy.c:851,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy.c:856,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:852,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy.c:855,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy.c:854,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy.c:859,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-proxy.c:859,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-proxy.c:859,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-proxy.c:861,1
    - Dst: test_basic
      Src: /src/glib/gio/tests/gdbus-proxy.c:863,1
    - Dst: test_signals
      Src: /src/glib/gio/tests/gdbus-proxy.c:866,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-proxy.c:871,1
    - Dst: test_properties
      Src: /src/glib/gio/tests/gdbus-proxy.c:865,1
    - Dst: kill_test_service
      Src: /src/glib/gio/tests/gdbus-proxy.c:869,1
    - Dst: test_methods
      Src: /src/glib/gio/tests/gdbus-proxy.c:864,1
    - Dst: test_expected_interface
      Src: /src/glib/gio/tests/gdbus-proxy.c:867,1
    - Dst: g_dbus_proxy_get_connection
      Src: /src/glib/gio/tests/gdbus-proxy.c:869,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 872
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 872
    functionName: proxy_ready
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_name_owner
    - test_basic
    - test_properties
    - g_test_get_filename
    - g_free
    - _g_assert_property_notify
    - kill_test_service
    - g_dbus_proxy_get_connection
    - g_dbus_proxy_new_for_bus_finish
    - g_assert_no_error
    - g_spawn_command_line_async
    - test_methods
    - g_object_unref
    - test_expected_interface
    - g_assert_null
    - g_main_loop_quit
    - g_assert_true
    - test_signals
    linkageType: ''
    returnType: void
    signature: 'static void proxy_ready (GObject *source, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-proxy.c:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 878
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 878
    functionName: fail_test
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fail_test (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-proxy.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 745
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 745
    functionName: name_disappeared_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void name_disappeared_cb (GDBusConnection *connection, const
      gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_for_bus
      Src: /src/glib/gio/tests/gdbus-proxy.c:885,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-proxy.c:898,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-proxy.c:895,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-proxy.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 899
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 899
    functionName: test_async
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_timeout_add
    - g_main_loop_run
    - g_dbus_proxy_new_for_bus
    linkageType: ''
    returnType: void
    signature: 'static void test_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_proxy_with_flags
      Src: /src/glib/gio/tests/gdbus-proxy.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: test_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - test_proxy_with_flags
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/tests/gdbus-proxy.c:384,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy.c:389,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy.c:389,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy.c:388,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy.c:387,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy.c:390,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-proxy.c:393,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-proxy.c:393,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-proxy.c:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - proxy
    - res
    - user_data
    argTypes:
    - GDBusProxy*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 397
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 397
    functionName: test_proxy_signals_on_emit_signal_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy.c
    functionUses: []
    functionsReached:
    - strlen
    - g_variant_get_type_string
    - g_dbus_proxy_call_finish
    - g_assert_cmpuint
    - g_assert_nonnull
    - g_assert_no_error
    - g_variant_unref
    - g_assert_cmpstr
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy_signals_on_emit_signal_cb (GDBusProxy *proxy,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/fileattributematcher.c:17,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/fileattributematcher.c:21,1
    - Dst: g_file_attribute_matcher_to_string
      Src: /src/glib/gio/tests/fileattributematcher.c:20,1
    - Dst: g_free
      Src: /src/glib/gio/tests/fileattributematcher.c:22,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/tests/fileattributematcher.c:19,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/tests/fileattributematcher.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 25
    functionName: test_exact
    functionSourceFile: /src/glib/gio/tests/fileattributematcher.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - g_free
    - g_file_attribute_matcher_to_string
    - g_assert_cmpstr
    - g_file_attribute_matcher_new
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_exact (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/fileattributematcher.c:58,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/fileattributematcher.c:62,1
    - Dst: g_file_attribute_matcher_to_string
      Src: /src/glib/gio/tests/fileattributematcher.c:61,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/tests/fileattributematcher.c:60,1
    - Dst: g_free
      Src: /src/glib/gio/tests/fileattributematcher.c:63,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/tests/fileattributematcher.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 66
    functionName: test_equality
    functionSourceFile: /src/glib/gio/tests/fileattributematcher.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - g_free
    - g_file_attribute_matcher_to_string
    - g_assert_cmpstr
    - g_file_attribute_matcher_new
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_equality (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/fileattributematcher.c:137,1
    - Dst: g_file_attribute_matcher_subtract
      Src: /src/glib/gio/tests/fileattributematcher.c:141,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/tests/fileattributematcher.c:139,1
    - Dst: g_file_attribute_matcher_to_string
      Src: /src/glib/gio/tests/fileattributematcher.c:142,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/tests/fileattributematcher.c:140,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/fileattributematcher.c:143,1
    - Dst: g_free
      Src: /src/glib/gio/tests/fileattributematcher.c:144,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/tests/fileattributematcher.c:145,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/tests/fileattributematcher.c:146,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/tests/fileattributematcher.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 149
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 149
    functionName: test_subtract
    functionSourceFile: /src/glib/gio/tests/fileattributematcher.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - g_free
    - g_file_attribute_matcher_to_string
    - g_assert_cmpstr
    - g_file_attribute_matcher_new
    - G_N_ELEMENTS
    - g_file_attribute_matcher_subtract
    linkageType: ''
    returnType: void
    signature: 'static void test_subtract (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/fileattributematcher.c:154,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/fileattributematcher.c:156,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/fileattributematcher.c:158,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/fileattributematcher.c:160,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/fileattributematcher.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: main
    functionSourceFile: /src/glib/gio/tests/fileattributematcher.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/appinfo-test.c:8,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appinfo-test.c:18,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/appinfo-test.c:10,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/appinfo-test.c:17,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/appinfo-test.c:16,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/appinfo-test.c:20,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/appinfo-test.c:21,1
    - Dst: atoi
      Src: /src/glib/gio/tests/appinfo-test.c:22,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/appinfo-test.c:23,1
    - Dst: getpid
      Src: /src/glib/gio/tests/appinfo-test.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 27
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/glib/gio/tests/appinfo-test.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_test_build_filename
    - g_free
    - getpid
    - g_assert
    - g_assert_cmpstr
    - atoi
    - g_getenv
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_copy_chunks_start
      Src: /src/glib/gio/tests/async-splice-output-stream.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: test_copy_chunks_threaded_input
    functionSourceFile: /src/glib/gio/tests/async-splice-output-stream.c
    functionUses: []
    functionsReached:
    - test_copy_chunks_start
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_chunks_threaded_input (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/async-splice-output-stream.c:122,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/async-splice-output-stream.c:123,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/async-splice-output-stream.c:131,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/async-splice-output-stream.c:134,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/async-splice-output-stream.c:145,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-splice-output-stream.c:140,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/async-splice-output-stream.c:155,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/async-splice-output-stream.c:165,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-splice-output-stream.c:138,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-splice-output-stream.c:154,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/async-splice-output-stream.c:139,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/async-splice-output-stream.c:157,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/async-splice-output-stream.c:161,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/async-splice-output-stream.c:178,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/async-splice-output-stream.c:133,1
    - Dst: strlen
      Src: /src/glib/gio/tests/async-splice-output-stream.c:136,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/async-splice-output-stream.c:156,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/async-splice-output-stream.c:153,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-splice-output-stream.c:160,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/async-splice-output-stream.c:168,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/async-splice-output-stream.c:177,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/async-splice-output-stream.c:179,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/async-splice-output-stream.c:181,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/async-splice-output-stream.c:182,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/async-splice-output-stream.c:116,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-splice-output-stream.c:132,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/async-splice-output-stream.c:135,1
    - Dst: g_file_read
      Src: /src/glib/gio/tests/async-splice-output-stream.c:139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/async-splice-output-stream.c:141,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/async-splice-output-stream.c:157,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 1
    argNames:
    - flags
    argTypes:
    - TestThreadedFlags
    constantsTouched: []
    func_position:
      end: 183
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 183
    functionName: test_copy_chunks_start
    functionSourceFile: /src/glib/gio/tests/async-splice-output-stream.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - G_INPUT_STREAM
    - strlen
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_memory_output_stream_new
    - g_file_set_contents
    - g_assert_no_error
    - g_cancellable_new
    - g_cancellable_cancel
    - g_main_loop_unref
    - g_file_replace
    - g_main_loop_new
    - g_file_new_tmp
    - g_output_stream_splice_async
    - g_file_get_path
    - g_clear_object
    - g_file_read
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_chunks_start (TestThreadedFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_copy_chunks_start
      Src: /src/glib/gio/tests/async-splice-output-stream.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: test_copy_chunks_threaded
    functionSourceFile: /src/glib/gio/tests/async-splice-output-stream.c
    functionUses: []
    functionsReached:
    - test_copy_chunks_start
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_chunks_threaded (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/async-splice-output-stream.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/async-splice-output-stream.c:73,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/async-splice-output-stream.c:87,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/async-splice-output-stream.c:92,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/async-splice-output-stream.c:102,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/async-splice-output-stream.c:106,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/async-splice-output-stream.c:61,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/async-splice-output-stream.c:79,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/async-splice-output-stream.c:82,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/async-splice-output-stream.c:91,1
    - Dst: g_free
      Src: /src/glib/gio/tests/async-splice-output-stream.c:83,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/async-splice-output-stream.c:91,1
    - Dst: g_free
      Src: /src/glib/gio/tests/async-splice-output-stream.c:97,1
    - Dst: g_output_stream_splice_finish
      Src: /src/glib/gio/tests/async-splice-output-stream.c:61,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-splice-output-stream.c:72,1
    - Dst: strlen
      Src: /src/glib/gio/tests/async-splice-output-stream.c:73,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/async-splice-output-stream.c:92,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/async-splice-output-stream.c:88,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/async-splice-output-stream.c:87,1
    - Dst: g_free
      Src: /src/glib/gio/tests/async-splice-output-stream.c:103,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/async-splice-output-stream.c:67,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/async-splice-output-stream.c:66,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-splice-output-stream.c:81,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/async-splice-output-stream.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 107
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 107
    functionName: test_copy_chunks_splice_cb
    functionSourceFile: /src/glib/gio/tests/async-splice-output-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_output_stream_is_closed
    - g_free
    - g_assert
    - g_error_free
    - g_assert_no_error
    - g_assert_cmpstr
    - g_output_stream_splice_finish
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_get_data
    - g_input_stream_is_closed
    - g_main_loop_quit
    - g_unlink
    - g_assert_error
    - g_file_get_contents
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_chunks_splice_cb (GObject *source, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_copy_chunks_start
      Src: /src/glib/gio/tests/async-splice-output-stream.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: test_copy_chunks_threaded_output
    functionSourceFile: /src/glib/gio/tests/async-splice-output-stream.c
    functionUses: []
    functionsReached:
    - test_copy_chunks_start
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_chunks_threaded_output (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_copy_chunks_start
      Src: /src/glib/gio/tests/async-splice-output-stream.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: test_copy_chunks
    functionSourceFile: /src/glib/gio/tests/async-splice-output-stream.c
    functionUses: []
    functionsReached:
    - test_copy_chunks_start
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_chunks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_copy_chunks_start
      Src: /src/glib/gio/tests/async-splice-output-stream.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: test_cancelled
    functionSourceFile: /src/glib/gio/tests/async-splice-output-stream.c
    functionUses: []
    functionsReached:
    - test_copy_chunks_start
    linkageType: ''
    returnType: void
    signature: 'static void test_cancelled (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/async-splice-output-stream.c:219,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/async-splice-output-stream.c:221,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/async-splice-output-stream.c:222,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/async-splice-output-stream.c:226,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/async-splice-output-stream.c:224,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/async-splice-output-stream.c:228,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/async-splice-output-stream.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/glib/gio/tests/async-splice-output-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/echo-server.c:24,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/echo-server.c:27,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/echo-server.c:25,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/echo-server.c:24,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/echo-server.c:25,1
    - Dst: strlen
      Src: /src/glib/gio/tests/echo-server.c:27,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/echo-server.c:30,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/echo-server.c:32,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - service
    - connection
    - listener
    - user_data
    argTypes:
    - GThreadedSocketService*
    - GSocketConnection*
    - GSocketListener*
    - gpointer
    constantsTouched: []
    func_position:
      end: 35
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 35
    functionName: handler
    functionSourceFile: /src/glib/gio/tests/echo-server.c
    functionUses: []
    functionsReached:
    - strlen
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    - g_output_stream_write
    - g_output_stream_write_all
    - g_input_stream_read
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handler (GThreadedSocketService *service, GSocketConnection
      *connection, GSocketListener *listener, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/echo-server.c:44,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/echo-server.c:45,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/echo-server.c:46,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/echo-server.c:48,1
    - Dst: g_threaded_socket_service_new
      Src: /src/glib/gio/tests/echo-server.c:52,1
    - Dst: g_socket_listener_add_inet_port
      Src: /src/glib/gio/tests/echo-server.c:54,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/echo-server.c:54,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/echo-server.c:59,1
    - Dst: g_print
      Src: /src/glib/gio/tests/echo-server.c:63,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/echo-server.c:65,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/echo-server.c:65,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/echo-server.c:67,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/echo-server.c:68,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/echo-server.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/glib/gio/tests/echo-server.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_signal_connect
    - g_option_context_new
    - g_option_context_parse
    - g_assert_not_reached
    - g_option_context_add_main_entries
    - g_socket_listener_add_inet_port
    - g_threaded_socket_service_new
    - G_CALLBACK
    - g_main_loop_new
    - g_main_loop_run
    - g_print
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/memory-output-stream.c:89,1
    - Dst: g_new
      Src: /src/glib/gio/tests/memory-output-stream.c:89,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:91,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:92,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:96,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:106,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:112,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:112,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:119,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:120,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:125,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:125,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/memory-output-stream.c:110,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:119,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:114,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:92,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:93,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:93,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:99,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/memory-output-stream.c:98,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:103,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:105,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:109,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:112,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:114,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:121,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:124,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:119,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:121,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:123,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:93,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/memory-output-stream.c:97,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:99,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:99,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:101,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:103,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:103,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:106,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:109,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:117,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:125,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:127,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/memory-output-stream.c:115,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:123,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:91,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:92,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:96,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:96,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:101,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:105,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:105,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:106,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/memory-output-stream.c:111,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:117,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/memory-output-stream.c:116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:121,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:109,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 128
    functionName: test_seek_fixed
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - G_IS_SEEKABLE
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_new
    - g_clear_error
    - g_assert_error
    - g_seekable_can_seek
    - g_seekable_seek
    - G_SEEKABLE
    - g_memory_output_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void test_seek_fixed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/memory-output-stream.c:184,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/memory-output-stream.c:184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:188,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:188,1
    - Dst: test_seek_resizable_stream
      Src: /src/glib/gio/tests/memory-output-stream.c:186,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:188,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:190,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/memory-output-stream.c:190,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:190,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 194
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 194
    functionName: test_seek_resizable
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_memory_output_stream_get_data_size
    - g_memory_output_stream_get_size
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - test_seek_resizable_stream
    - g_memory_output_stream_new
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_seek_resizable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/tests/memory-output-stream.c:253,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/memory-output-stream.c:249,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:254,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:259,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/memory-output-stream.c:261,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/memory-output-stream.c:262,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/memory-output-stream.c:271,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:272,1
    - Dst: GPOINTER_TO_SIZE
      Src: /src/glib/gio/tests/memory-output-stream.c:263,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:261,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/memory-output-stream.c:270,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/memory-output-stream.c:243,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/memory-output-stream.c:245,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:257,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/memory-output-stream.c:258,1
    - Dst: g_assert_cmphex
      Src: /src/glib/gio/tests/memory-output-stream.c:263,1
    - Dst: GPOINTER_TO_SIZE
      Src: /src/glib/gio/tests/memory-output-stream.c:263,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:268,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:266,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/memory-output-stream.c:265,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:257,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/memory-output-stream.c:267,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:270,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:274,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 276
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 276
    functionName: test_properties
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_data_output_stream_put_byte
    - g_object_new
    - g_memory_output_stream_get_data_size
    - g_assert_cmphex
    - g_assert
    - g_assert_no_error
    - g_memory_output_stream_get_size
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_get_data
    - GPOINTER_TO_SIZE
    - g_data_output_stream_new
    - g_test_bug
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/memory-output-stream.c:347,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/memory-output-stream.c:353,1
    - Dst: g_output_stream_writev_all
      Src: /src/glib/gio/tests/memory-output-stream.c:351,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:352,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/memory-output-stream.c:351,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/memory-output-stream.c:354,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/memory-output-stream.c:356,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:357,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/memory-output-stream.c:359,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:359,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:359,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:360,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:363,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/memory-output-stream.c:360,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/memory-output-stream.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 364
    functionName: test_writev
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_memory_output_stream_get_data_size
    - g_object_new
    - g_assert_cmpuint
    - g_assert_no_error
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_get_data
    - g_assert_cmpmem
    - g_output_stream_close
    - G_N_ELEMENTS
    - g_assert_true
    - g_output_stream_writev_all
    linkageType: ''
    returnType: void
    signature: 'static void test_writev (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/memory-output-stream.c:390,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:394,1
    - Dst: g_pollable_output_stream_writev_nonblocking
      Src: /src/glib/gio/tests/memory-output-stream.c:394,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:397,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/memory-output-stream.c:395,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:398,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/memory-output-stream.c:399,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/memory-output-stream.c:401,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:402,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/memory-output-stream.c:404,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:404,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:404,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/memory-output-stream.c:405,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:408,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:405,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/memory-output-stream.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 409
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 409
    functionName: test_writev_nonblocking
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_pollable_output_stream_writev_nonblocking
    - g_assert_cmpint
    - g_memory_output_stream_get_data_size
    - g_object_new
    - G_POLLABLE_OUTPUT_STREAM
    - g_assert_cmpuint
    - g_assert_no_error
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_get_data
    - g_assert_cmpmem
    - g_output_stream_close
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_nonblocking (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/tests/memory-output-stream.c:44,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:47,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:49,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/memory-output-stream.c:49,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:51,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:48,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:58,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/memory-output-stream.c:70,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/tests/memory-output-stream.c:72,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/memory-output-stream.c:75,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:40,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:45,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:47,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/tests/memory-output-stream.c:48,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:49,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/tests/memory-output-stream.c:55,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:58,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:72,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/memory-output-stream.c:37,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/tests/memory-output-stream.c:40,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:47,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:52,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:52,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:58,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/memory-output-stream.c:60,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/memory-output-stream.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:73,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:73,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/glib/gio/tests/memory-output-stream.c:39,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:40,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/memory-output-stream.c:41,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:52,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:56,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:60,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/memory-output-stream.c:66,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:73,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:80,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:79,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:75,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/memory-output-stream.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 81
    functionName: test_truncate
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - g_data_output_stream_put_byte
    - g_memory_output_stream_get_data_size
    - g_assert_cmpuint
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_seekable_truncate
    - g_memory_output_stream_get_data
    - g_seekable_can_truncate
    - g_memory_output_stream_new_resizable
    - G_SEEKABLE
    - g_data_output_stream_new
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_truncate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:136,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:135,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:140,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:148,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:149,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:152,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:153,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:160,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:165,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:165,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/memory-output-stream.c:167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:157,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:157,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:168,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:165,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:162,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:168,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:135,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:136,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:137,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:140,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:142,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:146,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:149,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:152,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:156,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:156,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:157,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:160,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:136,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:145,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:144,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:144,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:146,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:148,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:149,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:150,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:153,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:162,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:161,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:160,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:156,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:158,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:137,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:137,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:140,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:142,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:142,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:141,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:144,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:146,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:152,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:153,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:154,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:162,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:168,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/memory-output-stream.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 1
    argNames:
    - mo
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 169
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 169
    functionName: test_seek_resizable_stream
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - G_IS_SEEKABLE
    - g_assert
    - g_assert_no_error
    - g_clear_error
    - g_assert_error
    - g_seekable_can_seek
    - g_seekable_seek
    - G_SEEKABLE
    linkageType: ''
    returnType: void
    signature: 'static void test_seek_resizable_stream (GOutputStream *mo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/memory-output-stream.c:203,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/tests/memory-output-stream.c:207,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:208,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:208,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:212,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:219,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/memory-output-stream.c:215,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:213,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:211,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:211,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:221,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:221,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/memory-output-stream.c:206,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/memory-output-stream.c:218,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:212,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:217,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:224,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/memory-output-stream.c:224,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:226,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/glib/gio/tests/memory-output-stream.c:205,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:209,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/memory-output-stream.c:217,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/memory-output-stream.c:218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:222,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:224,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 228
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 228
    functionName: test_data_size
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - g_data_output_stream_put_byte
    - g_memory_output_stream_get_data_size
    - g_memory_output_stream_get_size
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_new_resizable
    - g_seekable_seek
    - G_SEEKABLE
    - g_data_output_stream_new
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_data_size (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/memory-output-stream.c:285,1
    - Dst: g_output_stream_write_bytes
      Src: /src/glib/gio/tests/memory-output-stream.c:290,1
    - Dst: strlen
      Src: /src/glib/gio/tests/memory-output-stream.c:289,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:291,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/memory-output-stream.c:289,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/memory-output-stream.c:293,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:294,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/glib/gio/tests/memory-output-stream.c:296,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:296,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:297,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/memory-output-stream.c:298,1
    - Dst: g_bytes_equal
      Src: /src/glib/gio/tests/memory-output-stream.c:298,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:301,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: test_write_bytes
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_bytes_equal
    - g_bytes_new_static
    - g_object_new
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_bytes_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_steal_as_bytes
    - g_output_stream_write_bytes
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void test_write_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/memory-output-stream.c:420,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/memory-output-stream.c:424,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:445,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/tests/memory-output-stream.c:429,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:433,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/memory-output-stream.c:435,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:439,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/memory-output-stream.c:442,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/memory-output-stream.c:442,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/memory-output-stream.c:441,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:444,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:441,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:427,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/tests/memory-output-stream.c:426,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:430,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/tests/memory-output-stream.c:432,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:436,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/glib/gio/tests/memory-output-stream.c:438,1
    - Dst: strlen
      Src: /src/glib/gio/tests/memory-output-stream.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 446
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 446
    functionName: test_steal_as_bytes
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - g_data_output_stream_put_string
    - g_data_output_stream_put_byte
    - g_object_new
    - g_bytes_get_data
    - g_assert_no_error
    - g_object_unref
    - g_assert_cmpstr
    - g_bytes_unref
    - g_memory_output_stream_steal_as_bytes
    - g_output_stream_close
    - g_data_output_stream_new
    - g_bytes_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_as_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/memory-output-stream.c:452,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:454,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:455,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:456,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:457,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:458,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:459,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:460,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:461,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:462,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/memory-output-stream.c:465,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-output-stream.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 466
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 466
    functionName: main
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/memory-output-stream.c:310,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/memory-output-stream.c:316,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:314,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/glib/gio/tests/memory-output-stream.c:312,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/memory-output-stream.c:313,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/memory-output-stream.c:316,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/memory-output-stream.c:316,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/memory-output-stream.c:318,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/memory-output-stream.c:319,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-output-stream.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 321
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 321
    functionName: test_write_null
    functionSourceFile: /src/glib/gio/tests/memory-output-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_memory_output_stream_get_data_size
    - g_assert_no_error
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_output_stream_close
    - g_memory_output_stream_new_resizable
    - g_output_stream_write_all
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_write_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER
      Src: /src/glib/gio/tests/async-close-output-stream.c:44,1
    - Dst: g_converter_output_stream_new
      Src: /src/glib/gio/tests/async-close-output-stream.c:47,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/async-close-output-stream.c:46,1
    - Dst: g_zlib_compressor_new
      Src: /src/glib/gio/tests/async-close-output-stream.c:44,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/async-close-output-stream.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - SetupData*
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: create_streams
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - G_CONVERTER
    - g_converter_output_stream_new
    - g_object_unref
    - g_zlib_compressor_new
    - g_memory_output_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void create_streams (SetupData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/async-close-output-stream.c:91,1
    - Dst: destroy_streams
      Src: /src/glib/gio/tests/async-close-output-stream.c:93,1
    - Dst: g_free
      Src: /src/glib/gio/tests/async-close-output-stream.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: teardown_data
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - g_main_loop_unref
    - g_free
    - destroy_streams
    linkageType: ''
    returnType: void
    signature: 'static void teardown_data (SetupData *data, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/async-close-output-stream.c:67,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/async-close-output-stream.c:75,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-close-output-stream.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - SetupData*
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: write_data_to_stream
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_all
    - g_assert_no_error
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void write_data_to_stream (SetupData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_close_finish
      Src: /src/glib/gio/tests/async-close-output-stream.c:118,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-close-output-stream.c:120,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/async-close-output-stream.c:125,1
    - Dst: compare_output
      Src: /src/glib/gio/tests/async-close-output-stream.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - data
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - SetupData*
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: async_close_ready
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_output_stream_close_finish
    - g_main_loop_quit
    - compare_output
    linkageType: ''
    returnType: void
    signature: 'static void async_close_ready (GOutputStream *stream, GAsyncResult
      *result, SetupData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepare_data
      Src: /src/glib/gio/tests/async-close-output-stream.c:166,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/tests/async-close-output-stream.c:171,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/async-close-output-stream.c:168,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/async-close-output-stream.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: test_without_flush
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - prepare_data
    - g_output_stream_close_async
    - g_test_bug
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_without_flush (SetupData *data, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_flush_finish
      Src: /src/glib/gio/tests/async-close-output-stream.c:210,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-close-output-stream.c:212,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/tests/async-close-output-stream.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - result
    - data
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - SetupData*
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: async_flush_ready
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_output_stream_close_async
    - g_output_stream_flush_finish
    linkageType: ''
    returnType: void
    signature: 'static void async_flush_ready (GOutputStream *stream, GAsyncResult
      *result, SetupData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/async-close-output-stream.c:82,1
    - Dst: create_streams
      Src: /src/glib/gio/tests/async-close-output-stream.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: setup_data
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - g_main_loop_new
    - create_streams
    linkageType: ''
    returnType: void
    signature: 'static void setup_data (SetupData *data, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/async-close-output-stream.c:56,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/async-close-output-stream.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - SetupData*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: destroy_streams
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void destroy_streams (SetupData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/async-close-output-stream.c:104,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/async-close-output-stream.c:105,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/async-close-output-stream.c:104,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/async-close-output-stream.c:105,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/async-close-output-stream.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - SetupData*
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: compare_output
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - g_memory_output_stream_get_data
    - g_memory_output_stream_get_data_size
    - g_assert_cmpmem
    - G_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void compare_output (SetupData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_data_to_stream
      Src: /src/glib/gio/tests/async-close-output-stream.c:135,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/async-close-output-stream.c:139,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-close-output-stream.c:140,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-close-output-stream.c:145,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/async-close-output-stream.c:143,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/async-close-output-stream.c:147,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/async-close-output-stream.c:147,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/async-close-output-stream.c:149,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/async-close-output-stream.c:149,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/async-close-output-stream.c:151,1
    - Dst: g_memdup2
      Src: /src/glib/gio/tests/async-close-output-stream.c:153,1
    - Dst: write_data_to_stream
      Src: /src/glib/gio/tests/async-close-output-stream.c:159,1
    - Dst: destroy_streams
      Src: /src/glib/gio/tests/async-close-output-stream.c:156,1
    - Dst: create_streams
      Src: /src/glib/gio/tests/async-close-output-stream.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - data
    - manual_flush
    argTypes:
    - SetupData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 160
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 160
    functionName: prepare_data
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - g_memory_output_stream_get_data_size
    - create_streams
    - g_assert_cmpuint
    - destroy_streams
    - g_output_stream_flush
    - g_assert_no_error
    - G_MEMORY_OUTPUT_STREAM
    - g_memdup2
    - g_memory_output_stream_get_data
    - write_data_to_stream
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void prepare_data (SetupData *data, gboolean manual_flush) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/async-close-output-stream.c:185,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/tests/async-close-output-stream.c:194,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/async-close-output-stream.c:189,1
    - Dst: prepare_data
      Src: /src/glib/gio/tests/async-close-output-stream.c:187,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/async-close-output-stream.c:191,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/async-close-output-stream.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 201
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 201
    functionName: test_with_flush
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - prepare_data
    - g_output_stream_flush
    - g_assert_no_error
    - g_output_stream_close_async
    - g_main_loop_run
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_with_flush (SetupData *data, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/async-close-output-stream.c:226,1
    - Dst: g_output_stream_flush_async
      Src: /src/glib/gio/tests/async-close-output-stream.c:231,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/async-close-output-stream.c:237,1
    - Dst: prepare_data
      Src: /src/glib/gio/tests/async-close-output-stream.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: test_with_async_flush
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - prepare_data
    - g_output_stream_flush_async
    - g_test_bug
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_with_async_flush (SetupData *data, gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/async-close-output-stream.c:246,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/async-close-output-stream.c:259,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/async-close-output-stream.c:251,1
    - Dst: g_slice_new
      Src: /src/glib/gio/tests/async-close-output-stream.c:248,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/async-close-output-stream.c:267,1
    - Dst: g_slice_free
      Src: /src/glib/gio/tests/async-close-output-stream.c:274,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/async-close-output-stream.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 277
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 277
    functionName: main
    functionSourceFile: /src/glib/gio/tests/async-close-output-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_slice_new
    - g_slice_free
    - g_test_add
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_notification_new
      Src: /src/glib/gio/tests/gnotification.c:33,1
    - Dst: g_application_send_notification
      Src: /src/glib/gio/tests/gnotification.c:38,1
    - Dst: g_application_send_notification
      Src: /src/glib/gio/tests/gnotification.c:36,1
    - Dst: g_application_withdraw_notification
      Src: /src/glib/gio/tests/gnotification.c:37,1
    - Dst: g_application_send_notification
      Src: /src/glib/gio/tests/gnotification.c:35,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/gnotification.c:40,1
    - Dst: g_notification_set_icon
      Src: /src/glib/gio/tests/gnotification.c:41,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gnotification.c:42,1
    - Dst: g_notification_set_body
      Src: /src/glib/gio/tests/gnotification.c:44,1
    - Dst: g_notification_set_priority
      Src: /src/glib/gio/tests/gnotification.c:45,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gnotification.c:54,1
    - Dst: g_notification_add_button_with_target
      Src: /src/glib/gio/tests/gnotification.c:47,1
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/tests/gnotification.c:52,1
    - Dst: g_application_get_dbus_connection
      Src: /src/glib/gio/tests/gnotification.c:52,1
    - Dst: g_application_send_notification
      Src: /src/glib/gio/tests/gnotification.c:50,1
    - Dst: g_notification_set_default_action_and_target
      Src: /src/glib/gio/tests/gnotification.c:46,1
    - Dst: g_application_send_notification
      Src: /src/glib/gio/tests/gnotification.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - application
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    constantsTouched: []
    func_position:
      end: 55
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 55
    functionName: activate_app
    functionSourceFile: /src/glib/gio/tests/gnotification.c
    functionUses: []
    functionsReached:
    - g_application_send_notification
    - g_notification_add_button_with_target
    - g_notification_new
    - g_application_get_dbus_connection
    - g_dbus_connection_flush_sync
    - g_notification_set_icon
    - g_object_unref
    - g_themed_icon_new
    - g_application_withdraw_notification
    - g_notification_set_priority
    - g_notification_set_default_action_and_target
    - g_notification_set_body
    linkageType: ''
    returnType: void
    signature: 'static void activate_app (GApplication *application, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:107,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - server
    - app_id
    - notification_id
    - user_data
    argTypes:
    - GNotificationServer*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: notification_removed
    functionSourceFile: /src/glib/gio/tests/gnotification.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void notification_removed (GNotificationServer *server, const
      gchar *app_id, const gchar *notification_id, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gnotification.c:146,1
    - Dst: g_notification_server_new
      Src: /src/glib/gio/tests/gnotification.c:150,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gnotification.c:151,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gnotification.c:151,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gnotification.c:148,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gnotification.c:152,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gnotification.c:152,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gnotification.c:153,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gnotification.c:153,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gnotification.c:155,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gnotification.c:161,1
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gnotification.c:162,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gnotification.c:157,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gnotification.c:158,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gnotification.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: basic
    functionSourceFile: /src/glib/gio/tests/gnotification.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_assert_cmpint
    - g_notification_server_new
    - g_object_unref
    - session_bus_up
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_main_loop_run
    - session_bus_stop
    linkageType: ''
    returnType: void
    signature: 'static void basic (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:67,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:74,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gnotification.c:73,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:72,1
    - Dst: g_variant_lookup
      Src: /src/glib/gio/tests/gnotification.c:73,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:78,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:82,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:86,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gnotification.c:90,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/tests/gnotification.c:90,1
    - Dst: g_notification_server_stop
      Src: /src/glib/gio/tests/gnotification.c:92,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 5
    argNames:
    - server
    - app_id
    - notification_id
    - notification
    - user_data
    argTypes:
    - GNotificationServer*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 97
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 97
    functionName: notification_received
    functionSourceFile: /src/glib/gio/tests/gnotification.c
    functionUses: []
    functionsReached:
    - g_variant_lookup
    - g_assert
    - g_assert_cmpstr
    - g_dbus_is_guid
    - g_notification_server_stop
    linkageType: ''
    returnType: void
    signature: 'static void notification_received (GNotificationServer *server, const
      gchar *app_id, const gchar *notification_id, GVariant *notification, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION_SERVER
      Src: /src/glib/gio/tests/gnotification.c:119,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gnotification.c:125,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gnotification.c:126,1
    - Dst: g_notification_server_get_is_running
      Src: /src/glib/gio/tests/gnotification.c:121,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gnotification.c:126,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gnotification.c:128,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gnotification.c:130,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gnotification.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: server_notify_is_running
    functionSourceFile: /src/glib/gio/tests/gnotification.c
    functionUses: []
    functionsReached:
    - g_notification_server_get_is_running
    - g_signal_connect
    - G_NOTIFICATION_SERVER
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_main_loop_quit
    - g_application_new
    linkageType: ''
    returnType: void
    signature: 'static void server_notify_is_running (GObject *object, GParamSpec
      *pspec, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_notification_new
      Src: /src/glib/gio/tests/gnotification.c:195,1
    - Dst: g_notification_set_body
      Src: /src/glib/gio/tests/gnotification.c:198,1
    - Dst: g_notification_set_title
      Src: /src/glib/gio/tests/gnotification.c:197,1
    - Dst: g_notification_set_category
      Src: /src/glib/gio/tests/gnotification.c:199,1
    - Dst: g_notification_set_category
      Src: /src/glib/gio/tests/gnotification.c:204,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:211,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:215,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/gnotification.c:213,1
    - Dst: g_themed_icon_get_names
      Src: /src/glib/gio/tests/gnotification.c:213,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:222,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gnotification.c:227,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gnotification.c:202,1
    - Dst: g_notification_add_button
      Src: /src/glib/gio/tests/gnotification.c:205,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/tests/gnotification.c:212,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gnotification.c:220,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:226,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:227,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gnotification.c:229,1
    - Dst: g_notification_set_icon
      Src: /src/glib/gio/tests/gnotification.c:201,1
    - Dst: g_notification_set_priority
      Src: /src/glib/gio/tests/gnotification.c:203,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:214,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gnotification.c:212,1
    - Dst: g_notification_set_default_action
      Src: /src/glib/gio/tests/gnotification.c:206,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:223,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/gnotification.c:200,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:210,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gnotification.c:216,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gnotification.c:217,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:218,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gnotification.c:224,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gnotification.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 230
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 230
    functionName: test_properties
    functionSourceFile: /src/glib/gio/tests/gnotification.c
    functionUses: []
    functionsReached:
    - g_themed_icon_get_names
    - g_notification_set_title
    - g_assert_cmpint
    - g_notification_new
    - g_assert
    - g_notification_set_icon
    - g_object_unref
    - g_assert_cmpstr
    - g_themed_icon_new
    - g_notification_add_button
    - G_THEMED_ICON
    - G_IS_THEMED_ICON
    - g_assert_null
    - g_notification_set_priority
    - g_notification_set_category
    - g_variant_get_string
    - g_notification_set_default_action
    - g_notification_set_body
    linkageType: ''
    returnType: void
    signature: 'static void test_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gnotification.c:234,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gnotification.c:236,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gnotification.c:237,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gnotification.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gnotification.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_param_value_defaults
      Src: /src/glib/gio/tests/defaultvalue.c:30,1
    - Dst: g_strdup_value_contents
      Src: /src/glib/gio/tests/defaultvalue.c:36,1
    - Dst: g_strdup_value_contents
      Src: /src/glib/gio/tests/defaultvalue.c:35,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gio/tests/defaultvalue.c:33,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/defaultvalue.c:38,1
    - Dst: g_type_name
      Src: /src/glib/gio/tests/defaultvalue.c:40,1
    - Dst: g_assertion_message
      Src: /src/glib/gio/tests/defaultvalue.c:43,1
    - Dst: g_free
      Src: /src/glib/gio/tests/defaultvalue.c:44,1
    - Dst: g_free
      Src: /src/glib/gio/tests/defaultvalue.c:46,1
    - Dst: g_free
      Src: /src/glib/gio/tests/defaultvalue.c:47,1
    - Dst: g_value_unset
      Src: /src/glib/gio/tests/defaultvalue.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - output
    - pspec
    - value
    argTypes:
    - char*
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 49
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 49
    functionName: check_property
    functionSourceFile: /src/glib/gio/tests/defaultvalue.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_free
    - g_strdup_value_contents
    - g_type_name
    - g_strdup_printf
    - g_assertion_message
    - g_param_value_set_default
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: "static void check_property (const char *output,\t GParamSpec *pspec,\t\tGValue
      *value) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gio/tests/defaultvalue.c:192,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/defaultvalue.c:198,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/defaultvalue.c:196,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/defaultvalue.c:193,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/defaultvalue.c:203,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/defaultvalue.c:204,1
    - Dst: list_all_types
      Src: /src/glib/gio/tests/defaultvalue.c:206,1
    - Dst: G_TYPE_IS_CLASSED
      Src: /src/glib/gio/tests/defaultvalue.c:211,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gio/tests/defaultvalue.c:214,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:217,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/defaultvalue.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/tests/defaultvalue.c:223,1
    - Dst: g_type_name
      Src: /src/glib/gio/tests/defaultvalue.c:221,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/defaultvalue.c:222,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/defaultvalue.c:228,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/defaultvalue.c:226,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/defaultvalue.c:229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 232
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/glib/gio/tests/defaultvalue.c
    functionUses: []
    functionsReached:
    - g_free
    - list_all_types
    - G_TYPE_IS_ABSTRACT
    - g_test_add_data_func
    - g_test_dbus_up
    - g_object_unref
    - g_strdup_printf
    - g_type_name
    - g_test_run
    - g_test_init
    - g_test_dbus_new
    - g_type_is_a
    - g_test_dbus_down
    - g_setenv
    - G_TYPE_IS_CLASSED
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/defaultvalue.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: list_all_types
    functionSourceFile: /src/glib/gio/tests/defaultvalue.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: GType*
    signature: 'static const GType *list_all_types (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:62,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:72,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:76,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:84,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:80,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:93,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:100,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/defaultvalue.c:103,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/tests/defaultvalue.c:107,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/tests/defaultvalue.c:111,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/defaultvalue.c:156,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/defaultvalue.c:163,1
    - Dst: check_property
      Src: /src/glib/gio/tests/defaultvalue.c:159,1
    - Dst: g_object_class_list_properties
      Src: /src/glib/gio/tests/defaultvalue.c:122,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/defaultvalue.c:64,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:69,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:73,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:81,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:77,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:85,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/defaultvalue.c:108,1
    - Dst: G_IS_INITABLE
      Src: /src/glib/gio/tests/defaultvalue.c:110,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:134,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:141,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gio/tests/defaultvalue.c:157,1
    - Dst: g_object_get_property
      Src: /src/glib/gio/tests/defaultvalue.c:158,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/tests/defaultvalue.c:164,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:148,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:70,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:74,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:82,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:78,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:86,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/defaultvalue.c:89,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:94,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/defaultvalue.c:96,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:101,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/defaultvalue.c:114,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/defaultvalue.c:135,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/defaultvalue.c:142,1
    - Dst: g_free
      Src: /src/glib/gio/tests/defaultvalue.c:162,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/defaultvalue.c:137,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/defaultvalue.c:149,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/defaultvalue.c:144,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/defaultvalue.c:151,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:68,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:71,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:75,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:79,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:83,1
    - Dst: g_initable_init
      Src: /src/glib/gio/tests/defaultvalue.c:111,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/defaultvalue.c:113,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/tests/defaultvalue.c:115,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/defaultvalue.c:119,1
    - Dst: g_object_ref_sink
      Src: /src/glib/gio/tests/defaultvalue.c:120,1
    - Dst: g_value_unset
      Src: /src/glib/gio/tests/defaultvalue.c:160,1
    - Dst: g_test_verbose
      Src: /src/glib/gio/tests/defaultvalue.c:155,1
    - Dst: g_value_init
      Src: /src/glib/gio/tests/defaultvalue.c:157,1
    - Dst: g_type_name
      Src: /src/glib/gio/tests/defaultvalue.c:156,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 107
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 165
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 165
    functionName: test_type
    functionSourceFile: /src/glib/gio/tests/defaultvalue.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_test_verbose
    - check_property
    - g_object_class_list_properties
    - g_value_init
    - G_INITABLE
    - g_object_ref_sink
    - g_type_class_ref
    - g_object_unref
    - g_test_skip
    - g_type_name
    - g_type_is_a
    - strcmp
    - g_printerr
    - g_test_message
    - G_IS_INITABLE
    - g_object_get_property
    - g_free
    - g_initable_init
    - g_type_class_unref
    - g_value_unset
    - G_PARAM_SPEC_VALUE_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_type (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_buffered_output_stream_new_sized
      Src: /src/glib/gio/tests/buffered-output-stream.c:53,1
    - Dst: g_buffered_output_stream_set_auto_grow
      Src: /src/glib/gio/tests/buffered-output-stream.c:55,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:68,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:68,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:71,1
    - Dst: g_buffered_output_stream_get_buffer_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:73,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:74,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:74,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:79,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:81,1
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:55,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/buffered-output-stream.c:57,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:59,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:61,1
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:67,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:61,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:70,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:77,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-output-stream.c:79,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/buffered-output-stream.c:52,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/buffered-output-stream.c:52,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/tests/buffered-output-stream.c:61,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:65,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:67,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:64,1
    - Dst: g_buffered_output_stream_get_buffer_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:67,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/buffered-output-stream.c:64,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:68,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/buffered-output-stream.c:70,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/buffered-output-stream.c:76,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:73,1
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:73,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:74,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:76,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:79,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 83
    functionName: test_grow
    functionSourceFile: /src/glib/gio/tests/buffered-output-stream.c
    functionUses: []
    functionsReached:
    - g_output_stream_write
    - g_buffered_output_stream_get_buffer_size
    - g_assert_cmpint
    - g_malloc0
    - g_output_stream_flush
    - g_buffered_output_stream_new_sized
    - g_object_unref
    - g_buffered_output_stream_set_auto_grow
    - g_seekable_can_seek
    - g_memory_output_stream_new
    - g_memory_output_stream_get_data_size
    - g_assert_no_error
    - G_MEMORY_OUTPUT_STREAM
    - g_assert
    - G_BUFFERED_OUTPUT_STREAM
    - g_assert_cmpstr
    - g_memory_output_stream_get_data
    - G_SEEKABLE
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_grow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:136,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:141,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:141,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:152,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:166,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-output-stream.c:177,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:192,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:200,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:157,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/buffered-output-stream.c:170,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:164,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:186,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:197,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:199,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:203,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:212,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:203,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:220,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:142,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:148,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:165,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:173,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:188,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-output-stream.c:196,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:199,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:205,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:222,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:165,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:167,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:183,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:136,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:142,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:207,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:216,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:218,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/buffered-output-stream.c:130,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:202,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:217,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:219,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:221,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:224,1
    - Dst: g_buffered_output_stream_new_sized
      Src: /src/glib/gio/tests/buffered-output-stream.c:131,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/buffered-output-stream.c:130,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:141,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-output-stream.c:145,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:148,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/buffered-output-stream.c:160,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:171,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:169,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:201,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:156,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:185,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:201,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:206,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:166,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:146,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:148,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:168,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:178,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:180,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/buffered-output-stream.c:189,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:225,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:136,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/buffered-output-stream.c:137,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:147,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:181,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:193,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:193,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:200,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:204,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:212,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:184,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:152,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:205,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:220,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:226,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:167,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:181,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:157,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:174,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:186,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:198,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:202,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:207,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:225,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:163,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:161,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:140,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/buffered-output-stream.c:153,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:188,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:190,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/buffered-output-stream.c:208,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:222,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:151,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:157,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:169,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:164,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:183,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:162,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:191,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:199,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/buffered-output-stream.c:215,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:219,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:180,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:185,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:193,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:206,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:224,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:226,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:172,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:130,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:149,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:150,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:212,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:221,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:139,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:150,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:154,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/buffered-output-stream.c:174,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:209,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:223,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:211,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 163
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 230
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 230
    functionName: test_seek
    functionSourceFile: /src/glib/gio/tests/buffered-output-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - g_memory_output_stream_get_data_size
    - g_malloc0
    - g_assert
    - g_output_stream_flush
    - g_buffered_output_stream_new_sized
    - g_assert_no_error
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_memory_output_stream_get_data
    - g_seekable_seek
    - G_SEEKABLE
    - g_output_stream_write_all
    - G_OUTPUT_STREAM
    - g_memory_output_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void test_seek (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_buffered_output_stream_get_auto_grow
      Src: /src/glib/gio/tests/buffered-output-stream.c:14,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:20,1
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:20,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:26,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:26,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:28,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/buffered-output-stream.c:28,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:31,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:31,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:33,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:38,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/buffered-output-stream.c:10,1
    - Dst: g_buffered_output_stream_new
      Src: /src/glib/gio/tests/buffered-output-stream.c:11,1
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:13,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:14,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:16,1
    - Dst: g_buffered_output_stream_get_buffer_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:20,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/buffered-output-stream.c:23,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:24,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/buffered-output-stream.c:32,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:34,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:34,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:36,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:13,1
    - Dst: g_buffered_output_stream_get_buffer_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:13,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/buffered-output-stream.c:10,1
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:16,1
    - Dst: g_buffered_output_stream_set_buffer_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:19,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:23,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:29,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:32,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:34,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:39,1
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:14,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/buffered-output-stream.c:15,1
    - Dst: g_buffered_output_stream_get_auto_grow
      Src: /src/glib/gio/tests/buffered-output-stream.c:16,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/buffered-output-stream.c:17,1
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:19,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:26,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:31,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/buffered-output-stream.c:36,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 40
    functionName: test_write
    functionSourceFile: /src/glib/gio/tests/buffered-output-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_memory_output_stream_get_data_size
    - g_buffered_output_stream_new
    - g_malloc0
    - g_assert
    - G_BUFFERED_OUTPUT_STREAM
    - g_buffered_output_stream_get_auto_grow
    - g_object_set
    - g_assert_no_error
    - g_output_stream_flush
    - G_MEMORY_OUTPUT_STREAM
    - g_assert_cmpstr
    - g_object_unref
    - g_memory_output_stream_get_data
    - g_output_stream_write
    - g_buffered_output_stream_set_buffer_size
    - g_memory_output_stream_new
    - g_buffered_output_stream_get_buffer_size
    linkageType: ''
    returnType: void
    signature: 'static void test_write (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/tests/buffered-output-stream.c:252,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:255,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:263,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/buffered-output-stream.c:266,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:275,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:284,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:286,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/tests/buffered-output-stream.c:291,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:295,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:282,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:295,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:306,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:305,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:283,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:300,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/buffered-output-stream.c:247,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:248,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/buffered-output-stream.c:248,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:255,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:264,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/buffered-output-stream.c:259,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:261,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:268,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:270,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:271,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:313,1
    - Dst: g_memory_output_stream_get_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:294,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:308,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:293,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:294,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/buffered-output-stream.c:262,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:270,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:272,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:276,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:282,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:288,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:292,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:297,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:309,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:310,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:312,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/buffered-output-stream.c:296,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:307,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:249,1
    - Dst: g_buffered_output_stream_new_sized
      Src: /src/glib/gio/tests/buffered-output-stream.c:249,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/buffered-output-stream.c:250,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:252,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:256,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:256,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:260,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:271,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:274,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/tests/buffered-output-stream.c:279,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:299,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:298,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/tests/buffered-output-stream.c:303,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:307,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:285,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/buffered-output-stream.c:283,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/buffered-output-stream.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 314
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 314
    functionName: test_truncate
    functionSourceFile: /src/glib/gio/tests/buffered-output-stream.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_memory_output_stream_get_data_size
    - g_malloc0
    - g_assert
    - g_output_stream_flush
    - g_buffered_output_stream_new_sized
    - g_memory_output_stream_get_size
    - g_assert_no_error
    - g_object_unref
    - G_MEMORY_OUTPUT_STREAM
    - g_seekable_truncate
    - g_memory_output_stream_get_data
    - g_seekable_can_truncate
    - G_SEEKABLE
    - g_output_stream_write_all
    - G_OUTPUT_STREAM
    - g_memory_output_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void test_truncate(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filter_output_stream_get_close_base_stream
      Src: /src/glib/gio/tests/buffered-output-stream.c:95,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:103,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:113,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:100,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/buffered-output-stream.c:105,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:108,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/buffered-output-stream.c:111,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/buffered-output-stream.c:92,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/buffered-output-stream.c:92,1
    - Dst: g_buffered_output_stream_new
      Src: /src/glib/gio/tests/buffered-output-stream.c:93,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:95,1
    - Dst: g_buffered_output_stream_new
      Src: /src/glib/gio/tests/buffered-output-stream.c:106,1
    - Dst: g_filter_output_stream_set_close_base_stream
      Src: /src/glib/gio/tests/buffered-output-stream.c:108,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:111,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:112,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/buffered-output-stream.c:113,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:116,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/buffered-output-stream.c:95,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/buffered-output-stream.c:98,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/buffered-output-stream.c:98,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/buffered-output-stream.c:99,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/buffered-output-stream.c:105,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/buffered-output-stream.c:100,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/buffered-output-stream.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: test_close
    functionSourceFile: /src/glib/gio/tests/buffered-output-stream.c
    functionUses: []
    functionsReached:
    - g_output_stream_is_closed
    - g_buffered_output_stream_new
    - g_malloc0
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_filter_output_stream_set_close_base_stream
    - G_FILTER_OUTPUT_STREAM
    - g_output_stream_close
    - g_filter_output_stream_get_close_base_stream
    - g_memory_output_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void test_close (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/buffered-output-stream.c:319,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-output-stream.c:321,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-output-stream.c:324,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-output-stream.c:322,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-output-stream.c:323,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/buffered-output-stream.c:325,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/buffered-output-stream.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: main
    functionSourceFile: /src/glib/gio/tests/buffered-output-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestFilterInputStreamClass*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: test_filter_input_stream_class_init
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_filter_input_stream_class_init (TestFilterInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:83,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:94,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:86,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:86,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/filter-streams.c:102,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/filter-streams.c:106,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:112,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/filter-streams.c:72,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/filter-streams.c:74,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:83,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:85,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:93,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:99,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/filter-streams.c:108,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:112,1
    - Dst: memset
      Src: /src/glib/gio/tests/filter-streams.c:105,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/filter-streams.c:73,1
    - Dst: g_filter_input_stream_get_base_stream
      Src: /src/glib/gio/tests/filter-streams.c:82,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:85,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:87,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/filter-streams.c:89,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:87,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:95,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:100,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:100,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/filter-streams.c:103,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/filter-streams.c:107,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:82,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/filter-streams.c:78,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:82,1
    - Dst: g_filter_input_stream_get_base_stream
      Src: /src/glib/gio/tests/filter-streams.c:83,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:97,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:99,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:110,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 115
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 115
    functionName: test_input_filter
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached:
    - g_object_new
    - G_FILTER_INPUT_STREAM
    - g_object_get
    - g_assert
    - g_input_stream_skip
    - g_memory_input_stream_new_from_data
    - g_assert_no_error
    - g_object_unref
    - g_assert_cmpstr
    - memset
    - g_input_stream_is_closed
    - g_input_stream_read_all
    - g_test_bug
    - g_filter_input_stream_get_base_stream
    linkageType: ''
    returnType: void
    signature: 'static void test_input_filter (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:131,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:131,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:134,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:140,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:134,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:147,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/filter-streams.c:122,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:136,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:135,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:140,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:145,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:132,1
    - Dst: g_filter_output_stream_get_base_stream
      Src: /src/glib/gio/tests/filter-streams.c:132,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:132,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:135,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:145,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/filter-streams.c:123,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/filter-streams.c:127,1
    - Dst: g_filter_output_stream_get_base_stream
      Src: /src/glib/gio/tests/filter-streams.c:131,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:138,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:136,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:141,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 148
    functionName: test_output_filter
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached:
    - g_output_stream_is_closed
    - g_filter_output_stream_get_base_stream
    - g_object_new
    - g_assert
    - g_object_unref
    - G_FILTER_OUTPUT_STREAM
    - g_memory_output_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void test_output_filter (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:173,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:178,1
    - Dst: g_input_stream_close_finish
      Src: /src/glib/gio/tests/filter-streams.c:177,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:174,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:175,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/filter-streams.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: in_cb
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_input_stream_close_finish
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void in_cb (GObject *object, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:285,1
    - Dst: g_output_stream_close_finish
      Src: /src/glib/gio/tests/filter-streams.c:289,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:290,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:287,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:286,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/filter-streams.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 294
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 294
    functionName: out_cb
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_output_stream_close_finish
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void out_cb (GObject *object, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - TestFilterInputStream*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: test_filter_input_stream_init
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_filter_input_stream_init (TestFilterInputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - TestFilterOutputStream*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: test_filter_output_stream_init
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_filter_output_stream_init (TestFilterOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/filter-streams.c:162,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/filter-streams.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: return_result_cb
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void return_result_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/filter-streams.c:192,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/filter-streams.c:199,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:203,1
    - Dst: g_filter_input_stream_get_base_stream
      Src: /src/glib/gio/tests/filter-streams.c:204,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/filter-streams.c:218,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/filter-streams.c:222,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/filter-streams.c:244,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/filter-streams.c:236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:211,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:231,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/filter-streams.c:236,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:253,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:248,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:273,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/filter-streams.c:211,1
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/filter-streams.c:221,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/filter-streams.c:234,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:203,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/filter-streams.c:223,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:241,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:239,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:256,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:257,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:268,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/filter-streams.c:275,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/filter-streams.c:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:216,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/filter-streams.c:225,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/filter-streams.c:233,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:271,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/tests/filter-streams.c:262,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:240,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:266,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:255,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:268,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:236,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:274,1
    - Dst: g_filter_input_stream_get_base_stream
      Src: /src/glib/gio/tests/filter-streams.c:203,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/filter-streams.c:195,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/filter-streams.c:225,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:241,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:264,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/tests/filter-streams.c:246,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/filter-streams.c:231,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/filter-streams.c:214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:221,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:250,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:253,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:252,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/filter-streams.c:265,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/filter-streams.c:228,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/filter-streams.c:230,1
    - Dst: g_free
      Src: /src/glib/gio/tests/filter-streams.c:270,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/filter-streams.c:212,1
    - Dst: memset
      Src: /src/glib/gio/tests/filter-streams.c:207,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/filter-streams.c:216,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/filter-streams.c:220,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:269,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/filter-streams.c:213,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:257,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:225,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/filter-streams.c:260,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/filter-streams.c:232,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/filter-streams.c:249,1
    - Dst: memset
      Src: /src/glib/gio/tests/filter-streams.c:227,1
    - Dst: g_free
      Src: /src/glib/gio/tests/filter-streams.c:254,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:239,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/filter-streams.c:194,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:204,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:273,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:256,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:204,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/filter-streams.c:216,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:240,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:269,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/filter-streams.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 101
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 276
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 276
    functionName: test_input_async
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_main_loop_run
    - g_assert_cmpint
    - G_FILTER_INPUT_STREAM
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - memset
    - g_input_stream_is_closed
    - g_filter_input_stream_get_base_stream
    - g_seekable_tell
    - g_assert_no_error
    - g_input_stream_close_async
    - g_main_loop_unref
    - g_main_loop_new
    - g_malloc
    - g_free
    - g_input_stream_skip_finish
    - g_assert
    - g_clear_object
    - g_input_stream_read_async
    - g_assert_cmpstr
    - g_input_stream_read_finish
    - G_SEEKABLE
    - g_input_stream_skip_async
    linkageType: ''
    returnType: void
    signature: 'static void test_input_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filter_output_stream_get_base_stream
      Src: /src/glib/gio/tests/filter-streams.c:315,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/filter-streams.c:320,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/filter-streams.c:318,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:321,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:330,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/filter-streams.c:331,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:334,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:336,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/filter-streams.c:338,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:359,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:355,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:372,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/filter-streams.c:368,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:360,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/tests/filter-streams.c:365,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:314,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/filter-streams.c:305,1
    - Dst: g_filter_output_stream_get_base_stream
      Src: /src/glib/gio/tests/filter-streams.c:314,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:315,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/tests/filter-streams.c:321,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/filter-streams.c:329,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/filter-streams.c:332,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/filter-streams.c:339,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:342,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:344,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/filter-streams.c:347,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:356,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:358,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:372,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:374,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/filter-streams.c:363,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:343,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:339,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:376,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:359,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/filter-streams.c:314,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/filter-streams.c:322,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/filter-streams.c:325,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/tests/filter-streams.c:330,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/filter-streams.c:334,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/filter-streams.c:336,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/filter-streams.c:336,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:343,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:351,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:342,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/filter-streams.c:352,1
    - Dst: g_free
      Src: /src/glib/gio/tests/filter-streams.c:373,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/filter-streams.c:377,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:344,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/tests/filter-streams.c:349,1
    - Dst: g_free
      Src: /src/glib/gio/tests/filter-streams.c:357,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/filter-streams.c:303,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/filter-streams.c:306,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/filter-streams.c:310,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:315,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/filter-streams.c:325,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/filter-streams.c:323,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/filter-streams.c:327,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/filter-streams.c:334,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/filter-streams.c:337,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/filter-streams.c:339,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:353,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:356,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:376,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/filter-streams.c:378,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:369,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:355,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:371,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:367,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/filter-streams.c:371,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/filter-streams.c:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 96
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 379
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 379
    functionName: test_output_async
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_output_stream_close_async
    - g_main_loop_run
    - g_output_stream_write
    - g_assert_cmpint
    - g_output_stream_is_closed
    - g_object_unref
    - g_memory_output_stream_new
    - g_output_stream_write_async
    - g_seekable_tell
    - g_filter_output_stream_get_base_stream
    - g_output_stream_write_finish
    - g_memory_output_stream_get_data_size
    - g_assert_no_error
    - G_MEMORY_OUTPUT_STREAM
    - g_main_loop_unref
    - g_main_loop_new
    - g_malloc
    - g_free
    - g_assert
    - g_clear_object
    - g_assert_cmpstr
    - G_FILTER_OUTPUT_STREAM
    - g_memory_output_stream_get_data
    - G_SEEKABLE
    linkageType: ''
    returnType: void
    signature: 'static void test_output_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/filter-streams.c:384,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/filter-streams.c:386,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/filter-streams.c:388,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/filter-streams.c:389,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/filter-streams.c:387,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/filter-streams.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: main
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestFilterOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: test_filter_output_stream_class_init
    functionSourceFile: /src/glib/gio/tests/filter-streams.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_filter_output_stream_class_init (TestFilterOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-introspection.c:51,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-introspection.c:62,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:59,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:64,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:77,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/tests/gdbus-introspection.c:75,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:81,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:93,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-introspection.c:98,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-introspection.c:100,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-introspection.c:60,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-introspection.c:63,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gdbus-introspection.c:68,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gdbus-introspection.c:71,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/tests/gdbus-introspection.c:73,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:76,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:80,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:85,1
    - Dst: g_dbus_interface_info_lookup_signal
      Src: /src/glib/gio/tests/gdbus-introspection.c:86,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:88,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:91,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-introspection.c:58,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:69,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:72,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:78,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:92,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:95,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-introspection.c:97,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:74,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:79,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:82,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gdbus-introspection.c:84,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:87,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:89,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 101
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 101
    functionName: test_introspection
    functionSourceFile: /src/glib/gio/tests/gdbus-introspection.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_sync
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_assert_no_error
    - g_dbus_node_info_lookup_interface
    - g_assert_cmpstr
    - g_variant_get
    - g_dbus_interface_info_lookup_signal
    - g_dbus_node_info_unref
    - g_variant_unref
    - g_dbus_interface_info_lookup_method
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void test_introspection (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-introspection.c:111,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-introspection.c:114,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:127,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-introspection.c:124,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-introspection.c:116,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-introspection.c:127,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-introspection.c:127,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-introspection.c:129,1
    - Dst: test_introspection
      Src: /src/glib/gio/tests/gdbus-introspection.c:131,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-introspection.c:133,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-introspection.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 135
    functionName: test_introspection_parser
    functionSourceFile: /src/glib/gio/tests/gdbus-introspection.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_sync
    - g_test_get_filename
    - _g_assert_property_notify
    - g_assert
    - g_assert_no_error
    - g_bus_get_sync
    - g_spawn_command_line_async
    - g_object_unref
    - test_introspection
    linkageType: ''
    returnType: void
    signature: 'static void test_introspection_parser (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-introspection.c:245,1
    - Dst: g_dbus_interface_info_lookup_signal
      Src: /src/glib/gio/tests/gdbus-introspection.c:249,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gdbus-introspection.c:248,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:250,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-introspection.c:246,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:253,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/tests/gdbus-introspection.c:254,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:255,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:257,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:258,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-introspection.c:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 261
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 261
    functionName: test_default_direction
    functionSourceFile: /src/glib/gio/tests/gdbus-introspection.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_assert_no_error
    - g_dbus_node_info_lookup_interface
    - g_assert_cmpstr
    - g_dbus_interface_info_lookup_signal
    - g_dbus_node_info_unref
    - g_dbus_interface_info_lookup_method
    linkageType: ''
    returnType: void
    signature: 'static void test_default_direction (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-introspection.c:309,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-introspection.c:316,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-introspection.c:314,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-introspection.c:312,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-introspection.c:315,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-introspection.c:317,1
    - Dst: session_bus_run
      Src: /src/glib/gio/tests/gdbus-introspection.c:319,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-introspection.c:321,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-introspection.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 325
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 325
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-introspection.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_main_loop_unref
    - g_test_init
    - g_main_context_iteration
    - g_main_loop_new
    - session_bus_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-introspection.c:295,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-introspection.c:296,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-introspection.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 299
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 299
    functionName: test_extra_data
    functionSourceFile: /src/glib/gio/tests/gdbus-introspection.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_dbus_node_info_new_for_xml
    - g_dbus_node_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_extra_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:181,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/tests/gdbus-introspection.c:184,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:185,1
    - Dst: g_dbus_interface_info_lookup_signal
      Src: /src/glib/gio/tests/gdbus-introspection.c:194,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:193,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:192,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:200,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-introspection.c:204,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-introspection.c:212,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-introspection.c:213,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:182,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-introspection.c:177,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:187,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:197,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:211,1
    - Dst: g_dbus_node_info_generate_xml
      Src: /src/glib/gio/tests/gdbus-introspection.c:209,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:183,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-introspection.c:185,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:191,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:198,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:188,1
    - Dst: g_dbus_interface_info_lookup_property
      Src: /src/glib/gio/tests/gdbus-introspection.c:199,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-introspection.c:201,1
    - Dst: g_dbus_node_info_generate_xml
      Src: /src/glib/gio/tests/gdbus-introspection.c:205,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-introspection.c:207,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-introspection.c:208,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-introspection.c:176,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gdbus-introspection.c:179,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-introspection.c:196,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-introspection.c:189,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-introspection.c:216,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-introspection.c:215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 217
    functionName: test_generate
    functionSourceFile: /src/glib/gio/tests/gdbus-introspection.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_string_new
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_assert_no_error
    - g_dbus_node_info_lookup_interface
    - g_assert_cmpstr
    - g_dbus_annotation_info_lookup
    - g_dbus_interface_info_lookup_signal
    - g_dbus_node_info_unref
    - g_dbus_node_info_generate_xml
    - g_dbus_interface_info_lookup_method
    - g_string_free
    - g_dbus_interface_info_lookup_property
    linkageType: ''
    returnType: void
    signature: 'static void test_generate (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int_range
      Src: /src/glib/gio/tests/sleepy-stream.c:27,1
    - Dst: g_strndup
      Src: /src/glib/gio/tests/sleepy-stream.c:57,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gio/tests/sleepy-stream.c:31,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/sleepy-stream.c:54,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 58
    functionName: cook_piece
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_assert_cmpint
    - g_test_rand_int_range
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *cook_piece (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/tests/sleepy-stream.c:106,1
    - Dst: strlen
      Src: /src/glib/gio/tests/sleepy-stream.c:117,1
    - Dst: memcpy
      Src: /src/glib/gio/tests/sleepy-stream.c:118,1
    - Dst: MIN
      Src: /src/glib/gio/tests/sleepy-stream.c:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 5
    argNames:
    - stream
    - buffer
    - length
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 126
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 126
    functionName: sleepy_stream_read
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - MIN
    - strlen
    linkageType: ''
    returnType: gssize
    signature: 'static gssize sleepy_stream_read (GInputStream *stream, void *buffer,
      gsize length, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/sleepy-stream.c:141,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/sleepy-stream.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: sleepy_stream_finalize
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void sleepy_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/sleepy-stream.c:160,1
    - Dst: sleepy_stream_get_type
      Src: /src/glib/gio/tests/sleepy-stream.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: sleepy_stream_new
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - sleepy_stream_get_type
    - g_object_new
    linkageType: ''
    returnType: SleepyStream*
    signature: 'static SleepyStream *sleepy_stream_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/gio/tests/sleepy-stream.c:195,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/tests/sleepy-stream.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - str
    - stream
    argTypes:
    - GString*
    - SleepyStream*
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: build_comparison
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_string_append_c
    linkageType: ''
    returnType: void
    signature: 'static void build_comparison (GString *str, SleepyStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/sleepy-stream.c:241,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/sleepy-stream.c:249,1
    - Dst: g_data_input_stream_read_line_finish
      Src: /src/glib/gio/tests/sleepy-stream.c:243,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/sleepy-stream.c:241,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/sleepy-stream.c:247,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/sleepy-stream.c:253,1
    - Dst: strlen
      Src: /src/glib/gio/tests/sleepy-stream.c:253,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/sleepy-stream.c:254,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/sleepy-stream.c:255,1
    - Dst: g_free
      Src: /src/glib/gio/tests/sleepy-stream.c:256,1
    - Dst: g_data_input_stream_read_line_async
      Src: /src/glib/gio/tests/sleepy-stream.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 261
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 261
    functionName: asynch_ready
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - G_DATA_INPUT_STREAM
    - g_string_append
    - g_free
    - g_assert
    - g_error_free
    - g_data_input_stream_read_line_async
    - g_main_loop_quit
    - g_data_input_stream_read_line_finish
    linkageType: ''
    returnType: void
    signature: 'static void asynch_ready (GObject *object, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cook_pieces
      Src: /src/glib/gio/tests/sleepy-stream.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sleepy
    argTypes:
    - SleepyStream*
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: sleepy_stream_init
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - cook_pieces
    linkageType: ''
    returnType: void
    signature: 'static void sleepy_stream_init (SleepyStream *sleepy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int_range
      Src: /src/glib/gio/tests/sleepy-stream.c:66,1
    - Dst: cook_piece
      Src: /src/glib/gio/tests/sleepy-stream.c:71,1
    - Dst: g_new
      Src: /src/glib/gio/tests/sleepy-stream.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: cook_pieces
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - cook_piece
    - g_new
    - g_test_rand_int_range
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **cook_pieces (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/sleepy-stream.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - SleepyStreamClass*
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: sleepy_stream_class_init
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void sleepy_stream_class_init (SleepyStreamClass *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_read_line
      Src: /src/glib/gio/tests/sleepy-stream.c:172,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/sleepy-stream.c:177,1
    - Dst: strlen
      Src: /src/glib/gio/tests/sleepy-stream.c:178,1
    - Dst: strstr
      Src: /src/glib/gio/tests/sleepy-stream.c:177,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/sleepy-stream.c:178,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/sleepy-stream.c:180,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/sleepy-stream.c:181,1
    - Dst: g_free
      Src: /src/glib/gio/tests/sleepy-stream.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - stream
    - string
    - eol
    - error
    argTypes:
    - GDataInputStream*
    - GString*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: read_line
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_append
    - g_free
    - g_data_input_stream_read_line
    - g_assert
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_line (GDataInputStream *stream, GString *string,
      const gchar *eol, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sleepy_stream_new
      Src: /src/glib/gio/tests/sleepy-stream.c:205,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/sleepy-stream.c:214,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/sleepy-stream.c:214,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/sleepy-stream.c:212,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/sleepy-stream.c:211,1
    - Dst: g_data_input_stream_set_newline_type
      Src: /src/glib/gio/tests/sleepy-stream.c:215,1
    - Dst: build_comparison
      Src: /src/glib/gio/tests/sleepy-stream.c:216,1
    - Dst: read_line
      Src: /src/glib/gio/tests/sleepy-stream.c:218,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/sleepy-stream.c:220,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/sleepy-stream.c:221,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/sleepy-stream.c:223,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/sleepy-stream.c:224,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/sleepy-stream.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 225
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 225
    functionName: test
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_new
    - g_string_new
    - build_comparison
    - g_assert_cmpstr
    - g_object_unref
    - read_line
    - g_data_input_stream_set_newline_type
    - g_string_free
    - G_INPUT_STREAM
    - sleepy_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sleepy_stream_new
      Src: /src/glib/gio/tests/sleepy-stream.c:267,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/sleepy-stream.c:269,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/sleepy-stream.c:270,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/sleepy-stream.c:269,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/sleepy-stream.c:271,1
    - Dst: build_comparison
      Src: /src/glib/gio/tests/sleepy-stream.c:274,1
    - Dst: g_data_input_stream_read_line_async
      Src: /src/glib/gio/tests/sleepy-stream.c:275,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/sleepy-stream.c:276,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/sleepy-stream.c:276,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/sleepy-stream.c:278,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/sleepy-stream.c:281,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/sleepy-stream.c:282,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/sleepy-stream.c:279,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/sleepy-stream.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: asynch
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - g_string_new
    - g_data_input_stream_new
    - build_comparison
    - g_assert_cmpstr
    - g_object_unref
    - g_data_input_stream_read_line_async
    - g_main_loop_new
    - g_main_loop_run
    - g_string_free
    - G_INPUT_STREAM
    - sleepy_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void asynch (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/sleepy-stream.c:288,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/sleepy-stream.c:291,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/sleepy-stream.c:293,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/sleepy-stream.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: main
    functionSourceFile: /src/glib/gio/tests/sleepy-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:84,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:89,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: accounts_user_get_interface_info
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *accounts_user_get_interface_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:348,1
    - Dst: accounts_user_get_real_name
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:349,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:349,1
    - Dst: accounts_user_get_user_name
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:348,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:350,1
    - Dst: accounts_user_get_automatic_login
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - user
    argTypes:
    - AccountsUser*
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: print_user
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - accounts_user_get_real_name
    - accounts_user_get_user_name
    - g_print
    - accounts_user_get_automatic_login
    linkageType: ''
    returnType: void
    signature: 'static void print_user (AccountsUser *user) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:411,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: 419
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: on_accounts_appeared
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_async_initable_new_async
    linkageType: ''
    returnType: void
    signature: 'static void on_accounts_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-proxy-subclass.c:357,1
    - Dst: print_user
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - user
    - user_data
    argTypes:
    - AccountsUser*
    - gpointer
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: on_changed
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_print
    - print_user
    linkageType: ''
    returnType: void
    signature: 'static void on_changed (AccountsUser *user, 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: 426
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: on_accounts_vanished
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_accounts_vanished (GDBusConnection *connection, const
      gchar *name, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ACCOUNTS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:125,1
    - Dst: accounts_user_get_user_name
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:130,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:134,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:130,1
    - Dst: accounts_user_get_real_name
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:134,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:138,1
    - Dst: accounts_user_get_automatic_login
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:138,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 145
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 145
    functionName: accounts_user_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - accounts_user_get_user_name
    - g_value_set_string
    - ACCOUNTS_USER
    - accounts_user_get_automatic_login
    - accounts_user_get_real_name
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void accounts_user_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/tests/gdbus-example-proxy-subclass.c:152,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:153,1
    - Dst: ACCOUNTS_IS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:152,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:154,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:153,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - user
    argTypes:
    - AccountsUser*
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: accounts_user_get_user_name
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_cached_property
    - G_DBUS_PROXY
    - g_variant_unref
    - ACCOUNTS_IS_USER
    - g_variant_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *accounts_user_get_user_name (AccountsUser *user) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ACCOUNTS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:189,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:190,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - proxy
    - sender_name
    - signal_name
    - parameters
    argTypes:
    - GDBusProxy*
    - gchar*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: accounts_user_g_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - ACCOUNTS_USER
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void accounts_user_g_signal (GDBusProxy *proxy, const gchar
      *sender_name, const gchar *signal_name, GVariant *parameters) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:225,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:234,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:241,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:232,1
    - Dst: G_DBUS_PROXY_CLASS
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:228,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:243,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:250,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:252,1
    - Dst: g_signal_new
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:259,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - klass
    argTypes:
    - AccountsUserClass*
    constantsTouched: []
    func_position:
      end: 268
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 268
    functionName: accounts_user_class_init
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_boolean
    - g_signal_new
    - G_STRUCT_OFFSET
    - g_param_spec_string
    - G_DBUS_PROXY_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void accounts_user_class_init (AccountsUserClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ACCOUNTS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:366,1
    - Dst: print_user
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:369,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: on_notify
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_print
    - ACCOUNTS_USER
    - print_user
    linkageType: ''
    returnType: void
    signature: 'static void on_notify (GObject *object, GParamSpec *pspec, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_set_interface_info
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:116,1
    - Dst: accounts_user_get_interface_info
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:116,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user
    argTypes:
    - AccountsUser*
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: accounts_user_init
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_dbus_proxy_set_interface_info
    - accounts_user_get_interface_info
    linkageType: ''
    returnType: void
    signature: 'static void accounts_user_init (AccountsUser *user) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ACCOUNTS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:199,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:208,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:205,1
    - Dst: g_object_notify
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:209,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:206,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:209,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:210,1
    - Dst: g_object_notify
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:211,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:211,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:212,1
    - Dst: g_object_notify
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:213,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:215,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:213,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - proxy
    - changed_properties
    - invalidated_properties
    argTypes:
    - GDBusProxy*
    - GVariant*
    - gchar**
    constantsTouched: []
    func_position:
      end: 217
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 217
    functionName: accounts_user_g_properties_changed
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - ACCOUNTS_USER
    - g_strcmp0
    - g_variant_get
    - g_variant_iter_free
    - g_object_notify
    - g_variant_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void accounts_user_g_properties_changed (GDBusProxy *proxy,
      GVariant *changed_properties, const gchar* const *invalidated_properties) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:280,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:284,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:284,1
    - Dst: ACCOUNTS_IS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:280,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:286,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:295,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:296,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - user
    - flux
    - baz
    - cancellable
    - error
    argTypes:
    - AccountsUser*
    - gchar*
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 299
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 299
    functionName: accounts_user_frobnicate_sync
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_dbus_proxy_call_sync
    - g_variant_unref
    - g_variant_get
    - g_variant_new
    - ACCOUNTS_IS_USER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *accounts_user_frobnicate_sync (AccountsUser *user, const gchar
      *flux, gint baz, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:381,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:381,1
    - Dst: ACCOUNTS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:390,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:387,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:386,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:392,1
    - Dst: print_user
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:393,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:395,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:397,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:399,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 403
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 403
    functionName: on_accounts_proxy_available
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - ACCOUNTS_USER
    - print_user
    - g_error
    - g_clear_error
    - G_CALLBACK
    - g_async_initable_new_finish
    - G_ASYNC_INITABLE
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_accounts_proxy_available (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:436,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:444,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:443,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:445,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 449
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 449
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_bus_unwatch_name
    - g_main_loop_unref
    - g_bus_watch_name
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:164,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:165,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:166,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:165,1
    - Dst: ACCOUNTS_IS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:164,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - user
    argTypes:
    - AccountsUser*
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: accounts_user_get_real_name
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_cached_property
    - G_DBUS_PROXY
    - g_variant_unref
    - ACCOUNTS_IS_USER
    - g_variant_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *accounts_user_get_real_name (AccountsUser *user) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:309,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:312,1
    - Dst: ACCOUNTS_IS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:309,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:310,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - user
    - flux
    - baz
    - cancellable
    - callback
    - user_data
    argTypes:
    - AccountsUser*
    - gchar*
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 320
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 320
    functionName: accounts_user_frobnicate
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_variant_new
    - ACCOUNTS_IS_USER
    - g_dbus_proxy_call
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void accounts_user_frobnicate (AccountsUser *user, const gchar *flux,
      gint baz, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:176,1
    - Dst: ACCOUNTS_IS_USER
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:176,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:177,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:178,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:177,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - user
    argTypes:
    - AccountsUser*
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: accounts_user_get_automatic_login
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_cached_property
    - G_DBUS_PROXY
    - g_variant_get_boolean
    - g_variant_unref
    - ACCOUNTS_IS_USER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean accounts_user_get_automatic_login (AccountsUser *user) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:332,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:335,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:336,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-example-proxy-subclass.c:332,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - user
    - res
    - error
    argTypes:
    - AccountsUser*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 339
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 339
    functionName: accounts_user_frobnicate_finish
    functionSourceFile: /src/glib/gio/tests/gdbus-example-proxy-subclass.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_variant_unref
    - g_dbus_proxy_call_finish
    - g_variant_get
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *accounts_user_frobnicate_finish (AccountsUser *user, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_command_line_get_arguments
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:12,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:15,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:17,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - application
    - cmdline
    argTypes:
    - GApplication*
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 20
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 20
    functionName: command_line
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline2.c
    functionUses: []
    functionsReached:
    - g_print
    - g_strfreev
    - g_application_command_line_get_arguments
    linkageType: ''
    returnType: int
    signature: 'static int command_line (GApplication *application, GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:74,1
    - Dst: G_APPLICATION_CLASS
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestApplicationClass*
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: test_application_class_init
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline2.c
    functionUses: []
    functionsReached:
    - G_APPLICATION_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_application_class_init (TestApplicationClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: test_application_finalize
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline2.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_application_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - app
    argTypes:
    - TestApplication*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: test_application_init
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_application_init (TestApplication *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:35,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:37,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:38,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:44,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - application
    - arguments
    - exit_status
    argTypes:
    - GApplication*
    - gchar***
    - gint*
    constantsTouched: []
    func_position:
      end: 52
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 52
    functionName: test_local_cmdline
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline2.c
    functionUses: []
    functionsReached:
    - g_print
    - g_str_has_prefix
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_local_cmdline (GApplication *application, gchar
      ***arguments, gint *exit_status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:82,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:84,1
    - Dst: test_application_get_type
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:84,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - application_id
    - flags
    argTypes:
    - gchar*
    - GApplicationFlags
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: test_application_new
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline2.c
    functionUses: []
    functionsReached:
    - test_application_get_type
    - g_return_val_if_fail
    - g_application_id_is_valid
    - g_object_new
    linkageType: ''
    returnType: GApplication*
    signature: 'static GApplication *test_application_new (const gchar *application_id,
      GApplicationFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_application_new
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:96,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:97,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:98,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:98,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:100,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-cmdline2.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline2.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - g_signal_connect
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - test_application_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-none.c:29,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-none.c:30,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-none.c:29,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-none.c:30,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-none.c:31,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-none.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: test_portal_support_none
    functionSourceFile: /src/glib/gio/tests/portal-support-none.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - glib_has_dconf_access_in_sandbox
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_none (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/portal-support-none.c:37,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/portal-support-none.c:41,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/portal-support-none.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/glib/gio/tests/portal-support-none.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/file-thumbnail.c:69,1
    - Dst: g_checksum_update
      Src: /src/glib/gio/tests/file-thumbnail.c:73,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file-thumbnail.c:73,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/file-thumbnail.c:75,1
    - Dst: g_checksum_new
      Src: /src/glib/gio/tests/file-thumbnail.c:72,1
    - Dst: g_checksum_get_string
      Src: /src/glib/gio/tests/file-thumbnail.c:75,1
    - Dst: g_checksum_free
      Src: /src/glib/gio/tests/file-thumbnail.c:77,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file-thumbnail.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - source
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: get_thumbnail_basename
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - strlen
    - g_file_get_uri
    - g_free
    - g_checksum_get_string
    - g_checksum_update
    - g_strconcat
    - g_checksum_free
    - g_checksum_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_thumbnail_basename (GFile *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_thumbnail_basename
      Src: /src/glib/gio/tests/file-thumbnail.c:106,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/gio/tests/file-thumbnail.c:107,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file-thumbnail.c:112,1
    - Dst: g_file_new_build_filename
      Src: /src/glib/gio/tests/file-thumbnail.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: get_failed_thumbnail_file
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - get_thumbnail_basename
    - g_free
    - g_get_user_cache_dir
    - g_file_new_build_filename
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *get_failed_thumbnail_file (GFile *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_failed_thumbnail_file
      Src: /src/glib/gio/tests/file-thumbnail.c:138,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file-thumbnail.c:141,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:142,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file-thumbnail.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: check_failed_thumbnail_exists
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_clear_object
    - g_file_query_exists
    - get_failed_thumbnail_file
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_failed_thumbnail_exists (GFile *source) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_thumbnail_src_file
      Src: /src/glib/gio/tests/file-thumbnail.c:194,1
    - Dst: create_thumbnail
      Src: /src/glib/gio/tests/file-thumbnail.c:196,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:200,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/file-thumbnail.c:198,1
    - Dst: check_failed_thumbnail_exists
      Src: /src/glib/gio/tests/file-thumbnail.c:200,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:204,1
    - Dst: check_failed_thumbnail_exists
      Src: /src/glib/gio/tests/file-thumbnail.c:204,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:205,1
    - Dst: check_thumbnail_exists
      Src: /src/glib/gio/tests/file-thumbnail.c:205,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/file-thumbnail.c:209,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:211,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - source_name
    - size
    - out_source
    argTypes:
    - gchar*
    - gchar*
    - GFile**
    constantsTouched: []
    func_position:
      end: 214
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 214
    functionName: create_thumbnail_from_test_file
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - get_thumbnail_src_file
    - g_strcmp0
    - g_clear_object
    - check_failed_thumbnail_exists
    - g_steal_pointer
    - create_thumbnail
    - g_assert_true
    - check_thumbnail_exists
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *create_thumbnail_from_test_file (const gchar *source_name,
      const gchar *size, GFile **out_source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:274,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:275,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:276,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:280,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:291,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file-thumbnail.c:298,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:309,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:310,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:270,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file-thumbnail.c:278,1
    - Dst: get_size_attributes
      Src: /src/glib/gio/tests/file-thumbnail.c:291,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:294,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:295,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file-thumbnail.c:297,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/file-thumbnail.c:297,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/file-thumbnail.c:299,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:272,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:275,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:276,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file-thumbnail.c:279,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:293,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/file-thumbnail.c:278,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:303,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:313,1
    - Dst: create_thumbnail_from_test_file
      Src: /src/glib/gio/tests/file-thumbnail.c:269,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:274,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:282,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:293,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:284,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:294,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:295,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:301,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file-thumbnail.c:311,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 314
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 314
    functionName: test_valid_thumbnail_size
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_file_new_for_path
    - g_file_info_has_attribute
    - g_clear_object
    - g_assert_no_error
    - g_assert_cmpstr
    - g_clear_error
    - g_file_peek_path
    - get_size_attributes
    - g_file_info_get_attribute_byte_string
    - g_assert_true
    - g_file_query_info
    - create_thumbnail_from_test_file
    linkageType: ''
    returnType: void
    signature: 'static void test_valid_thumbnail_size (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_thumbnail_from_test_file
      Src: /src/glib/gio/tests/file-thumbnail.c:364,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:369,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:369,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:367,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:365,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:370,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:370,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:371,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:371,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:373,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:375,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:379,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file-thumbnail.c:380,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:381,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/file-thumbnail.c:376,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:378,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/file-thumbnail.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 382
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 382
    functionName: test_failed_thumbnail
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_file_info_has_attribute
    - g_clear_object
    - g_assert_no_error
    - g_file_info_get_attribute_boolean
    - g_clear_error
    - g_assert_true
    - g_file_query_info
    - create_thumbnail_from_test_file
    linkageType: ''
    returnType: void
    signature: 'static void test_failed_thumbnail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/file-thumbnail.c:57,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:60,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file-thumbnail.c:62,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/file-thumbnail.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: get_thumbnail_src_file
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - g_file_test
    - g_assert_true
    - g_test_get_filename
    - g_file_new_for_path
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *get_thumbnail_src_file (const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_thumbnail_basename
      Src: /src/glib/gio/tests/file-thumbnail.c:90,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/gio/tests/file-thumbnail.c:91,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file-thumbnail.c:96,1
    - Dst: g_file_new_build_filename
      Src: /src/glib/gio/tests/file-thumbnail.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - source
    - size
    argTypes:
    - GFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: get_expected_thumbnail_file
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - get_thumbnail_basename
    - g_free
    - g_get_user_cache_dir
    - g_file_new_build_filename
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *get_expected_thumbnail_file (GFile *source, const gchar
      *size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_expected_thumbnail_file
      Src: /src/glib/gio/tests/file-thumbnail.c:123,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file-thumbnail.c:126,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:127,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file-thumbnail.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - source
    - size
    argTypes:
    - GFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: check_thumbnail_exists
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - get_expected_thumbnail_file
    - g_assert_nonnull
    - g_clear_object
    - g_file_query_exists
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_thumbnail_exists (GFile *source, const gchar
      *size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/file-thumbnail.c:160,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file-thumbnail.c:167,1
    - Dst: get_failed_thumbnail_file
      Src: /src/glib/gio/tests/file-thumbnail.c:161,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/file-thumbnail.c:165,1
    - Dst: get_expected_thumbnail_file
      Src: /src/glib/gio/tests/file-thumbnail.c:163,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/glib/gio/tests/file-thumbnail.c:169,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:170,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file-thumbnail.c:171,1
    - Dst: g_file_copy
      Src: /src/glib/gio/tests/file-thumbnail.c:174,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:175,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file-thumbnail.c:177,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file-thumbnail.c:182,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:181,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file-thumbnail.c:183,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file-thumbnail.c:179,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file-thumbnail.c:178,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - source
    - size
    argTypes:
    - GFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 186
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 186
    functionName: create_thumbnail
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - get_expected_thumbnail_file
    - g_test_message
    - g_free
    - get_failed_thumbnail_file
    - g_strcmp0
    - g_file_get_path
    - g_clear_object
    - g_assert_no_error
    - g_file_get_parent
    - g_clear_error
    - g_file_query_exists
    - g_file_copy
    - g_file_make_directory_with_parents
    - g_assert_true
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *create_thumbnail (GFile *source, const gchar *size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/file-thumbnail.c:222,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/file-thumbnail.c:236,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/file-thumbnail.c:243,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/file-thumbnail.c:229,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - size
    - path
    - is_valid
    - failed
    argTypes:
    - char*
    - gchar**
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 256
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 256
    functionName: get_size_attributes
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_size_attributes (const char *size, const gchar
      **path, const gchar **is_valid, const gchar **failed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:328,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:330,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:331,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:335,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:339,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:338,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:334,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:336,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:340,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:342,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:343,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:350,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:348,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:343,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:347,1
    - Dst: create_thumbnail_from_test_file
      Src: /src/glib/gio/tests/file-thumbnail.c:325,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:351,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:344,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:348,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:344,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:331,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:332,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:332,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:334,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:336,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:335,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:339,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:338,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:340,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:342,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:346,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:330,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:326,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file-thumbnail.c:352,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:353,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:346,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 354
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 354
    functionName: test_unknown_thumbnail_size
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_file_info_has_attribute
    - g_clear_object
    - g_assert_no_error
    - g_clear_error
    - g_file_query_info
    - create_thumbnail_from_test_file
    linkageType: ''
    returnType: void
    signature: 'static void test_unknown_thumbnail_size (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:410,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:456,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:486,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/file-thumbnail.c:529,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:549,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:548,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:586,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file-thumbnail.c:592,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/file-thumbnail.c:460,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:422,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:426,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:462,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:498,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:503,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:501,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:464,1
    - Dst: get_size_attributes
      Src: /src/glib/gio/tests/file-thumbnail.c:422,1
    - Dst: get_size_attributes
      Src: /src/glib/gio/tests/file-thumbnail.c:498,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:466,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/tests/file-thumbnail.c:475,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:513,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:525,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:533,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:547,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:552,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:501,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:488,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:412,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file-thumbnail.c:429,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file-thumbnail.c:430,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file-thumbnail.c:472,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file-thumbnail.c:505,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:566,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:577,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:584,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:589,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:561,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:420,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:433,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:437,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:496,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:457,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file-thumbnail.c:506,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:509,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:512,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:526,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:542,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file-thumbnail.c:490,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file-thumbnail.c:460,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/tests/file-thumbnail.c:474,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:408,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file-thumbnail.c:414,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:416,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:412,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:425,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:484,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:488,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:482,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:406,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/file-thumbnail.c:429,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file-thumbnail.c:443,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:451,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file-thumbnail.c:517,1
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file-thumbnail.c:517,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:524,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:530,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:551,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file-thumbnail.c:491,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:487,1
    - Dst: create_thumbnail_from_test_file
      Src: /src/glib/gio/tests/file-thumbnail.c:394,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:411,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file-thumbnail.c:415,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:540,1
    - Dst: get_size_attributes
      Src: /src/glib/gio/tests/file-thumbnail.c:544,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:565,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:583,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:583,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file-thumbnail.c:398,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:418,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:425,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file-thumbnail.c:440,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:457,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:494,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:468,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:449,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:525,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/file-thumbnail.c:552,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:559,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:487,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/file-thumbnail.c:404,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:411,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/file-thumbnail.c:505,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:520,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:524,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:566,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:582,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:584,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:567,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file-thumbnail.c:479,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:453,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:456,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:458,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/tests/file-thumbnail.c:517,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:528,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:549,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:565,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/file-thumbnail.c:590,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:427,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:503,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:569,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:593,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:492,1
    - Dst: create_thumbnail
      Src: /src/glib/gio/tests/file-thumbnail.c:400,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/file-thumbnail.c:414,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:480,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/file-thumbnail.c:490,1
    - Dst: get_size_attributes
      Src: /src/glib/gio/tests/file-thumbnail.c:453,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/file-thumbnail.c:531,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/file-thumbnail.c:551,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file-thumbnail.c:558,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:582,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:579,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file-thumbnail.c:536,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:547,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:431,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:410,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:427,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:486,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:502,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:544,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file-thumbnail.c:507,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:591,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:436,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:458,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:518,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:522,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:526,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:548,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file-thumbnail.c:554,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file-thumbnail.c:575,1
    - Dst: get_size_attributes
      Src: /src/glib/gio/tests/file-thumbnail.c:579,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file-thumbnail.c:571,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file-thumbnail.c:461,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/file-thumbnail.c:395,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/file-thumbnail.c:426,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file-thumbnail.c:440,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/tests/file-thumbnail.c:445,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file-thumbnail.c:502,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file-thumbnail.c:563,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file-thumbnail.c:567,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 183
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 594
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 594
    functionName: test_thumbnails_size_priority
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_file_info_has_attribute
    - G_FILE
    - g_clear_pointer
    - g_file_info_get_attribute_boolean
    - g_clear_error
    - g_file_peek_path
    - g_file_info_get_attribute_byte_string
    - get_size_attributes
    - g_file_delete
    - g_file_new_for_path
    - g_assert_cmpuint
    - g_ptr_array_index
    - g_assert_no_error
    - g_ptr_array_add
    - g_file_query_info
    - g_assert_false
    - g_clear_object
    - g_assert_cmpstr
    - create_thumbnail
    - G_N_ELEMENTS
    - g_assert_true
    - create_thumbnail_from_test_file
    linkageType: ''
    returnType: void
    signature: 'static void test_thumbnails_size_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/file-thumbnail.c:603,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file-thumbnail.c:611,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file-thumbnail.c:610,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file-thumbnail.c:605,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/file-thumbnail.c:609,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file-thumbnail.c:614,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file-thumbnail.c:615,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file-thumbnail.c:616,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/file-thumbnail.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 619
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 619
    functionName: main
    functionSourceFile: /src/glib/gio/tests/file-thumbnail.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_add_data_func
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_strconcat
    - G_N_ELEMENTS
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_read_lines
      Src: /src/glib/gio/tests/data-input-stream.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: test_read_lines_LF
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - test_read_lines
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines_LF (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/data-input-stream.c:60,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:62,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:61,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/data-input-stream.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: test_seek_to_start
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_seek
    - G_SEEKABLE
    - g_assert_cmpint
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void test_seek_to_start (GInputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_read_lines
      Src: /src/glib/gio/tests/data-input-stream.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: test_read_lines_CR_LF
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - test_read_lines
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines_CR_LF (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:163,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:164,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/data-input-stream.c:166,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:166,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:164,1
    - Dst: g_data_input_stream_read_line_utf8
      Src: /src/glib/gio/tests/data-input-stream.c:174,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:174,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:175,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-input-stream.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:181,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:183,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 185
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 185
    functionName: test_read_lines_LF_valid_utf8
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_new
    - G_DATA_INPUT_STREAM
    - g_free
    - g_data_input_stream_read_line_utf8
    - g_assert_cmpint
    - g_memory_input_stream_new
    - g_assert_no_error
    - g_object_unref
    - g_memory_input_stream_add_data
    - G_INPUT_STREAM
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines_LF_valid_utf8 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:245,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:246,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/data-input-stream.c:249,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:246,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:249,1
    - Dst: g_data_input_stream_read_until
      Src: /src/glib/gio/tests/data-input-stream.c:258,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:258,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:261,1
    - Dst: strlen
      Src: /src/glib/gio/tests/data-input-stream.c:261,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-input-stream.c:262,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:263,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:268,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:271,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 272
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 272
    functionName: test_read_until
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_data_input_stream_new
    - G_DATA_INPUT_STREAM
    - g_assert_cmpint
    - g_free
    - g_memory_input_stream_new
    - g_assert_no_error
    - g_object_unref
    - g_data_input_stream_read_until
    - g_memory_input_stream_add_data
    - G_INPUT_STREAM
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_read_until (void) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_read_uint16
      Src: /src/glib/gio/tests/data-input-stream.c:408,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:408,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-input-stream.c:410,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:423,1
    - Dst: g_data_input_stream_read_int64
      Src: /src/glib/gio/tests/data-input-stream.c:423,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-input-stream.c:415,1
    - Dst: g_data_input_stream_read_int32
      Src: /src/glib/gio/tests/data-input-stream.c:413,1
    - Dst: g_data_input_stream_read_uint64
      Src: /src/glib/gio/tests/data-input-stream.c:428,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:428,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-input-stream.c:430,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:413,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:437,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:445,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/data-input-stream.c:444,1
    - Dst: test_seek_to_start
      Src: /src/glib/gio/tests/data-input-stream.c:365,1
    - Dst: g_data_input_stream_read_int16
      Src: /src/glib/gio/tests/data-input-stream.c:403,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:400,1
    - Dst: g_data_input_stream_read_byte
      Src: /src/glib/gio/tests/data-input-stream.c:400,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:403,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-input-stream.c:405,1
    - Dst: g_data_input_stream_read_uint32
      Src: /src/glib/gio/tests/data-input-stream.c:418,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-input-stream.c:425,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:418,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/gio/tests/data-input-stream.c:420,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:442,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/data-input-stream.c:386,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/data-input-stream.c:433,1
    - Dst: TEST_DATA_RETYPE_BUFF
      Src: /src/glib/gio/tests/data-input-stream.c:437,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 63
    argCount: 6
    argNames:
    - stream
    - base_stream
    - buffer
    - len
    - data_type
    - byte_order
    argTypes:
    - GInputStream*
    - GInputStream*
    - gpointer
    - int
    - enum TestDataType
    - GDataStreamByteOrder
    constantsTouched: []
    func_position:
      end: 446
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 446
    functionName: test_data_array
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - G_DATA_INPUT_STREAM
    - g_assert_cmpint
    - test_seek_to_start
    - GUINT64_SWAP_LE_BE
    - g_data_input_stream_read_uint32
    - GUINT32_SWAP_LE_BE
    - g_assert_not_reached
    - g_data_input_stream_read_int16
    - g_assert_no_error
    - g_error_free
    - GUINT16_SWAP_LE_BE
    - g_data_input_stream_read_uint16
    - TEST_DATA_RETYPE_BUFF
    - g_data_input_stream_read_int64
    - g_data_input_stream_read_int32
    - g_data_input_stream_read_byte
    - g_data_input_stream_read_uint64
    linkageType: ''
    returnType: void
    signature: "static void test_data_array (GInputStream *stream, GInputStream *base_stream,\t\t
      gpointer buffer, int len,\t\t enum TestDataType data_type, GDataStreamByteOrder
      byte_order) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:39,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:40,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:43,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:40,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/data-input-stream.c:42,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/data-input-stream.c:44,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:45,1
    - Dst: g_data_input_stream_get_byte_order
      Src: /src/glib/gio/tests/data-input-stream.c:45,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:45,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/data-input-stream.c:47,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:52,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:50,1
    - Dst: g_data_input_stream_get_newline_type
      Src: /src/glib/gio/tests/data-input-stream.c:50,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:48,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:50,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:53,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/data-input-stream.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_new
    - g_assert_cmpint
    - G_DATA_INPUT_STREAM
    - g_memory_input_stream_new
    - g_object_set
    - g_data_input_stream_get_newline_type
    - g_object_unref
    - G_INPUT_STREAM
    - g_data_input_stream_get_byte_order
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_read_lines
      Src: /src/glib/gio/tests/data-input-stream.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: test_read_lines_CR
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - test_read_lines
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines_CR (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:81,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:88,1
    - Dst: g_data_input_stream_set_newline_type
      Src: /src/glib/gio/tests/data-input-stream.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:90,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/data-input-stream.c:99,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:99,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:123,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:127,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-input-stream.c:82,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:83,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:83,1
    - Dst: g_data_input_stream_get_byte_order
      Src: /src/glib/gio/tests/data-input-stream.c:88,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:94,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:89,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:90,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:93,1
    - Dst: g_data_input_stream_get_newline_type
      Src: /src/glib/gio/tests/data-input-stream.c:94,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:94,1
    - Dst: test_seek_to_start
      Src: /src/glib/gio/tests/data-input-stream.c:103,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:87,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:88,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/data-input-stream.c:100,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:112,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/data-input-stream.c:115,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/data-input-stream.c:121,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-input-stream.c:84,1
    - Dst: g_data_input_stream_set_byte_order
      Src: /src/glib/gio/tests/data-input-stream.c:87,1
    - Dst: g_data_input_stream_set_byte_order
      Src: /src/glib/gio/tests/data-input-stream.c:89,1
    - Dst: g_data_input_stream_get_byte_order
      Src: /src/glib/gio/tests/data-input-stream.c:90,1
    - Dst: g_data_input_stream_read_line
      Src: /src/glib/gio/tests/data-input-stream.c:112,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-input-stream.c:116,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:117,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - newline_type
    argTypes:
    - GDataStreamNewlineType
    constantsTouched: []
    func_position:
      end: 128
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 128
    functionName: test_read_lines
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - g_memory_input_stream_new
    - g_data_input_stream_read_line
    - G_INPUT_STREAM
    - G_DATA_INPUT_STREAM
    - g_assert_cmpint
    - g_object_unref
    - g_data_input_stream_set_newline_type
    - g_memory_input_stream_add_data
    - g_strconcat
    - g_data_input_stream_new
    - g_assert_no_error
    - g_data_input_stream_get_newline_type
    - g_error_free
    - g_free
    - test_seek_to_start
    - g_assert
    - g_data_input_stream_set_byte_order
    - g_assert_cmpstr
    - g_data_input_stream_get_byte_order
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines (GDataStreamNewlineType newline_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_read_lines
      Src: /src/glib/gio/tests/data-input-stream.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: test_read_lines_any
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - test_read_lines
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines_any (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:196,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/data-input-stream.c:199,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:197,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:199,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:197,1
    - Dst: g_data_input_stream_read_line_utf8
      Src: /src/glib/gio/tests/data-input-stream.c:207,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:207,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:209,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-input-stream.c:212,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/data-input-stream.c:213,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:222,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-input-stream.c:214,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:223,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-input-stream.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 224
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 224
    functionName: test_read_lines_LF_invalid_utf8
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_new
    - G_DATA_INPUT_STREAM
    - g_free
    - g_data_input_stream_read_line_utf8
    - g_assert_cmpint
    - g_memory_input_stream_new
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_clear_error
    - g_memory_input_stream_add_data
    - G_INPUT_STREAM
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read_lines_LF_invalid_utf8 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:300,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/data-input-stream.c:303,1
    - Dst: g_data_input_stream_read_upto
      Src: /src/glib/gio/tests/data-input-stream.c:312,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:312,1
    - Dst: memchr
      Src: /src/glib/gio/tests/data-input-stream.c:320,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-input-stream.c:323,1
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:299,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:303,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:315,1
    - Dst: strlen
      Src: /src/glib/gio/tests/data-input-stream.c:315,1
    - Dst: g_data_input_stream_read_byte
      Src: /src/glib/gio/tests/data-input-stream.c:319,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:321,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:325,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/data-input-stream.c:320,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:319,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:300,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/data-input-stream.c:326,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:329,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/data-input-stream.c:316,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 330
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 330
    functionName: test_read_upto
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - strlen
    - g_data_input_stream_new
    - G_DATA_INPUT_STREAM
    - g_assert_cmpint
    - g_free
    - g_memory_input_stream_new
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_memory_input_stream_add_data
    - g_data_input_stream_read_upto
    - G_INPUT_STREAM
    - memchr
    - g_data_input_stream_read_byte
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS static void test_read_upto (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new
      Src: /src/glib/gio/tests/data-input-stream.c:457,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/data-input-stream.c:458,1
    - Dst: g_rand_int
      Src: /src/glib/gio/tests/data-input-stream.c:465,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:470,1
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:469,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/data-input-stream.c:470,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/tests/data-input-stream.c:471,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:471,1
    - Dst: g_data_input_stream_set_byte_order
      Src: /src/glib/gio/tests/data-input-stream.c:477,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/tests/data-input-stream.c:477,1
    - Dst: g_rand_free
      Src: /src/glib/gio/tests/data-input-stream.c:485,1
    - Dst: g_free
      Src: /src/glib/gio/tests/data-input-stream.c:486,1
    - Dst: test_data_array
      Src: /src/glib/gio/tests/data-input-stream.c:480,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:484,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/data-input-stream.c:483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 487
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 487
    functionName: test_read_int
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - test_data_array
    - g_data_input_stream_new
    - G_DATA_INPUT_STREAM
    - g_free
    - g_memory_input_stream_new
    - g_malloc0
    - g_rand_int
    - g_rand_free
    - g_data_input_stream_set_byte_order
    - g_object_unref
    - g_memory_input_stream_add_data
    - g_rand_new
    - G_INPUT_STREAM
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_read_int (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/data-input-stream.c:494,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:499,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:497,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:496,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:498,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:500,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:501,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:502,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:503,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:504,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/data-input-stream.c:507,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/data-input-stream.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: main
    functionSourceFile: /src/glib/gio/tests/data-input-stream.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GCompressorConverterClass*
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: g_compressor_converter_class_init
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_compressor_converter_class_init (GCompressorConverterClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/converter-stream.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: g_leftover_converter_new
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GConverter*
    signature: 'GConverter *g_leftover_converter_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GCompressorConverter*
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: g_compressor_converter_init
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_compressor_converter_init (GCompressorConverter *local) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: g_leftover_converter_reset
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_leftover_converter_reset (GConverter *converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/converter-stream.c:752,1
    - Dst: g_random_int
      Src: /src/glib/gio/tests/converter-stream.c:756,1
    - Dst: g_converter_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:769,1
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:770,1
    - Dst: g_output_stream_splice
      Src: /src/glib/gio/tests/converter-stream.c:772,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:770,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:775,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:785,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:790,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/converter-stream.c:798,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:804,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:806,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:758,1
    - Dst: g_zlib_compressor_new
      Src: /src/glib/gio/tests/converter-stream.c:762,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:768,1
    - Dst: g_converter_output_stream_get_converter
      Src: /src/glib/gio/tests/converter-stream.c:770,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:779,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:782,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/converter-stream.c:783,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:792,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/converter-stream.c:797,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:798,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/converter-stream.c:799,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:799,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:803,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/tests/converter-stream.c:763,1
    - Dst: g_file_info_set_name
      Src: /src/glib/gio/tests/converter-stream.c:764,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/converter-stream.c:773,1
    - Dst: g_converter_reset
      Src: /src/glib/gio/tests/converter-stream.c:777,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/converter-stream.c:778,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:781,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:784,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/tests/converter-stream.c:789,1
    - Dst: g_zlib_decompressor_new
      Src: /src/glib/gio/tests/converter-stream.c:789,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/converter-stream.c:795,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/converter-stream.c:802,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:800,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:807,1
    - Dst: g_output_stream_splice
      Src: /src/glib/gio/tests/converter-stream.c:794,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:788,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:754,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:761,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/tests/converter-stream.c:762,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/converter-stream.c:765,1
    - Dst: G_ZLIB_COMPRESSOR
      Src: /src/glib/gio/tests/converter-stream.c:766,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:767,1
    - Dst: g_zlib_compressor_get_file_info
      Src: /src/glib/gio/tests/converter-stream.c:766,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:780,1
    - Dst: g_memory_output_stream_steal_data
      Src: /src/glib/gio/tests/converter-stream.c:782,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:786,1
    - Dst: g_converter_reset
      Src: /src/glib/gio/tests/converter-stream.c:801,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:805,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 808
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 808
    functionName: test_roundtrip
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_file_info_set_name
    - G_CONVERTER
    - g_zlib_compressor_get_file_info
    - g_converter_output_stream_get_converter
    - g_assert_cmpint
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_zlib_compressor_new
    - G_ZLIB_COMPRESSOR
    - g_memory_output_stream_new
    - g_output_stream_splice
    - g_memory_output_stream_get_data_size
    - g_converter_input_stream_new
    - g_converter_reset
    - g_object_set
    - g_assert_no_error
    - G_MEMORY_OUTPUT_STREAM
    - g_assert_cmpmem
    - g_zlib_decompressor_new
    - g_malloc
    - g_test_bug
    - g_free
    - G_CONVERTER_OUTPUT_STREAM
    - g_memory_output_stream_steal_data
    - g_file_info_new
    - g_converter_output_stream_new
    - g_memory_output_stream_get_data
    - g_assert_true
    - g_random_int
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_roundtrip (gconstpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:836,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/converter-stream.c:832,1
    - Dst: strlen
      Src: /src/glib/gio/tests/converter-stream.c:838,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/converter-stream.c:841,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:845,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/converter-stream.c:846,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:860,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/converter-stream.c:866,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:869,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:870,1
    - Dst: strlen
      Src: /src/glib/gio/tests/converter-stream.c:872,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:883,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/converter-stream.c:851,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:856,1
    - Dst: strlen
      Src: /src/glib/gio/tests/converter-stream.c:878,1
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/tests/converter-stream.c:879,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:878,1
    - Dst: g_charset_converter_new
      Src: /src/glib/gio/tests/converter-stream.c:831,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/converter-stream.c:833,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/converter-stream.c:839,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/converter-stream.c:844,1
    - Dst: strlen
      Src: /src/glib/gio/tests/converter-stream.c:845,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/converter-stream.c:850,1
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/tests/converter-stream.c:866,1
    - Dst: g_charset_converter_set_use_fallback
      Src: /src/glib/gio/tests/converter-stream.c:867,1
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/tests/converter-stream.c:867,1
    - Dst: g_malloc0
      Src: /src/glib/gio/tests/converter-stream.c:873,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/converter-stream.c:877,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:835,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:854,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:855,1
    - Dst: g_converter_reset
      Src: /src/glib/gio/tests/converter-stream.c:864,1
    - Dst: g_charset_converter_get_use_fallback
      Src: /src/glib/gio/tests/converter-stream.c:866,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:879,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:882,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:885,1
    - Dst: g_charset_converter_get_num_fallbacks
      Src: /src/glib/gio/tests/converter-stream.c:879,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/converter-stream.c:876,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/converter-stream.c:875,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:881,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 886
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 886
    functionName: test_charset
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_charset_converter_new
    - g_input_stream_read_all
    - strlen
    - g_assert_cmpint
    - g_malloc0
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_charset_converter_get_use_fallback
    - g_charset_converter_set_use_fallback
    - g_converter_input_stream_new
    - g_converter_reset
    - G_CHARSET_CONVERTER
    - g_assert_no_error
    - g_error_free
    - g_assert_error
    - g_assert_false
    - g_free
    - g_assert_cmpstr
    - g_charset_converter_get_num_fallbacks
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_charset (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GExpanderConverterClass*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: g_expander_converter_class_init
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_expander_converter_class_init (GExpanderConverterClass
      *klass) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/converter-stream.c:119,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    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: 136
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 136
    functionName: g_expander_converter_convert
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: GConverterResult
    signature: "static GConverterResult g_expander_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:
    - klass
    argTypes:
    - GLeftoverConverterClass*
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: g_leftover_converter_class_init
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_leftover_converter_class_init (GLeftoverConverterClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/converter-stream.c:638,1
    - Dst: MIN
      Src: /src/glib/gio/tests/converter-stream.c:646,1
    - Dst: memcpy
      Src: /src/glib/gio/tests/converter-stream.c:649,1
    - Dst: MIN
      Src: /src/glib/gio/tests/converter-stream.c:648,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    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: 654
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 654
    functionName: g_leftover_converter_convert
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_set_error_literal
    - MIN
    linkageType: ''
    returnType: GConverterResult
    signature: "static GConverterResult g_leftover_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:
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/converter-stream.c:894,1
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/tests/converter-stream.c:898,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/converter-stream.c:899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 900
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 900
    functionName: client_connected
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_socket_client_connect_finish
    - g_assert_no_error
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: "static void client_connected (GObject *source,\t\t GAsyncResult *result,\t\t
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/converter-stream.c:926,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/tests/converter-stream.c:931,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:928,1
    - Dst: g_socket_listener_new
      Src: /src/glib/gio/tests/converter-stream.c:930,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/converter-stream.c:927,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/converter-stream.c:937,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:938,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/converter-stream.c:940,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/tests/converter-stream.c:942,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/converter-stream.c:943,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:951,1
    - Dst: g_socket_listener_accept_async
      Src: /src/glib/gio/tests/converter-stream.c:945,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:953,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:955,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:956,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/converter-stream.c:949,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:952,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - GIOStream**
    - GIOStream**
    constantsTouched: []
    func_position:
      end: 957
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 957
    functionName: make_socketpair
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_socket_listener_add_address
    - g_socket_listener_new
    - g_socket_client_connect_async
    - G_IO_STREAM
    - g_inet_socket_address_new
    - g_assert_no_error
    - g_object_unref
    - g_socket_client_new
    - g_main_context_iteration
    - g_inet_address_new_loopback
    - g_socket_listener_accept_async
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: "static void make_socketpair (GIOStream **left,\t\t GIOStream **right) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GExpanderConverter*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: g_expander_converter_init
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_expander_converter_init (GExpanderConverter *local) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterIface*
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: g_expander_converter_iface_init
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_expander_converter_iface_init (GConverterIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GLeftoverConverter*
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: g_leftover_converter_init
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_leftover_converter_init (GLeftoverConverter *local) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterIface*
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: g_leftover_converter_iface_init
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_leftover_converter_iface_init (GConverterIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/converter-stream.c:907,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/converter-stream.c:912,1
    - Dst: g_socket_listener_accept_finish
      Src: /src/glib/gio/tests/converter-stream.c:911,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 913
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 913
    functionName: server_connected
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_assert_no_error
    - g_socket_listener_accept_finish
    linkageType: ''
    returnType: void
    signature: "static void server_connected (GObject *source,\t\t GAsyncResult *result,\t\t
      gpointer user_data) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:979,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/tests/converter-stream.c:980,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:987,1
    - Dst: make_socketpair
      Src: /src/glib/gio/tests/converter-stream.c:990,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/converter-stream.c:996,1
    - Dst: MIN
      Src: /src/glib/gio/tests/converter-stream.c:1014,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/converter-stream.c:1001,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1022,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/tests/converter-stream.c:1029,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/tests/converter-stream.c:1032,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:1106,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/converter-stream.c:1096,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1104,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:1107,1
    - Dst: g_compressor_converter_new
      Src: /src/glib/gio/tests/converter-stream.c:992,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:999,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/converter-stream.c:1012,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:1016,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/converter-stream.c:1030,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/converter-stream.c:1049,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1065,1
    - Dst: g_converter_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:1075,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:1090,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/converter-stream.c:1100,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:1079,1
    - Dst: g_pollable_output_stream_write_nonblocking
      Src: /src/glib/gio/tests/converter-stream.c:1084,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1109,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:986,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:985,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:994,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/converter-stream.c:1050,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1064,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1076,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:1077,1
    - Dst: g_pollable_output_stream_can_poll
      Src: /src/glib/gio/tests/converter-stream.c:1078,1
    - Dst: g_pollable_output_stream_is_writable
      Src: /src/glib/gio/tests/converter-stream.c:1079,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:1087,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:1093,1
    - Dst: g_expander_converter_new
      Src: /src/glib/gio/tests/converter-stream.c:978,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:996,1
    - Dst: g_pollable_input_stream_can_poll
      Src: /src/glib/gio/tests/converter-stream.c:999,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/converter-stream.c:1021,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:998,1
    - Dst: g_pollable_input_stream_read_nonblocking
      Src: /src/glib/gio/tests/converter-stream.c:1033,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:1039,1
    - Dst: g_converter_reset
      Src: /src/glib/gio/tests/converter-stream.c:1067,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:1074,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:1078,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/converter-stream.c:1099,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:1099,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/converter-stream.c:1062,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/converter-stream.c:1099,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:1100,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1108,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 104
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1110
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 1110
    functionName: test_converter_pollable
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_pollable_input_stream_can_poll
    - g_io_stream_get_output_stream
    - MIN
    - g_compressor_converter_new
    - g_usleep
    - g_output_stream_write
    - g_converter_convert
    - g_assert_cmpint
    - G_POLLABLE_OUTPUT_STREAM
    - g_object_unref
    - g_pollable_output_stream_is_writable
    - g_pollable_output_stream_can_poll
    - g_pollable_input_stream_read_nonblocking
    - g_memory_output_stream_new
    - g_pollable_input_stream_is_readable
    - g_converter_input_stream_new
    - g_memory_output_stream_get_data_size
    - g_assert_cmpuint
    - g_converter_reset
    - g_error_free
    - G_MEMORY_OUTPUT_STREAM
    - G_POLLABLE_INPUT_STREAM
    - g_assert_cmpmem
    - make_socketpair
    - g_expander_converter_new
    - g_assert_error
    - g_malloc
    - g_free
    - g_pollable_output_stream_write_nonblocking
    - g_converter_output_stream_new
    - g_memory_output_stream_get_data
    - g_output_stream_close
    - g_assert_true
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void test_converter_pollable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/converter-stream.c:1216,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/converter-stream.c:1219,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/converter-stream.c:1218,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/converter-stream.c:1220,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/converter-stream.c:1222,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/converter-stream.c:1223,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/converter-stream.c:1225,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/converter-stream.c:1226,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/converter-stream.c:1228,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/converter-stream.c:1229,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/converter-stream.c:1232,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/converter-stream.c:1231,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/converter-stream.c:1234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1235
    functionName: main
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_test_add_data_func
    - g_test_add_func
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/converter-stream.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: g_expander_converter_new
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GConverter*
    signature: 'GConverter *g_expander_converter_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/converter-stream.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: g_compressor_converter_new
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GConverter*
    signature: 'GConverter *g_compressor_converter_new (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:400,1
    - Dst: g_compressor_converter_new
      Src: /src/glib/gio/tests/converter-stream.c:410,1
    - Dst: g_converter_reset
      Src: /src/glib/gio/tests/converter-stream.c:440,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:438,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:442,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:452,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:458,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/converter-stream.c:461,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/converter-stream.c:464,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/converter-stream.c:465,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:524,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:501,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:556,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/converter-stream.c:541,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:515,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:479,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:563,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/tests/converter-stream.c:401,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:407,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:412,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:414,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:444,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:455,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/converter-stream.c:464,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:465,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:475,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:478,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:530,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:562,1
    - Dst: memset
      Src: /src/glib/gio/tests/converter-stream.c:473,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:526,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:559,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:561,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:522,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/converter-stream.c:486,1
    - Dst: g_converter_reset
      Src: /src/glib/gio/tests/converter-stream.c:471,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:497,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:551,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/converter-stream.c:547,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:505,1
    - Dst: g_expander_converter_new
      Src: /src/glib/gio/tests/converter-stream.c:399,1
    - Dst: g_converter_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:443,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:496,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:499,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/converter-stream.c:512,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:557,1
    - Dst: g_converter_reset
      Src: /src/glib/gio/tests/converter-stream.c:528,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:564,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:504,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:533,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:534,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:406,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:408,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:417,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/converter-stream.c:436,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/converter-stream.c:425,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:428,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:418,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/converter-stream.c:449,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:464,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:469,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:489,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/converter-stream.c:546,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 140
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 565
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 565
    functionName: test_compressor
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_compressor_converter_new
    - g_output_stream_write
    - g_converter_convert
    - g_assert_cmpint
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - memset
    - g_input_stream_read
    - g_memory_output_stream_new
    - g_converter_input_stream_new
    - g_memory_output_stream_get_data_size
    - g_assert_cmpuint
    - g_converter_reset
    - g_error_free
    - G_MEMORY_OUTPUT_STREAM
    - g_assert_cmpmem
    - g_expander_converter_new
    - g_assert_error
    - g_malloc
    - g_free
    - g_converter_output_stream_new
    - g_memory_output_stream_get_data
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void test_compressor (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: g_expander_converter_reset
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_expander_converter_reset (GConverter *converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: g_compressor_converter_reset
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_compressor_converter_reset (GConverter *converter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:324,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:338,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:349,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:366,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:374,1
    - Dst: g_expander_converter_new
      Src: /src/glib/gio/tests/converter-stream.c:303,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:315,1
    - Dst: g_converter_reset
      Src: /src/glib/gio/tests/converter-stream.c:318,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:320,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:323,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:326,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/converter-stream.c:335,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/converter-stream.c:345,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/converter-stream.c:352,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:353,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:380,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/converter-stream.c:374,1
    - Dst: g_converter_output_stream_get_converter
      Src: /src/glib/gio/tests/converter-stream.c:351,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:369,1
    - Dst: G_CONVERTER_INPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:324,1
    - Dst: g_converter_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:350,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:351,1
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:351,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:354,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:363,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/converter-stream.c:372,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/converter-stream.c:375,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:378,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:381,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:375,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/converter-stream.c:360,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:379,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:306,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:305,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/tests/converter-stream.c:308,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:314,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/converter-stream.c:316,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:327,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:328,1
    - Dst: g_converter_input_stream_get_converter
      Src: /src/glib/gio/tests/converter-stream.c:324,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/converter-stream.c:325,1
    - Dst: g_converter_reset
      Src: /src/glib/gio/tests/converter-stream.c:347,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:355,1
    - Dst: g_memory_output_stream_get_data
      Src: /src/glib/gio/tests/converter-stream.c:374,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:382,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 383
    functionName: test_expander
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_converter_output_stream_get_converter
    - g_output_stream_write
    - g_converter_convert
    - g_assert_cmpint
    - G_CONVERTER_INPUT_STREAM
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_input_stream_read
    - g_memory_output_stream_new
    - g_converter_input_stream_get_converter
    - g_converter_input_stream_new
    - g_memory_output_stream_get_data_size
    - g_assert_cmpuint
    - g_converter_reset
    - G_MEMORY_OUTPUT_STREAM
    - g_assert_cmpmem
    - g_expander_converter_new
    - g_malloc
    - g_free
    - G_CONVERTER_OUTPUT_STREAM
    - g_converter_output_stream_new
    - g_memory_output_stream_get_data
    - g_output_stream_close
    - g_assert_true
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_expander (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/converter-stream.c:239,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/converter-stream.c:251,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/converter-stream.c:262,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    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: 277
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 277
    functionName: g_compressor_converter_convert
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: GConverterResult
    signature: "static GConverterResult g_compressor_converter_convert (GConverter
      *converter,\t\t\t\tconst void *inbuf,\t\t\t\tgsize inbuf_size,\t\t\t\tvoid *outbuf,\t\t\t\tgsize
      outbuf_size,\t\t\t\tGConverterFlags flags,\t\t\t\tgsize *bytes_read,\t\t\t\tgsize
      *bytes_written,\t\t\t\tGError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/converter-stream.c:692,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:723,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:699,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:685,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:695,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:700,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/converter-stream.c:720,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:724,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:686,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/converter-stream.c:714,1
    - Dst: g_leftover_converter_new
      Src: /src/glib/gio/tests/converter-stream.c:678,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:681,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:680,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/tests/converter-stream.c:686,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:687,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/converter-stream.c:698,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:722,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/converter-stream.c:698,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/converter-stream.c:710,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:725,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 726
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 726
    functionName: test_converter_leftover
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - g_converter_input_stream_new
    - g_free
    - G_CONVERTER
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_input_stream_read
    - g_assert_cmpmem
    - G_SEEKABLE
    - g_malloc
    - g_leftover_converter_new
    linkageType: ''
    returnType: void
    signature: 'static void test_converter_leftover (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER
      Src: /src/glib/gio/tests/converter-stream.c:1132,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/converter-stream.c:1134,1
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:1134,1
    - Dst: g_memory_output_stream_steal_data
      Src: /src/glib/gio/tests/converter-stream.c:1142,1
    - Dst: g_zlib_decompressor_new
      Src: /src/glib/gio/tests/converter-stream.c:1152,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:1153,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1163,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:1128,1
    - Dst: g_random_int
      Src: /src/glib/gio/tests/converter-stream.c:1126,1
    - Dst: g_converter_output_stream_get_converter
      Src: /src/glib/gio/tests/converter-stream.c:1134,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1140,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:1144,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1146,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:1155,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/converter-stream.c:1158,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1162,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/converter-stream.c:1124,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:1131,1
    - Dst: g_zlib_compressor_new
      Src: /src/glib/gio/tests/converter-stream.c:1132,1
    - Dst: g_converter_output_stream_new
      Src: /src/glib/gio/tests/converter-stream.c:1133,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1145,1
    - Dst: g_output_stream_splice
      Src: /src/glib/gio/tests/converter-stream.c:1136,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/converter-stream.c:1151,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/tests/converter-stream.c:1152,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1161,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/converter-stream.c:1137,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/converter-stream.c:1143,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/tests/converter-stream.c:1142,1
    - Dst: g_output_stream_splice
      Src: /src/glib/gio/tests/converter-stream.c:1157,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/converter-stream.c:1159,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1164,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:1165,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1166
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1166
    functionName: test_truncation
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - G_CONVERTER
    - g_converter_output_stream_get_converter
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - g_zlib_compressor_new
    - g_memory_output_stream_new
    - g_output_stream_splice
    - g_memory_output_stream_get_data_size
    - g_converter_input_stream_new
    - g_assert_no_error
    - g_error_free
    - G_MEMORY_OUTPUT_STREAM
    - g_zlib_decompressor_new
    - g_assert_error
    - g_malloc
    - g_free
    - G_CONVERTER_OUTPUT_STREAM
    - g_memory_output_stream_steal_data
    - g_converter_output_stream_new
    - g_assert_true
    - g_random_int
    linkageType: ''
    returnType: void
    signature: 'static void test_truncation (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterIface*
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: g_compressor_converter_iface_init
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_compressor_converter_iface_init (GConverterIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_charset_converter_new
      Src: /src/glib/gio/tests/converter-stream.c:1176,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/converter-stream.c:1178,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/converter-stream.c:1184,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/converter-stream.c:1183,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/converter-stream.c:1177,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:1186,1
    - Dst: g_free
      Src: /src/glib/gio/tests/converter-stream.c:1187,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/converter-stream.c:1188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1189
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1189
    functionName: test_converter_basics
    functionSourceFile: /src/glib/gio/tests/converter-stream.c
    functionUses: []
    functionsReached:
    - g_free
    - g_charset_converter_new
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_converter_basics (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/pollable.c:49,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/tests/pollable.c:49,1
    - Dst: g_pollable_input_stream_read_nonblocking
      Src: /src/glib/gio/tests/pollable.c:51,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/pollable.c:52,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:49,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/pollable.c:53,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/pollable.c:54,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/pollable.c:55,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/tests/pollable.c:55,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - input
    - user_data
    argTypes:
    - GPollableInputStream*
    - gpointer
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: poll_source_callback
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_pollable_input_stream_is_readable
    - g_assert_cmpint
    - g_assert_false
    - g_assert_no_error
    - g_assert_cmpstr
    - G_POLLABLE_INPUT_STREAM
    - g_pollable_input_stream_read_nonblocking
    - g_assert_true
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean poll_source_callback (GPollableInputStream *input,\t\t
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/pollable.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: quit_callback
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean quit_callback (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/pollable.c:248,1
    - Dst: close
      Src: /src/glib/gio/tests/pollable.c:259,1
    - Dst: g_assert_not_pollable
      Src: /src/glib/gio/tests/pollable.c:257,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/pollable.c:253,1
    - Dst: g_open
      Src: /src/glib/gio/tests/pollable.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: test_pollable_unix_file
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_open
    - g_assert_not_pollable
    - g_test_skip
    - close
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_pollable_unix_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/tests/pollable.c:330,1
    - Dst: g_socket_listener_accept_finish
      Src: /src/glib/gio/tests/pollable.c:334,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/pollable.c:335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: server_connected
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_assert_no_error
    - g_socket_listener_accept_finish
    linkageType: ''
    returnType: void
    signature: "static void server_connected (GObject *source,\t\t GAsyncResult *result,\t\t
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/pollable.c:85,1
    - Dst: g_pollable_output_stream_is_writable
      Src: /src/glib/gio/tests/pollable.c:85,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/pollable.c:88,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:85,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/pollable.c:87,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/pollable.c:89,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/pollable.c:90,1
    - Dst: g_pollable_output_stream_is_writable
      Src: /src/glib/gio/tests/pollable.c:90,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:90,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/tests/pollable.c:93,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/tests/pollable.c:94,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/pollable.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: write_callback
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_pollable_input_stream_is_readable
    - G_POLLABLE_OUTPUT_STREAM
    - g_assert_no_error
    - g_pollable_output_stream_is_writable
    - g_output_stream_write
    - g_assert_true
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/pollable.c:122,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:123,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/pollable.c:126,1
    - Dst: g_pollable_input_stream_read_nonblocking
      Src: /src/glib/gio/tests/pollable.c:128,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/tests/pollable.c:149,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/pollable.c:123,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/tests/pollable.c:125,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/pollable.c:150,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/pollable.c:156,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/pollable.c:131,1
    - Dst: g_pollable_input_stream_create_source
      Src: /src/glib/gio/tests/pollable.c:148,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/pollable.c:152,1
    - Dst: g_idle_add_full
      Src: /src/glib/gio/tests/pollable.c:161,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/pollable.c:151,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/pollable.c:164,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/pollable.c:166,1
    - Dst: g_pollable_output_stream_can_poll
      Src: /src/glib/gio/tests/pollable.c:123,1
    - Dst: g_pollable_input_stream_can_poll
      Src: /src/glib/gio/tests/pollable.c:122,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/pollable.c:129,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/pollable.c:130,1
    - Dst: g_idle_add_full
      Src: /src/glib/gio/tests/pollable.c:159,1
    - Dst: g_idle_add_full
      Src: /src/glib/gio/tests/pollable.c:158,1
    - Dst: g_idle_add_full
      Src: /src/glib/gio/tests/pollable.c:160,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/pollable.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - GPollableInputStream*
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 167
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 167
    functionName: test_streams
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_pollable_input_stream_can_poll
    - g_clear_error
    - g_source_unref
    - g_pollable_input_stream_create_source
    - g_main_loop_run
    - g_source_attach
    - g_assert_cmpint
    - G_POLLABLE_OUTPUT_STREAM
    - g_pollable_output_stream_can_poll
    - g_pollable_input_stream_read_nonblocking
    - g_source_set_priority
    - g_pollable_input_stream_is_readable
    - g_main_loop_unref
    - g_main_loop_new
    - g_assert_error
    - g_source_set_callback
    - g_assert_false
    - g_idle_add_full
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_streams (GPollableInputStream *in, GOutputStream
      *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:64,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/pollable.c:66,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/tests/pollable.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: check_source_not_readable_callback
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - G_POLLABLE_INPUT_STREAM
    - g_assert_false
    - g_pollable_input_stream_is_readable
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_source_not_readable_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/pollable.c:194,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:199,1
    - Dst: pipe
      Src: /src/glib/gio/tests/pollable.c:196,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/pollable.c:199,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/pollable.c:197,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/pollable.c:200,1
    - Dst: test_streams
      Src: /src/glib/gio/tests/pollable.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:204,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: test_pollable_unix_pipe
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - pipe
    - g_assert_cmpint
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    - g_object_unref
    - test_streams
    - G_POLLABLE_INPUT_STREAM
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_pollable_unix_pipe (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/pollable.c:217,1
    - Dst: openpty
      Src: /src/glib/gio/tests/pollable.c:220,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/pollable.c:224,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:228,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/pollable.c:228,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/pollable.c:229,1
    - Dst: test_streams
      Src: /src/glib/gio/tests/pollable.c:231,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:233,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:234,1
    - Dst: close
      Src: /src/glib/gio/tests/pollable.c:236,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/pollable.c:239,1
    - Dst: close
      Src: /src/glib/gio/tests/pollable.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: test_pollable_unix_pty
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    - g_object_unref
    - g_test_skip
    - test_streams
    - G_POLLABLE_INPUT_STREAM
    - close
    - g_test_summary
    - openpty
    linkageType: ''
    returnType: void
    signature: 'static void test_pollable_unix_pty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/pollable.c:265,1
    - Dst: g_open
      Src: /src/glib/gio/tests/pollable.c:270,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/pollable.c:271,1
    - Dst: g_assert_not_pollable
      Src: /src/glib/gio/tests/pollable.c:273,1
    - Dst: close
      Src: /src/glib/gio/tests/pollable.c:275,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/pollable.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: test_pollable_unix_nulldev
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_open
    - g_assert_cmpint
    - g_assert_not_pollable
    - close
    - g_test_skip
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_pollable_unix_nulldev (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/glib/gio/tests/pollable.c:291,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/pollable.c:292,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/pollable.c:294,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/tests/pollable.c:295,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:294,1
    - Dst: g_charset_converter_new
      Src: /src/glib/gio/tests/pollable.c:295,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/pollable.c:296,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:298,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/tests/pollable.c:298,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:299,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/pollable.c:302,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:306,1
    - Dst: test_streams
      Src: /src/glib/gio/tests/pollable.c:304,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:307,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 308
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 308
    functionName: test_pollable_converter
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - pipe
    - g_assert_cmpint
    - g_converter_input_stream_new
    - G_CONVERTER
    - g_charset_converter_new
    - g_unix_input_stream_new
    - g_assert_no_error
    - g_object_unref
    - g_unix_output_stream_new
    - test_streams
    - G_POLLABLE_INPUT_STREAM
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_pollable_converter (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/pollable.c:317,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/pollable.c:322,1
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/tests/pollable.c:321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: client_connected
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_socket_client_connect_finish
    - g_assert_no_error
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: "static void client_connected (GObject *source,\t\t GAsyncResult *result,\t\t
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/pollable.c:367,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/pollable.c:350,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/tests/pollable.c:355,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:362,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/pollable.c:364,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/tests/pollable.c:375,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/pollable.c:376,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/pollable.c:376,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/pollable.c:375,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/pollable.c:373,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/pollable.c:375,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:382,1
    - Dst: test_streams
      Src: /src/glib/gio/tests/pollable.c:378,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:381,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:384,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:352,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/pollable.c:351,1
    - Dst: g_socket_listener_new
      Src: /src/glib/gio/tests/pollable.c:354,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/pollable.c:361,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/tests/pollable.c:366,1
    - Dst: g_socket_listener_accept_async
      Src: /src/glib/gio/tests/pollable.c:369,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:380,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/pollable.c:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 385
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 385
    functionName: test_pollable_socket
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_socket_listener_add_address
    - g_io_stream_get_input_stream
    - g_socket_listener_new
    - g_socket_client_connect_async
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    - g_inet_socket_address_new
    - g_assert_no_error
    - g_object_unref
    - test_streams
    - G_POLLABLE_INPUT_STREAM
    - g_socket_client_new
    - g_main_context_iteration
    - g_inet_address_new_loopback
    - g_socket_listener_accept_async
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: 'static void test_pollable_socket (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/pollable.c:391,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/pollable.c:395,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/pollable.c:394,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/pollable.c:396,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/pollable.c:397,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/pollable.c:398,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/pollable.c:400,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/pollable.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: main
    functionSourceFile: /src/glib/gio/tests/pollable.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:316,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/proxy-test.c:327,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/proxy-test.c:321,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/proxy-test.c:319,1
    - Dst: g_proxy_address_get_destination_protocol
      Src: /src/glib/gio/tests/proxy-test.c:318,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/proxy-test.c:328,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/proxy-test.c:332,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/proxy-test.c:333,1
    - Dst: g_ascii_toupper
      Src: /src/glib/gio/tests/proxy-test.c:337,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/tests/proxy-test.c:339,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/proxy-test.c:345,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/tests/proxy-test.c:348,1
    - Dst: g_error_copy
      Src: /src/glib/gio/tests/proxy-test.c:348,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 23
    argCount: 5
    argNames:
    - proxy
    - io_stream
    - proxy_address
    - cancellable
    - error
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 350
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 350
    functionName: g_proxy_base_connect
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_ascii_toupper
    - g_object_ref
    - g_proxy_address_get_destination_protocol
    - g_io_stream_get_output_stream
    - g_output_stream_write
    - g_error_copy
    - g_assert_no_error
    - strcmp
    - g_propagate_error
    - g_set_error_literal
    - g_input_stream_read
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: GIOStream*
    signature: "static GIOStream *g_proxy_base_connect (GProxy *proxy,\t\t GIOStream
      *io_stream,\t\t GProxyAddress *proxy_address,\t\t GCancellable *cancellable,\t\t
      GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:1361,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/proxy-test.c:1361,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1367,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:1362,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1368
    functionName: assert_override
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_cmpstr
    - g_assert_error
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void assert_override (GSocketConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/proxy-test.c:1475,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1479,1
    - Dst: assert_destination_port
      Src: /src/glib/gio/tests/proxy-test.c:1478,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1484,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/proxy-test.c:1486,1
    - Dst: assert_destination_port
      Src: /src/glib/gio/tests/proxy-test.c:1489,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1490,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1492,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/proxy-test.c:1494,1
    - Dst: assert_destination_port
      Src: /src/glib/gio/tests/proxy-test.c:1498,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1501,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1510,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1499,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1508,1
    - Dst: assert_destination_port
      Src: /src/glib/gio/tests/proxy-test.c:1507,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/proxy-test.c:1503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1511
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1511
    functionName: test_proxy_enumerator_ports
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - teardown_test
    - assert_destination_port
    - g_object_unref
    - g_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy_enumerator_ports (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1214,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1218,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1231,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1224,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1239,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1244,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1245,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1247,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1252,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1207,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1212,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1215,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1225,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1260,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1261,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1267,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1268,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1269,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1259,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1258,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/proxy-test.c:1204,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1208,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1236,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1232,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1234,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1221,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1237,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1249,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1250,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/proxy-test.c:1251,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1210,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1213,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1219,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1226,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1223,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/proxy-test.c:1238,1
    - Dst: g_proxy_resolver_lookup_async
      Src: /src/glib/gio/tests/proxy-test.c:1264,1
    - Dst: g_proxy_resolver_get_default
      Src: /src/glib/gio/tests/proxy-test.c:1264,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1270
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1270
    functionName: test_invalid_uris_async
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_free
    - g_clear_pointer
    - g_proxy_resolver_get_default
    - g_clear_object
    - g_clear_error
    - g_strdup_printf
    - g_socket_client_connect_to_uri_async
    - do_echo_test
    - g_proxy_resolver_lookup_async
    - g_main_context_iteration
    - g_assert_error
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: "static void test_invalid_uris_async (gpointer fixture,\t\t gconstpointer
      user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/proxy-test.c:364,1
    - Dst: g_proxy_connect
      Src: /src/glib/gio/tests/proxy-test.c:366,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/tests/proxy-test.c:371,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/proxy-test.c:369,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:372,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 6
    argNames:
    - proxy
    - io_stream
    - proxy_address
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 373
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 373
    functionName: g_proxy_base_connect_async
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_proxy_connect
    - g_object_unref
    - g_task_new
    - g_task_return_pointer
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void g_proxy_base_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_resolver_get_default
      Src: /src/glib/gio/tests/proxy-test.c:1379,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1391,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1403,1
    - Dst: assert_override
      Src: /src/glib/gio/tests/proxy-test.c:1410,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1413,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1419,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1424,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1428,1
    - Dst: assert_override
      Src: /src/glib/gio/tests/proxy-test.c:1431,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1434,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1437,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:1444,1
    - Dst: g_proxy_resolver_get_default
      Src: /src/glib/gio/tests/proxy-test.c:1446,1
    - Dst: assert_override
      Src: /src/glib/gio/tests/proxy-test.c:1440,1
    - Dst: g_socket_client_get_proxy_resolver
      Src: /src/glib/gio/tests/proxy-test.c:1444,1
    - Dst: g_socket_client_get_proxy_resolver
      Src: /src/glib/gio/tests/proxy-test.c:1446,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/proxy-test.c:1380,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1389,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1396,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1401,1
    - Dst: assert_override
      Src: /src/glib/gio/tests/proxy-test.c:1393,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1407,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1411,1
    - Dst: assert_override
      Src: /src/glib/gio/tests/proxy-test.c:1420,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1438,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1441,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:1446,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/proxy-test.c:1412,1
    - Dst: g_socket_client_get_proxy_resolver
      Src: /src/glib/gio/tests/proxy-test.c:1382,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1400,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1404,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1408,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1416,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1421,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1423,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1430,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1409,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1432,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1439,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/proxy-test.c:1422,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1442,1
    - Dst: g_socket_client_set_proxy_resolver
      Src: /src/glib/gio/tests/proxy-test.c:1445,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1427,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1447,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:1379,1
    - Dst: g_socket_client_get_proxy_resolver
      Src: /src/glib/gio/tests/proxy-test.c:1379,1
    - Dst: g_test_alt_proxy_resolver_get_type
      Src: /src/glib/gio/tests/proxy-test.c:1380,1
    - Dst: g_socket_client_set_proxy_resolver
      Src: /src/glib/gio/tests/proxy-test.c:1381,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:1382,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1390,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1399,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1392,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1394,1
    - Dst: assert_override
      Src: /src/glib/gio/tests/proxy-test.c:1402,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1448
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1448
    functionName: test_override
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_clear_error
    - g_test_alt_proxy_resolver_get_type
    - g_object_unref
    - g_proxy_resolver_get_default
    - g_assert_no_error
    - g_strdup_printf
    - teardown_test
    - g_socket_client_connect_to_uri_async
    - do_echo_test
    - g_main_context_iteration
    - g_assert_error
    - g_free
    - assert_override
    - g_socket_client_get_proxy_resolver
    - g_assert
    - g_clear_object
    - g_socket_client_set_proxy_resolver
    - g_socket_client_connect_to_uri
    linkageType: ''
    returnType: void
    signature: 'static void test_override (gpointer fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:624,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/proxy-test.c:626,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/proxy-test.c:635,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:636,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:639,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:647,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/tests/proxy-test.c:649,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:650,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:644,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/proxy-test.c:634,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:632,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/proxy-test.c:628,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:625,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/proxy-test.c:638,1
    - Dst: g_ascii_tolower
      Src: /src/glib/gio/tests/proxy-test.c:645,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/proxy-test.c:643,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/proxy-test.c:642,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:643,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:640,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/proxy-test.c:652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - proxy
    - proxy_protocol
    - destination_protocol
    - cancellable
    argTypes:
    - ProxyData*
    - gchar
    - gchar*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 653
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 653
    functionName: create_proxy
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_strdup
    - g_object_ref
    - g_socket_get_local_address
    - g_socket_bind
    - g_ascii_tolower
    - g_assert_no_error
    - g_inet_socket_address_new
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_strdup_printf
    - g_socket_listen
    - g_thread_new
    - g_socket_new
    - g_inet_address_new_loopback
    linkageType: ''
    returnType: void
    signature: "static void create_proxy (ProxyData *proxy,\t gchar proxy_protocol,\t
      const gchar *destination_protocol,\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/proxy-test.c:715,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/proxy-test.c:717,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/proxy-test.c:723,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:721,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/tests/proxy-test.c:724,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/proxy-test.c:725,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:726,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/proxy-test.c:728,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:729,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:730,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/tests/proxy-test.c:737,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/proxy-test.c:732,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:733,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/proxy-test.c:735,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:738,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:735,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/proxy-test.c:740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - data
    - cancellable
    argTypes:
    - ServerData*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 741
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 741
    functionName: create_server
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_object_ref
    - g_socket_get_local_address
    - g_socket_bind
    - g_assert_no_error
    - g_socket_set_blocking
    - g_inet_socket_address_new
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_socket_listen
    - g_thread_new
    - g_socket_new
    - g_inet_address_new_loopback
    linkageType: ''
    returnType: void
    signature: 'static void create_server (ServerData *data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER_CLASS
      Src: /src/glib/gio/tests/proxy-test.c:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - fake_class
    argTypes:
    - GFakeResolverClass*
    constantsTouched: []
    func_position:
      end: 840
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 840
    functionName: g_fake_resolver_class_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - G_RESOLVER_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_fake_resolver_class_init (GFakeResolverClass *fake_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:858,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:861,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 862
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 862
    functionName: teardown_test
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: "static void teardown_test (gpointer fixture,\t gconstpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:916,1
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/proxy-test.c:917,1
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/tests/proxy-test.c:917,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 920
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 920
    functionName: async_got_error
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_socket_client_connect_finish
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: "static void async_got_error (GObject *source,\t\t GAsyncResult *result,\t\t
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:986,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:990,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:988,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:992,1
    - Dst: assert_direct
      Src: /src/glib/gio/tests/proxy-test.c:994,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:995,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 997
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 997
    functionName: test_direct_async
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_free
    - assert_direct
    - g_object_unref
    - g_strdup_printf
    - g_socket_client_connect_to_uri_async
    - do_echo_test
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: "static void test_direct_async (gpointer fixture,\t\t gconstpointer
      user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gtr
    argTypes:
    - GFakeResolver*
    constantsTouched: []
    func_position:
      end: 758
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 758
    functionName: g_fake_resolver_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_fake_resolver_init (GFakeResolver *gtr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:929,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:932,1
    - Dst: g_proxy_resolver_lookup_finish
      Src: /src/glib/gio/tests/proxy-test.c:930,1
    - Dst: G_PROXY_RESOLVER
      Src: /src/glib/gio/tests/proxy-test.c:930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 933
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 933
    functionName: async_resolver_got_error
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_proxy_resolver_lookup_finish
    - G_PROXY_RESOLVER
    linkageType: ''
    returnType: void
    signature: 'static void async_resolver_got_error (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:1007,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:1009,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1010,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:1008,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/proxy-test.c:1007,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1011,1
    - Dst: g_socket_connection_get_remote_address
      Src: /src/glib/gio/tests/proxy-test.c:1013,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1014,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:1015,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:1015,1
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:1016,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/proxy-test.c:1018,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:1018,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:1019,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1021,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:1017,1
    - Dst: g_proxy_address_get_uri
      Src: /src/glib/gio/tests/proxy-test.c:1016,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 1022
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1022
    functionName: assert_single
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - G_PROXY_ADDRESS
    - G_INET_SOCKET_ADDRESS
    - g_assert_cmpint
    - g_assert
    - g_assert_no_error
    - g_assert_cmpstr
    - g_inet_socket_address_get_port
    - g_object_unref
    - g_socket_connection_get_remote_address
    - G_IS_PROXY_ADDRESS
    - g_proxy_address_get_uri
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void assert_single (GSocketConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_a_get_type
      Src: /src/glib/gio/tests/proxy-test.c:1530,1
    - Dst: g_socket_client_get_enable_proxy
      Src: /src/glib/gio/tests/proxy-test.c:1543,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1545,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1549,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1552,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1553,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/proxy-test.c:1563,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/proxy-test.c:1564,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/proxy-test.c:1555,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1559,1
    - Dst: g_test_proxy_resolver_get_type
      Src: /src/glib/gio/tests/proxy-test.c:1529,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/proxy-test.c:1532,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1546,1
    - Dst: create_server
      Src: /src/glib/gio/tests/proxy-test.c:1538,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:1543,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/proxy-test.c:1562,1
    - Dst: g_proxy_b_get_type
      Src: /src/glib/gio/tests/proxy-test.c:1531,1
    - Dst: g_fake_resolver_get_type
      Src: /src/glib/gio/tests/proxy-test.c:1534,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1547,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/proxy-test.c:1542,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1548,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/proxy-test.c:1557,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/proxy-test.c:1561,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/proxy-test.c:1521,1
    - Dst: g_proxy_get_default_for_protocol
      Src: /src/glib/gio/tests/proxy-test.c:1528,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/proxy-test.c:1534,1
    - Dst: g_resolver_set_default
      Src: /src/glib/gio/tests/proxy-test.c:1535,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/proxy-test.c:1537,1
    - Dst: create_proxy
      Src: /src/glib/gio/tests/proxy-test.c:1540,1
    - Dst: create_proxy
      Src: /src/glib/gio/tests/proxy-test.c:1539,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1550,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1551,1
    - Dst: g_test_add_vtable
      Src: /src/glib/gio/tests/proxy-test.c:1554,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1569
    functionName: main
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_test_add_vtable
    - g_object_new
    - g_proxy_a_get_type
    - g_test_proxy_resolver_get_type
    - g_test_init
    - g_fake_resolver_get_type
    - g_resolver_set_default
    - g_assert_cmpint
    - g_socket_client_get_enable_proxy
    - g_object_unref
    - g_test_run
    - create_server
    - g_thread_join
    - g_proxy_b_get_type
    - g_cancellable_new
    - g_test_add_func
    - g_cancellable_cancel
    - g_setenv
    - g_proxy_get_default_for_protocol
    - g_socket_client_new
    - create_proxy
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1299,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1305,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1308,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1304,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1323,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1326,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1330,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1337,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1347,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1351,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1329,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1353,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1288,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1298,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1301,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1317,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1318,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1334,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1338,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1342,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1348,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/proxy-test.c:1354,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1344,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/proxy-test.c:1341,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1291,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1287,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1292,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1293,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1313,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1314,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1316,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1320,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1325,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1328,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1333,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1286,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1289,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1295,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1300,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1303,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1309,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1324,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1335,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1340,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1350,1
    - Dst: teardown_test
      Src: /src/glib/gio/tests/proxy-test.c:1355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1356
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1356
    functionName: test_dns
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_free
    - g_clear_object
    - g_assert_no_error
    - g_clear_error
    - g_strdup_printf
    - teardown_test
    - g_socket_client_connect_to_uri_async
    - do_echo_test
    - g_socket_client_connect_to_uri
    - g_main_context_iteration
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "static void test_dns (gpointer fixture,\t gconstpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:941,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/proxy-test.c:941,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:942,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:943,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:944,1
    - Dst: g_socket_connection_get_remote_address
      Src: /src/glib/gio/tests/proxy-test.c:946,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:947,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:948,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:948,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:949,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:952,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:953,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:955,1
    - Dst: g_socket_connection_is_connected
      Src: /src/glib/gio/tests/proxy-test.c:955,1
    - Dst: g_socket_connection_get_local_address
      Src: /src/glib/gio/tests/proxy-test.c:951,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 956
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 956
    functionName: assert_direct
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_socket_connection_is_connected
    - g_assert
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_socket_connection_get_remote_address
    - G_IS_PROXY_ADDRESS
    - g_socket_connection_get_local_address
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void assert_direct (GSocketConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1145,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1146,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1147,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1154,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1155,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1165,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1166,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1156,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1167,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1170,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/proxy-test.c:1191,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1171,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1179,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1188,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1192,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/proxy-test.c:1142,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/proxy-test.c:1149,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1151,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/proxy-test.c:1158,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1160,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1169,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1176,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1178,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1181,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1185,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1177,1
    - Dst: g_proxy_resolver_get_default
      Src: /src/glib/gio/tests/proxy-test.c:1191,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1186,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1148,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1150,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1159,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1168,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1157,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1180,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/proxy-test.c:1182,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1187,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/proxy-test.c:1193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1194
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1194
    functionName: test_invalid_uris_sync
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_free
    - g_clear_pointer
    - g_proxy_resolver_get_default
    - g_assert_no_error
    - g_object_unref
    - g_clear_error
    - g_strdup_printf
    - do_echo_test
    - g_socket_client_connect_to_uri
    - g_assert_null
    - g_proxy_resolver_lookup
    - g_assert_error
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: "static void test_invalid_uris_sync (gpointer fixture,\t\t gconstpointer
      user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GProxyResolver*
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: g_test_proxy_resolver_is_supported
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_test_proxy_resolver_is_supported (GProxyResolver
      *resolver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/proxy-test.c:192,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/proxy-test.c:194,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/proxy-test.c:199,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/tests/proxy-test.c:197,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/tests/proxy-test.c:195,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - resolver
    - uri
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: g_test_proxy_resolver_lookup_async
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - g_task_return_pointer
    - g_task_return_error
    - g_proxy_resolver_lookup
    linkageType: ''
    returnType: void
    signature: "static void g_test_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_class
    argTypes:
    - GTestProxyResolverClass*
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: g_test_proxy_resolver_class_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_proxy_resolver_class_init (GTestProxyResolverClass
      *resolver_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GTestProxyResolver*
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: g_test_alt_proxy_resolver_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_alt_proxy_resolver_init (GTestProxyResolver *resolver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - resolver_class
    argTypes:
    - GTestProxyResolverClass*
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: g_test_alt_proxy_resolver_class_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_alt_proxy_resolver_class_init (GTestProxyResolverClass
      *resolver_class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_accept
      Src: /src/glib/gio/tests/proxy-test.c:672,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/proxy-test.c:676,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:675,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:680,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/proxy-test.c:684,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:685,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:686,1
    - Dst: g_socket_send
      Src: /src/glib/gio/tests/proxy-test.c:691,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:692,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:693,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:697,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:703,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:702,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:698,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/proxy-test.c:696,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:701,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 706
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 706
    functionName: echo_server_thread
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_socket_send
    - g_assert_cmpint
    - g_socket_receive
    - g_error_free
    - g_assert_no_error
    - g_object_unref
    - g_assert_error
    - g_socket_accept
    - g_socket_close
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer echo_server_thread (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/tests/proxy-test.c:766,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/proxy-test.c:771,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/proxy-test.c:767,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/proxy-test.c:767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - resolver
    - hostname
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 777
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 777
    functionName: g_fake_resolver_lookup_by_name
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_inet_address_new_from_string
    - g_list_prepend
    - strcmp
    linkageType: ''
    returnType: GList*
    signature: "static GList *g_fake_resolver_lookup_by_name (GResolver *resolver,\t\t\t\tconst
      gchar *hostname,\t\t\t\tGCancellable *cancellable,\t\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: setup_test
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void setup_test (gpointer fixture,\t gconstpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GTestProxyResolver*
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: g_test_proxy_resolver_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_proxy_resolver_init (GTestProxyResolver *resolver) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:130,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/tests/proxy-test.c:132,1
    - Dst: g_new
      Src: /src/glib/gio/tests/proxy-test.c:135,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:139,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/proxy-test.c:137,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/proxy-test.c:142,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:144,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/proxy-test.c:147,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:149,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/proxy-test.c:152,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:172,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:155,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:160,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:154,1
    - Dst: g_strdupv
      Src: /src/glib/gio/tests/proxy-test.c:176,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:171,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/proxy-test.c:158,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:161,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - resolver
    - uri
    - cancellable
    - error
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 179
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 179
    functionName: g_test_proxy_resolver_lookup
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert
    - g_strdupv
    - g_new
    - g_cancellable_set_error_if_cancelled
    - g_str_has_prefix
    linkageType: ''
    returnType: gchar**
    signature: "static gchar **g_test_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_assert_true
      Src: /src/glib/gio/tests/proxy-test.c:209,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/proxy-test.c:209,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/proxy-test.c:210,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/proxy-test.c:210,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/tests/proxy-test.c:210,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/proxy-test.c:212,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/proxy-test.c:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GProxyResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: g_test_proxy_resolver_lookup_finish
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_get_source_tag
    - G_TASK
    - g_task_propagate_pointer
    - g_assert_true
    linkageType: ''
    returnType: gchar**
    signature: "static gchar **g_test_proxy_resolver_lookup_finish (GProxyResolver
      *resolver,\t\t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GProxyResolverInterface*
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: g_test_proxy_resolver_iface_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_proxy_resolver_iface_init (GProxyResolverInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/tests/proxy-test.c:258,1
    - Dst: g_strdupv
      Src: /src/glib/gio/tests/proxy-test.c:263,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy-test.c:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - resolver
    - uri
    - cancellable
    - error
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: g_test_alt_proxy_resolver_lookup
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strdupv
    - g_new
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_test_alt_proxy_resolver_lookup (GProxyResolver *resolver,
      const gchar *uri, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GProxyResolverInterface*
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: g_test_alt_proxy_resolver_iface_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_test_alt_proxy_resolver_iface_init (GProxyResolverInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/proxy-test.c:788,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/proxy-test.c:790,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/proxy-test.c:794,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/proxy-test.c:795,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/proxy-test.c:794,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/proxy-test.c:799,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - resolver
    - hostname
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 804
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 804
    functionName: g_fake_resolver_lookup_by_name_async
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_inet_address_new_from_string
    - g_list_prepend
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - strcmp
    - g_task_return_new_error
    linkageType: ''
    returnType: void
    signature: "static void g_fake_resolver_lookup_by_name_async (GResolver *resolver,\t\t\t\t
      const gchar *hostname,\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_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:968,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:969,1
    - Dst: assert_direct
      Src: /src/glib/gio/tests/proxy-test.c:973,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:971,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:970,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:974,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:975,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 976
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 976
    functionName: test_direct_sync
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_no_error
    - assert_direct
    - g_object_unref
    - g_strdup_printf
    - do_echo_test
    - g_socket_client_connect_to_uri
    linkageType: ''
    returnType: void
    signature: "static void test_direct_sync (gpointer fixture,\t\t gconstpointer
      user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1052,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1056,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1054,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1058,1
    - Dst: assert_single
      Src: /src/glib/gio/tests/proxy-test.c:1060,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1061,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1063
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1063
    functionName: test_single_async
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - assert_single
    - g_free
    - g_object_unref
    - g_strdup_printf
    - g_socket_client_connect_to_uri_async
    - do_echo_test
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: "static void test_single_async (gpointer fixture,\t\t gconstpointer
      user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1101,1
    - Dst: assert_multiple
      Src: /src/glib/gio/tests/proxy-test.c:1106,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1104,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1103,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1102,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1107,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1109
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1109
    functionName: test_multiple_sync
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_no_error
    - g_object_unref
    - g_strdup_printf
    - do_echo_test
    - g_socket_client_connect_to_uri
    - assert_multiple
    linkageType: ''
    returnType: void
    signature: "static void test_multiple_sync (gpointer fixture,\t\t gconstpointer
      user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:1073,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:1076,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:1075,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:1074,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/proxy-test.c:1073,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1077,1
    - Dst: g_socket_connection_get_remote_address
      Src: /src/glib/gio/tests/proxy-test.c:1079,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1080,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:1081,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:1081,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:1084,1
    - Dst: g_proxy_address_get_uri
      Src: /src/glib/gio/tests/proxy-test.c:1082,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1087,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/proxy-test.c:1084,1
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:1082,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:1083,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:1085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1088
    functionName: assert_multiple
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - G_PROXY_ADDRESS
    - G_INET_SOCKET_ADDRESS
    - g_assert_cmpint
    - g_assert
    - g_proxy_address_get_uri
    - g_assert_no_error
    - g_assert_cmpstr
    - g_inet_socket_address_get_port
    - g_object_unref
    - g_socket_connection_get_remote_address
    - G_IS_PROXY_ADDRESS
    - g_assert_error
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void assert_multiple (GSocketConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/proxy-test.c:1458,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/proxy-test.c:1462,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1460,1
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:1463,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/tests/proxy-test.c:1462,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:1464,1
    - Dst: g_proxy_address_get_destination_port
      Src: /src/glib/gio/tests/proxy-test.c:1464,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1465,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - etor
    - port
    argTypes:
    - GSocketAddressEnumerator*
    - guint16
    constantsTouched: []
    func_position:
      end: 1468
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1468
    functionName: assert_destination_port
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert
    - g_socket_address_enumerator_next
    - g_assert_no_error
    - g_object_unref
    - g_proxy_address_get_destination_port
    - G_IS_PROXY_ADDRESS
    - G_PROXY_ADDRESS
    linkageType: ''
    returnType: void
    signature: 'static void assert_destination_port (GSocketAddressEnumerator *etor,
      guint16 port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/proxy-test.c:380,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/proxy-test.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - proxy
    - result
    - error
    argTypes:
    - GProxy*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: g_proxy_base_connect_finish
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GIOStream*
    signature: "static GIOStream *g_proxy_base_connect_finish (GProxy *proxy,\t\t\t
      GAsyncResult *result,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxyA*
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: g_proxy_a_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_a_init (GProxyA *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GProxyAClass*
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: g_proxy_a_class_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_a_class_init (GProxyAClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxyB*
    constantsTouched: []
    func_position:
      end: 457
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 457
    functionName: g_proxy_b_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_b_init (GProxyB *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GProxyBClass*
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: g_proxy_b_class_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_b_class_init (GProxyBClass *class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_with_blocking
      Src: /src/glib/gio/tests/proxy-test.c:495,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:503,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:499,1
    - Dst: g_socket_send_with_blocking
      Src: /src/glib/gio/tests/proxy-test.c:518,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/proxy-test.c:507,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:521,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 525
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 525
    functionName: proxy_bytes
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_socket_send_with_blocking
    - g_assert_no_error
    - g_socket_receive_with_blocking
    - g_main_loop_quit
    - g_assert_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean proxy_bytes (GSocket *socket,\t GIOCondition condition,\t
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_fake_resolver_lookup_by_name_async
      Src: /src/glib/gio/tests/proxy-test.c:815,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: 820
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 820
    functionName: g_fake_resolver_lookup_by_name_with_flags_async
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_fake_resolver_lookup_by_name_async
    linkageType: ''
    returnType: void
    signature: 'static void g_fake_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_IO_STREAM
      Src: /src/glib/gio/tests/proxy-test.c:870,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/proxy-test.c:871,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/proxy-test.c:872,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/proxy-test.c:878,1
    - Dst: strlen
      Src: /src/glib/gio/tests/proxy-test.c:878,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:880,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:881,1
    - Dst: strlen
      Src: /src/glib/gio/tests/proxy-test.c:881,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/proxy-test.c:885,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:888,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:893,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 894
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 894
    functionName: do_echo_test
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - G_IO_STREAM
    - g_io_stream_get_output_stream
    - g_assert_no_error
    - g_assert_cmpstr
    - g_output_stream_write_all
    - g_input_stream_read
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void do_echo_test (GSocketConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxyBase*
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: g_proxy_base_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_base_init (GProxyBase *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GProxyBaseClass*
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: g_proxy_base_class_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_base_class_init (GProxyBaseClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxy*
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: g_proxy_a_supports_hostname
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_proxy_a_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: 432
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: g_proxy_a_iface_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_a_iface_init (GProxyInterface *proxy_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxy*
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: g_proxy_b_supports_hostname
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_proxy_b_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: 477
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: g_proxy_b_iface_init
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_b_iface_init (GProxyInterface *proxy_iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:553,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/tests/proxy-test.c:574,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/proxy-test.c:569,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:573,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/proxy-test.c:587,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/proxy-test.c:591,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/proxy-test.c:595,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/proxy-test.c:598,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/proxy-test.c:537,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/proxy-test.c:546,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/proxy-test.c:538,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:550,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:561,1
    - Dst: g_socket_send
      Src: /src/glib/gio/tests/proxy-test.c:565,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/proxy-test.c:567,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/tests/proxy-test.c:577,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/proxy-test.c:579,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/proxy-test.c:583,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:604,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:609,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/proxy-test.c:601,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/proxy-test.c:545,1
    - Dst: g_socket_accept
      Src: /src/glib/gio/tests/proxy-test.c:542,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:575,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/proxy-test.c:562,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/proxy-test.c:578,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/tests/proxy-test.c:581,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/proxy-test.c:582,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:588,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:592,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/proxy-test.c:597,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/proxy-test.c:602,1
    - Dst: g_socket_receive
      Src: /src/glib/gio/tests/proxy-test.c:552,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/proxy-test.c:557,1
    - Dst: g_ascii_toupper
      Src: /src/glib/gio/tests/proxy-test.c:564,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:566,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/proxy-test.c:585,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/proxy-test.c:589,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/proxy-test.c:593,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/proxy-test.c:596,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:607,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:608,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:605,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 612
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 612
    functionName: proxy_thread
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_socket_connect
    - g_main_context_unref
    - g_source_unref
    - g_main_loop_run
    - g_source_attach
    - g_source_destroy
    - g_main_context_new
    - g_ascii_toupper
    - g_assert_cmpint
    - g_socket_receive
    - g_object_unref
    - g_socket_create_source
    - g_socket_new
    - g_socket_accept
    - g_socket_close
    - g_error_free
    - g_assert_no_error
    - g_main_loop_unref
    - g_main_loop_new
    - g_assert_error
    - g_socket_send
    - g_source_set_callback
    - g_free
    - g_clear_object
    - g_assert_cmpstr
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer proxy_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/proxy-test.c:827,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/proxy-test.c:827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 828
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 828
    functionName: g_fake_resolver_lookup_by_name_finish
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GList*
    signature: "static GList *g_fake_resolver_lookup_by_name_finish (GResolver *resolver,\t\t\t\t
      GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/tests/proxy-test.c:904,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:906,1
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/proxy-test.c:904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 907
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 907
    functionName: async_got_conn
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_socket_client_connect_finish
    - g_assert_no_error
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: "static void async_got_conn (GObject *source,\t\tGAsyncResult *result,\t\tgpointer
      user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1033,1
    - Dst: assert_single
      Src: /src/glib/gio/tests/proxy-test.c:1038,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy-test.c:1034,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/proxy-test.c:1036,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1035,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1040,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1042
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1042
    functionName: test_single_sync
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - assert_single
    - g_free
    - g_assert_no_error
    - g_object_unref
    - g_strdup_printf
    - do_echo_test
    - g_socket_client_connect_to_uri
    linkageType: ''
    returnType: void
    signature: "static void test_single_sync (gpointer fixture,\t\t gconstpointer
      user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/proxy-test.c:1121,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy-test.c:1123,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy-test.c:1125,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/proxy-test.c:1127,1
    - Dst: assert_multiple
      Src: /src/glib/gio/tests/proxy-test.c:1129,1
    - Dst: do_echo_test
      Src: /src/glib/gio/tests/proxy-test.c:1130,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy-test.c:1131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - gpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1132
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1132
    functionName: test_multiple_async
    functionSourceFile: /src/glib/gio/tests/proxy-test.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - g_strdup_printf
    - g_socket_client_connect_to_uri_async
    - do_echo_test
    - g_main_context_iteration
    - assert_multiple
    linkageType: ''
    returnType: void
    signature: "static void test_multiple_async (gpointer fixture,\t\t gconstpointer
      user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gnotification-server.c:138,1
    - Dst: g_notification_server_notification_added
      Src: /src/glib/gio/tests/gnotification-server.c:145,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gnotification-server.c:148,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gnotification-server.c:144,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gnotification-server.c:146,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gnotification-server.c:150,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gnotification-server.c:155,1
    - Dst: g_notification_server_notification_removed
      Src: /src/glib/gio/tests/gnotification-server.c:156,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gnotification-server.c:157,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gnotification-server.c:161,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    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: 163
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 163
    functionName: org_gtk_Notifications_method_call
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_notification_server_notification_removed
    - g_notification_server_notification_added
    - g_dbus_method_invocation_return_dbus_error
    - g_variant_unref
    - g_variant_get
    - g_dbus_method_invocation_return_value
    linkageType: ''
    returnType: void
    signature: 'static void org_gtk_Notifications_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_hash_table_lookup
      Src: /src/glib/gio/tests/gnotification-server.c:95,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/tests/gnotification-server.c:103,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/tests/gnotification-server.c:98,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/gnotification-server.c:100,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gnotification-server.c:100,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gnotification-server.c:103,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/tests/gnotification-server.c:103,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/tests/gnotification-server.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - server
    - app_id
    - notification_id
    - notification
    argTypes:
    - GNotificationServer*
    - gchar*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: g_notification_server_notification_added
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_strdup
    - g_hash_table_insert
    - g_hash_table_replace
    - g_variant_ref
    - g_hash_table_new_full
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_server_notification_added (GNotificationServer
      *server, const gchar *app_id, const gchar *notification_id, GVariant *notification) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION_SERVER
      Src: /src/glib/gio/tests/gnotification-server.c:184,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/tests/gnotification-server.c:189,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/tests/gnotification-server.c:193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: g_notification_server_get_property
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_NOTIFICATION_SERVER
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_server_get_property (GObject *object, guint
      property_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gnotification-server.c:228,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gnotification-server.c:233,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gnotification-server.c:235,1
    - Dst: org_gtk_Notifications_get_interface
      Src: /src/glib/gio/tests/gnotification-server.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: g_notification_server_bus_acquired
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - g_assert
    - org_gtk_Notifications_get_interface
    - g_object_ref
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_server_bus_acquired (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_notification_server_stop
      Src: /src/glib/gio/tests/gnotification-server.c:256,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gnotification-server.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: g_notification_server_name_lost
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - g_notification_server_stop
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_server_name_lost (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gnotification-server.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: g_notification_server_new
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GNotificationServer*
    signature: 'GNotificationServer *g_notification_server_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gnotification-server.c:310,1
    - Dst: G_IS_NOTIFICATION_SERVER
      Src: /src/glib/gio/tests/gnotification-server.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - GNotificationServer*
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: g_notification_server_get_is_running
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION_SERVER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_notification_server_get_is_running (GNotificationServer
      *server) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gnotification-server.c:59,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gnotification-server.c:75,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/tests/gnotification-server.c:80,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gnotification-server.c:77,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gnotification-server.c:78,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gnotification-server.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 85
    functionName: org_gtk_Notifications_get_interface
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_error
    - g_dbus_node_info_lookup_interface
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *org_gtk_Notifications_get_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION_SERVER
      Src: /src/glib/gio/tests/gnotification-server.c:168,1
    - Dst: g_notification_server_stop
      Src: /src/glib/gio/tests/gnotification-server.c:170,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gnotification-server.c:173,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gnotification-server.c:172,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gnotification-server.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: g_notification_server_dispose
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - G_NOTIFICATION_SERVER
    - g_clear_pointer
    - g_clear_object
    - g_notification_server_stop
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_server_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/gnotification-server.c:115,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/tests/gnotification-server.c:123,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/tests/gnotification-server.c:118,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/tests/gnotification-server.c:119,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/tests/gnotification-server.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - server
    - app_id
    - notification_id
    argTypes:
    - GNotificationServer*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: g_notification_server_notification_removed
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_hash_table_size
    - g_hash_table_lookup
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_server_notification_removed (GNotificationServer
      *server, const gchar *app_id, const gchar *notification_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gnotification-server.c:200,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/tests/gnotification-server.c:206,1
    - Dst: g_signal_new
      Src: /src/glib/gio/tests/gnotification-server.c:213,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/tests/gnotification-server.c:205,1
    - Dst: g_signal_new
      Src: /src/glib/gio/tests/gnotification-server.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - class
    argTypes:
    - GNotificationServerClass*
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: g_notification_server_class_init
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_boolean
    - g_signal_new
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_server_class_init (GNotificationServerClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/tests/gnotification-server.c:246,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gnotification-server.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: g_notification_server_name_acquired
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_notify
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_server_name_acquired (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/tests/gnotification-server.c:265,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gnotification-server.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - server
    argTypes:
    - GNotificationServer*
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: g_notification_server_init
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_bus_own_name
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_server_init (GNotificationServer *server) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/tests/gnotification-server.c:286,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gnotification-server.c:296,1
    - Dst: g_object_notify
      Src: /src/glib/gio/tests/gnotification-server.c:303,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gnotification-server.c:290,1
    - Dst: G_IS_NOTIFICATION_SERVER
      Src: /src/glib/gio/tests/gnotification-server.c:286,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gnotification-server.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - server
    argTypes:
    - GNotificationServer*
    constantsTouched: []
    func_position:
      end: 305
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 305
    functionName: g_notification_server_stop
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_dbus_connection_unregister_object
    - G_IS_NOTIFICATION_SERVER
    - g_object_notify
    - g_bus_unown_name
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_server_stop (GNotificationServer *server) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gnotification-server.c:318,1
    - Dst: G_IS_NOTIFICATION_SERVER
      Src: /src/glib/gio/tests/gnotification-server.c:318,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/gio/tests/gnotification-server.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - server
    argTypes:
    - GNotificationServer*
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: g_notification_server_list_applications
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION_SERVER
    - g_return_val_if_fail
    - g_hash_table_get_keys_as_array
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_notification_server_list_applications (GNotificationServer
      *server) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gnotification-server.c:329,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/gnotification-server.c:332,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/gio/tests/gnotification-server.c:337,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gnotification-server.c:330,1
    - Dst: G_IS_NOTIFICATION_SERVER
      Src: /src/glib/gio/tests/gnotification-server.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - server
    - app_id
    argTypes:
    - GNotificationServer*
    - gchar*
    constantsTouched: []
    func_position:
      end: 338
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 338
    functionName: g_notification_server_list_notifications
    functionSourceFile: /src/glib/gio/tests/gnotification-server.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION_SERVER
    - g_return_val_if_fail
    - g_hash_table_get_keys_as_array
    - g_hash_table_lookup
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_notification_server_list_notifications (GNotificationServer
      *server, const gchar *app_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_flatpak_info
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:31,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:31,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:35,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:35,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:36,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:36,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:37,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-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_gsettings_only
    functionSourceFile: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - glib_network_available_in_sandbox
    - create_fake_flatpak_info
    - glib_should_use_portal
    - g_get_user_runtime_dir
    - glib_has_dconf_access_in_sandbox
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_flatpak_gsettings_only (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:43,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:47,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/portal-support-flatpak-gsettings-only.c:45,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-gsettings-only.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:224,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:232,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:232,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/actions.c:256,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:255,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:263,1
    - Dst: g_simple_action_group_remove
      Src: /src/glib/gio/tests/actions.c:269,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:249,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/actions.c:249,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:250,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:242,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:276,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/actions.c:261,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:251,1
    - Dst: g_action_group_get_action_enabled
      Src: /src/glib/gio/tests/actions.c:246,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:233,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:273,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:281,1
    - Dst: g_action_group_get_action_enabled
      Src: /src/glib/gio/tests/actions.c:267,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/actions.c:220,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:229,1
    - Dst: g_simple_action_group_insert
      Src: /src/glib/gio/tests/actions.c:236,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/actions.c:251,1
    - Dst: g_action_group_get_action_state_hint
      Src: /src/glib/gio/tests/actions.c:252,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:240,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:250,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:248,1
    - Dst: g_simple_action_new_stateful
      Src: /src/glib/gio/tests/actions.c:235,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:243,1
    - Dst: g_action_group_get_action_enabled
      Src: /src/glib/gio/tests/actions.c:247,1
    - Dst: g_action_group_get_action_state_hint
      Src: /src/glib/gio/tests/actions.c:253,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/actions.c:275,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:277,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:280,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/actions.c:260,1
    - Dst: g_simple_action_group_insert
      Src: /src/glib/gio/tests/actions.c:228,1
    - Dst: g_action_group_has_action
      Src: /src/glib/gio/tests/actions.c:240,1
    - Dst: strv_set_equal
      Src: /src/glib/gio/tests/actions.c:244,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:245,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:246,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:256,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/actions.c:243,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/actions.c:221,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:231,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:237,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:239,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:251,1
    - Dst: g_simple_action_group_lookup
      Src: /src/glib/gio/tests/actions.c:265,1
    - Dst: g_simple_action_group_lookup
      Src: /src/glib/gio/tests/actions.c:272,1
    - Dst: g_simple_action_group_insert
      Src: /src/glib/gio/tests/actions.c:276,1
    - Dst: g_simple_action_group_new
      Src: /src/glib/gio/tests/actions.c:227,1
    - Dst: g_action_group_get_action_state_type
      Src: /src/glib/gio/tests/actions.c:251,1
    - Dst: g_action_group_has_action
      Src: /src/glib/gio/tests/actions.c:241,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:262,1
    - Dst: g_simple_action_set_enabled
      Src: /src/glib/gio/tests/actions.c:266,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:223,1
    - Dst: g_action_group_get_action_parameter_type
      Src: /src/glib/gio/tests/actions.c:249,1
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/tests/actions.c:266,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:267,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:254,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:235,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:242,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:257,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:267,1
    - Dst: g_simple_action_group_lookup
      Src: /src/glib/gio/tests/actions.c:270,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:260,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:247,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/actions.c:256,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:260,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:252,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/actions.c:223,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:228,1
    - Dst: g_action_group_has_action
      Src: /src/glib/gio/tests/actions.c:239,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:244,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:249,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:253,1
    - Dst: g_action_group_get_action_state_type
      Src: /src/glib/gio/tests/actions.c:250,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/actions.c:257,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/actions.c:262,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:252,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:253,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:248,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:246,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:247,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:258,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:254,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:271,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/actions.c:271,1
    - Dst: g_action_group_get_action_parameter_type
      Src: /src/glib/gio/tests/actions.c:248,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/actions.c:221,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:222,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:236,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:239,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:240,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:241,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/actions.c:254,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/actions.c:255,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 112
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 282
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 282
    functionName: test_simple_group
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - strv_set_equal
    - g_action_group_get_action_enabled
    - g_action_group_get_action_state_hint
    - g_action_group_list_actions
    - g_strfreev
    - g_action_group_get_action_state
    - G_ACTION
    - g_assert_cmpint
    - g_action_group_activate_action
    - g_variant_new_string
    - g_object_unref
    - g_simple_action_group_insert
    - g_action_group_get_action_parameter_type
    - G_SIMPLE_ACTION
    - g_simple_action_set_enabled
    - g_variant_get_string
    - g_simple_action_group_lookup
    - G_ACTION_GROUP
    - g_signal_connect
    - g_variant_type_equal
    - g_action_group_change_action_state
    - g_variant_unref
    - g_action_activate
    - G_CALLBACK
    - g_simple_action_new
    - g_variant_get_type
    - g_assert_null
    - g_action_group_get_action_state_type
    - g_strv_length
    - g_simple_action_new_stateful
    - g_assert_false
    - g_simple_action_group_remove
    - g_assert_cmpstr
    - g_action_get_name
    - g_assert_true
    - g_simple_action_group_new
    - g_action_group_has_action
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_simple_group (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:380,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/actions.c:381,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/actions.c:380,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - simple
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: activate_bar
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_variant_get_string
    - g_assert_true
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void activate_bar (GSimpleAction *simple, GVariant *parameter,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/actions.c:756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - action_group
    - action_name
    - value
    - user_data
    argTypes:
    - GActionGroup*
    - char*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 757
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 757
    functionName: action_state_changed_cb
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void action_state_changed_cb (GActionGroup *action_group, char
      *action_name, GVariant *value, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:293,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:294,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:295,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:299,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:305,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:309,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/tests/actions.c:312,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/actions.c:313,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:313,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/actions.c:323,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/tests/actions.c:326,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:328,1
    - Dst: g_simple_action_new_stateful
      Src: /src/glib/gio/tests/actions.c:292,1
    - Dst: g_action_get_state_hint
      Src: /src/glib/gio/tests/actions.c:295,1
    - Dst: g_action_get_state_type
      Src: /src/glib/gio/tests/actions.c:296,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/actions.c:296,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/actions.c:298,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/actions.c:302,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/tests/actions.c:307,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:308,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:314,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:324,1
    - Dst: g_action_get_parameter_type
      Src: /src/glib/gio/tests/actions.c:294,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:296,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/actions.c:299,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/actions.c:304,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:312,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/actions.c:314,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:315,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:317,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/actions.c:323,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:327,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/actions.c:321,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:331,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:293,1
    - Dst: g_action_get_enabled
      Src: /src/glib/gio/tests/actions.c:293,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:292,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:294,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:295,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:298,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:296,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:300,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/actions.c:304,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/actions.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 332
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 332
    functionName: test_stateful
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_action_get_parameter_type
    - g_variant_new_int32
    - g_action_get_state
    - G_ACTION
    - g_action_get_state_type
    - g_test_undefined
    - g_variant_new_string
    - g_object_unref
    - g_test_expect_message
    - g_variant_get_string
    - g_variant_type_equal
    - g_variant_unref
    - g_action_get_enabled
    - g_simple_action_new
    - g_assert_null
    - g_variant_ref_sink
    - g_simple_action_new_stateful
    - g_simple_action_set_state
    - g_action_get_state_hint
    - g_assert_cmpstr
    - g_assert_true
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS static void test_stateful (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/actions.c:392,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/tests/actions.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - action
    - value
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: change_volume_state
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_variant_get_int32
    - g_simple_action_set_state
    linkageType: ''
    returnType: void
    signature: 'static void change_volume_state (GSimpleAction *action, GVariant *value,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:801,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/actions.c:827,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:881,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:893,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:861,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:872,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:894,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/actions.c:912,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:976,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:1006,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/actions.c:1118,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1039,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1084,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/actions.c:972,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/actions.c:1110,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:795,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/actions.c:914,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:990,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/actions.c:1019,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1041,1
    - Dst: g_simple_action_set_enabled
      Src: /src/glib/gio/tests/actions.c:1056,1
    - Dst: compare_action_groups
      Src: /src/glib/gio/tests/actions.c:1061,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:969,1
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/tests/actions.c:1063,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:1086,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:1090,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:1096,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1069,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1097,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/actions.c:1035,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:1108,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:856,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/actions.c:791,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/actions.c:809,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:857,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:858,1
    - Dst: g_variant_iter_n_children
      Src: /src/glib/gio/tests/actions.c:858,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:910,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/actions.c:960,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/actions.c:988,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:995,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1087,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1061,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1098,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/actions.c:1111,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:805,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/actions.c:810,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:901,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/actions.c:901,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/actions.c:917,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:919,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:962,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/actions.c:1031,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1048,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1051,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/actions.c:1098,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/actions.c:1099,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:1086,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/actions.c:778,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:796,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:805,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/actions.c:826,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:865,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:893,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/actions.c:913,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:919,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:936,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/actions.c:990,1
    - Dst: g_simple_action_new_stateful
      Src: /src/glib/gio/tests/actions.c:1046,1
    - Dst: g_dbus_connection_unexport_action_group
      Src: /src/glib/gio/tests/actions.c:1114,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:1111,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1094,1
    - Dst: compare_action_groups
      Src: /src/glib/gio/tests/actions.c:1109,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/actions.c:888,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/actions.c:777,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:783,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/actions.c:787,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/actions.c:790,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:887,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:946,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:991,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:995,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1061,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1099,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1122,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1040,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:969,1
    - Dst: g_simple_action_group_lookup
      Src: /src/glib/gio/tests/actions.c:1055,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:831,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/actions.c:862,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/actions.c:884,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/actions.c:791,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/actions.c:792,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:829,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:890,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/actions.c:860,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:894,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/actions.c:942,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/actions.c:963,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1109,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1053,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/actions.c:1103,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1097,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/actions.c:1034,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/actions.c:868,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/actions.c:836,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:786,1
    - Dst: g_dbus_action_group_get
      Src: /src/glib/gio/tests/actions.c:789,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/actions.c:792,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/actions.c:793,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/actions.c:896,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/actions.c:931,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/actions.c:992,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/actions.c:1012,1
    - Dst: compare_action_groups
      Src: /src/glib/gio/tests/actions.c:1097,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1097,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/actions.c:1116,1
    - Dst: compare_action_groups
      Src: /src/glib/gio/tests/actions.c:1053,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:1108,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1091,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/actions.c:805,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/actions.c:828,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/actions.c:853,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:976,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:985,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1040,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1053,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/actions.c:1064,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1069,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1076,1
    - Dst: compare_action_groups
      Src: /src/glib/gio/tests/actions.c:1076,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:1112,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1120,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:1081,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1106,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:823,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:865,1
    - Dst: g_dbus_connection_export_action_group
      Src: /src/glib/gio/tests/actions.c:786,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/actions.c:790,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:849,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:915,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/actions.c:933,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/actions.c:961,1
    - Dst: g_simple_action_group_insert
      Src: /src/glib/gio/tests/actions.c:1047,1
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/tests/actions.c:1055,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:1100,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1109,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1087,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/actions.c:1124,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1076,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:1096,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/actions.c:851,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:797,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:804,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:806,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/actions.c:883,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/actions.c:897,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/actions.c:1032,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:1047,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1061,1
    - Dst: g_simple_action_group_lookup
      Src: /src/glib/gio/tests/actions.c:1063,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:1080,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:1090,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/actions.c:971,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/actions.c:1013,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/actions.c:867,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/actions.c:886,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:890,1
    - Dst: g_free
      Src: /src/glib/gio/tests/actions.c:830,1
    - Dst: g_simple_action_group_add_entries
      Src: /src/glib/gio/tests/actions.c:781,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/actions.c:796,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/actions.c:829,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/actions.c:938,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/actions.c:941,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:968,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1121,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/actions.c:987,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:1017,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:1080,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/actions.c:825,1
    - Dst: g_free
      Src: /src/glib/gio/tests/actions.c:859,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/actions.c:915,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:994,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:1033,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1059,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1081,1
    - Dst: compare_action_groups
      Src: /src/glib/gio/tests/actions.c:1040,1
    - Dst: compare_action_groups
      Src: /src/glib/gio/tests/actions.c:1069,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:1083,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/actions.c:1119,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/actions.c:1103,1
    - Dst: g_simple_action_group_new
      Src: /src/glib/gio/tests/actions.c:780,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/actions.c:793,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:802,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/actions.c:852,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/actions.c:855,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/actions.c:835,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/actions.c:885,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:804,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:920,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/actions.c:948,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1074,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1087,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:994,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1076,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:1091,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1069,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/actions.c:1117,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:840,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:886,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/actions.c:789,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/actions.c:829,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/actions.c:832,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:920,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/actions.c:964,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:1010,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1029,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/actions.c:1046,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1110,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1067,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:958,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:795,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:916,1
    - Dst: activation_count
      Src: /src/glib/gio/tests/actions.c:968,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/actions.c:989,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:1005,1
    - Dst: g_variant_new_variant
      Src: /src/glib/gio/tests/actions.c:1019,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1053,1
    - Dst: g_simple_action_group_remove
      Src: /src/glib/gio/tests/actions.c:1071,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1103,1
    - Dst: G_IS_DBUS_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1039,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/tests/actions.c:1064,1
    - Dst: compare_action_groups
      Src: /src/glib/gio/tests/actions.c:1087,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/tests/actions.c:1007,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 284
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1125
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 1125
    functionName: test_dbus_export
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_unexport_action_group
    - g_variant_get_boolean
    - g_action_group_list_actions
    - g_steal_pointer
    - g_clear_error
    - g_strfreev
    - g_action_group_get_action_state
    - g_dbus_connection_get_unique_name
    - G_ACTION
    - g_assert_cmpint
    - g_variant_new_string
    - g_simple_action_group_add_entries
    - g_action_group_activate_action
    - g_assert_nonnull
    - activation_count
    - g_bus_get_sync
    - g_object_unref
    - g_simple_action_group_insert
    - G_SIMPLE_ACTION
    - g_variant_new
    - ensure_state
    - g_simple_action_set_enabled
    - g_dbus_connection_export_action_group
    - g_simple_action_group_lookup
    - G_ACTION_GROUP
    - g_signal_connect
    - g_action_group_change_action_state
    - g_assert_cmpuint
    - g_variant_iter_n_children
    - g_assert_no_error
    - g_variant_unref
    - session_bus_up
    - g_variant_get
    - g_variant_iter_free
    - G_CALLBACK
    - g_variant_new_boolean
    - g_main_context_iteration
    - g_assert_null
    - g_signal_handler_disconnect
    - g_assert_error
    - g_strv_length
    - g_variant_new_parsed
    - g_simple_action_new_stateful
    - g_simple_action_set_state
    - g_dbus_action_group_get
    - g_assert_false
    - g_free
    - compare_action_groups
    - g_simple_action_group_remove
    - g_dbus_connection_call
    - g_variant_new_uint32
    - g_clear_object
    - g_variant_new_variant
    - session_bus_down
    - g_assert_cmpstr
    - G_IS_DBUS_ACTION_GROUP
    - g_dbus_connection_call_finish
    - G_N_ELEMENTS
    - g_assert_true
    - g_simple_action_group_new
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_export (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_action_group_new
      Src: /src/glib/gio/tests/actions.c:419,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:430,1
    - Dst: g_simple_action_group_add_entries
      Src: /src/glib/gio/tests/actions.c:451,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:452,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/actions.c:460,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/actions.c:463,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:467,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/actions.c:468,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:469,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:471,1
    - Dst: g_action_map_remove_action_entries
      Src: /src/glib/gio/tests/actions.c:477,1
    - Dst: g_action_map_add_action_entries
      Src: /src/glib/gio/tests/actions.c:483,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/actions.c:485,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:477,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/actions.c:489,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:473,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/actions.c:422,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:424,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:425,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:429,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:447,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:457,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/actions.c:461,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/actions.c:462,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:462,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:463,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/actions.c:467,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/actions.c:474,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/actions.c:479,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/actions.c:479,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:485,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:488,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:492,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:475,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:464,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/actions.c:483,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:426,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:432,1
    - Dst: g_simple_action_group_add_entries
      Src: /src/glib/gio/tests/actions.c:446,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:449,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/actions.c:435,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:444,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:456,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/actions.c:456,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:460,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/actions.c:470,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/actions.c:477,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:478,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:484,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/actions.c:489,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:474,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:480,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/actions.c:487,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/actions.c:485,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:490,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:421,1
    - Dst: g_simple_action_group_add_entries
      Src: /src/glib/gio/tests/actions.c:420,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:425,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:430,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:431,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:433,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/actions.c:455,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:455,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/actions.c:469,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:470,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:473,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:478,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/actions.c:474,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:488,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:486,1
    - Dst: g_action_map_remove_action_entries
      Src: /src/glib/gio/tests/actions.c:487,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 84
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 493
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 493
    functionName: test_entries
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_variant_new_int32
    - g_action_group_list_actions
    - G_ACTION_MAP
    - g_strfreev
    - g_action_group_get_action_state
    - g_test_undefined
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_action_group_activate_action
    - g_simple_action_group_add_entries
    - g_variant_new_string
    - g_object_unref
    - g_test_expect_message
    - G_ACTION_GROUP
    - g_action_group_change_action_state
    - g_assert_cmpuint
    - g_variant_unref
    - g_strv_length
    - g_assert_false
    - g_variant_get_int32
    - g_action_map_remove_action_entries
    - g_action_map_add_action_entries
    - G_N_ELEMENTS
    - g_assert_true
    - g_simple_action_group_new
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_entries (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_activation
      Src: /src/glib/gio/tests/actions.c:618,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/actions.c:618,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/actions.c:620,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:620,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:618,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/actions.c:621,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/actions.c:621,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/tests/actions.c:622,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: activate_toggle
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_variant_get_boolean
    - g_variant_unref
    - g_variant_new_boolean
    - G_ACTION
    - g_action_get_name
    - count_activation
    - g_simple_action_set_state
    - g_action_get_state
    linkageType: ''
    returnType: void
    signature: 'static void activate_toggle (GSimpleAction *action, GVariant *parameter,
      gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:651,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/tests/actions.c:657,1
    - Dst: strv_strv_cmp
      Src: /src/glib/gio/tests/actions.c:653,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/tests/actions.c:658,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:652,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/actions.c:663,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/actions.c:664,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/tests/actions.c:665,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/tests/actions.c:666,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:669,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:681,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:675,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:682,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:673,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:671,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 54
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GActionGroup*
    - GActionGroup*
    constantsTouched: []
    func_position:
      end: 685
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 685
    functionName: compare_action_groups
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_action_group_query_action
    - g_variant_unref
    - g_action_group_list_actions
    - g_strfreev
    - g_variant_equal
    - strv_strv_cmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean compare_action_groups (GActionGroup *a, GActionGroup
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/actions.c:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - action_group
    - action_name
    - user_data
    argTypes:
    - GActionGroup*
    - char*
    - gpointer
    constantsTouched: []
    func_position:
      end: 733
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 733
    functionName: action_added_removed_cb
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void action_added_removed_cb
      (GActionGroup *action_group, char *action_name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/actions.c:1139,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/actions.c:1141,1
    - Dst: g_dbus_connection_export_action_group
      Src: /src/glib/gio/tests/actions.c:1148,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/actions.c:1144,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/actions.c:1143,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1148,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/actions.c:1149,1
    - Dst: g_simple_action_group_lookup
      Src: /src/glib/gio/tests/actions.c:1151,1
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1151,1
    - Dst: g_simple_action_set_enabled
      Src: /src/glib/gio/tests/actions.c:1152,1
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/tests/actions.c:1152,1
    - Dst: g_dbus_connection_unexport_action_group
      Src: /src/glib/gio/tests/actions.c:1155,1
    - Dst: g_free
      Src: /src/glib/gio/tests/actions.c:1160,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1161,1
    - Dst: g_action_get_enabled
      Src: /src/glib/gio/tests/actions.c:1153,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/actions.c:1165,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1157,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/actions.c:1163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1168
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1168
    functionName: do_export
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_unexport_action_group
    - g_main_context_push_thread_default
    - g_free
    - g_main_context_unref
    - g_assert_no_error
    - g_bus_get_sync
    - g_object_unref
    - g_strdup_printf
    - g_action_get_enabled
    - g_main_context_pop_thread_default
    - G_SIMPLE_ACTION
    - g_main_context_iteration
    - g_simple_action_set_enabled
    - g_simple_action_group_lookup
    - g_dbus_connection_export_action_group
    - G_SIMPLE_ACTION_GROUP
    - g_main_context_new
    - G_ACTION_GROUP
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer do_export (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/actions.c:1208,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/actions.c:1211,1
    - Dst: g_dbus_action_group_get
      Src: /src/glib/gio/tests/actions.c:1211,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/actions.c:1209,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/actions.c:1212,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/actions.c:1212,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1212,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1213,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/actions.c:1215,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/actions.c:1217,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1219,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/actions.c:1221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1222
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1222
    functionName: test_bug679509
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_dbus_action_group_get
    - session_bus_down
    - g_bus_get_sync
    - g_object_unref
    - session_bus_up
    - g_action_group_list_actions
    - g_strfreev
    - g_main_context_iteration
    - g_dbus_connection_get_unique_name
    - g_timeout_add
    - G_ACTION_GROUP
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS static void test_bug679509 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:370,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/actions.c:370,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - simple
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: activate_foo
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_true
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void activate_foo (GSimpleAction *simple, GVariant *parameter,
      gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:554,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:562,1
    - Dst: g_action_parse_detailed_name
      Src: /src/glib/gio/tests/actions.c:535,1
    - Dst: strstr
      Src: /src/glib/gio/tests/actions.c:546,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/actions.c:550,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/tests/actions.c:570,1
    - Dst: g_error
      Src: /src/glib/gio/tests/actions.c:538,1
    - Dst: g_error
      Src: /src/glib/gio/tests/actions.c:542,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:555,1
    - Dst: g_action_print_detailed_name
      Src: /src/glib/gio/tests/actions.c:561,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/gio/tests/actions.c:573,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:528,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:536,1
    - Dst: g_error
      Src: /src/glib/gio/tests/actions.c:547,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:571,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:574,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:575,1
    - Dst: g_free
      Src: /src/glib/gio/tests/actions.c:578,1
    - Dst: g_free
      Src: /src/glib/gio/tests/actions.c:563,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 580
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 580
    functionName: test_parse_detailed
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_action_print_detailed_name
    - g_free
    - g_error
    - g_error_free
    - g_assert_cmpstr
    - g_variant_unref
    - strstr
    - g_action_parse_detailed_name
    - g_assert_cmpvariant
    - g_variant_parse
    - G_N_ELEMENTS
    - g_assert_true
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS static void test_parse_detailed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_activation
      Src: /src/glib/gio/tests/actions.c:631,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/actions.c:633,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:631,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:633,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/actions.c:631,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/tests/actions.c:634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 635
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 635
    functionName: activate_radio
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_action_get_name
    - g_variant_get_string
    - count_activation
    - g_simple_action_set_state
    - G_ACTION
    linkageType: ''
    returnType: void
    signature: 'static void activate_radio (GSimpleAction *action, GVariant *parameter,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:692,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/actions.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 697
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 697
    functionName: timeout_cb
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_main_context_wakeup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:716,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/actions.c:719,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/actions.c:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 720
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 720
    functionName: async_result_cb
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_main_context_wakeup
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void async_result_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/actions.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - action_group
    - action_name
    - enabled
    - user_data
    argTypes:
    - GActionGroup*
    - char*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 745
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 745
    functionName: action_enabled_changed_cb
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void action_enabled_changed_cb (GActionGroup *action_group,
      char *action_name, gboolean enabled, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/actions.c:1181,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/actions.c:1186,1
    - Dst: g_simple_action_group_new
      Src: /src/glib/gio/tests/actions.c:1185,1
    - Dst: g_simple_action_group_add_entries
      Src: /src/glib/gio/tests/actions.c:1186,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/actions.c:1187,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/actions.c:1191,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1194,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/actions.c:1196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1197
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1197
    functionName: test_dbus_threaded
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_simple_action_group_add_entries
    - session_bus_down
    - g_object_unref
    - session_bus_up
    - g_thread_new
    - g_thread_join
    - G_N_ELEMENTS
    - g_simple_action_group_new
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_threaded (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/actions.c:604,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/actions.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - action
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 605
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 605
    functionName: activation_count
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_hash_table_lookup
    linkageType: ''
    returnType: gint
    signature: 'static gint activation_count (const gchar *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:1234,1
    - Dst: g_variant_print_string
      Src: /src/glib/gio/tests/actions.c:1238,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/tests/actions.c:1237,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/actions.c:1236,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/actions.c:1239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - group
    - action_name
    - value
    - user_data
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1240
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1240
    functionName: state_changed
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_string_new
    - g_string_append_c
    - g_string_free
    - g_variant_print_string
    linkageType: ''
    returnType: void
    signature: 'static void state_changed (GActionGroup *group, const gchar *action_name,
      GVariant *value, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/gio/tests/actions.c:590,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/tests/actions.c:593,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/actions.c:591,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/actions.c:593,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/tests/actions.c:591,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/actions.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - action
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 596
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 596
    functionName: count_activation
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_main_context_wakeup
    - g_hash_table_insert
    - g_hash_table_new
    - GPOINTER_TO_INT
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void count_activation (const gchar *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_activation
      Src: /src/glib/gio/tests/actions.c:610,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/tests/actions.c:610,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: activate_action
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_action_get_name
    - count_activation
    - G_ACTION
    linkageType: ''
    returnType: void
    signature: 'static void activate_action (GSimpleAction *action, GVariant *parameter,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:1245,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/actions.c:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - log_entry
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1247
    functionName: verify_changed
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void verify_changed (const gchar *log_entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref
      Src: /src/glib/gio/tests/actions.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: activate
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'static void activate (GAction *action, GVariant *parameter, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/tests/actions.c:171,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/actions.c:187,1
    - Dst: va_end
      Src: /src/glib/gio/tests/actions.c:184,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/actions.c:174,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/actions.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - strv
    - '...'
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 190
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 190
    functionName: strv_set_equal
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - va_end
    - va_start
    - g_strv_contains
    - va_arg
    - g_strv_length
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strv_set_equal (const gchar * const *strv, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:132,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:133,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/tests/actions.c:133,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:134,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/tests/actions.c:132,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/tests/actions.c:134,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:135,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/tests/actions.c:135,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:136,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/tests/actions.c:136,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/tests/actions.c:137,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: test_name
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_action_name_is_valid
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/actions.c:343,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:344,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/actions.c:344,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/actions.c:350,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/actions.c:349,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/actions.c:351,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:351,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/actions.c:355,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:358,1
    - Dst: g_simple_action_new_stateful
      Src: /src/glib/gio/tests/actions.c:341,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/actions.c:342,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:342,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:343,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/actions.c:352,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:352,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:355,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/actions.c:356,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:357,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/actions.c:357,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:342,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:345,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:350,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:346,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:353,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:359,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:341,1
    - Dst: g_simple_action_new_stateful
      Src: /src/glib/gio/tests/actions.c:349,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 360
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 360
    functionName: test_default_activate
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_variant_new_string
    - g_variant_get_boolean
    - g_variant_unref
    - g_assert_cmpstr
    - g_action_activate
    - g_object_unref
    - g_variant_new_boolean
    - G_ACTION
    - g_variant_get_string
    - g_assert_true
    - g_simple_action_new_stateful
    - g_action_get_state
    linkageType: ''
    returnType: void
    signature: 'static void test_default_activate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_free
      Src: /src/glib/gio/tests/actions.c:1278,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/tests/actions.c:1297,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:1323,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1330,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1353,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:1353,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1359,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1362,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1371,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1378,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1351,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1312,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/tests/actions.c:1269,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/actions.c:1297,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1312,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:1302,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/actions.c:1343,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1345,1
    - Dst: g_socket_client_set_tls
      Src: /src/glib/gio/tests/actions.c:1370,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1383,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:1390,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1351,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1387,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1315,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/actions.c:1265,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1303,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1330,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:1356,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1372,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1372,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1377,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:1382,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1390,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1393,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1395,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1329,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:1280,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1333,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/actions.c:1353,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1367,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:1395,1
    - Dst: g_property_action_new
      Src: /src/glib/gio/tests/actions.c:1406,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:1410,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1402,1
    - Dst: g_property_action_new
      Src: /src/glib/gio/tests/actions.c:1268,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:1269,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1270,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/actions.c:1274,1
    - Dst: g_free
      Src: /src/glib/gio/tests/actions.c:1277,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1310,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/tests/actions.c:1302,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1341,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1341,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1376,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1324,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/actions.c:1264,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/actions.c:1302,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1349,1
    - Dst: g_socket_client_get_enable_proxy
      Src: /src/glib/gio/tests/actions.c:1356,1
    - Dst: g_socket_client_get_enable_proxy
      Src: /src/glib/gio/tests/actions.c:1377,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1386,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1401,1
    - Dst: g_property_action_new
      Src: /src/glib/gio/tests/actions.c:1411,1
    - Dst: g_socket_client_get_tls
      Src: /src/glib/gio/tests/actions.c:1361,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1276,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1311,1
    - Dst: g_socket_client_get_tls
      Src: /src/glib/gio/tests/actions.c:1367,1
    - Dst: g_socket_client_set_enable_proxy
      Src: /src/glib/gio/tests/actions.c:1385,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1408,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:1361,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1345,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/tests/actions.c:1325,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1321,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1321,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:1287,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/actions.c:1291,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1318,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1338,1
    - Dst: g_socket_client_get_tls
      Src: /src/glib/gio/tests/actions.c:1350,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1380,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1387,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:1397,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1381,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1402,1
    - Dst: g_simple_action_group_new
      Src: /src/glib/gio/tests/actions.c:1261,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1334,1
    - Dst: g_application_set_application_id
      Src: /src/glib/gio/tests/actions.c:1328,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1339,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1344,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1348,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1354,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:1375,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/actions.c:1390,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1398,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/tests/actions.c:1320,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/actions.c:1335,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1310,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:1318,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1307,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/actions.c:1340,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1360,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:1365,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1368,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1396,1
    - Dst: g_socket_client_get_socket_type
      Src: /src/glib/gio/tests/actions.c:1397,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:1412,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:1320,1
    - Dst: g_application_get_inactivity_timeout
      Src: /src/glib/gio/tests/actions.c:1335,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/tests/actions.c:1282,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1323,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:1323,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1336,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1336,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:1338,1
    - Dst: g_application_get_inactivity_timeout
      Src: /src/glib/gio/tests/actions.c:1340,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:1348,1
    - Dst: g_property_action_new
      Src: /src/glib/gio/tests/actions.c:1286,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/tests/actions.c:1287,1
    - Dst: g_property_action_new
      Src: /src/glib/gio/tests/actions.c:1301,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/actions.c:1348,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:1359,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1362,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1378,1
    - Dst: g_socket_client_get_enable_proxy
      Src: /src/glib/gio/tests/actions.c:1382,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/actions.c:1392,1
    - Dst: g_property_action_new
      Src: /src/glib/gio/tests/actions.c:1416,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1375,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/actions.c:1262,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/tests/actions.c:1279,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/actions.c:1282,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1309,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1313,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1350,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1366,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1368,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:1395,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:1407,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1413,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1398,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:1417,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:1415,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/actions.c:1262,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/actions.c:1269,1
    - Dst: g_property_action_new
      Src: /src/glib/gio/tests/actions.c:1273,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:1275,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:1297,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/actions.c:1318,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1326,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:1325,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/actions.c:1333,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:1338,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1393,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1355,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:1282,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/actions.c:1287,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1288,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1298,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1309,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/actions.c:1333,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1365,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/actions.c:1380,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1383,1
    - Dst: g_socket_client_get_socket_type
      Src: /src/glib/gio/tests/actions.c:1392,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1391,1
    - Dst: verify_changed
      Src: /src/glib/gio/tests/actions.c:1319,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1283,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1306,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1311,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1313,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/actions.c:1326,1
    - Dst: g_socket_client_set_socket_type
      Src: /src/glib/gio/tests/actions.c:1400,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1418,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1420,1
    - Dst: ensure_state
      Src: /src/glib/gio/tests/actions.c:1355,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:1405,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 187
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1421
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1421
    functionName: test_property_actions
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - g_object_new
    - g_test_assert_expected_messages
    - G_ACTION_MAP
    - verify_changed
    - g_application_set_application_id
    - g_property_action_new
    - G_ACTION
    - g_assert_cmpint
    - g_variant_type_free
    - g_socket_client_set_tls
    - g_socket_client_set_socket_type
    - g_action_group_activate_action
    - g_action_map_add_action
    - g_object_unref
    - g_socket_client_get_enable_proxy
    - g_socket_client_set_enable_proxy
    - g_application_get_inactivity_timeout
    - g_test_expect_message
    - ensure_state
    - g_variant_new
    - g_application_new
    - g_socket_client_get_socket_type
    - G_ACTION_GROUP
    - g_signal_connect
    - g_action_group_change_action_state
    - g_assert_cmpuint
    - g_variant_unref
    - G_CALLBACK
    - g_application_get_application_id
    - g_socket_client_get_tls
    - g_assert_false
    - g_free
    - g_assert_cmpstr
    - g_socket_client_new
    - g_assert_true
    - g_simple_action_group_new
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_property_actions (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/actions.c:148,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/actions.c:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: strv_strv_cmp
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_strv_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strv_strv_cmp (const gchar * const *a, const gchar
      * const *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_action_get_enabled
      Src: /src/glib/gio/tests/actions.c:62,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:66,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:66,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:76,1
    - Dst: g_free
      Src: /src/glib/gio/tests/actions.c:79,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:82,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:89,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/actions.c:91,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:95,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:96,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:111,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:119,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:99,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:107,1
    - Dst: g_test_undefined
      Src: /src/glib/gio/tests/actions.c:117,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:105,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/actions.c:95,1
    - Dst: g_action_get_state_hint
      Src: /src/glib/gio/tests/actions.c:106,1
    - Dst: g_simple_action_set_enabled
      Src: /src/glib/gio/tests/actions.c:87,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:122,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/actions.c:109,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:62,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:75,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/actions.c:67,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:65,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:65,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/actions.c:66,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:78,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/actions.c:81,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/actions.c:81,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/actions.c:83,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:103,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:105,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/actions.c:121,1
    - Dst: g_action_get_parameter_type
      Src: /src/glib/gio/tests/actions.c:63,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:64,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:64,1
    - Dst: g_action_get_state_hint
      Src: /src/glib/gio/tests/actions.c:65,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:83,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:84,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/actions.c:104,1
    - Dst: g_action_get_parameter_type
      Src: /src/glib/gio/tests/actions.c:104,1
    - Dst: g_action_get_state_type
      Src: /src/glib/gio/tests/actions.c:105,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/actions.c:102,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:103,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/actions.c:109,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/actions.c:113,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:121,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:113,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:112,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:126,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:125,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:107,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/tests/actions.c:61,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:63,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:62,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:63,1
    - Dst: g_action_get_state_type
      Src: /src/glib/gio/tests/actions.c:64,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:74,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:77,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/actions.c:88,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:88,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:93,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/actions.c:95,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/actions.c:106,1
    - Dst: g_action_activate
      Src: /src/glib/gio/tests/actions.c:111,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:104,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/actions.c:107,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:110,1
    - Dst: g_action_get_enabled
      Src: /src/glib/gio/tests/actions.c:103,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:114,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:104,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/actions.c:100,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:106,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/actions.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 82
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 127
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_action_get_parameter_type
    - g_action_get_state
    - G_ACTION
    - g_action_get_state_type
    - g_test_undefined
    - g_variant_new_string
    - g_object_unref
    - g_test_expect_message
    - g_simple_action_set_enabled
    - g_variant_get_string
    - g_signal_connect
    - g_variant_type_equal
    - g_variant_unref
    - g_action_activate
    - g_action_get_enabled
    - g_simple_action_new
    - G_CALLBACK
    - g_assert_null
    - g_assert_false
    - g_free
    - g_action_get_state_hint
    - g_assert_cmpstr
    - g_assert_true
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/tests/actions.c:200,1
    - Dst: g_free
      Src: /src/glib/gio/tests/actions.c:205,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/actions.c:204,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/actions.c:201,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/actions.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - group
    - action_name
    - expected
    argTypes:
    - GActionGroup*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: ensure_state
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_free
    - g_variant_print
    - g_variant_unref
    - g_assert_cmpstr
    - g_action_group_get_action_state
    linkageType: ''
    returnType: void
    signature: 'static void ensure_state (GActionGroup *group, const gchar *action_name,
      const gchar *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/actions.c:1428,1
    - Dst: g_object_new_with_properties
      Src: /src/glib/gio/tests/actions.c:1429,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/actions.c:1432,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/actions.c:1431,1
    - Dst: G_IS_PROPERTY_ACTION
      Src: /src/glib/gio/tests/actions.c:1432,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/actions.c:1434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: test_property_actions_no_properties
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_object_new_with_properties
    - g_object_unref
    - g_test_expect_message
    - g_assert_true
    - G_IS_PROPERTY_ACTION
    linkageType: ''
    returnType: void
    signature: 'static void test_property_actions_no_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/actions.c:1440,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1445,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1444,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1443,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1442,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1446,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1447,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1448,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1449,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1450,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1451,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/actions.c:1455,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1453,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/actions.c:1452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1456
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1456
    functionName: main
    functionSourceFile: /src/glib/gio/tests/actions.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection-flush-helper.c:33,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush-helper.c:46,1
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/tests/gdbus-connection-flush-helper.c:49,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush-helper.c:36,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection-flush-helper.c:39,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-flush-helper.c:52,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-flush-helper.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-flush-helper.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_bus_get_sync
    - g_dbus_connection_emit_signal
    - g_dbus_connection_flush_sync
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/glib/gio/tests/unix-fd.c:25,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:30,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - fd_list
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: check_fd_list
    functionSourceFile: /src/glib/gio/tests/unix-fd.c
    functionUses: []
    functionsReached:
    - g_close
    - g_assert_cmpint
    - dup
    linkageType: ''
    returnType: void
    signature: 'static void check_fd_list (const gint *fd_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/tests/unix-fd.c:68,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:76,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:88,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:89,1
    - Dst: _pipe
      Src: /src/glib/gio/tests/unix-fd.c:62,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:72,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:77,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:81,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/unix-fd.c:83,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:79,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:84,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:87,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:91,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:94,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:96,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/unix-fd.c:65,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:66,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:63,1
    - Dst: g_unix_fd_list_peek_fds
      Src: /src/glib/gio/tests/unix-fd.c:69,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:71,1
    - Dst: g_unix_fd_list_get
      Src: /src/glib/gio/tests/unix-fd.c:78,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:80,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:93,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:95,1
    - Dst: g_free
      Src: /src/glib/gio/tests/unix-fd.c:97,1
    - Dst: create_fd_list
      Src: /src/glib/gio/tests/unix-fd.c:59,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:70,1
    - Dst: g_unix_fd_list_get
      Src: /src/glib/gio/tests/unix-fd.c:74,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:75,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:85,1
    - Dst: g_unix_fd_list_steal_fds
      Src: /src/glib/gio/tests/unix-fd.c:86,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:90,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:92,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:99,1
    - Dst: check_fd_list
      Src: /src/glib/gio/tests/unix-fd.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 101
    functionName: test_fd_list
    functionSourceFile: /src/glib/gio/tests/unix-fd.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_close
    - g_unix_fd_list_new_from_array
    - g_free
    - g_unix_fd_list_peek_fds
    - g_unix_fd_list_get
    - g_unix_open_pipe
    - g_assert_no_error
    - g_unix_fd_list_append
    - g_object_unref
    - g_unix_fd_list_steal_fds
    - _pipe
    - create_fd_list
    - check_fd_list
    linkageType: ''
    returnType: void
    signature: 'static void test_fd_list (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/glib/gio/tests/unix-fd.c:40,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:41,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - fd_list
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: create_fd_list
    functionSourceFile: /src/glib/gio/tests/unix-fd.c
    functionUses: []
    functionsReached:
    - g_close
    - g_assert_cmpint
    - dup
    linkageType: ''
    returnType: void
    signature: 'static void create_fd_list (gint *fd_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:157,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:168,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:172,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/unix-fd.c:208,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:210,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/tests/unix-fd.c:216,1
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/unix-fd.c:217,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:230,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/unix-fd.c:232,1
    - Dst: create_fd_list
      Src: /src/glib/gio/tests/unix-fd.c:128,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/tests/unix-fd.c:134,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/tests/unix-fd.c:135,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:136,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:160,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/unix-fd.c:183,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/unix-fd.c:231,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/unix-fd.c:265,1
    - Dst: G_IS_UNIX_FD_MESSAGE
      Src: /src/glib/gio/tests/unix-fd.c:265,1
    - Dst: check_fd_list
      Src: /src/glib/gio/tests/unix-fd.c:288,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:195,1
    - Dst: g_unix_fd_list_peek_fds
      Src: /src/glib/gio/tests/unix-fd.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:151,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:166,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:185,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/unix-fd.c:208,1
    - Dst: g_unix_fd_list_peek_fds
      Src: /src/glib/gio/tests/unix-fd.c:269,1
    - Dst: g_unix_fd_list_get
      Src: /src/glib/gio/tests/unix-fd.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:245,1
    - Dst: g_unix_fd_list_get
      Src: /src/glib/gio/tests/unix-fd.c:271,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:272,1
    - Dst: memset
      Src: /src/glib/gio/tests/unix-fd.c:279,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:286,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:146,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/tests/unix-fd.c:141,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:159,1
    - Dst: G_IS_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/unix-fd.c:215,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/tests/unix-fd.c:178,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:192,1
    - Dst: socketpair
      Src: /src/glib/gio/tests/unix-fd.c:203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:175,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:276,1
    - Dst: g_unix_fd_list_get
      Src: /src/glib/gio/tests/unix-fd.c:169,1
    - Dst: g_unix_fd_message_steal_fds
      Src: /src/glib/gio/tests/unix-fd.c:145,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:156,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:191,1
    - Dst: strcpy
      Src: /src/glib/gio/tests/unix-fd.c:274,1
    - Dst: write
      Src: /src/glib/gio/tests/unix-fd.c:275,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:187,1
    - Dst: g_unix_fd_message_append_fd
      Src: /src/glib/gio/tests/unix-fd.c:158,1
    - Dst: g_unix_fd_message_get_fd_list
      Src: /src/glib/gio/tests/unix-fd.c:179,1
    - Dst: pipe
      Src: /src/glib/gio/tests/unix-fd.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:204,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:193,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:200,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/unix-fd.c:215,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/unix-fd.c:139,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/unix-fd.c:147,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:150,1
    - Dst: g_unix_fd_message_new
      Src: /src/glib/gio/tests/unix-fd.c:178,1
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/unix-fd.c:216,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/unix-fd.c:266,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:155,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:257,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:261,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:267,1
    - Dst: strlen
      Src: /src/glib/gio/tests/unix-fd.c:276,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:214,1
    - Dst: g_free
      Src: /src/glib/gio/tests/unix-fd.c:152,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:171,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:216,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:217,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/unix-fd.c:229,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:244,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:246,1
    - Dst: g_free
      Src: /src/glib/gio/tests/unix-fd.c:263,1
    - Dst: strlen
      Src: /src/glib/gio/tests/unix-fd.c:275,1
    - Dst: g_unix_fd_message_append_fd
      Src: /src/glib/gio/tests/unix-fd.c:154,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:199,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:207,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:181,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:196,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/unix-fd.c:206,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/unix-fd.c:138,1
    - Dst: g_unix_fd_message_get_fd_list
      Src: /src/glib/gio/tests/unix-fd.c:138,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/unix-fd.c:140,1
    - Dst: g_free
      Src: /src/glib/gio/tests/unix-fd.c:233,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:236,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:259,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:161,1
    - Dst: g_unix_fd_list_get
      Src: /src/glib/gio/tests/unix-fd.c:165,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:170,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/tests/unix-fd.c:209,1
    - Dst: g_unix_socket_address_get_path_len
      Src: /src/glib/gio/tests/unix-fd.c:217,1
    - Dst: g_unix_fd_message_get_fd_list
      Src: /src/glib/gio/tests/unix-fd.c:266,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:176,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:144,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/unix-fd.c:213,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/tests/unix-fd.c:241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:282,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/unix-fd.c:290,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:278,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:201,1
    - Dst: g_unix_fd_message_new_with_fd_list
      Src: /src/glib/gio/tests/unix-fd.c:135,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/unix-fd.c:186,1
    - Dst: g_unix_fd_list_get
      Src: /src/glib/gio/tests/unix-fd.c:194,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/unix-fd.c:197,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/unix-fd.c:211,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/unix-fd.c:234,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/tests/unix-fd.c:253,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/unix-fd.c:258,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:270,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/unix-fd.c:283,1
    - Dst: socketpair
      Src: /src/glib/gio/tests/unix-fd.c:130,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:141,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/unix-fd.c:149,1
    - Dst: g_close
      Src: /src/glib/gio/tests/unix-fd.c:167,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/unix-fd.c:211,1
    - Dst: read
      Src: /src/glib/gio/tests/unix-fd.c:281,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 171
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 292
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 292
    functionName: test_scm
    functionSourceFile: /src/glib/gio/tests/unix-fd.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_FD_MESSAGE
    - g_close
    - G_IS_SOCKET
    - g_unix_fd_list_new_from_array
    - socketpair
    - g_unix_fd_list_get
    - strcpy
    - g_unix_fd_message_append_fd
    - g_unix_socket_address_get_path_len
    - g_socket_send_message
    - read
    - create_fd_list
    - check_fd_list
    - G_UNIX_SOCKET_ADDRESS
    - g_unix_socket_address_get_address_type
    - strlen
    - g_assert_cmpint
    - g_unix_fd_list_append
    - g_object_unref
    - g_test_skip
    - g_unix_fd_message_steal_fds
    - memset
    - g_object_ref
    - g_socket_get_local_address
    - g_assert_no_error
    - g_socket_new_from_fd
    - g_socket_receive_message
    - G_IS_UNIX_SOCKET_ADDRESS
    - G_UNIX_FD_MESSAGE
    - write
    - g_unix_fd_list_get_length
    - pipe
    - g_free
    - g_unix_fd_message_new_with_fd_list
    - g_unix_fd_list_peek_fds
    - g_assert
    - g_assert_cmpstr
    - g_byte_array_free
    - g_unix_fd_message_get_fd_list
    - g_unix_fd_message_new
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_scm (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/unix-fd.c:297,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/unix-fd.c:299,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/unix-fd.c:302,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/unix-fd.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: main
    functionSourceFile: /src/glib/gio/tests/unix-fd.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_ifname_and_index
      Src: /src/glib/gio/tests/network-address.c:379,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/network-address.c:381,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:386,1
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/tests/network-address.c:385,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/network-address.c:387,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:388,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/network-address.c:389,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/network-address.c:391,1
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/tests/network-address.c:395,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:396,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:397,1
    - Dst: test_scope_id
      Src: /src/glib/gio/tests/network-address.c:399,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 401
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 401
    functionName: test_uri_scope_id
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - find_ifname_and_index
    - g_free
    - g_network_address_parse_uri
    - test_scope_id
    - g_assert_no_error
    - g_object_unref
    - g_clear_error
    - g_strdup_printf
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_scope_id (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_new_loopback
      Src: /src/glib/gio/tests/network-address.c:687,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:696,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:688,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:694,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/network-address.c:692,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/network-address.c:697,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/network-address.c:700,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/network-address.c:700,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:701,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:702,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:704,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:707,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 708
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 708
    functionName: test_loopback_async
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_object_unref
    - g_network_address_new_loopback
    - g_main_loop_unref
    - g_list_length
    - g_main_loop_new
    - assert_socket_address_matches
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    - g_socket_connectable_enumerate
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_loopback_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mock_resolver_set_ipv4_delay_ms
      Src: /src/glib/gio/tests/network-address.c:1018,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:1023,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1021,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1020,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:1025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1026
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1026
    functionName: test_happy_eyeballs_slow_connection_and_ipv4
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - mock_resolver_set_ipv4_delay_ms
    - assert_list_matches_expected
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_slow_connection_and_ipv4 (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1061,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1065,1
    - Dst: mock_resolver_set_ipv4_delay_ms
      Src: /src/glib/gio/tests/network-address.c:1063,1
    - Dst: mock_resolver_set_ipv6_error
      Src: /src/glib/gio/tests/network-address.c:1062,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1066,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:1068,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:1070,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1072
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1072
    functionName: test_happy_eyeballs_ipv6_error_ipv6_first
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - mock_resolver_set_ipv4_delay_ms
    - assert_list_matches_expected
    - g_error_new_literal
    - g_error_free
    - mock_resolver_set_ipv6_error
    - g_main_loop_run
    - g_socket_address_enumerator_next_async
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_ipv6_error_ipv6_first (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/tests/network-address.c:57,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:62,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/tests/network-address.c:62,1
    - Dst: g_network_address_get_scheme
      Src: /src/glib/gio/tests/network-address.c:61,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:61,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:63,1
    - Dst: g_network_address_get_port
      Src: /src/glib/gio/tests/network-address.c:63,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:64,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/network-address.c:67,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:70,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: test_parse_uri
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_network_address_parse_uri
    - g_assert_no_error
    - g_error_free
    - g_assert_cmpstr
    - g_object_unref
    - g_network_address_get_port
    - g_assert_error
    - g_network_address_get_hostname
    - g_network_address_get_scheme
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_uri (gconstpointer d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/glib/gio/tests/network-address.c:303,1
    - Dst: g_strlcpy
      Src: /src/glib/gio/tests/network-address.c:306,1
    - Dst: if_indextoname
      Src: /src/glib/gio/tests/network-address.c:311,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: find_ifname_and_index
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - if_nametoindex
    - if_indextoname
    - g_strlcpy
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void find_ifname_and_index (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:408,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/network-address.c:412,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:411,1
    - Dst: g_network_address_new_loopback
      Src: /src/glib/gio/tests/network-address.c:408,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/tests/network-address.c:411,1
    - Dst: g_network_address_get_port
      Src: /src/glib/gio/tests/network-address.c:412,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:413,1
    - Dst: g_network_address_get_scheme
      Src: /src/glib/gio/tests/network-address.c:413,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 416
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 416
    functionName: test_loopback_basic
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_network_address_get_scheme
    - G_NETWORK_ADDRESS
    - g_assert_cmpstr
    - g_object_unref
    - g_network_address_new_loopback
    - g_assert_null
    - g_network_address_get_hostname
    - g_network_address_get_port
    linkageType: ''
    returnType: void
    signature: 'static void test_loopback_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/tests/network-address.c:725,1
    - Dst: mock_resolver_new
      Src: /src/glib/gio/tests/network-address.c:724,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:729,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:730,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/network-address.c:735,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:747,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/network-address.c:752,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/network-address.c:726,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/network-address.c:726,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/network-address.c:741,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:742,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:749,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/network-address.c:741,1
    - Dst: g_resolver_set_default
      Src: /src/glib/gio/tests/network-address.c:745,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:743,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:737,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:748,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:750,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:751,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/tests/network-address.c:723,1
    - Dst: g_resolver_set_default
      Src: /src/glib/gio/tests/network-address.c:725,1
    - Dst: mock_resolver_set_ipv4_results
      Src: /src/glib/gio/tests/network-address.c:727,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:738,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 753
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 753
    functionName: test_localhost_async
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_network_address_new
    - g_assert_cmpuint
    - g_list_append
    - g_resolver_get_default
    - g_inet_address_new_from_string
    - G_RESOLVER
    - mock_resolver_new
    - g_object_unref
    - mock_resolver_set_ipv4_results
    - g_main_loop_unref
    - g_list_length
    - g_main_loop_new
    - assert_socket_address_matches
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    - g_resolver_set_default
    - g_socket_connectable_enumerate
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_localhost_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/tests/network-address.c:854,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/network-address.c:858,1
    - Dst: mock_resolver_new
      Src: /src/glib/gio/tests/network-address.c:855,1
    - Dst: g_resolver_set_default
      Src: /src/glib/gio/tests/network-address.c:856,1
    - Dst: G_RESOLVER
      Src: /src/glib/gio/tests/network-address.c:856,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/network-address.c:860,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/network-address.c:861,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/network-address.c:862,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/network-address.c:863,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/network-address.c:864,1
    - Dst: g_list_sort
      Src: /src/glib/gio/tests/network-address.c:867,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/network-address.c:874,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:871,1
    - Dst: mock_resolver_set_ipv6_results
      Src: /src/glib/gio/tests/network-address.c:869,1
    - Dst: mock_resolver_set_ipv4_results
      Src: /src/glib/gio/tests/network-address.c:868,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/network-address.c:865,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - fixture
    - data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 875
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 875
    functionName: happy_eyeballs_setup
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_network_address_new
    - g_list_append
    - g_list_sort
    - g_resolver_get_default
    - g_inet_address_new_from_string
    - G_RESOLVER
    - mock_resolver_new
    - mock_resolver_set_ipv6_results
    - mock_resolver_set_ipv4_results
    - g_main_loop_new
    - g_resolver_set_default
    - g_socket_connectable_enumerate
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void happy_eyeballs_setup (HappyEyeballsFixture *fixture, gconstpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:906,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:911,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:909,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 912
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 912
    functionName: test_happy_eyeballs_basic
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    - assert_list_matches_expected
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_basic (HappyEyeballsFixture *fixture,
      gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1038,1
    - Dst: mock_resolver_set_ipv6_error
      Src: /src/glib/gio/tests/network-address.c:1039,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1042,1
    - Dst: mock_resolver_set_ipv6_delay_ms
      Src: /src/glib/gio/tests/network-address.c:1040,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1043,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:1045,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:1047,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1049
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1049
    functionName: test_happy_eyeballs_ipv6_error_ipv4_first
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - assert_list_matches_expected
    - g_error_new_literal
    - g_error_free
    - mock_resolver_set_ipv6_error
    - mock_resolver_set_ipv6_delay_ms
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_ipv6_error_ipv4_first (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/network-address.c:1081,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/network-address.c:1082,1
    - Dst: mock_resolver_set_ipv6_error
      Src: /src/glib/gio/tests/network-address.c:1088,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1087,1
    - Dst: mock_resolver_set_ipv4_delay_ms
      Src: /src/glib/gio/tests/network-address.c:1089,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1091,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1092,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:1094,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:1096,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1098
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1098
    functionName: test_happy_eyeballs_ipv6_error_ipv4_very_slow
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - mock_resolver_set_ipv4_delay_ms
    - assert_list_matches_expected
    - g_error_new_literal
    - g_error_free
    - mock_resolver_set_ipv6_error
    - g_socket_address_enumerator_next_async
    - g_test_summary
    - g_main_loop_run
    - g_list_free_full
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_ipv6_error_ipv4_very_slow (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/network-address.c:1266,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-address.c:1291,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:1281,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1300,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1312,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1320,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1324,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1322,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-address.c:1261,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:1274,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/network-address.c:1286,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/network-address.c:1284,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/network-address.c:1287,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-address.c:1292,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-address.c:1294,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-address.c:1296,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-address.c:1298,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1306,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1310,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/network-address.c:1265,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:1267,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/network-address.c:1279,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/network-address.c:1280,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/network-address.c:1277,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1304,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1308,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1316,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1318,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1326,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/network-address.c:1331,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1328,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/network-address.c:1259,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/network-address.c:1263,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/network-address.c:1270,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/network-address.c:1272,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/network-address.c:1273,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:1288,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-address.c:1293,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-address.c:1295,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-address.c:1297,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1302,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/network-address.c:1314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1332
    functionName: main
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_free
    - g_test_add_data_func
    - g_test_add_func
    - g_strdup_printf
    - g_test_run
    - g_test_init
    - G_N_ELEMENTS
    - g_test_add
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/network-address.c:240,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/network-address.c:248,1
    - Dst: g_resolver_lookup_by_name
      Src: /src/glib/gio/tests/network-address.c:243,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:244,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/tests/network-address.c:242,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:249,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/network-address.c:249,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/network-address.c:252,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:252,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:254,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/network-address.c:255,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/network-address.c:259,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/network-address.c:261,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:280,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/network-address.c:260,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/network-address.c:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 283
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 283
    functionName: test_resolve_address_gresolver
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_assert_false
    - g_resolver_lookup_by_name
    - g_assert_nonnull
    - g_error_free
    - g_resolver_get_default
    - g_object_unref
    - G_IS_INET_ADDRESS
    - g_list_length
    - g_list_free
    - g_assert_error
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_resolve_address_gresolver (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/network-address.c:809,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:809,1
    - Dst: sort_addresses
      Src: /src/glib/gio/tests/network-address.c:811,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:810,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/network-address.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 812
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 812
    functionName: sort_socket_addresses
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - sort_addresses
    - g_inet_socket_address_get_address
    linkageType: ''
    returnType: int
    signature: 'static int sort_socket_addresses (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1210,1
    - Dst: mock_resolver_set_ipv4_error
      Src: /src/glib/gio/tests/network-address.c:1213,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1211,1
    - Dst: mock_resolver_set_ipv6_error
      Src: /src/glib/gio/tests/network-address.c:1214,1
    - Dst: mock_resolver_set_ipv6_delay_ms
      Src: /src/glib/gio/tests/network-address.c:1215,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1217,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1218,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:1220,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1222,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1224
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1224
    functionName: test_happy_eyeballs_both_error_delays_2
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_error_new_literal
    - g_error_free
    - mock_resolver_set_ipv6_error
    - mock_resolver_set_ipv6_delay_ms
    - g_assert_null
    - g_socket_address_enumerator_next_async
    - mock_resolver_set_ipv4_error
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_both_error_delays_2 (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/network-address.c:101,1
    - Dst: g_ntohs
      Src: /src/glib/gio/tests/network-address.c:118,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/network-address.c:105,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/tests/network-address.c:139,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:140,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:139,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:141,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/network-address.c:160,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/network-address.c:145,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/network-address.c:159,1
    - Dst: g_network_address_get_port
      Src: /src/glib/gio/tests/network-address.c:140,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/network-address.c:103,1
    - Dst: getservbyname
      Src: /src/glib/gio/tests/network-address.c:117,1
    - Dst: g_network_address_parse
      Src: /src/glib/gio/tests/network-address.c:134,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:138,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:149,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:151,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:161,1
    - Dst: g_network_address_get_scheme
      Src: /src/glib/gio/tests/network-address.c:138,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 163
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 163
    functionName: test_parse_host
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_network_address_parse
    - g_assert_cmpint
    - g_free
    - getservbyname
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_error_free
    - g_test_skip
    - g_ntohs
    - g_strdup_printf
    - g_assert_null
    - g_network_address_get_port
    - g_assert_error
    - g_network_address_get_hostname
    - g_network_address_get_scheme
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_host (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: on_delayed_get_addr
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: int
    signature: 'static int on_delayed_get_addr (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:819,1
    - Dst: g_list_sort
      Src: /src/glib/gio/tests/network-address.c:824,1
    - Dst: g_list_copy
      Src: /src/glib/gio/tests/network-address.c:823,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/network-address.c:819,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/network-address.c:819,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/network-address.c:828,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:828,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/network-address.c:829,1
    - Dst: g_inet_address_equal
      Src: /src/glib/gio/tests/network-address.c:829,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/network-address.c:832,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - result
    - expected
    argTypes:
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 833
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 833
    functionName: assert_list_matches_expected
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_assert_cmpint
    - g_inet_socket_address_get_address
    - g_list_sort
    - g_inet_address_equal
    - g_list_length
    - g_list_free
    - g_list_copy
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void assert_list_matches_expected (GList *result, GList *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1237,1
    - Dst: mock_resolver_set_ipv4_error
      Src: /src/glib/gio/tests/network-address.c:1240,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1238,1
    - Dst: mock_resolver_set_ipv6_error
      Src: /src/glib/gio/tests/network-address.c:1241,1
    - Dst: mock_resolver_set_ipv6_delay_ms
      Src: /src/glib/gio/tests/network-address.c:1242,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1244,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1245,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:1247,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1249,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1251
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1251
    functionName: test_happy_eyeballs_both_error_delays_3
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_error_new_literal
    - g_error_free
    - mock_resolver_set_ipv6_error
    - mock_resolver_set_ipv6_delay_ms
    - g_assert_null
    - g_socket_address_enumerator_next_async
    - mock_resolver_set_ipv4_error
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_both_error_delays_3 (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/network-address.c:200,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:205,1
    - Dst: g_network_address_parse
      Src: /src/glib/gio/tests/network-address.c:204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:202,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/gio/tests/network-address.c:202,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:207,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:208,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:210,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/network-address.c:214,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/network-address.c:221,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:216,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:222,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:215,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/network-address.c:220,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/network-address.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 225
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 225
    functionName: test_resolve_address
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_network_address_parse
    - G_IS_INET_SOCKET_ADDRESS
    - g_assert_false
    - g_socket_address_enumerator_next
    - g_assert_no_error
    - g_error_free
    - g_object_unref
    - g_hostname_is_ip_address
    - g_assert_error
    - g_socket_connectable_enumerate
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_resolve_address (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:14,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/tests/network-address.c:16,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:16,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:17,1
    - Dst: g_network_address_get_port
      Src: /src/glib/gio/tests/network-address.c:17,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/network-address.c:19,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:20,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:21,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:22,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:23,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 26
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_network_address_new
    - g_assert_cmpint
    - g_free
    - g_object_get
    - g_assert_cmpstr
    - g_object_unref
    - g_assert_null
    - g_network_address_get_hostname
    - g_network_address_get_port
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:330,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/network-address.c:334,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:338,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/network-address.c:340,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:348,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/network-address.c:333,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:331,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:334,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/tests/network-address.c:341,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:350,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/network-address.c:352,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:337,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:345,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/network-address.c:338,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:329,1
    - Dst: g_inet_socket_address_get_scope_id
      Src: /src/glib/gio/tests/network-address.c:337,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:342,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:343,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:346,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - addr
    argTypes:
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 354
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 354
    functionName: test_scope_id
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - G_IS_INET_SOCKET_ADDRESS
    - g_assert_cmpint
    - g_inet_address_to_string
    - g_free
    - g_inet_socket_address_get_address
    - g_assert_nonnull
    - g_socket_address_enumerator_next
    - g_assert_no_error
    - g_assert_cmpstr
    - g_inet_socket_address_get_port
    - g_inet_socket_address_get_scope_id
    - g_object_unref
    - g_test_skip
    - g_assert_null
    - g_socket_connectable_enumerate
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_scope_id (GSocketConnectable *addr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/network-address.c:426,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:428,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/network-address.c:429,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/network-address.c:429,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:426,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/tests/network-address.c:431,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/network-address.c:431,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:432,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - a
    - expected_address
    - expected_port
    argTypes:
    - GSocketAddress*
    - gchar*
    - guint16
    constantsTouched: []
    func_position:
      end: 434
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 434
    functionName: assert_socket_address_matches
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - G_IS_INET_SOCKET_ADDRESS
    - g_assert_cmpint
    - g_inet_address_to_string
    - g_free
    - g_inet_socket_address_get_address
    - g_assert_cmpstr
    - g_inet_socket_address_get_port
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void assert_socket_address_matches (GSocketAddress *a, const
      gchar *expected_address, guint16 expected_port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:766,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:767,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:774,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:780,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:781,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:789,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:763,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/network-address.c:764,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:770,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/network-address.c:771,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/network-address.c:779,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:787,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:765,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/network-address.c:786,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:782,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:788,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/network-address.c:772,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:773,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:778,1
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/tests/network-address.c:777,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 790
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 790
    functionName: test_to_string
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_network_address_new
    - g_socket_connectable_to_string
    - g_network_address_parse_uri
    - g_free
    - g_assert_no_error
    - g_object_unref
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_to_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:921,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:929,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:932,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:930,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:928,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:936,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:938,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:940,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:941,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:942,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:947,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:944,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 948
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 948
    functionName: test_happy_eyeballs_parallel
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - assert_list_matches_expected
    - g_object_unref
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    - g_socket_connectable_enumerate
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_parallel (HappyEyeballsFixture *fixture,
      gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mock_resolver_set_ipv6_delay_ms
      Src: /src/glib/gio/tests/network-address.c:978,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:983,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:985,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:980,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 986
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 986
    functionName: test_happy_eyeballs_slow_ipv6
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - assert_list_matches_expected
    - mock_resolver_set_ipv6_delay_ms
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_slow_ipv6 (HappyEyeballsFixture *fixture,
      gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1110,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1114,1
    - Dst: mock_resolver_set_ipv4_error
      Src: /src/glib/gio/tests/network-address.c:1111,1
    - Dst: mock_resolver_set_ipv6_delay_ms
      Src: /src/glib/gio/tests/network-address.c:1112,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1115,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:1117,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:1119,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1121
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1121
    functionName: test_happy_eyeballs_ipv4_error_ipv4_first
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - mock_resolver_set_ipv4_error
    - assert_list_matches_expected
    - g_error_new_literal
    - g_error_free
    - mock_resolver_set_ipv6_delay_ms
    - g_main_loop_run
    - g_socket_address_enumerator_next_async
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_ipv4_error_ipv4_first (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_ifname_and_index
      Src: /src/glib/gio/tests/network-address.c:362,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/network-address.c:364,1
    - Dst: test_scope_id
      Src: /src/glib/gio/tests/network-address.c:368,1
    - Dst: g_free
      Src: /src/glib/gio/tests/network-address.c:366,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:365,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: test_host_scope_id
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_network_address_new
    - test_scope_id
    - find_ifname_and_index
    - g_free
    - g_object_unref
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_host_scope_id (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_new_loopback
      Src: /src/glib/gio/tests/network-address.c:444,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:445,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:449,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:448,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:450,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:451,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:454,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:455,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:456,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:457,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:463,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:464,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:460,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:461,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 465
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 465
    functionName: test_loopback_sync
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_socket_address_enumerator_next
    - g_assert_no_error
    - g_object_unref
    - g_network_address_new_loopback
    - assert_socket_address_matches
    - g_assert_null
    - g_socket_connectable_enumerate
    linkageType: ''
    returnType: void
    signature: 'static void test_loopback_sync (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/tests/network-address.c:795,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:796,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:795,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/tests/network-address.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: sort_addresses
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_family
    - G_INET_ADDRESS
    linkageType: ''
    returnType: int
    signature: 'static int sort_addresses (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mock_resolver_set_ipv4_delay_ms
      Src: /src/glib/gio/tests/network-address.c:959,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:966,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:962,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:964,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 967
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 967
    functionName: test_happy_eyeballs_slow_ipv4
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - mock_resolver_set_ipv4_delay_ms
    - assert_list_matches_expected
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_slow_ipv4 (HappyEyeballsFixture *fixture,
      gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mock_resolver_set_ipv6_delay_ms
      Src: /src/glib/gio/tests/network-address.c:997,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:1004,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1000,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:1002,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1005
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1005
    functionName: test_happy_eyeballs_very_slow_ipv6
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - assert_list_matches_expected
    - mock_resolver_set_ipv6_delay_ms
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_very_slow_ipv6 (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1133,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1138,1
    - Dst: mock_resolver_set_ipv4_delay_ms
      Src: /src/glib/gio/tests/network-address.c:1135,1
    - Dst: mock_resolver_set_ipv4_error
      Src: /src/glib/gio/tests/network-address.c:1134,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1137,1
    - Dst: assert_list_matches_expected
      Src: /src/glib/gio/tests/network-address.c:1140,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:1142,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1144
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1144
    functionName: test_happy_eyeballs_ipv4_error_ipv6_first
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - mock_resolver_set_ipv4_error
    - mock_resolver_set_ipv4_delay_ms
    - assert_list_matches_expected
    - g_error_new_literal
    - g_error_free
    - g_main_loop_run
    - g_socket_address_enumerator_next_async
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_ipv4_error_ipv6_first (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/tests/network-address.c:483,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:520,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:539,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:545,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:515,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:563,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:589,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:546,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/tests/network-address.c:481,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:497,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:504,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:571,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:577,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:521,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/network-address.c:587,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/network-address.c:484,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:526,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:576,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:568,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:534,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:584,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:554,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:535,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:578,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:540,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:566,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:492,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:588,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:551,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:566,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:541,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:560,1
    - Dst: mock_resolver_set_ipv4_results
      Src: /src/glib/gio/tests/network-address.c:485,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:493,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:509,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:512,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/network-address.c:484,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:498,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:506,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:524,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:536,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:548,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:499,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:518,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:524,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:567,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:583,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:500,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:494,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:542,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:525,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:555,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:581,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:508,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:550,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:491,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:503,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:556,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:581,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:505,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:513,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:529,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:547,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:561,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:572,1
    - Dst: mock_resolver_new
      Src: /src/glib/gio/tests/network-address.c:482,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:514,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:530,1
    - Dst: assert_socket_address_matches
      Src: /src/glib/gio/tests/network-address.c:562,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:575,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/network-address.c:533,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:582,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:557,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:545,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:569,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:527,1
    - Dst: g_resolver_set_default
      Src: /src/glib/gio/tests/network-address.c:483,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/tests/network-address.c:487,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/tests/network-address.c:488,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:503,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:519,1
    - Dst: g_resolver_set_default
      Src: /src/glib/gio/tests/network-address.c:586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 105
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 590
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 590
    functionName: test_localhost_sync
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_network_address_new
    - g_list_append
    - g_socket_address_enumerator_next
    - g_assert_no_error
    - g_resolver_get_default
    - g_inet_address_new_from_string
    - G_RESOLVER
    - mock_resolver_new
    - g_object_unref
    - mock_resolver_set_ipv4_results
    - assert_socket_address_matches
    - g_assert_null
    - g_resolver_set_default
    - g_socket_connectable_enumerate
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_localhost_sync (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/tests/network-address.c:621,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/network-address.c:628,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/network-address.c:629,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/tests/network-address.c:624,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:632,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/tests/network-address.c:637,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/network-address.c:638,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/network-address.c:642,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/network-address.c:642,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/network-address.c:643,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/network-address.c:651,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:646,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 654
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 654
    functionName: got_addr
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - G_IS_INET_SOCKET_ADDRESS
    - g_socket_address_enumerator_next_finish
    - g_assert_no_error
    - G_SOCKET_ADDRESS_ENUMERATOR
    - g_list_prepend
    - g_clear_error
    - g_main_loop_quit
    - g_socket_address_enumerator_next_async
    - g_list_reverse
    - g_assert_error
    - g_timeout_add
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void got_addr (GObject *source_object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:881,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/network-address.c:885,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/network-address.c:884,1
    - Dst: g_resolver_free_addresses
      Src: /src/glib/gio/tests/network-address.c:883,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:882,1
    - Dst: g_resolver_set_default
      Src: /src/glib/gio/tests/network-address.c:886,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:887,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:888,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/network-address.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 890
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 890
    functionName: happy_eyeballs_teardown
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_resolver_free_addresses
    - g_object_unref
    - g_main_loop_unref
    - g_list_free
    - g_resolver_set_default
    linkageType: ''
    returnType: void
    signature: 'static void happy_eyeballs_teardown (HappyEyeballsFixture *fixture,
      gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1157,1
    - Dst: mock_resolver_set_ipv4_error
      Src: /src/glib/gio/tests/network-address.c:1160,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1158,1
    - Dst: mock_resolver_set_ipv6_error
      Src: /src/glib/gio/tests/network-address.c:1161,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1163,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1164,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:1166,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1168,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1170
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1170
    functionName: test_happy_eyeballs_both_error
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - mock_resolver_set_ipv4_error
    - g_error_new_literal
    - g_error_free
    - mock_resolver_set_ipv6_error
    - g_assert_null
    - g_main_loop_run
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_both_error (HappyEyeballsFixture *fixture,
      gconstpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/tests/network-address.c:667,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:674,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/tests/network-address.c:669,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/network-address.c:673,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/network-address.c:670,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 677
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 677
    functionName: got_addr_ignored
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - g_socket_address_enumerator_next_finish
    - g_assert_no_error
    - G_SOCKET_ADDRESS_ENUMERATOR
    - g_object_unref
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void got_addr_ignored (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1183,1
    - Dst: mock_resolver_set_ipv4_error
      Src: /src/glib/gio/tests/network-address.c:1186,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/network-address.c:1184,1
    - Dst: mock_resolver_set_ipv4_delay_ms
      Src: /src/glib/gio/tests/network-address.c:1187,1
    - Dst: mock_resolver_set_ipv6_error
      Src: /src/glib/gio/tests/network-address.c:1188,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/network-address.c:1190,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-address.c:1191,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/network-address.c:1193,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1195,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/network-address.c:1196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - HappyEyeballsFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1197
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1197
    functionName: test_happy_eyeballs_both_error_delays_1
    functionSourceFile: /src/glib/gio/tests/network-address.c
    functionUses: []
    functionsReached:
    - mock_resolver_set_ipv4_delay_ms
    - g_error_new_literal
    - g_error_free
    - mock_resolver_set_ipv6_error
    - g_assert_null
    - g_socket_address_enumerator_next_async
    - mock_resolver_set_ipv4_error
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_happy_eyeballs_both_error_delays_1 (HappyEyeballsFixture
      *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - delay_ms
    argTypes:
    - MockResolver*
    - guint
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: mock_resolver_set_ipv4_delay_ms
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mock_resolver_set_ipv4_delay_ms (MockResolver *self, guint delay_ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mock-resolver.c:57,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/tests/mock-resolver.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - self
    - results
    argTypes:
    - MockResolver*
    - GList*
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: mock_resolver_set_ipv4_results
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_list_copy_deep
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'void mock_resolver_set_ipv4_results (MockResolver *self, GList *results) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - delay_ms
    argTypes:
    - MockResolver*
    - guint
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: mock_resolver_set_ipv6_delay_ms
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mock_resolver_set_ipv6_delay_ms (MockResolver *self, guint delay_ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/mock-resolver.c:86,1
    - Dst: g_error_copy
      Src: /src/glib/gio/tests/mock-resolver.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - MockResolver*
    - GError*
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: mock_resolver_set_ipv6_error
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_error_copy
    linkageType: ''
    returnType: void
    signature: 'void mock_resolver_set_ipv6_error (MockResolver *self, GError *error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/mock-resolver.c:110,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/tests/mock-resolver.c:113,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/mock-resolver.c:110,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/tests/mock-resolver.c:117,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/tests/mock-resolver.c:115,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/mock-resolver.c:119,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/mock-resolver.c:121,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/mock-resolver.c:121,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/mock-resolver.c:122,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/mock-resolver.c:122,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/mock-resolver.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - self
    - task
    - flags
    argTypes:
    - MockResolver*
    - GTask*
    - GResolverNameLookupFlags
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: do_lookup_by_name
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - GINT_TO_POINTER
    - g_object_ref
    - g_task_set_task_data
    - g_assert_not_reached
    - g_source_unref
    - g_timeout_source_new
    - g_idle_source_new
    - g_main_context_get_thread_default
    - g_source_attach
    linkageType: ''
    returnType: void
    signature: 'static void do_lookup_by_name (MockResolver *self, GTask *task, GResolverNameLookupFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MOCK_RESOLVER
      Src: /src/glib/gio/tests/mock-resolver.c:167,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/mock-resolver.c:170,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/tests/mock-resolver.c:171,1
    - Dst: do_lookup_by_name
      Src: /src/glib/gio/tests/mock-resolver.c:173,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mock-resolver.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - resolver
    - hostname
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - GResolverNameLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: lookup_by_name_with_flags_async
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_new
    - g_task_set_source_tag
    - MOCK_RESOLVER
    - do_lookup_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: MOCK_RESOLVER
      Src: /src/glib/gio/tests/mock-resolver.c:197,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/tests/mock-resolver.c:207,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/mock-resolver.c:203,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/mock-resolver.c:204,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/mock-resolver.c:206,1
    - Dst: do_lookup_by_name
      Src: /src/glib/gio/tests/mock-resolver.c:210,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/mock-resolver.c:214,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/mock-resolver.c:216,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/mock-resolver.c:216,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/mock-resolver.c:217,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/mock-resolver.c:219,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/mock-resolver.c:222,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/mock-resolver.c:221,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/mock-resolver.c:224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 4
    argNames:
    - resolver
    - hostname
    - cancellable
    - error
    argTypes:
    - GResolver*
    - gchar*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 225
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 225
    functionName: lookup_by_name
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - G_TASK
    - g_main_context_unref
    - g_task_propagate_pointer
    - g_task_new
    - g_task_set_source_tag
    - g_object_unref
    - MOCK_RESOLVER
    - g_steal_pointer
    - g_main_context_iteration
    - g_assert_finalize_object
    - do_lookup_by_name
    - g_main_context_pop_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name (GResolver *resolver, const gchar *hostname,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/mock-resolver.c:240,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mock-resolver.c:243,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mock-resolver.c:245,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/mock-resolver.c:241,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/mock-resolver.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 248
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 248
    functionName: mock_resolver_finalize
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_list_free_full
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void mock_resolver_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/mock-resolver.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mock_resolver_new
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: MockResolver*
    signature: 'MockResolver *mock_resolver_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/mock-resolver.c:64,1
    - Dst: g_error_copy
      Src: /src/glib/gio/tests/mock-resolver.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - MockResolver*
    - GError*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: mock_resolver_set_ipv4_error
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_error_copy
    linkageType: ''
    returnType: void
    signature: 'void mock_resolver_set_ipv4_error (MockResolver *self, GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/mock-resolver.c:50,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/mock-resolver.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - user_data
    argTypes:
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: copy_object
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer copy_object (gconstpointer obj, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/mock-resolver.c:79,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/tests/mock-resolver.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - self
    - results
    argTypes:
    - MockResolver*
    - GList*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: mock_resolver_set_ipv6_results
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_list_copy_deep
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'void mock_resolver_set_ipv6_results (MockResolver *self, GList *results) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/tests/mock-resolver.c:129,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/mock-resolver.c:131,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/mock-resolver.c:130,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/mock-resolver.c:131,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/tests/mock-resolver.c:136,1
    - Dst: g_error_copy
      Src: /src/glib/gio/tests/mock-resolver.c:136,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/mock-resolver.c:138,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/tests/mock-resolver.c:138,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/tests/mock-resolver.c:143,1
    - Dst: g_error_copy
      Src: /src/glib/gio/tests/mock-resolver.c:143,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/mock-resolver.c:145,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/mock-resolver.c:150,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/mock-resolver.c:151,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/mock-resolver.c:154,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/tests/mock-resolver.c:145,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/tests/mock-resolver.c:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 157
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 157
    functionName: lookup_by_name_cb
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - G_TASK
    - g_assert
    - g_error_copy
    - g_list_copy_deep
    - g_assert_not_reached
    - g_task_return_pointer
    - g_task_return_error
    - GPOINTER_TO_INT
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean lookup_by_name_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/mock-resolver.c:185,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/mock-resolver.c:188,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/mock-resolver.c:186,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/mock-resolver.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: async_result_cb
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_get_thread_default
    - g_object_ref
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void async_result_cb (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/mock-resolver.c:232,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/mock-resolver.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - resolver
    - result
    - error
    argTypes:
    - GResolver*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: lookup_by_name_with_flags_finish
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - g_task_propagate_pointer
    - G_TASK
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name_with_flags_finish (GResolver *resolver,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER_CLASS
      Src: /src/glib/gio/tests/mock-resolver.c:253,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/mock-resolver.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MockResolverClass*
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: mock_resolver_class_init
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_RESOLVER_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void mock_resolver_class_init (MockResolverClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - MockResolver*
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: mock_resolver_init
    functionSourceFile: /src/glib/gio/tests/mock-resolver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mock_resolver_init (MockResolver *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_all_finish
      Src: /src/glib/gio/tests/stream-rw_all.c:36,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/stream-rw_all.c:36,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/stream-rw_all.c:38,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/stream-rw_all.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: read_done
    functionSourceFile: /src/glib/gio/tests/stream-rw_all.c
    functionUses: []
    functionsReached:
    - g_input_stream_read_all_finish
    - G_INPUT_STREAM
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void read_done (GObject *source, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:78,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/stream-rw_all.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - success
    - written
    argTypes:
    - gboolean
    - gsize
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: wait_for_write
    functionSourceFile: /src/glib/gio/tests/stream-rw_all.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: 'static void wait_for_write (gboolean success, gsize written) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/tests/stream-rw_all.c:124,1
    - Dst: wait_for_read
      Src: /src/glib/gio/tests/stream-rw_all.c:127,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:128,1
    - Dst: g_input_stream_read_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:126,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/stream-rw_all.c:128,1
    - Dst: g_input_stream_read_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:130,1
    - Dst: wait_for_read
      Src: /src/glib/gio/tests/stream-rw_all.c:131,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:132,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/stream-rw_all.c:132,1
    - Dst: g_input_stream_read_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:135,1
    - Dst: wait_for_read
      Src: /src/glib/gio/tests/stream-rw_all.c:136,1
    - Dst: g_input_stream_read_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:140,1
    - Dst: wait_for_read
      Src: /src/glib/gio/tests/stream-rw_all.c:141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/stream-rw_all.c:143,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:137,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/stream-rw_all.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 144
    functionName: test_read_all_async_memory
    functionSourceFile: /src/glib/gio/tests/stream-rw_all.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_memory_input_stream_new_from_data
    - g_object_unref
    - wait_for_read
    - g_input_stream_read_all_async
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void test_read_all_async_memory (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/stream-rw_all.c:94,1
    - Dst: wait_for_write
      Src: /src/glib/gio/tests/stream-rw_all.c:100,1
    - Dst: wait_for_write
      Src: /src/glib/gio/tests/stream-rw_all.c:97,1
    - Dst: g_output_stream_write_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:96,1
    - Dst: g_output_stream_write_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:99,1
    - Dst: g_output_stream_write_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:105,1
    - Dst: wait_for_write
      Src: /src/glib/gio/tests/stream-rw_all.c:106,1
    - Dst: g_output_stream_write_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:109,1
    - Dst: wait_for_write
      Src: /src/glib/gio/tests/stream-rw_all.c:110,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:112,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/stream-rw_all.c:112,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/stream-rw_all.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 115
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 115
    functionName: test_write_all_async_memory
    functionSourceFile: /src/glib/gio/tests/stream-rw_all.c
    functionUses: []
    functionsReached:
    - wait_for_write
    - g_assert
    - g_object_unref
    - g_output_stream_write_all_async
    - memcmp
    - g_memory_output_stream_new
    linkageType: ''
    returnType: void
    signature: 'static void test_write_all_async_memory (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all_finish
      Src: /src/glib/gio/tests/stream-rw_all.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/stream-rw_all.c:70,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/stream-rw_all.c:69,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/stream-rw_all.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: write_done
    functionSourceFile: /src/glib/gio/tests/stream-rw_all.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - G_OUTPUT_STREAM
    - g_output_stream_write_all_finish
    linkageType: ''
    returnType: void
    signature: 'static void write_done (GObject *source, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:46,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/stream-rw_all.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - success
    - read
    argTypes:
    - gboolean
    - gsize
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: wait_for_read
    functionSourceFile: /src/glib/gio/tests/stream-rw_all.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: 'static void wait_for_read (gboolean success, gsize read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/stream-rw_all.c:187,1
    - Dst: wait_for_write
      Src: /src/glib/gio/tests/stream-rw_all.c:196,1
    - Dst: wait_for_write
      Src: /src/glib/gio/tests/stream-rw_all.c:221,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/stream-rw_all.c:228,1
    - Dst: g_input_stream_read_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:218,1
    - Dst: g_output_stream_write_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:188,1
    - Dst: socketpair
      Src: /src/glib/gio/tests/stream-rw_all.c:169,1
    - Dst: g_pollable_output_stream_is_writable
      Src: /src/glib/gio/tests/stream-rw_all.c:178,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:170,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/tests/stream-rw_all.c:178,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/stream-rw_all.c:180,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/stream-rw_all.c:181,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/stream-rw_all.c:195,1
    - Dst: g_output_stream_write_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:199,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:191,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:223,1
    - Dst: wait_for_read
      Src: /src/glib/gio/tests/stream-rw_all.c:232,1
    - Dst: wait_for_read
      Src: /src/glib/gio/tests/stream-rw_all.c:239,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/stream-rw_all.c:229,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/stream-rw_all.c:189,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/stream-rw_all.c:209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/stream-rw_all.c:241,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/stream-rw_all.c:172,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/stream-rw_all.c:173,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/stream-rw_all.c:194,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:202,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/stream-rw_all.c:200,1
    - Dst: MIN
      Src: /src/glib/gio/tests/stream-rw_all.c:209,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/stream-rw_all.c:211,1
    - Dst: g_input_stream_read_all_async
      Src: /src/glib/gio/tests/stream-rw_all.c:238,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/stream-rw_all.c:242,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/stream-rw_all.c:210,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/stream-rw_all.c:235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 243
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 243
    functionName: test_read_write_all_async_pipe
    functionSourceFile: /src/glib/gio/tests/stream-rw_all.c
    functionUses: []
    functionsReached:
    - socketpair
    - MIN
    - g_input_stream_read_all_async
    - g_output_stream_write
    - wait_for_write
    - G_POLLABLE_OUTPUT_STREAM
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    - g_object_unref
    - g_pollable_output_stream_is_writable
    - g_input_stream_read
    - g_assert_no_error
    - g_cancellable_new
    - g_output_stream_write_all_async
    - g_cancellable_cancel
    - g_main_context_iteration
    - g_output_stream_write_all
    - g_assert
    - wait_for_read
    - g_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void test_read_write_all_async_pipe (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/stream-rw_all.c:250,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/stream-rw_all.c:252,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/stream-rw_all.c:258,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/stream-rw_all.c:253,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/stream-rw_all.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 259
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 259
    functionName: main
    functionSourceFile: /src/glib/gio/tests/stream-rw_all.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IO_STREAM
      Src: /src/glib/gio/tests/test-io-stream.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - _stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: test_io_stream_get_output_stream
    functionSourceFile: /src/glib/gio/tests/test-io-stream.c
    functionUses: []
    functionsReached:
    - TEST_IO_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: 'static GOutputStream *test_io_stream_get_output_stream (GIOStream
      *_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - TestIOStream*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: test_io_stream_init
    functionSourceFile: /src/glib/gio/tests/test-io-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_io_stream_init (TestIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IO_STREAM
      Src: /src/glib/gio/tests/test-io-stream.c:33,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/test-io-stream.c:41,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/test-io-stream.c:39,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/test-io-stream.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: test_io_stream_finalize
    functionSourceFile: /src/glib/gio/tests/test-io-stream.c
    functionUses: []
    functionsReached:
    - TEST_IO_STREAM
    - G_OBJECT_CLASS
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void test_io_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IO_STREAM
      Src: /src/glib/gio/tests/test-io-stream.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - _stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: test_io_stream_get_input_stream
    functionSourceFile: /src/glib/gio/tests/test-io-stream.c
    functionUses: []
    functionsReached:
    - TEST_IO_STREAM
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *test_io_stream_get_input_stream (GIOStream *_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/test-io-stream.c:71,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/tests/test-io-stream.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestIOStreamClass*
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: test_io_stream_class_init
    functionSourceFile: /src/glib/gio/tests/test-io-stream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_IO_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_io_stream_class_init (TestIOStreamClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/test-io-stream.c:97,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/tests/test-io-stream.c:97,1
    - Dst: TEST_IO_STREAM
      Src: /src/glib/gio/tests/test-io-stream.c:99,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/tests/test-io-stream.c:98,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/test-io-stream.c:98,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/test-io-stream.c:99,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/test-io-stream.c:100,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/test-io-stream.c:101,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/test-io-stream.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - input_stream
    - output_stream
    argTypes:
    - GInputStream*
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: test_io_stream_new
    functionSourceFile: /src/glib/gio/tests/test-io-stream.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_IO_STREAM
    - g_object_new
    - G_IS_OUTPUT_STREAM
    - TEST_IO_STREAM
    - g_return_val_if_fail
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: GIOStream*
    signature: 'GIOStream *test_io_stream_new (GInputStream *input_stream, GOutputStream
      *output_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - debug_controller
    - invocation
    - user_data
    argTypes:
    - GDebugControllerDBus*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: authorize_false_cb
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean authorize_false_cb (GDebugControllerDBus *debug_controller,
      GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/debugcontroller.c:89,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/debugcontroller.c:95,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/debugcontroller.c:92,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:96,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/debugcontroller.c:93,1
    - Dst: g_debug_controller_dbus_new
      Src: /src/glib/gio/tests/debugcontroller.c:99,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:100,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/debugcontroller.c:101,1
    - Dst: g_debug_controller_dbus_new
      Src: /src/glib/gio/tests/debugcontroller.c:104,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/debugcontroller.c:105,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/debugcontroller.c:106,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/debugcontroller.c:107,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/debugcontroller.c:110,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/debugcontroller.c:111,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:112,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/debugcontroller.c:114,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:115,1
    - Dst: g_debug_controller_dbus_stop
      Src: /src/glib/gio/tests/debugcontroller.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 116
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 116
    functionName: test_dbus_duplicate
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached:
    - g_test_dbus_down
    - g_assert_nonnull
    - g_clear_object
    - g_assert_no_error
    - g_test_dbus_up
    - g_bus_get_sync
    - g_clear_error
    - g_test_dbus_new
    - g_assert_null
    - g_test_summary
    - g_main_context_iteration
    - g_assert_error
    - g_debug_controller_dbus_new
    - g_assert_finalize_object
    - g_debug_controller_dbus_stop
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_duplicate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: notify_debug_enabled_cb
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void notify_debug_enabled_cb (GObject *object, GParamSpec *pspec,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_dbus_get_bus_address
      Src: /src/glib/gio/tests/debugcontroller.c:201,1
    - Dst: g_debug_controller_get_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:215,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/debugcontroller.c:212,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:249,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/debugcontroller.c:329,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/debugcontroller.c:293,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/debugcontroller.c:300,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/debugcontroller.c:330,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/debugcontroller.c:309,1
    - Dst: g_debug_controller_get_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:349,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:361,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/debugcontroller.c:278,1
    - Dst: g_debug_controller_get_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:285,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/debugcontroller.c:195,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/debugcontroller.c:230,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:282,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:347,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/debugcontroller.c:372,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:199,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:286,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:287,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/debugcontroller.c:289,1
    - Dst: g_debug_controller_get_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:316,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:313,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/debugcontroller.c:345,1
    - Dst: g_debug_controller_dbus_stop
      Src: /src/glib/gio/tests/debugcontroller.c:375,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/debugcontroller.c:376,1
    - Dst: G_IS_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/tests/debugcontroller.c:213,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/debugcontroller.c:218,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/debugcontroller.c:252,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:318,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:349,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:382,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:285,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:361,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/debugcontroller.c:365,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:211,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/debugcontroller.c:216,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/debugcontroller.c:236,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/debugcontroller.c:245,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:253,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:254,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:316,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/debugcontroller.c:353,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/debugcontroller.c:311,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/debugcontroller.c:191,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/tests/debugcontroller.c:201,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/debugcontroller.c:327,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/debugcontroller.c:295,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/debugcontroller.c:354,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/debugcontroller.c:356,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:362,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/debugcontroller.c:377,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/debugcontroller.c:281,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/debugcontroller.c:293,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/debugcontroller.c:196,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:207,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/debugcontroller.c:216,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/debugcontroller.c:258,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/debugcontroller.c:280,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:215,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/debugcontroller.c:247,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/debugcontroller.c:251,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/debugcontroller.c:312,1
    - Dst: g_debug_controller_get_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:361,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/debugcontroller.c:369,1
    - Dst: g_debug_controller_set_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:360,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/debugcontroller.c:219,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/debugcontroller.c:257,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:378,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/debugcontroller.c:323,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/debugcontroller.c:235,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:242,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/debugcontroller.c:265,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:349,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:367,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/debugcontroller.c:269,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/debugcontroller.c:283,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/debugcontroller.c:231,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:248,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:255,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:360,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/debugcontroller.c:381,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:285,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/debugcontroller.c:343,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/debugcontroller.c:334,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/debugcontroller.c:314,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/debugcontroller.c:327,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:317,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/debugcontroller.c:290,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:346,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:213,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/debugcontroller.c:321,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:316,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:379,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/debugcontroller.c:320,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/debugcontroller.c:296,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/debugcontroller.c:264,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/debugcontroller.c:198,1
    - Dst: g_debug_controller_dbus_new
      Src: /src/glib/gio/tests/debugcontroller.c:210,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:350,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/debugcontroller.c:351,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 136
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 383
    functionName: test_dbus_properties
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached:
    - g_variant_get_boolean
    - g_clear_pointer
    - g_clear_error
    - G_IS_DEBUG_CONTROLLER_DBUS
    - g_test_dbus_new
    - g_assert_finalize_object
    - g_test_summary
    - g_dbus_connection_get_unique_name
    - g_test_dbus_down
    - g_debug_controller_set_debug_enabled
    - g_test_dbus_get_bus_address
    - g_assert_nonnull
    - g_debug_controller_get_debug_enabled
    - g_test_dbus_up
    - g_bus_get_sync
    - G_DEBUG_CONTROLLER
    - g_variant_new
    - g_debug_controller_dbus_new
    - g_dbus_connection_signal_subscribe
    - g_signal_connect
    - g_assert_cmpuint
    - g_assert_no_error
    - g_variant_get
    - G_CALLBACK
    - g_main_context_iteration
    - g_dbus_connection_new_for_address_sync
    - g_assert_error
    - G_VARIANT_TYPE
    - g_dbus_connection_call
    - g_clear_object
    - g_dbus_connection_call_finish
    - g_assert_true
    - g_dbus_connection_signal_unsubscribe
    - g_debug_controller_dbus_stop
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/debugcontroller.c:41,1
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/debugcontroller.c:40,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:50,1
    - Dst: G_IS_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/tests/debugcontroller.c:50,1
    - Dst: g_debug_controller_set_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:55,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:58,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/debugcontroller.c:64,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/debugcontroller.c:77,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:75,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/debugcontroller.c:37,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/debugcontroller.c:43,1
    - Dst: g_debug_controller_dbus_new
      Src: /src/glib/gio/tests/debugcontroller.c:47,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:48,1
    - Dst: g_debug_controller_get_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:53,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:53,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/debugcontroller.c:59,1
    - Dst: g_debug_controller_get_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:59,1
    - Dst: g_debug_controller_set_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:62,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:62,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:68,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:78,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/debugcontroller.c:70,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/debugcontroller.c:44,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/debugcontroller.c:49,1
    - Dst: g_debug_controller_get_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:56,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:56,1
    - Dst: g_debug_controller_set_debug_enabled
      Src: /src/glib/gio/tests/debugcontroller.c:58,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:59,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:55,1
    - Dst: G_DEBUG_CONTROLLER
      Src: /src/glib/gio/tests/debugcontroller.c:56,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/debugcontroller.c:69,1
    - Dst: g_debug_controller_dbus_stop
      Src: /src/glib/gio/tests/debugcontroller.c:72,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/debugcontroller.c:73,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/debugcontroller.c:74,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/debugcontroller.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 79
    functionName: test_dbus_basic
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_IS_DEBUG_CONTROLLER_DBUS
    - g_test_dbus_new
    - g_assert_finalize_object
    - g_test_summary
    - g_test_dbus_down
    - g_debug_controller_set_debug_enabled
    - g_assert_nonnull
    - g_debug_controller_get_debug_enabled
    - g_test_dbus_up
    - g_bus_get_sync
    - G_DEBUG_CONTROLLER
    - g_debug_controller_dbus_new
    - g_assert_no_error
    - g_main_context_iteration
    - g_assert_false
    - g_clear_object
    - g_assert_true
    - g_debug_controller_dbus_stop
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - debug_controller
    - invocation
    - user_data
    argTypes:
    - GDebugControllerDBus*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: authorize_true_cb
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean authorize_true_cb (GDebugControllerDBus *debug_controller,
      GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/debugcontroller.c:125,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/debugcontroller.c:128,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/debugcontroller.c:128,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/debugcontroller.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: async_result_cb
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached:
    - g_main_context_get_thread_default
    - g_object_ref
    - g_main_context_wakeup
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void async_result_cb (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/debugcontroller.c:169,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/debugcontroller.c:169,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: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: properties_changed_cb
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached:
    - g_main_context_get_thread_default
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void properties_changed_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: 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: 392
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: noop_log_writer_cb
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'static GLogWriterOutput noop_log_writer_cb (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/debugcontroller.c:398,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/debugcontroller.c:399,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/debugcontroller.c:406,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/gio/tests/debugcontroller.c:403,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/debugcontroller.c:405,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/debugcontroller.c:407,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/debugcontroller.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 410
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 410
    functionName: main
    functionSourceFile: /src/glib/gio/tests/debugcontroller.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_log_set_writer_func
    - g_test_add_func
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_printf
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:54,1
    - Dst: _getch
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:62,1
    - Dst: fflush
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:55,1
    - Dst: g_printf
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:69,1
    - Dst: getc
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: static_getpass
    functionSourceFile: /src/glib/gio/tests/gtlsconsoleinteraction.c
    functionUses: []
    functionsReached:
    - g_printf
    - getc
    - _getch
    - fflush
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *static_getpass (const gchar *prompt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:87,1
    - Dst: g_tls_password_get_description
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:87,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:89,1
    - Dst: getpass
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:88,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:91,1
    - Dst: g_tls_password_set_value
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - interaction
    - password
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: g_tls_console_interaction_ask_password
    functionSourceFile: /src/glib/gio/tests/gtlsconsoleinteraction.c
    functionUses: []
    functionsReached:
    - g_tls_password_get_description
    - g_free
    - getpass
    - g_tls_password_set_value
    - g_cancellable_set_error_if_cancelled
    - g_strdup_printf
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult g_tls_console_interaction_ask_password
      (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:124,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:126,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:125,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:125,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - interaction
    - password
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: g_tls_console_interaction_ask_password_async
    functionSourceFile: /src/glib/gio/tests/gtlsconsoleinteraction.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_task_set_task_data
    - g_task_run_in_thread
    - g_task_new
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_console_interaction_ask_password_async (GTlsInteraction
      *interaction, GTlsPassword *password, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - interaction
    argTypes:
    - GTlsConsoleInteraction*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: g_tls_console_interaction_init
    functionSourceFile: /src/glib/gio/tests/gtlsconsoleinteraction.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_console_interaction_init (GTlsConsoleInteraction
      *interaction) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_console_interaction_ask_password
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:107,1
    - Dst: G_TLS_INTERACTION
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:107,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:110,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: ask_password_with_getpass
    functionSourceFile: /src/glib/gio/tests/gtlsconsoleinteraction.c
    functionUses: []
    functionsReached:
    - g_tls_console_interaction_ask_password
    - g_task_return_int
    - G_TLS_INTERACTION
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void ask_password_with_getpass (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:137,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:137,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:140,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - interaction
    - result
    - error
    argTypes:
    - GTlsInteraction*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 145
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionName: g_tls_console_interaction_ask_password_finish
    functionSourceFile: /src/glib/gio/tests/gtlsconsoleinteraction.c
    functionUses: []
    functionsReached:
    - g_task_is_valid
    - g_task_propagate_int
    - g_return_val_if_fail
    - G_TASK
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult g_tls_console_interaction_ask_password_finish
      (GTlsInteraction *interaction, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_INTERACTION_CLASS
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTlsConsoleInteractionClass*
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: g_tls_console_interaction_class_init
    functionSourceFile: /src/glib/gio/tests/gtlsconsoleinteraction.c
    functionUses: []
    functionsReached:
    - G_TLS_INTERACTION_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_console_interaction_class_init (GTlsConsoleInteractionClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gtlsconsoleinteraction.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: g_tls_console_interaction_new
    functionSourceFile: /src/glib/gio/tests/gtlsconsoleinteraction.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GTlsInteraction*
    signature: 'GTlsInteraction *g_tls_console_interaction_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/network-monitor-race.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: quit_loop
    functionSourceFile: /src/glib/gio/tests/network-monitor-race.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean quit_loop (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/network-monitor-race.c:46,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/network-monitor-race.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: call_func
    functionSourceFile: /src/glib/gio/tests/network-monitor-race.c
    functionUses: []
    functionsReached:
    - g_thread_unref
    - g_thread_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean call_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_get_default
      Src: /src/glib/gio/tests/network-monitor-race.c:35,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/network-monitor-race.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: thread_func
    functionSourceFile: /src/glib/gio/tests/network-monitor-race.c
    functionUses: []
    functionsReached:
    - g_timeout_add
    - g_network_monitor_get_default
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/network-monitor-race.c:89,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/network-monitor-race.c:91,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/network-monitor-race.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/glib/gio/tests/network-monitor-race.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/network-monitor-race.c:62,1
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/network-monitor-race.c:64,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/network-monitor-race.c:70,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/network-monitor-race.c:68,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/network-monitor-race.c:69,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/network-monitor-race.c:71,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/network-monitor-race.c:78,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/network-monitor-race.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: test_network_monitor
    functionSourceFile: /src/glib/gio/tests/network-monitor-race.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_main_loop_unref
    - g_main_loop_new
    - g_main_loop_run
    - g_timeout_add
    - g_test_bug
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_network_monitor (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/glib/gio/tests/application-command-line.c:30,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/application-command-line.c:41,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/application-command-line.c:41,1
    - Dst: g_application_command_line_get_is_remote
      Src: /src/glib/gio/tests/application-command-line.c:64,1
    - Dst: g_variant_dict_new
      Src: /src/glib/gio/tests/application-command-line.c:68,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/application-command-line.c:76,1
    - Dst: g_variant_dict_contains
      Src: /src/glib/gio/tests/application-command-line.c:70,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/application-command-line.c:55,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/application-command-line.c:51,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/application-command-line.c:57,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/application-command-line.c:61,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/application-command-line.c:62,1
    - Dst: g_variant_dict_contains
      Src: /src/glib/gio/tests/application-command-line.c:69,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/application-command-line.c:72,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/application-command-line.c:70,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/application-command-line.c:75,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/glib/gio/tests/application-command-line.c:31,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/application-command-line.c:40,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/application-command-line.c:40,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/application-command-line.c:44,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/application-command-line.c:44,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/gio/tests/application-command-line.c:47,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/tests/application-command-line.c:48,1
    - Dst: g_application_command_line_get_arguments
      Src: /src/glib/gio/tests/application-command-line.c:54,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/gio/tests/application-command-line.c:56,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/tests/application-command-line.c:49,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/application-command-line.c:46,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/application-command-line.c:43,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/application-command-line.c:43,1
    - Dst: g_application_command_line_get_options_dict
      Src: /src/glib/gio/tests/application-command-line.c:59,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/application-command-line.c:60,1
    - Dst: g_variant_dict_contains
      Src: /src/glib/gio/tests/application-command-line.c:61,1
    - Dst: g_variant_dict_contains
      Src: /src/glib/gio/tests/application-command-line.c:62,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/application-command-line.c:64,1
    - Dst: g_application_command_line_get_platform_data
      Src: /src/glib/gio/tests/application-command-line.c:66,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/application-command-line.c:67,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/application-command-line.c:69,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/tests/application-command-line.c:71,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/application-command-line.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 79
    functionName: test_basic_properties
    functionSourceFile: /src/glib/gio/tests/application-command-line.c
    functionUses: []
    functionsReached:
    - G_VARIANT_BUILDER_INIT
    - g_object_new
    - g_application_command_line_get_options_dict
    - g_clear_pointer
    - g_application_command_line_get_platform_data
    - g_application_command_line_get_arguments
    - g_variant_dict_unref
    - g_assert_cmpint
    - g_variant_new_bytestring_array
    - g_variant_new_string
    - g_assert_nonnull
    - g_variant_builder_add
    - g_assert_cmpstrv
    - g_variant_dict_new
    - g_variant_unref
    - g_variant_builder_end
    - g_assert_false
    - g_variant_dict_contains
    - g_clear_object
    - g_application_command_line_get_is_remote
    - g_assert_true
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_basic_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/application-command-line.c:85,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/application-command-line.c:86,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/application-command-line.c:90,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/application-command-line.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/glib/gio/tests/application-command-line.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:64,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:69,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:74,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:73,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-icon.c:85,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:90,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-icon.c:99,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:122,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:113,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:127,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:229,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:256,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:263,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:249,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:160,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:198,1
    - Dst: g_emblemed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:248,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:59,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:121,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:173,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:197,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:244,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:262,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:265,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:260,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:203,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:236,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:235,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:87,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:95,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:86,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:93,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:115,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:142,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:146,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:153,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:165,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:233,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:119,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:65,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:82,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:94,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:158,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:194,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:209,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:219,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:195,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:224,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:266,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:145,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:225,1
    - Dst: g_emblem_new_with_origin
      Src: /src/glib/gio/tests/g-icon.c:247,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:63,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:65,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:105,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:128,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:114,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:103,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:113,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/tests/g-icon.c:131,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:151,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:164,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:190,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:257,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:193,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:89,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:92,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:125,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:145,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:169,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:192,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:201,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:213,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:234,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-icon.c:243,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:195,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:100,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:126,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:108,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:55,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:67,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:123,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:101,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:171,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:175,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:199,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:252,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:222,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:242,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:135,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:129,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:80,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:91,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:153,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:167,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:168,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:181,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:258,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:232,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:62,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:107,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:136,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:147,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:155,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:177,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:196,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:210,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:220,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:231,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/g-icon.c:255,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:223,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:183,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:245,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:213,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:221,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:242,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:261,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:77,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:81,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:106,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:109,1
    - Dst: g_emblem_new_with_origin
      Src: /src/glib/gio/tests/g-icon.c:246,1
    - Dst: g_emblemed_icon_add_emblem
      Src: /src/glib/gio/tests/g-icon.c:249,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/g-icon.c:57,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:75,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-icon.c:72,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:78,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:133,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:91,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:144,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:162,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:176,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:184,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:240,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:253,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:267,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:208,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:105,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:126,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/tests/g-icon.c:112,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:61,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:79,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:143,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:191,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:200,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:211,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:215,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:226,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:250,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:264,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:124,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:154,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:165,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:166,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:182,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:200,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:209,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:212,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:216,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/tests/g-icon.c:228,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:253,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:137,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:66,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:78,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:138,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:170,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:178,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:179,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:223,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:229,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:241,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:219,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:163,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:214,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:233,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:251,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:185,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:118,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-icon.c:54,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:68,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:76,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:134,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:88,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:149,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:156,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:161,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:170,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:136,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:58,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:104,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:132,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:152,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:159,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:180,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:189,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:218,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 277
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 268
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 268
    functionName: test_g_icon_to_string
    functionSourceFile: /src/glib/gio/tests/g-icon.c
    functionUses: []
    functionsReached:
    - g_icon_equal
    - G_THEMED_ICON
    - g_themed_icon_new
    - G_EMBLEMED_ICON
    - g_file_new_for_commandline_arg
    - g_icon_new_for_string
    - g_object_unref
    - g_file_icon_new
    - g_emblemed_icon_add_emblem
    - g_emblem_new_with_origin
    - g_themed_icon_new_with_default_fallbacks
    - g_themed_icon_append_name
    - g_assert_no_error
    - g_emblemed_icon_new
    - g_icon_to_string
    - g_free
    - g_file_new_for_uri
    - g_assert
    - g_assert_cmpstr
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_g_icon_to_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOADABLE_ICON
      Src: /src/glib/gio/tests/g-icon.c:504,1
    - Dst: g_loadable_icon_load_finish
      Src: /src/glib/gio/tests/g-icon.c:509,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/tests/g-icon.c:511,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:510,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:511,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:512,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/g-icon.c:513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - source_object
    - res
    - data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 514
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 514
    functionName: load_cb
    functionSourceFile: /src/glib/gio/tests/g-icon.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - G_LOADABLE_ICON
    - g_object_unref
    - g_loadable_icon_load_finish
    - g_main_loop_quit
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void load_cb (GObject *source_object, GAsyncResult *res, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:404,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:402,1
    - Dst: g_themed_icon_get_names
      Src: /src/glib/gio/tests/g-icon.c:411,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-icon.c:412,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:414,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:411,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:416,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:419,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:426,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:431,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:432,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:438,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:399,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/g-icon.c:401,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-icon.c:405,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:407,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/g-icon.c:412,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:417,1
    - Dst: g_themed_icon_new_from_names
      Src: /src/glib/gio/tests/g-icon.c:421,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:426,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/tests/g-icon.c:429,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:431,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:433,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:432,1
    - Dst: g_themed_icon_get_names
      Src: /src/glib/gio/tests/g-icon.c:404,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/g-icon.c:405,1
    - Dst: g_themed_icon_prepend_name
      Src: /src/glib/gio/tests/g-icon.c:409,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:413,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:410,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:418,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:422,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:427,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:432,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:437,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:436,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:406,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:410,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:409,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-icon.c:415,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/g-icon.c:419,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:422,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:424,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:425,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:430,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:435,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 439
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 439
    functionName: test_themed_icon
    functionSourceFile: /src/glib/gio/tests/g-icon.c
    functionUses: []
    functionsReached:
    - g_icon_hash
    - g_themed_icon_new_from_names
    - g_icon_equal
    - G_THEMED_ICON
    - g_themed_icon_new
    - g_icon_serialize
    - g_assert_cmpint
    - g_icon_new_for_string
    - g_object_unref
    - g_themed_icon_prepend_name
    - g_themed_icon_get_names
    - g_icon_deserialize
    - g_themed_icon_append_name
    - g_assert_cmpuint
    - g_variant_unref
    - g_icon_to_string
    - g_strv_length
    - g_free
    - g_assert
    - g_assert_cmpstr
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_themed_icon (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/g-icon.c:545,1
    - Dst: G_LOADABLE_ICON
      Src: /src/glib/gio/tests/g-icon.c:549,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:553,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:567,1
    - Dst: loadable_icon_tests
      Src: /src/glib/gio/tests/g-icon.c:549,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:547,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/tests/g-icon.c:552,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:553,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-icon.c:556,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:561,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:557,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/tests/g-icon.c:559,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:560,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:562,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-icon.c:545,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:546,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/tests/g-icon.c:551,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-icon.c:554,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:562,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:561,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:562,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:565,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:569,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:566,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:563,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:568,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 570
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 570
    functionName: test_file_icon
    functionSourceFile: /src/glib/gio/tests/g-icon.c
    functionUses: []
    functionsReached:
    - g_icon_serialize
    - g_icon_hash
    - g_test_get_filename
    - g_free
    - g_file_new_for_path
    - g_icon_new_for_string
    - g_assert
    - loadable_icon_tests
    - G_LOADABLE_ICON
    - g_file_icon_new
    - g_object_unref
    - g_icon_equal
    - g_variant_unref
    - g_icon_to_string
    - g_icon_deserialize
    linkageType: ''
    returnType: void
    signature: 'static void test_file_icon (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:295,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:340,1
    - Dst: g_emblem_new_with_origin
      Src: /src/glib/gio/tests/g-icon.c:367,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:323,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:292,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:297,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:308,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:309,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:324,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:314,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:332,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:341,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:360,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:313,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/tests/g-icon.c:370,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:372,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:385,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:334,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:355,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/g-icon.c:320,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/tests/g-icon.c:342,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:288,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:290,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:301,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/g-icon.c:305,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:312,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:346,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:331,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:337,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:365,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:291,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/g-icon.c:294,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:350,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:354,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-icon.c:363,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:382,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:335,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:316,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/g-icon.c:287,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:338,1
    - Dst: g_emblemed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:368,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:381,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:325,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:352,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:296,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:310,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:353,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:371,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:372,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/g-icon.c:374,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:384,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:299,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:298,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:326,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:332,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:353,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:336,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:343,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:344,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:375,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:383,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:305,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:320,1
    - Dst: g_emblem_new_with_origin
      Src: /src/glib/gio/tests/g-icon.c:366,1
    - Dst: g_emblemed_icon_add_emblem
      Src: /src/glib/gio/tests/g-icon.c:369,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:386,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/tests/g-icon.c:364,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:376,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/tests/g-icon.c:333,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:327,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/g-icon.c:295,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:309,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:324,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:356,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:362,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:315,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:380,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:287,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:306,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:321,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:350,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:379,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:377,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:344,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:289,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:299,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:302,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:314,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:335,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:317,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:347,1
    - Dst: g_themed_icon_append_name
      Src: /src/glib/gio/tests/g-icon.c:362,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:369,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:341,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:322,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:345,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/g-icon.c:286,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:290,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:300,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-icon.c:307,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:311,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/tests/g-icon.c:351,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/tests/g-icon.c:349,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/g-icon.c:304,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/g-icon.c:319,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 145
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 387
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 387
    functionName: test_g_icon_serialize
    functionSourceFile: /src/glib/gio/tests/g-icon.c
    functionUses: []
    functionsReached:
    - g_icon_equal
    - G_THEMED_ICON
    - g_themed_icon_new
    - G_EMBLEMED_ICON
    - g_file_new_for_commandline_arg
    - g_icon_serialize
    - g_variant_new_string
    - g_object_unref
    - g_file_icon_new
    - g_emblemed_icon_add_emblem
    - g_emblem_new_with_origin
    - g_themed_icon_new_with_default_fallbacks
    - g_icon_deserialize
    - g_themed_icon_append_name
    - g_variant_unref
    - g_emblemed_icon_new
    - g_variant_ref_sink
    - g_assert
    - g_file_new_for_uri
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_g_icon_serialize (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_emblem_new_with_origin
      Src: /src/glib/gio/tests/g-icon.c:453,1
    - Dst: g_emblemed_icon_add_emblem
      Src: /src/glib/gio/tests/g-icon.c:461,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:458,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:465,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:465,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:470,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:471,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:474,1
    - Dst: g_emblem_get_icon
      Src: /src/glib/gio/tests/g-icon.c:474,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:478,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:481,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:456,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:458,1
    - Dst: g_emblemed_icon_get_icon
      Src: /src/glib/gio/tests/g-icon.c:458,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:469,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:470,1
    - Dst: g_emblem_get_origin
      Src: /src/glib/gio/tests/g-icon.c:475,1
    - Dst: g_emblem_get_origin
      Src: /src/glib/gio/tests/g-icon.c:479,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:482,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:482,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:484,1
    - Dst: g_emblemed_icon_get_emblems
      Src: /src/glib/gio/tests/g-icon.c:482,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:495,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:496,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:489,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:450,1
    - Dst: g_emblem_new
      Src: /src/glib/gio/tests/g-icon.c:452,1
    - Dst: g_emblemed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:455,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/g-icon.c:457,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:461,1
    - Dst: g_emblemed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:460,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/tests/g-icon.c:467,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:468,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:469,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:475,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:493,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:491,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/g-icon.c:485,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:486,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/tests/g-icon.c:451,1
    - Dst: g_emblemed_icon_get_emblems
      Src: /src/glib/gio/tests/g-icon.c:456,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-icon.c:457,1
    - Dst: g_emblemed_icon_get_emblems
      Src: /src/glib/gio/tests/g-icon.c:462,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-icon.c:463,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/g-icon.c:463,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/tests/g-icon.c:462,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:470,1
    - Dst: g_emblem_get_icon
      Src: /src/glib/gio/tests/g-icon.c:478,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:479,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:484,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:490,1
    - Dst: g_emblemed_icon_clear_emblems
      Src: /src/glib/gio/tests/g-icon.c:481,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:487,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:484,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:492,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 497
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 497
    functionName: test_emblemed_icon
    functionSourceFile: /src/glib/gio/tests/g-icon.c
    functionUses: []
    functionsReached:
    - g_icon_hash
    - g_emblemed_icon_get_emblems
    - g_emblemed_icon_clear_emblems
    - g_icon_equal
    - g_themed_icon_new
    - G_EMBLEMED_ICON
    - g_emblemed_icon_get_icon
    - g_icon_serialize
    - g_assert_cmpint
    - g_object_unref
    - g_emblemed_icon_add_emblem
    - g_list_length
    - g_emblem_new_with_origin
    - g_icon_deserialize
    - g_variant_unref
    - g_emblem_get_icon
    - g_emblemed_icon_new
    - g_assert
    - g_emblem_get_origin
    - g_emblem_new
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_emblemed_icon (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_loadable_icon_load
      Src: /src/glib/gio/tests/g-icon.c:523,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/g-icon.c:524,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:525,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:526,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/tests/g-icon.c:525,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/g-icon.c:528,1
    - Dst: g_loadable_icon_load_async
      Src: /src/glib/gio/tests/g-icon.c:529,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/g-icon.c:530,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/g-icon.c:531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GLoadableIcon*
    constantsTouched: []
    func_position:
      end: 532
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 532
    functionName: loadable_icon_tests
    functionSourceFile: /src/glib/gio/tests/g-icon.c
    functionUses: []
    functionsReached:
    - g_loadable_icon_load_async
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_main_loop_unref
    - g_loadable_icon_load
    - g_main_loop_new
    - g_main_loop_run
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void loadable_icon_tests (GLoadableIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/tests/g-icon.c:583,1
    - Dst: g_bytes_icon_get_bytes
      Src: /src/glib/gio/tests/g-icon.c:587,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:597,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/tests/g-icon.c:596,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/g-icon.c:593,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:598,1
    - Dst: G_LOADABLE_ICON
      Src: /src/glib/gio/tests/g-icon.c:600,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:604,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:589,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:597,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/g-icon.c:591,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:598,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:588,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/tests/g-icon.c:588,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:592,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:589,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/tests/g-icon.c:595,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:589,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:603,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/g-icon.c:606,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/g-icon.c:583,1
    - Dst: g_bytes_icon_new
      Src: /src/glib/gio/tests/g-icon.c:584,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-icon.c:587,1
    - Dst: g_bytes_icon_new
      Src: /src/glib/gio/tests/g-icon.c:585,1
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/tests/g-icon.c:587,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/tests/g-icon.c:598,1
    - Dst: loadable_icon_tests
      Src: /src/glib/gio/tests/g-icon.c:600,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/g-icon.c:602,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-icon.c:605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 607
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 607
    functionName: test_bytes_icon
    functionSourceFile: /src/glib/gio/tests/g-icon.c
    functionUses: []
    functionsReached:
    - strlen
    - g_icon_hash
    - g_icon_serialize
    - g_bytes_icon_get_bytes
    - g_bytes_new_static
    - g_icon_deserialize
    - g_assert
    - loadable_icon_tests
    - G_LOADABLE_ICON
    - g_icon_equal
    - g_bytes_unref
    - g_variant_unref
    - g_bytes_icon_new
    - g_object_unref
    - G_BYTES_ICON
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_bytes_icon (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/g-icon.c:613,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-icon.c:616,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-icon.c:615,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-icon.c:618,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-icon.c:617,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-icon.c:619,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-icon.c:620,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/g-icon.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 623
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 623
    functionName: main
    functionSourceFile: /src/glib/gio/tests/g-icon.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_get_name
      Src: /src/glib/gio/tests/volumemonitor.c:12,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:17,1
    - Dst: g_mount_get_volume
      Src: /src/glib/gio/tests/volumemonitor.c:16,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:13,1
    - Dst: g_free
      Src: /src/glib/gio/tests/volumemonitor.c:14,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:19,1
    - Dst: g_mount_get_drive
      Src: /src/glib/gio/tests/volumemonitor.c:21,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:22,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:24,1
    - Dst: g_mount_get_uuid
      Src: /src/glib/gio/tests/volumemonitor.c:26,1
    - Dst: g_volume_monitor_get_mount_for_uuid
      Src: /src/glib/gio/tests/volumemonitor.c:30,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:32,1
    - Dst: g_free
      Src: /src/glib/gio/tests/volumemonitor.c:33,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:31,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - drive
    - volume
    - mount
    argTypes:
    - GDrive*
    - GVolume*
    - GMount*
    constantsTouched: []
    func_position:
      end: 35
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 35
    functionName: do_mount_tests
    functionSourceFile: /src/glib/gio/tests/volumemonitor.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_mount_get_uuid
    - g_object_unref
    - g_volume_monitor_get_mount_for_uuid
    - g_mount_get_drive
    - g_mount_get_name
    - g_mount_get_volume
    linkageType: ''
    returnType: void
    signature: 'static void do_mount_tests (GDrive *drive, GVolume *volume, GMount
      *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:79,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:81,1
    - Dst: g_free
      Src: /src/glib/gio/tests/volumemonitor.c:82,1
    - Dst: g_drive_get_name
      Src: /src/glib/gio/tests/volumemonitor.c:80,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/tests/volumemonitor.c:79,1
    - Dst: g_drive_has_volumes
      Src: /src/glib/gio/tests/volumemonitor.c:84,1
    - Dst: g_drive_get_volumes
      Src: /src/glib/gio/tests/volumemonitor.c:85,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:86,1
    - Dst: do_volume_tests
      Src: /src/glib/gio/tests/volumemonitor.c:90,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/volumemonitor.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: do_drive_tests
    functionSourceFile: /src/glib/gio/tests/volumemonitor.c
    functionUses: []
    functionsReached:
    - g_drive_has_volumes
    - g_free
    - g_drive_get_volumes
    - g_assert
    - G_IS_DRIVE
    - do_volume_tests
    - g_list_free_full
    - g_drive_get_name
    linkageType: ''
    returnType: void
    signature: 'static void do_drive_tests (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_monitor_get_volumes
      Src: /src/glib/gio/tests/volumemonitor.c:118,1
    - Dst: g_volume_get_drive
      Src: /src/glib/gio/tests/volumemonitor.c:125,1
    - Dst: do_volume_tests
      Src: /src/glib/gio/tests/volumemonitor.c:126,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:128,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/volumemonitor.c:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: test_volumes
    functionSourceFile: /src/glib/gio/tests/volumemonitor.c
    functionUses: []
    functionsReached:
    - g_volume_get_drive
    - do_volume_tests
    - g_object_unref
    - g_volume_monitor_get_volumes
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_volumes (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_get_name
      Src: /src/glib/gio/tests/volumemonitor.c:45,1
    - Dst: g_volume_get_drive
      Src: /src/glib/gio/tests/volumemonitor.c:49,1
    - Dst: g_free
      Src: /src/glib/gio/tests/volumemonitor.c:47,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:50,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:46,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:52,1
    - Dst: g_volume_get_mount
      Src: /src/glib/gio/tests/volumemonitor.c:54,1
    - Dst: do_mount_tests
      Src: /src/glib/gio/tests/volumemonitor.c:57,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:58,1
    - Dst: g_volume_get_uuid
      Src: /src/glib/gio/tests/volumemonitor.c:61,1
    - Dst: g_volume_monitor_get_volume_for_uuid
      Src: /src/glib/gio/tests/volumemonitor.c:65,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:67,1
    - Dst: g_free
      Src: /src/glib/gio/tests/volumemonitor.c:68,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/volumemonitor.c:66,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - drive
    - volume
    argTypes:
    - GDrive*
    - GVolume*
    constantsTouched: []
    func_position:
      end: 70
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 70
    functionName: do_volume_tests
    functionSourceFile: /src/glib/gio/tests/volumemonitor.c
    functionUses: []
    functionsReached:
    - g_free
    - g_volume_get_drive
    - g_volume_monitor_get_volume_for_uuid
    - g_assert
    - g_volume_get_mount
    - g_object_unref
    - g_volume_get_name
    - g_volume_get_uuid
    - do_mount_tests
    linkageType: ''
    returnType: void
    signature: 'static void do_volume_tests (GDrive *drive, GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_monitor_get_connected_drives
      Src: /src/glib/gio/tests/volumemonitor.c:102,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/volumemonitor.c:110,1
    - Dst: do_drive_tests
      Src: /src/glib/gio/tests/volumemonitor.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: test_connected_drives
    functionSourceFile: /src/glib/gio/tests/volumemonitor.c
    functionUses: []
    functionsReached:
    - g_volume_monitor_get_connected_drives
    - do_drive_tests
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_connected_drives (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_monitor_get_mounts
      Src: /src/glib/gio/tests/volumemonitor.c:139,1
    - Dst: g_mount_get_drive
      Src: /src/glib/gio/tests/volumemonitor.c:147,1
    - Dst: do_mount_tests
      Src: /src/glib/gio/tests/volumemonitor.c:149,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:152,1
    - Dst: g_mount_get_volume
      Src: /src/glib/gio/tests/volumemonitor.c:148,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:154,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/volumemonitor.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 158
    functionName: test_mounts
    functionSourceFile: /src/glib/gio/tests/volumemonitor.c
    functionUses: []
    functionsReached:
    - g_volume_monitor_get_mounts
    - g_object_unref
    - do_mount_tests
    - g_mount_get_drive
    - g_mount_get_volume
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_mounts (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gio/tests/volumemonitor.c:164,1
    - Dst: g_volume_monitor_get
      Src: /src/glib/gio/tests/volumemonitor.c:168,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/volumemonitor.c:171,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/volumemonitor.c:170,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/volumemonitor.c:166,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/volumemonitor.c:172,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/volumemonitor.c:174,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/volumemonitor.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/glib/gio/tests/volumemonitor.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_test_add_func
    - g_volume_monitor_get
    - g_test_run
    - g_test_init
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_activate
      Src: /src/glib/gio/tests/basic-application.c:10,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 11
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 11
    functionName: new_activated
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_application_activate
    linkageType: ''
    returnType: void
    signature: 'static void new_activated (GSimpleAction *action, GVariant *parameter,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: action1_activated
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void action1_activated (GSimpleAction *action, GVariant *parameter,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:49,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/basic-application.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - action
    - state
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: change_action2
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_print
    - g_variant_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void change_action2 (GSimpleAction *action, GVariant *state,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/basic-application.c:70,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:71,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/basic-application.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: activate
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_application_release
    - g_print
    - g_application_hold
    linkageType: ''
    returnType: void
    signature: 'static void activate (GApplication *application) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_application_command_line_get_arguments
      Src: /src/glib/gio/tests/basic-application.c:106,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:132,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:130,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:128,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:145,1
    - Dst: g_application_command_line_get_platform_data
      Src: /src/glib/gio/tests/basic-application.c:157,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/basic-application.c:159,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/basic-application.c:159,1
    - Dst: g_application_mark_busy
      Src: /src/glib/gio/tests/basic-application.c:169,1
    - Dst: g_application_command_line_get_stdin
      Src: /src/glib/gio/tests/basic-application.c:181,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/basic-application.c:194,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:175,1
    - Dst: g_application_command_line_get_cwd
      Src: /src/glib/gio/tests/basic-application.c:165,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/basic-application.c:183,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:114,1
    - Dst: g_application_command_line_get_environ
      Src: /src/glib/gio/tests/basic-application.c:121,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:126,1
    - Dst: g_application_command_line_getenv
      Src: /src/glib/gio/tests/basic-application.c:130,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/basic-application.c:145,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/basic-application.c:159,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:163,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:167,1
    - Dst: g_application_get_default
      Src: /src/glib/gio/tests/basic-application.c:169,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:170,1
    - Dst: g_application_unmark_busy
      Src: /src/glib/gio/tests/basic-application.c:174,1
    - Dst: g_application_get_default
      Src: /src/glib/gio/tests/basic-application.c:174,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/tests/basic-application.c:183,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/basic-application.c:184,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:177,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:112,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:115,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:122,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/basic-application.c:124,1
    - Dst: g_application_command_line_printerr
      Src: /src/glib/gio/tests/basic-application.c:138,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:140,1
    - Dst: g_application_command_line_create_file_for_arg
      Src: /src/glib/gio/tests/basic-application.c:144,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/basic-application.c:146,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/basic-application.c:160,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:165,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:186,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:192,1
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/basic-application.c:105,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:110,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:117,1
    - Dst: g_application_command_line_print
      Src: /src/glib/gio/tests/basic-application.c:134,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:125,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:136,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:148,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/basic-application.c:153,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/basic-application.c:158,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:161,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:189,1
    - Dst: g_application_command_line_get_is_remote
      Src: /src/glib/gio/tests/basic-application.c:192,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/basic-application.c:195,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 90
    argCount: 2
    argNames:
    - application
    - cmdline
    argTypes:
    - GApplication*
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 198
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 198
    functionName: command_line
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_application_command_line_get_environ
    - g_application_command_line_get_platform_data
    - g_application_command_line_get_stdin
    - g_strfreev
    - g_application_command_line_get_arguments
    - g_application_command_line_get_cwd
    - g_application_command_line_getenv
    - g_strcmp0
    - g_application_command_line_printerr
    - g_object_unref
    - g_application_unmark_busy
    - g_str_has_prefix
    - g_application_command_line_get_is_remote
    - g_print
    - G_IS_INPUT_STREAM
    - g_variant_unref
    - g_application_hold
    - g_application_mark_busy
    - G_VARIANT_TYPE
    - g_object_get
    - g_application_command_line_create_file_for_arg
    - g_file_get_path
    - g_application_command_line_print
    - g_assert
    - g_application_release
    - g_application_get_default
    - g_variant_is_of_type
    linkageType: ''
    returnType: int
    signature: 'static int command_line (GApplication *application, GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_quit
      Src: /src/glib/gio/tests/basic-application.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: quit_activated
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_application_quit
    linkageType: ''
    returnType: void
    signature: 'static void quit_activated (GSimpleAction *action, GVariant *parameter,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_get_state
      Src: /src/glib/gio/tests/basic-application.c:38,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/basic-application.c:39,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/basic-application.c:39,1
    - Dst: g_action_change_state
      Src: /src/glib/gio/tests/basic-application.c:39,1
    - Dst: G_ACTION
      Src: /src/glib/gio/tests/basic-application.c:38,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/basic-application.c:39,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:40,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/basic-application.c:40,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/basic-application.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: action2_activated
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_variant_get_boolean
    - g_action_get_state
    - g_variant_unref
    - g_variant_new_boolean
    - g_action_change_state
    - g_print
    - G_ACTION
    linkageType: ''
    returnType: void
    signature: 'static void action2_activated (GSimpleAction *action, GVariant *parameter,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_map_add_action_entries
      Src: /src/glib/gio/tests/basic-application.c:62,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/basic-application.c:62,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/basic-application.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - app
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: startup
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - G_ACTION_MAP
    - G_N_ELEMENTS
    - g_action_map_add_action_entries
    linkageType: ''
    returnType: void
    signature: 'static void startup (GApplication *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/basic-application.c:83,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:89,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/basic-application.c:88,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:85,1
    - Dst: g_free
      Src: /src/glib/gio/tests/basic-application.c:90,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:92,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/basic-application.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - application
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: app_open
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_free
    - g_application_release
    - g_application_hold
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void app_open (GApplication *application, GFile **files, gint
      n_files, const gchar *hint) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:208,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/tests/basic-application.c:215,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:214,1
    - Dst: g_application_get_default
      Src: /src/glib/gio/tests/basic-application.c:210,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:212,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/basic-application.c:215,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:217,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:218,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/basic-application.c:219,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:221,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/basic-application.c:230,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/basic-application.c:232,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/basic-application.c:223,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/tests/basic-application.c:228,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/tests/basic-application.c:228,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:226,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/tests/basic-application.c:223,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: action_cb
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_action_group_change_action_state
    - g_action_group_activate_action
    - g_strcmp0
    - g_variant_new_boolean
    - g_action_group_list_actions
    - g_application_release
    - g_strfreev
    - g_application_get_default
    - g_print
    - G_ACTION_GROUP
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean action_cb (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/basic-application.c:256,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/basic-application.c:268,1
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/basic-application.c:262,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/basic-application.c:254,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:246,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/basic-application.c:250,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/basic-application.c:249,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/basic-application.c:249,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/basic-application.c:250,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/basic-application.c:251,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/basic-application.c:251,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/basic-application.c:252,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/basic-application.c:252,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/basic-application.c:261,1
    - Dst: g_application_new
      Src: /src/glib/gio/tests/basic-application.c:244,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/basic-application.c:263,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/basic-application.c:266,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/basic-application.c:259,1
    - Dst: g_print
      Src: /src/glib/gio/tests/basic-application.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 273
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/glib/gio/tests/basic-application.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - g_signal_connect
    - g_idle_add
    - g_strcmp0
    - g_object_unref
    - G_CALLBACK
    - g_application_hold
    - g_application_run
    - g_application_new
    - g_print
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:48,1
    - Dst: g_proxy_resolver_lookup_finish
      Src: /src/glib/gio/tests/simple-proxy.c:54,1
    - Dst: g_simple_proxy_resolver_new
      Src: /src/glib/gio/tests/simple-proxy.c:64,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/simple-proxy.c:67,1
    - Dst: g_simple_proxy_resolver_new
      Src: /src/glib/gio/tests/simple-proxy.c:86,1
    - Dst: g_simple_proxy_resolver_set_uri_proxy
      Src: /src/glib/gio/tests/simple-proxy.c:87,1
    - Dst: G_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/tests/simple-proxy.c:89,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:92,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:96,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:117,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:127,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-proxy.c:134,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:102,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:122,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:120,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:130,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:115,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:130,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:47,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:49,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/simple-proxy.c:53,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/simple-proxy.c:57,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/simple-proxy.c:69,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:68,1
    - Dst: g_proxy_resolver_lookup_finish
      Src: /src/glib/gio/tests/simple-proxy.c:76,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/simple-proxy.c:80,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-proxy.c:81,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-proxy.c:83,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:95,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:116,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:116,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:113,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:123,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:124,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:109,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:103,1
    - Dst: g_simple_proxy_resolver_new
      Src: /src/glib/gio/tests/simple-proxy.c:45,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:56,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/simple-proxy.c:63,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-proxy.c:59,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/simple-proxy.c:71,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:78,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/simple-proxy.c:79,1
    - Dst: g_simple_proxy_resolver_set_uri_proxy
      Src: /src/glib/gio/tests/simple-proxy.c:89,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:97,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:102,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:111,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:108,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:125,1
    - Dst: g_proxy_resolver_lookup_async
      Src: /src/glib/gio/tests/simple-proxy.c:51,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:55,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/simple-proxy.c:70,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:66,1
    - Dst: g_proxy_resolver_lookup_async
      Src: /src/glib/gio/tests/simple-proxy.c:73,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/simple-proxy.c:75,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/simple-proxy.c:77,1
    - Dst: g_free
      Src: /src/glib/gio/tests/simple-proxy.c:84,1
    - Dst: G_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/tests/simple-proxy.c:87,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:99,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:132,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:109,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:95,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:123,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:104,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:106,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:131,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 90
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 135
    functionName: test_uris
    functionSourceFile: /src/glib/gio/tests/simple-proxy.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_strfreev
    - g_proxy_resolver_lookup_finish
    - g_assert_cmpint
    - G_SIMPLE_PROXY_RESOLVER
    - g_object_unref
    - g_proxy_resolver_lookup
    - g_assert_no_error
    - g_strdup_printf
    - g_main_context_iteration
    - g_assert_null
    - g_assert_error
    - g_strv_length
    - g_free
    - g_clear_object
    - g_assert_cmpstr
    - g_proxy_resolver_lookup_async
    - g_simple_proxy_resolver_new
    - g_simple_proxy_resolver_set_uri_proxy
    linkageType: ''
    returnType: void
    signature: 'static void test_uris (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/simple-proxy.c:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - obj
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: async_result_cb
    functionSourceFile: /src/glib/gio/tests/simple-proxy.c
    functionUses: []
    functionsReached:
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void async_result_cb (GObject *obj, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/simple-proxy.c:287,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/simple-proxy.c:293,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/simple-proxy.c:289,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/simple-proxy.c:290,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/simple-proxy.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: main
    functionSourceFile: /src/glib/gio/tests/simple-proxy.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_proxy_resolver_new
      Src: /src/glib/gio/tests/simple-proxy.c:267,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:277,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:274,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:272,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:276,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-proxy.c:280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: test_ignore
    functionSourceFile: /src/glib/gio/tests/simple-proxy.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_strfreev
    - g_proxy_resolver_lookup
    - g_simple_proxy_resolver_new
    linkageType: ''
    returnType: void
    signature: 'static void test_ignore (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:151,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:156,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-proxy.c:163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:159,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:160,1
    - Dst: g_simple_proxy_resolver_set_uri_proxy
      Src: /src/glib/gio/tests/simple-proxy.c:166,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:169,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:171,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:173,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:181,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:183,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:175,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:188,1
    - Dst: g_simple_proxy_resolver_new
      Src: /src/glib/gio/tests/simple-proxy.c:145,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:147,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:150,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:149,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:154,1
    - Dst: g_simple_proxy_resolver_new
      Src: /src/glib/gio/tests/simple-proxy.c:165,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:172,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:176,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:178,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:181,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:152,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:153,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:158,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:159,1
    - Dst: G_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/tests/simple-proxy.c:166,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:161,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/simple-proxy.c:172,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:182,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/simple-proxy.c:190,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/simple-proxy.c:187,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:189,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/simple-proxy.c:174,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/simple-proxy.c:192,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/simple-proxy.c:185,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/simple-proxy.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 193
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 193
    functionName: test_socks
    functionSourceFile: /src/glib/gio/tests/simple-proxy.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - G_SIMPLE_PROXY_RESOLVER
    - g_assert_no_error
    - g_assert_cmpstr
    - g_object_unref
    - g_strfreev
    - g_proxy_resolver_lookup
    - g_simple_proxy_resolver_new
    - g_simple_proxy_resolver_set_uri_proxy
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void test_socks (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/tests/gdbus-export.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 359
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 359
    functionName: compare_strings
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_strings (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: on_subtree_unregistered
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_subtree_unregistered (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/tests/gdbus-export.c:700,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-export.c:705,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/tests/gdbus-export.c:705,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - connection
    - sender
    - object_path
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 710
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 710
    functionName: dynamic_subtree_enumerate
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_index
    - g_new
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **dynamic_subtree_enumerate (GDBusConnection *connection,
      const gchar *sender, const gchar *object_path, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1851,1
    - Dst: g_dbus_connection_register_subtree
      Src: /src/glib/gio/tests/gdbus-export.c:1857,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1865,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-export.c:1880,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-export.c:1894,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-export.c:1896,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-export.c:1905,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-export.c:1905,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1907,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:1912,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1843,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1850,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:1885,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-export.c:1906,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gdbus-export.c:1919,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1864,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-export.c:1871,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-export.c:1905,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1904,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-export.c:1916,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-export.c:1919,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-export.c:1922,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-export.c:1836,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-export.c:1838,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1837,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-export.c:1875,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-export.c:1881,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-export.c:1911,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-export.c:1915,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-export.c:1921,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - subtree
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 1925
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1925
    functionName: test_threaded_unregistration_iteration
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_error
    - g_steal_pointer
    - g_thread_new
    - g_dbus_connection_get_unique_name
    - g_dbus_connection_register_object
    - g_assert_cmpint
    - g_assert_nonnull
    - g_bus_get_sync
    - g_thread_join
    - g_variant_new
    - g_assert_no_error
    - g_variant_get
    - g_main_context_iteration
    - g_assert_null
    - g_assert_error
    - G_VARIANT_TYPE
    - g_dbus_connection_call
    - g_clear_object
    - g_assert_cmpstr
    - g_dbus_connection_call_finish
    - g_assert_true
    - g_dbus_connection_register_subtree
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_threaded_unregistration_iteration (gboolean subtree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-export.c:373,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-export.c:387,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-export.c:377,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:396,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-export.c:398,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-export.c:412,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gdbus-export.c:417,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:382,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:399,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-export.c:406,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-export.c:395,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-export.c:408,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:410,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-export.c:406,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:383,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:400,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:411,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-export.c:402,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/tests/gdbus-export.c:415,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - c
    - object_path
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 418
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 418
    functionName: get_nodes_at
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_dbus_proxy_new_sync
    - g_dbus_node_info_new_for_xml
    - g_free
    - g_assert
    - g_ptr_array_new
    - g_ptr_array_free
    - g_assert_no_error
    - g_object_unref
    - g_dbus_node_info_unref
    - g_main_loop_run
    - g_dbus_connection_get_unique_name
    - g_ptr_array_sort_values
    - g_dbus_proxy_call
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **get_nodes_at (GDBusConnection *c, const gchar *object_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gdbus-export.c:1930,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-export.c:1935,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gdbus-export.c:1936,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/gdbus-export.c:1956,1
    - Dst: test_threaded_unregistration_iteration
      Src: /src/glib/gio/tests/gdbus-export.c:1945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1958
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1958
    functionName: test_threaded_unregistration
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_test_bug
    - test_threaded_unregistration_iteration
    - GPOINTER_TO_INT
    - g_test_skip_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_unregistration (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/tests/gdbus-export.c:334,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-export.c:340,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-export.c:339,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:338,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:337,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-export.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - proxy
    - res
    - user_data
    argTypes:
    - GDBusProxy*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 343
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 343
    functionName: introspect_callback
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_finish
    - g_assert
    - g_variant_unref
    - g_assert_no_error
    - g_variant_get
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void introspect_callback (GDBusProxy *proxy, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-export.c:173,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:175,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-export.c:174,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: foo_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - g_variant_new_string
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *foo_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_str_has_prefix
      Src: /src/glib/gio/tests/gdbus-export.c:652,1
    - Dst: g_memdup2
      Src: /src/glib/gio/tests/gdbus-export.c:665,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-export.c:662,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/gdbus-export.c:656,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - connection
    - sender
    - object_path
    - node
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 666
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 666
    functionName: subtree_introspect
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_memdup2
    - g_str_has_prefix
    - g_assert_not_reached
    linkageType: ''
    returnType: GDBusInterfaceInfo**
    signature: 'static GDBusInterfaceInfo **subtree_introspect (GDBusConnection *connection,
      const gchar *sender, const gchar *object_path, const gchar *node, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-export.c:1672,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1680,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1687,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-export.c:1688,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-export.c:1675,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1689,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:1690,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-export.c:1692,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1697
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1697
    functionName: ensure_result_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - G_DBUS_CONNECTION
    - g_assert
    - g_variant_print
    - g_variant_unref
    - g_assert_cmpstr
    - g_dbus_connection_call_finish
    linkageType: ''
    returnType: void
    signature: 'static void ensure_result_cb (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/glib/gio/tests/gdbus-export.c:300,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/tests/gdbus-export.c:305,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-export.c:308,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-export.c:308,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-export.c:305,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-export.c:311,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    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: 312
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 312
    functionName: dyna_cyber
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strrchr
    - g_strcmp0
    - g_ptr_array_index
    - g_dbus_method_invocation_return_value
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void dyna_cyber (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_variant_print
      Src: /src/glib/gio/tests/gdbus-export.c:190,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-export.c:191,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    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: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: foo_set_property
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_variant_print
    - g_set_error
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean foo_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: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-export.c:677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - node
    - out_user_data
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gpointer*
    - gpointer
    constantsTouched: []
    func_position:
      end: 681
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 681
    functionName: subtree_dispatch
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: GDBusInterfaceVTable*
    signature: 'static const GDBusInterfaceVTable *subtree_dispatch (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *node, gpointer *out_user_data, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/tests/gdbus-export.c:1708,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-export.c:1710,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/tests/gdbus-export.c:1711,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gdbus-export.c:1714,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-export.c:1710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - connection
    - expected_reply
    - method
    - format_string
    - '...'
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1717
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1717
    functionName: test_async_case
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - va_end
    - g_dbus_connection_call
    - g_variant_new_va
    - va_start
    - g_dbus_connection_get_unique_name
    linkageType: ''
    returnType: void
    signature: 'static void test_async_case (GDBusConnection *connection, const gchar
      *expected_reply, const gchar *method, const gchar *format_string, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-export.c:619,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-export.c:623,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-export.c:623,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-export.c:624,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-export.c:624,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-export.c:626,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gdbus-export.c:628,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - connection
    - sender
    - object_path
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 631
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 631
    functionName: subtree_enumerate
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_ptr_array_new
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **subtree_enumerate (GDBusConnection *connection, const
      gchar *sender, const gchar *object_path, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-export.c:1968,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-export.c:1971,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-export.c:1973,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-export.c:1974,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-export.c:1975,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-export.c:1976,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gdbus-export.c:1977,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gdbus-export.c:1977,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gdbus-export.c:1978,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gdbus-export.c:1978,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-export.c:1985,1
    - Dst: session_bus_run
      Src: /src/glib/gio/tests/gdbus-export.c:1983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1988
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1988
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_test_add_data_func
    - g_test_add_func
    - g_main_loop_unref
    - g_test_init
    - g_main_loop_new
    - session_bus_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/tests/gdbus-export.c:530,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:534,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:533,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-export.c:537,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-export.c:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - proxy
    - res
    - user_data
    argTypes:
    - GDBusProxy*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 538
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 538
    functionName: dyna_create_callback
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_finish
    - g_assert
    - g_variant_unref
    - g_assert_no_error
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void dyna_create_callback (GDBusProxy *proxy, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:799,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:833,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:840,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:869,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:923,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:954,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-export.c:955,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-export.c:875,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:792,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:902,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/tests/gdbus-export.c:934,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:854,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:878,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-export.c:955,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:829,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:922,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:953,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:904,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:853,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:859,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:887,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:803,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:905,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:918,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:889,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-export.c:956,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:957,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-export.c:913,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:890,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:817,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:822,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:827,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:841,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:939,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:955,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:873,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:779,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-export.c:788,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-export.c:801,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:816,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-export.c:873,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:872,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:893,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:926,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:870,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:820,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:861,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:942,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:947,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:775,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:794,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:807,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:910,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:880,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:787,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:801,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:828,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:931,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:903,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:945,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:908,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-export.c:804,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-export.c:801,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:855,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:888,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-export.c:872,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:941,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-export.c:770,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:786,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:843,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:895,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:929,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-export.c:870,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-export.c:871,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:958,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-export.c:959,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:800,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:830,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:940,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-export.c:846,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-export.c:870,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-export.c:963,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:814,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-export.c:802,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:815,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:925,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-export.c:874,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-export.c:766,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:842,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:868,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:961,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 136
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 965
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 965
    functionName: test_dispatch_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_dbus_connection_get_unique_name
    - g_variant_new_string
    - g_variant_print
    - g_object_unref
    - g_variant_new
    - g_variant_get_string
    - g_dbus_proxy_call_sync
    - g_dbus_proxy_new_sync
    - g_assert_no_error
    - g_variant_unref
    - g_error_free
    - g_variant_get
    - g_assert_error
    - G_VARIANT_TYPE
    - g_free
    - g_assert
    - g_variant_new_uint32
    - g_assert_cmpstr
    - g_variant_is_of_type
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_dispatch_thread_func (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/glib/gio/tests/gdbus-export.c:1799,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1802,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-export.c:1805,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-export.c:1802,1
    - Dst: g_dbus_connection_unregister_subtree
      Src: /src/glib/gio/tests/gdbus-export.c:1805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1808
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1808
    functionName: unregister_thread_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - usleep
    - g_dbus_connection_unregister_object
    - g_dbus_connection_unregister_subtree
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer unregister_thread_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-export.c:976,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-export.c:980,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-export.c:979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object_path
    - check_remote_errors
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 981
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 981
    functionName: test_dispatch
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_thread_new
    - g_thread_join
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void test_dispatch (const gchar *object_path, gboolean check_remote_errors) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-export.c:1817,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gdbus-export.c:1818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1819
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1819
    functionName: async_result_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void async_result_cb (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-export.c:432,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:442,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-export.c:436,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:441,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-export.c:446,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-export.c:454,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:455,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-export.c:457,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:458,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:459,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:464,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/tests/gdbus-export.c:461,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:463,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-export.c:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - c
    - object_path
    - interface_name
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 468
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 468
    functionName: has_interface
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_sync
    - g_dbus_node_info_new_for_xml
    - g_free
    - g_assert
    - g_assert_no_error
    - g_dbus_node_info_lookup_interface
    - g_object_unref
    - g_dbus_node_info_unref
    - g_main_loop_run
    - g_dbus_connection_get_unique_name
    - g_dbus_proxy_call
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean has_interface (GDBusConnection *c, const gchar *object_path,
      const gchar *interface_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/gio/tests/gdbus-export.c:722,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 5
    argNames:
    - connection
    - sender
    - object_path
    - node
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: dynamic_subtree_introspect
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_memdup2
    linkageType: ''
    returnType: GDBusInterfaceInfo**
    signature: 'static GDBusInterfaceInfo **dynamic_subtree_introspect (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *node,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1015,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1061,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1085,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1136,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1144,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1185,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1212,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-export.c:1179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1243,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-export.c:1249,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1332,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-export.c:1305,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1319,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1338,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1341,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1355,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1363,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1156,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1029,1
    - Dst: g_dbus_connection_register_subtree
      Src: /src/glib/gio/tests/gdbus-export.c:1230,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1252,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1314,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1315,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1323,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1331,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1335,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1347,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1349,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1389,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1304,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1354,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1394,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-export.c:1379,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1400,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1353,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1325,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-export.c:1339,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1388,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1401,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1244,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1245,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1242,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1037,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1098,1
    - Dst: g_dbus_connection_unregister_subtree
      Src: /src/glib/gio/tests/gdbus-export.c:1186,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-export.c:1187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1283,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1287,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1290,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1294,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-export.c:1341,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1295,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1313,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1365,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1390,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1395,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1179,1
    - Dst: g_dbus_connection_register_subtree
      Src: /src/glib/gio/tests/gdbus-export.c:1189,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1060,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1084,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:1178,1
    - Dst: g_dbus_connection_register_subtree
      Src: /src/glib/gio/tests/gdbus-export.c:1171,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1243,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1254,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1259,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1287,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1399,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1291,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1303,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1143,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1265,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1273,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1279,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1300,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1313,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1315,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1336,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1345,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1348,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1402,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1415,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1261,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1320,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1340,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1321,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1384,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1400,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1024,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1048,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1114,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1238,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1224,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1241,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1256,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1260,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1278,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1281,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1326,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1343,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1351,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1404,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1397,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1280,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1296,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1196,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1169,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1237,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-export.c:1250,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1254,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1293,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1298,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1303,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1305,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1311,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1297,1
    - Dst: g_dbus_connection_unregister_subtree
      Src: /src/glib/gio/tests/gdbus-export.c:1385,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1398,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1130,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-export.c:1110,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-export.c:1111,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gdbus-export.c:1229,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1077,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1053,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1148,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-export.c:1250,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1255,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1259,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1347,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1268,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1399,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1413,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1073,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1260,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1297,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1326,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1342,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1349,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1352,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1365,1
    - Dst: test_dispatch
      Src: /src/glib/gio/tests/gdbus-export.c:1375,1
    - Dst: g_test_dbus_get_temporary_address
      Src: /src/glib/gio/tests/gdbus-export.c:1379,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-export.c:1406,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1404,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1258,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1310,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1366,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:1419,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1403,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1339,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1186,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1168,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1197,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1017,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1111,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1188,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1205,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-export.c:1249,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-export.c:1251,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1350,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1337,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1213,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1025,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-export.c:1131,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1257,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1269,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1299,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1312,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1322,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1331,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1333,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1415,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1291,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-export.c:1332,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1387,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1295,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1398,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1407,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1216,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1117,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1014,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1072,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-export.c:1251,1
    - Dst: dyna_create
      Src: /src/glib/gio/tests/gdbus-export.c:1264,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1267,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1267,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1283,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1286,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1324,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1346,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1323,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1352,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1394,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1261,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-export.c:1340,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-export.c:1342,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1353,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-export.c:1380,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1130,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1155,1
    - Dst: g_dbus_connection_register_subtree
      Src: /src/glib/gio/tests/gdbus-export.c:1161,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1272,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1280,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1282,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1296,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1298,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1312,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1321,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1390,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1396,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1397,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1385,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1395,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1245,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1036,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1090,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1097,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1273,1
    - Dst: get_nodes_at
      Src: /src/glib/gio/tests/gdbus-export.c:1285,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1324,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1337,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1338,1
    - Dst: test_dispatch
      Src: /src/glib/gio/tests/gdbus-export.c:1374,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1391,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1288,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1336,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1392,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1414,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1223,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1125,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:1180,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1270,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1300,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1301,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-export.c:1304,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1348,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1350,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1354,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1402,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1289,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1364,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-export.c:1386,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1401,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-export.c:1416,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-export.c:1333,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1391,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1132,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-export.c:1112,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1182,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1103,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-export.c:1013,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1041,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1049,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1065,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1253,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1266,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1271,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1335,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/tests/gdbus-export.c:1351,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1322,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1396,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1403,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 350
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1420
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1420
    functionName: test_object_registration
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - get_nodes_at
    - g_strfreev
    - g_main_loop_run
    - g_strv_contains
    - g_dbus_error_is_remote_error
    - g_dbus_connection_register_object
    - test_dispatch
    - g_assert_cmpint
    - g_bus_get_sync
    - g_object_unref
    - g_dbus_connection_unregister_object
    - g_assert_no_error
    - g_error_free
    - has_interface
    - g_main_context_iteration
    - g_assert_error
    - g_ptr_array_add
    - g_strv_length
    - g_dbus_connection_unregister_subtree
    - g_strdup
    - g_assert
    - g_test_dbus_get_temporary_address
    - dyna_create
    - g_assert_cmpstr
    - g_debug
    - g_dbus_connection_register_subtree
    - count_interfaces
    linkageType: ''
    returnType: void
    signature: 'static void test_object_registration (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1492,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1505,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-export.c:1525,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:1540,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-export.c:1496,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-export.c:1507,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1508,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-export.c:1522,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-export.c:1521,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-export.c:1516,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-export.c:1535,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1509,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1525,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gdbus-export.c:1531,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:1541,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-export.c:1482,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1491,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-export.c:1486,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-export.c:1504,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-export.c:1514,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-export.c:1519,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-export.c:1518,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1511,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-export.c:1542,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - c
    - object_path
    - interfaces
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1543
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1543
    functionName: check_interfaces
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_dbus_proxy_new_sync
    - g_dbus_node_info_new_for_xml
    - g_free
    - g_assert
    - g_assert_no_error
    - g_assert_not_reached
    - g_object_unref
    - g_dbus_node_info_unref
    - g_main_loop_run
    - strcmp
    - g_dbus_connection_get_unique_name
    - g_dbus_proxy_call
    - g_strv_length
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void check_interfaces (GDBusConnection *c, const gchar *object_path,
      const gchar **interfaces) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1608,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-export.c:1634,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1641,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1643,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1644,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-export.c:1644,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-export.c:1662,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1607,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1627,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-export.c:1639,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-export.c:1631,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-export.c:1645,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:1645,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-export.c:1646,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-export.c:1649,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1655,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-export.c:1656,1
    - Dst: g_str_equal
      Src: /src/glib/gio/tests/gdbus-export.c:1622,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1628,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1629,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1630,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:1631,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1642,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-export.c:1644,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1654,1
    - Dst: g_dbus_method_invocation_get_property_info
      Src: /src/glib/gio/tests/gdbus-export.c:1610,1
    - Dst: g_dbus_method_invocation_get_method_info
      Src: /src/glib/gio/tests/gdbus-export.c:1608,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-export.c:1626,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-export.c:1640,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-export.c:1631,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-export.c:1653,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-export.c:1657,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    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: 1663
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1663
    functionName: test_async_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - G_VARIANT_TYPE
    - g_dbus_method_invocation_get_method_info
    - g_variant_new_string
    - g_assert
    - g_dbus_method_invocation_get_property_info
    - g_variant_unref
    - g_assert_cmpstr
    - g_variant_get
    - g_assert_not_reached
    - g_dbus_method_invocation_return_value
    - g_variant_new
    - g_variant_new_parsed
    - g_variant_is_of_type
    linkageType: ''
    returnType: void
    signature: 'static void test_async_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: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1745,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1748,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1755,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1756,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-export.c:1756,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1769,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1763,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-export.c:1771,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1750,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1768,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1737,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1743,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1778,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1772,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1771,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:1779,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1764,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-export.c:1728,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1729,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1736,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1732,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1738,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1742,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1751,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1753,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1754,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-export.c:1755,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-export.c:1770,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/tests/gdbus-export.c:1757,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1730,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-export.c:1764,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1777,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1760,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1759,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-export.c:1775,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1749,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1765,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1770,1
    - Dst: test_async_case
      Src: /src/glib/gio/tests/gdbus-export.c:1757,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-export.c:1754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1780
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1780
    functionName: test_async_properties
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_unregister_object
    - g_variant_new_string
    - g_assert
    - test_async_case
    - g_assert_no_error
    - g_bus_get_sync
    - g_object_unref
    - g_main_context_iteration
    - g_variant_new_object_path
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: void
    signature: 'static void test_async_properties (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-export.c:145,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-export.c:151,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:151,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-export.c:150,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-export.c:149,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:152,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-export.c:156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    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: 160
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: foo_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strcmp0
    - g_dbus_method_invocation_return_dbus_error
    - g_variant_get
    - g_strdup_printf
    - g_dbus_method_invocation_return_value
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void foo_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_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-export.c:481,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:490,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:491,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-export.c:485,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-export.c:495,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-export.c:503,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:504,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-export.c:506,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:507,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:508,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:515,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:514,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-export.c:516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - c
    - object_path
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 519
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 519
    functionName: count_interfaces
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_sync
    - g_dbus_node_info_new_for_xml
    - g_free
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_dbus_node_info_unref
    - g_main_loop_run
    - g_dbus_connection_get_unique_name
    - g_dbus_proxy_call
    linkageType: ''
    returnType: guint
    signature: 'static guint count_interfaces (GDBusConnection *c, const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 596
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 596
    functionName: on_object_unregistered
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_object_unregistered (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - node
    - out_user_data
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gpointer*
    - gpointer
    constantsTouched: []
    func_position:
      end: 736
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 736
    functionName: dynamic_subtree_dispatch
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GDBusInterfaceVTable*
    signature: 'static const GDBusInterfaceVTable *dynamic_subtree_dispatch (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *node, gpointer *out_user_data, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-export.c:1429,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1431,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-export.c:1436,1
    - Dst: g_dbus_connection_register_object_with_closures
      Src: /src/glib/gio/tests/gdbus-export.c:1433,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1430,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-export.c:1436,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-export.c:1437,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-export.c:1437,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/gdbus-export.c:1438,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-export.c:1438,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1440,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1445,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1445,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:1447,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1441,1
    - Dst: test_dispatch
      Src: /src/glib/gio/tests/gdbus-export.c:1443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1448
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1448
    functionName: test_object_registration_with_closures
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_unregister_object
    - g_cclosure_new
    - g_assert
    - g_dbus_connection_register_object_with_closures
    - g_assert_no_error
    - g_bus_get_sync
    - g_object_unref
    - G_CALLBACK
    - test_dispatch
    linkageType: ''
    returnType: void
    signature: 'static void test_object_registration_with_closures (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-export.c:1558,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1560,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1559,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1562,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1569,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1570,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-export.c:1571,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:1578,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1579,1
    - Dst: check_interfaces
      Src: /src/glib/gio/tests/gdbus-export.c:1581,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1583,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1584,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:1585,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/tests/gdbus-export.c:1584,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:1583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1586
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1586
    functionName: test_registered_interfaces
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - check_interfaces
    - g_dbus_connection_unregister_object
    - g_assert
    - g_assert_no_error
    - g_bus_get_sync
    - g_object_unref
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: void
    signature: 'static void test_registered_interfaces (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-export.c:549,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-export.c:556,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:561,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-export.c:552,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-export.c:562,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/tests/gdbus-export.c:565,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-export.c:567,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-export.c:573,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-export.c:575,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-export.c:577,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-export.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - c
    - object_name
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 581
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 581
    functionName: dyna_create
    functionSourceFile: /src/glib/gio/tests/gdbus-export.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_sync
    - g_free
    - g_assert
    - g_assert_no_error
    - g_object_unref
    - g_dbus_connection_get_unique_name
    - g_variant_new
    - g_main_loop_run
    - g_strconcat
    - g_dbus_proxy_call
    linkageType: ''
    returnType: void
    signature: 'static void dyna_create (GDBusConnection *c, const gchar *object_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/tests/inet-address.c:84,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/tests/inet-address.c:87,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:90,1
    - Dst: g_inet_address_get_is_mc_link_local
      Src: /src/glib/gio/tests/inet-address.c:94,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:92,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:95,1
    - Dst: g_inet_address_get_is_any
      Src: /src/glib/gio/tests/inet-address.c:86,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:87,1
    - Dst: g_inet_address_get_is_link_local
      Src: /src/glib/gio/tests/inet-address.c:90,1
    - Dst: g_inet_address_get_is_multicast
      Src: /src/glib/gio/tests/inet-address.c:92,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:93,1
    - Dst: g_inet_address_get_is_mc_global
      Src: /src/glib/gio/tests/inet-address.c:93,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:94,1
    - Dst: g_inet_address_get_is_mc_node_local
      Src: /src/glib/gio/tests/inet-address.c:95,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:96,1
    - Dst: g_inet_address_get_is_mc_site_local
      Src: /src/glib/gio/tests/inet-address.c:97,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/tests/inet-address.c:88,1
    - Dst: g_inet_address_get_is_loopback
      Src: /src/glib/gio/tests/inet-address.c:89,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:97,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:86,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:88,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:89,1
    - Dst: g_inet_address_get_is_site_local
      Src: /src/glib/gio/tests/inet-address.c:91,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:91,1
    - Dst: g_inet_address_get_is_mc_org_local
      Src: /src/glib/gio/tests/inet-address.c:96,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 101
    functionName: test_any
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_is_mc_site_local
    - g_inet_address_get_is_mc_org_local
    - g_inet_address_get_is_site_local
    - g_inet_address_get_is_any
    - g_assert
    - g_inet_address_get_is_mc_link_local
    - g_object_unref
    - g_inet_address_get_is_mc_global
    - g_inet_address_get_is_loopback
    - g_inet_address_new_any
    - g_inet_address_get_is_multicast
    - g_inet_address_get_native_size
    - g_inet_address_get_is_link_local
    - g_inet_address_get_is_mc_node_local
    - g_inet_address_get_family
    linkageType: ''
    returnType: void
    signature: 'static void test_any (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:125,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/tests/inet-address.c:128,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/tests/inet-address.c:127,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:130,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:126,1
    - Dst: g_inet_address_equal
      Src: /src/glib/gio/tests/inet-address.c:130,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:131,1
    - Dst: g_inet_address_equal
      Src: /src/glib/gio/tests/inet-address.c:131,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:133,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:134,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: test_bytes
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_inet_address_to_bytes
    - g_inet_address_new_from_string
    - g_object_unref
    - g_inet_address_new_from_bytes
    - g_inet_address_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:196,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:199,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/inet-address.c:199,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:200,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:206,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/inet-address.c:221,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:231,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:235,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/inet-address.c:197,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:203,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/inet-address.c:209,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:204,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:229,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:232,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:215,1
    - Dst: g_inet_socket_address_get_flowinfo
      Src: /src/glib/gio/tests/inet-address.c:203,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:208,1
    - Dst: g_inet_socket_address_get_scope_id
      Src: /src/glib/gio/tests/inet-address.c:204,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:218,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:219,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:233,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/inet-address.c:197,1
    - Dst: g_inet_address_equal
      Src: /src/glib/gio/tests/inet-address.c:199,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/inet-address.c:202,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/inet-address.c:209,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:217,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/inet-address.c:217,1
    - Dst: g_inet_socket_address_get_flowinfo
      Src: /src/glib/gio/tests/inet-address.c:218,1
    - Dst: g_inet_socket_address_get_scope_id
      Src: /src/glib/gio/tests/inet-address.c:219,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:230,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 237
    functionName: test_socket_address
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_object_new
    - g_inet_socket_address_get_address
    - g_assert
    - g_inet_socket_address_new
    - g_inet_address_new_from_string
    - g_object_unref
    - g_inet_socket_address_get_port
    - g_inet_socket_address_get_flowinfo
    - g_inet_address_equal
    - g_inet_socket_address_get_scope_id
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_socket_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:296,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:299,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:294,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/inet-address.c:295,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:302,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/inet-address.c:305,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:316,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/inet-address.c:312,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:307,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:314,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:301,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:304,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:306,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:309,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:297,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/inet-address.c:300,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/inet-address.c:310,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:311,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/inet-address.c:315,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/inet-address.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: test_mask_parse
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_inet_address_mask_new_from_string
    - g_object_unref
    - g_clear_error
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_mask_parse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:355,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:358,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:359,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/inet-address.c:357,1
    - Dst: g_inet_address_mask_to_string
      Src: /src/glib/gio/tests/inet-address.c:356,1
    - Dst: g_inet_address_mask_equal
      Src: /src/glib/gio/tests/inet-address.c:359,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:360,1
    - Dst: g_free
      Src: /src/glib/gio/tests/inet-address.c:361,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:363,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:364,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:367,1
    - Dst: g_inet_address_mask_equal
      Src: /src/glib/gio/tests/inet-address.c:364,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:369,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:368,1
    - Dst: g_inet_address_mask_equal
      Src: /src/glib/gio/tests/inet-address.c:368,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:365,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 372
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 372
    functionName: test_mask_equal
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert
    - g_inet_address_mask_new_from_string
    - g_assert_cmpstr
    - g_object_unref
    - g_inet_address_mask_to_string
    - g_inet_address_mask_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_mask_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:37,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:40,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:50,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:59,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:68,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:35,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:36,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:46,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:49,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:54,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:57,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:58,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:60,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:61,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:62,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:64,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:70,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:38,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:45,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:44,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:48,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:51,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:63,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:66,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:69,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:34,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:39,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:41,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:42,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:43,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:47,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:52,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:53,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:56,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:67,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:65,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: test_parse
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_inet_address_new_from_string
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_parse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:155,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:171,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/inet-address.c:156,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:172,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:173,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:174,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:175,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:176,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:177,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:178,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:181,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:180,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:183,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 184
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 184
    functionName: test_property
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_inet_address_new_from_string
    - g_object_unref
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_property (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:108,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:110,1
    - Dst: g_inet_address_get_is_loopback
      Src: /src/glib/gio/tests/inet-address.c:110,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:109,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/tests/inet-address.c:109,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:111,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:113,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:114,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/tests/inet-address.c:114,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:115,1
    - Dst: g_inet_address_get_is_loopback
      Src: /src/glib/gio/tests/inet-address.c:115,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: test_loopback
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_inet_address_new_from_string
    - g_object_unref
    - g_inet_address_get_is_loopback
    - g_inet_address_get_family
    linkageType: ''
    returnType: void
    signature: 'static void test_loopback (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:247,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/inet-address.c:250,1
    - Dst: g_free
      Src: /src/glib/gio/tests/inet-address.c:251,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/inet-address.c:258,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:265,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/inet-address.c:258,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/inet-address.c:259,1
    - Dst: g_free
      Src: /src/glib/gio/tests/inet-address.c:260,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/inet-address.c:268,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:274,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/inet-address.c:281,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/inet-address.c:249,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:252,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:261,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/inet-address.c:267,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/inet-address.c:267,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:270,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:271,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/inet-address.c:282,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:284,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:285,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/inet-address.c:248,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:253,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:256,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/inet-address.c:257,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:262,1
    - Dst: G_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/inet-address.c:275,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/inet-address.c:275,1
    - Dst: g_free
      Src: /src/glib/gio/tests/inet-address.c:283,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/inet-address.c:249,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/inet-address.c:266,1
    - Dst: g_free
      Src: /src/glib/gio/tests/inet-address.c:269,1
    - Dst: g_socket_connectable_to_string
      Src: /src/glib/gio/tests/inet-address.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 286
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 286
    functionName: test_socket_address_to_string
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_socket_connectable_to_string
    - g_free
    - g_object_new
    - g_inet_socket_address_new
    - g_inet_address_new_from_string
    - g_assert_cmpstr
    - g_object_unref
    - G_SOCKET_ADDRESS
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: 'static void test_socket_address_to_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:328,1
    - Dst: g_inet_address_mask_get_family
      Src: /src/glib/gio/tests/inet-address.c:330,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:329,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:331,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:330,1
    - Dst: g_inet_address_equal
      Src: /src/glib/gio/tests/inet-address.c:331,1
    - Dst: g_inet_address_mask_get_address
      Src: /src/glib/gio/tests/inet-address.c:331,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:332,1
    - Dst: g_inet_address_mask_get_length
      Src: /src/glib/gio/tests/inet-address.c:332,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:333,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:342,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:341,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:343,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:340,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/inet-address.c:335,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 346
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 346
    functionName: test_mask_property
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_inet_address_mask_get_family
    - g_assert
    - g_inet_address_mask_get_address
    - g_inet_address_mask_new_from_string
    - g_inet_address_new_from_string
    - g_object_unref
    - g_inet_address_equal
    - g_object_get
    - g_inet_address_mask_get_length
    linkageType: ''
    returnType: void
    signature: 'static void test_mask_property (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:384,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:385,1
    - Dst: g_inet_address_mask_matches
      Src: /src/glib/gio/tests/inet-address.c:386,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:398,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:402,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:404,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:406,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:380,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:386,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:388,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:390,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:396,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:400,1
    - Dst: g_inet_address_mask_matches
      Src: /src/glib/gio/tests/inet-address.c:400,1
    - Dst: g_inet_address_mask_matches
      Src: /src/glib/gio/tests/inet-address.c:383,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:387,1
    - Dst: g_inet_address_mask_matches
      Src: /src/glib/gio/tests/inet-address.c:397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:392,1
    - Dst: g_inet_address_mask_matches
      Src: /src/glib/gio/tests/inet-address.c:403,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:383,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:382,1
    - Dst: g_inet_address_mask_matches
      Src: /src/glib/gio/tests/inet-address.c:389,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:394,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:389,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:397,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/inet-address.c:399,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/inet-address.c:401,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/inet-address.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 408
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 408
    functionName: test_mask_match
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_inet_address_mask_new_from_string
    - g_inet_address_new_from_string
    - g_object_unref
    - g_inet_address_mask_matches
    linkageType: ''
    returnType: void
    signature: 'static void test_mask_match (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/inet-address.c:413,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:416,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:418,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:417,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:415,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:419,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:420,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:421,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:422,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:423,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:424,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/inet-address.c:425,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/inet-address.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 428
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 428
    functionName: main
    functionSourceFile: /src/glib/gio/tests/inet-address.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_dbus_new
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:21,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:27,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:26,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:25,1
    - Dst: g_test_dbus_add_service_dir
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:29,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:30,1
    - Dst: g_test_dbus_up
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:34,1
    - Dst: example_object_manager_client_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:39,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - unused
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 47
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 47
    functionName: fixture_setup
    functionSourceFile: /src/glib/gio/tests/gdbus-test-fixture.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_free
    - g_test_dbus_add_service_dir
    - g_canonicalize_filename
    - g_test_dbus_up
    - g_error
    - g_test_dbus_new
    - example_object_manager_client_new_for_bus_sync
    linkageType: ''
    returnType: void
    signature: 'static void fixture_setup (TestFixture *fixture, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:82,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:93,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:87,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:89,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:91,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:95,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-test-fixture.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:55,1
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:59,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - unused
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: fixture_teardown
    functionSourceFile: /src/glib/gio/tests/gdbus-test-fixture.c
    functionUses: []
    functionsReached:
    - g_test_dbus_down
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void fixture_teardown (TestFixture *fixture, gconstpointer
      unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_manager_get_objects
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:72,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:75,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:74,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/gdbus-test-fixture.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - fixture
    - unused
    argTypes:
    - TestFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: test_gtest_dbus
    functionSourceFile: /src/glib/gio/tests/gdbus-test-fixture.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_list_length
    - g_list_free_full
    - g_dbus_object_manager_get_objects
    linkageType: ''
    returnType: void
    signature: 'static void test_gtest_dbus (TestFixture *fixture, gconstpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-mounts.c:35,1
    - Dst: g_unix_is_system_fs_type
      Src: /src/glib/gio/tests/unix-mounts.c:35,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-mounts.c:39,1
    - Dst: g_unix_is_system_fs_type
      Src: /src/glib/gio/tests/unix-mounts.c:36,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-mounts.c:36,1
    - Dst: g_unix_is_system_fs_type
      Src: /src/glib/gio/tests/unix-mounts.c:39,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-mounts.c:40,1
    - Dst: g_unix_is_system_fs_type
      Src: /src/glib/gio/tests/unix-mounts.c:40,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-mounts.c:41,1
    - Dst: g_unix_is_system_fs_type
      Src: /src/glib/gio/tests/unix-mounts.c:41,1
    - Dst: g_unix_is_system_fs_type
      Src: /src/glib/gio/tests/unix-mounts.c:42,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-mounts.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: test_is_system_fs_type
    functionSourceFile: /src/glib/gio/tests/unix-mounts.c
    functionUses: []
    functionsReached:
    - g_unix_is_system_fs_type
    - g_assert_false
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_is_system_fs_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/unix-mounts.c:48,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/unix-mounts.c:49,1
    - Dst: g_unix_is_system_device_path
      Src: /src/glib/gio/tests/unix-mounts.c:48,1
    - Dst: g_unix_is_system_device_path
      Src: /src/glib/gio/tests/unix-mounts.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: test_is_system_device_path
    functionSourceFile: /src/glib/gio/tests/unix-mounts.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unix_is_system_device_path
    linkageType: ''
    returnType: void
    signature: 'static void test_is_system_device_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/unix-mounts.c:56,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/unix-mounts.c:58,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/unix-mounts.c:63,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/unix-mounts.c:61,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/unix-mounts.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/glib/gio/tests/unix-mounts.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:108,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:111,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:125,1
    - Dst: print_properties
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:121,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: print_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-example-watch-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_name_owner
    - g_print
    - g_free
    - print_properties
    linkageType: ''
    returnType: void
    signature: 'static void print_proxy (GDBusProxy *proxy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:55,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:68,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:62,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:61,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:65,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:69,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:70,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:72,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:75,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:78,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - proxy
    - changed_properties
    - invalidated_properties
    - user_data
    argTypes:
    - GDBusProxy*
    - GVariant*
    - gchar**
    - gpointer
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: on_properties_changed
    functionSourceFile: /src/glib/gio/tests/gdbus-example-watch-proxy.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - g_free
    - g_variant_print
    - g_variant_n_children
    - g_variant_get
    - g_variant_iter_free
    - g_print
    - g_strv_length
    linkageType: ''
    returnType: void
    signature: 'static void on_properties_changed (GDBusProxy *proxy, GVariant *changed_properties,
      const gchar* const *invalidated_properties, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:28,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:36,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:37,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:38,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:30,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:39,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:40,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:42,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 43
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 43
    functionName: print_properties
    functionSourceFile: /src/glib/gio/tests/gdbus-example-watch-proxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_cached_property
    - g_dbus_proxy_get_cached_property_names
    - g_free
    - g_variant_print
    - g_variant_unref
    - g_strfreev
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void print_properties (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:143,1
    - Dst: print_proxy
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: on_name_owner_notify
    functionSourceFile: /src/glib/gio/tests/gdbus-example-watch-proxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - print_proxy
    linkageType: ''
    returnType: void
    signature: 'static void on_name_owner_notify (GObject *object, GParamSpec *pspec,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:100,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - proxy
    - sender_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusProxy*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: on_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-example-watch-proxy.c
    functionUses: []
    functionsReached:
    - g_variant_print
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_signal (GDBusProxy *proxy, gchar *sender_name, gchar
      *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:165,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:184,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:197,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:225,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:226,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:159,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:167,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:174,1
    - Dst: g_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:187,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:206,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:208,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:210,1
    - Dst: print_proxy
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:214,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:202,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:212,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:158,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:169,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:216,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:223,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:198,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:224,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:222,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-watch-proxy.c:204,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 229
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 229
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-watch-proxy.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_option_context_new
    - g_free
    - g_option_context_set_summary
    - g_option_context_free
    - print_proxy
    - g_option_context_parse
    - g_error_free
    - g_option_context_add_main_entries
    - g_object_unref
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_main_loop_run
    - g_dbus_proxy_new_for_bus_sync
    - g_printerr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - 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: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: on_notify_locked
    functionSourceFile: /src/glib/gio/tests/gdbus-message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_notify_locked (GObject *object, GParamSpec *pspec,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/gdbus-message.c:217,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-message.c:222,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-message.c:221,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-message.c:219,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-message.c:223,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-message.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-message.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gdbus-message.c:190,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-message.c:202,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-message.c:195,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gdbus-message.c:198,1
    - Dst: g_dbus_message_bytes_needed
      Src: /src/glib/gio/tests/gdbus-message.c:197,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-message.c:204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:205,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-message.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 209
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 209
    functionName: message_bytes_needed
    functionSourceFile: /src/glib/gio/tests/gdbus-message.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - g_assert_no_error
    - g_dbus_message_bytes_needed
    - g_clear_error
    - g_assert_error
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void message_bytes_needed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-message.c:46,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/tests/gdbus-message.c:50,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/tests/gdbus-message.c:53,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:54,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-message.c:71,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-message.c:78,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-message.c:81,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/tests/gdbus-message.c:48,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-message.c:44,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/tests/gdbus-message.c:49,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:51,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/tests/gdbus-message.c:52,1
    - Dst: g_dbus_message_set_serial
      Src: /src/glib/gio/tests/gdbus-message.c:58,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-message.c:69,1
    - Dst: g_dbus_message_set_flags
      Src: /src/glib/gio/tests/gdbus-message.c:73,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-message.c:79,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-message.c:61,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-message.c:56,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-message.c:66,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/gdbus-message.c:76,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-message.c:83,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-message.c:86,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/tests/gdbus-message.c:43,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-message.c:48,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-message.c:50,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-message.c:53,1
    - Dst: g_dbus_message_set_byte_order
      Src: /src/glib/gio/tests/gdbus-message.c:63,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-message.c:59,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-message.c:64,1
    - Dst: g_dbus_message_set_message_type
      Src: /src/glib/gio/tests/gdbus-message.c:68,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-message.c:74,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/gdbus-message.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 87
    functionName: message_lock
    functionSourceFile: /src/glib/gio/tests/gdbus-message.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_locked
    - g_signal_connect
    - g_assert_cmpint
    - g_dbus_message_lock
    - g_test_assert_expected_messages
    - g_dbus_message_set_byte_order
    - g_assert
    - g_object_unref
    - g_dbus_message_set_serial
    - g_dbus_message_set_message_type
    - g_test_expect_message
    - G_CALLBACK
    - g_dbus_message_set_flags
    - g_dbus_message_set_header
    - g_dbus_message_set_body
    - g_dbus_message_new
    linkageType: ''
    returnType: void
    signature: 'static void message_lock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-message.c:101,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-message.c:109,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-message.c:110,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-message.c:111,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/tests/gdbus-message.c:116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:114,1
    - Dst: g_dbus_message_get_byte_order
      Src: /src/glib/gio/tests/gdbus-message.c:117,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:116,1
    - Dst: g_dbus_message_get_flags
      Src: /src/glib/gio/tests/gdbus-message.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:119,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:134,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-message.c:137,1
    - Dst: g_dbus_message_set_byte_order
      Src: /src/glib/gio/tests/gdbus-message.c:106,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/tests/gdbus-message.c:111,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-message.c:112,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/tests/gdbus-message.c:128,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/tests/gdbus-message.c:129,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-message.c:131,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-message.c:140,1
    - Dst: g_dbus_message_get_header_fields
      Src: /src/glib/gio/tests/gdbus-message.c:120,1
    - Dst: g_dbus_message_get_header_fields
      Src: /src/glib/gio/tests/gdbus-message.c:121,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:113,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-message.c:113,1
    - Dst: g_dbus_message_get_byte_order
      Src: /src/glib/gio/tests/gdbus-message.c:117,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/tests/gdbus-message.c:116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:118,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/gio/tests/gdbus-message.c:132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:135,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-message.c:139,1
    - Dst: g_dbus_message_set_serial
      Src: /src/glib/gio/tests/gdbus-message.c:105,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-message.c:117,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-message.c:114,1
    - Dst: g_dbus_message_get_flags
      Src: /src/glib/gio/tests/gdbus-message.c:118,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/tests/gdbus-message.c:119,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/tests/gdbus-message.c:119,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-message.c:122,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-message.c:123,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-message.c:130,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-message.c:136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 141
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 141
    functionName: message_copy
    functionSourceFile: /src/glib/gio/tests/gdbus-message.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_assert_cmpint
    - g_dbus_message_get_message_type
    - g_free
    - g_dbus_message_set_byte_order
    - g_assert
    - g_assert_no_error
    - G_IS_DBUS_MESSAGE
    - g_object_unref
    - g_dbus_message_set_serial
    - g_dbus_message_get_byte_order
    - g_dbus_message_get_serial
    - g_dbus_message_get_header_fields
    - g_dbus_message_copy
    - g_dbus_message_get_flags
    - g_dbus_message_new_method_call
    - g_dbus_message_get_header
    - g_assert_cmpvariant
    linkageType: ''
    returnType: void
    signature: 'static void message_copy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_flatpak_info
      Src: /src/glib/gio/tests/portal-support-flatpak-full.c:31,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-flatpak-full.c:35,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-flatpak-full.c:36,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/tests/portal-support-flatpak-full.c:31,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-flatpak-full.c:35,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-flatpak-full.c:36,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-flatpak-full.c:37,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-flatpak-full.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_full
    functionSourceFile: /src/glib/gio/tests/portal-support-flatpak-full.c
    functionUses: []
    functionsReached:
    - glib_network_available_in_sandbox
    - create_fake_flatpak_info
    - glib_should_use_portal
    - g_get_user_runtime_dir
    - glib_has_dconf_access_in_sandbox
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_flatpak_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/portal-support-flatpak-full.c:43,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/portal-support-flatpak-full.c:45,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/portal-support-flatpak-full.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-full.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/readwrite.c:43,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:56,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/readwrite.c:62,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/readwrite.c:68,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/readwrite.c:72,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:78,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:79,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/readwrite.c:81,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:89,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:92,1
    - Dst: memcpy
      Src: /src/glib/gio/tests/readwrite.c:106,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:125,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/readwrite.c:125,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/readwrite.c:105,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:127,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:121,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:45,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:54,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:60,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:64,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:60,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:66,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:74,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/readwrite.c:77,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/readwrite.c:87,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:87,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:97,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/readwrite.c:122,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/readwrite.c:132,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/readwrite.c:100,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:101,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:78,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/readwrite.c:117,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/readwrite.c:134,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/readwrite.c:47,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/readwrite.c:48,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/readwrite.c:50,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:51,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/readwrite.c:52,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/readwrite.c:56,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:66,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/readwrite.c:64,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:59,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:63,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/tests/readwrite.c:76,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:90,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:98,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:102,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/readwrite.c:128,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/readwrite.c:102,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:81,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:109,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:73,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:79,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/readwrite.c:90,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/readwrite.c:94,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:68,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:94,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:100,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:109,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/readwrite.c:111,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:114,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:118,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:85,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:106,1
    - Dst: verify_pos
      Src: /src/glib/gio/tests/readwrite.c:115,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:92,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:111,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/readwrite.c:120,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/readwrite.c:107,1
    - Dst: g_free
      Src: /src/glib/gio/tests/readwrite.c:136,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/readwrite.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 105
    argCount: 1
    argNames:
    - file_iostream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 137
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 137
    functionName: verify_iostream
    functionSourceFile: /src/glib/gio/tests/readwrite.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - g_input_stream_read_all
    - strlen
    - g_assert_cmpint
    - g_io_stream_close
    - verify_pos
    - memcpy
    - G_IO_STREAM
    - g_error_free
    - g_assert_no_error
    - g_assert_cmpmem
    - g_seekable_seek
    - g_assert_error
    - g_output_stream_write_all
    - g_strdup
    - g_free
    - g_input_stream_skip
    - g_assert
    - g_assert_cmpstr
    - g_output_stream_close
    - G_SEEKABLE
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void verify_iostream (GFileIOStream *file_iostream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/readwrite.c:215,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/readwrite.c:227,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:203,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/readwrite.c:204,1
    - Dst: g_file_create_readwrite
      Src: /src/glib/gio/tests/readwrite.c:208,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:209,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/readwrite.c:211,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/readwrite.c:217,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/readwrite.c:211,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:212,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:217,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/readwrite.c:224,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/readwrite.c:200,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/readwrite.c:207,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:215,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:220,1
    - Dst: verify_iostream
      Src: /src/glib/gio/tests/readwrite.c:222,1
    - Dst: g_free
      Src: /src/glib/gio/tests/readwrite.c:228,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/readwrite.c:225,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/tests/readwrite.c:195,1
    - Dst: g_file_create_readwrite
      Src: /src/glib/gio/tests/readwrite.c:202,1
    - Dst: close
      Src: /src/glib/gio/tests/readwrite.c:198,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:197,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/readwrite.c:205,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:214,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/readwrite.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 229
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 229
    functionName: test_g_file_create_readwrite
    functionSourceFile: /src/glib/gio/tests/readwrite.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpint
    - G_IO_STREAM
    - g_free
    - g_file_new_for_path
    - g_file_open_tmp
    - g_io_stream_get_output_stream
    - g_assert
    - G_SEEKABLE
    - verify_iostream
    - g_error_free
    - g_object_unref
    - close
    - g_file_create_readwrite
    - g_unlink
    - g_seekable_seek
    - g_assert_error
    - g_output_stream_write_all
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_create_readwrite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/readwrite.c:20,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/readwrite.c:23,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/readwrite.c:21,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:20,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:23,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/readwrite.c:23,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/readwrite.c:24,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/tests/readwrite.c:26,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:26,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/readwrite.c:26,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/readwrite.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - iostream
    - expected_pos
    argTypes:
    - GIOStream*
    - goffset
    constantsTouched: []
    func_position:
      end: 28
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 28
    functionName: verify_pos
    functionSourceFile: /src/glib/gio/tests/readwrite.c
    functionUses: []
    functionsReached:
    - g_seekable_tell
    - g_assert_cmpint
    - g_io_stream_get_output_stream
    - G_SEEKABLE
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void verify_pos (GIOStream *iostream, goffset expected_pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/readwrite.c:159,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/readwrite.c:155,1
    - Dst: close
      Src: /src/glib/gio/tests/readwrite.c:153,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/readwrite.c:159,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/readwrite.c:160,1
    - Dst: g_free
      Src: /src/glib/gio/tests/readwrite.c:161,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:164,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/readwrite.c:169,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/readwrite.c:177,1
    - Dst: g_free
      Src: /src/glib/gio/tests/readwrite.c:180,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:165,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/readwrite.c:166,1
    - Dst: verify_iostream
      Src: /src/glib/gio/tests/readwrite.c:175,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/tests/readwrite.c:150,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:152,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:157,1
    - Dst: g_file_open_readwrite
      Src: /src/glib/gio/tests/readwrite.c:163,1
    - Dst: g_file_open_readwrite
      Src: /src/glib/gio/tests/readwrite.c:171,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/readwrite.c:165,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/readwrite.c:173,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/readwrite.c:167,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/readwrite.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 181
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 181
    functionName: test_g_file_open_readwrite
    functionSourceFile: /src/glib/gio/tests/readwrite.c
    functionUses: []
    functionsReached:
    - g_free
    - g_file_open_tmp
    - g_get_tmp_dir
    - g_file_set_contents
    - g_assert
    - g_file_new_for_path
    - verify_iostream
    - g_error_matches
    - g_error_free
    - g_file_open_readwrite
    - g_object_unref
    - close
    - g_build_filename
    - g_unlink
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_open_readwrite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:247,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:252,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/readwrite.c:268,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:270,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/tests/readwrite.c:273,1
    - Dst: verify_iostream
      Src: /src/glib/gio/tests/readwrite.c:278,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/readwrite.c:283,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/readwrite.c:288,1
    - Dst: g_free
      Src: /src/glib/gio/tests/readwrite.c:291,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/readwrite.c:293,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/tests/readwrite.c:245,1
    - Dst: close
      Src: /src/glib/gio/tests/readwrite.c:248,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/readwrite.c:250,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:258,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/readwrite.c:260,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/readwrite.c:260,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/tests/readwrite.c:263,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:264,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/readwrite.c:267,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:276,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/readwrite.c:267,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:271,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/readwrite.c:287,1
    - Dst: g_free
      Src: /src/glib/gio/tests/readwrite.c:294,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/readwrite.c:254,1
    - Dst: g_file_replace_readwrite
      Src: /src/glib/gio/tests/readwrite.c:256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/readwrite.c:265,1
    - Dst: strlen
      Src: /src/glib/gio/tests/readwrite.c:268,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/readwrite.c:271,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/tests/readwrite.c:273,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/readwrite.c:281,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/readwrite.c:284,1
    - Dst: g_free
      Src: /src/glib/gio/tests/readwrite.c:289,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/readwrite.c:290,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/readwrite.c:280,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 295
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 295
    functionName: test_g_file_replace_readwrite
    functionSourceFile: /src/glib/gio/tests/readwrite.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - g_input_stream_read_all
    - strlen
    - g_assert_cmpint
    - g_file_open_tmp
    - g_object_unref
    - close
    - g_strconcat
    - G_IO_STREAM
    - g_file_new_for_path
    - g_file_set_contents
    - g_file_replace_readwrite
    - verify_iostream
    - g_unlink
    - g_seekable_seek
    - g_output_stream_write_all
    - g_free
    - g_assert
    - g_assert_cmpstr
    - G_SEEKABLE
    - g_file_get_contents
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_replace_readwrite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/readwrite.c:302,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/readwrite.c:306,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/readwrite.c:311,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/readwrite.c:304,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/readwrite.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: main
    functionSourceFile: /src/glib/gio/tests/readwrite.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1215,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1221,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1219,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1222
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1222
    functionName: test_message_parse_empty_signature_header
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_error
    - g_assert_null
    - g_dbus_message_new_from_blob
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_empty_signature_header (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gdbus-serialization.c:1573,1
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1576,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:1580,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1579,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-serialization.c:1574,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1581,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1584
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1584
    functionName: test_message_parse_empty_structure
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_from_blob
    - g_assert_cmpstr
    - g_clear_error
    - g_assert_null
    - g_test_summary
    - g_assert_error
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_empty_structure (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gdbus-serialization.c:1598,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:1599,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1600,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:1604,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:1606,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/tests/gdbus-serialization.c:1607,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1610,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1609,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:1605,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-serialization.c:1607,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:1603,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/tests/gdbus-serialization.c:1597,1
    - Dst: g_dbus_message_set_message_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:1602,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1613,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gdbus-serialization.c:1594,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:1598,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-serialization.c:1595,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-serialization.c:1599,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-serialization.c:1601,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:1611,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-serialization.c:1614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1615
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1615
    functionName: test_message_serialize_empty_structure
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_variant_builder_close
    - g_clear_error
    - g_test_summary
    - g_variant_new_string
    - g_variant_builder_add
    - g_dbus_message_set_body
    - g_variant_builder_init
    - g_assert_error
    - g_test_bug
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_clear_object
    - g_assert_cmpstr
    - g_dbus_message_set_message_type
    - g_dbus_message_to_blob
    - g_variant_builder_open
    - g_dbus_message_set_header
    - g_dbus_message_new
    - g_variant_new_object_path
    linkageType: ''
    returnType: void
    signature: 'static void test_message_serialize_empty_structure (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-serialization.c:503,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-serialization.c:509,1
    - Dst: g_strndup
      Src: /src/glib/gio/tests/gdbus-serialization.c:511,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-serialization.c:508,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:507,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 515
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 515
    functionName: get_body_signature
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    - g_variant_get_type_string
    - g_strndup
    - g_assert
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_body_signature (GVariant *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:41,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:46,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:48,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:53,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:50,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:56,1
    - Dst: g_ascii_isprint
      Src: /src/glib/gio/tests/gdbus-serialization.c:56,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:58,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 60
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 60
    functionName: hexdump
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_ascii_isprint
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void hexdump (const guchar *str, gsize len) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/tests/gdbus-serialization.c:74,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-serialization.c:79,1
    - Dst: g_variant_get_int16
      Src: /src/glib/gio/tests/gdbus-serialization.c:84,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-serialization.c:94,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/gio/tests/gdbus-serialization.c:89,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:119,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-serialization.c:137,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:139,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:122,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:143,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:204,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:147,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-serialization.c:198,1
    - Dst: append_gv_to_dbus_iter
      Src: /src/glib/gio/tests/gdbus-serialization.c:185,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-serialization.c:181,1
    - Dst: dbus_message_iter_open_container
      Src: /src/glib/gio/tests/gdbus-serialization.c:196,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/tests/gdbus-serialization.c:183,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:71,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:75,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:80,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:85,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:95,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:90,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:102,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:107,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:112,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:117,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:120,1
    - Dst: dbus_message_iter_close_container
      Src: /src/glib/gio/tests/gdbus-serialization.c:146,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:209,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-serialization.c:161,1
    - Dst: append_gv_to_dbus_iter
      Src: /src/glib/gio/tests/gdbus-serialization.c:141,1
    - Dst: append_gv_to_dbus_iter
      Src: /src/glib/gio/tests/gdbus-serialization.c:207,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/tests/gdbus-serialization.c:99,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/tests/gdbus-serialization.c:104,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/tests/gdbus-serialization.c:109,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/tests/gdbus-serialization.c:114,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:124,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:129,1
    - Dst: dbus_message_iter_open_container
      Src: /src/glib/gio/tests/gdbus-serialization.c:159,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/tests/gdbus-serialization.c:163,1
    - Dst: append_gv_to_dbus_iter
      Src: /src/glib/gio/tests/gdbus-serialization.c:165,1
    - Dst: dbus_message_iter_close_container
      Src: /src/glib/gio/tests/gdbus-serialization.c:171,1
    - Dst: append_gv_to_dbus_iter
      Src: /src/glib/gio/tests/gdbus-serialization.c:199,1
    - Dst: dbus_message_iter_close_container
      Src: /src/glib/gio/tests/gdbus-serialization.c:189,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:222,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:125,1
    - Dst: g_variant_type_is_variant
      Src: /src/glib/gio/tests/gdbus-serialization.c:132,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:156,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:201,1
    - Dst: dbus_message_iter_open_container
      Src: /src/glib/gio/tests/gdbus-serialization.c:138,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:130,1
    - Dst: dbus_message_iter_open_container
      Src: /src/glib/gio/tests/gdbus-serialization.c:179,1
    - Dst: dbus_message_iter_close_container
      Src: /src/glib/gio/tests/gdbus-serialization.c:214,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:77,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:72,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:82,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:87,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:100,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:97,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:92,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:105,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:110,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:115,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/gio/tests/gdbus-serialization.c:191,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:212,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/gio/tests/gdbus-serialization.c:173,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/tests/gdbus-serialization.c:127,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:218,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/gio/tests/gdbus-serialization.c:149,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/tests/gdbus-serialization.c:206,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 107
    argCount: 3
    argNames:
    - iter
    - value
    - error
    argTypes:
    - DBusMessageIter*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 230
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 230
    functionName: append_gv_to_dbus_iter
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - g_variant_type_is_array
    - g_variant_get_boolean
    - g_variant_get_child_value
    - g_variant_get_int16
    - g_variant_get_uint64
    - g_variant_get_type_string
    - dbus_message_iter_close_container
    - g_variant_get_double
    - dbus_message_iter_open_container
    - g_variant_get_string
    - g_variant_type_equal
    - g_variant_type_is_tuple
    - g_variant_type_is_variant
    - g_variant_iter_init
    - g_variant_unref
    - g_variant_get_type
    - dbus_message_iter_append_basic
    - g_variant_get_int64
    - g_set_error
    - g_variant_get_int32
    - g_variant_type_is_dict_entry
    - g_variant_get_uint16
    - append_gv_to_dbus_iter
    - g_variant_get_uint32
    - g_variant_get_byte
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean append_gv_to_dbus_iter (DBusMessageIter *iter, GVariant
      *value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-serialization.c:1055,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/tests/gdbus-serialization.c:1061,1
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:1064,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1063,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:1061,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:1069,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/tests/gdbus-serialization.c:1071,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:1071,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1073,1
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:1074,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:1084,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/tests/gdbus-serialization.c:1084,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:1100,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:1079,1
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:1089,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1101
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1101
    functionName: test_message_parse_empty_arrays_of_arrays
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - check_serialization
    - g_assert_no_error
    - g_variant_unref
    - g_variant_parse
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_empty_arrays_of_arrays (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init_append
      Src: /src/glib/gio/tests/gdbus-serialization.c:248,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-serialization.c:250,1
    - Dst: append_gv_to_dbus_iter
      Src: /src/glib/gio/tests/gdbus-serialization.c:254,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:256,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/tests/gdbus-serialization.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - message
    - value
    - error
    argTypes:
    - DBusMessage*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 269
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 269
    functionName: append_gv_to_dbus_message
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next_value
    - dbus_message_iter_init_append
    - g_variant_iter_init
    - g_prefix_error
    - append_gv_to_dbus_iter
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean append_gv_to_dbus_message (DBusMessage *message, GVariant
      *value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1167,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1171,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1170,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1174
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1174
    functionName: test_message_parse_non_signature_header
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_error
    - g_assert_null
    - g_dbus_message_new_from_blob
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_non_signature_header (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-serialization.c:927,1
    - Dst: g_dbus_message_set_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:952,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:960,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:961,1
    - Dst: g_dbus_message_set_member
      Src: /src/glib/gio/tests/gdbus-serialization.c:1004,1
    - Dst: g_dbus_message_set_error_name
      Src: /src/glib/gio/tests/gdbus-serialization.c:1028,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:988,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:910,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:946,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:971,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:979,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1019,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1022,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1032,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:938,1
    - Dst: g_dbus_message_set_member
      Src: /src/glib/gio/tests/gdbus-serialization.c:969,1
    - Dst: g_dbus_message_set_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:994,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:919,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/tests/gdbus-serialization.c:919,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:924,1
    - Dst: g_dbus_message_set_interface
      Src: /src/glib/gio/tests/gdbus-serialization.c:935,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:937,1
    - Dst: g_dbus_message_set_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:959,1
    - Dst: g_dbus_message_set_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:966,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:989,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:1000,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/tests/gdbus-serialization.c:907,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:911,1
    - Dst: g_dbus_message_set_interface
      Src: /src/glib/gio/tests/gdbus-serialization.c:942,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:957,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1025,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/tests/gdbus-serialization.c:1026,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:1044,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:956,1
    - Dst: g_dbus_message_set_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:987,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:998,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:991,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:974,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:943,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:963,1
    - Dst: g_dbus_message_set_serial
      Src: /src/glib/gio/tests/gdbus-serialization.c:1013,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1030,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1041,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:1007,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:999,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:922,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1001,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/tests/gdbus-serialization.c:1016,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1021,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:1020,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:912,1
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/tests/gdbus-serialization.c:918,1
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/tests/gdbus-serialization.c:932,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:936,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:940,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:945,1
    - Dst: g_dbus_message_set_interface
      Src: /src/glib/gio/tests/gdbus-serialization.c:949,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-serialization.c:1026,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:1040,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:944,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:1017,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:973,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-serialization.c:984,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1033,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:1037,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1018,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:908,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:913,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1002,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:955,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1029,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1042,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:939,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:947,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:953,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:964,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:909,1
    - Dst: g_dbus_message_set_member
      Src: /src/glib/gio/tests/gdbus-serialization.c:976,1
    - Dst: g_dbus_message_set_member
      Src: /src/glib/gio/tests/gdbus-serialization.c:997,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:954,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:972,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-serialization.c:1016,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:992,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1038,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:962,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/tests/gdbus-serialization.c:1015,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:920,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:926,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-serialization.c:1012,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:1023,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:1043,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:970,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:990,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:923,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:1031,1
    - Dst: g_dbus_message_set_error_name
      Src: /src/glib/gio/tests/gdbus-serialization.c:1035,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1039,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 117
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1045
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 1045
    functionName: test_message_serialize_header_checks
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_dbus_message_new_signal
    - g_dbus_message_set_member
    - g_dbus_message_set_serial
    - g_clear_error
    - g_dbus_message_set_interface
    - g_assert_cmpint
    - g_dbus_message_get_reply_serial
    - g_dbus_message_set_path
    - g_object_unref
    - g_dbus_message_set_error_name
    - g_dbus_message_new_method_error
    - g_variant_new_boolean
    - g_assert_null
    - g_dbus_message_new_method_call
    - g_assert_error
    - g_clear_object
    - g_assert_cmpstr
    - g_dbus_message_to_blob
    - g_dbus_message_set_header
    - g_dbus_message_new
    linkageType: ''
    returnType: void
    signature: 'static void test_message_serialize_header_checks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-serialization.c:1111,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1115,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gdbus-serialization.c:1113,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1114,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:1113,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1116,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1117,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-serialization.c:1118,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/tests/gdbus-serialization.c:1118,1
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: test_message_serialize_double_array
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - check_serialization
    - g_variant_builder_add
    - g_variant_builder_init
    - g_variant_new
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_message_serialize_double_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1264,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1270,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1268,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1271
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1271
    functionName: test_message_parse_multiple_signature_header
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_error
    - g_assert_null
    - g_dbus_message_new_from_blob
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_multiple_signature_header (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_and_check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:642,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:644,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - value
    - expected_dbus_1_output
    argTypes:
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: check_serialization
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpstr
    - get_and_check_serialization
    linkageType: ''
    returnType: void
    signature: 'static void check_serialization (GVariant *value, const gchar *expected_dbus_1_output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:650,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/gio/tests/gdbus-serialization.c:662,1
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:652,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/gio/tests/gdbus-serialization.c:663,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-serialization.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 677
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 677
    functionName: test_message_serialize_basic
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - G_GUINT64_CONSTANT
    - check_serialization
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void test_message_serialize_basic (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-serialization.c:790,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-serialization.c:792,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-serialization.c:793,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-serialization.c:792,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-serialization.c:792,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/gdbus-serialization.c:797,1
    - Dst: memcpy
      Src: /src/glib/gio/tests/gdbus-serialization.c:798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - blob
    - len
    - before
    - after
    argTypes:
    - char*
    - gsize
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 800
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 800
    functionName: replace
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - strlen
    - memcmp
    - memcpy
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: "static void replace (char *blob, gsize len,\t const char *before,\t
      const char *after) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1465,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1469,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1468,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1472
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1472
    functionName: test_message_parse_deep_body_nesting
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_error
    - g_assert_null
    - g_dbus_message_new_from_blob
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_deep_body_nesting (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gdbus-serialization.c:1665,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1672,1
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1668,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1671,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-serialization.c:1666,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1675
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1675
    functionName: test_message_parse_missing_header
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_from_blob
    - g_clear_error
    - g_assert_null
    - g_test_summary
    - g_assert_error
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_missing_header (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new
      Src: /src/glib/gio/tests/gdbus-serialization.c:840,1
    - Dst: dbus_message_set_member
      Src: /src/glib/gio/tests/gdbus-serialization.c:843,1
    - Dst: dbus_message_append_args
      Src: /src/glib/gio/tests/gdbus-serialization.c:848,1
    - Dst: dbus_message_set_serial
      Src: /src/glib/gio/tests/gdbus-serialization.c:841,1
    - Dst: dbus_message_set_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:842,1
    - Dst: dbus_message_append_args
      Src: /src/glib/gio/tests/gdbus-serialization.c:855,1
    - Dst: dbus_message_append_args
      Src: /src/glib/gio/tests/gdbus-serialization.c:862,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-serialization.c:868,1
    - Dst: dbus_message_marshal
      Src: /src/glib/gio/tests/gdbus-serialization.c:871,1
    - Dst: replace
      Src: /src/glib/gio/tests/gdbus-serialization.c:874,1
    - Dst: replace
      Src: /src/glib/gio/tests/gdbus-serialization.c:876,1
    - Dst: replace
      Src: /src/glib/gio/tests/gdbus-serialization.c:875,1
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:879,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:884,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-serialization.c:885,1
    - Dst: dbus_message_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:888,1
    - Dst: dbus_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:887,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:883,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 891
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 891
    functionName: test_message_serialize_invalid
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - dbus_free
    - dbus_message_set_path
    - dbus_message_new
    - g_dbus_message_new_from_blob
    - g_assert
    - dbus_message_marshal
    - g_error_free
    - g_assert_not_reached
    - replace
    - dbus_message_append_args
    - dbus_message_set_member
    - dbus_message_unref
    - dbus_message_set_serial
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_message_serialize_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1397,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1401,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1400,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1404
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1404
    functionName: test_message_parse_deep_header_nesting
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_error
    - g_assert_null
    - g_dbus_message_new_from_blob
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_deep_header_nesting (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gdbus-serialization.c:1726,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-serialization.c:1727,1
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1729,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1732,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1733,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1736
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1736
    functionName: test_message_parse_invalid_header_type
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_from_blob
    - g_clear_error
    - g_assert_null
    - g_test_summary
    - g_assert_error
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_invalid_header_type (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/tests/gdbus-serialization.c:532,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-serialization.c:533,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:537,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:565,1
    - Dst: hexdump
      Src: /src/glib/gio/tests/gdbus-serialization.c:585,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:592,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-serialization.c:609,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/tests/gdbus-serialization.c:618,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:620,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-serialization.c:625,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/tests/gdbus-serialization.c:617,1
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:604,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:621,1
    - Dst: get_body_signature
      Src: /src/glib/gio/tests/gdbus-serialization.c:536,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-serialization.c:555,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-serialization.c:574,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-serialization.c:571,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:540,1
    - Dst: dbus_message_demarshal
      Src: /src/glib/gio/tests/gdbus-serialization.c:579,1
    - Dst: dbus_error_is_set
      Src: /src/glib/gio/tests/gdbus-serialization.c:580,1
    - Dst: dbus_error_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:586,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:589,1
    - Dst: dbus_1_message_print
      Src: /src/glib/gio/tests/gdbus-serialization.c:598,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:626,1
    - Dst: dbus_message_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:599,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/gio/tests/gdbus-serialization.c:618,1
    - Dst: g_dbus_message_set_serial
      Src: /src/glib/gio/tests/gdbus-serialization.c:535,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:537,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:538,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:538,1
    - Dst: g_dbus_message_set_byte_order
      Src: /src/glib/gio/tests/gdbus-serialization.c:558,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-serialization.c:566,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-serialization.c:595,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-serialization.c:613,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/tests/gdbus-serialization.c:613,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:632,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-serialization.c:617,1
    - Dst: g_dbus_message_set_message_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:534,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:539,1
    - Dst: g_variant_new_signature
      Src: /src/glib/gio/tests/gdbus-serialization.c:539,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:561,1
    - Dst: dbus_error_init
      Src: /src/glib/gio/tests/gdbus-serialization.c:578,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:582,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-serialization.c:588,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:590,1
    - Dst: print_gv_dbus_message
      Src: /src/glib/gio/tests/gdbus-serialization.c:593,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:608,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gdbus-serialization.c:629,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/gdbus-serialization.c:634,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 635
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 635
    functionName: get_and_check_serialization
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_dbus_message_set_serial
    - g_steal_pointer
    - g_assert_cmpint
    - g_variant_new_string
    - g_variant_print
    - print_gv_dbus_message
    - get_body_signature
    - g_assert_not_reached
    - g_object_unref
    - g_assert_cmpvariant
    - g_dbus_message_set_body
    - dbus_error_init
    - dbus_error_is_set
    - dbus_message_demarshal
    - g_dbus_message_new_from_blob
    - g_assert_no_error
    - g_dbus_message_get_body
    - dbus_message_unref
    - dbus_error_free
    - g_printerr
    - g_free
    - g_variant_new_signature
    - g_dbus_message_set_byte_order
    - g_assert
    - g_assert_cmpstr
    - hexdump
    - g_dbus_message_set_message_type
    - g_dbus_message_to_blob
    - g_dbus_message_set_header
    - g_dbus_message_new
    - g_variant_new_object_path
    - dbus_1_message_print
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_and_check_serialization (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1329,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1332,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1333,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1336
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1336
    functionName: test_message_parse_over_long_signature_header
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_error
    - g_assert_null
    - g_dbus_message_new_from_blob
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_over_long_signature_header (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gdbus-serialization.c:1744,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1749,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-serialization.c:1747,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1751,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1753,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1755,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1757,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1759,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1780,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1782,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/gdbus-serialization.c:1745,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1762,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1776,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1772,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1778,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1774,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1768,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1770,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1764,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-serialization.c:1766,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-serialization.c:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1786
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1786
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_setenv
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:309,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:317,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:406,1
    - Dst: dbus_message_iter_recurse
      Src: /src/glib/gio/tests/gdbus-serialization.c:434,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:435,1
    - Dst: dbus_message_iter_recurse
      Src: /src/glib/gio/tests/gdbus-serialization.c:444,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:445,1
    - Dst: dbus_message_iter_recurse
      Src: /src/glib/gio/tests/gdbus-serialization.c:454,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:455,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:463,1
    - Dst: dbus_message_iter_next
      Src: /src/glib/gio/tests/gdbus-serialization.c:458,1
    - Dst: dbus_1_message_append
      Src: /src/glib/gio/tests/gdbus-serialization.c:457,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:311,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:318,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:326,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:333,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:334,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:341,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:342,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:349,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:382,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:398,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:423,1
    - Dst: dbus_1_message_append
      Src: /src/glib/gio/tests/gdbus-serialization.c:437,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-serialization.c:466,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:325,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:389,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:390,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:405,1
    - Dst: dbus_message_iter_recurse
      Src: /src/glib/gio/tests/gdbus-serialization.c:424,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:425,1
    - Dst: dbus_1_message_append
      Src: /src/glib/gio/tests/gdbus-serialization.c:447,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:433,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:443,1
    - Dst: dbus_message_iter_next
      Src: /src/glib/gio/tests/gdbus-serialization.c:438,1
    - Dst: dbus_1_message_append
      Src: /src/glib/gio/tests/gdbus-serialization.c:427,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:357,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:365,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:373,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:381,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:350,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:358,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:366,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:374,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/glib/gio/tests/gdbus-serialization.c:397,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gdbus-serialization.c:417,1
    - Dst: dbus_message_iter_next
      Src: /src/glib/gio/tests/gdbus-serialization.c:448,1
    - Dst: dbus_message_iter_next
      Src: /src/glib/gio/tests/gdbus-serialization.c:428,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:453,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 3
    argNames:
    - s
    - indent
    - iter
    argTypes:
    - GString*
    - guint
    - DBusMessageIter*
    constantsTouched: []
    func_position:
      end: 469
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 469
    functionName: dbus_1_message_append
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_string_append
    - dbus_message_iter_get_arg_type
    - dbus_message_iter_recurse
    - g_string_append_printf
    - g_assert_not_reached
    - dbus_1_message_append
    - dbus_message_iter_get_basic
    - dbus_message_iter_next
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void dbus_1_message_append (GString *s, guint indent, DBusMessageIter
      *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-serialization.c:478,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-serialization.c:483,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:481,1
    - Dst: dbus_message_iter_init
      Src: /src/glib/gio/tests/gdbus-serialization.c:480,1
    - Dst: dbus_1_message_append
      Src: /src/glib/gio/tests/gdbus-serialization.c:484,1
    - Dst: dbus_message_iter_next
      Src: /src/glib/gio/tests/gdbus-serialization.c:485,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - message
    argTypes:
    - DBusMessage*
    constantsTouched: []
    func_position:
      end: 490
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 490
    functionName: dbus_1_message_print
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_string_new
    - dbus_message_iter_get_arg_type
    - g_string_append_printf
    - dbus_1_message_append
    - dbus_message_iter_next
    - g_string_free
    - dbus_message_iter_init
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *dbus_1_message_print (DBusMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new
      Src: /src/glib/gio/tests/gdbus-serialization.c:279,1
    - Dst: dbus_message_set_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:281,1
    - Dst: dbus_message_set_member
      Src: /src/glib/gio/tests/gdbus-serialization.c:282,1
    - Dst: append_gv_to_dbus_message
      Src: /src/glib/gio/tests/gdbus-serialization.c:285,1
    - Dst: dbus_message_set_serial
      Src: /src/glib/gio/tests/gdbus-serialization.c:280,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:287,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:288,1
    - Dst: dbus_message_marshal
      Src: /src/glib/gio/tests/gdbus-serialization.c:292,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-serialization.c:293,1
    - Dst: hexdump
      Src: /src/glib/gio/tests/gdbus-serialization.c:294,1
    - Dst: dbus_message_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 297
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 297
    functionName: print_gv_dbus_message
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - dbus_message_set_path
    - dbus_message_new
    - dbus_message_marshal
    - g_error_free
    - hexdump
    - dbus_message_set_member
    - dbus_message_unref
    - dbus_message_set_serial
    - append_gv_to_dbus_message
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void print_gv_dbus_message (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_parse
      Src: /src/glib/gio/tests/gdbus-serialization.c:691,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:691,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:708,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/tests/gdbus-serialization.c:710,1
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:740,1
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:715,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-serialization.c:723,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/gdbus-serialization.c:756,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:760,1
    - Dst: g_variant_new_tuple
      Src: /src/glib/gio/tests/gdbus-serialization.c:766,1
    - Dst: g_variant_new_tuple
      Src: /src/glib/gio/tests/gdbus-serialization.c:769,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:694,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:713,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:735,1
    - Dst: g_variant_new_tuple
      Src: /src/glib/gio/tests/gdbus-serialization.c:752,1
    - Dst: get_and_check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:754,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-serialization.c:756,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-serialization.c:772,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/gdbus-serialization.c:773,1
    - Dst: get_and_check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:771,1
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:696,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:720,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:749,1
    - Dst: g_variant_new_variant
      Src: /src/glib/gio/tests/gdbus-serialization.c:751,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-serialization.c:755,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:764,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-serialization.c:695,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:710,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-serialization.c:714,1
    - Dst: check_serialization
      Src: /src/glib/gio/tests/gdbus-serialization.c:723,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-serialization.c:736,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:732,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/tests/gdbus-serialization.c:732,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-serialization.c:745,1
    - Dst: g_variant_new_array
      Src: /src/glib/gio/tests/gdbus-serialization.c:768,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-serialization.c:773,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:777,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 60
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 778
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 778
    functionName: test_message_serialize_complex
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - G_VARIANT_TYPE
    - g_free
    - check_serialization
    - g_variant_new_string
    - g_variant_new_tuple
    - g_assert
    - g_variant_new_variant
    - g_assert_nonnull
    - g_assert_no_error
    - g_variant_unref
    - g_str_has_prefix
    - g_variant_parse
    - g_variant_new_array
    - g_assert_true
    - g_variant_new_parsed
    - get_and_check_serialization
    linkageType: ''
    returnType: void
    signature: 'static void test_message_serialize_complex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-serialization.c:1487,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:1490,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1494,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1498,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:1505,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/tests/gdbus-serialization.c:1506,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/tests/gdbus-serialization.c:1507,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-serialization.c:1508,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-serialization.c:1509,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/tests/gdbus-serialization.c:1527,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gdbus-serialization.c:1486,1
    - Dst: g_variant_builder_init
      Src: /src/glib/gio/tests/gdbus-serialization.c:1490,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/tests/gdbus-serialization.c:1489,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-serialization.c:1491,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/tests/gdbus-serialization.c:1493,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1495,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1502,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1499,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1511,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-serialization.c:1514,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1520,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/tests/gdbus-serialization.c:1491,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1492,1
    - Dst: g_dbus_message_set_message_type
      Src: /src/glib/gio/tests/gdbus-serialization.c:1504,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1500,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1496,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1512,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1522,1
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1525,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1497,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-serialization.c:1501,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/tests/gdbus-serialization.c:1509,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-serialization.c:1521,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-serialization.c:1526,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-serialization.c:1528,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-serialization.c:1530,1
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/tests/gdbus-serialization.c:1519,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-serialization.c:1527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1531
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1531
    functionName: test_message_parse_truncated
    functionSourceFile: /src/glib/gio/tests/gdbus-serialization.c
    functionUses: []
    functionsReached:
    - g_variant_builder_close
    - g_clear_error
    - g_test_summary
    - g_variant_new_string
    - G_IS_DBUS_MESSAGE
    - g_variant_builder_add
    - g_dbus_message_set_body
    - g_dbus_message_new_from_blob
    - g_assert_no_error
    - g_variant_builder_init
    - g_assert_null
    - g_assert_error
    - g_test_bug
    - g_variant_builder_end
    - G_VARIANT_TYPE
    - g_free
    - g_clear_object
    - g_dbus_message_set_message_type
    - g_dbus_message_to_blob
    - g_variant_builder_open
    - g_dbus_message_set_header
    - g_dbus_message_new
    - g_assert_true
    - g_variant_new_object_path
    linkageType: ''
    returnType: void
    signature: 'static void test_message_parse_truncated (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-non-socket.c:105,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-non-socket.c:107,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-non-socket.c:109,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-non-socket.c:108,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-non-socket.c:109,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-non-socket.c:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    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: 111
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: pokee_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-non-socket.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpstr
    - g_variant_get
    - g_strdup_printf
    - g_dbus_method_invocation_return_value
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void pokee_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_test_init
      Src: /src/glib/gio/tests/gdbus-non-socket.c:297,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-non-socket.c:301,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-non-socket.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 304
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 304
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-non-socket.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    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: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: test_non_socket
    functionSourceFile: /src/glib/gio/tests/gdbus-non-socket.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_non_socket (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-non-socket.c:145,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-non-socket.c:146,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/gdbus-non-socket.c:148,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-non-socket.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-non-socket.c:150,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-non-socket.c:157,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-non-socket.c:197,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-non-socket.c:245,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-non-socket.c:246,1
    - Dst: g_dbus_connection_new_sync
      Src: /src/glib/gio/tests/gdbus-non-socket.c:248,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-non-socket.c:255,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-non-socket.c:271,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-non-socket.c:244,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-non-socket.c:273,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-non-socket.c:228,1
    - Dst: kill
      Src: /src/glib/gio/tests/gdbus-non-socket.c:231,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-non-socket.c:254,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-non-socket.c:227,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-non-socket.c:149,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-non-socket.c:151,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-non-socket.c:152,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-non-socket.c:169,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-non-socket.c:173,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-non-socket.c:192,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-non-socket.c:207,1
    - Dst: g_dbus_connection_start_message_processing
      Src: /src/glib/gio/tests/gdbus-non-socket.c:210,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-non-socket.c:214,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gdbus-non-socket.c:230,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-non-socket.c:275,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-non-socket.c:265,1
    - Dst: test_bidi_pipe
      Src: /src/glib/gio/tests/gdbus-non-socket.c:144,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-non-socket.c:147,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-non-socket.c:147,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-non-socket.c:148,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-non-socket.c:148,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/gdbus-non-socket.c:152,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-non-socket.c:151,1
    - Dst: g_dbus_connection_new_sync
      Src: /src/glib/gio/tests/gdbus-non-socket.c:185,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-non-socket.c:200,1
    - Dst: g_test_trap_fork
      Src: /src/glib/gio/tests/gdbus-non-socket.c:224,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-non-socket.c:264,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-non-socket.c:241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-non-socket.c:231,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-non-socket.c:212,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-non-socket.c:270,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-non-socket.c:152,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/gdbus-non-socket.c:151,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-non-socket.c:150,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/gdbus-non-socket.c:149,1
    - Dst: fork
      Src: /src/glib/gio/tests/gdbus-non-socket.c:154,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-non-socket.c:166,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/gdbus-non-socket.c:168,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-non-socket.c:170,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-non-socket.c:171,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-non-socket.c:193,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/gdbus-non-socket.c:243,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-non-socket.c:194,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-non-socket.c:276,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-non-socket.c:272,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-non-socket.c:259,1
    - Dst: exit
      Src: /src/glib/gio/tests/gdbus-non-socket.c:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 278
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 278
    functionName: test_non_socket
    functionSourceFile: /src/glib/gio/tests/gdbus-non-socket.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IS_OUTPUT_STREAM
    - test_bidi_pipe
    - fork
    - g_test_trap_fork
    - g_main_loop_run
    - g_dbus_connection_register_object
    - g_assert_cmpint
    - g_assert_not_reached
    - g_object_unref
    - kill
    - exit
    - g_dbus_connection_set_exit_on_close
    - g_io_stream_close
    - g_variant_new
    - G_IS_INPUT_STREAM
    - g_dbus_connection_start_message_processing
    - g_assert_no_error
    - g_variant_unref
    - g_variant_get
    - g_main_loop_unref
    - g_dbus_generate_guid
    - g_main_loop_new
    - G_VARIANT_TYPE
    - g_dbus_connection_call_sync
    - g_free
    - g_assert
    - G_IS_IO_STREAM
    - g_test_trap_assert_passed
    - g_assert_cmpstr
    - g_dbus_connection_new_sync
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: void
    signature: 'static void test_non_socket (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:44,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:45,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:46,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:47,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:48,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:49,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:51,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:53,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:55,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:56,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:58,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:57,1
    - Dst: exit
      Src: /src/glib/gio/tests/proxy.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: usage
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: G_NORETURN
    signature: 'static G_NORETURN void usage (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_resolver_get_default
      Src: /src/glib/gio/tests/proxy.c:112,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/tests/proxy.c:119,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/proxy.c:126,1
    - Dst: print_proxies
      Src: /src/glib/gio/tests/proxy.c:124,1
    - Dst: print_and_free_error
      Src: /src/glib/gio/tests/proxy.c:122,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/proxy.c:130,1
    - Dst: g_proxy_resolver_lookup_async
      Src: /src/glib/gio/tests/proxy.c:132,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/proxy.c:138,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/proxy.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - synchronous
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 141
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 141
    functionName: use_resolver
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - print_and_free_error
    - g_proxy_resolver_get_default
    - g_main_loop_unref
    - print_proxies
    - g_strfreev
    - g_main_loop_new
    - g_proxy_resolver_lookup_async
    - g_main_loop_run
    - g_proxy_resolver_lookup
    linkageType: ''
    returnType: void
    signature: 'static void use_resolver (gboolean synchronous) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:73,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:76,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - local_info
    - proxies
    argTypes:
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: print_proxies
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_proxies (const gchar *local_info, gchar **proxies) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/tests/proxy.c:203,1
    - Dst: print_proxy_address
      Src: /src/glib/gio/tests/proxy.c:211,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:216,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/proxy.c:212,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/tests/proxy.c:206,1
    - Dst: print_and_free_error
      Src: /src/glib/gio/tests/proxy.c:221,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/proxy.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 225
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 225
    functionName: _proxy_enumerate_cb
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - print_and_free_error
    - g_socket_address_enumerator_next_finish
    - print_proxy_address
    - G_SOCKET_ADDRESS_ENUMERATOR
    - g_object_unref
    - g_socket_address_enumerator_next_async
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: "static void _proxy_enumerate_cb (GObject *object,\t\t GAsyncResult
      *result,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/tests/proxy.c:265,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:269,1
    - Dst: run_with_enumerator
      Src: /src/glib/gio/tests/proxy.c:270,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - synchronous
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: use_enumerator
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - printf
    - g_object_unref
    - run_with_enumerator
    - g_object_new
    linkageType: ''
    returnType: void
    signature: 'static void use_enumerator (gboolean synchronous) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/tests/proxy.c:324,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:328,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:335,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/proxy.c:334,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/tests/proxy.c:334,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:337,1
    - Dst: run_with_enumerator
      Src: /src/glib/gio/tests/proxy.c:338,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - synchronous
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 341
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 341
    functionName: use_unix_address
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - run_with_enumerator
    - g_unix_socket_address_new_with_type
    - g_socket_connectable_proxy_enumerate
    - g_object_unref
    - fprintf
    - printf
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: 'static void use_unix_address (gboolean synchronous) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_parse
      Src: /src/glib/gio/tests/proxy.c:413,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:424,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:422,1
    - Dst: print_and_free_error
      Src: /src/glib/gio/tests/proxy.c:417,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/tests/proxy.c:421,1
    - Dst: run_with_enumerator
      Src: /src/glib/gio/tests/proxy.c:425,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - synchronous
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 428
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 428
    functionName: use_network_address
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - g_network_address_parse
    - print_and_free_error
    - run_with_enumerator
    - g_socket_connectable_proxy_enumerate
    - g_object_unref
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void use_network_address (gboolean synchronous) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/proxy.c:461,1
    - Dst: g_network_service_new
      Src: /src/glib/gio/tests/proxy.c:464,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/proxy.c:466,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:470,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/tests/proxy.c:475,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:476,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:478,1
    - Dst: run_with_enumerator
      Src: /src/glib/gio/tests/proxy.c:479,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:481,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - synchronous
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 482
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 482
    functionName: use_network_service
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - run_with_enumerator
    - g_socket_connectable_proxy_enumerate
    - fprintf
    - g_object_unref
    - printf
    - g_strsplit
    - g_network_service_new
    - g_strfreev
    linkageType: ''
    returnType: void
    signature: 'static void use_network_service (gboolean synchronous) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:65,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/proxy.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: print_and_free_error
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - g_error_free
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void print_and_free_error (GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_resolver_lookup_finish
      Src: /src/glib/gio/tests/proxy.c:91,1
    - Dst: G_PROXY_RESOLVER
      Src: /src/glib/gio/tests/proxy.c:91,1
    - Dst: print_proxies
      Src: /src/glib/gio/tests/proxy.c:100,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/proxy.c:101,1
    - Dst: print_and_free_error
      Src: /src/glib/gio/tests/proxy.c:96,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/proxy.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 105
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 105
    functionName: _proxy_lookup_cb
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - print_and_free_error
    - print_proxies
    - g_strfreev
    - g_main_loop_quit
    - G_PROXY_RESOLVER
    - g_proxy_resolver_lookup_finish
    linkageType: ''
    returnType: void
    signature: "static void _proxy_lookup_cb (GObject *source_object,\t\t GAsyncResult
      *result,\t\t gpointer user_data) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:150,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:157,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:161,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/proxy.c:164,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/proxy.c:170,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:177,1
    - Dst: g_proxy_address_get_password
      Src: /src/glib/gio/tests/proxy.c:187,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:185,1
    - Dst: g_proxy_address_get_username
      Src: /src/glib/gio/tests/proxy.c:184,1
    - Dst: g_proxy_address_get_destination_hostname
      Src: /src/glib/gio/tests/proxy.c:189,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/tests/proxy.c:154,1
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/tests/proxy.c:156,1
    - Dst: g_proxy_address_get_protocol
      Src: /src/glib/gio/tests/proxy.c:157,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/tests/proxy.c:175,1
    - Dst: g_proxy_address_get_username
      Src: /src/glib/gio/tests/proxy.c:186,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy.c:179,1
    - Dst: g_proxy_address_get_destination_port
      Src: /src/glib/gio/tests/proxy.c:190,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:188,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 194
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 194
    functionName: print_proxy_address
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_address_to_string
    - g_free
    - g_proxy_address_get_username
    - g_proxy_address_get_destination_hostname
    - printf
    - g_proxy_address_get_destination_port
    - G_IS_PROXY_ADDRESS
    - G_PROXY_ADDRESS
    - g_proxy_address_get_protocol
    - g_proxy_address_get_password
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void print_proxy_address (GSocketAddress *sockaddr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/tests/proxy.c:236,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:241,1
    - Dst: print_and_free_error
      Src: /src/glib/gio/tests/proxy.c:245,1
    - Dst: print_proxy_address
      Src: /src/glib/gio/tests/proxy.c:240,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/proxy.c:249,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/tests/proxy.c:251,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/proxy.c:255,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/proxy.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - synchronous
    - enumerator
    argTypes:
    - gboolean
    - GSocketAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: run_with_enumerator
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - print_and_free_error
    - print_proxy_address
    - g_socket_address_enumerator_next
    - g_object_unref
    - g_main_loop_unref
    - g_main_loop_new
    - g_socket_address_enumerator_next_async
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void run_with_enumerator (gboolean synchronous, GSocketAddressEnumerator
      *enumerator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/proxy.c:284,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/proxy.c:288,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:297,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/proxy.c:293,1
    - Dst: strtoul
      Src: /src/glib/gio/tests/proxy.c:290,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:299,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/proxy.c:304,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:305,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/tests/proxy.c:308,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/proxy.c:308,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:314,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:309,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:311,1
    - Dst: run_with_enumerator
      Src: /src/glib/gio/tests/proxy.c:312,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - synchronous
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 315
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 315
    functionName: use_inet_address
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - run_with_enumerator
    - g_inet_socket_address_new
    - g_inet_address_new_from_string
    - fprintf
    - g_object_unref
    - g_socket_connectable_proxy_enumerate
    - printf
    - g_strsplit
    - g_strfreev
    - strtoul
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: 'static void use_inet_address (gboolean synchronous) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/proxy.c:371,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy.c:373,1
    - Dst: strtoul
      Src: /src/glib/gio/tests/proxy.c:372,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy.c:374,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/proxy.c:384,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy.c:393,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:403,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/proxy.c:358,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy.c:394,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/proxy.c:366,1
    - Dst: strtoul
      Src: /src/glib/gio/tests/proxy.c:375,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy.c:379,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/proxy.c:381,1
    - Dst: g_proxy_address_new
      Src: /src/glib/gio/tests/proxy.c:386,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/tests/proxy.c:397,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy.c:392,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:390,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:400,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/proxy.c:397,1
    - Dst: g_free
      Src: /src/glib/gio/tests/proxy.c:391,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:398,1
    - Dst: run_with_enumerator
      Src: /src/glib/gio/tests/proxy.c:401,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - synchronous
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 404
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 404
    functionName: use_proxy_address
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - run_with_enumerator
    - g_inet_address_new_from_string
    - fprintf
    - g_object_unref
    - g_socket_connectable_proxy_enumerate
    - printf
    - g_strsplit
    - g_strfreev
    - strtoul
    - g_proxy_address_new
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: 'static void use_proxy_address (gboolean synchronous) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/tests/proxy.c:437,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/tests/proxy.c:445,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:446,1
    - Dst: print_and_free_error
      Src: /src/glib/gio/tests/proxy.c:441,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:448,1
    - Dst: run_with_enumerator
      Src: /src/glib/gio/tests/proxy.c:449,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - synchronous
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 452
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 452
    functionName: use_network_uri
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - print_and_free_error
    - g_network_address_parse_uri
    - run_with_enumerator
    - g_socket_connectable_proxy_enumerate
    - g_object_unref
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void use_network_uri (gboolean synchronous) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/tests/proxy.c:491,1
    - Dst: g_socket_client_connect_to_uri_finish
      Src: /src/glib/gio/tests/proxy.c:494,1
    - Dst: print_proxy_address
      Src: /src/glib/gio/tests/proxy.c:501,1
    - Dst: print_and_free_error
      Src: /src/glib/gio/tests/proxy.c:505,1
    - Dst: g_socket_connection_get_remote_address
      Src: /src/glib/gio/tests/proxy.c:500,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/proxy.c:508,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 509
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 509
    functionName: _socket_connect_cb
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - print_and_free_error
    - g_socket_client_connect_to_uri_finish
    - print_proxy_address
    - g_socket_connection_get_remote_address
    - g_main_loop_quit
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: "static void _socket_connect_cb (GObject *object,\t\t GAsyncResult
      *result,\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/proxy.c:517,1
    - Dst: g_socket_connection_get_remote_address
      Src: /src/glib/gio/tests/proxy.c:534,1
    - Dst: printf
      Src: /src/glib/gio/tests/proxy.c:519,1
    - Dst: print_proxy_address
      Src: /src/glib/gio/tests/proxy.c:535,1
    - Dst: g_socket_client_connect_to_uri
      Src: /src/glib/gio/tests/proxy.c:526,1
    - Dst: print_and_free_error
      Src: /src/glib/gio/tests/proxy.c:539,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/proxy.c:544,1
    - Dst: g_socket_client_connect_to_uri_async
      Src: /src/glib/gio/tests/proxy.c:546,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/proxy.c:553,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/proxy.c:554,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/proxy.c:557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - synchronous
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 558
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 558
    functionName: use_socket_client
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - print_and_free_error
    - print_proxy_address
    - g_object_unref
    - printf
    - g_main_loop_unref
    - g_socket_client_connect_to_uri_async
    - g_socket_client_new
    - g_socket_client_connect_to_uri
    - g_socket_connection_get_remote_address
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: void
    signature: 'static void use_socket_client (gboolean synchronous) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/tests/proxy.c:584,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/proxy.c:586,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/proxy.c:588,1
    - Dst: usage
      Src: /src/glib/gio/tests/proxy.c:614,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/proxy.c:590,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/proxy.c:621,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/proxy.c:622,1
    - Dst: use_resolver
      Src: /src/glib/gio/tests/proxy.c:628,1
    - Dst: use_enumerator
      Src: /src/glib/gio/tests/proxy.c:631,1
    - Dst: use_inet_address
      Src: /src/glib/gio/tests/proxy.c:634,1
    - Dst: use_unix_address
      Src: /src/glib/gio/tests/proxy.c:638,1
    - Dst: use_network_address
      Src: /src/glib/gio/tests/proxy.c:645,1
    - Dst: use_proxy_address
      Src: /src/glib/gio/tests/proxy.c:642,1
    - Dst: use_network_service
      Src: /src/glib/gio/tests/proxy.c:651,1
    - Dst: use_network_uri
      Src: /src/glib/gio/tests/proxy.c:648,1
    - Dst: use_socket_client
      Src: /src/glib/gio/tests/proxy.c:654,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar**
    constantsTouched: []
    func_position:
      end: 659
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 659
    functionName: main
    functionSourceFile: /src/glib/gio/tests/proxy.c
    functionUses: []
    functionsReached:
    - use_unix_address
    - use_network_uri
    - use_network_service
    - usage
    - use_proxy_address
    - use_resolver
    - use_enumerator
    - use_socket_client
    - g_cancellable_new
    - g_cancellable_cancel
    - use_network_address
    - strcmp
    - use_inet_address
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_finish
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:42,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:43,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:46,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    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-unique-name.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_no_error
    - g_main_loop_quit
    - g_dbus_proxy_new_finish
    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-unique-name.c:205,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:214,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:208,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:212,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 216
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 216
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-unique-name.c
    functionUses: []
    functionsReached:
    - g_test_dbus_unset
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_main_loop_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:125,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:105,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:141,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:153,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:159,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:157,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:188,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:194,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:137,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:176,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:66,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:79,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:94,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:122,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:158,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:63,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:174,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:68,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:157,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:189,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:167,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:155,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:127,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:161,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:182,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:151,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:181,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:121,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:183,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:185,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:82,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:85,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:107,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:104,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:135,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:71,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:137,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:186,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:160,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:156,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:154,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:143,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:103,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:183,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:182,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:162,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:106,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:134,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:176,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:175,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:126,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:191,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:105,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:107,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:124,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:179,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:152,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:82,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:108,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:133,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:161,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:133,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:177,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:136,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:138,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:152,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:181,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:128,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:150,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:126,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:145,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:67,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:82,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:102,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:88,1
    - Dst: g_dbus_proxy_new
      Src: /src/glib/gio/tests/gdbus-proxy-unique-name.c:112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 98
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 195
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 195
    functionName: test_proxy_unique_name
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-unique-name.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_main_loop_run
    - g_dbus_proxy_new
    - g_dbus_proxy_get_cached_property
    - g_assert_cmpint
    - g_variant_get_type_string
    - _g_assert_property_notify
    - g_assert_nonnull
    - g_bus_get_sync
    - g_object_unref
    - g_variant_new
    - g_dbus_proxy_call_sync
    - g_dbus_proxy_new_sync
    - g_test_get_filename
    - g_assert_no_error
    - g_variant_unref
    - g_spawn_command_line_async
    - session_bus_up
    - g_assert_null
    - g_variant_new_byte
    - g_strv_length
    - g_dbus_is_unique_name
    - g_dbus_proxy_get_name_owner
    - g_dbus_proxy_get_cached_property_names
    - g_free
    - session_bus_down
    - g_assert_cmpstr
    - g_variant_get_byte
    - g_assert_true
    - _g_assert_signal_received
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy_unique_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_command_line_get_arguments
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:12,1
    - Dst: g_application_command_line_print
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:14,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:21,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:19,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - application
    - cmdline
    argTypes:
    - GApplication*
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 24
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 24
    functionName: command_line
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline.c
    functionUses: []
    functionsReached:
    - g_application_command_line_print
    - g_strfreev
    - g_print
    - g_application_command_line_get_arguments
    linkageType: ''
    returnType: int
    signature: 'static int command_line (GApplication *application, GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:32,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:34,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:37,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:35,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:34,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-cmdline.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gapplication-example-cmdline.c
    functionUses: []
    functionsReached:
    - g_application_set_inactivity_timeout
    - g_signal_connect
    - g_object_unref
    - G_CALLBACK
    - g_application_run
    - g_application_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_server_auth
      Src: /src/glib/gio/tests/gdbus-server-auth.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: test_server_auth_abstract
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - do_test_server_auth
    linkageType: ''
    returnType: void
    signature: 'static void test_server_auth_abstract (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_server_auth
      Src: /src/glib/gio/tests/gdbus-server-auth.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: test_server_auth_anonymous
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - do_test_server_auth
    linkageType: ''
    returnType: void
    signature: 'static void test_server_auth_anonymous (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_server_auth
      Src: /src/glib/gio/tests/gdbus-server-auth.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: test_server_auth_tcp
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - do_test_server_auth
    linkageType: ''
    returnType: void
    signature: 'static void test_server_auth_tcp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_server_auth
      Src: /src/glib/gio/tests/gdbus-server-auth.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: test_server_auth_anonymous_tcp
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - do_test_server_auth
    linkageType: ''
    returnType: void
    signature: 'static void test_server_auth_anonymous_tcp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-server-auth.c:50,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:52,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - observer
    - mechanism
    - user_data
    argTypes:
    - G_GNUC_UNUSED*
    - char*
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: allow_external_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_debug
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean allow_external_cb (G_GNUC_UNUSED GDBusAuthObserver
      *observer, const char *mechanism, G_GNUC_UNUSED gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-server-auth.c:67,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:74,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - observer
    - mechanism
    - user_data
    argTypes:
    - G_GNUC_UNUSED*
    - char*
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: allow_anonymous_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_debug
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean allow_anonymous_cb (G_GNUC_UNUSED GDBusAuthObserver
      *observer, const char *mechanism, G_GNUC_UNUSED gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_send_with_reply_and_block
      Src: /src/glib/gio/tests/gdbus-server-auth.c:208,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/gdbus-server-auth.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - G_GNUC_UNUSED
    - gpointer
    - G_GNUC_UNUSED*
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: libdbus_call_task_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - dbus_connection_send_with_reply_and_block
    linkageType: ''
    returnType: void
    signature: 'static void libdbus_call_task_cb (GTask *task, G_GNUC_UNUSED gpointer
      source_object, gpointer task_data, G_GNUC_UNUSED GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:114,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/gdbus-server-auth.c:118,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-server-auth.c:121,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - observer
    - stream
    - credentials
    - user_data
    argTypes:
    - G_GNUC_UNUSED*
    - G_GNUC_UNUSED*
    - GCredentials*
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: authorize_any_authenticated_peer_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_credentials_to_string
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean authorize_any_authenticated_peer_cb (G_GNUC_UNUSED
      GDBusAuthObserver *observer, G_GNUC_UNUSED GIOStream *stream, GCredentials *credentials,
      G_GNUC_UNUSED gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_peer_credentials
      Src: /src/glib/gio/tests/gdbus-server-auth.c:172,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:176,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-server-auth.c:183,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:182,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/gdbus-server-auth.c:180,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-server-auth.c:186,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/tests/gdbus-server-auth.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - G_GNUC_UNUSED*
    - GDBusConnection*
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 189
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 189
    functionName: new_connection_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - g_free
    - g_debug
    - g_credentials_to_string
    - g_dbus_connection_get_peer_credentials
    - g_dbus_connection_add_filter
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean new_connection_cb (G_GNUC_UNUSED GDBusServer *server,
      GDBusConnection *connection, G_GNUC_UNUSED gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_server_auth
      Src: /src/glib/gio/tests/gdbus-server-auth.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: test_server_auth_sha1
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - do_test_server_auth
    linkageType: ''
    returnType: void
    signature: 'static void test_server_auth_sha1 (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/tests/gdbus-server-auth.c:136,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/tests/gdbus-server-auth.c:139,1
    - Dst: g_dbus_connection_get_peer_credentials
      Src: /src/glib/gio/tests/gdbus-server-auth.c:143,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-server-auth.c:137,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/tests/gdbus-server-auth.c:137,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/tests/gdbus-server-auth.c:147,1
    - Dst: g_credentials_get_unix_pid
      Src: /src/glib/gio/tests/gdbus-server-auth.c:148,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-server-auth.c:152,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-server-auth.c:153,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-server-auth.c:154,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-server-auth.c:160,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-server-auth.c:157,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - connection
    - message
    - incoming
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - gboolean
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 165
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 165
    functionName: whoami_filter_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_dbus_message_get_message_type
    - g_strcmp0
    - g_credentials_get_unix_pid
    - g_dbus_connection_send_message
    - g_object_unref
    - g_dbus_connection_get_peer_credentials
    - g_dbus_message_set_body
    - g_variant_new
    - g_credentials_get_unix_user
    - g_dbus_message_get_member
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *whoami_filter_cb (GDBusConnection *connection,
      GDBusMessage *message, gboolean incoming, G_GNUC_UNUSED gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_server_auth
      Src: /src/glib/gio/tests/gdbus-server-auth.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: test_server_auth_sha1_tcp
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - do_test_server_auth
    linkageType: ''
    returnType: void
    signature: 'static void test_server_auth_sha1_tcp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-server-auth.c:543,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-server-auth.c:545,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-server-auth.c:546,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-server-auth.c:548,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-server-auth.c:547,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-server-auth.c:549,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-server-auth.c:550,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-server-auth.c:551,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-server-auth.c:552,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-server-auth.c:553,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-server-auth.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 556
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 556
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-server-auth.c:84,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:86,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - observer
    - mechanism
    - user_data
    argTypes:
    - G_GNUC_UNUSED*
    - char*
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: allow_sha1_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_debug
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean allow_sha1_cb (G_GNUC_UNUSED GDBusAuthObserver *observer,
      const char *mechanism, G_GNUC_UNUSED gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-server-auth.c:223,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-server-auth.c:224,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-server-auth.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - G_GNUC_UNUSED*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: store_result_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_object_ref
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void store_result_cb (G_GNUC_UNUSED GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gdbus-server-auth.c:294,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-server-auth.c:344,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-server-auth.c:349,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-server-auth.c:343,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-server-auth.c:354,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-server-auth.c:442,1
    - Dst: g_dbus_connection_new_for_address_finish
      Src: /src/glib/gio/tests/gdbus-server-auth.c:375,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-server-auth.c:381,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-server-auth.c:378,1
    - Dst: dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-server-auth.c:424,1
    - Dst: assert_expected_uid_pid
      Src: /src/glib/gio/tests/gdbus-server-auth.c:454,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-server-auth.c:478,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-server-auth.c:482,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-server-auth.c:396,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-server-auth.c:350,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gdbus-server-auth.c:475,1
    - Dst: dbus_connection_open_private
      Src: /src/glib/gio/tests/gdbus-server-auth.c:419,1
    - Dst: dbus_message_unref
      Src: /src/glib/gio/tests/gdbus-server-auth.c:458,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-server-auth.c:390,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-server-auth.c:391,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-server-auth.c:421,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/tests/gdbus-server-auth.c:296,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-server-auth.c:380,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-server-auth.c:376,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gdbus-server-auth.c:472,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-server-auth.c:463,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-server-auth.c:360,1
    - Dst: g_dbus_connection_new_for_address
      Src: /src/glib/gio/tests/gdbus-server-auth.c:368,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-server-auth.c:377,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-server-auth.c:388,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gdbus-server-auth.c:475,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-server-auth.c:460,1
    - Dst: dbus_connection_unref
      Src: /src/glib/gio/tests/gdbus-server-auth.c:457,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-server-auth.c:362,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-server-auth.c:439,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-server-auth.c:363,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/gdbus-server-auth.c:432,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-server-auth.c:297,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-server-auth.c:346,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-server-auth.c:347,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-server-auth.c:362,1
    - Dst: dbus_message_unref
      Src: /src/glib/gio/tests/gdbus-server-auth.c:459,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-server-auth.c:475,1
    - Dst: dbus_connection_close
      Src: /src/glib/gio/tests/gdbus-server-auth.c:456,1
    - Dst: g_dbus_auth_observer_new
      Src: /src/glib/gio/tests/gdbus-server-auth.c:334,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/gdbus-server-auth.c:417,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-server-auth.c:422,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-server-auth.c:324,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-server-auth.c:337,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-server-auth.c:389,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-server-auth.c:403,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-server-auth.c:373,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-server-auth.c:386,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-server-auth.c:302,1
    - Dst: dbus_message_get_args
      Src: /src/glib/gio/tests/gdbus-server-auth.c:446,1
    - Dst: assert_expected_uid_pid
      Src: /src/glib/gio/tests/gdbus-server-auth.c:401,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/gdbus-server-auth.c:433,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-server-auth.c:287,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-server-auth.c:295,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-server-auth.c:300,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-server-auth.c:338,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gdbus-server-auth.c:417,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-server-auth.c:481,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-server-auth.c:353,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-server-auth.c:340,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-server-auth.c:341,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-server-auth.c:450,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:398,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/gdbus-server-auth.c:434,1
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/tests/gdbus-server-auth.c:364,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-server-auth.c:480,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-server-auth.c:437,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-server-auth.c:307,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-server-auth.c:365,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-server-auth.c:392,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-server-auth.c:479,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-server-auth.c:429,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-server-auth.c:441,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:452,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-server-auth.c:361,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 132
    argCount: 1
    argNames:
    - flags
    argTypes:
    - InteropFlags
    constantsTouched: []
    func_position:
      end: 483
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 483
    functionName: do_test_server_auth
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_get_home_dir
    - g_clear_pointer
    - g_dbus_server_stop
    - g_dbus_address_escape_value
    - g_dbus_server_start
    - assert_expected_uid_pid
    - dbus_message_new_method_call
    - dbus_message_get_args
    - g_assert_nonnull
    - g_strerror
    - g_error
    - g_task_run_in_thread
    - g_test_skip
    - g_signal_connect
    - g_rmdir
    - g_assert_no_error
    - g_dir_make_tmp
    - g_dbus_server_get_client_address
    - g_variant_get
    - g_strdup_printf
    - G_CALLBACK
    - g_dbus_generate_guid
    - dbus_message_unref
    - g_main_context_iteration
    - g_setenv
    - g_strdup
    - g_test_message
    - g_dbus_auth_observer_new
    - g_free
    - g_dbus_server_new_sync
    - G_VARIANT_TYPE
    - g_dbus_connection_call
    - g_task_set_task_data
    - dbus_connection_close
    - g_clear_object
    - dbus_connection_unref
    - g_dbus_connection_new_for_address_finish
    - g_assert_cmpstr
    - g_task_new
    - g_debug
    - g_dbus_connection_new_for_address
    - g_dbus_connection_call_finish
    - dbus_connection_open_private
    linkageType: ''
    returnType: void
    signature: 'static void do_test_server_auth (InteropFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_server_auth
      Src: /src/glib/gio/tests/gdbus-server-auth.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: test_server_auth_external
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - do_test_server_auth
    linkageType: ''
    returnType: void
    signature: 'static void test_server_auth_external (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gio/tests/gdbus-server-auth.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - observer
    - mechanism
    - user_data
    argTypes:
    - G_GNUC_UNUSED*
    - char*
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: allow_any_mechanism_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_debug
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean allow_any_mechanism_cb (G_GNUC_UNUSED GDBusAuthObserver
      *observer, const char *mechanism, G_GNUC_UNUSED gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-server-auth.c:248,1
    - Dst: getpid
      Src: /src/glib/gio/tests/gdbus-server-auth.c:249,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-server-auth.c:249,1
    - Dst: getuid
      Src: /src/glib/gio/tests/gdbus-server-auth.c:248,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-server-auth.c:253,1
    - Dst: getuid
      Src: /src/glib/gio/tests/gdbus-server-auth.c:253,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-server-auth.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - flags
    - uid
    - pid
    argTypes:
    - InteropFlags
    - gint64
    - gint64
    constantsTouched: []
    func_position:
      end: 261
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 261
    functionName: assert_expected_uid_pid
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpint
    - getpid
    - getuid
    linkageType: ''
    returnType: void
    signature: 'static void assert_expected_uid_pid (InteropFlags flags, gint64 uid,
      gint64 pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_server_auth
      Src: /src/glib/gio/tests/gdbus-server-auth.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: test_server_auth
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - do_test_server_auth
    linkageType: ''
    returnType: void
    signature: 'static void test_server_auth (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_server_auth
      Src: /src/glib/gio/tests/gdbus-server-auth.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: test_server_auth_external_require_same_user
    functionSourceFile: /src/glib/gio/tests/gdbus-server-auth.c
    functionUses: []
    functionsReached:
    - do_test_server_auth
    linkageType: ''
    returnType: void
    signature: 'static void test_server_auth_external_require_same_user (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestBClass*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: test_b_class_init
    functionSourceFile: /src/glib/gio/tests/modules/test-module-b.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_b_class_init (TestBClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestB*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: test_b_init
    functionSourceFile: /src/glib/gio/tests/modules/test-module-b.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_b_init (TestB *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: g_io_module_unload
    functionSourceFile: /src/glib/gio/tests/modules/test-module-b.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLIB_TEST_EXPORT_SYMBOL
    signature: 'GLIB_TEST_EXPORT_SYMBOL void g_io_module_unload (GIOModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_extension_point_implement
      Src: /src/glib/gio/tests/modules/test-module-b.c:51,1
    - Dst: test_b_get_type
      Src: /src/glib/gio/tests/modules/test-module-b.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: g_io_module_load
    functionSourceFile: /src/glib/gio/tests/modules/test-module-b.c
    functionUses: []
    functionsReached:
    - g_io_extension_point_implement
    - test_b_get_type
    linkageType: ''
    returnType: GLIB_TEST_EXPORT_SYMBOL
    signature: 'GLIB_TEST_EXPORT_SYMBOL void g_io_module_load (GIOModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestAClass*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: test_a_class_init
    functionSourceFile: /src/glib/gio/tests/modules/test-module-a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_a_class_init (TestAClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestA*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: test_a_init
    functionSourceFile: /src/glib/gio/tests/modules/test-module-a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_a_init (TestA *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: g_io_module_unload
    functionSourceFile: /src/glib/gio/tests/modules/test-module-a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLIB_TEST_EXPORT_SYMBOL
    signature: 'GLIB_TEST_EXPORT_SYMBOL void g_io_module_unload (GIOModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_extension_point_implement
      Src: /src/glib/gio/tests/modules/test-module-a.c:51,1
    - Dst: test_a_get_type
      Src: /src/glib/gio/tests/modules/test-module-a.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: g_io_module_load
    functionSourceFile: /src/glib/gio/tests/modules/test-module-a.c
    functionUses: []
    functionsReached:
    - test_a_get_type
    - g_io_extension_point_implement
    linkageType: ''
    returnType: GLIB_TEST_EXPORT_SYMBOL
    signature: 'GLIB_TEST_EXPORT_SYMBOL void g_io_module_load (GIOModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_new
      Src: /src/glib/gio/tests/static-link/app.c:4,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/static-link/app.c:5,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 7
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 7
    functionName: main
    functionSourceFile: /src/glib/gio/tests/static-link/app.c
    functionUses: []
    functionsReached:
    - g_application_new
    - g_object_unref
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/inotify/inotify-helper.c:120,1
    - Dst: IH_W
      Src: /src/glib/gio/inotify/inotify-helper.c:124,1
    - Dst: _im_rm
      Src: /src/glib/gio/inotify/inotify-helper.c:126,1
    - Dst: _ip_stop_watching
      Src: /src/glib/gio/inotify/inotify-helper.c:127,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/inotify/inotify-helper.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sub
    argTypes:
    - inotify_sub*
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: _ih_sub_cancel
    functionSourceFile: /src/glib/gio/inotify/inotify-helper.c
    functionUses: []
    functionsReached:
    - _ip_stop_watching
    - G_LOCK
    - _im_rm
    - G_UNLOCK
    - IH_W
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ih_sub_cancel (inotify_sub *sub) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ih_mask_to_EventFlags
      Src: /src/glib/gio/inotify/inotify-helper.c:160,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/inotify/inotify-helper.c:184,1
    - Dst: _ih_fullpath_from_event
      Src: /src/glib/gio/inotify/inotify-helper.c:183,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/inotify/inotify-helper.c:170,1
    - Dst: _ip_get_path_for_wd
      Src: /src/glib/gio/inotify/inotify-helper.c:182,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-helper.c:185,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-helper.c:195,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/inotify/inotify-helper.c:196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/inotify/inotify-helper.c:200,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/inotify/inotify-helper.c:205,1
    - Dst: _ip_get_path_for_wd
      Src: /src/glib/gio/inotify/inotify-helper.c:231,1
    - Dst: stat
      Src: /src/glib/gio/inotify/inotify-helper.c:233,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/inotify/inotify-helper.c:238,1
    - Dst: _ih_fullpath_from_event
      Src: /src/glib/gio/inotify/inotify-helper.c:232,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-helper.c:234,1
    - Dst: S_ISREG
      Src: /src/glib/gio/inotify/inotify-helper.c:237,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 3
    argNames:
    - event
    - sub
    - file_event
    argTypes:
    - ik_event_t*
    - inotify_sub*
    - gboolean
    constantsTouched: []
    func_position:
      end: 243
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 243
    functionName: ih_event_callback
    functionSourceFile: /src/glib/gio/inotify/inotify-helper.c
    functionUses: []
    functionsReached:
    - stat
    - g_file_monitor_source_handle_event
    - S_ISREG
    - g_free
    - g_file_new_for_path
    - g_assert
    - g_object_unref
    - ih_mask_to_EventFlags
    - _ih_fullpath_from_event
    - _ip_get_path_for_wd
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ih_event_callback (ik_event_t *event, inotify_sub
      *sub, gboolean file_event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/inotify/inotify-helper.c:104,1
    - Dst: _ip_start_watching
      Src: /src/glib/gio/inotify/inotify-helper.c:106,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/inotify/inotify-helper.c:109,1
    - Dst: _im_add
      Src: /src/glib/gio/inotify/inotify-helper.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sub
    argTypes:
    - inotify_sub*
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: _ih_sub_add
    functionSourceFile: /src/glib/gio/inotify/inotify-helper.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - _im_add
    - _ip_start_watching
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ih_sub_add (inotify_sub *sub) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/inotify/inotify-helper.c:143,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/inotify/inotify-helper.c:145,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/inotify/inotify-helper.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - event
    - dirname
    - filename
    argTypes:
    - ik_event_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: _ih_fullpath_from_event
    functionSourceFile: /src/glib/gio/inotify/inotify-helper.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    linkageType: ''
    returnType: char*
    signature: "static char *_ih_fullpath_from_event (ik_event_t *event,\t\t\t const
      char *dirname,\t\t\t const char *filename) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/inotify/inotify-helper.c:248,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/inotify/inotify-helper.c:252,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/inotify/inotify-helper.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sub
    argTypes:
    - inotify_sub*
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: ih_not_missing_callback
    functionSourceFile: /src/glib/gio/inotify/inotify-helper.c
    functionUses: []
    functionsReached:
    - g_file_monitor_source_handle_event
    - g_get_monotonic_time
    linkageType: ''
    returnType: void
    signature: 'static void ih_not_missing_callback (inotify_sub *sub) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/inotify/inotify-helper.c:73,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/inotify/inotify-helper.c:77,1
    - Dst: _ip_startup
      Src: /src/glib/gio/inotify/inotify-helper.c:81,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/inotify/inotify-helper.c:84,1
    - Dst: _im_startup
      Src: /src/glib/gio/inotify/inotify-helper.c:87,1
    - Dst: IH_W
      Src: /src/glib/gio/inotify/inotify-helper.c:89,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/inotify/inotify-helper.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: _ih_startup
    functionSourceFile: /src/glib/gio/inotify/inotify-helper.c
    functionUses: []
    functionsReached:
    - _im_startup
    - G_LOCK
    - G_UNLOCK
    - _ip_startup
    - IH_W
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ih_startup (void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 1
    argNames:
    - mask
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 289
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 289
    functionName: ih_mask_to_EventFlags
    functionSourceFile: /src/glib/gio/inotify/inotify-helper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFileMonitorEvent
    signature: 'static GFileMonitorEvent ih_mask_to_EventFlags (guint32 mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - (*callback)
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: _im_startup
    functionSourceFile: /src/glib/gio/inotify/inotify-missing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _im_startup (void (*callback)(inotify_sub *sub)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_find
      Src: /src/glib/gio/inotify/inotify-missing.c:87,1
    - Dst: IM_W
      Src: /src/glib/gio/inotify/inotify-missing.c:95,1
    - Dst: g_list_free_1
      Src: /src/glib/gio/inotify/inotify-missing.c:98,1
    - Dst: IM_W
      Src: /src/glib/gio/inotify/inotify-missing.c:91,1
    - Dst: g_list_remove_link
      Src: /src/glib/gio/inotify/inotify-missing.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - sub
    argTypes:
    - inotify_sub*
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: _im_rm
    functionSourceFile: /src/glib/gio/inotify/inotify-missing.c
    functionUses: []
    functionsReached:
    - g_list_remove_link
    - IM_W
    - g_list_free_1
    - g_list_find
    linkageType: ''
    returnType: void
    signature: 'void _im_rm (inotify_sub *sub) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_find
      Src: /src/glib/gio/inotify/inotify-missing.c:59,1
    - Dst: IM_W
      Src: /src/glib/gio/inotify/inotify-missing.c:61,1
    - Dst: IM_W
      Src: /src/glib/gio/inotify/inotify-missing.c:65,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/inotify/inotify-missing.c:74,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/inotify/inotify-missing.c:66,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/inotify/inotify-missing.c:75,1
    - Dst: g_source_attach
      Src: /src/glib/gio/inotify/inotify-missing.c:76,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/inotify/inotify-missing.c:76,1
    - Dst: g_source_unref
      Src: /src/glib/gio/inotify/inotify-missing.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - sub
    argTypes:
    - inotify_sub*
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: _im_add
    functionSourceFile: /src/glib/gio/inotify/inotify-missing.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - GLIB_PRIVATE_CALL
    - g_list_prepend
    - g_source_unref
    - IM_W
    - g_source_attach
    - g_list_find
    - g_timeout_source_new_seconds
    linkageType: ''
    returnType: void
    signature: 'void _im_add (inotify_sub *sub) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/inotify/inotify-missing.c:110,1
    - Dst: IM_W
      Src: /src/glib/gio/inotify/inotify-missing.c:118,1
    - Dst: IM_W
      Src: /src/glib/gio/inotify/inotify-missing.c:112,1
    - Dst: g_list_length
      Src: /src/glib/gio/inotify/inotify-missing.c:112,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-missing.c:119,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-missing.c:120,1
    - Dst: _ip_start_watching
      Src: /src/glib/gio/inotify/inotify-missing.c:121,1
    - Dst: missing_cb
      Src: /src/glib/gio/inotify/inotify-missing.c:125,1
    - Dst: IM_W
      Src: /src/glib/gio/inotify/inotify-missing.c:126,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/inotify/inotify-missing.c:130,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/inotify/inotify-missing.c:147,1
    - Dst: g_list_remove_link
      Src: /src/glib/gio/inotify/inotify-missing.c:137,1
    - Dst: g_list_free_1
      Src: /src/glib/gio/inotify/inotify-missing.c:138,1
    - Dst: g_list_free
      Src: /src/glib/gio/inotify/inotify-missing.c:141,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/inotify/inotify-missing.c:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 155
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 155
    functionName: im_scan_missing
    functionSourceFile: /src/glib/gio/inotify/inotify-missing.c
    functionUses: []
    functionsReached:
    - g_list_free_1
    - G_LOCK
    - g_assert
    - g_list_remove_link
    - g_list_prepend
    - G_UNLOCK
    - g_list_length
    - missing_cb
    - g_list_free
    - IM_W
    - _ip_start_watching
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean im_scan_missing (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/inotify/inotify-kernel.c:63,1
    - Dst: g_strdup
      Src: /src/glib/gio/inotify/inotify-kernel.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - kevent
    - now
    argTypes:
    - struct inotify_event*
    - gint64
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: ik_event_new
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    linkageType: ''
    returnType: ik_event_t*
    signature: 'static ik_event_t *ik_event_new (struct inotify_event *kevent, gint64
      now) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/gio/inotify/inotify-kernel.c:148,1
    - Dst: g_error
      Src: /src/glib/gio/inotify/inotify-kernel.c:162,1
    - Dst: g_strerror
      Src: /src/glib/gio/inotify/inotify-kernel.c:159,1
    - Dst: g_error
      Src: /src/glib/gio/inotify/inotify-kernel.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - iks
    - buffer
    - buffer_len
    argTypes:
    - InotifyKernelSource*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 165
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 165
    functionName: ik_source_read_some_events
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - g_strerror
    - read
    - g_error
    linkageType: ''
    returnType: gsize
    signature: 'static gsize ik_source_read_some_events (InotifyKernelSource *iks,
      gchar *buffer, gsize buffer_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_peek_head
      Src: /src/glib/gio/inotify/inotify-kernel.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - iks
    argTypes:
    - InotifyKernelSource*
    constantsTouched: []
    func_position:
      end: 126
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 126
    functionName: ik_source_get_dispatch_time
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - g_queue_peek_head
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 ik_source_get_dispatch_time (InotifyKernelSource *iks) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gboolean
      Src: /src/glib/gio/inotify/inotify-kernel.c:222,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/inotify/inotify-kernel.c:274,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/inotify/inotify-kernel.c:295,1
    - Dst: ik_source_can_dispatch_now
      Src: /src/glib/gio/inotify/inotify-kernel.c:314,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/inotify/inotify-kernel.c:288,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/inotify/inotify-kernel.c:332,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/inotify/inotify-kernel.c:350,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/gio/inotify/inotify-kernel.c:359,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/inotify/inotify-kernel.c:226,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-kernel.c:272,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-kernel.c:311,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-kernel.c:322,1
    - Dst: ik_source_get_dispatch_time
      Src: /src/glib/gio/inotify/inotify-kernel.c:350,1
    - Dst: ik_source_get_dispatch_time
      Src: /src/glib/gio/inotify/inotify-kernel.c:354,1
    - Dst: MIN
      Src: /src/glib/gio/inotify/inotify-kernel.c:363,1
    - Dst: g_source_query_unix_fd
      Src: /src/glib/gio/inotify/inotify-kernel.c:228,1
    - Dst: ik_source_read_all_the_events
      Src: /src/glib/gio/inotify/inotify-kernel.c:252,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-kernel.c:269,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-kernel.c:288,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-kernel.c:306,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/inotify/inotify-kernel.c:322,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-kernel.c:332,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/inotify/inotify-kernel.c:363,1
    - Dst: ik_event_new
      Src: /src/glib/gio/inotify/inotify-kernel.c:261,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-kernel.c:269,1
    - Dst: g_queue_pop_head
      Src: /src/glib/gio/inotify/inotify-kernel.c:319,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-kernel.c:274,1
    - Dst: g_warning
      Src: /src/glib/gio/inotify/inotify-kernel.c:290,1
    - Dst: G_LOCK
      Src: /src/glib/gio/inotify/inotify-kernel.c:324,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/inotify/inotify-kernel.c:328,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/gio/inotify/inotify-kernel.c:346,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 3
    argNames:
    - source
    - func
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 367
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 367
    functionName: ik_source_dispatch
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - ik_event_new
    - GUINT_TO_POINTER
    - g_source_set_ready_time
    - MIN
    - ik_source_get_dispatch_time
    - ik_source_can_dispatch_now
    - ik_source_read_all_the_events
    - gboolean
    - g_queue_push_tail
    - g_source_get_time
    - g_queue_pop_head
    - g_hash_table_remove
    - g_warning
    - g_free
    - G_LOCK
    - g_assert
    - g_hash_table_size
    - g_source_query_unix_fd
    - G_UNLOCK
    - g_hash_table_lookup
    - g_source_modify_unix_fd
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ik_source_dispatch (GSource *source, GSourceFunc func,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/inotify/inotify-kernel.c:418,1
    - Dst: ik_source_new
      Src: /src/glib/gio/inotify/inotify-kernel.c:419,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/inotify/inotify-kernel.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - (*cb)
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: _ik_startup
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - ik_source_new
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ik_startup (gboolean (*cb)(ik_event_t *event)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ik_source_get_dispatch_time
      Src: /src/glib/gio/inotify/inotify-kernel.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - iks
    - now
    argTypes:
    - InotifyKernelSource*
    - gint64
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: ik_source_can_dispatch_now
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - ik_source_get_dispatch_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ik_source_can_dispatch_now (InotifyKernelSource *iks,
      gint64 now) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ik_event_free
      Src: /src/glib/gio/inotify/inotify-kernel.c:84,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-kernel.c:87,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-kernel.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - event
    argTypes:
    - ik_event_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: _ik_event_free
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - _ik_event_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _ik_event_free (ik_event_t *event) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ik_source_read_some_events
      Src: /src/glib/gio/inotify/inotify-kernel.c:175,1
    - Dst: g_error
      Src: /src/glib/gio/inotify/inotify-kernel.c:191,1
    - Dst: ioctl
      Src: /src/glib/gio/inotify/inotify-kernel.c:188,1
    - Dst: g_malloc
      Src: /src/glib/gio/inotify/inotify-kernel.c:198,1
    - Dst: g_strerror
      Src: /src/glib/gio/inotify/inotify-kernel.c:191,1
    - Dst: memcpy
      Src: /src/glib/gio/inotify/inotify-kernel.c:199,1
    - Dst: ik_source_read_some_events
      Src: /src/glib/gio/inotify/inotify-kernel.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - iks
    - buffer
    - buffer_len
    - length_out
    argTypes:
    - InotifyKernelSource*
    - gchar*
    - gsize
    - gsize*
    constantsTouched: []
    func_position:
      end: 214
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 214
    functionName: ik_source_read_all_the_events
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - memcpy
    - ik_source_read_some_events
    - g_strerror
    - ioctl
    - g_error
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *ik_source_read_all_the_events (InotifyKernelSource *iks,
      gchar *buffer, gsize buffer_len, gsize *length_out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/gio/inotify/inotify-kernel.c:381,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/inotify/inotify-kernel.c:384,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/inotify/inotify-kernel.c:386,1
    - Dst: inotify_init1
      Src: /src/glib/gio/inotify/inotify-kernel.c:387,1
    - Dst: inotify_init
      Src: /src/glib/gio/inotify/inotify-kernel.c:392,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/inotify/inotify-kernel.c:401,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/inotify/inotify-kernel.c:402,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/gio/inotify/inotify-kernel.c:405,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/inotify/inotify-kernel.c:408,1
    - Dst: g_source_attach
      Src: /src/glib/gio/inotify/inotify-kernel.c:410,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/inotify/inotify-kernel.c:410,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - (* callback)
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 413
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 413
    functionName: ik_source_new
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_unix_set_fd_nonblocking
    - g_source_set_static_name
    - GLIB_PRIVATE_CALL
    - inotify_init
    - g_assert_no_error
    - inotify_init1
    - g_hash_table_new
    - g_source_new
    - g_source_attach
    - g_source_add_unix_fd
    linkageType: ''
    returnType: InotifyKernelSource*
    signature: 'static InotifyKernelSource *ik_source_new (gboolean (* callback) (ik_event_t
      *event)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-kernel.c:431,1
    - Dst: inotify_add_watch
      Src: /src/glib/gio/inotify/inotify-kernel.c:434,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-kernel.c:432,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-kernel.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - path
    - mask
    - err
    argTypes:
    - char*
    - guint32
    - int*
    constantsTouched: []
    func_position:
      end: 447
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 447
    functionName: _ik_watch
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - g_assert
    - inotify_add_watch
    linkageType: ''
    returnType: gint32
    signature: 'gint32 _ik_watch (const char *path, guint32 mask, int *err) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-kernel.c:453,1
    - Dst: inotify_rm_watch
      Src: /src/glib/gio/inotify/inotify-kernel.c:456,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-kernel.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - path
    - wd
    argTypes:
    - char*
    - gint32
    constantsTouched: []
    func_position:
      end: 464
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 464
    functionName: _ik_ignore
    functionSourceFile: /src/glib/gio/inotify/inotify-kernel.c
    functionUses: []
    functionsReached:
    - g_assert
    - inotify_rm_watch
    linkageType: ''
    returnType: int
    signature: 'int _ik_ignore (const char *path, gint32 wd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/inotify/inotify-sub.c:35,1
    - Dst: strlen
      Src: /src/glib/gio/inotify/inotify-sub.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: dup_dirname
    functionSourceFile: /src/glib/gio/inotify/inotify-sub.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *dup_dirname (const gchar *dirname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/inotify/inotify-sub.c:52,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/inotify/inotify-sub.c:56,1
    - Dst: dup_dirname
      Src: /src/glib/gio/inotify/inotify-sub.c:62,1
    - Dst: g_strdup
      Src: /src/glib/gio/inotify/inotify-sub.c:63,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/inotify/inotify-sub.c:57,1
    - Dst: IS_W
      Src: /src/glib/gio/inotify/inotify-sub.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - dirname
    - basename
    - filename
    - user_data
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: _ih_sub_new
    functionSourceFile: /src/glib/gio/inotify/inotify-sub.c
    functionUses: []
    functionsReached:
    - g_strdup
    - dup_dirname
    - g_new0
    - g_path_get_basename
    - g_path_get_dirname
    - IS_W
    linkageType: ''
    returnType: inotify_sub*
    signature: 'inotify_sub *_ih_sub_new (const gchar *dirname, const gchar *basename,
      const gchar *filename, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-sub.c:77,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-sub.c:79,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-sub.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sub
    argTypes:
    - inotify_sub*
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: _ih_sub_free
    functionSourceFile: /src/glib/gio/inotify/inotify-sub.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _ih_sub_free (inotify_sub *sub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INOTIFY_FILE_MONITOR
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:56,1
    - Dst: _ih_sub_new
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:63,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:61,1
    - Dst: _ih_sub_add
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:64,1
    - Dst: _ih_startup
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - local_monitor
    - dirname
    - basename
    - filename
    - source
    argTypes:
    - GLocalFileMonitor*
    - gchar*
    - gchar*
    - gchar*
    - GFileMonitorSource*
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: g_inotify_file_monitor_start
    functionSourceFile: /src/glib/gio/inotify/ginotifyfilemonitor.c
    functionUses: []
    functionsReached:
    - _ih_sub_new
    - _ih_startup
    - g_assert
    - G_INOTIFY_FILE_MONITOR
    - _ih_sub_add
    linkageType: ''
    returnType: void
    signature: 'static void g_inotify_file_monitor_start (GLocalFileMonitor *local_monitor,
      const gchar *dirname, const gchar *basename, const gchar *filename, GFileMonitorSource
      *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INOTIFY_FILE_MONITOR
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:86,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:92,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: g_inotify_file_monitor_finalize
    functionSourceFile: /src/glib/gio/inotify/ginotifyfilemonitor.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_INOTIFY_FILE_MONITOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_inotify_file_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ih_startup
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: g_inotify_file_monitor_is_supported
    functionSourceFile: /src/glib/gio/inotify/ginotifyfilemonitor.c
    functionUses: []
    functionsReached:
    - _ih_startup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_inotify_file_monitor_is_supported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GInotifyFileMonitor*
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: g_inotify_file_monitor_init
    functionSourceFile: /src/glib/gio/inotify/ginotifyfilemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_inotify_file_monitor_init (GInotifyFileMonitor* monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INOTIFY_FILE_MONITOR
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:70,1
    - Dst: _ih_sub_free
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:75,1
    - Dst: _ih_sub_cancel
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: g_inotify_file_monitor_cancel
    functionSourceFile: /src/glib/gio/inotify/ginotifyfilemonitor.c
    functionUses: []
    functionsReached:
    - _ih_sub_free
    - G_INOTIFY_FILE_MONITOR
    - _ih_sub_cancel
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_inotify_file_monitor_cancel (GFileMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:103,1
    - Dst: G_LOCAL_FILE_MONITOR_CLASS
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:105,1
    - Dst: G_FILE_MONITOR_CLASS
      Src: /src/glib/gio/inotify/ginotifyfilemonitor.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInotifyFileMonitorClass*
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: g_inotify_file_monitor_class_init
    functionSourceFile: /src/glib/gio/inotify/ginotifyfilemonitor.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_MONITOR_CLASS
    - G_FILE_MONITOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_inotify_file_monitor_class_init (GInotifyFileMonitorClass*
      klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:134,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/inotify/inotify-path.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - path
    - dir
    argTypes:
    - char*
    - ip_watched_dir_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: ip_map_path_dir
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_insert
    linkageType: ''
    returnType: void
    signature: 'static void ip_map_path_dir (const char *path, ip_watched_dir_t *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:154,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:155,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:155,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/inotify/inotify-path.c:156,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/inotify/inotify-path.c:157,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - wd
    - dir
    argTypes:
    - gint32
    - ip_watched_dir_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: ip_map_wd_dir
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_assert
    - g_list_prepend
    - g_hash_table_replace
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void ip_map_wd_dir (gint32 wd, ip_watched_dir_t *dir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ik_watch
      Src: /src/glib/gio/inotify/inotify-path.c:227,1
    - Dst: ip_map_wd_file
      Src: /src/glib/gio/inotify/inotify-path.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - ip_watched_file_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: ip_watched_file_start
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - ip_map_wd_file
    - _ik_watch
    linkageType: ''
    returnType: void
    signature: 'static void ip_watched_file_start (ip_watched_file_t *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:345,1
    - Dst: g_list_remove
      Src: /src/glib/gio/inotify/inotify-path.c:354,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:353,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/inotify/inotify-path.c:346,1
    - Dst: g_list_remove
      Src: /src/glib/gio/inotify/inotify-path.c:347,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/inotify/inotify-path.c:358,1
    - Dst: ip_watched_file_stop
      Src: /src/glib/gio/inotify/inotify-path.c:359,1
    - Dst: ip_watched_file_free
      Src: /src/glib/gio/inotify/inotify-path.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - sub
    - dir
    argTypes:
    - inotify_sub*
    - ip_watched_dir_t*
    constantsTouched: []
    func_position:
      end: 363
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 363
    functionName: ip_unmap_sub_dir
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_remove
    - ip_watched_file_stop
    - ip_watched_file_free
    - g_list_remove
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void ip_unmap_sub_dir (inotify_sub *sub, ip_watched_dir_t *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/inotify/inotify-path.c:412,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/inotify/inotify-path.c:412,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-path.c:414,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:413,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/inotify/inotify-path.c:415,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-path.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dir
    argTypes:
    - ip_watched_dir_t*
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: ip_watched_dir_free
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_free
    - g_hash_table_unref
    - g_assert
    - g_hash_table_size
    linkageType: ''
    returnType: void
    signature: 'static void ip_watched_dir_free (ip_watched_dir_t *dir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ik_startup
      Src: /src/glib/gio/inotify/inotify-path.c:116,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/inotify/inotify-path.c:124,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/inotify/inotify-path.c:121,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/inotify/inotify-path.c:122,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/inotify/inotify-path.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - (*cb)
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: _ip_startup
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    - _ik_startup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ip_startup (gboolean (*cb)(ik_event_t *event, inotify_sub
      *sub, gboolean file_event)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:143,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/inotify/inotify-path.c:145,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/inotify/inotify-path.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - sub
    - dir
    argTypes:
    - inotify_sub*
    - ip_watched_dir_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: ip_map_sub_dir
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_insert
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void ip_map_sub_dir (inotify_sub *sub, ip_watched_dir_t *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:166,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:167,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:167,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/inotify/inotify-path.c:168,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/inotify/inotify-path.c:169,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - wd
    - file
    argTypes:
    - gint32
    - ip_watched_file_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: ip_map_wd_file
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_assert
    - g_list_prepend
    - g_hash_table_replace
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void ip_map_wd_file (gint32 wd, ip_watched_file_t *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ik_ignore
      Src: /src/glib/gio/inotify/inotify-path.c:241,1
    - Dst: ip_unmap_wd_file
      Src: /src/glib/gio/inotify/inotify-path.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - ip_watched_file_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: ip_watched_file_stop
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - ip_unmap_wd_file
    - _ik_ignore
    linkageType: ''
    returnType: void
    signature: 'static void ip_watched_file_stop (ip_watched_file_t *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ip_unmap_sub_dir
      Src: /src/glib/gio/inotify/inotify-path.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - dir
    argTypes:
    - ip_watched_dir_t*
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: ip_unmap_all_subs
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - ip_unmap_sub_dir
    linkageType: ''
    returnType: void
    signature: 'static void ip_unmap_all_subs (ip_watched_dir_t *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _im_add
      Src: /src/glib/gio/inotify/inotify-path.c:430,1
    - Dst: ip_unmap_all_subs
      Src: /src/glib/gio/inotify/inotify-path.c:432,1
    - Dst: ip_unmap_path_dir
      Src: /src/glib/gio/inotify/inotify-path.c:434,1
    - Dst: ip_watched_dir_free
      Src: /src/glib/gio/inotify/inotify-path.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 436
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 436
    functionName: ip_wd_delete
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - ip_unmap_all_subs
    - ip_unmap_path_dir
    - ip_watched_dir_free
    - _im_add
    linkageType: ''
    returnType: void
    signature: 'static void ip_wd_delete (gpointer data, gpointer user_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/inotify/inotify-path.c:465,1
    - Dst: ip_watched_file_stop
      Src: /src/glib/gio/inotify/inotify-path.c:503,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:498,1
    - Dst: strcmp
      Src: /src/glib/gio/inotify/inotify-path.c:466,1
    - Dst: event_callback
      Src: /src/glib/gio/inotify/inotify-path.c:492,1
    - Dst: ip_watched_file_start
      Src: /src/glib/gio/inotify/inotify-path.c:506,1
    - Dst: event_callback
      Src: /src/glib/gio/inotify/inotify-path.c:521,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 44
    argCount: 3
    argNames:
    - dir_list
    - file_list
    - event
    argTypes:
    - GList*
    - GList*
    - ik_event_t*
    constantsTouched: []
    func_position:
      end: 526
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 526
    functionName: ip_event_dispatch
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - ip_watched_file_start
    - ip_watched_file_stop
    - event_callback
    - strcmp
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ip_event_dispatch (GList *dir_list, GList *file_list,
      ik_event_t *event) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ik_event_free
      Src: /src/glib/gio/inotify/inotify-path.c:539,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:543,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:544,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:544,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:543,1
    - Dst: ip_event_dispatch
      Src: /src/glib/gio/inotify/inotify-path.c:547,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:552,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:552,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:553,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:553,1
    - Dst: ip_event_dispatch
      Src: /src/glib/gio/inotify/inotify-path.c:556,1
    - Dst: ip_unmap_wd
      Src: /src/glib/gio/inotify/inotify-path.c:570,1
    - Dst: g_list_foreach
      Src: /src/glib/gio/inotify/inotify-path.c:568,1
    - Dst: _ik_event_free
      Src: /src/glib/gio/inotify/inotify-path.c:573,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - event
    argTypes:
    - ik_event_t*
    constantsTouched: []
    func_position:
      end: 576
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 576
    functionName: ip_event_callback
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - ip_event_dispatch
    - GINT_TO_POINTER
    - ip_unmap_wd
    - _ik_event_free
    - g_list_foreach
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ip_event_callback (ik_event_t *event) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:176,1
    - Dst: g_list_remove
      Src: /src/glib/gio/inotify/inotify-path.c:182,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:181,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:176,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/inotify/inotify-path.c:184,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:184,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/inotify/inotify-path.c:186,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - wd
    - file
    argTypes:
    - gint32
    - ip_watched_file_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: ip_unmap_wd_file
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_assert
    - g_hash_table_remove
    - g_hash_table_replace
    - g_list_remove
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void ip_unmap_wd_file (gint32 wd, ip_watched_file_t *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:259,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:288,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:255,1
    - Dst: IP_W
      Src: /src/glib/gio/inotify/inotify-path.c:263,1
    - Dst: _ik_watch
      Src: /src/glib/gio/inotify/inotify-path.c:264,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/inotify/inotify-path.c:293,1
    - Dst: ip_map_sub_dir
      Src: /src/glib/gio/inotify/inotify-path.c:300,1
    - Dst: IP_W
      Src: /src/glib/gio/inotify/inotify-path.c:258,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:256,1
    - Dst: IP_W
      Src: /src/glib/gio/inotify/inotify-path.c:267,1
    - Dst: IP_W
      Src: /src/glib/gio/inotify/inotify-path.c:275,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:254,1
    - Dst: ip_watched_dir_new
      Src: /src/glib/gio/inotify/inotify-path.c:276,1
    - Dst: IP_W
      Src: /src/glib/gio/inotify/inotify-path.c:282,1
    - Dst: ip_watched_file_start
      Src: /src/glib/gio/inotify/inotify-path.c:297,1
    - Dst: ip_watched_file_new
      Src: /src/glib/gio/inotify/inotify-path.c:292,1
    - Dst: ip_map_path_dir
      Src: /src/glib/gio/inotify/inotify-path.c:278,1
    - Dst: ip_watched_file_add_sub
      Src: /src/glib/gio/inotify/inotify-path.c:296,1
    - Dst: ip_map_wd_dir
      Src: /src/glib/gio/inotify/inotify-path.c:277,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - sub
    argTypes:
    - inotify_sub*
    constantsTouched: []
    func_position:
      end: 303
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 303
    functionName: _ip_start_watching
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - IP_W
    - ip_watched_file_new
    - g_assert
    - g_hash_table_insert
    - ip_watched_file_start
    - _ik_watch
    - ip_watched_dir_new
    - ip_map_sub_dir
    - ip_map_path_dir
    - g_hash_table_lookup
    - ip_map_wd_dir
    - ip_watched_file_add_sub
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ip_start_watching (inotify_sub *sub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/inotify/inotify-path.c:196,1
    - Dst: g_strjoin
      Src: /src/glib/gio/inotify/inotify-path.c:197,1
    - Dst: g_strdup
      Src: /src/glib/gio/inotify/inotify-path.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - dirname
    - filename
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: ip_watched_file_new
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new0
    - g_strjoin
    linkageType: ''
    returnType: ip_watched_file_t*
    signature: 'static ip_watched_file_t *ip_watched_file_new (const gchar *dirname,
      const gchar *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:309,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/inotify/inotify-path.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - path
    - dir
    argTypes:
    - char*
    - ip_watched_dir_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: ip_unmap_path_dir
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void ip_unmap_path_dir (const char *path, ip_watched_dir_t
      *dir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:584,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:585,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - wd
    argTypes:
    - gint32
    constantsTouched: []
    func_position:
      end: 594
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 594
    functionName: _ip_get_path_for_wd
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_lookup
    - GINT_TO_POINTER
    linkageType: ''
    returnType: char*
    signature: 'const char *_ip_get_path_for_wd (gint32 wd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:207,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-path.c:209,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-path.c:208,1
    - Dst: g_free
      Src: /src/glib/gio/inotify/inotify-path.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - ip_watched_file_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: ip_watched_file_free
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void ip_watched_file_free (ip_watched_file_t *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:317,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:317,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:322,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/inotify/inotify-path.c:325,1
    - Dst: g_list_remove
      Src: /src/glib/gio/inotify/inotify-path.c:323,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:325,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/inotify/inotify-path.c:327,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - wd
    - dir
    argTypes:
    - gint32
    - ip_watched_dir_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: ip_unmap_wd_dir
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_assert
    - g_hash_table_remove
    - g_hash_table_replace
    - g_list_remove
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void ip_unmap_wd_dir (gint32 wd, ip_watched_dir_t *dir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:377,1
    - Dst: ip_unmap_wd_dir
      Src: /src/glib/gio/inotify/inotify-path.c:387,1
    - Dst: ip_unmap_sub_dir
      Src: /src/glib/gio/inotify/inotify-path.c:381,1
    - Dst: ip_unmap_path_dir
      Src: /src/glib/gio/inotify/inotify-path.c:388,1
    - Dst: _ik_ignore
      Src: /src/glib/gio/inotify/inotify-path.c:386,1
    - Dst: ip_watched_dir_free
      Src: /src/glib/gio/inotify/inotify-path.c:389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - sub
    argTypes:
    - inotify_sub*
    constantsTouched: []
    func_position:
      end: 393
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 393
    functionName: _ip_stop_watching
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - ip_unmap_sub_dir
    - ip_unmap_wd_dir
    - _ik_ignore
    - ip_unmap_path_dir
    - g_hash_table_lookup
    - ip_watched_dir_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _ip_stop_watching (inotify_sub *sub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/inotify/inotify-path.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - file
    - sub
    argTypes:
    - ip_watched_file_t*
    - inotify_sub*
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: ip_watched_file_add_sub
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void ip_watched_file_add_sub (ip_watched_file_t *file, inotify_sub
      *sub) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/inotify/inotify-path.c:333,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:333,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/inotify/inotify-path.c:337,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/inotify/inotify-path.c:337,1
    - Dst: g_assert
      Src: /src/glib/gio/inotify/inotify-path.c:336,1
    - Dst: g_list_free
      Src: /src/glib/gio/inotify/inotify-path.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wd
    argTypes:
    - gint32
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: ip_unmap_wd
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_assert
    - g_hash_table_remove
    - g_list_free
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void ip_unmap_wd (gint32 wd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/inotify/inotify-path.c:400,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/inotify/inotify-path.c:403,1
    - Dst: g_strdup
      Src: /src/glib/gio/inotify/inotify-path.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - path
    - wd
    argTypes:
    - char*
    - gint32
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: ip_watched_dir_new
    functionSourceFile: /src/glib/gio/inotify/inotify-path.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_new
    - g_new0
    linkageType: ''
    returnType: ip_watched_dir_t*
    signature: 'static ip_watched_dir_t *ip_watched_dir_new (const char *path, gint32
      wd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:66,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:69,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:71,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - XdgIconList*
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: _xdg_mime_icon_list_free
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeicon.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _xdg_mime_icon_list_free (XdgIconList *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - list
    - mime_type
    argTypes:
    - XdgIconList*
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: _xdg_mime_icon_list_lookup
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeicon.c
    functionUses: []
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: char*
    signature: "const char *_xdg_mime_icon_list_lookup (XdgIconList *list,\t\t\t const
      char *mime_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: _xdg_mime_icon_list_new
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeicon.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: XdgIconList*
    signature: 'XdgIconList *_xdg_mime_icon_list_new (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:109,1
    - Dst: strchr
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:124,1
    - Dst: fgets
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:118,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:117,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:128,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:132,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:135,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:136,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:139,1
    - Dst: fclose
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:142,1
    - Dst: qsort
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - list
    - file_name
    argTypes:
    - XdgIconList*
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 147
    functionName: _xdg_mime_icon_read_from_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeicon.c
    functionUses: []
    functionsReached:
    - strlen
    - realloc
    - strdup
    - fgets
    - fclose
    - fopen
    - strchr
    - qsort
    linkageType: ''
    returnType: void
    signature: "void _xdg_mime_icon_read_from_file (XdgIconList *list,\t\t\t const
      char *file_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: icon_entry_cmp
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeicon.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int icon_entry_cmp (const void *v1, const void *v2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeicon.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - XdgIconList*
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: _xdg_mime_icon_list_dump
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeicon.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void _xdg_mime_icon_list_dump (XdgIconList *list) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - source
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 101
    functionName: _xdg_utf8_to_ucs4
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: xdg_unichar_t
    signature: 'xdg_unichar_t _xdg_utf8_to_ucs4(const char *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimeint.c:146,1
    - Dst: _xdg_utf8_next_char
      Src: /src/glib/gio/xdgmime/xdgmimeint.c:153,1
    - Dst: _xdg_utf8_to_ucs4
      Src: /src/glib/gio/xdgmime/xdgmimeint.c:152,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmimeint.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - source
    - len
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: _xdg_convert_to_ucs4
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeint.c
    functionUses: []
    functionsReached:
    - strlen
    - _xdg_utf8_to_ucs4
    - _xdg_utf8_next_char
    - malloc
    linkageType: ''
    returnType: xdg_unichar_t*
    signature: 'xdg_unichar_t *_xdg_convert_to_ucs4 (const char *source, int *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - source
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: _xdg_utf8_validate
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _xdg_utf8_validate (const char *source __attribute__((unused))) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/glib/gio/xdgmime/xdgmimeint.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: _xdg_get_base_name
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeint.c
    functionUses: []
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char*
    signature: 'const char *_xdg_get_base_name (const char *file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - source
    - len
    argTypes:
    - xdg_unichar_t*
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: _xdg_reverse_ucs4
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _xdg_reverse_ucs4 (xdg_unichar_t *source, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: _xdg_binary_or_text_fallback
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *_xdg_binary_or_text_fallback(const void *data, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/glib/gio/xdgmime/xdgmimeint.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - source
    argTypes:
    - xdg_unichar_t
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: _xdg_ucs4_to_lower
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeint.c
    functionUses: []
    functionsReached:
    - tolower
    linkageType: ''
    returnType: xdg_unichar_t
    signature: 'xdg_unichar_t _xdg_ucs4_to_lower (xdg_unichar_t source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: _xdg_glob_list_new
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: XdgGlobList*
    signature: 'static XdgGlobList *_xdg_glob_list_new (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_glob_hash_node_lookup_file_name
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:328,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 6
    argNames:
    - glob_hash_node
    - file_name
    - len
    - case_sensitive_check
    - mime_types
    - n_mime_types
    argTypes:
    - XdgGlobHashNode*
    - char*
    - int
    - int
    - MimeWeight
    - int
    constantsTouched: []
    func_position:
      end: 364
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 364
    functionName: _xdg_glob_hash_node_lookup_file_name
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - _xdg_glob_hash_node_lookup_file_name
    linkageType: ''
    returnType: int
    signature: "static int _xdg_glob_hash_node_lookup_file_name (XdgGlobHashNode *glob_hash_node,\t\t\t\t
      const char *file_name,\t\t\t\t int len,\t\t\t\t int case_sensitive_check,\t\t\t\t
      MimeWeight mime_types[],\t\t\t\t int n_mime_types) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:403,1
    - Dst: MAX
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - mimes
    - n_mimes
    argTypes:
    - MimeWeight
    - int
    constantsTouched: []
    func_position:
      end: 416
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 416
    functionName: filter_out_dupes
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - MAX
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int filter_out_dupes (MimeWeight mimes[], int n_mimes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: compare_mime_weight
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int compare_mime_weight (const void *a, const void *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:433,1
    - Dst: ascii_tolower
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:437,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:444,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:452,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:441,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:455,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:461,1
    - Dst: _xdg_glob_hash_node_lookup_file_name
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:462,1
    - Dst: _xdg_glob_hash_node_lookup_file_name
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:465,1
    - Dst: fnmatch
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:472,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:480,1
    - Dst: qsort
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:484,1
    - Dst: filter_out_dupes
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:482,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 4
    argNames:
    - glob_hash
    - file_name
    - mime_types
    - n_mime_types
    argTypes:
    - XdgGlobHash*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 493
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 493
    functionName: _xdg_glob_hash_lookup_file_name
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - ascii_tolower
    - strlen
    - free
    - _xdg_glob_hash_node_lookup_file_name
    - assert
    - filter_out_dupes
    - fnmatch
    - strcmp
    - qsort
    linkageType: ''
    returnType: int
    signature: "int _xdg_glob_hash_lookup_file_name (XdgGlobHash *glob_hash,\t\t\t\t
      const char *file_name,\t\t\t\t const char *mime_types[],\t\t\t\t int n_mime_types) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:635,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:652,1
    - Dst: fgets
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:642,1
    - Dst: atoi
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:663,1
    - Dst: strchr
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:659,1
    - Dst: strchr
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:669,1
    - Dst: strchr
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:679,1
    - Dst: strchr
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:689,1
    - Dst: strstr
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:693,1
    - Dst: _xdg_glob_hash_append_glob
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:704,1
    - Dst: fclose
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:707,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 3
    argNames:
    - glob_hash
    - file_name
    - version_two
    argTypes:
    - XdgGlobHash*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 708
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 708
    functionName: _xdg_mime_glob_read_from_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - strlen
    - atoi
    - strstr
    - fgets
    - fclose
    - fopen
    - strchr
    - _xdg_glob_hash_append_glob
    linkageType: ''
    returnType: void
    signature: "void _xdg_mime_glob_read_from_file (XdgGlobHash *glob_hash,\t\t\t
      const char *file_name,\t\t\t int version_two) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:154,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:156,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:160,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:158,1
    - Dst: _xdg_glob_hash_node_dump
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:162,1
    - Dst: _xdg_glob_hash_node_dump
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - glob_hash_node
    - depth
    argTypes:
    - XdgGlobHashNode*
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: _xdg_glob_hash_node_dump
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - printf
    - _xdg_glob_hash_node_dump
    linkageType: ''
    returnType: void
    signature: "static void _xdg_glob_hash_node_dump (XdgGlobHashNode *glob_hash_node,\t\t\t
      int depth) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_convert_to_ucs4
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:291,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:294,1
    - Dst: _xdg_reverse_ucs4
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:292,1
    - Dst: _xdg_glob_hash_insert_ucs4
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - glob_hash_node
    - text
    - mime_type
    - weight
    - case_sensitive
    argTypes:
    - XdgGlobHashNode*
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 296
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 296
    functionName: _xdg_glob_hash_insert_text
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - _xdg_convert_to_ucs4
    - _xdg_reverse_ucs4
    - _xdg_glob_hash_insert_ucs4
    - free
    linkageType: ''
    returnType: XdgGlobHashNode*
    signature: "static XdgGlobHashNode *_xdg_glob_hash_insert_text (XdgGlobHashNode
      *glob_hash_node,\t\t\t const char *text,\t\t\t const char *mime_type,\t\t\t
      int weight,\t\t\t int case_sensitive) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_glob_list_free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:529,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:532,1
    - Dst: _xdg_glob_list_free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:530,1
    - Dst: _xdg_glob_hash_free_nodes
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - glob_hash
    argTypes:
    - XdgGlobHash*
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 533
    functionName: _xdg_glob_hash_free
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - _xdg_glob_hash_free_nodes
    - _xdg_glob_list_free
    - free
    linkageType: ''
    returnType: void
    signature: 'void _xdg_glob_hash_free (XdgGlobHash *glob_hash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:570,1
    - Dst: _xdg_glob_determine_type
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:573,1
    - Dst: _xdg_glob_list_append
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:578,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:578,1
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:571,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:578,1
    - Dst: _xdg_glob_hash_insert_text
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:581,1
    - Dst: _xdg_glob_list_append
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:584,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:584,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:584,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - glob_hash
    - glob
    - mime_type
    - weight
    - case_sensitive
    argTypes:
    - XdgGlobHash*
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 587
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 587
    functionName: _xdg_glob_hash_append_glob
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - _xdg_glob_list_append
    - strdup
    - _xdg_glob_determine_type
    - assert
    - _xdg_glob_hash_insert_text
    linkageType: ''
    returnType: void
    signature: "void _xdg_glob_hash_append_glob (XdgGlobHash *glob_hash,\t\t\t const
      char *glob,\t\t\t const char *mime_type,\t\t\t int weight,\t\t\t int case_sensitive) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_glob_hash_node_new
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:182,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:244,1
    - Dst: _xdg_glob_hash_node_new
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:205,1
    - Dst: _xdg_glob_hash_node_new
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:224,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:236,1
    - Dst: _xdg_glob_hash_node_new
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:254,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:256,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:267,1
    - Dst: _xdg_glob_hash_insert_ucs4
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:274,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 5
    argNames:
    - glob_hash_node
    - text
    - mime_type
    - weight
    - case_sensitive
    argTypes:
    - XdgGlobHashNode*
    - xdg_unichar_t*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 277
    functionName: _xdg_glob_hash_insert_ucs4
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - strdup
    - _xdg_glob_hash_node_new
    - _xdg_glob_hash_insert_ucs4
    - strcmp
    linkageType: ''
    returnType: XdgGlobHashNode*
    signature: "static XdgGlobHashNode *_xdg_glob_hash_insert_ucs4 (XdgGlobHashNode
      *glob_hash_node,\t\t\t xdg_unichar_t *text,\t\t\t const char *mime_type,\t\t\t
      int weight,\t\t\t int case_sensitive) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_utf8_next_char
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - glob
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 558
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 558
    functionName: _xdg_glob_determine_type
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - _xdg_utf8_next_char
    linkageType: ''
    returnType: XdgGlobType
    signature: 'XdgGlobType _xdg_glob_determine_type (const char *glob) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:593,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:596,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:601,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:603,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:606,1
    - Dst: _xdg_glob_hash_node_dump
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:610,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:613,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:616,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:621,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - glob_hash
    argTypes:
    - XdgGlobHash*
    constantsTouched: []
    func_position:
      end: 623
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 623
    functionName: _xdg_glob_hash_dump
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - printf
    - _xdg_glob_hash_node_dump
    linkageType: ''
    returnType: void
    signature: 'void _xdg_glob_hash_dump (XdgGlobHash *glob_hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: _xdg_glob_hash_node_new
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: XdgGlobHashNode*
    signature: 'static XdgGlobHashNode *_xdg_glob_hash_node_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:111,1
    - Dst: _xdg_glob_list_new
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:118,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - glob_list
    - data
    - mime_type
    - weight
    - case_sensitive
    argTypes:
    - XdgGlobList*
    - void*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 133
    functionName: _xdg_glob_list_append
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - _xdg_glob_list_new
    - strcmp
    linkageType: ''
    returnType: XdgGlobList*
    signature: "static XdgGlobList *_xdg_glob_list_append (XdgGlobList *glob_list,\t\t
      void *data,\t\t const char *mime_type,\t\t int weight,\t\t int case_sensitive) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 508
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 508
    functionName: _xdg_glob_hash_new
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: XdgGlobHash*
    signature: 'XdgGlobHash *_xdg_glob_hash_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:380,1
    - Dst: ISUPPER
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: ascii_tolower
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - strdup
    - ISUPPER
    linkageType: ''
    returnType: char*
    signature: 'static char *ascii_tolower (const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_glob_hash_free_nodes
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:517,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:522,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:521,1
    - Dst: _xdg_glob_hash_free_nodes
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - XdgGlobHashNode*
    constantsTouched: []
    func_position:
      end: 524
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 524
    functionName: _xdg_glob_hash_free_nodes
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - _xdg_glob_hash_free_nodes
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _xdg_glob_hash_free_nodes (XdgGlobHashNode *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:89,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:92,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeglob.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - glob_list
    argTypes:
    - XdgGlobList*
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: _xdg_glob_list_free
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeglob.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _xdg_glob_list_free (XdgGlobList *glob_list) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:310,1
    - Dst: _xdg_mime_magic_read_a_number
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:349,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:352,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:377,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:386,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:357,1
    - Dst: feof
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:403,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:409,1
    - Dst: fread
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:419,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:444,1
    - Dst: SWAP_BE32_TO_LE32
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:493,1
    - Dst: isdigit
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:326,1
    - Dst: ungetc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:328,1
    - Dst: _xdg_mime_magic_read_a_number
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:329,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:334,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:363,1
    - Dst: fread
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:399,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:402,1
    - Dst: feof
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:423,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:428,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:436,1
    - Dst: SWAP_BE16_TO_LE16
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:491,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:455,1
    - Dst: ungetc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:318,1
    - Dst: _xdg_mime_magic_matchlet_new
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:342,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:368,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:383,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:374,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:360,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:416,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:422,1
    - Dst: _xdg_mime_magic_read_a_number
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:433,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:447,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:313,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:391,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:396,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:412,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:477,1
    - Dst: SWAP_BE16_TO_LE16
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:485,1
    - Dst: SWAP_BE32_TO_LE32
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:487,1
    - Dst: _xdg_mime_magic_read_a_number
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:452,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:507,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:460,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:463,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 152
    argCount: 2
    argNames:
    - magic_file
    - match
    argTypes:
    - FILE*
    - XdgMimeMagicMatch*
    constantsTouched: []
    func_position:
      end: 512
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 512
    functionName: _xdg_mime_magic_parse_magic_line
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - SWAP_BE32_TO_LE32
    - isdigit
    - _xdg_mime_magic_matchlet_new
    - SWAP_BE16_TO_LE16
    - malloc
    - assert
    - feof
    - ungetc
    - _xdg_mime_magic_matchlet_free
    - fread
    - _xdg_mime_magic_read_a_number
    - getc_unlocked
    linkageType: ''
    returnType: XdgMimeMagicState
    signature: "static XdgMimeMagicState _xdg_mime_magic_parse_magic_line (FILE *magic_file,\t\t\t\t
      XdgMimeMagicMatch *match) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_mime_magic_matchlet_compare_to_data
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:564,1
    - Dst: _xdg_mime_magic_matchlet_compare_level
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:570,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - matchlet
    - data
    - len
    - indent
    argTypes:
    - XdgMimeMagicMatchlet*
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 585
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 585
    functionName: _xdg_mime_magic_matchlet_compare_level
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - _xdg_mime_magic_matchlet_compare_level
    - _xdg_mime_magic_matchlet_compare_to_data
    linkageType: ''
    returnType: int
    signature: "static int _xdg_mime_magic_matchlet_compare_level (XdgMimeMagicMatchlet
      *matchlet,\t\t\t\t\tconst void *data,\t\t\t\t\tsize_t len,\t\t\t\t\tint indent) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - mime_magic
    - match
    argTypes:
    - XdgMimeMagic*
    - XdgMimeMagicMatch*
    constantsTouched: []
    func_position:
      end: 627
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 627
    functionName: _xdg_mime_magic_insert_match
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _xdg_mime_magic_insert_match (XdgMimeMagic *mime_magic,\t\t\t
      XdgMimeMagicMatch *match) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_mime_magic_match_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:639,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mime_magic
    argTypes:
    - XdgMimeMagic*
    constantsTouched: []
    func_position:
      end: 642
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 642
    functionName: _xdg_mime_magic_free
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - _xdg_mime_magic_match_free
    - free
    linkageType: ''
    returnType: void
    signature: 'void _xdg_mime_magic_free (XdgMimeMagic *mime_magic) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - matchlet
    - data
    - len
    argTypes:
    - XdgMimeMagicMatchlet*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 554
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 554
    functionName: _xdg_mime_magic_matchlet_compare_to_data
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _xdg_mime_magic_matchlet_compare_to_data (XdgMimeMagicMatchlet
      *matchlet,\t\t\t\t\t const void *data,\t\t\t\t\t size_t len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_mime_magic_matchlet_compare_level
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - match
    - data
    - len
    argTypes:
    - XdgMimeMagicMatch*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: _xdg_mime_magic_match_compare_to_data
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - _xdg_mime_magic_matchlet_compare_level
    linkageType: ''
    returnType: int
    signature: "static int _xdg_mime_magic_match_compare_to_data (XdgMimeMagicMatch
      *match,\t\t\t\t const void *data,\t\t\t\t size_t len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 633
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 633
    functionName: _xdg_mime_magic_new
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: XdgMimeMagic*
    signature: 'XdgMimeMagic *_xdg_mime_magic_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mime_magic
    argTypes:
    - XdgMimeMagic*
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: _xdg_mime_magic_get_buffer_extents
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _xdg_mime_magic_get_buffer_extents (XdgMimeMagic *mime_magic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:134,1
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:136,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - mime_magic_match
    argTypes:
    - XdgMimeMagicMatch*
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: _xdg_mime_magic_match_free
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - _xdg_mime_magic_matchlet_free
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _xdg_mime_magic_match_free (XdgMimeMagicMatch *mime_magic_match) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_mime_magic_match_compare_to_data
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:667,1
    - Dst: _xdg_mime_mime_type_equal
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:678,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 6
    argNames:
    - mime_magic
    - data
    - len
    - result_prio
    - mime_types
    - n_mime_types
    argTypes:
    - XdgMimeMagic*
    - void*
    - size_t
    - int*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 697
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 697
    functionName: _xdg_mime_magic_lookup_data
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - _xdg_mime_mime_type_equal
    - _xdg_mime_magic_match_compare_to_data
    linkageType: ''
    returnType: char*
    signature: "const char *_xdg_mime_magic_lookup_data (XdgMimeMagic *mime_magic,\t\t\t
      const void *data,\t\t\t size_t len,\t\t\t int *result_prio, const char *mime_types[],
      int n_mime_types) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - mime_magic
    argTypes:
    - XdgMimeMagic*
    constantsTouched: []
    func_position:
      end: 720
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 720
    functionName: _xdg_mime_update_mime_magic_extents
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _xdg_mime_update_mime_magic_extents (XdgMimeMagic *mime_magic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:806,1
    - Dst: fclose
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:817,1
    - Dst: fread
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:811,1
    - Dst: _xdg_mime_magic_read_magic_file
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:814,1
    - Dst: memcmp
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:813,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - mime_magic
    - file_name
    argTypes:
    - XdgMimeMagic*
    - char*
    constantsTouched: []
    func_position:
      end: 818
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 818
    functionName: _xdg_mime_magic_read_from_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - fclose
    - _xdg_mime_magic_read_magic_file
    - fopen
    - fread
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void _xdg_mime_magic_read_from_file (XdgMimeMagic *mime_magic,\t\t\t\tconst
      char *file_name) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_mime_magic_matchlet_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:111,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:115,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:113,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - mime_magic_matchlet
    argTypes:
    - XdgMimeMagicMatchlet*
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: _xdg_mime_magic_matchlet_free
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - free
    - _xdg_mime_magic_matchlet_free
    linkageType: ''
    returnType: void
    signature: 'static void _xdg_mime_magic_matchlet_free (XdgMimeMagicMatchlet *mime_magic_matchlet) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:237,1
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:238,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:240,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:252,1
    - Dst: _xdg_mime_magic_read_a_number
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:246,1
    - Dst: _xdg_mime_magic_read_to_newline
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:258,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:261,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:270,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:275,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:276,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - magic_file
    - match
    argTypes:
    - FILE*
    - XdgMimeMagicMatch*
    constantsTouched: []
    func_position:
      end: 279
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 279
    functionName: _xdg_mime_magic_parse_header
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - strdup
    - free
    - assert
    - _xdg_mime_magic_read_a_number
    - getc_unlocked
    - _xdg_mime_magic_read_to_newline
    linkageType: ''
    returnType: XdgMimeMagicState
    signature: 'static XdgMimeMagicState _xdg_mime_magic_parse_header (FILE *magic_file,
      XdgMimeMagicMatch *match) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - matchlets
    argTypes:
    - XdgMimeMagicMatchlet*
    constantsTouched: []
    func_position:
      end: 745
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 745
    functionName: _xdg_mime_magic_matchlet_mirror
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: XdgMimeMagicMatchlet*
    signature: 'static XdgMimeMagicMatchlet *_xdg_mime_magic_matchlet_mirror (XdgMimeMagicMatchlet
      *matchlets) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - magic_file
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: _xdg_mime_magic_parse_error
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - getc_unlocked
    linkageType: ''
    returnType: XdgMimeMagicState
    signature: 'static XdgMimeMagicState _xdg_mime_magic_parse_error (FILE *magic_file) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_mime_magic_match_new
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:761,1
    - Dst: _xdg_mime_magic_matchlet_mirror
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:776,1
    - Dst: _xdg_mime_magic_parse_header
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:767,1
    - Dst: _xdg_mime_magic_match_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:769,1
    - Dst: _xdg_mime_magic_parse_magic_line
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:772,1
    - Dst: _xdg_mime_magic_insert_match
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:777,1
    - Dst: _xdg_mime_magic_match_free
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:780,1
    - Dst: _xdg_mime_magic_parse_error
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:783,1
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:787,1
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:793,1
    - Dst: _xdg_mime_update_mime_magic_extents
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:796,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 2
    argNames:
    - mime_magic
    - magic_file
    argTypes:
    - XdgMimeMagic*
    - FILE*
    constantsTouched: []
    func_position:
      end: 797
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 797
    functionName: _xdg_mime_magic_read_magic_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - _xdg_mime_magic_insert_match
    - _xdg_mime_magic_match_new
    - _xdg_mime_magic_match_free
    - _xdg_mime_magic_parse_magic_line
    - assert
    - _xdg_mime_magic_parse_header
    - _xdg_mime_magic_matchlet_mirror
    - _xdg_mime_magic_parse_error
    - _xdg_mime_update_mime_magic_extents
    linkageType: ''
    returnType: void
    signature: "static void _xdg_mime_magic_read_magic_file (XdgMimeMagic *mime_magic,\t\t\t\t
      FILE *magic_file) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: _xdg_mime_magic_match_new
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: XdgMimeMagicMatch*
    signature: 'static XdgMimeMagicMatch *_xdg_mime_magic_match_new (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:196,1
    - Dst: strtol
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:217,1
    - Dst: isdigit
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:203,1
    - Dst: ungetc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - magic_file
    - end_of_file
    argTypes:
    - FILE*
    - int*
    constantsTouched: []
    func_position:
      end: 224
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 224
    functionName: _xdg_mime_magic_read_a_number
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - isdigit
    - strtol
    - ungetc
    - getc_unlocked
    linkageType: ''
    returnType: int
    signature: "static int _xdg_mime_magic_read_a_number (FILE *magic_file,\t\t\t
      int *end_of_file) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: _xdg_mime_magic_matchlet_new
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: XdgMimeMagicMatchlet*
    signature: 'static XdgMimeMagicMatchlet *_xdg_mime_magic_matchlet_new (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:156,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:173,1
    - Dst: getc_unlocked
      Src: /src/glib/gio/xdgmime/xdgmimemagic.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - magic_file
    - end_of_file
    argTypes:
    - FILE*
    - int*
    constantsTouched: []
    func_position:
      end: 179
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 179
    functionName: _xdg_mime_magic_read_to_newline
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimemagic.c
    functionUses: []
    functionsReached:
    - realloc
    - malloc
    - getc_unlocked
    linkageType: ''
    returnType: unsigned char*
    signature: "static unsigned char *_xdg_mime_magic_read_to_newline (FILE *magic_file,\t\t\t\t
      int *end_of_file) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdg_check_time_and_dirs
      Src: /src/glib/gio/xdgmime/xdgmime.c:495,1
    - Dst: _xdg_glob_hash_new
      Src: /src/glib/gio/xdgmime/xdgmime.c:502,1
    - Dst: xdg_mime_shutdown
      Src: /src/glib/gio/xdgmime/xdgmime.c:497,1
    - Dst: _xdg_mime_magic_new
      Src: /src/glib/gio/xdgmime/xdgmime.c:503,1
    - Dst: _xdg_mime_alias_list_new
      Src: /src/glib/gio/xdgmime/xdgmime.c:504,1
    - Dst: _xdg_mime_parent_list_new
      Src: /src/glib/gio/xdgmime/xdgmime.c:505,1
    - Dst: _xdg_mime_icon_list_new
      Src: /src/glib/gio/xdgmime/xdgmime.c:506,1
    - Dst: _xdg_mime_icon_list_new
      Src: /src/glib/gio/xdgmime/xdgmime.c:507,1
    - Dst: xdg_run_command_on_dirs
      Src: /src/glib/gio/xdgmime/xdgmime.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 513
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 513
    functionName: xdg_mime_init
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_icon_list_new
    - _xdg_mime_alias_list_new
    - xdg_mime_shutdown
    - xdg_run_command_on_dirs
    - _xdg_mime_magic_new
    - _xdg_mime_parent_list_new
    - _xdg_glob_hash_new
    - xdg_check_time_and_dirs
    linkageType: ''
    returnType: void
    signature: 'static void xdg_mime_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:642,1
    - Dst: _xdg_mime_cache_get_mime_types_from_file_name
      Src: /src/glib/gio/xdgmime/xdgmime.c:645,1
    - Dst: _xdg_glob_hash_lookup_file_name
      Src: /src/glib/gio/xdgmime/xdgmime.c:647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - file_name
    - mime_types
    - n_mime_types
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 648
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 648
    functionName: xdg_mime_get_mime_types_from_file_name
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_glob_hash_lookup_file_name
    - xdg_mime_init
    - _xdg_mime_cache_get_mime_types_from_file_name
    linkageType: ''
    returnType: int
    signature: "int xdg_mime_get_mime_types_from_file_name (const char *file_name,\t\t\t\t\tconst
      char *mime_types[],\t\t\t\t\tint n_mime_types) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_mime_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmime.c:761,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:764,1
    - Dst: _xdg_mime_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmime.c:762,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - mime_a
    - mime_b
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 768
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 768
    functionName: _xdg_mime_mime_type_equal
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_unalias_mime_type
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int _xdg_mime_mime_type_equal (const char *mime_a,\t\t\t const char
      *mime_b) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_mime_cache_mime_type_subclass
      Src: /src/glib/gio/xdgmime/xdgmime.c:830,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:835,1
    - Dst: _xdg_mime_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmime.c:832,1
    - Dst: _xdg_mime_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmime.c:833,1
    - Dst: xdg_mime_is_super_type
      Src: /src/glib/gio/xdgmime/xdgmime.c:840,1
    - Dst: xdg_mime_media_type_equal
      Src: /src/glib/gio/xdgmime/xdgmime.c:841,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:846,1
    - Dst: strncmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:847,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:850,1
    - Dst: strncmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:851,1
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:856,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:887,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:869,1
    - Dst: _xdg_mime_mime_type_subclass
      Src: /src/glib/gio/xdgmime/xdgmime.c:876,1
    - Dst: _xdg_mime_parent_list_lookup
      Src: /src/glib/gio/xdgmime/xdgmime.c:860,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 47
    argCount: 3
    argNames:
    - mime
    - base
    - seen
    argTypes:
    - char*
    - char*
    - char***
    constantsTouched: []
    func_position:
      end: 889
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 889
    functionName: _xdg_mime_mime_type_subclass
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_cache_mime_type_subclass
    - realloc
    - free
    - _xdg_mime_unalias_mime_type
    - xdg_mime_media_type_equal
    - calloc
    - strcmp
    - _xdg_mime_mime_type_subclass
    - xdg_mime_is_super_type
    - _xdg_mime_parent_list_lookup
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int _xdg_mime_mime_type_subclass (const char *mime,\t\t\t const char
      *base,\t\t\t const char ***seen) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:529,1
    - Dst: _xdg_mime_magic_lookup_data
      Src: /src/glib/gio/xdgmime/xdgmime.c:534,1
    - Dst: _xdg_binary_or_text_fallback
      Src: /src/glib/gio/xdgmime/xdgmime.c:539,1
    - Dst: _xdg_mime_cache_get_mime_type_for_data
      Src: /src/glib/gio/xdgmime/xdgmime.c:532,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - data
    - len
    - result_prio
    argTypes:
    - void*
    - size_t
    - int*
    constantsTouched: []
    func_position:
      end: 540
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 540
    functionName: xdg_mime_get_mime_type_for_data
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_magic_lookup_data
    - _xdg_binary_or_text_fallback
    - _xdg_mime_cache_get_mime_type_for_data
    - xdg_mime_init
    linkageType: ''
    returnType: char*
    signature: "const char *xdg_mime_get_mime_type_for_data (const void *data,\t\t\t\t
      size_t len,\t\t\t\t int *result_prio) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_utf8_validate
      Src: /src/glib/gio/xdgmime/xdgmime.c:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mime_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 656
    functionName: xdg_mime_is_valid_mime_type
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_utf8_validate
    linkageType: ''
    returnType: int
    signature: 'int xdg_mime_is_valid_mime_type (const char *mime_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:774,1
    - Dst: _xdg_mime_mime_type_equal
      Src: /src/glib/gio/xdgmime/xdgmime.c:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mime_a
    - mime_b
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 777
    functionName: xdg_mime_mime_type_equal
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_mime_type_equal
    - xdg_mime_init
    linkageType: ''
    returnType: int
    signature: "int xdg_mime_mime_type_equal (const char *mime_a,\t\t\t const char
      *mime_b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:895,1
    - Dst: _xdg_mime_mime_type_subclass
      Src: /src/glib/gio/xdgmime/xdgmime.c:897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mime
    - base
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 898
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 898
    functionName: xdg_mime_mime_type_subclass
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_mime_type_subclass
    - xdg_mime_init
    linkageType: ''
    returnType: int
    signature: "int xdg_mime_mime_type_subclass (const char *mime,\t\t\t const char
      *base) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:335,1
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:342,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmime.c:344,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - dirs
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 349
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 349
    functionName: xdg_mime_set_dirs
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - calloc
    - strdup
    - free
    linkageType: ''
    returnType: void
    signature: 'void xdg_mime_set_dirs (const char * const *dirs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdg_init_dirs
      Src: /src/glib/gio/xdgmime/xdgmime.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - func
    - user_data
    argTypes:
    - XdgDirectoryFunc
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: xdg_run_command_on_dirs
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - xdg_init_dirs
    linkageType: ''
    returnType: void
    signature: 'static void xdg_run_command_on_dirs (XdgDirectoryFunc func, void *user_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:564,1
    - Dst: fclose
      Src: /src/glib/gio/xdgmime/xdgmime.c:605,1
    - Dst: _xdg_utf8_validate
      Src: /src/glib/gio/xdgmime/xdgmime.c:561,1
    - Dst: _xdg_glob_hash_lookup_file_name
      Src: /src/glib/gio/xdgmime/xdgmime.c:570,1
    - Dst: _xdg_get_base_name
      Src: /src/glib/gio/xdgmime/xdgmime.c:569,1
    - Dst: stat
      Src: /src/glib/gio/xdgmime/xdgmime.c:577,1
    - Dst: S_ISREG
      Src: /src/glib/gio/xdgmime/xdgmime.c:583,1
    - Dst: _xdg_mime_magic_lookup_data
      Src: /src/glib/gio/xdgmime/xdgmime.c:609,1
    - Dst: fclose
      Src: /src/glib/gio/xdgmime/xdgmime.c:616,1
    - Dst: _xdg_mime_cache_get_mime_type_for_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:567,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:590,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:597,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:604,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:615,1
    - Dst: _xdg_binary_or_text_fallback
      Src: /src/glib/gio/xdgmime/xdgmime.c:613,1
    - Dst: _xdg_mime_magic_get_buffer_extents
      Src: /src/glib/gio/xdgmime/xdgmime.c:589,1
    - Dst: fopen
      Src: /src/glib/gio/xdgmime/xdgmime.c:594,1
    - Dst: ferror
      Src: /src/glib/gio/xdgmime/xdgmime.c:602,1
    - Dst: fread
      Src: /src/glib/gio/xdgmime/xdgmime.c:601,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 2
    argNames:
    - file_name
    - statbuf
    argTypes:
    - char*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 619
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 619
    functionName: xdg_mime_get_mime_type_for_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - stat
    - _xdg_utf8_validate
    - S_ISREG
    - ferror
    - free
    - _xdg_glob_hash_lookup_file_name
    - _xdg_get_base_name
    - malloc
    - _xdg_mime_magic_lookup_data
    - fclose
    - xdg_mime_init
    - fopen
    - fread
    - _xdg_mime_magic_get_buffer_extents
    - _xdg_binary_or_text_fallback
    - _xdg_mime_cache_get_mime_type_for_file
    linkageType: ''
    returnType: char*
    signature: 'const char *xdg_mime_get_mime_type_for_file (const char *file_name,
      struct stat *statbuf) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xdg_dir_time_list_free
      Src: /src/glib/gio/xdgmime/xdgmime.c:666,1
    - Dst: _xdg_glob_hash_free
      Src: /src/glib/gio/xdgmime/xdgmime.c:672,1
    - Dst: _xdg_mime_alias_list_free
      Src: /src/glib/gio/xdgmime/xdgmime.c:683,1
    - Dst: _xdg_mime_magic_free
      Src: /src/glib/gio/xdgmime/xdgmime.c:677,1
    - Dst: _xdg_mime_parent_list_free
      Src: /src/glib/gio/xdgmime/xdgmime.c:689,1
    - Dst: _xdg_mime_icon_list_free
      Src: /src/glib/gio/xdgmime/xdgmime.c:695,1
    - Dst: _xdg_mime_icon_list_free
      Src: /src/glib/gio/xdgmime/xdgmime.c:701,1
    - Dst: _xdg_mime_cache_unref
      Src: /src/glib/gio/xdgmime/xdgmime.c:710,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:711,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 720
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 720
    functionName: xdg_mime_shutdown
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_parent_list_free
    - _xdg_glob_hash_free
    - free
    - _xdg_mime_icon_list_free
    - xdg_dir_time_list_free
    - _xdg_mime_alias_list_free
    - _xdg_mime_cache_unref
    - _xdg_mime_magic_free
    linkageType: ''
    returnType: void
    signature: 'void xdg_mime_shutdown (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:907,1
    - Dst: _xdg_mime_cache_list_mime_parents
      Src: /src/glib/gio/xdgmime/xdgmime.c:910,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:920,1
    - Dst: memcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:921,1
    - Dst: xdg_mime_get_mime_parents
      Src: /src/glib/gio/xdgmime/xdgmime.c:912,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 924
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 924
    functionName: xdg_mime_list_mime_parents
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - memcpy
    - malloc
    - _xdg_mime_cache_list_mime_parents
    - xdg_mime_get_mime_parents
    - xdg_mime_init
    linkageType: ''
    returnType: char**
    signature: 'char **xdg_mime_list_mime_parents (const char *mime) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:1001,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - callback_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1005
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1005
    functionName: xdg_mime_remove_callback
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void xdg_mime_remove_callback (int callback_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:626,1
    - Dst: _xdg_mime_cache_get_mime_type_from_file_name
      Src: /src/glib/gio/xdgmime/xdgmime.c:629,1
    - Dst: _xdg_glob_hash_lookup_file_name
      Src: /src/glib/gio/xdgmime/xdgmime.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 635
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 635
    functionName: xdg_mime_get_mime_type_from_file_name
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_cache_get_mime_type_from_file_name
    - _xdg_glob_hash_lookup_file_name
    - xdg_mime_init
    linkageType: ''
    returnType: char*
    signature: 'const char *xdg_mime_get_mime_type_from_file_name (const char *file_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:725,1
    - Dst: _xdg_mime_cache_get_max_buffer_extents
      Src: /src/glib/gio/xdgmime/xdgmime.c:728,1
    - Dst: _xdg_mime_magic_get_buffer_extents
      Src: /src/glib/gio/xdgmime/xdgmime.c:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 731
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 731
    functionName: xdg_mime_get_max_buffer_extents
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_magic_get_buffer_extents
    - _xdg_mime_cache_get_max_buffer_extents
    - xdg_mime_init
    linkageType: ''
    returnType: int
    signature: 'int xdg_mime_get_max_buffer_extents (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:931,1
    - Dst: _xdg_mime_parent_list_lookup
      Src: /src/glib/gio/xdgmime/xdgmime.c:935,1
    - Dst: _xdg_mime_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmime.c:933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 936
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 936
    functionName: xdg_mime_get_mime_parents
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_unalias_mime_type
    - _xdg_mime_parent_list_lookup
    - xdg_mime_init
    linkageType: ''
    returnType: char**
    signature: 'const char **xdg_mime_get_mime_parents (const char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:1010,1
    - Dst: _xdg_mime_cache_get_icon
      Src: /src/glib/gio/xdgmime/xdgmime.c:1013,1
    - Dst: _xdg_mime_icon_list_lookup
      Src: /src/glib/gio/xdgmime/xdgmime.c:1015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1016
    functionName: xdg_mime_get_icon
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_cache_get_icon
    - _xdg_mime_icon_list_lookup
    - xdg_mime_init
    linkageType: ''
    returnType: char*
    signature: 'const char *xdg_mime_get_icon (const char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:1021,1
    - Dst: _xdg_mime_cache_get_generic_icon
      Src: /src/glib/gio/xdgmime/xdgmime.c:1024,1
    - Dst: _xdg_mime_icon_list_lookup
      Src: /src/glib/gio/xdgmime/xdgmime.c:1026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1027
    functionName: xdg_mime_get_generic_icon
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_icon_list_lookup
    - _xdg_mime_cache_get_generic_icon
    - xdg_mime_init
    linkageType: ''
    returnType: char*
    signature: 'const char *xdg_mime_get_generic_icon (const char *mime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - callback
    - data
    - destroy
    argTypes:
    - XdgMimeCallback
    - void*
    - XdgMimeDestroy
    constantsTouched: []
    func_position:
      end: 980
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 980
    functionName: xdg_mime_register_reload_callback
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: int
    signature: "int xdg_mime_register_reload_callback (XdgMimeCallback callback,\t\t\t\t
      void *data,\t\t\t\t XdgMimeDestroy destroy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:98,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:100,1
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - file_name
    - mtime
    argTypes:
    - char*
    - time_t
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: xdg_dir_time_list_add
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - free
    - calloc
    - strcmp
    linkageType: ''
    returnType: void
    signature: "static void xdg_dir_time_list_add (char *file_name, \t\t time_t mtime) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/glib/gio/xdgmime/xdgmime.c:364,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:373,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - file_path
    - exists
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 390
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 390
    functionName: xdg_check_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - stat
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int xdg_check_file (const char *file_path, int *exists) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:801,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:806,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 810
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 810
    functionName: ends_with
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int ends_with (const char *str, const char *suffix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:941,1
    - Dst: _xdg_mime_parent_list_dump
      Src: /src/glib/gio/xdgmime/xdgmime.c:946,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmime.c:943,1
    - Dst: _xdg_mime_alias_list_dump
      Src: /src/glib/gio/xdgmime/xdgmime.c:944,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmime.c:945,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmime.c:947,1
    - Dst: _xdg_glob_hash_dump
      Src: /src/glib/gio/xdgmime/xdgmime.c:948,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmime.c:949,1
    - Dst: _xdg_glob_hash_dump
      Src: /src/glib/gio/xdgmime/xdgmime.c:950,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmime.c:951,1
    - Dst: _xdg_mime_cache_glob_dump
      Src: /src/glib/gio/xdgmime/xdgmime.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 953
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 953
    functionName: xdg_mime_dump
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_alias_list_dump
    - _xdg_mime_parent_list_dump
    - printf
    - _xdg_mime_cache_glob_dump
    - xdg_mime_init
    - _xdg_glob_hash_dump
    linkageType: ''
    returnType: void
    signature: 'void xdg_mime_dump (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:121,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - XdgDirTimeList*
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: xdg_dir_time_list_free
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void xdg_dir_time_list_free (XdgDirTimeList *list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:403,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:418,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:419,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:429,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:430,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:404,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:406,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:418,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:429,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:421,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:432,1
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmime.c:400,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:403,1
    - Dst: xdg_check_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:405,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:419,1
    - Dst: xdg_check_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:420,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:430,1
    - Dst: xdg_check_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:431,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:403,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:404,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:418,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - directory
    - user_data
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 440
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 440
    functionName: xdg_check_dir
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - strlen
    - xdg_check_file
    - free
    - strcpy
    - malloc
    - assert
    - strcat
    linkageType: ''
    returnType: int
    signature: "static int xdg_check_dir (const char *directory,\t void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/glib/gio/xdgmime/xdgmime.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: xdg_mime_is_super_type
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - ends_with
    linkageType: ''
    returnType: int
    signature: 'static int xdg_mime_is_super_type (const char *mime) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmime.c:223,1
    - Dst: getenv
      Src: /src/glib/gio/xdgmime/xdgmime.c:225,1
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:240,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:259,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:258,1
    - Dst: getenv
      Src: /src/glib/gio/xdgmime/xdgmime.c:226,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:248,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:250,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:288,1
    - Dst: getenv
      Src: /src/glib/gio/xdgmime/xdgmime.c:227,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:248,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:260,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:258,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:291,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:288,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:248,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:249,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:258,1
    - Dst: strncpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:289,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 302
    functionName: xdg_init_dirs
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - strlen
    - strncpy
    - strcat
    - strcpy
    - malloc
    - assert
    - calloc
    - getenv
    linkageType: ''
    returnType: void
    signature: 'static void xdg_init_dirs (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmime.c:134,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:136,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:137,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:156,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:157,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:156,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:166,1
    - Dst: _xdg_mime_glob_read_from_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:170,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:175,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:179,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:191,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:196,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:201,1
    - Dst: stat
      Src: /src/glib/gio/xdgmime/xdgmime.c:181,1
    - Dst: _xdg_mime_icon_read_from_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:203,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:206,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:197,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:136,1
    - Dst: stat
      Src: /src/glib/gio/xdgmime/xdgmime.c:138,1
    - Dst: xdg_dir_time_list_add
      Src: /src/glib/gio/xdgmime/xdgmime.c:161,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:154,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:167,1
    - Dst: stat
      Src: /src/glib/gio/xdgmime/xdgmime.c:168,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:179,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:180,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:191,1
    - Dst: _xdg_mime_alias_read_from_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:193,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:207,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:196,1
    - Dst: _xdg_mime_parent_read_from_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:198,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:201,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:207,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:137,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:136,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:146,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:156,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:157,1
    - Dst: _xdg_mime_glob_read_from_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:160,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:165,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:166,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:167,1
    - Dst: _xdg_mime_magic_read_from_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:183,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:204,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:206,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:192,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:196,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:202,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:191,1
    - Dst: _xdg_mime_cache_new_from_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:140,1
    - Dst: xdg_dir_time_list_add
      Src: /src/glib/gio/xdgmime/xdgmime.c:144,1
    - Dst: stat
      Src: /src/glib/gio/xdgmime/xdgmime.c:158,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:166,1
    - Dst: xdg_dir_time_list_add
      Src: /src/glib/gio/xdgmime/xdgmime.c:171,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:179,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:180,1
    - Dst: xdg_dir_time_list_add
      Src: /src/glib/gio/xdgmime/xdgmime.c:184,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:194,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:199,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmime.c:201,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:209,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmime.c:188,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmime.c:206,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:192,1
    - Dst: strcat
      Src: /src/glib/gio/xdgmime/xdgmime.c:197,1
    - Dst: _xdg_mime_icon_read_from_file
      Src: /src/glib/gio/xdgmime/xdgmime.c:208,1
    - Dst: strcpy
      Src: /src/glib/gio/xdgmime/xdgmime.c:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 111
    argCount: 2
    argNames:
    - directory
    - user_data
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 212
    functionName: xdg_mime_init_from_directory
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - strlen
    - stat
    - _xdg_mime_cache_new_from_file
    - realloc
    - xdg_dir_time_list_add
    - free
    - strcpy
    - _xdg_mime_magic_read_from_file
    - malloc
    - _xdg_mime_parent_read_from_file
    - assert
    - _xdg_mime_alias_read_from_file
    - strcat
    - _xdg_mime_glob_read_from_file
    - _xdg_mime_icon_read_from_file
    linkageType: ''
    returnType: int
    signature: 'static int xdg_mime_init_from_directory (const char *directory, void
      *user_data __attribute__((__unused__))) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/glib/gio/xdgmime/xdgmime.c:478,1
    - Dst: xdg_check_dirs
      Src: /src/glib/gio/xdgmime/xdgmime.c:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: xdg_check_time_and_dirs
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - xdg_check_dirs
    - gettimeofday
    linkageType: ''
    returnType: int
    signature: 'static int xdg_check_time_and_dirs (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_mime_cache_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmime.c:739,1
    - Dst: _xdg_mime_alias_list_lookup
      Src: /src/glib/gio/xdgmime/xdgmime.c:741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - mime_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 745
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 745
    functionName: _xdg_mime_unalias_mime_type
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_alias_list_lookup
    - _xdg_mime_cache_unalias_mime_type
    linkageType: ''
    returnType: char*
    signature: 'const char *_xdg_mime_unalias_mime_type (const char *mime_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gio/xdgmime/xdgmime.c:785,1
    - Dst: strncmp
      Src: /src/glib/gio/xdgmime/xdgmime.c:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - mime_a
    - mime_b
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 791
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 791
    functionName: xdg_mime_media_type_equal
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - strchr
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int xdg_mime_media_type_equal (const char *mime_a,\t\t\t const char
      *mime_b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_init
      Src: /src/glib/gio/xdgmime/xdgmime.c:750,1
    - Dst: _xdg_mime_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmime.c:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mime_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 753
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 753
    functionName: xdg_mime_unalias_mime_type
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - _xdg_mime_unalias_mime_type
    - xdg_mime_init
    linkageType: ''
    returnType: char*
    signature: 'const char *xdg_mime_unalias_mime_type (const char *mime_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdg_run_command_on_dirs
      Src: /src/glib/gio/xdgmime/xdgmime.c:453,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 465
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 465
    functionName: xdg_check_dirs
    functionSourceFile: /src/glib/gio/xdgmime/xdgmime.c
    functionUses: []
    functionsReached:
    - xdg_run_command_on_dirs
    linkageType: ''
    returnType: int
    signature: 'static int xdg_check_dirs (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - list
    - mime
    argTypes:
    - XdgParentList*
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: _xdg_mime_parent_list_lookup
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeparent.c
    functionUses: []
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: char**
    signature: "const char **_xdg_mime_parent_list_lookup (XdgParentList *list,\t\t\t
      const char *mime) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:70,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:77,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:75,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:72,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - list
    argTypes:
    - XdgParentList*
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: _xdg_mime_parent_list_free
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeparent.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _xdg_mime_parent_list_free (XdgParentList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: _xdg_mime_parent_list_new
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeparent.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: XdgParentList*
    signature: 'XdgParentList *_xdg_mime_parent_list_new (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:117,1
    - Dst: fgets
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:126,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:125,1
    - Dst: strchr
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:132,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:136,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:140,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:152,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:155,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:164,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:169,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:172,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:176,1
    - Dst: fclose
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:179,1
    - Dst: qsort
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:182,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - list
    - file_name
    argTypes:
    - XdgParentList*
    - char*
    constantsTouched: []
    func_position:
      end: 184
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 184
    functionName: _xdg_mime_parent_read_from_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeparent.c
    functionUses: []
    functionsReached:
    - strlen
    - realloc
    - strdup
    - malloc
    - fgets
    - fclose
    - fopen
    - strchr
    - strcmp
    - qsort
    linkageType: ''
    returnType: void
    signature: "void _xdg_mime_parent_read_from_file (XdgParentList *list,\t\t\t\t
      const char *file_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: parent_entry_cmp
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeparent.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int parent_entry_cmp (const void *v1, const void *v2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimeparent.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - XdgParentList*
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: _xdg_mime_parent_list_dump
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimeparent.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void _xdg_mime_parent_list_dump (XdgParentList *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - list
    - alias
    argTypes:
    - XdgAliasList*
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: _xdg_mime_alias_list_lookup
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimealias.c
    functionUses: []
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: char*
    signature: "const char *_xdg_mime_alias_list_lookup (XdgAliasList *list,\t\t\t
      const char *alias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:67,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:70,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:72,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - XdgAliasList*
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: _xdg_mime_alias_list_free
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimealias.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _xdg_mime_alias_list_free (XdgAliasList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: _xdg_mime_alias_list_new
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimealias.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: XdgAliasList*
    signature: 'XdgAliasList *_xdg_mime_alias_list_new (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:110,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:129,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:118,1
    - Dst: fgets
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:119,1
    - Dst: strchr
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:125,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:133,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:136,1
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:137,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:140,1
    - Dst: fclose
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:143,1
    - Dst: qsort
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:146,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - list
    - file_name
    argTypes:
    - XdgAliasList*
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 148
    functionName: _xdg_mime_alias_read_from_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimealias.c
    functionUses: []
    functionsReached:
    - strlen
    - realloc
    - strdup
    - fgets
    - fclose
    - fopen
    - strchr
    - qsort
    linkageType: ''
    returnType: void
    signature: "void _xdg_mime_alias_read_from_file (XdgAliasList *list,\t\t\t\tconst
      char *file_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: alias_entry_cmp
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimealias.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int alias_entry_cmp (const void *v1, const void *v2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimealias.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - XdgAliasList*
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: _xdg_mime_alias_list_dump
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimealias.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void _xdg_mime_alias_list_dump (XdgAliasList *list) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:284,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:285,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:289,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:290,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:288,1
    - Dst: cache_magic_compare_to_data
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - cache
    - data
    - len
    - prio
    argTypes:
    - XdgMimeCache*
    - void*
    - size_t
    - int*
    constantsTouched: []
    func_position:
      end: 304
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 304
    functionName: cache_magic_lookup_data
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - cache_magic_compare_to_data
    - OUT_OF_BOUNDS
    - GET_UINT32
    linkageType: ''
    returnType: char*
    signature: "static const char *cache_magic_lookup_data (XdgMimeCache *cache, \t\t\t
      const void *data, \t\t\t size_t len, \t\t\t int *prio) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:586,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:590,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:592,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:587,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:591,1
    - Dst: cache_glob_node_lookup_suffix
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - file_name
    - len
    - ignore_case
    - mime_types
    - n_mime_types
    argTypes:
    - char*
    - int
    - int
    - MimeWeight
    - int
    constantsTouched: []
    func_position:
      end: 606
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 606
    functionName: cache_glob_lookup_suffix
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - OUT_OF_BOUNDS
    - cache_glob_node_lookup_suffix
    - GET_UINT32
    linkageType: ''
    returnType: int
    signature: "static int cache_glob_lookup_suffix (const char *file_name,\t\t\t
      int len,\t\t\t int ignore_case,\t\t\t MimeWeight mime_types[],\t\t\t int n_mime_types) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:733,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:734,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:737,1
    - Dst: MAX
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 741
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 741
    functionName: _xdg_mime_cache_get_max_buffer_extents
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - MAX
    - OUT_OF_BOUNDS
    - GET_UINT32
    linkageType: ''
    returnType: int
    signature: 'int _xdg_mime_cache_get_max_buffer_extents (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cache_alias_lookup
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1047,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1053
    functionName: _xdg_mime_cache_unalias_mime_type
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - cache_alias_lookup
    linkageType: ''
    returnType: char*
    signature: 'const char *_xdg_mime_cache_unalias_mime_type (const char *mime) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1138,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1146,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1142,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1141,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1145,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1155,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1157,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1165,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - mime
    - header
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1172
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1172
    functionName: cache_lookup_icon
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - OUT_OF_BOUNDS
    - strcmp
    - GET_UINT32
    linkageType: ''
    returnType: char*
    signature: 'static const char *cache_lookup_icon (const char *mime, size_t header) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:322,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:327,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:323,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:326,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:336,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:338,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:346,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - alias
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 353
    functionName: cache_alias_lookup
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - OUT_OF_BOUNDS
    - strcmp
    - GET_UINT32
    linkageType: ''
    returnType: char*
    signature: 'static const char *cache_alias_lookup (const char *alias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: compare_mime_weight
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int compare_mime_weight (const void *a, const void *b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cache_magic_lookup_data
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:765,1
    - Dst: _xdg_mime_cache_mime_type_subclass
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:781,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 5
    argNames:
    - data
    - len
    - result_prio
    - mime_types
    - n_mime_types
    argTypes:
    - void*
    - size_t
    - int*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 799
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 799
    functionName: cache_get_mime_type_for_data
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - _xdg_mime_cache_mime_type_subclass
    - cache_magic_lookup_data
    linkageType: ''
    returnType: char*
    signature: "static const char *cache_get_mime_type_for_data (const void *data,\t\t\t
      size_t len,\t\t\t int *result_prio,\t\t\t const char *mime_types[],\t\t\t int
      n_mime_types) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1063,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1080,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1075,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1079,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1076,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1085,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1086,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1088,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1091,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1095,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1102,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1116,1
    - Dst: memcpy
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1117,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1120
    functionName: _xdg_mime_cache_list_mime_parents
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - memcpy
    - GET_UINT32
    - malloc
    - xdg_mime_unalias_mime_type
    - strcmp
    - OUT_OF_BOUNDS
    linkageType: ''
    returnType: char**
    signature: 'char **_xdg_mime_cache_list_mime_parents (const char *mime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_lookup_icon
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1178
    functionName: _xdg_mime_cache_get_generic_icon
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - cache_lookup_icon
    linkageType: ''
    returnType: char*
    signature: 'const char *_xdg_mime_cache_get_generic_icon (const char *mime) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:447,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:457,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:452,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:448,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:451,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:458,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:459,1
    - Dst: fnmatch
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:467,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 4
    argNames:
    - file_name
    - mime_types
    - n_mime_types
    - case_sensitive_check
    argTypes:
    - char*
    - MimeWeight
    - int
    - int
    constantsTouched: []
    func_position:
      end: 481
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 481
    functionName: cache_glob_lookup_fnmatch
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - OUT_OF_BOUNDS
    - fnmatch
    - GET_UINT32
    linkageType: ''
    returnType: int
    signature: "static int cache_glob_lookup_fnmatch (const char *file_name,\t\t\t
      MimeWeight mime_types[],\t\t\t int n_mime_types,\t\t\t int case_sensitive_check) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cache_glob_lookup_file_name
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:889,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 893
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 893
    functionName: _xdg_mime_cache_get_mime_type_from_file_name
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - cache_glob_lookup_file_name
    linkageType: ''
    returnType: char*
    signature: 'const char *_xdg_mime_cache_get_mime_type_from_file_name (const char
      *file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_lookup_icon
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: _xdg_mime_cache_get_icon
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - cache_lookup_icon
    linkageType: ''
    returnType: char*
    signature: 'const char *_xdg_mime_cache_get_icon (const char *mime) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:506,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:522,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:524,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:523,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:513,1
    - Dst: cache_glob_node_lookup_suffix
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:529,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:541,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:545,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:546,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 8
    argNames:
    - cache
    - n_entries
    - offset
    - file_name
    - len
    - case_sensitive_check
    - mime_types
    - n_mime_types
    argTypes:
    - XdgMimeCache*
    - xdg_uint32_t
    - xdg_uint32_t
    - char*
    - int
    - int
    - MimeWeight
    - int
    constantsTouched: []
    func_position:
      end: 563
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 563
    functionName: cache_glob_node_lookup_suffix
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - OUT_OF_BOUNDS
    - GET_UINT32
    - cache_glob_node_lookup_suffix
    - assert
    linkageType: ''
    returnType: int
    signature: "static int cache_glob_node_lookup_suffix (XdgMimeCache *cache,\t\t\t
      xdg_uint32_t n_entries,\t\t\t xdg_uint32_t offset,\t\t\t const char *file_name,\t\t\t
      int len,\t\t\t int case_sensitive_check,\t\t\t MimeWeight mime_types[],\t\t\t
      int n_mime_types) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:622,1
    - Dst: ISUPPER
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 630
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 630
    functionName: ascii_tolower
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - strdup
    - ISUPPER
    linkageType: ''
    returnType: char*
    signature: 'static char *ascii_tolower (const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_glob_lookup_file_name
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - file_name
    - mime_types
    - n_mime_types
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 901
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 901
    functionName: _xdg_mime_cache_get_mime_types_from_file_name
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - cache_glob_lookup_file_name
    linkageType: ''
    returnType: int
    signature: "int _xdg_mime_cache_get_mime_types_from_file_name (const char *file_name,\t\t\t\t\t
      const char *mime_types[],\t\t\t\t\t int n_mime_types) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1198,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1201,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1202,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1200,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1199,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1206,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1207,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1209,1
    - Dst: printf
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1210,1
    - Dst: dump_glob_node
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - cache
    - offset
    - depth
    argTypes:
    - XdgMimeCache*
    - xdg_uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 1216
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1216
    functionName: dump_glob_node
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - printf
    - dump_glob_node
    - OUT_OF_BOUNDS
    - GET_UINT32
    linkageType: ''
    returnType: void
    signature: "static void dump_glob_node (XdgMimeCache *cache,\t\txdg_uint32_t offset,\t\tint
      depth) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:119,1
    - Dst: mmap
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:129,1
    - Dst: GET_UINT16
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:134,1
    - Dst: fstat
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:126,1
    - Dst: GET_UINT16
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:136,1
    - Dst: munmap
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:140,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:145,1
    - Dst: close
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:153,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:156,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 164
    functionName: _xdg_mime_cache_new_from_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - mmap
    - fstat
    - GET_UINT16
    - malloc
    - close
    - munmap
    - open
    linkageType: ''
    returnType: XdgMimeCache*
    signature: 'XdgMimeCache *_xdg_mime_cache_new_from_file (const char *file_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:217,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:219,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:218,1
    - Dst: cache_magic_matchlet_compare_to_data
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:224,1
    - Dst: cache_magic_matchlet_compare
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - cache
    - offset
    - data
    - len
    argTypes:
    - XdgMimeCache*
    - xdg_uint32_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 238
    functionName: cache_magic_matchlet_compare
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - cache_magic_matchlet_compare
    - OUT_OF_BOUNDS
    - cache_magic_matchlet_compare_to_data
    - GET_UINT32
    linkageType: ''
    returnType: int
    signature: "static int cache_magic_matchlet_compare (XdgMimeCache *cache, \t\t\t
      xdg_uint32_t offset,\t\t\t const void *data,\t\t\t size_t len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_get_mime_type_for_data
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - data
    - len
    - result_prio
    argTypes:
    - void*
    - size_t
    - int*
    constantsTouched: []
    func_position:
      end: 807
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 807
    functionName: _xdg_mime_cache_get_mime_type_for_data
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - cache_get_mime_type_for_data
    linkageType: ''
    returnType: char*
    signature: "const char *_xdg_mime_cache_get_mime_type_for_data (const void *data,\t\t\t\t\tsize_t
      len,\t\t\t\t\tint *result_prio) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:172,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:173,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:175,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:174,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:176,1
    - Dst: memcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - cache
    - offset
    - data
    - len
    argTypes:
    - XdgMimeCache*
    - xdg_uint32_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 209
    functionName: cache_magic_matchlet_compare_to_data
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - memcmp
    - GET_UINT32
    linkageType: ''
    returnType: int
    signature: "static int cache_magic_matchlet_compare_to_data (XdgMimeCache *cache,
      \t\t\t\t xdg_uint32_t offset,\t\t\t\t const void *data,\t\t\t\t size_t len) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:247,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:251,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:249,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:248,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:250,1
    - Dst: cache_magic_matchlet_compare
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - cache
    - offset
    - data
    - len
    - prio
    argTypes:
    - XdgMimeCache*
    - xdg_uint32_t
    - void*
    - size_t
    - int*
    constantsTouched: []
    func_position:
      end: 268
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 268
    functionName: cache_magic_compare_to_data
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - cache_magic_matchlet_compare
    - OUT_OF_BOUNDS
    - GET_UINT32
    linkageType: ''
    returnType: char*
    signature: "static const char *cache_magic_compare_to_data (XdgMimeCache *cache,
      \t\t\t xdg_uint32_t offset,\t\t\t const void *data, \t\t\t size_t len, \t\t\t
      int *prio) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:369,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:385,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:386,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:382,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:381,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:395,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:397,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:405,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:411,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 4
    argNames:
    - file_name
    - mime_types
    - n_mime_types
    - case_sensitive_check
    argTypes:
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 422
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 422
    functionName: cache_glob_lookup_literal
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - OUT_OF_BOUNDS
    - GET_UINT32
    - strcmp
    - assert
    linkageType: ''
    returnType: int
    signature: "static int cache_glob_lookup_literal (const char *file_name,\t\t\t
      const char *mime_types[],\t\t\t int n_mime_types,\t\t\t int case_sensitive_check) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _xdg_utf8_validate
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:826,1
    - Dst: S_ISREG
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:846,1
    - Dst: _xdg_get_base_name
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:829,1
    - Dst: stat
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:837,1
    - Dst: cache_glob_lookup_file_name
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:830,1
    - Dst: _xdg_mime_cache_get_max_buffer_extents
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:852,1
    - Dst: malloc
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:853,1
    - Dst: fopen
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:857,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:860,1
    - Dst: fread
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:864,1
    - Dst: cache_get_mime_type_for_data
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:872,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:878,1
    - Dst: fclose
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:868,1
    - Dst: _xdg_binary_or_text_fallback
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:876,1
    - Dst: fclose
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:879,1
    - Dst: ferror
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:865,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:867,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 2
    argNames:
    - file_name
    - statbuf
    argTypes:
    - char*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 882
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 882
    functionName: _xdg_mime_cache_get_mime_type_for_file
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - stat
    - _xdg_utf8_validate
    - S_ISREG
    - _xdg_mime_cache_get_max_buffer_extents
    - ferror
    - cache_get_mime_type_for_data
    - cache_glob_lookup_file_name
    - free
    - _xdg_get_base_name
    - malloc
    - fclose
    - fopen
    - fread
    - _xdg_binary_or_text_fallback
    linkageType: ''
    returnType: char*
    signature: "const char *_xdg_mime_cache_get_mime_type_for_file (const char *file_name,\t\t\t\t\tstruct
      stat *statbuf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - cache
    argTypes:
    - XdgMimeCache*
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: _xdg_mime_cache_ref
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: XdgMimeCache*
    signature: 'XdgMimeCache *_xdg_mime_cache_ref (XdgMimeCache *cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:645,1
    - Dst: MAX
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - mimes
    - n_mimes
    argTypes:
    - MimeWeight
    - int
    constantsTouched: []
    func_position:
      end: 658
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 658
    functionName: filter_out_dupes
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - MAX
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int filter_out_dupes (MimeWeight mimes[], int n_mimes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:911,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:916,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:912,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 920
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 920
    functionName: ends_with
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int ends_with (const char *str, const char *suffix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:100,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - XdgMimeCache*
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: _xdg_mime_cache_unref
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - munmap
    - free
    linkageType: ''
    returnType: void
    signature: 'void _xdg_mime_cache_unref (XdgMimeCache *cache) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:672,1
    - Dst: ascii_tolower
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:676,1
    - Dst: cache_glob_lookup_literal
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:685,1
    - Dst: cache_glob_lookup_literal
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:678,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:681,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:688,1
    - Dst: strlen
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:692,1
    - Dst: cache_glob_lookup_suffix
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:693,1
    - Dst: cache_glob_lookup_suffix
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:695,1
    - Dst: cache_glob_lookup_fnmatch
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:699,1
    - Dst: qsort
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:707,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:705,1
    - Dst: cache_glob_lookup_fnmatch
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:701,1
    - Dst: filter_out_dupes
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:703,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - file_name
    - mime_types
    - n_mime_types
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 716
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 716
    functionName: cache_glob_lookup_file_name
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - ascii_tolower
    - strlen
    - cache_glob_lookup_literal
    - cache_glob_lookup_suffix
    - free
    - assert
    - cache_glob_lookup_fnmatch
    - filter_out_dupes
    - qsort
    linkageType: ''
    returnType: int
    signature: "static int cache_glob_lookup_file_name (const char *file_name,\t\t\t
      const char *mime_types[],\t\t\t int n_mime_types) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 926
    functionName: is_super_type
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - ends_with
    linkageType: ''
    returnType: int
    signature: 'static int is_super_type (const char *mime) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:958,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:982,1
    - Dst: _xdg_mime_cache_mime_type_subclass
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1022,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:943,1
    - Dst: xdg_mime_media_type_equal
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:952,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:981,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1003,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:985,1
    - Dst: free
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1038,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:957,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1008,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:986,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:996,1
    - Dst: _xdg_mime_cache_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:940,1
    - Dst: is_super_type
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:951,1
    - Dst: _xdg_mime_cache_unalias_mime_type
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:941,1
    - Dst: strcmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:961,1
    - Dst: strncmp
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:962,1
    - Dst: calloc
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:967,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1004,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:995,1
    - Dst: realloc
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1015,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 92
    argCount: 3
    argNames:
    - mime
    - base
    - seen
    argTypes:
    - char*
    - char*
    - char***
    constantsTouched: []
    func_position:
      end: 1040
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 1040
    functionName: _xdg_mime_cache_mime_type_subclass
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - _xdg_mime_cache_mime_type_subclass
    - GET_UINT32
    - realloc
    - free
    - xdg_mime_media_type_equal
    - _xdg_mime_cache_unalias_mime_type
    - calloc
    - is_super_type
    - strcmp
    - OUT_OF_BOUNDS
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int _xdg_mime_cache_mime_type_subclass (const char *mime,\t\t\t\t
      const char *base,\t\t\t\t const char ***seen) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1232,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1237,1
    - Dst: GET_UINT32
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1236,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1233,1
    - Dst: OUT_OF_BOUNDS
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1238,1
    - Dst: dump_glob_node
      Src: /src/glib/gio/xdgmime/xdgmimecache.c:1242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1244
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1244
    functionName: _xdg_mime_cache_glob_dump
    functionSourceFile: /src/glib/gio/xdgmime/xdgmimecache.c
    functionUses: []
    functionsReached:
    - dump_glob_node
    - OUT_OF_BOUNDS
    - GET_UINT32
    linkageType: ''
    returnType: void
    signature: 'void _xdg_mime_cache_glob_dump (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:157,1
    - Dst: g_object_unref
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:161,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:164,1
    - Dst: g_file_find_enclosing_mount
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:160,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:164,1
    - Dst: g_warning
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:166,1
    - Dst: g_object_unref
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - full_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: _ke_is_excluded
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_object_unref
    - g_file_find_enclosing_mount
    - g_warning
    - g_str_has_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _ke_is_excluded (const char *full_path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_KQUEUE_FILE_MONITOR
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:179,1
    - Dst: _kqsub_cancel
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:183,1
    - Dst: _kqsub_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:191,1
    - Dst: _kqsub_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:184,1
    - Dst: _kqsub_cancel
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:190,1
    - Dst: g_object_unref
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:197,1
    - Dst: g_object_unref
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:200,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:203,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 205
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 205
    functionName: g_kqueue_file_monitor_finalize
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - _kqsub_cancel
    - G_KQUEUE_FILE_MONITOR
    - _kqsub_free
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_kqueue_file_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:304,1
    - Dst: G_FILE_MONITOR_CLASS
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:305,1
    - Dst: G_LOCAL_FILE_MONITOR_CLASS
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GKqueueFileMonitorClass*
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: g_kqueue_file_monitor_class_init
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_MONITOR_CLASS
    - G_FILE_MONITOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_kqueue_file_monitor_class_init (GKqueueFileMonitorClass
      *klass) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_source_get_time
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:324,1
    - Dst: kevent
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:337,1
    - Dst: _km_scan_missing
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:363,1
    - Dst: fstat
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:383,1
    - Dst: _km_add_missing
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:398,1
    - Dst: _km_scan_missing
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:447,1
    - Dst: _km_add_missing
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:407,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:421,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:403,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:411,1
    - Dst: G_LOCK
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:335,1
    - Dst: _kh_dir_diff
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:368,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:386,1
    - Dst: _kqsub_cancel
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:397,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:430,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:437,1
    - Dst: _kqsub_cancel
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:406,1
    - Dst: memset
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:330,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:450,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 3
    argNames:
    - fd
    - condition
    - user_data
    argTypes:
    - gint
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 453
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 453
    functionName: g_kqueue_file_monitor_callback
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - _km_add_missing
    - g_file_monitor_source_handle_event
    - fstat
    - G_LOCK
    - _km_scan_missing
    - G_UNLOCK
    - memset
    - _kh_dir_diff
    - kevent
    - _kqsub_cancel
    - g_source_get_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_kqueue_file_monitor_callback (gint fd, GIOCondition
      condition, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_KQUEUE_FILE_MONITOR
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:487,1
    - Dst: _kqsub_cancel
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:502,1
    - Dst: _kqsub_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:497,1
    - Dst: G_LOCK
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:492,1
    - Dst: _kqsub_cancel
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:496,1
    - Dst: _kqsub_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:503,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:507,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:512,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:513,1
    - Dst: G_FILE_MONITOR_CLASS
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:517,1
    - Dst: G_FILE_MONITOR_CLASS
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 521
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 521
    functionName: g_kqueue_file_monitor_cancel
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - G_FILE_MONITOR_CLASS
    - G_KQUEUE_FILE_MONITOR
    - g_file_monitor_cancel
    - G_LOCK
    - g_signal_handlers_disconnect_by_func
    - _kqsub_free
    - G_UNLOCK
    - _kqsub_cancel
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_kqueue_file_monitor_cancel (GFileMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:544,1
    - Dst: g_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:549,1
    - Dst: g_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:548,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:545,1
    - Dst: g_source_unref
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:547,1
    - Dst: g_slice_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sub
    argTypes:
    - kqueue_sub*
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 551
    functionName: _kqsub_free
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_free
    - g_free
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void _kqsub_free (kqueue_sub *sub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: note_all
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static inline unsigned int note_all (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_path_get_basename
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:232,1
    - Dst: g_strdup
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:231,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:230,1
    - Dst: _ke_is_excluded
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:250,1
    - Dst: g_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:258,1
    - Dst: _kqsub_new
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:275,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:287,1
    - Dst: _km_add_missing
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:291,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:298,1
    - Dst: G_KQUEUE_FILE_MONITOR
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:214,1
    - Dst: g_strdup
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:236,1
    - Dst: g_strdup
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:240,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:256,1
    - Dst: g_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:257,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:262,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:275,1
    - Dst: _km_add_missing
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:278,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:297,1
    - Dst: g_build_filename
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:239,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:254,1
    - Dst: _g_poll_file_monitor_new
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:261,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:263,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:288,1
    - Dst: _kqsub_start_watching
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:290,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:296,1
    - Dst: g_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:259,1
    - Dst: _kqsub_start_watching
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:277,1
    - Dst: _kqsub_new
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:287,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 5
    argNames:
    - local_monitor
    - dirname
    - basename
    - filename
    - source
    argTypes:
    - GLocalFileMonitor*
    - gchar*
    - gchar*
    - gchar*
    - GFileMonitorSource*
    constantsTouched: []
    func_position:
      end: 299
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 299
    functionName: g_kqueue_file_monitor_start
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - _km_add_missing
    - g_strdup
    - g_signal_connect
    - G_KQUEUE_FILE_MONITOR
    - g_file_new_for_path
    - g_path_get_basename
    - g_free
    - g_clear_pointer
    - _g_poll_file_monitor_new
    - g_path_get_dirname
    - g_build_filename
    - G_CALLBACK
    - _kqsub_new
    - g_steal_pointer
    - _kqsub_start_watching
    - _ke_is_excluded
    linkageType: ''
    returnType: void
    signature: 'static void g_kqueue_file_monitor_start (GLocalFileMonitor *local_monitor,
      const gchar *dirname, const gchar *basename, const gchar *filename, GFileMonitorSource
      *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GKqueueFileMonitor*
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: g_kqueue_file_monitor_init
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_kqueue_file_monitor_init (GKqueueFileMonitor *monitor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:460,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:470,1
    - Dst: kqueue
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:464,1
    - Dst: g_strerror
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:469,1
    - Dst: g_warning
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:469,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:474,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:475,1
    - Dst: g_source_attach
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:476,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:476,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 482
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 482
    functionName: g_kqueue_file_monitor_is_supported
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - kqueue
    - G_LOCK
    - g_strerror
    - GLIB_PRIVATE_CALL
    - G_UNLOCK
    - g_warning
    - g_unix_fd_source_new
    - g_source_attach
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_kqueue_file_monitor_is_supported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:528,1
    - Dst: g_source_ref
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - filename
    - basename
    - mon
    - source
    argTypes:
    - gchar*
    - gchar*
    - GKqueueFileMonitor*
    - GFileMonitorSource*
    constantsTouched: []
    func_position:
      end: 539
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 539
    functionName: _kqsub_new
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - g_source_ref
    - g_slice_new
    linkageType: ''
    returnType: kqueue_sub*
    signature: 'static kqueue_sub *_kqsub_new (gchar *filename, gchar *basename, GKqueueFileMonitor
      *mon, GFileMonitorSource *source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EV_SET
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:565,1
    - Dst: g_strerror
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:568,1
    - Dst: g_warning
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:568,1
    - Dst: kevent
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:566,1
    - Dst: note_all
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:565,1
    - Dst: close
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:570,1
    - Dst: _km_remove
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:574,1
    - Dst: dl_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - sub
    argTypes:
    - kqueue_sub*
    constantsTouched: []
    func_position:
      end: 581
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 581
    functionName: _kqsub_cancel
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - note_all
    - g_strerror
    - _km_remove
    - EV_SET
    - dl_free
    - g_warning
    - close
    - kevent
    linkageType: ''
    returnType: void
    signature: 'static void _kqsub_cancel (kqueue_sub *sub) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:589,1
    - Dst: g_strerror
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:595,1
    - Dst: g_warning
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:595,1
    - Dst: close
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:596,1
    - Dst: fstat
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:593,1
    - Dst: dl_free
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:605,1
    - Dst: dl_listing
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:607,1
    - Dst: EV_SET
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:610,1
    - Dst: note_all
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:610,1
    - Dst: kevent
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:611,1
    - Dst: g_strerror
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:613,1
    - Dst: close
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:614,1
    - Dst: g_warning
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - sub
    argTypes:
    - kqueue_sub*
    constantsTouched: []
    func_position:
      end: 620
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 620
    functionName: _kqsub_start_watching
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - note_all
    - fstat
    - g_strerror
    - EV_SET
    - dl_free
    - dl_listing
    - close
    - g_warning
    - kevent
    - open
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _kqsub_start_watching (kqueue_sub *sub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_KQUEUE_FILE_MONITOR
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:139,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:141,1
    - Dst: g_file_monitor_emit_event
      Src: /src/glib/gio/kqueue/gkqueuefilemonitor.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - unused
    - first
    - second
    - event
    - udata
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: _fallback_callback
    functionSourceFile: /src/glib/gio/kqueue/gkqueuefilemonitor.c
    functionUses: []
    functionsReached:
    - G_FILE_MONITOR
    - G_KQUEUE_FILE_MONITOR
    - g_file_monitor_emit_event
    linkageType: ''
    returnType: void
    signature: 'static void _fallback_callback (GFileMonitor *unused, GFile *first,
      GFile *second, GFileMonitorEvent event, gpointer udata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/gio/kqueue/dep-list.c:62,1
    - Dst: perror_msg
      Src: /src/glib/gio/kqueue/dep-list.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - path
    - inode
    argTypes:
    - char*
    - ino_t
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: dl_create
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - perror_msg
    - calloc
    linkageType: ''
    returnType: dep_list*
    signature: 'dep_list * dl_create (char *path, ino_t inode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/kqueue/dep-list.c:154,1
    - Dst: free
      Src: /src/glib/gio/kqueue/dep-list.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - dl
    argTypes:
    - dep_list*
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: dl_free
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void dl_free (dep_list *dl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/kqueue/dep-list.c:172,1
    - Dst: readdir
      Src: /src/glib/gio/kqueue/dep-list.c:178,1
    - Dst: strcmp
      Src: /src/glib/gio/kqueue/dep-list.c:181,1
    - Dst: strcmp
      Src: /src/glib/gio/kqueue/dep-list.c:181,1
    - Dst: opendir
      Src: /src/glib/gio/kqueue/dep-list.c:174,1
    - Dst: calloc
      Src: /src/glib/gio/kqueue/dep-list.c:186,1
    - Dst: perror_msg
      Src: /src/glib/gio/kqueue/dep-list.c:188,1
    - Dst: calloc
      Src: /src/glib/gio/kqueue/dep-list.c:193,1
    - Dst: perror_msg
      Src: /src/glib/gio/kqueue/dep-list.c:195,1
    - Dst: strdup
      Src: /src/glib/gio/kqueue/dep-list.c:199,1
    - Dst: closedir
      Src: /src/glib/gio/kqueue/dep-list.c:219,1
    - Dst: perror_msg
      Src: /src/glib/gio/kqueue/dep-list.c:201,1
    - Dst: dl_free
      Src: /src/glib/gio/kqueue/dep-list.c:221,1
    - Dst: closedir
      Src: /src/glib/gio/kqueue/dep-list.c:213,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 223
    functionName: dl_listing
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - strdup
    - closedir
    - dl_free
    - assert
    - calloc
    - opendir
    - readdir
    - perror_msg
    - strcmp
    linkageType: ''
    returnType: dep_list*
    signature: 'dep_list *dl_listing (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/kqueue/dep-list.c:415,1
    - Dst: EXCLUDE_SIMILAR
      Src: /src/glib/gio/kqueue/dep-list.c:417,1
    - Dst: cb_invoke
      Src: /src/glib/gio/kqueue/dep-list.c:421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - removed
    - current
    - cbs
    - udata
    argTypes:
    - dep_list**
    - dep_list**
    - traverse_cbs*
    - void*
    constantsTouched: []
    func_position:
      end: 425
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 425
    functionName: dl_detect_replacements
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - cb_invoke
    - EXCLUDE_SIMILAR
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int dl_detect_replacements (dep_list **removed, dep_list **current,
      const traverse_cbs *cbs, void *udata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/kqueue/dep-list.c:460,1
    - Dst: strcmp
      Src: /src/glib/gio/kqueue/dep-list.c:464,1
    - Dst: cb_invoke
      Src: /src/glib/gio/kqueue/dep-list.c:467,1
    - Dst: EXCLUDE_SIMILAR
      Src: /src/glib/gio/kqueue/dep-list.c:462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - previous
    - current
    - cbs
    - udata
    argTypes:
    - dep_list**
    - dep_list**
    - traverse_cbs*
    - void*
    constantsTouched: []
    func_position:
      end: 469
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 469
    functionName: dl_detect_overwrites
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - cb_invoke
    - EXCLUDE_SIMILAR
    - strcmp
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int dl_detect_overwrites (dep_list **previous, dep_list **current,
      const traverse_cbs *cbs, void *udata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_shallow_copy
      Src: /src/glib/gio/kqueue/dep-list.c:508,1
    - Dst: assert
      Src: /src/glib/gio/kqueue/dep-list.c:513,1
    - Dst: dl_shallow_copy
      Src: /src/glib/gio/kqueue/dep-list.c:509,1
    - Dst: dl_shallow_copy
      Src: /src/glib/gio/kqueue/dep-list.c:510,1
    - Dst: dl_shallow_copy
      Src: /src/glib/gio/kqueue/dep-list.c:511,1
    - Dst: dl_diff
      Src: /src/glib/gio/kqueue/dep-list.c:515,1
    - Dst: dl_detect_moves
      Src: /src/glib/gio/kqueue/dep-list.c:517,1
    - Dst: dl_detect_replacements
      Src: /src/glib/gio/kqueue/dep-list.c:518,1
    - Dst: dl_detect_overwrites
      Src: /src/glib/gio/kqueue/dep-list.c:519,1
    - Dst: cb_invoke
      Src: /src/glib/gio/kqueue/dep-list.c:522,1
    - Dst: cb_invoke
      Src: /src/glib/gio/kqueue/dep-list.c:528,1
    - Dst: cb_invoke
      Src: /src/glib/gio/kqueue/dep-list.c:529,1
    - Dst: dl_emit_single_cb_on
      Src: /src/glib/gio/kqueue/dep-list.c:525,1
    - Dst: dl_shallow_free
      Src: /src/glib/gio/kqueue/dep-list.c:532,1
    - Dst: dl_shallow_free
      Src: /src/glib/gio/kqueue/dep-list.c:533,1
    - Dst: dl_shallow_free
      Src: /src/glib/gio/kqueue/dep-list.c:534,1
    - Dst: dl_emit_single_cb_on
      Src: /src/glib/gio/kqueue/dep-list.c:526,1
    - Dst: dl_shallow_free
      Src: /src/glib/gio/kqueue/dep-list.c:531,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - before
    - after
    - cbs
    - udata
    argTypes:
    - dep_list*
    - dep_list*
    - traverse_cbs*
    - void*
    constantsTouched: []
    func_position:
      end: 535
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 535
    functionName: dl_calculate
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - dl_shallow_copy
    - cb_invoke
    - dl_shallow_free
    - assert
    - dl_detect_replacements
    - dl_detect_moves
    - dl_diff
    - dl_detect_overwrites
    - dl_emit_single_cb_on
    linkageType: ''
    returnType: void
    signature: 'void dl_calculate (dep_list *before, dep_list *after, const traverse_cbs
      *cbs, void *udata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/gio/kqueue/dep-list.c:45,1
    - Dst: printf
      Src: /src/glib/gio/kqueue/dep-list.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - dl
    argTypes:
    - dep_list*
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: dl_print
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void dl_print (const dep_list *dl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/gio/kqueue/dep-list.c:94,1
    - Dst: dl_shallow_free
      Src: /src/glib/gio/kqueue/dep-list.c:110,1
    - Dst: perror_msg
      Src: /src/glib/gio/kqueue/dep-list.c:109,1
    - Dst: calloc
      Src: /src/glib/gio/kqueue/dep-list.c:107,1
    - Dst: perror_msg
      Src: /src/glib/gio/kqueue/dep-list.c:96,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - dl
    argTypes:
    - dep_list*
    constantsTouched: []
    func_position:
      end: 119
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 119
    functionName: dl_shallow_copy
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - perror_msg
    - calloc
    - dl_shallow_free
    linkageType: ''
    returnType: dep_list*
    signature: 'dep_list *dl_shallow_copy (const dep_list *dl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/gio/kqueue/dep-list.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dl
    argTypes:
    - dep_list*
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: dl_shallow_free
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void dl_shallow_free (dep_list *dl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/kqueue/dep-list.c:242,1
    - Dst: assert
      Src: /src/glib/gio/kqueue/dep-list.c:243,1
    - Dst: free
      Src: /src/glib/gio/kqueue/dep-list.c:273,1
    - Dst: free
      Src: /src/glib/gio/kqueue/dep-list.c:285,1
    - Dst: strcmp
      Src: /src/glib/gio/kqueue/dep-list.c:259,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 2
    argNames:
    - before
    - after
    argTypes:
    - dep_list**
    - dep_list**
    constantsTouched: []
    func_position:
      end: 288
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 288
    functionName: dl_diff
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - free
    - strcmp
    - assert
    linkageType: ''
    returnType: void
    signature: 'void dl_diff (dep_list **before, dep_list **after) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/gio/kqueue/dep-list.c:374,1
    - Dst: EXCLUDE_SIMILAR
      Src: /src/glib/gio/kqueue/dep-list.c:376,1
    - Dst: cb_invoke
      Src: /src/glib/gio/kqueue/dep-list.c:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - removed
    - added
    - cbs
    - udata
    argTypes:
    - dep_list**
    - dep_list**
    - traverse_cbs*
    - void*
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: dl_detect_moves
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached:
    - cb_invoke
    - EXCLUDE_SIMILAR
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int dl_detect_moves (dep_list **removed, dep_list **added,
      const traverse_cbs *cbs, void *udata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - list
    - cb
    - udata
    argTypes:
    - dep_list*
    - single_entry_cb
    - void*
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: dl_emit_single_cb_on
    functionSourceFile: /src/glib/gio/kqueue/dep-list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dl_emit_single_cb_on (dep_list *list, single_entry_cb
      cb, void *udata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:130,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/kqueue/kqueue-helper.c:135,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:131,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/kqueue-helper.c:134,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - udata
    - from_path
    - from_inode
    - to_path
    - to_inode
    argTypes:
    - void*
    - char*
    - ino_t
    - char*
    - ino_t
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: handle_moved
    functionSourceFile: /src/glib/gio/kqueue/kqueue-helper.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_file_monitor_source_handle_event
    - g_get_monotonic_time
    linkageType: ''
    returnType: void
    signature: 'static void handle_moved (void *udata, const char *from_path, ino_t
      from_inode, const char *to_path, ino_t to_inode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:155,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:156,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/kqueue-helper.c:159,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:157,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/kqueue/kqueue-helper.c:160,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/kqueue-helper.c:162,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/kqueue/kqueue-helper.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - udata
    - path
    - inode
    argTypes:
    - void*
    - char*
    - ino_t
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: handle_overwritten
    functionSourceFile: /src/glib/gio/kqueue/kqueue-helper.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_file_monitor_source_handle_event
    - g_get_monotonic_time
    linkageType: ''
    returnType: void
    signature: 'static void handle_overwritten (void *udata, const char *path, ino_t
      inode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/kqueue/kqueue-helper.c:184,1
    - Dst: dl_listing
      Src: /src/glib/gio/kqueue/kqueue-helper.c:190,1
    - Dst: dl_calculate
      Src: /src/glib/gio/kqueue/kqueue-helper.c:192,1
    - Dst: dl_free
      Src: /src/glib/gio/kqueue/kqueue-helper.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sub
    - handle_deleted
    argTypes:
    - kqueue_sub*
    - gboolean
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: _kh_dir_diff
    functionSourceFile: /src/glib/gio/kqueue/kqueue-helper.c
    functionUses: []
    functionsReached:
    - memset
    - dl_free
    - dl_calculate
    - dl_listing
    linkageType: ''
    returnType: void
    signature: 'void _kh_dir_diff (kqueue_sub *sub, gboolean handle_deleted) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:63,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/kqueue-helper.c:68,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:65,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/kqueue/kqueue-helper.c:67,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:64,1
    - Dst: g_build_filename
      Src: /src/glib/gio/kqueue/kqueue-helper.c:72,1
    - Dst: stat
      Src: /src/glib/gio/kqueue/kqueue-helper.c:73,1
    - Dst: S_ISREG
      Src: /src/glib/gio/kqueue/kqueue-helper.c:73,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/kqueue-helper.c:74,1
    - Dst: g_free
      Src: /src/glib/gio/kqueue/kqueue-helper.c:76,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - udata
    - path
    - inode
    argTypes:
    - void*
    - char*
    - ino_t
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: handle_created
    functionSourceFile: /src/glib/gio/kqueue/kqueue-helper.c
    functionUses: []
    functionsReached:
    - stat
    - g_file_monitor_source_handle_event
    - S_ISREG
    - g_free
    - g_assert
    - g_build_filename
    - g_get_monotonic_time
    linkageType: ''
    returnType: void
    signature: 'static void handle_created (void *udata, const char *path, ino_t inode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:95,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:97,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-helper.c:96,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/kqueue-helper.c:102,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/kqueue/kqueue-helper.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - udata
    - path
    - inode
    argTypes:
    - void*
    - char*
    - ino_t
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: handle_deleted
    functionSourceFile: /src/glib/gio/kqueue/kqueue-helper.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_file_monitor_source_handle_event
    - g_get_monotonic_time
    linkageType: ''
    returnType: void
    signature: 'static void handle_deleted (void *udata, const char *path, ino_t inode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _km_scan_missing
      Src: /src/glib/gio/kqueue/kqueue-missing.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: _km_scan_missing_cb
    functionSourceFile: /src/glib/gio/kqueue/kqueue-missing.c
    functionUses: []
    functionsReached:
    - _km_scan_missing
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _km_scan_missing_cb (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/kqueue/kqueue-missing.c:90,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-missing.c:93,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/kqueue-missing.c:98,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-missing.c:92,1
    - Dst: g_file_test
      Src: /src/glib/gio/kqueue/kqueue-missing.c:95,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/kqueue/kqueue-missing.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sub
    argTypes:
    - kqueue_sub*
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: _kh_file_appeared_cb
    functionSourceFile: /src/glib/gio/kqueue/kqueue-missing.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_file_monitor_source_handle_event
    - g_file_test
    - g_get_monotonic_time
    linkageType: ''
    returnType: void
    signature: 'static void _kh_file_appeared_cb (kqueue_sub *sub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/kqueue/kqueue-missing.c:175,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/kqueue/kqueue-missing.c:177,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/kqueue/kqueue-missing.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sub
    argTypes:
    - kqueue_sub*
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: _km_remove
    functionSourceFile: /src/glib/gio/kqueue/kqueue-missing.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_slist_remove
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void _km_remove (kqueue_sub *sub) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/kqueue/kqueue-missing.c:54,1
    - Dst: g_slist_find
      Src: /src/glib/gio/kqueue/kqueue-missing.c:55,1
    - Dst: KM_W
      Src: /src/glib/gio/kqueue/kqueue-missing.c:62,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/kqueue/kqueue-missing.c:58,1
    - Dst: KM_W
      Src: /src/glib/gio/kqueue/kqueue-missing.c:57,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/kqueue/kqueue-missing.c:63,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/kqueue/kqueue-missing.c:69,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/kqueue/kqueue-missing.c:70,1
    - Dst: g_source_attach
      Src: /src/glib/gio/kqueue/kqueue-missing.c:71,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/kqueue/kqueue-missing.c:71,1
    - Dst: g_source_unref
      Src: /src/glib/gio/kqueue/kqueue-missing.c:72,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/kqueue/kqueue-missing.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - sub
    argTypes:
    - kqueue_sub*
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: _km_add_missing
    functionSourceFile: /src/glib/gio/kqueue/kqueue-missing.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_slist_find
    - G_LOCK
    - GLIB_PRIVATE_CALL
    - G_UNLOCK
    - g_slist_prepend
    - KM_W
    - g_source_unref
    - g_source_attach
    - g_timeout_source_new_seconds
    linkageType: ''
    returnType: void
    signature: 'void _km_add_missing (kqueue_sub *sub) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/kqueue/kqueue-missing.c:123,1
    - Dst: _kqsub_start_watching
      Src: /src/glib/gio/kqueue/kqueue-missing.c:137,1
    - Dst: KM_W
      Src: /src/glib/gio/kqueue/kqueue-missing.c:126,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-missing.c:132,1
    - Dst: g_assert
      Src: /src/glib/gio/kqueue/kqueue-missing.c:131,1
    - Dst: KM_W
      Src: /src/glib/gio/kqueue/kqueue-missing.c:139,1
    - Dst: _kh_file_appeared_cb
      Src: /src/glib/gio/kqueue/kqueue-missing.c:141,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/kqueue/kqueue-missing.c:142,1
    - Dst: g_slist_remove_link
      Src: /src/glib/gio/kqueue/kqueue-missing.c:149,1
    - Dst: g_slist_free
      Src: /src/glib/gio/kqueue/kqueue-missing.c:151,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/kqueue/kqueue-missing.c:161,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - check_this_sub_only
    argTypes:
    - kqueue_sub*
    constantsTouched: []
    func_position:
      end: 163
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 163
    functionName: _km_scan_missing
    functionSourceFile: /src/glib/gio/kqueue/kqueue-missing.c
    functionUses: []
    functionsReached:
    - g_slist_remove_link
    - G_LOCK
    - g_assert
    - G_UNLOCK
    - _kh_file_appeared_cb
    - _kqsub_start_watching
    - KM_W
    - g_slist_prepend
    - g_slist_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _km_scan_missing (kqueue_sub *check_this_sub_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glnx_mkdtemp
      Src: /src/fuzz-repo.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: setup
    functionSourceFile: /src/fuzz-repo.c
    functionUses: []
    functionsReached:
    - glnx_mkdtemp
    linkageType: ''
    returnType: int
    signature: 'int setup (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ostree_repo_create_at
      Src: /src/fuzz-repo.c:64,1
    - Dst: g_key_file_remove_key
      Src: /src/fuzz-repo.c:73,1
    - Dst: ostree_repo_copy_config
      Src: /src/fuzz-repo.c:71,1
    - Dst: memcpy
      Src: /src/fuzz-repo.c:76,1
    - Dst: malloc
      Src: /src/fuzz-repo.c:75,1
    - Dst: g_key_file_set_string
      Src: /src/fuzz-repo.c:79,1
    - Dst: ostree_repo_write_config
      Src: /src/fuzz-repo.c:81,1
    - Dst: ostree_repo_reload_config
      Src: /src/fuzz-repo.c:82,1
    - Dst: ostree_repo_get_min_free_space_bytes
      Src: /src/fuzz-repo.c:83,1
    - Dst: free
      Src: /src/fuzz-repo.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - fixture
    - data
    - size
    argTypes:
    - Fixture*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: payload
    functionSourceFile: /src/fuzz-repo.c
    functionUses: []
    functionsReached:
    - memcpy
    - ostree_repo_reload_config
    - g_key_file_remove_key
    - ostree_repo_write_config
    - free
    - ostree_repo_copy_config
    - malloc
    - ostree_repo_create_at
    - g_key_file_set_string
    - ostree_repo_get_min_free_space_bytes
    linkageType: ''
    returnType: void
    signature: 'void payload (Fixture *fixture, const uint8_t *data, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glnx_tmpdir_delete
      Src: /src/fuzz-repo.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - test_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: teardown
    functionSourceFile: /src/fuzz-repo.c
    functionUses: []
    functionsReached:
    - glnx_tmpdir_delete
    linkageType: ''
    returnType: void
    signature: 'void teardown (Fixture *fixture, gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write
      Src: /src/fuzz-bsdiff.c:28,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - buffer
    - size
    argTypes:
    - struct bsdiff_stream*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: bzdiff_write
    functionSourceFile: /src/fuzz-bsdiff.c
    functionUses: []
    functionsReached:
    - g_output_stream_write
    linkageType: ''
    returnType: int
    signature: 'static int bzdiff_write (struct bsdiff_stream* stream, const void*
      buffer, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/fuzz-bsdiff.c:49,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/fuzz-bsdiff.c:52,1
    - Dst: bsdiff
      Src: /src/fuzz-bsdiff.c:67,1
    - Dst: g_new0
      Src: /src/fuzz-bsdiff.c:51,1
    - Dst: g_new
      Src: /src/fuzz-bsdiff.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz-bsdiff.c
    functionUses: []
    functionsReached:
    - bsdiff
    - g_new0
    - g_new
    - g_memory_output_stream_new_resizable
    linkageType: ''
    returnType: int
    signature: 'int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/fuzzing/fuzz_resolver.c:39,1
    - Dst: g_list_free_full
      Src: /src/glib/fuzzing/fuzz_resolver.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - data
    - data_len
    - rrtype
    argTypes:
    - guint8*
    - gsize
    - gint
    constantsTouched: []
    func_position:
      end: 48
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 48
    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_uri_escape_bytes
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:41,1
    - Dst: g_bytes_get_data
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:41,1
    - Dst: g_assert_nonnull
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:36,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_bytes_get_data
    - g_free
    - g_assert_nonnull
    - g_bytes_unref
    - g_clear_error
    - g_uri_escape_bytes
    - g_bytes_get_size
    - g_uri_unescape_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:69,1
    - Dst: g_uri_escape_string
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:63,1
    - Dst: g_free
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:64,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_uri_unescape_segment
    - g_free
    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_free
    - g_key_file_load_from_data
    - g_key_file_new
    linkageType: ''
    returnType: void
    signature: 'static void test_parse (const gchar *data, size_t size, GKeyFileFlags
      flags) '
  - 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_unref
      Src: /src/glib/fuzzing/fuzz_uri_parse.c:34,1
    - Dst: g_uri_to_string
      Src: /src/glib/fuzzing/fuzz_uri_parse.c:33,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_to_string
    - g_uri_unref
    - g_free
    - g_uri_parse
    linkageType: ''
    returnType: void
    signature: 'static void test_with_flags (const gchar *data, GUriFlags flags) '
Fuzzer filename: /src/fuzz-bsdiff.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- gfileicon.h
- gdebugcontroller.h
- gio/gdbusserver.h
- ostree-bootloader.h
- gvfs.h
- gmain-internal.h
- gio/gwin32registrykey.h
- gdbusobjectmanager.h
- gvarianttypeinfo.h
- glib/goption.h
- gobject/gbindinggroup.h
- gtlscertificate.h
- libglnx/libglnx.h
- winternl.h
- gio/gtcpconnection.h
- gio/gsocketaddress.h
- sys/cygwin.h
- gmarshal-internal.h
- gdatetime.h
- sysprof-capture.h
- gio/gnetworkingprivate.h
- dbus/dbus-shared.h
- libproc.h
- gtree.h
- gfileinfo.h
- glib-private.h
- glib/genviron.h
- gio/gsocketservice.h
- gi18n-lib.h
- gi18n.h
- gpollableoutputstream.h
- ostree-bootloader-zipl.h
- gmenumodel.h
- test-io-stream.h
- sys/time.h
- gobject/gobject-autocleanups.h
- grefcount.h
- printf.h
- sys/mman.h
- gioerror.h
- ../gwin32-private.c
- gio/gzlibdecompressor.h
- gerror.h
- gtestdbus.h
- gcompletion.h
- gio/gpollableinputstream.h
- inotify-kernel.h
- glib-init.h
- gio/gdbusutils.h
- gio/gresource.h
- bupsplit.h
- gtlsserverconnection.h
- gthreadpool.h
- gunixfdlist.h
- ostree-sign-private.h
- glib/glib-visibility.h
- glib/gqsort.h
- gio/gfileoutputstream.h
- gproxyresolverportal.h
- ostree-date-utils-private.h
- gjournal-private.h
- TargetConditionals.h
- gio/gmountoperation.h
- sys/filio.h
- ostree-kernel-args-private.h
- ot-main.h
- signal.h
- gsocketconnectable.h
- gio/gcharsetconverter.h
- gcontenttype.h
- glib/gvariant-core.h
- gfileinfo-priv.h
- gio/gdataoutputstream.h
- testenum.h
- ot-opt-utils.h
- gtimezone.h
- glib/gbitlock.h
- bsdiff.h
- gsocketaddressenumerator.h
- gpowerprofilemonitordbus.h
- gbookmarkfile.h
- gfileenumerator.h
- gio/gmemorymonitor.h
- xdgmimemagic.h
- gtypemodule.h
- ostree-async-progress.h
- gstrvbuilder.h
- ostree-repo-finder-mount.h
- gactiongroupexporter.h
- winsock2.h
- locale.h
- gio/gdbusobjectproxy.h
- xdgmime/xdgmime.h
- gunichartables.h
- gstringchunk.h
- gio/gsocketaddressenumerator.h
- ostree-repo-static-delta-private.h
- glib/gdir.h
- gsocketinputstream.h
- gdbusobjectmanagerserver.h
- gconverter.h
- ostree-sign-dummy.h
- gio/gdbusobject.h
- glib/gspawn.h
- sys/proc_info.h
- gdatasetprivate.h
- gprintfint.h
- zbase32.h
- gtask.h
- gsocks4proxy.h
- glocalfile.h
- gio/gwin32outputstream.h
- gcancellable.h
- gasyncqueueprivate.h
- glib/grcbox.h
- gstdioprivate.h
- gwinhttpfile.h
- config.h
- grcbox.h
- stdbool.h
- fpucw.h
- gio/gbufferedoutputstream.h
- ostree-gpg-verify-result-private.h
- avahi-common/error.h
- ostree-diff.h
- shlobj.h
- gobject/gtypeplugin.h
- gmodule-win32.c
- ostree-repo-pull-private.h
- gwinhttpfileinputstream.h
- ot-tool-util.h
- sys/statvfs.h
- gio/gsimpleaction.h
- glib/gvariant.h
- direct.h
- gdbusauth.h
- ostree-sepolicy-private.h
- glib/gqueue.h
- gio/gdbuserror.h
- ot-fs-utils.h
- sys/utime.h
- gactionmap.h
- gmessages.h
- gmemoryinputstream.h
- gtlsbackend.h
- fshelp.h
- gunixvolume.h
- gunicomp.h
- gobject/gobject.h
- gwin32outputstream.h
- glib_probes.h
- gio/ginetaddress.h
- gobject_trace.h
- curl/curl.h
- gio/gunixconnection.h
- gio/gliststore.h
- gio/gbytesicon.h
- gfilenamecompleter.h
- libmount.h
- gasyncqueue.h
- gio/gtlsdatabase.h
- linux/fsverity.h
- linux/kexec.h
- gsimpleaction.h
- gdrive.h
- glib_trace.h
- sys/file.h
- gio/gdbusobjectmanager.h
- gio/gsocket.h
- sys/select.h
- glib/glib-autocleanups.h
- gqsort.h
- gdummytlsbackend.h
- gio/gioerror.h
- stddef.h
- gobject/gsourceclosure.h
- gzlibcompressor.h
- stdint.h
- gmem.h
- ../giowin32-private.c
- glib/gatomic.h
- glib/gstringchunk.h
- gsettingsschema-internal.h
- gio/gnotificationbackend.h
- gunicode.h
- ostree-kernel-args.h
- gio/gdbusconnection.h
- glib/gdatetime.h
- gio/gloadableicon.h
- ghostutils.h
- gio/gresolver.h
- glib/glib-private.h
- gvdb/gvdb-builder.h
- grel.h
- gkeyfile.h
- glib-unix.h
- gmountoperation.h
- gsettingsbackend.h
- gtranslit-data.h
- gio/gsubprocesslauncher.h
- mach/mach_time.h
- ot-gpg-utils.h
- alloca.h
- fcntl.h
- gmacros.h
- glib/gbase64.h
- fnmatch.h
- glnx-xattrs.h
- glib/ghash.h
- ostree-sysroot.h
- gshell.h
- printf-frexpl.h
- ginputstream.h
- gwin32api-misc.h
- gio/glocalfilemonitor.h
- math.h
- gboxed.h
- gaction.h
- gtlspassword.h
- avahi-client/client.h
- mock-resolver.h
- avahi-common/defs.h
- gdocumentportal.h
- pcre2.h
- ot-admin-builtins.h
- glib/gmessages.h
- sddl.h
- gio/gnetworkservice.h
- avahi-common/address.h
- gnotification-server.h
- gio/gdbusaddress.h
- gio/gmemoryoutputstream.h
- gnotificationbackend.h
- gtype.h
- glib/gbitlock.c
- gloadableicon.h
- inotify-path.h
- gvalgrind.h
- gproxyaddress.h
- gpattern.h
- roapi.h
- gdbusmessage.h
- gdbusactiongroup.h
- glibintl.h
- ostree-core.h
- vcruntime.h
- gunixmounts.h
- ot-variant-builder.h
- gmenu.h
- dirent.c
- ../glib/glib-private.h
- errno.h
- xdgmimecache.h
- archive_entry.h
- gsocketaddress.h
- ostree-cmd-private.h
- gthemedicon.h
- gsocks4aproxy.h
- gmenuexporter.h
- gio/gnetworkmonitor.h
- glib/gdataset.h
- gio/gmenu.h
- gio/gvfs.h
- ginetaddressmask.h
- gio/gtlsfiledatabase.h
- gmemorymonitordbus.h
- ostree-mount-util.h
- gio/gdtlsconnection.h
- gvariant-internal.h
- gwin32registrykey.h
- gwakeup.h
- ../glib/gvalgrind.h
- gobject/gclosure.h
- gobject.h
- gstdio-private.c
- gsocket.h
- gnetworkmonitorbase.h
- isnan.c
- ostree-blob-reader-base64.h
- ot-dump.h
- gio/gpollfilemonitor.h
- gio/gsettings.h
- ntstatus.h
- gio/gdbusmenumodel.h
- glib/glist.h
- gio/giomodule-priv.h
- ostree-blob-reader.h
- pthread.h
- gnotification-private.h
- gconvert.h
- glib/gversionmacros.h
- gregistrysettingsbackend.h
- printf-parse.h
- ostree-bootloader-uboot.h
- sys/sysmacros.h
- malloc.h
- lzma.h
- glib/gunidecomp.h
- localcharset.h
- gio/gdesktopappinfo.h
- ot-checksum-utils.h
- glib/garray.h
- gioprivate.h
- glib-unixprivate.h
- ostree-sysroot-private.h
- gmemorymonitor.h
- gatomic.h
- gunionvolumemonitor.h
- ostree-libarchive-input-stream.h
- gdbusinterfaceskeleton.h
- gio/gunixvolumemonitor.h
- gwin32.h
- gio/gcontenttype.h
- gcredentials.h
- gio/gmenuexporter.h
- ot-variant-utils.h
- gio/gdatagrambased.h
- glnx-missing-syscall.h
- gicon.h
- ostree-mutable-tree.h
- gobject_probes.h
- gpathbuf.h
- glib/gsequence.h
- gemblemedicon.h
- gthreadedresolver.h
- sys/mnttab.h
- sys/mkdev.h
- gio/gdebugcontroller.h
- gproxyaddressenumerator.h
- glib/gerror.h
- giowin32-priv.h
- gobject/glib-enumtypes.h
- sys/vfs.h
- glib/gunicode.h
- gconvertprivate.h
- gdtlsconnection.h
- gfilemonitor.h
- gunibreak.h
- ostree-blob-reader-private.h
- gmemoryoutputstream.h
- gio/gpropertyaction.h
- ghash.h
- gio/gsubprocess.h
- gio/gcancellable.h
- gfileutils.h
- gobject/gobject-visibility.h
- glibconfig.h
- ntdef.h
- wprintf-parse.h
- gioenums.h
- gio/gvolumemonitor.h
- gio/gdrive.h
- selinux/restorecon.h
- giostream.h
- gsocketclient.h
- glib/gmain.h
- net/if.h
- gtcpwrapperconnection.h
- genums.h
- gslist.h
- fstab.h
- crtdbg.h
- gasyncinitable.h
- gio/gfileenumerator.h
- fake-document-portal-generated.h
- glib/grefstring.h
- gremoteactiongroup.h
- ghmac.h
- gscripttable.h
- gio/gnetworking.h
- glib/gpoll.h
- gobject/gsignalgroup.h
- gio/gconverteroutputstream.h
- gsettingsbackendinternal.h
- glib/giochannel.h
- printf-frexp.h
- ostree-sign.h
- libsoup/soup-request-http.h
- glib/gmacros.h
- inotify-missing.h
- gio/gdbusobjectmanagerserver.h
- gio/gtestdbus.h
- gdbusaddress.h
- gdbusauthmechanismexternal.h
- gio/gtlsserverconnection.h
- gsocketoutputstream.h
- ostree-blob-reader-raw.h
- ostree-chain-input-stream.h
- float.h
- gmountprivate.h
- isnanl-nolibm.h
- ostree-lzma-decompressor.h
- gsocks5proxy.h
- gio/gactiongroup.h
- valgrind.h
- sys/socket.h
- ostree-sign-spki.h
- glocalfileoutputstream.h
- gsimpleproxyresolver.h
- glocalfileenumerator.h
- glib/deprecated/gmain.h
- gappinfo.h
- gspawn-private.h
- gio/gio-autocleanups.h
- gtimer.h
- linux/futex.h
- ostree-bootloader-grub2.h
- libglnx-config.h
- gunidecomp.h
- gtypes.h
- gbitlock.h
- gio/giomodule.h
- gthreadprivate.h
- gversion.h
- ot-admin-instutil-builtins.h
- gvarianttype.h
- genviron.h
- gmappedfile.h
- ostree-types.h
- otcore.h
- glib/gmarkup.h
- sys/utsname.h
- gunixconnection.h
- gio/gfile.h
- gio/gunixfdmessage.h
- ostree-ref.h
- gdataoutputstream.h
- conio.h
- sys/uio.h
- gfilteroutputstream.h
- gsrvtarget.h
- windows.h
- gbacktrace.h
- sys/xattr.h
- glocalfileiostream.h
- mntent.h
- test-pipe-unix.h
- gnetworking.h
- libintl.h
- ostree-lzma-compressor.h
- unistd.h
- ostree-checksum-input-stream.h
- gsignalgroup.h
- glib/gversion.h
- gio/gsettingsschema.h
- gio/gappinfo.h
- gwinhttpfileoutputstream.h
- strinfo.c
- ostree-deployment.h
- sys/vfstab.h
- gio/glistmodel.h
- sys/inotify.h
- archive.h
- gio/ginitable.h
- gdtlsserverconnection.h
- gpollfilemonitor.h
- ot-remote-cookie-util.h
- gio/gsimpleactiongroup.h
- gsocketcontrolmessage.h
- gio/gpollableutils.h
- gio/gtlsconnection.h
- gobject/gvaluetypes.h
- ot-keyfile-utils.h
- sys/syscall.h
- bzlib.h
- gpgme.h
- gdbusutils.h
- tchar.h
- sys/vmount.h
- gconstructor.h
- stdatomic.h
- gio/gdbusprivate.h
- ostree-repo-finder.h
- gio/gsocketconnectable.h
- gnetworkaddress.h
- poll.h
- gmount.h
- gslice.h
- glnx-console.h
- glib/gvariant-serialiser.h
- spawn.h
- sanitizer/lsan_interface.h
- goutputstream.h
- glib/ghook.h
- gproxyresolver.h
- ostree.h
- avahi-glib/glib-watch.h
- gsubprocess.h
- gcontextspecificgroup.c
- gdbusobjectproxy.h
- gquark.h
- gio/gfilenamecompleter.h
- gobject/gvalue.h
- glib/ghmac.h
- assert.h
- gwinhttpvfs.h
- ostree-enumtypes.h
- dirent/dirent.h
- gunixvolumemonitor.h
- ctype.h
- glib/gpathbuf.h
- glib/deprecated/gthread.h
- gio/gfiledescriptorbased.h
- bspatch.h
- gio/gasyncresult.h
- giochannel.h
- ostree-content-writer.h
- gio/gseekable.h
- gio/gactionmap.h
- sys/auxv.h
- glib/gstring.h
- gnetworkmonitor.h
- ostree-repo-deprecated.h
- ot-unix-utils.h
- glnx-backport-testutils.h
- ggettext.h
- glib/gstrvbuilder.h
- gio/gdbusmessage.h
- printf-frexp.c
- ar.h
- otutil.h
- gcontenttypeprivate.h
- test-mock-gio.h
- glib/gtree.h
- gio/gproxyresolver.h
- gmoduleconf.h
- ext2fs/ext2_fs.h
- glnx-backports.h
- os2.h
- gio.h
- gio/gpollableoutputstream.h
- gio/gunixfdlist.h
- gio/gtask.h
- gtlsclientconnection.h
- gdbusmethodinvocation.h
- ffi.h
- gmodule-dl.c
- gpowerprofilemonitorportal.h
- gio/giotypes.h
- gobject/gparamspecs.h
- gprintf.h
- gtrashportal.h
- gsettings-mapping.h
- gio-tool.h
- gio_probes.h
- gio/gproxyaddress.h
- gobject/genums.h
- galloca.h
- sys/statfs.h
- glib/gprimes.h
- gio/gicon.h
- libgen.h
- ../testcommon.h
- iconv.h
- gbase64.h
- gio/gpermission.h
- gutilsprivate.h
- libsoup/soup-requester.h
- xdgmimeint.h
- gdbusdaemon.h
- gio/ginetaddressmask.h
- selinux/selinux.h
- printf-args.h
- gelf.h
- gsubprocesslauncher-private.h
- sys/sendfile.h
- iphlpapi.h
- giomodule-priv.h
- glib/gwin32.h
- termios.h
- ws2tcpip.h
- gio/gfilterinputstream.h
- glib/glib-typeof.h
- gcontextspecificgroup.h
- gtrace-private.h
- gio/gzlibcompressor.h
- xsize.h
- gio/gtlspassword.h
- gio/gpowerprofilemonitor.h
- gobject/gsignal.h
- ostree-dummy-enumtypes.h
- gspawn-win32.c
- gobject/glib-types.h
- crt_externs.h
- gsimpleiostream.h
- xdgmimeicon.h
- sys/ptrace.h
- glib/guri.h
- gio/giowin32-afunix.h
- gwin32fsmonitorutils.h
- gnutls/crypto.h
- gconstructor_as_data.h
- gwin32inputstream.h
- ostree-fetcher-util.h
- sys/param.h
- gapplication.h
- inotify-sub.h
- digit_test_resources.h
- symbol-visibility.h
- sys/wait.h
- gio/gasyncinitable.h
- gwin32api-application-activation-manager.h
- avahi-common/malloc.h
- stdarg.h
- dlfcn.h
- ot-gio-utils.h
- gnetworkservice.h
- syslog.h
- gio/gfileinputstream.h
- gdbusmenumodel.h
- glib/gi18n.h
- gio/gfileinfo-priv.h
- gio/gfileinfo.h
- glib.h
- glib/gutils.h
- pthread_np.h
- gio/gsocketlistener.h
- gio/gthemedicon.h
- gconverterinputstream.h
- glib/gstdioprivate.h
- gdatagrambased.h
- bsdiff/bsdiff.h
- glib/gbytes.h
- gio/gthreadedsocketservice.h
- linux/netlink.h
- ostree-autocleanups.h
- systemd/sd-journal.h
- gio/gio-visibility.h
- glib/gscanner.h
- tlhelp32.h
- linux/capability.h
- libglnx-testlib.h
- winhttp.h
- type_traits
- gwin32appinfo.h
- sys/types.h
- fuse.h
- glnx-lockfile.h
- glib/glib.h
- glib/gtestutils.h
- gfiledescriptorbased.h
- gmain.h
- gio/gproxy.h
- gnetworkmonitornm.h
- libostreetest.h
- gstrfuncs.h
- g-gnulib.h
- sys/stat.h
- gbufferedinputstream.h
- gio/gnativesocketaddress.h
- gfileattribute.h
- shlwapi.h
- glnx-missing.h
- gio/gunixinputstream.h
- glib/gfileutils.h
- gdbus-test-codegen-generated-interface-info.h
- avahi-client/lookup.h
- gtesttlsbackend.h
- gtype-private.h
- gsocketservice.h
- gtypeplugin.h
- gsettings.h
- gobject/gvaluecollector.h
- gio/gdbusinterface.h
- glib/glib-unix.h
- fuzz.h
- gdbusobject.h
- gvaluetypes.h
- glib/deprecated/gcompletion.h
- ostree-gpg-verifier.h
- gpermission.h
- deprecated/gthread.h
- gio/gdbusobjectmanagerclient.h
- gdbusnamewatching.h
- gobject/gvaluearray.h
- sys/eventfd.h
- gio/gremoteactiongroup.h
- packtab.h
- gmodule-ar.c
- ../gio/gthreadedresolver.h
- ostree-blob-reader-pem.h
- giowin32-private.c
- gio/glocalfile.h
- goption.h
- glib/guuid.h
- gio/gsrvtarget.h
- ucred.h
- gio/gproxyaddressenumerator.h
- libsoup/soup.h
- gdbusactiongroup-private.h
- gsimplepermission.h
- xdgmimealias.h
- giotypes.h
- ostree-repo.h
- glib/gconvert.h
- gio/gsimpleproxyresolver.h
- ntddk.h
- giomodule.h
- gbufferedoutputstream.h
- gapplicationcommandline.h
- gtlsconsoleinteraction.h
- glist.h
- gio/gsocketconnection.h
- gemblem.h
- gsimpleactiongroup.h
- gdbusinterface.h
- ot-admin-kargs-builtins.h
- guriprivate.h
- gmarkup.h
- grefstring.h
- gdbuserror.h
- gdbusproxy.h
- glib/gcharset.h
- gcredentialsprivate.h
- gio/goutputstream.h
- gvalue.h
- ostree-sepolicy.h
- testcommon.h
- glib/gstrfuncs.h
- gwin32packageparser.h
- gunicodeprivate.h
- gio/gconverter.h
- gio/gdbusauthobserver.h
- glib/gnode.h
- vasnwprintf.h
- gio/gemblemedicon.h
- gwin32networkmonitor.h
- gunixmount.h
- gdbusprivate.h
- gdbusauthmechanismsha1.h
- gio/gtlscertificate.h
- sys/cdefs.h
- glib/gmappedfile.h
- ot-builtins.h
- garray.h
- dirent.h
- vasnprintf.h
- glocalfilemonitor.h
- gio/ginputstream.h
- inotify-helper.h
- xdgmime.h
- ostree-repo-finder-avahi-private.h
- lmcons.h
- glocalfileinfo.h
- sys/epoll.h
- gzlibdecompressor.h
- sodium.h
- gdtlsclientconnection.h
- glib/gslist.h
- gsourceclosure.h
- gio/gdbusinterfaceskeleton.h
- gio/gapplication.h
- socket-common.c
- verify.h
- ../strinfo.c
- glib/gvarianttype.h
- glib-object.h
- glib/gwakeup.h
- giowin32-afunix.h
- glocalvfs.h
- ostree-libarchive-private.h
- ostree-deployment-private.h
- glnx-fdio.h
- gvaluecollector.h
- glib/gvariant-internal.h
- gstring.h
- guuid.h
- gmodule.h
- ghttpproxy.h
- gio/gdebugcontrollerdbus.h
- gio/gactiongroupexporter.h
- gsimpleasyncresult.h
- sys/mntctl.h
- dep-list.h
- glnx-macros.h
- glib/gmem.h
- gutils.h
- win_iconv.c
- ostree-repo-finder-override.h
- gdir.h
- glib/gbookmarkfile.h
- gunixfdmessage.h
- stdio.h
- ostree-metalink.h
- libglnx.h
- gio/ginetsocketaddress.h
- gio/gaction.h
- gunixcredentialsmessage.h
- glnx-shutil.h
- gopenuriportal.h
- gdesktopappinfo.h
- sched.h
- gtestutils.h
- openssl/x509.h
- gatomicarray.h
- glib/gtrashstack.h
- gdate.h
- gparam.h
- gwin32api-package.h
- gliststore.h
- gio/gtlsclientconnection.h
- gio/gdtlsserverconnection.h
- memory.h
- gdbus-test-codegen-generated-min-required-2-64.h
- xdgmimeparent.h
- xlocale.h
- gio/gdummyfile.h
- glib/grand.h
- gactiongroup.h
- gdbus-test-codegen-generated.h
- grcboxprivate.h
- sys/event.h
- glib/gstdio.h
- libcomposefs/lcfs-mount.h
- ostree-rollsum.h
- stdalign.h
- ostree-repo-private.h
- linux/fs.h
- ostree-linuxfsutil.h
- gioenumtypes.h
- gwin32mount.h
- gio/gnativevolumemonitor.h
- gio/gsimplepermission.h
- ostree-varint.h
- gio/gdbusnamewatching.h
- gio/gemblem.h
- gio/gioprivate.h
- gthread.h
- gvolume.h
- gdbusobjectskeleton.h
- gtrashstack.h
- gpollableinputstream.h
- grand.h
- gresolver.h
- gnetworkmonitorportal.h
- gio_trace.h
- limits.h
- ostree-remote-private.h
- gdbusauthmechanismanon.h
- netinet/in.h
- gmodule/gmodule-visibility.h
- ostree-core-private.h
- gnetworkmonitornetlink.h
- isnanf-nolibm.h
- ../gvalgrind.h
- gosxappinfo.h
- gresourcefile.h
- gpowerprofilemonitor.h
- giounix-private.h
- kqueue-helper.h
- attr/xattr.h
- gcharset.h
- gtlsconnection.h
- gio/gdbusproxy.h
- langinfo.h
- gio/gunixmounts.h
- gunixsocketaddress.h
- gappinfoprivate.h
- gdataset.h
- sys/prctl.h
- ostree-repo-os.h
- gtlsinteraction.h
- gio/gmount.h
- parse-datetime.h
- gio/gsettingsbackend.h
- xdp-dbus.h
- libcomposefs/lcfs-writer.h
- gio/gwin32inputstream.h
- gobject/gboxed.h
- glistmodel.h
- c-ctype.h
- ot-remote-builtins.h
- selinux/label.h
- gpoll.h
- gcharsetprivate.h
- gbytesicon.h
- glib/gslice.h
- gio/gfilemonitor.h
- gregex.h
- gallocator.h
- gio/gsocketclient.h
- afunix.h
- glib/deprecated/grel.h
- gvariant.h
- gunixoutputstream.h
- glib/gthreadpool.h
- gobject/gparam.h
- gobject/gbinding.h
- float+.h
- linux/wait.h
- gnotification.h
- gio/gcredentials.h
- glib/gbacktrace.h
- ostree-bootloader-syslinux.h
- gmirroringtable.h
- gthreadedsocketservice.h
- dbus/dbus.h
- linux/rtnetlink.h
- gio/gfileattribute.h
- gsequence.h
- glnx-local-alloc.h
- glib/gquark.h
- glib/ghostutils.h
- glib/ggettext.h
- gdbusintrospection.h
- gio/gdbusnameowning.h
- sys/mount.h
- sys/ioctl.h
- ginotifyfilemonitor.h
- glib/gkeyfile.h
- gobject/gtype-private.h
- gvaluearray.h
- glocalfileinputstream.h
- gio/gunixsocketaddress.h
- xdgmimeglob.h
- gfilterinputstream.h
- openssl/evp.h
- gdatainputstream.h
- gio/gioenumtypes.h
- gio/gsimpleasyncresult.h
- glib/gtimezone.h
- test_resources2.h
- gdbusobjectmanagerclient.h
- features.h
- glib/gtimer.h
- gproxy.h
- gwin32api-iterator.h
- gsettingsschema.h
- gparamspecs.h
- gscanner.h
- gcache.h
- linux/magic.h
- gwin32sid.h
- glnx-dirfd.h
- sys/sysctl.h
- gio/gsocketcontrolmessage.h
- gio/gtcpwrapperconnection.h
- ostree-tls-cert-interaction-private.h
- glib/gdate.h
- gcharsetconverter.h
- glib/deprecated/gallocator.h
- gtcpconnection.h
- gioscheduler.h
- avahi-glib/glib-malloc.h
- glib/galloca.h
- glib/gpattern.h
- zlib.h
- glib/gprintf.h
- libcharset/libcharset.h
- gasyncresult.h
- gio/gconverterinputstream.h
- gobject/gtypemodule.h
- glnx-backport-autoptr.h
- gio/gdbusmethodinvocation.h
- ginetaddress.h
- pty.h
- gunixinputstream.h
- AvailabilityMacros.h
- gdelayedsettingsbackend.h
- gfileoutputstream.h
- gio/gmemoryinputstream.h
- avahi-common/strlst.h
- ostree-bootloader-aboot.h
- gio/gbufferedinputstream.h
- gio/gdtlsclientconnection.h
- gdbusauthmechanism.h
- gsandbox.h
- utime.h
- gio/gfilteroutputstream.h
- stdlib.h
- giotypefuncs.inc
- gio/gunixcredentialsmessage.h
- glib/deprecated/gcache.h
- libelf.h
- gdbusserver.h
- gwin32filemonitor.h
- gio/gfileiostream.h
- gwin32api-storage.h
- gnativesocketaddress.h
- gnulib_math.h
- gvdb/gvdb-reader.h
- ostree-sign-ed25519.h
- gsocketlistener.h
- gportalsupport.h
- gtlsdatabase.h
- gasynchelper.h
- ostree-sysroot-upgrader.h
- gwin32volumemonitor.h
- sys/ucred.h
- ostree-lzma-common.h
- gio/gmenumodel.h
- glib/gthread.h
- bsdiff/bspatch.h
- marshalers.h
- gio/gio.h
- gpropertyaction.h
- gio/giostream.h
- gfileinputstream.h
- ../thumbnail-verify.c
- gqueue.h
- gio/gunixoutputstream.h
- gmarshal.h
- glib/gshell.h
- gvolumemonitor.h
- gsubprocesslauncher.h
- gio/gdbusintrospection.h
- gdbus-daemon-generated.h
- gdbus-sessionbus.h
- ostree-remote.h
- gobject/gmarshal.h
- gprimes.h
- gconverteroutputstream.h
- gwin32-private.c
- gseekable.h
- glib/gasyncqueue.h
- ginetsocketaddress.h
- glib/gtypes.h
- glnx-backport-autocleanups.h
- gnulib/printf.h
- err.h
- isnand-nolibm.h
- gsocketconnection.h
- pwd.h
- gio/gtlsbackend.h
- gio/gnotification.h
- gdbusnameowning.h
- relocatable.h
- grp.h
- gio/gdbusactiongroup.h
- gclosure.h
- gbinding.h
- gvariant-serialiser.h
- gstdio.h
- gdbusconnection.h
- string.h
- gtlsfiledatabase.h
- wchar.h
- gdbus-object-manager-example/objectmanager-gen.h
- gdbus-tests.h
- ostree-repo-finder-avahi.h
- glnx-errors.h
- gio/gcredentialsprivate.h
- ostree-fetcher.h
- manual.h
- sys/resource.h
- gspawn.h
- inttypes.h
- gnode.h
- gio/gioscheduler.h
- gio/gdatainputstream.h
- gio/gfileicon.h
- glib/grefcount.h
- gchecksum.h
- gnutls/gnutls.h
- gfileattribute-priv.h
- gdummyfile.h
- ghook.h
- gio/gioenums.h
- gio/gtlsinteraction.h
- xmllite.h
- gfile.h
- gfileiostream.h
- gbindinggroup.h
- testmodule.h
- ../gstdio-private.c
- gio/gmarshal-internal.h
- gio/gnetworkaddress.h
- ot-checksum-instream.h
- gapplicationimpl.h
- gio/gsimpleiostream.h
- gobject/gtype.h
- ../gsandbox.h
- gio/gdbusauthmechanism.h
- ostree-version.h
- ostree-bootconfig-parser.h
- glib/gvarianttypeinfo.h
- winstring.h
- gdummyproxyresolver.h
- gnetworkingprivate.h
- CoreServices/CoreServices.h
- gio/gosxappinfo.h
- gresource.h
- glib/gregex.h
- ginitable.h
- gwin32file-sync-stream.h
- ostree-repo-finder-config.h
- gmemorymonitorportal.h
- ostree-repo-file-enumerator.h
- gbsearcharray.h
- ot-editor.h
- sys/un.h
- thumbnail-verify.h
- ../gportalsupport.h
- gsignal.h
- ostree-bloom-private.h
- process.h
- ostree-repo-file.h
- gio/gdbusobjectskeleton.h
- gbytes.h
- ostree-gpg-verify-result.h
- gio/gapplicationcommandline.h
- gdebugcontrollerdbus.h
- sys/poll.h
- glib/gchecksum.h
- time.h
- gnativevolumemonitor.h
- gio/gvolume.h
- portal-support-utils.h
- gdbusauthobserver.h
- ot-admin-functions.h
- io.h
report: name
sources:
- function_names:
  - setup
  - LLVMFuzzerTestOneInput
  - payload
  - teardown
  source_file: /src/fuzz-repo.c
  types:
    structs: []
    typedefs:
    - name: Fixture
      pos:
        line_end: 33
        line_start: 30
- function_names:
  - bzdiff_write
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz-bsdiff.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_network_address_parse.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_utf8_normalize.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_variant_binary_byteswap.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_variant_text.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_uri_parse_params.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_network_address_parse_uri.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_date_parse.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_variant_binary.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_utf8_validate.c
  types:
    structs: []
    typedefs: []
- function_names:
  - test_for_rrtype
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_resolver.c
  types:
    structs: []
    typedefs: []
- function_names:
  - test_bytes
  - test_string
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_uri_escape.c
  types:
    structs: []
    typedefs: []
- function_names:
  - test_parse
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_key.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_inet_address_new_from_string.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_dbus_message.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_inet_address_mask_new_from_string.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_inet_socket_address_new_from_string.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_canonicalize_filename.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_bookmark.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_date_time_new_from_iso8601.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_uuid_string_is_valid.c
  types:
    structs: []
    typedefs: []
- function_names:
  - test_with_flags
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_uri_parse.c
  types:
    structs: []
    typedefs: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/glib/fuzzing/fuzz_paths.c
  types:
    structs: []
    typedefs: []
